Developer Documentation

Public Types | Public Member Functions | Protected Member Functions | Private Attributes | List of all members
OpenMesh::Subdivider::Uniform::CatmullClarkT< MeshType, RealType > Class Template Reference

`#include <CatmullClarkT.hh>`

Inheritance 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, RealType >
typedef MeshType | mesh_t
typedef RealType | real_t

## Public Member Functions
| CatmullClarkT ()
| Constructor.
| CatmullClarkT (MeshType &_m)
| Constructor.
const char * | name () const
| Return name of subdivision algorithm.
Public Member Functions inherited from OpenMesh::Subdivider::Uniform::SubdividerT< MeshType, RealType >
virtual | ~SubdividerT ()
| Destructor (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
virtual bool | prepare (MeshType &_m)
| Initialize properties and weights.
virtual bool | cleanup (MeshType &_m)
| Remove properties and weights.
virtual bool | subdivide (MeshType &_m, size_t _n, const bool _update_points=true)
| Execute n subdivision steps. More...
Overload theses methods

## Private Member Functions
Topology helpers
void | split_edge (MeshType &_m, const EdgeHandle &_eh)
void | split_face (MeshType &_m, const FaceHandle &_fh)
void | compute_midpoint (MeshType &_m, const EdgeHandle &_eh, const bool _update_points)
void | update_vertex (MeshType &_m, const VertexHandle &_vh)

## Private Attributes
OpenMesh::VPropHandleT< Point > | vp_pos_
OpenMesh::EPropHandleT< Point > | ep_pos_
OpenMesh::FPropHandleT< Point > | fp_pos_
OpenMesh::EPropHandleT< double > | creaseWeights_

## 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!

Definition at line 85 of file CatmullClarkT.hh.

## Member Function Documentation

## ◆ subdivide()

template<typename MeshType , typename RealType >

bool OpenMesh::Subdivider::Uniform::CatmullClarkT< MeshType, RealType >::subdivide | ( | MeshType & | _m,
|  | size_t | _n,
|  | const bool | _update_points = `true`
| ) |  |
| protected virtual

Execute n subdivision steps.

Parameters

  _m | Mesh to work on
  _n | Number of iterations
  _update_points | Unused here

Returns
  successful?

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

Definition at line 96 of file CatmullClarkT_impl.hh.

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

- OpenFlipper/libs_required/OpenMesh/src/OpenMesh/Tools/Subdivider/Uniform/CatmullClarkT.hh
- OpenFlipper/libs_required/OpenMesh/src/OpenMesh/Tools/Subdivider/Uniform/CatmullClarkT_impl.hh