00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00020 #ifndef __vtkX3DExporter_h
00021 #define __vtkX3DExporter_h
00022
00023 #include "vtkExporter.h"
00024
00025 class vtkActor;
00026 class vtkActor2D;
00027 class vtkDataArray;
00028 class vtkLight;
00029 class vtkPoints;
00030 class vtkRenderer;
00031 class vtkUnsignedCharArray;
00032 class vtkX3DExporterWriter;
00033 class vtkPolyData;
00034
00035 class VTK_HYBRID_EXPORT vtkX3DExporter : public vtkExporter
00036 {
00037 public:
00038 static vtkX3DExporter *New();
00039 vtkTypeRevisionMacro(vtkX3DExporter,vtkExporter);
00040 void PrintSelf(ostream& os, vtkIndent indent);
00041
00042
00044
00045 vtkSetStringMacro(FileName);
00046 vtkGetStringMacro(FileName);
00048
00050
00051 vtkSetMacro(Speed,double);
00052 vtkGetMacro(Speed,double);
00054
00056
00057 vtkSetClampMacro(Binary, int, 0, 1);
00058 vtkBooleanMacro(Binary, int);
00059 vtkGetMacro(Binary, int);
00061
00062 protected:
00063 vtkX3DExporter();
00064 ~vtkX3DExporter();
00065
00067 int HasHeadLight(vtkRenderer* renderer);
00068
00070 void WriteData();
00071
00072 void WriteALight(vtkLight *aLight, vtkX3DExporterWriter* writer);
00073 void WriteAnActor(vtkActor *anActor, vtkX3DExporterWriter* writer,
00074 int index);
00075 void WriteanTextActor2D(vtkActor2D *anTextActor2D,
00076 vtkX3DExporterWriter* writer);
00077
00078 char *FileName;
00079 double Speed;
00080 int Binary;
00081
00082 private:
00083 vtkX3DExporter(const vtkX3DExporter&);
00084 void operator=(const vtkX3DExporter&);
00085 };
00086
00087
00088 #endif