3ds Max C++ API Reference
IMXSParticleContainer.h

Functions

virtual IObjectGetParticleContainer () const =0
 The non-maxscript-version of particle container in the Init/Proceed/Release calls for operator and test. More...
 
virtual ObjectGetParticleSystem () const =0
 The particle system in the Init/Proceed/Release calls for operator and test. More...
 
virtual INodeGetParticleSystemNode () const =0
 The particle system node in the Init/Proceed/Release calls for operator and test. More...
 
virtual Tab< Object * > & GetInitActions ()=0
 The list of actions during initialization in the Init/Proceed/Release calls for operator and test. More...
 
virtual Tab< INode * > & GetInitActionNodes ()=0
 The list of action nodes during initialization in the Init/Proceed/Release calls for operator and test. More...
 
virtual TimeValue GetTimeStart () const =0
 Start of the proceed interval in the Init/Proceed/Release calls for operator and test. More...
 
virtual TimeValue GetTimeEnd () const =0
 End of the proceed interval in the Init/Proceed/Release calls for operator and test. More...
 
virtual void SetTimeEnd (TimeValue time)=0
 Set the end time if the operator can't proceed particles to the given time end in the Init/Proceed/Release calls for operator. More...
 
virtual void SetTimeEnd (TimeValue time, float timeDelta)=0
 Set the end time if the test can't proceed particles to the given time end in the Init/Proceed/Release calls for test. More...
 
virtual INodeGetActionNode () const =0
 The node of the action in the Init/Proceed/Release calls for operator and test. More...
 
virtual FPInterfaceGetIntegrator () const =0
 Update cycle integrator in the Init/Proceed/Release calls for operator and test. More...
 
virtual int RandSign (void)=0
 Get random sign { -1, 1 }. More...
 
virtual float Rand01 (void)=0
 Get random number between 0.0f and 1.0f. More...
 
virtual float Rand11 (void)=0
 Get random number between -1.0f and 1.0f. More...
 
virtual float Rand55 (void)=0
 Get random number between -0.5f and 0.5f. More...
 
virtual int Rand0X (int maxnum)=0
 Get integer random number between 0 and maxnum. More...
 
virtual Point3RandSpherePoint ()=0
 Get random point from sphere surface of radius 1. More...
 
virtual Point3RandDivergeVector (Point3 vec, float maxAngle)=0
 Returns a vector with the same length as a given vector but the direction differs from the given for no more than maxAngle. More...
 
virtual bool GetUseTime () const =0
 Used to define whether particle channel will be used by the operator/test. More...
 
virtual void SetUseTime (bool use)=0
 Used to define whether particle channel will be used by the operator/test. More...
 
virtual bool GetUseAge () const =0
 Used to define whether particle channel will be used by the operator/test. More...
 
virtual void SetUseAge (bool use)=0
 Used to define whether particle channel will be used by the operator/test. More...
 
virtual bool GetUseLifespan () const =0
 Used to define whether particle channel will be used by the operator/test. More...
 
virtual void SetUseLifespan (bool use)=0
 Used to define whether particle channel will be used by the operator/test. More...
 
virtual bool GetUseEventTime () const =0
 Used to define whether particle channel will be used by the operator/test. More...
 
virtual void SetUseEventTime (bool use)=0
 Used to define whether particle channel will be used by the operator/test. More...
 
virtual bool GetUsePosition () const =0
 Used to define whether particle channel will be used by the operator/test. More...
 
virtual void SetUsePosition (bool use)=0
 Used to define whether particle channel will be used by the operator/test. More...
 
virtual bool GetUseSpeed () const =0
 Used to define whether particle channel will be used by the operator/test. More...
 
virtual void SetUseSpeed (bool use)=0
 Used to define whether particle channel will be used by the operator/test. More...
 
virtual bool GetUseAcceleration () const =0
 Used to define whether particle channel will be used by the operator/test. More...
 
virtual void SetUseAcceleration (bool use)=0
 Used to define whether particle channel will be used by the operator/test. More...
 
virtual bool GetUseOrientation () const =0
 Used to define whether particle channel will be used by the operator/test. More...
 
virtual void SetUseOrientation (bool use)=0
 Used to define whether particle channel will be used by the operator/test. More...
 
virtual bool GetUseSpin () const =0
 Used to define whether particle channel will be used by the operator/test. More...
 
virtual void SetUseSpin (bool use)=0
 Used to define whether particle channel will be used by the operator/test. More...
 
virtual bool GetUseScale () const =0
 Used to define whether particle channel will be used by the operator/test. More...
 
virtual void SetUseScale (bool use)=0
 Used to define whether particle channel will be used by the operator/test. More...
 
virtual bool GetUseTM () const =0
 Used to define whether particle channel will be used by the operator/test. More...
 
virtual void SetUseTM (bool use)=0
 Used to define whether particle channel will be used by the operator/test. More...
 
virtual bool GetUseSelected () const =0
 Used to define whether particle channel will be used by the operator/test. More...
 
virtual void SetUseSelected (bool use)=0
 Used to define whether particle channel will be used by the operator/test. More...
 
virtual bool GetUseShape () const =0
 Used to define whether particle channel will be used by the operator/test. More...
 
virtual void SetUseShape (bool use)=0
 Used to define whether particle channel will be used by the operator/test. More...
 
virtual bool GetUseMtlIndex () const =0
 Used to define whether particle channel will be used by the operator/test. More...
 
virtual void SetUseMtlIndex (bool use)=0
 Used to define whether particle channel will be used by the operator/test. More...
 
virtual bool GetUseMapping () const =0
 Used to define whether particle channel will be used by the operator/test. More...
 
virtual void SetUseMapping (bool use)=0
 Used to define whether particle channel will be used by the operator/test. More...
 
virtual bool GetUseInt () const =0
 Used to define whether particle channel will be used by the operator/test. More...
 
virtual void SetUseInt (bool use)=0
 Used to define whether particle channel will be used by the operator/test. More...
 
virtual bool GetUseFloat () const =0
 Used to define whether particle channel will be used by the operator/test. More...
 
virtual void SetUseFloat (bool use)=0
 Used to define whether particle channel will be used by the operator/test. More...
 
virtual bool GetUseVector () const =0
 Used to define whether particle channel will be used by the operator/test. More...
 
virtual void SetUseVector (bool use)=0
 Used to define whether particle channel will be used by the operator/test. More...
 
virtual bool GetUseMatrix () const =0
 Used to define whether particle channel will be used by the operator/test. More...
 
virtual void SetUseMatrix (bool use)=0
 Used to define whether particle channel will be used by the operator/test. More...
 
virtual int NumParticles ()=0
 Method to get/set properties of the particle in the container. More...
 
virtual bool AddParticle ()=0
 Add a single particle to particle system. More...
 
virtual bool AddParticles (int num)=0
 Add "num" particles into the particle system. More...
 
virtual bool DeleteParticle (int index)=0
 Delete a single particle with the given index. More...
 
virtual bool DeleteParticles (int start, int num)=0
 List-type delete of "num" particles starting with "start". More...
 
virtual int GetParticleBornIndex (int i)=0
 Each particle is given a unique ID (consecutive) upon its birth. More...
 
virtual bool HasParticleBornIndex (int bornIndex, int &index)=0
 Implemented by the Plug-In. More...
 
virtual int GetCurrentParticleIndex ()=0
 Defines "current" index, used to get the property without specifying the index. More...
 
virtual int GetCurrentParticleBornIndex ()=0
 Defines "current" bornIndex, used to get the property without specifying the index. More...
 
virtual void SetCurrentParticleIndex (int index)=0
 Defines "current" index, used to set the property without specifying the index. More...
 
virtual void SetCurrentParticleBornIndex (int bornIndex)=0
 Defines "current" bornIndex, used to set the property without specifying the index. More...
 
virtual bool IsParticleNewByIndex (int index)=0
 Defines if a particle just arrived into the current event. More...
 
virtual bool IsParticleNewByBornIndex (int id)=0
 See IsParticleNewByIndex(). More...
 
virtual bool IsParticleNew ()=0
 See IsParticleNewByIndex(). More...
 
virtual TimeValue GetParticleTimeByIndex (int index)=0
 Defines time for the current state for a particle. More...
 
