📄 mesh_cutter.h
字号:
#ifndef MESH_CUTTER_H#define MESH_CUTTER_H#include "Polyhedron_ex.h"#include <list>class Mesh_cutter{// Public typespublic: typedef std::list<Polyhedron_ex::Halfedge_handle> Backbone;// Private typesprivate: typedef My_kernel::Vector_3 Vector_3; typedef My_kernel::Point_3 Point_3; enum {FREE,DONE,FIXED};// Public operationspublic: // life cycle Mesh_cutter(Polyhedron_ex& polyhedron) { m_pPolyhedron = &polyhedron; m_pBackbone = NULL; } ~Mesh_cutter() {} void cut(Backbone& backbone); void cut_genus(Backbone& backbone);// Private operationsprivate: // genus > 0 bool init(); bool simplify(); bool extend(); void precompute_distances(); Polyhedron_ex::Halfedge_handle pick_best_halfedge( std::list<Polyhedron_ex::Halfedge_handle>::iterator &pos); void recursive_tag(Polyhedron_ex::Facet_handle pFacet,int index);// Fieldsprivate: Polyhedron_ex* m_pPolyhedron; // the model to cut Backbone* m_pBackbone; // the backbone to fill Polyhedron_ex::Facet_handle m_pSeedFacet; Polyhedron_ex::Vertex_handle m_pSeedVertex;};#endif // MESH_CUTTER_H
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -