16#ifndef QGSPOINTCLOUDEDITINGINDEX_H
17#define QGSPOINTCLOUDEDITINGINDEX_H
42 std::unique_ptr<QgsAbstractPointCloudIndex>
clone()
const override;
43 void load(
const QString &fileName )
override;
56 bool updateNodeData(
const QHash<QgsPointCloudNodeId, QByteArray> &data )
override;
64 bool commitChanges( QString *errorMessage =
nullptr );
67 bool isModified()
const;
72 bool mIsValid =
false;
73 QHash<QgsPointCloudNodeId, QByteArray> mEditedNodeData;
PointCloudAccessType
The access type of the data, local is for local files and remote for remote files (over HTTP).
Represents a indexed point clouds data in octree.
virtual QVariantMap originalMetadata() const =0
Returns the original metadata map.
virtual qint64 pointCount() const =0
Returns the number of points in the point cloud.
virtual QgsCoordinateReferenceSystem crs() const =0
Returns the coordinate reference system of the point cloud index.
virtual bool hasNode(const QgsPointCloudNodeId &n) const
Returns whether the octree contain given node.
virtual void load(const QString &fileName)=0
Loads the index from the file.
virtual QgsPointCloudBlockRequest * asyncNodeData(const QgsPointCloudNodeId &n, const QgsPointCloudRequest &request)=0
Returns a handle responsible for loading a node data block.
virtual Qgis::PointCloudAccessType accessType() const =0
Returns the access type of the data If the access type is Remote, data will be fetched from an HTTP s...
virtual bool updateNodeData(const QHash< QgsPointCloudNodeId, QByteArray > &data)
Tries to update the data for the specified nodes.
virtual std::unique_ptr< QgsAbstractPointCloudIndex > clone() const =0
Returns a clone of the current point cloud index object.
virtual std::unique_ptr< QgsPointCloudBlock > nodeData(const QgsPointCloudNodeId &n, const QgsPointCloudRequest &request)=0
Returns node data block.
virtual bool isValid() const =0
Returns whether index is loaded and valid.
virtual QgsPointCloudNode getNode(const QgsPointCloudNodeId &id) const
Returns object for a given node.
This class represents a coordinate reference system (CRS).
Base class for handling loading QgsPointCloudBlock asynchronously.
The QgsPointCloudEditingIndex class is a QgsPointCloudIndex that is used as an editing buffer when ed...
Smart pointer for QgsAbstractPointCloudIndex.
Contains utility functions for editing point cloud layers.
An undo command subclass for changing point attribute values in a point cloud index.
Represents a map layer supporting display of point clouds.
Represents a indexed point cloud node's position in octree.
Keeps metadata for indexed point cloud node.
Point cloud data request.