Skip to content
weSkelDOCUMENTATION
Documentation/API reference/ComposeMatrix

ComposeMatrix

Compose a matrix from translation, rotation, scale and shear.

ClassAPI 2.0MATRICES
objectNodeDGNodeComposeMatrix
from weSkel.src.core.node.dg.compose_matrix.lib import ComposeMatrix

Run in Maya or an initialized mayapy process. Import om only if your script uses OpenMaya types.

Item Value
Classe ComposeMatrix
Module weSkel.src.core.node.dg.compose_matrix.lib
Maya type composeMatrix
Direct parent DGNode
Inventory Members defined or overridden here; inherited members are grouped by parent in each section.

Signature : ComposeMatrix(node) → ComposeMatrix.

Parameter Accepted type Default
node Union[str, om.MObject, om.MObjectHandle, om.MFnDependencyNode] Required

Wraps an existing node or stages a wrapper for an absent name; does not create the node. Call create() separately. An incompatible object or type can raise TypeError. Shared identity can return an already registered compatible wrapper.

Python properties defined or overridden here. R: read-only; R/W: a setter exists, subject to the member notes. om.* types belong to maya.api.OpenMaya.

No new Python property; see inherited members and specs below.

Properties inherited from DGNode15
Property Return type Access Description
dep_fn om.MFnDependencyNode R Live function set; unattached object when the node is missing.
uuid str | None R Live UUID, or the last staged value if still available.
name str | None R/W Live name, otherwise staged name.
absolute_name str | None R Absolute namespace name from MFnDependencyNode.absoluteName(); None without a node.
stripped_name str | None R/W Name without its namespace, or None when unnamed.
namespace str | None R/W Normalized namespace such as a:b; None at the root.
plugs Plugs | None R Live node plug manager; None otherwise.
is_valid_dep_fn bool R Function-set compatibility with the current MObject.
is_default_node bool R Whether this is a Maya default node; False without a node.
is_from_referenced_file bool R Whether the node comes from a referenced file; False without a node.
is_locked bool R/W Node lock, separate from plug locks.
is_shared bool R Shared state reported by Maya; False without a node.
plugin_name str | None R Associated Maya plugin name, possibly an empty string; None without a node.
affect_animation bool R Result of MFnDependencyNode.affectsAnimation(); False without a node.
type str | None R/W Live native type or staged type.
Properties inherited from Node10
Property Return type Access Description
mobject om.MObject R/W Live Maya object, or a null object.
mobject_handle om.MObjectHandle R/W Handle associated with the node.
api_type int | None R Maya API type identifier.
api_type_str str R API type name, for example "kTime".
exists bool R The wrapper currently has a live node.
is_null bool R The returned Maya object is null.
is_alive bool R The object exists with a valid, live handle.
is_valid_handle bool R Validity of the stored handle.
is_dag_node bool R Compatibility with om.MFn.kDagNode.
hash_code int R Maya handle hash.

Defaults and flags below are spec declarations, not guaranteed live values. A descriptor can return a proxy: .value reads its value; .plug accesses the Plug. Proxy names describe results, not private classes to import. Observed types come from a test fixture; disconnected geometry inputs may notably return None.

For writes where failure must be checked, use the Plug explicitly and verify live state. Descriptor setters do not propagate every native failure.

