Developer Documentation

Public Types | Public Member Functions | Protected Member Functions | List of all members
OpenMesh::Subdivider::Uniform::MidpointT< MeshType, RealType > Class Template Reference

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

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

## Public Types
typedef RealType | real_t
typedef MeshType | mesh_t
typedef SubdividerT< MeshType, RealType > | parent_t
Public Types inherited from OpenMesh::Subdivider::Uniform::SubdividerT< MeshType, RealType >
typedef MeshType | mesh_t
typedef RealType | real_t

## Public Member Functions
| MidpointT (mesh_t &_m)
const char * | name () const
| Return name of subdivision algorithm.
Public Member Functions inherited from OpenMesh::Subdivider::Uniform::SubdividerT< MeshType, RealType >
virtual | ~SubdividerT ()
| Destructor (calls detach())
| SubdividerT (void)
| SubdividerT (MeshType &_m)
bool | operator() (MeshType &_m, size_t _n, const bool _update_points=true)
bool | attach (MeshType &_m)
bool | operator() (size_t _n, const bool _update_points=true)
void | detach (void)

## Protected Member Functions
bool | prepare (mesh_t &_m)
| Prepare mesh, e.g. add properties.
bool | subdivide (mesh_t &_m, size_t _n, const bool _update_points=true)
bool | cleanup (mesh_t &_m)
| Cleanup mesh after usage, e.g. remove added properties.
Overload theses methods

## Detailed Description

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

Midpoint subdivision algorithm.

With every step, the set of vertices is replaced by the midpoints of all current edges. Then, two sets of faces are created to set up the new connectivity: From all midpoints of edges surrounding an original face, a new face is created. Also, for all midpoints of edges surrounding an original vertex, a new face is created.

Note
  This algorithm ignores the _update_points option.
  This algorithm is best suited for closed meshes since boundaries tend to fragment into isolated faces after a few iterations.

Definition at line 27 of file MidpointT.hh.

## Member Function Documentation

## ◆ subdivide()

template<typename MeshType , typename RealType = double>

bool OpenMesh::Subdivider::Uniform::MidpointT< MeshType, RealType >::subdivide | ( | mesh_t & | _m,
|  | size_t | _n,
|  | const bool | _update_points = `true`
| ) |  |
| inline protected virtual

Performs one step of Midpoint subdivision.

Note
  The _update_points option is ignored

Implements OpenMesh::Subdivider::Uniform::SubdividerT< MeshType, RealType >.

Definition at line 48 of file MidpointT.hh.

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

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