Public Member Functions | Static Public Member Functions

OpenMesh::TriConnectivity Class Reference

Connectifity Class for Triangle Meshes. More...

#include </data1/home1/moebius/projects/release/OpenMesh-2.0/src/OpenMesh/Core/Mesh/TriConnectivity.hh>

Inheritance diagram for OpenMesh::TriConnectivity:
Inheritance graph
[legend]
Collaboration diagram for OpenMesh::TriConnectivity:
Collaboration graph
[legend]

List of all members.

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 and connect a new face.
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 ()

Detailed Description

Connectifity Class for Triangle Meshes.


Member Function Documentation

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.

TriConnectivity::FaceHandle OpenMesh::TriConnectivity::add_face ( const VertexHandle _vhandles,
uint  _vhs_size 
)

Add and connect a new face.

Create a new face consisting of vertices provided by a handle array. (The vertices have to be already added to the mesh by add_vertex)

Parameters:
_vhandles pointer to a sorted list of vertex handles (also defines order in which the vertices are added to the face)
_vhs_size number of vertex handles in the array

face is triangle -> ok

face is not a triangle -> triangulate

Reimplemented from OpenMesh::PolyConnectivity.

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.

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::assign_connectivity ( const PolyConnectivity _other  )  [inline]

assign_connectivity() method.

See ArrayKernel::assign_connectivity() for more details.

Reimplemented from OpenMesh::PolyConnectivity.

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.

Attention:
This method need the Attributes::Status attribute and changes the tagged bit.

The documentation for this class was generated from the following files:

acg pic Project OpenMesh, ©  Computer Graphics Group, RWTH Aachen. Documentation generated using doxygen .