|
Developer Documentation
|
Classes | |
| class | CellCorrector |
| class | EdgeCorrector |
| class | FaceCorrector |
Public Types | |
| typedef OpenVolumeMeshEdge | Edge |
| typedef OpenVolumeMeshFace | Face |
| typedef OpenVolumeMeshCell | Cell |
Public Types inherited from OpenVolumeMesh::ResourceManager | |
| using | Properties = std::set< PropertyStorageBase * > |
Public Member Functions | |
| TopologyKernel (TopologyKernel const &other)=default | |
| TopologyKernel (TopologyKernel &&other)=delete | |
| TopologyKernel & | operator= (TopologyKernel const &other)=default |
| TopologyKernel & | operator= (TopologyKernel &&other)=delete |
| VertexVertexIter | vv_iter (VertexHandle _h, int _max_laps=1) const |
| std::pair< VertexVertexIter, VertexVertexIter > | vertex_vertices (VertexHandle _h, int _max_laps=1) const |
| VertexOHalfEdgeIter | voh_iter (VertexHandle _h, int _max_laps=1) const |
| std::pair< VertexOHalfEdgeIter, VertexOHalfEdgeIter > | outgoing_halfedges (VertexHandle _h, int _max_laps=1) const |
| VertexIHalfEdgeIter | vih_iter (VertexHandle _h, int _max_laps=1) const |
| std::pair< VertexIHalfEdgeIter, VertexIHalfEdgeIter > | incoming_halfedges (VertexHandle _h, int _max_laps=1) const |
| VertexEdgeIter | ve_iter (VertexHandle _h, int _max_laps=1) const |
| std::pair< VertexEdgeIter, VertexEdgeIter > | vertex_edges (VertexHandle _h, int _max_laps=1) const |
| VertexHalfFaceIter | vhf_iter (VertexHandle _h, int _max_laps=1) const |
| std::pair< VertexHalfFaceIter, VertexHalfFaceIter > | vertex_halffaces (VertexHandle _h, int _max_laps=1) const |
| VertexFaceIter | vf_iter (VertexHandle _h, int _max_laps=1) const |
| std::pair< VertexFaceIter, VertexFaceIter > | vertex_faces (VertexHandle _h, int _max_laps=1) const |
| VertexCellIter | vc_iter (VertexHandle _h, int _max_laps=1) const |
| std::pair< VertexCellIter, VertexCellIter > | vertex_cells (VertexHandle _h, int _max_laps=1) const |
| HalfEdgeHalfFaceIter | hehf_iter (HalfEdgeHandle _h, int _max_laps=1) const |
| std::pair< HalfEdgeHalfFaceIter, HalfEdgeHalfFaceIter > | halfedge_halffaces (HalfEdgeHandle _h, int _max_laps=1) const |
| HalfEdgeFaceIter | hef_iter (HalfEdgeHandle _h, int _max_laps=1) const |
| std::pair< HalfEdgeFaceIter, HalfEdgeFaceIter > | halfedge_faces (HalfEdgeHandle _h, int _max_laps=1) const |
| HalfEdgeCellIter | hec_iter (HalfEdgeHandle _h, int _max_laps=1) const |
| std::pair< HalfEdgeCellIter, HalfEdgeCellIter > | halfedge_cells (HalfEdgeHandle _h, int _max_laps=1) const |
| EdgeHalfFaceIter | ehf_iter (EdgeHandle _h, int _max_laps=1) const |
| std::pair< EdgeHalfFaceIter, EdgeHalfFaceIter > | edge_halffaces (EdgeHandle _h, int _max_laps=1) const |
| EdgeFaceIter | ef_iter (EdgeHandle _h, int _max_laps=1) const |
| std::pair< EdgeFaceIter, EdgeFaceIter > | edge_faces (EdgeHandle _h, int _max_laps=1) const |
| EdgeCellIter | ec_iter (EdgeHandle _h, int _max_laps=1) const |
| std::pair< EdgeCellIter, EdgeCellIter > | edge_cells (EdgeHandle _h, int _max_laps=1) const |
| HalfFaceHalfEdgeIter | hfhe_iter (HalfFaceHandle _h, int _max_laps=1) const |
| std::pair< HalfFaceHalfEdgeIter, HalfFaceHalfEdgeIter > | halfface_halfedges (HalfFaceHandle _h, int _max_laps=1) const |
| HalfFaceEdgeIter | hfe_iter (HalfFaceHandle _h, int _max_laps=1) const |
| std::pair< HalfFaceEdgeIter, HalfFaceEdgeIter > | halfface_edges (HalfFaceHandle _h, int _max_laps=1) const |
| FaceVertexIter | fv_iter (FaceHandle _h, int _max_laps=1) const |
| std::pair< FaceVertexIter, FaceVertexIter > | face_vertices (FaceHandle _h, int _max_laps=1) const |
| FaceHalfEdgeIter | fhe_iter (FaceHandle _h, int _max_laps=1) const |
| std::pair< FaceHalfEdgeIter, FaceHalfEdgeIter > | face_halfedges (FaceHandle _h, int _max_laps=1) const |
| FaceEdgeIter | fe_iter (FaceHandle _h, int _max_laps=1) const |
| std::pair< FaceEdgeIter, FaceEdgeIter > | face_edges (FaceHandle _h, int _max_laps=1) const |
| CellVertexIter | cv_iter (CellHandle _h, int _max_laps=1) const |
| std::pair< CellVertexIter, CellVertexIter > | cell_vertices (CellHandle _h, int _max_laps=1) const |
| CellHalfEdgeIter | che_iter (CellHandle _h, int _max_laps=1) const |
| std::pair< CellHalfEdgeIter, CellHalfEdgeIter > | cell_halfedges (CellHandle _h, int _max_laps=1) const |
| CellEdgeIter | ce_iter (CellHandle _h, int _max_laps=1) const |
| std::pair< CellEdgeIter, CellEdgeIter > | cell_edges (CellHandle _h, int _max_laps=1) const |
| CellHalfFaceIter | chf_iter (CellHandle _h, int _max_laps=1) const |
| std::pair< CellHalfFaceIter, CellHalfFaceIter > | cell_halffaces (CellHandle _h, int _max_laps=1) const |
| CellFaceIter | cf_iter (CellHandle _h, int _max_laps=1) const |
| std::pair< CellFaceIter, CellFaceIter > | cell_faces (CellHandle _h, int _max_laps=1) const |
| CellCellIter | cc_iter (CellHandle _h, int _max_laps=1) const |
| std::pair< CellCellIter, CellCellIter > | cell_cells (CellHandle _h, int _max_laps=1) const |
| HalfFaceVertexIter | hfv_iter (HalfFaceHandle _h, int _max_laps=1) const |
| std::pair< HalfFaceVertexIter, HalfFaceVertexIter > | halfface_vertices (HalfFaceHandle _h, int _max_laps=1) const |
| BoundaryHalfFaceHalfFaceIter | bhfhf_iter (HalfFaceHandle _ref_h, int _max_laps=1) const |
| std::pair< BoundaryHalfFaceHalfFaceIter, BoundaryHalfFaceHalfFaceIter > | boundary_halfface_halffaces (HalfFaceHandle _h, int _max_laps=1) const |
| BoundaryVertexIter | bv_iter () const |
| BoundaryHalfEdgeIter | bhe_iter () const |
| BoundaryEdgeIter | be_iter () const |
| BoundaryHalfFaceIter | bhf_iter () const |
| BoundaryFaceIter | bf_iter () const |
| BoundaryCellIter | bc_iter () const |
| VertexIter | v_iter () const |
| VertexIter | vertices_begin () const |
| VertexIter | vertices_end () const |
| std::pair< VertexIter, VertexIter > | vertices () const |
| EdgeIter | e_iter () const |
| EdgeIter | edges_begin () const |
| EdgeIter | edges_end () const |
| std::pair< EdgeIter, EdgeIter > | edges () const |
| HalfEdgeIter | he_iter () const |
| HalfEdgeIter | halfedges_begin () const |
| HalfEdgeIter | halfedges_end () const |
| std::pair< HalfEdgeIter, HalfEdgeIter > | halfedges () const |
| FaceIter | f_iter () const |
| FaceIter | faces_begin () const |
| FaceIter | faces_end () const |
| std::pair< FaceIter, FaceIter > | faces () const |
| HalfFaceIter | hf_iter () const |
| HalfFaceIter | halffaces_begin () const |
| HalfFaceIter | halffaces_end () const |
| std::pair< HalfFaceIter, HalfFaceIter > | halffaces () const |
| CellIter | c_iter () const |
| CellIter | cells_begin () const |
| CellIter | cells_end () const |
| std::pair< CellIter, CellIter > | cells () const |
| std::array< VertexHandle, 2 > | halfedge_vertices (HalfEdgeHandle _h) const |
| std::array< VertexHandle, 2 > | edge_vertices (EdgeHandle _h) const |
| std::array< HalfEdgeHandle, 2 > | edge_halfedges (EdgeHandle _h) const |
| std::array< HalfFaceHandle, 2 > | face_halffaces (FaceHandle _h) const |
| std::array< CellHandle, 2 > | face_cells (FaceHandle _h) const |
| size_t | n_vertices () const override |
| Get number of vertices in mesh. | |
| size_t | n_edges () const override |
| Get number of edges in mesh. | |
| size_t | n_halfedges () const override |
| Get number of halfedges in mesh. | |
| size_t | n_faces () const override |
| Get number of faces in mesh. | |
| size_t | n_halffaces () const override |
| Get number of halffaces in mesh. | |
| size_t | n_cells () const override |
| Get number of cells in mesh. | |
| size_t | n_logical_vertices () const |
| Get number of undeleted vertices in mesh. | |
| size_t | n_logical_edges () const |
| Get number of undeleted edges in mesh. | |
| size_t | n_logical_halfedges () const |
| Get number of undeleted halfedges in mesh. | |
| size_t | n_logical_faces () const |
| Get number of undeleted faces in mesh. | |
| size_t | n_logical_halffaces () const |
| Get number of undeleted halffaces in mesh. | |
| size_t | n_logical_cells () const |
| Get number of undeleted cells in mesh. | |
| int | genus () const |
| void | add_n_vertices (size_t n) |
| void | reserve_vertices (size_t n) |
| void | reserve_edges (size_t n) |
| void | reserve_faces (size_t n) |
| void | reserve_cells (size_t n) |
| virtual VertexHandle | add_vertex () |
| Add abstract vertex. | |
| virtual EdgeHandle | add_edge (VertexHandle _fromVertex, VertexHandle _toHandle, bool _allowDuplicates=false) |
| Add edge. | |
| virtual FaceHandle | add_face (std::vector< HalfEdgeHandle > _halfedges, bool _topologyCheck=false) |
| Add face via incident edges. | |
| virtual FaceHandle | add_face (const std::vector< VertexHandle > &_vertices) |
| Add face via incident vertices. | |
| virtual CellHandle | add_cell (std::vector< HalfFaceHandle > _halffaces, bool _topologyCheck=false) |
| Add cell via incident halffaces. | |
| void | set_edge (EdgeHandle _eh, VertexHandle _fromVertex, VertexHandle _toVertex) |
| Set the vertices of an edge. | |
| void | set_face (FaceHandle _fh, const std::vector< HalfEdgeHandle > &_hes) |
| Set the half-edges of a face. | |
| void | set_cell (CellHandle _ch, const std::vector< HalfFaceHandle > &_hfs) |
| Set the half-faces of a cell. | |
| void | reorder_incident_halffaces (EdgeHandle _eh) |
| Recompute cyclic ordering of (half)faces incident to an edge (used by iterators) | |
| const Edge & | edge (EdgeHandle _edgeHandle) const |
| Get edge with handle _edgeHandle. | |
| const Face & | face (FaceHandle _faceHandle) const |
| Get face with handle _faceHandle. | |
| const Cell & | cell (CellHandle _cellHandle) const |
| Get cell with handle _cellHandle. | |
| Edge & | edge (EdgeHandle _edgeHandle) |
| Get edge with handle _edgeHandle. | |
| Face & | face (FaceHandle _faceHandle) |
| Get face with handle _faceHandle. | |
| Cell & | cell (CellHandle _cellHandle) |
| Get cell with handle _cellHandle. | |
| Edge | halfedge (HalfEdgeHandle _halfEdgeHandle) const |
| Get edge that corresponds to halfedge with handle _halfEdgeHandle. | |
| Face | halfface (HalfFaceHandle _halfFaceHandle) const |
| Get face that corresponds to halfface with handle _halfFaceHandle. | |
| Edge | opposite_halfedge (HalfEdgeHandle _halfEdgeHandle) const |
| Get opposite halfedge that corresponds to halfedge with handle _halfEdgeHandle. | |
| Face | opposite_halfface (HalfFaceHandle _halfFaceHandle) const |
| Get opposite halfface that corresponds to halfface with handle _halfFaceHandle. | |
| HalfEdgeHandle | find_halfedge (VertexHandle _vh1, VertexHandle _vh2) const |
| Get halfedge from vertex _vh1 to _vh2. | |
| HalfEdgeHandle | halfedge (VertexHandle _vh1, VertexHandle _vh2) const |
| HalfEdgeHandle | find_halfedge_in_cell (VertexHandle _vh1, VertexHandle _vh2, CellHandle _ch) const |
| Get halfedge from vertex _vh1 to _vh2 but restricted to halfedges of cell _ch. | |
| HalfFaceHandle | find_halfface (const std::vector< VertexHandle > &_vs) const |
| HalfFaceHandle | halfface (const std::vector< VertexHandle > &_vs) const |
| HalfFaceHandle | find_halfface_in_cell (const std::vector< VertexHandle > &_vs, CellHandle _ch) const |
| HalfFaceHandle | find_halfface_extensive (const std::vector< VertexHandle > &_vs) const |
| HalfFaceHandle | halfface_extensive (const std::vector< VertexHandle > &_vs) const |
| HalfFaceHandle | find_halfface (const std::vector< HalfEdgeHandle > &_hes) const |
| HalfFaceHandle | halfface (const std::vector< HalfEdgeHandle > &_hes) const |
| HalfEdgeHandle | next_halfedge_in_halfface (HalfEdgeHandle _heh, HalfFaceHandle _hfh) const |
| Get next halfedge within a halfface. | |
| HalfEdgeHandle | prev_halfedge_in_halfface (HalfEdgeHandle _heh, HalfFaceHandle _hfh) const |
| Get previous halfedge within a halfface. | |
| VertexHandle | from_vertex_handle (HalfEdgeHandle _h) const |
| Get the vertex the halfedge starts from. | |
| VertexHandle | to_vertex_handle (HalfEdgeHandle _h) const |
| Get the vertex the halfedge points to. | |
| size_t | valence (VertexHandle _vh) const |
| Get valence of vertex (number of incident edges) | |
| size_t | valence (EdgeHandle _eh) const |
| Get valence of edge (number of incident faces) | |
| size_t | valence (FaceHandle _fh) const |
| Get valence of face (number of incident edges) | |
| size_t | valence (CellHandle _ch) const |
| Get valence of cell (number of incident faces) | |
| std::vector< VertexHandle > | get_halfface_vertices (HalfFaceHandle hfh) const |
| Get vertices of a halfface. | |
| std::vector< VertexHandle > | get_halfface_vertices (HalfFaceHandle hfh, VertexHandle vh) const |
| Get vertices of a halfface orderd to start from vh. | |
| std::vector< VertexHandle > | get_halfface_vertices (HalfFaceHandle hfh, HalfEdgeHandle heh) const |
| Get vertices of a halfface orderd to start from from_vertex_handle(heh) | |
| bool | is_incident (FaceHandle _fh, EdgeHandle _eh) const |
| check whether face _fh and edge _eh are incident | |
| virtual VertexIter | delete_vertex (VertexHandle _h) |
| Delete vertex from mesh. | |
| virtual EdgeIter | delete_edge (EdgeHandle _h) |
| Delete edge from mesh. | |
| virtual FaceIter | delete_face (FaceHandle _h) |
| Delete face from mesh. | |
| virtual CellIter | delete_cell (CellHandle _h) |
| Delete cell from mesh. | |
| virtual void | collect_garbage () |
| Delete all entities that are marked as deleted. | |
| virtual bool | is_deleted (VertexHandle _h) const |
| virtual bool | is_deleted (EdgeHandle _h) const |
| virtual bool | is_deleted (HalfEdgeHandle _h) const |
| virtual bool | is_deleted (FaceHandle _h) const |
| virtual bool | is_deleted (HalfFaceHandle _h) const |
| virtual bool | is_deleted (CellHandle _h) const |
| virtual void | swap_cell_indices (CellHandle _h1, CellHandle _h2) |
| Exchanges the indices of two cells while keeping the mesh otherwise unaffected. | |
| virtual void | swap_face_indices (FaceHandle _h1, FaceHandle _h2) |
| Exchanges the indices of two faces while keeping the mesh otherwise unaffected. | |
| virtual void | swap_edge_indices (EdgeHandle _h1, EdgeHandle _h2) |
| Exchanges the indices of two edges while keeping the mesh otherwise unaffected. | |
| virtual void | swap_vertex_indices (VertexHandle _h1, VertexHandle _h2) |
| Exchanges the indices of two vertices while keeping the mesh otherwise unaffected. | |
| virtual void | clear (bool _clearProps=true) |
| Clear whole mesh. | |
| void | enable_bottom_up_incidences (bool _enable=true) |
| void | enable_vertex_bottom_up_incidences (bool _enable=true) |
| void | enable_edge_bottom_up_incidences (bool _enable=true) |
| void | enable_face_bottom_up_incidences (bool _enable=true) |
| bool | has_full_bottom_up_incidences () const |
| bool | has_vertex_bottom_up_incidences () const |
| bool | has_edge_bottom_up_incidences () const |
| bool | has_face_bottom_up_incidences () const |
| void | enable_deferred_deletion (bool _enable=true) |
| bool | deferred_deletion_enabled () const |
| void | enable_fast_deletion (bool _enable=true) |
| bool | fast_deletion_enabled () const |
| HalfFaceHandle | adjacent_halfface_in_cell (HalfFaceHandle _halfFaceHandle, HalfEdgeHandle _halfEdgeHandle) const |
| Get halfface that is adjacent (w.r.t. a common halfedge) within the same cell. It correctly handles self-adjacent cells where the halfedge orientation matters. For legacy reasons the halfedge orientation can be arbitrary if there are no self-adjacencies in the cell. | |
| CellHandle | incident_cell (HalfFaceHandle _halfFaceHandle) const |
| Get cell that is incident to the given halfface. | |
| bool | is_boundary (HalfFaceHandle _halfFaceHandle) const |
| bool | is_boundary (FaceHandle _faceHandle) const |
| bool | is_boundary (EdgeHandle _edgeHandle) const |
| bool | is_boundary (HalfEdgeHandle _halfedgeHandle) const |
| bool | is_boundary (VertexHandle _vertexHandle) const |
| bool | is_boundary (CellHandle _cellHandle) const |
| size_t | n_vertices_in_cell (CellHandle _ch) const |
| Edge | opposite_halfedge (const Edge &_edge) const |
| Face | opposite_halfface (const Face &_face) const |
| bool | needs_garbage_collection () const |
| template<typename Handle > | |
| bool | is_valid (Handle _h) const |
| test is_valid and perform index range check | |
Public Member Functions inherited from OpenVolumeMesh::ResourceManager | |
| ResourceManager (const ResourceManager &other) | |
| ResourceManager & | operator= (const ResourceManager &other) |
| ResourceManager (ResourceManager &&other)=delete | |
| ResourceManager & | operator= (ResourceManager &&other)=delete |
| void | clear_all_props () |
| drop all persistent properties. | |
| template<typename EntityTag > | |
| void | clear_props () |
| drop persistent properties. | |
| template<typename EntityTag > | |
| size_t | n () const |
| Get number of entities of given kind in mesh. | |
| template<typename EntityTag > | |
| size_t | n_props () const |
| number of tracked properties | |
| template<typename EntityTag > | |
| size_t | n_persistent_props () const |
| number of persistent properties | |
| template<typename T , typename EntityTag > | |
| PropertyPtr< T, EntityTag > | request_property (const std::string &_name=std::string(), const T _def=T()) |
| template<typename T , typename EntityTag > | |
| std::optional< PropertyPtr< T, EntityTag > > | create_property (std::string _name=std::string(), const T _def=T()) |
| template<typename T , typename EntityTag > | |
| std::optional< PropertyPtr< T, EntityTag > > | create_shared_property (std::string _name, const T _def=T()) |
| template<typename T , typename EntityTag > | |
| std::optional< PropertyPtr< T, EntityTag > > | create_persistent_property (std::string _name, const T _def=T()) |
| template<typename T , typename EntityTag > | |
| PropertyPtr< T, EntityTag > | create_private_property (std::string _name={}, const T _def=T()) const |
| template<typename T , typename EntityTag > | |
| std::optional< PropertyPtr< T, EntityTag > > | get_property (const std::string &_name) |
| template<typename T , typename EntityTag > | |
| std::optional< const PropertyPtr< T, EntityTag > > | get_property (const std::string &_name) const |
| template<typename T , typename EntityTag > | |
| bool | property_exists (const std::string &_name) const |
| template<typename T , class EntityTag > | |
| void | set_persistent (PropertyPtr< T, EntityTag > &_prop, bool _enable=true) |
| template<typename T , class EntityTag > | |
| void | set_shared (PropertyPtr< T, EntityTag > &_prop, bool _enable=true) |
| template<typename EntityTag > | |
| PropertyIterator< PersistentProperties::const_iterator > | persistent_props_begin () const |
| template<typename EntityTag > | |
| PropertyIterator< PersistentProperties::const_iterator > | persistent_props_end () const |
| void | clear_vertex_props () |
| convenience functions: | |
| void | clear_edge_props () |
| void | clear_halfedge_props () |
| void | clear_face_props () |
| void | clear_halfface_props () |
| void | clear_cell_props () |
| void | clear_mesh_props () |
| template<class T > | |
| VertexPropertyT< T > | request_vertex_property (const std::string &_name=std::string(), const T _def=T()) |
| template<class T > | |
| EdgePropertyT< T > | request_edge_property (const std::string &_name=std::string(), const T _def=T()) |
| template<class T > | |
| HalfEdgePropertyT< T > | request_halfedge_property (const std::string &_name=std::string(), const T _def=T()) |
| template<class T > | |
| FacePropertyT< T > | request_face_property (const std::string &_name=std::string(), const T _def=T()) |
| template<class T > | |
| HalfFacePropertyT< T > | request_halfface_property (const std::string &_name=std::string(), const T _def=T()) |
| template<class T > | |
| CellPropertyT< T > | request_cell_property (const std::string &_name=std::string(), const T _def=T()) |
| template<class T > | |
| MeshPropertyT< T > | request_mesh_property (const std::string &_name=std::string(), const T _def=T()) |
| size_t | n_vertex_props () const |
| auto | vertex_props_begin () const |
| auto | vertex_props_end () const |
| template<typename T > | |
| std::optional< VertexPropertyPtr< T > > | create_shared_vertex_property (std::string _name, const T _def=T()) |
| template<typename T > | |
| std::optional< VertexPropertyPtr< T > > | create_persistent_vertex_property (std::string _name, const T _def=T()) |
| template<typename T > | |
| VertexPropertyPtr< T > | create_private_vertex_property (std::string _name={}, const T _def=T()) const |
| template<typename T > | |
| std::optional< VertexPropertyPtr< T > > | get_vertex_property (const std::string &_name) |
| template<typename T > | |
| std::optional< const VertexPropertyPtr< T > > | get_vertex_property (const std::string &_name) const |
| template<class T > | |
| bool | vertex_property_exists (const std::string &_name) const |
| size_t | n_edge_props () const |
| auto | edge_props_begin () const |
| auto | edge_props_end () const |
| template<typename T > | |
| std::optional< EdgePropertyPtr< T > > | create_shared_edge_property (std::string _name, const T _def=T()) |
| template<typename T > | |
| std::optional< EdgePropertyPtr< T > > | create_persistent_edge_property (std::string _name, const T _def=T()) |
| template<typename T > | |
| EdgePropertyPtr< T > | create_private_edge_property (std::string _name={}, const T _def=T()) const |
| template<typename T > | |
| std::optional< EdgePropertyPtr< T > > | get_edge_property (const std::string &_name) |
| template<typename T > | |
| std::optional< const EdgePropertyPtr< T > > | get_edge_property (const std::string &_name) const |
| template<class T > | |
| bool | edge_property_exists (const std::string &_name) const |
| size_t | n_halfedge_props () const |
| auto | halfedge_props_begin () const |
| auto | halfedge_props_end () const |
| template<typename T > | |
| std::optional< HalfEdgePropertyPtr< T > > | create_shared_halfedge_property (std::string _name, const T _def=T()) |
| template<typename T > | |
| std::optional< HalfEdgePropertyPtr< T > > | create_persistent_halfedge_property (std::string _name, const T _def=T()) |
| template<typename T > | |
| HalfEdgePropertyPtr< T > | create_private_halfedge_property (std::string _name={}, const T _def=T()) const |
| template<typename T > | |
| std::optional< HalfEdgePropertyPtr< T > > | get_halfedge_property (const std::string &_name) |
| template<typename T > | |
| std::optional< const HalfEdgePropertyPtr< T > > | get_halfedge_property (const std::string &_name) const |
| template<class T > | |
| bool | halfedge_property_exists (const std::string &_name) const |
| size_t | n_face_props () const |
| auto | face_props_begin () const |
| auto | face_props_end () const |
| template<typename T > | |
| std::optional< FacePropertyPtr< T > > | create_shared_face_property (std::string _name, const T _def=T()) |
| template<typename T > | |
| std::optional< FacePropertyPtr< T > > | create_persistent_face_property (std::string _name, const T _def=T()) |
| template<typename T > | |
| FacePropertyPtr< T > | create_private_face_property (std::string _name={}, const T _def=T()) const |
| template<typename T > | |
| std::optional< FacePropertyPtr< T > > | get_face_property (const std::string &_name) |
| template<typename T > | |
| std::optional< const FacePropertyPtr< T > > | get_face_property (const std::string &_name) const |
| template<class T > | |
| bool | face_property_exists (const std::string &_name) const |
| size_t | n_halfface_props () const |
| auto | halfface_props_begin () const |
| auto | halfface_props_end () const |
| template<typename T > | |
| std::optional< HalfFacePropertyPtr< T > > | create_shared_halfface_property (std::string _name, const T _def=T()) |
| template<typename T > | |
| std::optional< HalfFacePropertyPtr< T > > | create_persistent_halfface_property (std::string _name, const T _def=T()) |
| template<typename T > | |
| HalfFacePropertyPtr< T > | create_private_halfface_property (std::string _name={}, const T _def=T()) const |
| template<typename T > | |
| std::optional< HalfFacePropertyPtr< T > > | get_halfface_property (const std::string &_name) |
| template<typename T > | |
| std::optional< const HalfFacePropertyPtr< T > > | get_halfface_property (const std::string &_name) const |
| template<class T > | |
| bool | halfface_property_exists (const std::string &_name) const |
| size_t | n_cell_props () const |
| auto | cell_props_begin () const |
| auto | cell_props_end () const |
| template<typename T > | |
| std::optional< CellPropertyPtr< T > > | create_shared_cell_property (std::string _name, const T _def=T()) |
| template<typename T > | |
| std::optional< CellPropertyPtr< T > > | create_persistent_cell_property (std::string _name, const T _def=T()) |
| template<typename T > | |
| CellPropertyPtr< T > | create_private_cell_property (std::string _name={}, const T _def=T()) const |
| template<typename T > | |
| std::optional< CellPropertyPtr< T > > | get_cell_property (const std::string &_name) |
| template<typename T > | |
| std::optional< const CellPropertyPtr< T > > | get_cell_property (const std::string &_name) const |
| template<class T > | |
| bool | cell_property_exists (const std::string &_name) const |
Static Public Member Functions | |
| static HalfEdgeHandle | halfedge_handle (EdgeHandle _h, const unsigned char _subIdx) |
| Conversion function. | |
| static HalfFaceHandle | halfface_handle (FaceHandle _h, const unsigned char _subIdx) |
| Conversion function. | |
| static EdgeHandle | edge_handle (HalfEdgeHandle _h) |
| Handle conversion. | |
| static FaceHandle | face_handle (HalfFaceHandle _h) |
| static HalfEdgeHandle | opposite_halfedge_handle (HalfEdgeHandle _h) |
| static HalfFaceHandle | opposite_halfface_handle (HalfFaceHandle _h) |
Static Public Attributes | |
| static const VertexHandle | InvalidVertexHandle = VertexHandle(-1) |
| static const EdgeHandle | InvalidEdgeHandle = EdgeHandle(-1) |
| static const FaceHandle | InvalidFaceHandle = FaceHandle(-1) |
| static const CellHandle | InvalidCellHandle = CellHandle(-1) |
| static const HalfEdgeHandle | InvalidHalfEdgeHandle = HalfEdgeHandle(-1) |
| static const HalfFaceHandle | InvalidHalfFaceHandle = HalfFaceHandle(-1) |
Protected Member Functions | |
| void | compute_vertex_bottom_up_incidences () |
| void | compute_edge_bottom_up_incidences () |
| void | compute_face_bottom_up_incidences () |
Protected Member Functions inherited from OpenVolumeMesh::ResourceManager | |
| template<typename EntityTag > | |
| detail::Tracker< PropertyStorageBase > & | storage_tracker () const |
| detail::Tracker< PropertyStorageBase > & | storage_tracker (EntityType type) const |
| void | resize_vprops (size_t _nv) |
| Change size of stored vertex properties. | |
| void | resize_eprops (size_t _ne) |
| Change size of stored edge properties. | |
| void | resize_fprops (size_t _nf) |
| Change size of stored face properties. | |
| void | resize_cprops (size_t _nc) |
| Change size of stored cell properties. | |
| void | reserve_vprops (size_t n) |
| void | reserve_eprops (size_t n) |
| void | reserve_fprops (size_t n) |
| void | reserve_cprops (size_t n) |
| void | vertex_deleted (const VertexHandle &_h) |
| void | edge_deleted (const EdgeHandle &_h) |
| void | face_deleted (const FaceHandle &_h) |
| void | cell_deleted (const CellHandle &_h) |
| template<typename Handle > | |
| void | swap_property_elements (Handle _idx_a, Handle _idx_b) |
| template<typename Handle > | |
| void | copy_property_elements (Handle _idx_a, Handle _idx_b) |
Static Protected Member Functions | |
| template<class Circulator > | |
| static Circulator | make_end_circulator (const Circulator &_circ) |
Protected Attributes | |
| VertexVector< std::vector< HalfEdgeHandle > > | outgoing_hes_per_vertex_ |
| HalfEdgeVector< std::vector< HalfFaceHandle > > | incident_hfs_per_he_ |
| HalfFaceVector< CellHandle > | incident_cell_per_hf_ |
Protected Attributes inherited from OpenVolumeMesh::ResourceManager | |
| PerEntity< detail::Tracker< PropertyStorageBase > > | storage_trackers_ |
Private Member Functions | |
| template<class ContainerT > | |
| void | get_incident_edges (const ContainerT &_vs, std::set< EdgeHandle > &_es) const |
| template<class ContainerT > | |
| void | get_incident_faces (const ContainerT &_es, std::set< FaceHandle > &_fs) const |
| template<class ContainerT > | |
| void | get_incident_cells (const ContainerT &_fs, std::set< CellHandle > &_cs) const |
| VertexIter | delete_vertex_core (VertexHandle _h) |
| Delete vertex from mesh. | |
| EdgeIter | delete_edge_core (EdgeHandle _h) |
| Delete edge from mesh. | |
| FaceIter | delete_face_core (FaceHandle _h) |
| Delete face from mesh. | |
| CellIter | delete_cell_core (CellHandle _h) |
| Delete cell from mesh. | |
Private Attributes | |
| size_t | n_vertices_ = 0u |
| bool | v_bottom_up_ = true |
| bool | e_bottom_up_ = true |
| bool | f_bottom_up_ = true |
| bool | deferred_deletion_ = true |
| bool | fast_deletion_ = true |
| EdgeVector< Edge > | edges_ |
| FaceVector< Face > | faces_ |
| CellVector< Cell > | cells_ |
| VertexVector< bool > | vertex_deleted_ |
| EdgeVector< bool > | edge_deleted_ |
| FaceVector< bool > | face_deleted_ |
| CellVector< bool > | cell_deleted_ |
| size_t | n_deleted_vertices_ = 0 |
| size_t | n_deleted_edges_ = 0 |
| size_t | n_deleted_faces_ = 0 |
| size_t | n_deleted_cells_ = 0 |
Friends | |
| class | StatusAttrib |
| class | VertexOHalfEdgeIter |
| class | VertexVertexIter |
| class | HalfEdgeHalfFaceIter |
| class | VertexFaceIter |
| class | VertexCellIter |
| class | HalfEdgeCellIter |
| class | CellVertexIter |
| class | CellCellIter |
| class | HalfFaceVertexIter |
| class | BoundaryHalfFaceHalfFaceIter |
| class | VertexIter |
| class | EdgeIter |
| class | HalfEdgeIter |
| class | FaceIter |
| class | HalfFaceIter |
| class | CellIter |
Definition at line 69 of file TopologyKernel.hh.
Definition at line 94 of file TopologyKernel.hh.
Definition at line 92 of file TopologyKernel.hh.
Definition at line 93 of file TopologyKernel.hh.
|
virtual |
Add cell via incident halffaces.
Add cell via incident halffaces
Reimplemented in OpenVolumeMesh::HexahedralMeshTopologyKernel, and OpenVolumeMesh::TetrahedralMeshTopologyKernel.
Definition at line 380 of file TopologyKernel.cc.
|
virtual |
Add edge.
Definition at line 115 of file TopologyKernel.cc.
|
virtual |
Add face via incident vertices.
Add face via incident vertices Define the _vertices in counter-clockwise order (from the "outside")
Reimplemented in OpenVolumeMesh::HexahedralMeshTopologyKernel, and OpenVolumeMesh::TetrahedralMeshTopologyKernel.
Definition at line 237 of file TopologyKernel.cc.
|
virtual |
Add face via incident edges.
Add face via incident edges
Reimplemented in OpenVolumeMesh::HexahedralMeshTopologyKernel, and OpenVolumeMesh::TetrahedralMeshTopologyKernel.
Definition at line 176 of file TopologyKernel.cc.
| void OpenVolumeMesh::TopologyKernel::add_n_vertices | ( | size_t | n | ) |
Definition at line 85 of file TopologyKernel.cc.
|
virtual |
Add abstract vertex.
Definition at line 95 of file TopologyKernel.cc.
| HalfFaceHandle OpenVolumeMesh::TopologyKernel::adjacent_halfface_in_cell | ( | HalfFaceHandle | _halfFaceHandle, |
| HalfEdgeHandle | _halfEdgeHandle | ||
| ) | const |
Get halfface that is adjacent (w.r.t. a common halfedge) within the same cell. It correctly handles self-adjacent cells where the halfedge orientation matters. For legacy reasons the halfedge orientation can be arbitrary if there are no self-adjacencies in the cell.
Definition at line 2249 of file TopologyKernel.cc.
|
inline |
Definition at line 399 of file TopologyKernel.hh.
|
inline |
Definition at line 387 of file TopologyKernel.hh.
|
inline |
Definition at line 395 of file TopologyKernel.hh.
|
inline |
Definition at line 383 of file TopologyKernel.hh.
|
inline |
Definition at line 391 of file TopologyKernel.hh.
|
inline |
Definition at line 366 of file TopologyKernel.hh.
|
inline |
Definition at line 370 of file TopologyKernel.hh.
|
inline |
Definition at line 379 of file TopologyKernel.hh.
|
inline |
Definition at line 483 of file TopologyKernel.hh.
|
inline |
Definition at line 348 of file TopologyKernel.hh.
|
inline |
Definition at line 321 of file TopologyKernel.hh.
| OpenVolumeMeshCell & OpenVolumeMesh::TopologyKernel::cell | ( | CellHandle | _cellHandle | ) |
Get cell with handle _cellHandle.
Definition at line 1897 of file TopologyKernel.cc.
| const OpenVolumeMeshCell & OpenVolumeMesh::TopologyKernel::cell | ( | CellHandle | _cellHandle | ) | const |
Get cell with handle _cellHandle.
Definition at line 1869 of file TopologyKernel.cc.
|
inline |
Definition at line 352 of file TopologyKernel.hh.
|
inline |
Definition at line 325 of file TopologyKernel.hh.
|
inline |
Definition at line 343 of file TopologyKernel.hh.
|
inline |
Definition at line 316 of file TopologyKernel.hh.
|
inline |
Definition at line 334 of file TopologyKernel.hh.
|
inline |
Definition at line 307 of file TopologyKernel.hh.
Definition at line 495 of file TopologyKernel.hh.
|
inline |
Definition at line 487 of file TopologyKernel.hh.
|
inline |
Definition at line 491 of file TopologyKernel.hh.
|
inline |
Definition at line 339 of file TopologyKernel.hh.
|
inline |
Definition at line 312 of file TopologyKernel.hh.
|
inline |
Definition at line 330 of file TopologyKernel.hh.
|
inlinevirtual |
Clear whole mesh.
Definition at line 865 of file TopologyKernel.hh.
|
virtual |
Delete all entities that are marked as deleted.
Definition at line 745 of file TopologyKernel.cc.
|
protected |
Definition at line 2366 of file TopologyKernel.cc.
|
protected |
Definition at line 2394 of file TopologyKernel.cc.
|
protected |
Definition at line 2330 of file TopologyKernel.cc.
|
inline |
Definition at line 303 of file TopologyKernel.hh.
|
inline |
Definition at line 983 of file TopologyKernel.hh.
|
virtual |
Delete cell from mesh.
Since there's no higher dimensional incident entity to a cell, we can safely delete it from the mesh.
| _h | The handle to the cell to be deleted |
Definition at line 736 of file TopologyKernel.cc.
|
private |
Delete cell from mesh.
After performing this operation, all cells following cell _h in the array will be accessible through their old handle decreased by one. These steps are performed:
1) Delete links in BU: HF -> C 2) Decrease all entries > c in BU: HF -> C 3) Delete cell from storage array 4) Delete property item
| _h | A cell handle |
Definition at line 1398 of file TopologyKernel.cc.
|
virtual |
Delete edge from mesh.
Get all incident higher-dimensional entities and delete the complete subtree of the mesh incident to edge h. In this function all incident entities are gathered and deleted using the delete*_core functions that do the actual deletion including the update of the bottom-up incidences, etc.
| _h | The handle to the edge to be deleted |
Definition at line 662 of file TopologyKernel.cc.
|
private |
Delete edge from mesh.
After performing this operation, all edges following edge _h in the array will be accessible through their old handle decreased by one. This function directly fixes the edge links in all faces. These steps are performed:
1) Delete bottom-up links from incident vertices 2) Decrease all half-edge handles > _h in incident faces 3) Delete entry in bottom-up list: HE -> HF 4) Decrease all half-edge handles > 2*_h.idx() in vertex bottom-up list 5) Delete edge itself 6) Delete property entry
| _h | An edge's handle |
Definition at line 1043 of file TopologyKernel.cc.
|
virtual |
Delete face from mesh.
Get all incident higher-dimensional entities and delete the complete subtree of the mesh incident to face h. In this function all incident entities are gathered and deleted using the delete*_core functions that do the actual deletion including the update of the bottom-up incidences, etc.
| _h | The handle to the face to be deleted |
Definition at line 705 of file TopologyKernel.cc.
|
private |
Delete face from mesh.
After performing this operation, all faces following face _h in the array will be accessible through their old handle decreased by one. This function directly fixes the face links in all cells. These steps are performed:
1) Delete bottom-up links from incident edges 2) Decrease all half-face handles > _h in incident cells 3) Delete entry in bottom-up list: HF -> C 4) Decrease all half-face handles > 2*_h.idx() in half-edge bottom-up list 5) Delete face itself 6) Delete property entry
| _h | An face's handle |
Definition at line 1227 of file TopologyKernel.cc.
|
virtual |
Delete vertex from mesh.
Get all incident higher-dimensional entities and delete the complete subtree of the mesh incident to vertex h. In this function all incident entities are gathered and deleted using the delete*_core functions that do the actual deletion including the update of the bottom-up incidences, etc.
| _h | The handle to the vertex to be deleted |
Definition at line 610 of file TopologyKernel.cc.
|
private |
Delete vertex from mesh.
After performing this operation, all vertices following vertex _h in the array will be accessible through their old handle decreased by one. This function directly fixes the vertex links in all edges. These steps are performed:
1) Decrease all vertex handles > _h in incident edges 2) Delete entry in bottom-up list: V -> HE 3) Delete vertex itself (not necessary here since a vertex is only represented by a number) 4) Delete property entry
| _h | A vertex's handle |
Definition at line 938 of file TopologyKernel.cc.
|
inline |
Definition at line 419 of file TopologyKernel.hh.
|
inline |
Definition at line 249 of file TopologyKernel.hh.
| OpenVolumeMeshEdge & OpenVolumeMesh::TopologyKernel::edge | ( | EdgeHandle | _edgeHandle | ) |
Get edge with handle _edgeHandle.
Definition at line 1878 of file TopologyKernel.cc.
| const OpenVolumeMeshEdge & OpenVolumeMesh::TopologyKernel::edge | ( | EdgeHandle | _edgeHandle | ) | const |
Get edge with handle _edgeHandle.
Definition at line 1851 of file TopologyKernel.cc.
|
inline |
Definition at line 253 of file TopologyKernel.hh.
|
inline |
Definition at line 244 of file TopologyKernel.hh.
|
inline |
Definition at line 511 of file TopologyKernel.hh.
|
inline |
Definition at line 235 of file TopologyKernel.hh.
|
inlinestatic |
Handle conversion.
Definition at line 1153 of file TopologyKernel.hh.
|
inline |
Definition at line 507 of file TopologyKernel.hh.
Definition at line 431 of file TopologyKernel.hh.
|
inline |
Definition at line 423 of file TopologyKernel.hh.
|
inline |
Definition at line 427 of file TopologyKernel.hh.
|
inline |
Definition at line 240 of file TopologyKernel.hh.
|
inline |
Definition at line 231 of file TopologyKernel.hh.
|
inline |
Definition at line 900 of file TopologyKernel.hh.
| void OpenVolumeMesh::TopologyKernel::enable_deferred_deletion | ( | bool | _enable = true | ) |
Definition at line 1840 of file TopologyKernel.cc.
|
inline |
Definition at line 922 of file TopologyKernel.hh.
|
inline |
Definition at line 943 of file TopologyKernel.hh.
|
inline |
Definition at line 986 of file TopologyKernel.hh.
|
inline |
Definition at line 907 of file TopologyKernel.hh.
|
inline |
Definition at line 451 of file TopologyKernel.hh.
| OpenVolumeMeshFace & OpenVolumeMesh::TopologyKernel::face | ( | FaceHandle | _faceHandle | ) |
Get face with handle _faceHandle.
Definition at line 1887 of file TopologyKernel.cc.
| const OpenVolumeMeshFace & OpenVolumeMesh::TopologyKernel::face | ( | FaceHandle | _faceHandle | ) | const |
Get face with handle _faceHandle.
Definition at line 1860 of file TopologyKernel.cc.
|
inline |
Definition at line 523 of file TopologyKernel.hh.
|
inline |
Definition at line 298 of file TopologyKernel.hh.
|
inline |
Definition at line 289 of file TopologyKernel.hh.
|
inline |
Definition at line 517 of file TopologyKernel.hh.
|
inlinestatic |
Definition at line 1158 of file TopologyKernel.hh.
|
inline |
Definition at line 280 of file TopologyKernel.hh.
Definition at line 463 of file TopologyKernel.hh.
|
inline |
Definition at line 455 of file TopologyKernel.hh.
|
inline |
Definition at line 459 of file TopologyKernel.hh.
|
inline |
Definition at line 987 of file TopologyKernel.hh.
|
inline |
Definition at line 294 of file TopologyKernel.hh.
|
inline |
Definition at line 285 of file TopologyKernel.hh.
| HalfEdgeHandle OpenVolumeMesh::TopologyKernel::find_halfedge | ( | VertexHandle | _vh1, |
| VertexHandle | _vh2 | ||
| ) | const |
Get halfedge from vertex _vh1 to _vh2.
Definition at line 1962 of file TopologyKernel.cc.
| HalfEdgeHandle OpenVolumeMesh::TopologyKernel::find_halfedge_in_cell | ( | VertexHandle | _vh1, |
| VertexHandle | _vh2, | ||
| CellHandle | _ch | ||
| ) | const |
Get halfedge from vertex _vh1 to _vh2 but restricted to halfedges of cell _ch.
Definition at line 1978 of file TopologyKernel.cc.
| HalfFaceHandle OpenVolumeMesh::TopologyKernel::find_halfface | ( | const std::vector< HalfEdgeHandle > & | _hes | ) | const |
Get half-face from list of incident half-edges
Definition at line 2125 of file TopologyKernel.cc.
| HalfFaceHandle OpenVolumeMesh::TopologyKernel::find_halfface | ( | const std::vector< VertexHandle > & | _vs | ) | const |
Get half-face from list of incident vertices (in connected order)
Definition at line 2006 of file TopologyKernel.cc.
| HalfFaceHandle OpenVolumeMesh::TopologyKernel::find_halfface_extensive | ( | const std::vector< VertexHandle > & | _vs | ) | const |
Get half-face from list of incident vertices (in connected order)
Definition at line 2071 of file TopologyKernel.cc.
| HalfFaceHandle OpenVolumeMesh::TopologyKernel::find_halfface_in_cell | ( | const std::vector< VertexHandle > & | _vs, |
| CellHandle | _ch | ||
| ) | const |
Get half-face from list of incident vertices (in connected order)
Definition at line 2028 of file TopologyKernel.cc.
|
inline |
Get the vertex the halfedge starts from.
Definition at line 701 of file TopologyKernel.hh.
|
inline |
Definition at line 276 of file TopologyKernel.hh.
|
inline |
Definition at line 559 of file TopologyKernel.hh.
| std::vector< VertexHandle > OpenVolumeMesh::TopologyKernel::get_halfface_vertices | ( | HalfFaceHandle | hfh | ) | const |
Get vertices of a halfface.
Definition at line 2189 of file TopologyKernel.cc.
| std::vector< VertexHandle > OpenVolumeMesh::TopologyKernel::get_halfface_vertices | ( | HalfFaceHandle | hfh, |
| HalfEdgeHandle | heh | ||
| ) | const |
Get vertices of a halfface orderd to start from from_vertex_handle(heh)
Definition at line 2212 of file TopologyKernel.cc.
| std::vector< VertexHandle > OpenVolumeMesh::TopologyKernel::get_halfface_vertices | ( | HalfFaceHandle | hfh, |
| VertexHandle | vh | ||
| ) | const |
Get vertices of a halfface orderd to start from vh.
Definition at line 2198 of file TopologyKernel.cc.
|
private |
Definition at line 877 of file TopologyKernel.cc.
|
private |
Definition at line 795 of file TopologyKernel.cc.
|
private |
Definition at line 833 of file TopologyKernel.cc.
| OpenVolumeMeshEdge OpenVolumeMesh::TopologyKernel::halfedge | ( | HalfEdgeHandle | _halfEdgeHandle | ) | const |
Get edge that corresponds to halfedge with handle _halfEdgeHandle.
Definition at line 1906 of file TopologyKernel.cc.
| HalfEdgeHandle OpenVolumeMesh::TopologyKernel::halfedge | ( | VertexHandle | _vh1, |
| VertexHandle | _vh2 | ||
| ) | const |
Definition at line 1953 of file TopologyKernel.cc.
|
inline |
Definition at line 226 of file TopologyKernel.hh.
|
inline |
Definition at line 217 of file TopologyKernel.hh.
|
inline |
Definition at line 208 of file TopologyKernel.hh.
|
inlinestatic |
Conversion function.
Definition at line 1135 of file TopologyKernel.hh.
|
inline |
Definition at line 503 of file TopologyKernel.hh.
|
inline |
Definition at line 447 of file TopologyKernel.hh.
|
inline |
Definition at line 439 of file TopologyKernel.hh.
|
inline |
Definition at line 443 of file TopologyKernel.hh.
| HalfFaceHandle OpenVolumeMesh::TopologyKernel::halfface | ( | const std::vector< HalfEdgeHandle > & | _hes | ) | const |
Definition at line 2118 of file TopologyKernel.cc.
| HalfFaceHandle OpenVolumeMesh::TopologyKernel::halfface | ( | const std::vector< VertexHandle > & | _vs | ) | const |
Definition at line 1999 of file TopologyKernel.cc.
| OpenVolumeMeshFace OpenVolumeMesh::TopologyKernel::halfface | ( | HalfFaceHandle | _halfFaceHandle | ) | const |
Get face that corresponds to halfface with handle _halfFaceHandle.
Definition at line 1921 of file TopologyKernel.cc.
|
inline |
Definition at line 271 of file TopologyKernel.hh.
| HalfFaceHandle OpenVolumeMesh::TopologyKernel::halfface_extensive | ( | const std::vector< VertexHandle > & | _vs | ) | const |
Definition at line 2063 of file TopologyKernel.cc.
|
inline |
Definition at line 262 of file TopologyKernel.hh.
|
inlinestatic |
Conversion function.
Definition at line 1144 of file TopologyKernel.hh.
|
inline |
Definition at line 361 of file TopologyKernel.hh.
|
inline |
Definition at line 479 of file TopologyKernel.hh.
|
inline |
Definition at line 471 of file TopologyKernel.hh.
|
inline |
Definition at line 475 of file TopologyKernel.hh.
|
inline |
Definition at line 977 of file TopologyKernel.hh.
|
inline |
Definition at line 979 of file TopologyKernel.hh.
|
inline |
Definition at line 969 of file TopologyKernel.hh.
|
inline |
Definition at line 975 of file TopologyKernel.hh.
|
inline |
Definition at line 435 of file TopologyKernel.hh.
|
inline |
Definition at line 222 of file TopologyKernel.hh.
|
inline |
Definition at line 213 of file TopologyKernel.hh.
|
inline |
Definition at line 204 of file TopologyKernel.hh.
|
inline |
Definition at line 467 of file TopologyKernel.hh.
|
inline |
Definition at line 267 of file TopologyKernel.hh.
|
inline |
Definition at line 258 of file TopologyKernel.hh.
|
inline |
Definition at line 357 of file TopologyKernel.hh.
| CellHandle OpenVolumeMesh::TopologyKernel::incident_cell | ( | HalfFaceHandle | _halfFaceHandle | ) | const |
Get cell that is incident to the given halfface.
Definition at line 2320 of file TopologyKernel.cc.
|
inline |
Definition at line 163 of file TopologyKernel.hh.
|
inline |
Definition at line 1089 of file TopologyKernel.hh.
|
inline |
Definition at line 1053 of file TopologyKernel.hh.
|
inline |
Definition at line 1046 of file TopologyKernel.hh.
|
inline |
Definition at line 1066 of file TopologyKernel.hh.
|
inline |
Definition at line 1039 of file TopologyKernel.hh.
|
inline |
Definition at line 1079 of file TopologyKernel.hh.
|
inlinevirtual |
Definition at line 772 of file TopologyKernel.hh.
|
inlinevirtual |
Definition at line 768 of file TopologyKernel.hh.
|
inlinevirtual |
Definition at line 770 of file TopologyKernel.hh.
|
inlinevirtual |
Definition at line 769 of file TopologyKernel.hh.
|
inlinevirtual |
Definition at line 771 of file TopologyKernel.hh.
|
inlinevirtual |
Definition at line 767 of file TopologyKernel.hh.
| bool OpenVolumeMesh::TopologyKernel::is_incident | ( | FaceHandle | _fh, |
| EdgeHandle | _eh | ||
| ) | const |
check whether face _fh and edge _eh are incident
Definition at line 2233 of file TopologyKernel.cc.
|
inline |
test is_valid and perform index range check
Definition at line 1179 of file TopologyKernel.hh.
|
inlinestaticprotected |
Definition at line 129 of file TopologyKernel.hh.
|
inlineoverridevirtual |
Get number of cells in mesh.
Implements OpenVolumeMesh::ResourceManager.
Definition at line 544 of file TopologyKernel.hh.
|
inlineoverridevirtual |
Get number of edges in mesh.
Implements OpenVolumeMesh::ResourceManager.
Definition at line 536 of file TopologyKernel.hh.
|
inlineoverridevirtual |
Get number of faces in mesh.
Implements OpenVolumeMesh::ResourceManager.
Definition at line 540 of file TopologyKernel.hh.
|
inlineoverridevirtual |
Get number of halfedges in mesh.
Implements OpenVolumeMesh::ResourceManager.
Definition at line 538 of file TopologyKernel.hh.
|
inlineoverridevirtual |
Get number of halffaces in mesh.
Implements OpenVolumeMesh::ResourceManager.
Definition at line 542 of file TopologyKernel.hh.
|
inline |
Get number of undeleted cells in mesh.
Definition at line 557 of file TopologyKernel.hh.
|
inline |
Get number of undeleted edges in mesh.
Definition at line 549 of file TopologyKernel.hh.
|
inline |
Get number of undeleted faces in mesh.
Definition at line 553 of file TopologyKernel.hh.
|
inline |
Get number of undeleted halfedges in mesh.
Definition at line 551 of file TopologyKernel.hh.
|
inline |
Get number of undeleted halffaces in mesh.
Definition at line 555 of file TopologyKernel.hh.
|
inline |
Get number of undeleted vertices in mesh.
Definition at line 547 of file TopologyKernel.hh.
|
inlineoverridevirtual |
Get number of vertices in mesh.
Implements OpenVolumeMesh::ResourceManager.
Definition at line 534 of file TopologyKernel.hh.
|
inline |
Definition at line 1098 of file TopologyKernel.hh.
|
inline |
Definition at line 1173 of file TopologyKernel.hh.
| HalfEdgeHandle OpenVolumeMesh::TopologyKernel::next_halfedge_in_halfface | ( | HalfEdgeHandle | _heh, |
| HalfFaceHandle | _hfh | ||
| ) | const |
Get next halfedge within a halfface.
Definition at line 2147 of file TopologyKernel.cc.
Definition at line 1116 of file TopologyKernel.hh.
| OpenVolumeMeshEdge OpenVolumeMesh::TopologyKernel::opposite_halfedge | ( | HalfEdgeHandle | _halfEdgeHandle | ) | const |
Get opposite halfedge that corresponds to halfedge with handle _halfEdgeHandle.
Definition at line 1936 of file TopologyKernel.cc.
|
inlinestatic |
Definition at line 1163 of file TopologyKernel.hh.
Definition at line 1120 of file TopologyKernel.hh.
| OpenVolumeMeshFace OpenVolumeMesh::TopologyKernel::opposite_halfface | ( | HalfFaceHandle | _halfFaceHandle | ) | const |
Get opposite halfface that corresponds to halfface with handle _halfFaceHandle.
Definition at line 1944 of file TopologyKernel.cc.
|
inlinestatic |
Definition at line 1168 of file TopologyKernel.hh.
|
inline |
Definition at line 154 of file TopologyKernel.hh.
| HalfEdgeHandle OpenVolumeMesh::TopologyKernel::prev_halfedge_in_halfface | ( | HalfEdgeHandle | _heh, |
| HalfFaceHandle | _hfh | ||
| ) | const |
Get previous halfedge within a halfface.
Definition at line 2167 of file TopologyKernel.cc.
| void OpenVolumeMesh::TopologyKernel::reorder_incident_halffaces | ( | EdgeHandle | _eh | ) |
Recompute cyclic ordering of (half)faces incident to an edge (used by iterators)
Definition at line 273 of file TopologyKernel.cc.
| void OpenVolumeMesh::TopologyKernel::reserve_cells | ( | size_t | n | ) |
Definition at line 78 of file TopologyKernel.cc.
| void OpenVolumeMesh::TopologyKernel::reserve_edges | ( | size_t | n | ) |
Definition at line 64 of file TopologyKernel.cc.
| void OpenVolumeMesh::TopologyKernel::reserve_faces | ( | size_t | n | ) |
Definition at line 71 of file TopologyKernel.cc.
| void OpenVolumeMesh::TopologyKernel::reserve_vertices | ( | size_t | n | ) |
Definition at line 58 of file TopologyKernel.cc.
| void OpenVolumeMesh::TopologyKernel::set_cell | ( | CellHandle | _ch, |
| const std::vector< HalfFaceHandle > & | _hfs | ||
| ) |
Set the half-faces of a cell.
Definition at line 573 of file TopologyKernel.cc.
| void OpenVolumeMesh::TopologyKernel::set_edge | ( | EdgeHandle | _eh, |
| VertexHandle | _fromVertex, | ||
| VertexHandle | _toVertex | ||
| ) |
Set the vertices of an edge.
Definition at line 497 of file TopologyKernel.cc.
| void OpenVolumeMesh::TopologyKernel::set_face | ( | FaceHandle | _fh, |
| const std::vector< HalfEdgeHandle > & | _hes | ||
| ) |
Set the half-edges of a face.
Definition at line 532 of file TopologyKernel.cc.
|
virtual |
Exchanges the indices of two cells while keeping the mesh otherwise unaffected.
Definition at line 1477 of file TopologyKernel.cc.
|
virtual |
Exchanges the indices of two edges while keeping the mesh otherwise unaffected.
Definition at line 1640 of file TopologyKernel.cc.
|
virtual |
Exchanges the indices of two faces while keeping the mesh otherwise unaffected.
Definition at line 1501 of file TopologyKernel.cc.
|
virtual |
Exchanges the indices of two vertices while keeping the mesh otherwise unaffected.
Definition at line 1776 of file TopologyKernel.cc.
|
inline |
Get the vertex the halfedge points to.
Definition at line 706 of file TopologyKernel.hh.
|
inline |
Definition at line 403 of file TopologyKernel.hh.
|
inline |
Get valence of cell (number of incident faces)
Definition at line 734 of file TopologyKernel.hh.
|
inline |
Get valence of edge (number of incident faces)
Definition at line 719 of file TopologyKernel.hh.
|
inline |
Get valence of face (number of incident edges)
Definition at line 727 of file TopologyKernel.hh.
|
inline |
Get valence of vertex (number of incident edges)
Definition at line 711 of file TopologyKernel.hh.
|
inline |
Definition at line 195 of file TopologyKernel.hh.
|
inline |
Definition at line 168 of file TopologyKernel.hh.
|
inline |
Definition at line 199 of file TopologyKernel.hh.
|
inline |
Definition at line 172 of file TopologyKernel.hh.
|
inline |
Definition at line 190 of file TopologyKernel.hh.
|
inline |
Definition at line 181 of file TopologyKernel.hh.
|
inline |
Definition at line 145 of file TopologyKernel.hh.
|
inline |
Definition at line 415 of file TopologyKernel.hh.
|
inline |
Definition at line 407 of file TopologyKernel.hh.
|
inline |
Definition at line 411 of file TopologyKernel.hh.
|
inline |
Definition at line 186 of file TopologyKernel.hh.
|
inline |
Definition at line 177 of file TopologyKernel.hh.
|
inline |
Definition at line 159 of file TopologyKernel.hh.
|
inline |
Definition at line 150 of file TopologyKernel.hh.
|
inline |
Definition at line 141 of file TopologyKernel.hh.
|
friend |
Definition at line 114 of file TopologyKernel.hh.
|
friend |
Definition at line 112 of file TopologyKernel.hh.
|
friend |
Definition at line 120 of file TopologyKernel.hh.
|
friend |
Definition at line 111 of file TopologyKernel.hh.
|
friend |
Definition at line 116 of file TopologyKernel.hh.
|
friend |
Definition at line 118 of file TopologyKernel.hh.
|
friend |
Definition at line 110 of file TopologyKernel.hh.
|
friend |
Definition at line 107 of file TopologyKernel.hh.
|
friend |
Definition at line 117 of file TopologyKernel.hh.
|
friend |
Definition at line 119 of file TopologyKernel.hh.
|
friend |
Definition at line 113 of file TopologyKernel.hh.
|
friend |
Definition at line 99 of file TopologyKernel.hh.
|
friend |
Definition at line 109 of file TopologyKernel.hh.
|
friend |
Definition at line 108 of file TopologyKernel.hh.
|
friend |
Definition at line 115 of file TopologyKernel.hh.
|
friend |
Definition at line 105 of file TopologyKernel.hh.
|
friend |
Definition at line 106 of file TopologyKernel.hh.
|
private |
Definition at line 1195 of file TopologyKernel.hh.
|
private |
Definition at line 1189 of file TopologyKernel.hh.
|
private |
Definition at line 1014 of file TopologyKernel.hh.
|
private |
Definition at line 1010 of file TopologyKernel.hh.
|
private |
Definition at line 1193 of file TopologyKernel.hh.
|
private |
Definition at line 1187 of file TopologyKernel.hh.
|
private |
Definition at line 1012 of file TopologyKernel.hh.
|
private |
Definition at line 1194 of file TopologyKernel.hh.
|
private |
Definition at line 1188 of file TopologyKernel.hh.
|
private |
Definition at line 1016 of file TopologyKernel.hh.
|
protected |
Definition at line 1005 of file TopologyKernel.hh.
|
protected |
Definition at line 1002 of file TopologyKernel.hh.
|
static |
Definition at line 88 of file TopologyKernel.hh.
|
static |
Definition at line 86 of file TopologyKernel.hh.
|
static |
Definition at line 87 of file TopologyKernel.hh.
|
static |
Definition at line 89 of file TopologyKernel.hh.
|
static |
Definition at line 90 of file TopologyKernel.hh.
|
static |
Definition at line 85 of file TopologyKernel.hh.
|
private |
Definition at line 1201 of file TopologyKernel.hh.
|
private |
Definition at line 1199 of file TopologyKernel.hh.
|
private |
Definition at line 1200 of file TopologyKernel.hh.
|
private |
Definition at line 1198 of file TopologyKernel.hh.
|
private |
Definition at line 576 of file TopologyKernel.hh.
|
protected |
Definition at line 999 of file TopologyKernel.hh.
|
private |
Definition at line 1008 of file TopologyKernel.hh.
|
private |
Definition at line 1192 of file TopologyKernel.hh.