Name
disp_object_model_3dT_disp_object_model_3dDispObjectModel3ddisp_object_model_3dDispObjectModel3dDispObjectModel3d — Ausgeben von 3D Objektmodellen.
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
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)
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.
- Multithreading-Typ: reentrant (läuft parallel zu nicht-exklusiven Operatoren).
- Multithreading-Bereich: local (kann nur von dem Thread aufgerufen werden, in dem die Fenster-, Modell- oder Tool-Instanz erzeugt wurde).
- Wird ohne Parallelisierung verarbeitet.
Handle der 3D Objektmodelle.
Kameraparameter.
Parameteranzahl: CamParam == 0 || CamParam == 8 || CamParam == 12
Defaultwert: []
3D Posen der Objekte im Kamerakoordinatensystem.
Defaultwert: []
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"
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"
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.
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
get_disp_object_model_3d_infoget_disp_object_model_3d_infoGetDispObjectModel3dInfoget_disp_object_model_3d_infoGetDispObjectModel3dInfoGetDispObjectModel3dInfo
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
3D Metrology