Class Fotorred

java.lang.Object
  |
  +--java.awt.Component
        |
        +--java.awt.Container
              |
              +--java.awt.Panel
                    |
                    +--java.applet.Applet
                          |
                          +--Fotorred
All Implemented Interfaces:
javax.accessibility.Accessible, java.awt.image.ImageObserver, java.awt.MenuContainer, java.lang.Runnable, java.io.Serializable

public class Fotorred
extends java.applet.Applet
implements java.lang.Runnable

Clase principal del programa. Establece el "layout" de la ventana principal del programa y crea la barra de menús. Genera los modelos tridimensionales del edificio y el suelo, controlando los eventos de ratón para cambiar el punto de vista del observador. Mantiene el estado general de la simulación recibiendo información de las clases que permiten modificar variables. También ejecuta las rutinas de finalización cuando se cierra el programa.

See Also:
Serialized Form

Inner classes inherited from class java.applet.Applet
java.applet.Applet.AccessibleApplet
 
Inner classes inherited from class java.awt.Panel
java.awt.Panel.AccessibleAWTPanel
 
Inner classes inherited from class java.awt.Container
java.awt.Container.AccessibleAWTContainer
 
Inner classes inherited from class java.awt.Component
java.awt.Component.AccessibleAWTComponent, java.awt.Component.AWTTreeLock
 
Field Summary
private  boolean acabar
           
 float alto
           
 float altoSup
           
private  float altoSupTemp
           
private  float altoTemp
           
private  float alturaPiso
           
private static float ALTURAPISOMINIMA
           
private  float alturaPisoTemp
           
private  Matrix3D amat
           
private  float ancho
           
private  float anchoTemp
           
private  int azul
           
private  int azulEdif
           
private  int azulLateral
           
private  int azulSuelo
           
private  Geometria3D baseDef
           
private  int beta
           
private  int betaTemp
           
private  float[] dimensiones
           
private  Objeto3D edif
           
private  Geometria3D edificio
           
private  float escala
           
private  float escalaInicial
           
private  float factorX
           
private  float factorZ
           
static java.lang.String FECHA
           
private  int grados
           
(package private)  java.awt.Label infoLabel
           
private  java.awt.Panel infoPanel
           
private  boolean infoSi
           
static int INITAZUL
           
static int INITAZULEDIF
           
static int INITAZULSUELO
           
static int INITCOLORTRANSP
           
static int INITROJO
           
static int INITROJOEDIF
           
static int INITROJOSUELO
           
static int INITVERDE
           
static int INITVERDEEDIF
           
static int INITVERDESUELO
           
static float INITX
           
static float INITXSup
           
static float INITY
           
static float INITZ
           
static float INITZSup
           
private  float largo
           
private  float largoSup
           
private  float largoSupTemp
           
private  float largoTemp
           
static int MAXPISOS
           
private  MenuFrame menus
           
private  java.lang.String message
           
private  java.lang.String messageSuelo
           
private  boolean mostrarCuadricula
           
private  boolean mostrarPisos
           
private  float muro
           
private  float muroTemp
           
static float MUROTIPO
           
private  java.lang.Thread myThread
           
private  int nPisosAltoTemp
           
private  int nPisosBajoTemp
           
private  java.awt.Graphics offScreenGraphics
           
private  java.awt.Image offScreenImage
           
private  java.awt.Dimension offScreenSize
           
private static int OFFSETAZUL
           
private static int OFFSETROJO
           
private  boolean painted
           
static float PISOTIPO
           
private  int prevX
           
private  int prevY
           
private  int rojo
           
private  int rojoEdif
           
private  int rojoSuelo
           
private  int rojoTejado
           
static int ROTIPO
           
private  Matrix3D samat
           
private  float sombra
           
private  float sombraTemp
           
static float SOMBRATIPO
           
private  Matrix3D stmat
           
private  Objeto3D suelo
           
private  Matrix3D tmat
           
private  int transparencia
           
private  float transVidrio
           
private  float transVidrioTemp
           
static float TRANSVIDRIOTIPO
           
static java.net.URL URLBase
           
private  int verde
           
private  int verdeEdif
           
private  int verdeSuelo
           
static java.lang.String VERSION
           
private  float vidrio
           
private  float vidrioTemp
           
