The MaxscriptParticleContainer Interface is exposed by Particle Containers and is available in Particle Script handlers.
Properties
<particeContainer>.useTime : boolean : Read|WriteWhen set to true, the Time channel will be available for scripting access.
<particeContainer>.useAge : boolean : Read|WriteWhen set to true, the Age channel will be available for scripting access.
<particeContainer>.useLifespan : boolean : Read|WriteWhen set to true, the Lifespan channel will be available for scripting access.
<particeContainer>.useEventTime : boolean : Read|WriteWhen set to true, the EventTime channel will be available for scripting access.
<particeContainer>.usePosition : boolean : Read|WriteWhen set to true, the Position channel will be available for scripting access.
<particeContainer>.useSpeed : boolean : Read|WriteWhen set to true, the Speed channel will be available for scripting access.
<particeContainer>.useAcceleration : boolean : Read|WriteWhen set to true, the Acceleration channel will be available for scripting access.
<particeContainer>.useOrientation : boolean : Read|WriteWhen set to true, the Oritnation channel will be available for scripting access.
<particeContainer>.useSpin : boolean : Read|WriteWhen set to true, the Spin channel will be available for scripting access.
<particeContainer>.useScale : boolean : Read|WriteWhen set to true, the Scale channel will be available for scripting access.
<particeContainer>.useTM : boolean : Read|WriteWhen set to true, the TM (Transformation Matrix) channel will be available for scripting access.
<particeContainer>.useSelected : boolean : Read|WriteWhen set to true, the Selected channel will be available for scripting access.
<particeContainer>.useShape : boolean : Read|WriteWhen set to true, the Shape channel will be available for scripting access.
<particeContainer>.useMtlIndex : boolean: Read|WriteWhen set to true, the Material Index channel will be available for scripting access.
<particeContainer>.useMapping : boolean: Read|WriteWhen set to true, the Mapping channel will be available for scripting access.
<particeContainer>.useInteger : boolean : Read|WriteWhen set to true, the Integer channel will be available for scripting access.
<particeContainer>.useFloat : boolean : Read|WriteWhen set to true, the Float channel will be available for scripting access.
<particeContainer>.useVector : boolean : Read|WriteWhen set to true, the Vector channel will be available for scripting access.
<particeContainer>.useMatrix : boolean : Read|WriteWhen set to true, the Matrix channel will be available for scripting access.
<particeContainer>.particleIndex : index : Read|Write|Validated by Range: 1 to 100000000Get/Set current particle index
<particeContainer>.particleID : index : Read|Write|Validated by Range: 1 to 100000000Get/Set current particle ID
<particeContainer>.particleNew : boolean : ReadCheck if particle just arrived into the event
<particeContainer>.particleTime : time : Read|WriteGet/Set the Time of the current particle
<particeContainer>.particleAge : time : Read|Write|Validated by Range: 0f to 9e+006fGet/Set the Age of the current particle
<particeContainer>.particleLifespan : time : Read|Write|Validated by Range: 0f to 9e+006fGet/Set the Lifespan of the current particle
<particeContainer>.particleEventTime : time : Read|Write|Validated by Range: 0f to 9e+006fGet/Set for how long the particle is present in the current event
<particeContainer>.particlePosition : point3 : Read|WriteGet/Set the current particle Position
<particeContainer>.particleSpeed : point3 : Read|WriteGet/Set the current particle Speed
<particeContainer>.particleAcceleration : point3 : Read|WriteGet/Set the current particle Acceleration
<particeContainer>.particleOrientation : point3 : Read|WriteGet/Set the current particle Orientation
<particeContainer>.particleSpin : angleAxis : Read|WriteGet/Set the current particle Spin
<particeContainer>.particleScale : float : Read|WriteGet/Set the current particle’s Size
<particeContainer>.particleScaleXYZ : point3 : Read|WriteGet/Set the current particle’s Scale
<particeContainer>.particleTM : matrix3 : Read|WriteGet/Set the current particle transformation matrix
<particeContainer>.particleSelected : boolean : Read|WriteGet/Set whether the particle is selected.
<particeContainer>.particleShape : mesh : Read|WriteGet/Set the particle mesh
<particeContainer>.particleInteger : integer : Read|WriteStore/Retrieve custom integer data per particle.
<particeContainer>.particleTestStatus : boolean : Read|WriteGet/set the particle's test status.
<particeContainer>.particleTestTime : time : Read|Write|Validated by Range: 0f to 9e+006fGet/set the particle's test time.
<particeContainer>.particleFloat : float : Read|WriteStore/Retrieve custom float data per particle.
<particeContainer>.particleVector : point3 : Read|WriteStore/Retrieve custom vector data per particle.
<particeContainer>.particleMatrix : matrix3 : Read|WriteStore/Retrieve custom matrix data per particle.
The particleMatrix channel could be used to store either a matrix3 value or a set of 4 Point3 values, or 12 Float values. This makes it very versatile when a large number of values have to be stored. As noted in the matrix3 chapter, you cannot directly assign values to sub-elements of a matrix3 value. To write a Point3 or Float value to the particleMatrix channel, first store the particleMatrix value in a user variable, assign the Point3 to the respective row of the matrix or the Float value to the.x,.y or.z element of the Point3 and then assign the variable back to the particleMatrix channel.
Methods
<IObject>getParticleContainer()Get particle container
<object>getParticleSystem()Get the particle system object
<node>getParticleSystemNode()Get the particle system node
<object array>getInitActions()Get list of all action objects in the action list
<node array>getInitActionNodes()Get list of all action nodes in the action list
<time>getTimeStart()Get the start time of the proceed interval
<time>getTimeEnd()Get the end time of the proceed interval
<void>setTimeEnd <time>timeIf it is not possible to proceed all particles to the given timeEnd then set the closest possible time of the proceed interval
<void>setTimeEndPrecise <time>time <float>fractionSet the end time with higher precision by supplying time and fraction
<node>getActionNode()Get action node
<Interface>getIntegrator()Get the interface of the procedure that integrates particle motion in time. See Interface: integrator
<integer>randSign()Get random sign (-1 or +1)
<float>rand01()Get random number from interval [0, 1]
<float>rand11()Get random number from interval [-1, 1]
<float>rand55()Get random number from interval [-0.5, 0.5]
<integer>rand0X<integer>maxNumberGet random integer number from interval [0..maxNumber]
<point3>randSpherePoint()Get random 3D point from surface of sphere with radius 1
<point3>randDivergeVector <point3>vectorToDiverge <angle>maxAngleGet random vector that diverges from the given vector by no more than the specified maxAngle angle
<integer>numParticles()Number of particles in the current event/actionList
<boolean>addParticle()Add a single particle.
Use .particleTime to define when particle is added. Use .particleAge=0 to set particle age to zero. Use other methods to define particle position, speed, orientation etc.
<boolean>addParticles <integer>amountAdd 'amount' particles
<boolean>deleteParticle <index>indexDelete a single particle with the given index
<boolean>deleteParticles <index>startIndex <integer>amountDelete 'amount' particles starting from startIndex
<index>getParticleID <index>particleIndexGet the ID of the particle with the given index
<boolean>hasParticleID <index>particleID <&index>particleIndexparticleIndex is In and Out parameter
Verify if the event has a particle with the given ID
If the particle is present then particleIndex is the index of the particle
<boolean>isParticleNew <index>particleIndexCheck if a particle just arrived into the event
<boolean>isParticleNewByID <index>particleIDCheck if a particle with the given ID just arrived into the event
<time>getParticleTime <index>particleIndexGet time of the current status of the particle
<time>getParticleTimeByID <index>particleIDGet the time of the the particle with the specified ID
<void>setParticleTime <index>particleIndex <time>timeChange time of the current status of the particle
<void>setParticleTimePrecise <index>particleIndex <time>time <float>fractionSet the time of the indexed particle with sub-frame precision using the frame time and a fraction value.
<void>setParticleTimeByID <index>particleID <time>timeSet the time of the particle with the specified ID
<void>setParticleTimePreciseByID <index>particleID <time>time <float>fractionSet the time of the particle with the specified ID with sub-frame precision by supplying a frame and a fraction value.
<time>getParticleAge <index>particleIndexReturns the age of the indexed particle.
<time>getParticleAgeByID <index>particleIDReturns the age of the particle with the specified ID.
<void>setParticleAge <index>particleIndex <time>ageSets the age of the indexed particle.
<void>setParticleAgeByID <index>particleID <time>ageSets the age of the particle with the specified ID.
<time>getParticleLifespan <index>particleIndexReturns the lifespan of the indexed particle.
<time>getParticleLifespanByID <index>particleIDReturns the lifespan of the particle with the specified ID.
<void>setParticleLifespan <index>particleIndex <time>lifespanSets the lifespan of the indexed particle to the supplied time value.
<void>setParticleLifespanByID <index>particleID <time>lifespanSets the lifespan of the particle with the specified ID to the supplied time value.
<time>getParticleEventTime <index>particleIndexReturns the Event time of the indexed particle.
<time>getParticleEventTimeByID <index>particleIDReturns the Event time of the particle with the specified ID.
<void>setParticleEventTime <index>particleIndex <time>eventTimeSets the Event time of the indexed particle.
<void>setParticleEventTimeByID <index>particleID <time>eventTimeSets the Event time of the particle with the specified ID.
<point3>getParticlePosition <index>particleIndexReturns the Position of the indexed particle.
<point3>getParticlePositionByID <index>particleIDReturns the Position of the particle with the specified ID.
<void>setParticlePosition <index>particleIndex <point3>positionSets the Position of the indexed particle.
<void>setParticlePositionByID <index>particleID <point3>positionSets the Position of the particle with the specified ID.
<point3>getParticleSpeed <index>particleIndexReturns the Speed of the indexed particle.
<point3>getParticleSpeedByID <index>particleIDReturns the Speed of the particle with the specified ID.
<void>setParticleSpeed <index>particleIndex <point3>speedSets the Speed of the indexed particle.
<void>setParticleSpeedByID <index>particleID <point3>speedSets the Speed of the particle with the specified ID.
<point3>getParticleAcceleration <index>particleIndexReturns the Acceleration of the indexed particle.
<point3>getParticleAccelerationByID<index>particleIDReturns the Acceleration of the particle with the specified ID.
<void>setParticleAcceleration <index>particleIndex <point3>accelerationSets the Acceleration of the indexed particle.
<void>setParticleAccelerationByID <index>particleID <point3>accelerationSets the Acceleration of the particle with the specified ID.
<point3>getParticleOrientation <index>particleIndexReturns the Orientation of the indexed particle.
<point3>getParticleOrientationByID <index>particleIDReturns the Orientation of the particle with the specified ID.
<void>setParticleOrientation <index>particleIndex <point3>orientationSets the Orientation of the indexed particle.
<void>setParticleOrientationByID <index>particleID <point3>orientationSets the Orientation of the particle with the specified ID.
<angleAxis>getParticleSpin <index>particleIndexReturns the Spin of the indexed particle.
<angleAxis>getParticleSpinByID <index>particleIDReturns the Spin of the particle with the specified ID.
<void>setParticleSpin <index>particleIndex <angleAxis>spinSets the Spin of the indexed particle.
<void>setParticleSpinByID <index>particleID <angleAxis>spinSets the Spin of the particle with the specified ID.
<float>getParticleScale <index>particleIndexReturns the Scale of the indexed particle.
<float>getParticleScaleByID <index>particleIDReturns the Scale of the particle with the specified ID.
<void>setParticleScale <index>particleIndex <float>scaleSets the Scale of the indexed particle.
<void>setParticleScaleByID <index>particleID <float>scaleSets the Size of the particle with the specified ID.
<point3>getParticleScaleXYZ <index>particleIndexReturns the Scale of the indexed particle.
<point3>getParticleScaleXYZByID <index>particleIDReturns the Scale of the particle with the specified ID.
<void>setParticleScaleXYZ <index>particleIndex <point3>scaleSets the Scale of the indexed particle.
<void>setParticleScaleXYZByID <index>particleID <point3>scaleSets the Scale of the particle with the specified ID.
<matrix3>getParticleTM <index>particleIndexReturns the Transformation Matrix of the indexed particle.
<matrix3> getParticleTMByID <index>particleIDReturns the Transformation Matrix of the particle with the specified ID.
<void>setParticleTM <index>particleIndex <matrix3>transformationMatrixSets the Transformation Matrix of the indexed particle.
<void>setParticleTMByID <index>particleID <matrix3>transformationMatrixSets the Transformation Matrix of the particle with the specified ID.
<boolean>getParticleSelected <index>particleIndexReturns the Selected state of the indexed particle.
<boolean>getParticleSelectedByID <index>particleIDReturns the Selected state of the particle with the specified ID.
<void>setParticleSelected <index>particleIndex <boolean>selectedSets the Selected state of the indexed particle.
<void>setParticleSelectedByID <index>particleID <boolean>selectedSets the Selected state of the particle with the specified ID.
<mesh>getParticleShape <index>particleIndexReturns the shape of the indexed particle as mesh.
<mesh>getParticleShapeByID <index>particleIDReturns the shape of the particle with the specified ID as mesh.
<void>setParticleShape <index>particleIndex <mesh>shapeSets the shape of the indexed particle to the supplied mesh.
<void>setParticleShapeByID <index>particleID <mesh>shapeSets the shape of the particle with the specified ID to the supplied mesh.
<void>setShapeForAllParticles <mesh>shapeSets the shape of all particles to the supplied mesh.
<void>setParticleMtlIndex <index>particleIndex <index>materialIndexSets the Material Index of the indexed particle.
<void>setParticleMtlIndexByID <index>particleID <index>materialIndexSets the Material Index of the particle with the specified ID
<void>setMtlIndexForAllParticles <index>materialIndexSets the Material Index of all particles to the specified index value.
<void>setParticleMapping <index>particleIndex <int>mapChannel <point3>mapValueSets the Mapping of the indexed particle to the specified Point3 value.
<void>setParticleMappingByID <index>particleID <int>mapChannel <point3>mapValueSets the Mapping of the particle with the specified ID to the specified Point3 value.
<void>setMappingForAllParticles <int>mapChannel <point3>mapValueSets the Mapping of all particles to the specified Point3 value.
<integer>getParticleInteger <index>particleIndexReturns the integer channel value of the indexed particle
<integer>getParticleIntegerByID <index>particleIDReturns the integer channel value of the particle with the specified ID
<void>setParticleInteger <index>particleIndex <integer>integerValueSets the integer channel value of the indexed particle to the supplied integer value.
<void>setParticleIntegerByID <index>particleID <integer>integerValueSets the integer channel value of the particle with the specified ID to the supplied integer value.
<float>getParticleFloat <index>particleIndexReturns the float channel value of the indexed particle
<float>getParticleFloatByID <index>particleIDReturns the float channel value of the particle with the specified ID
<void>setParticleFloat <index>particleIndex <float>floatValueSets the float channel value of the indexed particle
<void>setParticleFloatByID <index>particleID <float>floatValueSets the float channel value of the particle with the specified ID
<point3>getParticleVector <index>particleIndexReturns the vector channel value of the indexed particle
<point3>getParticleVectorByID <index>particleIDReturns the vector channel value of the particle with the specified ID
<void>setParticleVector <index>particleIndex <point3>vectorValueSets the vector channel value of the indexed particle
<void>setParticleVectorByID <index>particleID <point3>vectorValueSets the vector channel value of the particle with the specified ID
<matrix3> getParticleMatrix <index>particleIndexReturns the matrix channel value of the indexed particle
<matrix3> getParticleMatrixByID <index>particleIDReturns the matrix channel value of the particle with the specified ID
<void>setParticleMatrix <index>particleIndex <matrix3>matrixValueSets the matrix channel value of the indexed particle
<void>setParticleMatrixByID <index>particleID <matrix3>matrixValueSets the matrix channel value of the particle with the specified ID
<void>setParticleTestStatus <index>particleIndex <boolean>satisfy?Sets the Test Status of the indexed particle to the supplied boolean value.
<void>setParticleTestStatusByID <index>particleID <boolean>satisfy?Sets the Test Status of the particle with the specified ID to the supplied boolean value.
<void>setGlobalTestStatus <boolean>satisfy?Sets the Test Status of all particles to the supplied boolean value.
<void>setParticleTestTime <index>particleIndex <time>timeSets the Test Time of the indexed particle to the supplied time value.
<void>setParticleTestTimePrecise <index>particleIndex <time>time <float>fractionSets the sub-frame Test Time of the indexed particle to the supplied time and fraction value.
<void>setParticleTestTimeByID <index>particleID <time>timeSets the Test Time of the particle with the specified ID to the supplied time value.
<void>setParticleTestTimePreciseByID <index>particleID <time>time <float>fractionSets the sub-frame Test Time of the particle with the specified ID to the supplied time and fraction value.
<void>setGlobalTestTime <time>timeSets the Test Time of all particles to the supplied time value.
<void>setGlobalTestTimePrecise <time>time <float>fractionSets the sub-frame Test Time of all particles to the supplied time and fraction value.