get_object_model_3d_paramsT_get_object_model_3d_paramsGetObjectModel3dParamsGetObjectModel3dParams (Operator)

Name

get_object_model_3d_paramsT_get_object_model_3d_paramsGetObjectModel3dParamsGetObjectModel3dParams — Auslesen der Attribute von 3D-Objektmodellen.

Signatur

get_object_model_3d_params( : : ObjectModel3D, GenParamName : GenParamValue)

Herror T_get_object_model_3d_params(const Htuple ObjectModel3D, const Htuple GenParamName, Htuple* GenParamValue)

void GetObjectModel3dParams(const HTuple& ObjectModel3D, const HTuple& GenParamName, HTuple* GenParamValue)

static HTuple HObjectModel3D::GetObjectModel3dParams(const HObjectModel3DArray& ObjectModel3D, const HTuple& GenParamName)

HTuple HObjectModel3D::GetObjectModel3dParams(const HTuple& GenParamName) const

static void HOperatorSet.GetObjectModel3dParams(HTuple objectModel3D, HTuple genParamName, out HTuple genParamValue)

static HTuple HObjectModel3D.GetObjectModel3dParams(HObjectModel3D[] objectModel3D, HTuple genParamName)

HTuple HObjectModel3D.GetObjectModel3dParams(HTuple genParamName)

Beschreibung

Ein 3D-Objektmodell besteht aus einer Menge von Attributen und ihren Metadaten. Mit Hilfe des Operators get_object_model_3d_paramsget_object_model_3d_paramsGetObjectModel3dParamsGetObjectModel3dParamsGetObjectModel3dParams lassen sich Attribute und die Metadaten von 3D-Objektmodellen abfragen. Der Name des Attributes oder der Metadaten, welche abgefragt werden sollen, wird in GenParamNameGenParamNameGenParamNameGenParamNamegenParamName übergeben, der korrespondierende Wert wird in GenParamValueGenParamValueGenParamValueGenParamValuegenParamValue zurückgeliefert. Wenn das abzufragende Attribut oder die Metadaten nicht vorhanden sind, wird eine Fehlerbehandlung durchgeführt. get_object_model_3d_paramsget_object_model_3d_paramsGetObjectModel3dParamsGetObjectModel3dParamsGetObjectModel3dParams unterstützt den Zugriff auf mehrere 3D-Objektmodelle und mehrere Attribute auf einmal. Zu beachten ist, dass Attribute oder Metadaten verschiedene Längen haben können. Einige der Standardattribute haben eine definierte Länge, die in der Attributbeschreibung weiter unten jeweils angegeben ist. Die Länge anderer Attribute hängt vom 3D-Objektmodell ab und kann abgefragt werden, indem der Parameter GenParamNameGenParamNameGenParamNameGenParamNamegenParamName z.B. auf 'num_points'"num_points""num_points""num_points""num_points", 'num_triangles'"num_triangles""num_triangles""num_triangles""num_triangles", 'num_polygons'"num_polygons""num_polygons""num_polygons""num_polygons" oder 'num_lines'"num_lines""num_lines""num_lines""num_lines" gesetzt wird. So lässt sich beispielsweise die Länge des Standardattributs 'point_coord_x'"point_coord_x""point_coord_x""point_coord_x""point_coord_x" abfragen, indem GenParamNameGenParamNameGenParamNameGenParamNamegenParamName auf 'num_points'"num_points""num_points""num_points""num_points" gesetzt wird.

Standardattribute

Im Einzelnen kann auf die folgenden Standardattribute und deren Metadaten zugegriffen werden:

'point_coord_x'"point_coord_x""point_coord_x""point_coord_x""point_coord_x":

Die x-Koordinaten der 3D Punktmenge. Die Anzahl der hier zurückgegebenen Punkte kann mit 'num_points'"num_points""num_points""num_points""num_points" ermittelt werden. Dieses Attribut wird typischerweise mit dem Operator xyz_to_object_model_3dxyz_to_object_model_3dXyzToObjectModel3dXyzToObjectModel3dXyzToObjectModel3d oder read_object_model_3dread_object_model_3dReadObjectModel3dReadObjectModel3dReadObjectModel3d erstellt.

'point_coord_y'"point_coord_y""point_coord_y""point_coord_y""point_coord_y":

Die y-Koordinaten der 3D Punktmenge. Die Anzahl der hier zurückgegebenen Punkte kann mit 'num_points'"num_points""num_points""num_points""num_points" ermittelt werden. Dieses Attribut wird typischerweise mit dem Operator xyz_to_object_model_3dxyz_to_object_model_3dXyzToObjectModel3dXyzToObjectModel3dXyzToObjectModel3d oder read_object_model_3dread_object_model_3dReadObjectModel3dReadObjectModel3dReadObjectModel3d erstellt.

'point_coord_z'"point_coord_z""point_coord_z""point_coord_z""point_coord_z":

Die z-Koordinaten der 3D Punktmenge. Die Anzahl der hier zurückgegebenen Punkte kann mit 'num_points'"num_points""num_points""num_points""num_points" ermittelt werden. Dieses Attribut wird typischerweise mit dem Operator xyz_to_object_model_3dxyz_to_object_model_3dXyzToObjectModel3dXyzToObjectModel3dXyzToObjectModel3d oder read_object_model_3dread_object_model_3dReadObjectModel3dReadObjectModel3dReadObjectModel3d erstellt.

'point_normal_x'"point_normal_x""point_normal_x""point_normal_x""point_normal_x":

