OpenMesh
OpenMesh::Subdivider::Uniform::InterpolatingSqrt3LGT< MeshType, RealType > Class Template Reference

Uniform Interpolating Sqrt3 subdivision algorithm More...

#include <OpenMesh/Tools/Subdivider/Uniform/Sqrt3InterpolatingSubdividerLabsikGreinerT.hh>

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

Public Types

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

Public Member Functions

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

Protected Member Functions

bool prepare (MeshType &_m) override
 Prepare mesh, e.g. add properties. More...
 
bool cleanup (MeshType &_m) override
 Cleanup mesh after usage, e.g. remove added properties. More...
 
bool subdivide (MeshType &_m, size_t _n, const bool _update_points=true) override
 Subdivide mesh _m _n times. More...
 
- Protected Member Functions inherited from OpenMesh::Subdivider::Uniform::SubdividerT< MeshType, RealType >

Detailed Description

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

Uniform Interpolating Sqrt3 subdivision algorithm

Implementation of the interpolating Labsik Greiner Subdivider as described in "interpolating sqrt(3) subdivision" Labsik & Greiner, 2000

Clement Courbet - cleme.nosp@m.nt.c.nosp@m.ourbe.nosp@m.t@ec.nosp@m.p.fr

Member Function Documentation

◆ cleanup()

template<typename MeshType , typename RealType = double>
bool OpenMesh::Subdivider::Uniform::InterpolatingSqrt3LGT< MeshType, RealType >::cleanup ( MeshType &  _m)
inlineoverrideprotectedvirtual

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

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

◆ name()

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

Return name of subdivision algorithm.

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

◆ prepare()

template<typename MeshType , typename RealType = double>
bool OpenMesh::Subdivider::Uniform::InterpolatingSqrt3LGT< MeshType, RealType >::prepare ( MeshType &  _m)
inlineoverrideprotectedvirtual

Prepare mesh, e.g. add properties.

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

◆ subdivide()

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

Subdivide mesh _m _n times.

TODO:Implement fixed positions

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


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

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