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

xyagrid.h

Go to the documentation of this file.
00001 //* Módulo   : xyagrid.h                                                         
00002 // _Desc_    : Declara classe XYAndGrid.
00003 // _Autores_ : Camilo da Fonseca Freire.                                         
00004 // _Data_    : 11 jul 96.                                                           
00005    
00006 #ifndef __XYANGGRID_H
00007 #define __XYANGGRID_H
00008 
00009 #include "xyax.h"
00010 
00011 //* XYAngGrid                                                               
00012 //  Classe que define um tipo especial de eixo que desenha raios a partir  
00013 // da origem do eixo, em intervalos angulares definidos pelo usuário.          
00014 class XYAngGrid: public XYAxis
00015 {
00016    public:
00017 
00018  //* Construtor e Destrutor
00019    //* Construtor da classe XYAngGrid
00020    XYAngGrid (
00021         double radius, // raio da grade
00022         double referenceAngle, // Referência para o início do desenho do grid
00023         long color,    // cor da grade
00024         double size,   // tamanho normalizado da grade
00025         double rot,    // ângulo, em graus, no sentido anti-horário
00026         double step,   // intervalo entre os raios
00027         xybool visible = xytrue);  // visibilidade
00028 
00029    //* Destrutor da classe XYAngGrid
00030    virtual ~XYAngGrid (void) {};
00031 
00032  //* Define/Consulta atributos
00033    //* Define raio
00034    virtual void radius (double r);
00035    //* Consulta raio
00036    virtual double radius (void) const;
00037 
00038    //* Define angulo de referencia para o inicio do grid
00039    virtual void referenceAngle (double r);
00040    //* Consulta angulo de referencia para o inicio do grid
00041    virtual double referenceAngle (void) const;
00042 
00043    //* Define primeiro raio na grade, [mx, mn]
00044    virtual void first (double f);
00045    //* Consulta primeiro raio na grade, [mx, mn]
00046    virtual double first (void) const;
00047 
00048    //* Define estilo da linha da grade
00049    virtual void style (int s);
00050    //* Consulta estilo da linha da grade
00051    virtual int style (void) const;
00052 
00053  //* Métodos de Pick
00054    //* Verifica se ponto está sobre linha da grade
00055    virtual xybool pointInGrid (int px, int py, int x0, int y0, int x1, int y1);
00056 
00057    //* Retorna xytrue se o ponto estiver sobre a grade
00058    virtual xybool pick (int px, int py);
00059 
00060  //* Métodos de Draw
00061    //* Desenha grade no canvas
00062    virtual void draw (void);
00063    //* Desenha grade numa região
00064    virtual void draw (int xmin, int ymin, int xmax, int ymax) const;
00065 
00066  //* BoundingBox
00067    //* Retorna menor retângulo que contém a grade, suas coordenadas estão em pixel
00068    virtual void boundingBox (int& xmin, int& ymin, int& xmax, int& ymax) const;
00069 
00070    private:
00071 
00072    double _radius; // raio na grade
00073    double _referenceAngle; // Angulo de referencia
00074    double _first;  // primeiro raio na grade
00075    int    _style;  // estilo da linha da grade
00076 };
00077 
00078 #endif
00079 

XY
Tecgraf / PUC-Rio - Computer Graphics Technology Group