-
首页
-
C4D R23.110 C++ SDK
详细描述
Macro Definition Documentation
◆
MSG_POINTS_CHANGED
#define MSG_POINTS_CHANGED
|
The points have changed. The corresponding
data
is
VariableChanged
.
◆
MSG_POLYGONS_CHANGED
#define MSG_POLYGONS_CHANGED
|
The polygons have changed. The corresponding
data
is
VariableChanged
.
◆
MSG_UPDATE
Must be sent if the bounding box has to be recalculated. (Otherwise use
MSG_CHANGE
.)
◆
MSG_SMALLUPDATE
Part of the object has changed that needs no cache rebuilding.
-
注意
-
This message should be used very carefully, it is there for (small) performance enhancements, for example if a polygon selection is changed then the caches do not need to be rebuilt, so
MSG_SMALLUPDATE
can be sent.
◆
MSG_CHANGE
Must be sent if any object data (except for the matrix) has been changed.
-
注意
-
For tag parameter changes call
C4DAtom::SetDirty
(
DIRTYFLAGS::DATA
);
而不是
C4DAtom::Message
(
MSG_CHANGE
);
◆
MSG_BASECONTAINER
#define MSG_BASECONTAINER
|
Message with a container, for example from a Python plugin. The corresponding
data
is
BaseContainer
.
◆
MSG_SEGMENTS_CHANGED
#define MSG_SEGMENTS_CHANGED
|
The segments have changed. The corresponding
data
is
VariableChanged
.
◆
MSG_FILTER
返回
true
to let the message pass and
false
to block it.
A message filter that lets block
C4DAtom::MultiMessage()
calls. The corresponding
data
is
MessageFilter
.
◆
MSG_TRANSFERGOALS
#define MSG_TRANSFERGOALS
|
Internal message.
Private
.
◆
MSG_DESCRIPTION_INITUNDO
#define MSG_DESCRIPTION_INITUNDO
|
Allows elements to create undo actions for the following parameter changes in the attributes manager. This is already automatically handled for keys, tags, objects etc. The corresponding
data
is
DescriptionInitUndo
.
◆
MSG_DESCRIPTION_CHECKUPDATE
#define MSG_DESCRIPTION_CHECKUPDATE
|
Allows elements to determine the type of refresh after a parameter has been changed in the Active manager. This is already automatically handled for keys, tags, objects etc. The corresponding
data
is
DescriptionCheckUpdate
.
-
注意
-
Currently this message is completely handled by all base data classes.
Most plugins will not need to modify the message
data
. It is more interesting to start some update action - e.g. deleting data that will be rebuilt with the next access.
◆
MSG_DESCRIPTION_COMMAND
#define MSG_DESCRIPTION_COMMAND
|
Sent by for example
BUTTON
description element. The corresponding
data
is
DescriptionCommand
.
◆
MSG_DESCRIPTION_POPUP
#define MSG_DESCRIPTION_POPUP
|
Allows popup menu handling in the Attribute Manager. The corresponding
data
is
DescriptionPopup
.
◆
MSG_DESCRIPTION_POSTSETPARAMETER
#define MSG_DESCRIPTION_POSTSETPARAMETER
|
Sent after a
C4DAtom::SetParameter()
call. The corresponding
data
is
DescriptionPostSetValue
.
◆
MSG_DESCRIPTION_VALIDATE
#define MSG_DESCRIPTION_VALIDATE
|
For example the light's inner radius always must be smaller than the light's outer radius; this routine checks for it and corrects it.
Allows to update dependencies or to check for invalid values after a parameter has been changed. The corresponding
data
is
DescriptionValidate
.
◆
MSG_DESCRIPTION_SWAP
#define MSG_DESCRIPTION_SWAP
|
A private message sent by the X-Ref system to exchange proxies.
-
由于
-
R16.038
◆
MSG_EDIT
Allows elements to do some action if the user edits the element (double-click e.g. in object manager).
◆
MSG_MENUPREPARE
Allows tags, objects, shaders etc. to do some setup work when called from the menu. The corresponding
data
is the current
BaseDocument
.
◆
MSG_RETRIEVEPRIVATEDATA
#define MSG_RETRIEVEPRIVATEDATA
|
A generic private message to retrieve data from an object. Specific for every type of object so no public documentation available. The corresponding
data
is
RetrievePrivateData
.
◆
MSG_DESCRIPTION_ALLOWOVERRIDE
#define MSG_DESCRIPTION_ALLOWOVERRIDE
|
Sent before the Take override is added to allow it or not. The corresponding
data
is
DescriptionAllowOverride
.
-
由于
-
R17.032
-
另请参阅
-
Take System
Messages
.
◆
MSG_DESCRIPTION_TAKECHANGED
#define MSG_DESCRIPTION_TAKECHANGED
|
Sent to each overridden node when the user changes the current Take. Sent to both the node storing the data in the Take and the node releasing the data to the document. The corresponding
data
is
DescriptionTakeChanged
.
-
由于
-
R17.032
-
另请参阅
-
Take System
Messages
.
◆
MSG_GETOVERRIDEASSETS
#define MSG_GETOVERRIDEASSETS
|
Private
.
◆
MSG_MOVE_FINISHED
#define MSG_MOVE_FINISHED
|
Sent after a handle or the object has been moved.
◆
MSG_MOVE_START
Sent before a handle or the object has been moved.
◆
MSG_EDITABLE_END
Private
.
◆
MSG_GETCUSTOMICON
#define MSG_GETCUSTOMICON
|
Every atom can return a custom icon with this message. The corresponding
data
is
GetCustomIconData
.
◆
MSG_MATERIALDRAGANDDROP
#define MSG_MATERIALDRAGANDDROP
|
Received by a material upon dropping an instance of a material onto an object. The corresponding
data
is
MaterialDragAndDrop
.
-
注意
-
The material can choose to create a tag of its own, or trigger other actions, instead of letting
Cinema 4D
create a normal material assignment.
For example Sketch and Toon creates its own type of tag and returns it in
MaterialDragAndDrop::result
.
Cinema 4D
creates the undo for it and activates it. Inserting the tag is done by the material.
◆
MSG_DRAGANDDROP
Received by an element in the Object manager when something is dropped on it. The corresponding
data
is
DragAndDrop
.
◆
MSG_INITIALCHANNEL
#define MSG_INITIALCHANNEL
|
见
HandleInitialChannel()
.
◆
MSG_PYTHON_RESET
If this message is sent to Python related instances (Python tag, generator, node etc.) the Python scope is freed and reallocated.
◆
MSG_DOCUMENTINFO
Sent as broadcast message by the document when it is loaded, saved , merged etc. The corresponding
data
is
DocumentInfoData
.
◆
MSG_MATERIAL_OVERRIDE
#define MSG_MATERIAL_OVERRIDE
|
Sent to each material before the rendering to react to a global material override. The corresponding
data
is
OverrideMaterial
.
-
由于
-
R17.032
◆
MSG_RETRIEVE_NIMBUS_NODESYSTEM
#define MSG_RETRIEVE_NIMBUS_NODESYSTEM
|
◆
MSG_REQUEST_VIEWPORT_MAPPING
#define MSG_REQUEST_VIEWPORT_MAPPING
|
@markprivate
-
由于
-
R21 - sent to a
BaseMaterial
requesting a viewport representation.
◆
MSG_UPDATE_VIEWPORT_MAPPING
#define MSG_UPDATE_VIEWPORT_MAPPING
|
@markprivate
-
由于
-
R21 - sent to a
BaseMaterial
updating the current viewport representation.
◆
MSG_GETSELECTION
Private
.
◆
MSG_REDIRECT
Private
.
◆
MSG_TOOL_TRANSFORM
#define MSG_TOOL_TRANSFORM
|
Private
.
◆
MSG_GETACTIVEREDIRECT
#define MSG_GETACTIVEREDIRECT
|
Private
.
◆
MSG_TOOL_ASK
Sent to tools on mouse input to query them on whether they accept/use certain input such as modifier keys, right or middle mouse button. The corresponding
data
is
ToolAskMsgData
.
◆
MSG_TAG_MODIFY
Private
.
◆
MSG_TOOL_RESIZE
Sent during MMB (MMB (Middle Mouse Button) dragging and the [ and ] shortcuts with brushes if
ToolAskMsgData::resize_allowed
被设为
true
by the developer in
MSG_TOOL_ASK
. The corresponding
data
is
ToolResizeData
.
◆
MSG_CURRENTSTATE_END
#define MSG_CURRENTSTATE_END
|
Private
.
◆
MSG_ALLOWXPRESSODROP
#define MSG_ALLOWXPRESSODROP
|
Allow or deny drag&drop of an XPresso node. Return
true
to allow,
false
to deny.
◆
MSG_TOOL_SWITCHACTION
#define MSG_TOOL_SWITCHACTION
|
Sent to tools on mouse input and cursor info if they have the flag
PLUGINFLAG_TOOL_SWITCHACTION
set to allow to change action on modifier key.
-
由于
-
R17.032
◆
MSG_COPYDIRTYPRIVATE
#define MSG_COPYDIRTYPRIVATE
|
Private
.
◆
MSG_TRANSLATE_POINTS
#define MSG_TRANSLATE_POINTS
|
Sent by the modeling core to let tags etc. update after point changes. The corresponding
data
is
TranslationMaps
.
◆
MSG_TRANSLATE_POLYGONS
#define MSG_TRANSLATE_POLYGONS
|
Sent by the modeling core to let tags etc. update after polygon changes. The corresponding
data
is
TranslationMaps
.
◆
MSG_TRANSLATE_NGONS
#define MSG_TRANSLATE_NGONS
|
Sent by the modeling core to let tags etc. update after N-gon changes. The corresponding
data
is
TranslationMaps
.
◆
MSG_TRANSLATE_SEGMENTS
#define MSG_TRANSLATE_SEGMENTS
|
Sent by the modeling core to let tags etc. update after segment changes. The corresponding
data
is
TranslationMaps
.
◆
MSG_PRETRANSLATE_POINTS
#define MSG_PRETRANSLATE_POINTS
|
Sent before
MSG_TRANSLATE_POINTS
, before the changes are actually carried out. The corresponding
data
is
TranslationMaps
.
◆
MSG_PRETRANSLATE_POLYGONS
#define MSG_PRETRANSLATE_POLYGONS
|
Sent before
MSG_TRANSLATE_POLYGONS
, before the changes are actually carried out. The corresponding
data
is
TranslationMaps
.
◆
MSG_PRETRANSLATE_NGONS
#define MSG_PRETRANSLATE_NGONS
|
Sent before
MSG_TRANSLATE_NGONS
, before the changes are actually carried out. The corresponding
data
is
TranslationMaps
.
◆
MSG_PRETRANSLATE_SEGMENTS
#define MSG_PRETRANSLATE_SEGMENTS
|
Sent before
MSG_TRANSLATE_SEGMENTS
, before the changes are actually carried out. The corresponding
data
is
TranslationMaps
.
◆
MSG_UPDATE_NGONS
Should be sent if points are changed and any N-gons need updating.
Cinema 4D
will then update the N-gons, if the user has this option enabled.
◆
MSG_DOCUMENT_MODE_CHANGED
#define MSG_DOCUMENT_MODE_CHANGED
|
Sent to the active tool plugin during
BaseDocument::SetMode()
.
◆
MSG_TOOL_RESTART
Private
. (Handles the tool description apply behavior after mouse clicks.)
◆
MSG_DEFORMMODECHANGED
#define MSG_DEFORMMODECHANGED
|
Private
.
◆
MSG_ANIMATE
Sent to objects after they have been animated.
◆
MSG_CALCMEMUSAGE
Private
.
◆
MSG_SCALEDOCUMENT
#define MSG_SCALEDOCUMENT
|
Tells the document that another document with different scale has been merged. The corresponding
data
is
MessageScaleDocument
.
◆
MSG_GET_INHERITANCECONTAINER
#define MSG_GET_INHERITANCECONTAINER
|
Private
.
◆
MSG_SOFTTAG_UPDATE
#define MSG_SOFTTAG_UPDATE
|
Private
.
◆
MSG_TRANSFORM_OBJECT
#define MSG_TRANSFORM_OBJECT
|
Private
.
◆
MSG_STRINGUNDO
Private
.
◆
MSG_GETREALCAMERADATA
#define MSG_GETREALCAMERADATA
|
Sent to get a real camera object from a generator. The corresponding
data
is
GetRealCameraData
.
◆
MSG_ADAPTVIEW_START
#define MSG_ADAPTVIEW_START
|
Sent to the camera object when the viewport transition starts.
◆
MSG_ADAPTVIEW_END
#define MSG_ADAPTVIEW_END
|
Sent to the camera object when the viewport transition ends.
◆
MSG_GETREALTAGDATA
#define MSG_GETREALTAGDATA
|
Sent to get a real tag object from a virtual "generator" tag. The corresponding
data
is
GetRealTagData
.
-
由于
-
R18
◆
MSG_DISABLE_SYMMETRY_OBJECTS
#define MSG_DISABLE_SYMMETRY_OBJECTS
|
Private
.
◆
MSG_ENABLE_SYMMETRY_OBJECTS
#define MSG_ENABLE_SYMMETRY_OBJECTS
|
Private
.
◆
MSG_SYMMETRY_FLIP
#define MSG_SYMMETRY_FLIP
|
Private
.
-
由于
-
R18
◆
MSG_XREFINIT
Sent to each node if any special operation has to be done on ref. The corresponding
data
is
XrefInitData
.
◆
MSG_XREF_GET_FIRST_MATERIAL
#define MSG_XREF_GET_FIRST_MATERIAL
|
Sent to an X-Ref object to get its first material. The corresponding
data
is BaseMaterial*..
◆
MSG_INVOKE_SCRIPT_FUNCTION
#define MSG_INVOKE_SCRIPT_FUNCTION
|
Sent to invoke a function within a script on the target object. The corresponding
data
is
InvokeScriptData
.
@ DATA
Container changed.
Bool Message(Int32 type, void *data=nullptr)
定义:
c4d_baselist.h:1394
void SetDirty(DIRTYFLAGS flags)
定义:
c4d_baselist.h:1550