KlassenKlassenKlassenKlassen | | | | Operatoren

get_object_model_3d_paramsget_object_model_3d_paramsGetObjectModel3dParamsget_object_model_3d_paramsGetObjectModel3dParamsGetObjectModel3dParams (Operator)

Name

get_object_model_3d_paramsget_object_model_3d_paramsGetObjectModel3dParamsget_object_model_3d_paramsGetObjectModel3dParamsGetObjectModel3dParams — Auslesen der Attribute von 3D-Objektmodellen.

Signatur

get_object_model_3d_params( : : ObjectModel3D, ParamName : ParamValue)

Herror get_object_model_3d_params(const Hlong ObjectModel3D, const char* ParamName, char* ParamValue)

Herror T_get_object_model_3d_params(const Htuple ObjectModel3D, const Htuple ParamName, Htuple* ParamValue)

Herror get_object_model_3d_params(const HTuple& ObjectModel3D, const HTuple& ParamName, char* ParamValue)

Herror get_object_model_3d_params(const HTuple& ObjectModel3D, const HTuple& ParamName, HTuple* ParamValue)

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

void GetObjectModel3dParams(const HTuple& ObjectModel3D, const HTuple& ParamName, HTuple* ParamValue)

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

HTuple HObjectModel3D::GetObjectModel3dParams(const HString& ParamName) const

HTuple HObjectModel3D::GetObjectModel3dParams(const char* ParamName) const

void HOperatorSetX.GetObjectModel3dParams(
[in] VARIANT ObjectModel3D, [in] VARIANT ParamName, [out] VARIANT* ParamValue)

VARIANT HObjectModel3DX.GetObjectModel3dParams([in] VARIANT ParamName)

static void HOperatorSet.GetObjectModel3dParams(HTuple objectModel3D, HTuple paramName, out HTuple paramValue)

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

HTuple HObjectModel3D.GetObjectModel3dParams(string paramName)

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_paramsGetObjectModel3dParamsget_object_model_3d_paramsGetObjectModel3dParamsGetObjectModel3dParams lassen sich Attribute und die Metadaten von 3D-Objektmodellen abfragen. Der Name des Attributes oder der Metadaten, welche abgefragt werden sollen, wird in ParamNameParamNameParamNameParamNameParamNameparamName übergeben, der korrespondierende Wert wird in ParamValueParamValueParamValueParamValueParamValueparamValue 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_paramsGetObjectModel3dParamsget_object_model_3d_paramsGetObjectModel3dParamsGetObjectModel3dParams 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. The Länge anderer Attribute hängt vom 3D-Objektmodell ab und kann abgefragt werden, indem der Parameter ParamNameParamNameParamNameParamNameParamNameparamName z.B. auf 'num_points'"num_points""num_points""num_points""num_points""num_points", 'num_triangles'"num_triangles""num_triangles""num_triangles""num_triangles""num_triangles", 'num_polygons'"num_polygons""num_polygons""num_polygons""num_polygons""num_polygons" oder 'num_lines'"num_lines""num_lines""num_lines""num_lines""num_lines" gesetzt wird. So läßt sich beispielsweise die Länge des Standardattributs 'point_coord_x'"point_coord_x""point_coord_x""point_coord_x""point_coord_x""point_coord_x" abfragen, indem ParamNameParamNameParamNameParamNameParamNameparamName auf 'num_points'"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""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""num_points" ermittelt werden. Dieses Attribut wird typischerweise mit dem Operator xyz_to_object_model_3dxyz_to_object_model_3dXyzToObjectModel3dxyz_to_object_model_3dXyzToObjectModel3dXyzToObjectModel3d oder read_object_model_3dread_object_model_3dReadObjectModel3dread_object_model_3dReadObjectModel3dReadObjectModel3d erstellt.

'point_coord_y'"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""num_points" ermittelt werden. Dieses Attribut wird typischerweise mit dem Operator xyz_to_object_model_3dxyz_to_object_model_3dXyzToObjectModel3dxyz_to_object_model_3dXyzToObjectModel3dXyzToObjectModel3d oder read_object_model_3dread_object_model_3dReadObjectModel3dread_object_model_3dReadObjectModel3dReadObjectModel3d erstellt.

'point_coord_z'"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""num_points" ermittelt werden. Dieses Attribut wird typischerweise mit dem Operator xyz_to_object_model_3dxyz_to_object_model_3dXyzToObjectModel3dxyz_to_object_model_3dXyzToObjectModel3dXyzToObjectModel3d oder read_object_model_3dread_object_model_3dReadObjectModel3dread_object_model_3dReadObjectModel3dReadObjectModel3d erstellt.