static float VIDRIOTIPO
           
private  float xalfa
           
private  float xfac
           
private  float xfacTemp
           
private  float yalfa
           
 
Fields inherited from class java.applet.Applet
accessibleContext, serialVersionUID, stub
 
Fields inherited from class java.awt.Panel
base, nameCounter
 
Fields inherited from class java.awt.Container
component, containerListener, containerSerializedDataVersion, dbg, dispatcher, layoutMgr, listeningBoundsChildren, listeningChildren, maxSize, ncomponents, printing, printingThreads
 
Fields inherited from class java.awt.Component
actionListenerK, adjustmentListenerK, appContext, background, BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, changeSupport, componentListener, componentListenerK, componentOrientation, componentSerializedDataVersion, containerListenerK, cursor, dropTarget, enabled, eventMask, focusListener, focusListenerK, font, foreground, graphicsConfig, hasFocus, height, hierarchyBoundsListener, hierarchyBoundsListenerK, hierarchyListener, hierarchyListenerK, incRate, inputMethodListener, inputMethodListenerK, isInc, isPacked, itemListenerK, keyListener, keyListenerK, LEFT_ALIGNMENT, locale, LOCK, metrics, minSize, mouseListener, mouseListenerK, mouseMotionListener, mouseMotionListenerK, name, nameExplicitlySet, newEventsOnly, ownedWindowK, parent, peer, peerFont, popups, prefSize, privateKey, RIGHT_ALIGNMENT, textListenerK, TOP_ALIGNMENT, valid, visible, width, windowClosingException, windowListenerK, x, y
 
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
Constructor Summary
Fotorred()
           
 
Method Summary
 void cargarModelo(float[] float_data)
          Reconstruye un ejemplo de simulación con los datos leídos desde un fichero.
private  void crearModelos()
          Genera los modelos tridimensionales, determina sus límites exteriores y determina el factor de escala.
 void destroy()
          Rutina de finalización llamada por el navegador cuando el applet ya no es visible (después de ejecutar stop).
private  float escalar(Objeto3D modelo)
          Calcula el factor de escala adecuado para mostrar un objeto 3D en el espacio disponible de la pantalla.
 java.lang.String getAppletInfo()
          Muestra información sobre el autor y la versión del programa.
 float[] getDim()
          Obtiene las dimensiones actuales del edificio, tanto en su parte inferior como superior.
 float getMuro()
          Obtiene el valor del coeficiente de transmisión del muro del edificio.
 java.lang.String[][] getParameterInfo()
          Obtiene información sobre los parámetros modificables en la página HTML del applet.
 float getSombra()
          Obtiene el valor del factor de sombra del vidrio empleado en el edificio.
 float getTransVidrio()
          Obtiene el valor del coeficiente de transmisión del vidrio empleado en el edificio.
 float getVidrio()
          Obtiene el valor actual del porcentaje de superficie acristalada del edificio.
 void init()
          Establece el color de fondo inicial, el "layout" y determina los límites de la ventana principal.
private  void leerGeometria()
          A partir de las opciones seleccionadas por el usuario prepara la creación de un nuevo modelo 3D del edificio.
private  void leerGeometriaSuelo()
          Prepara la creación de un nuevo modelo 3D del plano del suelo (con o sin cuadrícula).
 void mostrarTipo(boolean state)
          Muestra u oculta el modelo del edificio tipo.
 boolean mouseDown(java.awt.Event e, int x, int y)
          Determinar las coordenadas del punto donde el usuario ha pinchado con el ratón.
 boolean mouseDrag(java.awt.Event e, int x, int y)
          Se ejecuta cuando el usuario arrastra el ratón para cambiar el punto de vista.
private  void nuevoEdif()
          Crea un nuevo modelo tridimensional del edificio y lo muestra en pantalla en su posición inicial.
 void paint(java.awt.Graphics g)
          Rutina de representación gráfica.
 void redraw()
          Crea nuevos modelos 3D a partir de los valores seleccionados por el usuario y los muestra en la posición inicial.
private  void restaurarZoom(float factor)
          Restaura el valor de zoom original para mostrar el edificio tipo.
private  void rotar(Matrix3D mat1, Matrix3D mat2, float angX, float angY)
          Aplicar rotaciones sobre los ejes X e Y de la pantalla.
