MrSID Decode SDK for LiDAR Reference Manual  1.1.4.4709
MG4PointReader.h
Go to the documentation of this file.
00001 /* //////////////////////////////////////////////////////////////////////////
00002 //                                                                         //
00003 // This code is Copyright (c) 2008-2010 LizardTech, Inc, 1008 Western      //
00004 // Avenue, Suite 200, Seattle, WA 98104.  Unauthorized use or distribution //
00005 // prohibited.  Access to and use of this code is permitted only under     //
00006 // license from LizardTech, Inc.  Portions of the code are protected by    //
00007 // US and foreign patents and other filings. All Rights Reserved.          //
00008 //                                                                         //
00010 /* PUBLIC */
00011 
00012 #ifndef __LIDAR_MG4_POINT_READER_H__
00013 #define __LIDAR_MG4_POINT_READER_H__
00014 
00015 #include "lidar/PointReader.h"
00016 #include "lidar/Stream.h"
00017 
00018 LT_BEGIN_LIDAR_NAMESPACE
00019 
00020 class WaveletDecoderInfo;
00021 
00030 class MG4PointReader : public PointReader
00031 {
00032    CONCRETE_OBJECT(MG4PointReader);
00033 public:
00041    void init(const char *path);
00049    void init(IO *io);
00050    
00051    void loadMetadata(Metadata &metadata, bool sanitize) const;
00052    
00053    char const * const *getClassIdNames(void) const;
00054    size_t getNumClassIdNames(void) const;
00055    
00056    const char *getFileFormatString(void) const;
00057 
00058    double getTotalWork(const Bounds &bounds, double fraction) const;
00059    PointIterator *createIterator(const Bounds &bounds,
00060                                  double fraction,
00061                                  const PointInfo &pointInfo,
00062                                  ProgressDelegate *delegate) const;
00063 
00064 protected:
00065    char m_version[32];
00066    
00067    WaveletDecoderInfo *m_waveletInfo;
00068    IO::Location m_metadata;
00069    char **m_classId;
00070    size_t m_numClasses;
00071    bool m_mergingFloats;
00072 };
00073 
00074 LT_END_LIDAR_NAMESPACE
00075 #endif // __LIDAR_MG4_POINT_READER_H__