OpenMesh::TriMeshT< Kernel > Class Template Reference

#include <OpenMesh/Mesh/TriMeshT.hh>

Inheritance diagram for OpenMesh::TriMeshT< Kernel >:
Inheritance graph
[legend]

List of all members.

Public Types

typedef PolyMesh::Color Color
 Color type.
typedef PolyMesh::ConstEdgeIter ConstEdgeIter
typedef PolyMesh::ConstFaceEdgeIter ConstFaceEdgeIter
typedef PolyMesh::ConstFaceFaceIter ConstFaceFaceIter
typedef
PolyMesh::ConstFaceHalfedgeIter 
ConstFaceHalfedgeIter
typedef PolyMesh::ConstFaceIter ConstFaceIter
typedef
PolyMesh::ConstFaceVertexIter 
ConstFaceVertexIter
typedef
PolyMesh::ConstVertexEdgeIter 
ConstVertexEdgeIter
typedef
PolyMesh::ConstVertexFaceIter 
ConstVertexFaceIter
typedef
PolyMesh::ConstVertexIHalfedgeIter 
ConstVertexIHalfedgeIter
typedef PolyMesh::ConstVertexIter ConstVertexIter
typedef
PolyMesh::ConstVertexOHalfedgeIter 
ConstVertexOHalfedgeIter
typedef
PolyMesh::ConstVertexVertexIter 
ConstVertexVertexIter
typedef PolyMesh::Edge Edge
 Edge type.
typedef PolyMesh::EdgeHandle EdgeHandle
typedef PolyMesh::EdgeIter EdgeIter
typedef PolyMesh::Face Face
 Face type.
typedef PolyMesh::FaceEdgeIter FaceEdgeIter
typedef PolyMesh::FaceFaceIter FaceFaceIter
typedef PolyMesh::FaceHalfedgeIter FaceHalfedgeIter
typedef PolyMesh::FaceHandle FaceHandle
typedef PolyMesh::FaceIter FaceIter
typedef PolyMesh::FaceVertexIter FaceVertexIter
typedef PolyMesh::Halfedge Halfedge
 Halfedge type.
typedef PolyMesh::HalfedgeHandle HalfedgeHandle
typedef PolyMesh::Normal Normal
 Normal type.
typedef PolyMesh::Point Point
 Coordinate type.
typedef PolyMeshT< Kernel > PolyMesh
typedef PolyMesh::Scalar Scalar
 Scalar type.
typedef PolyMesh::TexCoord1D TexCoord1D
 TexCoord1D type.
typedef PolyMesh::TexCoord2D TexCoord2D
 TexCoord2D type.
typedef PolyMesh::TexCoord3D TexCoord3D
 TexCoord3D type.
typedef TriMeshT< Kernel > This
 Self type. Used to specify iterators/circulators.
typedef PolyMesh::Vertex Vertex
 Vertex type.
typedef PolyMesh::VertexEdgeIter VertexEdgeIter
typedef PolyMesh::VertexFaceIter VertexFaceIter
typedef PolyMesh::VertexHandle VertexHandle
 Handle for referencing the corresponding item.
typedef
PolyMesh::VertexIHalfedgeIter 
VertexIHalfedgeIter
typedef PolyMesh::VertexIter VertexIter
typedef
PolyMesh::VertexOHalfedgeIter 
VertexOHalfedgeIter
typedef PolyMesh::VertexVertexIter VertexVertexIter
 Circulator.

Public Member Functions

void split (FaceHandle _fh, VertexHandle _vh)
void split (FaceHandle _fh, const Point &_p)
 Face split (= 1-to-3 split, calls corresponding PolyMeshT function).
void split (EdgeHandle _eh, VertexHandle _vh)
void split (EdgeHandle _eh, const Point &_p)
 Edge split (= 2-to-4 split).
 TriMeshT ()
 Default constructor.
