MrSID Decode SDK for LiDAR Reference Manual
1.1.3.4427
|
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_SIMPLE_POINT_WRITER_H__ 00013 #define __LIDAR_SIMPLE_POINT_WRITER_H__ 00014 00015 #include "lidar/PointWriter.h" 00016 00017 LT_BEGIN_LIDAR_NAMESPACE 00018 00022 class SimplePointWriter : public PointWriter 00023 { 00024 ABSTRACT_OBJECT(SimplePointWriter); 00025 public: 00026 void setQuantization(const double scale[3], const double offset[3]); 00027 00028 const double *getScale(void) const; 00029 const double *getOffset(void) const; 00030 00036 count_type write(const Bounds &bounds, 00037 double fraction, 00038 const PointInfo &pointInfo, 00039 ProgressDelegate *delegate); 00040 00049 virtual void writeBegin(const PointInfo &pointInfo) = 0; 00059 virtual void writePoints(const PointData &points, 00060 size_t numPoints, 00061 ProgressDelegate *delegate) = 0; 00062 00074 virtual void writeEnd(PointSource::count_type numPoints, 00075 const Bounds &bounds) = 0; 00076 00077 protected: 00091 virtual double getTotalWork(const Bounds &bounds, 00092 double fraction) const; 00093 00094 double m_offsets[3]; 00095 double m_scale[3]; 00096 }; 00097 00098 LT_END_LIDAR_NAMESPACE 00099 #endif // __LIDAR_SIMPLE_POINT_WRITER_H__ 00100