paysages3d/src/definition/VegetationLayerDefinition.h

42 lines
966 B
C
Raw Permalink Normal View History

#pragma once
2015-10-18 15:26:19 +00:00
#include "definition_global.h"
#include "DefinitionNode.h"
namespace paysages {
namespace definition {
/**
* Definition of one vegetation layer.
*/
class DEFINITIONSHARED_EXPORT VegetationLayerDefinition : public DefinitionNode {
public:
VegetationLayerDefinition(DefinitionNode *parent, const string &name);
2015-10-18 15:26:19 +00:00
inline const VegetationPresenceDefinition *getPresence() const {
return presence;
}
inline const VegetationModelDefinition *getModel() const {
return model;
}
2015-10-18 15:26:19 +00:00
2015-11-02 22:00:02 +00:00
double getMaxHeight() const;
typedef enum { VEGETATION_BASIC_TREES } VegetationLayerPreset;
void applyPreset(VegetationLayerPreset preset, RandomGenerator &random = RandomGeneratorDefault);
2015-10-18 15:26:19 +00:00
private:
2015-10-18 15:26:19 +00:00
/**
* Geographic area of presence of this layer.
*/
2015-10-18 20:15:19 +00:00
VegetationPresenceDefinition *presence;
2015-10-18 15:26:19 +00:00
/**
* Base vegetation model to use for this layer.
*/
VegetationModelDefinition *model;
};
}
}