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

Uniform Sqrt3 subdivision algorithm More...

`#include <OpenMesh/Tools/Subdivider/Uniform/Sqrt3T.hh>`

Inheritance diagram for OpenMesh::Subdivider::Uniform::Sqrt3T< MeshType, RealType >:
[legend]
Collaboration diagram for OpenMesh::Subdivider::Uniform::Sqrt3T< MeshType, RealType >:
[legend]

## Public Types

typedef RealType | real_t
typedef MeshType | mesh_t
typedef SubdividerT< mesh_t, real_t > | parent_t
typedef std::pair< real_t, real_t > | weight_t
typedef std::vector< std::pair< real_t, real_t > > | weights_t
Public Types inherited from OpenMesh::Subdivider::Uniform::SubdividerT< MeshType, double >
typedef MeshType | mesh_t
typedef double | real_t

## Public Member Functions

| Sqrt3T (MeshType &_m)
const char * | name () const override
| Return name of subdivision algorithm.
void | init_weights (size_t _max_valence=50)
| Pre-compute weights.
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

bool | prepare (MeshType &_m) override
| Prepare mesh, e.g.
bool | cleanup (MeshType &_m) override
| Cleanup mesh after usage, e.g. remove added properties.
bool | subdivide (MeshType &_m, size_t _n, const bool _update_points=true) override
| Subdivide mesh `_m` `_n` times.

## Detailed Description

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

Uniform Sqrt3 subdivision algorithm

Implementation as described in

L. Kobbelt, "Sqrt(3) subdivision", Proceedings of SIGGRAPH 2000.

## Member Function Documentation

## cleanup()

template<typename MeshType, typename RealType = double>

bool OpenMesh::Subdivider::Uniform::Sqrt3T< MeshType, RealType >::cleanup | ( | MeshType & | _m | ) |

inline override protected virtual

Cleanup mesh after usage, e.g. remove added properties.

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

## name()

template<typename MeshType, typename RealType = double>

const char * OpenMesh::Subdivider::Uniform::Sqrt3T< MeshType, RealType >::name | ( | void |  | ) | const

inline override virtual

Return name of subdivision algorithm.

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

## prepare()

template<typename MeshType, typename RealType = double>

bool OpenMesh::Subdivider::Uniform::Sqrt3T< MeshType, RealType >::prepare | ( | MeshType & |  | ) |

inline override protected virtual

Prepare mesh, e.g.

add properties

You have to reimplement this function to setup your mesh. The default implementation will always return false and therefore block your algorithm.

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

## subdivide()

template<typename MeshType, typename RealType = double>

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

inline override protected virtual

Subdivide mesh `_m` `_n` times.

TODO:Implement fixed positions

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

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

- OpenMesh/Tools/Subdivider/Uniform/Sqrt3T.hh