OpenMesh
|
Base class for adaptive composite subdivision rules. More...
#include <OpenMesh/Tools/Subdivider/Adaptive/Composite/RuleInterfaceT.hh>
Public Types | |
typedef M | Mesh |
typedef RuleInterfaceT< M > | Self |
typedef RuleHandleT< Self > | Rule |
typedef M::Scalar | scalar_t |
Public Member Functions | |
virtual | ~RuleInterfaceT () |
Destructor. | |
virtual const char * | type () const =0 |
Returns the name of the rule. More... | |
void | update (typename M::FaceHandle &_fh, state_t _target_state) |
void | update (typename M::EdgeHandle &_eh, state_t _target_state) |
void | update (typename M::VertexHandle &_vh, state_t _target_state) |
int | subdiv_type () const |
Type of split operation, if it is a topological operator. | |
int | number () const |
Position in rule sequence. | |
Raise item | |
virtual void | raise (typename M::FaceHandle &_fh, state_t _target_state) |
Raise item to target state _target_state . | |
virtual void | raise (typename M::EdgeHandle &_eh, state_t _target_state) |
Raise item to target state _target_state . | |
virtual void | raise (typename M::VertexHandle &_vh, state_t _target_state) |
Raise item to target state _target_state . | |
Parameterization of rule | |
virtual void | set_coeff (scalar_t _coeff) |
Set coefficient - ignored by non-parameterized rules. | |
scalar_t | coeff () const |
Get coefficient - ignored by non-parameterized rules. | |
Protected Member Functions | |
RuleInterfaceT (Mesh &_mesh) | |
Default constructor. | |
void | set_prev_rule (Self *&_p) |
Self * | prev_rule () |
void | set_subdiv_rule (Self *&_n) |
Self * | subdiv_rule () const |
void | set_number (int _n) |
void | set_n_rules (int _n) |
int | n_rules () const |
void | set_subdiv_type (int _n) |
Protected Attributes | |
Mesh & | mesh_ |
Friends | |
class | CompositeT< M > |
Base class for adaptive composite subdivision rules.
|
pure virtual |
Returns the name of the rule.
Use define COMPOSITE_RULE to overload this function in a derived class.
Implemented in OpenMesh::Subdivider::Adaptive::EdEc< M >, OpenMesh::Subdivider::Adaptive::EdE< M >, OpenMesh::Subdivider::Adaptive::FE< M >, OpenMesh::Subdivider::Adaptive::EF< M >, OpenMesh::Subdivider::Adaptive::EVc< M >, OpenMesh::Subdivider::Adaptive::EV< M >, OpenMesh::Subdivider::Adaptive::VdEc< M >, OpenMesh::Subdivider::Adaptive::VdE< M >, OpenMesh::Subdivider::Adaptive::VE< M >, OpenMesh::Subdivider::Adaptive::VVc< M >, OpenMesh::Subdivider::Adaptive::VV< M >, OpenMesh::Subdivider::Adaptive::FVc< M >, OpenMesh::Subdivider::Adaptive::FV< M >, OpenMesh::Subdivider::Adaptive::FFc< M >, OpenMesh::Subdivider::Adaptive::FF< M >, OpenMesh::Subdivider::Adaptive::VF< M >, OpenMesh::Subdivider::Adaptive::Tvv4< M >, and OpenMesh::Subdivider::Adaptive::Tvv3< M >.