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

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

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

#include <SubdividerT.hh>

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

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

Public Methods

virtual ~SubdividerT ()
 Descructor (calls detach()).

virtual const char * name (void) const=0
 Return name of subdivision algorithm.

Constructors
 SubdividerT (void)
 Constructor to be used with interface 2.

 SubdividerT (MeshType &_m)
 Constructor to be used with interface 1 (calls attach()).

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 Methods

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 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>
Uniform::SubdividerT< MeshType, RealType >::SubdividerT void    [inline]
 

Constructor to be used with interface 2.

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

template<typename MeshType, typename RealType = float>
Uniform::SubdividerT< MeshType, RealType >::SubdividerT MeshType &    _m [inline]
 

Constructor to be used with interface 1 (calls attach()).

See also:
operator()(MeshType &, size_t)


Member Function Documentation

template<typename MeshType, typename RealType = float>
bool 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 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 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 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 .