Die x-Komponenten der 3D Punktnormalen der 3D Punktmenge. Die Anzahl der hier zurückgegebenen Punkte kann mit 'num_points'"num_points""num_points""num_points""num_points" ermittelt werden. Dieses Attribut wird typischerweise mit dem Operator smooth_object_model_3dsmooth_object_model_3dSmoothObjectModel3dSmoothObjectModel3dSmoothObjectModel3d erstellt.

'point_normal_y'"point_normal_y""point_normal_y""point_normal_y""point_normal_y":

Die y-Komponenten der 3D Punktnormalen der 3D Punktmenge. Die Anzahl der hier zurückgegebenen Punkte kann mit 'num_points'"num_points""num_points""num_points""num_points" ermittelt werden. Dieses Attribut wird typischerweise mit dem Operator smooth_object_model_3dsmooth_object_model_3dSmoothObjectModel3dSmoothObjectModel3dSmoothObjectModel3d erstellt.

'point_normal_z'"point_normal_z""point_normal_z""point_normal_z""point_normal_z":

Die z-Komponenten der 3D Punktnormalen der 3D Punktmenge. Die Anzahl der hier zurückgegebenen Punkte kann mit 'num_points'"num_points""num_points""num_points""num_points" ermittelt werden. Dieses Attribut wird typischerweise mit dem Operator smooth_object_model_3dsmooth_object_model_3dSmoothObjectModel3dSmoothObjectModel3dSmoothObjectModel3d erstellt.

'score'"score""score""score""score":

Das Qualitätsmaß der Rekonstruktion einer 3D-Punktmenge. Die Anzahl der hier zurückgegebenen Punkte kann mit 'num_points'"num_points""num_points""num_points""num_points" ermittelt werden. Dieses Attribut wird typischerweise mit dem Operator reconstruct_surface_stereoreconstruct_surface_stereoReconstructSurfaceStereoReconstructSurfaceStereoReconstructSurfaceStereo erstellt.

'red'"red""red""red""red":

Der Rotkanal einer 3D-Punktmenge. Die Anzahl der hier zurückgegebenen Punkte kann mit 'num_points'"num_points""num_points""num_points""num_points" ermittelt werden. Dieses Attribut wird typischerweise mit dem Operator reconstruct_surface_stereoreconstruct_surface_stereoReconstructSurfaceStereoReconstructSurfaceStereoReconstructSurfaceStereo erstellt.

'green'"green""green""green""green":

Der Grünkanal einer 3D-Punktmenge. Die Anzahl der hier zurückgegebenen Punkte kann mit 'num_points'"num_points""num_points""num_points""num_points" ermittelt werden. Dieses Attribut wird typischerweise mit dem Operator reconstruct_surface_stereoreconstruct_surface_stereoReconstructSurfaceStereoReconstructSurfaceStereoReconstructSurfaceStereo erstellt.

'blue'"blue""blue""blue""blue":

Der Blaukanal einer 3D-Punktmenge. Die Anzahl der hier zurückgegebenen Punkte kann mit 'num_points'"num_points""num_points""num_points""num_points" ermittelt werden. Dieses Attribut wird typischerweise mit dem Operator reconstruct_surface_stereoreconstruct_surface_stereoReconstructSurfaceStereoReconstructSurfaceStereoReconstructSurfaceStereo erstellt.

'mapping_row'"mapping_row""mapping_row""mapping_row""mapping_row":

Die Zeilenkomponenten der Zuordnung der 3D Punkte zu Bildkoordinaten. Die Anzahl der hier zurückgegebenen Punkte kann mit 'num_points'"num_points""num_points""num_points""num_points" ermittelt werden, die Höhe des Originalbildes mit 'mapping_size'"mapping_size""mapping_size""mapping_size""mapping_size". Dieses Attribut wird typischerweise mit dem Operator xyz_to_object_model_3dxyz_to_object_model_3dXyzToObjectModel3dXyzToObjectModel3dXyzToObjectModel3d erstellt.

'mapping_col'"mapping_col""mapping_col""mapping_col""mapping_col":

Die Spaltenkomponenten der Zuordnung der 3D Punkte zu Bildkoordinaten. Die Anzahl der hier zurückgegebenen Punkte kann mit 'num_points'"num_points""num_points""num_points""num_points" ermittelt werden, die Breite des Originalbildes mit 'mapping_size'"mapping_size""mapping_size""mapping_size""mapping_size". Dieses Attribut wird typischerweise mit dem Operator xyz_to_object_model_3dxyz_to_object_model_3dXyzToObjectModel3dXyzToObjectModel3dXyzToObjectModel3d erstellt.

'mapping_size'"mapping_size""mapping_size""mapping_size""mapping_size":

Die Größe des Originalbildes. Zurückgegeben wird ein Tupel mit den beiden Einträgen Breite und Höhe.

'triangles'"triangles""triangles""triangles""triangles":

Die Indizes der 3D Punkte, welche Dreiecke repräsentieren, in der folgenden Reihenfolge: Die ersten drei Rückgabewerte (Rückgabewert 0,1,2) stellen das erste Dreieck dar, die nächsten drei Rückgabewerte (Rückgabewerte 3,4,5) stellen das zweite Dreieck dar, usw. Alle Indizes entsprechen den Indizes der Koordinaten der 3D Punkte. Zugriff auf die Koordinaten der 3D Punkte ist mit dem generischen Parameter GenParamNameGenParamNameGenParamNameGenParamNamegenParamName mit den Werten 'point_coord_x'"point_coord_x""point_coord_x""point_coord_x""point_coord_x", 'point_coord_y'"point_coord_y""point_coord_y""point_coord_y""point_coord_y" und 'point_coord_z'"point_coord_z""point_coord_z""point_coord_z""point_coord_z" möglich. Die Anzahl der hier zurückgegebenen Dreiecke kann mit 'num_triangles'"num_triangles""num_triangles""num_triangles""num_triangles" ermittelt werden. Dieses Attribut wird typischerweise mit dem Operator triangulate_object_model_3dtriangulate_object_model_3dTriangulateObjectModel3dTriangulateObjectModel3dTriangulateObjectModel3d oder read_object_model_3dread_object_model_3dReadObjectModel3dReadObjectModel3dReadObjectModel3d erstellt.

