RayTracing

- Титульная страница
- Классы
- Файлы

- Файлы
- Список членов всех файлов

Serial.h
См. документацию.

    00001 #include "Sphere.h"
    00002 #include "Thor.h"
    00003 #include "Vector3D.h"
    00004 #include "Material.h"
    00005 #include "Light.h"
    00006 #include <QMainWindow>
    00007 #include <QFile>
    00008
    00010 #define XML true
    00011
    00012 #define Bin false
    00013
    00015 #define WR true
    00016
    00017 #define RE false
    00018
    00019 //class QFile;
    00025 class Serializer
    00026 {
    00027 public:
    00029         QFile * File;
    00031         bool readWrite;
    00033         bool format;
    00034
    00036         QString FileName;
    00037
    00039         Serializer();
    00041         ~Serializer();
    00042
    00046         virtual bool Start(QString FileName) = 0;
    00047
    00051         virtual void SerStr(char * Value, char * Name = "String") = 0;
    00055         virtual void SerBool(bool &Value, char * Name = "Bool") = 0;
    00059         virtual void SerInt(int &Value, char * Name = "Int") = 0;
    00063         virtual void SerFloat(float &Value, char * Name = "Float") = 0;
    00067         virtual void SerVec(Vector3D &Value, char * Name = "Vector") = 0;
    00072         void SerPic(int &Width, int &Height, char *Name = "Screen");
    00076         void SerCam(Vector3D &Camera, char * Name = "Camera");
    00080         void SerMat(Mater &Material, char * Name = "Material");
    00084         void SerSph(Sphere &Sph, char *Name = "Sphere");
    00088         void SerThor(Thor &Th, char *Name = "Thor");
    00092         void SerLight(Light &Li, char *Name = "Light");
    00093
    00095         virtual void End() = 0;
    00096 };
    00097
    00098
    00104 class XMLS : public Serializer
    00105 {
    00106 public:
    00108         XMLS();
    00110         ~XMLS();
    00111
    00115         bool Start(QString FileName);
    00116
    00120         void SerStr(char * Value, char * Name = "String");
    00124         void SerBool(bool &Value, char * Name = "Bool");
    00128         void SerInt(int &Value, char * Name = "Int");
    00132         void SerFloat(float &Value, char * Name = "Float");
    00136         void SerVec(Vector3D &Value, char * Name = "Vector");
    00137
    00139         void End();
    00140 };
    00141
    00147 class XMLL : public Serializer
    00148 {
    00149 public:
    00151         XMLL();
    00153         ~XMLL();
    00154
    00158         bool Start(QString FileName);
    00159
    00163         void SerStr(char * Value, char * Name = "String");
    00167         void SerBool(bool &Value, char * Name = "Bool");
    00171         void SerInt(int &Value, char * Name = "Int");
    00175         void SerFloat(float &Value, char * Name = "Float");
    00179         void SerVec(Vector3D &Value, char * Name = "Vector");
    00180
    00182         void End();
    00183 };
    00184
    00191 class BinS : public Serializer
    00192 {
    00193 public:
    00195     BinS();
    00197     ~BinS();
    00198
    00202         bool Start(QString FileName);
    00203
    00207         void SerStr(char * Value, char * Name = "String");
    00211         void SerBool(bool &Value, char * Name = "Bool");
    00215         void SerInt(int &Value, char * Name = "Int");
    00219         void SerFloat(float &Value, char * Name = "Float");
    00223         void SerVec(Vector3D &Value, char * Name = "Vector");
    00224
    00226         void End();
    00227 };
    00228
    00234 class BinL : public Serializer
    00235 {
    00236 public:
    00238     BinL();
    00240     ~BinL();
    00241
    00245         bool Start(QString FileName);
    00246
    00250         void SerStr(char * Value, char * Name = "String");
    00254         void SerBool(bool &Value, char * Name = "Bool");
    00258         void SerInt(int &Value, char * Name = "Int");
    00262         void SerFloat(float &Value, char * Name = "Float");
    00266         void SerVec(Vector3D &Value, char * Name = "Vector");
    00267
    00269         void End();
    00270 };