Property Maya plug Returns
input_quat inputQuat _ValuePlugProxy · .value: tuple
input_quat_x inputQuat.inputQuatX _ValuePlugProxy · .value: float
input_quat_y inputQuat.inputQuatY _ValuePlugProxy · .value: float
input_quat_z inputQuat.inputQuatZ _ValuePlugProxy · .value: float
input_quat_w inputQuat.inputQuatW _ValuePlugProxy · .value: float
input_rotate inputRotate _ValuePlugProxy · .value: tuple
input_rotate_x inputRotate.inputRotateX _ValuePlugProxy · .value: float
input_rotate_y inputRotate.inputRotateY _ValuePlugProxy · .value: float
input_rotate_z inputRotate.inputRotateZ _ValuePlugProxy · .value: float
input_rotate_order inputRotateOrder _ValuePlugProxy · .value: int
input_scale inputScale _ValuePlugProxy · .value: tuple
input_scale_x inputScale.inputScaleX _ValuePlugProxy · .value: float
input_scale_y inputScale.inputScaleY _ValuePlugProxy · .value: float
input_scale_z inputScale.inputScaleZ _ValuePlugProxy · .value: float
input_shear inputShear _ValuePlugProxy · .value: tuple
input_shear_x inputShear.inputShearX _ValuePlugProxy · .value: float
input_shear_y inputShear.inputShearY _ValuePlugProxy · .value: float
input_shear_z inputShear.inputShearZ _ValuePlugProxy · .value: float
input_translate inputTranslate _ValuePlugProxy · .value: tuple
input_translate_x inputTranslate.inputTranslateX _ValuePlugProxy · .value: float
input_translate_y inputTranslate.inputTranslateY _ValuePlugProxy · .value: float
input_translate_z inputTranslate.inputTranslateZ _ValuePlugProxy · .value: float
use_euler_rotation useEulerRotation _ValuePlugProxy · .value: bool
output_matrix outputMatrix _ValuePlugProxy · .value: MMatrix

node.input_quatNative spec

Access to native plug inputQuat.

Item Type / behavior
Maya path inputQuat
Property return _ValuePlugProxy · .value: tuple
Declared kind double4
Declared default ()
Flags input, output, connectable, stored
Read node.input_quat.value
Descriptor assignment node.input_quat = value

node.input_quat_xNative spec

Access to native plug inputQuat.inputQuatX.

Item Type / behavior
Maya path inputQuat.inputQuatX
Property return _ValuePlugProxy · .value: float
Declared kind numeric:double
Declared default 0.0
Flags input, output, connectable, stored
Read node.input_quat_x.value
Descriptor assignment node.input_quat_x = value

node.input_quat_yNative spec

Access to native plug inputQuat.inputQuatY.

Item Type / behavior
Maya path inputQuat.inputQuatY
Property return _ValuePlugProxy · .value: float
Declared kind numeric:double
Declared default 0.0
Flags input, output, connectable, stored
Read node.input_quat_y.value
Descriptor assignment node.input_quat_y = value

node.input_quat_zNative spec

Access to native plug inputQuat.inputQuatZ.

Item Type / behavior
Maya path inputQuat.inputQuatZ
Property return _ValuePlugProxy · .value: float
Declared kind numeric:double
Declared default 0.0
Flags input, output, connectable, stored
Read node.input_quat_z.value
Descriptor assignment node.input_quat_z = value

node.input_quat_wNative spec

Access to native plug inputQuat.inputQuatW.

Item Type / behavior
Maya path inputQuat.inputQuatW
Property return _ValuePlugProxy · .value: float
Declared kind numeric:double
Declared default 1.0
Flags input, output, connectable, stored
Read node.input_quat_w.value
Descriptor assignment node.input_quat_w = value

node.input_rotateNative spec

Access to native plug inputRotate.

Item Type / behavior
Maya path inputRotate
Property return _ValuePlugProxy · .value: tuple
Declared kind double3
Declared default ()
Flags input, output, connectable, stored
Read node.input_rotate.value
Descriptor assignment node.input_rotate = value

node.input_rotate_xNative spec

Access to native plug inputRotate.inputRotateX.

Item Type / behavior
Maya path inputRotate.inputRotateX
Property return _ValuePlugProxy · .value: float
Declared kind unit:angle
Declared default 0.0
Flags input, output, connectable, stored
Read node.input_rotate_x.value
Descriptor assignment node.input_rotate_x = value

node.input_rotate_yNative spec

Access to native plug inputRotate.inputRotateY.

Item Type / behavior
Maya path inputRotate.inputRotateY
Property return _ValuePlugProxy · .value: float
Declared kind unit:angle
Declared default 0.0
Flags input, output, connectable, stored
Read node.input_rotate_y.value
Descriptor assignment node.input_rotate_y = value

node.input_rotate_zNative spec

Access to native plug inputRotate.inputRotateZ.

Item Type / behavior
Maya path inputRotate.inputRotateZ
Property return _ValuePlugProxy · .value: float
Declared kind unit:angle
Declared default 0.0
Flags input, output, connectable, stored
Read node.input_rotate_z.value
Descriptor assignment node.input_rotate_z = value

