Michaël Lemaire
9a096ec329
Conflicts: src/basics/Disk.cpp src/basics/Disk.h src/basics/SpaceSegment.cpp src/definition/DefinitionNode.cpp src/definition/DefinitionNode.h src/definition/Scenery.cpp src/definition/Scenery.h src/definition/SurfaceMaterial.cpp src/definition/SurfaceMaterial.h src/definition/TextureLayerDefinition.cpp src/definition/definition_global.h src/interface/commandline/tests.cpp src/render/opengl/OpenGLRenderer.cpp src/render/software/SoftwareCanvasRenderer.cpp src/render/software/SoftwareCanvasRenderer.h src/render/software/SoftwareRenderer.h src/render/software/TerrainRasterizer.cpp src/render/software/TerrainRasterizer.h src/render/software/TerrainRenderer.h src/render/software/software_global.h
37 lines
1,020 B
C++
37 lines
1,020 B
C++
#include "VegetationDefinition.h"
|
|
|
|
#include "VegetationLayerDefinition.h"
|
|
#include "VegetationModelDefinition.h"
|
|
|
|
static DefinitionNode *_layer_constructor(Layers *parent) {
|
|
return new VegetationLayerDefinition(parent);
|
|
}
|
|
|
|
VegetationDefinition::VegetationDefinition(DefinitionNode *parent) : Layers(parent, "vegetation", _layer_constructor) {
|
|
}
|
|
|
|
double VegetationDefinition::getMaxHeight() const {
|
|
double max_height = 0.0;
|
|
int n = count();
|
|
|
|
for (int i = 0; i < n; i++) {
|
|
double layer_height = getVegetationLayer(i)->getMaxHeight();
|
|
if (layer_height > max_height) {
|
|
max_height = layer_height;
|
|
}
|
|
}
|
|
|
|
return max_height;
|
|
}
|
|
|
|
void VegetationDefinition::applyPreset(VegetationPreset preset) {
|
|
VegetationLayerDefinition *layer;
|
|
|
|
clear();
|
|
|
|
if (preset == VEGETATION_PRESET_TEMPERATE) {
|
|
layer = getVegetationLayer(addLayer());
|
|
layer->applyPreset(VegetationLayerDefinition::VEGETATION_BASIC_TREES);
|
|
layer->setName("Basic tree");
|
|
}
|
|
}
|