c4d_particles.h File Reference

Classes

class  TP_PGroupArray
 
struct  TP_Spin
 
class  TP_BaseCollision
 
struct  TP_CollisionInterface
 
struct  TP_PShapeI
 
class  TP_PShapePtr
 
class  TP_BaseShape
 
struct  TP_PShapeInterface
 
struct  TP_FreeParticle_CB
 
struct  TP_FreePShape_CB
 
struct  TP_Msg
 
struct  TP_PGroupPreRemove
 
class  TP_MasterSystem
 
class  TP_ParticleNode
 
class  TP_PGroup
 

Macros

#define ID_THINKINGPARTICLES
 
#define ID_TP_PGROUP
 
#define ID_TP_PARTICLEGEOMETRY
 
#define ID_TP_VALUE_TYPE_PARTICLE
 
#define ID_TP_DATA_TYPE_PARTICLE
 
#define ID_TP_VALUE_TYPE_SHAPE
 
#define ID_TP_DATA_TYPE_SHAPE
 
#define ID_TP_VALUE_TYPE_GROUP
 
#define ID_TP_DATA_TYPE_GROUP
 
#define ID_TP_VALUE_TYPE_SPIN
 
#define ID_TP_DATA_TYPE_SPIN
 
#define ID_TP_OPCLASS
 
#define ID_TP_OPGROUP_CONDITION
 
#define ID_TP_OPGROUP_HELPER
 
#define ID_TP_OPGROUP_INITIATOR
 
#define ID_TP_OPGROUP_GENERATOR
 
#define ID_TP_OPGROUP_STANDARD
 
#define ID_TP_OPGROUP_DYNAMIC
 
#define ID_TP_OP_STORM
 
#define ID_TP_IN_SELFDYNAMIC
 
#define ID_TP_HP_PARTICLEDATA
 
#define ID_TP_OP_PARTICLEDATA
 
#define ID_TP_IN_INTERACT
 
#define ID_TP_IF_PARTICLEAGE
 
#define ID_TP_HP_SPINCONVERT
 
#define ID_TP_HP_PGROUP
 
#define ID_TP_HP_VELOCITYCONVERT
 
#define ID_TP_OP_DEFLECTOR
 
#define ID_TP_OP_POSFOLLOW
 
#define ID_TP_OP_OBJECTSHAPE
 
#define ID_TP_OP_SPIN
 
#define ID_TP_OP_ALIGNMENT
 
#define ID_TP_OP_PGROUP
 
#define ID_TP_OP_MASS
 
#define ID_TP_OP_SIZE
 
#define ID_TP_OP_SCALE
 
#define ID_TP_OP_FRICTION
 
#define ID_TP_OP_VELOCITY
 
#define ID_TP_OP_MOTIONINHERI
 
#define ID_TP_OP_BUBBLE
 
#define ID_TP_OP_DIE
 
#define ID_TP_OP_GRAVITY
 
#define ID_TP_OP_WIND
 
#define ID_TP_HP_TIMER
 
#define ID_TP_HP_CHRONOMETER
 
#define ID_TP_OP_FRAGMENT
 
#define ID_TP_OP_FREEZE
 
#define ID_TP_OP_REPULSEBOUNCE
 
#define ID_TP_OP_ROLLING
 
#define ID_TP_IF_LIGHT
 
#define ID_THINKINGCOMMAND
 
#define ID_TP_HP_SURFACEPOSITION
 
#define ID_TP_HP_VOLUMEPOSITION
 
#define ID_TP_OP_BORN
 
#define TP_SN_HOOK
 
#define ID_TP_OP_BLURP
 
#define ID_TP_OP_PARTICLEDRAW
 
#define ID_TP_OP_PARTICLEDRAWTOOL
 
#define ID_TP_OP_MATTERWAVES
 
#define ID_TP_OP_FORCEOBJECT
 
#define THINKINGPARTICLES_VERSION
 
#define THINKINGPARTICLES_PRIORITY
 
#define TP_PGroupInfo
 
#define TP_DataChannelInfo
 
#define DATACHANNEL_INFO_CHAN
 
#define DATACHANNEL_INFO_NAME
 
#define DATACHANNEL_INFO_TYPE
 
#define TP_Collision
 

Enumerations

enum  TP_InsertMode {
  TP_INSERT_NONE,
  TP_INSERT_UNDERFIRST,
  TP_INSERT_UNDERLAST,
  TP_INSERT_BEFORE,
  TP_INSERT_AFTER
}
 
