KlassenKlassenKlassenKlassen | | | | Operatoren

disp_object_model_3dT_disp_object_model_3dDispObjectModel3ddisp_object_model_3dDispObjectModel3dDispObjectModel3d (Operator)

Name

disp_object_model_3dT_disp_object_model_3dDispObjectModel3ddisp_object_model_3dDispObjectModel3dDispObjectModel3d — Ausgeben von 3D Objektmodellen.

Signatur

disp_object_model_3d( : : WindowHandle, ObjectModel3D, CamParam, Pose, GenParamName, GenParamValue : )

Herror T_disp_object_model_3d(const Htuple WindowHandle, const Htuple ObjectModel3D, const Htuple CamParam, const Htuple Pose, const Htuple GenParamName, const Htuple GenParamValue)

Herror disp_object_model_3d(const HTuple& WindowHandle, const HTuple& ObjectModel3D, const HTuple& CamParam, const HTuple& Pose, const HTuple& GenParamName, const HTuple& GenParamValue)

void HObjectModel3D::DispObjectModel3d(const HTuple& WindowHandle, const HTuple& CamParam, const HTuple& Pose, const HTuple& GenParamName, const HTuple& GenParamValue) const

void DispObjectModel3d(const HTuple& WindowHandle, const HTuple& ObjectModel3D, const HTuple& CamParam, const HTuple& Pose, const HTuple& GenParamName, const HTuple& GenParamValue)

static void HObjectModel3D::DispObjectModel3d(const HWindow& WindowHandle, const HObjectModel3DArray& ObjectModel3D, const HTuple& CamParam, const HPoseArray& Pose, const HTuple& GenParamName, const HTuple& GenParamValue)

void HObjectModel3D::DispObjectModel3d(const HWindow& WindowHandle, const HTuple& CamParam, const HPose& Pose, const HString& GenParamName, const HString& GenParamValue) const

void HObjectModel3D::DispObjectModel3d(const HWindow& WindowHandle, const HTuple& CamParam, const HPose& Pose, const char* GenParamName, const char* GenParamValue) const

void HOperatorSetX.DispObjectModel3d(
[in] VARIANT WindowHandle, [in] VARIANT ObjectModel3D, [in] VARIANT CamParam, [in] VARIANT Pose, [in] VARIANT GenParamName, [in] VARIANT GenParamValue)

void HObjectModel3DX.DispObjectModel3d(
[in] IHWindowX* WindowHandle, [in] VARIANT CamParam, [in] VARIANT Pose, [in] VARIANT GenParamName, [in] VARIANT GenParamValue)

static void HOperatorSet.DispObjectModel3d(HTuple windowHandle, HTuple objectModel3D, HTuple camParam, HTuple pose, HTuple genParamName, HTuple genParamValue)

static void HObjectModel3D.DispObjectModel3d(HWindow windowHandle, HObjectModel3D[] objectModel3D, HTuple camParam, HPose[] pose, HTuple genParamName, HTuple genParamValue)

void HObjectModel3D.DispObjectModel3d(HWindow windowHandle, HTuple camParam, HPose pose, string genParamName, string genParamValue)

Beschreibung

disp_object_model_3ddisp_object_model_3dDispObjectModel3ddisp_object_model_3dDispObjectModel3dDispObjectModel3d zeigt die 3D Objektmodelle ObjectModel3DObjectModel3DObjectModel3DObjectModel3DObjectModel3DobjectModel3D im Fenster WindowHandleWindowHandleWindowHandleWindowHandleWindowHandlewindowHandle an. Die Szene wird über die Kameraparameter CamParamCamParamCamParamCamParamCamParamcamParam und die Posen (in PosePosePosePosePosepose) der 3D Objektmodelle definiert. Wird ein leeres Tupel für CamParamCamParamCamParamCamParamCamParamcamParam übergeben, verwendet disp_object_model_3ddisp_object_model_3dDispObjectModel3ddisp_object_model_3dDispObjectModel3dDispObjectModel3d Default-Kameraparameter, die auf der Fenstergröße beruhen. PosePosePosePosePosepose kann entweder eine Pose enthalten, die für alle 3D Objektmodelle gilt, oder eine individuelle Pose für jedes 3D Objektmodell. Wird ein leeres Tupel für PosePosePosePosePosepose übergeben, schätzt disp_object_model_3ddisp_object_model_3dDispObjectModel3ddisp_object_model_3dDispObjectModel3dDispObjectModel3d diese Parameter so, dass alle Objekte sichtbar sind.

