Package GLOOP

Class GLKamera

java.lang.Object
GLOOP.GLKamera
Direct Known Subclasses:
GLSchwenkkamera

public class GLKamera extends Object
GLOOP (Graphics Library for object oriented programming)
Version:
4.30 (Dezember 2022)
Author:
(Copyright) Volker Quade, volker.e.quade@gmail.com
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    (package private) com.jogamp.opengl.util.Animator
     
    (package private) float[]
     
    (package private) GLRenderer
     
  • Constructor Summary

    Constructors
    Constructor
    Description
    Erstellt eine Kamera an der Stelle (0,0,500) die auf den Punkt (0,0,0) blickt.
    GLKamera(int pB, int pH)
    Erstellt eine Kamera an der Stelle (0,0,500) die auf den Punkt (0,0,0) blickt.
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    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.
     
    int
    Liefert die Hoehe des Kamerafensters.
     
    Liefert die Scheitelrichtung der Kamera als normierten Vektor.
    double
    Gibt die X-Koordinate der Position der Kamera zurueck.
    double
    Gibt die Y-Koordinate der Position der Kamera zurueck.
    double
    Gibt die Z-Koordinate der Position der Kamera zurueck.
    void
    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
    rotiere(double pWinkel, GLVektor pRichtung, GLVektor pOrt)
     
    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
     
    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
     
    void
    setzeScheitelrichtung(double pX, double pY, double pZ)
    Setzt die Scheitelrichtung der Kamera auf den Punkt (pX, pY, pZ).
    void
     
    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.

    Methods inherited from class java.lang.Object

    clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • 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

      public GLVektor 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

      public void setzePosition(GLVektor pPos)
    • setzeBlickpunkt

      public void setzeBlickpunkt(GLVektor pPunkt)
    • setzeScheitelrichtung

      public void setzeScheitelrichtung(GLVektor pRich)
    • rotiere

      public void rotiere(double pWinkel, GLVektor pRichtung, GLVektor pOrt)
    • verschiebe

      public void verschiebe(GLVektor pVerschiebung)
    • gibPosition

      public GLVektor gibPosition()
    • gibBlickpunkt

      public GLVektor gibBlickpunkt()
    • gibBlickrichtung

      public GLVektor gibBlickrichtung()
    • gibFrame

      public JFrame gibFrame()