## Public API Reference

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

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

# iParticlesStateBase Struct Reference
[Mesh plugins, Mesh plugins]

Particles shared state interface. More...

`#include <imesh/particles.h>`

Inheritance diagram for iParticlesStateBase:

[legend]
List of all members.

## Public Member Functions

virtual void | AddColor (csColor4 color)=0
| Add a color to the gradient.
virtual void | ClearColors ()=0
| Clear the color gradient.
virtual void | EnableZSort (bool en)=0
| Set Z sorting enabled.
virtual float | GetBaseHeat ()=0
| Get the base heat (for heat color method).
virtual iParticlesColorCallback * | GetColorCallback ()=0
| Get the color callback. Returns null if no callback has been set.
virtual float | GetColorLoopTime ()=0
| Get the loop time (for looping color method).
virtual void | GetConstantColor (csColor4 &color)=0
| Get the constant color (for constant color method).
virtual float | GetDampener ()=0
| Set the dampener (air viscosity).
virtual float | GetDiffusion ()=0
| Get the diffusion amount.
virtual float | GetEmitTime ()=0
| Get emit time.
virtual csParticleEmitType | GetEmitType ()=0
| Get the emitter type.
virtual float | GetEmitXSize ()=0
| Get the X size for a plane or box emitter.
virtual float | GetEmitYSize ()=0
| Get the Y size for a plane or box emitter.
virtual float | GetEmitZSize ()=0
| Get the Z size for a plane or box emitter.
virtual void | GetFalloffType (csParticleFalloffType &force, csParticleFalloffType &cone)=0
| Get the force falloff types.
virtual float | GetForce ()=0
| Get the force amount.
virtual float | GetForceConeRadius ()=0
| Get the force cone radius.
virtual void | GetForceDirection (csVector3 &dir)=0
| Get the force direction.
virtual void | GetForceDirectionVariation (csVector3 &dirvar)=0
| Get the force direction variation.
virtual float | GetForceRange ()=0
| Get force range.
virtual csParticleForceType | GetForceType ()=0
| Get the force type.
virtual const csArray< csColor4 > & | GetGradient ()=0
| Get the color gradient.
virtual void | GetGravity (csVector3 &gravity)=0
| Get the gravity vector.
virtual int | GetInitialParticleCount ()=0
| Get the initial particle burst count.
virtual float | GetMass ()=0
| Get the particle mass.
virtual float | GetMassVariation ()=0
| Get the random variation in particle mass.
virtual uint | GetMixMode () const =0
| Get mix mode.
virtual csParticleColorMethod | GetParticleColorMethod ()=0
| Get the particle color method.
virtual float | GetParticleRadius ()=0
| Get the particle radius.
virtual int | GetParticlesPerSecond ()=0
| Get the particles emitted per second count.
virtual float | GetSphereEmitInnerRadius ()=0
| Get the inner radius for a sphere emitter.
virtual float | GetSphereEmitOuterRadius ()=0
| Get the outer radius for a sphere emitter.
virtual float | GetTimeToLive ()=0
| Get time to live.
virtual float | GetTimeVariation ()=0
| Get the time variation.
virtual bool | GetTransformMode ()=0
| Returns true if this particle object uses transform mode.
virtual bool | IsZSortEnabled () const =0
| Return true if Z sorting is enabled.
virtual void | SetBoxEmitType (float x_size, float y_size, float z_size)=0
| Set the emitter type to a box (which can be rotated).
virtual void | SetColorCallback (iParticlesColorCallback *)=0
| Set the color method to use a callback.
virtual void | SetConeForceType (const csVector3 &direction, const csVector3 &direction_variation, float range, csParticleFalloffType falloff, float radius, csParticleFalloffType radius_falloff)=0
| Set a cone force type.
virtual void | SetConstantColorMethod (csColor4 color)=0
| Set the color method to a constant color.
virtual void | SetCylinderEmitType (float radius, float height)=0
| Set the emitter type to a cylinder (which can be rotated).
virtual void | SetDampener (float damp)=0
| Set the dampener (air viscosity).
virtual void | SetDiffusion (float size)=0
| Set the diffusion amount (random walk) in CS units per second.
virtual void | SetEmitTime (float time)=0
| How many seconds the emitter will be emitting.
virtual void | SetForce (float force)=0
| Set the force amount.
virtual void | SetGravity (const csVector3 &gravity)=0
| Set the gravity vector to effect this particle set.
virtual void | SetHeatColorMethod (int base_temp)=0
| Set the color method to use heat (calculated by the physics plugin).
virtual void | SetInitialParticleCount (int count)=0
| Set the initial particle burst count.
virtual void | SetLinearColorMethod ()=0
| Set the color method to linear color (based on time to live using the gradient (specified above using ClearColors() and AddColor() ).
virtual void | SetLinearForceType (const csVector3 &direction, const csVector3 &direction_variation, float range, csParticleFalloffType falloff)=0
| Set a linear force type.
virtual void | SetLoopingColorMethod (float seconds)=0
| Set the color method to looping color (loops forever, cycling once per seconds specified).
virtual void | SetMass (float mass)=0
| Set the individual particle mass.
virtual void | SetMassVariation (float variation)=0
| Set the random variation in particle mass.
virtual void | SetMixMode (uint mode)=0
| Set mix mode.
virtual void | SetParticleRadius (float radius)=0
| Set the point radius.
virtual void | SetParticlesPerSecond (int count)=0
| Sets the particles to be emitted per second.
virtual void | SetPlaneEmitType (float x_size, float y_size)=0
| Set the emitter type to a plane (which can be rotated).
virtual void | SetPointEmitType ()=0
| Set the emitter type to a point.
virtual void | SetRadialForceType (float range, csParticleFalloffType)=0
| Set a radial force type, with range and falloff type.
virtual void | SetSphereEmitType (float outer_radius, float inner_radius)=0
| Set the emitter type to a sphere (which can have an inner radius).
virtual void | SetTimeToLive (float time)=0
| The time that each particle exists, in seconds.
virtual void | SetTimeVariation (float variation)=0
| Set the random variation in particle time to live, in seconds.
virtual void | SetTransformMode (bool transform)=0
| Set whether to apply the mesh's transform to the individual particles.

## Detailed Description

Particles shared state interface.

Definition at line 110 of file particles.h.

## Member Function Documentation

virtual void iParticlesStateBase::AddColor | ( | csColor4 | color | ) | `[pure virtual]`

| Add a color to the gradient.

virtual void iParticlesStateBase::ClearColors | ( |  | ) | `[pure virtual]`

| Clear the color gradient.

virtual void iParticlesStateBase::EnableZSort | ( | bool | en | ) | `[pure virtual]`

| Set Z sorting enabled. Default is false. With sorting enabled the particles will be sorted back to front. This is useful in case you use alpha on the particles. However this also slows down a bit. For mixmodes add or multiply sorting is not needed.

virtual float iParticlesStateBase::GetBaseHeat | ( |  | ) | `[pure virtual]`

| Get the base heat (for heat color method).

virtual iParticlesColorCallback* iParticlesStateBase::GetColorCallback | ( |  | ) | `[pure virtual]`

| Get the color callback. Returns null if no callback has been set.

virtual float iParticlesStateBase::GetColorLoopTime | ( |  | ) | `[pure virtual]`

| Get the loop time (for looping color method).

virtual void iParticlesStateBase::GetConstantColor | ( | csColor4 & | color | ) | `[pure virtual]`

| Get the constant color (for constant color method).

virtual float iParticlesStateBase::GetDampener | ( |  | ) | `[pure virtual]`

| Set the dampener (air viscosity).

virtual float iParticlesStateBase::GetDiffusion | ( |  | ) | `[pure virtual]`

| Get the diffusion amount.

virtual float iParticlesStateBase::GetEmitTime | ( |  | ) | `[pure virtual]`

| Get emit time.

virtual csParticleEmitType iParticlesStateBase::GetEmitType | ( |  | ) | `[pure virtual]`

| Get the emitter type.

virtual float iParticlesStateBase::GetEmitXSize | ( |  | ) | `[pure virtual]`

| Get the X size for a plane or box emitter.

virtual float iParticlesStateBase::GetEmitYSize | ( |  | ) | `[pure virtual]`

| Get the Y size for a plane or box emitter.

virtual float iParticlesStateBase::GetEmitZSize | ( |  | ) | `[pure virtual]`

| Get the Z size for a plane or box emitter.

virtual void iParticlesStateBase::GetFalloffType | ( | csParticleFalloffType & | force,
|  | csParticleFalloffType & | cone
| ) | `[pure virtual]`

| Get the force falloff types.

virtual float iParticlesStateBase::GetForce | ( |  | ) | `[pure virtual]`

| Get the force amount.

virtual float iParticlesStateBase::GetForceConeRadius | ( |  | ) | `[pure virtual]`

| Get the force cone radius.

virtual void iParticlesStateBase::GetForceDirection | ( | csVector3 & | dir | ) | `[pure virtual]`

| Get the force direction.

virtual void iParticlesStateBase::GetForceDirectionVariation | ( | csVector3 & | dirvar | ) | `[pure virtual]`

| Get the force direction variation.

virtual float iParticlesStateBase::GetForceRange | ( |  | ) | `[pure virtual]`

| Get force range.

virtual csParticleForceType iParticlesStateBase::GetForceType | ( |  | ) | `[pure virtual]`

| Get the force type.

virtual const csArray<csColor4>& iParticlesStateBase::GetGradient | ( |  | ) | `[pure virtual]`

| Get the color gradient.

virtual void iParticlesStateBase::GetGravity | ( | csVector3 & | gravity | ) | `[pure virtual]`

| Get the gravity vector.

virtual int iParticlesStateBase::GetInitialParticleCount | ( |  | ) | `[pure virtual]`

| Get the initial particle burst count.

virtual float iParticlesStateBase::GetMass | ( |  | ) | `[pure virtual]`

| Get the particle mass.

virtual float iParticlesStateBase::GetMassVariation | ( |  | ) | `[pure virtual]`

| Get the random variation in particle mass.

virtual uint iParticlesStateBase::GetMixMode | ( |  | ) | const`[pure virtual]`

| Get mix mode.

virtual csParticleColorMethod iParticlesStateBase::GetParticleColorMethod | ( |  | ) | `[pure virtual]`

| Get the particle color method.

virtual float iParticlesStateBase::GetParticleRadius | ( |  | ) | `[pure virtual]`

| Get the particle radius.

virtual int iParticlesStateBase::GetParticlesPerSecond | ( |  | ) | `[pure virtual]`

| Get the particles emitted per second count.

virtual float iParticlesStateBase::GetSphereEmitInnerRadius | ( |  | ) | `[pure virtual]`

| Get the inner radius for a sphere emitter.

virtual float iParticlesStateBase::GetSphereEmitOuterRadius | ( |  | ) | `[pure virtual]`

| Get the outer radius for a sphere emitter.

virtual float iParticlesStateBase::GetTimeToLive | ( |  | ) | `[pure virtual]`

| Get time to live.

virtual float iParticlesStateBase::GetTimeVariation | ( |  | ) | `[pure virtual]`

| Get the time variation.

virtual bool iParticlesStateBase::GetTransformMode | ( |  | ) | `[pure virtual]`

| Returns true if this particle object uses transform mode.

virtual bool iParticlesStateBase::IsZSortEnabled | ( |  | ) | const`[pure virtual]`

| Return true if Z sorting is enabled.

virtual void iParticlesStateBase::SetBoxEmitType | ( | float | x_size,
|  | float | y_size,
|  | float | z_size
| ) | `[pure virtual]`

| Set the emitter type to a box (which can be rotated).

virtual void iParticlesStateBase::SetColorCallback | ( | iParticlesColorCallback * |  | ) | `[pure virtual]`

| Set the color method to use a callback.

virtual void iParticlesStateBase::SetConeForceType | ( | const csVector3 & | direction,
|  | const csVector3 & | direction_variation,
|  | float | range,
|  | csParticleFalloffType | falloff,
|  | float | radius,
|  | csParticleFalloffType | radius_falloff
| ) | `[pure virtual]`

| Set a cone force type.

virtual void iParticlesStateBase::SetConstantColorMethod | ( | csColor4 | color | ) | `[pure virtual]`

| Set the color method to a constant color.

virtual void iParticlesStateBase::SetCylinderEmitType | ( | float | radius,
|  | float | height
| ) | `[pure virtual]`

| Set the emitter type to a cylinder (which can be rotated).

virtual void iParticlesStateBase::SetDampener | ( | float | damp | ) | `[pure virtual]`

| Set the dampener (air viscosity).

virtual void iParticlesStateBase::SetDiffusion | ( | float | size | ) | `[pure virtual]`

| Set the diffusion amount (random walk) in CS units per second.

virtual void iParticlesStateBase::SetEmitTime | ( | float | time | ) | `[pure virtual]`

| How many seconds the emitter will be emitting.

virtual void iParticlesStateBase::SetForce | ( | float | force | ) | `[pure virtual]`

| Set the force amount.

virtual void iParticlesStateBase::SetGravity | ( | const csVector3 & | gravity | ) | `[pure virtual]`

| Set the gravity vector to effect this particle set.

virtual void iParticlesStateBase::SetHeatColorMethod | ( | int | base_temp | ) | `[pure virtual]`

Set the color method to use heat (calculated by the physics plugin).

Parameters:

  | base_temp | The temperature in degrees C at the emitter

virtual void iParticlesStateBase::SetInitialParticleCount | ( | int | count | ) | `[pure virtual]`

| Set the initial particle burst count.

virtual void iParticlesStateBase::SetLinearColorMethod | ( |  | ) | `[pure virtual]`

| Set the color method to linear color (based on time to live using the gradient (specified above using ClearColors() and AddColor() ).

virtual void iParticlesStateBase::SetLinearForceType | ( | const csVector3 & | direction,
|  | const csVector3 & | direction_variation,
|  | float | range,
|  | csParticleFalloffType | falloff
| ) | `[pure virtual]`

| Set a linear force type.

virtual void iParticlesStateBase::SetLoopingColorMethod | ( | float | seconds | ) | `[pure virtual]`

| Set the color method to looping color (loops forever, cycling once per seconds specified).

virtual void iParticlesStateBase::SetMass | ( | float | mass | ) | `[pure virtual]`

| Set the individual particle mass.

virtual void iParticlesStateBase::SetMassVariation | ( | float | variation | ) | `[pure virtual]`

| Set the random variation in particle mass.

virtual void iParticlesStateBase::SetMixMode | ( | uint | mode | ) | `[pure virtual]`

| Set mix mode.

virtual void iParticlesStateBase::SetParticleRadius | ( | float | radius | ) | `[pure virtual]`

| Set the point radius.

virtual void iParticlesStateBase::SetParticlesPerSecond | ( | int | count | ) | `[pure virtual]`

| Sets the particles to be emitted per second.

virtual void iParticlesStateBase::SetPlaneEmitType | ( | float | x_size,
|  | float | y_size
| ) | `[pure virtual]`

| Set the emitter type to a plane (which can be rotated).

virtual void iParticlesStateBase::SetPointEmitType | ( |  | ) | `[pure virtual]`

| Set the emitter type to a point.

virtual void iParticlesStateBase::SetRadialForceType | ( | float | range,
|  | csParticleFalloffType |
| ) | `[pure virtual]`

| Set a radial force type, with range and falloff type.

virtual void iParticlesStateBase::SetSphereEmitType | ( | float | outer_radius,
|  | float | inner_radius
| ) | `[pure virtual]`

| Set the emitter type to a sphere (which can have an inner radius).

virtual void iParticlesStateBase::SetTimeToLive | ( | float | time | ) | `[pure virtual]`

| The time that each particle exists, in seconds.

virtual void iParticlesStateBase::SetTimeVariation | ( | float | variation | ) | `[pure virtual]`

| Set the random variation in particle time to live, in seconds.

virtual void iParticlesStateBase::SetTransformMode | ( | bool | transform | ) | `[pure virtual]`

| Set whether to apply the mesh's transform to the individual particles.

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

- imesh/particles.h