3D Objektmodelle, die Dreiecke oder Polygone beinhalten, werden als geschlossene Körper dargestellt. 3D Objektmodelle, die nur Koordinaten enthalten, werden dagegen als Punktwolken visualisiert. 3D-Primitive (wie sie zum Beispiel von fit_primitives_object_model_3dfit_primitives_object_model_3dFitPrimitivesObjectModel3dfit_primitives_object_model_3dFitPrimitivesObjectModel3dFitPrimitivesObjectModel3d erzeugt werden), werden auch als geschlossene Körper dargestellt. Mit dem generischen Parameter 'attribute'"attribute""attribute""attribute""attribute""attribute" kann explizit die Art der Darstellung ausgewählt werden.

Um 3D Objektmodelle in ein Bild zu rendern, kann der Operator render_object_model_3drender_object_model_3dRenderObjectModel3drender_object_model_3dRenderObjectModel3dRenderObjectModel3d benutzt werden.

Mit GenParamNameGenParamNameGenParamNameGenParamNameGenParamNamegenParamName und GenParamValueGenParamValueGenParamValueGenParamValueGenParamValuegenParamValue können weitere Eigenschaften der Szene konfiguriert werden. Die folgenden Werte beeinflussen die gesamte Szene:

'disp_background'"disp_background""disp_background""disp_background""disp_background""disp_background":

Flag, ob der gegenwärtige Fensterinhalt als Hintergrund verwendet werden soll.

Werte: 'true' oder 'false'

Defaultwert: 'false'

'light_position'"light_position""light_position""light_position""light_position""light_position":

Position der Lichtquelle. Dieser Parameter muss als String mit vier Fließkommawerten (getrennt durch Leerzeichen) übergeben werden. Ist der vierte Wert 0.0, wird eine gerichtete Lichtquelle verwendet, wobei die ersten drei Werte die Richtung bestimmen. Ansonsten wird eine Punktlichtquelle verwendet, deren Position durch die ersten drei Werte bestimmt ist.

Defaultwert: '-100.0 -100.0 0.0 1.0'

'colored'"colored""colored""colored""colored""colored":

Darstellung von 3D Objektmodellen mit unterschiedlichen Farben. Der Wert dieses Parameters bestimmt die Anzahl der verwendeten Farben.

Werte: 3, 6 oder 12

Defaultwert: alle 3D Objektmodelle werden weiß dargestellt

'object_index_persistence'"object_index_persistence""object_index_persistence""object_index_persistence""object_index_persistence""object_index_persistence":

Muss auf 'true'"true""true""true""true""true" gesetzt werden, wenn der Objektindex mit get_disp_object_model_3d_infoget_disp_object_model_3d_infoGetDispObjectModel3dInfoget_disp_object_model_3d_infoGetDispObjectModel3dInfoGetDispObjectModel3dInfo abgefragt werden soll.

Werte: 'true' oder 'false'

Defaultwert: 'false'

'depth_persistence'"depth_persistence""depth_persistence""depth_persistence""depth_persistence""depth_persistence":

Muss auf 'true'"true""true""true""true""true" gesetzt werden, wenn die Tiefe mit get_disp_object_model_3d_infoget_disp_object_model_3d_infoGetDispObjectModel3dInfoget_disp_object_model_3d_infoGetDispObjectModel3dInfoGetDispObjectModel3dInfo abgefragt werden soll.

