Connectifity Class for Triangle Meshes. More...
#include <TriConnectivity.hh>
Public Member Functions | |
| void | assign_connectivity (const TriConnectivity &_other) |
| assign_connectivity() methods. | |
| void | assign_connectivity (const PolyConnectivity &_other) |
| assign_connectivity() method. | |
| VertexHandle | opposite_vh (HalfedgeHandle _heh) const |
| Returns the opposite vertex to the halfedge _heh in the face referenced by _heh returns InvalidVertexHandle if the _heh is boundary. | |
| VertexHandle | opposite_he_opposite_vh (HalfedgeHandle _heh) const |
| Returns the opposite vertex to the opposite halfedge of _heh in the face referenced by it returns InvalidVertexHandle if the opposite halfedge is boundary. | |
Addding items to a mesh | |
| FaceHandle | add_face (const std::vector< VertexHandle > &_vhandles) |
| Override OpenMesh::Mesh::PolyMeshT::add_face(). | |
| FaceHandle | add_face (const VertexHandle *_vhandles, uint _vhs_size) |
| Add a new vertex. | |
| FaceHandle | add_face (VertexHandle _vh0, VertexHandle _vh1, VertexHandle _vh2) |
| Override OpenMesh::Mesh::PolyMeshT::add_face(). | |
Topology modifying operators | |
| bool | is_collapse_ok (HalfedgeHandle _heh) |
| Returns whether collapsing halfedge _heh is ok or would lead to topological inconsistencies. | |
| HalfedgeHandle | vertex_split (VertexHandle v0, VertexHandle v1, VertexHandle vl, VertexHandle vr) |
| Vertex Split: inverse operation to collapse(). | |
| bool | is_flip_ok (EdgeHandle _eh) const |
| Check whether flipping _eh is topologically correct. | |
| void | flip (EdgeHandle _eh) |
| Flip edge _eh. | |
| void | split (EdgeHandle _eh, VertexHandle _vh) |
| Edge split (= 2-to-4 split). | |
| void | split (FaceHandle _fh, VertexHandle _vh) |
| Face split (= 1-to-3 split, calls corresponding PolyMeshT function). | |
Static Public Member Functions | |
| static bool | is_triangles () |
Connectifity Class for Triangle Meshes.
| FaceHandle OpenMesh::TriConnectivity::add_face | ( | VertexHandle | _vh0, | |
| VertexHandle | _vh1, | |||
| VertexHandle | _vh2 | |||
| ) | [inline] |
Override OpenMesh::Mesh::PolyMeshT::add_face().
Faces that aren't triangles will be triangulated and added. In this case an invalid face handle will be returned.
Reimplemented from OpenMesh::PolyConnectivity.
| TriConnectivity::FaceHandle OpenMesh::TriConnectivity::add_face | ( | const VertexHandle * | _vhandles, | |
| uint | _vhs_size | |||
| ) |
Add a new vertex.
face is triangle -> ok
face is not a triangle -> triangulate
Reimplemented from OpenMesh::PolyConnectivity.
| FaceHandle OpenMesh::TriConnectivity::add_face | ( | const std::vector< VertexHandle > & | _vhandles | ) | [inline] |
Override OpenMesh::Mesh::PolyMeshT::add_face().
Faces that aren't triangles will be triangulated and added. In this case an invalid face handle will be returned.
Reimplemented from OpenMesh::PolyConnectivity.
| void OpenMesh::TriConnectivity::assign_connectivity | ( | const PolyConnectivity & | _other | ) | [inline] |
assign_connectivity() method.
See ArrayKernel::assign_connectivity() for more details.
Reimplemented from OpenMesh::PolyConnectivity.
| void OpenMesh::TriConnectivity::assign_connectivity | ( | const TriConnectivity & | _other | ) | [inline] |
assign_connectivity() methods.
See ArrayKernel::assign_connectivity() for more details. When the source connectivity is not triangles, in addition "fan" connectivity triangulation is performed
| void OpenMesh::TriConnectivity::flip | ( | EdgeHandle | _eh | ) |
Flip edge _eh.
Check for topological correctness first using is_flip_ok().
| bool OpenMesh::TriConnectivity::is_collapse_ok | ( | HalfedgeHandle | _heh | ) |
Returns whether collapsing halfedge _heh is ok or would lead to topological inconsistencies.