The basic particle system provides a simple particle generator and basic effectors. The API is defined in c4d_particleobject.h.
Particle modifiers are based on ObjectData and must implement ObjectData::ModifyParticles(). Within such a modifier changes are done through the BaseParticle structure.
if (emitter == nullptr)
if (fieldForce == nullptr)
if (linearField == nullptr)
{
if (inExData == nullptr)
}
{
if (fieldList == nullptr)
if (layer == nullptr)
}
@ PARTICLEOBJECT_MODE
Definition: oparticle.h:33
Definition: c4d_fielddata.h:1147
Bool SetLinkedObject(const FieldLayerLink &link)
Definition: c4d_fielddata.h:1317
@ PARTICLEOBJECT_INCLUDE
Definition: oparticle.h:34
void InsertObject(BaseObject *op, BaseObject *parent, BaseObject *pred, Bool checknames=false)
Definition: c4d_baseobject.h:224
Definition: lib_description.h:328
static const Int32 FLfield
FieldLayer Field object based layer.
Definition: c4d_fielddata.h:79
#define CUSTOMDATATYPE_FIELDLIST
Definition: customgui_field.h:26
#define Ofieldforce
Particle field force
Definition: ge_prepass.h:1044
#define iferr_return
Definition: resultbase.h:1465
@ ID_FIELDFORCE_FIELDLIST
Definition: ofieldforce.h:6
#define MAXON_SOURCE_LOCATION
Definition: memoryallocationbase.h:66
@ ENABLE
The layer is enabled and being sampled.
#define CUSTOMDATATYPE_INEXCLUDE_LIST
InExclude custom data type ID.
Definition: customgui_inexclude.h:25
InExclude custom data type (CUSTOMDATATYPE_INEXCLUDE_LIST).
Definition: customgui_inexclude.h:111
#define Oparticle
Particle emitter - ParticleObject.
Definition: ge_prepass.h:992
Bool SetParameter(const DescID &id, const GeData &t_data, DESCFLAGS_SET flags)
Bool InsertObject(BaseList2D *pObject, Int32 lFlags)
@ PARTICLEOBJECT_MODE_INCLUDE
Definition: oparticle.h:35
@ ID_FIELDFORCE_STRENGTH
Definition: ofieldforce.h:7
@ DIRECTION
Direction sampling is enabled for this layer.
Field custom GUI (CUSTOMDATATYPE_FIELDLIST) for the Field list data.
Definition: customgui_field.h:58
Definition: c4d_gedata.h:82
@ DEFAULTVALUE
Dummy value for the default value GeData constructor.
Definition: c4d_gedata.h:65
Base class for custom data types.
Definition: c4d_customdatatype.h:50
static BaseObject * Alloc(Int32 type)
Definition: c4d_particleobject.h:70
CustomDataType * GetCustomDataType(Int32 datatype) const
Definition: c4d_gedata.h:507
maxon::Result< void > InsertLayer(FieldLayer *layer, FieldLayer *parent=nullptr, FieldLayer *prev=nullptr)
void SetChannelFlag(FIELDLAYER_CHANNELFLAG flag, Bool state=true)
Definition: c4d_fielddata.h:1245
Bool GetParameter(const DescID &id, GeData &t_data, DESCFLAGS_GET flags)
#define MAXON_SCOPE
Definition: apibase.h:2659
static const Int32 Flinear
Linear shaped field.
Definition: c4d_fielddata.h:43
static FieldLayer * Alloc(Int32 type)
Definition: c4d_fielddata.h:1324