Developer Documentation
|
Classes | |
class | CellCorrector |
class | EdgeCorrector |
class | FaceCorrector |
Public Types | |
typedef OpenVolumeMeshEdge | Edge |
typedef OpenVolumeMeshFace | Face |
typedef OpenVolumeMeshCell | Cell |
![]() | |
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. More... | |
size_t | n_edges () const override |
Get number of edges in mesh. More... | |
size_t | n_halfedges () const override |
Get number of halfedges in mesh. More... | |
size_t | n_faces () const override |
Get number of faces in mesh. More... | |
size_t | n_halffaces () const override |
Get number of halffaces in mesh. More... | |
size_t | n_cells () const override |
Get number of cells in mesh. More... | |
size_t | n_logical_vertices () const |
Get number of undeleted vertices in mesh. More... | |
size_t | n_logical_edges () const |
Get number of undeleted edges in mesh. More... | |
size_t | n_logical_halfedges () const |
Get number of undeleted halfedges in mesh. More... | |
size_t | n_logical_faces () const |
Get number of undeleted faces in mesh. More... | |
size_t | n_logical_halffaces () const |
Get number of undeleted halffaces in mesh. More... | |
size_t | n_logical_cells () const |
Get number of undeleted cells in mesh. More... | |
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. More... | |
virtual EdgeHandle | add_edge (VertexHandle _fromVertex, VertexHandle _toHandle, bool _allowDuplicates=false) |
Add edge. More... | |
virtual FaceHandle | add_face (std::vector< HalfEdgeHandle > _halfedges, bool _topologyCheck=false) |
Add face via incident edges. More... | |
virtual FaceHandle | add_face (const std::vector< VertexHandle > &_vertices) |
Add face via incident vertices. More... | |
virtual CellHandle | add_cell (std::vector< HalfFaceHandle > _halffaces, bool _topologyCheck=false) |
Add cell via incident halffaces. More... | |
void | set_edge (EdgeHandle _eh, VertexHandle _fromVertex, VertexHandle _toVertex) |
Set the vertices of an edge. More... | |
void | set_face (FaceHandle _fh, const std::vector< HalfEdgeHandle > &_hes) |
Set the half-edges of a face. More... | |
void | set_cell (CellHandle _ch, const std::vector< HalfFaceHandle > &_hfs) |
Set the half-faces of a cell. More... | |
void | reorder_incident_halffaces (EdgeHandle _eh) |
Recompute cyclic ordering of (half)faces incident to an edge (used by iterators) More... | |
const Edge & | edge (EdgeHandle _edgeHandle) const |
Get edge with handle _edgeHandle. More... | |
const Face & | face (FaceHandle _faceHandle) const |
Get face with handle _faceHandle. More... | |
const Cell & | cell (CellHandle _cellHandle) const |
Get cell with handle _cellHandle. More... | |
Edge & | edge (EdgeHandle _edgeHandle) |
Get edge with handle _edgeHandle. More... | |
Face & | face (FaceHandle _faceHandle) |
Get face with handle _faceHandle. More... | |
Cell & | cell (CellHandle _cellHandle) |
Get cell with handle _cellHandle. More... | |
Edge | halfedge (HalfEdgeHandle _halfEdgeHandle) const |
Get edge that corresponds to halfedge with handle _halfEdgeHandle. More... | |
Face | halfface (HalfFaceHandle _halfFaceHandle) const |
Get face that corresponds to halfface with handle _halfFaceHandle. More... | |
Edge | opposite_halfedge (HalfEdgeHandle _halfEdgeHandle) const |
Get opposite halfedge that corresponds to halfedge with handle _halfEdgeHandle. More... | |
Face | opposite_halfface (HalfFaceHandle _halfFaceHandle) const |
Get opposite halfface that corresponds to halfface with handle _halfFaceHandle. More... | |
HalfEdgeHandle | find_halfedge (VertexHandle _vh1, VertexHandle _vh2) const |
Get halfedge from vertex _vh1 to _vh2. More... | |
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. More... | |
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. More... | |
HalfEdgeHandle | prev_halfedge_in_halfface (HalfEdgeHandle _heh, HalfFaceHandle _hfh) const |
Get previous halfedge within a halfface. More... | |
VertexHandle | from_vertex_handle (HalfEdgeHandle _h) const |
Get the vertex the halfedge starts from. More... | |
VertexHandle | to_vertex_handle (HalfEdgeHandle _h) const |
Get the vertex the halfedge points to. More... | |
size_t | valence (VertexHandle _vh) const |
Get valence of vertex (number of incident edges) More... | |
size_t | valence (EdgeHandle _eh) const |
Get valence of edge (number of incident faces) More... | |
size_t | valence (FaceHandle _fh) const |
Get valence of face (number of incident edges) More... | |
size_t | valence (CellHandle _ch) const |
Get valence of cell (number of incident faces) More... | |
std::vector< VertexHandle > | get_halfface_vertices (HalfFaceHandle hfh) const |
Get vertices of a halfface. More... | |
std::vector< VertexHandle > | get_halfface_vertices (HalfFaceHandle hfh, VertexHandle vh) const |
Get vertices of a halfface orderd to start from vh. More... | |
std::vector< VertexHandle > | get_halfface_vertices (HalfFaceHandle hfh, HalfEdgeHandle heh) const |
Get vertices of a halfface orderd to start from from_vertex_handle(heh) More... | |
bool | is_incident (FaceHandle _fh, EdgeHandle _eh) const |
check whether face _fh and edge _eh are incident More... | |
virtual VertexIter | delete_vertex (VertexHandle _h) |
Delete vertex from mesh. More... | |
virtual EdgeIter | delete_edge (EdgeHandle _h) |
Delete edge from mesh. More... | |
virtual FaceIter | delete_face (FaceHandle _h) |
Delete face from mesh. More... | |
virtual CellIter | delete_cell (CellHandle _h) |
Delete cell from mesh. More... | |
virtual void | collect_garbage () |
Delete all entities that are marked as deleted. More... | |
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. More... | |
virtual void | swap_face_indices (FaceHandle _h1, FaceHandle _h2) |
Exchanges the indices of two faces while keeping the mesh otherwise unaffected. More... | |
virtual void | swap_edge_indices (EdgeHandle _h1, EdgeHandle _h2) |
Exchanges the indices of two edges while keeping the mesh otherwise unaffected. More... | |
virtual void | swap_vertex_indices (VertexHandle _h1, VertexHandle _h2) |
Exchanges the indices of two vertices while keeping the mesh otherwise unaffected. More... | |
virtual void | clear (bool _clearProps=true) |
Clear whole mesh. More... | |
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. More... | |
CellHandle | incident_cell (HalfFaceHandle _halfFaceHandle) const |
Get cell that is incident to the given halfface. More... | |
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 More... | |
![]() | |
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. More... | |
template<typename EntityTag > | |
void | clear_props () |
drop persistent properties. More... | |
template<typename EntityTag > | |
size_t | n () const |
Get number of entities of given kind in mesh. | |
virtual size_t | n_vertices () const =0 |
Get number of vertices in mesh. More... | |
virtual size_t | n_edges () const =0 |
Get number of edges in mesh. More... | |
virtual size_t | n_halfedges () const =0 |
Get number of halfedges in mesh. More... | |
virtual size_t | n_faces () const =0 |
Get number of faces in mesh. More... | |
virtual size_t | n_halffaces () const =0 |
Get number of halffaces in mesh. More... | |
virtual size_t | n_cells () const =0 |
Get number of cells in mesh. More... | |
template<typename EntityTag > | |
size_t | n_props () const |
number of tracked properties More... | |
template<typename EntityTag > | |
size_t | n_persistent_props () const |
number of persistent properties More... | |
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: More... | |
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. More... | |
static HalfFaceHandle | halfface_handle (FaceHandle _h, const unsigned char _subIdx) |
Conversion function. More... | |
static EdgeHandle | edge_handle (HalfEdgeHandle _h) |
Handle conversion. More... | |
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 () |
![]() | |
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. More... | |
void | resize_eprops (size_t _ne) |
Change size of stored edge properties. More... | |
void | resize_fprops (size_t _nf) |
Change size of stored face properties. More... | |
void | resize_cprops (size_t _nc) |
Change size of stored cell properties. More... | |
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_ |
![]() | |
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. More... | |
EdgeIter | delete_edge_core (EdgeHandle _h) |
Delete edge from mesh. More... | |
FaceIter | delete_face_core (FaceHandle _h) |
Delete face from mesh. More... | |
CellIter | delete_cell_core (CellHandle _h) |
Delete cell from mesh. More... | |
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.