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

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

Inheritance diagram for OpenMesh::Subdivider::Adaptive::RuleInterfaceT< M >:
OpenMesh::Subdivider::Adaptive::EF< M > OpenMesh::Subdivider::Adaptive::EV< M > OpenMesh::Subdivider::Adaptive::EVc< M > OpenMesh::Subdivider::Adaptive::EdE< M > OpenMesh::Subdivider::Adaptive::EdEc< 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::VE< M > OpenMesh::Subdivider::Adaptive::VF< M > OpenMesh::Subdivider::Adaptive::VV< M > OpenMesh::Subdivider::Adaptive::VVc< M > OpenMesh::Subdivider::Adaptive::VdE< M > OpenMesh::Subdivider::Adaptive::VdEc< M >

Public Types

typedef M Mesh
 
typedef RuleInterfaceT< M > Self
 
typedef RuleHandleT< SelfRule
 
typedef M::Scalar scalar_t
 

Public Member Functions

virtual ~RuleInterfaceT ()
 Destructor. More...
 
virtual const char * type () const =0
 
Raise item
virtual void raise (typename M::FaceHandle &_fh, state_t _target_state)
 Raise item to target state _target_state. More...
 
virtual void raise (typename M::EdgeHandle &_eh, state_t _target_state)
 Raise item to target state _target_state. More...
 
virtual void raise (typename M::VertexHandle &_vh, state_t _target_state)
 Raise item to target state _target_state. More...
 
void update (typename M::FaceHandle &_fh, state_t _target_state)
 Raise item to target state _target_state. More...
 
void update (typename M::EdgeHandle &_eh, state_t _target_state)
 Raise item to target state _target_state. More...
 
void update (typename M::VertexHandle &_vh, state_t _target_state)
 Raise item to target state _target_state. More...
 
int subdiv_type () const
 Type of split operation, if it is a topological operator. More...
 
int number () const
 Position in rule sequence. More...
 

Protected Member Functions

 RuleInterfaceT (Mesh &_mesh)
 Default constructor. More...
 

Parameterization of rule

class CompositeT< M >
 Set coefficient - ignored by non-parameterized rules. More...
 
Mesh & mesh_
 Set coefficient - ignored by non-parameterized rules. More...
 
Selfprev_rule_
 Set coefficient - ignored by non-parameterized rules. More...
 
Selfsubdiv_rule_
 Set coefficient - ignored by non-parameterized rules. More...
 
int subdiv_type_
 Set coefficient - ignored by non-parameterized rules. More...
 
int number_
 Set coefficient - ignored by non-parameterized rules. More...
 
int n_rules_
 Set coefficient - ignored by non-parameterized rules. More...
 
scalar_t coeff_
 Set coefficient - ignored by non-parameterized rules. More...
 
void set_prev_rule (Self *&_p)
 Set coefficient - ignored by non-parameterized rules. More...
 
Selfprev_rule ()
 Set coefficient - ignored by non-parameterized rules. More...
 
void set_subdiv_rule (Self *&_n)
 Set coefficient - ignored by non-parameterized rules. More...
 
Selfsubdiv_rule () const
 Set coefficient - ignored by non-parameterized rules. More...
 
void set_number (int _n)
 Set coefficient - ignored by non-parameterized rules. More...
 
void set_n_rules (int _n)
 Set coefficient - ignored by non-parameterized rules. More...
 
int n_rules () const
 Set coefficient - ignored by non-parameterized rules. More...
 
void set_subdiv_type (int _n)
 Set coefficient - ignored by non-parameterized rules. More...
 
virtual void set_coeff (scalar_t _coeff)
 Set coefficient - ignored by non-parameterized rules. More...
 
scalar_t coeff () const
 Get coefficient - ignored by non-parameterized rules. More...
 
 RuleInterfaceT (const RuleInterfaceT &)
 Set coefficient - ignored by non-parameterized rules.
 
RuleInterfaceToperator= (const RuleInterfaceT &)
 Set coefficient - ignored by non-parameterized rules.
 

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 108 of file RuleInterfaceT.hh.

Member Typedef Documentation

◆ Mesh

