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.