smallest_bounding_box_object_model_3dT_smallest_bounding_box_object_model_3dSmallestBoundingBoxObjectModel3dSmallestBoundingBoxObjectModel3d (Operator)

Name

smallest_bounding_box_object_model_3dT_smallest_bounding_box_object_model_3dSmallestBoundingBoxObjectModel3dSmallestBoundingBoxObjectModel3d — Berechnen des kleinsten umschließenden Quaders eines 3D-Objektmodells.

Signatur

smallest_bounding_box_object_model_3d( : : ObjectModel3D, Type : Pose, Length1, Length2, Length3)

Herror T_smallest_bounding_box_object_model_3d(const Htuple ObjectModel3D, const Htuple Type, Htuple* Pose, Htuple* Length1, Htuple* Length2, Htuple* Length3)

void SmallestBoundingBoxObjectModel3d(const HTuple& ObjectModel3D, const HTuple& Type, HTuple* Pose, HTuple* Length1, HTuple* Length2, HTuple* Length3)

static HPoseArray HObjectModel3D::SmallestBoundingBoxObjectModel3d(const HObjectModel3DArray& ObjectModel3D, const HString& Type, HTuple* Length1, HTuple* Length2, HTuple* Length3)

HPose HObjectModel3D::SmallestBoundingBoxObjectModel3d(const HString& Type, double* Length1, double* Length2, double* Length3) const

HPose HObjectModel3D::SmallestBoundingBoxObjectModel3d(const char* Type, double* Length1, double* Length2, double* Length3) const

HPose HObjectModel3D::SmallestBoundingBoxObjectModel3d(const wchar_t* Type, double* Length1, double* Length2, double* Length3) const   (Nur Windows)

static void HOperatorSet.SmallestBoundingBoxObjectModel3d(HTuple objectModel3D, HTuple type, out HTuple pose, out HTuple length1, out HTuple length2, out HTuple length3)

static HPose[] HObjectModel3D.SmallestBoundingBoxObjectModel3d(HObjectModel3D[] objectModel3D, string type, out HTuple length1, out HTuple length2, out HTuple length3)

HPose HObjectModel3D.SmallestBoundingBoxObjectModel3d(string type, out double length1, out double length2, out double length3)

Beschreibung

smallest_bounding_box_object_model_3dsmallest_bounding_box_object_model_3dSmallestBoundingBoxObjectModel3dSmallestBoundingBoxObjectModel3dSmallestBoundingBoxObjectModel3d berechnet aus einem 3D-Objektmodell den kleinsten umschließenden Quader. Das Ergebnis wird mit einer Pose und drei Längen beschrieben. Der Quader wird über ein Koordinatensystem im Raum bestimmt (PosePosePosePosepose), das seine x-Achse entlang der längsten Seite des Quaders hat, die y-Achse entlang der zweitlängsten Seite und die z-Achse entlang der drittlängsten Seite. Die Längen werden in den jeweiligen Parametern Length1Length1Length1Length1length1, Length2Length2Length2Length2length2 und Length3Length3Length3Length3length3 zurückgegeben. Es gibt zwei verschiedene Berechnungsarten für den kleinsten umschließenden Quader:

'oriented'"oriented""oriented""oriented""oriented":

Sucht nach einer Annäherung des kleinsten orientierten umschließenden Quader. Die Berechnung ist vergleichsweise aufwendig. Das entsprechende Verfahren ist randomisiert und kann daher bei jedem Aufruf eine anderen orientierte umschließenden Quader zurückliefern.

'axis_aligned'"axis_aligned""axis_aligned""axis_aligned""axis_aligned":

Bildet aus den maximalen Ausdehnungen des 3D-Objektmodells entlang der Koordinatenachsen einen umschließenden Quader.

Um nur die Ecken des Quaders im Falle 'axis_aligned'"axis_aligned""axis_aligned""axis_aligned""axis_aligned" zu erhalten, kann alternativ der Operator get_object_model_3d_paramsget_object_model_3d_paramsGetObjectModel3dParamsGetObjectModel3dParamsGetObjectModel3dParams mit dem Parameter 'bounding_box1'"bounding_box1""bounding_box1""bounding_box1""bounding_box1" verwendet werden.

Ausführungsinformationen

Parameter

ObjectModel3DObjectModel3DObjectModel3DObjectModel3DobjectModel3D (input_control)  object_model_3d(-array) HObjectModel3D, HTupleHTupleHtuple (handle) (IntPtr) (HHandle) (handle)

Handle der 3D-Objektmodelle, das 3D-Punkte enthält.

TypeTypeTypeTypetype (input_control)  string HTupleHTupleHtuple (string) (string) (HString) (char*)

Methode zur Berechnung des Quaders.

Defaultwert: 'oriented' "oriented" "oriented" "oriented" "oriented"

Werteliste: 'axis_aligned'"axis_aligned""axis_aligned""axis_aligned""axis_aligned", 'oriented'"oriented""oriented""oriented""oriented"

PosePosePosePosepose (output_control)  pose(-array) HPose, HTupleHTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)

Die errechnete Lage des Zentrums des Quaders im Raum.

Length1Length1Length1Length1length1 (output_control)  number(-array) HTupleHTupleHtuple (real) (double) (double) (double)

Die Länge der längsten Seite des Quaders entlang der x-Achse der errechneten Pose.

Parameteranzahl: Length1 == ObjectModel3D

Length2Length2Length2Length2length2 (output_control)  number(-array) HTupleHTupleHtuple (real) (double) (double) (double)

Die Länge der zweitlängsten Seite des Quaders entlang der y-Achse der errechneten Pose.

Parameteranzahl: Length2 == ObjectModel3D

Length3Length3Length3Length3length3 (output_control)  number(-array) HTupleHTupleHtuple (real) (double) (double) (double)

Die Länge der drittlängsten Seite des Quaders entlang der z-Achse der errechneten Pose.

Parameteranzahl: Length3 == ObjectModel3D

Beispiel (HDevelop)

gen_object_model_3d_from_points (rand(20), rand(20), rand(20), \
                                 ObjectModel3D)
smallest_bounding_box_object_model_3d (ObjectModel3D, 'oriented', \
                                       Pose, Length1, Length2, Length3)
gen_box_object_model_3d (Pose, Length1, Length2, Length3, ObjectModel3D1)
dev_get_window (WindowHandle)
visualize_object_model_3d (WindowHandle, [ObjectModel3D,ObjectModel3D1], \
                           [], [], ['alpha_1'], [0.5], [], [], [], PoseOut)

Ergebnis

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

Vorgänger

connection_object_model_3dconnection_object_model_3dConnectionObjectModel3dConnectionObjectModel3dConnectionObjectModel3d, simplify_object_model_3dsimplify_object_model_3dSimplifyObjectModel3dSimplifyObjectModel3dSimplifyObjectModel3d

Nachfolger

gen_box_object_model_3dgen_box_object_model_3dGenBoxObjectModel3dGenBoxObjectModel3dGenBoxObjectModel3d

Siehe auch

smallest_sphere_object_model_3dsmallest_sphere_object_model_3dSmallestSphereObjectModel3dSmallestSphereObjectModel3dSmallestSphereObjectModel3d

Modul

3D Metrology