OSSIM - Open Source Software Image Map  Version 1.9.0 (20180803)
ossimMG4LidarReader.h
Go to the documentation of this file.
1 //----------------------------------------------------------------------------
2 //
3 // License: LGPL
4 //
5 // See LICENSE.txt file in the top level directory for more details.
6 //
7 // Description: Class declaration MrSID MG4 reader.
8 //
9 // Author: Mingjie Su
10 //
11 // Specification: ISO/IEC 15444
12 //
13 //----------------------------------------------------------------------------
14 // $Id: ossimMG4LidarReader.h 1524 2010-10-29 19:31:54Z ming.su$
15 
16 #ifndef ossimMG4LidarReader_HEADER
17 #define ossimMG4LidarReader_HEADER 1
18 
19 #include <float.h>
21 #include <ossim/base/ossimIpt.h>
22 #include <ossim/base/ossimIrect.h>
26 
27 //LizardTech Includes
28 #include <lidar/MG4PointReader.h>
29 #include <lidar/Error.h>
30 #include <lidar/Version.h>
31 
32 LT_USE_LIDAR_NAMESPACE
33 
34 // Forward class declarations.
35 class ossimImageData;
36 class ossimDpt;
37 
39 {
40 public:
41 
44 
46  virtual ~ossimMG4LidarReader();
47 
52  virtual ossimString getShortName() const;
53 
58  virtual ossimString getLongName() const;
59 
64  virtual ossimString getClassName() const;
65 
76  ossim_uint32 resLevel=0);
77 
82  virtual ossim_uint32 getNumberOfInputBands() const;
83 
89  virtual ossim_uint32 getNumberOfOutputBands()const;
96  virtual ossim_uint32 getImageTileWidth() const;
97 
104  virtual ossim_uint32 getImageTileHeight() const;
105 
109  virtual ossimScalarType getOutputScalarType() const;
110 
111 
122 
131  virtual ossim_uint32 getNumberOfLines(ossim_uint32 resLevel = 0) const;
132 
141  virtual ossim_uint32 getNumberOfSamples(ossim_uint32 resLevel = 0) const;
142 
147  virtual bool open();
148 
154  virtual bool isOpen()const;
155 
163  virtual void closeEntry();
164 
171 
176 
181  virtual bool loadState(const ossimKeywordlist& kwl, const char* prefix=0);
182 
183 private:
184 
185  ossimProjection* getGeoProjection();
186 
187  void getDataType(ossim_int32 channelId);
188 
189  void openZoomLevel(ossim_int32 zoom);
190 
191  template<typename DTYPE>
192  const DTYPE getChannelElement(const ChannelData* channel, size_t idx);
193 
194  MG4PointReader* m_reader;
195  Bounds m_bounds;
202 TYPE_DATA
203 };
204 
205 #endif /* #ifndef ossimMG4LidarReader_HEADER */
206 
207 
208 
209 
virtual bool open()=0
Pure virtual open.
Represents serializable keyword/value map.
virtual ossim_uint32 getNumberOfOutputBands() const
Returns the number of bands in a tile returned from this TileSource.
virtual bool loadState(const ossimKeywordlist &kwl, const char *prefix=0)
Method to the load (recreate) the state of an object from a keyword list.
virtual ossim_uint32 getNumberOfLines(ossim_uint32 resLevel=0) const =0
Pure virtual, derived classes must implement.
virtual ossimString getClassName() const
Definition: ossimObject.cpp:64
ossimScalarType m_scalarType
virtual ossimString getShortName() const
Definition: ossimObject.cpp:48
virtual ossim_uint32 getNumberOfDecimationLevels() const
This returns the total number of decimation levels.
virtual bool isOpen() const =0
Derived classes must implement this method to be concrete.
ossim_uint32 m_numberOfSamples
Has sub image offset.
virtual ossimRefPtr< ossimImageGeometry > getImageGeometry()
Returns the image geometry object associated with this tile source or NULL if non defined...
#define TYPE_DATA
Definition: ossimRtti.h:339
virtual ossim_uint32 getImageTileHeight() const =0
Returns the tile width of the image or 0 if the image is not tiled.
unsigned int ossim_uint32
virtual ossimString getLongName() const
Definition: ossimObject.cpp:53
#define OSSIM_PLUGINS_DLL
virtual ossimRefPtr< ossimImageGeometry > getInternalImageGeometry() const
ossimScalarType
virtual ossim_uint32 getImageTileWidth() const =0
Returns the tile width of the image or 0 if the image is not tiled.
virtual ossimScalarType getOutputScalarType() const
This will be used to query the output pixel type of the tile source.
ossimRefPtr< ossimImageData > m_tile
This class defines an abstract Handler which all image handlers(loaders) should derive from...
virtual ossim_uint32 getNumberOfSamples(ossim_uint32 resLevel=0) const =0
Pure virtual, derived classes must implement.
virtual ossim_uint32 getNumberOfInputBands() const =0
MG4PointReader * m_reader
int ossim_int32
virtual ossimRefPtr< ossimImageData > getTile(const ossimIpt &origin, ossim_uint32 resLevel=0)