OpenMesh::PolyMeshT< Kernel > Class Template Reference

#include <OpenMesh/Mesh/PolyMeshT.hh>

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

List of all members.

Public Types

typedef Kernel::ConstEdgeIter ConstEdgeIter
typedef Kernel::ConstFaceIter ConstFaceIter
typedef Kernel::ConstHalfedgeIter ConstHalfedgeIter
typedef Kernel::ConstVertexIter ConstVertexIter
typedef Kernel::EdgeHandle EdgeHandle
typedef Kernel::EdgeIter EdgeIter
typedef Kernel::FaceHandle FaceHandle
typedef Kernel::FaceIter FaceIter
typedef Kernel::HalfedgeHandle HalfedgeHandle
typedef Kernel::HalfedgeIter HalfedgeIter
typedef PolyMeshT< Kernel > This
 Self type. Used to specify iterators/circulators.
typedef Kernel::VertexHandle VertexHandle
 Handle for referencing the corresponding item.
typedef Kernel::VertexIter VertexIter
Mesh Items

typedef Kernel::Color Color
 Color type.
typedef Kernel::Edge Edge
 Edge type.
typedef Kernel::Face Face
 Face type.
typedef Kernel::Halfedge Halfedge
 Halfedge type.
typedef Kernel::Normal Normal
 Normal type.
typedef Kernel::Point Point
 Coordinate type.
typedef Kernel::Scalar Scalar
 Scalar type.
typedef Kernel::TexCoord1D TexCoord1D
 TexCoord1D type.
typedef Kernel::TexCoord2D TexCoord2D
 TexCoord2D type.
typedef Kernel::TexCoord3D TexCoord3D
 TexCoord3D type.
typedef Kernel::Vertex Vertex
 Vertex type.
Mesh Circulators

Refer to OpenMesh::Mesh::Iterators or mesh_iterators for documentation.

typedef Kernel::ConstFaceEdgeIter ConstFaceEdgeIter
typedef Kernel::ConstFaceFaceIter ConstFaceFaceIter
typedef
Kernel::ConstFaceHalfedgeIter 
ConstFaceHalfedgeIter
typedef Kernel::ConstFaceVertexIter ConstFaceVertexIter
typedef Kernel::ConstVertexEdgeIter ConstVertexEdgeIter
typedef Kernel::ConstVertexFaceIter ConstVertexFaceIter
typedef
Kernel::ConstVertexIHalfedgeIter 
ConstVertexIHalfedgeIter
typedef
Kernel::ConstVertexOHalfedgeIter 
ConstVertexOHalfedgeIter
typedef
Kernel::ConstVertexVertexIter 
ConstVertexVertexIter
typedef Kernel::FaceEdgeIter FaceEdgeIter
typedef Kernel::FaceFaceIter FaceFaceIter
typedef Kernel::FaceHalfedgeIter FaceHalfedgeIter
typedef Kernel::FaceVertexIter FaceVertexIter
typedef Kernel::VertexEdgeIter VertexEdgeIter
typedef Kernel::VertexFaceIter VertexFaceIter
typedef Kernel::VertexIHalfedgeIter VertexIHalfedgeIter
typedef Kernel::VertexOHalfedgeIter VertexOHalfedgeIter
typedef Kernel::VertexVertexIter VertexVertexIter
 Circulator.

Public Member Functions

