Developer Documentation

Public Types | Public Member Functions | Private Attributes | List of all members
OpenMesh::Subdivider::Uniform::SubdividerT< MeshType, RealType > Class Template Referenceabstract

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

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

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

## Public Member Functions
virtual | ~SubdividerT ()
| Destructor (calls detach())
virtual const char * | name (void) const =0
| Return name of subdivision algorithm.
Constructors
| SubdividerT (void)
| SubdividerT (MeshType &_m)
Interface 1
bool | operator() (MeshType &_m, size_t _n, const bool _update_points=true)
Interface 2
bool | attach (MeshType &_m)
bool | operator() (size_t _n, const bool _update_points=true)
void | detach (void)

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

## Private Attributes
MeshType * | attached_

## Detailed Description

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

Abstract base class for uniform subdivision algorithms.

A derived class must overload the following functions:

1. const char* name() const
2. void prepare(MeshType&)
3. void subdivide(MeshType&, size_t, bool)
4. void cleanup(MeshType&)

Definition at line 88 of file SubdividerT.hh.

## Constructor & Destructor Documentation

## ◆ SubdividerT() [1/2]

template<typename MeshType , typename RealType = double>

OpenMesh::Subdivider::Uniform::SubdividerT< MeshType, RealType >::SubdividerT | ( | void |  | ) |
| inline

Constructor to be used with interface 2

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

Definition at line 101 of file SubdividerT.hh.

## ◆ SubdividerT() [2/2]

template<typename MeshType , typename RealType = double>

OpenMesh::Subdivider::Uniform::SubdividerT< MeshType, RealType >::SubdividerT | ( | MeshType & | _m | ) |
| inline explicit

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

See also
  operator()( MeshType&, size_t )

Definition at line 105 of file SubdividerT.hh.

## Member Function Documentation

## ◆ attach()

template<typename MeshType , typename RealType = double>

bool OpenMesh::Subdivider::Uniform::SubdividerT< MeshType, RealType >::attach | ( | MeshType & | _m | ) |
| inline

Attach mesh `_m` to self

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

Definition at line 132 of file SubdividerT.hh.

## ◆ detach()

template<typename MeshType , typename RealType = double>

void OpenMesh::Subdivider::Uniform::SubdividerT< MeshType, RealType >::detach | ( | void |  | ) |
| inline

Detach an eventually attached mesh.

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

Definition at line 155 of file SubdividerT.hh.

## ◆ operator()() [1/2]

template<typename MeshType , typename RealType = double>

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&)

Definition at line 122 of file SubdividerT.hh.

## ◆ operator()() [2/2]

template<typename MeshType , typename RealType = double>

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()

Definition at line 148 of file SubdividerT.hh.

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

- OpenFlipper/libs_required/OpenMesh/src/OpenMesh/Tools/Subdivider/Uniform/SubdividerT.hh