chuidiang.graficos
Class EscalaGraficaPolar

java.lang.Object
  extended by chuidiang.graficos.EscalaGraficaPolar
All Implemented Interfaces:
InterfaceEscalaGrafica
Direct Known Subclasses:
EscalaGraficaPolar2

public class EscalaGraficaPolar
extends java.lang.Object
implements InterfaceEscalaGrafica

Clase encargada de transformar coordenadas de usuario en pixels y viceversa en gráficos con coordenadas polares.


Field Summary
protected  EscalaGraficaCartesiana escala
          Los polares se convierten a cartesiana y se delega en esta clase
 
Constructor Summary
EscalaGraficaPolar()
          Crea un nuevo objeto de la clase EscalaGraficaPolar.
 
Method Summary
 void anhadeObservador(ObservadorEscalaGrafica unObservador)
          Añade un observador a la lista d eobservadores para avisarle cuando haya cambio en los extremos del gráfico.
 java.awt.geom.Point2D dameCoordenadaUsuario(java.awt.geom.Point2D punto)
          Devuelve las coordenadas de usuario de un punto expresado en pixels.
 java.awt.geom.Rectangle2D dameExtremos()
          Devuelve el area de dibujo en coordenadas polares de usuario.
 void eliminaObservador(ObservadorEscalaGrafica unObservador)
          Elimina el observador que se le pasa de la lista de observadores.
 java.awt.geom.Rectangle2D getExtremosCartesianos()
          Devuelve un rectangulo con los extremos cartesianos del gráfico.
 InterfaceZoomable getZoomable()
          Devuelve una clase adecuada para hacer zoom en un gráfico con una EscalaGraficaPolar
 void pintaArco(java.awt.geom.Point2D centro, double ancho, double alto, double arcoInicial, double arcoFinal, java.awt.Color color)
          Dibuja un arco.
 void pintaArcoRelleno(java.awt.geom.Point2D centro, double ancho, double alto, double arcoInicial, double arcoFinal, java.awt.Color color)
          Dibuja un arco relleno.
 void pintaEjeX(double y, java.awt.Color color)
          Dibuja un eje de las x (radio) en la coordenada y (con angulo determinado).
 void pintaEjeY(double x, java.awt.Color color)
          Pinta el eje de los angulos, es decir un circulo del radio x del centro que se pasa.
 void pintaImagen(java.awt.geom.Point2D posicion, java.awt.Image imagen)
          Dibuja la imagen que se le pasa en la posición indicada.
 void pintaPoliLinea(java.awt.geom.Point2D[] puntos, java.awt.Color color)
          Dibuja una polígono abierto, uniendo consecutivamente los puntos de puntos.
 void pintaPuntos(java.awt.geom.Point2D[] puntos, java.awt.Color color)
          Pinta puntos de un mismo color.
 void pintaPuntos(java.awt.geom.Point2D[] puntos, java.awt.Color[] color)
          Dibuja los puntos que se le pasan.
 void pintaRectanguloRelleno(java.awt.geom.Point2D esquina, double ancho, double alto, java.awt.Color color)
          Pinta un rectángulo relleno.
 void pintaRectanguloRelleno3D(java.awt.geom.Point2D esquina, double ancho, double alto, java.awt.Color color, boolean elevado)
          Pinta un rectángulo relleno en 3D.
 void pintaTexto(java.awt.geom.Point2D posicion, java.lang.String texto, java.awt.Color color)
          Dibuja un texto en la posición indicada.
 void tomaExtremos(double rMin, double tMin, double rMax, double tMax)
          Se le pasan los límites para el gráfico polar.
 void tomaExtremosCartesianos(double xMin, double yMin, double xMax, double yMax)
          Se le pasan los límites cartesianos para dibujar.
 void tomaGraphics(java.awt.Graphics g, int ancho, int alto)
          Se le pasa el Graphics sobre el que va a dibujar, así como el alto y ancho en pixels del área de dibujo.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

escala

protected EscalaGraficaCartesiana escala
Los polares se convierten a cartesiana y se delega en esta clase

