paysages3d/src/definition/VegetationLayerDefinition.h
Michaël Lemaire 4a710c0977 Merge branch 'master' into vegetation
Conflicts:
	src/interface/commandline/tests.cpp
	src/render/opengl/OpenGLPart.h
	src/render/opengl/OpenGLRenderer.cpp
	src/render/opengl/OpenGLRenderer.h
	src/render/opengl/OpenGLShaderProgram.h
	src/render/opengl/OpenGLSharedState.h
	src/render/software/SoftwareCanvasRenderer.h
2015-12-13 17:16:26 +01:00

45 lines
1 KiB
C++

#ifndef VEGETATIONLAYERDEFINITION_H
#define VEGETATIONLAYERDEFINITION_H
#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);
inline const VegetationPresenceDefinition *getPresence() const {
return presence;
}
inline const VegetationModelDefinition *getModel() const {
return model;
}
double getMaxHeight() const;
typedef enum { VEGETATION_BASIC_TREES } VegetationLayerPreset;
void applyPreset(VegetationLayerPreset preset, RandomGenerator &random = RandomGeneratorDefault);
private:
/**
* Geographic area of presence of this layer.
*/
VegetationPresenceDefinition *presence;
/**
* Base vegetation model to use for this layer.
*/
VegetationModelDefinition *model;
};
}
}
#endif // VEGETATIONLAYERDEFINITION_H