add_scene_3d_labelT_add_scene_3d_labelAddScene3dLabelAddScene3dLabel (Operator)
Name
add_scene_3d_labelT_add_scene_3d_labelAddScene3dLabelAddScene3dLabel
— Hinzufügen eines Labels zu einer 3D-Szene.
Signatur
void AddScene3dLabel(const HTuple& Scene3D, const HTuple& Text, const HTuple& ReferencePoint, const HTuple& Position, const HTuple& RelatesTo, HTuple* LabelIndex)
Hlong HScene3D::AddScene3dLabel(const HTuple& Text, const HTuple& ReferencePoint, const HTuple& Position, const HTuple& RelatesTo) const
Hlong HScene3D::AddScene3dLabel(const HString& Text, const HTuple& ReferencePoint, const HTuple& Position, const HTuple& RelatesTo) const
Hlong HScene3D::AddScene3dLabel(const char* Text, const HTuple& ReferencePoint, const HTuple& Position, const HTuple& RelatesTo) const
Hlong HScene3D::AddScene3dLabel(const wchar_t* Text, const HTuple& ReferencePoint, const HTuple& Position, const HTuple& RelatesTo) const
(Nur Windows)
static void HOperatorSet.AddScene3dLabel(HTuple scene3D, HTuple text, HTuple referencePoint, HTuple position, HTuple relatesTo, out HTuple labelIndex)
int HScene3D.AddScene3dLabel(HTuple text, HTuple referencePoint, HTuple position, HTuple relatesTo)
int HScene3D.AddScene3dLabel(string text, HTuple referencePoint, HTuple position, HTuple relatesTo)
Beschreibung
add_scene_3d_labeladd_scene_3d_labelAddScene3dLabelAddScene3dLabelAddScene3dLabel
fügt ein Label mit dem Inhalt TextTextTextTexttext
zur 3D-Szene Scene3DScene3DScene3DScene3Dscene3D
hinzu und gibt den Index des Labels in
LabelIndexLabelIndexLabelIndexLabelIndexlabelIndex
zurück.
Der Bezugspunkt des Labels wird als [X,Y,Z]-Punkt im Koordinatensystem
der 3D-Szene in ReferencePointReferencePointReferencePointReferencePointreferencePoint
festgelegt. Es ist möglich, ein
Label ohne Bezugspunkt zu erzeugen, indem ein leeres Tupel übergeben wird.
Dies ist allerdings nur möglich, wenn RelatesToRelatesToRelatesToRelatesTorelatesTo
auf
'point'"point""point""point""point" gesetzt wird (siehe die Beschreibung von RelatesToRelatesToRelatesToRelatesTorelatesTo
weiter unten).
Werden mehrere Texte in TextTextTextTexttext
als Tupel übergeben, werden mehrere
Labels erzeugt.
Es ist möglich einen Bezugspunkt für alle Labels oder spezifische
Bezugspunkte für jedes Label festzulegen. Das gilt auch für
PositionPositionPositionPositionposition
und RelatesToRelatesToRelatesToRelatesTorelatesTo
.
Labels können fest in Fensterkoordinaten oder relativ zur Projektion
des Bezugspunktes positioniert werden. Dafür werden die beiden Parameter
PositionPositionPositionPositionposition
und RelatesToRelatesToRelatesToRelatesTorelatesTo
verwendet:
Feste Positionierung
Wird RelatesToRelatesToRelatesToRelatesTorelatesTo
auf 'window'"window""window""window""window" gesetzt, wird das Label
an einer festen Position im Fenster (bzw. gerenderten Bild) dargestellt,
auch wenn sich die Pose der 3D-Szene ändert.
Es gibt zwei Möglichkeiten, die Position festzulegen. Es können entweder
die [Zeile,Spalte]-Koordinaten der linken oberen Ecke des Labels in
PositionPositionPositionPositionposition
übergeben werden oder eine der folgenden vordefinierten
Positionen:
'top_left'"top_left""top_left""top_left""top_left" |
'top'"top""top""top""top" |
'top_right'"top_right""top_right""top_right""top_right" |
'left'"left""left""left""left" |
'center'"center""center""center""center" |
'right'"right""right""right""right" |
'bottom_left'"bottom_left""bottom_left""bottom_left""bottom_left" |
'bottom'"bottom""bottom""bottom""bottom" |
'bottom_right'"bottom_right""bottom_right""bottom_right""bottom_right"
|
Relative Positionierung
Wird RelatesToRelatesToRelatesToRelatesTorelatesTo
auf 'point'"point""point""point""point" gesetzt, wird das Label an
einer Position relativ zur Projektion des Bezugspunkts dargestellt. Auf
diese Weise bewegt sich das Label mit dem Bezugspunkt, wenn die Pose
der 3D-Szene geändert wird.
Es gibt wiederum zwei Möglichkeiten die Position festzulegen. Es kann
entweder der Offset (in [Zeile,Spalte]-Koordinaten) der linken oberen Ecke
des Labels oder eine der folgenden vordefinierten Positionen in
PositionPositionPositionPositionposition
übergeben werden:
'top_left'"top_left""top_left""top_left""top_left" |
'top'"top""top""top""top" |
'top_right'"top_right""top_right""top_right""top_right" |
'left'"left""left""left""left" |
'center'"center""center""center""center" |
'right'"right""right""right""right" |
'bottom_left'"bottom_left""bottom_left""bottom_left""bottom_left" |
'bottom'"bottom""bottom""bottom""bottom" |
'bottom_right'"bottom_right""bottom_right""bottom_right""bottom_right"
|
Mit set_scene_3d_label_paramset_scene_3d_label_paramSetScene3dLabelParamSetScene3dLabelParamSetScene3dLabelParam
können diese und andere Parameter
wie z.B. Farbe und Schriftart des Labels verändert werden.
Ausführungsinformationen
- Multithreading-Typ: reentrant (läuft parallel zu nicht-exklusiven Operatoren).
- Multithreading-Bereich: global (kann von jedem Thread aufgerufen werden).
- Wird ohne Parallelisierung verarbeitet.
Parameter
Scene3DScene3DScene3DScene3Dscene3D
(input_control) scene_3d →
HScene3D, HTupleHTupleHtuple (handle) (IntPtr) (HHandle) (handle)
Handle der 3D-Szene.
TextTextTextTexttext
(input_control) string(-array) →
HTupleHTupleHtuple (string) (string) (HString) (char*)
Text des Labels.
Defaultwert:
'label'
"label"
"label"
"label"
"label"
ReferencePointReferencePointReferencePointReferencePointreferencePoint
(input_control) point-array →
HTupleHTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)
Bezugspunkt des Labels.
Parameteranzahl: 3
PositionPositionPositionPositionposition
(input_control) point-array →
HTupleHTupleHtuple (string / real / integer) (string / double / int / long) (HString / double / Hlong) (char* / double / Hlong)
Position im Fenster
Defaultwert:
'top'
"top"
"top"
"top"
"top"
Werteliste: 'bottom'"bottom""bottom""bottom""bottom", 'bottom_left'"bottom_left""bottom_left""bottom_left""bottom_left", 'bottom_right'"bottom_right""bottom_right""bottom_right""bottom_right", 'center'"center""center""center""center", 'left'"left""left""left""left", 'right'"right""right""right""right", 'top'"top""top""top""top", 'top_left'"top_left""top_left""top_left""top_left", 'top_right'"top_right""top_right""top_right""top_right"
RelatesToRelatesToRelatesToRelatesTorelatesTo
(input_control) string-array →
HTupleHTupleHtuple (string) (string) (HString) (char*)
Feste oder relative Positionierung
Parameteranzahl: 1
Defaultwert:
'point'
"point"
"point"
"point"
"point"
Werteliste: 'point'"point""point""point""point", 'window'"window""window""window""window"
LabelIndexLabelIndexLabelIndexLabelIndexlabelIndex
(output_control) integer →
HTupleHTupleHtuple (integer) (int / long) (Hlong) (Hlong)
Index des neuen Labels in der 3D-Szene.
Ergebnis
Sind die Parameterwerte korrekt, dann liefert add_scene_3d_labeladd_scene_3d_labelAddScene3dLabelAddScene3dLabelAddScene3dLabel
den Wert 2 (H_MSG_TRUE). Gegebenenfalls wird eine Fehlerbehandlung durchgeführt.
Vorgänger
create_scene_3dcreate_scene_3dCreateScene3dCreateScene3dCreateScene3d
Nachfolger
set_scene_3d_label_paramset_scene_3d_label_paramSetScene3dLabelParamSetScene3dLabelParamSetScene3dLabelParam
Siehe auch
remove_scene_3d_instanceremove_scene_3d_instanceRemoveScene3dInstanceRemoveScene3dInstanceRemoveScene3dInstance
Modul
3D Metrology