|
Developer Documentation
|
#include <libs_required/OpenMesh/src/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 =0 |
| Return name of subdivision algorithm. | |
Public Member Functions inherited from OpenMesh::Subdivider::Uniform::SubdividerT< MeshType, RealType > | |
| virtual | ~SubdividerT () |
| Descructor (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 | subdivide (MeshType &_m, size_t _n, const bool _update_points=true) |
Subdivide mesh _m _n times. | |
| bool | cleanup (MeshType &_m) |
| Cleanup mesh after usage, e.g. remove added properties. | |
| virtual void | apply_rules (void)=0 |
| void | commit (MeshType &_m) |
| void | corner_cutting (HalfedgeHandle _heh) |
| Corner Cutting. | |
| VertexHandle | split_edge (HalfedgeHandle _heh) |
| Split Edge. | |
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) |
| void | VdEg (scalar_t _gamma) |
| 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. | |
Overload theses methods | |
Private Attributes | |
| MeshType * | p_mesh_ |
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
Definition at line 94 of file CompositeT.hh.
|
protectedpure virtual |
Assemble here the rule sequence, by calling the constructor of the wanted rules.
Implemented in OpenMesh::Subdivider::Uniform::CompositeLoopT< MeshType, RealType >, and OpenMesh::Subdivider::Uniform::CompositeSqrt3T< MeshType, RealType >.
|
inlineprotected |
Move vertices to new positions after the rules have been applied to the mesh (called by subdivide()).
Definition at line 150 of file CompositeT.hh.
|
protected |
Weigthed vertex to edge averaging, using diamond of edges for irregular vertices.
Definition at line 778 of file CompositeT.cc.
|
protected |
Weigthed vertex to edge averaging, using diamond of edges for irregular vertices.
Definition at line 719 of file CompositeT.cc.