1 /*=========================================================================
3 Program: Visualization Toolkit
4 Module: $RCSfile: vtkVRMLExporter.h,v $
6 Date: $Date: 2002/05/27 14:48:16 $
7 Version: $Revision: 1.34 $
9 Copyright (c) 1993-2002 Ken Martin, Will Schroeder, Bill Lorensen
11 See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
13 This software is distributed WITHOUT ANY WARRANTY; without even
14 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
15 PURPOSE. See the above copyright notice for more information.
17 =========================================================================*/
18 // .NAME vtkVRMLExporter - export a scene into VRML 2.0 format.
19 // .SECTION Description
20 // vtkVRMLExporter is a concrete subclass of vtkExporter that writes VRML 2.0
21 // files. This is based on the VRML 2.0 draft #3 but it should be pretty
22 // stable since we aren't using any of the newer features.
28 #ifndef __vtkVRMLExporter_h
29 #define __vtkVRMLExporter_h
31 #include "vtkExporter.h"
37 class vtkUnsignedCharArray;
39 class VTK_RENDERING_EXPORT vtkVRMLExporter : public vtkExporter
42 static vtkVRMLExporter *New();
43 vtkTypeRevisionMacro(vtkVRMLExporter,vtkExporter);
44 void PrintSelf(ostream& os, vtkIndent indent);
47 // Specify the name of the VRML file to write.
48 vtkSetStringMacro(FileName);
49 vtkGetStringMacro(FileName);
52 // Specify the Speed of navigation. Default is 4.
53 vtkSetMacro(Speed,float);
54 vtkGetMacro(Speed,float);
57 // Set the file pointer to write to. This will override
58 // a FileName if specified.
59 void SetFilePointer(FILE *);
66 void WriteALight(vtkLight *aLight, FILE *fp);
67 void WriteAnActor(vtkActor *anActor, FILE *fp);
68 void WritePointData(vtkPoints *points, vtkDataArray *normals,
69 vtkDataArray *tcoords, vtkUnsignedCharArray *colors,
75 vtkVRMLExporter(const vtkVRMLExporter&); // Not implemented.
76 void operator=(const vtkVRMLExporter&); // Not implemented.