c4d_baseeffectordata.h File Reference

Classes

struct  Dpoint
 
struct  Ipoint
 
class  MDArray< TYPE >
 
class  MoData
 
struct  GetMoDataMessage
 
struct  GetMGSelectionMessage
 
struct  MGWeightData
 
struct  GetMGWeightMessage
 
struct  Effector_PassData
 
struct  Effector_PassValueData
 
struct  EffectorStrengths
 
struct  EffectorDataStruct
 
class  EffectorData
 

Macros

#define Obaseeffector
 
#define Obasemogen
 
#define ID_BASE_EDEFORMER
 
#define ID_MOTAGDATA
 
#define ID_MOBAKETAG
 
#define Tmgselection
 
#define Tmgweight
 
#define BASEEFFECTORLIB_ID
 
#define MODATALIB_ID
 
#define MSG_EXECUTE_EFFECTOR
 
#define MSG_SAMPLE_EFFECTOR_VALUE
 
#define MSG_GET_MODATA
 
#define MSG_GET_MODATASELECTION
 
#define MSG_GET_MODATAWEIGHTS
 
#define BC_ID_MODATAINDEX
 
#define BC_ID_MODATATAGINDEX
 
#define BC_ID_CLONE_DATA
 
#define BC_ID_COLOR_MODE
 
#define MSG_DISABLE_DELAY_EFFECTOR
 
#define MSG_ENABLE_DELAY_EFFECTOR
 
#define MSG_MOGRAPH_REEVALUATE
 
#define BLEND_COUNT
 
#define EFFECTORFLAGS_HASFALLOFF
 
#define EFFECTORFLAGS_TIMEDEPENDENT
 
#define EFFECTORFLAGS_CAMERADEPENDENT
 
#define MOGENFLAG_CLONE_ON
 
#define MOGENFLAG_DISABLE
 
#define MOGENFLAG_BORN
 
#define MOGENFLAG_MODATASET
 
#define MOGENFLAG_COLORSET
 
#define MOGENFLAG_TIMESET
 
#define MDARRAYFLAG_NOTSEENBYEFFECTOR
 
#define MDARRAYFLAG_SEPERATECOMPONENTS
 
#define MDARRAYFLAG_2DVECTOR
 

Enumerations

enum class  MDDIRTY {
  NONE ,
  ALL ,
  ARRAYCOUNT ,
  COUNT ,
  DATA
}
 
enum class  MD_TYPE {
  MD_NONE ,
  MD_CHAR ,
  MD_UCHAR ,
  MD_LONG ,
  MD_ULONG ,
  MD_LLONG ,
  MD_MATRIX ,
  MD_COLOR ,
  MD_VECTOR ,
  MD_NORMAL ,
  MD_REAL ,
  MD_BOOL
}
 
enum  {
  MODATA_MATRIX ,
  MODATA_COLOR ,
  MODATA_SIZE ,
  MODATA_UVW ,
  MODATA_FLAGS ,
  MODATA_WEIGHT ,
  MODATA_CLONE ,
  MODATA_TIME ,
  MODATA_LASTMAT ,
  MODATA_STARTMAT ,
  MODATA_ALT_INDEX ,
  MODATA_FALLOFF_WGT ,
  MODATA_SPLINE_SEGMENT ,
  MODATA_GROWTH
}
 
enum  { ID_MODATA_PASS }
 

Functions

enum MDDIRTY MAXON_ENUM_FLAGS (MDDIRTY)
 
enum MD_TYPE MAXON_ENUM_LIST (MD_TYPE)
 
GeData GetMoDataDefault (Int32 id)
 
MD_TYPE GetMoDataDefaultType (Int32 id)
 
Bool RegisterEffectorPlugin (Int32 id, const maxon::String &str, Int32 info, DataAllocator *g, const maxon::String &description, BaseBitmap *icon, Int32 disklevel)
 

