| ## Public API Reference

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

- File List
- File Members

# cstool/meshobjtmpl.h File Reference

Base implementation of iMeshObject. More...

`#include "csextern.h"`
`#include "csgeom/box.h"`
`#include "cstool/objmodel.h"`
`#include "csutil/flags.h"`
`#include "csutil/refarr.h"`
`#include "csutil/scf_implementation.h"`
`#include "ivideo/graph3d.h"`
`#include "imesh/object.h"`
`#include "iutil/comp.h"`
`#include "csutil/win32/msvc_deprecated_warn_off.h"`
`#include "csutil/win32/msvc_deprecated_warn_on.h"`

Go to the source code of this file.

## Classes
class | csMeshFactory
| This is the abstract implementation of iMeshObjectFactory. More...
class | csMeshObject
| This is an abstract implementation of iMeshObject. More...
class | csMeshType
| This is the abstract implementation of iMeshObjectType. More...
## Defines
#define | CS_DECLARE_SIMPLE_MESH_FACTORY(name, meshclass)
| Declare a simple mesh factory class.
#define | CS_DECLARE_SIMPLE_MESH_PLUGIN(name, factclass)
| Declare a simple mesh type plugin.

## Detailed Description

Base implementation of iMeshObject.

Definition in file meshobjtmpl.h.

## Define Documentation

#define CS_DECLARE_SIMPLE_MESH_FACTORY | ( | name,
|  | meshclass |  | ) |

Value:

    class name : public csMeshFactory {                                       \
      public:                                                                   \
        name (iEngine *e, iObjectRegistry* reg, iMeshObjectType* type)          \
        : csMeshFactory (e, reg, type) {}                                       \
        virtual csPtr<iMeshObject> NewInstance ()                               \
        { return new meshclass (Engine, this); }                                \
        virtual csPtr<iMeshObjectFactory> Clone () { return 0; }                \
      };

Declare a simple mesh factory class.

Definition at line 43 of file meshobjtmpl.h.

#define CS_DECLARE_SIMPLE_MESH_PLUGIN | ( | name,
|  | factclass |  | ) |

Value:

    class name : public csMeshType {                                          \
      public:                                                                   \
        name (iBase *p) : csMeshType (p) {}                                     \
        virtual csPtr<iMeshObjectFactory> NewFactory ()                         \
        { return new factclass (Engine, object_reg, this); }                    \
      };

Declare a simple mesh type plugin.

Definition at line 54 of file meshobjtmpl.h.