'point_normal_x'"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""num_points" ermittelt werden. Dieses Attribut wird typischerweise mit dem Operator smooth_object_model_3dsmooth_object_model_3dSmoothObjectModel3dsmooth_object_model_3dSmoothObjectModel3dSmoothObjectModel3d erstellt.

'point_normal_y'"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""num_points" ermittelt werden. Dieses Attribut wird typischerweise mit dem Operator smooth_object_model_3dsmooth_object_model_3dSmoothObjectModel3dsmooth_object_model_3dSmoothObjectModel3dSmoothObjectModel3d erstellt.

'point_normal_z'"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""num_points" ermittelt werden. Dieses Attribut wird typischerweise mit dem Operator smooth_object_model_3dsmooth_object_model_3dSmoothObjectModel3dsmooth_object_model_3dSmoothObjectModel3dSmoothObjectModel3d erstellt.

'mapping_row'"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""num_points" ermittelt werden. Dieses Attribut wird typischerweise mit dem Operator xyz_to_object_model_3dxyz_to_object_model_3dXyzToObjectModel3dxyz_to_object_model_3dXyzToObjectModel3dXyzToObjectModel3d erstellt.

'mapping_col'"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""num_points" ermittelt werden. Dieses Attribut wird typischerweise mit dem Operator xyz_to_object_model_3dxyz_to_object_model_3dXyzToObjectModel3dxyz_to_object_model_3dXyzToObjectModel3dXyzToObjectModel3d erstellt.

'triangles'"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 ParamNameParamNameParamNameParamNameParamNameparamName mit den Werten 'point_coord_x'"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_y" und 'point_coord_z'"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""num_triangles" ermittelt werden. Dieses Attribut wird typischerweise mit dem Operator triangulate_object_model_3dtriangulate_object_model_3dTriangulateObjectModel3dtriangulate_object_model_3dTriangulateObjectModel3dTriangulateObjectModel3d oder read_object_model_3dread_object_model_3dReadObjectModel3dread_object_model_3dReadObjectModel3dReadObjectModel3d erstellt.

'polygons'"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 ParamNameParamNameParamNameParamNameParamNameparamName mit den Werten 'point_coord_x'"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_y" und 'point_coord_z'"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""num_polygons" ermittelt werden. Dieses Attribut wird typischerweise mit dem Operator read_object_model_3dread_object_model_3dReadObjectModel3dread_object_model_3dReadObjectModel3dReadObjectModel3d erstellt.

'lines'"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 ParamNameParamNameParamNameParamNameParamNameparamName mit den Werten 'point_coord_x'"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_y" und 'point_coord_z'"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""num_lines" ermittelt werden. Dieses Attribut wird typischerweise mit dem Operator intersect_plane_object_model_3dintersect_plane_object_model_3dIntersectPlaneObjectModel3dintersect_plane_object_model_3dIntersectPlaneObjectModel3dIntersectPlaneObjectModel3d 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""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""bounding_box1") definiert wird. Es wird hier ein Wert pro 3D-Objektmodell zurückgegeben.

'center'"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""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_3dGenCylinderObjectModel3dgen_cylinder_object_model_3dGenCylinderObjectModel3dGenCylinderObjectModel3d) 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_3dGenPlaneObjectModel3dgen_plane_object_model_3dGenPlaneObjectModel3dGenPlaneObjectModel3d) 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_3dGenSphereObjectModel3dgen_sphere_object_model_3dGenSphereObjectModel3dGenSphereObjectModel3d oder gen_box_object_model_3dgen_box_object_model_3dGenBoxObjectModel3dgen_box_object_model_3dGenBoxObjectModel3dGenBoxObjectModel3d) wird der Mittelpunkt des Objektmodells zurückgegeben.

'primitive_type'"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_3dFitPrimitivesObjectModel3dfit_primitives_object_model_3dFitPrimitivesObjectModel3dFitPrimitivesObjectModel3d). 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""primitive_parameter":

Die Parameter des 3D-Primitivs (z.B. generiert vom Operator fit_primitives_object_model_3dfit_primitives_object_model_3dFitPrimitivesObjectModel3dfit_primitives_object_model_3dFitPrimitivesObjectModel3dFitPrimitivesObjectModel3d). 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_3dGenCylinderObjectModel3dgen_cylinder_object_model_3dGenCylinderObjectModel3dGenCylinderObjectModel3d), 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_3dGenSphereObjectModel3dgen_sphere_object_model_3dGenSphereObjectModel3dGenSphereObjectModel3d), 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_3dGenPlaneObjectModel3dgen_plane_object_model_3dGenPlaneObjectModel3dGenPlaneObjectModel3d), 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_3dGenBoxObjectModel3dgen_box_object_model_3dGenBoxObjectModel3dGenBoxObjectModel3d), 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_poseCreatePosecreate_poseCreatePoseCreatePose zu finden.

