paysages3d/src/definition/CloudLayerDefinition.h

57 lines
1.2 KiB
C
Raw Normal View History

2013-11-15 22:26:44 +00:00
#ifndef CLOUDLAYERDEFINITION_H
#define CLOUDLAYERDEFINITION_H
#include "definition_global.h"
#include "BaseDefinition.h"
#include "NoiseState.h"
2013-11-15 22:26:44 +00:00
namespace paysages {
namespace definition {
class DEFINITIONSHARED_EXPORT CloudLayerDefinition : public BaseDefinition
{
public:
CloudLayerDefinition(BaseDefinition* parent);
virtual ~CloudLayerDefinition();
inline const NoiseState &getNoiseState() const {return noise_state;}
2013-11-15 22:26:44 +00:00
static CloudLayerDefinition* newCopy(const CloudLayerDefinition& other, BaseDefinition* parent);
CloudLayerDefinition* newCopy(BaseDefinition* parent) const;
virtual void save(PackStream* pack) const override;
virtual void load(PackStream* pack) override;
virtual void copy(BaseDefinition* destination) const override;
virtual void validate() override;
public:
typedef enum
{
2013-12-04 21:52:18 +00:00
STRATUS,
NIMBOSTRATUS,
CUMULUS,
STRATOCUMULUS,
ALTOCUMULUS,
ALTOSTRATUS,
CUMULONIMBUS,
CIRROCUMULUS,
CIRROSTRATUS,
CIRRUS
2013-11-15 22:26:44 +00:00
} CloudsType;
public:
CloudsType type;
NoiseState noise_state;
2013-12-04 21:52:18 +00:00
double altitude;
double scaling;
double coverage;
2013-11-15 22:26:44 +00:00
};
}
}
#endif // CLOUDLAYERDEFINITION_H