Python Interaction Tag¶
Introduction¶
Python code can be executed in various situations from an interaction tag.
See also
The important Threading Information.
Methods¶
-
mouseDown
() Override - Called when the user presses his mouse button on the host object of the tag. Good place for variables initialization.
-
mouseDrag
() Override - Called when the user holds and tweak on the host object of the tag. It’s called for each tick in the mouse drag loop.
-
mouseUp
() Override - Called when the user releases his mouse button. Good place for variables freeing.
-
doubleClick
() Override - Called when the user double clicks on the host object of the tag.
-
onSelect
() Override - Called when the host object of the tag gets selected.
-
onDeselect
() Override - Called when the host object of the tag gets unselected.
-
onHighlight
() Override - Called when the host object of the tag gets highlighted.
-
onUnhighlight
() Override - Called when the host object of the tag gets unhighlighted.
-
draw
(bd) Override - It corresponds to the
Draw
method of the tag. Called when the display is updated for you to display some visual element of your tag in the 3D view.- Parameters
bd (c4d.BaseDraw) – The editor’s view.
- Return type
bool
- Returns
Success of drawing into the editor view.
-
message
(id, data) Override - It correspond to the
Message
method of the tag. Called when a tag receives messages.- Parameters
id (int) – The message type.
data (any) – The message data.
- Return type
bool
- Returns
Depends on the message type.
Variables¶
- The following variables are defined in a Python Interaction Tag scope (in all functions even yours):
tag:
BaseTag
: The interaction tag.op:
BaseObject
: The object hosting the tag.proxy:
BaseObject
: The proxy object. Not defined if no proxy.thread:
BaseThread
: The Thread where the tag is executed.qualifier: int : Any qualifier keys that were pressed
QUALIFIER_SHIFT
SHIFT key.
QUALIFIER_CTRL
CTRL key.
QUALIFIER_MOUSEHIT
Indication in
ObjectData.DetectHandle()
that the user pressed the mouse (ObjectData.DetectHandle()
is also called for cursor information, when hovering over a handle). For instance if QUALIFIER_MOUSEHIT and QUALIFIER_CTRL are set,ObjectData.DetectHandle()
could create a new element.