| OpenMesh

- Main Page
- Related Pages
- Modules
- Namespaces
- Classes
- Files

- Class List
- Class Hierarchy
- Class Members

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
Public Types | Public Member Functions | Protected Member Functions | Protected Attributes | Friends | 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...
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)
Self * | prev_rule ()
void | set_subdiv_rule (Self *&_n)
Self * | subdiv_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_

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

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

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