#ifndef SCREENSHOTDESCRIPTION_H
#define SCREENSHOTDESCRIPTION_H
#include <iostream>
#include <qstring.h>
#include <string>
#include "Projection2DData.h"
#include "Configure3DData.h"

class ScreenshotDescription{
   public:
      ScreenshotDescription():
      viewDimension("none"),
      plotName("none"),
      minConcentrationFixed(false),
      maxConcentrationFixed(false),
      minConcentration(0),
      maxConcentration(1)
      {}   
      QString viewDimension;
      QString plotName;
      bool minConcentrationFixed;
      bool maxConcentrationFixed;
      float minConcentration;
      float maxConcentration;
      Projection2DData projData;
      Configure3DData data3D;


};

inline std::ostream & operator<<(std::ostream & out,const ScreenshotDescription & scrDes){
   using namespace std;

   out<<scrDes.viewDimension<<" ";
   out<<scrDes.plotName<<" ";
   out<<(bool)scrDes.minConcentrationFixed<<" ";
   out<<(bool)scrDes.maxConcentrationFixed<<" ";
   out<<scrDes.minConcentration<<" ";
   out<<scrDes.maxConcentration<<" ";
   out<<scrDes.projData<<" ";
   out<<scrDes.data3D<<" ";
   return out;
   
}

inline std::istream & operator>>(std::istream & in,ScreenshotDescription & scrDes){
   using namespace std;

   string viewDimension;
   string plotName;
   in>>viewDimension;
   in>>plotName;
   scrDes.viewDimension=viewDimension.c_str();
   scrDes.plotName=plotName.c_str();
   
   in>>scrDes.minConcentrationFixed;
   in>>scrDes.maxConcentrationFixed;
   in>>scrDes.minConcentration;
   in>>scrDes.maxConcentration;
   in>>scrDes.projData;
   in>>scrDes.data3D;
   return in;
}


#endif

