0.44.0
|
#include <iNodeParticleSystem.h>
Inherits igor::iNodeVolume.
Friends | |
class | iNodeManager |
Additional Inherited Members | |
Static Public Member Functions inherited from igor::iNode | |
static iaString | getKindName (iNodeKind kind) |
static iaString | getTypeName (iNodeType nodeType) |
Static Public Attributes inherited from igor::iNode | |
static const iNodeID | INVALID_NODE_ID = IGOR_INVALID_ID |
Protected Member Functions inherited from igor::iNodeVolume | |
virtual IGOR_API void | onUpdateTransform (iaMatrixd &matrix) override |
virtual IGOR_API void | onPreSetScene () override |
virtual IGOR_API void | onPostSetScene () override |
void | updateTree () |
iNodeVolume () | |
iNodeVolume (iNodeVolume *node) | |
virtual | ~iNodeVolume () |
Protected Member Functions inherited from igor::iNodeRender | |
virtual void | onUpdateTransform (iaMatrixd &matrix) override |
virtual void | onPreSetScene () override |
virtual void | onPostSetScene () override |
iNodeRender () | |
iNodeRender (iNodeRender *node) | |
virtual | ~iNodeRender () |
Protected Member Functions inherited from igor::iNode | |
void | setTransformationDirtyDown () |
void | setTransformationDirtyUp () |
void | setDataDirty () |
bool | isDataDirty () |
void | setParent (iNodePtr parent) |
void | setScene (iScenePtr scene) |
virtual void | onUpdateTransform (iaMatrixd &matrix) |
virtual void | onPreSetScene () |
virtual void | onPostSetScene () |
virtual bool | onUpdateData () |
virtual void | onPostCopyLink (std::map< iNodeID, iNodeID > &nodeIDMap) |
iNode () | |
iNode (iNodePtr node) | |
virtual | ~iNode () |
Protected Attributes inherited from igor::iNodeRender | |
iaMatrixd | _worldMatrix |
bool | _visible = true |
Protected Attributes inherited from igor::iNode | |
bool | _active = true |
iNodeType | _nodeType = iNodeType::iNode |
iNodeKind | _nodeKind = iNodeKind::Node |
iaString | _name = L"iNode" |
bool | _transformationDirty = true |
iScenePtr | _scene = nullptr |
iNodePtr | _parent = nullptr |
std::vector< iNodePtr > | _children |
std::vector< iNodePtr > | _inactiveChildren |
iTransformationChangeEvent | _transformationChangeEvent |
node to control a 3d particle system
float32 igor::iNodeParticleSystem::getAirDrag | ( | ) | const |
void igor::iNodeParticleSystem::getColorGradient | ( | iaKeyFrameGraphColor4f & | colorGradient | ) | const |
returns the rainbow gradient
[out] | rainbow | out value for the rainbow gradient |
void igor::iNodeParticleSystem::getEmissionGradient | ( | iaKeyFrameGraphf & | emissionGradient | ) | const |
returns the emission gradient
[out] | emissionGradient | out value for the emission gradient |
uint64 igor::iNodeParticleSystem::getEmitter | ( | ) | const |
uint16 igor::iNodeParticleSystem::getMaxParticleCount | ( | ) | const |
uint32 igor::iNodeParticleSystem::getParticleCount | ( | ) |
there is no setter because the amount of particles depends on particle emission over time
float32 igor::iNodeParticleSystem::getPeriodTime | ( | ) | const |
void igor::iNodeParticleSystem::getSizeScaleGradient | ( | iaKeyFrameGraphf & | sizeScaleGradient | ) | const |
returns the size scale gradient
[out] | sizeScaleGradient | out value for the size gradient |
void igor::iNodeParticleSystem::getStartAgeGradient | ( | iaKeyFrameGraphVector2f & | visibleGradient | ) | const |
returns the emission gradient
[out] | visibleGradient | out value for the visible gradient |
void igor::iNodeParticleSystem::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::iNodeParticleSystem::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::iNodeParticleSystem::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::iNodeParticleSystem::getStartSizeGradient | ( | iaKeyFrameGraphVector2f & | sizeGradient | ) | const |
returns the start size gradient for particles at birth
[out] | sizeGradient | out value for the start size gradient |
void igor::iNodeParticleSystem::getStartVelocityGradient | ( | iaKeyFrameGraphVector2f & | velocityGradient | ) | const |
returns the min max start velocity gradient for particles at birth
[out] | velocityGradient | out value for the start velocity gradient |
uint32 igor::iNodeParticleSystem::getTextureColumns | ( | ) | const |
uint32 igor::iNodeParticleSystem::getTextureRows | ( | ) | const |
float32 igor::iNodeParticleSystem::getTileIncrement | ( | ) | const |
bool igor::iNodeParticleSystem::getVelocityOriented | ( | ) | const |
uint8 igor::iNodeParticleSystem::getVortexCheckRange | ( | ) |
float32 igor::iNodeParticleSystem::getVortexRangeMax | ( | ) |
float32 igor::iNodeParticleSystem::getVortexRangeMin | ( | ) |
float32 igor::iNodeParticleSystem::getVortexToParticleRate | ( | ) | const |
float32 igor::iNodeParticleSystem::getVortexTorqueMax | ( | ) |
float32 igor::iNodeParticleSystem::getVortexTorqueMin | ( | ) |
float32 igor::iNodeParticleSystem::getVorticityConfinement | ( | ) |
bool igor::iNodeParticleSystem::isFinished | ( | ) | const |
bool igor::iNodeParticleSystem::isLooped | ( | ) | const |
bool igor::iNodeParticleSystem::isRunning | ( | ) |
void igor::iNodeParticleSystem::registerParticleSystemFinishedDelegate | ( | iParticleSystemFinishedDelegate | delegate | ) |
register delegate to particle system finished event
delegate | the delegate to register |
void igor::iNodeParticleSystem::reset | ( | ) |
clears all particles
void igor::iNodeParticleSystem::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::iNodeParticleSystem::setColorGradient | ( | const iaKeyFrameGraphColor4f & | colorGradient | ) |
sets rainbow gradient for particles color
rainbow | the rainbow gradient |
void igor::iNodeParticleSystem::setEmissionGradient | ( | const iaKeyFrameGraphf & | emissionGradient | ) |
sets emission gradient for particles per frame
emissionGradient | the emission gradient |
void igor::iNodeParticleSystem::setEmitter | ( | uint64 | emitterID | ) |
sets emitter node id
emitterID | the emitter node's id |
void igor::iNodeParticleSystem::setLoop | ( | bool | loop = true | ) |
sets if the particle system runs in a loop
loop | if true particle system runs in loop |
void igor::iNodeParticleSystem::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::iNodeParticleSystem::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 |
void igor::iNodeParticleSystem::setSizeScaleGradient | ( | const iaKeyFrameGraphf & | sizeScaleGradient | ) |
sets size scale gradient for particles per frame
sizeScaleGradient | the size gradient |
void igor::iNodeParticleSystem::setStartAgeGradient | ( | const iaKeyFrameGraphVector2f & | visibleGradient | ) |
sets visible gradient for particles per frame
visibleGradient | the visible gradient |
void igor::iNodeParticleSystem::setStartLiftGradient | ( | const iaKeyFrameGraphVector2f & | liftGradient | ) |
sets min max start lift gradient for particles at birth
liftGradient | the min max start lift gradient |
void igor::iNodeParticleSystem::setStartOrientationGradient | ( | const iaKeyFrameGraphVector2f & | orientationGradient | ) |
sets min max start orientation gradient for particles at birth
orientationGradient | the min max start orientation gradient |
void igor::iNodeParticleSystem::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::iNodeParticleSystem::setStartSizeGradient | ( | const iaKeyFrameGraphVector2f & | sizeGradient | ) |
sets start size gradient for particles at birth
sizeGradient | the start size gradient with min and max values |
void igor::iNodeParticleSystem::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::iNodeParticleSystem::setTileIncrement | ( | float32 | tileIncrement | ) |
sets the increment the tile index is progressing per frame (default = 0.0)
fractional values are allowed
tileIncrement | the tile increment to use |
void igor::iNodeParticleSystem::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::iNodeParticleSystem::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::iNodeParticleSystem::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::iNodeParticleSystem::setVorticityConfinement | ( | float32 | vorticityConfinement | ) |
sets vorticity confinement force
vorticityConfinement | the vorticity confinement force |
void igor::iNodeParticleSystem::start | ( | ) |
starts or resumes particle system
void igor::iNodeParticleSystem::stop | ( | ) |
stops or pauses the particle system
void igor::iNodeParticleSystem::unregisterParticleSystemFinishedDelegate | ( | iParticleSystemFinishedDelegate | delegate | ) |
unregister delegate from particle system finished event
delegate | the delegate to unregister |
|
friend |