Werte: 'true' oder 'false'

Defaultwert: 'false'

'quality'"quality""quality""quality""quality""quality":

Kann auf 'low'"low""low""low""low""low" gesetzt werden um schnelleres Rendering ohne Antialiasing zu erzielen.

Werte: 'low' oder 'high'

Defaultwert: 'high'

Die folgenden Parameter können entweder für alle 3D Objektmodelle der Szene oder für ein einzelnes 3D Objektmodell gesetzt werden (indem der Index des 3D Objektmodells an den Parameternamen angehängt wird, z.B. 'color_0'"color_0""color_0""color_0""color_0""color_0").

'attribute'"attribute""attribute""attribute""attribute""attribute"

Wählt explizit die Art und Weise aus, wie ein 3D Objektmodell visualisiert wird.

Werte: 'auto', 'faces', 'primitive', 'points', 'lines'

Defaultwert: 'auto'

'color'"color""color""color""color""color":

Farbe des 3D Objektmodells. Die verfügbaren Farben können mit dem Operator query_colorquery_colorQueryColorquery_colorQueryColorQueryColor erfragt werden. Darüberhinaus kann die Farbe auch über ein RGB-Tripel in der Form '#rrggbb'"#rrggbb""#rrggbb""#rrggbb""#rrggbb""#rrggbb" gesetzt werden, wobei 'rr', 'gg' und 'bb' jeweils hexadezimale Zahlen zwischen '00' und 'ff' sind.

Werte: 'red', 'green', ...

Defaultwert: 'white'

'alpha'"alpha""alpha""alpha""alpha""alpha":

Transluzenz des 3D Objektmodells. Das Darstellen von 3D Objektmodellen mit Transluzenz kleiner 1.0 kann zu signifikant höherer Laufzeit führen.

Werte: Fließkommawerte zwischen 0.0 (transparent) und 1.0 (opak).

Defaultwert: 1.0

'disp_pose'"disp_pose""disp_pose""disp_pose""disp_pose""disp_pose":

Flag, ob die Pose des 3D Objektmodells visualisiert werden soll.

Werte: 'true' oder 'false'

Defaultwert: 'false'

'disp_lines'"disp_lines""disp_lines""disp_lines""disp_lines""disp_lines":

Flag, ob die Konturen der Polygone des 3D Objektmodells angezeigt werden sollen.

Werte: 'true' oder 'false'

Defaultwert: 'false'

'disp_normals'"disp_normals""disp_normals""disp_normals""disp_normals""disp_normals":

Flag, ob die Oberflächennormalen der Polygone des 3D Objektmodells angezeigt werden sollen.

Werte: 'true' oder 'false'

Defaultwert: 'false'

'line_color'"line_color""line_color""line_color""line_color""line_color":

Farbe der Konturen, falls 'disp_lines'"disp_lines""disp_lines""disp_lines""disp_lines""disp_lines" auf 'true'"true""true""true""true""true" gesetzt ist. Die verfügbaren Farben können mit dem Operator query_colorquery_colorQueryColorquery_colorQueryColorQueryColor erfragt werden. Darüberhinaus kann die Farbe auch über ein RGB-Tripel in der Form '#rrggbb'"#rrggbb""#rrggbb""#rrggbb""#rrggbb""#rrggbb" gesetzt werden, wobei 'rr', 'gg' und 'bb' jeweils hexadezimale Zahlen zwischen '00' und 'ff' sind.

Werte: 'red', 'green', ...

Defaultwert: Der Wert von 'color'"color""color""color""color""color"

'normal_color'"normal_color""normal_color""normal_color""normal_color""normal_color":

