| ## Public API Reference

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

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

# iInstancingMeshState Struct Reference
[Mesh plugins]

This interface describes the API for the instancing mesh object. More...

`#include <imesh/instmesh.h>`

Inheritance diagram for iInstancingMeshState:

[legend]
List of all members.

## Public Member Functions
virtual size_t | AddInstance (const csReversibleTransform &trans)=0
| Add an instance.
virtual const csReversibleTransform & | GetInstanceTransform (size_t id)=0
| Get instance transform.
virtual void | MoveInstance (size_t id, const csReversibleTransform &trans)=0
| Move an instance.
virtual void | RemoveAllInstances ()=0
| Remove all instances.
virtual void | RemoveInstance (size_t id)=0
| Remove an instance.

## Detailed Description

This interface describes the API for the instancing mesh object.

Main creators of instances implementing this interface:

- Instmesh mesh object plugin (crystalspace.mesh.object.instmesh)
- iMeshObjectFactory::NewInstance()

Main ways to get pointers to this interface:

- scfQueryInterface() on iMeshWrapper::GetMeshObject()

Main users of this interface:

- Instmesh Loader plugin (crystalspace.mesh.loader.instmesh)

Definition at line 98 of file instmesh.h.

## Member Function Documentation

virtual size_t iInstancingMeshState::AddInstance | ( | const csReversibleTransform & | trans | ) | `[pure virtual]`

Add an instance.

Returns an ID to identify that instance.

virtual const csReversibleTransform& iInstancingMeshState::GetInstanceTransform | ( | size_t | id | ) | `[pure virtual]`

Get instance transform.

virtual void iInstancingMeshState::MoveInstance | ( | size_t | id,
|  | const csReversibleTransform & | trans |
| ) |  |  | `[pure virtual]`

Move an instance.

virtual void iInstancingMeshState::RemoveAllInstances | ( |  | ) | `[pure virtual]`

Remove all instances.

virtual void iInstancingMeshState::RemoveInstance | ( | size_t | id | ) | `[pure virtual]`

Remove an instance.

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

- imesh/instmesh.h