#include <ModifiedButterFlyT.hh>

Public Types | |
| typedef MeshType | mesh_t |
| typedef SubdividerT< mesh_t, real_t > | parent_t |
| typedef RealType | real_t |
| typedef std::vector< real_t > | weight_t |
| typedef std::vector < std::vector< real_t > > | weights_t |
Public Member Functions | |
| void | init_weights (size_t _max_valence=20) |
| Pre-compute weights. | |
| ModifiedButterflyT (mesh_t &_m) | |
| ModifiedButterflyT () | |
| const char * | name () const |
| Return name of subdivision algorithm. | |
| ~ModifiedButterflyT () | |
Protected Member Functions | |
| bool | cleanup (mesh_t &_m) |
| Cleanup mesh after usage, e.g. remove added properties. | |
| bool | prepare (mesh_t &_m) |
| Prepare mesh, e.g. add properties. | |
| bool | subdivide (mesh_t &_m, size_t _n) |
Subdivide mesh _m _n times. | |
Private Member Functions | |
| void | compute_midpoint (mesh_t &_m, const typename mesh_t::EdgeHandle &_eh) |
| void | corner_cutting (mesh_t &_m, const typename mesh_t::HalfedgeHandle &_he) |
| void | split_edge (mesh_t &_m, const typename mesh_t::EdgeHandle &_eh) |
| void | split_face (mesh_t &_m, const typename mesh_t::FaceHandle &_fh) |
Private Attributes | |
| OpenMesh::EPropHandleT < typename mesh_t::Point > | ep_pos_ |
| OpenMesh::VPropHandleT < typename mesh_t::Point > | vp_pos_ |
| weights_t | weights |
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 - clement.courbet@ecp.fr
Definition at line 92 of file ModifiedButterFlyT.hh.
| typedef MeshType OpenMesh::Subdivider::Uniform::ModifiedButterflyT< MeshType, RealType >::mesh_t |
Reimplemented from OpenMesh::Subdivider::Uniform::SubdividerT< MeshType, RealType >.
Definition at line 97 of file ModifiedButterFlyT.hh.
| typedef SubdividerT< mesh_t, real_t > OpenMesh::Subdivider::Uniform::ModifiedButterflyT< MeshType, RealType >::parent_t |
Definition at line 98 of file ModifiedButterFlyT.hh.
| typedef RealType OpenMesh::Subdivider::Uniform::ModifiedButterflyT< MeshType, RealType >::real_t |
Reimplemented from OpenMesh::Subdivider::Uniform::SubdividerT< MeshType, RealType >.
Definition at line 96 of file ModifiedButterFlyT.hh.
| typedef std::vector<real_t> OpenMesh::Subdivider::Uniform::ModifiedButterflyT< MeshType, RealType >::weight_t |
Definition at line 101 of file ModifiedButterFlyT.hh.
| typedef std::vector< std::vector<real_t> > OpenMesh::Subdivider::Uniform::ModifiedButterflyT< MeshType, RealType >::weights_t |
Definition at line 100 of file ModifiedButterFlyT.hh.
| OpenMesh::Subdivider::Uniform::ModifiedButterflyT< MeshType, RealType >::ModifiedButterflyT | ( | ) | [inline] |
Definition at line 106 of file ModifiedButterFlyT.hh.
| OpenMesh::Subdivider::Uniform::ModifiedButterflyT< MeshType, RealType >::ModifiedButterflyT | ( | mesh_t & | _m | ) | [inline] |
Definition at line 110 of file ModifiedButterFlyT.hh.
| OpenMesh::Subdivider::Uniform::ModifiedButterflyT< MeshType, RealType >::~ModifiedButterflyT | ( | ) | [inline] |
Definition at line 114 of file ModifiedButterFlyT.hh.
| bool OpenMesh::Subdivider::Uniform::ModifiedButterflyT< MeshType, RealType >::cleanup | ( | mesh_t & | _m | ) | [inline, protected, virtual] |
Cleanup mesh after usage, e.g. remove added properties.
Implements OpenMesh::Subdivider::Uniform::SubdividerT< MeshType, RealType >.
Definition at line 169 of file ModifiedButterFlyT.hh.
| void OpenMesh::Subdivider::Uniform::ModifiedButterflyT< MeshType, RealType >::compute_midpoint | ( | mesh_t & | _m, | |
| const typename mesh_t::EdgeHandle & | _eh | |||
| ) | [inline, private] |
Definition at line 366 of file ModifiedButterFlyT.hh.
| void OpenMesh::Subdivider::Uniform::ModifiedButterflyT< MeshType, RealType >::corner_cutting | ( | mesh_t & | _m, | |
| const typename mesh_t::HalfedgeHandle & | _he | |||
| ) | [inline, private] |
Definition at line 244 of file ModifiedButterFlyT.hh.
| void OpenMesh::Subdivider::Uniform::ModifiedButterflyT< MeshType, RealType >::init_weights | ( | size_t | _max_valence = 20 |
) | [inline] |
Pre-compute weights.
Definition at line 124 of file ModifiedButterFlyT.hh.
| const char* OpenMesh::Subdivider::Uniform::ModifiedButterflyT< MeshType, RealType >::name | ( | ) | const [inline, virtual] |
Return name of subdivision algorithm.
Implements OpenMesh::Subdivider::Uniform::SubdividerT< MeshType, RealType >.
Definition at line 120 of file ModifiedButterFlyT.hh.
| bool OpenMesh::Subdivider::Uniform::ModifiedButterflyT< MeshType, RealType >::prepare | ( | mesh_t & | _m | ) | [inline, protected, virtual] |
Prepare mesh, e.g. add properties.
Implements OpenMesh::Subdivider::Uniform::SubdividerT< MeshType, RealType >.
Definition at line 161 of file ModifiedButterFlyT.hh.
| void OpenMesh::Subdivider::Uniform::ModifiedButterflyT< MeshType, RealType >::split_edge | ( | mesh_t & | _m, | |
| const typename mesh_t::EdgeHandle & | _eh | |||
| ) | [inline, private] |
Definition at line 305 of file ModifiedButterFlyT.hh.
| void OpenMesh::Subdivider::Uniform::ModifiedButterflyT< MeshType, RealType >::split_face | ( | mesh_t & | _m, | |
| const typename mesh_t::FaceHandle & | _fh | |||
| ) | [inline, private] |
Definition at line 230 of file ModifiedButterFlyT.hh.
| bool OpenMesh::Subdivider::Uniform::ModifiedButterflyT< MeshType, RealType >::subdivide | ( | mesh_t & | _m, | |
| size_t | _n | |||
| ) | [inline, protected, virtual] |
Subdivide mesh _m _n times.
Implements OpenMesh::Subdivider::Uniform::SubdividerT< MeshType, RealType >.
Definition at line 177 of file ModifiedButterFlyT.hh.
OpenMesh::EPropHandleT< typename mesh_t::Point > OpenMesh::Subdivider::Uniform::ModifiedButterflyT< MeshType, RealType >::ep_pos_ [private] |
Definition at line 542 of file ModifiedButterFlyT.hh.
OpenMesh::VPropHandleT< typename mesh_t::Point > OpenMesh::Subdivider::Uniform::ModifiedButterflyT< MeshType, RealType >::vp_pos_ [private] |
Definition at line 541 of file ModifiedButterFlyT.hh.
weights_t OpenMesh::Subdivider::Uniform::ModifiedButterflyT< MeshType, RealType >::weights [private] |
Definition at line 544 of file ModifiedButterFlyT.hh.