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

dox/Hybrid/vtkVRMLImporter.h

Go to the documentation of this file.
00001 /*========================================================================= 00002 00003 Program: Visualization Toolkit 00004 Module: $RCSfile: vtkVRMLImporter.h,v $ 00005 Language: C++ 00006 00007 Copyright (c) 1993-2002 Ken Martin, Will Schroeder, Bill Lorensen 00008 All rights reserved. 00009 See Copyright.txt or http://www.kitware.com/Copyright.htm for details. 00010 00011 This software is distributed WITHOUT ANY WARRANTY; without even 00012 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR 00013 PURPOSE. See the above copyright notice for more information. 00014 00015 =========================================================================*/ 00054 #ifndef __vtkVRMLImporter_h 00055 #define __vtkVRMLImporter_h 00056 00057 // Includes for the yacc/lex parser 00058 #include "vtkImporter.h" 00059 00060 class vtkActor; 00061 class vtkProperty; 00062 class vtkCamera; 00063 class vtkLight; 00064 class vtkTransform; 00065 class vtkSource; 00066 class vtkLookupTable; 00067 class vtkFloatArray; 00068 class vtkPolyDataMapper; 00069 class vtkPoints; 00070 class vtkIdTypeArray; 00071 class vtkVRMLImporterInternal; 00072 00073 class VTK_HYBRID_EXPORT vtkVRMLImporter : public vtkImporter 00074 { 00075 public: 00076 static vtkVRMLImporter *New(); 00077 00078 vtkTypeRevisionMacro(vtkVRMLImporter,vtkImporter); 00079 void PrintSelf(ostream& os, vtkIndent indent); 00080 00086 vtkObject *GetVRMLDEFObject(const char *name); 00087 00089 00090 void enterNode(const char *); 00091 void exitNode(); 00092 void enterField(const char *); 00093 void exitField(); 00094 void useNode(const char *); 00096 00098 00099 vtkSetStringMacro(FileName); 00100 vtkGetStringMacro(FileName); 00102 00104 FILE *GetFileFD() {return this->FileFD;}; 00105 00106 //BTX 00107 00108 friend int yylex ( vtkVRMLImporter* ); 00109 00110 //ETX 00111 00112 protected: 00113 vtkVRMLImporter(); 00114 ~vtkVRMLImporter(); 00115 00116 virtual int ImportBegin (); 00117 virtual void ImportEnd (); 00118 virtual void ImportActors (vtkRenderer *) {}; 00119 virtual void ImportCameras (vtkRenderer *) {}; 00120 virtual void ImportLights (vtkRenderer *) {}; 00121 virtual void ImportProperties (vtkRenderer *) {}; 00122 00123 int OpenImportFile(); 00124 char *FileName; 00125 FILE *FileFD; 00126 00127 private: 00128 vtkActor *CurrentActor; 00129 vtkProperty *CurrentProperty; 00130 vtkCamera *CurrentCamera; 00131 vtkLight *CurrentLight; 00132 vtkTransform *CurrentTransform; 00133 vtkSource *CurrentSource; 00134 vtkPoints *CurrentPoints; 00135 vtkFloatArray *CurrentNormals; 00136 vtkLookupTable *CurrentLut; 00137 vtkFloatArray *CurrentScalars; 00138 vtkPolyDataMapper *CurrentMapper; 00139 00140 vtkPoints* PointsNew(); 00141 vtkIdTypeArray* IdTypeArrayNew(); 00142 00143 void DeleteObject(vtkObject*); 00144 00145 vtkVRMLImporterInternal* Internal; 00146 00147 private: 00148 vtkVRMLImporter(const vtkVRMLImporter&); // Not implemented. 00149 void operator=(const vtkVRMLImporter&); // Not implemented. 00150 }; 00151 00152 #endif 00153