VertexHandle add_vertex (const Point &_p)
Scalar calc_dihedral_angle (EdgeHandle _eh) const
Scalar calc_dihedral_angle (HalfedgeHandle _heh) const
Scalar calc_dihedral_angle_fast (EdgeHandle _eh) const
Scalar calc_dihedral_angle_fast (HalfedgeHandle _heh) const
Scalar calc_edge_length (HalfedgeHandle _heh) const
Scalar calc_edge_length (EdgeHandle _eh) const
Scalar calc_edge_sqr_length (HalfedgeHandle _heh) const
Scalar calc_edge_sqr_length (EdgeHandle _eh) const
void calc_edge_vector (HalfedgeHandle _heh, Normal &_edge_vec) const
void calc_edge_vector (EdgeHandle _eh, Normal &_edge_vec) const
Scalar calc_sector_angle (HalfedgeHandle _in_heh) const
Scalar calc_sector_area (HalfedgeHandle _in_heh) const
void calc_sector_normal (HalfedgeHandle _in_heh, Normal &_sector_normal) const
void calc_sector_vectors (HalfedgeHandle _in_heh, Normal &_vec0, Normal &_vec1) const
uint find_feature_edges (Scalar _angle_tresh=OpenMesh::deg_to_rad(44.0))
VertexHandle new_vertex (const Point &_p)
VertexHandle new_vertex ()
 PolyMeshT ()
void split (EdgeHandle _eh, VertexHandle _vh)
void split (EdgeHandle _eh, const Point &_p)
void split (FaceHandle _fh, VertexHandle _vh)
void split (FaceHandle _fh, const Point &_p)
 Face split (= 1-to-n split).
virtual ~PolyMeshT ()
Normal vector computation

void calc_face_centroid (FaceHandle _fh, Point &_pt) const
Normal calc_face_normal (const Point &_p0, const Point &_p1, const Point &_p2) const
virtual Normal calc_face_normal (FaceHandle _fh) const
Normal calc_vertex_normal (VertexHandle _vh) const
void calc_vertex_normal_correct (VertexHandle _vh, Normal &_n) const
void calc_vertex_normal_fast (VertexHandle _vh, Normal &_n) const
void calc_vertex_normal_loop (VertexHandle _vh, Normal &_n) const
void update_face_normals ()
void update_normal (VertexHandle _vh)
 Update normal for vertex _vh.
void update_normal (FaceHandle _fh)
 Update normal for face _fh.
void update_normals ()
void update_vertex_normals ()
 Update normal vectors for all vertices.



enum  { IsPolyMesh = 1 }
 

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 = 0 }
static bool is_polymesh ()
static bool is_trimesh ()

Detailed Description

template<class Kernel>
class OpenMesh::PolyMeshT< Kernel >

Base type for a polygonal mesh.

This is the base class for a polygonal mesh. It is parameterized by a mesh kernel that is given as a template argument. This class inherits all methods from its mesh kernel.

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

Definition at line 87 of file PolyMeshT.hh.


Member Typedef Documentation

template<class Kernel>
typedef Kernel::Color OpenMesh::PolyMeshT< Kernel >::Color

Color type.

Reimplemented in OpenMesh::TriMeshT< Kernel >.

Definition at line 112 of file PolyMeshT.hh.

template<class Kernel>
typedef Kernel::ConstEdgeIter OpenMesh::PolyMeshT< Kernel >::ConstEdgeIter

Reimplemented in OpenMesh::TriMeshT< Kernel >.

Definition at line 146 of file PolyMeshT.hh.

template<class Kernel>
typedef Kernel::ConstFaceEdgeIter OpenMesh::PolyMeshT< Kernel >::ConstFaceEdgeIter

Reimplemented in OpenMesh::TriMeshT< Kernel >.

Definition at line 175 of file PolyMeshT.hh.

template<class Kernel>
typedef Kernel::ConstFaceFaceIter OpenMesh::PolyMeshT< Kernel >::ConstFaceFaceIter

Reimplemented in OpenMesh::TriMeshT< Kernel >.

Definition at line 176 of file PolyMeshT.hh.

template<class Kernel>
typedef Kernel::ConstFaceHalfedgeIter OpenMesh::PolyMeshT< Kernel >::ConstFaceHalfedgeIter

Reimplemented in OpenMesh::TriMeshT< Kernel >.

Definition at line 174 of file PolyMeshT.hh.

template<class Kernel>
typedef Kernel::ConstFaceIter OpenMesh::PolyMeshT< Kernel >::ConstFaceIter

