MrSID Decode SDK for LiDAR Reference Manual  1.1.4.4709
TXTPointWriter.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_TXT_POINT_WRITER_H__
00013 #define __LIDAR_TXT_POINT_WRITER_H__
00014 
00015 #include "lidar/SimplePointWriter.h"
00016 #include "lidar/Stream.h"
00017 
00018 LT_BEGIN_LIDAR_NAMESPACE
00019 
00026 class TXTPointWriter : public SimplePointWriter
00027 {
00028    CONCRETE_OBJECT(TXTPointWriter);
00029 public:
00042    void init(const PointSource *src, const char *path, const char *format);
00055    void init(const PointSource *src, IO *io, const char *format);
00056 
00069    void init(const PointSource *src, const char *path, const PointInfo &fieldInfo);
00082    void init(const PointSource *src, IO *io, const PointInfo &fieldInfo);
00083 
00084    void writeBegin(const PointInfo &pointInfo);
00085    void writePoints(const PointData &points,
00086                     size_t numPoints,
00087                     ProgressDelegate *delegate);
00088    void writeEnd(PointSource::count_type numPoints,
00089                  const Bounds &bounds);
00090 
00091    bool supportedChannels(const PointInfo &inputPointInfo,
00092                           PointInfo &supportedPointInfo) const;
00093 
00094 protected:
00095    struct Handler;
00096 
00097    StreamWriter m_stream;
00098    size_t m_numHandlers;
00099    Handler *m_handler;
00100 };
00101 
00102 LT_END_LIDAR_NAMESPACE
00103 #endif // __LIDAR_TXT_POINT_WRITER_H__