paysages3d/src/definition/Scenery.h

68 lines
1.8 KiB
C
Raw Normal View History

#ifndef SCENERY_H
#define SCENERY_H
#include "definition_global.h"
2013-10-30 14:39:56 +00:00
#include "BaseDefinition.h"
namespace paysages {
namespace definition {
/**
* @brief Global scenery management
*
* This class contains the whole scenery definition.
*/
class DEFINITIONSHARED_EXPORT Scenery: public BaseDefinition
{
public:
Scenery();
2013-11-13 19:07:35 +00:00
virtual void save(PackStream* stream) const override;
virtual void load(PackStream* stream) override;
virtual void validate() override;
virtual Scenery* getScenery() override;
2013-10-30 14:39:56 +00:00
void autoPreset(int seed);
void setAtmosphere(AtmosphereDefinition* atmosphere);
2013-11-13 19:07:35 +00:00
inline AtmosphereDefinition* getAtmosphere() const {return atmosphere;}
void getAtmosphere(AtmosphereDefinition* atmosphere);
void setCamera(CameraDefinition* camera);
2013-11-13 19:07:35 +00:00
inline CameraDefinition* getCamera() const {return camera;}
void getCamera(CameraDefinition* camera);
void setClouds(CloudsDefinition* clouds);
2013-11-13 19:07:35 +00:00
inline CloudsDefinition* getClouds() const {return clouds;}
void getClouds(CloudsDefinition* clouds);
void setTerrain(TerrainDefinition* terrain);
2013-11-13 19:07:35 +00:00
inline TerrainDefinition* getTerrain() const {return terrain;}
void getTerrain(TerrainDefinition* terrain);
void setTextures(TexturesDefinition* textures);
2013-11-13 19:07:35 +00:00
inline TexturesDefinition* getTextures() const {return textures;}
void getTextures(TexturesDefinition* textures);
void setWater(WaterDefinition* water);
2013-11-13 19:07:35 +00:00
inline WaterDefinition* getWater() const {return water;}
void getWater(WaterDefinition* water);
void checkCameraAboveGround();
private:
AtmosphereDefinition* atmosphere;
CameraDefinition* camera;
CloudsDefinition* clouds;
TerrainDefinition* terrain;
TexturesDefinition* textures;
WaterDefinition* water;
};
}
}
#endif // SCENERY_H