1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57
|
/* MetaContour, version 0.1 -------------------------------------- */
/* Copyright(C) 2004, Brooks Moses */
/* */
/* This version of MetaContour is made available under the Gnu */
/* Public License; see metacontour_main.cc for details. */
/* */
/* This is a very pre-release version of MetaContour, distributed */
/* primarily as an example of a use of MetaPlot. It can be */
/* compiled with gcc using the line: */
/* */
/* g++ metacontour.cc cpoint.cc metacontour_main.cc */
/* */
/*-----------------------------------------------------------------*/
/* Class containing Metapost contour plot streams */
#include<string>
#include<sstream>
#include<vector>
#include"cpoint.h"
class MetapostContours {
ostringstream GridStream;
ostringstream FillPlotStream;
ostringstream LinePlotStream;
vector<double> ContourList;
void PlotSquare (cpoint, cpoint, cpoint, cpoint);
void PlotCorner (cpoint, cpoint, cpoint, cpoint, int);
void PlotRect (cpoint, cpoint, cpoint, cpoint, int);
void PlotPent (cpoint, cpoint, cpoint, cpoint, int);
void PlotHex (cpoint, cpoint, cpoint, cpoint, int, double);
void DrawFilled (int, cpoint, cpoint, cpoint);
void DrawFilled (int, cpoint, cpoint, cpoint, cpoint);
void DrawFilled (int, cpoint, cpoint, cpoint, cpoint, cpoint);
void DrawFilled (int, cpoint, cpoint, cpoint, cpoint, cpoint, cpoint);
void DrawLine (int, cpoint, cpoint);
void DrawGrid (cpoint, cpoint);
string PlotName;
string GridCommand;
string DrawCommand;
string FillCommand;
public:
MetapostContours(cparray&, vector<double>&, string&);
string Grid() const { return GridStream.str(); }
string FillPlot() const { return FillPlotStream.str(); }
string LinePlot() const { return LinePlotStream.str(); }
vector<double> ContourListOut() const { return ContourList; }
};
|