Loading...
Searching...
No Matches
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 >:
[legend]

## 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.
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`.
void | update (typename M::FaceHandle &_fh, state_t _target_state)
| Raise item to target state `_target_state`.
void | update (typename M::EdgeHandle &_eh, state_t _target_state)
| Raise item to target state `_target_state`.
void | update (typename M::VertexHandle &_vh, state_t _target_state)
| Raise item to target state `_target_state`.
int | subdiv_type () const
| Type of split operation, if it is a topological operator.
int | number () const
| Position in rule sequence.

## Protected Member Functions

| RuleInterfaceT (Mesh &_mesh)
| Default constructor.

## Parameterization of rule

class | CompositeT< M >
| Set coefficient - ignored by non-parameterized rules.
Mesh & | mesh_
| Set coefficient - ignored by non-parameterized rules.
void | set_prev_rule (Self *&_p)
| Set coefficient - ignored by non-parameterized rules.
Self * | prev_rule ()
| Set coefficient - ignored by non-parameterized rules.
void | set_subdiv_rule (Self *&_n)
| Set coefficient - ignored by non-parameterized rules.
Self * | subdiv_rule () const
| Set coefficient - ignored by non-parameterized rules.
void | set_number (int _n)
| Set coefficient - ignored by non-parameterized rules.
void | set_n_rules (int _n)
| Set coefficient - ignored by non-parameterized rules.
int | n_rules () const
| Set coefficient - ignored by non-parameterized rules.
void | set_subdiv_type (int _n)
| Set coefficient - ignored by non-parameterized rules.
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.

## 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

## raise() [1/3]

template<typename M>

virtual void OpenMesh::Subdivider::Adaptive::RuleInterfaceT< M >::raise | ( | typename M::EdgeHandle & | _eh,
|  | state_t | _target_state )

inline virtual

Raise item to target state `_target_state`.

Reimplemented in OpenMesh::Subdivider::Adaptive::EdE< M >, OpenMesh::Subdivider::Adaptive::EdEc< M >, OpenMesh::Subdivider::Adaptive::FE< M >, OpenMesh::Subdivider::Adaptive::Tvv4< M >, OpenMesh::Subdivider::Adaptive::VdE< M >, OpenMesh::Subdivider::Adaptive::VdEc< M >, and OpenMesh::Subdivider::Adaptive::VE< M >.

## raise() [2/3]

template<typename M>

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

inline virtual

Raise item to target state `_target_state`.

Reimplemented in OpenMesh::Subdivider::Adaptive::EF< M >, OpenMesh::Subdivider::Adaptive::FF< M >, OpenMesh::Subdivider::Adaptive::FFc< M >, OpenMesh::Subdivider::Adaptive::Tvv3< M >, OpenMesh::Subdivider::Adaptive::Tvv4< M >, and OpenMesh::Subdivider::Adaptive::VF< M >.

## raise() [3/3]

template<typename M>

virtual void OpenMesh::Subdivider::Adaptive::RuleInterfaceT< M >::raise | ( | typename M::VertexHandle & | _vh,
|  | state_t | _target_state )

inline virtual

Raise item to target state `_target_state`.

Reimplemented in OpenMesh::Subdivider::Adaptive::EV< M >, OpenMesh::Subdivider::Adaptive::EVc< M >, OpenMesh::Subdivider::Adaptive::FV< M >, OpenMesh::Subdivider::Adaptive::FVc< M >, OpenMesh::Subdivider::Adaptive::Tvv3< M >, OpenMesh::Subdivider::Adaptive::Tvv4< M >, OpenMesh::Subdivider::Adaptive::VV< M >, and OpenMesh::Subdivider::Adaptive::VVc< M >.

## 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.

Implemented in 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 >, and OpenMesh::Subdivider::Adaptive::VVc< M >.

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

- OpenMesh/Tools/Subdivider/Adaptive/Composite/CompositeT.hh
- OpenMesh/Tools/Subdivider/Adaptive/Composite/RuleInterfaceT.hh