'polygons'"polygons""polygons""polygons""polygons":

Die Indizes der 3D Punkte, welche Polygone repräsentieren, in der folgenden Reihenfolge: Der erste Rückgabewert enthält die Anzahl n der 3D Punkte des ersten Polygons. Die folgenden Rückgabewerte (Rückgabewerte 1,2,..,n) repräsentieren das erste Polygon. Der nächste Rückgabewert (Rückgabewert n+1) enthält die Anzahl m der 3D Punkte des zweiten Polygons. Die folgenden Rückgabewerte (Rückgabewerte n+2,n+3,..,n+1+m) repräsentieren das zweite Polygon, usw. Alle Indizes entsprechen den Indizes der Koordinaten der 3D Punkte. Zugriff auf die Koordinaten der 3D Punkte ist mit dem generischen Parameter GenParamNameGenParamNameGenParamNameGenParamNamegenParamName mit den Werten 'point_coord_x'"point_coord_x""point_coord_x""point_coord_x""point_coord_x", 'point_coord_y'"point_coord_y""point_coord_y""point_coord_y""point_coord_y" und 'point_coord_z'"point_coord_z""point_coord_z""point_coord_z""point_coord_z" möglich. Die Anzahl der hier zurückgegebenen Polygone kann mit 'num_polygons'"num_polygons""num_polygons""num_polygons""num_polygons" ermittelt werden. Dieses Attribut wird typischerweise mit dem Operator read_object_model_3dread_object_model_3dReadObjectModel3dReadObjectModel3dReadObjectModel3d erstellt.

'lines'"lines""lines""lines""lines":

Die Indizes der 3D Punkte, welche Linienzüge repräsentieren, in der folgenden Reihenfolge: Der erste Rückgabewert enthält die Anzahl n0 der 3D Punkte des ersten Linienzuges. Die folgenden Rückgabewerte (Rückgabewerte 1,2,..,n) repräsentieren den ersten Linienzug. Der nächste Rückgabewert (Rückgabewert n+1) enthält die Anzahl m der 3D Punkte des zweiten Linienzuges. Die folgenden Rückgabewerte (Rückgabewerte n+2,n+3,..,n+1+m) repräsentieren den zweiten Linienzug usw. Alle Indizes entsprechen den Indizes der Koordinaten der 3D Punkte. Zugriff auf die Koordinaten der 3D Punkte ist mit dem generischen Parameter GenParamNameGenParamNameGenParamNameGenParamNamegenParamName mit den Werten 'point_coord_x'"point_coord_x""point_coord_x""point_coord_x""point_coord_x", 'point_coord_y'"point_coord_y""point_coord_y""point_coord_y""point_coord_y" und 'point_coord_z'"point_coord_z""point_coord_z""point_coord_z""point_coord_z" möglich. Die Anzahl der hier zurückgegebenen Linien kann mit 'num_lines'"num_lines""num_lines""num_lines""num_lines" ermittelt werden. Dieses Attribut wird typischerweise mit dem Operator intersect_plane_object_model_3dintersect_plane_object_model_3dIntersectPlaneObjectModel3dIntersectPlaneObjectModel3dIntersectPlaneObjectModel3d erstellt.

'diameter_axis_aligned_bounding_box'"diameter_axis_aligned_bounding_box""diameter_axis_aligned_bounding_box""diameter_axis_aligned_bounding_box""diameter_axis_aligned_bounding_box":

Der Durchmesser der 3D Punktmenge, der durch die Länge der Diagonale des kleinsten umschließenden achsenparallelen Quaders (siehe Parameter 'bounding_box1'"bounding_box1""bounding_box1""bounding_box1""bounding_box1") definiert wird. Es wird hier ein Wert pro 3D-Objektmodell zurückgegeben.

'center'"center""center""center""center":

3D-Koordinaten des Mittelpunkts des kleinsten umschließenden achsenparallelen Quaders der 3D Punkte (siehe Parameter 'bounding_box1'"bounding_box1""bounding_box1""bounding_box1""bounding_box1"). Es werden hier drei Werte pro 3D-Objektmodell zurückgegeben. Handelt es sich um ein 3D-Primitiv ohne 3D-Koordinaten gilt folgendes:

Wenn der Typ des 3D-Primitivs ein Zylinder ist (siehe gen_cylinder_object_model_3dgen_cylinder_object_model_3dGenCylinderObjectModel3dGenCylinderObjectModel3dGenCylinderObjectModel3d) und Begrenzungen vorhanden sind, wird der Mittelpunkt zwischen den Begrenzungen zurückgegeben. Sind keine Begrenzungen vorhanden werden die Translationsparameter der Pose zurückgegeben.

Wenn der Typ des 3D-Primitivs eine Ebene ist (siehe gen_plane_object_model_3dgen_plane_object_model_3dGenPlaneObjectModel3dGenPlaneObjectModel3dGenPlaneObjectModel3d) und Begrenzungen vorhanden sind, wird der Schwerpunkt der Ebene aus den Begrenzungen berechnet. Sind keine Begrenzungen der Ebene vorhanden werden die Translationsparameter der Pose zurückgegeben.

