X-Git-Url: http://git.kpe.io/?a=blobdiff_plain;ds=sidebyside;f=include%2Fplotfile.h;h=6cfd009b4abb24a8f8ccff219089bc3a34c1552a;hb=5272d4783579f571bf5a8cc866ade3e25e18c16d;hp=c60e5795cb028ed9aafea3e013748d2a6a696fbe;hpb=fd1d136a94a6d20013f38d6a997bdfefad0f5e98;p=ctsim.git
diff --git a/include/plotfile.h b/include/plotfile.h
index c60e579..6cfd009 100644
--- a/include/plotfile.h
+++ b/include/plotfile.h
@@ -1,15 +1,13 @@
/*****************************************************************************
** FILE IDENTIFICATION
**
-** Name: plotfile.h
+** Name: plotfile.h
** Purpose: PlotFile class header
-** Programmer: Kevin Rosenberg
-** Date Started: Dec 2000
+** Programmer: Kevin Rosenberg
+** Date Started: Dec 2000
**
** This is part of the CTSim program
-** Copyright (C) 1983-2000 Kevin Rosenberg
-**
-** $Id: plotfile.h,v 1.3 2000/12/20 20:08:48 kevin Exp $
+** Copyright (c) 1983-2009 Kevin Rosenberg
**
** 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
@@ -43,38 +41,32 @@
#include "ctsupport.h"
#include "plotfile.h"
+
// Plotfile structure:
// 1. Lines that begin with # are comments
// 2. ASCII file format
// 3. Header lines begin with and end with
// 4. Valid headers
-// (signifies beginning of headers)
-// (multiple instances may be present)
-//
-//
-//
-//
-// plotfile (required)
-// (required)
-// (required)
-// (required, signifies end of headers)
+// (signifies beginning of plotfile)
+// (beginning of description lines)
+// (signifies beginning of ezset commands)
+// Beginning of data columns
// 5. Data is ASCII file format, one record per line
// Number of columns is variable and is set by ncolumns header
-// 6. Data begins with and ends with
-class PlotFile
+
+class PlotFile
{
- private:
+private:
std::string m_strFilename;
- std::string m_strTitle;
- std::string m_strXLabel;
- std::string m_strYLabel;
std::string m_strDate;
std::vector m_vecStrDescriptions;
+ std::vector m_vecStrEzsetCommands;
std::vector m_vecCurves;
int m_iNumColumns;
int m_iNumRecords;
+ bool m_bScatterPlot;
bool headerRead (std::iostream& os);
bool headerWrite (std::iostream& os);
@@ -91,73 +83,58 @@ public:
PlotFile (void);
~PlotFile ();
- void setTitle (const std::string& title)
- { m_strTitle = title; }
-
- void setTitle (const char* const title)
- { m_strTitle = title; }
-
- void setXLabel (const std::string& label)
- { m_strXLabel = label; }
-
- void setXLabel (const char* const label)
- { m_strXLabel = label; }
-
- void setYLabel (const std::string& label)
- { m_strYLabel = label; }
-
- void setYLabel (const char* const label)
- { m_strYLabel = label; }
-
- void setCurveSize (int iNCurves, int iNRecords);
+ void setCurveSize (int iNCurves, int iNRecords, bool bScatterPlot = false);
void addDescription (const char* const pszDesc)
- { m_vecStrDescriptions.push_back (pszDesc); }
-
- bool addColumn (int iCol, const double* const pdColumn);
-
- bool addColumn (int iCol, const float* const pdColumn);
-
- void getColumn (int iCol, double *pdColumnData) const;
-
- const std::string& getTitle () const
- { return m_strTitle; }
+ { m_vecStrDescriptions.push_back (pszDesc); }
- const std::string& getXLabel () const
- { return m_strXLabel; }
+ void addEzsetCommand (const char* const pszCmd)
+ { m_vecStrEzsetCommands.push_back (pszCmd); }
- const std::string& getYLabel () const
- { return m_strXLabel; }
+ bool addColumn (int iCol, const double* const pdColumn);
+ bool addColumn (int iCol, const float* const pdColumn);
+ void getColumn (int iCol, double *pdColumnData) const;
const std::string& getDate () const
- { return m_strDate; }
+ { return m_strDate; }
int getNumColumns () const
- { return m_iNumColumns; }
+ { return m_iNumColumns; }
int getNumRecords () const
- { return m_iNumRecords; }
-
- bool getMinMax (int startingCol, double& min, double& max) const;
-
- bool statistics (int startingCol, double& min, double& max, double& mean, double& mode, double& median, double &stddev) const;
+ { return m_iNumRecords; }
+
+ bool getIsScatterPlot() const
+ { return m_bScatterPlot; }
+
+ bool getMinMax (int startingCol, double& min, double& max) const;
+
+ bool statistics (int startingCol, double& min, double& max, double& mean, double& mode, double& median, double &stddev) const;
unsigned int getNumDescriptions (void) const
- { return m_vecStrDescriptions.size(); }
+ { return m_vecStrDescriptions.size(); }
const std::string& getDescription (int iDescIndex) const
- { return m_vecStrDescriptions[iDescIndex]; }
+ { return m_vecStrDescriptions[iDescIndex]; }
+
+ unsigned int getNumEzsetCommands (void) const
+ { return m_vecStrEzsetCommands.size(); }
+
+ const std::string& getEzsetCommand (int iIndex) const
+ { return m_vecStrEzsetCommands[iIndex]; }
bool fileRead (const char* const filename);
bool fileWrite (const char* const filename);
- const std::string& getFilename (void) const
- { return m_strFilename; }
+ const std::string& getFilename (void) const
+ { return m_strFilename; }
void printHeaders (std::ostream& os) const;
+ void printHeaders (std::ostringstream& os) const;
+ void printHeadersBrief (std::ostream& os) const;
+ void printHeadersBrief (std::ostringstream& os) const;
};
-
#endif