| OpenMesh

Classes | Namespaces | Macros
ModBaseT.hh File Reference

Base class for all decimation modules. More...

`#include <OpenMesh/Core/Utils/Noncopyable.hh>`
`#include <OpenMesh/Tools/Decimater/CollapseInfoT.hh>`
`#include <string>`
Include dependency graph for ModBaseT.hh:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

## Classes
class | OpenMesh::Decimater::BaseDecimaterT< MeshT >
class | OpenMesh::Decimater::ModHandleT< Module >
| Handle for mesh decimation modules. More...
class | OpenMesh::Decimater::ModBaseT< MeshT >
| Base class for all decimation modules. More...

## Namespaces
| OpenMesh
| Contains all the mesh ingredients like the polygonal mesh, the triangle mesh, different mesh kernels and mesh traits.
| OpenMesh::Decimater
| Software related to mesh decimation.

## Macros
#define | DECIMATER_MODNAME(_mod_name)
| Macro that sets up the name() function. More...
#define | DECIMATING_MODULE(Classname, MeshT, Name)
| Convenience macro, to be used in derived modules The macro defines the types. More...

## Detailed Description

Base class for all decimation modules.

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

## ◆ 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::ModBaseT
Base class for all decimation modules.
Definition: ModBaseT.hh:192
OpenMesh::Decimater::ModHandleT
Handle for mesh decimation modules.
Definition: ModBaseT.hh:83

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.