Wenn der Typ des 3D-Primitivs eine Kugel oder ein Quader ist (siehe gen_sphere_object_model_3dgen_sphere_object_model_3dGenSphereObjectModel3dGenSphereObjectModel3dGenSphereObjectModel3d oder gen_box_object_model_3dgen_box_object_model_3dGenBoxObjectModel3dGenBoxObjectModel3dGenBoxObjectModel3d) wird der Mittelpunkt des Objektmodells zurückgegeben.

'original_point_indices'"original_point_indices""original_point_indices""original_point_indices""original_point_indices":

Indizes der 3D-Punkte in einem anderen 3D-Objekmodell (Länge kann mit 'num_points'"num_points""num_points""num_points""num_points" abgefragt werden). Typischerweise wird das Attribut von triangulate_object_model_3dtriangulate_object_model_3dTriangulateObjectModel3dTriangulateObjectModel3dTriangulateObjectModel3d generiert.

'primitive_type'"primitive_type""primitive_type""primitive_type""primitive_type":

Der Type des 3D-Primitivs (typischerweise generiert vom Operator fit_primitives_object_model_3dfit_primitives_object_model_3dFitPrimitivesObjectModel3dFitPrimitivesObjectModel3dFitPrimitivesObjectModel3d). Der Rückgabewert einer Kugel ist 'sphere'. Der Rückgabewert eines Zylinders ist 'cylinder'. Der Rückgabewert einer Ebene ist 'plane'. Der Rückgabewert eines Quaders ist 'box'. Es wird hier ein Wert pro 3D-Objektmodell zurückgegeben.

'primitive_parameter'"primitive_parameter""primitive_parameter""primitive_parameter""primitive_parameter":

Die Parameter des 3D-Primitivs (z.B. generiert vom Operator fit_primitives_object_model_3dfit_primitives_object_model_3dFitPrimitivesObjectModel3dFitPrimitivesObjectModel3dFitPrimitivesObjectModel3d). Je nach Typ werden vier bis zehn Werte pro 3D-Objektmodell zurückgegeben.

Wenn der Typ des 3D-Primitivs ein Zylinder ist (siehe gen_cylinder_object_model_3dgen_cylinder_object_model_3dGenCylinderObjectModel3dGenCylinderObjectModel3dGenCylinderObjectModel3d), sind die Rückgabewerte die (x-, y-, z-) Koordinaten des Mittelpunktes [x_center, y_center, z_center], die normierten (x-, y-, z-) Richtungen der Hauptachse des Zylinders [x_axis, y_axis, z_axis] und der Zylinderradius [radius]. Die Reihenfolge ist [x_center, y_center, z_center, x_axis, y_axis, z_axis, radius].

Wenn der Typ des 3D-Primitivs eine Kugel ist (siehe gen_sphere_object_model_3dgen_sphere_object_model_3dGenSphereObjectModel3dGenSphereObjectModel3dGenSphereObjectModel3d), sind die Rückgabewerte die (x-, y-, z-) Koordinaten des Mittelpunktes [x_center, y_center, z_center] und der Kugelradius [radius]. Die Reihenfolge ist [x_center, y_center, z_center, radius].

Wenn der Typ des 3D-Primitivs eine Ebene ist (siehe gen_plane_object_model_3dgen_plane_object_model_3dGenPlaneObjectModel3dGenPlaneObjectModel3dGenPlaneObjectModel3d), sind die Rückgabewerte die 4 Parameter der Hesseschen Normalform, d.h. der (x-, y-, z-) Einheitsnormalenvektor [x, y, z] und der orthogonale Abstand (d) der Ebene vom Ursprung des Koordinatensystems. Die Reihenfolge ist [x, y, z, d]. Das Vorzeichen des Abstands (d) legt die Seite der Ebene fest, auf welcher sich der Ursprung befindet.

Wenn der Typ des 3D-Primitivs ein Quader ist (siehe gen_box_object_model_3dgen_box_object_model_3dGenBoxObjectModel3dGenBoxObjectModel3dGenBoxObjectModel3d), sind die Rückgabewerte die 3D Pose (Verschiebung, Rotation, Rotationstyp) und die halben Kantenlängen (length1, length2, length3) des Quaders. length1 ist die Länge des Quaders entlang der x-Achse der angegebenen Pose. length2 ist die Länge des Quaders entlang der y-Achse der angegebenen Pose. length3 ist die Länge des Quaders entlang der z-Achse der angegebenen Pose. Die Reihenfolge ist [trans_x, trans_y, trans_z, rot_x, rot_y, rot_z, rot_type, length1, length2, length3]. Mehr Details zu 3D Posen und die entsprechenden Transformationsmatrizen sind im Operator create_posecreate_poseCreatePoseCreatePoseCreatePose zu finden.

'primitive_parameter_pose'"primitive_parameter_pose""primitive_parameter_pose""primitive_parameter_pose""primitive_parameter_pose":

Die Parameter des 3D-Primitivs in Form einer 3D Pose (typischerweise generiert vom Operator fit_primitives_object_model_3dfit_primitives_object_model_3dFitPrimitivesObjectModel3dFitPrimitivesObjectModel3dFitPrimitivesObjectModel3d). Für alle Typen von 3D-Primitiven sind die Rückgabewerte die 3D Pose (Verschiebung, Rotation, Rotationstyp). Mehr Details zu 3D Posen und die entsprechenden Transformationsmatrizen sind im Operator create_posecreate_poseCreatePoseCreatePoseCreatePose zu finden. Je nach Typ werden sieben bis zehn Werte pro 3D-Objektmodell zurückgegeben.

