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

TxLinePlotDesc.h

Go to the documentation of this file.
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.