|
Developer Documentation
|
#include <libs_required/OpenMesh/src/OpenMesh/Tools/Subdivider/Uniform/LoopT.hh>
Classes | |
| struct | compute_weight |
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) | |
| 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 | 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 | |
Private Attributes | |
|
OpenMesh::VPropHandleT < typename mesh_t::Point > | vp_pos_ |
|
OpenMesh::EPropHandleT < typename mesh_t::Point > | ep_pos_ |
| weights_t | weights_ |
| const real_t | _1over8 |
| const real_t | _3over8 |
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 >.