Wenn der Typ des 3D-Primitivs ein Zylinder ist (siehe gen_cylinder_object_model_3dgen_cylinder_object_model_3dGenCylinderObjectModel3dGenCylinderObjectModel3dGenCylinderObjectModel3d), wird zusätzlich der Zylinderradius [radius] zurückgegeben. Die Reihenfolge ist [trans_x, trans_y, trans_z, rot_x, rot_y, rot_z, rot_type, radius].

Wenn der Typ des 3D-Primitivs eine Kugel ist (siehe gen_sphere_object_model_3dgen_sphere_object_model_3dGenSphereObjectModel3dGenSphereObjectModel3dGenSphereObjectModel3d), wird zusätzlich der Kugelradius [radius] zurückgegeben. Die Reihenfolge ist [trans_x, trans_y, trans_z, rot_x, rot_y, rot_z, rot_type, radius].

Wenn der Typ des 3D-Primitivs eine Ebene ist (siehe gen_plane_object_model_3dgen_plane_object_model_3dGenPlaneObjectModel3dGenPlaneObjectModel3dGenPlaneObjectModel3d), ist die Reihenfolge [trans_x, trans_y, trans_z, rot_x, rot_y, rot_z, rot_type].

Wenn der Typ des 3D-Primitivs ein Quader ist (siehe gen_box_object_model_3dgen_box_object_model_3dGenBoxObjectModel3dGenBoxObjectModel3dGenBoxObjectModel3d), werden zusätzlich die halben Kantenlängen (length1, length2, length3) des Quaders zurückgegeben. length1 ist die Länge des Quaders entlang der x-Achse der angegebenen Pose. length2 ist die Länge des Quaders entlang der y-Achse der angegebenen Pose. length3 ist die Länge des Quaders entlang der z-Achse der angegebenen Pose. Die Reihenfolge ist [trans_x, trans_y, trans_z, rot_x, rot_y, rot_z, rot_type, length1, length2, length3].

'primitive_pose'"primitive_pose""primitive_pose""primitive_pose""primitive_pose":

Die Parameter des 3D-Primitivs in Form einer 3D Pose (typischerweise generiert vom Operator fit_primitives_object_model_3dfit_primitives_object_model_3dFitPrimitivesObjectModel3dFitPrimitivesObjectModel3dFitPrimitivesObjectModel3d). Für alle Typen von 3D-Primitiven sind die Rückgabewerte die 3D Pose (Verschiebung, Rotation, Rotationstyp). Mehr Details zu 3D Posen und die entsprechenden Transformationsmatrizen sind im Operator create_posecreate_poseCreatePoseCreatePoseCreatePose zu finden. Es werden sieben Werte pro 3D-Objektmodell zurückgegeben. Die Reihenfolge ist [trans_x, trans_y, trans_z, rot_x, rot_y, rot_z, rot_type].

'primitive_parameter_extension'"primitive_parameter_extension""primitive_parameter_extension""primitive_parameter_extension""primitive_parameter_extension":

Die Ausdehnung der 3D-Primitive vom Typ Zylinder und Ebene (typischerweise generiert vom Operator fit_primitives_object_model_3dfit_primitives_object_model_3dFitPrimitivesObjectModel3dFitPrimitivesObjectModel3dFitPrimitivesObjectModel3d). Die Anzahl der Attribute hängt vom Typ ab und kann mit 'num_primitive_parameter_extension'"num_primitive_parameter_extension""num_primitive_parameter_extension""num_primitive_parameter_extension""num_primitive_parameter_extension" abgefragt werden.

Wenn der Typ des 3D-Primitivs ein Zylinder ist (siehe gen_cylinder_object_model_3dgen_cylinder_object_model_3dGenCylinderObjectModel3dGenCylinderObjectModel3dGenCylinderObjectModel3d), sind die Rückgabewerte (MinExtent, MaxExtent) die Ausdehnung des Zylinders in Richtung der Rotationsachse. Diese Werte werden in der Reihenfolge [MinExtent, MaxExtent] zurückgegeben. MinExtent gibt die Länge des Zylinders entgegen der Richtung der Rotationsachse an. MaxExtent gibt die Länge des Zylinders entlang der Richtung der Rotationsachse an.

Wenn der Typ des 3D-Primitivs eine Ebene ist (generiert mit fit_primitives_object_model_3dfit_primitives_object_model_3dFitPrimitivesObjectModel3dFitPrimitivesObjectModel3dFitPrimitivesObjectModel3d), dann ist der Rückgabewert ein Tupel von koplanaren Punkten aus der gefitteten Ebene. Die Reihenfolge ist [x-Koordinate von Punkt 1, x-Koordinate von Punkt 2, x-Koordinate von Punkt 3, ...., y-Koordinate von Punkt 1, y-Koordinate von Punkt 2, x-Koordinate von Punkt 3, ....]. Die Koordinaten beschreiben die Stützstellen einer konvexen Hülle. Diese wird aus den Projektionen derjenigen Punkte auf die gefittete Ebene gebildet, die dem Ebenenfit Rechnung tragen. Wurde die Ebene mit gen_plane_object_model_3dgen_plane_object_model_3dGenPlaneObjectModel3dGenPlaneObjectModel3dGenPlaneObjectModel3d generiert, werden alle Punkte zurückgeliefert, die zum Generieren der Ebene benutzt wurden (XExtent, YExtent).

'primitive_rms'"primitive_rms""primitive_rms""primitive_rms""primitive_rms":

Der quadratische Restfehler des 3D-Primitivs (typischerweise generiert vom Operator fit_primitives_object_model_3dfit_primitives_object_model_3dFitPrimitivesObjectModel3dFitPrimitivesObjectModel3dFitPrimitivesObjectModel3d). Es wird hier ein Wert pro 3D-Objektmodell zurückgegeben.

