paysages3d/src/definition/VegetationPresenceDefinition.h

38 lines
1.1 KiB
C
Raw Normal View History

#pragma once
2015-10-18 20:15:19 +00:00
#include "definition_global.h"
#include "DefinitionNode.h"
namespace paysages {
namespace definition {
/**
* Definition of the presence of vegetation at locations.
*/
class DEFINITIONSHARED_EXPORT VegetationPresenceDefinition : public DefinitionNode {
public:
2015-10-18 20:15:19 +00:00
VegetationPresenceDefinition(VegetationLayerDefinition *parent);
/**
* Collect instances in a rectangle area.
*
2016-01-06 18:55:49 +00:00
* If 'outcomers' is true, the rectangle area will be expanded to included potential instances that does not
*originate
2015-10-18 20:15:19 +00:00
* in the area, but may have leaves in it.
*
* The location vector set in collected instances is based on raw terrain height, without displacement.
* It's the renderer role to apply the correct displacement.
*/
bool collectInstances(vector<VegetationInstance> *result, const VegetationModelDefinition &model, double xmin,
double zmin, double xmax, double zmax, bool outcomers = true) const;
2015-11-02 22:00:02 +00:00
double getMaxHeight() const;
private:
NoiseNode *noise;
FloatNode *interval;
2015-10-18 20:15:19 +00:00
};
}
}