IParticleChannelAmount.h

Module description

Functions

virtual int Count () const =0
 Particle count management; number of particles in the channel. More...
 
FPInterfaceDescGetDesc ()
 
virtual void ZeroCount ()=0
 set number of particles in the channel to zero More...
 
virtual bool SetCount (int n)=0
 set number of particles in the channel to n More...
 
virtual int Delete (int start, int num)=0
 Delete num particles from start index. More...
 
virtual int Delete (BitArray &toRemove)=0
 Delete particles according to the BitArray (bit set == remove). More...
 
virtual IObjectSplit (BitArray &toSplit)=0
 To new "split" particle channel. More...
 
virtual bool Spawn (Tab< int > &spawnTable)=0
 Spawn particles according to the spawnTable. More...
 
virtual bool AppendNum (int num)=0
 Append num particles to the channel(s). More...
 
virtual bool Append (IObject *obj)=0
 Append all particles of another channel/container, then the input channel/container is deleted. More...
 
virtual void ResetAddedAmount ()
 For internal use; no need to implement. More...
 
virtual int GetAddedAmount ()
 For internal use; no need to implement. More...
 
FPInterfaceDescGetDesc ()
 

Function Documentation

int Count ( ) const
pure virtual

Particle count management; number of particles in the channel.

FPInterfaceDesc * GetDesc ( )
inlinevirtual
Remarks
Returns a pointer to the class which contains the interface metadata.

Implements FPInterface.

#define PARTICLECHANNELAMOUNTR_INTERFACE
Definition: IParticleChannelAmount.h:22
virtual FPInterfaceDesc * GetDescByID(Interface_ID id)
Definition: ifnpub.h:613
void ZeroCount ( )
pure virtual

set number of particles in the channel to zero

bool SetCount ( int  n)
pure virtual

set number of particles in the channel to n

int Delete ( int  start,
int  num 
)
pure virtual

Delete num particles from start index.

Returns number of particles left in the channel.

int Delete ( BitArray toRemove)
pure virtual

Delete particles according to the BitArray (bit set == remove).

Returns number of particles left in the channel

IObject * Split ( BitArray toSplit)
pure virtual

To new "split" particle channel.

Returns new particle channel; IObject type is chosen to be compatible with the available return types. All "bit-set" particles are moved.

bool Spawn ( Tab< int > &  spawnTable)
pure virtual

Spawn particles according to the spawnTable.

Returns true if the operation is successful. Size of the table equals to number of particles in the channel. Table value is how many particles are cloned from the index particle.

bool AppendNum ( int  num)
pure virtual

Append num particles to the channel(s).

Returns true if the operation is successful.

bool Append ( IObject obj)
pure virtual

Append all particles of another channel/container, then the input channel/container is deleted.

Returns true if the operation is successful.

void ResetAddedAmount ( )
inlinevirtual

For internal use; no need to implement.

144 { ; }
int GetAddedAmount ( )
inlinevirtual

For internal use; no need to implement.

149 { return 0; }
FPInterfaceDesc * GetDesc ( )
inlinevirtual
Remarks
Returns a pointer to the class which contains the interface metadata.

Implements FPInterface.

#define PARTICLECHANNELAMOUNTW_INTERFACE
Definition: IParticleChannelAmount.h:23
virtual FPInterfaceDesc * GetDescByID(Interface_ID id)
Definition: ifnpub.h:613