trans_pose_shape_model_3dT_trans_pose_shape_model_3dTransPoseShapeModel3dTransPoseShapeModel3dtrans_pose_shape_model_3d (Operator)

Name

trans_pose_shape_model_3dT_trans_pose_shape_model_3dTransPoseShapeModel3dTransPoseShapeModel3dtrans_pose_shape_model_3d — Transform a pose that refers to the coordinate system of a 3D object model to a pose that refers to the reference coordinate system of a 3D shape model and vice versa.

Signature

trans_pose_shape_model_3d( : : ShapeModel3DID, PoseIn, Transformation : PoseOut)

Herror T_trans_pose_shape_model_3d(const Htuple ShapeModel3DID, const Htuple PoseIn, const Htuple Transformation, Htuple* PoseOut)

void TransPoseShapeModel3d(const HTuple& ShapeModel3DID, const HTuple& PoseIn, const HTuple& Transformation, HTuple* PoseOut)

HPose HShapeModel3D::TransPoseShapeModel3d(const HPose& PoseIn, const HString& Transformation) const

HPose HShapeModel3D::TransPoseShapeModel3d(const HPose& PoseIn, const char* Transformation) const

HPose HShapeModel3D::TransPoseShapeModel3d(const HPose& PoseIn, const wchar_t* Transformation) const   (Windows only)

HPose HPose::TransPoseShapeModel3d(const HShapeModel3D& ShapeModel3DID, const HString& Transformation) const

HPose HPose::TransPoseShapeModel3d(const HShapeModel3D& ShapeModel3DID, const char* Transformation) const

HPose HPose::TransPoseShapeModel3d(const HShapeModel3D& ShapeModel3DID, const wchar_t* Transformation) const   (Windows only)

static void HOperatorSet.TransPoseShapeModel3d(HTuple shapeModel3DID, HTuple poseIn, HTuple transformation, out HTuple poseOut)

HPose HShapeModel3D.TransPoseShapeModel3d(HPose poseIn, string transformation)

HPose HPose.TransPoseShapeModel3d(HShapeModel3D shapeModel3DID, string transformation)

def trans_pose_shape_model_3d(shape_model_3did: HHandle, pose_in: Sequence[Union[int, float]], transformation: str) -> Sequence[Union[int, float]]

Description

The operator trans_pose_shape_model_3dtrans_pose_shape_model_3dTransPoseShapeModel3dTransPoseShapeModel3dTransPoseShapeModel3dtrans_pose_shape_model_3d transforms the pose PoseInPoseInPoseInPoseInposeInpose_in into the pose PoseOutPoseOutPoseOutPoseOutposeOutpose_out by using the transformation direction specified in TransformationTransformationTransformationTransformationtransformationtransformation. In the majority of cases, the operator will be used to transform a camera pose that is given relative to the source coordinate system to a camera pose that refers to the target coordinate system.

The pose can be transformed between two coordinate systems. The first coordinate system is the reference coordinate system of the 3D shape model (ref) that is passed in ShapeModel3DIDShapeModel3DIDShapeModel3DIDShapeModel3DIDshapeModel3DIDshape_model_3did. The origin of the reference coordinate system lies at the reference point of the underlying 3D object model. The orientation of the reference coordinate system is determined by the reference orientation that was specified when creating the 3D shape model with create_shape_model_3dcreate_shape_model_3dCreateShapeModel3dCreateShapeModel3dCreateShapeModel3dcreate_shape_model_3d.

The second coordinate system is the world coordinate system, i.e., the coordinate system of the 3D object model (mcs) that underlies the 3D shape model. This coordinate system is implicitly determined by the coordinates that are stored in the CAD file that was read by using read_object_model_3dread_object_model_3dReadObjectModel3dReadObjectModel3dReadObjectModel3dread_object_model_3d.

If TransformationTransformationTransformationTransformationtransformationtransformation is set to 'ref_to_model'"ref_to_model""ref_to_model""ref_to_model""ref_to_model""ref_to_model", it is assumed that PoseInPoseInPoseInPoseInposeInpose_in refers to the reference coordinate system of the 3D shape model. Thus, PoseInPoseInPoseInPoseInposeInpose_in is , where cs denotes the coordinate system the input pose transforms into (e.g., the camera coordinate system). For further information we refer to Transformations / Poses and “Solution Guide III-C - 3D Vision”. The resulting output pose PoseOutPoseOutPoseOutPoseOutposeOutpose_out in this case refers to the coordinate system of the 3D object model, thus .

If TransformationTransformationTransformationTransformationtransformationtransformation is set to 'model_to_ref'"model_to_ref""model_to_ref""model_to_ref""model_to_ref""model_to_ref", it is assumed that PoseInPoseInPoseInPoseInposeInpose_in refers to the coordinate system of the 3D object model, . The resulting output pose PoseOutPoseOutPoseOutPoseOutposeOutpose_out in this case refers to the reference coordinate system of the 3D shape model, thus .

The relative pose of the two coordinate systems can be queried by passing 'reference_pose'"reference_pose""reference_pose""reference_pose""reference_pose""reference_pose" for GenParamNameGenParamNameGenParamNameGenParamNamegenParamNamegen_param_name in the operator get_shape_model_3d_paramsget_shape_model_3d_paramsGetShapeModel3dParamsGetShapeModel3dParamsGetShapeModel3dParamsget_shape_model_3d_params.

Execution Information

Parameters

ShapeModel3DIDShapeModel3DIDShapeModel3DIDShapeModel3DIDshapeModel3DIDshape_model_3did (input_control)  shape_model_3d HShapeModel3D, HTupleHHandleHTupleHtuple (handle) (IntPtr) (HHandle) (handle)

Handle of the 3D shape model.

PoseInPoseInPoseInPoseInposeInpose_in (input_control)  pose HPose, HTupleSequence[Union[int, float]]HTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)

Pose to be transformed in the source system.

TransformationTransformationTransformationTransformationtransformationtransformation (input_control)  string HTuplestrHTupleHtuple (string) (string) (HString) (char*)

Direction of the transformation.

Default value: 'ref_to_model' "ref_to_model" "ref_to_model" "ref_to_model" "ref_to_model" "ref_to_model"

List of values: 'model_to_ref'"model_to_ref""model_to_ref""model_to_ref""model_to_ref""model_to_ref", 'ref_to_model'"ref_to_model""ref_to_model""ref_to_model""ref_to_model""ref_to_model"

PoseOutPoseOutPoseOutPoseOutposeOutpose_out (output_control)  pose HPose, HTupleSequence[Union[int, float]]HTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)

Transformed 3D pose in the target system.

Result

If the parameters are valid, the operator trans_pose_shape_model_3dtrans_pose_shape_model_3dTransPoseShapeModel3dTransPoseShapeModel3dTransPoseShapeModel3dtrans_pose_shape_model_3d returns the value 2 (H_MSG_TRUE). If necessary an exception is raised.

Possible Predecessors

find_shape_model_3dfind_shape_model_3dFindShapeModel3dFindShapeModel3dFindShapeModel3dfind_shape_model_3d

Alternatives

hom_mat3d_translatehom_mat3d_translateHomMat3dTranslateHomMat3dTranslateHomMat3dTranslatehom_mat3d_translate, hom_mat3d_rotatehom_mat3d_rotateHomMat3dRotateHomMat3dRotateHomMat3dRotatehom_mat3d_rotate

Module

3D Metrology