Reimplemented in OpenMesh::TriMeshT< Kernel >.

Definition at line 147 of file PolyMeshT.hh.

template<class Kernel>
typedef Kernel::ConstFaceVertexIter OpenMesh::PolyMeshT< Kernel >::ConstFaceVertexIter

Reimplemented in OpenMesh::TriMeshT< Kernel >.

Definition at line 173 of file PolyMeshT.hh.

template<class Kernel>
typedef Kernel::ConstHalfedgeIter OpenMesh::PolyMeshT< Kernel >::ConstHalfedgeIter

Definition at line 145 of file PolyMeshT.hh.

template<class Kernel>
typedef Kernel::ConstVertexEdgeIter OpenMesh::PolyMeshT< Kernel >::ConstVertexEdgeIter

Reimplemented in OpenMesh::TriMeshT< Kernel >.

Definition at line 171 of file PolyMeshT.hh.

template<class Kernel>
typedef Kernel::ConstVertexFaceIter OpenMesh::PolyMeshT< Kernel >::ConstVertexFaceIter

Reimplemented in OpenMesh::TriMeshT< Kernel >.

Definition at line 172 of file PolyMeshT.hh.

template<class Kernel>
typedef Kernel::ConstVertexIHalfedgeIter OpenMesh::PolyMeshT< Kernel >::ConstVertexIHalfedgeIter

Reimplemented in OpenMesh::TriMeshT< Kernel >.

Definition at line 170 of file PolyMeshT.hh.

template<class Kernel>
typedef Kernel::ConstVertexIter OpenMesh::PolyMeshT< Kernel >::ConstVertexIter

Reimplemented in OpenMesh::TriMeshT< Kernel >.

Definition at line 144 of file PolyMeshT.hh.

template<class Kernel>
typedef Kernel::ConstVertexOHalfedgeIter OpenMesh::PolyMeshT< Kernel >::ConstVertexOHalfedgeIter

Reimplemented in OpenMesh::TriMeshT< Kernel >.

Definition at line 169 of file PolyMeshT.hh.

template<class Kernel>
typedef Kernel::ConstVertexVertexIter OpenMesh::PolyMeshT< Kernel >::ConstVertexVertexIter

Reimplemented in OpenMesh::TriMeshT< Kernel >.

Definition at line 168 of file PolyMeshT.hh.

template<class Kernel>
typedef Kernel::Edge OpenMesh::PolyMeshT< Kernel >::Edge

Edge type.

Reimplemented in OpenMesh::TriMeshT< Kernel >.

Definition at line 124 of file PolyMeshT.hh.

template<class Kernel>
typedef Kernel::EdgeHandle OpenMesh::PolyMeshT< Kernel >::EdgeHandle

Reimplemented in OpenMesh::TriMeshT< Kernel >.

Definition at line 134 of file PolyMeshT.hh.

template<class Kernel>
typedef Kernel::EdgeIter OpenMesh::PolyMeshT< Kernel >::EdgeIter

Reimplemented in OpenMesh::TriMeshT< Kernel >.

Definition at line 141 of file PolyMeshT.hh.

template<class Kernel>
typedef Kernel::Face OpenMesh::PolyMeshT< Kernel >::Face

Face type.

Reimplemented in OpenMesh::TriMeshT< Kernel >.

Definition at line 126 of file PolyMeshT.hh.

template<class Kernel>
typedef Kernel::FaceEdgeIter OpenMesh::PolyMeshT< Kernel >::FaceEdgeIter

Reimplemented in OpenMesh::TriMeshT< Kernel >.

Definition at line 165 of file PolyMeshT.hh.

template<class Kernel>
typedef Kernel::FaceFaceIter OpenMesh::PolyMeshT< Kernel >::FaceFaceIter

Reimplemented in OpenMesh::TriMeshT< Kernel >.

Definition at line 166 of file PolyMeshT.hh.

template<class Kernel>
typedef Kernel::FaceHalfedgeIter OpenMesh::PolyMeshT< Kernel >::FaceHalfedgeIter

