OpenMesh
Loading...
Searching...
No Matches
OpenMesh::Subdivider::Uniform::CatmullClarkT< MeshType, RealType > Class Template Reference

Based on code from Leon Kos, CAD lab, Mech.Eng., University of Ljubljana, Slovenia (http://www.lecad.fs.uni-lj.si/~leon) More...

#include <CatmullClarkT.hh>

Inheritance diagram for OpenMesh::Subdivider::Uniform::CatmullClarkT< MeshType, RealType >:
Collaboration diagram for OpenMesh::Subdivider::Uniform::CatmullClarkT< MeshType, RealType >:

Public Types

typedef MeshType::FaceHandle FaceHandle
typedef MeshType::VertexHandle VertexHandle
typedef MeshType::EdgeHandle EdgeHandle
typedef MeshType::HalfedgeHandle HalfedgeHandle
typedef MeshType::Point Point
typedef MeshType::Normal Normal
typedef MeshType::FaceIter FaceIter
typedef MeshType::EdgeIter EdgeIter
typedef MeshType::VertexIter VertexIter
typedef MeshType::VertexEdgeIter VertexEdgeIter
typedef MeshType::VertexFaceIter VertexFaceIter
typedef MeshType::VOHIter VOHIter
typedef SubdividerT< MeshType, RealType > parent_t
Public Types inherited from OpenMesh::Subdivider::Uniform::SubdividerT< MeshType, double >
typedef MeshType mesh_t
typedef double real_t

Public Member Functions

 CatmullClarkT ()
 Constructor.
 CatmullClarkT (MeshType &_m)
 Constructor.
const char * name () const override
 Return name of subdivision algorithm.
Public Member Functions inherited from OpenMesh::Subdivider::Uniform::SubdividerT< MeshType, double >
 SubdividerT (void)
 Constructor to be used with interface 2.
virtual ~SubdividerT ()
 Destructor (calls detach())
bool operator() (MeshType &_m, size_t _n, const bool _update_points=true)
 Subdivide the mesh _m _n times.
bool attach (MeshType &_m)
 Attach mesh _m to self.
void detach (void)
 Detach an eventually attached mesh.

Protected Member Functions

virtual bool prepare (MeshType &_m) override
 Initialize properties and weights.
virtual bool cleanup (MeshType &_m) override
 Remove properties and weights.
virtual bool subdivide (MeshType &_m, size_t _n, const bool _update_points=true) override
 Execute n subdivision steps.

Detailed Description

template<typename MeshType, typename RealType = double>
class OpenMesh::Subdivider::Uniform::CatmullClarkT< MeshType, RealType >

Based on code from Leon Kos, CAD lab, Mech.Eng., University of Ljubljana, Slovenia (http://www.lecad.fs.uni-lj.si/~leon)

Note
Needs a PolyMesh to work on!

Member Function Documentation

◆ cleanup()

template<typename MeshType, typename RealType>
bool OpenMesh::Subdivider::Uniform::CatmullClarkT< MeshType, RealType >::cleanup ( MeshType & _m)
overrideprotectedvirtual

Remove properties and weights.

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

◆ name()

template<typename MeshType, typename RealType = double>
const char * OpenMesh::Subdivider::Uniform::CatmullClarkT< MeshType, RealType >::name ( void ) const
inlineoverridevirtual

Return name of subdivision algorithm.

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

◆ prepare()

template<typename MeshType, typename RealType>
bool OpenMesh::Subdivider::Uniform::CatmullClarkT< MeshType, RealType >::prepare ( MeshType & _m)
overrideprotectedvirtual

Initialize properties and weights.

Reimplemented from OpenMesh::Subdivider::Uniform::SubdividerT< MeshType, double >.

◆ subdivide()

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

Execute n subdivision steps.

Parameters
_mMesh to work on
_nNumber of iterations
_update_pointsUnused here
Returns
successful?

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


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

Project OpenMesh, ©  Visual Computing Institute, RWTH Aachen. Documentation generated using doxygen .