virtual TimeValue GetParticleTimeByBornIndex (int id)=0
 See GetParticleTimeByIndex(). More...
 
virtual void SetParticleTimeByIndex (int index, TimeValue time)=0
 See GetParticleTimeByIndex(). More...
 
virtual void SetParticleTimeByIndex (int index, TimeValue time, float timeDelta)=0
 See GetParticleTimeByIndex(). More...
 
virtual void SetParticleTimeByBornIndex (int id, TimeValue time)=0
 See GetParticleTimeByIndex(). More...
 
virtual void SetParticleTimeByBornIndex (int id, TimeValue time, float timeDelta)=0
 See GetParticleTimeByIndex(). More...
 
virtual TimeValue GetParticleTime ()=0
 See GetParticleTimeByIndex(). More...
 
virtual void SetParticleTime (TimeValue time)=0
 See GetParticleTimeByIndex(). More...
 
virtual TimeValue GetParticleAgeByIndex (int index)=0
 Defines age of the specified particle. More...
 
virtual TimeValue GetParticleAgeByBornIndex (int id)=0
 See GetParticleAgeByIndex(). More...
 
virtual void SetParticleAgeByIndex (int index, TimeValue age)=0
 See GetParticleAgeByIndex(). More...
 
virtual void SetParticleAgeByBornIndex (int id, TimeValue age)=0
 See GetParticleAgeByIndex(). More...
 
virtual TimeValue GetParticleAge ()=0
 See GetParticleAgeByIndex(). More...
 
virtual void SetParticleAge (TimeValue age)=0
 See GetParticleAgeByIndex(). More...
 
virtual TimeValue GetParticleLifespanByIndex (int index)=0
 Defines lifespan of the specified particle. More...
 
virtual TimeValue GetParticleLifespanByBornIndex (int id)=0
 See GetParticleLifespanByIndex(). More...
 
virtual void SetParticleLifespanByIndex (int index, TimeValue lifespan)=0
 See GetParticleLifespanByIndex(). More...
 
virtual void SetParticleLifespanByBornIndex (int id, TimeValue lifespan)=0
 See GetParticleLifespanByIndex(). More...
 
virtual TimeValue GetParticleLifespan ()=0
 See GetParticleLifespanByIndex(). More...
 
virtual void SetParticleLifespan (TimeValue lifespan)=0
 See GetParticleLifespanByIndex(). More...
 
virtual TimeValue GetParticleEventTimeByIndex (int index)=0
 Defines for how long the specified particle was staying in the current action list (event). More...
 
virtual TimeValue GetParticleEventTimeByBornIndex (int id)=0
 See GetParticleEventTimeByIndex(). More...
 
virtual void SetParticleEventTimeByIndex (int index, TimeValue time)=0
 See GetParticleEventTimeByIndex(). More...
 
virtual void SetParticleEventTimeByBornIndex (int id, TimeValue time)=0
 See GetParticleEventTimeByIndex(). More...
 
virtual TimeValue GetParticleEventTime ()=0
 See GetParticleEventTimeByIndex(). More...
 
virtual void SetParticleEventTime (TimeValue time)=0
 See GetParticleEventTimeByIndex(). More...
 
virtual Point3GetParticlePositionByIndex (int index)=0
 Defines position of the specified particle in the current state. More...
 
virtual Point3GetParticlePositionByBornIndex (int id)=0
 See GetParticlePositionByIndex(). More...
 
virtual void SetParticlePositionByIndex (int index, Point3 pos)=0
 See GetParticlePositionByIndex(). More...
 
virtual void SetParticlePositionByBornIndex (int id, Point3 pos)=0
 See GetParticlePositionByIndex(). More...
 
virtual Point3GetParticlePosition ()=0
 See GetParticlePositionByIndex(). More...
 
virtual void SetParticlePosition (Point3 pos)=0
 See GetParticlePositionByIndex(). More...
 
virtual Point3GetParticleSpeedByIndex (int index)=0
 Defines speed of the specified particle in the current state. More...
 
virtual Point3GetParticleSpeedByBornIndex (int id)=0
 See GetParticleSpeedByIndex(). More...
 
virtual void SetParticleSpeedByIndex (int index, Point3 speed)=0
 See GetParticleSpeedByIndex(). More...
 
virtual void SetParticleSpeedByBornIndex (int id, Point3 speed)=0
 See GetParticleSpeedByIndex(). More...
 
virtual Point3GetParticleSpeed ()=0
 See GetParticleSpeedByIndex(). More...
 
virtual void SetParticleSpeed (Point3 speed)=0
 See GetParticleSpeedByIndex(). More...
 
virtual Point3GetParticleAccelerationByIndex (int index)=0
 Defines acceleration of the specified particle in the current state. More...
 
virtual Point3GetParticleAccelerationByBornIndex (int id)=0
 See GetParticleAccelerationByIndex(). More...
 
virtual void SetParticleAccelerationByIndex (int index, Point3 accel)=0
 See GetParticleAccelerationByIndex(). More...
 
virtual void SetParticleAccelerationByBornIndex (int id, Point3 accel)=0
 See GetParticleAccelerationByIndex(). More...
 
virtual Point3GetParticleAcceleration ()=0
 See GetParticleAccelerationByIndex(). More...
 
virtual void SetParticleAcceleration (Point3 speed)=0
 See GetParticleAccelerationByIndex(). More...
 
virtual Point3GetParticleOrientationByIndex (int index)=0
 Defines orientation of the specified particle in the current state. More...
 
virtual Point3GetParticleOrientationByBornIndex (int id)=0
 See GetParticleOrientationByIndex(). More...
 
virtual void SetParticleOrientationByIndex (int index, Point3 orient)=0
 See GetParticleOrientationByIndex(). More...
 
virtual void SetParticleOrientationByBornIndex (int id, Point3 orient)=0
 See GetParticleOrientationByIndex(). More...
 
virtual Point3GetParticleOrientation ()=0
 See GetParticleOrientationByIndex(). More...
 
virtual void SetParticleOrientation (Point3 orient)=0
 See GetParticleOrientationByIndex(). More...
 
virtual AngAxisGetParticleSpinByIndex (int index)=0
 Defines angular speed of the specified particle in the current state. More...
 
virtual AngAxisGetParticleSpinByBornIndex (int id)=0
 See GetParticleSpinByIndex(). More...
 
virtual void SetParticleSpinByIndex (int index, AngAxis spin)=0
 See GetParticleSpinByIndex(). More...
 
virtual void SetParticleSpinByBornIndex (int id, AngAxis spin)=0
 See GetParticleSpinByIndex(). More...
 
virtual AngAxisGetParticleSpin ()=0
 See GetParticleSpinByIndex(). More...
 
virtual void SetParticleSpin (AngAxis spin)=0
 See GetParticleSpinByIndex(). More...
 
virtual float GetParticleScaleByIndex (int index)=0
 Defines scale factor of the specified particle in the current state. More...
 
virtual float GetParticleScaleByBornIndex (int id)=0
 See GetParticleScaleByIndex(). More...
 
virtual void SetParticleScaleByIndex (int index, float scale)=0
 See GetParticleScaleByIndex(). More...
 
virtual void SetParticleScaleByBornIndex (int id, float scale)=0
 See GetParticleScaleByIndex(). More...
 
virtual float GetParticleScale ()=0
 See GetParticleScaleByIndex(). More...
 
virtual void SetParticleScale (float scale)=0
 See GetParticleScaleByIndex(). More...
 
virtual Point3GetParticleScaleXYZByIndex (int index)=0
 See GetParticleScaleByIndex(). More...
 
virtual Point3GetParticleScaleXYZByBornIndex (int id)=0
 See GetParticleScaleByIndex(). More...
 
virtual void SetParticleScaleXYZByIndex (int index, Point3 scale)=0
 See GetParticleScaleByIndex(). More...
 
virtual void SetParticleScaleXYZByBornIndex (int id, Point3 scale)=0
 See GetParticleScaleByIndex(). More...
 
virtual Point3GetParticleScaleXYZ ()=0
 See GetParticleScaleByIndex(). More...
 
virtual void SetParticleScaleXYZ (Point3 scale)=0
 See GetParticleScaleByIndex(). More...
 
virtual Matrix3GetParticleTMByIndex (int index)=0
 Defines transformation matrix of the specified particle in the current state. More...
 
virtual Matrix3GetParticleTMByBornIndex (int id)=0
 See GetParticleTMByIndex(). More...
 
virtual void SetParticleTMByIndex (int index, Matrix3 tm)=0
 See GetParticleTMByIndex(). More...
 
virtual void SetParticleTMByBornIndex (int id, Matrix3 tm)=0
 See GetParticleTMByIndex(). More...
 
virtual Matrix3GetParticleTM ()=0
 See GetParticleTMByIndex(). More...
 
virtual void SetParticleTM (Matrix3 tm)=0
 See GetParticleTMByIndex(). More...
 
virtual bool GetParticleSelectedByIndex (int index)=0
 Defines selection status of the specified particle in the current state. More...
 
virtual bool GetParticleSelectedByBornIndex (int id)=0
 See GetParticleSelectedByIndex(). More...
 
virtual void SetParticleSelectedByIndex (int index, bool selected)=0
 See GetParticleSelectedByIndex(). More...
 
virtual void SetParticleSelectedByBornIndex (int id, bool selected)=0
 See GetParticleSelectedByIndex(). More...
 
virtual bool GetParticleSelected ()=0
 See GetParticleSelectedByIndex(). More...
 
virtual void SetParticleSelected (bool selected)=0
 See GetParticleSelectedByIndex(). More...
 
virtual MeshGetParticleShapeByIndex (int index)=0
 Defines shape of the specified particle in the current state. More...
 
virtual MeshGetParticleShapeByBornIndex (int id)=0
 See GetParticleShapeByIndex(). More...
 
virtual void SetParticleShapeByIndex (int index, Mesh *shape)=0
 See GetParticleShapeByIndex(). More...
 
virtual void SetParticleShapeByBornIndex (int id, Mesh *shape)=0
 See GetParticleShapeByIndex(). More...
 
virtual MeshGetParticleShape ()=0
 See GetParticleShapeByIndex(). More...
 
virtual void SetParticleShape (Mesh *shape)=0
 See GetParticleShapeByIndex(). More...
 
virtual void SetGlobalParticleShape (Mesh *shape)=0
 Set the same shape for all particles. More...
 
virtual void SetParticleMtlIndexByIndex (int index, int mtlIndex)=0
 Defines material index of the specified particle in the current state. More...
 
virtual void SetParticleMtlIndexByBornIndex (int id, int mtlIndex)=0
 See SetParticleMtlIndexByIndex(). More...
 
virtual void SetParticleMtlIndex (int mtlIndex)=0
 See SetParticleMtlIndexByIndex(). More...
 
virtual void SetParticleMappingByIndex (int index, int mapChannel, UVVert mapValue)=0
 Defines mapping of the specified particle in the current state. More...
 
virtual void SetParticleMappingByBornIndex (int id, int mapChannel, UVVert mapValue)=0
 See SetParticleMappingByIndex(). More...
 
virtual void SetParticleMapping (int mapChannel, UVVert mapValue)=0
 See SetParticleMappingByIndex(). More...
 
virtual int GetParticleIntByIndex (int index)=0
 Defines integer value of the specified particle. More...
 
virtual int GetParticleIntByBornIndex (int id)=0
 See GetParticleIntByIndex(). More...
 
virtual void SetParticleIntByIndex (int index, int value)=0
 See GetParticleIntByIndex(). More...
 
virtual void SetParticleIntByBornIndex (int id, int value)=0
 See GetParticleIntByIndex(). More...
 
virtual int GetParticleInt ()=0
 See GetParticleIntByIndex(). More...
 
virtual void SetParticleInt (int value)=0
 See GetParticleIntByIndex(). More...
 
virtual float GetParticleFloatByIndex (int index)=0
 Defines float value of the specified particle. More...
 
virtual float GetParticleFloatByBornIndex (int id)=0
 See GetParticleFloatByIndex(). More...
 
virtual void SetParticleFloatByIndex (int index, float value)=0
 See GetParticleFloatByIndex(). More...
 
virtual void SetParticleFloatByBornIndex (int id, float value)=0
 See GetParticleFloatByIndex(). More...
 
virtual float GetParticleFloat ()=0
 See GetParticleFloatByIndex(). More...
 
virtual void SetParticleFloat (float value)=0
 See GetParticleFloatByIndex(). More...
 
virtual Point3GetParticleVectorByIndex (int index)=0
 Defines vector value of the specified particle. More...
 
virtual Point3GetParticleVectorByBornIndex (int id)=0
 See GetParticleVectorByIndex(). More...
 
virtual void SetParticleVectorByIndex (int index, Point3 value)=0
 See GetParticleVectorByIndex(). More...
 
virtual void SetParticleVectorByBornIndex (int id, Point3 value)=0
 See GetParticleVectorByIndex(). More...
 
virtual Point3GetParticleVector ()=0
 See GetParticleVectorByIndex(). More...
 
virtual void SetParticleVector (Point3 value)=0
 See GetParticleVectorByIndex(). More...
 
virtual Matrix3GetParticleMatrixByIndex (int index)=0
 Defines matrix value of the specified particle. More...
 
virtual Matrix3GetParticleMatrixByBornIndex (int id)=0
 See GetParticleMatrixByIndex(). More...
 
virtual void SetParticleMatrixByIndex (int index, Matrix3 value)=0
 See GetParticleMatrixByIndex(). More...
 
virtual void SetParticleMatrixByBornIndex (int id, Matrix3 value)=0
 See GetParticleMatrixByIndex(). More...
 
virtual Matrix3GetParticleMatrix ()=0
 See GetParticleMatrixByIndex(). More...
 
virtual void SetParticleMatrix (Matrix3 value)=0
 See GetParticleMatrixByIndex(). More...
 
virtual void SetParticleTestStatusByIndex (int index, bool testStatus)=0
 Defines test status (true or false) for particles while testing. More...
 
virtual void SetParticleTestStatusByBornIndex (int id, bool testStatus)=0
 See SetParticleTestStatusByIndex() More...
 
virtual bool GetParticleTestStatus ()=0
 See SetParticleTestStatusByIndex() More...
 
virtual void SetParticleTestStatus (bool testStatus)=0
 See SetParticleTestStatusByIndex(). More...
 
virtual void SetGlobalTestStatus (bool testStatus)=0
 Set the same test status for all particles. More...
 
virtual void SetParticleTestTimeByIndex (int index, TimeValue testTime)=0
 Defines the time when a particle satisfies the test. More...
 
virtual void SetParticleTestTimeByIndex (int index, TimeValue testTime, float testTimeDelta)=0
 See SetParticleTestTimeByIndex(). More...
 
virtual void SetParticleTestTimeByBornIndex (int id, TimeValue testTime)=0
 See SetParticleTestTimeByIndex(). More...
 
virtual void SetParticleTestTimeByBornIndex (int id, TimeValue testTime, float testTimeDelta)=0
 See SetParticleTestTimeByIndex(). More...
 
virtual TimeValue GetParticleTestTime ()=0
 See SetParticleTestTimeByIndex(). More...
 
virtual void SetParticleTestTime (TimeValue testTime)=0
 See SetParticleTestTimeByIndex(). More...
 
virtual void SetParticleTestTime (TimeValue testTime, float testTimeDelta)=0
 See SetParticleTestTimeByIndex(). More...
 
virtual void SetGlobalTestTime (TimeValue testTime)=0
 set the same test status for all particles More...
 
virtual void SetGlobalTestTime (TimeValue testTime, float testTimeDelta)=0
 set the same test status for all particles More...
 
FPInterfaceDescGetDesc ()
 

Detailed Description

Function Documentation

◆ GetParticleContainer()

IObject * GetParticleContainer ( ) const
pure virtual

The non-maxscript-version of particle container in the Init/Proceed/Release calls for operator and test.

◆ GetParticleSystem()

Object * GetParticleSystem ( ) const
pure virtual

The particle system in the Init/Proceed/Release calls for operator and test.

◆ GetParticleSystemNode()

