Main Page   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members  

xyaxln.h

Go to the documentation of this file.
00001 //* Módulo   : xyaxln.h                                                          
00002 // _Desc_    : Declara classe XYLinearAxis.
00003 // _Autores_ : Carlos Henrique Levy e Jaudênia Cavalcante.                       
00004 // _Data_    : 06 mar 96.                                                           
00005 
00006 #ifndef __XYLINEARAXIS_H
00007 #define __XYLINEARAXIS_H
00008 
00009 #include "xyax.h"
00010 
00011 //* XYLinearAxis                                                               
00012 //    Classe especializada que define um eixo linear 
00013 // com escala decimal.     
00014 class XYLinearAxis: public XYAxis
00015 {
00016    public:
00017 
00018  //* Construtores e Destrutor
00019    //* Construtor A
00020    XYLinearAxis (
00021         double mn,        // valor mínimo que o eixo representa (assume)
00022         double mx,        // valor máximo que o eixo representa (assume)
00023         XYCoordinate x,   // referência para a coordenada x
00024         XYCoordinate y,   // referência para a coordenada y
00025         long color,       // cor do eixo
00026         double size,      // tamanho normalizado do eixo
00027         double rot,       // ângulo, em graus, no sentido anti-horário
00028         double step,      // passo normalizado dos ticks da escala
00029         XYScaleDecorator* decor, // decorador da escala
00030         XYText* title,        // texto a ser desenhado com o eixo
00031         xybool arrow = xytrue,    // seta terminadora (xytrue or xyfalse)
00032         xybool visible = xytrue); // visibilidade
00033 
00034    //* Construtor B
00035    XYLinearAxis (
00036         double mn,      // valor mínimo que o eixo representa (assume)
00037         double mx,      // valor máximo que o eixo representa (assume)
00038         XYCoordinate x, // referência para a coordenada x
00039         XYCoordinate y, // referência para a coordenada y
00040         long color,     // cor do eixo
00041         double size,    // tamanho normalizado do eixo
00042         double rot,     // ângulo, em graus, no sentido anti-horário
00043         xybool arrow = xytrue,    // seta terminadora (xytrue or xyfalse)
00044         xybool visible = xytrue); // visibilidade
00045 
00046    //* Destrutor da classe XYLinearAxis
00047    virtual ~XYLinearAxis (void) {};
00048 
00049  //* Mínimos/Máximos
00050    //* Método que calcula o valor mínimo do eixo quando um determinado valor sobre ele, anteriormente numa determinada posição, é deslocado para a nova posição (x0, y0)
00051    virtual double defineMinPoint(double value, int x0, int y0) const;
00052 
00053    //* Método que calcula o valor máximo do eixo quando um determinado valor sobre ele, anteriormente numa determinada posição, é deslocado para a nova posição (x0, y0)
00054    virtual double defineMaxPoint(double value, int x0, int y0) const;
00055 
00056  //* Transformações   
00057    //* Método que retorna o valor sobre o eixo no ponto dado
00058    virtual double valueInPoint(int x0, int y0) const;
00059    //* Método que retorna o valor sobre o eixo no ponto dado
00060    virtual double valueInPoint(double x0, double y0) const;
00061    //* Método que retorna o ponto sobre o eixo no valor dado
00062    virtual void pointInValue(double value, int& x0, int& y0) const;
00063    //* Método que retorna o ponto sobre o eixo no valor dado
00064    virtual void pointInValue(double value, double& x0, double& y0) const;
00065 
00066  //* Métodos de Draw
00067    //* Desenha eixo linear
00068    virtual void draw (void);
00069    //* Desenha eixo linear numa região
00070    virtual void draw (int xmin, int ymin, int xmax, int ymax) const;
00071 
00072  //* BoundingBox
00073    //* Retorna menor retângulo que contém o eixo, suas coordenadas são dadas em pixel
00074    virtual void boundingBox (int& bxmin, int& bymin, int& bxmax, int& bymax) const;
00075 
00076 };
00077 
00078 #endif
00079 

XY
Tecgraf / PUC-Rio - Computer Graphics Technology Group