Main Page | Modules | Namespace List | Class Hierarchy | Class List | File List | Namespace Members | Class Members | File Members | Related Pages

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 >::attach MeshType &  _m  )  [inline]
 

Attach mesh _m to self.

See also:
SubdividerT(), operator()(size_t), 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)

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>
bool OpenMesh::Subdivider::Uniform::SubdividerT< MeshType, RealType >::operator() MeshType &  _m,
size_t  _n
[inline]
 

Subdivide the mesh _m _n times.

See also:
SubdividerT(MeshType&)


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