00001 00007 struct GBPlotSpecifications 00008 00009 { 00010 FieldPlotType plot_type; 00011 char* setname; 00012 int spacedim; 00013 ColorScale scale; 00014 Color current_color; 00015 float current_value; 00016 bool color_changed; 00017 float max_arrowlen; 00018 bool binary_output; 00019 }; 00020 00021 00022 00023 class GraphBasicsExport 00024 00025 { 00026 protected: 00027 00028 public: 00029 GraphBasicsExport () {} 00030 virtual ~GraphBasicsExport () {} 00031 00032 virtual void usage () {} 00033 virtual void processFormatSpecificOptions 00034 ( 00035 VecSimple(String)& arguments, 00036 GBPlotSpecifications& plotspec 00037 ) =0; 00038 virtual bool conversionSupported (GBPlotSpecifications& plotspec) =0; 00039 00040 virtual void gbHeader (GBPlotSpecifications& plotspec) =0; 00041 virtual void gbFooter (GBPlotSpecifications& plotspec) =0; 00042 virtual void gbLine (GBPlotSpecifications& plotspec, 00043 VecSimple(Ptv(real))& points) =0; 00044 virtual void gbPoint (GBPlotSpecifications& plotspec, 00045 VecSimple(Ptv(real))& points) =0; 00046 virtual void gbPolygon (GBPlotSpecifications& plotspec, 00047 VecSimple(Ptv(real))& points) =0; 00048 virtual void gbArrow (GBPlotSpecifications& plotspec, 00049 VecSimple(Ptv(real))& points) =0; 00050 virtual void gbText (GBPlotSpecifications& plotspec, 00051 String& text, 00052 VecSimple(Ptv(real))& points) =0; 00053 00054 int driver (int argc, const char* argv[]); 00055 00056 protected: 00057 00058 FieldPlotCmd read_nextcommand (Is& is); 00059 00060 void readPlotspec (Is& is, GBPlotSpecifications& plotspec); 00061 void readColors (Is& is, GBPlotSpecifications& plotspec); 00062 void readScale (Is& is, GBPlotSpecifications& plotspec); 00063 void readValue (Is& is, GBPlotSpecifications& plotspec); 00064 void readgbArrowlen (Is& is, GBPlotSpecifications& plotspec); 00065 00066 void readCoordbuffer 00067 ( 00068 Is& is, 00069 const GBPlotSpecifications& plotspec, 00070 VecSimple(Ptv(real))& pointbuffer, 00071 const int number_of_points = -1 00072 ); 00073 00074 void readgbLine (Is& is, GBPlotSpecifications& plotspec); 00075 void readgbPoint (Is& is, GBPlotSpecifications& plotspec); 00076 void readgbPolygon (Is& is, GBPlotSpecifications& plotspec); 00077 void readgbArrow (Is& is, GBPlotSpecifications& plotspec); 00078 void readgbText (Is& is, GBPlotSpecifications& plotspec); 00079 }; 00080 00081