Skip to content

trans_pose_shape_model_3dTransPoseShapeModel3dTransPoseShapeModel3dtrans_pose_shape_model_3dT_trans_pose_shape_model_3dπŸ”—

Short descriptionπŸ”—

trans_pose_shape_model_3dTransPoseShapeModel3dTransPoseShapeModel3dtrans_pose_shape_model_3dT_trans_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( shape_model_3d ShapeModel3DID, pose PoseIn, string Transformation, out pose PoseOut )void TransPoseShapeModel3d( const HTuple& ShapeModel3DID, const HTuple& PoseIn, const HTuple& Transformation, HTuple* PoseOut )static void HOperatorSet.TransPoseShapeModel3d( HTuple shapeModel3DID, HTuple poseIn, HTuple transformation, out HTuple poseOut )def trans_pose_shape_model_3d( shape_model_3did: HHandle, pose_in: Sequence[Union[int, float]], transformation: str ) -> Sequence[Union[int, float]]

Herror T_trans_pose_shape_model_3d( 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)

HPose HShapeModel3D.TransPoseShapeModel3d( HPose poseIn, string transformation )

HPose HPose.TransPoseShapeModel3d( HShapeModel3D shapeModel3DID, string transformation )

DescriptionπŸ”—

The operator trans_pose_shape_model_3dTransPoseShapeModel3d transforms the pose PoseInposeInpose_in into the pose PoseOutposeOutpose_out by using the transformation direction specified in Transformationtransformationtransformation. 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 ShapeModel3DIDshapeModel3DIDshape_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_3dCreateShapeModel3d.

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

If Transformationtransformationtransformation is set to 'ref_to_model'"ref_to_model", it is assumed that PoseInposeInpose_in refers to the reference coordinate system of the 3D shape model. Thus, PoseInposeInpose_in is \(\mvPoseVar{{cs}}{rcs}\), 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 PoseOutposeOutpose_out in this case refers to the coordinate system of the 3D object model, thus \(\mvPoseVar{{cs}}{mcs}\).

If Transformationtransformationtransformation is set to 'model_to_ref'"model_to_ref", it is assumed that PoseInposeInpose_in refers to the coordinate system of the 3D object model, \(\mvPoseVar{{cs}}{mcs}\). The resulting output pose PoseOutposeOutpose_out in this case refers to the reference coordinate system of the 3D shape model, thus \(\mvPoseVar{{cs}}{rcs}\).

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

Execution informationπŸ”—

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πŸ”—

ShapeModel3DIDshapeModel3DIDshape_model_3did (input_control) shape_model_3d β†’ (handle)HTuple (HHandle)HShapeModel3D, HTuple (IntPtr)HHandleHtuple (handle)

Handle of the 3D shape model.

PoseInposeInpose_in (input_control) pose β†’ (real / integer)HTuple (double / Hlong)HPose, HTuple (double / int / long)Sequence[Union[int, float]]Htuple (double / Hlong)

Pose to be transformed in the source system.

Transformationtransformationtransformation (input_control) string β†’ (string)HTuple (HString)HTuple (string)strHtuple (char*)

Direction of the transformation.

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

PoseOutposeOutpose_out (output_control) pose β†’ (real / integer)HTuple (double / Hlong)HPose, HTuple (double / int / long)Sequence[Union[int, float]]Htuple (double / Hlong)

Transformed 3D pose in the target system.

ResultπŸ”—

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

Combinations with other operatorsπŸ”—

Combinations

Possible predecessors

find_shape_model_3dFindShapeModel3d

Alternatives

hom_mat3d_translateHomMat3dTranslate, hom_mat3d_rotateHomMat3dRotate

ModuleπŸ”—

3D Metrology