Reimplemented in OpenMesh::TriMeshT< Kernel >.

Definition at line 164 of file PolyMeshT.hh.

template<class Kernel>
typedef Kernel::FaceHandle OpenMesh::PolyMeshT< Kernel >::FaceHandle

Reimplemented in OpenMesh::TriMeshT< Kernel >.

Definition at line 135 of file PolyMeshT.hh.

template<class Kernel>
typedef Kernel::FaceIter OpenMesh::PolyMeshT< Kernel >::FaceIter

Reimplemented in OpenMesh::TriMeshT< Kernel >.

Definition at line 142 of file PolyMeshT.hh.

template<class Kernel>
typedef Kernel::FaceVertexIter OpenMesh::PolyMeshT< Kernel >::FaceVertexIter

Reimplemented in OpenMesh::TriMeshT< Kernel >.

Definition at line 163 of file PolyMeshT.hh.

template<class Kernel>
typedef Kernel::Halfedge OpenMesh::PolyMeshT< Kernel >::Halfedge

Halfedge type.

Reimplemented in OpenMesh::TriMeshT< Kernel >.

Definition at line 122 of file PolyMeshT.hh.

template<class Kernel>
typedef Kernel::HalfedgeHandle OpenMesh::PolyMeshT< Kernel >::HalfedgeHandle

Reimplemented in OpenMesh::TriMeshT< Kernel >.

Definition at line 133 of file PolyMeshT.hh.

template<class Kernel>
typedef Kernel::HalfedgeIter OpenMesh::PolyMeshT< Kernel >::HalfedgeIter

Definition at line 140 of file PolyMeshT.hh.

template<class Kernel>
typedef Kernel::Normal OpenMesh::PolyMeshT< Kernel >::Normal

Normal type.

Reimplemented in OpenMesh::TriMeshT< Kernel >.

Definition at line 110 of file PolyMeshT.hh.

template<class Kernel>
typedef Kernel::Point OpenMesh::PolyMeshT< Kernel >::Point

Coordinate type.

Reimplemented in OpenMesh::TriMeshT< Kernel >.

Definition at line 108 of file PolyMeshT.hh.

template<class Kernel>
typedef Kernel::Scalar OpenMesh::PolyMeshT< Kernel >::Scalar

Scalar type.

Reimplemented in OpenMesh::TriMeshT< Kernel >.

Definition at line 106 of file PolyMeshT.hh.

template<class Kernel>
typedef Kernel::TexCoord1D OpenMesh::PolyMeshT< Kernel >::TexCoord1D

TexCoord1D type.

Reimplemented in OpenMesh::TriMeshT< Kernel >.

Definition at line 114 of file PolyMeshT.hh.

template<class Kernel>
typedef Kernel::TexCoord2D OpenMesh::PolyMeshT< Kernel >::TexCoord2D

TexCoord2D type.

Reimplemented in OpenMesh::TriMeshT< Kernel >.

Definition at line 116 of file PolyMeshT.hh.

template<class Kernel>
typedef Kernel::TexCoord3D OpenMesh::PolyMeshT< Kernel >::TexCoord3D

TexCoord3D type.

Reimplemented in OpenMesh::TriMeshT< Kernel >.

Definition at line 118 of file PolyMeshT.hh.

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

Self type. Used to specify iterators/circulators.

Reimplemented in OpenMesh::TriMeshT< Kernel >.

Definition at line 92 of file PolyMeshT.hh.

template<class Kernel>
typedef Kernel::Vertex OpenMesh::PolyMeshT< Kernel >::Vertex

Vertex type.

Reimplemented in OpenMesh::TriMeshT< Kernel >.

Definition at line 120 of file PolyMeshT.hh.

template<class Kernel>
typedef Kernel::VertexEdgeIter OpenMesh::PolyMeshT< Kernel >::VertexEdgeIter

Reimplemented in OpenMesh::TriMeshT< Kernel >.

