OpenMesh: OpenMesh::Subdivider::Uniform::ModifiedButterflyT< MeshType, RealType > Class Template Reference

| OpenMesh

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

Modified Butterfly subdivision algorithm. More...

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

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

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

## Public Member Functions
| ModifiedButterflyT (mesh_t &_m)
const char * | name () const override
| Return name of subdivision algorithm.
void | init_weights (size_t _max_valence=30)
| Pre-compute weights.
Public Member Functions inherited from OpenMesh::Subdivider::Uniform::SubdividerT< MeshType, RealType >
| SubdividerT (void)
| Constructor to be used with interface 2. More...
| SubdividerT (MeshType &_m)
| Constructor to be used with interface 1 (calls attach()) More...
virtual | ~SubdividerT ()
| Destructor (calls detach())
bool | operator() (MeshType &_m, size_t _n, const bool _update_points=true)
| Subdivide the mesh `_m` `_n` times. More...
bool | attach (MeshType &_m)
| Attach mesh `_m` to self. More...
bool | operator() (size_t _n, const bool _update_points=true)
| Subdivide the attached `_n` times. More...
void | detach (void)
| Detach an eventually attached mesh. More...

## Protected Member Functions
bool | prepare (mesh_t &_m) override
| Prepare mesh, e.g. add properties.
bool | cleanup (mesh_t &_m) override
| Cleanup mesh after usage, e.g. remove added properties.
bool | subdivide (MeshType &_m, size_t _n, const bool _update_points=true) override
| Subdivide mesh `_m` `_n` times. More...
Protected Member Functions inherited from OpenMesh::Subdivider::Uniform::SubdividerT< MeshType, RealType >

## Detailed Description

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

Modified Butterfly subdivision algorithm.

Implementation of the modified butterfly scheme of Denis Zorin, Peter Schröder and Wim Sweldens, `‘Interpolating subdivision for meshes with arbitrary topology,’' in Proceedings of SIGGRAPH 1996, ACM SIGGRAPH, 1996, pp. 189-192.

Clement Courbet - cleme.nosp@m.nt.c.nosp@m.ourbe.nosp@m.t@ec.nosp@m.p.fr

## Member Function Documentation

## ◆ subdivide()

template<typename MeshType , typename RealType = double>

bool OpenMesh::Subdivider::Uniform::ModifiedButterflyT< MeshType, RealType >::subdivide | ( | MeshType & | _m,
|  | size_t | _n,
|  | const bool | _update_points = `true`
| ) |  |
| inlineoverrideprotectedvirtual

Subdivide mesh `_m` `_n` times.

TODO:Implement fixed positions

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

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

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