Constructor Detail

EscalaGraficaPolar

public EscalaGraficaPolar()
Crea un nuevo objeto de la clase EscalaGraficaPolar.

Method Detail

getExtremosCartesianos

public java.awt.geom.Rectangle2D getExtremosCartesianos()
Devuelve un rectangulo con los extremos cartesianos del gráfico.

Returns:
Extremos cartesianos del gráfico.

getZoomable

public InterfaceZoomable getZoomable()
Devuelve una clase adecuada para hacer zoom en un gráfico con una EscalaGraficaPolar

Specified by:
getZoomable in interface InterfaceEscalaGrafica
Returns:
Clase para hacer zoom.

anhadeObservador

public void anhadeObservador(ObservadorEscalaGrafica unObservador)
Añade un observador a la lista d eobservadores para avisarle cuando haya cambio en los extremos del gráfico.

Specified by:
anhadeObservador in interface InterfaceEscalaGrafica
Parameters:
unObservador - El observador.

dameCoordenadaUsuario

public java.awt.geom.Point2D dameCoordenadaUsuario(java.awt.geom.Point2D punto)
Devuelve las coordenadas de usuario de un punto expresado en pixels.
Ütil para transformar coordenadas de un evento de ratón en coordenadas de usuario.

Specified by:
dameCoordenadaUsuario in interface InterfaceEscalaGrafica
Parameters:
punto - Punto con coordenadas en pixels.
Returns:
Punto con coordenadas de usuario.

dameExtremos

public java.awt.geom.Rectangle2D dameExtremos()
Devuelve el area de dibujo en coordenadas polares de usuario.

Specified by:
dameExtremos in interface InterfaceEscalaGrafica
Returns:
Rectangulo de dibujo.

eliminaObservador

public void eliminaObservador(ObservadorEscalaGrafica unObservador)
Elimina el observador que se le pasa de la lista de observadores.
Ya no le avisará de cambios en los límites del dibujo

Specified by:
eliminaObservador in interface InterfaceEscalaGrafica
Parameters:
unObservador - El observador a eliminar.

pintaArco

public void pintaArco(java.awt.geom.Point2D centro,
                      double ancho,
                      double alto,
                      double arcoInicial,
                      double arcoFinal,
                      java.awt.Color color)
Dibuja un arco.
El arco pertenece a una circunferencia que va inscrita en un rectángulo

Specified by:
pintaArco in interface InterfaceEscalaGrafica
Parameters:
esquina - Esquina del rectángulo.
ancho - Ancho del rectángulo.
alto - Alto del rectángulo.
arcoInicial - Angulo inicial del arco, en radianes.
arcoFinal - Angulo final del arco, en radianes.
color - Color del arco.

pintaArcoRelleno

public void pintaArcoRelleno(java.awt.geom.Point2D centro,
                             double ancho,
                             double alto,
                             double arcoInicial,
                             double arcoFinal,
                             java.awt.Color color)
Dibuja un arco relleno.
El arco pertenece a una circunferencia que va inscrita en un rectángulo

Specified by:
pintaArcoRelleno in interface InterfaceEscalaGrafica
Parameters:
esquina - Esquina del rectángulo.
ancho - Ancho del rectángulo.
alto - Alto del rectángulo.
arcoInicial - Angulo inicial del arco, en radianes.
arcoFinal - Angulo final del arco, en radianes.
color - Color del arco.

pintaEjeX

public void pintaEjeX(double y,
                      java.awt.Color color)
Dibuja un eje de las x (radio) en la coordenada y (con angulo determinado).

Specified by:
pintaEjeX in interface InterfaceEscalaGrafica
Parameters:
y - Coordenada y para dibujar el eje.
color - Color del eje.

pintaEjeY

public void pintaEjeY(double x,
                      java.awt.Color color)
Pinta el eje de los angulos, es decir un circulo del radio x del centro que se pasa.
El color

Specified by:
pintaEjeY in interface InterfaceEscalaGrafica
Parameters:
x - Radio para dibujar el círculo.
color - Color del círculo.