Definition at line 161 of file PolyMeshT.hh.

template<class Kernel>
typedef Kernel::VertexFaceIter OpenMesh::PolyMeshT< Kernel >::VertexFaceIter

Reimplemented in OpenMesh::TriMeshT< Kernel >.

Definition at line 162 of file PolyMeshT.hh.

template<class Kernel>
typedef Kernel::VertexHandle OpenMesh::PolyMeshT< Kernel >::VertexHandle

Handle for referencing the corresponding item.

Reimplemented in OpenMesh::TriMeshT< Kernel >.

Definition at line 132 of file PolyMeshT.hh.

template<class Kernel>
typedef Kernel::VertexIHalfedgeIter OpenMesh::PolyMeshT< Kernel >::VertexIHalfedgeIter

Reimplemented in OpenMesh::TriMeshT< Kernel >.

Definition at line 160 of file PolyMeshT.hh.

template<class Kernel>
typedef Kernel::VertexIter OpenMesh::PolyMeshT< Kernel >::VertexIter

Reimplemented in OpenMesh::TriMeshT< Kernel >.

Definition at line 139 of file PolyMeshT.hh.

template<class Kernel>
typedef Kernel::VertexOHalfedgeIter OpenMesh::PolyMeshT< Kernel >::VertexOHalfedgeIter

Reimplemented in OpenMesh::TriMeshT< Kernel >.

Definition at line 159 of file PolyMeshT.hh.

template<class Kernel>
typedef Kernel::VertexVertexIter OpenMesh::PolyMeshT< Kernel >::VertexVertexIter

Circulator.

Reimplemented in OpenMesh::TriMeshT< Kernel >.

Definition at line 158 of file PolyMeshT.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 97 of file PolyMeshT.hh.

template<class Kernel>
anonymous enum
Enumerator:
IsTriMesh 

Definition at line 98 of file PolyMeshT.hh.


Constructor & Destructor Documentation

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

Definition at line 181 of file PolyMeshT.hh.

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

Definition at line 182 of file PolyMeshT.hh.


Member Function Documentation

template<class Kernel>
VertexHandle OpenMesh::PolyMeshT< Kernel >::add_vertex ( const Point _p  )  [inline]

Definition at line 199 of file PolyMeshT.hh.

template<class Kernel>
Scalar OpenMesh::PolyMeshT< Kernel >::calc_dihedral_angle ( EdgeHandle  _eh  )  const [inline]

Definition at line 417 of file PolyMeshT.hh.

template<class Kernel>
Scalar OpenMesh::PolyMeshT< Kernel >::calc_dihedral_angle ( HalfedgeHandle  _heh  )  const [inline]

Definition at line 395 of file PolyMeshT.hh.

template<class Kernel>
Scalar OpenMesh::PolyMeshT< Kernel >::calc_dihedral_angle_fast ( EdgeHandle  _eh  )  const [inline]

calculates the dihedral angle on the edge _eh

Attention:
Needs the Attributes::Normal attribute for faces

Definition at line 391 of file PolyMeshT.hh.

template<class Kernel>
Scalar OpenMesh::PolyMeshT< Kernel >::calc_dihedral_angle_fast ( HalfedgeHandle  _heh  )  const [inline]

calculates the dihedral angle on the halfedge _heh

Attention:
Needs the Attributes::Normal attribute for faces

Definition at line 370 of file PolyMeshT.hh.

template<class Kernel>
Scalar OpenMesh::PolyMeshT< Kernel >::calc_edge_length ( HalfedgeHandle  _heh  )  const [inline]

Calculates the length of the edge _heh

Definition at line 278 of file PolyMeshT.hh.

template<class Kernel>
Scalar OpenMesh::PolyMeshT< Kernel >::calc_edge_length ( EdgeHandle  _eh  )  const [inline]

Definition at line 273 of file PolyMeshT.hh.

