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

| OpenMesh

Public Types | Public Member Functions | Protected Member Functions | List of all members
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. More...
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

## ◆ 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::EdEc< M >, OpenMesh::Subdivider::Adaptive::EdE< M >, OpenMesh::Subdivider::Adaptive::FE< M >, OpenMesh::Subdivider::Adaptive::EF< M >, OpenMesh::Subdivider::Adaptive::EVc< M >, OpenMesh::Subdivider::Adaptive::EV< M >, OpenMesh::Subdivider::Adaptive::VdEc< M >, OpenMesh::Subdivider::Adaptive::VdE< M >, OpenMesh::Subdivider::Adaptive::VE< M >, OpenMesh::Subdivider::Adaptive::VVc< M >, OpenMesh::Subdivider::Adaptive::VV< M >, OpenMesh::Subdivider::Adaptive::FVc< M >, OpenMesh::Subdivider::Adaptive::FV< M >, OpenMesh::Subdivider::Adaptive::FFc< M >, OpenMesh::Subdivider::Adaptive::FF< M >, OpenMesh::Subdivider::Adaptive::VF< M >, OpenMesh::Subdivider::Adaptive::Tvv4< M >, and OpenMesh::Subdivider::Adaptive::Tvv3< 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