Developer Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
OpenMesh::Subdivider::Uniform::ModifiedButterflyT< MeshType, RealType > Class Template Reference

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

Inheritance diagram for OpenMesh::Subdivider::Uniform::ModifiedButterflyT< MeshType, RealType >:
OpenMesh::Subdivider::Uniform::SubdividerT< MeshType, RealType > OpenMesh::Utils::Noncopyable

Public Types

typedef RealType real_t
typedef MeshType mesh_t
typedef SubdividerT< mesh_t,
real_t > 
typedef std::vector
< std::vector< real_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
 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 >
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 (MeshType &_m, size_t _n, const bool _update_points=true)
 Subdivide mesh _m _n times. More...
Overload theses methods

Private Member Functions

void split_face (mesh_t &_m, const typename mesh_t::FaceHandle &_fh)
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 compute_midpoint (mesh_t &_m, const typename mesh_t::EdgeHandle &_eh)

Private Attributes

< typename mesh_t::Point > 
< typename mesh_t::Point > 
weights_t weights

Detailed Description

template<typename MeshType, typename RealType = float>
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 -

Definition at line 99 of file ModifiedButterFlyT.hh.

Member Function Documentation

template<typename MeshType, typename RealType = float>
bool OpenMesh::Subdivider::Uniform::ModifiedButterflyT< MeshType, RealType >::subdivide ( MeshType &  _m,
size_t  _n,
const bool  _update_points = true 

Subdivide mesh _m _n times.

TODO:Implement fixed positions

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

Definition at line 184 of file ModifiedButterFlyT.hh.

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