template<class Kernel>
Scalar OpenMesh::PolyMeshT< Kernel >::calc_edge_sqr_length ( HalfedgeHandle  _heh  )  const [inline]

Definition at line 284 of file PolyMeshT.hh.

template<class Kernel>
Scalar OpenMesh::PolyMeshT< Kernel >::calc_edge_sqr_length ( EdgeHandle  _eh  )  const [inline]

Definition at line 281 of file PolyMeshT.hh.

template<class Kernel>
void OpenMesh::PolyMeshT< Kernel >::calc_edge_vector ( HalfedgeHandle  _heh,
Normal _edge_vec 
) const [inline]

Calculates the edge vector as the difference of the the points defined by to_vertex_handle() and from_vertex_handle()

Definition at line 266 of file PolyMeshT.hh.

template<class Kernel>
void OpenMesh::PolyMeshT< Kernel >::calc_edge_vector ( EdgeHandle  _eh,
Normal _edge_vec 
) const [inline]

Calculates the edge vector as the vector defined by the halfedge with id #0 (see below)

Definition at line 261 of file PolyMeshT.hh.

template<class Kernel >
void OpenMesh::PolyMeshT< Kernel >::calc_face_centroid ( FaceHandle  _fh,
Point _pt 
) const [inline]

Definition at line 161 of file PolyMeshT.cc.

template<class Kernel >
PolyMeshT< Kernel >::Normal OpenMesh::PolyMeshT< Kernel >::calc_face_normal ( const Point _p0,
const Point _p1,
const Point _p2 
) const [inline]

Calculate normal vector for face (_p0, _p1, _p2).

Definition at line 127 of file PolyMeshT.cc.

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

Calculate normal vector for face _fh.

Reimplemented in OpenMesh::TriMeshT< Kernel >.

Definition at line 86 of file PolyMeshT.cc.

template<class Kernel>
Scalar OpenMesh::PolyMeshT< Kernel >::calc_sector_angle ( HalfedgeHandle  _in_heh  )  const [inline]

calculates the sector angle.
The vertex pointed by _in_heh defines the sector center The angle will be calculated between the given halfedge and the next halfedge.
Seen from the center vertex this will be the next halfedge in clockwise direction.
NOTE: only boundary concave sectors are treated correctly

Definition at line 306 of file PolyMeshT.hh.

template<class Kernel>
Scalar OpenMesh::PolyMeshT< Kernel >::calc_sector_area ( HalfedgeHandle  _in_heh  )  const [inline]

calculates the area of the face sector defined by the angle <(_in_heh,next_halfedge(_in_heh)) NOTE: special cases (e.g. concave sectors) are not handled correctly

Definition at line 361 of file PolyMeshT.hh.

template<class Kernel>
void OpenMesh::PolyMeshT< Kernel >::calc_sector_normal ( HalfedgeHandle  _in_heh,
Normal _sector_normal 
) const [inline]

calculates the normal (non-normalized) of the face sector defined by the angle <(_in_heh,next_halfedge(_in_heh))

Definition at line 351 of file PolyMeshT.hh.

template<class Kernel>
void OpenMesh::PolyMeshT< Kernel >::calc_sector_vectors ( HalfedgeHandle  _in_heh,
Normal _vec0,
Normal _vec1 
) const [inline]

defines a consistent representation of a sector geometry: the halfedge _in_heh defines the sector orientation the vertex pointed by _in_heh defines the sector center _vec0 and _vec1 are resp. the first and the second vectors defining the sector

Definition at line 295 of file PolyMeshT.hh.

template<class Kernel >
PolyMeshT< Kernel >::Normal OpenMesh::PolyMeshT< Kernel >::calc_vertex_normal ( VertexHandle  _vh  )  const [inline]

Calculate normal vector for vertex _vh by averaging normals of adjacent faces. Face normals have to be computed first.

Attention:
Needs the Attributes::Normal attribute for faces.

Definition at line 205 of file PolyMeshT.cc.

