VTK
|
00001 /*========================================================================= 00002 00003 Program: Visualization Toolkit 00004 Module: vtkVRMLExporter.h 00005 00006 Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen 00007 All rights reserved. 00008 See Copyright.txt or http://www.kitware.com/Copyright.htm for details. 00009 00010 This software is distributed WITHOUT ANY WARRANTY; without even 00011 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR 00012 PURPOSE. See the above copyright notice for more information. 00013 00014 =========================================================================*/ 00029 #ifndef __vtkVRMLExporter_h 00030 #define __vtkVRMLExporter_h 00031 00032 #include "vtkExporter.h" 00033 00034 class vtkLight; 00035 class vtkActor; 00036 class vtkPoints; 00037 class vtkDataArray; 00038 class vtkUnsignedCharArray; 00039 class vtkPolyData; 00040 class vtkPointData; 00041 00042 class VTK_RENDERING_EXPORT vtkVRMLExporter : public vtkExporter 00043 { 00044 public: 00045 static vtkVRMLExporter *New(); 00046 vtkTypeMacro(vtkVRMLExporter,vtkExporter); 00047 void PrintSelf(ostream& os, vtkIndent indent); 00048 00050 00051 vtkSetStringMacro(FileName); 00052 vtkGetStringMacro(FileName); 00054 00056 00057 vtkSetMacro(Speed,double); 00058 vtkGetMacro(Speed,double); 00060 00063 void SetFilePointer(FILE *); 00064 00065 protected: 00066 vtkVRMLExporter(); 00067 ~vtkVRMLExporter(); 00068 00069 void WriteData(); 00070 void WriteALight(vtkLight *aLight, FILE *fp); 00071 void WriteAnActor(vtkActor *anActor, FILE *fp); 00072 void WritePointData(vtkPoints *points, vtkDataArray *normals, 00073 vtkDataArray *tcoords, vtkUnsignedCharArray *colors, 00074 FILE *fp); 00075 void WriteShapeBegin(vtkActor* actor, FILE *fileP, 00076 vtkPolyData *polyData,vtkPointData *pntData, 00077 vtkUnsignedCharArray *color); 00078 void WriteShapeEnd( FILE *fileP ); 00079 char *FileName; 00080 FILE *FilePointer; 00081 double Speed; 00082 private: 00083 vtkVRMLExporter(const vtkVRMLExporter&); // Not implemented. 00084 void operator=(const vtkVRMLExporter&); // Not implemented. 00085 }; 00086 00087 #endif 00088