|
virtual bool | Init (IObject *pCont, Object *pSystem, INode *node, Tab< Object * > &actions, Tab< INode * > &actionNodes)=0 |
| Returns true if the operation has been proceeded successfully.
|
|
virtual bool | Release (IObject *pCont)=0 |
| See Init().
|
|
virtual const ParticleChannelMask & | ChannelsUsed (const Interval &time) const =0 |
| See Init().
|
|
PFExport void | ChannelsUsed (const Interval &time, FPValue *channels) const |
| "Function publishing" alternative for ChannelsUsed method.
|
|
virtual const Interval | ActivityInterval () const =0 |
| Casting the FPValue->ptr parameter to Tab<Interface_ID>* as in PFExport void ChannelsUsed(...); an Action may have a time interval when the Action is active.
|
|
virtual bool | IsFertile () const |
| Birth Action is a special type of actions since it can create particles from scratch.
|
|
virtual bool | IsNonExecutable () const |
| There is a special case of non-executable actions.
|
|
virtual bool | Has3dIcon () const |
| An action may have 3d icon representation in viewport.
|
|
virtual int | IsColorCoordinated () const |
| If an operator/test has a 3D icon the icon can be automatically color matched to the color of the display operator in the same event.
|
|
virtual bool | SupportRand () const =0 |
| An Action may carry some chaos/unpredictibility in its processing.
|
|
virtual int | GetRand ()=0 |
| For chaos/unpredictibility action, gets rand value.
|
|
virtual void | SetRand (int seed)=0 |
| For chaos/unpredictibility action, sets rand value.
|
|
PFExport int | NewRand () |
| For chaos/unpredictibility action, sets and returns new rand value.
|
|
static PFExport int | NewRand (IParamBlock2 *pblock, ParamID randomSeedParamID) |
| Alternative for PFExport int NewRand(); but not in FnPub interface.
|
|
virtual bool | IsMaterialHolder () const |
| If the Action may potentically change particle material, then return true.
|
|
virtual Mtl * | GetMaterial () |
| Returns a material for particles.
|
|
virtual bool | SetMaterial (Mtl *mtl) |
| Return true if material was set successfully.
|
|
virtual bool | SupportScriptWiring () const |
| An Action may have parameters controlled by script channels.
|
|
virtual bool | GetUseScriptWiring () const |
| Supports script wiring.
|
|
virtual void | SetUseScriptWiring (bool useScriptWiring) |
| Supports script wiring.
|
|
virtual bool | IsEmitterTMDependent () const |
| An Action may or may not be dependent on the particle system emitter.
|
|
virtual bool | IsEmitterPropDependent () const |
| Checks the props category for dependency.
|
|
virtual IObject * | GetCurrentState (IObject *pContainer) |
| Returns action state (see IPFActionState.h for details).
|
|
virtual void | SetCurrentState (IObject *actionState, IObject *pContainer) |
| Sets the state of the action to the given state.
|
|
FPInterfaceDesc * | GetDesc () |
|
Returns true if the operation has been proceeded successfully.
The method is called when the ActionList is established the first time, when there is a first particle that enters the ActionList and there is a need to proceed particles. /param pCont: particle container with particle data /param pSystem: the particle system that generates the particle stream; the same operator may get calls from different particle systems; if the result varies according to the particle system that generates particles, then this parameter is useful. /param pNode: INode of the particle system that generates the particles. /param actions: Tab<Object*> of Actions in the current ActionList. The stack will be used to proceed particles. The stack is mutable: an Action may change the stack (to remove or add some Actions) to fine-tune the order of execution or add some extra actions. The next parameter should sync with the mutation. /param actionNodes: Tab<INode*> of action nodes.
Implemented in PFSimpleAction.
bool IsEmitterTMDependent |
( |
| ) |
const |
|
inlinevirtual |
An Action may or may not be dependent on the particle system emitter.
When the emitter is invalidated, a particle group has to decide if it needs to invalidate itself. To make the decision, the group checks all the actions if any of them are dependent on the emitter change. There are two categories of dependency: the transformation matrix of the emitter (TM), and object parameters of the emitter (props). This method checks the TM category.