INode * GetParticleSystemNode ( ) const
pure virtual

The particle system node in the Init/Proceed/Release calls for operator and test.

◆ GetInitActions()

Tab< Object * > & GetInitActions ( )
pure virtual

The list of actions during initialization in the Init/Proceed/Release calls for operator and test.

◆ GetInitActionNodes()

Tab< INode * > & GetInitActionNodes ( )
pure virtual

The list of action nodes during initialization in the Init/Proceed/Release calls for operator and test.

◆ GetTimeStart()

TimeValue GetTimeStart ( ) const
pure virtual

Start of the proceed interval in the Init/Proceed/Release calls for operator and test.

◆ GetTimeEnd()

TimeValue GetTimeEnd ( ) const
pure virtual

End of the proceed interval in the Init/Proceed/Release calls for operator and test.

◆ SetTimeEnd() [1/2]

void SetTimeEnd ( TimeValue  time)
pure virtual

Set the end time if the operator can't proceed particles to the given time end in the Init/Proceed/Release calls for operator.

◆ SetTimeEnd() [2/2]

void SetTimeEnd ( TimeValue  time,
float  timeDelta 
)
pure virtual

Set the end time if the test can't proceed particles to the given time end in the Init/Proceed/Release calls for test.

◆ GetActionNode()

INode * GetActionNode ( ) const
pure virtual

The node of the action in the Init/Proceed/Release calls for operator and test.

◆ GetIntegrator()

FPInterface * GetIntegrator ( ) const
pure virtual

Update cycle integrator in the Init/Proceed/Release calls for operator and test.

◆ RandSign()

int RandSign ( void  )
pure virtual

Get random sign { -1, 1 }.

◆ Rand01()

float Rand01 ( void  )
pure virtual

Get random number between 0.0f and 1.0f.

◆ Rand11()

float Rand11 ( void  )
pure virtual

Get random number between -1.0f and 1.0f.

◆ Rand55()

float Rand55 ( void  )
pure virtual

Get random number between -0.5f and 0.5f.

◆ Rand0X()

int Rand0X ( int  maxnum)
pure virtual

Get integer random number between 0 and maxnum.

◆ RandSpherePoint()

Point3 * RandSpherePoint ( )
pure virtual

Get random point from sphere surface of radius 1.

◆ RandDivergeVector()

Point3 * RandDivergeVector ( Point3  vec,
float  maxAngle 
)
pure virtual

Returns a vector with the same length as a given vector but the direction differs from the given for no more than maxAngle.

◆ GetUseTime()

bool GetUseTime ( ) const
pure virtual

Used to define whether particle channel will be used by the operator/test.

◆ SetUseTime()

void SetUseTime ( bool  use)
pure virtual

Used to define whether particle channel will be used by the operator/test.

◆ GetUseAge()

bool GetUseAge ( ) const
pure virtual

Used to define whether particle channel will be used by the operator/test.

◆ SetUseAge()

void SetUseAge ( bool  use)
pure virtual

Used to define whether particle channel will be used by the operator/test.

◆ GetUseLifespan()

bool GetUseLifespan ( ) const
pure virtual

Used to define whether particle channel will be used by the operator/test.

◆ SetUseLifespan()

void SetUseLifespan ( bool  use)
pure virtual

Used to define whether particle channel will be used by the operator/test.

◆ GetUseEventTime()

bool GetUseEventTime ( ) const
pure virtual

Used to define whether particle channel will be used by the operator/test.

◆ SetUseEventTime()

void SetUseEventTime ( bool  use)
pure virtual

Used to define whether particle channel will be used by the operator/test.

◆ GetUsePosition()

bool GetUsePosition ( ) const
pure virtual

Used to define whether particle channel will be used by the operator/test.

◆ SetUsePosition()

void SetUsePosition ( bool  use)
pure virtual

Used to define whether particle channel will be used by the operator/test.

◆ GetUseSpeed()

bool GetUseSpeed ( ) const
pure virtual

Used to define whether particle channel will be used by the operator/test.

◆ SetUseSpeed()

void SetUseSpeed ( bool  use)
pure virtual

Used to define whether particle channel will be used by the operator/test.

◆ GetUseAcceleration()

bool GetUseAcceleration ( ) const
pure virtual

Used to define whether particle channel will be used by the operator/test.

◆ SetUseAcceleration()

void SetUseAcceleration ( bool  use)
pure virtual

Used to define whether particle channel will be used by the operator/test.

◆ GetUseOrientation()

bool GetUseOrientation ( ) const
pure virtual

Used to define whether particle channel will be used by the operator/test.

◆ SetUseOrientation()

void SetUseOrientation ( bool  use)
pure virtual

Used to define whether particle channel will be used by the operator/test.

◆ GetUseSpin()

bool GetUseSpin ( ) const
pure virtual

Used to define whether particle channel will be used by the operator/test.

◆ SetUseSpin()

void SetUseSpin ( bool  use)
pure virtual

Used to define whether particle channel will be used by the operator/test.

◆ GetUseScale()

bool GetUseScale ( ) const
pure virtual

Used to define whether particle channel will be used by the operator/test.

◆ SetUseScale()

void SetUseScale ( bool  use)
pure virtual

Used to define whether particle channel will be used by the operator/test.

◆ GetUseTM()

bool GetUseTM ( ) const
pure virtual

Used to define whether particle channel will be used by the operator/test.

◆ SetUseTM()

void SetUseTM ( bool  use)
pure virtual

Used to define whether particle channel will be used by the operator/test.

◆ GetUseSelected()

bool GetUseSelected ( ) const
pure virtual

Used to define whether particle channel will be used by the operator/test.

◆ SetUseSelected()

void SetUseSelected ( bool  use)
pure virtual

Used to define whether particle channel will be used by the operator/test.

◆ GetUseShape()

bool GetUseShape ( ) const
pure virtual

Used to define whether particle channel will be used by the operator/test.

◆ SetUseShape()

void SetUseShape ( bool  use)
pure virtual

Used to define whether particle channel will be used by the operator/test.

◆ GetUseMtlIndex()

bool GetUseMtlIndex ( ) const
pure virtual

Used to define whether particle channel will be used by the operator/test.

◆ SetUseMtlIndex()

void SetUseMtlIndex ( bool  use)
pure virtual

Used to define whether particle channel will be used by the operator/test.

◆ GetUseMapping()

bool GetUseMapping ( ) const
pure virtual

Used to define whether particle channel will be used by the operator/test.

◆ SetUseMapping()

void SetUseMapping ( bool  use)
pure virtual

Used to define whether particle channel will be used by the operator/test.

◆ GetUseInt()

bool GetUseInt ( ) const
pure virtual

Used to define whether particle channel will be used by the operator/test.

◆ SetUseInt()

void SetUseInt ( bool  use)
pure virtual

Used to define whether particle channel will be used by the operator/test.

◆ GetUseFloat()

bool GetUseFloat ( ) const
pure virtual

Used to define whether particle channel will be used by the operator/test.

◆ SetUseFloat()

void SetUseFloat ( bool  use)
pure virtual

Used to define whether particle channel will be used by the operator/test.

◆ GetUseVector()

bool GetUseVector ( ) const
pure virtual

Used to define whether particle channel will be used by the operator/test.

◆ SetUseVector()

void SetUseVector ( bool  use)
pure virtual

Used to define whether particle channel will be used by the operator/test.

◆ GetUseMatrix()

bool GetUseMatrix ( ) const
pure virtual

Used to define whether particle channel will be used by the operator/test.

◆ SetUseMatrix()

void SetUseMatrix ( bool  use)
pure virtual

Used to define whether particle channel will be used by the operator/test.

◆ NumParticles()

int NumParticles ( )
pure virtual

Method to get/set properties of the particle in the container.

◆ AddParticle()

bool AddParticle ( )
pure virtual

Add a single particle to particle system.

Returns true if the operation was completed successfully.

◆ AddParticles()

bool AddParticles ( int  num)
pure virtual

Add "num" particles into the particle system.

Returns true if the operation was completed successfully.

◆ DeleteParticle()

bool DeleteParticle ( int  index)
pure virtual

Delete a single particle with the given index.

Returns true if the operation was completed successfully.

