Developer Documentation

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

`#include <OpenFlipper/libs_required/OpenMesh/src/OpenMesh/Tools/Subdivider/Uniform/Sqrt3InterpolatingSubdividerLabsikGreinerT.hh>`

Inheritance 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
| 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, 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
bool | prepare (MeshType &_m)
| Prepare mesh, e.g. add properties.
bool | cleanup (MeshType &_m)
| Cleanup mesh after usage, e.g. remove added properties.
bool | subdivide (MeshType &_m, size_t _n, const bool _update_points=true)
| Subdivide mesh `_m` `_n` times. More...
Overload theses methods

## Private Member Functions
void | compute_new_boundary_points (MeshType &_m, const typename MeshType::EdgeHandle &_eh)
void | boundary_split (MeshType &_m, const typename MeshType::FaceHandle &_fh)
void | boundary_split (MeshType &_m, const typename MeshType::HalfedgeHandle &_heh, const typename MeshType::VertexHandle &_vh)
void | boundary_split (MeshType &_m, const typename MeshType::HalfedgeHandle &_heh)

## Private Attributes
weights_t | weights_
OpenMesh::FPropHandleT< typename MeshType::VertexHandle > | fp_pos_
OpenMesh::EPropHandleT< std::pair< typename MeshType::VertexHandle, typename MeshType::VertexHandle > > | ep_nv_
OpenMesh::MPropHandleT< size_t > | mp_gen_

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

Definition at line 106 of file Sqrt3InterpolatingSubdividerLabsikGreinerT.hh.

## Member Function Documentation

## ◆ 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`
| ) |  |
| inline protected virtual

Subdivide mesh `_m` `_n` times.

TODO:Implement fixed positions

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

Definition at line 196 of file Sqrt3InterpolatingSubdividerLabsikGreinerT.hh.

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

- OpenFlipper/libs_required/OpenMesh/src/OpenMesh/Tools/Subdivider/Uniform/Sqrt3InterpolatingSubdividerLabsikGreinerT.hh