0.44.0
|
#include <iParticleSystem.h>
Static Public Member Functions | |
static float32 | getSimulationRate () |
simulation of 3d particle systems
igor::iParticleSystem::iParticleSystem | ( | ) |
init default values
|
virtual |
clean up
float32 igor::iParticleSystem::getAirDrag | ( | ) | const |
const iAABoxd & igor::iParticleSystem::getBoundingBox | ( | ) | const |
const iaSphered & igor::iParticleSystem::getBoundingSphere | ( | ) | const |
const iaKeyFrameGraphColor4f & igor::iParticleSystem::getColorGradient | ( | ) | const |
void igor::iParticleSystem::getColorGradient | ( | iaKeyFrameGraphColor4f & | colorGradient | ) | const |
returns the color gradient
the gradient contains colors at given time in seconds
[out] | colorGradient | out value for the color gradient |
void igor::iParticleSystem::getEmissionGradient | ( | iaKeyFrameGraphf & | emissionGradient | ) | const |
returns the emission gradient
[out] | emissionGradient | out value for the emission gradient |
uint16 igor::iParticleSystem::getMaxParticleCount | ( | ) | const |
float32 igor::iParticleSystem::getPeriodTime | ( | ) | const |
float32 igor::iParticleSystem::getSecondTextureRotation | ( | ) |
|
static |
void igor::iParticleSystem::getSizeScaleGradient | ( | iaKeyFrameGraphf & | sizeScaleGradient | ) | const |
returns the size scale gradient
[out] | sizeScaleGradient | out value for the size gradient |
void igor::iParticleSystem::getStartAgeGradient | ( | iaKeyFrameGraphVector2f & | ageGradient | ) | const |
returns the emission gradient
[out] | ageGradient | out value for the max age gradient |
void igor::iParticleSystem::getStartLiftGradient | ( | iaKeyFrameGraphVector2f & | liftGradient | ) | const |
returns the min max start lift gradient for particles at birth
[out] | liftGradient | out value for the start lift gradient |
void igor::iParticleSystem::getStartOrientationGradient | ( | iaKeyFrameGraphVector2f & | orientationGradient | ) | const |
returns the min max start lift gradient for particles at birth
[out] | orientationGradient | out value for the start orientation gradient |
void igor::iParticleSystem::getStartOrientationRateGradient | ( | iaKeyFrameGraphVector2f & | orientationRateGradient | ) | const |
returns the start min max orientation offset gradient for particles during visuble time
[out] | orientationRateGradient | out value for the orientation rate gradient |
void igor::iParticleSystem::getStartSizeGradient | ( | iaKeyFrameGraphVector2f & | sizeGradient | ) | const |
returns the min max start size gradient for particles at birth
[out] | sizeGradient | out value for the start size gradient |
void igor::iParticleSystem::getStartVelocityGradient | ( | iaKeyFrameGraphVector2f & | velocityGradient | ) | const |
returns the min max start velocity gradient for particles at birth
[out] | velocityGradient | out value for the start velocity gradient |
uint8 igor::iParticleSystem::getTextureColumns | ( | ) | const |
uint8 igor::iParticleSystem::getTextureRows | ( | ) | const |
float32 igor::iParticleSystem::getThirdTextureRotation | ( | ) |
float32 igor::iParticleSystem::getTileIncrement | ( | ) | const |
bool igor::iParticleSystem::getVelocityOriented | ( | ) | const |
iVertexArrayPtr igor::iParticleSystem::getVertexArray | ( | ) | const |
uint8 igor::iParticleSystem::getVortexCheckRange | ( | ) |
float32 igor::iParticleSystem::getVortexRangeMax | ( | ) |
float32 igor::iParticleSystem::getVortexRangeMin | ( | ) |
float32 igor::iParticleSystem::getVortexToParticleRate | ( | ) | const |
float32 igor::iParticleSystem::getVortexTorqueMax | ( | ) |
float32 igor::iParticleSystem::getVortexTorqueMin | ( | ) |
float32 igor::iParticleSystem::getVorticityConfinement | ( | ) |
bool igor::iParticleSystem::isFinished | ( | ) | const |
bool igor::iParticleSystem::isLooped | ( | ) | const |
bool igor::iParticleSystem::isRunning | ( | ) |
void igor::iParticleSystem::onUpdate | ( | iParticleEmitter & | emitter | ) |
calculates next frame
emitter | the emitter to emitt particles from |
void igor::iParticleSystem::reset | ( | ) |
clears all particles
void igor::iParticleSystem::setAirDrag | ( | float32 | airDrag | ) |
sets the air drag
0.0-1.0 1.0 means basically no air drag 0.0 is a full stop and about 0.99 is a usefull value for simulating air drag
airDrag | the air drag factor (0.0 - 1.0) |
void igor::iParticleSystem::setColorGradient | ( | const iaKeyFrameGraphColor4f & | colorGradient | ) |
sets color gradient
for time values from 0.0 - 1.0
where 1.0 is the time at which the particle spawns and 0.0 is where the particle dies
the gradient must contain colors at given time in seconds
colorGradient | the color gradient |
void igor::iParticleSystem::setEmissionGradient | ( | const iaKeyFrameGraphf & | emissionGradient | ) |
sets emission gradient for particles per frame
emissionGradient | the emission gradient |
void igor::iParticleSystem::setLoop | ( | bool | loop = true | ) |
sets if the particle system runs in a loop
loop | if true particle system runs in loop |
void igor::iParticleSystem::setMaxParticleCount | ( | uint16 | max | ) |
sets the maximum particle count
set to zero if you don't want a limit of created particles
max | the maximum count of particles used |
void igor::iParticleSystem::setParticleSystemMatrix | ( | const iaMatrixd & | worldInvMatrix | ) |
set's the inverse matrix of the particle system coordinate system
worldInvMatrix | the inverse of the particle system |
void igor::iParticleSystem::setPeriodTime | ( | float32 | periodTime | ) |
sets period time of this particle system
if loop is true. the particle system will be restarted after this time if loop is false. the particle system simulation will be stopped
periodTime | the period time in seconds |
void igor::iParticleSystem::setSecondTextureRotation | ( | float32 | angle | ) |
sets the rotation per frame of the second texture
angle | rotation in rad per frame |
void igor::iParticleSystem::setSizeScaleGradient | ( | const iaKeyFrameGraphf & | sizeScaleGradient | ) |
sets size scale gradient for particles per frame
sizeScaleGradient | the size gradient |
void igor::iParticleSystem::setStartAgeGradient | ( | const iaKeyFrameGraphVector2f & | ageGradient | ) |
sets min max age gradient for particles depending on their spawn time
ageGradient | the max age gradient |
void igor::iParticleSystem::setStartLiftGradient | ( | const iaKeyFrameGraphVector2f & | liftGradient | ) |
sets min max start lift gradient for particles at birth
negative values are basically extra weight on a particle
liftGradient | the min max start lift gradient |
void igor::iParticleSystem::setStartOrientationGradient | ( | const iaKeyFrameGraphVector2f & | orientationGradient | ) |
sets min max start orientation gradient for particles at birth
orientationGradient | the min max start orientation gradient |
void igor::iParticleSystem::setStartOrientationRateGradient | ( | const iaKeyFrameGraphVector2f & | orientationRateGradient | ) |
sets start min max orientation rate gradient for particles during visible time
orientationRateGradient | the min max orientation rate gradient |
void igor::iParticleSystem::setStartSizeGradient | ( | const iaKeyFrameGraphVector2f & | sizeGradient | ) |
sets min max start size gradient for particles at birth
sizeGradient | the min max start size gradient |
void igor::iParticleSystem::setStartVelocityGradient | ( | const iaKeyFrameGraphVector2f & | velocityGradient | ) |
sets min max start velocity gradient for particles at birth
velocityGradient | the min max start velocity gradient |
sets the tiling resolution of the first texture layer
columns | column count (<= 1) |
rows | row count (<= 1) |
void igor::iParticleSystem::setThirdTextureRotation | ( | float32 | angle | ) |
sets the rotation per frame of the third texture
angle | rotation in rad per frame |
void igor::iParticleSystem::setTileIncrement | ( | float32 | tileIncrement | ) |
sets the increment the tile index is progressing per frame (default = 0.0)
franctional values are allowed
tileIncrement | the tile increment to use |
void igor::iParticleSystem::setVelocityOriented | ( | bool | velocityOriented = true | ) |
sets the velocity oriented flag particles will be rendered oriented by thair velocity and screen
default id off
velocityOriented | if true particles get rendered velocity oriented |
void igor::iParticleSystem::setVortexCheckRange | ( | uint8 | particles | ) |
sets vortex check range
particles | distance in indexes from vortex particle |
sets minimum and maximum range of vortexes
min | minimum range of vortex |
max | maximum range of vortex |
void igor::iParticleSystem::setVortexToParticleRate | ( | float32 | rate | ) |
sets the vortex to particle ratio
rate | the rate of vortex particles to particles. default 0.01 = 1% |
sets the range of vortex torque
min | minimum vortex torque |
max | maximum vortex torque |
void igor::iParticleSystem::setVorticityConfinement | ( | float32 | vorticityConfinement | ) |
sets vorticity confinement force
vorticityConfinement | the vorticity confinement force |
void igor::iParticleSystem::start | ( | ) |
starts or resumes particle system
void igor::iParticleSystem::stop | ( | ) |
stops or pauses the particle system