00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036
00037
00038
00039
00059 #ifndef __vtkDEMReader_h
00060 #define __vtkDEMReader_h
00061
00062 #include <stdio.h>
00063 #include "vtkImageSource.h"
00064 class VTK_IO_EXPORT vtkDEMReader : public vtkImageSource
00065 {
00066 public:
00067 static vtkDEMReader *New();
00068 vtkTypeMacro(vtkDEMReader,vtkImageSource);
00069 void PrintSelf(ostream& os, vtkIndent indent);
00070
00072
00073 vtkSetStringMacro(FileName);
00074 vtkGetStringMacro(FileName);
00076
00078
00079 vtkGetStringMacro(MapLabel);
00081
00083
00084 vtkGetMacro(DEMLevel,int);
00086
00088
00089 vtkGetMacro(ElevationPattern, int);
00091
00093
00094 vtkGetMacro(GroundSystem, int);
00096
00098
00099 vtkGetMacro(GroundZone, int);
00101
00103
00104 vtkGetVectorMacro(ProjectionParameters,float,15);
00106
00108
00111 vtkGetMacro(PlaneUnitOfMeasure, int);
00113
00115
00117 vtkGetMacro(ElevationUnitOfMeasure, int);
00119
00121
00123 vtkGetMacro(PolygonSize, int);
00125
00127
00129 vtkGetVectorMacro(ElevationBounds,float,2);
00131
00133
00136 vtkGetMacro(LocalRotation, float);
00138
00140
00141 vtkGetMacro(AccuracyCode, int);
00143
00145
00148 vtkGetVectorMacro(SpatialResolution,float,3);
00150
00152
00153 vtkGetVectorMacro(ProfileDimension,int,2);
00155
00159 void ExecuteInformation();
00160
00161 protected:
00162 vtkDEMReader();
00163 ~vtkDEMReader();
00164
00165 vtkTimeStamp ReadHeaderTime;
00166 int NumberOfColumns;
00167 int NumberOfRows;
00168 int WholeExtent[6];
00169 char *FileName;
00170 char MapLabel[145];
00171 int DEMLevel;
00172 int ElevationPattern;
00173 int GroundSystem;
00174 int GroundZone;
00175 float ProjectionParameters[15];
00176 int PlaneUnitOfMeasure;
00177 int ElevationUnitOfMeasure;
00178 int PolygonSize;
00179 float GroundCoords[4][2];
00180 float ElevationBounds[2];
00181 float LocalRotation;
00182 int AccuracyCode;
00183 float SpatialResolution[3];
00184 int ProfileDimension[2];
00185 int ProfileSeekOffset;
00186 void ComputeExtentOriginAndSpacing (int extent[6], float origin[6], float spacing[6]);
00187 int ReadTypeARecord ();
00188 int ReadProfiles (vtkImageData *data);
00189 void ExecuteData(vtkDataObject *out);
00190 private:
00191 vtkDEMReader(const vtkDEMReader&);
00192 void operator=(const vtkDEMReader&);
00193 };
00194
00195 #endif
00196