template<class Kernel >
void OpenMesh::PolyMeshT< Kernel >::calc_vertex_normal_correct ( VertexHandle  _vh,
Normal _n 
) const [inline]

Definition at line 229 of file PolyMeshT.cc.

template<class Kernel >
void OpenMesh::PolyMeshT< Kernel >::calc_vertex_normal_fast ( VertexHandle  _vh,
Normal _n 
) const [inline]

Different methods for calculation of the normal at _vh:

  • ..._fast - the default one - the same as calc vertex_normal()
  • ..._correct - works properly for non-triangular meshes
    • does not need any attributes
  • ..._loop - calculates loop surface normals
    • does not need any attributes

Definition at line 219 of file PolyMeshT.cc.

template<class Kernel >
void OpenMesh::PolyMeshT< Kernel >::calc_vertex_normal_loop ( VertexHandle  _vh,
Normal _n 
) const [inline]

Definition at line 257 of file PolyMeshT.cc.

template<class Kernel >
uint OpenMesh::PolyMeshT< Kernel >::find_feature_edges ( Scalar  _angle_tresh = OpenMesh::deg_to_rad(44.0)  )  [inline]

tags an edge as a feature if its dihedral angle is larger than _angle_tresh returns the number of the found feature edges, requires edge_status property

Definition at line 62 of file PolyMeshT.cc.

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

Reimplemented in OpenMesh::TriMeshT< Kernel >.

Definition at line 99 of file PolyMeshT.hh.

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

Reimplemented in OpenMesh::TriMeshT< Kernel >.

Definition at line 100 of file PolyMeshT.hh.

template<class Kernel>
VertexHandle OpenMesh::PolyMeshT< Kernel >::new_vertex ( const Point _p  )  [inline]

Definition at line 192 of file PolyMeshT.hh.

template<class Kernel>
VertexHandle OpenMesh::PolyMeshT< Kernel >::new_vertex (  )  [inline]

Uses default copy and assignment operator. Use them to assign two meshes of equal type. If the mesh types vary, use PolyMeshT::assign() instead.

Definition at line 189 of file PolyMeshT.hh.

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

Reimplemented in OpenMesh::TriMeshT< Kernel >.

Definition at line 435 of file PolyMeshT.hh.

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

Reimplemented in OpenMesh::TriMeshT< Kernel >.

Definition at line 432 of file PolyMeshT.hh.

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

Reimplemented in OpenMesh::TriMeshT< Kernel >.

Definition at line 429 of file PolyMeshT.hh.

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

Face split (= 1-to-n split).

Reimplemented in OpenMesh::TriMeshT< Kernel >.

Definition at line 426 of file PolyMeshT.hh.

template<class Kernel >
void OpenMesh::PolyMeshT< Kernel >::update_face_normals (  )  [inline]

Update normal vectors for all faces.

Attention:
Needs the Attributes::Normal attribute for faces.

Definition at line 190 of file PolyMeshT.cc.

template<class Kernel>
void OpenMesh::PolyMeshT< Kernel >::update_normal ( VertexHandle  _vh  )  [inline]

Update normal for vertex _vh.

Definition at line 229 of file PolyMeshT.hh.

template<class Kernel>
void OpenMesh::PolyMeshT< Kernel >::update_normal ( FaceHandle  _fh  )  [inline]

Update normal for face _fh.

Definition at line 213 of file PolyMeshT.hh.

template<class Kernel >
void OpenMesh::PolyMeshT< Kernel >::update_normals (  )  [inline]

Calls update_face_normals() and update_vertex_normals() if these normals (i.e. the properties) exist

Definition at line 177 of file PolyMeshT.cc.

template<class Kernel >
void OpenMesh::PolyMeshT< Kernel >::update_vertex_normals (  )  [inline]

Update normal vectors for all vertices.

Uses existing face normals to calculate new vertex normals.

Attention:
Needs the Attributes::Normal attribute for faces and vertices.

Definition at line 280 of file PolyMeshT.cc.


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:16 2013