VTK
vtk3DSImporter.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtk3DSImporter.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 =========================================================================*/
25 #ifndef vtk3DSImporter_h
26 #define vtk3DSImporter_h
27 
28 #include "vtkIOImportModule.h" // For export macro
29 #include "vtkImporter.h"
30 #include "vtk3DS.h" // Needed for all the 3DS structures
31 
32 class vtkPolyData;
33 
34 class VTKIOIMPORT_EXPORT vtk3DSImporter : public vtkImporter
35 {
36 public:
37  static vtk3DSImporter *New();
38 
39  vtkTypeMacro(vtk3DSImporter,vtkImporter);
40  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
41 
43 
46  vtkSetStringMacro(FileName);
47  vtkGetStringMacro(FileName);
49 
51 
55  vtkSetMacro(ComputeNormals,int);
56  vtkGetMacro(ComputeNormals,int);
57  vtkBooleanMacro(ComputeNormals,int);
59 
63  FILE *GetFileFD() {return this->FileFD;};
64 
65  vtk3DSOmniLight *OmniList;
66  vtk3DSSpotLight *SpotLightList;
67  vtk3DSCamera *CameraList;
68  vtk3DSMesh *MeshList;
69  vtk3DSMaterial *MaterialList;
70  vtk3DSMatProp *MatPropList;
71 
72 protected:
74  ~vtk3DSImporter() VTK_OVERRIDE;
75 
76  int ImportBegin () VTK_OVERRIDE;
77  void ImportEnd () VTK_OVERRIDE;
78  void ImportActors (vtkRenderer *renderer) VTK_OVERRIDE;
79  void ImportCameras (vtkRenderer *renderer) VTK_OVERRIDE;
80  void ImportLights (vtkRenderer *renderer) VTK_OVERRIDE;
81  void ImportProperties (vtkRenderer *renderer) VTK_OVERRIDE;
82  vtkPolyData *GeneratePolyData (vtk3DSMesh *meshPtr);
83  int Read3DS ();
84 
85  char *FileName;
86  FILE *FileFD;
87  int ComputeNormals;
88 private:
89  vtk3DSImporter(const vtk3DSImporter&) VTK_DELETE_FUNCTION;
90  void operator=(const vtk3DSImporter&) VTK_DELETE_FUNCTION;
91 };
92 
93 #endif
94 
vtk3DSMesh * MeshList
vtk3DSCamera * CameraList
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
imports 3D Studio files.
abstract specification for renderers
Definition: vtkRenderer.h:57
vtk3DSMatProp * MatPropList
vtk3DSOmniLight * OmniList
concrete dataset represents vertices, lines, polygons, and triangle strips
Definition: vtkPolyData.h:79
importer abstract class
Definition: vtkImporter.h:54
a simple class to control print indentation
Definition: vtkIndent.h:33
vtkGetStringMacro(ExtensionsString)
Returns a string listing all available extensions.
vtkSetMacro(IgnoreDriverBugs, bool)
When set known driver bugs are ignored during driver feature detection.
vtkBooleanMacro(IgnoreDriverBugs, bool)
When set known driver bugs are ignored during driver feature detection.
static vtkObject * New()
Create an object with Debug turned off, modified time initialized to zero, and reference counting on...
vtk3DSMaterial * MaterialList
vtk3DSSpotLight * SpotLightList