Skip to content

rigid_trans_object_model_3dRigidTransObjectModel3dRigidTransObjectModel3drigid_trans_object_model_3dT_rigid_trans_object_model_3dπŸ”—

Short descriptionπŸ”—

rigid_trans_object_model_3dRigidTransObjectModel3dRigidTransObjectModel3drigid_trans_object_model_3dT_rigid_trans_object_model_3d β€” Apply a rigid 3D transformation to 3D object models.

SignatureπŸ”—

rigid_trans_object_model_3d( object_model_3d ObjectModel3D, pose Pose, out object_model_3d ObjectModel3DRigidTrans )void RigidTransObjectModel3d( const HTuple& ObjectModel3D, const HTuple& Pose, HTuple* ObjectModel3DRigidTrans )static void HOperatorSet.RigidTransObjectModel3d( HTuple objectModel3D, HTuple pose, out HTuple objectModel3DRigidTrans )def rigid_trans_object_model_3d( object_model_3d: MaybeSequence[HHandle], pose: Sequence[Union[float, int]] ) -> Sequence[HHandle]

def rigid_trans_object_model_3d_s( object_model_3d: MaybeSequence[HHandle], pose: Sequence[Union[float, int]] ) -> HHandleHerror T_rigid_trans_object_model_3d( const Htuple ObjectModel3D, const Htuple Pose, Htuple* ObjectModel3DRigidTrans )

static HObjectModel3DArray HObjectModel3D::RigidTransObjectModel3d( const HObjectModel3DArray& ObjectModel3D, const HPoseArray& Pose )

HObjectModel3D HObjectModel3D::RigidTransObjectModel3d( const HPose& Pose ) const

static HObjectModel3D[] HObjectModel3D.RigidTransObjectModel3d( HObjectModel3D[] objectModel3D, HPose[] pose )

HObjectModel3D HObjectModel3D.RigidTransObjectModel3d( HPose pose )

DescriptionπŸ”—

rigid_trans_object_model_3dRigidTransObjectModel3d applies rigid 3D transformations, i.e., rotations and translations, to 3D object models and returns the handles of the transformed 3D object models. The transformations are described by the poses given in Poseposepose, which are in the form \(\mvPoseVar{{cst}}{mcsi}\), where mcsi denotes the coordinate system of the input object model and cst the coordinate system of the transformed model, e.g., the coordinate system of the scene (see Transformations / Poses and β€œSolution Guide III-C - 3D Vision”). A pose can be created using the operators create_poseCreatePose, pose_invertPoseInvert, etc., or it can be the result of get_object_model_3d_paramsGetObjectModel3dParams.

rigid_trans_object_model_3dRigidTransObjectModel3d transforms one or more 3D object models with the same pose if only one transformation matrix is passed in Poseposepose (N:1). If a single 3D object model is passed in ObjectModel3DobjectModel3Dobject_model_3d, it is transformed with all passed poses (1:N). If the number of poses corresponds to the number of 3D object models, every 3D object model is transformed individually with the respective pose (N:N). In those cases, N can be zero, i.e., no pose or no 3D object model can be passed to the operator. In this case, an empty tuple is returned in ObjectModel3DRigidTransobjectModel3DRigidTransobject_model_3drigid_trans. This can be used to, for example, transform the results of find_surface_modelFindSurfaceModel without checking first if at least one match was returned.

AttentionπŸ”—

rigid_trans_object_model_3dRigidTransObjectModel3d transforms the attributes of type 3D points, 3D point normals, and the prepared shape model for shape-based 3D matching, as well as 3D primitives. Precomputed data structures for 3D distance computation are not copied. All other attributes are copied without modification.

Execution informationπŸ”—

Execution information
  • Multithreading type: reentrant (runs in parallel with non-exclusive operators).

  • Multithreading scope: global (may be called from any thread).

  • Automatically parallelized on internal data level.

ParametersπŸ”—

ObjectModel3DobjectModel3Dobject_model_3d (input_control) object_model_3d(-array) β†’ (handle)HTuple (HHandle)HObjectModel3D, HTuple (IntPtr)MaybeSequence[HHandle]Htuple (handle)

Handles of the 3D object models.

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

Poses.

ObjectModel3DRigidTransobjectModel3DRigidTransobject_model_3drigid_trans (output_control) object_model_3d(-array) β†’ (handle)HTuple (HHandle)HObjectModel3D, HTuple (IntPtr)Sequence[HHandle]Htuple (handle)

Handles of the transformed 3D object models.

ResultπŸ”—

rigid_trans_object_model_3dRigidTransObjectModel3d returns 2 (H_MSG_TRUE) if all parameters are correct. If necessary, an exception is raised.

Combinations with other operatorsπŸ”—

Combinations

Possible predecessors

read_object_model_3dReadObjectModel3d, xyz_to_object_model_3dXyzToObjectModel3d, fit_primitives_object_model_3dFitPrimitivesObjectModel3d

Possible successors

project_object_model_3dProjectObjectModel3d, object_model_3d_to_xyzObjectModel3dToXyz, get_object_model_3d_paramsGetObjectModel3dParams

See also

affine_trans_point_3dAffineTransPoint3d, affine_trans_object_model_3dAffineTransObjectModel3d

ModuleπŸ”—

3D Metrology