| ## Public API Reference

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

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

# iEmitState Struct Reference

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

`#include <imesh/emit.h>`

Inheritance diagram for iEmitState:

[legend]
List of all members.

## Public Member Functions
virtual void | AddAge (int time, const csColor &color, float alpha, float swirl, float rotspeed, float scale)=0
| Add an aging moment, they are interpolated.
virtual int | GetAgingCount () const =0
| Get the number of aging moments.
virtual void | GetAgingMoment (int i, int &time, csColor &color, float &alpha, float &swirl, float &rotspeed, float &scale)=0
| get the settings of aging moment i (0..number-1)
virtual iEmitGen3D * | GetAttractorEmit () const =0
| get the particle attrator emitter. Null means no attractor.
virtual float | GetAttractorForce () const =0
| Get the force of the attractor.
virtual bool | GetContainerBox (csVector3 &min, csVector3 &max) const =0
| Get container box, particles are only allowed inside this box.
virtual iEmitGen3D * | GetFieldAccelEmit () const =0
| get field accel emitter, can be 0
virtual iEmitGen3D * | GetFieldSpeedEmit () const =0
| get field speed emitter, can be 0
virtual bool | GetLighting () const =0
| See if lighting is enabled.
virtual size_t | GetParticleCount () const =0
| Get the number of particles used.
virtual int | GetParticleTime () const =0
| Get the time to live for all particles, in msec.
virtual void | GetRectParticles (float &w, float &h) const =0
| get the size of rect particles;
virtual void | GetRegularParticles (int &n, float &radius) const =0
| Get the regular shaped particles sides and radius.
virtual iEmitGen3D * | GetStartAccelEmit () const =0
| get the particle start acceleration emitter
virtual iEmitGen3D * | GetStartPosEmit () const =0
| get the particle start position emitter
virtual iEmitGen3D * | GetStartSpeedEmit () const =0
| get the particle start speed emitter
virtual void | RemoveAge (int time, const csColor &color, float alpha, float swirl, float rotspeed, float scale)=0
| remove an aging moment
virtual void | ReplaceAge (int time, const csColor &color, float alpha, float swirl, float rotspeed, float scale)=0
| replace the settings for the age at the timepoint given.
virtual void | SetAttractorEmit (iEmitGen3D *emit)=0
| set the particle attrator emitter, increfs. Position is given.
virtual void | SetAttractorForce (float f)=0
| Set the force of the attractor (negative gives repulsion).
virtual void | SetContainerBox (bool enabled, const csVector3 &min, const csVector3 &max)=0
| Set container box, particles are only allowed inside this box.
virtual void | SetFieldAccelEmit (iEmitGen3D *emit)=0
| Set the field accel emitter, increfs (given position determines accel).
virtual void | SetFieldSpeedEmit (iEmitGen3D *emit)=0
| Set the field speed emitter, increfs (given position determines speed).
virtual void | SetLighting (bool l)=0
| Enable or disable lighting.
virtual void | SetParticleCount (int num)=0
| Set the number of particles to use.
virtual void | SetParticleTime (int ttl)=0
| Set the time to live for all particles, in msec.
virtual void | SetRectParticles (float w, float h)=0
| Set the particle system to use rectangular particles, given w, h.
virtual void | SetRegularParticles (int n, float radius)=0
| Set the particle system to use regular shaped particles.
virtual void | SetStartAccelEmit (iEmitGen3D *emit)=0
| set the particle start acceleration emitter, increfs. Position is given.
virtual void | SetStartPosEmit (iEmitGen3D *emit)=0
| set the particle start position emitter, increfs
virtual void | SetStartSpeedEmit (iEmitGen3D *emit)=0
| set the particle start speed emitter, increfs. The position is given.
virtual bool | UsingRectParticles () const =0
| true if using rect particles. false if using regular particles.

## Detailed Description

This interface describes the API for the emitter mesh object.

Main creators of instances implementing this interface:

- Emit mesh object plugin (crystalspace.mesh.object.emit)
- iMeshObjectFactory::NewInstance()

Main ways to get pointers to this interface:

- scfQueryInterface() on iMeshWrapper::GetMeshObject()

Main users of this interface:

- Emit Loader plugin (crystalspace.mesh.loader.emit)

Definition at line 293 of file emit.h.

## Member Function Documentation

virtual void iEmitState::AddAge | ( | int | time,
|  | const csColor & | color,
|  | float | alpha,
|  | float | swirl,
|  | float | rotspeed,
|  | float | scale |
| ) |  |  | `[pure virtual]`

Add an aging moment, they are interpolated.

time is the time since creation of the particle in msec. color is a gouraud color to set the particle to. (0..1) alpha can be used to make the particles transparent. the value 0 is a solid particle, the value 1 is an invisible particle the swirl value gives a swirlyness of the movement of the particle. rotspeed is the rotationspeed of the particle (per second). scale is the size of the particle at the time

virtual int iEmitState::GetAgingCount | ( |  | ) | const`[pure virtual]`

Get the number of aging moments.

virtual void iEmitState::GetAgingMoment | ( | int | i,
|  | int & | time,
|  | csColor & | color,
|  | float & | alpha,
|  | float & | swirl,
|  | float & | rotspeed,
|  | float & | scale |
| ) |  |  | `[pure virtual]`

