| ## Public API Reference

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

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

# iParticleSystemBase Struct Reference
[Mesh plugins]

Base properties for particle system. More...

`#include <imesh/particles.h>`

Inheritance diagram for iParticleSystemBase:

[legend]
List of all members.

## Public Member Functions
virtual void | AddEffector (iParticleEffector *effector)=0
| Add an effector to the system. The particle should increment the reference.
virtual void | AddEmitter (iParticleEmitter *emitter)=0
| Add an emitter to the system. The particle should increment the reference.
virtual const csVector3 & | GetCommonDirection () const =0
| Get the common direction.
virtual iParticleEffector * | GetEffector (size_t index) const =0
| Get an effector.
virtual size_t | GetEffectorCount () const =0
| Get total number of effector.
virtual iParticleEmitter * | GetEmitter (size_t index) const =0
| Get an emitter.
virtual size_t | GetEmitterCount () const =0
| Get total number of emitters.
virtual csParticleIntegrationMode | GetIntegrationMode ()=0
| Get particle integration mode.
virtual const csBox3 & | GetMinBoundingBox () const =0
| Get the smallest bounding box particle system should use.
virtual csParticleRenderOrientation | GetParticleRenderOrientation () const =0
| Get particle type.
virtual const csVector2 & | GetParticleSize () const =0
| Get common size of particles.
virtual csParticleRotationMode | GetRotationMode () const =0
| Get particle rotation mode.
virtual csParticleSortMode | GetSortMode () const =0
| Get particle sort mode.
virtual csParticleTransformMode | GetTransformMode () const =0
| Get transform mode.
virtual bool | GetUseIndividualSize () const =0
| Get if particles should use specified or their own size.
virtual void | RemoveEffector (size_t index)=0
| Remove an effector by index.
virtual void | RemoveEmitter (size_t index)=0
| Remove an emitter by index.
virtual void | SetCommonDirection (const csVector3 &direction)=0
| Set the common direction.
virtual void | SetIntegrationMode (csParticleIntegrationMode mode)=0
| Set particle integration mode.
virtual void | SetMinBoundingBox (const csBox3 &box)=0
| Set the smallest bounding box particle system should use.
virtual void | SetParticleRenderOrientation (csParticleRenderOrientation o)=0
| Set particle type generated.
virtual void | SetParticleSize (const csVector2 &size)=0
| Set common size of particles.
virtual void | SetRotationMode (csParticleRotationMode mode)=0
| Set particle rotation mode.
virtual void | SetSortMode (csParticleSortMode mode)=0
| Set particle sort mode.
virtual void | SetTransformMode (csParticleTransformMode mode)=0
| Set transform mode.
virtual void | SetUseIndividualSize (bool individual)=0
| Set if particles should use specified or their own size.

## Detailed Description

Base properties for particle system.

Interface shared between particle system and particle system factories, where the factory will use the values as defaults for newly created particle systems.

Definition at line 376 of file particles.h.

## Member Function Documentation

virtual void iParticleSystemBase::AddEffector | ( | iParticleEffector * | effector | ) | `[pure virtual]`

Add an effector to the system. The particle should increment the reference.

virtual void iParticleSystemBase::AddEmitter | ( | iParticleEmitter * | emitter | ) | `[pure virtual]`

Add an emitter to the system. The particle should increment the reference.

virtual const csVector3& iParticleSystemBase::GetCommonDirection | ( |  | ) | const`[pure virtual]`

Get the common direction.

virtual iParticleEffector* iParticleSystemBase::GetEffector | ( | size_t | index | ) | const`[pure virtual]`

Get an effector.

virtual size_t iParticleSystemBase::GetEffectorCount | ( |  | ) | const`[pure virtual]`

Get total number of effector.

virtual iParticleEmitter* iParticleSystemBase::GetEmitter | ( | size_t | index | ) | const`[pure virtual]`

Get an emitter.

virtual size_t iParticleSystemBase::GetEmitterCount | ( |  | ) | const`[pure virtual]`

Get total number of emitters.

virtual csParticleIntegrationMode iParticleSystemBase::GetIntegrationMode | ( |  | ) | `[pure virtual]`

Get particle integration mode.

virtual const csBox3& iParticleSystemBase::GetMinBoundingBox | ( |  | ) | const`[pure virtual]`

Get the smallest bounding box particle system should use.

virtual csParticleRenderOrientation iParticleSystemBase::GetParticleRenderOrientation | ( |  | ) | const`[pure virtual]`

Get particle type.

virtual const csVector2& iParticleSystemBase::GetParticleSize | ( |  | ) | const`[pure virtual]`

Get common size of particles.

virtual csParticleRotationMode iParticleSystemBase::GetRotationMode | ( |  | ) | const`[pure virtual]`

Get particle rotation mode.

virtual csParticleSortMode iParticleSystemBase::GetSortMode | ( |  | ) | const`[pure virtual]`

Get particle sort mode.

virtual csParticleTransformMode iParticleSystemBase::GetTransformMode | ( |  | ) | const`[pure virtual]`

Get transform mode.

virtual bool iParticleSystemBase::GetUseIndividualSize | ( |  | ) | const`[pure virtual]`

Get if particles should use specified or their own size.

virtual void iParticleSystemBase::RemoveEffector | ( | size_t | index | ) | `[pure virtual]`

Remove an effector by index.

virtual void iParticleSystemBase::RemoveEmitter | ( | size_t | index | ) | `[pure virtual]`

Remove an emitter by index.

virtual void iParticleSystemBase::SetCommonDirection | ( | const csVector3 & | direction | ) | `[pure virtual]`

Set the common direction.

virtual void iParticleSystemBase::SetIntegrationMode | ( | csParticleIntegrationMode | mode | ) | `[pure virtual]`

Set particle integration mode.

virtual void iParticleSystemBase::SetMinBoundingBox | ( | const csBox3 & | box | ) | `[pure virtual]`

Set the smallest bounding box particle system should use.

virtual void iParticleSystemBase::SetParticleRenderOrientation | ( | csParticleRenderOrientation | o | ) | `[pure virtual]`

Set particle type generated.

virtual void iParticleSystemBase::SetParticleSize | ( | const csVector2 & | size | ) | `[pure virtual]`

Set common size of particles.

virtual void iParticleSystemBase::SetRotationMode | ( | csParticleRotationMode | mode | ) | `[pure virtual]`

Set particle rotation mode.

virtual void iParticleSystemBase::SetSortMode | ( | csParticleSortMode | mode | ) | `[pure virtual]`

Set particle sort mode.

virtual void iParticleSystemBase::SetTransformMode | ( | csParticleTransformMode | mode | ) | `[pure virtual]`

Set transform mode.

virtual void iParticleSystemBase::SetUseIndividualSize | ( | bool | individual | ) | `[pure virtual]`

Set if particles should use specified or their own size.

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

- imesh/particles.h