ParticleFlow/IParticleChannelID.h File Reference

IParticleChannelID.h File Reference
#include "../maxheap.h"
#include "../ifnpub.h"

File Description

Channel-specific interfaces for ParticleChannelID.

The channel is used to identify particles. Particle ID consists of two integers: particleIndex and particleBorn. ParticleIndex gives relative correspondense to the whole amount of particles. If PF ParticleAmountMultiplier is set to 100% then the given particleIndex are successive ordinal numbers. If it's set to 50% then the given particle indeces are 0, 2, 4, 6 etc. If it is a Birth by Total Number then the last particle born has an index of the total number whatever multiplier is. ParticleBorn number always are successive ordinal numbers when particles were born: 0, 1, 2, 3 etc. If ParticleAmountMultiplier equals 100% then for a particular particle particleIndex and particleBorn are the same number. If ParticleAmountMultiplier is greater then 100% then you may have several particles with the same particleIndex. It is recommended to link non-random properties to particleIndex and random properties to particleBorn.

Classes

struct  ParticleID
 
class  IParticleChannelIDR
 
class  IParticleChannelIDW
 

Macros

#define PARTICLECHANNELIDR_INTERFACE   Interface_ID(0x74f93b02, 0x1eb34500)
 
#define PARTICLECHANNELIDW_INTERFACE   Interface_ID(0x74f93b02, 0x1eb34501)
 
#define GetParticleChannelIDRInterface(obj)   ((IParticleChannelIDR*)obj->GetInterface(PARTICLECHANNELIDR_INTERFACE))
 
#define GetParticleChannelIDWInterface(obj)   ((IParticleChannelIDW*)obj->GetInterface(PARTICLECHANNELIDW_INTERFACE))
 

Enumerations

enum  { particleChannelID_getID, particleChannelID_getParticleIndex, particleChannelID_getParticleBorn }
 
enum  { particleChannelID_setID }
 

Macro Definition Documentation

#define PARTICLECHANNELIDR_INTERFACE   Interface_ID(0x74f93b02, 0x1eb34500)
#define PARTICLECHANNELIDW_INTERFACE   Interface_ID(0x74f93b02, 0x1eb34501)
#define GetParticleChannelIDRInterface (   obj)    ((IParticleChannelIDR*)obj->GetInterface(PARTICLECHANNELIDR_INTERFACE))
#define GetParticleChannelIDWInterface (   obj)    ((IParticleChannelIDW*)obj->GetInterface(PARTICLECHANNELIDW_INTERFACE))

Enumeration Type Documentation

anonymous enum
Enumerator
particleChannelID_getID 
particleChannelID_getParticleIndex 
particleChannelID_getParticleBorn 
46 };
Definition: IParticleChannelID.h:44
Definition: IParticleChannelID.h:43
Definition: IParticleChannelID.h:45
anonymous enum
Enumerator
particleChannelID_setID 
50 };
Definition: IParticleChannelID.h:49