VTK
vtkVRMLExporter.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkVRMLExporter.h
5 
6  Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
7  All rights reserved.
8  See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
9 
10  This software is distributed WITHOUT ANY WARRANTY; without even
11  the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
12  PURPOSE. See the above copyright notice for more information.
13 
14 =========================================================================*/
29 #ifndef __vtkVRMLExporter_h
30 #define __vtkVRMLExporter_h
31 
32 #include "vtkExporter.h"
33 
34 class vtkLight;
35 class vtkActor;
36 class vtkPoints;
37 class vtkDataArray;
39 class vtkPolyData;
40 class vtkPointData;
41 
43 {
44 public:
45  static vtkVRMLExporter *New();
47  void PrintSelf(ostream& os, vtkIndent indent);
48 
50 
51  vtkSetStringMacro(FileName);
52  vtkGetStringMacro(FileName);
54 
56 
57  vtkSetMacro(Speed,double);
58  vtkGetMacro(Speed,double);
60 
63  void SetFilePointer(FILE *);
64 
65 protected:
67  ~vtkVRMLExporter();
68 
69  void WriteData();
70  void WriteALight(vtkLight *aLight, FILE *fp);
71  void WriteAnActor(vtkActor *anActor, FILE *fp);
72  void WritePointData(vtkPoints *points, vtkDataArray *normals,
73  vtkDataArray *tcoords, vtkUnsignedCharArray *colors,
74  FILE *fp);
75  void WriteShapeBegin(vtkActor* actor, FILE *fileP,
76  vtkPolyData *polyData,vtkPointData *pntData,
78  void WriteShapeEnd( FILE *fileP );
79  char *FileName;
80  FILE *FilePointer;
81  double Speed;
82 private:
83  vtkVRMLExporter(const vtkVRMLExporter&); // Not implemented.
84  void operator=(const vtkVRMLExporter&); // Not implemented.
85 };
86 
87 #endif
88