get the settings of aging moment i (0..number-1)

virtual iEmitGen3D* iEmitState::GetAttractorEmit | ( |  | ) | const`[pure virtual]`

get the particle attrator emitter. Null means no attractor.

virtual float iEmitState::GetAttractorForce | ( |  | ) | const`[pure virtual]`

Get the force of the attractor.

virtual bool iEmitState::GetContainerBox | ( | csVector3 & | min,
|  | csVector3 & | max |
| ) |  |  | const`[pure virtual]`

Get container box, particles are only allowed inside this box.

returns true if the container box is enabled. Objects outside this box are not drawn. But they are also not restarted, since that would cause many short-aged particles.

virtual iEmitGen3D* iEmitState::GetFieldAccelEmit | ( |  | ) | const`[pure virtual]`

get field accel emitter, can be 0

virtual iEmitGen3D* iEmitState::GetFieldSpeedEmit | ( |  | ) | const`[pure virtual]`

get field speed emitter, can be 0

virtual bool iEmitState::GetLighting | ( |  | ) | const`[pure virtual]`

See if lighting is enabled.

virtual size_t iEmitState::GetParticleCount | ( |  | ) | const`[pure virtual]`

Get the number of particles used.

virtual int iEmitState::GetParticleTime | ( |  | ) | const`[pure virtual]`

Get the time to live for all particles, in msec.

virtual void iEmitState::GetRectParticles | ( | float & | w,
|  | float & | h |
| ) |  |  | const`[pure virtual]`

get the size of rect particles;

virtual void iEmitState::GetRegularParticles | ( | int & | n,
|  | float & | radius |
| ) |  |  | const`[pure virtual]`

Get the regular shaped particles sides and radius.

virtual iEmitGen3D* iEmitState::GetStartAccelEmit | ( |  | ) | const`[pure virtual]`

get the particle start acceleration emitter

virtual iEmitGen3D* iEmitState::GetStartPosEmit | ( |  | ) | const`[pure virtual]`

get the particle start position emitter

virtual iEmitGen3D* iEmitState::GetStartSpeedEmit | ( |  | ) | const`[pure virtual]`

get the particle start speed emitter

virtual void iEmitState::RemoveAge | ( | int | time,
|  | const csColor & | color,
|  | float | alpha,
|  | float | swirl,
|  | float | rotspeed,
|  | float | scale |
| ) |  |  | `[pure virtual]`

remove an aging moment

virtual void iEmitState::ReplaceAge | ( | int | time,
|  | const csColor & | color,
|  | float | alpha,
|  | float | swirl,
|  | float | rotspeed,
|  | float | scale |
| ) |  |  | `[pure virtual]`

replace the settings for the age at the timepoint given.

virtual void iEmitState::SetAttractorEmit | ( | iEmitGen3D * | emit | ) | `[pure virtual]`

set the particle attrator emitter, increfs. Position is given.

virtual void iEmitState::SetAttractorForce | ( | float | f | ) | `[pure virtual]`

Set the force of the attractor (negative gives repulsion).

virtual void iEmitState::SetContainerBox | ( | bool | enabled,
|  | const csVector3 & | min,
|  | const csVector3 & | max |
| ) |  |  | `[pure virtual]`

Set container box, particles are only allowed inside this box.

virtual void iEmitState::SetFieldAccelEmit | ( | iEmitGen3D * | emit | ) | `[pure virtual]`

Set the field accel emitter, increfs (given position determines accel).

virtual void iEmitState::SetFieldSpeedEmit | ( | iEmitGen3D * | emit | ) | `[pure virtual]`

Set the field speed emitter, increfs (given position determines speed).

virtual void iEmitState::SetLighting | ( | bool | l | ) | `[pure virtual]`

Enable or disable lighting.

virtual void iEmitState::SetParticleCount | ( | int | num | ) | `[pure virtual]`

Set the number of particles to use.

virtual void iEmitState::SetParticleTime | ( | int | ttl | ) | `[pure virtual]`

Set the time to live for all particles, in msec.

virtual void iEmitState::SetRectParticles | ( | float | w,
|  | float | h |
| ) |  |  | `[pure virtual]`

Set the particle system to use rectangular particles, given w, h.

virtual void iEmitState::SetRegularParticles | ( | int | n,
|  | float | radius |
| ) |  |  | `[pure virtual]`

Set the particle system to use regular shaped particles.

virtual void iEmitState::SetStartAccelEmit | ( | iEmitGen3D * | emit | ) | `[pure virtual]`

set the particle start acceleration emitter, increfs. Position is given.

virtual void iEmitState::SetStartPosEmit | ( | iEmitGen3D * | emit | ) | `[pure virtual]`

set the particle start position emitter, increfs

virtual void iEmitState::SetStartSpeedEmit | ( | iEmitGen3D * | emit | ) | `[pure virtual]`

set the particle start speed emitter, increfs. The position is given.

virtual bool iEmitState::UsingRectParticles | ( |  | ) | const`[pure virtual]`

true if using rect particles. false if using regular particles.

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

- imesh/emit.h