⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mesh_cutter.h

📁 很多二维 三维几何计算算法 C++ 类库
💻 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 + -