HalfedgeHandle vertex_split (VertexHandle _v0, VertexHandle _v1, VertexHandle _vl, VertexHandle _vr)
HalfedgeHandle vertex_split (Point _v0_point, VertexHandle _v1, VertexHandle _vl, VertexHandle _vr)
 Vertex Split: inverse operation to collapse().
virtual ~TriMeshT ()
 Destructor.
Normal vector computation

Normal calc_face_normal (FaceHandle _fh) const



enum  { IsPolyMesh = 0 }
 

Determine whether this is a PolyMeshT or TriMeshT ( This function does not check the per face vertex count! It only checks if the datatype is PolyMeshT or TriMeshT ).

More...
enum  { IsTriMesh = 1 }
static bool is_polymesh ()
static bool is_trimesh ()

Detailed Description

template<class Kernel>
class OpenMesh::TriMeshT< Kernel >

Base type for a triangle mesh.

Base type for a triangle mesh, parameterized by a mesh kernel. The mesh inherits all methods from the kernel class and the more general polygonal mesh PolyMeshT. Therefore it provides the same types for items, handles, iterators and so on.

Parameters:
Kernel,: template argument for the mesh kernel
Note:
You should use the predefined mesh-kernel combinations in mesh_types_group
See also:
mesh_type
OpenMesh::PolyMeshT

Definition at line 88 of file TriMeshT.hh.


Member Typedef Documentation

template<class Kernel>
typedef PolyMesh::Color OpenMesh::TriMeshT< Kernel >::Color

Color type.

Reimplemented from OpenMesh::PolyMeshT< Kernel >.

Definition at line 111 of file TriMeshT.hh.

template<class Kernel>
typedef PolyMesh::ConstEdgeIter OpenMesh::TriMeshT< Kernel >::ConstEdgeIter

Reimplemented from OpenMesh::PolyMeshT< Kernel >.

Definition at line 134 of file TriMeshT.hh.

template<class Kernel>
typedef PolyMesh::ConstFaceEdgeIter OpenMesh::TriMeshT< Kernel >::ConstFaceEdgeIter

Reimplemented from OpenMesh::PolyMeshT< Kernel >.

Definition at line 158 of file TriMeshT.hh.

template<class Kernel>
typedef PolyMesh::ConstFaceFaceIter OpenMesh::TriMeshT< Kernel >::ConstFaceFaceIter

Reimplemented from OpenMesh::PolyMeshT< Kernel >.

Definition at line 159 of file TriMeshT.hh.

Reimplemented from OpenMesh::PolyMeshT< Kernel >.

Definition at line 157 of file TriMeshT.hh.

template<class Kernel>
typedef PolyMesh::ConstFaceIter OpenMesh::TriMeshT< Kernel >::ConstFaceIter

Reimplemented from OpenMesh::PolyMeshT< Kernel >.

Definition at line 136 of file TriMeshT.hh.

template<class Kernel>
typedef PolyMesh::ConstFaceVertexIter OpenMesh::TriMeshT< Kernel >::ConstFaceVertexIter

Reimplemented from OpenMesh::PolyMeshT< Kernel >.

Definition at line 156 of file TriMeshT.hh.

template<class Kernel>
typedef PolyMesh::ConstVertexEdgeIter OpenMesh::TriMeshT< Kernel >::ConstVertexEdgeIter

Reimplemented from OpenMesh::PolyMeshT< Kernel >.

Definition at line 154 of file TriMeshT.hh.

template<class Kernel>
typedef PolyMesh::ConstVertexFaceIter OpenMesh::TriMeshT< Kernel >::ConstVertexFaceIter

Reimplemented from OpenMesh::PolyMeshT< Kernel >.

Definition at line 155 of file TriMeshT.hh.

Reimplemented from OpenMesh::PolyMeshT< Kernel >.

Definition at line 153 of file TriMeshT.hh.

template<class Kernel>
typedef PolyMesh::ConstVertexIter OpenMesh::TriMeshT< Kernel >::ConstVertexIter

