![]()  | 
  
    OpenMesh
    
   | 
 
This class provides the composite subdivision rules for the uniform case. More...
#include <OpenMesh/Tools/Subdivider/Uniform/Composite/CompositeT.hh>


Classes | |
| struct | Coeff | 
| Abstract base class for coefficient functions.  More... | |
Public Types | |
| typedef RealType | real_t | 
| typedef MeshType | mesh_t | 
| typedef SubdividerT< mesh_t, real_t > | parent_t | 
  Public Types inherited from OpenMesh::Subdivider::Uniform::SubdividerT< MeshType, RealType > | |
| typedef MeshType | mesh_t | 
| typedef RealType | real_t | 
Public Member Functions | |
| CompositeT (MeshType &_mesh) | |
| virtual const char * | name (void) const override=0 | 
| Return name of subdivision algorithm.  | |
  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.  | |
| bool | subdivide (MeshType &_m, size_t _n, const bool _update_points=true) override | 
Subdivide mesh _m _n times.  | |
| bool | cleanup (MeshType &_m) override | 
| Cleanup mesh after usage, e.g. remove added properties.  | |
| virtual void | apply_rules (void)=0 | 
| Assemble here the rule sequence, by calling the constructor of the wanted rules.  | |
| void | commit (MeshType &_m) | 
| Move vertices to new positions after the rules have been applied to the mesh (called by subdivide()).  | |
  Protected Member Functions inherited from OpenMesh::Subdivider::Uniform::SubdividerT< MeshType, RealType > | |
Uniform composite subdivision rules | |
| void | Tvv3 () | 
| Split Face, using Vertex information (1-3 split)  | |
| void | Tvv4 () | 
| Split Face, using Vertex information (1-4 split)  | |
| void | Tfv () | 
| Split Face, using Face Information.  | |
| void | FF () | 
| Face to face averaging.  | |
| void | FFc (Coeff &_coeff) | 
| Weighted face to face averaging.  | |
| void | FFc (scalar_t _c) | 
| Weighted face to face averaging.  | |
| void | FV () | 
| Face to vertex averaging.  | |
| void | FVc (Coeff &_coeff) | 
| Weighted face to vertex Averaging with flaps.  | |
| void | FVc (scalar_t _c) | 
| Weighted face to vertex Averaging with flaps.  | |
| void | FE () | 
| Face to edge averaging.  | |
| void | VF () | 
| Vertex to Face Averaging.  | |
| void | VFa (Coeff &_coeff) | 
| Vertex to Face Averaging, weighted.  | |
| void | VFa (scalar_t _alpha) | 
| Vertex to Face Averaging, weighted.  | |
| void | VV () | 
| Vertex to vertex averaging.  | |
| void | VVc (Coeff &_coeff) | 
| Vertex to vertex averaging, weighted.  | |
| void | VVc (scalar_t _c) | 
| Vertex to vertex averaging, weighted.  | |
| void | VE () | 
| VE Step (Vertex to Edge Averaging)  | |
| void | VdE () | 
| Vertex to edge averaging, using diamond of edges.  | |
| void | VdEc (scalar_t _c) | 
| Weighted vertex to edge averaging, using diamond of edges.  | |
| void | VdEg (Coeff &_coeff) | 
| Weigthed vertex to edge averaging, using diamond of edges for irregular vertices.  | |
| void | VdEg (scalar_t _gamma) | 
| Weigthed vertex to edge averaging, using diamond of edges for irregular vertices.  | |
| void | EF () | 
| Edge to face averaging.  | |
| void | EV () | 
| Edge to vertex averaging.  | |
| void | EVc (Coeff &_coeff) | 
| Weighted edge to vertex averaging.  | |
| void | EVc (scalar_t _c) | 
| Weighted edge to vertex averaging.  | |
| void | EdE () | 
| Edge to edge averaging w/ flap rule.  | |
| void | EdEc (scalar_t _c) | 
| Weighted edge to edge averaging w/ flap rule.  | |
| void | corner_cutting (HalfedgeHandle _heh) | 
| Corner Cutting.  | |
| VertexHandle | split_edge (HalfedgeHandle _heh) | 
| Split Edge.  | |
This class provides the composite subdivision rules for the uniform case.
To create a subdivider derive from this class and overload the functions name() and apply_rules(). In the latter one call the wanted rules.
For details on the composite scheme refer to