Package GLOOP
Class GLKamera
java.lang.Object
GLOOP.GLKamera
- Direct Known Subclasses:
GLSchwenkkamera
GLOOP (Graphics Library for object oriented programming)
- Version:
- 4.30 (Dezember 2022)
- Author:
- (Copyright) Volker Quade, volker.e.quade@gmail.com
-
Field Summary
FieldsModifier and TypeFieldDescription(package private) com.jogamp.opengl.util.Animator
(package private) float[]
(package private) GLRenderer
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoid
an()
Die Kamera wird eingeschaltet und erzeugt Bilder der Szene.void
aus()
Die Kamera wird ausgeschaltet.void
Ist die Kamera aus, kann mit diesem Befehl ein einzelnes Bild erstellt werden.double
Gibt die X-Komponente des Blickpunktes der Kamera zurueck.double
Gibt die Y-Komponente des Blickpunktes der Kamera zurueck.double
Gibt die Z-Komponente des Blickpunktes der Kamera zurueck.int
Liefert die Breite des Kamerafensters.gibFrame()
int
gibHoehe()
Liefert die Hoehe des Kamerafensters.Liefert die Scheitelrichtung der Kamera als normierten Vektor.double
gibX()
Gibt die X-Koordinate der Position der Kamera zurueck.double
gibY()
Gibt die Y-Koordinate der Position der Kamera zurueck.double
gibZ()
Gibt die Z-Koordinate der Position der Kamera zurueck.void
loesche()
Entfernt die Kamera und schliesst das entsprechende Fenster.void
rotiere
(double pWinkel, double pNX, double pNY, double pNZ, double pRX, double pRY, double pRZ) Rotiert die Kamera um die angegebene Achse im Raum.void
void
schwenkeHorizontal
(double pWinkel) Dreht die Kamera in der Art eines Horizontalschwenks (links/rechts) um den Winkel pWinkel.void
schwenkeVertikal
(double pWinkel) Dreht die Kamera in der Art eines Vertikalschwenks (oben/unten) um den Winkel pWinkel.void
setzeAugendistanz
(double pAugendistanz) Setzt die Distanz zwischen den beiden Augen des Betrachters.void
setzeBlickpunkt
(double pX, double pY, double pZ) Setzt den Blickpunkt der Kamera auf den Punkt (pX, pY, pZ).void
setzeBlickpunkt
(GLVektor pPunkt) void
setzeFensterposition
(int pX, int pY) Setzt die Position des Fensters auf dem Bildschirm.void
setzePosition
(double pX, double pY, double pZ) Setzt die Position der Kamera auf den Punkt (pX, pY, pZ).void
setzePosition
(GLVektor pPos) void
setzeScheitelrichtung
(double pX, double pY, double pZ) Setzt die Scheitelrichtung der Kamera auf den Punkt (pX, pY, pZ).void
setzeScheitelrichtung
(GLVektor pRich) void
setzeStereomodus
(boolean pM) Schalten den Stereomodus (Rot-Cyan Anaglyphenbilder) der Kamera ein bzw. aus.void
verschiebe
(double pX, double pY, double pZ) Verschiebt die Kamera um den Wert pX auf der X-Achse, pY auf der Y-Achse und pZ auf der Z-Achse.void
verschiebe
(GLVektor pVerschiebung) void
vor
(double pWeite) Laesst die Kamera in Richtung des Blickpunktes um pWeite vorfahren.void
zeigeAchsen
(boolean pAn) Blendet die Koordinatenachsen im Kamerabild ein.void
zeigeFenster
(boolean pS) Zeigt oder versteckt das Kamerafenster.
-
Field Details
-
renderer
GLRenderer renderer -
animator
com.jogamp.opengl.util.Animator animator -
kamData
float[] kamData
-
-
Constructor Details
-
GLKamera
public GLKamera()Erstellt eine Kamera an der Stelle (0,0,500) die auf den Punkt (0,0,0) blickt. Das Kamerabild wird im Vollbildmodus dargestellt. -
GLKamera
public GLKamera(int pB, int pH) Erstellt eine Kamera an der Stelle (0,0,500) die auf den Punkt (0,0,0) blickt. Das Kamerabild wird in einem Fenster mit pB als Breite und pH als Hoehe dargestellt.
-
-
Method Details
-
setzePosition
public void setzePosition(double pX, double pY, double pZ) Setzt die Position der Kamera auf den Punkt (pX, pY, pZ). Der Blickpunkt der Kamera wird dabei nicht geaendert. -
setzeBlickpunkt
public void setzeBlickpunkt(double pX, double pY, double pZ) Setzt den Blickpunkt der Kamera auf den Punkt (pX, pY, pZ). Die Position der Kamera wird dabei nicht geaendert. -
setzeScheitelrichtung
public void setzeScheitelrichtung(double pX, double pY, double pZ) Setzt die Scheitelrichtung der Kamera auf den Punkt (pX, pY, pZ). D.h. die Kamera wird so gedreht, dass die angegebene Richtung diejenige ist, die aus Kameraperspektive direkt nach oben zeigt. Position und Blickpunkt aendern sich dabei nicht. -
gibScheitelrichtung
Liefert die Scheitelrichtung der Kamera als normierten Vektor. -
aus
public void aus()Die Kamera wird ausgeschaltet. Es werden keine neuen Bilder mehr erzeugt. Das zuletzt erstellte Bild wird aber weiter angezeigt. -
an
public void an()Die Kamera wird eingeschaltet und erzeugt Bilder der Szene. Dies ist die Standardeinstellung. -
erstelleEinzelbild
public void erstelleEinzelbild()Ist die Kamera aus, kann mit diesem Befehl ein einzelnes Bild erstellt werden. -
rotiere
public void rotiere(double pWinkel, double pNX, double pNY, double pNZ, double pRX, double pRY, double pRZ) Rotiert die Kamera um die angegebene Achse im Raum. Die Richtung der Achse wird mit (pRX, pRY, pRZ) angegeben (Richtungsvektor). (pX, pY, pZ) ist ein Punkt, durch den die Achse laeuft (Ortsvektor). -
verschiebe
public void verschiebe(double pX, double pY, double pZ) Verschiebt die Kamera um den Wert pX auf der X-Achse, pY auf der Y-Achse und pZ auf der Z-Achse. Position und Blickpunkt werden verschoben. -
vor
public void vor(double pWeite) Laesst die Kamera in Richtung des Blickpunktes um pWeite vorfahren. -
schwenkeHorizontal
public void schwenkeHorizontal(double pWinkel) Dreht die Kamera in der Art eines Horizontalschwenks (links/rechts) um den Winkel pWinkel. -
schwenkeVertikal
public void schwenkeVertikal(double pWinkel) Dreht die Kamera in der Art eines Vertikalschwenks (oben/unten) um den Winkel pWinkel. -
loesche
public void loesche()Entfernt die Kamera und schliesst das entsprechende Fenster. -
gibX
public double gibX()Gibt die X-Koordinate der Position der Kamera zurueck. -
gibY
public double gibY()Gibt die Y-Koordinate der Position der Kamera zurueck. -
gibZ
public double gibZ()Gibt die Z-Koordinate der Position der Kamera zurueck. -
gibBlickpunktX
public double gibBlickpunktX()Gibt die X-Komponente des Blickpunktes der Kamera zurueck. -
gibBlickpunktY
public double gibBlickpunktY()Gibt die Y-Komponente des Blickpunktes der Kamera zurueck. -
gibBlickpunktZ
public double gibBlickpunktZ()Gibt die Z-Komponente des Blickpunktes der Kamera zurueck. -
setzeStereomodus
public void setzeStereomodus(boolean pM) Schalten den Stereomodus (Rot-Cyan Anaglyphenbilder) der Kamera ein bzw. aus. -
setzeAugendistanz
public void setzeAugendistanz(double pAugendistanz) Setzt die Distanz zwischen den beiden Augen des Betrachters. Diese Methode hat nur im Stereomodus Auswirkungen. -
zeigeAchsen
public void zeigeAchsen(boolean pAn) Blendet die Koordinatenachsen im Kamerabild ein. -
gibBreite
public int gibBreite()Liefert die Breite des Kamerafensters. -
gibHoehe
public int gibHoehe()Liefert die Hoehe des Kamerafensters. -
setzeFensterposition
public void setzeFensterposition(int pX, int pY) Setzt die Position des Fensters auf dem Bildschirm. (pX, pY) ist dabei die linke, obere Ecke des Fensters. -
zeigeFenster
public void zeigeFenster(boolean pS) Zeigt oder versteckt das Kamerafenster. -
setzePosition
-
setzeBlickpunkt
-
setzeScheitelrichtung
-
rotiere
-
verschiebe
-
gibPosition
-
gibBlickpunkt
-
gibBlickrichtung
-
gibFrame
-