Reimplemented from OpenMesh::PolyMeshT< Kernel >.

Definition at line 132 of file TriMeshT.hh.

Reimplemented from OpenMesh::PolyMeshT< Kernel >.

Definition at line 152 of file TriMeshT.hh.

Reimplemented from OpenMesh::PolyMeshT< Kernel >.

Definition at line 151 of file TriMeshT.hh.

template<class Kernel>
typedef PolyMesh::Edge OpenMesh::TriMeshT< Kernel >::Edge

Edge type.

Reimplemented from OpenMesh::PolyMeshT< Kernel >.

Definition at line 117 of file TriMeshT.hh.

template<class Kernel>
typedef PolyMesh::EdgeHandle OpenMesh::TriMeshT< Kernel >::EdgeHandle

Reimplemented from OpenMesh::PolyMeshT< Kernel >.

Definition at line 125 of file TriMeshT.hh.

template<class Kernel>
typedef PolyMesh::EdgeIter OpenMesh::TriMeshT< Kernel >::EdgeIter

Reimplemented from OpenMesh::PolyMeshT< Kernel >.

Definition at line 133 of file TriMeshT.hh.

template<class Kernel>
typedef PolyMesh::Face OpenMesh::TriMeshT< Kernel >::Face

Face type.

Reimplemented from OpenMesh::PolyMeshT< Kernel >.

Definition at line 118 of file TriMeshT.hh.

template<class Kernel>
typedef PolyMesh::FaceEdgeIter OpenMesh::TriMeshT< Kernel >::FaceEdgeIter

Reimplemented from OpenMesh::PolyMeshT< Kernel >.

Definition at line 149 of file TriMeshT.hh.

template<class Kernel>
typedef PolyMesh::FaceFaceIter OpenMesh::TriMeshT< Kernel >::FaceFaceIter

Reimplemented from OpenMesh::PolyMeshT< Kernel >.

Definition at line 150 of file TriMeshT.hh.

template<class Kernel>
typedef PolyMesh::FaceHalfedgeIter OpenMesh::TriMeshT< Kernel >::FaceHalfedgeIter

Reimplemented from OpenMesh::PolyMeshT< Kernel >.

Definition at line 148 of file TriMeshT.hh.

template<class Kernel>
typedef PolyMesh::FaceHandle OpenMesh::TriMeshT< Kernel >::FaceHandle

Reimplemented from OpenMesh::PolyMeshT< Kernel >.

Definition at line 126 of file TriMeshT.hh.

template<class Kernel>
typedef PolyMesh::FaceIter OpenMesh::TriMeshT< Kernel >::FaceIter

Reimplemented from OpenMesh::PolyMeshT< Kernel >.

Definition at line 135 of file TriMeshT.hh.

template<class Kernel>
typedef PolyMesh::FaceVertexIter OpenMesh::TriMeshT< Kernel >::FaceVertexIter

Reimplemented from OpenMesh::PolyMeshT< Kernel >.

Definition at line 147 of file TriMeshT.hh.

template<class Kernel>
typedef PolyMesh::Halfedge OpenMesh::TriMeshT< Kernel >::Halfedge

Halfedge type.

Reimplemented from OpenMesh::PolyMeshT< Kernel >.

Definition at line 116 of file TriMeshT.hh.

template<class Kernel>
typedef PolyMesh::HalfedgeHandle OpenMesh::TriMeshT< Kernel >::HalfedgeHandle

Reimplemented from OpenMesh::PolyMeshT< Kernel >.

Definition at line 124 of file TriMeshT.hh.

template<class Kernel>
typedef PolyMesh::Normal OpenMesh::TriMeshT< Kernel >::Normal

Normal type.

Reimplemented from OpenMesh::PolyMeshT< Kernel >.

Definition at line 110 of file TriMeshT.hh.

