Developer Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
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 ()
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

int subdiv_type_
int number_
int n_rules_
scalar_t coeff_


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: