49 return qobject_cast<QgsTiledSceneLayer *>( mLayerRef.layer );
74 QDomDocument doc = elem.ownerDocument();
76 elem.setAttribute( QStringLiteral(
"layer" ), mLayerRef.layerId );
78 elem.setAttribute( QStringLiteral(
"show-bounding-boxes" ),
showBoundingBoxes() ? QStringLiteral(
"1" ) : QStringLiteral(
"0" ) );
85 mLayerRef =
QgsMapLayerRef( elem.attribute( QStringLiteral(
"layer" ) ) );
87 mShowBoundingBoxes = elem.attribute( QStringLiteral(
"show-bounding-boxes" ), QStringLiteral(
"0" ) ).toInt();
88 mMaximumScreenError = elem.attribute( QStringLiteral(
"max-screen-error" ), QStringLiteral(
"16.0" ) ).toDouble();
93 mLayerRef.setLayer( project.
mapLayer( mLayerRef.layerId ) );
98 return mMaximumScreenError;
103 mMaximumScreenError = error;
108 return mShowBoundingBoxes;
Base class for all renderers that participate in 3D views.
QgsAbstract3DRenderer()=default
virtual QgsCoordinateReferenceSystem crs() const =0
Returns the coordinate system for the data source.
Encapsulates a QGIS project, including sets of map layers and their styles, layouts,...
Q_INVOKABLE QgsMapLayer * mapLayer(const QString &layerId) const
Retrieve a pointer to a registered layer by layer ID.
A container for the context for various read/write operations on objects.
virtual const QgsCoordinateReferenceSystem sceneCrs() const =0
Returns the original coordinate reference system for the tiled scene data.
virtual QgsTiledSceneIndex index() const =0
Returns the provider's tile index.
An index for tiled scene data providers.
3D renderer that renders content of a tiled scene layer.
QgsTiledSceneLayer * layer() const
Returns tiled scene layer associated with the renderer.
void setLayer(QgsTiledSceneLayer *layer)
Sets tiled scene layer associated with the renderer.
void resolveReferences(const QgsProject &project) override
Resolves references to other objects - second phase of loading - after readXml().
Qt3DCore::QEntity * createEntity(Qgs3DMapSettings *map) const override
Returns a 3D entity that will be used to show renderer's data in 3D scene.
void readXml(const QDomElement &elem, const QgsReadWriteContext &context) override
Reads renderer's properties from given XML element.
bool showBoundingBoxes() const
Returns whether bounding boxes will be visible when rendering the tiled scene.
double maximumScreenError() const
Returns the maximum screen error allowed when rendering the tiled scene.
QgsTiledSceneLayer3DRenderer()
QgsAbstract3DRenderer * clone() const override
Returns a cloned instance.
void setShowBoundingBoxes(bool showBoundingBoxes)
Sets whether bounding boxes will be visible when rendering the tiled scene.
void setMaximumScreenError(double error)
Sets the maximum screen error allowed when rendering the tiled scene.
void writeXml(QDomElement &elem, const QgsReadWriteContext &context) const override
Writes renderer's properties to given XML element.
Represents a map layer supporting display of tiled scene objects.
QgsMapLayerElevationProperties * elevationProperties() override
Returns the layer's elevation properties.
QgsTiledSceneDataProvider * dataProvider() override
Returns the layer's data provider, it may be nullptr.
_LayerRef< QgsMapLayer > QgsMapLayerRef