Enumerations | Functions

IPFSystem.h

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 ()

Enumeration Type Documentation

anonymous enum [inherited]
anonymous enum [inherited]

Function Documentation

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]
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]

Returns emitter geometry in form of mesh.

{ return NULL; }
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]

PF System has an integration step parameter that defines granularity in proceeding particles in time.

An PF System may have different integration steps for viewports and for render.

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]

Returns born ID of the i-th selected particle.

{ return 0; }
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]

Returns amount of selected action lists.

{ return 0; }
INode * GetSelectedActionList ( int  i ) const [inline, virtual, inherited]

Returns node of the i-th selected action list.

{ return NULL; }
bool IsActionListSelected ( INode inode ) const [inline, virtual, inherited]

Verifies if an action list is selected or not.

{ return false; }
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]

For internal use.

{ return true; }
void ResetCopyClone ( ) [inline, virtual, inherited]

Works with IsCopyClone.

{ ; }
FPInterfaceDesc * GetDesc ( ) [inline, virtual, inherited]
Remarks:
Returns a pointer to the class which contains the interface metadata.

Implements FPInterface.

{ return GetDescByID(PFSYSTEM_INTERFACE); }