Package GLOOP

Class GLObjekt

java.lang.Object
GLOOP.GLObjekt
Direct Known Subclasses:
GLKugel, GLLicht, GLModelkomponente, GLPrismoid, GLQuader, GLTafel, GLTerrain, GLTorus

public abstract class GLObjekt extends Object
GLOOP (Graphics Library for object oriented programming)
Version:
3.80 (Februar 2015)
Author:
(Copyright) Volker Quade, volker.e.quade@gmail.com
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    (package private) float[]
     
    (package private) boolean
     
    (package private) float[]
     
    (package private) float[]
     
    (package private) float
     
    (package private) Vector<GLDisplayliste>
     
    (package private) float[]
     
    (package private) float[]
     
    (package private) float
     
    (package private) float
     
    (package private) float
     
    (package private) boolean
     
    (package private) float
     
    (package private) float[]
     
    (package private) GLTextur[]
     
    (package private) long
     
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    drehe(double pWX, double pWY, double pWZ)
    Dreht das Objekt um durch den Mittelpunkt des Objektes gehende Parallelen der Koordinatenachsen.
    void
    drehe(double pWX, double pWY, double pWZ, double pX, double pY, double pZ)
    Dreht das Objekt um durch den Punkt (pX, pY, pZ) gehende Parallelen der Koordinatenachsen.
    void
    drehe(double pWX, double pWY, double pWZ, GLVektor pPunkt)
    Dreht das Objekt um durch den Punkt pPunkt gehende Parallelen der Koordinatenachsen.
    protected void
     
    (package private) void
    executeGL(com.jogamp.opengl.GL2 gl, com.jogamp.opengl.glu.GLU glu, GLRenderer pRenderer)
     
    double
    Liefert die Distanz zwischen dem Mittelpunkt des Objektes und dem Mittelpunkt des Objektes pObjekt.
    Liefert den Mittelpunkt des Objektes als Ortsvektor.
    Liefert das Texturobjekt, an welches das Objekt aktuell gebunden ist.
    float
    Liefert die X-Koordinate des Mittelpunktes des Objektes.
    float
    Liefert die Y-Koordinate des Mittelpunktes des Objektes.
    float
    Liefert die Y-Koordinate des Mittelpunktes des Objektes.
    protected void
    ladeMaterial(com.jogamp.opengl.GL2 gl)
     
    void
    Loescht das Objekt.
    void
     
    void
    rotiere(double pWinkel, double pNX, double pNY, double pNZ, double pRX, double pRY, double pRZ)
    Rotiert das Objekt um die angegebene Achse im Raum.
    void
    rotiere(double pWinkel, GLVektor pRichtung, GLVektor pOrt)
    Rotiert das Objekt um die angegebene Achse im Raum.
    void
    setzeDrehung(double pWX, double pWY, double pWZ)
    Dreht das Objekt um durch den Mittelpunkt des Objektes gehende Parallelen der Koordinatenachsen, unabhaengig von der vorangegangenen Ausrichtung des Objekte auf die angegebenen Drehwinkel.
    void
    setzeFarbe(double pR, double pG, double pB)
    Setzt die Farbe des Objektes. pR = Rotanteil, pG = Gruenanteil, pB = Blauanteil.
    void
    setzeGlanz(double pR, double pG, double pB, int pHaerte)
    Setzt die Farbe (pR, pG, pB) und die Intensitaet (pHaerte) des Glanzes des Objektes.
    void
    setzeMaterial(float[][] pM)
    Setzt die Materialeigenschaft des Objektes.
    void
    setzePosition(double pX, double pY, double pZ)
    Setzt das Objekt (Mittelpunkt) auf die Position (pX, pY, pZ).
    void
    Setzt das Objekt (Mittelpunkt) auf die Position pPos.
    void
     
    void
    setzeSelbstleuchten(double pR, double pG, double pB)
    Setzt das Selbstleuchten eines Objektes auf die angegebene Farbe.
    void
    setzeSichtbarkeit(boolean pS)
    Macht das Objekt sichtbar bzw. unsichtbar.
    void
    setzeSkalierung(double pG)
    Absolute Variante von "skaliere".
    void
    setzeSkalierung(double pX, double pY, double pZ)
    Absolute Variante von "skaliere".
    void
    Ueberzieht das Objekt mit der uebergebenen Textur.
    void
    setzeTextur(String pDateiname)
    Erstellt aus einer Datei ein Texturobjekt und ueberzieht das Objekt mit dieser Textur.
    void
    skaliere(double pG)
    Veraendert die Groesse des Objektes um den Faktor pG.
    void
    skaliere(double pX, double pY, double pZ)
    Veraendert die Groesse des Objektes in Richtung jeder Achse um einen separaten Wert.
    void
    verschiebe(double pX, double pY, double pZ)
    Verschiebt das Objekt entlang der drei Koordinatenachsen.
    void
    Verschiebt das Objekt entlang um den Vektors pVek.
    abstract void
    zeichneObjekt(com.jogamp.opengl.GL2 gl, com.jogamp.opengl.glu.GLU glu)
     

    Methods inherited from class java.lang.Object

    clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

    • ambient

      float[] ambient
    • diffuse

      float[] diffuse
    • spekular

      float[] spekular
    • emission

      float[] emission
    • haerte

      float haerte
    • tex

      GLTextur[] tex
    • matrix

      float[] matrix
    • renderMatrix

      float[] renderMatrix
    • zID

      long zID
    • hDisplayliste

      Vector<GLDisplayliste> hDisplayliste
    • brauchtDisplaylist

      boolean brauchtDisplaylist
    • skalierung

      float skalierung
    • scaleX

      float scaleX
    • scaleY

      float scaleY
    • scaleZ

      float scaleZ
    • sichtbarkeit

      boolean sichtbarkeit
  • Constructor Details

    • GLObjekt

      public GLObjekt()
  • Method Details

    • setzePosition

      public void setzePosition(double pX, double pY, double pZ)
      Setzt das Objekt (Mittelpunkt) auf die Position (pX, pY, pZ).
    • verschiebe

      public void verschiebe(double pX, double pY, double pZ)
      Verschiebt das Objekt entlang der drei Koordinatenachsen.
    • setzeDrehung

      public void setzeDrehung(double pWX, double pWY, double pWZ)
      Dreht das Objekt um durch den Mittelpunkt des Objektes gehende Parallelen der Koordinatenachsen, unabhaengig von der vorangegangenen Ausrichtung des Objekte auf die angegebenen Drehwinkel. D.h. das Objekt wird um seinen eigenen Mittelpunkt gedreht. pWX, pWY und pWZ sind die Drehwinkel um die jeweiligen Achsen.
    • drehe

      public void drehe(double pWX, double pWY, double pWZ)
      Dreht das Objekt um durch den Mittelpunkt des Objektes gehende Parallelen der Koordinatenachsen. D.h. das Objekt wird um seinen eigenen Mittelpunkt gedreht. pWX, pWY und pWZ sind die Drehwinkel um die jeweiligen Achsen.
    • drehe

      public void drehe(double pWX, double pWY, double pWZ, double pX, double pY, double pZ)
      Dreht das Objekt um durch den Punkt (pX, pY, pZ) gehende Parallelen der Koordinatenachsen. D.h. das Objekt wird um den Punkt (pX, pY, pZ) gedreht. pWX, pWY und pWZ sind die Drehwinkel um die jeweiligen Achsen.
    • rotiere

      public void rotiere(double pWinkel, double pNX, double pNY, double pNZ, double pRX, double pRY, double pRZ)
      Rotiert das Objekt um die angegebene Achse im Raum. Die Richtung der Achse wird mit (pNX, pNY, pNZ) angegeben (Richtungsvektor). (pRX, pRY, pRZ) ist ein Punkt durch den die Achse laeuft (Ortsvektor).
    • setzeSkalierung

      public void setzeSkalierung(double pG)
      Absolute Variante von "skaliere".
    • setzeSkalierung

      public void setzeSkalierung(double pX, double pY, double pZ)
      Absolute Variante von "skaliere".
    • skaliere

      public void skaliere(double pG)
      Veraendert die Groesse des Objektes um den Faktor pG.
    • skaliere

      public void skaliere(double pX, double pY, double pZ)
      Veraendert die Groesse des Objektes in Richtung jeder Achse um einen separaten Wert. Dabei wird die Ausrichtung des Objektes zum Instanzierungszeitpunkt verwendet. Mit dieser Methode koennen Objekte also verzerrt werden.
    • gibX

      public float gibX()
      Liefert die X-Koordinate des Mittelpunktes des Objektes.
    • gibY

      public float gibY()
      Liefert die Y-Koordinate des Mittelpunktes des Objektes.
    • gibZ

      public float gibZ()
      Liefert die Y-Koordinate des Mittelpunktes des Objektes.
    • setzeFarbe

      public void setzeFarbe(double pR, double pG, double pB)
      Setzt die Farbe des Objektes. pR = Rotanteil, pG = Gruenanteil, pB = Blauanteil. Alle Werte muessen zwischen 0 und 1 liegen.
    • setzeGlanz

      public void setzeGlanz(double pR, double pG, double pB, int pHaerte)
      Setzt die Farbe (pR, pG, pB) und die Intensitaet (pHaerte) des Glanzes des Objektes.
    • setzeSelbstleuchten

      public void setzeSelbstleuchten(double pR, double pG, double pB)
      Setzt das Selbstleuchten eines Objektes auf die angegebene Farbe. Das Objekt wirkt dann, als wuerde es von innen heraus leuchten. Es wird jedoch nicht zur Lichtquelle.
    • setzeMaterial

      public void setzeMaterial(float[][] pM)
      Setzt die Materialeigenschaft des Objektes. Es koennen Konstanten aus der Klasse GLMaterial uebergeben werden.
    • setzeTextur

      public void setzeTextur(GLTextur pTex)
      Ueberzieht das Objekt mit der uebergebenen Textur.
    • setzeTextur

      public void setzeTextur(String pDateiname)
      Erstellt aus einer Datei ein Texturobjekt und ueberzieht das Objekt mit dieser Textur.
    • ladeMaterial

      protected void ladeMaterial(com.jogamp.opengl.GL2 gl)
    • erstelleRendermatrix

      protected void erstelleRendermatrix()
    • executeGL

      void executeGL(com.jogamp.opengl.GL2 gl, com.jogamp.opengl.glu.GLU glu, GLRenderer pRenderer)
    • resetDisplayliste

      public void resetDisplayliste()
    • loesche

      public void loesche()
      Loescht das Objekt.
    • setzeSichtbarkeit

      public void setzeSichtbarkeit(boolean pS)
      Macht das Objekt sichtbar bzw. unsichtbar.
    • gibTextur

      public GLTextur gibTextur()
      Liefert das Texturobjekt, an welches das Objekt aktuell gebunden ist.
    • gibDistanz

      public double gibDistanz(GLObjekt pObjekt)
      Liefert die Distanz zwischen dem Mittelpunkt des Objektes und dem Mittelpunkt des Objektes pObjekt.
    • setzeQualitaet

      public void setzeQualitaet(int pQ)
    • zeichneObjekt

      public abstract void zeichneObjekt(com.jogamp.opengl.GL2 gl, com.jogamp.opengl.glu.GLU glu)
    • rotiere

      public void rotiere(double pWinkel, GLVektor pRichtung, GLVektor pOrt)
      Rotiert das Objekt um die angegebene Achse im Raum. Die Richtung der Achse wird mit pRichtung angegeben (Richtungsvektor). pOrt ist ein Punkt durch den die Achse laeuft (Ortsvektor).
    • gibPosition

      public GLVektor gibPosition()
      Liefert den Mittelpunkt des Objektes als Ortsvektor.
    • drehe

      public void drehe(double pWX, double pWY, double pWZ, GLVektor pPunkt)
      Dreht das Objekt um durch den Punkt pPunkt gehende Parallelen der Koordinatenachsen. D.h. das Objekt wird um den Punkt pPunkt) gedreht. pWX, pWY und pWZ sind die Drehwinkel um die jeweiligen Achsen.
    • setzePosition

      public void setzePosition(GLVektor pPosition)
      Setzt das Objekt (Mittelpunkt) auf die Position pPos.
    • verschiebe

      public void verschiebe(GLVektor pVek)
      Verschiebt das Objekt entlang um den Vektors pVek.