◆ DeleteParticles()

bool DeleteParticles ( int  start,
int  num 
)
pure virtual

List-type delete of "num" particles starting with "start".

Returns true if the operation was completed successfully.

◆ GetParticleBornIndex()

int GetParticleBornIndex ( int  i)
pure virtual

Each particle is given a unique ID (consecutive) upon its birth.

The method allows us to distinguish physically different particles even if they are using the same particle index (because of the "index reusing").

Parameters
iindex of the particle in the range of [0, NumParticles-1]

◆ HasParticleBornIndex()

bool HasParticleBornIndex ( int  bornIndex,
int index 
)
pure virtual

Implemented by the Plug-In.

The methods verifies if a particle with a given particle id (born index) is present in the particle container. The methods returns index in the container. If there is no such particle, the method returns false.

Parameters
bornIndexparticle born index
indexparticle index in the particle group or particle system

◆ GetCurrentParticleIndex()

int GetCurrentParticleIndex ( )
pure virtual

Defines "current" index, used to get the property without specifying the index.

◆ GetCurrentParticleBornIndex()

int GetCurrentParticleBornIndex ( )
pure virtual

Defines "current" bornIndex, used to get the property without specifying the index.

◆ SetCurrentParticleIndex()

void SetCurrentParticleIndex ( int  index)
pure virtual

Defines "current" index, used to set the property without specifying the index.

◆ SetCurrentParticleBornIndex()

void SetCurrentParticleBornIndex ( int  bornIndex)
pure virtual

Defines "current" bornIndex, used to set the property without specifying the index.

◆ IsParticleNewByIndex()

bool IsParticleNewByIndex ( int  index)
pure virtual

Defines if a particle just arrived into the current event.

Particle is specified by either its index in the particle container, or by its born index. If no index is specified then the "current" index is used.

Parameters
indexparticle index in the particle container

◆ IsParticleNewByBornIndex()

bool IsParticleNewByBornIndex ( int  id)
pure virtual

See IsParticleNewByIndex().

Parameters
idparticle born index

◆ IsParticleNew()

bool IsParticleNew ( )
pure virtual

◆ GetParticleTimeByIndex()

TimeValue GetParticleTimeByIndex ( int  index)
pure virtual

Defines time for the current state for a particle.

Particle is specified by either its index in the particle container, or by its born index. If no index is specified then the "current" index is used. Modification of the time is only accessible for tests, and only for particles that satisfy the test.

Parameters
indexint, particle index in the particle container

◆ GetParticleTimeByBornIndex()

TimeValue GetParticleTimeByBornIndex ( int  id)
pure virtual

See GetParticleTimeByIndex().

Parameters
idint, particle born index

◆ SetParticleTimeByIndex() [1/2]

void SetParticleTimeByIndex ( int  index,
TimeValue  time 
)
pure virtual

See GetParticleTimeByIndex().

Parameters
indexint, particle index in the particle container
timeTimeValue, time of the current state for the particle

◆ SetParticleTimeByIndex() [2/2]

void SetParticleTimeByIndex ( int  index,
TimeValue  time,
float  timeDelta 
)
pure virtual

See GetParticleTimeByIndex().

Parameters
indexint, particle index in the particle container
timeTimeValue, time of the current state for the particle
timeDeltafloat, if you need more precision to set time value then use the timeDelta parameter

◆ SetParticleTimeByBornIndex() [1/2]

void SetParticleTimeByBornIndex ( int  id,
TimeValue  time 
)
pure virtual

See GetParticleTimeByIndex().

Parameters
idint, particle born index
timeTimeValue, time of the current state for the particle

◆ SetParticleTimeByBornIndex() [2/2]

void SetParticleTimeByBornIndex ( int  id,
TimeValue  time,
float  timeDelta 
)
pure virtual

See GetParticleTimeByIndex().

Parameters
idint, particle born index
timeTimeValue, time of the current state for the particle
timeDeltafloat, if you need more precision to set time value then use the timeDelta parameter

◆ GetParticleTime()

TimeValue GetParticleTime ( )
pure virtual

◆ SetParticleTime()

void SetParticleTime ( TimeValue  time)
pure virtual

See GetParticleTimeByIndex().

Parameters
timeTimeValue, time of the current state for the particle

◆ GetParticleAgeByIndex()

TimeValue GetParticleAgeByIndex ( int  index)
pure virtual

Defines age of the specified particle.

Particle is specified by either its index in the particle group or particle system, or by its born index. If no index is specified then the "current" index is used.

Parameters
indexparticle index in the particle group

◆ GetParticleAgeByBornIndex()

TimeValue GetParticleAgeByBornIndex ( int  id)
pure virtual

See GetParticleAgeByIndex().

Parameters
idparticle born index

◆ SetParticleAgeByIndex()

void SetParticleAgeByIndex ( int  index,
TimeValue  age 
)
pure virtual

See GetParticleAgeByIndex().

Parameters
indexparticle index in the particle group
agenew age value to set for a particle

◆ SetParticleAgeByBornIndex()

void SetParticleAgeByBornIndex ( int  id,
TimeValue  age 
)
pure virtual

See GetParticleAgeByIndex().

Parameters
idparticle born index
agenew age value to set for a particle

◆ GetParticleAge()

TimeValue GetParticleAge ( )
pure virtual

◆ SetParticleAge()

void SetParticleAge ( TimeValue  age)
pure virtual

See GetParticleAgeByIndex().

Parameters
agenew age value to set for a particle

◆ GetParticleLifespanByIndex()

TimeValue GetParticleLifespanByIndex ( int  index)
pure virtual

Defines lifespan of the specified particle.

Particle is specified by either its index in the particle group or particle system, or by its born index. If no index is specified then the "current" index is used.

Parameters
indexparticle index in the particle group

◆ GetParticleLifespanByBornIndex()

TimeValue GetParticleLifespanByBornIndex ( int  id)
pure virtual

See GetParticleLifespanByIndex().

Parameters
idparticle born index

◆ SetParticleLifespanByIndex()

void SetParticleLifespanByIndex ( int  index,
TimeValue  lifespan 
)
pure virtual

See GetParticleLifespanByIndex().

Parameters
indexparticle index in the particle group
lifespannew lifespan value to set for a particle

◆ SetParticleLifespanByBornIndex()

void SetParticleLifespanByBornIndex ( int  id,
TimeValue  lifespan 
)
pure virtual

See GetParticleLifespanByIndex().

Parameters
idparticle born index
lifespannew lifespan value to set for a particle

◆ GetParticleLifespan()

TimeValue GetParticleLifespan ( )
pure virtual

◆ SetParticleLifespan()

void SetParticleLifespan ( TimeValue  lifespan)
pure virtual

See GetParticleLifespanByIndex().

Parameters
lifespannew lifespan value to set for a particle

◆ GetParticleEventTimeByIndex()

TimeValue GetParticleEventTimeByIndex ( int  index)
pure virtual

Defines for how long the specified particle was staying in the current action list (event).

Particle is specified by either its index in the particle container, or by its born index. If no index is specified then the "current" index is used.

Parameters
indexparticle index in the particle container

◆ GetParticleEventTimeByBornIndex()

TimeValue GetParticleEventTimeByBornIndex ( int  id)
pure virtual

See GetParticleEventTimeByIndex().

Parameters
idparticle born index

◆ SetParticleEventTimeByIndex()

void SetParticleEventTimeByIndex ( int  index,
TimeValue  time 
)
pure virtual

See GetParticleEventTimeByIndex().

Parameters
indexparticle index in the particle container
timehow long particle was staying in the current action list (event)

◆ SetParticleEventTimeByBornIndex()

void SetParticleEventTimeByBornIndex ( int  id,
TimeValue  time 
)
pure virtual

See GetParticleEventTimeByIndex().

Parameters
idparticle born index
timehow long particle was staying in the current action list (event)

◆ GetParticleEventTime()

TimeValue GetParticleEventTime ( )
pure virtual

◆ SetParticleEventTime()

void SetParticleEventTime ( TimeValue  time)
pure virtual

See GetParticleEventTimeByIndex().

Parameters
timehow long particle was staying in the current action list (event)

◆ GetParticlePositionByIndex()