Farbe der Oberflächennormalen, falls 'disp_normals'"disp_normals""disp_normals""disp_normals""disp_normals""disp_normals" auf 'true'"true""true""true""true""true" gesetzt ist. Die verfügbaren Farben können mit dem Operator query_colorquery_colorQueryColorquery_colorQueryColorQueryColor erfragt werden. Darüberhinaus kann die Farbe auch über ein RGB-Tripel in der Form '#rrggbb'"#rrggbb""#rrggbb""#rrggbb""#rrggbb""#rrggbb" gesetzt werden, wobei 'rr', 'gg' und 'bb' jeweils hexadezimale Zahlen zwischen '00' und 'ff' sind.

Werte: 'red', 'green', ...

Defaultwert: Der Wert von 'color'"color""color""color""color""color"

'intensity'"intensity""intensity""intensity""intensity""intensity",'intensity_red'"intensity_red""intensity_red""intensity_red""intensity_red""intensity_red", 'intensity_green'"intensity_green""intensity_green""intensity_green""intensity_green""intensity_green",'intensity_blue'"intensity_blue""intensity_blue""intensity_blue""intensity_blue""intensity_blue":

Das Attribut das die Intensität der Punkte bzw. Polygone beschreibt. Das Minimum der Werte des Attributs wird auf eine Intensität von Null abgebildet, das Maximum auf volle Intensität. Ist 'lut'"lut""lut""lut""lut""lut" auf etwas anderes als 'default'"default""default""default""default""default" gesetzt, wird die Intensität als Eingabe für die LUT Funktion verwendet. Ansonsten wird die Intensität auf die mit dem Parameter 'color'"color""color""color""color""color" gesetzte Farbe multipliziert.

Werte: 'coord_x', 'coord_y', 'coord_z', 'normal_x', 'normal_y', 'normal_z', 'none' oder der Name eines erweiterten Attributs.

Defaultwert: 'none'

'lut'"lut""lut""lut""lut""lut":

Setzt die LUT, die die Intensität auf eine Farbe abbildet. In der Dokumentation von set_lutset_lutSetLutset_lutSetLutSetLut befindet sich eine Liste der verfügbaren LUTs. Ist 'lut'"lut""lut""lut""lut""lut" auf etwas anderes als 'default'"default""default""default""default""default" gesetzt, wird 'color'"color""color""color""color""color" ignoriert.

Defaultwert: 'default'

'point_size'"point_size""point_size""point_size""point_size""point_size":

Setzt den Durchmesser der Punkte.

Defaultwert: 3.5

Alle generischen Parameter werden von links nach rechts ausgewertet. Um beispielsweise die Farbe des ersten Objekts auf rot und die Farbe aller anderen Objekte auf grün zu setzen, muss GenParamNameGenParamNameGenParamNameGenParamNameGenParamNamegenParamName auf ['color','color_0']["color","color_0"]["color","color_0"]["color","color_0"]["color","color_0"]["color","color_0"] und GenParamValueGenParamValueGenParamValueGenParamValueGenParamValuegenParamValue auf ['green','red']["green","red"]["green","red"]["green","red"]["green","red"]["green","red"] gesetzt werden.

disp_object_model_3ddisp_object_model_3dDispObjectModel3ddisp_object_model_3dDispObjectModel3dDispObjectModel3d benötigt OpenGL 2.1, GLSL 1.2 und die OpenGL Extensions GL_EXT_framebuffer_object und GL_EXT_framebuffer_blit. Andernfalls wird automatisch der Kompatibilitätsmodus mit geringeren Anforderungen an OpenGL benutzt.

Bei Grafikkarten mit geringem Speicher können bei großer Auflösung des Renderfensters folgende Fehlermeldungen auftreten:

Low-Level Fehler: 'Incomplete attachment'

Unbehandelte Ausnahme: 'Benötigtes Framebuffer Objekt wird nicht unterstützt'

Lösungen:

