#include <Sqrt3InterpolatingSubdividerLabsikGreinerT.hh>

Public Types | |
| typedef MeshType | mesh_t |
| typedef SubdividerT< mesh_t, real_t > | parent_t |
| typedef RealType | real_t |
| typedef std::vector < std::vector< real_t > > | weights_t |
Public Member Functions | |
| void | init_weights (size_t _max_valence=50) |
| Pre-compute weights. | |
| InterpolatingSqrt3LGT (MeshType &_m) | |
| InterpolatingSqrt3LGT (void) | |
| const char * | name () const |
| Return name of subdivision algorithm. | |
| virtual | ~InterpolatingSqrt3LGT () |
Protected Member Functions | |
| bool | cleanup (MeshType &_m) |
| Cleanup mesh after usage, e.g. remove added properties. | |
| bool | prepare (MeshType &_m) |
| Prepare mesh, e.g. add properties. | |
| bool | subdivide (MeshType &_m, size_t _n) |
Subdivide mesh _m _n times. | |
Private Member Functions | |
| void | boundary_split (MeshType &_m, const typename MeshType::HalfedgeHandle &_heh) |
| void | boundary_split (MeshType &_m, const typename MeshType::HalfedgeHandle &_heh, const typename MeshType::VertexHandle &_vh) |
| void | boundary_split (MeshType &_m, const typename MeshType::FaceHandle &_fh) |
| void | compute_new_boundary_points (MeshType &_m, const typename MeshType::EdgeHandle &_eh) |
Private Attributes | |
| OpenMesh::EPropHandleT < std::pair< typename MeshType::VertexHandle, typename MeshType::VertexHandle > > | ep_nv_ |
| OpenMesh::FPropHandleT < typename MeshType::VertexHandle > | fp_pos_ |
| OpenMesh::MPropHandleT< size_t > | mp_gen_ |
| weights_t | weights_ |
Uniform Interpolating Sqrt3 subdivision algorithm
Implementation of the interpolating Labsik Greiner Subdivider as described in "interpolating sqrt(3) subdivision" Labsik & Greiner, 2000
Clement Courbet - clement.courbet@ecp.fr
Definition at line 106 of file Sqrt3InterpolatingSubdividerLabsikGreinerT.hh.
| typedef MeshType OpenMesh::Subdivider::Uniform::InterpolatingSqrt3LGT< MeshType, RealType >::mesh_t |
Reimplemented from OpenMesh::Subdivider::Uniform::SubdividerT< MeshType, RealType >.
Definition at line 111 of file Sqrt3InterpolatingSubdividerLabsikGreinerT.hh.
| typedef SubdividerT< mesh_t, real_t > OpenMesh::Subdivider::Uniform::InterpolatingSqrt3LGT< MeshType, RealType >::parent_t |
Definition at line 112 of file Sqrt3InterpolatingSubdividerLabsikGreinerT.hh.
| typedef RealType OpenMesh::Subdivider::Uniform::InterpolatingSqrt3LGT< MeshType, RealType >::real_t |
Reimplemented from OpenMesh::Subdivider::Uniform::SubdividerT< MeshType, RealType >.
Definition at line 110 of file Sqrt3InterpolatingSubdividerLabsikGreinerT.hh.
| typedef std::vector< std::vector<real_t> > OpenMesh::Subdivider::Uniform::InterpolatingSqrt3LGT< MeshType, RealType >::weights_t |
Definition at line 114 of file Sqrt3InterpolatingSubdividerLabsikGreinerT.hh.
| OpenMesh::Subdivider::Uniform::InterpolatingSqrt3LGT< MeshType, RealType >::InterpolatingSqrt3LGT | ( | void | ) | [inline] |
Definition at line 119 of file Sqrt3InterpolatingSubdividerLabsikGreinerT.hh.
| OpenMesh::Subdivider::Uniform::InterpolatingSqrt3LGT< MeshType, RealType >::InterpolatingSqrt3LGT | ( | MeshType & | _m | ) | [inline] |
Definition at line 122 of file Sqrt3InterpolatingSubdividerLabsikGreinerT.hh.
| virtual OpenMesh::Subdivider::Uniform::InterpolatingSqrt3LGT< MeshType, RealType >::~InterpolatingSqrt3LGT | ( | ) | [inline, virtual] |
Definition at line 125 of file Sqrt3InterpolatingSubdividerLabsikGreinerT.hh.
| void OpenMesh::Subdivider::Uniform::InterpolatingSqrt3LGT< MeshType, RealType >::boundary_split | ( | MeshType & | _m, | |
| const typename MeshType::HalfedgeHandle & | _heh | |||
| ) | [inline, private] |
Definition at line 556 of file Sqrt3InterpolatingSubdividerLabsikGreinerT.hh.
| void OpenMesh::Subdivider::Uniform::InterpolatingSqrt3LGT< MeshType, RealType >::boundary_split | ( | MeshType & | _m, | |
| const typename MeshType::HalfedgeHandle & | _heh, | |||
| const typename MeshType::VertexHandle & | _vh | |||
| ) | [inline, private] |
Definition at line 492 of file Sqrt3InterpolatingSubdividerLabsikGreinerT.hh.
| void OpenMesh::Subdivider::Uniform::InterpolatingSqrt3LGT< MeshType, RealType >::boundary_split | ( | MeshType & | _m, | |
| const typename MeshType::FaceHandle & | _fh | |||
| ) | [inline, private] |
Definition at line 446 of file Sqrt3InterpolatingSubdividerLabsikGreinerT.hh.
| bool OpenMesh::Subdivider::Uniform::InterpolatingSqrt3LGT< MeshType, RealType >::cleanup | ( | MeshType & | _m | ) | [inline, protected, virtual] |
Cleanup mesh after usage, e.g. remove added properties.
Implements OpenMesh::Subdivider::Uniform::SubdividerT< MeshType, RealType >.
Definition at line 184 of file Sqrt3InterpolatingSubdividerLabsikGreinerT.hh.
| void OpenMesh::Subdivider::Uniform::InterpolatingSqrt3LGT< MeshType, RealType >::compute_new_boundary_points | ( | MeshType & | _m, | |
| const typename MeshType::EdgeHandle & | _eh | |||
| ) | [inline, private] |
Definition at line 400 of file Sqrt3InterpolatingSubdividerLabsikGreinerT.hh.
| void OpenMesh::Subdivider::Uniform::InterpolatingSqrt3LGT< MeshType, RealType >::init_weights | ( | size_t | _max_valence = 50 |
) | [inline] |
Pre-compute weights.
Definition at line 134 of file Sqrt3InterpolatingSubdividerLabsikGreinerT.hh.
| const char* OpenMesh::Subdivider::Uniform::InterpolatingSqrt3LGT< MeshType, RealType >::name | ( | ) | const [inline, virtual] |
Return name of subdivision algorithm.
Implements OpenMesh::Subdivider::Uniform::SubdividerT< MeshType, RealType >.
Definition at line 131 of file Sqrt3InterpolatingSubdividerLabsikGreinerT.hh.
| bool OpenMesh::Subdivider::Uniform::InterpolatingSqrt3LGT< MeshType, RealType >::prepare | ( | MeshType & | _m | ) | [inline, protected, virtual] |
Prepare mesh, e.g. add properties.
Implements OpenMesh::Subdivider::Uniform::SubdividerT< MeshType, RealType >.
Definition at line 171 of file Sqrt3InterpolatingSubdividerLabsikGreinerT.hh.
| bool OpenMesh::Subdivider::Uniform::InterpolatingSqrt3LGT< MeshType, RealType >::subdivide | ( | MeshType & | _m, | |
| size_t | _n | |||
| ) | [inline, protected, virtual] |
Subdivide mesh _m _n times.
Implements OpenMesh::Subdivider::Uniform::SubdividerT< MeshType, RealType >.
Definition at line 194 of file Sqrt3InterpolatingSubdividerLabsikGreinerT.hh.
OpenMesh::EPropHandleT< std::pair< typename MeshType::VertexHandle, typename MeshType::VertexHandle> > OpenMesh::Subdivider::Uniform::InterpolatingSqrt3LGT< MeshType, RealType >::ep_nv_ [private] |
Definition at line 599 of file Sqrt3InterpolatingSubdividerLabsikGreinerT.hh.
OpenMesh::FPropHandleT< typename MeshType::VertexHandle > OpenMesh::Subdivider::Uniform::InterpolatingSqrt3LGT< MeshType, RealType >::fp_pos_ [private] |
Definition at line 597 of file Sqrt3InterpolatingSubdividerLabsikGreinerT.hh.
OpenMesh::MPropHandleT< size_t > OpenMesh::Subdivider::Uniform::InterpolatingSqrt3LGT< MeshType, RealType >::mp_gen_ [private] |
Definition at line 600 of file Sqrt3InterpolatingSubdividerLabsikGreinerT.hh.
weights_t OpenMesh::Subdivider::Uniform::InterpolatingSqrt3LGT< MeshType, RealType >::weights_ [private] |
Definition at line 596 of file Sqrt3InterpolatingSubdividerLabsikGreinerT.hh.