enum  TP_GetPGroupMode {
  TP_GETPGROUP_ALL,
  TP_GETPGROUP_WITHPARTICLES,
  TP_GETPGROUP_SELECTED
}
 
enum  {
  TP_MSG_PGROUP_PREREMOVE,
  TP_MSG_PGROUP_TREECHANGED,
  TP_MSG_DCHANNEL_PREREMOVE,
  TP_MSG_DCHANNEL_CHANGED,
  TP_MSG_GET_PSHAPEINTERFACE,
  TP_MSG_GET_COLLISIONINTERFACE,
  TP_MSG_OBJECT_GETPARTICLES
}
 

Functions

Bool InitThinkingParticles (void)
 

Macro Definition Documentation

◆ ID_THINKINGPARTICLES

#define ID_THINKINGPARTICLES

Thinking Particles scene hook ID.

◆ ID_TP_PGROUP

#define ID_TP_PGROUP

Thinking Particles particle group plugin ID.

◆ ID_TP_PARTICLEGEOMETRY

#define ID_TP_PARTICLEGEOMETRY

Thinking Particles particle geometry plugin ID.

◆ ID_TP_VALUE_TYPE_PARTICLE

#define ID_TP_VALUE_TYPE_PARTICLE

Particle value type ID.

◆ ID_TP_DATA_TYPE_PARTICLE

#define ID_TP_DATA_TYPE_PARTICLE

Particle data type ID.

◆ ID_TP_VALUE_TYPE_SHAPE

#define ID_TP_VALUE_TYPE_SHAPE

Shape value type ID.

◆ ID_TP_DATA_TYPE_SHAPE

#define ID_TP_DATA_TYPE_SHAPE

Shape data type ID.

◆ ID_TP_VALUE_TYPE_GROUP

#define ID_TP_VALUE_TYPE_GROUP

Group value type ID.

◆ ID_TP_DATA_TYPE_GROUP

#define ID_TP_DATA_TYPE_GROUP

Group data type ID.

◆ ID_TP_VALUE_TYPE_SPIN

#define ID_TP_VALUE_TYPE_SPIN

Spin value type ID.

◆ ID_TP_DATA_TYPE_SPIN

#define ID_TP_DATA_TYPE_SPIN

Spin data type ID.

◆ ID_TP_OPCLASS

#define ID_TP_OPCLASS

Thinking Particles class ID.

◆ ID_TP_OPGROUP_CONDITION

#define ID_TP_OPGROUP_CONDITION

Thinking Particles condition group ID.

◆ ID_TP_OPGROUP_HELPER

#define ID_TP_OPGROUP_HELPER

Thinking Particles helper group ID.

◆ ID_TP_OPGROUP_INITIATOR

#define ID_TP_OPGROUP_INITIATOR

Thinking Particles initiator group ID.

◆ ID_TP_OPGROUP_GENERATOR

#define ID_TP_OPGROUP_GENERATOR

Thinking Particles generator group ID.

◆ ID_TP_OPGROUP_STANDARD

#define ID_TP_OPGROUP_STANDARD

Thinking Particles standard group ID.

◆ ID_TP_OPGROUP_DYNAMIC

#define ID_TP_OPGROUP_DYNAMIC

Thinking Particles dynamic group ID.

◆ ID_TP_OP_STORM

#define ID_TP_OP_STORM

Particle storm ID.

◆ ID_TP_IN_SELFDYNAMIC

#define ID_TP_IN_SELFDYNAMIC

PPass ID.

◆ ID_TP_HP_PARTICLEDATA

#define ID_TP_HP_PARTICLEDATA

PGetData ID.

◆ ID_TP_OP_PARTICLEDATA

#define ID_TP_OP_PARTICLEDATA

PSetData ID.

◆ ID_TP_IN_INTERACT

#define ID_TP_IN_INTERACT

PPass AB ID.

◆ ID_TP_IF_PARTICLEAGE

#define ID_TP_IF_PARTICLEAGE

PAge ID.

◆ ID_TP_HP_SPINCONVERT

#define ID_TP_HP_SPINCONVERT

PSpinConvert ID.

◆ ID_TP_HP_PGROUP

#define ID_TP_HP_PGROUP

PGroup ID (under TP Helper).

◆ ID_TP_HP_VELOCITYCONVERT

#define ID_TP_HP_VELOCITYCONVERT

PVelocityConvert ID.

◆ ID_TP_OP_DEFLECTOR

#define ID_TP_OP_DEFLECTOR

PDeflector ID.

◆ ID_TP_OP_POSFOLLOW

#define ID_TP_OP_POSFOLLOW

PPosition Follow ID.

◆ ID_TP_OP_OBJECTSHAPE

