00001 /*
00002 File: Writers.h
00003
00004 Function:
00005
00006 Author: Andrew Willmott
00007
00008 Copyright: (c) 1998-2000, Andrew Willmott
00009 */
00010
00011 #ifndef __Writers__
00012 #define __Writers__
00013
00014 #include <stdio.h>
00015 #include "gcl/Scene.h"
00016
00017
00018 class ObjWriter : public Decimator
00020 {
00021 public:
00022 Void SaveAs(scScenePtr scene, StrConst filename);
00023
00024 private:
00025 Void HandlePoly(Int numVertices, Int vertices[], Int changed);
00026
00027 static FILE *file;
00028 static Int pointsWritten;
00029 };
00030
00031 class MGFWriter : public Decimator
00032 {
00033 public:
00034 Void SaveAs(scScenePtr scene, StrConst filename);
00035
00036 private:
00037 Void HandlePoly(Int numVertices, Int vertices[], Int changed);
00038
00039 static FILE *file;
00040 static Int pointsWritten;
00041 static Int vertNum;
00042 };
00043
00044 class RadWriter : public Decimator
00045 {
00046 public:
00047 Void SaveAs(scScenePtr scene, StrConst filename);
00048
00049 private:
00050 Void HandlePoly(Int numVertices, Int vertices[], Int changed);
00051
00052 static FILE *file;
00053 static Int pointsWritten;
00054 static Int matNum;
00055 static Int polyNum;
00056 };
00057
00058 class SceneWriter
00060 {
00061 public:
00062 static Void Save(scScenePtr scene, FileName filename);
00064 static Void PrintSupportedFormats(ostream &s);
00066 };
00067
00068 #endif