template<class Kernel>
typedef PolyMesh::Point OpenMesh::TriMeshT< Kernel >::Point

Coordinate type.

Reimplemented from OpenMesh::PolyMeshT< Kernel >.

Definition at line 109 of file TriMeshT.hh.

template<class Kernel>
typedef PolyMeshT<Kernel> OpenMesh::TriMeshT< Kernel >::PolyMesh

Definition at line 96 of file TriMeshT.hh.

template<class Kernel>
typedef PolyMesh::Scalar OpenMesh::TriMeshT< Kernel >::Scalar

Scalar type.

Reimplemented from OpenMesh::PolyMeshT< Kernel >.

Definition at line 108 of file TriMeshT.hh.

template<class Kernel>
typedef PolyMesh::TexCoord1D OpenMesh::TriMeshT< Kernel >::TexCoord1D

TexCoord1D type.

Reimplemented from OpenMesh::PolyMeshT< Kernel >.

Definition at line 112 of file TriMeshT.hh.

template<class Kernel>
typedef PolyMesh::TexCoord2D OpenMesh::TriMeshT< Kernel >::TexCoord2D

TexCoord2D type.

Reimplemented from OpenMesh::PolyMeshT< Kernel >.

Definition at line 113 of file TriMeshT.hh.

template<class Kernel>
typedef PolyMesh::TexCoord3D OpenMesh::TriMeshT< Kernel >::TexCoord3D

TexCoord3D type.

Reimplemented from OpenMesh::PolyMeshT< Kernel >.

Definition at line 114 of file TriMeshT.hh.

template<class Kernel>
typedef TriMeshT<Kernel> OpenMesh::TriMeshT< Kernel >::This

Self type. Used to specify iterators/circulators.

Reimplemented from OpenMesh::PolyMeshT< Kernel >.

Definition at line 95 of file TriMeshT.hh.

template<class Kernel>
typedef PolyMesh::Vertex OpenMesh::TriMeshT< Kernel >::Vertex

Vertex type.

Reimplemented from OpenMesh::PolyMeshT< Kernel >.

Definition at line 115 of file TriMeshT.hh.

template<class Kernel>
typedef PolyMesh::VertexEdgeIter OpenMesh::TriMeshT< Kernel >::VertexEdgeIter

Reimplemented from OpenMesh::PolyMeshT< Kernel >.

Definition at line 145 of file TriMeshT.hh.

template<class Kernel>
typedef PolyMesh::VertexFaceIter OpenMesh::TriMeshT< Kernel >::VertexFaceIter

Reimplemented from OpenMesh::PolyMeshT< Kernel >.

Definition at line 146 of file TriMeshT.hh.

template<class Kernel>
typedef PolyMesh::VertexHandle OpenMesh::TriMeshT< Kernel >::VertexHandle

Handle for referencing the corresponding item.

Reimplemented from OpenMesh::PolyMeshT< Kernel >.

Definition at line 123 of file TriMeshT.hh.

template<class Kernel>
typedef PolyMesh::VertexIHalfedgeIter OpenMesh::TriMeshT< Kernel >::VertexIHalfedgeIter

Reimplemented from OpenMesh::PolyMeshT< Kernel >.

Definition at line 144 of file TriMeshT.hh.

template<class Kernel>
typedef PolyMesh::VertexIter OpenMesh::TriMeshT< Kernel >::VertexIter

Reimplemented from OpenMesh::PolyMeshT< Kernel >.

Definition at line 131 of file TriMeshT.hh.

template<class Kernel>
typedef PolyMesh::VertexOHalfedgeIter OpenMesh::TriMeshT< Kernel >::VertexOHalfedgeIter

Reimplemented from OpenMesh::PolyMeshT< Kernel >.

Definition at line 143 of file TriMeshT.hh.

template<class Kernel>
typedef PolyMesh::VertexVertexIter OpenMesh::TriMeshT< Kernel >::VertexVertexIter

Circulator.

