| ## Public API Reference

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

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

# iImposter Struct Reference
[Crystal Space 3D Engine]

iImposter defines the interface a mesh (or other) class must implement to be used as imposter mesh by the engine. More...

`#include <iengine/imposter.h>`

Inheritance diagram for iImposter:

[legend]
List of all members.

## Public Member Functions
virtual void | CreateImposter (csReversibleTransform &pov)=0
| Tells the object to create its proctex and polygon for use by main render process later.
virtual void | SetImposterActive (bool flag)=0
| Self explanatory.
virtual void | SetMinDistance (iSharedVariable *dist)=0
| Minimum Imposter Distance is the distance from camera beyond which imposter is used.
virtual void | SetRotationTolerance (iSharedVariable *angle)=0
| Rotation Tolerance is the maximum allowable angle difference between when the imposter was created and the current position of the camera.
virtual bool | WouldUseImposter (csReversibleTransform &pov) const =0
| Determine if imposter or true rendering will be used.

## Detailed Description

iImposter defines the interface a mesh (or other) class must implement to be used as imposter mesh by the engine.

Definition at line 39 of file imposter.h.

## Member Function Documentation

virtual void iImposter::CreateImposter | ( | csReversibleTransform & | pov | ) | `[pure virtual]`

Tells the object to create its proctex and polygon for use by main render process later.

virtual void iImposter::SetImposterActive | ( | bool | flag | ) | `[pure virtual]`

Self explanatory.

virtual void iImposter::SetMinDistance | ( | iSharedVariable * | dist | ) | `[pure virtual]`

Minimum Imposter Distance is the distance from camera beyond which imposter is used.

Imposter gets a ptr here because value is a shared variable which can be changed at runtime for many objects.

virtual void iImposter::SetRotationTolerance | ( | iSharedVariable * | angle | ) | `[pure virtual]`

Rotation Tolerance is the maximum allowable angle difference between when the imposter was created and the current position of the camera.

Angle greater than this triggers a re-render of the imposter.

virtual bool iImposter::WouldUseImposter | ( | csReversibleTransform & | pov | ) | const`[pure virtual]`

Determine if imposter or true rendering will be used.

private: virtual void Draw(iRenderView* rview) = 0;

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

- iengine/imposter.h