private  void rotInit(int grad, int incr)
          Aplica rotación a los modelos 3D en torno al eje Z y en sentido horario.
 void run()
          Crea los modelos tridimensionales iniciales y los muestra en pantalla.
private  void setPainted()
          Establece el flag control gráfico y notifica a los objetos "observadores" que se acaba de actualizar la representación en pantalla.
 void start()
          Este método es ejecutado por el navegador cada vez que se cargar la página HTML que contiene el applet.
 void stop()
          Lo ejecuta el navegador al abandonar la página HTML.
 void tipo()
          Reconstruye el edificio tipo para mostrarlo en pantalla.
 void toggleCuadricula(boolean infoState)
          Muestra u oculta todos la cuadrícula en el modelo 3D del suelo.
 void toggleInfo(boolean infoState)
          Muestra u oculta la línea de información de la parte inferior de la pantalla.
 void togglePlantas(boolean infoState)
          Muestra u oculta todos los pisos en el modelo 3D del edificio.
 void update(java.awt.Graphics g)
          Permite utilizar "Double Buffering" para evitar parpadeo de la imagen.
 void updateCoefVidrio(float coefVidrioNew)
          Modifica el coeficiente de transmisión del vidrio.
 void updateColor(float roj, float verd, float azu)
          Permite modificar el color de fondo en la ventana principal del programa.
 void updateColorEdif(float roj, float verd, float azu)
          Permite modificar el color del modelo 3D del edificio.
 void updateColorSuelo(float roj, float verd, float azu)
          Cambia el color del modelo 3D del plano del suelo.
 void updateDim(float larg, float anch, float alt)
          A instancias del usuario, se solicita la creación de un nuevo modelo del edificio con nuevas dimensiones sobre los ejes X, Y, Z.
 void updateDimSup(float largSup, float altSup)
          El usuario ha modificado las dimensiones de la parte superior del edificio.
 void updateMuro(float muroNew)
          Modifica el coeficiente de transmisión del muro.
 void updatePiso(float altNew)
          Modifica la altura de los pisos.
 void updateRot(int angulo)
          Gira el edificio sobre el suelo en sentido horario (en torno al eje Z).
 void updateSombra(float sombraNew)
          Modifica el factor de sombra del vidrio.
 void updateTranspColor(float transp)
          Modifica el grado de transparencia de los colores del edificio y el suelo.
 void updateVidrio(float vidrioNew)
          Modifica el porcentaje de superficie acristalada del edificio.
 void updateZoom(int increm)
          Modifica el factor de zoom de la representación gráfica en pantalla.
 
Methods inherited from class java.applet.Applet
getAccessibleContext, getAppletContext, getAudioClip, getAudioClip, getCodeBase, getDocumentBase, getImage, getImage, getLocale, getParameter, isActive, newAudioClip, play, play, resize, resize, setStub, showStatus
 
Methods inherited from class java.awt.Panel
, addNotify, constructComponentName
 
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, addImpl, adjustListeningChildren, applyOrientation, checkGD, countComponents, createChildHierarchyEvents, createHierarchyEvents, deliverEvent, dispatchEventImpl, dispatchEventToSelf, doLayout, eventEnabled, findComponentAt, findComponentAt, findComponentAt, getAccessibleAt, getAccessibleChild, getAccessibleChildrenCount, getAlignmentX, getAlignmentY, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents_NoClientCode, getComponents, getInsets, getLayout, getListeners, getMaximumSize, getMinimumSize, getMouseEventTarget, getPreferredSize, getWindow, initIDs, insets, invalidate, invalidateTree, isAncestorOf, layout, lightweightPaint, lightweightPrint, list, list, locate, minimumSize, nextFocus, numListening, paintComponents, paintHeavyweightComponents, paramString, postProcessKeyEvent, postsOldMouseEvents, preferredSize, preProcessKeyEvent, print, printComponents, printHeavyweightComponents, processContainerEvent, processEvent, proxyEnableEvents, proxyRequestFocus, readObject, remove, remove, removeAll, removeContainerListener, removeNotify, setFocusOwner, setFont, setLayout, transferFocus, validate, validateTree, writeObject
 
