Class PagePainter

java.lang.Object
  |
  +--PagePainter

public class PagePainter
extends java.lang.Object

Program: BildeBok
File: PagePainter.java
Description: Klasse som holder rede på alle punkter til innholdet i boken
Author: Kenneth Stigen - kenneths@frodo.hiof.no
Environment: Windows - jdk 1.3.1
Notes: Dette er en del av prosjektet i grafisk databehandling V2002

Logikken i oppbyggingen av a,b,c,d 1-4 verdiene er som følger

Dette er boken sett undenfra når den er uåpnet. Illustrasjonen
skal vise hva de forskjellige kontrollpunktene er.

4 3 2 1
d *******************************
4 3 2 1
c *******************************
4 3 2 1
b *******************************
4 3 2 1
a *******************************


Constructor Summary
PagePainter()
          Constructor Kaller på metoden initArr, som initialiserer/oppdaterer alle arrayer
 
Method Summary
 void addRyggPage(float xValue)
          addRyggPage
 void addTurningValues(float xOuter, float zOuter, float xMidOut, float zMidOut, float xMidInn, float zMidInn)
          addTurningValues
 void addXValues(float first, float sec, float third, float fourth)
          addXValues
 void decreaseEdge()
          decreaseEdge Metode som senker innholdet av høyre side av boken.
 float[] getBotPages()
           
 float[] getLastPage()
           
 float getLefta4z()
           
 float[] getLeftBotPages()
           
 float getLeftd2x()
           
 float getLeftd2z()
           
 float getLeftd3x()
           
 float getLeftd3z()
           
 float getLeftd4x()
           
 float getLeftd4z()
           
 float[] getLeftLastPage()
           
 float[] getLeftLeftPages()
           
 float[] getLeftPages()
           
 float[] getLeftTopPages()
          Nedenfor følger divers getmetoder.
 float getMidInnX()
           
 float getMidInnZ()
           
 float getMidOutX()
           
 float getMidOutZ()
           
 float[] getNextPage()
           
 float getOutX()
           
 float getOutZ()
           
 float[] getPrevPage()
           
 float[] getRightPages()
           
 float[] getTextPage()
           
 float[] getTopPages()
           
 float[] getTxpts()
          getTxpts
 void increaseLeftEdge()
          increadeLeftEdge() Metode som øker tykkelsen på venstre side av boken
 void initLeftEdge()
          initLeftEdge Metode som initierer hvor første arket i boken skal ligge.
 void makeNext()
          makeNext Metode som gjør klar neste side for visning.
 void rotatePages()
          rotatePages Metode som setter tilbake, textPage slik at den er klar til å blas igjen Den setter også prevPage til å være slik som textPage var etter at den var bladd.
 void setBotPages(float a1x, float b1x, float c1x, float d1x, float a1z, float b1z, float c1z, float d1z)
          setBotPages
 void update()
          update Metode som kaller på metoden initArr, som oppdaterer alle arrayer.
 void updateTextPage()
          updateTextPage Metode som kalles etter at boken er åpnet for å sette på plass første side.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

PagePainter

public PagePainter()
Constructor Kaller på metoden initArr, som initialiserer/oppdaterer alle arrayer

Method Detail

update

public void update()
update Metode som kaller på metoden initArr, som oppdaterer alle arrayer.


getTxpts

public float[] getTxpts()
getTxpts

Returns:
txpts Returnerer arrayen med kontrollpunkter for teksturer

makeNext

public void makeNext()
makeNext Metode som gjør klar neste side for visning. next-kontrollpunktene blir satt til d-verdiene som allerede er manipulert til å være "lavere" satt.


decreaseEdge

public void decreaseEdge()
decreaseEdge Metode som senker innholdet av høyre side av boken. Jeg har definert variabelen decFact til å være "tykkelsen" til et ark. For forklaring av punktene: se toppen. Metoden kaller til slutt på initArr() som oppdaterer arrayene


initLeftEdge

public void initLeftEdge()
initLeftEdge Metode som initierer hvor første arket i boken skal ligge. Denne metoden blir kalt etter at første ark i boken er bladd. Dette danner grunnlaget for tykkelsen på venstre side. left-variablene er variablene for tykkelsen prev-variablene er variablene for hvor siden landet.


increaseLeftEdge