Point3 * GetParticlePositionByIndex ( int  index)
pure virtual

Defines position of the specified particle in the current state.

Particle is specified by either its index in the particle container, or by its born index. If no index is specified then the "current" index is used.

Parameters
indexparticle index in the particle group

◆ GetParticlePositionByBornIndex()

Point3 * GetParticlePositionByBornIndex ( int  id)
pure virtual

See GetParticlePositionByIndex().

Parameters
idparticle born index

◆ SetParticlePositionByIndex()

void SetParticlePositionByIndex ( int  index,
Point3  pos 
)
pure virtual

See GetParticlePositionByIndex().

Parameters
indexparticle index in the particle group
posposition of the particle

◆ SetParticlePositionByBornIndex()

void SetParticlePositionByBornIndex ( int  id,
Point3  pos 
)
pure virtual

See GetParticlePositionByIndex().

Parameters
idparticle born index
posposition of the particle

◆ GetParticlePosition()

Point3 * GetParticlePosition ( )
pure virtual

◆ SetParticlePosition()

void SetParticlePosition ( Point3  pos)
pure virtual

See GetParticlePositionByIndex().

Parameters
posposition of the particle

◆ GetParticleSpeedByIndex()

Point3 * GetParticleSpeedByIndex ( int  index)
pure virtual

Defines speed of the specified particle in the current state.

Particle is specified by either its index in the particle container, or by its born index. If no index is specified then the "current" index is used.

Parameters
indexparticle index in the particle group

◆ GetParticleSpeedByBornIndex()

Point3 * GetParticleSpeedByBornIndex ( int  id)
pure virtual

See GetParticleSpeedByIndex().

Parameters
idparticle born index

◆ SetParticleSpeedByIndex()

void SetParticleSpeedByIndex ( int  index,
Point3  speed 
)
pure virtual

See GetParticleSpeedByIndex().

Parameters
indexparticle index in the particle group
speedspeed of the particle in units per frame

◆ SetParticleSpeedByBornIndex()

void SetParticleSpeedByBornIndex ( int  id,
Point3  speed 
)
pure virtual

See GetParticleSpeedByIndex().

Parameters
idparticle born index
speedspeed of the particle in units per frame

◆ GetParticleSpeed()

Point3 * GetParticleSpeed ( )
pure virtual

◆ SetParticleSpeed()

void SetParticleSpeed ( Point3  speed)
pure virtual

See GetParticleSpeedByIndex().

Parameters
speedspeed of the particle in units per frame

◆ GetParticleAccelerationByIndex()

Point3 * GetParticleAccelerationByIndex ( int  index)
pure virtual

Defines acceleration of the specified particle in the current state.

Particle is specified by either its index in the particle container, or by its born index. If no index is specified then the "current" index is used. The acceleration is reset in the each update cycle so the operator/test should update it for each particle in each proceed call.

Parameters
indexparticle index in the particle group

◆ GetParticleAccelerationByBornIndex()

Point3 * GetParticleAccelerationByBornIndex ( int  id)
pure virtual

See GetParticleAccelerationByIndex().

Parameters
idparticle born index

◆ SetParticleAccelerationByIndex()

void SetParticleAccelerationByIndex ( int  index,
Point3  accel 
)
pure virtual

See GetParticleAccelerationByIndex().

Parameters
indexparticle index in the particle group
accelacceleration of the particle in units per frame squared

◆ SetParticleAccelerationByBornIndex()

void SetParticleAccelerationByBornIndex ( int  id,
Point3  accel 
)
pure virtual

See GetParticleAccelerationByIndex().

Parameters
idparticle born index
accelacceleration of the particle in units per frame squared

◆ GetParticleAcceleration()

Point3 * GetParticleAcceleration ( )
pure virtual

◆ SetParticleAcceleration()

void SetParticleAcceleration ( Point3  speed)
pure virtual

See GetParticleAccelerationByIndex().

Parameters
speedacceleration of the particle in units per frame squared

◆ GetParticleOrientationByIndex()

Point3 * GetParticleOrientationByIndex ( int  index)
pure virtual

Defines orientation of the specified particle in the current state.

Particle is specified by either its index in the particle container, or by its born index. If no index is specified then the "current" index is used.

Parameters
indexparticle index in the particle group

◆ GetParticleOrientationByBornIndex()

Point3 * GetParticleOrientationByBornIndex ( int  id)
pure virtual

See GetParticleOrientationByIndex().

Parameters
idparticle born index

◆ SetParticleOrientationByIndex()

void SetParticleOrientationByIndex ( int  index,
Point3  orient 
)
pure virtual

See GetParticleOrientationByIndex().

Parameters
indexparticle index in the particle group
orientorientation of the particle. The orientation is defined by incremental rotations by world axes X, Y and Z. The rotation values are in degrees.

◆ SetParticleOrientationByBornIndex()

void SetParticleOrientationByBornIndex ( int  id,
Point3  orient 
)
pure virtual

See GetParticleOrientationByIndex().

Parameters
idparticle born index
orientorientation of the particle. The orientation is defined by incremental rotations by world axes X, Y and Z. The rotation values are in degrees.

◆ GetParticleOrientation()

Point3 * GetParticleOrientation ( )
pure virtual

◆ SetParticleOrientation()

void SetParticleOrientation ( Point3  orient)
pure virtual

See GetParticleOrientationByIndex().

Parameters
orientorientation of the particle. The orientation is defined by incremental rotations by world axes X, Y and Z. The rotation values are in degrees.

◆ GetParticleSpinByIndex()

AngAxis * GetParticleSpinByIndex ( int  index)
pure virtual

Defines angular speed of the specified particle in the current state.

Particle is specified by either its index in the particle container, or by its born index. If no index is specified then the "current" index is used.

Parameters
indexparticle index in the particle group

◆ GetParticleSpinByBornIndex()

AngAxis * GetParticleSpinByBornIndex ( int  id)
pure virtual

See GetParticleSpinByIndex().

Parameters
idparticle born index

◆ SetParticleSpinByIndex()

void SetParticleSpinByIndex ( int  index,
AngAxis  spin 
)
pure virtual

See GetParticleSpinByIndex().

Parameters
indexparticle index in the particle group
spinangular speed of the particle in rotation per frame, axis defines rotation axis, angle defines rotation amount per frame

◆ SetParticleSpinByBornIndex()

void SetParticleSpinByBornIndex ( int  id,
AngAxis  spin 
)
pure virtual

See GetParticleSpinByIndex().

Parameters
idparticle born index
spinangular speed of the particle in rotation per frame, axis defines rotation axis, angle defines rotation amount per frame

◆ GetParticleSpin()

AngAxis * GetParticleSpin ( )
pure virtual

◆ SetParticleSpin()

void SetParticleSpin ( AngAxis  spin)
pure virtual

See GetParticleSpinByIndex().

Parameters
spinangular speed of the particle in rotation per frame, axis defines rotation axis, angle defines rotation amount per frame

◆ GetParticleScaleByIndex()

float GetParticleScaleByIndex ( int  index)
pure virtual

Defines scale factor of the specified particle in the current state.

The XYZ form is used for non-uniform scaling. Particle is specified by either its index in the particle container, or by its born index. If no index is specified then the "current" index is used.

Parameters
indexparticle index in the particle group

◆ GetParticleScaleByBornIndex()

float GetParticleScaleByBornIndex ( int  id)
pure virtual

See GetParticleScaleByIndex().

Parameters
idparticle born index

◆ SetParticleScaleByIndex()

void SetParticleScaleByIndex ( int  index,
float  scale 
)
pure virtual

See GetParticleScaleByIndex().

Parameters
indexparticle index in the particle group
scaleuniform scale factor

◆ SetParticleScaleByBornIndex()

void SetParticleScaleByBornIndex ( int  id,
float  scale 
)
pure virtual

See GetParticleScaleByIndex().

Parameters
idparticle born index
scaleuniform scale factor

◆ GetParticleScale()

float GetParticleScale ( )
pure virtual

◆ SetParticleScale()

void SetParticleScale ( float  scale)
pure virtual

See GetParticleScaleByIndex().

Parameters
scaleuniform scale factor

◆ GetParticleScaleXYZByIndex()