'reference_point'"reference_point""reference_point""reference_point""reference_point":

3D-Koordinaten des Referenzpunktes des vorbereiteten 3D-Formmodells für das Matching. Der Referenzpunkt ist der Mittelpunkt des kleinsten umschließenden achsenparallelen Quaders (siehe Parameter 'bounding_box1'"bounding_box1""bounding_box1""bounding_box1""bounding_box1"). Es werden hier drei Werte pro 3D-Objektmodell zurückgegeben.

'bounding_box1'"bounding_box1""bounding_box1""bounding_box1""bounding_box1":

Kleinster umschließender achsenparalleler Quader in der Form (min_x, min_y, min_z, max_x, max_y, max_z). Es werden hier sechs Werte pro 3D-Objektmodell zurückgegeben.

'num_points'"num_points""num_points""num_points""num_points":

Die Anzahl der Punkte. Es wird hier ein Wert pro 3D-Objektmodell zurückgegeben.

'num_triangles'"num_triangles""num_triangles""num_triangles""num_triangles":

Die Anzahl der Oberflächendreiecke. Es wird hier ein Wert pro 3D-Objektmodell zurückgegeben.

'num_polygons'"num_polygons""num_polygons""num_polygons""num_polygons":

Die Anzahl der Oberflächen. Es wird hier ein Wert pro 3D-Objektmodell zurückgegeben.

'num_lines'"num_lines""num_lines""num_lines""num_lines":

Die Anzahl der Linienzüge. Es wird hier ein Wert pro 3D-Objektmodell zurückgegeben.

'num_primitive_parameter_extension'"num_primitive_parameter_extension""num_primitive_parameter_extension""num_primitive_parameter_extension""num_primitive_parameter_extension":

Die Anzahl der erweiterten Daten von 3D-Primitiven. Es wird hier ein Wert pro 3D-Objektmodell zurückgegeben.

'has_points'"has_points""has_points""has_points""has_points":

Das Vorhandensein von 3D Punkten. Es wird hier ein Wert pro 3D-Objektmodell zurückgegeben.

'has_point_normals'"has_point_normals""has_point_normals""has_point_normals""has_point_normals":

Das Vorhandensein von 3D Punktnormalen. Es wird hier ein Wert pro 3D-Objektmodell zurückgegeben.

'has_triangles'"has_triangles""has_triangles""has_triangles""has_triangles":

Das Vorhandensein von Oberflächendreiecken. Es wird hier ein Wert pro 3D-Objektmodell zurückgegeben.

'has_polygons'"has_polygons""has_polygons""has_polygons""has_polygons":

Das Vorhandensein von Oberflächen oder Polygonen. Es wird hier ein Wert pro 3D-Objektmodell zurückgegeben.

'has_lines'"has_lines""has_lines""has_lines""has_lines":

Das Vorhandensein von 3D Linienzügen. Es wird hier ein Wert pro 3D-Objektmodell zurückgegeben.

'has_xyz_mapping'"has_xyz_mapping""has_xyz_mapping""has_xyz_mapping""has_xyz_mapping":

Das Vorhandensein der Zuordnung der 3D Punkte zu Bildkoordinaten. Es wird hier ein Wert pro 3D-Objektmodell zurückgegeben.

'has_shape_based_matching_3d_data'"has_shape_based_matching_3d_data""has_shape_based_matching_3d_data""has_shape_based_matching_3d_data""has_shape_based_matching_3d_data":

Das Vorhandensein eines Formmodells für das formbasierte 3D-Matching. Es wird hier ein Wert pro 3D-Objektmodell zurückgegeben.

'has_distance_computation_data'"has_distance_computation_data""has_distance_computation_data""has_distance_computation_data""has_distance_computation_data":

Das Vorhandensein einer vorberechneten Datenstruktur für die 3D Abstandsbestimmung. Es wird hier ein Wert pro 3D-Objektmodell zurückgegeben. Die Datenstruktur kann mit dem Operator prepare_object_model_3dprepare_object_model_3dPrepareObjectModel3dPrepareObjectModel3dPrepareObjectModel3d erstellt werden. Sie wird von dem Operator distance_object_model_3ddistance_object_model_3dDistanceObjectModel3dDistanceObjectModel3dDistanceObjectModel3d verwendet.

'has_surface_based_matching_data'"has_surface_based_matching_data""has_surface_based_matching_data""has_surface_based_matching_data""has_surface_based_matching_data":

Das Vorhandensein von Daten für das oberflächenbasierte 3D-Matching. Es wird hier ein Wert pro 3D-Objektmodell zurückgegeben.

'has_segmentation_data'"has_segmentation_data""has_segmentation_data""has_segmentation_data""has_segmentation_data":

Das Vorhandensein von Daten für die 3D Segmentierung. Es wird hier ein Wert pro 3D-Objektmodell zurückgegeben.

'has_primitive_data'"has_primitive_data""has_primitive_data""has_primitive_data""has_primitive_data":

Das Vorhandensein eines 3D-Primitivs. Es wird hier ein Wert pro 3D-Objektmodell zurückgegeben.

'has_primitive_rms'"has_primitive_rms""has_primitive_rms""has_primitive_rms""has_primitive_rms":

Das Vorhandensein eines quadratischen Restfehlers eines 3D-Primitivs. Es wird hier ein Wert pro 3D-Objektmodell zurückgegeben.

'neighbor_distance'"neighbor_distance""neighbor_distance""neighbor_distance""neighbor_distance":
'neighbor_distance N'"neighbor_distance N""neighbor_distance N""neighbor_distance N""neighbor_distance N":

