3ds Max C++ API Reference
IParticleChannelID.h File Reference

Channel-specific interfaces for ParticleChannelID. More...

#include "../maxheap.h"
#include "../ifnpub.h"

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 }
 

Detailed 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.

Macro Definition Documentation

◆ PARTICLECHANNELIDR_INTERFACE

#define PARTICLECHANNELIDR_INTERFACE   Interface_ID(0x74f93b02, 0x1eb34500)

◆ PARTICLECHANNELIDW_INTERFACE

#define PARTICLECHANNELIDW_INTERFACE   Interface_ID(0x74f93b02, 0x1eb34501)

◆ GetParticleChannelIDRInterface

#define GetParticleChannelIDRInterface (   obj)    ((IParticleChannelIDR*)obj->GetInterface(PARTICLECHANNELIDR_INTERFACE))

◆ GetParticleChannelIDWInterface

#define GetParticleChannelIDWInterface (   obj)    ((IParticleChannelIDW*)obj->GetInterface(PARTICLECHANNELIDW_INTERFACE))

Enumeration Type Documentation

◆ anonymous enum

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

◆ anonymous enum

anonymous enum
Enumerator
particleChannelID_setID 
50 };
@ particleChannelID_setID
Definition: IParticleChannelID.h:49