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

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

Inheritance diagram for OpenMesh::Subdivider::Uniform::SubdividerT< MeshType, RealType >:
OpenMesh::Utils::Noncopyable OpenMesh::Subdivider::Uniform::CatmullClarkT< MeshType, RealType > OpenMesh::Subdivider::Uniform::CompositeT< MeshType, RealType > OpenMesh::Subdivider::Uniform::InterpolatingSqrt3LGT< MeshType, RealType > OpenMesh::Subdivider::Uniform::LongestEdgeT< MeshType, RealType > OpenMesh::Subdivider::Uniform::LoopT< MeshType, RealType > OpenMesh::Subdivider::Uniform::ModifiedButterflyT< MeshType, RealType > OpenMesh::Subdivider::Uniform::Sqrt3T< MeshType, RealType > OpenMesh::Subdivider::Uniform::CompositeLoopT< MeshType, RealType > OpenMesh::Subdivider::Uniform::CompositeSqrt3T< MeshType, RealType >

Public Types

typedef MeshType mesh_t
 
typedef RealType real_t
 

Public Member Functions

virtual ~SubdividerT ()
 Descructor (calls detach())
 
virtual const char * name (void) const =0
 Return name of subdivision algorithm.
 
Constructors
 SubdividerT (void)
 
 SubdividerT (MeshType &_m)
 
Interface 1
bool operator() (MeshType &_m, size_t _n, const bool _update_points=true)
 
Interface 2
bool attach (MeshType &_m)
 
bool operator() (size_t _n, const bool _update_points=true)
 
void detach (void)
 

Protected Member Functions

Overload theses methods
virtual bool prepare (MeshType &_m)=0
 Prepare mesh, e.g. add properties.
 
virtual bool subdivide (MeshType &_m, size_t _n, const bool _update_points=true)=0
 Subdivide mesh _m _n times.
 
virtual bool cleanup (MeshType &_m)=0
 Cleanup mesh after usage, e.g. remove added properties.
 

Private Attributes

MeshType * attached_
 

Detailed Description

template<typename MeshType, typename RealType = float>
class OpenMesh::Subdivider::Uniform::SubdividerT< MeshType, RealType >

Abstract base class for uniform subdivision algorithms.

A derived class must overload the following functions:

  1. name()
  2. prepare()
  3. subdivide()
  4. cleanup()

Definition at line 94 of file SubdividerT.hh.

Constructor & Destructor Documentation

template<typename MeshType , typename RealType = float>
OpenMesh::Subdivider::Uniform::SubdividerT< MeshType, RealType >::SubdividerT ( void  )
inline

Constructor to be used with interface 2

See also
attach(), operator()(size_t), detach()

Definition at line 107 of file SubdividerT.hh.

template<typename MeshType , typename RealType = float>
OpenMesh::Subdivider::Uniform::SubdividerT< MeshType, RealType >::SubdividerT ( MeshType &  _m)
inline

Constructor to be used with interface 1 (calls attach())

See also
operator()( MeshType&, size_t )

Definition at line 111 of file SubdividerT.hh.

Member Function Documentation

template<typename MeshType , typename RealType = float>
bool OpenMesh::Subdivider::Uniform::SubdividerT< MeshType, RealType >::attach ( MeshType &  _m)
inline

Attach mesh _m to self

See also
SubdividerT(), operator()(size_t), detach()

Definition at line 138 of file SubdividerT.hh.

template<typename MeshType , typename RealType = float>
void OpenMesh::Subdivider::Uniform::SubdividerT< MeshType, RealType >::detach ( void  )
inline

Detach an eventually attached mesh.

See also
SubdividerT(), attach(), operator()(size_t)

Definition at line 161 of file SubdividerT.hh.

template<typename MeshType , typename RealType = float>
bool OpenMesh::Subdivider::Uniform::SubdividerT< MeshType, RealType >::operator() ( MeshType &  _m,
size_t  _n,
const bool  _update_points = true 
)
inline

Subdivide the mesh _m _n times.

See also
SubdividerT(MeshType&)

Definition at line 128 of file SubdividerT.hh.

template<typename MeshType , typename RealType = float>
bool OpenMesh::Subdivider::Uniform::SubdividerT< MeshType, RealType >::operator() ( size_t  _n,
const bool  _update_points = true 
)
inline

Subdivide the attached _n times.

See also
SubdividerT(), attach(), detach()

Definition at line 154 of file SubdividerT.hh.


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