16 #include <pdal/PointViewIter.hpp> 25 m_currentPvOffset (0),
52 while (m_currentPvOffset < m_currentPV->
size())
54 if (block.
size() == maxNumPoints)
58 #ifdef NORMALIZE_FIELDS 60 bool hasIntensity =
false;
69 if ((field_code & rgb_code) == rgb_code)
84 #ifdef NORMALIZE_FIELDS 120 IdList::const_iterator dim_iter = idList.begin();
121 while (dim_iter != idList.end())
123 Id::Enum
id = *dim_iter;
135 case Id::Enum::ReturnNumber:
142 case Id::Enum::NumberOfReturns:
149 case Id::Enum::Intensity:
163 case Id::Enum::Green:
177 case Id::Enum::Infrared:
184 case Id::Enum::GpsTime:
207 PointViewSet::iterator pvs_iter =
m_pvs.begin();
208 if ((pvs_iter ==
m_pvs.end()) || (*pvs_iter)->empty())
226 while (pvs_iter !=
m_pvs.end())
252 std::map<ossimPointRecord::FIELD_CODES, ossim_float32>::const_iterator field =
301 PointViewSet::iterator pvs_iter =
m_pvs.begin();
302 while (pvs_iter !=
m_pvs.end())
304 numPoints += (*pvs_iter)->size();
321 if (
m_currentPV->hasDim(Id::Enum::NumberOfReturns))
ossimRefPtr< ossimPointRecord > m_maxRecord
const std::map< FIELD_CODES, ossim_float32 > & getFieldMap() const
virtual ossim_uint32 getNumPoints() const
Returns number of points in the data file.
ossim_uint32 getFieldCode() const
Returns OR'd mash-up of ossimPointRecord field codes being stored (or desired to be stored) ...
ossim_uint32 m_currentPvOffset
ossim_float32 getField(FIELD_CODES fc) const
Return the float value of the requested field.
pdal::PointViewPtr m_currentPV
virtual void establishAvailableFields()
ossim_float64 hgt
Height in meters above the ellipsiod.
void parsePointView(ossimPointBlock &block, ossim_uint32 maxNumPoints=0xFFFFFFFF) const
The current point ID (pid) gets updated.
virtual ossim_uint32 getFieldCode() const
Fetches the data fields ids available from this source, OR'd together for testing against specific fi...
virtual void addPoint(ossimPointRecord *point)
Adds single point to the tail of the list.
ossim_uint32 m_availableFields
void parsePoint(ossimPointRecord *precord) const
Need to pass allocated ossimPointRecord with field code set to desired fields.
unsigned int ossim_uint32
virtual bool hasFields(ossim_uint32 code_mashup) const
Argument can be mash-up of OR'd codes for check of multiple fields.
virtual ossim_uint32 size() const
Returns allocated size.
void convertPos(const ossimDpt3d &stored_pos, ossimGpt &converted_gpos) const
Method converts a generic 3D point as stored in the argument ossim3Dpt object, and converts it to an ...
virtual ~ossimPdalReader()
virtual destructor
virtual ossim_uint32 getFieldCode() const
Returns mash-up of OR'd codes of multiple fields being stored.
ossim_uint32 m_currentPID
virtual void rewind() const
bool hasRGB() const
Special for convenience.
virtual void establishMinMax()
Computes min and max records using points in the current PointViewSet.
const ossimGpt & getPosition() const
Returns the 3D position vector in the dataset's coodinate reference system (available from the ossimP...
void setField(FIELD_CODES fc, ossim_float32 value)
#define RTTI_DEF1(cls, name, b1)
ossimRefPtr< ossimPointCloudGeometry > m_geometry
Base class for all point-cloud file readers.
void setPosition(const ossimGpt &p)
ossimRefPtr< ossimPointRecord > m_minRecord
unsigned char ossim_uint8
void setPointId(ossim_uint32 id)
ossimPdalReader()
default constructor