Open Search
    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.