Für jeden Punkt der Abstand des N-ten Nachbarpunktes. N muss ein positiver Integer-Wert sein und ist standardmäßig 25. Für jeden Punkt werden die übrigen Punkte anhand ihres Abstands sortiert, und der Abstand des N-ten Punktes zurückgeliefert.

'num_neighbors X'"num_neighbors X""num_neighbors X""num_neighbors X""num_neighbors X":

Für jeden Punkt die Anzahl an Nachbarn mit einem Abstand von höchstens X.

'num_neighbors_fast X'"num_neighbors_fast X""num_neighbors_fast X""num_neighbors_fast X""num_neighbors_fast X":

Für jeden Punkt die ungefähre Anzahl an Nachbarn mit einem Abstand von höchstens X. Die Abstände werden mittels Voxeln approximiert, was üblicherweise schneller ist als die exakte Berechnung für 'num_neighbors'"num_neighbors""num_neighbors""num_neighbors""num_neighbors".

Erweiterte Attribute

Erweiterte Attribute sind Attribute mit benutzerdefinierten Namen und Daten. Sie werden mit dem Operator set_object_model_3d_attribset_object_model_3d_attribSetObjectModel3dAttribSetObjectModel3dAttribSetObjectModel3dAttrib erstellt. Zugegriffen werden kann auf die folgenden erweiterten Attribute und deren Metadaten:

'&attribute_name'"&attribute_name""&attribute_name""&attribute_name""&attribute_name":

Der benutzerdefinierte Name des erweiterten Attributs. Zu beachten dass der Name mit '&'"&""&""&""&", z.B., '&my_attrib'"&my_attrib""&my_attrib""&my_attrib""&my_attrib" beginnen muss. Die Daten der abgefragten erweiterten Attribute werden in GenParamValueGenParamValueGenParamValueGenParamValuegenParamValue zurückgegeben. Die Reihenfolge ist die gleiche wie die Reihenfolge der Attributnamen, die in GenParamNameGenParamNameGenParamNameGenParamNamegenParamName übergeben wird.

'extended_attribute_names'"extended_attribute_names""extended_attribute_names""extended_attribute_names""extended_attribute_names":

Die Namen aller erweiterten Attribute. Es wird hier pro erweitertem Attribut ein Wert zurückgegeben.

'extended_attribute_types'"extended_attribute_types""extended_attribute_types""extended_attribute_types""extended_attribute_types":

Die Typen aller erweiterten Attribute. Es wird hier pro erweitertem Attribut ein Wert zurückgegeben. Dabei sind die Ausgabewerte wie die ausgegebenen Namen der erweiterten Attribute geordnet.

'has_extended_attribute'"has_extended_attribute""has_extended_attribute""has_extended_attribute""has_extended_attribute":

Das Vorhandensein mindestens eines erweiterten Attributs. Es wird hier ein Wert pro 3D-Objektmodell zurückgegeben.

'num_extended_attribute'"num_extended_attribute""num_extended_attribute""num_extended_attribute""num_extended_attribute":

Die Anzahl der erweiterten Attribute. Es wird hier ein Wert pro 3D-Objektmodell zurückgegeben.

Ausführungsinformationen

Parameter

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

Handle der 3D-Objektmodelle.

GenParamNameGenParamNameGenParamNameGenParamNamegenParamName (input_control)  attribute.name-array HTupleHTupleHtuple (string) (string) (HString) (char*)

Namen der generischen Attribute, die für die 3D-Objektmodelle abgefragt werden soll.

Defaultwert: 'num_points' "num_points" "num_points" "num_points" "num_points"

