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)
}
Definition: c4d_fielddata.h:1151
Bool SetLinkedObject(const FieldLayerLink &link)
Definition: c4d_fielddata.h:1321
void InsertObject(BaseObject *op, BaseObject *parent, BaseObject *pred, Bool checknames=false)
Definition: c4d_baseobject.h:224
Definition: lib_description.h:327
static const Int32 FLfield
FieldLayer Field object based layer.
Definition: c4d_fielddata.h:83
#define CUSTOMDATATYPE_FIELDLIST
Definition: customgui_field.h:26
@ ID_FIELDFORCE_FIELDLIST
Definition: ofieldforce.h:6
#define Ofieldforce
Definition: ge_prepass.h:1036
#define iferr_return
Definition: resultbase.h:1434
@ PARTICLEOBJECT_MODE_INCLUDE
Definition: oparticle.h:35
#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
@ PARTICLEOBJECT_MODE
Definition: oparticle.h:33
#define Oparticle
Particle emitter - ParticleObject.
Definition: ge_prepass.h:984
Bool SetParameter(const DescID &id, const GeData &t_data, DESCFLAGS_SET flags)
Bool InsertObject(BaseList2D *pObject, Int32 lFlags)
@ PARTICLEOBJECT_INCLUDE
Definition: oparticle.h:34
@ 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:1249
Bool GetParameter(const DescID &id, GeData &t_data, DESCFLAGS_GET flags)
#define MAXON_SCOPE
Definition: apibase.h:2645
@ ID_FIELDFORCE_STRENGTH
Definition: ofieldforce.h:7
static const Int32 Flinear
Linear shaped field.
Definition: c4d_fielddata.h:45
static FieldLayer * Alloc(Int32 type)
Definition: c4d_fielddata.h:1328