| 122 | } |
| 123 | |
| 124 | TerrainSelectorConstPtr TerrainDatabase::createSelectorType(String const& type, Json const& config, TerrainSelectorParameters const& parameters) const { |
| 125 | if (type == WormCaveSelector::Name) |
| 126 | return make_shared<WormCaveSelector>(config, parameters); |
| 127 | else if (type == KarstCaveSelector::Name) |
| 128 | return make_shared<KarstCaveSelector>(config, parameters); |
| 129 | else if (type == ConstantSelector::Name) |
| 130 | return make_shared<ConstantSelector>(config, parameters); |
| 131 | else if (type == MaxSelector::Name) |
| 132 | return make_shared<MaxSelector>(config, parameters, this); |
| 133 | else if (type == MinMaxSelector::Name) |
| 134 | return make_shared<MinMaxSelector>(config, parameters, this); |
| 135 | else if (type == IslandSurfaceSelector::Name) |
| 136 | return make_shared<IslandSurfaceSelector>(config, parameters); |
| 137 | else if (type == FlatSurfaceSelector::Name) |
| 138 | return make_shared<FlatSurfaceSelector>(config, parameters); |
| 139 | else if (type == DisplacementSelector::Name) |
| 140 | return make_shared<DisplacementSelector>(config, parameters, this); |
| 141 | else if (type == RotateSelector::Name) |
| 142 | return make_shared<RotateSelector>(config, parameters, this); |
| 143 | else if (type == MixSelector::Name) |
| 144 | return make_shared<MixSelector>(config, parameters, this); |
| 145 | else if (type == PerlinSelector::Name) |
| 146 | return make_shared<PerlinSelector>(config, parameters); |
| 147 | else if (type == RidgeBlocksSelector::Name) |
| 148 | return make_shared<RidgeBlocksSelector>(config, parameters); |
| 149 | else if (type == CacheSelector::Name) |
| 150 | return make_shared<CacheSelector>(config, parameters, this); |
| 151 | else |
| 152 | throw TerrainException(strf("Unknown terrain selector type '{}'", type)); |
| 153 | } |
| 154 | |
| 155 | } |
no test coverage detected