|
| TetrahedralGeometryKernel () |
| Constructor.
|
|
| ~TetrahedralGeometryKernel () |
| Destructor.
|
|
VertexHandle | split_edge (HalfEdgeHandle heh, double alpha=0.5) |
|
VertexHandle | split_edge (EdgeHandle eh) |
|
VertexHandle | split_face (FaceHandle fh, PointT pos) |
|
VertexHandle | split_face (FaceHandle fh) |
|
| GeometryKernel () |
| Constructor.
|
|
| ~GeometryKernel () |
| Destructor.
|
|
virtual VertexHandle | add_vertex () |
| Override of empty add_vertex function.
|
|
VertexHandle | add_vertex (const VecT &_p) |
| Add a geometric point to the mesh.
|
|
void | set_vertex (const VertexHandle &_vh, const VecT &_p) |
| Set the coordinates of point _vh.
|
|
const VecT & | vertex (const VertexHandle &_vh) const |
| Get point _vh's coordinates.
|
|
virtual VertexIter | delete_vertex (const VertexHandle &_h) |
| Delete vertex from mesh.
|
|
virtual void | collect_garbage () |
| Delete all entities that are marked as deleted.
|
|
virtual void | swap_vertices (VertexHandle _h1, VertexHandle _h2) |
|
void | swap_vertices (std::vector< VecT > &_copy) |
|
virtual void | clear (bool _clearProps=true) |
| Clear whole mesh.
|
|
PointT::value_type | length (const EdgeHandle &_eh) const |
|
PointT | vector (const EdgeHandle &_eh) const |
|
PointT | barycenter (const EdgeHandle &_eh) const |
|
PointT | barycenter (const FaceHandle &_fh) const |
|
PointT | barycenter (const CellHandle &_ch) const |
|
void | clone_vertices (std::vector< VecT > &_copy) const |
|
virtual FaceHandle | add_face (const 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 (const std::vector< HalfFaceHandle > &_halffaces, bool _topologyCheck=false) |
| Add cell via incident halffaces.
|
|
CellHandle | add_cell (const std::vector< VertexHandle > &_vertices, bool _topologyCheck=false) |
|
CellHandle | add_cell (VertexHandle _vh0, VertexHandle _vh1, VertexHandle _vh2, VertexHandle _vh3, bool _topologyCheck=false) |
|
HalfFaceHandle | add_halfface (const std::vector< HalfEdgeHandle > &_halfedges, bool _topologyCheck=false) |
|
HalfFaceHandle | add_halfface (VertexHandle _vh0, VertexHandle _vh1, VertexHandle _vh2, bool _topologyCheck=false) |
|
HalfEdgeHandle | add_halfedge (const VertexHandle &_fromVertex, const VertexHandle &_toVertex) |
|
std::vector< VertexHandle > | get_cell_vertices (CellHandle ch) const |
|
std::vector< VertexHandle > | get_cell_vertices (CellHandle ch, VertexHandle vh) const |
|
std::vector< VertexHandle > | get_cell_vertices (HalfFaceHandle hfh) const |
|
std::vector< VertexHandle > | get_cell_vertices (HalfFaceHandle hfh, HalfEdgeHandle heh) const |
|
std::vector< VertexHandle > | get_halfface_vertices (HalfFaceHandle hfh) const |
|
std::vector< VertexHandle > | get_halfface_vertices (HalfFaceHandle hfh, VertexHandle vh) const |
|
std::vector< VertexHandle > | get_halfface_vertices (HalfFaceHandle hfh, HalfEdgeHandle heh) const |
|
VertexHandle | collapse_edge (HalfEdgeHandle _heh) |
|
TetVertexIter | tv_iter (const CellHandle &_ref_h, int _max_laps=1) const |
|
std::pair< TetVertexIter, TetVertexIter > | tet_vertices (const CellHandle &_ref_h, int _max_laps=1) const |
|
VertexOHalfEdgeIter | voh_iter (const VertexHandle &_h, int _max_laps=1) const |
|
std::pair< VertexOHalfEdgeIter, VertexOHalfEdgeIter > | outgoing_halfedges (const VertexHandle &_h, int _max_laps=1) const |
|
HalfEdgeHalfFaceIter | hehf_iter (const HalfEdgeHandle &_h, int _max_laps=1) const |
|
std::pair< HalfEdgeHalfFaceIter, HalfEdgeHalfFaceIter > | halfedge_halffaces (const HalfEdgeHandle &_h, int _max_laps=1) const |
|
VertexCellIter | vc_iter (const VertexHandle &_h, int _max_laps=1) const |
|
std::pair< VertexCellIter, VertexCellIter > | vertex_cells (const VertexHandle &_h, int _max_laps=1) |
|
HalfEdgeCellIter | hec_iter (const HalfEdgeHandle &_h, int _max_laps=1) const |
|
std::pair< HalfEdgeCellIter, HalfEdgeCellIter > | halfedge_cells (const HalfEdgeHandle &_h, int _max_laps=1) |
|
CellVertexIter | cv_iter (const CellHandle &_h, int _max_laps=1) const |
|
std::pair< CellVertexIter, CellVertexIter > | cell_vertices (const CellHandle &_h, int _max_laps=1) const |
|
CellCellIter | cc_iter (const CellHandle &_h, int _max_laps=1) const |
|
std::pair< CellCellIter, CellCellIter > | cell_cells (const CellHandle &_h, int _max_laps=1) const |
|
HalfFaceVertexIter | hfv_iter (const HalfFaceHandle &_h, int _max_laps=1) const |
|
std::pair< HalfFaceVertexIter, HalfFaceVertexIter > | halfface_vertices (const HalfFaceHandle &_h, int _max_laps=1) const |
|
BoundaryHalfFaceHalfFaceIter | bhfhf_iter (const HalfFaceHandle &_ref_h, int _max_laps=1) const |
|
std::pair< BoundaryHalfFaceHalfFaceIter, BoundaryHalfFaceHalfFaceIter > | boundary_halfface_halffaces (const HalfFaceHandle &_h, int _max_laps=1) const |
|
BoundaryFaceIter | bf_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 |
|
virtual size_t | n_vertices () const |
| Get number of vertices in mesh.
|
|
virtual size_t | n_edges () const |
| Get number of edges in mesh.
|
|
virtual size_t | n_halfedges () const |
| Get number of halfedges in mesh.
|
|
virtual size_t | n_faces () const |
| Get number of faces in mesh.
|
|
virtual size_t | n_halffaces () const |
| Get number of halffaces in mesh.
|
|
virtual size_t | n_cells () const |
| Get number of cells in mesh.
|
|
int | genus () const |
|
virtual EdgeHandle | add_edge (const VertexHandle &_fromVertex, const VertexHandle &_toHandle, bool _allowDuplicates=false) |
| Add edge.
|
|
void | set_edge (const EdgeHandle &_eh, const VertexHandle &_fromVertex, const VertexHandle &_toVertex) |
| Set the vertices of an edge.
|
|
void | set_face (const FaceHandle &_fh, const std::vector< HalfEdgeHandle > &_hes) |
| Set the half-edges of a face.
|
|
void | set_cell (const CellHandle &_ch, const std::vector< HalfFaceHandle > &_hfs) |
| Set the half-faces of a cell.
|
|
const Edge & | edge (const EdgeHandle &_edgeHandle) const |
| Get edge with handle _edgeHandle.
|
|
const Face & | face (const FaceHandle &_faceHandle) const |
| Get face with handle _faceHandle.
|
|
const Cell & | cell (const CellHandle &_cellHandle) const |
| Get cell with handle _cellHandle.
|
|
Edge & | edge (const EdgeHandle &_edgeHandle) |
| Get edge with handle _edgeHandle.
|
|
Face & | face (const FaceHandle &_faceHandle) |
| Get face with handle _faceHandle.
|
|
Cell & | cell (const CellHandle &_cellHandle) |
| Get cell with handle _cellHandle.
|
|
Edge | halfedge (const HalfEdgeHandle &_halfEdgeHandle) const |
| Get edge that corresponds to halfedge with handle _halfEdgeHandle.
|
|
Face | halfface (const HalfFaceHandle &_halfFaceHandle) const |
| Get face that corresponds to halfface with handle _halfFaceHandle.
|
|
Edge | opposite_halfedge (const HalfEdgeHandle &_halfEdgeHandle) const |
| Get opposite halfedge that corresponds to halfedge with handle _halfEdgeHandle.
|
|
Face | opposite_halfface (const HalfFaceHandle &_halfFaceHandle) const |
| Get opposite halfface that corresponds to halfface with handle _halfFaceHandle.
|
|
HalfEdgeHandle | halfedge (const VertexHandle &_vh1, const VertexHandle &_vh2) const |
| Get halfedge from vertex _vh1 to _vh2.
|
|
HalfFaceHandle | halfface (const std::vector< VertexHandle > &_vs) const |
|
HalfFaceHandle | halfface_extensive (const std::vector< VertexHandle > &_vs) const |
|
HalfFaceHandle | halfface (const std::vector< HalfEdgeHandle > &_hes) const |
|
HalfEdgeHandle | next_halfedge_in_halfface (const HalfEdgeHandle &_heh, const HalfFaceHandle &_hfh) const |
| Get next halfedge within a halfface.
|
|
HalfEdgeHandle | prev_halfedge_in_halfface (const HalfEdgeHandle &_heh, const HalfFaceHandle &_hfh) const |
| Get previous halfedge within a halfface.
|
|
size_t | valence (const VertexHandle &_vh) const |
| Get valence of vertex (number of incident edges)
|
|
size_t | valence (const EdgeHandle &_eh) const |
| Get valence of edge (number of incident faces)
|
|
size_t | valence (const FaceHandle &_fh) const |
| Get valence of face (number of incident edges)
|
|
size_t | valence (const CellHandle &_ch) const |
| Get valence of cell (number of incident faces)
|
|
virtual EdgeIter | delete_edge (const EdgeHandle &_h) |
| Delete edge from mesh.
|
|
virtual FaceIter | delete_face (const FaceHandle &_h) |
| Delete face from mesh.
|
|
virtual CellIter | delete_cell (const CellHandle &_h) |
| Delete cell from mesh.
|
|
virtual bool | is_deleted (const VertexHandle &_h) const |
|
virtual bool | is_deleted (const EdgeHandle &_h) const |
|
virtual bool | is_deleted (const HalfEdgeHandle &_h) const |
|
virtual bool | is_deleted (const FaceHandle &_h) const |
|
virtual bool | is_deleted (const HalfFaceHandle &_h) const |
|
virtual bool | is_deleted (const CellHandle &_h) const |
|
CellIter | delete_cell_range (const CellIter &_first, const CellIter &_last) |
| Delete range of cells.
|
|
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 (const HalfFaceHandle &_halfFaceHandle, const HalfEdgeHandle &_halfEdgeHandle) const |
| Get halfface that is adjacent (w.r.t. a common halfedge) within the same cell.
|
|
CellHandle | incident_cell (const HalfFaceHandle &_halfFaceHandle) const |
| Get cell that is incident to the given halfface.
|
|
bool | is_boundary (const HalfFaceHandle &_halfFaceHandle) const |
|
bool | is_boundary (const FaceHandle &_faceHandle) const |
|
bool | is_boundary (const EdgeHandle &_edgeHandle) const |
|
bool | is_boundary (const HalfEdgeHandle &_halfedgeHandle) const |
|
bool | is_boundary (const VertexHandle &_vertexHandle) const |
|
size_t | n_vertices_in_cell (const CellHandle &_ch) const |
|
Edge | opposite_halfedge (const Edge &_edge) const |
|
Face | opposite_halfface (const Face &_face) 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 | clear_vertex_props () |
|
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 |
|
size_t | n_edge_props () const |
|
size_t | n_halfedge_props () const |
|
size_t | n_face_props () const |
|
size_t | n_halfface_props () const |
|
size_t | n_cell_props () const |
|
size_t | n_mesh_props () const |
|
template<class T> |
void | set_persistent (VertexPropertyT< T > &_prop, bool _flag=true) |
|
template<class T> |
void | set_persistent (EdgePropertyT< T > &_prop, bool _flag=true) |
|
template<class T> |
void | set_persistent (HalfEdgePropertyT< T > &_prop, bool _flag=true) |
|
template<class T> |
void | set_persistent (FacePropertyT< T > &_prop, bool _flag=true) |
|
template<class T> |
void | set_persistent (HalfFacePropertyT< T > &_prop, bool _flag=true) |
|
template<class T> |
void | set_persistent (CellPropertyT< T > &_prop, bool _flag=true) |
|
template<class T> |
void | set_persistent (MeshPropertyT< T > &_prop, bool _flag=true) |
|
Properties::const_iterator | vertex_props_begin () const |
|
Properties::const_iterator | vertex_props_end () const |
|
Properties::const_iterator | edge_props_begin () const |
|
Properties::const_iterator | edge_props_end () const |
|
Properties::const_iterator | halfedge_props_begin () const |
|
Properties::const_iterator | halfedge_props_end () const |
|
Properties::const_iterator | face_props_begin () const |
|
Properties::const_iterator | face_props_end () const |
|
Properties::const_iterator | halfface_props_begin () const |
|
Properties::const_iterator | halfface_props_end () const |
|
Properties::const_iterator | cell_props_begin () const |
|
Properties::const_iterator | cell_props_end () const |
|
Properties::const_iterator | mesh_props_begin () const |
|
Properties::const_iterator | mesh_props_end () const |
|
template<class PropT> |
bool | vertex_property_exists (const std::string &_name) const |
|
template<class PropT> |
bool | edge_property_exists (const std::string &_name) const |
|
template<class PropT> |
bool | halfedge_property_exists (const std::string &_name) const |
|
template<class PropT> |
bool | face_property_exists (const std::string &_name) const |
|
template<class PropT> |
bool | halfface_property_exists (const std::string &_name) const |
|
template<class PropT> |
bool | cell_property_exists (const std::string &_name) const |
|
template<class PropT> |
bool | mesh_property_exists (const std::string &_name) const |
|
|
static HalfEdgeHandle | halfedge_handle (const EdgeHandle &_h, const unsigned char _subIdx) |
| Conversion function.
|
|
static HalfFaceHandle | halfface_handle (const FaceHandle &_h, const unsigned char _subIdx) |
| Conversion function.
|
|
static EdgeHandle | edge_handle (const HalfEdgeHandle &_h) |
| Handle conversion.
|
|
static FaceHandle | face_handle (const HalfFaceHandle &_h) |
|
static HalfEdgeHandle | opposite_halfedge_handle (const HalfEdgeHandle &_h) |
|
static HalfFaceHandle | opposite_halfface_handle (const HalfFaceHandle &_h) |
|
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) |
|
virtual void | delete_multiple_vertices (const std::vector< bool > &_tag) |
|
void | split_edge (HalfEdgeHandle _heh, VertexHandle _vh) |
|
void | split_face (FaceHandle _fh, VertexHandle _vh) |
|
virtual void | swap_cells (CellHandle _h1, CellHandle _h2) |
|
virtual void | swap_faces (FaceHandle _h1, FaceHandle _h2) |
|
virtual void | swap_edges (EdgeHandle _h1, EdgeHandle _h2) |
|
virtual void | delete_multiple_edges (const std::vector< bool > &_tag) |
|
virtual void | delete_multiple_faces (const std::vector< bool > &_tag) |
|
virtual void | delete_multiple_cells (const std::vector< bool > &_tag) |
|
void | compute_vertex_bottom_up_incidences () |
|
void | compute_edge_bottom_up_incidences () |
|
void | compute_face_bottom_up_incidences () |
|
void | reorder_incident_halffaces (const EdgeHandle &_eh) |
|
void | vertex_deleted (const VertexHandle &_h) |
|
void | edge_deleted (const EdgeHandle &_h) |
|
void | face_deleted (const FaceHandle &_h) |
|
void | cell_deleted (const CellHandle &_h) |
|
void | swap_cell_properties (CellHandle _h1, CellHandle _h2) |
|
void | swap_face_properties (FaceHandle _h1, FaceHandle _h2) |
|
void | swap_halfface_properties (HalfFaceHandle _h1, HalfFaceHandle _h2) |
|
void | swap_edge_properties (EdgeHandle _h1, EdgeHandle _h2) |
|
void | swap_halfedge_properties (HalfEdgeHandle _h1, HalfEdgeHandle _h2) |
|
void | swap_vertex_properties (VertexHandle _h1, VertexHandle _h2) |
|
template<typename PropIterator, typename Handle> |
void | swap_property_elements (PropIterator _begin, PropIterator _end, Handle _h1, Handle _h2) |
|
void | delete_multiple_vertex_props (const std::vector< bool > &_tags) |
|
void | delete_multiple_edge_props (const std::vector< bool > &_tags) |
|
void | delete_multiple_face_props (const std::vector< bool > &_tags) |
|
void | delete_multiple_cell_props (const std::vector< bool > &_tags) |
|
template<class Circulator> |
static Circulator | make_end_circulator (const Circulator &_circ) |
|
std::vector< std::vector< HalfEdgeHandle > > | outgoing_hes_per_vertex_ |
|
std::vector< std::vector< HalfFaceHandle > > | incident_hfs_per_he_ |
|
std::vector< CellHandle > | incident_cell_per_hf_ |
|
std::vector< Edge > | edges_ |
|
std::vector< Face > | faces_ |
|
std::vector< Cell > | cells_ |
|
std::vector< bool > | vertex_deleted_ |
|
std::vector< bool > | edge_deleted_ |
|
std::vector< bool > | face_deleted_ |
|
std::vector< bool > | cell_deleted_ |
|