AgeArray (ParticleCollection)

Description

Returns the age of each specified particle as a one-dimensional Array of Integers (Particle.IDs).

Note: This property uses an optional input argument, which must be handled specially in Python. If you need to specify a particle array, use 'Get' or 'Set' prefixed to the property name and use method-style syntax. For example, 'MyParticleCollection.SetAgeArray( MyIDArray, MyAgeArrayToSet )'.

C# Syntax

// get accessor
Object ParticleCollection.get_AgeArray( Object in_vParticleIDArray );

// set accessor
ParticleCollection.set_AgeArray( Object in_vParticleIDArray, Object out_pvAgeArray );

Parameters

Parameter

Type

Description

ParticleIDArray

Array

Array of Particle.IDs.

Default Value: If missing, all particles are accessed.

Examples

JScript Example

/*
   This example demonstrates how to use the AgeArray, IDArray, and
   AgeLimitArray properties on the ParticleCollection by showing
   how you can create a subset of the current particle ids in order
   to reset the ages of those particles using the AgeArray property

   For the VBScript version of this example, see ParticleCollection.IDArray.
   For the Python version of this example, see ParticleCollection.AgeLimitArray.
*/

// Set up a scene with a particle cloud using a disc emitter
NewScene( null, false );
CreateParticleCloud( "", "Disc" );

// Simulate particle emission up to frame 5
for ( var i=0; i<4; i++ ) {
   NextFrame(); 
}

// Get the particle collection from the cloud
var cloud = Dictionary.GetObject( "cloud" );
var pcoll = cloud.Particles;

// Get the ages of each particle in the collection
var allAges = pcoll.AgeArray.toArray();
Application.LogMessage( "Old ages: " + allAges.join("\t") );

// Get the particle IDs and then build a new list of every other ID
var allIDs = pcoll.IDArray.toArray();
var subsetIDs = new Array();
for ( var j=0; j<allIDs.length; j+=2 ) {
   subsetIDs.push( allIDs[j] );
}

// Get the age limit arrays for this group of particles 
var newAges = pcoll.AgeLimitArray(subsetIDs).toArray();

// Reset the selected particles to their age limit
pcoll.AgeArray(subsetIDs) = newAges;

// Print out the ages again
allAges = pcoll.AgeArray.toArray();
Application.LogMessage( "New ages: " + allAges.join("\t") );


// Expected result:
//INFO : Old ages: 4 4 3 2 2 1 1 0
//INFO : New ages: 29 4 29 2 29 1 29 0


Autodesk Softimage v7.5