'primitive_parameter_pose'"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_3dFitPrimitivesObjectModel3dfit_primitives_object_model_3dFitPrimitivesObjectModel3dFitPrimitivesObjectModel3d). 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_poseCreatePosecreate_poseCreatePoseCreatePose 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_3dGenCylinderObjectModel3dgen_cylinder_object_model_3dGenCylinderObjectModel3dGenCylinderObjectModel3d), 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_3dGenSphereObjectModel3dgen_sphere_object_model_3dGenSphereObjectModel3dGenSphereObjectModel3d), 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_3dGenPlaneObjectModel3dgen_plane_object_model_3dGenPlaneObjectModel3dGenPlaneObjectModel3d), 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_3dGenBoxObjectModel3dgen_box_object_model_3dGenBoxObjectModel3dGenBoxObjectModel3d), 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""primitive_pose":

Die Parameter des 3D-Primitivs in Form einer 3D Pose (typischerweise generiert vom Operator fit_primitives_object_model_3dfit_primitives_object_model_3dFitPrimitivesObjectModel3dfit_primitives_object_model_3dFitPrimitivesObjectModel3dFitPrimitivesObjectModel3d). 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_poseCreatePosecreate_poseCreatePoseCreatePose 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""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_3dFitPrimitivesObjectModel3dfit_primitives_object_model_3dFitPrimitivesObjectModel3dFitPrimitivesObjectModel3d). 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""num_primitive_parameter_extension" abgefragt werden.

Wenn der Typ des 3D-Primitivs ein Zylinder ist (siehe gen_cylinder_object_model_3dgen_cylinder_object_model_3dGenCylinderObjectModel3dgen_cylinder_object_model_3dGenCylinderObjectModel3dGenCylinderObjectModel3d), 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 (siehe gen_plane_object_model_3dgen_plane_object_model_3dGenPlaneObjectModel3dgen_plane_object_model_3dGenPlaneObjectModel3dGenPlaneObjectModel3d), 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.

'primitive_rms'"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_3dFitPrimitivesObjectModel3dfit_primitives_object_model_3dFitPrimitivesObjectModel3dFitPrimitivesObjectModel3d). Es wird hier ein Wert pro 3D-Objektmodell zurückgegeben.

'reference_point'"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""bounding_box1"). Es werden hier drei Werte pro 3D-Objektmodell zurückgegeben.

'bounding_box1'"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""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""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""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""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""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""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""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""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""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""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""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""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""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_3dPrepareObjectModel3dprepare_object_model_3dPrepareObjectModel3dPrepareObjectModel3d erstellt werden. Sie wird von dem Operator distance_object_model_3ddistance_object_model_3dDistanceObjectModel3ddistance_object_model_3dDistanceObjectModel3dDistanceObjectModel3d 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""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""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""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""has_primitive_rms":

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

Erweiterte Attribute

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

'&attribute_name'"&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""&my_attrib" beginnen muss. Die Daten der abgefragten erweiterten Attribute werden in ParamValueParamValueParamValueParamValueParamValueparamValue zurückgegeben. Die Reihenfolge ist die gleiche wie die Reihenfolge der Attributnamen, die in ParamNameParamNameParamNameParamNameParamNameparamName übergeben wird.

'extended_attribute_names'"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.

'has_extended_attribute'"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""num_extended_attribute":

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

Parallelisierung

Parameter

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

Handle der 3D-Objektmodelle.

