pose_composeT_pose_composePoseComposePoseCompose (Operator)

Name

pose_composeT_pose_composePoseComposePoseCompose — Komposition von 3D-Lagen aus zwei Tupeln.

Signatur

pose_compose( : : PoseLeft, PoseRight : PoseCompose)

Herror T_pose_compose(const Htuple PoseLeft, const Htuple PoseRight, Htuple* PoseCompose)

void PoseCompose(const HTuple& PoseLeft, const HTuple& PoseRight, HTuple* PoseCompose)

static HPoseArray HPose::PoseCompose(const HPoseArray& PoseLeft, const HPoseArray& PoseRight)

HPose HPose::PoseCompose(const HPose& PoseRight) const

static void HOperatorSet.PoseCompose(HTuple poseLeft, HTuple poseRight, out HTuple poseCompose)

static HPose[] HPose.PoseCompose(HPose[] poseLeft, HPose[] poseRight)

HPose HPose.PoseCompose(HPose poseRight)

Beschreibung

pose_composepose_composePoseComposePoseComposePoseCompose verbindet jeweils zwei Posen aus den Eingabetupeln PoseLeftPoseLeftPoseLeftPoseLeftposeLeft und PoseRightPoseRightPoseRightPoseRightposeRight. Falls beide Tupel dieselbe Anzahl Posen enthalten, werden die entsprechenden Posen der beiden Tupel multipliziert. Ansonsten darf entweder PoseLeftPoseLeftPoseLeftPoseLeftposeLeft oder PoseRightPoseRightPoseRightPoseRightposeRight nur eine Pose enthalten. In diesem Fall wird die Multiplikation für jede Pose des längeren Tupels mit der einzigen Pose des anderen Tupels ausgeführt. Für jede Komposition sind die Posen als Transformationen von Koordinatensystemen zu verstehen. Jede Pose in Ausgabetupel PoseComposePoseComposePoseComposePoseComposeposeCompose ist folglich das Ergebnis der sequentiellen Anwendung der entsprechenden Posen der Eingabetupel PoseLeftPoseLeftPoseLeftPoseLeftposeLeft und PoseRightPoseRightPoseRightPoseRightposeRight.

Dazu werden zunächst die zu verbindenden Posen aus PoseLeftPoseLeftPoseLeftPoseLeftposeLeft und PoseRightPoseRightPoseRightPoseRightposeRight in die entsprechenden homogenen Transformationsmatrizen und umgewandelt. Dann wird mit multipliziert. Die resultierende Matrix wird dann in eine Pose umgerechnet und an entsprechender Stelle im Ausgabetupel PoseComposePoseComposePoseComposePoseComposeposeCompose zurückgegeben.

Falls die zu verbindenden Posen aus PoseLeftPoseLeftPoseLeftPoseLeftposeLeft und PoseRightPoseRightPoseRightPoseRightposeRight verschiedene Posetypen haben, hat die Ergebnispose den Type 0 ('Rp+T', 'gba', 'point'). Andernfalls hat die Ergebnispose den gleichen Typ wie die Eingangsposen.

Ausführungsinformationen

Parameter

PoseLeftPoseLeftPoseLeftPoseLeftposeLeft (input_control)  pose(-array) HPose, HTupleHTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)

Tupel der linken Posen.

PoseRightPoseRightPoseRightPoseRightposeRight (input_control)  pose(-array) HPose, HTupleHTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)

Tupel der rechten Posen.

PoseComposePoseComposePoseComposePoseComposeposeCompose (output_control)  pose(-array) HPose, HTupleHTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)

Tupel der Ausgabeposen.

Ergebnis

Sind die Parameterwerte korrekt, dann liefert pose_composepose_composePoseComposePoseComposePoseCompose den Wert 2 (H_MSG_TRUE). Gegebenenfalls wird eine Exception-Behandlung durchgeführt.

Vorgänger

read_poseread_poseReadPoseReadPoseReadPose, hom_mat3d_to_posehom_mat3d_to_poseHomMat3dToPoseHomMat3dToPoseHomMat3dToPose, create_posecreate_poseCreatePoseCreatePoseCreatePose, convert_pose_typeconvert_pose_typeConvertPoseTypeConvertPoseTypeConvertPoseType, pose_invertpose_invertPoseInvertPoseInvertPoseInvert

Nachfolger

convert_pose_typeconvert_pose_typeConvertPoseTypeConvertPoseTypeConvertPoseType

Alternativen

hom_mat3d_composehom_mat3d_composeHomMat3dComposeHomMat3dComposeHomMat3dCompose, dual_quat_composedual_quat_composeDualQuatComposeDualQuatComposeDualQuatCompose

Siehe auch

pose_to_hom_mat3dpose_to_hom_mat3dPoseToHomMat3dPoseToHomMat3dPoseToHomMat3d, hom_mat3d_to_posehom_mat3d_to_poseHomMat3dToPoseHomMat3dToPoseHomMat3dToPose, hom_mat3d_composehom_mat3d_composeHomMat3dComposeHomMat3dComposeHomMat3dCompose

Modul

Foundation