OpenMesh
OpenMesh::TriConnectivity Class Reference

Connectivity Class for Triangle Meshes. More...

#include <OpenMesh/Core/Mesh/TriConnectivity.hh>

Inheritance diagram for OpenMesh::TriConnectivity:
Collaboration diagram for OpenMesh::TriConnectivity:

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

Connectivity 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.

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:
_vhandlespointer to a sorted list of vertex handles (also defines order in which the vertices are added to the face)
_vhs_sizenumber of vertex handles in the array

face is triangle -> ok

face is not a triangle -> triangulate

Reimplemented from OpenMesh::PolyConnectivity.

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.

assign_connectivity() methods.

See ArrayKernel::assign_connectivity() for more details. When the source connectivity is not triangles, in addition "fan" connectivity triangulation is performed

Flip edge _eh.

Check for topological correctness first using is_flip_ok().

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.

Reimplemented from OpenMesh::PolyConnectivity.


The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Defines