Public Types | Public Member Functions | Static Public Member Functions

IPFAction Class Reference

Search for all occurrences

#include <IPFAction.h>

Inheritance diagram for IPFAction:
Inheritance graph
[legend]

List of all members.

Public Types

enum   {
  kInit, kRelease, kChannelsUsed, kActivityInterval,
  kIsFertile, kIsNonExecutable, kSupportRand, kGetRand,
  kSetRand, kNewRand, kIsMaterialHolder, kGetMaterial,
  kSetMaterial, kSupportScriptWiring, kGetUseScriptWiring, kSetUseScriptWiring
}

Public Member Functions

BEGIN_FUNCTION_MAP  FN_5 (kInit, TYPE_bool, Init, TYPE_IOBJECT, TYPE_OBJECT, TYPE_INODE, TYPE_OBJECT_TAB_BR, TYPE_INODE_TAB_BR)
  FN_1 (kRelease, TYPE_bool, Release, TYPE_IOBJECT)
  VFN_2 (kChannelsUsed, ChannelsUsed, TYPE_INTERVAL_BR, TYPE_FPVALUE)
  FN_0 (kActivityInterval, TYPE_INTERVAL_BV, ActivityInterval)
  FN_0 (kIsFertile, TYPE_bool, IsFertile)
  FN_0 (kIsNonExecutable, TYPE_bool, IsNonExecutable)
  FN_0 (kSupportRand, TYPE_bool, SupportRand)
  FN_0 (kGetRand, TYPE_INT, GetRand)
  VFN_1 (kSetRand, SetRand, TYPE_INT)
  FN_0 (kNewRand, TYPE_INT, NewRand)
  FN_0 (kIsMaterialHolder, TYPE_bool, IsMaterialHolder)
  FN_0 (kGetMaterial, TYPE_MTL, GetMaterial)
  FN_1 (kSetMaterial, TYPE_bool, SetMaterial, TYPE_MTL)
  FN_0 (kSupportScriptWiring, TYPE_bool, SupportScriptWiring)
  FN_0 (kGetUseScriptWiring, TYPE_bool, GetUseScriptWiring)
  VFN_1 (kSetUseScriptWiring, SetUseScriptWiring, TYPE_bool)
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.
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 ()

Static Public Member Functions

static PFExport int  NewRand (IParamBlock2 *pblock, ParamID randomSeedParamID)
  Alternative for PFExport int NewRand(); but not in FnPub interface.

Member Enumeration Documentation

anonymous enum

Member Function Documentation

BEGIN_FUNCTION_MAP FN_5 ( kInit  ,
TYPE_bool  ,
Init  ,
TYPE_IOBJECT  ,
TYPE_OBJECT  ,
TYPE_INODE  ,
TYPE_OBJECT_TAB_BR  ,
TYPE_INODE_TAB_BR   
)
FN_1 ( kRelease  ,
TYPE_bool  ,
Release  ,
TYPE_IOBJECT   
)
VFN_2 ( kChannelsUsed  ,
ChannelsUsed  ,
TYPE_INTERVAL_BR  ,
TYPE_FPVALUE   
)
FN_0 ( kActivityInterval  ,
TYPE_INTERVAL_BV  ,
ActivityInterval   
)
FN_0 ( kIsFertile  ,
TYPE_bool  ,
IsFertile   
)
FN_0 ( kIsNonExecutable  ,
TYPE_bool  ,
IsNonExecutable   
)
FN_0 ( kSupportRand  ,
TYPE_bool  ,
SupportRand   
)
FN_0 ( kGetRand  ,
TYPE_INT  ,
GetRand   
)
VFN_1 ( kSetRand  ,
SetRand  ,
TYPE_INT   
)
FN_0 ( kNewRand  ,
TYPE_INT  ,
NewRand   
)
FN_0 ( kIsMaterialHolder  ,
TYPE_bool  ,
IsMaterialHolder   
)
FN_0 ( kGetMaterial  ,
TYPE_MTL  ,
GetMaterial   
)
FN_1 ( kSetMaterial  ,
TYPE_bool  ,
SetMaterial  ,
TYPE_MTL   
)
FN_0 ( kSupportScriptWiring  ,
TYPE_bool  ,
SupportScriptWiring   
)
FN_0 ( kGetUseScriptWiring  ,
TYPE_bool  ,
GetUseScriptWiring   
)
VFN_1 ( kSetUseScriptWiring  ,
SetUseScriptWiring  ,
TYPE_bool   
)

IPFAction IPFAction IPFAction IPFAction IPFAction IPFAction IPFAction IPFAction IPFAction IPFAction
IPFAction IPFAction IPFAction IPFAction IPFAction IPFAction IPFAction IPFAction IPFAction IPFAction