node.input_rotate_orderNative spec

Access to native plug inputRotateOrder.

Item Type / behavior
Maya path inputRotateOrder
Property return _ValuePlugProxy · .value: int
Declared kind enum
Declared default 0
Flags input, output, connectable, stored
Native enum values 0 = xyz, 1 = yzx, 2 = zxy, 3 = xzy, 4 = yxz, 5 = zyx
Read node.input_rotate_order.value
Descriptor assignment node.input_rotate_order = value

node.input_scaleNative spec

Access to native plug inputScale.

Item Type / behavior
Maya path inputScale
Property return _ValuePlugProxy · .value: tuple
Declared kind double3
Declared default ()
Flags input, output, connectable, stored
Read node.input_scale.value
Descriptor assignment node.input_scale = value

node.input_scale_xNative spec

Access to native plug inputScale.inputScaleX.

Item Type / behavior
Maya path inputScale.inputScaleX
Property return _ValuePlugProxy · .value: float
Declared kind numeric:double
Declared default 1.0
Flags input, output, connectable, stored
Read node.input_scale_x.value
Descriptor assignment node.input_scale_x = value

node.input_scale_yNative spec

Access to native plug inputScale.inputScaleY.

Item Type / behavior
Maya path inputScale.inputScaleY
Property return _ValuePlugProxy · .value: float
Declared kind numeric:double
Declared default 1.0
Flags input, output, connectable, stored
Read node.input_scale_y.value
Descriptor assignment node.input_scale_y = value

node.input_scale_zNative spec

Access to native plug inputScale.inputScaleZ.

Item Type / behavior
Maya path inputScale.inputScaleZ
Property return _ValuePlugProxy · .value: float
Declared kind numeric:double
Declared default 1.0
Flags input, output, connectable, stored
Read node.input_scale_z.value
Descriptor assignment node.input_scale_z = value

node.input_shearNative spec

Access to native plug inputShear.

Item Type / behavior
Maya path inputShear
Property return _ValuePlugProxy · .value: tuple
Declared kind double3
Declared default ()
Flags input, output, connectable, stored
Read node.input_shear.value
Descriptor assignment node.input_shear = value

node.input_shear_xNative spec

Access to native plug inputShear.inputShearX.

Item Type / behavior
Maya path inputShear.inputShearX
Property return _ValuePlugProxy · .value: float
Declared kind numeric:double
Declared default 0.0
Flags input, output, connectable, stored
Read node.input_shear_x.value
Descriptor assignment node.input_shear_x = value

node.input_shear_yNative spec

Access to native plug inputShear.inputShearY.

Item Type / behavior
Maya path inputShear.inputShearY
Property return _ValuePlugProxy · .value: float
Declared kind numeric:double
Declared default 0.0
Flags input, output, connectable, stored
Read node.input_shear_y.value
Descriptor assignment node.input_shear_y = value

node.input_shear_zNative spec

Access to native plug inputShear.inputShearZ.

Item Type / behavior
Maya path inputShear.inputShearZ
Property return _ValuePlugProxy · .value: float
Declared kind numeric:double
Declared default 0.0
Flags input, output, connectable, stored
Read node.input_shear_z.value
Descriptor assignment node.input_shear_z = value

node.input_translateNative spec

Access to native plug inputTranslate.

Item Type / behavior
Maya path inputTranslate
Property return _ValuePlugProxy · .value: tuple
Declared kind double3
Declared default ()
Flags input, output, connectable, stored
Read node.input_translate.value
Descriptor assignment node.input_translate = value

node.input_translate_xNative spec

Access to native plug inputTranslate.inputTranslateX.

Item Type / behavior
Maya path inputTranslate.inputTranslateX
Property return _ValuePlugProxy · .value: float
Declared kind unit:distance
Declared default 0.0
Flags input, output, connectable, stored
Read node.input_translate_x.value
Descriptor assignment node.input_translate_x = value

node.input_translate_yNative spec

Access to native plug inputTranslate.inputTranslateY.

Item Type / behavior
Maya path inputTranslate.inputTranslateY
Property return _ValuePlugProxy · .value: float
Declared kind unit:distance
Declared default 0.0
Flags input, output, connectable, stored
Read node.input_translate_y.value
Descriptor assignment node.input_translate_y = value

