public class GLPrismoid extends GLBewegbaresObjekt
Ein Prismoid ist eine Art polygonaler Kegelstumpf. Es besteht aus zwei regelmäßigen n-Ecks mit unterschiedlichem Radius, deren Ecken respektive miteinander verbunden sind. Die n-Ecks liegen so zueinander im Raum, dass die Verbindungslinie durch die beiden Mittelpunkte senkrecht zu beiden n-Ecks steht (also sind die beiden n-Ecks insbesondere parallel zueinander).
In bGLOOP werden Prismoiden vor allem als Basisklasse für
Kegelstümpfe
und Kegel
verwendet, aber es
können auch GLPrismoid-Objekte instanziiert werden.
GLObjekt.Darstellungsmodus
Constructor and Description |
---|
GLPrismoid(double pMX,
double pMY,
double pMZ,
double pRadius1,
double pRadius2,
int pEckenzahl,
double pHoehe)
Erzeugt ein Prismoidobjekt mit Mittelpunkt
M(pMX, pMY, pMZ) ,
Radien pRadius1 und pRadius2 und Höhe
pHoehe . |
GLPrismoid(double pMX,
double pMY,
double pMZ,
double pRadius1,
double pRadius2,
int pEckenzahl,
double pHoehe,
GLTextur pTextur)
Erzeugt ein Prismoidobjekt mit Textur.
|
Modifier and Type | Method and Description |
---|---|
GLTextur |
gibTextur()
Gibt das aktuelle Texturobjekt zurück.
|
void |
loesche()
Löscht das Objekt aus der Szene.
|
void |
setzeDurchsichtigkeit(double pAlpha)
Setzt den Durchsichtigkeitsfaktor des Objekts.
|
void |
setzeMantelglaettung(boolean pG)
Bei geglättetem Mantel erscheint dieser in der
Darstellungsmodus
FUELLEN als zusammenhängende Fläche. |
void |
setzeQualitaet(int pUnterteilungen)
Anzahl der polygonalen Unterteilungen des Modells.
|
void |
setzeQualitaet(int pBreitengrade,
int pLaengengrade)
Anzahl der polygonalen Unterteilungen des Modells.
|
void |
setzeSelbstleuchten(double pR,
double pG,
double pB)
Setzt die Farbwerte der Farbe, in der das Objekt "leuchtet".
|
void |
setzeSichtbarkeit(boolean pSichtbar)
Stellt ein, ob das Objekt in der Szene sichtbar ist.
|
void |
setzeTextur(GLTextur pTextur)
Legt die übergebene Textur auf das Objekt.
|
void |
setzeTextur(String pTexturBilddatei)
Legt die übergebene Textur auf das Objekt.
|
drehe, drehe, drehe, dreheDich, dreheDich, gibX, gibY, gibZ, resetSkalierungUndRotation, rotiere, setzeDarstellungsModus, setzePosition, skaliere, skaliere, verschiebe
gibFarbe, setzeFarbe, setzeGlanz, setzeMaterial, setzeSichtbarkeit
public GLPrismoid(double pMX, double pMY, double pMZ, double pRadius1, double pRadius2, int pEckenzahl, double pHoehe)
M(pMX, pMY, pMZ)
,
Radien pRadius1
und pRadius2
und Höhe
pHoehe
. DiepMX
- x-Koordinate des MittelpunktspMY
- y-Koordinate des MittelpunktspMZ
- z-Koordinate des MittelpunktspRadius1
- Radius der BodenflächepRadius2
- Radius der DeckelflächepEckenzahl
- Anzahl n der regelmäßigen n-Ecks der Boden- und DeckelflächepHoehe
- Abstand zwischen Boden- und Deckelflächepublic GLPrismoid(double pMX, double pMY, double pMZ, double pRadius1, double pRadius2, int pEckenzahl, double pHoehe, GLTextur pTextur)
pMX
- x-Koordinate des MittelpunktspMY
- y-Koordinate des MittelpunktspMZ
- z-Koordinate des MittelpunktspRadius1
- Radius der BodenflächepRadius2
- Radius der DeckelflächepEckenzahl
- Anzahl n der regelmäßigen n-Ecks der Boden- und DeckelflächepHoehe
- Abstand zwischen Boden- und DeckelflächepTextur
- Textur-Objekt des Prismoidspublic void setzeMantelglaettung(boolean pG)
Darstellungsmodus
FUELLEN als zusammenhängende Fläche. Ist die Mantelglättung deaktiviert,
so sind die Rechtecke sichtbar, die durch die polygonale Näherung der Boden-
und Deckelfläche an einen Kreis entstehen.pG
- aktiviert Mantelglättungpublic void setzeQualitaet(int pBreitengrade, int pLaengengrade)
pBreitengrade
- Anzahl der Unteilungen horizontalen ScheibenpLaengengrade
- Anzahl der Unteilungen vertikalen Scheibenpublic void setzeSelbstleuchten(double pR, double pG, double pB)
GLLichtobjekt
. Diese verwendet jedoch eine
Lichtquelle, von der in OpenGL in der Regel nur insgesamt 8 pro Szene zur Verfügung
stehen.pR
- Rotanteil, zwischen 0 und 1pG
- Grünanteil, zwischen 0 und 1pB
- Blauanteil, zwischen 0 und 1public void setzeQualitaet(int pUnterteilungen)
pUnterteilungen
- Anzahl der horizontalen und vertikalen
Scheiben in der UnterteilungsetzeQualitaet(int,int)
public void setzeTextur(GLTextur pTextur)
pTextur
- Ein GLTextur
-Objektpublic void setzeTextur(String pTexturBilddatei)
pTexturBilddatei
- Ein Dateiname einer Bilddatei (.jpg
oder .png)public GLTextur gibTextur()
null
zurück gegeben.GLTextur
-Objektpublic void setzeDurchsichtigkeit(double pAlpha)
pAlpha
- Ein Wert zwischen 0 (komplett durchsichtig) und 1
(vollständig opak)public void loesche()
GLObjekt
public void setzeSichtbarkeit(boolean pSichtbar)
pSichtbar
- Wenn true
, so wird das Objekt
gerendert, wenn false
, dann nicht.