| ## Public API Reference

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

- Alphabetical List
- Class List
- Class Hierarchy
- Class Members

# csMeshFactory Class Reference

This is the abstract implementation of iMeshObjectFactory. More...

`#include <cstool/meshobjtmpl.h>`

Inheritance diagram for csMeshFactory:

[legend]
List of all members.

## Public Member Functions
| csMeshFactory (iEngine *engine, iObjectRegistry *object_reg, iMeshObjectType *parent)
| Constructor.
virtual csFlags & | GetFlags ()
| See imesh/object.h for specification.
virtual iMaterialWrapper * | GetMaterialWrapper () const
| Get the material of the factory.
virtual iMeshFactoryWrapper * | GetMeshFactoryWrapper () const
| See imesh/object.h for specification.
virtual iMeshObjectType * | GetMeshObjectType () const
| Get the ObjectType for this mesh factory.
virtual uint | GetMixMode () const
| Get mix mode.
virtual iObjectModel * | GetObjectModel ()
| See imesh/object.h for specification.
iObjectRegistry * | GetObjectRegistry ()
| Get the object registry.
virtual void | HardTransform (const csReversibleTransform &t)
| See imesh/object.h for specification.
virtual csPtr< iMeshObject > | NewInstance ()=0
| See imesh/object.h for specification.
virtual bool | SetMaterialWrapper (iMaterialWrapper *)
| Set the material of the mesh.
virtual void | SetMeshFactoryWrapper (iMeshFactoryWrapper *logparent)
| See imesh/object.h for specification.
virtual void | SetMixMode (uint)
| Set mix mode. Note that not all meshes may support this.
virtual bool | SupportsHardTransform () const
| See imesh/object.h for specification.
virtual | ~csMeshFactory ()
| destructor
## Protected Attributes
iEngine * | Engine
| Pointer to the engine if available.
csFlags | flags
| Flags.
iMeshFactoryWrapper * | LogParent
| Logical parent (usually the wrapper object from the engine).
iMeshObjectType * | mesh_type
| Pointer to the MeshObjectType.
iObjectRegistry * | object_reg
| Object registry.

## Detailed Description

This is the abstract implementation of iMeshObjectFactory.

Like csMeshObject, it stores a pointer to the "logical parent".

Definition at line 276 of file meshobjtmpl.h.

## Constructor & Destructor Documentation

csMeshFactory::csMeshFactory | ( | iEngine * | engine,
|  | iObjectRegistry * | object_reg,
|  | iMeshObjectType * | parent |
| ) |  |  |

Constructor.

virtual csMeshFactory::~csMeshFactory | ( |  | ) | `[virtual]`

destructor

## Member Function Documentation

virtual csFlags& csMeshFactory::GetFlags | ( |  | ) | `[inline, virtual]`

See imesh/object.h for specification.

Implements iMeshObjectFactory.

Definition at line 310 of file meshobjtmpl.h.

virtual iMaterialWrapper* csMeshFactory::GetMaterialWrapper | ( |  | ) | const`[inline, virtual]`

Get the material of the factory.

If not supported this will return 0.

Implements iMeshObjectFactory.

Definition at line 353 of file meshobjtmpl.h.

virtual iMeshFactoryWrapper* csMeshFactory::GetMeshFactoryWrapper | ( |  | ) | const`[virtual]`

See imesh/object.h for specification.

This function is handled completely in csMeshObject.

Implements iMeshObjectFactory.

virtual iMeshObjectType* csMeshFactory::GetMeshObjectType | ( |  | ) | const`[virtual]`

Get the ObjectType for this mesh factory.

Implements iMeshObjectFactory.

virtual uint csMeshFactory::GetMixMode | ( |  | ) | const`[inline, virtual]`

Get mix mode.

Implements iMeshObjectFactory.

Definition at line 355 of file meshobjtmpl.h.

virtual iObjectModel* csMeshFactory::GetObjectModel | ( |  | ) | `[inline, virtual]`

See imesh/object.h for specification.

Implements iMeshObjectFactory.

Definition at line 350 of file meshobjtmpl.h.

iObjectRegistry* csMeshFactory::GetObjectRegistry | ( |  | ) | `[inline]`

Get the object registry.

Definition at line 302 of file meshobjtmpl.h.

virtual void csMeshFactory::HardTransform | ( | const csReversibleTransform & | t | ) | `[virtual]`

See imesh/object.h for specification.

The default implementation does nothing.

Implements iMeshObjectFactory.

virtual csPtr<iMeshObject> csMeshFactory::NewInstance | ( |  | ) | `[pure virtual]`

See imesh/object.h for specification.

There is no default implementation for this method.

Implements iMeshObjectFactory.

virtual bool csMeshFactory::SetMaterialWrapper | ( | iMaterialWrapper * |  | ) | `[inline, virtual]`

Set the material of the mesh.

This only works for single-material factories. If not supported this function will return false.

Implements iMeshObjectFactory.

Definition at line 352 of file meshobjtmpl.h.

virtual void csMeshFactory::SetMeshFactoryWrapper | ( | iMeshFactoryWrapper * | logparent | ) | `[virtual]`

See imesh/object.h for specification.

This function is handled completely in csMeshObject.

Implements iMeshObjectFactory.

virtual void csMeshFactory::SetMixMode | ( | uint |  | ) | `[inline, virtual]`

Set mix mode. Note that not all meshes may support this.

Implements iMeshObjectFactory.

Definition at line 354 of file meshobjtmpl.h.

virtual bool csMeshFactory::SupportsHardTransform | ( |  | ) | const`[virtual]`

See imesh/object.h for specification.

The default implementation returns false.

Implements iMeshObjectFactory.

## Member Data Documentation

iEngine* csMeshFactory::Engine`[protected]`

Pointer to the engine if available.

Definition at line 287 of file meshobjtmpl.h.

csFlags csMeshFactory::flags`[protected]`

Flags.

Definition at line 293 of file meshobjtmpl.h.

iMeshFactoryWrapper* csMeshFactory::LogParent`[protected]`

Logical parent (usually the wrapper object from the engine).

Definition at line 281 of file meshobjtmpl.h.

iMeshObjectType* csMeshFactory::mesh_type`[protected]`

Pointer to the MeshObjectType.

Definition at line 284 of file meshobjtmpl.h.

iObjectRegistry* csMeshFactory::object_reg`[protected]`

Object registry.

Definition at line 290 of file meshobjtmpl.h.

The documentation for this class was generated from the following file:

- cstool/meshobjtmpl.h