OpenMesh
OpenMesh::Subdivider::Adaptive::RuleInterfaceT< M > Class Template Referenceabstract

Base class for adaptive composite subdivision rules. More...

#include <OpenMesh/Tools/Subdivider/Adaptive/Composite/RuleInterfaceT.hh>

Inheritance diagram for OpenMesh::Subdivider::Adaptive::RuleInterfaceT< M >:

Public Types

typedef M Mesh
 
typedef RuleInterfaceT< M > Self
 
typedef RuleHandleT< SelfRule
 
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)
 
Selfprev_rule ()
 
void set_subdiv_rule (Self *&_n)
 
Selfsubdiv_rule ()
 
void set_number (int _n)
 
void set_n_rules (int _n)
 
int n_rules ()
 
void set_subdiv_type (int _n)
 

Protected Attributes

Mesh & mesh_
 

Friends

class CompositeT< M >
 

Detailed Description

template<typename M>
class OpenMesh::Subdivider::Adaptive::RuleInterfaceT< M >

Base class for adaptive composite subdivision rules.

See also
class CompositeT

Member Function Documentation


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

Project OpenMesh, ©  Computer Graphics Group, RWTH Aachen. Documentation generated using doxygen .