rigid_trans_object_model_3d — Apply a rigid 3D transformation to 3D object models.
rigid_trans_object_model_3d 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 Pose.
A pose can be created using the operators create_pose, pose_invert, etc., or it can be the result of get_object_model_3d_params.
rigid_trans_object_model_3d transforms one or more 3D object models with the same pose if only one transformation matrix is passed in Pose (N:1). If a single 3D object model is passed in ObjectModel3D, 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 ObjectModel3DRigidTrans. This can be used to, for example, transform the results of find_surface_model without checking first if at least one match was returned.
Note that if a 3D object model is no longer needed or should be overwritten, the memory has to be freed first by calling the operator clear_object_model_3d.
rigid_trans_object_model_3d copies the attributes of type triangle, face, polygon, line, 2D mapping coordinates, and extended attribute without modification.
Handles of the 3D object models.
Handles of the transformed 3D object models.
rigid_trans_object_model_3d returns 2 (H_MSG_TRUE) if all parameters are correct. If necessary, an exception is raised.
read_object_model_3d, xyz_to_object_model_3d, fit_primitives_object_model_3d
project_object_model_3d, object_model_3d_to_xyz, get_object_model_3d_params