template<typename M >
typedef M OpenMesh::Subdivider::Adaptive::RuleInterfaceT< M >::Mesh

Definition at line 112 of file RuleInterfaceT.hh.

◆ Rule

template<typename M >
typedef RuleHandleT< Self > OpenMesh::Subdivider::Adaptive::RuleInterfaceT< M >::Rule

Definition at line 114 of file RuleInterfaceT.hh.

◆ scalar_t

template<typename M >
typedef M::Scalar OpenMesh::Subdivider::Adaptive::RuleInterfaceT< M >::scalar_t

Definition at line 116 of file RuleInterfaceT.hh.

◆ Self

template<typename M >
typedef RuleInterfaceT<M> OpenMesh::Subdivider::Adaptive::RuleInterfaceT< M >::Self

Definition at line 113 of file RuleInterfaceT.hh.

Constructor & Destructor Documentation

◆ RuleInterfaceT()

template<typename M >
OpenMesh::Subdivider::Adaptive::RuleInterfaceT< M >::RuleInterfaceT ( Mesh &  _mesh)
inlineprotected

Default constructor.

Definition at line 121 of file RuleInterfaceT.hh.

◆ ~RuleInterfaceT()

template<typename M >
virtual OpenMesh::Subdivider::Adaptive::RuleInterfaceT< M >::~RuleInterfaceT ( )
inlinevirtual

Destructor.

Definition at line 126 of file RuleInterfaceT.hh.

Member Function Documentation

◆ coeff()

template<typename M >
scalar_t OpenMesh::Subdivider::Adaptive::RuleInterfaceT< M >::coeff ( ) const
inline

Get coefficient - ignored by non-parameterized rules.

Definition at line 351 of file RuleInterfaceT.hh.

◆ n_rules()

template<typename M >
int OpenMesh::Subdivider::Adaptive::RuleInterfaceT< M >::n_rules ( ) const
inlineprotected

Set coefficient - ignored by non-parameterized rules.

Definition at line 366 of file RuleInterfaceT.hh.

◆ number()

template<typename M >
int OpenMesh::Subdivider::Adaptive::RuleInterfaceT< M >::number ( ) const
inline

Position in rule sequence.

Definition at line 342 of file RuleInterfaceT.hh.

◆ prev_rule()

template<typename M >
Self * OpenMesh::Subdivider::Adaptive::RuleInterfaceT< M >::prev_rule ( )
inlineprotected

Set coefficient - ignored by non-parameterized rules.

Definition at line 358 of file RuleInterfaceT.hh.

◆ raise() [1/3]

◆ raise() [2/3]

template<typename M >
virtual void OpenMesh::Subdivider::Adaptive::RuleInterfaceT< M >::raise ( typename M::FaceHandle &  _fh,
state_t  _target_state 
)
inlinevirtual

◆ raise() [3/3]

◆ set_coeff()

template<typename M >
virtual void OpenMesh::Subdivider::Adaptive::RuleInterfaceT< M >::set_coeff ( scalar_t  _coeff)
inlinevirtual

Set coefficient - ignored by non-parameterized rules.

Definition at line 348 of file RuleInterfaceT.hh.

◆ set_n_rules()

template<typename M >
void OpenMesh::Subdivider::Adaptive::RuleInterfaceT< M >::set_n_rules ( int  _n)
inlineprotected

Set coefficient - ignored by non-parameterized rules.

Definition at line 365 of file RuleInterfaceT.hh.

◆ set_number()

template<typename M >
void OpenMesh::Subdivider::Adaptive::RuleInterfaceT< M >::set_number ( int  _n)
inlineprotected

Set coefficient - ignored by non-parameterized rules.

Definition at line 363 of file RuleInterfaceT.hh.

◆ set_prev_rule()

template<typename M >
void OpenMesh::Subdivider::Adaptive::RuleInterfaceT< M >::set_prev_rule ( Self *&  _p)
inlineprotected

Set coefficient - ignored by non-parameterized rules.

Definition at line 357 of file RuleInterfaceT.hh.

◆ set_subdiv_rule()

