OpenMesh
|
Midpoint subdivision algorithm. More...
#include <OpenMesh/Tools/Subdivider/Uniform/MidpointT.hh>
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) | |
Constructor to be used with interface 2. More... | |
SubdividerT (MeshType &_m) | |
Constructor to be used with interface 1 (calls attach()) More... | |
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) |
Prepare mesh, e.g. add properties. | |
bool | subdivide (mesh_t &_m, size_t _n, const bool _update_points=true) |
Performs one step of Midpoint subdivision. More... | |
bool | cleanup (mesh_t &_m) |
Cleanup mesh after usage, e.g. remove added properties. | |
Overload theses methods |
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.
|
inlineprotectedvirtual |
Performs one step of Midpoint subdivision.
Implements OpenMesh::Subdivider::Uniform::SubdividerT< MeshType, RealType >.