Main Page | Directories | Class Hierarchy | Alphabetical List | Class List | File List | Class Members | File Members | Related Pages

vtkDEMReader.h

Go to the documentation of this file.
00001 /*=========================================================================
00002 
00003   Program:   Visualization Toolkit
00004   Module:    $RCSfile: vtkDEMReader.h,v $
00005 
00006   Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
00007   All rights reserved.
00008   See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
00009 
00010      This software is distributed WITHOUT ANY WARRANTY; without even
00011      the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
00012      PURPOSE.  See the above copyright notice for more information.
00013 
00014 =========================================================================*/
00044 #ifndef __vtkDEMReader_h
00045 #define __vtkDEMReader_h
00046 
00047 #include "vtkImageSource.h"
00048 
00049 class VTK_IO_EXPORT vtkDEMReader : public vtkImageSource
00050 {
00051 public:
00052   static vtkDEMReader *New();
00053   vtkTypeRevisionMacro(vtkDEMReader,vtkImageSource);
00054   void PrintSelf(ostream& os, vtkIndent indent);
00055 
00057 
00058   vtkSetStringMacro(FileName);
00059   vtkGetStringMacro(FileName);
00061 
00063 
00064   vtkGetStringMacro(MapLabel);
00066 
00068 
00069   vtkGetMacro(DEMLevel,int);
00071 
00073 
00074   vtkGetMacro(ElevationPattern,  int);
00076 
00078 
00079   vtkGetMacro(GroundSystem,  int);
00081 
00083 
00084   vtkGetMacro(GroundZone,  int);
00086 
00088 
00089   vtkGetVectorMacro(ProjectionParameters,float,15);
00091 
00093 
00096   vtkGetMacro(PlaneUnitOfMeasure,  int);
00098 
00100 
00102   vtkGetMacro(ElevationUnitOfMeasure,  int);
00104 
00106 
00108   vtkGetMacro(PolygonSize,  int);
00110 
00112 
00114   vtkGetVectorMacro(ElevationBounds,float,2);
00116 
00118 
00121   vtkGetMacro(LocalRotation,  float);
00123 
00125 
00126   vtkGetMacro(AccuracyCode,  int);
00128 
00130 
00133   vtkGetVectorMacro(SpatialResolution,float,3);
00135 
00137 
00138   vtkGetVectorMacro(ProfileDimension,int,2);
00140 
00144   void ExecuteInformation();
00145 
00146 protected:
00147   vtkDEMReader();
00148   ~vtkDEMReader();
00149 
00150   vtkTimeStamp ReadHeaderTime;
00151   int NumberOfColumns;
00152   int NumberOfRows;
00153   int WholeExtent[6];
00154   char *FileName;
00155   char MapLabel[145];
00156   int DEMLevel;
00157   int ElevationPattern;
00158   int GroundSystem;
00159   int GroundZone;
00160   float ProjectionParameters[15];
00161   int PlaneUnitOfMeasure;
00162   int ElevationUnitOfMeasure;
00163   int PolygonSize;
00164   float GroundCoords[4][2];
00165   float ElevationBounds[2];
00166   float LocalRotation;
00167   int AccuracyCode;
00168   float SpatialResolution[3];
00169   int ProfileDimension[2];
00170   int ProfileSeekOffset;
00171   void ComputeExtentOriginAndSpacing (int extent[6], 
00172                                       double origin[6], 
00173                                       double spacing[6]);
00174   int ReadTypeARecord ();
00175   int ReadProfiles (vtkImageData *data);
00176   void ExecuteData(vtkDataObject *out);
00177 private:
00178   vtkDEMReader(const vtkDEMReader&);  // Not implemented.
00179   void operator=(const vtkDEMReader&);  // Not implemented.
00180 };
00181 
00182 #endif
00183