pose_composeT_pose_composePoseComposePoseComposepose_compose (Operator)
Name
pose_composeT_pose_composePoseComposePoseComposepose_compose
— Combine 3D poses given in two tuples.
Signature
def pose_compose(pose_left: Sequence[Union[float, int]], pose_right: Sequence[Union[float, int]]) -> Sequence[Union[float, int]]
Description
pose_composepose_composePoseComposePoseComposePoseComposepose_compose
combines the poses in the tuples, PoseLeftPoseLeftPoseLeftPoseLeftposeLeftpose_left
and
PoseRightPoseRightPoseRightPoseRightposeRightpose_right
. If both tuples contain the same number of poses, the
corresponding elements of both tuples are composed. Otherwise, either tuple
PoseLeftPoseLeftPoseLeftPoseLeftposeLeftpose_left
or PoseRightPoseRightPoseRightPoseRightposeRightpose_right
must contain only one pose.
In this case, the composition is performed for each pose of the longer tuple
with the single pose of the other tuple. For each composition, the poses are
interpreted as transformations of coordinate systems. The poses in tuple
PoseComposePoseComposePoseComposePoseComposeposeComposepose_compose
are therefore the result of applying the corresponding
poses in PoseLeftPoseLeftPoseLeftPoseLeftposeLeftpose_left
and PoseRightPoseRightPoseRightPoseRightposeRightpose_right
in sequence.
First, the respective poses in PoseLeftPoseLeftPoseLeftPoseLeftposeLeftpose_left
and PoseRightPoseRightPoseRightPoseRightposeRightpose_right
are transformed into the corresponding homogeneous transformation matrices
H1 and H2.
H1 is then multiplied with
H2. The resulting matrix
H1* H2 is converted
into a pose and returned at the corresponding index in tuple
PoseComposePoseComposePoseComposePoseComposeposeComposepose_compose
.
If the respective poses in PoseLeftPoseLeftPoseLeftPoseLeftposeLeftpose_left
and PoseRightPoseRightPoseRightPoseRightposeRightpose_right
have
different types, the default pose type 0 ('Rp+T', 'gba', 'point') is
returned. Otherwise, the returned poses have the same types as the poses
used for their composition.
Execution Information
- Multithreading type: reentrant (runs in parallel with non-exclusive operators).
- Multithreading scope: global (may be called from any thread).
- Processed without parallelization.
Parameters
PoseLeftPoseLeftPoseLeftPoseLeftposeLeftpose_left
(input_control) pose(-array) →
HPose, HTupleSequence[Union[float, int]]HTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)
Tuple containing the left poses.
PoseRightPoseRightPoseRightPoseRightposeRightpose_right
(input_control) pose(-array) →
HPose, HTupleSequence[Union[float, int]]HTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)
Tuple containing the right poses.
PoseComposePoseComposePoseComposePoseComposeposeComposepose_compose
(output_control) pose(-array) →
HPose, HTupleSequence[Union[float, int]]HTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)
Tuple containing the returned poses.
Result
pose_composepose_composePoseComposePoseComposePoseComposepose_compose
returns 2 (
H_MSG_TRUE)
if all parameters are valid.
If necessary, an exception is raised.
Possible Predecessors
read_poseread_poseReadPoseReadPoseReadPoseread_pose
,
hom_mat3d_to_posehom_mat3d_to_poseHomMat3dToPoseHomMat3dToPoseHomMat3dToPosehom_mat3d_to_pose
,
create_posecreate_poseCreatePoseCreatePoseCreatePosecreate_pose
,
convert_pose_typeconvert_pose_typeConvertPoseTypeConvertPoseTypeConvertPoseTypeconvert_pose_type
,
pose_invertpose_invertPoseInvertPoseInvertPoseInvertpose_invert
Possible Successors
convert_pose_typeconvert_pose_typeConvertPoseTypeConvertPoseTypeConvertPoseTypeconvert_pose_type
Alternatives
hom_mat3d_composehom_mat3d_composeHomMat3dComposeHomMat3dComposeHomMat3dComposehom_mat3d_compose
,
dual_quat_composedual_quat_composeDualQuatComposeDualQuatComposeDualQuatComposedual_quat_compose
See also
pose_to_hom_mat3dpose_to_hom_mat3dPoseToHomMat3dPoseToHomMat3dPoseToHomMat3dpose_to_hom_mat3d
,
hom_mat3d_to_posehom_mat3d_to_poseHomMat3dToPoseHomMat3dToPoseHomMat3dToPosehom_mat3d_to_pose
,
hom_mat3d_composehom_mat3d_composeHomMat3dComposeHomMat3dComposeHomMat3dComposehom_mat3d_compose
Module
Foundation