Methods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addPropertyChangeListener, addPropertyChangeListener, areInputMethodsEnabled, bounds, checkImage, checkImage, checkWindowClosingException, coalesceEvents, contains, contains, createImage, createImage, disable, disableEvents, dispatchEvent, enable, enable, enableEvents, enableInputMethods, firePropertyChange, getAccessibleIndexInParent, getAccessibleStateSet, getBackground, getBounds, getBounds, getColorModel, getComponentOrientation, getCursor, getDropTarget, getFont_NoClientCode, getFont, getFontMetrics, getForeground, getGraphics, getGraphicsConfiguration, getHeight, getInputContext, getInputMethodRequests, getLocation, getLocation, getLocationOnScreen_NoTreeLock, getLocationOnScreen, getName, getNativeContainer, getParent_NoClientCode, getParent, getPeer, getSize, getSize, getToolkit, getToolkitImpl, getTreeLock, getWidth, getWindowForObject, getX, getY, gotFocus, handleEvent, hasFocus, hide, imageUpdate, inside, isDisplayable, isDoubleBuffered, isEnabled, isEnabledImpl, isFocusTraversable, isLightweight, isOpaque, isRecursivelyVisible, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, printAll, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processKeyEvent, processMouseEvent, processMouseMotionEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, repaint, requestFocus, resetGC, reshape, setBackground, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setEnabled, setForeground, setLocale, setLocation, setLocation, setName, setSize, setSize, setVisible, show, show, size, toString, transferFocus
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, registerNatives, wait, wait, wait
 

Field Detail

VERSION

public static final java.lang.String VERSION

FECHA

public static final java.lang.String FECHA

URLBase

public static java.net.URL URLBase

painted

private boolean painted

xfac

private float xfac

prevX

private int prevX

prevY

private int prevY

xalfa

private float xalfa

yalfa

private float yalfa

escala

private float escala

grados

private int grados

dimensiones

private float[] dimensiones

edif

private Objeto3D edif

suelo

private Objeto3D suelo

amat

private Matrix3D amat

tmat

private Matrix3D tmat

samat

private Matrix3D samat

stmat

private Matrix3D stmat

INITX

public static final float INITX

INITY

public static final float INITY

INITZ

public static final float INITZ

INITXSup

public static final float INITXSup

INITZSup

public static final float INITZSup

INITROJO

public static final int INITROJO

INITVERDE

public static final int INITVERDE

INITAZUL

public static final int INITAZUL

INITROJOEDIF

public static final int INITROJOEDIF

INITVERDEEDIF

public static final int INITVERDEEDIF

INITAZULEDIF

public static final int INITAZULEDIF

INITROJOSUELO

public static final int INITROJOSUELO

INITVERDESUELO

public static final int INITVERDESUELO

INITAZULSUELO

public static final int INITAZULSUELO

INITCOLORTRANSP

public static final int INITCOLORTRANSP

rojo

private int rojo

verde

private int verde

azul

private int azul

rojoEdif

private int rojoEdif

OFFSETROJO

private static final int OFFSETROJO

OFFSETAZUL

private static final int OFFSETAZUL

rojoTejado

private int rojoTejado

azulLateral

private int azulLateral

verdeEdif

private int verdeEdif

azulEdif

private int azulEdif

rojoSuelo

private int rojoSuelo

verdeSuelo

private int verdeSuelo

azulSuelo

private int azulSuelo

transparencia

private int transparencia

MAXPISOS

public static final int MAXPISOS

ALTURAPISOMINIMA

private static final float ALTURAPISOMINIMA

largo

private float largo

ancho

private float ancho

alto

public float alto

largoSup

private float largoSup

altoSup

public float altoSup

factorZ

private float factorZ

factorX

private float factorX

PISOTIPO

public static final float PISOTIPO

ROTIPO

public static final int ROTIPO

VIDRIOTIPO

public static final float VIDRIOTIPO

MUROTIPO

public static final float MUROTIPO

TRANSVIDRIOTIPO

public static final float TRANSVIDRIOTIPO

SOMBRATIPO

public static final float SOMBRATIPO

alturaPiso

private float alturaPiso

beta

private int beta

vidrio

private float vidrio

muro

private float muro

transVidrio

private float transVidrio

sombra

private float sombra

nPisosBajoTemp

private int nPisosBajoTemp

