** This is part of the CTSim program
** Copyright (C) 1983-2000 Kevin Rosenberg
**
-** $Id: ezplot.h,v 1.20 2000/12/23 18:12:35 kevin Exp $
+** $Id: ezplot.h,v 1.21 2000/12/25 21:54:26 kevin Exp $
**
** This program is free software; you can redistribute it and/or modify
** it under the terms of the GNU General Public License (version 2) as
double *x;
double *y;
int m_iPointCount;
- int m_iLineStyle;
- int m_iSymbol;
- int m_iSymbolFreq;
- int m_iColor;
- std::string m_sLegend;
- EZPlotCurve (const double* x, const double* y, int n, int color, int linestyle, int symbol, int sumbolFreq, const std::string& legend);
+ EZPlotCurve (const double* x, const double* y, int n);
~EZPlotCurve();
};
enum {
S_DATA = 2,
S_HELP,
- S_EXIT,
+ S_EXIT,\r
+ S_CURVE,
S_SOLID,
S_DASH,
S_NOLINE,
static const int NKEYS;\r
std::vector<class EZPlotCurve*> m_vecCurves;
-
+ std::vector<int> m_veciColor;\r
+ std::vector<bool> m_vecbColorSet;\r
+ std::vector<int> m_veciSymbol;\r
+ std::vector<bool> m_vecbSymbolSet;\r
+ std::vector<int> m_veciSymbolFreq;\r
+ std::vector<bool> m_vecbSymbolFreqSet;\r
+ std::vector<int> m_veciLinestyle;\r
+ std::vector<bool> m_vecbLinestyleSet;\r
+ std::vector<std::string> m_vecsLegend;\r
+ std::vector<bool> m_vecbLegendSet;\r
+\r
+ int getColor (unsigned int iCurve) const;\r
+ int getSymbol (unsigned int iCurve) const;\r
+ const std::string* getLegend (unsigned int iCurve) const;\r
+ int getSymbolFreq (unsigned int iCurve) const;\r
+ int getLinestyle (unsigned int iCurve) const;\r
+\r
+ void setColor (unsigned int iCurve, int iColor);\r
+ void setSymbol (unsigned int iCurve, int iSymbol);\r
+ void setSymbolFreq (unsigned int iCurve, int iSymbolFreq);\r
+ void setLinestyle (unsigned int iCurve, int iLinestyle);\r
+ void setLegend (unsigned int iCurve, const std::string& strLegend);\r
+ void setLegend (unsigned int iCurve, const char* const pszLegend);\r
+\r
+ int m_iCurrentCurve;\r
+
// Colors
int clr_axis; // color of all axis lines
int clr_title; // color of main title
std::string c_xlabel; // label for x axis
std::string c_ylabel; // label for y axis
std::string c_title; // title to print above graph
- std::string c_legend;; // current legend specified
int o_linestyle, o_color; // style to use for curves all subsequent curves to EZPLOT
int o_xaxis, o_yaxis; // Specifies where axis & labels are drawn
double m_dVP_xscale, m_dVP_yscale;
double m_xWorldScale, m_yWorldScale;
- void drawAxes(void);
+ void drawAxes();
void symbol (int sym, double symwidth, double symheight);
void make_numfmt(char *fmtstr, int *fldwid, int *nfrac, double min, double max, int nint);
int axis_scale (double min, double max, int nint, double *minp, double *maxp, int *nintp);
void clearCurves ();
- bool ezcmd (const char const *comm);\r
+ bool ezcmd (const char* const comm);\r
bool do_cmd(int lx);
void bad_option(char *opt);
void initPlotSettings();
- static void initkw(void);
+ static void initKeywords ();
static bool ezset_initialized;
~EZPlot ();
bool ezset (const std::string& command);\r
- bool ezset (const char const *command);
+ bool ezset (const char* const command);
void addCurve (const float* x, const double* y, int num);
void addCurve (const double* x, const float* y, int num);