Um die Anforderungen an den Speicher der Grafikkarte zu verringern, kann der Parameter 'quality'"quality""quality""quality""quality""quality" auf 'low'"low""low""low""low""low" gesetzt oder der Kompatibilitätsmodus verwendet werden.

Die Systemvariable (siehe set_systemset_systemSetSystemset_systemSetSystemSetSystem) 'opengl_compatibility_mode_enable'"opengl_compatibility_mode_enable""opengl_compatibility_mode_enable""opengl_compatibility_mode_enable""opengl_compatibility_mode_enable""opengl_compatibility_mode_enable" kann auf 'true'"true""true""true""true""true" gesetzt werden, um den Kompatibilitätsmodus permanent einzuschalten. Dieser Modus benötigt OpenGL 1.1.

Im Kompabilitätsmodus werden die Parameter 'object_index_persistence'"object_index_persistence""object_index_persistence""object_index_persistence""object_index_persistence""object_index_persistence", 'depth_persistence'"depth_persistence""depth_persistence""depth_persistence""depth_persistence""depth_persistence" und 'quality'"quality""quality""quality""quality""quality" nicht unterstützt.

Auf Linux Remote-Desktop wird 'disp_background'"disp_background""disp_background""disp_background""disp_background""disp_background" nicht unterstützt.

Parallelisierung

Parameter

WindowHandleWindowHandleWindowHandleWindowHandleWindowHandlewindowHandle (input_control)  window HWindow, HTupleHTupleHTupleHWindowX, VARIANTHtuple (integer) (IntPtr) (Hlong) (Hlong) (Hlong) (Hlong)

Fensteridentifikator.

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

Handle der 3D Objektmodelle.

CamParamCamParamCamParamCamParamCamParamcamParam (input_control)  number-array HTupleHTupleHTupleVARIANTHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong) (double / Hlong) (double / Hlong)

Kameraparameter.

Parameteranzahl: CamParam == 0 || CamParam == 8 || CamParam == 12

Defaultwert: []

PosePosePosePosePosepose (input_control)  pose(-array) HPose, HTupleHTupleHTupleHPoseX, VARIANTHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong) (double / Hlong) (double / Hlong)

3D Posen der Objekte im Kamerakoordinatensystem.

Defaultwert: []

GenParamNameGenParamNameGenParamNameGenParamNameGenParamNamegenParamName (input_control)  string(-array) HTupleHTupleHTupleVARIANTHtuple (string) (string) (HString) (char*) (BSTR) (char*)

Namen der generischen Parameter.

Defaultwert: []

Werteliste: 'alpha'"alpha""alpha""alpha""alpha""alpha", 'attribute'"attribute""attribute""attribute""attribute""attribute", 'color'"color""color""color""color""color", 'colored'"colored""colored""colored""colored""colored", 'compatibility_mode_enable'"compatibility_mode_enable""compatibility_mode_enable""compatibility_mode_enable""compatibility_mode_enable""compatibility_mode_enable", 'depth_persistence'"depth_persistence""depth_persistence""depth_persistence""depth_persistence""depth_persistence", 'disp_background'"disp_background""disp_background""disp_background""disp_background""disp_background", 'disp_lines'"disp_lines""disp_lines""disp_lines""disp_lines""disp_lines", 'disp_normals'"disp_normals""disp_normals""disp_normals""disp_normals""disp_normals", 'disp_pose'"disp_pose""disp_pose""disp_pose""disp_pose""disp_pose", 'intensity'"intensity""intensity""intensity""intensity""intensity", 'intensity_blue'"intensity_blue""intensity_blue""intensity_blue""intensity_blue""intensity_blue", 'intensity_green'"intensity_green""intensity_green""intensity_green""intensity_green""intensity_green", 'intensity_red'"intensity_red""intensity_red""intensity_red""intensity_red""intensity_red", 'light_position'"light_position""light_position""light_position""light_position""light_position", 'line_color'"line_color""line_color""line_color""line_color""line_color", 'lut'"lut""lut""lut""lut""lut", 'normal_color'"normal_color""normal_color""normal_color""normal_color""normal_color", 'object_index_persistence'"object_index_persistence""object_index_persistence""object_index_persistence""object_index_persistence""object_index_persistence", 'point_size'"point_size""point_size""point_size""point_size""point_size", 'quality'"quality""quality""quality""quality""quality"

