- Main Page
- Modules
- Namespaces
- Classes
- Files
- Related Pages

- Class List
- Class Hierarchy
- Class Members

# 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 >:

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:

- Tools/Subdivider/Uniform/SubdividerT.hh