PDA

View Full Version : delete one element from array, - how?


syntetik
12-10-2003, 08:53 PM
I have an array for particle IDs that picks up particle IDs when they fill certain conditions.
But I need them kick out from the array, when they donīt fill these conditions any more.

I guess itīs simple, but I didnīt find any clue in Maya Help. Does anybody know how to do it?

ACFred
12-10-2003, 10:20 PM
Well, there's the stringArrayRemove, but if you want a more generalized index removal, you could do something like this (assuming float numbers):


// declared array
float $origArray[] = {12.2,15.6,1.3,8.0,9.1};

$origArray = remFloatArrayIndex($origArray,2);

// to confirm returned array
float $eachIdx;
for ($eachIdx in $origArray)
print($eachIdx + "\n");


// remFloatArrayIndex procedure follows
global proc float[] remFloatArrayIndex(float $origArray[], int $index)
{
int $idx;
float $tmpArray[];
if (0 < $index < (size($origArray)-1))
{
for ($idx=0;$idx<size($origArray);$idx++)
{
if ($idx != $index)
$tmpArray[size($tmpArray)] = $origArray[$idx];
}
}
return $tmpArray;
}


That'll work for floats, which is what you'll need for particles. It's not very generalized, but it'll work.

Alec

ACFred
12-10-2003, 10:26 PM
Just to be a bit clearer about the script above, it returns the array with the requested index removed.
You could easily convert it to accept an array of indices instead.

Alec

syntetik
12-11-2003, 05:02 PM
thanks very much ALEC! this is more advanced stuff obviously, Iīm learning new things from this.

now I have a little problem with caching particleīs rgbPP atribute. I have lava streaming particles, changing colors from age based ramp. Than I used dynExport command, but after caching the color were wrong.

I used these atributes to cache:

position
velocity
rgbPP
opacityPP

am I missing something? :-)

CGTalk Moderation
01-16-2006, 09:00 PM
This thread has been automatically closed as it remained inactive for 12 months. If you wish to continue the discussion, please create a new thread in the appropriate forum.