pdal::PointView

class pdal::PointView

Inherits from pdal::PointContainer

Public Functions

PointView(const PointView&)
PointView &operator=(const PointView&)
PointView(PointTableRef pointTable)
PointView(PointTableRef pointTable, const SpatialReference &srs)
~PointView()
PointViewIter begin()
PointViewIter end()
int id() const
point_count_t size() const
bool empty() const
void appendPoint(const PointView &buffer, PointId id)
void append(const PointView &buf)
PointViewPtr makeNew() const

Return a new point view with the same point table as this point buffer.

PointRef point(PointId id)
template <class T>
T getFieldAs(Dimension::Id dim, PointId pointIndex) const
void getField(char *pos, Dimension::Id d, Dimension::Type type, PointId id) const
template <typename T>
void setField(Dimension::Id dim, PointId idx, T val)
void setField(Dimension::Id dim, Dimension::Type type, PointId idx, const void *val)
template <typename T>
bool compare(Dimension::Id dim, PointId id1, PointId id2)
bool compare(Dimension::Id dim, PointId id1, PointId id2)
void getRawField(Dimension::Id dim, PointId idx, void *buf) const
void calculateBounds(BOX2D &box) const

Return
a cumulated bounds of all points in the PointView.

Note

This method requires that an X, Y, and Z dimension be available, and that it can be casted into a double data type using the pdal::Dimension::applyScaling() method. Otherwise, an exception will be thrown.

void calculateBounds(BOX3D &box) const
void dump(std::ostream &ostr) const
bool hasDim(Dimension::Id id) const
std::string dimName(Dimension::Id id) const
Dimension::IdList dims() const
std::size_t pointSize() const
std::size_t dimSize(Dimension::Id id) const
Dimension::Type dimType(Dimension::Id id) const
DimTypeList dimTypes() const
PointLayoutPtr layout() const
PointTableRef table() const
SpatialReference spatialReference() const
void getPackedPoint(const DimTypeList &dims, PointId idx, char *buf) const

Fill a buffer with point data specified by the dimension list.

Parameters
  • dims: List of dimensions/types to retrieve.
  • idx: Index of point to get.
  • buf: Pointer to buffer to fill.

void setPackedPoint(const DimTypeList &dims, PointId idx, const char *buf)

Load the point buffer from memory whose arrangement is specified by the dimension list.

Parameters
  • dims: Dimension/types of data in packed order
  • idx: Index of point to write.
  • buf: Packed data buffer.

char *getPoint(PointId id)

Provides access to the memory storing the point data.

Though this function is public, other access methods are safer and preferred.

char *getOrAddPoint(PointId id)

Provides access to the memory storing the point data.

Though this function is public, other access methods are safer and preferred.

void clearTemps()
MetadataNode toMetadata() const
void invalidateProducts()
TriangularMesh *createMesh(const std::string &name)

Creates a mesh with the specified name.

Return
Pointer to the new mesh. Null is returned if the mesh already exists.
Parameters
  • name: Name of the mesh.

TriangularMesh *mesh(const std::string &name = "")

Get a pointer to a mesh.

Return
New mesh. Null is returned if the mesh already exists.
Parameters
  • name: Name of the mesh.

KD3Index &build3dIndex()
KD2Index &build2dIndex()

Public Static Functions

void calculateBounds(const PointViewSet &set, BOX2D &box)
void calculateBounds(const PointViewSet &set, BOX3D &box)

Friends

friend pdal::PointView::plang::Invocation