OpenMesh
|
Uniform Loop subdivision algorithm. More...
#include <OpenMesh/Tools/Subdivider/Uniform/LoopT.hh>
Public Types | |
typedef RealType | real_t |
typedef MeshType | mesh_t |
typedef SubdividerT< mesh_t, real_t > | parent_t |
typedef std::pair< real_t, real_t > | weight_t |
typedef std::vector< std::pair< real_t, real_t > > | weights_t |
Public Types inherited from OpenMesh::Subdivider::Uniform::SubdividerT< MeshType, RealType > | |
typedef MeshType | mesh_t |
typedef RealType | real_t |
Public Member Functions | |
LoopT (mesh_t &_m) | |
const char * | name () const |
Return name of subdivision algorithm. | |
void | init_weights (size_t _max_valence=50) |
Pre-compute weights. | |
Public Member Functions inherited from OpenMesh::Subdivider::Uniform::SubdividerT< MeshType, RealType > | |
virtual | ~SubdividerT () |
Descructor (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 | cleanup (mesh_t &_m) |
Cleanup mesh after usage, e.g. remove added properties. | |
bool | subdivide (mesh_t &_m, size_t _n, const bool _update_points=true) |
Subdivide mesh _m _n times. More... | |
Overload theses methods |
Uniform Loop subdivision algorithm.
Implementation as described in
C. T. Loop, "Smooth Subdivision Surfaces Based on Triangles", M.S. Thesis, Department of Mathematics, University of Utah, August 1987.
|
inlineprotectedvirtual |
Subdivide mesh _m
_n
times.
TODO:Implement fixed positions
Implements OpenMesh::Subdivider::Uniform::SubdividerT< MeshType, RealType >.