public void increaseLeftEdge()
increadeLeftEdge() Metode som øker tykkelsen på venstre side av boken


rotatePages

public void rotatePages()
rotatePages Metode som setter tilbake, textPage slik at den er klar til å blas igjen Den setter også prevPage til å være slik som textPage var etter at den var bladd. "Roterer" sidene.


addTurningValues

public void addTurningValues(float xOuter,
                             float zOuter,
                             float xMidOut,
                             float zMidOut,
                             float xMidInn,
                             float zMidInn)
addTurningValues

Parameters:
xOuter - Den nye verdien til den ytre x-verdien av siden som blas
zOuter - Den nye verdien til den ytre z-verdien av siden som blas
xMidOut - Den nye verdien til den ytterste midtre x-verdien av siden som blas
zMidOut - Den nye verdien til den ytterste midtre z-verdien av siden som blas
xMidInn - Den nye verdien til den innerste midtre x-verdien av siden som blas
zMidInn - Den nye verdien til den innerste midtre z-verdien av siden som blas Metoden oppdaterer kontrollpunktene til siden som blas. Kaller til slutt på initArr for å sette disse til arrayen.

addXValues

public void addXValues(float first,
                       float sec,
                       float third,
                       float fourth)
addXValues

Parameters:
first - Hvor mye x-verdiene på d-linjen skal forskyve seg
sec - Hvor mye x-verdiene på c-linjen skal forskyve seg
third - Hvor mye x-verdiene på b-linjen skal forskyve seg
fourth - Hvor mye x-verdiene på a-linjen skal forskyve seg Denne metoden benyttes når boken åpnes. Grunnen til at noen av variablene forandres med en faktor, og noen forandres med å legge til en verdi, er for å få bøyen på innholdet når permen ligger flat.

updateTextPage

public void updateTextPage()
updateTextPage Metode som kalles etter at boken er åpnet for å sette på plass første side.


setBotPages

public void setBotPages(float a1x,
                        float b1x,
                        float c1x,
                        float d1x,
                        float a1z,
                        float b1z,
                        float c1z,
                        float d1z)
setBotPages

Parameters:
a1x -
b1x -
c1x -
d1x -
a1z -
b1z -
c1z -
d1z - Metode som brukes når boken åpnes. Denne metoden setter verdiene til den nedre delen av innholdet på høyre side Verdiene blir kalkulert i metoden openBook i klassen BildeBokCanvas

addRyggPage

public void addRyggPage(float xValue)
addRyggPage

Parameters:
xValue - Verdien av innholdsryggen som forandres Denne metoden brukes også når boken åpnes Denne øker x-verdiene til innholdets rygg. Grunnen til dette er at når boken åpnes roteres ryggen, og ville ha blitt gjemt inne i selve ryggen på permen. For å unngå dette "løfter" vi den litt opp, slik at den ser ut som om den står på samme sted som den gjorde før vi åpnet boken.

getLeftTopPages

public float[] getLeftTopPages()
Nedenfor følger divers getmetoder. Jeg ser ikke behovet for å kommentere alle disse De fleste av disse returnerer en array med kontrollpunkter eller et enkelt kontrollpunkt


getLeftBotPages

public float[] getLeftBotPages()

getLeftLeftPages

public float[] getLeftLeftPages()

getLeftLastPage

public float[] getLeftLastPage()

getBotPages

public float[] getBotPages()

getTopPages

public float[] getTopPages()

getRightPages

public float[] getRightPages()

getLeftPages

public float[] getLeftPages()

getTextPage

public float[] getTextPage()

getLastPage

public float[] getLastPage()

getPrevPage

public float[] getPrevPage()

getNextPage

public float[] getNextPage()

getMidInnZ

public float getMidInnZ()

getMidOutZ

public float getMidOutZ()

getOutZ

public float getOutZ()

getMidOutX

public float getMidOutX()

getMidInnX

public float getMidInnX()

getOutX

public float getOutX()

getLeftd4z

public float getLeftd4z()

getLeftd4x

public float getLeftd4x()

getLeftd3z

public float getLeftd3z()

getLeftd3x

public float getLeftd3x()

getLeftd2z

public float getLeftd2z()

getLeftd2x

public float getLeftd2x()

getLefta4z

public float getLefta4z()