OpenMesh

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

- Class List
- Class Hierarchy
- Class Members

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Types | Public Member Functions | List of all members
OpenMesh::Subdivider::Uniform::SubdividerT< MeshType, RealType > Class Template Reference

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

`#include <OpenMesh/Tools/Subdivider/Uniform/SubdividerT.hh>`

Inheritance diagram for OpenMesh::Subdivider::Uniform::SubdividerT< MeshType, RealType >:
[legend]
Collaboration diagram for OpenMesh::Subdivider::Uniform::SubdividerT< MeshType, RealType >:
[legend]

## Public Types
typedef MeshType | mesh_t
typedef RealType | real_t

## Public Member Functions
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, const bool _update_points=true)
| Subdivide the mesh `_m` `_n` times.
Interface 2
bool | attach (MeshType &_m)
| Attach mesh `_m` to self.
bool | operator() (size_t _n, const bool _update_points=true)
| 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, const bool _update_points=true)=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 to be used with interface 2.

See Also
  attach(), operator()(size_t), detach()

template<typename MeshType , typename RealType = float>

OpenMesh::Subdivider::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 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() | ( | MeshType & | _m,
|  | size_t | _n,
|  | const bool | _update_points = `true`
| ) |  |
| inline

Subdivide the mesh `_m` `_n` times.

See Also
  SubdividerT(MeshType&)

template<typename MeshType , typename RealType = float>

bool OpenMesh::Subdivider::Uniform::SubdividerT< MeshType, RealType >::operator() | ( | size_t | _n,
|  | const bool | _update_points = `true`
| ) |  |
| inline

Subdivide the attached `_n` times.

See Also
  SubdividerT(), attach(), detach()

The documentation for this class was generated from the following file:

- OpenMesh/Tools/Subdivider/Uniform/SubdividerT.hh