ClassesClassesClassesClasses | | | | Operators

affine_trans_object_model_3dT_affine_trans_object_model_3dAffineTransObjectModel3daffine_trans_object_model_3dAffineTransObjectModel3dAffineTransObjectModel3d (Operator)

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.

Signature

affine_trans_object_model_3d( : : ObjectModel3D, HomMat3D : ObjectModel3DAffineTrans)

Herror T_affine_trans_object_model_3d(const Htuple ObjectModel3D, const Htuple HomMat3D, Htuple* ObjectModel3DAffineTrans)

Herror affine_trans_object_model_3d(const HTuple& ObjectModel3D, const HTuple& HomMat3D, Hlong* ObjectModel3DAffineTrans)

Herror affine_trans_object_model_3d(const HTuple& ObjectModel3D, const HTuple& HomMat3D, HTuple* ObjectModel3DAffineTrans)

HTuple HObjectModel3D::AffineTransObjectModel3d(const HTuple& HomMat3D) const

void AffineTransObjectModel3d(const HTuple& ObjectModel3D, const HTuple& HomMat3D, HTuple* ObjectModel3DAffineTrans)

static HObjectModel3DArray HObjectModel3D::AffineTransObjectModel3d(const HObjectModel3DArray& ObjectModel3D, const HHomMat3DArray& HomMat3D)

HObjectModel3D HObjectModel3D::AffineTransObjectModel3d(const HHomMat3D& HomMat3D) const

void HOperatorSetX.AffineTransObjectModel3d(
[in] VARIANT ObjectModel3D, [in] VARIANT HomMat3d, [out] VARIANT* ObjectModel3DAffineTrans)

IHObjectModel3DX* HObjectModel3DX.AffineTransObjectModel3d([in] IHHomMat3DX* HomMat3d)

static void HOperatorSet.AffineTransObjectModel3d(HTuple objectModel3D, HTuple homMat3D, out HTuple objectModel3DAffineTrans)

static HObjectModel3D[] HObjectModel3D.AffineTransObjectModel3d(HObjectModel3D[] objectModel3D, HHomMat3D[] homMat3D)

HObjectModel3D HObjectModel3D.AffineTransObjectModel3d(HHomMat3D homMat3D)

Description

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 several 3D object models with the same transformation matrix if only one transformation matrix is passed in HomMat3DHomMat3DHomMat3DHomMat3DHomMat3DhomMat3D. 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.

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.

Attention

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.

Parallelization

Parameters

ObjectModel3DObjectModel3DObjectModel3DObjectModel3DObjectModel3DobjectModel3D (input_control)  object_model_3d(-array) HObjectModel3D, HTupleHTupleHObjectModel3D, HTupleHObjectModel3DX, VARIANTHtuple (integer) (IntPtr) (Hlong) (Hlong) (Hlong) (Hlong)

Handles of the 3D object models.

HomMat3DHomMat3DHomMat3DHomMat3DHomMat3DhomMat3D (input_control)  hom_mat3d(-array) HHomMat3D, HTupleHTupleHTupleHHomMat3DX, VARIANTHtuple (real) (double) (double) (double) (double) (double)

Transformation matrices.

ObjectModel3DAffineTransObjectModel3DAffineTransObjectModel3DAffineTransObjectModel3DAffineTransObjectModel3DAffineTransobjectModel3DAffineTrans (output_control)  object_model_3d(-array) HObjectModel3D, HTupleHTupleHObjectModel3D, HTupleHObjectModel3DX, VARIANTHtuple (integer) (IntPtr) (Hlong) (Hlong) (Hlong) (Hlong)

Handles of the transformed 3D object models.

Result

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.

Possible Predecessors

read_object_model_3dread_object_model_3dReadObjectModel3dread_object_model_3dReadObjectModel3dReadObjectModel3d, xyz_to_object_model_3dxyz_to_object_model_3dXyzToObjectModel3dxyz_to_object_model_3dXyzToObjectModel3dXyzToObjectModel3d

Possible Successors

project_object_model_3dproject_object_model_3dProjectObjectModel3dproject_object_model_3dProjectObjectModel3dProjectObjectModel3d, object_model_3d_to_xyzobject_model_3d_to_xyzObjectModel3dToXyzobject_model_3d_to_xyzObjectModel3dToXyzObjectModel3dToXyz, clear_object_model_3dclear_object_model_3dClearObjectModel3dclear_object_model_3dClearObjectModel3dClearObjectModel3d

See also

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

Module

3D Metrology


ClassesClassesClassesClasses | | | | Operators