18#include <QDomDocument> 
   24  : mSkyboxType( other.mSkyboxType )
 
   25  , mPanoramicTexturePath( other.mPanoramicTexturePath )
 
   26  , mCubeMapFacesPaths( other.mCubeMapFacesPaths )
 
   33  this->mSkyboxType = rhs.mSkyboxType;
 
   34  this->mPanoramicTexturePath = rhs.mPanoramicTexturePath;
 
   35  this->mCubeMapFacesPaths = rhs.mCubeMapFacesPaths;
 
   42  const QString skyboxTypeStr = element.attribute( QStringLiteral( 
"skybox-type" ) );
 
   43  if ( skyboxTypeStr == QLatin1String( 
"Distinct Faces" ) )
 
   45  else if ( skyboxTypeStr == QLatin1String( 
"Panoramic Texture" ) )
 
   47  mPanoramicTexturePath = pathResolver.
readPath( element.attribute( QStringLiteral( 
"panoramic-texture-path" ) ) );
 
   48  mCubeMapFacesPaths.clear();
 
   49  mCubeMapFacesPaths[ QStringLiteral( 
"posX" ) ] = pathResolver.
readPath( element.attribute( QStringLiteral( 
"posX-texture-path" ) ) );
 
   50  mCubeMapFacesPaths[ QStringLiteral( 
"posY" ) ] = pathResolver.
readPath( element.attribute( QStringLiteral( 
"posY-texture-path" ) ) );
 
   51  mCubeMapFacesPaths[ QStringLiteral( 
"posZ" ) ] = pathResolver.
readPath( element.attribute( QStringLiteral( 
"posZ-texture-path" ) ) );
 
   52  mCubeMapFacesPaths[ QStringLiteral( 
"negX" ) ] = pathResolver.
readPath( element.attribute( QStringLiteral( 
"negX-texture-path" ) ) );
 
   53  mCubeMapFacesPaths[ QStringLiteral( 
"negY" ) ] = pathResolver.
readPath( element.attribute( QStringLiteral( 
"negY-texture-path" ) ) );
 
   54  mCubeMapFacesPaths[ QStringLiteral( 
"negZ" ) ] = pathResolver.
readPath( element.attribute( QStringLiteral( 
"negZ-texture-path" ) ) );
 
   59  switch ( mSkyboxType )
 
   62      element.setAttribute( QStringLiteral( 
"skybox-type" ), QStringLiteral( 
"Distinct Faces" ) );
 
   65      element.setAttribute( QStringLiteral( 
"skybox-type" ), QStringLiteral( 
"Panoramic Texture" ) );
 
   70  element.setAttribute( QStringLiteral( 
"panoramic-texture-path" ), pathResolver.
writePath( mPanoramicTexturePath ) );
 
   71  element.setAttribute( QStringLiteral( 
"posX-texture-path" ), pathResolver.
writePath( mCubeMapFacesPaths[ QStringLiteral( 
"posX" ) ] ) );
 
   72  element.setAttribute( QStringLiteral( 
"posY-texture-path" ), pathResolver.
writePath( mCubeMapFacesPaths[ QStringLiteral( 
"posY" ) ] ) );
 
   73  element.setAttribute( QStringLiteral( 
"posZ-texture-path" ), pathResolver.
writePath( mCubeMapFacesPaths[ QStringLiteral( 
"posZ" ) ] ) );
 
   74  element.setAttribute( QStringLiteral( 
"negX-texture-path" ), pathResolver.
writePath( mCubeMapFacesPaths[ QStringLiteral( 
"negX" ) ] ) );
 
   75  element.setAttribute( QStringLiteral( 
"negY-texture-path" ), pathResolver.
writePath( mCubeMapFacesPaths[ QStringLiteral( 
"negY" ) ] ) );
 
   76  element.setAttribute( QStringLiteral( 
"negZ-texture-path" ), pathResolver.
writePath( mCubeMapFacesPaths[ QStringLiteral( 
"negZ" ) ] ) );
 
Resolves relative paths into absolute paths and vice versa.
 
QString writePath(const QString &filename) const
Prepare a filename to save it to the project file.
 
QString readPath(const QString &filename) const
Turn filename read from the project file to an absolute path.
 
The class is used as a container of context for various read/write operations on other objects.
 
const QgsPathResolver & pathResolver() const
Returns path resolver for conversion between relative and absolute paths.
 
Contains the configuration of a skybox entity.
 
QgsSkyboxSettings()=default
default constructor
 
void readXml(const QDomElement &element, const QgsReadWriteContext &context)
Reads settings from a DOM element.
 
QgsSkyboxSettings & operator=(QgsSkyboxSettings const &rhs)
delete assignment operator
 
void writeXml(QDomElement &element, const QgsReadWriteContext &context) const
Writes settings to a DOM element.