00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00029 #ifndef __vtkX3DExporter_h
00030 #define __vtkX3DExporter_h
00031
00032 #include "vtkExporter.h"
00033
00034 class vtkLight;
00035 class vtkActor;
00036 class vtkActor2D;
00037 class vtkPoints;
00038 class vtkDataArray;
00039 class vtkUnsignedCharArray;
00040 class vtkX3DExporterWriter;
00041 class vtkRenderer;
00042
00043 class VTK_HYBRID_EXPORT vtkX3DExporter : public vtkExporter
00044 {
00045 public:
00046 static vtkX3DExporter *New();
00047 vtkTypeMacro(vtkX3DExporter,vtkExporter);
00048 void PrintSelf(ostream& os, vtkIndent indent);
00049
00051
00052 vtkSetStringMacro(FileName);
00053 vtkGetStringMacro(FileName);
00055
00057
00058 vtkSetMacro(Speed,double);
00059 vtkGetMacro(Speed,double);
00061
00063
00064 vtkSetClampMacro(Binary, int, 0, 1);
00065 vtkBooleanMacro(Binary, int);
00066 vtkGetMacro(Binary, int);
00068
00070
00071 vtkSetClampMacro(Fastest, int, 0, 1);
00072 vtkBooleanMacro(Fastest, int);
00073 vtkGetMacro(Fastest, int);
00075
00076 protected:
00077 vtkX3DExporter();
00078 ~vtkX3DExporter();
00079
00081 void WriteData();
00082
00083 void WriteALight(vtkLight *aLight, vtkX3DExporterWriter* writer);
00084 void WriteAnActor(vtkActor *anActor, vtkX3DExporterWriter* writer,
00085 int index);
00086 void WritePointData(vtkPoints *points, vtkDataArray *normals,
00087 vtkDataArray *tcoords, vtkUnsignedCharArray *colors,
00088 vtkX3DExporterWriter* writer, int index);
00089 void WriteATextActor2D(vtkActor2D *anTextActor2D,
00090 vtkX3DExporterWriter* writer);
00091 void WriteATexture(vtkActor *anActor, vtkX3DExporterWriter* writer);
00092 void WriteAnAppearance(vtkActor *anActor, bool writeEmissiveColor, vtkX3DExporterWriter* writer);
00093 int HasHeadLight(vtkRenderer* ren);
00094 char *FileName;
00095 double Speed;
00096 int Binary;
00097 int Fastest;
00098
00099 private:
00100
00101 vtkX3DExporter(const vtkX3DExporter&);
00102 void operator=(const vtkX3DExporter&);
00103 };
00104
00105
00106 #endif