ParamNameParamNameParamNameParamNameParamNameparamName (input_control)  attribute.name(-array) HTupleHTupleHTupleVARIANTHtuple (string) (string) (HString) (char*) (BSTR) (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" "num_points"

Werteliste: 'bounding_box1'"bounding_box1""bounding_box1""bounding_box1""bounding_box1""bounding_box1", 'center'"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""diameter_axis_aligned_bounding_box", 'extended_attribute_names'"extended_attribute_names""extended_attribute_names""extended_attribute_names""extended_attribute_names""extended_attribute_names", 'has_distance_computation_data'"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_extended_attribute", 'has_lines'"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_point_normals", 'has_points'"has_points""has_points""has_points""has_points""has_points", 'has_polygons'"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_data", 'has_primitive_rms'"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_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_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_surface_based_matching_data", 'has_triangles'"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""has_xyz_mapping", 'lines'"lines""lines""lines""lines""lines", 'mapping_col'"mapping_col""mapping_col""mapping_col""mapping_col""mapping_col", 'mapping_row'"mapping_row""mapping_row""mapping_row""mapping_row""mapping_row", 'num_extended_attribute'"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_lines", 'num_points'"num_points""num_points""num_points""num_points""num_points", 'num_polygons'"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_primitive_parameter_extension", 'num_triangles'"num_triangles""num_triangles""num_triangles""num_triangles""num_triangles", 'point_coord_x'"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_y", 'point_coord_z'"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_x", 'point_normal_y'"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""point_normal_z", 'polygons'"polygons""polygons""polygons""polygons""polygons", 'primitive_parameter'"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_extension", 'primitive_parameter_pose'"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_pose", 'primitive_rms'"primitive_rms""primitive_rms""primitive_rms""primitive_rms""primitive_rms", 'primitive_type'"primitive_type""primitive_type""primitive_type""primitive_type""primitive_type", 'reference_point'"reference_point""reference_point""reference_point""reference_point""reference_point", 'triangles'"triangles""triangles""triangles""triangles""triangles"

ParamValueParamValueParamValueParamValueParamValueparamValue (output_control)  attribute.value(-array) HTupleHTupleHTupleVARIANTHtuple (string / integer / real) (string / int / long / double) (HString / Hlong / double) (char* / Hlong / double) (BSTR / Hlong / double) (char* / Hlong / double)

Werte des generischen Parameters.

Ergebnis

get_object_model_3d_paramsget_object_model_3d_paramsGetObjectModel3dParamsget_object_model_3d_paramsGetObjectModel3dParamsGetObjectModel3dParams 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_3dReadObjectModel3dread_object_model_3dReadObjectModel3dReadObjectModel3d, xyz_to_object_model_3dxyz_to_object_model_3dXyzToObjectModel3dxyz_to_object_model_3dXyzToObjectModel3dXyzToObjectModel3d, prepare_object_model_3dprepare_object_model_3dPrepareObjectModel3dprepare_object_model_3dPrepareObjectModel3dPrepareObjectModel3d, sample_object_model_3dsample_object_model_3dSampleObjectModel3dsample_object_model_3dSampleObjectModel3dSampleObjectModel3d, triangulate_object_model_3dtriangulate_object_model_3dTriangulateObjectModel3dtriangulate_object_model_3dTriangulateObjectModel3dTriangulateObjectModel3d, intersect_plane_object_model_3dintersect_plane_object_model_3dIntersectPlaneObjectModel3dintersect_plane_object_model_3dIntersectPlaneObjectModel3dIntersectPlaneObjectModel3d, set_object_model_3d_attribset_object_model_3d_attribSetObjectModel3dAttribset_object_model_3d_attribSetObjectModel3dAttribSetObjectModel3dAttrib, fit_primitives_object_model_3dfit_primitives_object_model_3dFitPrimitivesObjectModel3dfit_primitives_object_model_3dFitPrimitivesObjectModel3dFitPrimitivesObjectModel3d, gen_plane_object_model_3dgen_plane_object_model_3dGenPlaneObjectModel3dgen_plane_object_model_3dGenPlaneObjectModel3dGenPlaneObjectModel3d, gen_sphere_object_model_3dgen_sphere_object_model_3dGenSphereObjectModel3dgen_sphere_object_model_3dGenSphereObjectModel3dGenSphereObjectModel3d, gen_cylinder_object_model_3dgen_cylinder_object_model_3dGenCylinderObjectModel3dgen_cylinder_object_model_3dGenCylinderObjectModel3dGenCylinderObjectModel3d, gen_box_object_model_3dgen_box_object_model_3dGenBoxObjectModel3dgen_box_object_model_3dGenBoxObjectModel3dGenBoxObjectModel3d, gen_sphere_object_model_3d_centergen_sphere_object_model_3d_centerGenSphereObjectModel3dCentergen_sphere_object_model_3d_centerGenSphereObjectModel3dCenterGenSphereObjectModel3dCenter

Nachfolger

write_object_model_3dwrite_object_model_3dWriteObjectModel3dwrite_object_model_3dWriteObjectModel3dWriteObjectModel3d, clear_object_model_3dclear_object_model_3dClearObjectModel3dclear_object_model_3dClearObjectModel3dClearObjectModel3d

Modul

3D Metrology


KlassenKlassenKlassenKlassen | | | | Operatoren