Werteliste: 'blue'"blue""blue""blue""blue", 'bounding_box1'"bounding_box1""bounding_box1""bounding_box1""bounding_box1", 'center'"center""center""center""center", 'diameter_axis_aligned_bounding_box'"diameter_axis_aligned_bounding_box""diameter_axis_aligned_bounding_box""diameter_axis_aligned_bounding_box""diameter_axis_aligned_bounding_box", 'extended_attribute_names'"extended_attribute_names""extended_attribute_names""extended_attribute_names""extended_attribute_names", 'extended_attribute_types'"extended_attribute_types""extended_attribute_types""extended_attribute_types""extended_attribute_types", 'green'"green""green""green""green", 'has_distance_computation_data'"has_distance_computation_data""has_distance_computation_data""has_distance_computation_data""has_distance_computation_data", 'has_extended_attribute'"has_extended_attribute""has_extended_attribute""has_extended_attribute""has_extended_attribute", 'has_lines'"has_lines""has_lines""has_lines""has_lines", 'has_point_normals'"has_point_normals""has_point_normals""has_point_normals""has_point_normals", 'has_points'"has_points""has_points""has_points""has_points", 'has_polygons'"has_polygons""has_polygons""has_polygons""has_polygons", 'has_primitive_data'"has_primitive_data""has_primitive_data""has_primitive_data""has_primitive_data", 'has_primitive_rms'"has_primitive_rms""has_primitive_rms""has_primitive_rms""has_primitive_rms", 'has_segmentation_data'"has_segmentation_data""has_segmentation_data""has_segmentation_data""has_segmentation_data", 'has_shape_based_matching_3d_data'"has_shape_based_matching_3d_data""has_shape_based_matching_3d_data""has_shape_based_matching_3d_data""has_shape_based_matching_3d_data", 'has_surface_based_matching_data'"has_surface_based_matching_data""has_surface_based_matching_data""has_surface_based_matching_data""has_surface_based_matching_data", 'has_triangles'"has_triangles""has_triangles""has_triangles""has_triangles", 'has_xyz_mapping'"has_xyz_mapping""has_xyz_mapping""has_xyz_mapping""has_xyz_mapping", 'lines'"lines""lines""lines""lines", 'mapping_col'"mapping_col""mapping_col""mapping_col""mapping_col", 'mapping_row'"mapping_row""mapping_row""mapping_row""mapping_row", 'mapping_size'"mapping_size""mapping_size""mapping_size""mapping_size", 'neighbor_distance'"neighbor_distance""neighbor_distance""neighbor_distance""neighbor_distance", 'num_extended_attribute'"num_extended_attribute""num_extended_attribute""num_extended_attribute""num_extended_attribute", 'num_lines'"num_lines""num_lines""num_lines""num_lines", 'num_neighbors'"num_neighbors""num_neighbors""num_neighbors""num_neighbors", 'num_neighbors_fast'"num_neighbors_fast""num_neighbors_fast""num_neighbors_fast""num_neighbors_fast", 'num_points'"num_points""num_points""num_points""num_points", 'num_polygons'"num_polygons""num_polygons""num_polygons""num_polygons", 'num_primitive_parameter_extension'"num_primitive_parameter_extension""num_primitive_parameter_extension""num_primitive_parameter_extension""num_primitive_parameter_extension", 'num_triangles'"num_triangles""num_triangles""num_triangles""num_triangles", 'original_point_indices'"original_point_indices""original_point_indices""original_point_indices""original_point_indices", 'point_coord_x'"point_coord_x""point_coord_x""point_coord_x""point_coord_x", 'point_coord_y'"point_coord_y""point_coord_y""point_coord_y""point_coord_y", 'point_coord_z'"point_coord_z""point_coord_z""point_coord_z""point_coord_z", 'point_normal_x'"point_normal_x""point_normal_x""point_normal_x""point_normal_x", 'point_normal_y'"point_normal_y""point_normal_y""point_normal_y""point_normal_y", 'point_normal_z'"point_normal_z""point_normal_z""point_normal_z""point_normal_z", 'polygons'"polygons""polygons""polygons""polygons", 'primitive_parameter'"primitive_parameter""primitive_parameter""primitive_parameter""primitive_parameter", 'primitive_parameter_extension'"primitive_parameter_extension""primitive_parameter_extension""primitive_parameter_extension""primitive_parameter_extension", 'primitive_parameter_pose'"primitive_parameter_pose""primitive_parameter_pose""primitive_parameter_pose""primitive_parameter_pose", 'primitive_pose'"primitive_pose""primitive_pose""primitive_pose""primitive_pose", 'primitive_rms'"primitive_rms""primitive_rms""primitive_rms""primitive_rms", 'primitive_type'"primitive_type""primitive_type""primitive_type""primitive_type", 'red'"red""red""red""red", 'reference_point'"reference_point""reference_point""reference_point""reference_point", 'score'"score""score""score""score", 'triangles'"triangles""triangles""triangles""triangles"

GenParamValueGenParamValueGenParamValueGenParamValuegenParamValue (output_control)  attribute.value(-array) HTupleHTupleHtuple (string / integer / real) (string / int / long / double) (HString / Hlong / double) (char* / Hlong / double)

Werte des generischen Parameters.

Ergebnis

get_object_model_3d_paramsget_object_model_3d_paramsGetObjectModel3dParamsGetObjectModel3dParamsGetObjectModel3dParams liefert den Wert 2 (H_MSG_TRUE), falls die übergebenen Parameter korrekt sind. Ansonsten wird eine Fehlerbehandlung durchgeführt.

Vorgänger

read_object_model_3dread_object_model_3dReadObjectModel3dReadObjectModel3dReadObjectModel3d, xyz_to_object_model_3dxyz_to_object_model_3dXyzToObjectModel3dXyzToObjectModel3dXyzToObjectModel3d, prepare_object_model_3dprepare_object_model_3dPrepareObjectModel3dPrepareObjectModel3dPrepareObjectModel3d, sample_object_model_3dsample_object_model_3dSampleObjectModel3dSampleObjectModel3dSampleObjectModel3d, triangulate_object_model_3dtriangulate_object_model_3dTriangulateObjectModel3dTriangulateObjectModel3dTriangulateObjectModel3d, intersect_plane_object_model_3dintersect_plane_object_model_3dIntersectPlaneObjectModel3dIntersectPlaneObjectModel3dIntersectPlaneObjectModel3d, set_object_model_3d_attribset_object_model_3d_attribSetObjectModel3dAttribSetObjectModel3dAttribSetObjectModel3dAttrib, fit_primitives_object_model_3dfit_primitives_object_model_3dFitPrimitivesObjectModel3dFitPrimitivesObjectModel3dFitPrimitivesObjectModel3d, gen_plane_object_model_3dgen_plane_object_model_3dGenPlaneObjectModel3dGenPlaneObjectModel3dGenPlaneObjectModel3d, gen_sphere_object_model_3dgen_sphere_object_model_3dGenSphereObjectModel3dGenSphereObjectModel3dGenSphereObjectModel3d, gen_cylinder_object_model_3dgen_cylinder_object_model_3dGenCylinderObjectModel3dGenCylinderObjectModel3dGenCylinderObjectModel3d, gen_box_object_model_3dgen_box_object_model_3dGenBoxObjectModel3dGenBoxObjectModel3dGenBoxObjectModel3d, gen_sphere_object_model_3d_centergen_sphere_object_model_3d_centerGenSphereObjectModel3dCenterGenSphereObjectModel3dCenterGenSphereObjectModel3dCenter

Nachfolger

write_object_model_3dwrite_object_model_3dWriteObjectModel3dWriteObjectModel3dWriteObjectModel3d, clear_object_model_3dclear_object_model_3dClearObjectModel3dClearObjectModel3dClearObjectModel3d

Modul

3D Metrology