Enumerations |
|
enum | { kEmitterType_none = -1, kEmitterType_rectangle = 0, kEmitterType_circle, kEmitterType_box, kEmitterType_sphere, kEmitterType_mesh } |
enum | { kPFUpdateType_complete, kPFUpdateType_forward } |
Functions |
|
virtual float | GetMultiplier (TimeValue time)=0 |
Returns multiplier coefficient to generate
particles. |
|
virtual int | GetBornAllowance ()=0 |
Returns number of particles allowed to be
generated at current time. |
|
virtual bool | HasEmitter () |
PF System has an icon that can be used as
an emitter for particles. |
|
virtual int | GetEmitterType (TimeValue time) |
virtual void | GetEmitterDimensions (TimeValue time, Tab< float > &dimensions) |
Returns spacial dimensions of the emitter
icon. |
|
virtual Mesh * | GetEmitterGeometry (TimeValue time) |
Returns emitter geometry in form of mesh.
|
|
virtual bool | IsEmitterGeometryAnimated () |
If the emitter mesh is geometry-animated,
return "true" in the following method. |
|
virtual void | SetRenderState (bool renderState=true)=0 |
PF System has two states: render and
viewport. |
|
virtual bool | IsRenderState () const =0 |
Works with SetRenderState. |
|
virtual TimeValue | GetIntegrationStep () const =0 |
PF System has an integration step
parameter that defines granularity in proceeding particles in time.
|
|
virtual int | GetUpdateType () const |
PF system has different modes for update.
|
|
virtual int | NumParticlesSelected () const |
PF system may select sub-components.
|
|
virtual int | GetSelectedParticleID (int i) const |
Returns born ID of the i-th selected
particle. |
|
virtual bool | IsParticleSelected (int id) const |
Verifies if a particle with the given born
ID is selected or not. |
|
virtual int | NumActionListsSelected () const |
Returns amount of selected action lists.
|
|
virtual INode * | GetSelectedActionList (int i) const |
Returns node of the i-th selected action
list. |
|
virtual bool | IsActionListSelected (INode *inode) const |
Verifies if an action list is selected or
not. |
|
virtual bool | IsRunningScript () const |
Returns true if the particle system is in
the process of runnint Every Step or Final Step scripts. |
|
virtual bool | IsCopyClone () const |
For internal use. |
|
virtual void | ResetCopyClone () |
Works with IsCopyClone. |
|
FPInterfaceDesc * | GetDesc () |
anonymous enum [inherited] |
anonymous enum [inherited] |
float GetMultiplier | ( | TimeValue | time | ) | [pure virtual, inherited] |
Returns multiplier coefficient to generate particles.
Value 1.0f means that an operator produces particles at 100% rate. Value 0.5f means that an operator produces only half of particles that it supposed to be generating, i.e. if a Birth operator is set to produce 1000 particles total, then under multiplier = 0.5f the operator produces only 500 particles.
int GetBornAllowance | ( | ) | [pure virtual, inherited] |
Returns number of particles allowed to be generated at current time.
Particle system has an upper limit of a total number of particles in the system. At each moment of time particle system is able to calculate the current number of particle in the system and how many particles are allowed to be generated to not exceed the limit threshold. Birth and Spawn Operators use this method to find out how many particles they are allowed to generate.
bool HasEmitter | ( | ) | [inline, virtual, inherited] |
PF System has an icon that can be used as an emitter for particles.
For Operators to use the icon as an emitter the following five methods should be supported. If PF System doesn't support emitter icon then it returns "false" in the first method. The default implementation of the following five methods is if PF System doesn't support icon emission.
{ return false; }
int GetEmitterType | ( | TimeValue | time | ) | [inline, virtual, inherited] |
{ return kEmitterType_none; }
void GetEmitterDimensions | ( | TimeValue | time, |
Tab< float > & | dimensions | ||
) | [inline, virtual, inherited] |
Returns spacial dimensions of the emitter icon.
It may have less or more than three as emitter type requires. For example, sphere emitter type has only one dimension.
{ }
Mesh * GetEmitterGeometry | ( | TimeValue | time | ) | [inline, virtual, inherited] |
bool IsEmitterGeometryAnimated | ( | ) | [inline, virtual, inherited] |
If the emitter mesh is geometry-animated, return "true" in the following method.
{ return false; }
void SetRenderState | ( | bool | renderState = true |
) | [pure virtual, inherited] |
PF System has two states: render and viewport.
At any given moment PF System is exclusively in one state or the other. PF System may have different parameters during render and viewport (i.e. Multiplier value, or emitter geometry etc.) therefore it's important to know what state the PF System is in. It's also possible to alterate the state of PF System. PF System alterates its state automatically when the rendering starts and when the rendering ends.
bool IsRenderState | ( | ) | const [pure virtual, inherited] |
Works with SetRenderState.
TimeValue GetIntegrationStep | ( | ) | const [pure virtual, inherited] |
int GetUpdateType | ( | ) | const [inline, virtual, inherited] |
PF system has different modes for update.
Forward mode: particles aren't updated right away. At playback time the particle history is not recalculated. Only new events that will happen with the particles have new settings Complete mode: the whole particle animation is recalculated.
{ return GetPFUpdateType(); } // uses global UpdateType method from IPViewManager
int NumParticlesSelected | ( | ) | const [inline, virtual, inherited] |
PF system may select sub-components.
There are two types of sub-components: particles and action lists. Returns amount of selected particles.
{ return 0; }
int GetSelectedParticleID | ( | int | i | ) | const [inline, virtual, inherited] |
bool IsParticleSelected | ( | int | id | ) | const [inline, virtual, inherited] |
Verifies if a particle with the given born ID is selected or not.
{ return false; }
int NumActionListsSelected | ( | ) | const [inline, virtual, inherited] |
INode * GetSelectedActionList | ( | int | i | ) | const [inline, virtual, inherited] |
bool IsActionListSelected | ( | INode * | inode | ) | const [inline, virtual, inherited] |
bool IsRunningScript | ( | ) | const [inline, virtual, inherited] |
Returns true if the particle system is in the process of runnint Every Step or Final Step scripts.
{ return false; }
bool IsCopyClone | ( | ) | const [inline, virtual, inherited] |
void ResetCopyClone | ( | ) | [inline, virtual, inherited] |
FPInterfaceDesc * GetDesc | ( | ) | [inline, virtual, inherited] |
Implements FPInterface.
{ return GetDescByID(PFSYSTEM_INTERFACE); }