OSSIM - Open Source Software Image Map  Version 1.9.0 (20180803)
ossimPdalReader.h
Go to the documentation of this file.
1 //**************************************************************************************************
2 //
3 // OSSIM (http://trac.osgeo.org/ossim/)
4 //
5 // License: LGPL -- See LICENSE.txt file in the top level directory for more details.
6 //
7 //**************************************************************************************************
8 // $Id$
9 
10 #ifndef ossimPdalReader_HEADER
11 #define ossimPdalReader_HEADER 1
12 
15 #include <pdal/pdal.hpp>
16 
17 class ossimPointRecord;
18 #define USE_FULL_POINT_CLOUD_BUFFERING
19 
20 typedef std::shared_ptr<pdal::PointTable> PointTablePtr;
21 
23 {
24 public:
27 
29  virtual ~ossimPdalReader();
30 
31  virtual void rewind() const;
32 
36  virtual ossim_uint32 getNumPoints() const;
37 
38  virtual void close() { m_currentPV = 0; m_pointTable = 0; }
39 
46  virtual ossim_uint32 getFieldCode() const { return m_availableFields; }
47 
52  virtual void setFieldCode (ossim_uint32 fieldCode) { m_availableFields = fieldCode; }
53 
54 protected:
57  void parsePointView(ossimPointBlock& block, ossim_uint32 maxNumPoints = 0xFFFFFFFF) const;
58 
61  void parsePoint(ossimPointRecord* precord) const;
62 
64  virtual void establishMinMax();
65 
66  virtual void establishAvailableFields();
67 
68  mutable pdal::PointViewSet m_pvs;
69  mutable pdal::PointViewPtr m_currentPV;
72  pdal::Stage* m_pdalPipe;
73  mutable pdal::Options m_pdalOptions;
75 
76  TYPE_DATA
77 };
78 
79 #endif /* #ifndef ossimPdalReader_HEADER */
pdal::Options m_pdalOptions
virtual ossim_uint32 getNumPoints() const =0
Returns the total number of points in the dataset (not just the block returned in getPoints) ...
pdal::Stage * m_pdalPipe
ossim_uint32 m_currentPvOffset
std::shared_ptr< pdal::PointTable > PointTablePtr
pdal::PointViewPtr m_currentPV
virtual void setFieldCode(ossim_uint32 fieldCode)
Sets the data fields ID of interest for this source, and all input sources connected to this...
PointTablePtr m_pointTable
virtual ossim_uint32 getFieldCode() const
Fetches the data fields ids available from this source, OR&#39;d together for testing against specific fi...
ossim_uint32 m_availableFields
#define TYPE_DATA
Definition: ossimRtti.h:339
unsigned int ossim_uint32
#define OSSIM_PLUGINS_DLL
virtual void rewind() const
virtual void close()
Closes the point cloud file(s).
Base class for all point-cloud file readers.
pdal::PointViewSet m_pvs