56 lines
1.2 KiB
C++
56 lines
1.2 KiB
C++
#ifndef CLOUDLAYERDEFINITION_H
|
|
#define CLOUDLAYERDEFINITION_H
|
|
|
|
#include "definition_global.h"
|
|
|
|
#include "DefinitionNode.h"
|
|
|
|
#include "NoiseState.h"
|
|
|
|
namespace paysages {
|
|
namespace definition {
|
|
|
|
class DEFINITIONSHARED_EXPORT CloudLayerDefinition : public DefinitionNode
|
|
{
|
|
public:
|
|
CloudLayerDefinition(DefinitionNode* parent);
|
|
virtual ~CloudLayerDefinition();
|
|
|
|
inline const NoiseState &getNoiseState() const {return noise_state;}
|
|
|
|
static CloudLayerDefinition* newCopy(const CloudLayerDefinition& other, DefinitionNode* parent);
|
|
CloudLayerDefinition* newCopy(DefinitionNode* parent) const;
|
|
|
|
virtual void save(PackStream* pack) const override;
|
|
virtual void load(PackStream* pack) override;
|
|
|
|
virtual void copy(DefinitionNode* destination) const override;
|
|
virtual void validate() override;
|
|
|
|
public:
|
|
typedef enum
|
|
{
|
|
STRATUS,
|
|
NIMBOSTRATUS,
|
|
CUMULUS,
|
|
STRATOCUMULUS,
|
|
ALTOCUMULUS,
|
|
ALTOSTRATUS,
|
|
CUMULONIMBUS,
|
|
CIRROCUMULUS,
|
|
CIRROSTRATUS,
|
|
CIRRUS
|
|
} CloudsType;
|
|
|
|
public:
|
|
CloudsType type;
|
|
NoiseState noise_state;
|
|
double altitude;
|
|
double scaling;
|
|
double coverage;
|
|
};
|
|
|
|
}
|
|
}
|
|
|
|
#endif // CLOUDLAYERDEFINITION_H
|