OpenMesh::Subdivider::Uniform::SubdividerT< MeshType, RealType > Class Template Reference

Abstract base class for uniform subdivision algorithms. More...

#include <SubdividerT.hh>

Inheritance diagram for OpenMesh::Subdivider::Uniform::SubdividerT< MeshType, RealType >:

OpenMesh::Utils::Noncopyable OpenMesh::Subdivider::Uniform::CompositeT< MeshType, RealType > OpenMesh::Subdivider::Uniform::LoopT< MeshType, RealType > OpenMesh::Subdivider::Uniform::Sqrt3T< MeshType, RealType > OpenMesh::Subdivider::Uniform::CompositeLoopT< MeshType, RealType > OpenMesh::Subdivider::Uniform::CompositeSqrt3T< MeshType, RealType > List of all members.

Public Member Functions

 SubdividerT (void)
 Constructor.
virtual ~SubdividerT ()
 Descructor (calls detach()).
virtual const char * name (void) const=0
 Return name of subdivision algorithm.
Interface 1
bool operator() (MeshType &_m, size_t _n)
 Subdivide the mesh _m _n times.
Interface 2
bool attach (MeshType &_m)
 Attach mesh _m to self.
bool operator() (size_t _n)
 Subdivide the attached _n times.
void detach (void)
 Detach an eventually attached mesh.

Protected Member Functions

Overload theses methods
virtual bool prepare (MeshType &_m)=0
 Prepare mesh, e.g. add properties.
virtual bool subdivide (MeshType &_m, size_t _n)=0
 Subdivide mesh _m _n times.
virtual bool cleanup (MeshType &_m)=0
 Cleanup mesh after usage, e.g. remove added properties.

Detailed Description

template<typename MeshType, typename RealType = float>
class OpenMesh::Subdivider::Uniform::SubdividerT< MeshType, RealType >

Abstract base class for uniform subdivision algorithms.

A derived class must overload the following functions:

  1. name()
  2. prepare()
  3. subdivide()
  4. cleanup()


Constructor & Destructor Documentation

template<typename MeshType, typename RealType = float>
OpenMesh::Subdivider::Uniform::SubdividerT< MeshType, RealType >::SubdividerT ( void   )  [inline]

Constructor.

Need to call attach()

See also:
attach(), operator()(size_t), detach()


Member Function Documentation

template<typename MeshType, typename RealType = float>
bool OpenMesh::Subdivider::Uniform::SubdividerT< MeshType, RealType >::operator() ( MeshType &  _m,
size_t  _n 
) [inline]

Subdivide the mesh _m _n times.

See also:
SubdividerT(MeshType&)

template<typename MeshType, typename RealType = float>
bool OpenMesh::Subdivider::Uniform::SubdividerT< MeshType, RealType >::attach ( MeshType &  _m  )  [inline]

Attach mesh _m to self.

See also:
SubdividerT(), operator()(size_t), detach()

template<typename MeshType, typename RealType = float>
bool OpenMesh::Subdivider::Uniform::SubdividerT< MeshType, RealType >::operator() ( size_t  _n  )  [inline]

Subdivide the attached _n times.

See also:
SubdividerT(), attach(), detach()

template<typename MeshType, typename RealType = float>
void OpenMesh::Subdivider::Uniform::SubdividerT< MeshType, RealType >::detach ( void   )  [inline]

Detach an eventually attached mesh.

See also:
SubdividerT(), attach(), operator()(size_t)


The documentation for this class was generated from the following file:
acg pic Project OpenMesh, ©  Computer Graphics Group, RWTH Aachen. Documentation generated using doxygen .