00001 //------------------------------------------------------------------- 00002 // 00003 // File: TxLinePlotDesc.h 00004 // 00005 // Purpose: Interface of a class that holds data describing a line plot 00006 // 00007 // Version: $Id: TxLinePlotDesc.h,v 1.1 2001/09/21 21:35:29 kgl Exp $ 00008 // 00009 // Copyright 1996-2001, Tech-X Corporation 00010 // 00011 //------------------------------------------------------------------- 00012 00013 00014 #ifndef TX_LINE_PLOT_DESC_H 00015 #define TX_LINE_PLOT_DESC_H 00016 00017 // txbase includes 00018 #include <txc_string.h> 00019 #include <txc_vector.h> 00020 00021 // txid includes 00022 #include "TxDataSeries.h" 00023 class TxLinePlotData; 00024 00037 class TxLinePlotDesc { 00038 00039 public: 00040 00042 TxLinePlotDesc(); 00044 TxLinePlotDesc(const TxLinePlotData*); 00045 00050 TxLinePlotDesc(const TxLinePlotData*, const TXSTD::string&, const TXSTD::string&, 00051 const TXSTD::string&, int, int); 00052 00054 TxLinePlotDesc(const TxLinePlotDesc&); 00056 const TxLinePlotDesc& operator=(const TxLinePlotDesc&); 00058 virtual ~TxLinePlotDesc(){} 00059 00061 const TXSTD::string getTitle() const { return title;} 00062 00064 const TXSTD::string getXLabel() const { return xLabel;} 00065 00067 const TXSTD::string getYLabel() const { return yLabel;} 00068 00070 double getXMin() const { return xMin;} 00071 00073 double getXMax() const { return xMax;} 00074 00076 double getYMin() const { return yMin;} 00077 00079 double getYMax() const { return yMax;} 00080 00082 double getXMinPlot() const { return xMinPlot;} 00083 00085 double getXMaxPlot() const { return xMaxPlot;} 00086 00088 double getYMinPlot() const { return yMinPlot;} 00089 00091 double getYMaxPlot() const { return yMaxPlot;} 00092 00094 void setXMin(double); 00095 00097 void setXMinPlot(double); 00098 00100 void setXMinAuto(int); 00101 00103 void setXMinNice(int); 00104 00106 void setXMax(double); 00107 00109 void setXMaxPlot(double); 00110 00112 void setXMaxAuto(int); 00113 00115 void setXMaxNice(int); 00116 00118 void setYMin(double); 00119 00121 void setYMinPlot(double); 00122 00124 void setYMinAuto(int); 00125 00127 void setYMinNice(int); 00128 00130 void setYMax(double); 00131 00133 void setYMaxPlot(double); 00134 00136 void setYMaxAuto(int); 00137 00139 void setYMaxNice(int); 00140 00142 void updateXMin(int); 00143 00145 void updateXMax(int); 00146 00148 void updateYMin(int); 00149 00151 void updateYMax(int); 00152 00154 void calcLims() { 00155 calcXMin(); 00156 calcXMax(); 00157 calcYMin(); 00158 calcYMax(); 00159 } 00160 00162 void calcXMin(); 00163 00165 void calcXMax(); 00167 void calcYMin(); 00168 00170 void calcYMax(); 00171 00176 void appendSeries(int, int); 00177 00179 int getNumSeries(){ return txDataSeries.size();} 00180 00185 int getXIndex(int iseries){ return txDataSeries[iseries].getXIndex();} 00186 00191 int getYIndex(int iseries){ return txDataSeries[iseries].getYIndex();} 00192 00194 friend ostream& operator<<(ostream&, const TxLinePlotDesc&); 00195 00196 private: 00197 00199 TXSTD::string xLabel; 00201 TXSTD::string yLabel; 00203 TXSTD::string title; 00204 00206 const TxLinePlotData* txLinePlotData; 00207 00212 TXSTD::vector<TxDataSeries> txDataSeries; 00213 00215 double xMin; 00217 mutable double xMinPlot; 00219 int xMinAuto; 00221 int xMinNice; 00222 00224 double xMax; 00226 mutable double xMaxPlot; 00228 int xMaxAuto; 00230 int xMaxNice; 00231 00233 double yMin; 00235 double yMinPlot; 00237 int yMinAuto; 00239 int yMinNice; 00240 00242 double yMax; 00244 double yMaxPlot; 00246 int yMaxAuto; 00248 int yMaxNice; 00249 00250 }; 00251 00252 #endif // TX_LINE_PLOT_DESC_H
Copyright Tech-X Corporation, all rights reserved.