Name
affine_trans_object_model_3dT_affine_trans_object_model_3dAffineTransObjectModel3daffine_trans_object_model_3dAffineTransObjectModel3dAffineTransObjectModel3d — Apply an arbitrary affine 3D transformation to 3D object models.
affine_trans_object_model_3daffine_trans_object_model_3dAffineTransObjectModel3daffine_trans_object_model_3dAffineTransObjectModel3dAffineTransObjectModel3d applies arbitrary affine 3D
transformations, i.e., scaling, rotation, and translation, to 3D
object models and returns the handles of the transformed 3D object
models. The affine transformations are described by the homogeneous
transformation matrices given in HomMat3DHomMat3DHomMat3DHomMat3DHomMat3DhomMat3D.
The transformation matrices can be created using the operators
hom_mat3d_identityhom_mat3d_identityHomMat3dIdentityhom_mat3d_identityHomMat3dIdentityHomMat3dIdentity, hom_mat3d_scalehom_mat3d_scaleHomMat3dScalehom_mat3d_scaleHomMat3dScaleHomMat3dScale,
hom_mat3d_rotatehom_mat3d_rotateHomMat3dRotatehom_mat3d_rotateHomMat3dRotateHomMat3dRotate, hom_mat3d_translatehom_mat3d_translateHomMat3dTranslatehom_mat3d_translateHomMat3dTranslateHomMat3dTranslate, etc., or it can be
the result of pose_to_hom_mat3dpose_to_hom_mat3dPoseToHomMat3dpose_to_hom_mat3dPoseToHomMat3dPoseToHomMat3d (see
affine_trans_point_3daffine_trans_point_3dAffineTransPoint3daffine_trans_point_3dAffineTransPoint3dAffineTransPoint3d).
In general, the operator affine_trans_object_model_3daffine_trans_object_model_3dAffineTransObjectModel3daffine_trans_object_model_3dAffineTransObjectModel3dAffineTransObjectModel3d is not
necessary in the context of shape based 3D matching. Instead, if a rotation
of the 3D object model into a reference orientation should be performed,
appropriate values for the parameters RefRotXRefRotXRefRotXRefRotXRefRotXrefRotX,
RefRotYRefRotYRefRotYRefRotYRefRotYrefRotY, RefRotZRefRotZRefRotZRefRotZRefRotZrefRotZ, and OrderOfRotationOrderOfRotationOrderOfRotationOrderOfRotationOrderOfRotationorderOfRotation
should be passed to the operator create_shape_model_3dcreate_shape_model_3dCreateShapeModel3dcreate_shape_model_3dCreateShapeModel3dCreateShapeModel3d.
affine_trans_object_model_3daffine_trans_object_model_3dAffineTransObjectModel3daffine_trans_object_model_3dAffineTransObjectModel3dAffineTransObjectModel3d transforms one or more 3D object models
with the same transformation matrix if only one transformation matrix
is passed in HomMat3DHomMat3DHomMat3DHomMat3DHomMat3DhomMat3D (N:1).
If a single 3D object model is passed in ObjectModel3DObjectModel3DObjectModel3DObjectModel3DObjectModel3DobjectModel3D, it is
transformed with all passed transformation matrices (1:N).
If the number of transformation matrices corresponds to the number of 3D
object models, every 3D object model is transformed individually with
the respective transformation matrix (N:N).
In those cases, N can be zero, i.e., no matrix
or no 3D object model can be passed to the operator. In this case, an empty
tuple is returned in ObjectModel3DAffineTransObjectModel3DAffineTransObjectModel3DAffineTransObjectModel3DAffineTransObjectModel3DAffineTransobjectModel3DAffineTrans. This can be used to,
for example, transform the results of other operators without checking first
if at least one matrix 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_3dclear_object_model_3dClearObjectModel3dclear_object_model_3dClearObjectModel3dClearObjectModel3d.
affine_trans_object_model_3daffine_trans_object_model_3dAffineTransObjectModel3daffine_trans_object_model_3dAffineTransObjectModel3dAffineTransObjectModel3d transforms the attributes of type
3D points, 3D point normals, and the prepared shape model for shape-based
3D matching. All other attributes are copied without modification.
To transform 3D primitives, the operator
rigid_trans_object_model_3drigid_trans_object_model_3dRigidTransObjectModel3drigid_trans_object_model_3dRigidTransObjectModel3dRigidTransObjectModel3d must be used.
- Multithreading type: reentrant (runs in parallel with non-exclusive operators).
- Multithreading scope: global (may be called from any thread).
- Processed without parallelization.
Handles of the 3D object models.
Handles of the transformed 3D object models.
affine_trans_object_model_3daffine_trans_object_model_3dAffineTransObjectModel3daffine_trans_object_model_3dAffineTransObjectModel3dAffineTransObjectModel3d returns 2 (H_MSG_TRUE) if all parameters
are correct. If necessary, an exception is raised.
read_object_model_3dread_object_model_3dReadObjectModel3dread_object_model_3dReadObjectModel3dReadObjectModel3d,
xyz_to_object_model_3dxyz_to_object_model_3dXyzToObjectModel3dxyz_to_object_model_3dXyzToObjectModel3dXyzToObjectModel3d
project_object_model_3dproject_object_model_3dProjectObjectModel3dproject_object_model_3dProjectObjectModel3dProjectObjectModel3d,
object_model_3d_to_xyzobject_model_3d_to_xyzObjectModel3dToXyzobject_model_3d_to_xyzObjectModel3dToXyzObjectModel3dToXyz
affine_trans_point_3daffine_trans_point_3dAffineTransPoint3daffine_trans_point_3dAffineTransPoint3dAffineTransPoint3d,
rigid_trans_object_model_3drigid_trans_object_model_3dRigidTransObjectModel3drigid_trans_object_model_3dRigidTransObjectModel3dRigidTransObjectModel3d,
projective_trans_object_model_3dprojective_trans_object_model_3dProjectiveTransObjectModel3dprojective_trans_object_model_3dProjectiveTransObjectModel3dProjectiveTransObjectModel3d
3D Metrology