#define ID_TP_OP_OBJECTSHAPE

PShape ID.

◆ ID_TP_OP_SPIN

#define ID_TP_OP_SPIN

PSpin ID.

◆ ID_TP_OP_ALIGNMENT

#define ID_TP_OP_ALIGNMENT

PAlignment ID.

◆ ID_TP_OP_PGROUP

#define ID_TP_OP_PGROUP

PGroup ID (under TP Standard).

◆ ID_TP_OP_MASS

#define ID_TP_OP_MASS

PMass ID.

◆ ID_TP_OP_SIZE

#define ID_TP_OP_SIZE

PSize ID.

◆ ID_TP_OP_SCALE

#define ID_TP_OP_SCALE

PScale ID.

◆ ID_TP_OP_FRICTION

#define ID_TP_OP_FRICTION

PFriction ID.

◆ ID_TP_OP_VELOCITY

#define ID_TP_OP_VELOCITY

PVelocity ID.

◆ ID_TP_OP_MOTIONINHERI

#define ID_TP_OP_MOTIONINHERI

PMotionInheritance ID.

◆ ID_TP_OP_BUBBLE

#define ID_TP_OP_BUBBLE

PBubble ID.

◆ ID_TP_OP_DIE

#define ID_TP_OP_DIE

PDie ID.

◆ ID_TP_OP_GRAVITY

#define ID_TP_OP_GRAVITY

PGravity ID.

◆ ID_TP_OP_WIND

#define ID_TP_OP_WIND

PWind ID.

◆ ID_TP_HP_TIMER

#define ID_TP_HP_TIMER

PTimer ID.

◆ ID_TP_HP_CHRONOMETER

#define ID_TP_HP_CHRONOMETER

PChronometer ID.

◆ ID_TP_OP_FRAGMENT

#define ID_TP_OP_FRAGMENT

PFragment ID.

◆ ID_TP_OP_FREEZE

#define ID_TP_OP_FREEZE

PFreeze ID.

◆ ID_TP_OP_REPULSEBOUNCE

#define ID_TP_OP_REPULSEBOUNCE

PRepulse and Bounce ID.

◆ ID_TP_OP_ROLLING

#define ID_TP_OP_ROLLING

PRolling ID.

◆ ID_TP_IF_LIGHT

#define ID_TP_IF_LIGHT

PLight ID.

◆ ID_THINKINGCOMMAND

#define ID_THINKINGCOMMAND

Thinking Particles Settings command ID.

◆ ID_TP_HP_SURFACEPOSITION

#define ID_TP_HP_SURFACEPOSITION

PSurfacePosition ID.

◆ ID_TP_HP_VOLUMEPOSITION

#define ID_TP_HP_VOLUMEPOSITION

PVolumePosition ID.

◆ ID_TP_OP_BORN

#define ID_TP_OP_BORN

PBorn ID.

◆ TP_SN_HOOK

#define TP_SN_HOOK

Thinking Particles serial ID.

◆ ID_TP_OP_BLURP

#define ID_TP_OP_BLURP

PBlurp ID.

◆ ID_TP_OP_PARTICLEDRAW

#define ID_TP_OP_PARTICLEDRAW

PDraw ID.

◆ ID_TP_OP_PARTICLEDRAWTOOL

#define ID_TP_OP_PARTICLEDRAWTOOL

Particle Draw tool ID.

◆ ID_TP_OP_MATTERWAVES

#define ID_TP_OP_MATTERWAVES

PMatterWaves ID.

◆ ID_TP_OP_FORCEOBJECT

#define ID_TP_OP_FORCEOBJECT

PForceObject ID.

◆ THINKINGPARTICLES_VERSION

#define THINKINGPARTICLES_VERSION

Thinking Particles library version.

◆ THINKINGPARTICLES_PRIORITY

#define THINKINGPARTICLES_PRIORITY

Thinking Particles priority.

◆ TP_PGroupInfo

#define TP_PGroupInfo

Container with information about a group. The container IDs are private.

◆ TP_DataChannelInfo

#define TP_DataChannelInfo

Container with information about a channel. The container IDs are: DATACHANNEL_INFO

◆ TP_Collision

#define TP_Collision

Collision ID.

Function Documentation

◆ InitThinkingParticles()

Bool InitThinkingParticles ( void  )

Must be called before Thinking Particles is used. The best way is to call it in PluginMessage():

Bool PluginMessage(Int32 id, void *data)
{
switch (id)
{
{
}
break;
// ...
}
return true;
}
Returns
true if Thinking Particles initialization was successful, otherwise false.