Main Page | Directories | Class Hierarchy | Alphabetical List | Class List | File List | Class Members | File Members | Related Pages

vtkVRMLExporter.h

Go to the documentation of this file.
00001 /*=========================================================================
00002 
00003   Program:   Visualization Toolkit
00004   Module:    $RCSfile: vtkVRMLExporter.h,v $
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 =========================================================================*/
00043 #ifndef __vtkVRMLExporter_h
00044 #define __vtkVRMLExporter_h
00045 
00046 #include "vtkExporter.h"
00047 
00048 class vtkLight;
00049 class vtkActor;
00050 class vtkPoints;
00051 class vtkDataArray;
00052 class vtkUnsignedCharArray;
00053 
00054 class VTK_RENDERING_EXPORT vtkVRMLExporter : public vtkExporter
00055 {
00056 public:
00057   static vtkVRMLExporter *New();
00058   vtkTypeRevisionMacro(vtkVRMLExporter,vtkExporter);
00059   void PrintSelf(ostream& os, vtkIndent indent);
00060 
00062 
00063   vtkSetStringMacro(FileName);
00064   vtkGetStringMacro(FileName);
00066 
00068 
00069   vtkSetMacro(Speed,double);
00070   vtkGetMacro(Speed,double);
00072 
00075   void SetFilePointer(FILE *);
00076   
00077 protected:
00078   vtkVRMLExporter();
00079   ~vtkVRMLExporter();
00080 
00081   void WriteData();
00082   void WriteALight(vtkLight *aLight, FILE *fp);
00083   void WriteAnActor(vtkActor *anActor, FILE *fp);
00084   void WritePointData(vtkPoints *points, vtkDataArray *normals, 
00085                       vtkDataArray *tcoords, vtkUnsignedCharArray *colors, 
00086                       FILE *fp);
00087   char *FileName;
00088   FILE *FilePointer;
00089   double Speed;
00090 private:
00091   vtkVRMLExporter(const vtkVRMLExporter&);  // Not implemented.
00092   void operator=(const vtkVRMLExporter&);  // Not implemented.
00093 };
00094 
00095 #endif
00096