Draw3D
- Abhängigkeiten
- Ikarus
- PermMem
- HookEngine
- Beispiele
- Draw3D
- Initialisierung
LeGo_Init(LeGo_Draw3D)
Dieses Paket ermöglicht das Zeichnen von verschiedenen Formen (wie Linien oder Boundingboxen) im dreidimensionalen Raum. Damit sind Debugging-Visualisierungen von Koordinaten in der Welt möglich.
- Inhaltsverzeichnis
- 1Line
- 1.1DrawLine
- 1.2DrawLine3
- 1.3DrawLineAddr
- 1.4UpdateLine
- 1.5UpdateLine3
- 1.6UpdateLineAddr
- 1.7SetLineColor
- 1.8EraseLine
- 1.9LineVisible
- 1.10ShowLine
- 1.11HideLine
- 1.12ToggleLine
- 2Sphere
- 2.1DrawSphere
- 2.2DrawSphere3
- 2.3DrawSphereAddr
- 2.4UpdateSphere
- 2.5UpdateSphere3
- 2.6UpdateSphereAddr
- 2.7SetSphereColor
- 2.8EraseSphere
- 2.9SphereVisible
- 2.10ShowSphere
- 2.11HideSphere
- 2.12ToggleSphere
- 3Bounding Box
- 3.1DrawBBox
- 3.2DrawBBox3
- 3.3DrawBBoxAddr
- 3.4UpdateBBox
- 3.5UpdateBBox3
- 3.6UpdateBBoxAddr
- 3.7SetBBoxColor
- 3.8EraseBBox
- 3.9BBoxVisible
- 3.10ShowBBox
- 3.11HideBBox
- 3.12ToggleBBox
- 4Oriented Bounding Box
- 4.1DrawOBBoxAddr
- 4.2UpdateOBBoxAddr
- 4.3SetOBBoxColor
- 4.4EraseOBBox
- 4.5OBBoxVisible
- 4.6ShowOBBox
- 4.7HideOBBox
- 4.8ToggleOBBox
- 5EraseAll
Line
DrawLine
Erstellt und zeichnet eine neue Linie und gibt deren Handle zurück.int DrawLine(int startPosPtr, int endPosPtr, int color)
- startPosPtr : Zeiger auf ein Integerfloat-Array mit Weltkoordinaten von Punkt 1 der Linie (startPos[3])
- endPosPtr : Zeiger auf ein Integerfloat-Array mit Weltkoordinaten von Punkt 2 der Linie (endPos[3])
- color : Farbe der Linie als zCOLOR
- return : Neues PermMem-Handle auf die Linie
DrawLine3
Alias zu DrawLine, der die Koordinaten einzeln erwartet.int DrawLine3(int x1, int y1, int z1, int x2, int y2, int z2, int color)
- x1, y1, z1 : Weltkoordinaten von Punkt 1 der Linie
- x2, y2, z2 : Weltkoordinaten von Punkt 2 der Linie
- color : Farbe der Linie als zCOLOR
- return : Neues PermMem-Handle auf die Linie
DrawLineAddr
Alias zu DrawLine, der die Adresse einer Linie erwartet.int DrawLineAddr(int linePtr, int color)
- linePtr : Zeiger auf eine Integerfloat-Array mit sechs Werten (startAndEndPos[6])
- color : Farbe der Linie als zCOLOR
- return : Neues PermMem-Handle auf die Linie
UpdateLine
Ändert die Koordinaten einer bestehenden Line anhand ihres Handles.void UpdateLine(int hndl, int startPosPtr, int endPosPtr)
- hndl : Handle von DrawLine
- startPosPtr : Zeiger auf ein Integerfloat-Array mit Weltkoordinaten von Punkt 1 der Linie (startPos[3])
- endPosPtr : Zeiger auf ein Integerfloat-Array mit Weltkoordinaten von Punkt 2 der Linie (endPos[3])
UpdateLine3
Alias zu UpdateLine, der die Koordinaten einzeln erwartet.void UpdateLine3(int hndl, int x1, int y1, int z1, int x2, int y2, int z2)
- hndl : Handle von DrawLine
- x1, y1, z1 : Weltkoordinaten von Punkt 1 der Linie
- x2, y2, z2 : Weltkoordinaten von Punkt 2 der Linie
UpdateLineAddr
Alias zu UpdateLine, der die Adresse einer Linie erwartet.void UpdateLineAddr(int hndl, int linePtr)
- hndl : Handle von DrawLine
- linePtr : Zeiger auf eine Integerfloat-Array mit sechs Werten (startAndEndPos[6])
SetLineColor
Ändert die Farbe einer Linie anhand ihres Handles.void SetLineColor(int hndl, int color)
- hndl : Handle von DrawLine
- color : Farbe der Linie als zCOLOR
EraseLine
Löscht eine Linie aus der Welt sowie das Handle.void EraseLine(int hndl)
- hndl : Handle von DrawLine
LineVisible
Gibt zurück, ob eine Linie sichtbar ist.int LineVisible(int hndl)
- hndl : Handle von DrawLine
- return : true falls angezeigt, false sonst.
ShowLine
Zeigt die Linie an.void ShowLine(int hndl)
- hndl : Handle von DrawLine
HideLine
Macht die Linie unsichtbar.void HideLine(int hndl)
- hndl : Handle von DrawLine
ToggleLine
Ändert die Sichtbarkeit einer Linie.void ToggleLine(int hndl)
- hndl : Handle von DrawLine
Sphere
DrawSphere
Erstellt und zeichnet eine neue Kugel (visualisiert als Kreis) und gibt deren Handle zurück.int DrawSphere(int centerPosPtr, int radius, int color)
- centerPosPtr : Zeiger auf ein Integerfloat-Array mit Weltkoordinaten vom Mittelpunkt der Kugel (centerPos[3])
- radius : Kugelradius als Integerfloat
- color : Farbe der Kugel als zCOLOR
- return : Neues PermMem-Handle auf die Kugel
DrawSphere3
Alias zu DrawSphere, der die Koordinaten einzeln erwartet.int DrawSphere3(int x1, int y1, int z1, int radius int color)
- x1, y1, z1 : Weltkoordinaten vom Mittelpunkt der Kugel
- radius : Kugelradius als Integerfloat
- color : Farbe der Kugel als zCOLOR
- return : Neues PermMem-Handle auf die Kugel
DrawSphereAddr
Alias zu DrawSphere, der die Adresse einer Kugel erwartet.int DrawSphereAddr(int spherePtr, int color)
- spherePtr : Zeiger auf eine zTBSphere3D
- color : Farbe der Kugel als zCOLOR
- return : Neues PermMem-Handle auf die Kugel
UpdateSphere
Ändert die Koordinaten und/oder die Größe einer bestehenden Kugel anhand ihres Handles.void UpdateSphere(int hndl, int centerPosPtr, int radius)
- hndl : Handle von DrawSphere
- centerPosPtr : Zeiger auf ein Integerfloat-Array mit Weltkoordinaten vom Mittelpunkt der Kugel (centerPos[3])
- radius : Kugelradius als Integerfloat
UpdateSphere3
Alias zu UpdateSphere, der die Koordinaten einzeln erwartet.void UpdateSphere3(int hndl, int x1, int y1, int z1, int radius)
- hndl : Handle von DrawSphere
- x1, y1, z1 : Weltkoordinaten vom Mittelpunkt der Kugel
- radius : Kugelradius als Integerfloat
UpdateSphereAddr
Alias zu UpdateSphere, der die Adresse einer Kugel erwartet.void UpdateSphereAddr(int hndl, int spherePtr)
- hndl : Handle von DrawSphere
- spherePtr : Zeiger auf eine zTBSphere3D
SetSphereColor
Ändert die Farbe einer Kugel anhand ihres Handles.void SetSphereColor(int hndl, int color)
- hndl : Handle von DrawSphere
- color : Farbe der Kugel als zCOLOR
EraseSphere
Löscht eine Kugel aus der Welt sowie das Handle.void EraseSphere(int hndl)
- hndl : Handle von DrawSphere
SphereVisible
Gibt zurück, ob eine Kugel sichtbar ist.int SphereVisible(int hndl)
- hndl : Handle von DrawSphere
- return : true falls angezeigt, false sonst.
ShowSphere
Zeigt die Kugel an.void ShowSphere(int hndl)
- hndl : Handle von DrawSphere
HideSphere
Macht die Kugel unsichtbar.void HideSphere(int hndl)
- hndl : Handle von DrawSphere
ToggleSphere
Ändert die Sichtbarkeit einer Kugel.void ToggleSphere(int hndl)
- hndl : Handle von DrawSphere
Bounding Box
DrawBBox
Erstellt und zeichnet eine neue Boundingbox und gibt deren Handle zurück.int DrawBBox(int startPosPtr, int endPosPtr, int color)
- startPosPtr : Zeiger auf ein Integerfloat-Array mit Weltkoordinaten von Punkt 1 der Boundingbox (startPos[3])
- endPosPtr : Zeiger auf ein Integerfloat-Array mit Weltkoordinaten von Punkt 2 der Boundingbox (endPos[3])
- color : Farbe der Boundingbox als zCOLOR
- return : Neues PermMem-Handle auf die Boundingbox
DrawBBox3
Alias zu DrawBBox, der die Koordinaten einzeln erwartet.int DrawBBox3(int x1, int y1, int z1, int x2, int y2, int z2, int color)
- x1, y1, z1 : Weltkoordinaten von Punkt 1 der Boundingbox
- x2, y2, z2 : Weltkoordinaten von Punkt 2 der Boundingbox
- color : Farbe der Boundingbox als zCOLOR
- return : Neues PermMem-Handle auf die Boundingbox
DrawBBoxAddr
Alias zu DrawBBox, der die Adresse einer Boundingbox erwartet.int DrawBBoxAddr(int bboxPtr, int color)
- bboxPtr : Zeiger auf eine Integerfloat-Array mit sechs Werten (startAndEndPos[6])
- color : Farbe der Boundingbox als zCOLOR
- return : Neues PermMem-Handle auf die Boundingbox
UpdateBBox
Ändert die Koordinaten einer bestehenden Boundingbox anhand ihres Handles.void UpdateBBox(int hndl, int startPosPtr, int endPosPtr)
- hndl : Handle von DrawBBox
- startPosPtr : Zeiger auf ein Integerfloat-Array mit Weltkoordinaten von Punkt 1 der Boundingbox (startPos[3])
- endPosPtr : Zeiger auf ein Integerfloat-Array mit Weltkoordinaten von Punkt 2 der Boundingbox (endPos[3])
UpdateBBox3
Alias zu UpdateBBox, der die Koordinaten einzeln erwartet.void UpdateBBox3(int hndl, int x1, int y1, int z1, int x2, int y2, int z2)
- hndl : Handle von DrawBBox
- x1, y1, z1 : Weltkoordinaten von Punkt 1 der Boundingbox
- x2, y2, z2 : Weltkoordinaten von Punkt 2 der Boundingbox
UpdateBBoxAddr
Alias zu UpdateBBox, der die Adresse einer Boundingbox erwartet.void UpdateBBoxAddr(int hndl, int bboxPtr)
- hndl : Handle von DrawBBox
- bboxPtr : Zeiger auf eine Integerfloat-Array mit sechs Werten (startAndEndPos[6])
SetBBoxColor
Ändert die Farbe einer Boundingbox anhand ihres Handles.void SetBBoxColor(int hndl, int color)
- hndl : Handle von DrawBBox
- color : Farbe der Boundingbox als zCOLOR
EraseBBox
Löscht eine Boundingbox aus der Welt sowie das Handle.void EraseBBox(int hndl)
- hndl : Handle von DrawBBox
BBoxVisible
Gibt zurück, ob eine Boundingbox sichtbar ist.int BBoxVisible(int hndl)
- hndl : Handle von DrawBBox
- return : true falls angezeigt, false sonst.
ShowBBox
Zeigt die Boundingbox an.void ShowBBox(int hndl)
- hndl : Handle von DrawBBox
HideBBox
Macht die Boundingbox unsichtbar.void HideBBox(int hndl)
- hndl : Handle von DrawBBox
ToggleBBox
Ändert die Sichtbarkeit einer Boundingbox.void ToggleBBox(int hndl)
- hndl : Handle von DrawBBox
Oriented Bounding Box
DrawOBBoxAddr
Erstellt und zeichnet eine neue orientierte Boundingbox anhand der Adresse einer orientierte Boundingbox und deren Handle zurück.int DrawOBBoxAddr(int oBBoxPtr, int color)
- oBBoxPtr : Zeiger auf eine zCOBBox3D
- color : Farbe der orientierte Boundingbox als zCOLOR
- return : Neues PermMem-Handle auf die orientierte Boundingbox
UpdateOBBoxAddr
Ändert die Koordinaten und Ausrichtung einer bestehenden orientierten Boundingbox anhand ihres Handles.void UpdateOBBoxAddr(int hndl, int oBBoxPtr)
- hndl : Handle von DrawOBBoxAddr
- oBBoxPtr : Zeiger auf eine zCOBBox3D
SetOBBoxColor
Ändert die Farbe einer orientierten Boundingbox anhand ihres Handles.void SetOBBoxColor(int hndl, int color)
- hndl : Handle von DrawOBBox
- color : Farbe der orientierten Boundingbox als zCOLOR
EraseOBBox
Löscht eine orientierte Boundingbox aus der Welt sowie das Handle.void EraseOBBox(int hndl)
- hndl : Handle von DrawOBBoxAddr
OBBoxVisible
Gibt zurück, ob eine orientierte Boundingbox sichtbar ist.int OBBoxVisible(int hndl)
- hndl : Handle von DrawOBBoxAddr
- return : true falls angezeigt, false sonst.
ShowOBBox
Zeigt die orientierte Boundingbox an.void ShowOBBox(int hndl)
- hndl : Handle von DrawOBBoxAddr
HideOBBox
Macht die orientierte Boundingbox unsichtbar.void HideOBBox(int hndl)
- hndl : Handle von DrawOBBoxAddr
ToggleOBBox
Ändert die Sichtbarkeit einer orientierte Boundingbox.void ToggleOBBox(int hndl)
- hndl : Handle von DrawOBBoxAddr
EraseAll
Löscht alle Draw-Elemente und deren Handles.void EraseAll()