Point3 * GetParticleScaleXYZByIndex ( int  index)
pure virtual

See GetParticleScaleByIndex().

Parameters
indexparticle index in the particle group

◆ GetParticleScaleXYZByBornIndex()

Point3 * GetParticleScaleXYZByBornIndex ( int  id)
pure virtual

See GetParticleScaleByIndex().

Parameters
idparticle born index

◆ SetParticleScaleXYZByIndex()

void SetParticleScaleXYZByIndex ( int  index,
Point3  scale 
)
pure virtual

See GetParticleScaleByIndex().

Parameters
indexparticle index in the particle group
scalescale factor for each local axis of the particle

◆ SetParticleScaleXYZByBornIndex()

void SetParticleScaleXYZByBornIndex ( int  id,
Point3  scale 
)
pure virtual

See GetParticleScaleByIndex().

Parameters
idparticle born index
scalescale factor for each local axis of the particle

◆ GetParticleScaleXYZ()

Point3 * GetParticleScaleXYZ ( )
pure virtual

◆ SetParticleScaleXYZ()

void SetParticleScaleXYZ ( Point3  scale)
pure virtual

See GetParticleScaleByIndex().

Parameters
scalescale factor for each local axis of the particle

◆ GetParticleTMByIndex()

Matrix3 * GetParticleTMByIndex ( int  index)
pure virtual

Defines transformation matrix of the specified particle in the current state.

Particle is specified by either its index in the particle container, or by its born index. If no index is specified then the "current" index is used.

Parameters
indexparticle index in the particle group

◆ GetParticleTMByBornIndex()

Matrix3 * GetParticleTMByBornIndex ( int  id)
pure virtual

See GetParticleTMByIndex().

Parameters
idparticle born index

◆ SetParticleTMByIndex()

void SetParticleTMByIndex ( int  index,
Matrix3  tm 
)
pure virtual

See GetParticleTMByIndex().

Parameters
indexparticle index in the particle group
tmtransformation matrix of the particle

◆ SetParticleTMByBornIndex()

void SetParticleTMByBornIndex ( int  id,
Matrix3  tm 
)
pure virtual

See GetParticleTMByIndex().

Parameters
idparticle born index
tmtransformation matrix of the particle

◆ GetParticleTM()

Matrix3 * GetParticleTM ( )
pure virtual

◆ SetParticleTM()

void SetParticleTM ( Matrix3  tm)
pure virtual

See GetParticleTMByIndex().

Parameters
tmtransformation matrix of the particle

◆ GetParticleSelectedByIndex()

bool GetParticleSelectedByIndex ( int  index)
pure virtual

Defines selection status of the specified particle in the current state.

Particle is specified by either its index in the particle container, or by its born index. If no index is specified then the "current" index is used.

Parameters
indexparticle index in the particle group

◆ GetParticleSelectedByBornIndex()

bool GetParticleSelectedByBornIndex ( int  id)
pure virtual

See GetParticleSelectedByIndex().

Parameters
idparticle born index

◆ SetParticleSelectedByIndex()

void SetParticleSelectedByIndex ( int  index,
bool  selected 
)
pure virtual

See GetParticleSelectedByIndex().

Parameters
indexparticle index in the particle group
selectedselection status of the particle

◆ SetParticleSelectedByBornIndex()

void SetParticleSelectedByBornIndex ( int  id,
bool  selected 
)
pure virtual

See GetParticleSelectedByIndex().

Parameters
idparticle born index
selectedselection status of the particle

◆ GetParticleSelected()

bool GetParticleSelected ( )
pure virtual

◆ SetParticleSelected()

void SetParticleSelected ( bool  selected)
pure virtual

See GetParticleSelectedByIndex().

Parameters
selectedselection status of the particle

◆ GetParticleShapeByIndex()

Mesh * GetParticleShapeByIndex ( int  index)
pure virtual

Defines shape of the specified particle in the current state.

Particle is specified by either its index in the particle container, or by its born index. if no index is specified then the "current" index is used.

Parameters
indexparticle index in the particle group

◆ GetParticleShapeByBornIndex()

Mesh * GetParticleShapeByBornIndex ( int  id)
pure virtual

See GetParticleShapeByIndex().

Parameters
idparticle born index

◆ SetParticleShapeByIndex()

void SetParticleShapeByIndex ( int  index,
Mesh shape 
)
pure virtual

See GetParticleShapeByIndex().

Parameters
indexparticle index in the particle group
shapeshape of the particle

◆ SetParticleShapeByBornIndex()

void SetParticleShapeByBornIndex ( int  id,
Mesh shape 
)
pure virtual

See GetParticleShapeByIndex().

Parameters
idparticle born index
shapeshape of the particle

◆ GetParticleShape()

Mesh * GetParticleShape ( )
pure virtual

◆ SetParticleShape()

void SetParticleShape ( Mesh shape)
pure virtual

See GetParticleShapeByIndex().

Parameters
shapeshape of the particle

◆ SetGlobalParticleShape()

void SetGlobalParticleShape ( Mesh shape)
pure virtual

Set the same shape for all particles.

See GetParticleShapeByIndex().

Parameters
shapeshape of the particle

◆ SetParticleMtlIndexByIndex()

void SetParticleMtlIndexByIndex ( int  index,
int  mtlIndex 
)
pure virtual

Defines material index of the specified particle in the current state.

Particle is specified by either its index in the particle container, or by its born index. If no index is specified then the "current" index is used.

Parameters
indexparticle index in the particle group
mtlIndexmaterial index of the particle

◆ SetParticleMtlIndexByBornIndex()

void SetParticleMtlIndexByBornIndex ( int  id,
int  mtlIndex 
)
pure virtual

See SetParticleMtlIndexByIndex().

Parameters
idparticle born index
mtlIndexmaterial index of the particle

◆ SetParticleMtlIndex()

void SetParticleMtlIndex ( int  mtlIndex)
pure virtual

See SetParticleMtlIndexByIndex().

Parameters
mtlIndexmaterial index of the particle

◆ SetParticleMappingByIndex()

void SetParticleMappingByIndex ( int  index,
int  mapChannel,
UVVert  mapValue 
)
pure virtual

Defines mapping of the specified particle in the current state.

All vertices of the particle are assigned the same map value. Particle is specified by either its index in the particle container, or by its born index. If no index is specified then the "current" index is used.

Parameters
indexparticle index in the particle group
mapChannelmapping channel; range from 0 to MAX_MESHMAPS-1
mapValuemapping value of the particle

◆ SetParticleMappingByBornIndex()

void SetParticleMappingByBornIndex ( int  id,
int  mapChannel,
UVVert  mapValue 
)
pure virtual

See SetParticleMappingByIndex().

Parameters
idparticle born index
mapChannelmapping channel; range from 0 to MAX_MESHMAPS-1
mapValuemapping value of the particle

◆ SetParticleMapping()

void SetParticleMapping ( int  mapChannel,
UVVert  mapValue 
)
pure virtual

See SetParticleMappingByIndex().

Parameters
mapChannelmapping channel; range from 0 to MAX_MESHMAPS-1
mapValuemapping value of the particle

◆ GetParticleIntByIndex()

int GetParticleIntByIndex ( int  index)
pure virtual

Defines integer value of the specified particle.

The methods can be used to keep integer data with the particle, and to be used later. Particle is specified by either its index in the particle container, or by its born index. If no index is specified then the "current" index is used.

Parameters
indexparticle index in the particle group

◆ GetParticleIntByBornIndex()

int GetParticleIntByBornIndex ( int  id)
pure virtual

See GetParticleIntByIndex().

Parameters
idparticle born index

◆ SetParticleIntByIndex()

void SetParticleIntByIndex ( int  index,
int  value 
)
pure virtual

See GetParticleIntByIndex().

Parameters
indexparticle index in the particle group
valueinteger value of the particle

◆ SetParticleIntByBornIndex()

void SetParticleIntByBornIndex ( int  id,
int  value 
)
pure virtual

See GetParticleIntByIndex().

Parameters
idparticle born index
valueinteger value of the particle

◆ GetParticleInt()

int GetParticleInt ( )
pure virtual

◆ SetParticleInt()

