# I3DParticleEmitter Struct Reference
[External Interfaces]

Inheritance diagram for I3DParticleEmitter:

List of all members.

## Public Types
enum | EParticleProp { kProp_Age = 0, kProp_Size, kProp_Mass, kProp_Speed, kProp_Order, kProp_Last = 0xffffffff }
| Define a particle property. More...
## Public Member Functions
virtual real MCCOMAPI | GetParticleColorInterpolant (uint32 ParticleNb)=0
virtual void MCCOMAPI | UpdateToCurrentTime ()=0
virtual real MCCOMAPI | GetParticleColorInterpolant (uint32 ParticleNb, EParticleProp property)=0
virtual void MCCOMAPI | ChangeLocalSpaceInHit (uint32 ParticleNb, RayHit3D &hit)=0
virtual boolean MCCOMAPI | IsSceneDependent ()=0
virtual void MCCOMAPI | GetCurrentState (MicroTick &simulationTime)=0
virtual void MCCOMAPI | UpdateSimulation (MicroTick time, MicroTick maxDelta, const TTransform3D &emitterTransform)=0
virtual void MCCOMAPI | BeginRendering ()=0
virtual void MCCOMAPI | EndRendering ()=0

## Detailed Description

This interface just gives us a way to safely cast into a particle emitter.

Parameters:

  | ParticleNb |

## Member Enumeration Documentation

enum I3DParticleEmitter::EParticleProp

Define a particle property.

Enumerator:

  kProp_Age | Age of the particle.
  kProp_Size | Size of the particle.
  kProp_Mass | Mass of the particle.
  kProp_Speed | Velocity of the particle.
  kProp_Order | Index of the particle.
  kProp_Last |

## Member Function Documentation

virtual void MCCOMAPI I3DParticleEmitter::BeginRendering | ( |  | ) | `[pure virtual]`

Called just before a rendering

virtual void MCCOMAPI I3DParticleEmitter::ChangeLocalSpaceInHit | ( | uint32 | ParticleNb,
|  | RayHit3D & | hit |
| ) |  |  | `[pure virtual]`

Set local space in hit to match particle's space and not emitter's space

Parameters:

  | ParticleNb | Index of the particle
  | hit | The hit to modify

virtual void MCCOMAPI I3DParticleEmitter::EndRendering | ( |  | ) | `[pure virtual]`

Called just after a rendering

virtual void MCCOMAPI I3DParticleEmitter::GetCurrentState | ( | MicroTick & | simulationTime | ) | `[pure virtual]`

Returns the state of the current particle simulation that is to say the time up to which the simulation has been calculated.

Parameters:

  | simulationTime | Reference to where the time should be stored

virtual real MCCOMAPI I3DParticleEmitter::GetParticleColorInterpolant | ( | uint32 | ParticleNb,
|  | EParticleProp | property |
| ) |  |  | `[pure virtual]`

Return the color between 0 and 1 of a particle property

Parameters:

  | ParticleNb | Index of the particle
  | property | Type of property to pick

virtual real MCCOMAPI I3DParticleEmitter::GetParticleColorInterpolant | ( | uint32 | ParticleNb | ) | `[pure virtual]`

virtual boolean MCCOMAPI I3DParticleEmitter::IsSceneDependent | ( |  | ) | `[pure virtual]`

Returns true if the particle system needs the scene to be updated during the simulation (free particles).

virtual void MCCOMAPI I3DParticleEmitter::UpdateSimulation | ( | MicroTick | time,
|  | MicroTick | maxDelta,
|  | const TTransform3D & | emitterTransform |
| ) |  |  | `[pure virtual]`

Update the particle system up to a new time. Time must be superior or equal to the time returned by GetCurrentState.

Parameters:

  | time | Target time for the particule simulation
  | maxDelta | Maximum time before next simulation
  | emitterTransform | The transform of the emitter at the target time

virtual void MCCOMAPI I3DParticleEmitter::UpdateToCurrentTime | ( |  | ) | `[pure virtual]`

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

- I3DParticleEmiter.h
- I3DParticleEmitter.h