00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00034
#ifndef __vtk3DSImporter_h
00035
#define __vtk3DSImporter_h
00036
00037
#include "vtkImporter.h"
00038
#include "vtk3DS.h"
00039
00040
class vtkPolyData;
00041
00042 class VTK_HYBRID_EXPORT vtk3DSImporter :
public vtkImporter
00043 {
00044
public:
00045
static vtk3DSImporter *
New();
00046
00047 vtkTypeRevisionMacro(vtk3DSImporter,
vtkImporter);
00048
void PrintSelf(ostream& os,
vtkIndent indent);
00049
00051
00052 vtkSetStringMacro(FileName);
00053 vtkGetStringMacro(FileName);
00055
00057
00059 vtkSetMacro(ComputeNormals,
int);
00060 vtkGetMacro(ComputeNormals,
int);
00061 vtkBooleanMacro(ComputeNormals,
int);
00063
00065 FILE *GetFileFD() {
return this->FileFD;};
00066
00067 vtk3DSOmniLight *OmniList;
00068 vtk3DSSpotLight *SpotLightList;
00069 vtk3DSCamera *CameraList;
00070 vtk3DSMesh *MeshList;
00071 vtk3DSMaterial *MaterialList;
00072 vtk3DSMatProp *MatPropList;
00073
00074
protected:
00075 vtk3DSImporter();
00076 ~vtk3DSImporter();
00077
00078
virtual int ImportBegin ();
00079
virtual void ImportEnd ();
00080
virtual void ImportActors (
vtkRenderer *renderer);
00081
virtual void ImportCameras (
vtkRenderer *renderer);
00082
virtual void ImportLights (
vtkRenderer *renderer);
00083
virtual void ImportProperties (
vtkRenderer *renderer);
00084
vtkPolyData *GeneratePolyData (vtk3DSMesh *meshPtr);
00085
int Read3DS ();
00086
00087 char *FileName;
00088 FILE *FileFD;
00089 int ComputeNormals;
00090
private:
00091 vtk3DSImporter(
const vtk3DSImporter&);
00092
void operator=(
const vtk3DSImporter&);
00093 };
00094
00095
#endif
00096