nPisosAltoTemp

private int nPisosAltoTemp

alturaPisoTemp

private float alturaPisoTemp

largoTemp

private float largoTemp

anchoTemp

private float anchoTemp

altoTemp

private float altoTemp

largoSupTemp

private float largoSupTemp

altoSupTemp

private float altoSupTemp

betaTemp

private int betaTemp

vidrioTemp

private float vidrioTemp

muroTemp

private float muroTemp

transVidrioTemp

private float transVidrioTemp

sombraTemp

private float sombraTemp

xfacTemp

private float xfacTemp

escalaInicial

private float escalaInicial

infoPanel

private java.awt.Panel infoPanel

infoLabel

java.awt.Label infoLabel

infoSi

private boolean infoSi

edificio

private Geometria3D edificio

baseDef

private Geometria3D baseDef

message

private java.lang.String message

messageSuelo

private java.lang.String messageSuelo

menus

private MenuFrame menus

acabar

private boolean acabar

mostrarPisos

private boolean mostrarPisos

mostrarCuadricula

private boolean mostrarCuadricula

offScreenImage

private java.awt.Image offScreenImage

offScreenSize

private java.awt.Dimension offScreenSize

offScreenGraphics

private java.awt.Graphics offScreenGraphics

myThread

private java.lang.Thread myThread
Constructor Detail

Fotorred

public Fotorred()
Method Detail

init

public void init()
Establece el color de fondo inicial, el "layout" y determina los límites de la ventana principal. También lee las descripciones geométricas de los modelos 3D.
Overrides:
init in class java.applet.Applet

rotInit

private void rotInit(int grad,
                     int incr)
Aplica rotación a los modelos 3D en torno al eje Z y en sentido horario. Permite al usuario rotar el edificio sobre el plano del suelo.
Parameters:
grad - grados de rotación para perspectiva inicial (se aplica al edificio y al suelo).
incr - grados de rotación seleccionados por el usuario (sólo se aplica al edificio).

start

public void start()
Este método es ejecutado por el navegador cada vez que se cargar la página HTML que contiene el applet. Se ocupa de crear y comenzar la ejecución de los "threads" y mostrar la barra de menús.
Overrides:
start in class java.applet.Applet

run

public void run()
Crea los modelos tridimensionales iniciales y los muestra en pantalla.
Specified by:
run in interface java.lang.Runnable

crearModelos

private void crearModelos()
Genera los modelos tridimensionales, determina sus límites exteriores y determina el factor de escala.

escalar

private float escalar(Objeto3D modelo)
Calcula el factor de escala adecuado para mostrar un objeto 3D en el espacio disponible de la pantalla.
Parameters:
modelo - Modelo tridimensional del que se va a calcular el factor de escala.
Returns:
Factor de escala resultante.

mouseDown

public boolean mouseDown(java.awt.Event e,
                         int x,
                         int y)
Determinar las coordenadas del punto donde el usuario ha pinchado con el ratón. Al pinchar con el botón derecho del ratón la barra de menús se coloca en la posición seleccionada.
Overrides:
mouseDown in class java.awt.Component
Parameters:
e - Evento procedente del ratón.
x - Coordenada sobre el eje X de la pantalla.
y - Coordenada sobre el eje Y de la pantalla.

mouseDrag

public boolean mouseDrag(java.awt.Event e,
                         int x,
                         int y)
Se ejecuta cuando el usuario arrastra el ratón para cambiar el punto de vista. Inicializa las matrices de movimientos del edificio y el suelo, Calcula los ángulos de rotación en torno a los ejes X e Y de la pantalla. Aplica las rotaciones necesarias para variar el punto de vista sobre el conjunto.
Overrides:
mouseDrag in class java.awt.Component
Parameters:
e - Evento procedente del ratón.
x - Coordenada final del arrastre sobre el eje X de la pantalla.
y - Coordenada final del arrastre sobre el eje Y de la pantalla.

rotar

private void rotar(Matrix3D mat1,
                   Matrix3D mat2,
                   float angX,
                   float angY)
Aplicar rotaciones sobre los ejes X e Y de la pantalla.
Parameters:
mat1 - Matriz de coordenadas 3D transformadas.
mat2 - Matriz de coordenadas 3D a transformar.
angX - Ángulo a rotar en torno al eje X.
angY - Ángulo a rotar en torno al eje Y.

