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

- File List
- File Members

# Tools/Decimater/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>`

Go to the source code of this file.

## Namespaces
namespace | OpenMesh
namespace | OpenMesh::Decimater
## Classes
class | OpenMesh::Decimater::ModHandleT< Module >
| Handle for mesh decimation modules. More...
class | OpenMesh::Decimater::ModBaseT< DecimaterType >
| Base class for all decimation modules. More...
## Defines
#define | DECIMATER_MODNAME(_mod_name)
| Macro that sets up the name() function.
#define | DECIMATING_MODULE(Classname, DecimaterT, Name)
| Convenience macro, to be used in derived modules The macro defines the types `Handle`, type of the module's handle.

## Detailed Description

Base class for all decimation modules.

## Define Documentation

#define DECIMATER_MODNAME | ( | _mod_name |  | ) |

Value:

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

Macro that sets up the name() function.

For internal use only.

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

Value:

    typedef Classname < DecimaterT >    Self;               \
      typedef OpenMesh::Decimater::ModHandleT< Self >     Handle; \
      typedef OpenMesh::Decimater::ModBaseT< DecimaterT > Base;   \
      typedef typename Base::Mesh         Mesh;             \
      typedef typename Base::CollapseInfo CollapseInfo;     \
      DECIMATER_MODNAME( Name )

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.
  | DecimaterT | Pass here the decimater type, which is the template parameter passed to ModBaseT.
  | Name | Give the module a name.