00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00034
#ifndef __vtkDEMReader_h
00035
#define __vtkDEMReader_h
00036
00037
#include "vtkImageSource.h"
00038
00039 class VTK_IO_EXPORT vtkDEMReader :
public vtkImageSource
00040 {
00041
public:
00042
static vtkDEMReader *
New();
00043 vtkTypeRevisionMacro(vtkDEMReader,
vtkImageSource);
00044
void PrintSelf(ostream& os,
vtkIndent indent);
00045
00047
00048 vtkSetStringMacro(FileName);
00049 vtkGetStringMacro(FileName);
00051
00053
00054 vtkGetStringMacro(MapLabel);
00056
00058
00059 vtkGetMacro(DEMLevel,
int);
00061
00063
00064 vtkGetMacro(ElevationPattern,
int);
00066
00068
00069 vtkGetMacro(GroundSystem,
int);
00071
00073
00074 vtkGetMacro(GroundZone,
int);
00076
00078
00079 vtkGetVectorMacro(ProjectionParameters,
float,15);
00081
00083
00086 vtkGetMacro(PlaneUnitOfMeasure,
int);
00088
00090
00092 vtkGetMacro(ElevationUnitOfMeasure,
int);
00094
00096
00098 vtkGetMacro(PolygonSize,
int);
00100
00102
00104 vtkGetVectorMacro(ElevationBounds,
float,2);
00106
00108
00111 vtkGetMacro(LocalRotation,
float);
00113
00115
00116 vtkGetMacro(AccuracyCode,
int);
00118
00120
00123 vtkGetVectorMacro(SpatialResolution,
float,3);
00125
00127
00128 vtkGetVectorMacro(ProfileDimension,
int,2);
00130
00134
void ExecuteInformation();
00135
00136
protected:
00137 vtkDEMReader();
00138 ~vtkDEMReader();
00139
00140 vtkTimeStamp ReadHeaderTime;
00141 int NumberOfColumns;
00142 int NumberOfRows;
00143 int WholeExtent[6];
00144 char *FileName;
00145 char MapLabel[145];
00146 int DEMLevel;
00147 int ElevationPattern;
00148 int GroundSystem;
00149 int GroundZone;
00150 float ProjectionParameters[15];
00151 int PlaneUnitOfMeasure;
00152 int ElevationUnitOfMeasure;
00153 int PolygonSize;
00154 float GroundCoords[4][2];
00155 float ElevationBounds[2];
00156 float LocalRotation;
00157 int AccuracyCode;
00158 float SpatialResolution[3];
00159 int ProfileDimension[2];
00160 int ProfileSeekOffset;
00161
void ComputeExtentOriginAndSpacing (
int extent[6],
00162
double origin[6],
00163
double spacing[6]);
00164
int ReadTypeARecord ();
00165
int ReadProfiles (
vtkImageData *data);
00166
void ExecuteData(
vtkDataObject *out);
00167
private:
00168 vtkDEMReader(
const vtkDEMReader&);
00169
void operator=(
const vtkDEMReader&);
00170 };
00171
00172
#endif
00173