redraw

public void redraw()
Crea nuevos modelos 3D a partir de los valores seleccionados por el usuario y los muestra en la posición inicial.

update

public final void update(java.awt.Graphics g)
Permite utilizar "Double Buffering" para evitar parpadeo de la imagen.
Overrides:
update in class java.awt.Container
Parameters:
g - Entorno gráfico donde dibujar.

stop

public void stop()
Lo ejecuta el navegador al abandonar la página HTML. Se encarga de ocultar la barra flotante de menús cuando ya no hace falta.
Overrides:
stop in class java.applet.Applet

paint

public void paint(java.awt.Graphics g)
Rutina de representación gráfica. Controla la visualización de la línea de información adicional. Escala y transforma las matrices de los objetos 3D antes de mostrarlos. Determina el orden de visualización de los objetos 3D en función de su distancia al observador. Llama las rutinas de representación gráfica de todos los objetos 3D.
Overrides:
paint in class java.awt.Container
Parameters:
g - Entorno gráfico donde dibujar.

setPainted

private void setPainted()
Establece el flag control gráfico y notifica a los objetos "observadores" que se acaba de actualizar la representación en pantalla.

updateDim

public void updateDim(float larg,
                      float anch,
                      float alt)
A instancias del usuario, se solicita la creación de un nuevo modelo del edificio con nuevas dimensiones sobre los ejes X, Y, Z.
Parameters:
larg - Nueva longitud del edificio (en metros).
anch - Nuevo valor de la anchura en metros.
alt - Altura en metros.

updateDimSup

public void updateDimSup(float largSup,
                         float altSup)
El usuario ha modificado las dimensiones de la parte superior del edificio. Es necesario crear un nuevo edificio.
Parameters:
largSup - Longitud de la parte superior del edificio (en metros).
altSup - Altura de la parte superior del edificio (en metros).

nuevoEdif

private void nuevoEdif()
Crea un nuevo modelo tridimensional del edificio y lo muestra en pantalla en su posición inicial. Calcula los factores geométricos sobre el eje Z e Y para definir la forma del edificio. Evita que valores muy cercanos a 0 causen errores de ejecución.

leerGeometria

private void leerGeometria()
A partir de las opciones seleccionadas por el usuario prepara la creación de un nuevo modelo 3D del edificio. Controla varias situaciones de posibles errores.

leerGeometriaSuelo

private void leerGeometriaSuelo()
Prepara la creación de un nuevo modelo 3D del plano del suelo (con o sin cuadrícula).

updateColor

public void updateColor(float roj,
                        float verd,
                        float azu)
Permite modificar el color de fondo en la ventana principal del programa.
Parameters:
roj - Nivel de color rojo (valor entero entre 0 y 255)
verd - Grado de color verde.
azu - Nivel de color azul.

updateColorEdif

public void updateColorEdif(float roj,
                            float verd,
                            float azu)
Permite modificar el color del modelo 3D del edificio. Se crea un nuevo modelo del edificio, por lo que se recoloca en su posición inicial.
Parameters:
roj - Grado de color rojo (valor entero entre 0 y 255).
verd - Grado de color verde (valor entero entre 0 y 255).
azu - Grado de color azul (valor entero entre 0 y 255).

updateColorSuelo

public void updateColorSuelo(float roj,
                             float verd,
                             float azu)
Cambia el color del modelo 3D del plano del suelo.
Parameters:
roj - Nivel de color rojo.
verd - Nivel de color verde.
azu - Nivel de color azul.

updateTranspColor

public void updateTranspColor(float transp)
Modifica el grado de transparencia de los colores del edificio y el suelo.
Parameters:
transp - Grado de transparencia (float entre 0 y 1)

updateRot

public void updateRot(int angulo)
Gira el edificio sobre el suelo en sentido horario (en torno al eje Z). Se crea un nuevo modelo del edificio, por lo que el punto de vista se recoloca en su posición inicial.
Parameters:
angulo - Ángulo de rotación en grados.

updateZoom

public void updateZoom(int increm)
Modifica el factor de zoom de la representación gráfica en pantalla. Los modelos 3D no se reinicializan.
Parameters:
increm - Valor entero porcentual del factor de zoom de la imagen.

