KlassenKlassenKlassenKlassen | | | | Operatoren

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 — Anwenden einer beliebigen affinen 3D-Transformation auf 3D-Objektmodelle.

Signatur

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)

Beschreibung

affine_trans_object_model_3daffine_trans_object_model_3dAffineTransObjectModel3daffine_trans_object_model_3dAffineTransObjectModel3dAffineTransObjectModel3d wendet beliebige affine 3D-Transformationen (Skalierung, Drehung, Verschiebung) auf 3D-Objektmodelle an und liefert den Handle der transformierten 3D-Objektmodelle zurück. Die Transformation wird durch eine oder mehrere homogene Transformationsmatrizen beschrieben, die in HomMat3DHomMat3DHomMat3DHomMat3DHomMat3DhomMat3D übergeben werden. Die Anzahl der Transformationsmatrizen ist entweder eins oder entspricht der Anzahl an 3D-Objektmodellen in ObjectModel3DObjectModel3DObjectModel3DObjectModel3DObjectModel3DobjectModel3D.

Die Transformationsmatrizen können mit Hilfe der Operatoren 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. aufgebaut werden oder das Resultat von pose_to_hom_mat3dpose_to_hom_mat3dPoseToHomMat3dpose_to_hom_mat3dPoseToHomMat3dPoseToHomMat3d sein (siehe affine_trans_point_3daffine_trans_point_3dAffineTransPoint3daffine_trans_point_3dAffineTransPoint3dAffineTransPoint3d).

Der Operator affine_trans_object_model_3daffine_trans_object_model_3dAffineTransObjectModel3daffine_trans_object_model_3dAffineTransObjectModel3dAffineTransObjectModel3d wird in der Regel nicht für das 3D-Matching benötigt. Falls dort eine Rotation des 3D-Objektmodells in eine Referenzorientierung erfolgen soll, wird empfohlen, stattdessen in create_shape_model_3dcreate_shape_model_3dCreateShapeModel3dcreate_shape_model_3dCreateShapeModel3dCreateShapeModel3d entsprechende Werte für die Parameter RefRotXRefRotXRefRotXRefRotXRefRotXrefRotX, RefRotYRefRotYRefRotYRefRotYRefRotYrefRotY, RefRotZRefRotZRefRotZRefRotZRefRotZrefRotZ und OrderOfRotationOrderOfRotationOrderOfRotationOrderOfRotationOrderOfRotationorderOfRotation zu übergeben.

Der Operator unterstützt mehrere 3D-Objektmodelle mit einer Transformationsmatrix, sowie eine Transformationsmatrix pro übergebenem 3D-Objektmodell, die dann nur auf das jeweilige 3D-Objektmodell angewandt wird.

Es ist zu beachten, dass wenn ein 3D-Objektmodell nicht mehr benötigt wird oder überschrieben werden soll, zuerst der Operator clear_object_model_3dclear_object_model_3dClearObjectModel3dclear_object_model_3dClearObjectModel3dClearObjectModel3d aufgerufen werden muss, um den entsprechenden Speicher freizugeben.

Achtung

affine_trans_object_model_3daffine_trans_object_model_3dAffineTransObjectModel3daffine_trans_object_model_3dAffineTransObjectModel3dAffineTransObjectModel3d transformiert Attribute vom Typ Punktkoordinaten, Punktnormalen und vorbereitetem 3D-Formmodell für das formbasierte 3D-Matching. Alle anderen Attribute werden kopiert ohne sie zu veränderen. Um 3D-Primitive zu transformieren, muss der Operator rigid_trans_object_model_3drigid_trans_object_model_3dRigidTransObjectModel3drigid_trans_object_model_3dRigidTransObjectModel3dRigidTransObjectModel3d verwendet werden.

Parallelisierung

Parameter

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

Handle der 3D-Objektmodelle.

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

Transformationsmatrizen.

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

Handle der transformierten 3D-Objektmodelle.

Ergebnis

affine_trans_object_model_3daffine_trans_object_model_3dAffineTransObjectModel3daffine_trans_object_model_3dAffineTransObjectModel3dAffineTransObjectModel3d liefert den Wert 2 (H_MSG_TRUE) wenn alle Parameter korrekt sind. Andernfalls wird eine Fehlerbehandlung durchgeführt.

Vorgänger

read_object_model_3dread_object_model_3dReadObjectModel3dread_object_model_3dReadObjectModel3dReadObjectModel3d, xyz_to_object_model_3dxyz_to_object_model_3dXyzToObjectModel3dxyz_to_object_model_3dXyzToObjectModel3dXyzToObjectModel3d

Nachfolger

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

Siehe auch

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

Modul

3D Metrology


KlassenKlassenKlassenKlassen | | | | Operatoren