Operator Reference

projective_trans_object_model_3dT_projective_trans_object_model_3dProjectiveTransObjectModel3dProjectiveTransObjectModel3dprojective_trans_object_model_3d (Operator)

projective_trans_object_model_3dT_projective_trans_object_model_3dProjectiveTransObjectModel3dProjectiveTransObjectModel3dprojective_trans_object_model_3d — Apply an arbitrary projective 3D transformation to 3D object models.

Signature

projective_trans_object_model_3d( : : ObjectModel3D, HomMat3D : ObjectModel3DProjectiveTrans)

Herror T_projective_trans_object_model_3d(const Htuple ObjectModel3D, const Htuple HomMat3D, Htuple* ObjectModel3DProjectiveTrans)

void ProjectiveTransObjectModel3d(const HTuple& ObjectModel3D, const HTuple& HomMat3D, HTuple* ObjectModel3DProjectiveTrans)

static HObjectModel3DArray HObjectModel3D::ProjectiveTransObjectModel3d(const HObjectModel3DArray& ObjectModel3D, const HHomMat3D& HomMat3D)

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

static void HOperatorSet.ProjectiveTransObjectModel3d(HTuple objectModel3D, HTuple homMat3D, out HTuple objectModel3DProjectiveTrans)

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

HObjectModel3D HObjectModel3D.ProjectiveTransObjectModel3d(HHomMat3D homMat3D)

def projective_trans_object_model_3d(object_model_3d: MaybeSequence[HHandle], hom_mat_3d: Sequence[float]) -> Sequence[HHandle]

def projective_trans_object_model_3d_s(object_model_3d: MaybeSequence[HHandle], hom_mat_3d: Sequence[float]) -> HHandle

Description

projective_trans_object_model_3dprojective_trans_object_model_3dProjectiveTransObjectModel3dProjectiveTransObjectModel3dprojective_trans_object_model_3d applies an arbitrary projective 3D transformation to the points of 3D object models and returns the handles of the transformed 3D object models. The projective transformation is described by the homogeneous transformation matrix given in HomMat3DHomMat3DHomMat3DhomMat3Dhom_mat_3d (see projective_trans_point_3dprojective_trans_point_3dProjectiveTransPoint3dProjectiveTransPoint3dprojective_trans_point_3d).

The transformation matrix can be created, e.g., using the operator vector_to_hom_mat3dvector_to_hom_mat3dVectorToHomMat3dVectorToHomMat3dvector_to_hom_mat3d.

Attention

projective_trans_object_model_3dprojective_trans_object_model_3dProjectiveTransObjectModel3dProjectiveTransObjectModel3dprojective_trans_object_model_3d transforms the attributes of type 3D points. Attributes of type shape model for shape-based 3D matching, of type 3D primitive, and of type normals are not transformed. Therefore, these attributes do not exist in the transformed 3D object model. All other attributes are copied without modification. To transform 3D primitives, the operator rigid_trans_object_model_3drigid_trans_object_model_3dRigidTransObjectModel3dRigidTransObjectModel3drigid_trans_object_model_3d must be used.

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

ObjectModel3DObjectModel3DObjectModel3DobjectModel3Dobject_model_3d (input_control)  object_model_3d(-array) HObjectModel3D, HTupleMaybeSequence[HHandle]HTupleHtuple (handle) (IntPtr) (HHandle) (handle)

Handles of the 3D object models.

HomMat3DHomMat3DHomMat3DhomMat3Dhom_mat_3d (input_control)  hom_mat3d HHomMat3D, HTupleSequence[float]HTupleHtuple (real) (double) (double) (double)

Homogeneous projective transformation matrix.

ObjectModel3DProjectiveTransObjectModel3DProjectiveTransObjectModel3DProjectiveTransobjectModel3DProjectiveTransobject_model_3dprojective_trans (output_control)  object_model_3d(-array) HObjectModel3D, HTupleSequence[HHandle]HTupleHtuple (handle) (IntPtr) (HHandle) (handle)

Handles of the transformed 3D object models.

Result

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

Possible Predecessors

read_object_model_3dread_object_model_3dReadObjectModel3dReadObjectModel3dread_object_model_3d, xyz_to_object_model_3dxyz_to_object_model_3dXyzToObjectModel3dXyzToObjectModel3dxyz_to_object_model_3d

Possible Successors

project_object_model_3dproject_object_model_3dProjectObjectModel3dProjectObjectModel3dproject_object_model_3d, object_model_3d_to_xyzobject_model_3d_to_xyzObjectModel3dToXyzObjectModel3dToXyzobject_model_3d_to_xyz

See also

affine_trans_point_3daffine_trans_point_3dAffineTransPoint3dAffineTransPoint3daffine_trans_point_3d, rigid_trans_object_model_3drigid_trans_object_model_3dRigidTransObjectModel3dRigidTransObjectModel3drigid_trans_object_model_3d, affine_trans_object_model_3daffine_trans_object_model_3dAffineTransObjectModel3dAffineTransObjectModel3daffine_trans_object_model_3d

Module

3D Metrology