Reimplemented from OpenMesh::PolyMeshT< Kernel >.

Definition at line 142 of file TriMeshT.hh.


Member Enumeration Documentation

template<class Kernel>
anonymous enum

Determine whether this is a PolyMeshT or TriMeshT ( This function does not check the per face vertex count! It only checks if the datatype is PolyMeshT or TriMeshT ).

Enumerator:
IsPolyMesh 

Definition at line 100 of file TriMeshT.hh.

template<class Kernel>
anonymous enum
Enumerator:
IsTriMesh 

Definition at line 101 of file TriMeshT.hh.


Constructor & Destructor Documentation

template<class Kernel>
OpenMesh::TriMeshT< Kernel >::TriMeshT (  )  [inline]

Default constructor.

Definition at line 164 of file TriMeshT.hh.

template<class Kernel>
virtual OpenMesh::TriMeshT< Kernel >::~TriMeshT (  )  [inline, virtual]

Destructor.

Definition at line 166 of file TriMeshT.hh.


Member Function Documentation

template<class Kernel >
TriMeshT< Kernel >::Normal OpenMesh::TriMeshT< Kernel >::calc_face_normal ( FaceHandle  _fh  )  const [inline, virtual]

Calculate normal vector for face _fh (specialized for TriMesh).

Reimplemented from OpenMesh::PolyMeshT< Kernel >.

Definition at line 72 of file TriMeshT.cc.

template<class Kernel>
static bool OpenMesh::TriMeshT< Kernel >::is_polymesh (  )  [inline, static]

Reimplemented from OpenMesh::PolyMeshT< Kernel >.

Definition at line 102 of file TriMeshT.hh.

template<class Kernel>
static bool OpenMesh::TriMeshT< Kernel >::is_trimesh (  )  [inline, static]

Reimplemented from OpenMesh::PolyMeshT< Kernel >.

Definition at line 103 of file TriMeshT.hh.

template<class Kernel>
void OpenMesh::TriMeshT< Kernel >::split ( FaceHandle  _fh,
VertexHandle  _vh 
) [inline]

Reimplemented from OpenMesh::PolyMeshT< Kernel >.

Definition at line 190 of file TriMeshT.hh.

template<class Kernel>
void OpenMesh::TriMeshT< Kernel >::split ( FaceHandle  _fh,
const Point _p 
) [inline]

Face split (= 1-to-3 split, calls corresponding PolyMeshT function).

Reimplemented from OpenMesh::PolyMeshT< Kernel >.

Definition at line 187 of file TriMeshT.hh.

template<class Kernel>
void OpenMesh::TriMeshT< Kernel >::split ( EdgeHandle  _eh,
VertexHandle  _vh 
) [inline]

Reimplemented from OpenMesh::PolyMeshT< Kernel >.

Definition at line 183 of file TriMeshT.hh.

template<class Kernel>
void OpenMesh::TriMeshT< Kernel >::split ( EdgeHandle  _eh,
const Point _p 
) [inline]

Edge split (= 2-to-4 split).

Reimplemented from OpenMesh::PolyMeshT< Kernel >.

Definition at line 180 of file TriMeshT.hh.

template<class Kernel>
HalfedgeHandle OpenMesh::TriMeshT< Kernel >::vertex_split ( VertexHandle  _v0,
VertexHandle  _v1,
VertexHandle  _vl,
VertexHandle  _vr 
) [inline]

Definition at line 175 of file TriMeshT.hh.

template<class Kernel>
HalfedgeHandle OpenMesh::TriMeshT< Kernel >::vertex_split ( Point  _v0_point,
VertexHandle  _v1,
VertexHandle  _vl,
VertexHandle  _vr 
) [inline]

Vertex Split: inverse operation to collapse().

Definition at line 171 of file TriMeshT.hh.


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


openmesh
Author(s): Benjamin Pitzer
autogenerated on Fri Jan 11 12:11:17 2013