Skip to content
Permalink
Browse files

initial files stubs

  • Loading branch information
PeterPetrik authored and nyalldawson committed Oct 26, 2020
1 parent ceeeb40 commit abd102c5e8be12935d0fdb5b4fcc72acdf32f368
@@ -621,6 +621,10 @@ SET(QGIS_CORE_SRCS
mesh/qgsmeshcalcutils.cpp
mesh/qgsmeshvirtualdatasetgroup.cpp

pointcloud/qgspointcloudlayer.cpp
pointcloud/qgspointcloudrenderer.cpp
pointcloud/qgspointcloudindex.cpp

labeling/qgslabelfeature.cpp
labeling/qgslabelingengine.cpp
labeling/qgslabelingenginesettings.cpp
@@ -1290,6 +1294,10 @@ SET(QGIS_CORE_HDRS
mesh/qgsmeshcalcutils.h
mesh/qgsmeshvirtualdatasetgroup.h

pointcloud/qgspointcloudlayer.h
pointcloud/qgspointcloudrenderer.h
pointcloud/qgspointcloudindex.h

metadata/qgsabstractmetadatabase.h
metadata/qgslayermetadata.h
metadata/qgslayermetadataformatter.h
@@ -0,0 +1,19 @@
/***************************************************************************
qgspointcloudlayer.h
--------------------
begin : October 2020
copyright : (C) 2020 by Martin Dobias and Peter Petrik
email : wonder dot sk at gmail dot com, zilolv at gmail dot com
***************************************************************************/

/***************************************************************************
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation; either version 2 of the License, or *
* (at your option) any later version. *
* *
***************************************************************************/

#include "qgspointcloudindex.h"

@@ -0,0 +1,44 @@
/***************************************************************************
QgsPointCloudIndex.h
--------------------
begin : October 2020
copyright : (C) 2020 by Martin Dobias and Peter Petrik
email : wonder dot sk at gmail dot com, zilolv at gmail dot com
***************************************************************************/

/***************************************************************************
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation; either version 2 of the License, or *
* (at your option) any later version. *
* *
***************************************************************************/

#ifndef QGSPOINTCLOUDINDEX_H
#define QGSPOINTCLOUDINDEX_H

#include <QString>

/**
* \ingroup core
*
* Represents a indexed point clouds data in octree
*
* \note The API is considered EXPERIMENTAL and can be changed without a notice
*
* \since QGIS 3.18
*/
class CORE_EXPORT QgsPointCloudIndex
{
Q_OBJECT
public:

explicit QgsPointCloudIndex();
~QgsPointCloudIndex();

void load(const QString& fileName);
};


#endif // QGSPOINTCLOUDINDEX_H
@@ -0,0 +1,20 @@
/***************************************************************************
qgspointcloudlayer.h
--------------------
begin : October 2020
copyright : (C) 2020 by Martin Dobias and Peter Petrik
email : wonder dot sk at gmail dot com, zilolv at gmail dot com
***************************************************************************/

/***************************************************************************
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation; either version 2 of the License, or *
* (at your option) any later version. *
* *
***************************************************************************/

#include "qgspointcloudlayer.h"
#include "qgspointcloudrenderer.h"
#include "qgspointcloudindex.h"
@@ -0,0 +1,76 @@
/***************************************************************************
qgspointcloudlayer.h
--------------------
begin : October 2020
copyright : (C) 2020 by Martin Dobias and Peter Petrik
email : wonder dot sk at gmail dot com, zilolv at gmail dot com
***************************************************************************/

/***************************************************************************
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation; either version 2 of the License, or *
* (at your option) any later version. *
* *
***************************************************************************/

#ifndef QGSPOINTCLOUDLAYER_H
#define QGSPOINTCLOUDLAYER_H

#include "qgsmaplayer.h"

#include <QString>

class QgsPointCloudIndex;

/**
* \ingroup core
*
* Represents a map layer supporting display of point clouds
*
* \note The API is considered EXPERIMENTAL and can be changed without a notice
*
* \since QGIS 3.18
*/
class CORE_EXPORT QgsPointCloudLayer : public QgsMapLayer
{
Q_OBJECT
public:

/**
* Constructor - creates a point cloud layer
*/
explicit QgsPointCloudLayer( const QString &path = QString(), const QString &baseName = QString() );

~QgsPointCloudLayer() override;

//! QgsPointCloudLayer cannot be copied.
QgsPointCloudLayer( const QgsPointCloudLayer &rhs ) = delete;
//! QgsPointCloudLayer cannot be copied.
QgsPointCloudLayer &operator=( QgsPointCloudLayer const &rhs ) = delete;

QgsPointCloudLayer *clone() const override SIP_FACTORY;
QgsRectangle extent() const override;
QgsMapLayerRenderer *createMapRenderer( QgsRenderContext &rendererContext ) override SIP_FACTORY;

//! Returns the provider type for this layer
QString providerType() const;

QgsPointCloudIndex *pointCloudIndex() const SIP_SKIP;

private: // Private methods
/**
* Returns TRUE if the provider is in read-only mode
*/
bool isReadOnly() const override {return true;}

#ifdef SIP_RUN
QgsPointCloudLayer( const QgsPointCloudLayer &rhs );
#endif

QgsPointCloudIndex* mPointCloudIndex = nullptr;
};


#endif // QGSPOINTCLOUDPLAYER_H
@@ -0,0 +1,19 @@
/***************************************************************************
qgspointcloudlayer.h
--------------------
begin : October 2020
copyright : (C) 2020 by Martin Dobias and Peter Petrik
email : wonder dot sk at gmail dot com, zilolv at gmail dot com
***************************************************************************/

/***************************************************************************
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation; either version 2 of the License, or *
* (at your option) any later version. *
* *
***************************************************************************/

#include "qgspointcloudrenderer.h"

@@ -0,0 +1,42 @@
/***************************************************************************
QgsPointCloudIndex.h
--------------------
begin : October 2020
copyright : (C) 2020 by Martin Dobias and Peter Petrik
email : wonder dot sk at gmail dot com, zilolv at gmail dot com
***************************************************************************/

/***************************************************************************
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation; either version 2 of the License, or *
* (at your option) any later version. *
* *
***************************************************************************/

#ifndef QGSPOINTCLOUDRENDERER_H
#define QGSPOINTCLOUDRENDERER_H

#include <QString>

/**
* \ingroup core
*
* Represents a 2D renderer of point cloud data
*
* \note The API is considered EXPERIMENTAL and can be changed without a notice
*
* \since QGIS 3.18
*/
class CORE_EXPORT QgsPointCloudRenderer
{
Q_OBJECT
public:

explicit QgsPointCloudRenderer();
~QgsPointCloudRenderer();
};


#endif // QGSPOINTCLOUDRENDERER_H

0 comments on commit abd102c

Please sign in to comment.
You can’t perform that action at this time.