template<typename M >
void OpenMesh::Subdivider::Adaptive::RuleInterfaceT< M >::set_subdiv_rule ( Self *&  _n)
inlineprotected

Set coefficient - ignored by non-parameterized rules.

Definition at line 360 of file RuleInterfaceT.hh.

◆ set_subdiv_type()

template<typename M >
void OpenMesh::Subdivider::Adaptive::RuleInterfaceT< M >::set_subdiv_type ( int  _n)
inlineprotected

Set coefficient - ignored by non-parameterized rules.

Definition at line 368 of file RuleInterfaceT.hh.

◆ subdiv_rule()

template<typename M >
Self * OpenMesh::Subdivider::Adaptive::RuleInterfaceT< M >::subdiv_rule ( ) const
inlineprotected

Set coefficient - ignored by non-parameterized rules.

Definition at line 361 of file RuleInterfaceT.hh.

◆ subdiv_type()

template<typename M >
int OpenMesh::Subdivider::Adaptive::RuleInterfaceT< M >::subdiv_type ( ) const
inline

Type of split operation, if it is a topological operator.

Definition at line 338 of file RuleInterfaceT.hh.

◆ type()

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.

◆ update() [1/3]

template<typename M >
void OpenMesh::Subdivider::Adaptive::RuleInterfaceT< M >::update ( typename M::EdgeHandle &  _eh,
state_t  _target_state 
)
inline

Raise item to target state _target_state.

Definition at line 257 of file RuleInterfaceT.hh.

◆ update() [2/3]

template<typename M >
void OpenMesh::Subdivider::Adaptive::RuleInterfaceT< M >::update ( typename M::FaceHandle &  _fh,
state_t  _target_state 
)
inline

Raise item to target state _target_state.

Definition at line 163 of file RuleInterfaceT.hh.

◆ update() [3/3]

template<typename M >
void OpenMesh::Subdivider::Adaptive::RuleInterfaceT< M >::update ( typename M::VertexHandle &  _vh,
state_t  _target_state 
)
inline

Raise item to target state _target_state.

Definition at line 289 of file RuleInterfaceT.hh.

Friends And Related Function Documentation

◆ CompositeT< M >

template<typename M >
friend class CompositeT< M >
friend

Set coefficient - ignored by non-parameterized rules.

Definition at line 368 of file RuleInterfaceT.hh.

Member Data Documentation

◆ coeff_

template<typename M >
scalar_t OpenMesh::Subdivider::Adaptive::RuleInterfaceT< M >::coeff_
private

Set coefficient - ignored by non-parameterized rules.

Definition at line 386 of file RuleInterfaceT.hh.

◆ mesh_

template<typename M >
Mesh& OpenMesh::Subdivider::Adaptive::RuleInterfaceT< M >::mesh_
protected

Set coefficient - ignored by non-parameterized rules.

Definition at line 375 of file RuleInterfaceT.hh.

◆ n_rules_

template<typename M >
int OpenMesh::Subdivider::Adaptive::RuleInterfaceT< M >::n_rules_
private

Set coefficient - ignored by non-parameterized rules.

Definition at line 384 of file RuleInterfaceT.hh.

◆ number_

template<typename M >
int OpenMesh::Subdivider::Adaptive::RuleInterfaceT< M >::number_
private

Set coefficient - ignored by non-parameterized rules.

Definition at line 383 of file RuleInterfaceT.hh.

◆ prev_rule_

template<typename M >
Self* OpenMesh::Subdivider::Adaptive::RuleInterfaceT< M >::prev_rule_
private

Set coefficient - ignored by non-parameterized rules.

Definition at line 379 of file RuleInterfaceT.hh.

◆ subdiv_rule_

template<typename M >
Self* OpenMesh::Subdivider::Adaptive::RuleInterfaceT< M >::subdiv_rule_
private

Set coefficient - ignored by non-parameterized rules.

Definition at line 380 of file RuleInterfaceT.hh.

◆ subdiv_type_

template<typename M >
int OpenMesh::Subdivider::Adaptive::RuleInterfaceT< M >::subdiv_type_
private

Set coefficient - ignored by non-parameterized rules.

Definition at line 382 of file RuleInterfaceT.hh.


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