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

xyaxlg.h

Go to the documentation of this file.
00001 //* Módulo   : xyaxlg.h                                                          
00002 // _Desc_    : Declara classe XYLogAxis.
00003 // _Autores_ : Carlos Henrique Levy e Jaudênia Cavalcante.                       
00004 // _Data_    : 02 mai 96.                                                         
00005 
00006 #ifndef __XYLOGAXIS_H
00007 #define __XYLOGAXIS_H
00008 
00009 #include "xyax.h"
00010 
00011 //* XYLogAxis                                                               
00012 //    Classe especializada que define um eixo 
00013 // com escala logaritmica.        
00014 class XYLogAxis: public XYAxis
00015 {
00016    public:
00017 
00018  //* Construtores e Destrutor
00019    //* Construtor A
00020    XYLogAxis (
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    XYLogAxis (
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 XYLogAxis
00047    virtual ~XYLogAxis (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    //* Transforma coordenada em logaritmica
00058    virtual double transform (double e) const;
00059 
00060    //* Método que retorna o valor sobre o eixo no ponto dado
00061    virtual double valueInPoint(int x0, int y0) const;
00062    //* Método que retorna o valor sobre o eixo no ponto dado
00063    virtual double valueInPoint(double x0, double y0) const;
00064    //* Método que retorna o ponto sobre o eixo no valor dado
00065    virtual void pointInValue(double value, int& x0, int& y0) const;
00066    //* Método que retorna o ponto sobre o eixo no valor dado
00067    virtual void pointInValue(double value, double& x0, double& y0) const;
00068 
00069  //* Métodos de Draw
00070    //* Desenha eixo logarítmico
00071    virtual void draw (void);
00072    //* Desenha eixo logarítmico numa região
00073    virtual void draw (int xmin, int ymin, int xmax, int ymax) const;
00074 
00075  //* BoundingBox
00076    //* Retorna menor retângulo que contém o eixo, suas coordenadas são dadas em pixel
00077    virtual void boundingBox (int& bxmin, int& bymin, int& bxmax, int& bymax) const;
00078 
00079 };
00080 
00081 #endif
00082 

XY
Tecgraf / PUC-Rio - Computer Graphics Technology Group