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

xyaxpl.h

Go to the documentation of this file.
00001 //* Módulo   : xyaxpl.h                                                          
00002 // _Desc_    : Declara classe XYPolarAxis.
00003 // _Autores_ : Camilo da Foseca Freire.                                            
00004 // _Data_    : 06 jul 96.                                                           
00005 
00006 #ifndef __XYPOLARAXIS_H
00007 #define __XYPOLARAXIS_H
00008 
00009 #include "xyax.h"
00010  
00011 //* XYPolarAxis                                                                
00012 //   Classe especializada que define um eixo polar.                         
00013 class XYPolarAxis: public XYAxis
00014 {
00015    public:
00016 
00017  //* Construtores e Destrutor
00018    //* Construtor A
00019    XYPolarAxis (
00020         double radius,  // raio máximo do eixo
00021         XYCoordinate x, // referência para a coordenada x
00022         XYCoordinate y, // referência para a coordenada y
00023         long color,     // cor do eixo
00024         double size,    // tamanho normalizado do eixo
00025         double rot,     // ângulo, em graus, no sentido anti-horário
00026         double step,    // passo normalizado dos ticks da escala
00027         XYScaleDecorator* decor, // decorador da escala
00028         XYText* title,        // texto a ser desenhado com o eixo
00029         xybool arrow = xytrue,    // seta terminadora (xytrue or xyfalse)
00030         xybool visible = xytrue); // visibilidade
00031 
00032    //* Construtor B
00033    XYPolarAxis (
00034         double radius,  // raio máximo do eixo
00035         XYCoordinate x, // referência para a coordenada x
00036         XYCoordinate y, // referência para a coordenada y
00037         long color,     // cor do eixo
00038         double size,    // tamanho normalizado do eixo
00039         double rot,        // ângulo, em graus, no sentido anti-horário
00040         xybool arrow = xytrue, // seta terminadora (xytrue or xyfalse)
00041         xybool visible = xytrue); // visibilidade
00042 
00043    //* Destrutor da classe XYPolarAxis
00044    virtual ~XYPolarAxis (void) {};
00045 
00046  //* Transformações   
00047    //* Converte coordenadas polares para coordenadas cartesianas
00048    virtual void polar2cart (double radius, double alpha, double& x, double & y)
00049                                         const;
00050 
00051  //* Métodos de Draw
00052    //* Desenha eixo polar
00053    virtual void draw (void);
00054    //* Desenha eixo polar numa região
00055    virtual void draw (int xmin, int ymin, int xmax, int ymax) const;
00056 
00057  //* BoundingBox
00058    //* Retorna menor retângulo que contém o eixo, suas coordenadas estão em pixel
00059    virtual void boundingBox (int& bxmin, int& bymin, int& bxmax, int& bymax)
00060                                          const;
00061 
00062  //* Define/Consulta atributos
00063    //* Retorna a coordenada do primeiro tick do eixo
00064    virtual void firstTick (double& tx1, double& ty1, double& tx2, double& ty2) const;
00065 
00066 };
00067 
00068 #endif
00069 

XY
Tecgraf / PUC-Rio - Computer Graphics Technology Group