void SetParticleInt ( int  value)
pure virtual

See GetParticleIntByIndex().

Parameters
valueinteger value of the particle

◆ GetParticleFloatByIndex()

float GetParticleFloatByIndex ( int  index)
pure virtual

Defines float value of the specified particle.

The methods can be used to keep float data with the particle, and to be used later. Particle is specified by either its index in the particle container, or by its born index. If no index is specified then the "current" index is used.

Parameters
indexparticle index in the particle group

◆ GetParticleFloatByBornIndex()

float GetParticleFloatByBornIndex ( int  id)
pure virtual

See GetParticleFloatByIndex().

Parameters
idparticle born index

◆ SetParticleFloatByIndex()

void SetParticleFloatByIndex ( int  index,
float  value 
)
pure virtual

See GetParticleFloatByIndex().

Parameters
indexparticle index in the particle group
valuefloat value of the particle

◆ SetParticleFloatByBornIndex()

void SetParticleFloatByBornIndex ( int  id,
float  value 
)
pure virtual

See GetParticleFloatByIndex().

Parameters
idparticle born index
valuefloat value of the particle

◆ GetParticleFloat()

float GetParticleFloat ( )
pure virtual

◆ SetParticleFloat()

void SetParticleFloat ( float  value)
pure virtual

See GetParticleFloatByIndex().

Parameters
valuefloat value of the particle

◆ GetParticleVectorByIndex()

Point3 * GetParticleVectorByIndex ( int  index)
pure virtual

Defines vector value of the specified particle.

Can be used to keep vector data with the particle, and to be used later. Particle is specified by either its index in the particle container, or by its born index. If no index is specified then the "current" index is used.

Parameters
indexint, particle index in the particle group

◆ GetParticleVectorByBornIndex()

Point3 * GetParticleVectorByBornIndex ( int  id)
pure virtual

See GetParticleVectorByIndex().

Parameters
idint, particle born index

◆ SetParticleVectorByIndex()

void SetParticleVectorByIndex ( int  index,
Point3  value 
)
pure virtual

See GetParticleVectorByIndex().

Parameters
indexint, particle index in the particle group
valuevector value of the particle

◆ SetParticleVectorByBornIndex()

void SetParticleVectorByBornIndex ( int  id,
Point3  value 
)
pure virtual

See GetParticleVectorByIndex().

Parameters
idint, particle born index
valuevector value of the particle

◆ GetParticleVector()

Point3 * GetParticleVector ( )
pure virtual

◆ SetParticleVector()

void SetParticleVector ( Point3  value)
pure virtual

See GetParticleVectorByIndex().

Parameters
valuevector value of the particle

◆ GetParticleMatrixByIndex()

Matrix3 * GetParticleMatrixByIndex ( int  index)
pure virtual

Defines matrix value of the specified particle.

Can be used to keep matrix data with the particle, and to be used later. Particle is specified by either its index in the particle container, or by its born index. If no index is specified then the "current" index is used.

Parameters
indexparticle index in the particle group

◆ GetParticleMatrixByBornIndex()

Matrix3 * GetParticleMatrixByBornIndex ( int  id)
pure virtual

See GetParticleMatrixByIndex().

Parameters
idparticle born index

◆ SetParticleMatrixByIndex()

void SetParticleMatrixByIndex ( int  index,
Matrix3  value 
)
pure virtual

See GetParticleMatrixByIndex().

Parameters
indexparticle index in the particle group
valuematrix value of the particle

◆ SetParticleMatrixByBornIndex()

void SetParticleMatrixByBornIndex ( int  id,
Matrix3  value 
)
pure virtual

See GetParticleMatrixByIndex().

Parameters
idparticle born index
valuematrix value of the particle

◆ GetParticleMatrix()

Matrix3 * GetParticleMatrix ( )
pure virtual

◆ SetParticleMatrix()

void SetParticleMatrix ( Matrix3  value)
pure virtual

See GetParticleMatrixByIndex().

Parameters
valuematrix value of the particle

◆ SetParticleTestStatusByIndex()

void SetParticleTestStatusByIndex ( int  index,
bool  testStatus 
)
pure virtual

Defines test status (true or false) for particles while testing.

Particle is specified by either its index in the particle container, or by its born index. If no index is specified then the "current" index is used.

Parameters
indexparticle index in the particle group
testStatustest status

◆ SetParticleTestStatusByBornIndex()

void SetParticleTestStatusByBornIndex ( int  id,
bool  testStatus 
)
pure virtual

See SetParticleTestStatusByIndex()

Parameters
idparticle born index
testStatustest status

◆ GetParticleTestStatus()

bool GetParticleTestStatus ( )
pure virtual

◆ SetParticleTestStatus()

void SetParticleTestStatus ( bool  testStatus)
pure virtual

See SetParticleTestStatusByIndex().

Parameters
testStatustest status

◆ SetGlobalTestStatus()

void SetGlobalTestStatus ( bool  testStatus)
pure virtual

Set the same test status for all particles.

Parameters
testStatustest status

◆ SetParticleTestTimeByIndex() [1/2]

void SetParticleTestTimeByIndex ( int  index,
TimeValue  testTime 
)
pure virtual

Defines the time when a particle satisfies the test.

Particle is specified by either its index in the particle container, or by its born index. If no index is specified then the "current" index is used.

Parameters
indexint, particle index in the particle group
testTimeTimeValue; time when a particle satisfies the test

◆ SetParticleTestTimeByIndex() [2/2]

void SetParticleTestTimeByIndex ( int  index,
TimeValue  testTime,
float  testTimeDelta 
)
pure virtual

See SetParticleTestTimeByIndex().

Parameters
indexint, particle index in the particle group
testTimeTimeValue; time when a particle satisfies the test
testTimeDeltafloat, if testTime parameter doesn't have enough precision then use the delta for fine tuning the test time

◆ SetParticleTestTimeByBornIndex() [1/2]

void SetParticleTestTimeByBornIndex ( int  id,
TimeValue  testTime 
)
pure virtual

See SetParticleTestTimeByIndex().

Parameters
idint, particle born index
testTimeTimeValue; time when a particle satisfies the test

◆ SetParticleTestTimeByBornIndex() [2/2]

void SetParticleTestTimeByBornIndex ( int  id,
TimeValue  testTime,
float  testTimeDelta 
)
pure virtual

See SetParticleTestTimeByIndex().

Parameters
idint, particle born index
testTimeTimeValue; time when a particle satisfies the test
testTimeDeltafloat, if testTime parameter doesn't have enough precision then use the delta for fine tuning the test time

◆ GetParticleTestTime()

TimeValue GetParticleTestTime ( )
pure virtual

◆ SetParticleTestTime() [1/2]

void SetParticleTestTime ( TimeValue  testTime)
pure virtual

See SetParticleTestTimeByIndex().

Parameters
testTimeTimeValue; time when a particle satisfies the test

◆ SetParticleTestTime() [2/2]

void SetParticleTestTime ( TimeValue  testTime,
float  testTimeDelta 
)
pure virtual

See SetParticleTestTimeByIndex().

Parameters
testTimeTimeValue; time when a particle satisfies the test
testTimeDeltafloat, if testTime parameter doesn't have enough precision then use the delta for fine tuning the test time

◆ SetGlobalTestTime() [1/2]

void SetGlobalTestTime ( TimeValue  testTime)
pure virtual

set the same test status for all particles

Parameters
testTimeTimeValue; time when a particle satisfies the test

◆ SetGlobalTestTime() [2/2]

void SetGlobalTestTime ( TimeValue  testTime,
float  testTimeDelta 
)
pure virtual

set the same test status for all particles

Parameters
testTimeTimeValue; time when a particle satisfies the test
testTimeDeltafloat, if testTime parameter doesn't have enough precision then use the delta for fine tuning the test time

◆ GetDesc()

FPInterfaceDesc * GetDesc ( )
inlinevirtual
Remarks
Returns a pointer to the class which contains the interface metadata.

Implements FPInterface.

#define MXSPARTICLECONTAINER_INTERFACE
Definition: IMXSParticleContainer.h:21
virtual FPInterfaceDesc * GetDescByID(Interface_ID id)
Definition: ifnpub.h:613