24 virtual QUuid
id()
const = 0;
26 virtual QString
path()
const = 0;
30 virtual QList<IModelInstance *>
instances()
const = 0;
50 virtual bool toLonLat(QPointF point, QPointF *lonLat)
const = 0;
55 virtual bool fromLonLat(QPointF lonLat, QPointF *point)
const = 0;
58 virtual QList<QVariantMap>
layers()
const = 0;
66 QString *
error =
nullptr) = 0;
73 QString *
error =
nullptr) = 0;
94 virtual QList<QVariantMap>
boundaryFeatures(
const QString &layerId,
bool selectedOnly =
false,
104 QString *
error =
nullptr)
const = 0;
138 virtual bool showPreview(
const QJsonObject &featureCollection, QString *
error =
nullptr) = 0;
Public access to one loaded model, selection, snapshots and edit scopes.
Definition IProject.hpp:19
virtual QString autosave(QString *error=nullptr) const =0
Save a recovery project referencing an independent snapshot of the current model.
virtual ~IProject()=default
Destroy a facade; extensions must not delete the host-owned project.
virtual QString addFeatureLayer(const QString &path, const QString &title, QString *error=nullptr)=0
Add a local vector datasource as a normal persistent feature layer.
virtual QString directory() const =0
Locate reviewable project assets.
virtual QList< QVariantMap > boundaryFeatures(const QString &layerId, bool selectedOnly=false, int offset=0, int limit=500) const =0
Page through polygon feature identities without copying their complete geometries.
virtual QList< QVariantMap > layers() const =0
Enumerate the project's current map layers without exposing private layer objects.
virtual QString crsAuthority() const =0
Read the model CRS authority.
virtual void clearPreview()=0
Remove this extension's preview overlay without altering model/feature layers.
virtual QString crsWkt() const =0
Read model coordinate reference metadata.
virtual QUuid id() const =0
Identify the current project facade.
virtual QJsonObject extensionData() const =0
Read this extension's project-specific state.
virtual void setExtensionData(const QJsonObject &data)=0
Replace this extension's persisted state and mark the project dirty.
virtual QList< QVariantMap > polygonLayers() const =0
Enumerate loaded sources that can provide polygon download boundaries.
virtual QString addRasterLayer(const QString &path, const QString &title, QString *error=nullptr)=0
Add a local GDAL-readable raster as a normal persistent map layer.
virtual QList< IModelInstance * > instances() const =0
Enumerate live model instances.
virtual bool toLonLat(QPointF point, QPointF *lonLat) const =0
Transform a model-coordinate point to longitude/latitude.
virtual QString path() const =0
Locate the project sidecar.
virtual QJsonObject boundaryPolygon(const QString &layerId, qint64 featureId, QString *error=nullptr) const =0
Extract the exact chosen boundary in RFC 7946 longitude/latitude.
virtual bool fromLonLat(QPointF lonLat, QPointF *point) const =0
Transform longitude/latitude into model coordinates.
virtual QJsonObject viewportBoundary(QString *error=nullptr) const =0
Capture the current visible map area as RFC 7946 polygon geometry.
virtual bool showPreview(const QJsonObject &featureCollection, QString *error=nullptr)=0
Replace this extension's transient map preview of sites or product footprints.
Public header-only ABI for independently compiled native GUI extensions.
Definition ExtensionHost.hpp:24
std::uint64_t limit
Definition smsio.cpp:24
const char * title
Definition snowpackeditordialog.cpp:92
double error
Definition terrainerrorfield.cpp:42
double offset
Definition timeseriesassignment.cpp:21