QGIS API Documentation  3.26.3-Buenos Aires (65e4edfdad)
qgslightsource.cpp
Go to the documentation of this file.
1 /***************************************************************************
2  qgslightsource.cpp
3  -----------------
4  begin : April 2022
5  copyright : (C) 2022 by Nyall Dawson
6  email : nyall dot dawson at gmail dot com
7 ***************************************************************************/
8 
9 
10 /***************************************************************************
11  * *
12  * This program is free software; you can redistribute it and/or modify *
13  * it under the terms of the GNU General Public License as published by *
14  * the Free Software Foundation; either version 2 of the License, or *
15  * (at your option) any later version. *
16  * *
17  ***************************************************************************/
18 
19 #include "qgslightsource.h"
20 #include "qgspointlightsettings.h"
22 
24 
26 {
27 
28 }
29 
30 QgsLightSource *QgsLightSource::createFromXml( const QDomElement &element, const QgsReadWriteContext &context )
31 {
32  std::unique_ptr< QgsLightSource > res;
33  if ( element.nodeName() == QLatin1String( "point-light" ) )
34  {
35  res = std::make_unique< QgsPointLightSettings >();
36  }
37  else if ( element.nodeName() == QLatin1String( "directional-light" ) )
38  {
39  res = std::make_unique< QgsDirectionalLightSettings >();
40  }
41 
42  if ( res )
43  res->readXml( element, context );
44 
45  return res.release();
46 }
QgsReadWriteContext
The class is used as a container of context for various read/write operations on other objects.
Definition: qgsreadwritecontext.h:34
QgsLightSource
Base class for light sources in 3d scenes.
Definition: qgslightsource.h:46
QgsProject
Encapsulates a QGIS project, including sets of map layers and their styles, layouts,...
Definition: qgsproject.h:103
qgspointlightsettings.h
QgsLightSource::resolveReferences
virtual void resolveReferences(const QgsProject &project)
After reading from XML, resolve references to any layers that have been read as layer IDs.
Definition: qgslightsource.cpp:25
QgsLightSource::~QgsLightSource
virtual ~QgsLightSource()
qgslightsource.h
QgsLightSource::createFromXml
static QgsLightSource * createFromXml(const QDomElement &element, const QgsReadWriteContext &context)
Creates a new light source from an XML element.
Definition: qgslightsource.cpp:30
qgsdirectionallightsettings.h