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