The test Interface is exposed by all Test Classes.
<void><PFlowTest>.proceedStep1 <IObject>container <object>particleSystem <node>particleSystemNode <node>actionNode <Interface>integrator
<IObject>container - the current particle container. Can be accessed via the Interface: MaxscriptParticleContainer inside a hander using pCont.GetParticleContainer()
<object>particleSystem - the particle system that generates the particle stream.
<node>particleSystemNode - Node of the particle system that generates the particles.
<node>actionNode - Node of the Test action.
<Interface>integrator - an operator to proceed particles according to "inertia" rules. The operator updates time, speed, position, spin, orientation channels on the basis of time, acceleration, speed, angular acceleration and spin channels. Each particle system has a default inertia operator. When an action wants to update the current time for particles, it uses the "inertia" operator. An Action in the ActionList stack may "switch" the suggested "inertia" operator by its own if the Action supports the "inertial" operator interface. The particle system recognizes such an Action as a holder of "inertia" interface, and uses it for "inertia" purposes later on. If the parameter is NULL then the particle system doesn't allow the test to advance particles in the time channel.
<bool><PFlowTest>.proceedStep2 <time>timeStartTick <float>timeStartFraction <&time>timeEndTick <&float>timeEndFraction <&bitArray>testResult <&float array>testTime timeEndTick is In and Out parameter timeEndFraction is In and Out parameter testResult is In and Out parameter testTime is In and Out parameter
Returns true if the test has been proceeded successfully.
The proceedStep1 and proceedStep2 verify the test condition and may change particle channels. Particles that satisfy the condition may be advanced to the time of the condition satisfaction according to the inertia operator integrator .
<time>timeStartTick - The time for a particle to start the simulation. Each particle may have its own current valid time greater than timeStart. In this case the test should consider the current particle time and timeEnd parameter.
<float>timeStartFraction <&float>timeEndFraction - Float portion of the real TimeValue
<&bitArray>testResult - A bit array indicating which particles satisfy the test condition
<&float array>testTime - For particles that satisfy the condition, the list of time moments when a particle satisfies the condition. The tab has the same number of entries as particles in the container. The entry is set only for particles that satisfy the condition .
See Speed Operator in Script Operator Example for sample usage.
<node><PFlowTest>.getNextActionList <node>testNode <*bool>linkActive linkActive is In and Out parameter
Returns the next Action List of the specified testNode. This is basically the ActionList (Event) wired to the Test. If a particle satisfies the test then it is directed to this Action List. Since a Test may have several instances with different next events, it is necessary to pass the TestNode as parameter.
For a complete example, see VolumeDocking Sample Script.
Wires the specified testNode to the supplied actionList node. Returns true on success. The next actionList node can be rejected if it is not a real actionList.
Disconnects the specified testNode from its Action List.
Will set the Active status of the Link to the supplied boolean value for the specified testNode. Returns true on success.
For a complete example, see VolumeDocking Sample Script.
This Interface is available in: