47 bool removeLayer(
const std::string&
name);
49 bool hasLayer(
const std::string&
name)
const;
51 int getLayerCount()
const;
53 std::string getLayerName(
int index)
const;
55 int getLayerPriority(
const std::string&
name)
const;
57 float getLayerDensity(
const std::string&
name)
const;
60 bool addAsset(
const std::string& layerName,
const std::string& asset,
float weight,
61 float minScale,
float maxScale,
bool randomYaw);
63 int getAssetCount(
const std::string& layerName)
const;
65 std::string getAssetName(
const std::string& layerName,
int index)
const;
70 int getExclusionCount()
const;
78 std::string getError()
const;
80 std::string debugReport()
const;
86 std::vector<BiomeLayerRule> layers_;
87 std::vector<std::shared_ptr<SpatialData>> exclusions_;
89 int lastCandidateCount_ = 0;
90 int lastOutputCount_ = 0;
eve::action::ActionSpatialBinding spatial
#define EVENGINE_API_DOMAINS
Data-driven biome distribution rules compatible with PointGraph and scene batches.
Script-friendly collection of attributed 3D samples.
Queryable spatial input for procedural pipelines.
One weighted asset entry in a procedural biome layer.
One spatially-defined biome layer and its asset table.
std::vector< BiomeAssetRule > assets
std::shared_ptr< SpatialData > spatial