trans_pose_shape_model_3dT_trans_pose_shape_model_3dTransPoseShapeModel3dTransPoseShapeModel3d (Operator)

Name

trans_pose_shape_model_3dT_trans_pose_shape_model_3dTransPoseShapeModel3dTransPoseShapeModel3d — 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)

Description

The operator trans_pose_shape_model_3dtrans_pose_shape_model_3dTransPoseShapeModel3dTransPoseShapeModel3dTransPoseShapeModel3d transforms the pose PoseInPoseInPoseInPoseInposeIn into the pose PoseOutPoseOutPoseOutPoseOutposeOut by using the transformation direction specified in TransformationTransformationTransformationTransformationtransformation. 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 ShapeModel3DIDShapeModel3DIDShapeModel3DIDShapeModel3DIDshapeModel3DID. 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_3dCreateShapeModel3dCreateShapeModel3dCreateShapeModel3d.

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_3dReadObjectModel3dReadObjectModel3dReadObjectModel3d.

If TransformationTransformationTransformationTransformationtransformation is set to 'ref_to_model'"ref_to_model""ref_to_model""ref_to_model""ref_to_model", it is assumed that PoseInPoseInPoseInPoseInposeIn refers to the reference coordinate system of the 3D shape model. Thus, PoseInPoseInPoseInPoseInposeIn 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 PoseOutPoseOutPoseOutPoseOutposeOut in this case refers to the coordinate system of the 3D object model, thus .

If TransformationTransformationTransformationTransformationtransformation is set to 'model_to_ref'"model_to_ref""model_to_ref""model_to_ref""model_to_ref", it is assumed that PoseInPoseInPoseInPoseInposeIn refers to the coordinate system of the 3D object model, . The resulting output pose PoseOutPoseOutPoseOutPoseOutposeOut 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" for GenParamNameGenParamNameGenParamNameGenParamNamegenParamName in the operator get_shape_model_3d_paramsget_shape_model_3d_paramsGetShapeModel3dParamsGetShapeModel3dParamsGetShapeModel3dParams.

Execution Information

Parameters

ShapeModel3DIDShapeModel3DIDShapeModel3DIDShapeModel3DIDshapeModel3DID (input_control)  shape_model_3d HShapeModel3D, HTupleHTupleHtuple (handle) (IntPtr) (HHandle) (handle)

Handle of the 3D shape model.

PoseInPoseInPoseInPoseInposeIn (input_control)  pose HPose, HTupleHTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)

Pose to be transformed in the source system.

TransformationTransformationTransformationTransformationtransformation (input_control)  string HTupleHTupleHtuple (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"

List of values: '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"

PoseOutPoseOutPoseOutPoseOutposeOut (output_control)  pose HPose, HTupleHTupleHtuple (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_3dTransPoseShapeModel3dTransPoseShapeModel3dTransPoseShapeModel3d returns the value 2 (H_MSG_TRUE). If necessary an exception is raised.

Possible Predecessors

find_shape_model_3dfind_shape_model_3dFindShapeModel3dFindShapeModel3dFindShapeModel3d

Alternatives

hom_mat3d_translatehom_mat3d_translateHomMat3dTranslateHomMat3dTranslateHomMat3dTranslate, hom_mat3d_rotatehom_mat3d_rotateHomMat3dRotateHomMat3dRotateHomMat3dRotate

Module

3D Metrology