21 #ifndef _SCENEINFO_HPP_ 22 #define _SCENEINFO_HPP_ 24 #include "StelLocation.hpp" 25 #include "VecMath.hpp" 28 #include <QSharedPointer> 36 SceneInfo() :
isValid(
false),
id(),
fullPath(),
name(),
author(),
description(),
copyright(),
landscapeName(),
modelScenery(),
modelGround(),
vertexOrder(),
144 static QMap<QString,QString> getNameToIDMap();
145 static int initMetaType();
149 typedef QList<StoredView> StoredViewList;
154 StoredView() : position(0,0,0,0), view_fov(0,0,-1000), isGlobal(
false), jd(0.0), jdIsRelevant(
false)
174 static StoredViewList getGlobalViewsForScene(
const SceneInfo& scene);
177 static StoredViewList getUserViewsForScene(
const SceneInfo& scene);
180 static void saveUserViews(
const SceneInfo& scene,
const StoredViewList& list);
182 static QSettings* userviews;
183 static const QString USERVIEWS_FILE;
185 static void readArray(QSettings& ini,StoredViewList& list,
int size,
bool isGlobal);
186 static void writeArray(QSettings& ini,
const StoredViewList& list);
187 static QSettings* getUserViews();
bool groundGenerateNormals
Recalculate normals of the ground from face normals? Default false.
QString author
Author of the scene.
QString modelScenery
The file name of the scenery .obj model.
Vec3d modelWorldOffset
Offset of the center of the model in a given grid space.
bool isValid
If this is a valid sceneInfo object loaded from file.
Vec4d position
Stored grid position + current eye height in 4th component.
bool hasLocation() const
Returns true if the location object is valid.
float shadowFarZ
An optional shadow far clipping plane, constraining the shadowmaps to a smaller region than is visibl...
double eyeLevel
The height at which the observer's eyes are placed. Default 1.65.
Contains all the metadata necessary for a Scenery3d scene, and can be loaded from special ...
float camFarZ
Distance to cam far clipping plane. Default 10000.0.
bool altitudeFromModel
If true, it indicates that the model file's bounding box is used for altitude calculation.
Mat4d zRotateMatrix
The vertical axis rotation that must be applied to the scene, for meridian convergence.
static const QString SCENES_PATH
The folder for scenery is found here.
double jd
Julian Date of interest.
static int metaTypeId
The meta type ID associated to the SceneInfo type.
QString name
Name of the scene.
bool groundNullHeightFromModel
If true, it indicates that the model file's bounding box is used for starting height calculation...
QString label
A descriptive label.
QString description
A description of the view.
QString description
A description, which can be displayed in the GUI - supporting HTML tags! Note that this description...
Mat4d obj2gridMatrix
If only a non-georeferenced OBJ can be provided, you can specify a matrix via .ini/[model]/obj_world_...
Vec3d relativeStartPosition
Relative start position in model space, calculated from the world offset and start offset with Z rota...
Vec3f view_fov
Alt/Az angles in degrees + field of view.
static QStringList getAllSceneNames()
Returns all available scene names.
bool jdIsRelevant
Indicate if stored date is potentially relevant.
QSharedPointer< StelLocation > location
Optional more accurate location information, which will override the landscape's position.
bool startPositionFromModel
If true, it indicates that the model file's bounding box is used for starting position calculation...
QString fullPath
The full path to the scene's folder. Other paths (model files) are to be seen relative to this path...
static QString getIDFromName(const QString &name)
Returns the ID for the given scene name.
Vec3d startWorldOffset
The world grid space offset where the observer is placed upon loading.
QString copyright
Copyright string.
Vec3f lookAt_fov
Optional initial look-at vector (azimuth, elevation and FOV in degrees)
double groundNullHeight
The height value outside the ground model's heightmap, or used if no ground model exists...
bool isGlobal
True if this is a position stored next to the scene definition (viewpoints.ini). If false...
QString modelGround
The file name of the optional seperate ground model (used as a heightmap for walking) ...
float transparencyThreshold
Threshold for cutout transparency (no blending). Default is 0.5f.
float shadowSplitWeight
Weighting of the shadow frustum splits between uniform (at 0) and logarithmic (at 1) splits When -1...
QString getLocalizedHTMLDescription() const
Tries to find a description.
QString landscapeName
The name of the landscape to switch to. The landscape's position is applied on loading.
static bool loadByID(const QString &id, SceneInfo &info)
Loads the scene metadata associated with this ID (directory) into the given object. Returns true on success.
float camNearZ
Distance to cam near clipping plane. Default 0.3.
bool hasLookAtFOV() const
Returns true if the lookat_fov is valid.
QString vertexOrder
Optional string depicting vertex order of models (XYZ, ZXY, ...)
static bool loadByName(const QString &name, SceneInfo &info)
Convenience method that finds the ID for the given name and calls loadByID.
A structure which stores a specific view position, view direction and FOV, together with a textual de...
QString id
ID of the scene (relative directory)
bool sceneryGenerateNormals
Recalculate normals of the scene from face normals? Default false.
static QStringList getAllSceneIDs()
Returns all available scene IDs.
QString gridName
The name of the grid space for displaying the world positon.