GenParamValueGenParamValueGenParamValueGenParamValueGenParamValuegenParamValue (input_control)  string(-array) HTupleHTupleHTupleVARIANTHtuple (string / integer / real) (string / int / long / double) (HString / Hlong / double) (char* / Hlong / double) (BSTR / Hlong / double) (char* / Hlong / double)

Werte der generischen Parameter.

Defaultwert: []

Werteliste: 'auto'"auto""auto""auto""auto""auto", 'blue'"blue""blue""blue""blue""blue", 'coord_x'"coord_x""coord_x""coord_x""coord_x""coord_x", 'coord_y'"coord_y""coord_y""coord_y""coord_y""coord_y", 'coord_z'"coord_z""coord_z""coord_z""coord_z""coord_z", 'faces'"faces""faces""faces""faces""faces", 'false'"false""false""false""false""false", 'green'"green""green""green""green""green", 'lines'"lines""lines""lines""lines""lines", 'normal_x'"normal_x""normal_x""normal_x""normal_x""normal_x", 'normal_y'"normal_y""normal_y""normal_y""normal_y""normal_y", 'normal_z'"normal_z""normal_z""normal_z""normal_z""normal_z", 'points'"points""points""points""points""points", 'primitive'"primitive""primitive""primitive""primitive""primitive", 'red'"red""red""red""red""red", 'true'"true""true""true""true""true"

Ergebnis

disp_object_model_3ddisp_object_model_3dDispObjectModel3ddisp_object_model_3dDispObjectModel3dDispObjectModel3d liefert den Wert 2 (H_MSG_TRUE), falls die Parameter korrekt sind. Gegebenenfalls wird eine Fehlerbehandlung durchgeführt. Sollte das Rendering den verfügbaren Speicher der Grafikkarte überschreiten, wird die Fehlermeldung 5188 zurückgegeben.

Vorgänger

find_surface_modelfind_surface_modelFindSurfaceModelfind_surface_modelFindSurfaceModelFindSurfaceModel, fit_primitives_object_model_3dfit_primitives_object_model_3dFitPrimitivesObjectModel3dfit_primitives_object_model_3dFitPrimitivesObjectModel3dFitPrimitivesObjectModel3d, read_object_model_3dread_object_model_3dReadObjectModel3dread_object_model_3dReadObjectModel3dReadObjectModel3d, segment_object_model_3dsegment_object_model_3dSegmentObjectModel3dsegment_object_model_3dSegmentObjectModel3dSegmentObjectModel3d

Nachfolger

get_disp_object_model_3d_infoget_disp_object_model_3d_infoGetDispObjectModel3dInfoget_disp_object_model_3d_infoGetDispObjectModel3dInfoGetDispObjectModel3dInfo

Siehe auch

render_object_model_3drender_object_model_3dRenderObjectModel3drender_object_model_3dRenderObjectModel3dRenderObjectModel3d, project_object_model_3dproject_object_model_3dProjectObjectModel3dproject_object_model_3dProjectObjectModel3dProjectObjectModel3d, project_shape_model_3dproject_shape_model_3dProjectShapeModel3dproject_shape_model_3dProjectShapeModel3dProjectShapeModel3d, object_model_3d_to_xyzobject_model_3d_to_xyzObjectModel3dToXyzobject_model_3d_to_xyzObjectModel3dToXyzObjectModel3dToXyz

Modul

3D Metrology


KlassenKlassenKlassenKlassen | | | | Operatoren