00001 /*****************************************************************************/ 00002 /* Módulo: xymca.cpp */ 00003 /* Autores: Carlos Henrique Levy e Jaudênia Cavalcante */ 00004 /* Data: 29 jul 97 */ 00005 /* Comentário: */ 00006 /* Implementação de métodos da classe especializada que representa visual */ 00007 /* mente um conjunto de dados num gráfico cartesiano. */ 00008 /*****************************************************************************/ 00009 00010 #include "xymca.h" 00011 00012 const char* xy_id_xymca_cpp="$Id: xymca.cpp,v 1.5 2003/01/03 17:35:41 clinio Exp $"; 00013 00014 void XYCartesianMask::x_axis (const XYAxis* ax) 00015 { 00016 _x_axis = ax; 00017 } 00018 00019 const XYAxis* XYCartesianMask::x_axis (void) const 00020 { 00021 return _x_axis; 00022 } 00023 00024 void XYCartesianMask::y_axis (const XYAxis* ay) 00025 { 00026 _y_axis = ay; 00027 } 00028 00029 const XYAxis* XYCartesianMask::y_axis (void) const 00030 { 00031 return _y_axis; 00032 } 00033 00034 void XYCartesianMask::setMacWindow(void) const { 00035 double xrad = cos(_x_axis->rotation() / 180.0 * 3.1415); 00036 double yrad = sin(_y_axis->rotation() / 180.0 * 3.1415); 00037 double wxmn = _x_axis -> transform(_x_axis -> min()); 00038 double wxmx = _x_axis -> transform(_x_axis -> max()); 00039 double wymn = _y_axis -> transform(_y_axis -> min()); 00040 double wymx = _y_axis -> transform(_y_axis -> max()); 00041 setWindow ( 00042 xrad < 0 ? wxmx : wxmn, 00043 xrad < 0 ? wxmn : wxmx, 00044 yrad < 0 ? wymx : wymn, 00045 yrad < 0 ? wymn : wymx 00046 ); 00047 } 00048