node.input_translate_zNative spec

Access to native plug inputTranslate.inputTranslateZ.

Item Type / behavior
Maya path inputTranslate.inputTranslateZ
Property return _ValuePlugProxy · .value: float
Declared kind unit:distance
Declared default 0.0
Flags input, output, connectable, stored
Read node.input_translate_z.value
Descriptor assignment node.input_translate_z = value

node.use_euler_rotationNative spec

Access to native plug useEulerRotation.

Item Type / behavior
Maya path useEulerRotation
Property return _ValuePlugProxy · .value: bool
Declared kind bool
Declared default True
Flags input, output, connectable, stored
Read node.use_euler_rotation.value
Descriptor assignment node.use_euler_rotation = value

node.output_matrixNative spec

Access to native plug outputMatrix.

Item Type / behavior
Maya path outputMatrix
Property return _ValuePlugProxy · .value: MMatrix
Declared kind typed:matrix
Declared default (1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0)
Flags output, connectable
Read node.output_matrix.value
Specs inherited from DGNode6
Property Maya plug Returns Description
message message None Node message plug; used for connections, with no numeric value.
frozen frozen _ValuePlugProxy · .value: bool Native evaluation freeze state.
is_historically_interesting isHistoricallyInteresting _ValuePlugProxy · .value: int Node interest level in Maya history.
bin_membership binMembership _ValuePlugProxy · .value: str Maya bin membership.
caching_enabled caching _ValuePlugProxy · .value: bool Native node caching switch.
caching_node_state nodeState _ValuePlugProxy · .value: int Native nodeState evaluation state.

No additional public method; inherited methods remain available.

Methods inherited from DGNode7
Method Returns Description
create None Creates a missing node; does nothing if it already exists.
delete None Disconnects live connections, detaches the wrapper and deletes the node.
snapshot DGSnapshot Captures and stores an identity and spec-driven SVD dictionary.
snapshot_svd SVDSnapshot Captures Source / Value / Destinations for the requested list.
svd SVDView Returns a read-only live view of source, value and destinations; it is not a frozen capture.
finalize None Applies all sources, then undriven values, then destinations; enabled FSET dispatch follows.
clear_attr_cache None Clears this instance attribute cache; does not delete nodes or clear the global wrapper registry.
Methods inherited from Node2
Method Returns Description
has_fn(fn_type) bool Test compatibility with a Maya function set.
clear_node_registry() None Detach registered wrappers and clear their shared registry.
Attribute Value / composition
NODE_TYPE 'composeMatrix'
SPEC_LAYERS get_dg_specs_all, get_compose_matrix_specs_all

NODE_REGISTRY and other class attributes not overridden here remain inherited. Exported Snapshot types describe dictionaries; use node.snapshot() to capture state.

Point Behavior
Identity A node recreated under the same name is a new Maya object.
Creation and geometry The constructor creates nothing; call create() before live operations.
Capture Snapshots can contain Maya objects; do not assume JSON-ready data or complete geometry reconstruction.

Self-contained Maya Python Script Editor example. In mayapy, initialize maya.standalone before this block. The demonstration creates its own nodes and removes them in finally.

from uuid import uuid4
import maya.api.OpenMaya as om
from weSkel.src.core.node.dg.compose_matrix.lib import ComposeMatrix
node = ComposeMatrix("api_compose_matrix_" + uuid4().hex[:8])
try:
node.create()
node.input_translate = (1.0, 2.0, 3.0)
result = om.MTransformationMatrix(node.output_matrix.value)
assert result.translation(om.MSpace.kTransform).isEquivalent(om.MVector(1.0, 2.0, 3.0), 1e-6)
print("ComposeMatrix: native evaluation OK")
finally:
node.delete(snapshot=False)

Expected result : ComposeMatrix: native evaluation OK.

SDK checkpoint 87c3486. Member inventory checked against loaded classes in Maya 2025.3 and 2026.3; reads and compatibility are specified in the member cards. Example run in both versions, including explicitly documented expected failures. The example does not cover every method. Listed limitations remain in source; these checks do not validate the compiled package.