c4d_baseeffectordata.h File Reference

Classes

struct  MultiInstanceEntry
 
struct  Dpoint
 
struct  Ipoint
 
class  MDArray< TYPE >
 
class  MoData
 
struct  GetMoDataMessage
 
struct  GetMGSelectionMessage
 
struct  MGWeightData
 
struct  GetMGWeightMessage
 
struct  EffectorDataStruct
 
struct  MutableEffectorDataStruct
 
struct  Effector_PassData
 
struct  Effector_PassValueData
 
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_ARRAY
 
#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_GROWTH
}
 
enum  { ID_MODATA_PASS }
 
enum class  STRENGTHMASK {
  NONE ,
  POS_X ,
  POS_Y ,
  POS_Z ,
  POS ,
  SCALE_X ,
  SCALE_Y ,
  SCALE_Z ,
  SCALE ,
  ROT_X ,
  ROT_Y ,
  ROT_Z ,
  ROT ,
  COL_X ,
  COL_Y ,
  COL_Z ,
  COL ,
  OTHER_X ,
  OTHER_Y ,
  OTHER_Z ,
  OTHER ,
  OTHER2_X ,
  OTHER2_Y ,
  OTHER2_Z ,
  OTHER2 ,
  OTHER3_X ,
  OTHER3_Y ,
  OTHER3_Z ,
  OTHER3
}
 

Functions

const MultiInstanceEntryGetMographMultiEntry (const BaseContainer &motagBC, Int index)
 
const MultiInstanceEntryGetMographMultiEntry (const BaseContainer *motagBC, Int index)
 
enum MDDIRTY MAXON_ENUM_FLAGS (MDDIRTY)
 
enum MD_TYPE MAXON_ENUM_LIST (MD_TYPE)
 
Vector GetMoDataDefaultVector (Int32 id, const Vector &default_value=Vector(0.0))
 
Matrix GetMoDataDefaultMatrix (Int32 id, const Matrix &default_value=Matrix())
 
Float GetMoDataDefaultFloat (Int32 id, Float default_value=0.0)
 
Int32 GetMoDataDefaultInt32 (Int32 id, Int32 default_value=0)
 
Int64 GetMoDataDefaultInt64 (Int32 id, Int64 default_value=0)
 
GeData GetMoDataDefault (Int32 id)
 
MD_TYPE GetMoDataDefaultType (Int32 id)
 
enum STRENGTHMASK MAXON_ENUM_FLAGS (STRENGTHMASK)
 
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
 
 POS_X
 
 POS_Y
 
 POS_Z
 
 POS
 
 SCALE_X
 
 SCALE_Y
 
 SCALE_Z
 
 SCALE
 
 ROT_X
 
 ROT_Y
 
 ROT_Z
 
 ROT
 
 COL_X
 
 COL_Y
 
 COL_Z
 
 COL
 
 OTHER_X
 
 OTHER_Y
 
 OTHER_Z
 
 OTHER
 
 OTHER2_X
 
 OTHER2_Y
 
 OTHER2_Z
 
 OTHER2
 
 OTHER3_X
 
 OTHER3_Y
 
 OTHER3_Z
 
 OTHER3
 
struct MutableEffectorDataStruct MAXON_ENUM_FLAGS
 

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

Enumeration Type Documentation

◆ STRENGTHMASK

enum STRENGTHMASK
strong
Enumerator
NONE 
POS_X 
POS_Y 
POS_Z 
POS 
SCALE_X 
SCALE_Y 
SCALE_Z 
SCALE 
ROT_X 
ROT_Y 
ROT_Z 
ROT 
COL_X 
COL_Y 
COL_Z 
COL 
OTHER_X 
OTHER_Y 
OTHER_Z 
OTHER 
OTHER2_X 
OTHER2_Y 
OTHER2_Z 
OTHER2 
OTHER3_X 
OTHER3_Y 
OTHER3_Z 
OTHER3 

Function Documentation

◆ GetMoDataDefaultVector()

Vector GetMoDataDefaultVector ( Int32  id,
const Vector default_value = Vector(0.0) 
)

Retrieves the default value for the specified MoData array id.

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

◆ GetMoDataDefaultMatrix()

Matrix GetMoDataDefaultMatrix ( Int32  id,
const Matrix default_value = Matrix() 
)

◆ GetMoDataDefaultFloat()

Float GetMoDataDefaultFloat ( Int32  id,
Float  default_value = 0.0 
)

◆ GetMoDataDefaultInt32()

Int32 GetMoDataDefaultInt32 ( Int32  id,
Int32  default_value = 0 
)

◆ GetMoDataDefaultInt64()

Int64 GetMoDataDefaultInt64 ( Int32  id,
Int64  default_value = 0 
)

◆ GetMoDataDefault()

GeData GetMoDataDefault ( Int32  id)

◆ 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

◆ MAXON_ENUM_FLAGS()

enum STRENGTHMASK MAXON_ENUM_FLAGS ( STRENGTHMASK  )

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

◆ POS_X

POS_X

◆ POS_Y

POS_Y

◆ POS_Z

POS_Z

◆ POS

POS

◆ SCALE_X

SCALE_X

◆ SCALE_Y

SCALE_Y

◆ SCALE_Z

SCALE_Z

◆ SCALE

SCALE

◆ ROT_X

ROT_X

◆ ROT_Y

ROT_Y

◆ ROT_Z

ROT_Z

◆ ROT

ROT

◆ COL_X

COL_X

◆ COL_Y

COL_Y

◆ COL_Z

COL_Z

◆ COL

COL

◆ OTHER_X

OTHER_X

◆ OTHER_Y

OTHER_Y

◆ OTHER_Z

OTHER_Z

◆ OTHER

OTHER

◆ OTHER2_X

OTHER2_X

◆ OTHER2_Y

OTHER2_Y

◆ OTHER2_Z

OTHER2_Z

◆ OTHER2

OTHER2

◆ OTHER3_X

OTHER3_X

◆ OTHER3_Y

OTHER3_Y

◆ OTHER3_Z

OTHER3_Z

◆ OTHER3

OTHER3

◆ MAXON_ENUM_FLAGS

struct MutableEffectorDataStruct MAXON_ENUM_FLAGS