00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00038
#ifndef __vtkDEMReader_h
00039
#define __vtkDEMReader_h
00040
00041
#include "vtkImageSource.h"
00042
00043 class VTK_IO_EXPORT vtkDEMReader :
public vtkImageSource
00044 {
00045
public:
00046
static vtkDEMReader *
New();
00047 vtkTypeRevisionMacro(vtkDEMReader,
vtkImageSource);
00048
void PrintSelf(ostream& os,
vtkIndent indent);
00049
00051
00052 vtkSetStringMacro(FileName);
00053 vtkGetStringMacro(FileName);
00055
00057
00058 vtkGetStringMacro(MapLabel);
00060
00062
00063 vtkGetMacro(DEMLevel,
int);
00065
00067
00068 vtkGetMacro(ElevationPattern,
int);
00070
00072
00073 vtkGetMacro(GroundSystem,
int);
00075
00077
00078 vtkGetMacro(GroundZone,
int);
00080
00082
00083 vtkGetVectorMacro(ProjectionParameters,
float,15);
00085
00087
00090 vtkGetMacro(PlaneUnitOfMeasure,
int);
00092
00094
00096 vtkGetMacro(ElevationUnitOfMeasure,
int);
00098
00100
00102 vtkGetMacro(PolygonSize,
int);
00104
00106
00108 vtkGetVectorMacro(ElevationBounds,
float,2);
00110
00112
00115 vtkGetMacro(LocalRotation,
float);
00117
00119
00120 vtkGetMacro(AccuracyCode,
int);
00122
00124
00127 vtkGetVectorMacro(SpatialResolution,
float,3);
00129
00131
00132 vtkGetVectorMacro(ProfileDimension,
int,2);
00134
00138
void ExecuteInformation();
00139
00140
protected:
00141 vtkDEMReader();
00142 ~vtkDEMReader();
00143
00144 vtkTimeStamp ReadHeaderTime;
00145 int NumberOfColumns;
00146 int NumberOfRows;
00147 int WholeExtent[6];
00148 char *FileName;
00149 char MapLabel[145];
00150 int DEMLevel;
00151 int ElevationPattern;
00152 int GroundSystem;
00153 int GroundZone;
00154 float ProjectionParameters[15];
00155 int PlaneUnitOfMeasure;
00156 int ElevationUnitOfMeasure;
00157 int PolygonSize;
00158 float GroundCoords[4][2];
00159 float ElevationBounds[2];
00160 float LocalRotation;
00161 int AccuracyCode;
00162 float SpatialResolution[3];
00163 int ProfileDimension[2];
00164 int ProfileSeekOffset;
00165
void ComputeExtentOriginAndSpacing (
int extent[6],
float origin[6],
float spacing[6]);
00166
int ReadTypeARecord ();
00167
int ReadProfiles (
vtkImageData *data);
00168
void ExecuteData(
vtkDataObject *out);
00169
private:
00170 vtkDEMReader(
const vtkDEMReader&);
00171
void operator=(
const vtkDEMReader&);
00172 };
00173
00174
#endif
00175