2015-10-18 15:26:19 +00:00
|
|
|
#ifndef VEGETATIONDEFINITION_H
|
|
|
|
#define VEGETATIONDEFINITION_H
|
|
|
|
|
|
|
|
#include "definition_global.h"
|
|
|
|
|
|
|
|
#include "Layers.h"
|
|
|
|
|
|
|
|
namespace paysages {
|
|
|
|
namespace definition {
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Definition of all vegetation layers in the scenery.
|
|
|
|
*/
|
2015-11-09 21:38:00 +00:00
|
|
|
class DEFINITIONSHARED_EXPORT VegetationDefinition : public Layers {
|
|
|
|
public:
|
|
|
|
VegetationDefinition(DefinitionNode *parent);
|
2015-10-18 15:26:19 +00:00
|
|
|
|
|
|
|
/**
|
|
|
|
* Get a vegetation layer by its position.
|
|
|
|
*/
|
2015-11-09 21:38:00 +00:00
|
|
|
inline VegetationLayerDefinition *getVegetationLayer(int position) const {
|
|
|
|
return (VegetationLayerDefinition *)getLayer(position);
|
|
|
|
}
|
2015-10-18 15:26:19 +00:00
|
|
|
|
2015-11-02 22:00:02 +00:00
|
|
|
/**
|
|
|
|
* Get the max height of all layers assembled.
|
|
|
|
*/
|
|
|
|
double getMaxHeight() const;
|
|
|
|
|
2015-11-09 21:38:00 +00:00
|
|
|
typedef enum { VEGETATION_PRESET_TEMPERATE } VegetationPreset;
|
2015-12-10 18:48:42 +00:00
|
|
|
void applyPreset(VegetationPreset preset, RandomGenerator &random = RandomGeneratorDefault);
|
2015-10-18 15:26:19 +00:00
|
|
|
};
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
#endif // VEGETATIONDEFINITION_H
|