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

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

Inheritance diagram for OpenMesh::Subdivider::Adaptive::RuleInterfaceT< M >:
OpenMesh::Subdivider::Adaptive::EdE< M > OpenMesh::Subdivider::Adaptive::EdEc< M > OpenMesh::Subdivider::Adaptive::EF< M > OpenMesh::Subdivider::Adaptive::EV< M > OpenMesh::Subdivider::Adaptive::EVc< M > OpenMesh::Subdivider::Adaptive::FE< M > OpenMesh::Subdivider::Adaptive::FF< M > OpenMesh::Subdivider::Adaptive::FFc< M > OpenMesh::Subdivider::Adaptive::FV< M > OpenMesh::Subdivider::Adaptive::FVc< M > OpenMesh::Subdivider::Adaptive::Tvv3< M > OpenMesh::Subdivider::Adaptive::Tvv4< M > OpenMesh::Subdivider::Adaptive::VdE< M > OpenMesh::Subdivider::Adaptive::VdEc< M > OpenMesh::Subdivider::Adaptive::VE< M > OpenMesh::Subdivider::Adaptive::VF< M > OpenMesh::Subdivider::Adaptive::VV< M > OpenMesh::Subdivider::Adaptive::VVc< 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
 
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_
 

Private Member Functions

 RuleInterfaceT (const RuleInterfaceT &)
 
RuleInterfaceToperator= (const RuleInterfaceT &)
 

Private Attributes

Selfprev_rule_
 
Selfsubdiv_rule_
 
int subdiv_type_
 
int number_
 
int n_rules_
 
scalar_t coeff_
 

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

Definition at line 84 of file CompositeT.hh.

Member Function Documentation

template<typename M >
virtual const char* OpenMesh::Subdivider::Adaptive::RuleInterfaceT< M >::type ( ) const
pure virtual

Returns the name of the rule. Use define COMPOSITE_RULE to overload this function in a derived class.


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