restaurarZoom

private void restaurarZoom(float factor)
Restaura el valor de zoom original para mostrar el edificio tipo.
Parameters:
factor - Factor de zoom.

updatePiso

public void updatePiso(float altNew)
Modifica la altura de los pisos.
Parameters:
altNew - Nuevo valor de la altura de piso en metros.

updateVidrio

public void updateVidrio(float vidrioNew)
Modifica el porcentaje de superficie acristalada del edificio.
Parameters:
vidrioNew - Nuevo valor del porcentaje de vidrio.

updateMuro

public void updateMuro(float muroNew)
Modifica el coeficiente de transmisión del muro.
Parameters:
Nuevo - valor del coeficiente de transmisión del muro empleado.

updateCoefVidrio

public void updateCoefVidrio(float coefVidrioNew)
Modifica el coeficiente de transmisión del vidrio.
Parameters:
Nuevo - valor del coeficiente de transmisión del tipo de vidrio empleado.

updateSombra

public void updateSombra(float sombraNew)
Modifica el factor de sombra del vidrio.
Parameters:
Nuevo - valor del factor de sombra del vidrio empleado.

tipo

public void tipo()
Reconstruye el edificio tipo para mostrarlo en pantalla.

getDim

public float[] getDim()
Obtiene las dimensiones actuales del edificio, tanto en su parte inferior como superior.
Returns:
Array de "floats" conteniendo las dimensiones del edificio

getVidrio

public float getVidrio()
Obtiene el valor actual del porcentaje de superficie acristalada del edificio.
Returns:
Porcentaje de vidrio del edificio.

getMuro

public float getMuro()
Obtiene el valor del coeficiente de transmisión del muro del edificio.
Returns:
Coeficiente de transmisión del muro.

getTransVidrio

public float getTransVidrio()
Obtiene el valor del coeficiente de transmisión del vidrio empleado en el edificio.
Returns:
Coeficiente de transmisión del vidrio.

getSombra

public float getSombra()
Obtiene el valor del factor de sombra del vidrio empleado en el edificio.
Returns:
Valor actual del factor de sombra del vidrio.

toggleInfo

public void toggleInfo(boolean infoState)
Muestra u oculta la línea de información de la parte inferior de la pantalla.
Parameters:
infoState - Flag para controlar la visualización (True: mostrar info. False: Ocultar).

togglePlantas

public void togglePlantas(boolean infoState)
Muestra u oculta todos los pisos en el modelo 3D del edificio.
Parameters:
infoState - Flag para controlar la visualización (True: mostrar pisos. False: Ocultar).

toggleCuadricula

public void toggleCuadricula(boolean infoState)
Muestra u oculta todos la cuadrícula en el modelo 3D del suelo.
Parameters:
infoState - Flag para controlar la visualización (True: mostrar cuadrícula. False: Ocultar).

mostrarTipo

public void mostrarTipo(boolean state)
Muestra u oculta el modelo del edificio tipo.
Parameters:
state. - Flag para controla la visualización del edificio tipo. (True: Mostrar edificio tipo. False: Ocultar el edificio tipo y mostrar el edificio bajo simulación).

cargarModelo

public void cargarModelo(float[] float_data)
Reconstruye un ejemplo de simulación con los datos leídos desde un fichero. Este método es llamado desde la clase LoadDialog.
Parameters:
float_data - Datos del modelo.

destroy

public void destroy()
Rutina de finalización llamada por el navegador cuando el applet ya no es visible (después de ejecutar stop). Cierra todas las ventanas abiertas y la barra de menús flotante. Ejecuta las rutinas de finalización de objetos y llama al "garbage collector".
Overrides:
destroy in class java.applet.Applet

getParameterInfo

public java.lang.String[][] getParameterInfo()
Obtiene información sobre los parámetros modificables en la página HTML del applet.
Overrides:
getParameterInfo in class java.applet.Applet
Returns:
Array bidimensional de "strings" contenniendo los parámetros disponibles y su descripción (de momento ninguno)

getAppletInfo

public java.lang.String getAppletInfo()
Muestra información sobre el autor y la versión del programa.
Overrides:
getAppletInfo in class java.applet.Applet
Returns:
Cadena de caracteres con información referente al autor y versión.