Developer Documentation

Classes | Namespaces | Macros
ModBaseT.hh File Reference
`#include <OpenMesh/Core/Utils/Noncopyable.hh>`
`#include <OpenMesh/Tools/Decimater/CollapseInfoT.hh>`
`#include <string>`

Go to the source code of this file.

## Classes
class | OpenMesh::Decimater::BaseDecimaterT< MeshT >
class | OpenMesh::Decimater::ModHandleT< Module >
class | OpenMesh::Decimater::ModBaseT< MeshT >

## Namespaces
| OpenMesh
| OpenMesh::Decimater

## Macros
#define | DECIMATER_MODNAME(_mod_name)
#define | DECIMATING_MODULE(Classname, MeshT, Name)

## Detailed Description

Base class for all decimation modules.

Definition in file ModBaseT.hh.

## Macro Definition Documentation

## ◆ DECIMATER_MODNAME

#define DECIMATER_MODNAME | ( |  | _mod_name | ) |

Value:
virtual const std::string& name() const override { \
static std::string _s_modname_(#_mod_name); return _s_modname_; \
}

Macro that sets up the name() function

Definition at line 130 of file ModBaseT.hh.

## ◆ DECIMATING_MODULE

#define DECIMATING_MODULE | ( |  | Classname,
|  |  | MeshT,
|  |  | Name
| ) |  |

Value:
typedef Classname < MeshT > Self; \
typedef OpenMesh::Decimater::ModHandleT< Self > Handle; \
typedef OpenMesh::Decimater::ModBaseT< MeshT > Base; \
typedef typename Base::Mesh Mesh; \
typedef typename Base::CollapseInfo CollapseInfo; \
DECIMATER_MODNAME( Name )
OpenMesh::Decimater::ModHandleT
Definition: ModBaseT.hh:83
OpenMesh::Decimater::ModBaseT
Definition: ModBaseT.hh:192
OpenMesh::TriMesh_ArrayKernelT
Definition: PolyMesh_ArrayKernelT.hh:73

Convenience macro, to be used in derived modules The macro defines the types

- `Handle`, type of the module's handle.
- `Base`, type of ModBaseT<>.
- `Mesh`, type of the associated mesh passed by the decimater type.
- `CollapseInfo`, to your convenience and uses DECIMATER_MODNAME() to define the name of the module.

Parameters

  Classname | The name of the derived class.
  MeshT | Pass here the mesh type, which is the template parameter passed to ModBaseT.
  Name | Give the module a name.

Definition at line 149 of file ModBaseT.hh.