pintaPoliLinea

public void pintaPoliLinea(java.awt.geom.Point2D[] puntos,
                           java.awt.Color color)
Dibuja una polígono abierto, uniendo consecutivamente los puntos de puntos.

Specified by:
pintaPoliLinea in interface InterfaceEscalaGrafica
Parameters:
puntos - Puntos del polígono.
color - Color para el polígono.

pintaPuntos

public void pintaPuntos(java.awt.geom.Point2D[] puntos,
                        java.awt.Color[] color)
Dibuja los puntos que se le pasan.

Specified by:
pintaPuntos in interface InterfaceEscalaGrafica
Parameters:
puntos - Los puntos.
color - Color de cada uno de los puntos.

pintaPuntos

public void pintaPuntos(java.awt.geom.Point2D[] puntos,
                        java.awt.Color color)
Pinta puntos de un mismo color.

Specified by:
pintaPuntos in interface InterfaceEscalaGrafica
Parameters:
puntos - Los puntos.
color - Color para los puntos.

pintaRectanguloRelleno

public void pintaRectanguloRelleno(java.awt.geom.Point2D esquina,
                                   double ancho,
                                   double alto,
                                   java.awt.Color color)
Pinta un rectángulo relleno.

Specified by:
pintaRectanguloRelleno in interface InterfaceEscalaGrafica
Parameters:
esquina - esquina inferior izquierda del rectángulo.
ancho - Ancho del rectángulo.
alto - Alto del rectángulo.
color - Color del rectángulo.

pintaRectanguloRelleno3D

public void pintaRectanguloRelleno3D(java.awt.geom.Point2D esquina,
                                     double ancho,
                                     double alto,
                                     java.awt.Color color,
                                     boolean elevado)
Pinta un rectángulo relleno en 3D.

Specified by:
pintaRectanguloRelleno3D in interface InterfaceEscalaGrafica
Parameters:
esquina - Esquina inferior izquierda del rectángulo.
ancho - Ancho del rectángulo.
alto - Alto del rectángulo.
color - Color del rectángulo.
elevado - COMENTARIO.

pintaTexto

public void pintaTexto(java.awt.geom.Point2D posicion,
                       java.lang.String texto,
                       java.awt.Color color)
Dibuja un texto en la posición indicada.

Specified by:
pintaTexto in interface InterfaceEscalaGrafica
Parameters:
posicion - Posición del texto.
texto - El texto.
color - Color.

tomaExtremos

public void tomaExtremos(double rMin,
                         double tMin,
                         double rMax,
                         double tMax)
Se le pasan los límites para el gráfico polar.

Specified by:
tomaExtremos in interface InterfaceEscalaGrafica
Parameters:
rMin - Radio mínimo que se quiere dibujar.
tMin - Angulo mínimo en radianes.
rMax - Radio máximo.
tMax - Angulo máximo en radianes.

tomaExtremosCartesianos

public void tomaExtremosCartesianos(double xMin,
                                    double yMin,
                                    double xMax,
                                    double yMax)
Se le pasan los límites cartesianos para dibujar.
Las unidades son las del radio y se supone que van en vertical y horizontal

Parameters:
xMin - x minimo.
yMin - y minimo.
xMax - x maximo.
yMax - y maximo.

tomaGraphics

public void tomaGraphics(java.awt.Graphics g,
                         int ancho,
                         int alto)
Se le pasa el Graphics sobre el que va a dibujar, así como el alto y ancho en pixels del área de dibujo.

Specified by:
tomaGraphics in interface InterfaceEscalaGrafica
Parameters:
g - Graphics para dibujar.
ancho - Ancho en pixels del área de dibujo.
alto - Alto en pixels del área de dibujo.

pintaImagen

public void pintaImagen(java.awt.geom.Point2D posicion,
                        java.awt.Image imagen)
Dibuja la imagen que se le pasa en la posición indicada.

Specified by:
pintaImagen in interface InterfaceEscalaGrafica
Parameters:
posicion - La posición para dibujar la imágen
imagen - La imagen a dibujar