18 #ifndef QGSPOINTCLOUDLAYER_H
19 #define QGSPOINTCLOUDLAYER_H
25 #include "qgis_core.h"
60 : transformContext( transformContext )
69 bool loadDefaultStyle =
true;
82 bool skipCrsValidation =
false;
87 bool skipIndexGeneration =
false;
93 bool skipStatisticsCalculation =
false;
104 Calculating = 1 << 0,
107 Q_ENUM( PointCloudStatisticsCalculationState )
113 const QString &baseName = QString(),
114 const QString &providerLib = QStringLiteral(
"pointcloud" ),
125 SIP_PYOBJECT __repr__();
127 QString
str = QStringLiteral(
"<QgsPointCloudLayer: '%1' (%2)>" ).arg( sipCpp->name(), sipCpp->dataProvider() ? sipCpp->dataProvider()->name() : QStringLiteral(
"Invalid" ) );
128 sipRes = PyUnicode_FromString(
str.toUtf8().constData() );
142 bool writeXml( QDomNode &layerNode, QDomDocument &doc, const
QgsReadWriteContext &context ) const override;
144 bool readSymbology( const QDomNode &node, QString &errorMessage,
146 bool readStyle( const QDomNode &node, QString &errorMessage,
QgsReadWriteContext &context, StyleCategories categories = AllStyleCategories )
FINAL;
148 bool writeSymbology( QDomNode &node, QDomDocument &doc, QString &errorMessage, const
QgsReadWriteContext &context,
149 StyleCategories categories = AllStyleCategories ) const override;
150 bool writeStyle( QDomNode &node, QDomDocument &doc, QString &errorMessage, const
QgsReadWriteContext &context, StyleCategories categories = AllStyleCategories ) const
FINAL;
154 QString encodedSource( const QString &source, const
QgsReadWriteContext &context ) const override;
155 QString decodedSource( const QString &source, const QString &dataProvider, const
QgsReadWriteContext &context ) const override;
156 QString loadDefaultStyle(
bool &resultFlag
SIP_OUT )
FINAL;
157 QString htmlMetadata() const override;
168 qint64 pointCount() const;
201 bool setSubsetString( const QString &subset );
209 QString subsetString() const;
217 void setSync3DRendererTo2DRenderer(
bool sync );
225 bool sync3DRendererTo2DRenderer() const;
233 bool convertRenderer3DFromRenderer2D();
254 void subsetStringChanged();
261 void raiseError(
const QString &msg );
272 void setDataSourcePrivate(
const QString &dataSource,
const QString &baseName,
const QString &provider,
const QgsDataProvider::ProviderOptions &options, QgsDataProvider::ReadFlags flags )
override;
276 bool isReadOnly()
const override {
return true;}
278 void calculateStatistics();
280 void resetRenderer();
286 std::unique_ptr<QgsPointCloudDataProvider> mDataProvider;
288 std::unique_ptr<QgsPointCloudRenderer> mRenderer;
292 LayerOptions mLayerOptions;
294 bool mSync3DRendererTo2DRenderer =
true;
296 PointCloudStatisticsCalculationState mStatisticsCalculationState = PointCloudStatisticsCalculationState::NotStarted;
297 long mStatsCalculationTask = 0;
301 #endif // QGSPOINTCLOUDPLAYER_H