Variables

 NONE
 
 ALL
 
 ARRAYCOUNT
 
 COUNT
 
 DATA
 
 MD_NONE
 
 MD_CHAR
 
 MD_UCHAR
 
 MD_LONG
 
 MD_ULONG
 
 MD_LLONG
 
 MD_MATRIX
 
 MD_COLOR
 
 MD_VECTOR
 
 MD_NORMAL
 
 MD_REAL
 
 MD_BOOL
 
enum { ... }  MAXON_ENUM_LIST
 

Macro Definition Documentation

◆ BLEND_COUNT

#define BLEND_COUNT

The number of values that a value driven effector has to calculate; normally hard coded (do not change).

Function Documentation

◆ GetMoDataDefault()

GeData GetMoDataDefault ( Int32  id)

Retrieves the default value for the specified MoData array id.

Parameters
[in]idThe MoData array ID: MODATA_IDS
Returns
The MoData default value.

◆ GetMoDataDefaultType()

MD_TYPE GetMoDataDefaultType ( Int32  id)

Retrieves the default type for the specified MoData array id.

Parameters
[in]idThe MoData array ID: MODATA_IDS
Returns
The default type: MD_TYPE

◆ RegisterEffectorPlugin()

Bool RegisterEffectorPlugin ( Int32  id,
const maxon::String str,
Int32  info,
DataAllocator g,
const maxon::String description,
BaseBitmap icon,
Int32  disklevel 
)

Registers an effector plugin.

Parameters
[in]idA unique plugin ID. Must be obtained from http://www.plugincafe.com
[in]strThe name of the plugin.
To affect the order that plugins are displayed in menus add "#$n" as a prefix to this name, where n is a number.
Lower numbers are displayed before higher numbers. If name is "--" it will show up as a menu separator.
[in]infoThe plugin info flags: OBJECT PLUGINFLAG
[in]gThe allocator for the effector plugin. This is a pointer to a function that creates a new instance of EffectorData with NewObj().
[in]descriptionThe name of the description resource file to use for the effector plugin without .res extension, for example "oespline".
The name has to be unique, i.e. "Tdisplay" cannot be used for 2 different descriptions. See Description Resource for more information.
[in]iconThe icon for the command. The bitmap is copied.
The icon should be of size 32x32, but will be scaled if needed.
It must also be 24 bits and should if possible include an alpha to support pattern backgrounds.
[in]disklevelThe plugin level is similar to a version number. The default level is 0.
Increase this for new revisions of a plugin to allow for forward and backward compatibility.

As an example you may have updated a plugin. If you now need to write additional information for new settings or changed types for old settings you can increase the level.
During loading either a 0 is passed (if the file was written by the old plugin) or 1 (if the file was written by the new plugin). This allows to easily write/read new values.
For forward and backward compatibility to work any existing read order from a given level must not be changed. Cinema 4D skips any new settings automatically if they have not been read.

disklevel is only useful if variables are written/read in NodeData::Write/ NodeData::Read.
Returns
true if the effector plugin was registered, otherwise false.

Variable Documentation

◆ NONE

NONE

◆ ALL

ALL

◆ ARRAYCOUNT

ARRAYCOUNT

Array count itself changed (number of different arrays rather than length of arrays).

◆ COUNT

COUNT

Length of the arrays changed.

◆ DATA

DATA

Data in the arrays changed, must be manually set.

◆ MD_NONE

MD_NONE

None.

◆ MD_CHAR

MD_CHAR

Char type.

◆ MD_UCHAR

MD_UCHAR

UChar type.

◆ MD_LONG

MD_LONG

Int32 type.

◆ MD_ULONG

MD_ULONG

UInt32 type.

◆ MD_LLONG

MD_LLONG

Int64 type.

◆ MD_MATRIX

MD_MATRIX

Matrix type.

◆ MD_COLOR

MD_COLOR

Color type (Vector).

◆ MD_VECTOR

MD_VECTOR

Vector type.

◆ MD_NORMAL

MD_NORMAL

Normal type (Vector).

◆ MD_REAL

MD_REAL

Float type.

◆ MD_BOOL

MD_BOOL

Bool type.