00001
00002
00003
00004
00005
00006
00007
00008
00010
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__