normalizer meta

This commit is contained in:
dfsek
2021-06-14 13:33:57 -07:00
parent f0655d1bb9
commit 3aaedcf74f
4 changed files with 15 additions and 11 deletions

View File

@@ -1,6 +1,7 @@
package com.dfsek.terra.config.loaders.config.sampler.templates.normalizer; package com.dfsek.terra.config.loaders.config.sampler.templates.normalizer;
import com.dfsek.tectonic.annotations.Value; import com.dfsek.tectonic.annotations.Value;
import com.dfsek.terra.api.config.meta.MetaValue;
import com.dfsek.terra.api.math.noise.NoiseSampler; import com.dfsek.terra.api.math.noise.NoiseSampler;
import com.dfsek.terra.api.math.noise.normalizer.ClampNormalizer; import com.dfsek.terra.api.math.noise.normalizer.ClampNormalizer;
import com.dfsek.terra.api.math.noise.normalizer.LinearNormalizer; import com.dfsek.terra.api.math.noise.normalizer.LinearNormalizer;
@@ -8,13 +9,13 @@ import com.dfsek.terra.api.math.noise.normalizer.LinearNormalizer;
@SuppressWarnings({"unused", "FieldMayBeFinal"}) @SuppressWarnings({"unused", "FieldMayBeFinal"})
public class ClampNormalizerTemplate extends NormalizerTemplate<LinearNormalizer> { public class ClampNormalizerTemplate extends NormalizerTemplate<LinearNormalizer> {
@Value("max") @Value("max")
private double max; private MetaValue<Double> max;
@Value("min") @Value("min")
private double min; private MetaValue<Double> min;
@Override @Override
public NoiseSampler apply(Long seed) { public NoiseSampler apply(Long seed) {
return new ClampNormalizer(function.apply(seed), min, max); return new ClampNormalizer(function.get().apply(seed), min.get(), max.get());
} }
} }

View File

@@ -1,19 +1,20 @@
package com.dfsek.terra.config.loaders.config.sampler.templates.normalizer; package com.dfsek.terra.config.loaders.config.sampler.templates.normalizer;
import com.dfsek.tectonic.annotations.Value; import com.dfsek.tectonic.annotations.Value;
import com.dfsek.terra.api.config.meta.MetaValue;
import com.dfsek.terra.api.math.noise.NoiseSampler; import com.dfsek.terra.api.math.noise.NoiseSampler;
import com.dfsek.terra.api.math.noise.normalizer.LinearNormalizer; import com.dfsek.terra.api.math.noise.normalizer.LinearNormalizer;
@SuppressWarnings({"unused", "FieldMayBeFinal"}) @SuppressWarnings({"unused", "FieldMayBeFinal"})
public class LinearNormalizerTemplate extends NormalizerTemplate<LinearNormalizer> { public class LinearNormalizerTemplate extends NormalizerTemplate<LinearNormalizer> {
@Value("max") @Value("max")
private double max; private MetaValue<Double> max;
@Value("min") @Value("min")
private double min; private MetaValue<Double> min;
@Override @Override
public NoiseSampler apply(Long seed) { public NoiseSampler apply(Long seed) {
return new LinearNormalizer(function.apply(seed), min, max); return new LinearNormalizer(function.get().apply(seed), min.get(), max.get());
} }
} }

View File

@@ -2,23 +2,24 @@ package com.dfsek.terra.config.loaders.config.sampler.templates.normalizer;
import com.dfsek.tectonic.annotations.Default; import com.dfsek.tectonic.annotations.Default;
import com.dfsek.tectonic.annotations.Value; import com.dfsek.tectonic.annotations.Value;
import com.dfsek.terra.api.config.meta.MetaValue;
import com.dfsek.terra.api.math.noise.NoiseSampler; import com.dfsek.terra.api.math.noise.NoiseSampler;
import com.dfsek.terra.api.math.noise.normalizer.NormalNormalizer; import com.dfsek.terra.api.math.noise.normalizer.NormalNormalizer;
@SuppressWarnings({"unused", "FieldMayBeFinal"}) @SuppressWarnings({"unused", "FieldMayBeFinal"})
public class NormalNormalizerTemplate extends NormalizerTemplate<NormalNormalizer> { public class NormalNormalizerTemplate extends NormalizerTemplate<NormalNormalizer> {
@Value("mean") @Value("mean")
private double mean; private MetaValue<Double> mean;
@Value("standard-deviation") @Value("standard-deviation")
private double stdDev; private MetaValue<Double> stdDev;
@Value("groups") @Value("groups")
@Default @Default
private int groups = 16384; private MetaValue<Integer> groups = MetaValue.of(16384);
@Override @Override
public NoiseSampler apply(Long seed) { public NoiseSampler apply(Long seed) {
return new NormalNormalizer(function.apply(seed), groups, mean, stdDev); return new NormalNormalizer(function.get().apply(seed), groups.get(), mean.get(), stdDev.get());
} }
} }

View File

@@ -1,11 +1,12 @@
package com.dfsek.terra.config.loaders.config.sampler.templates.normalizer; package com.dfsek.terra.config.loaders.config.sampler.templates.normalizer;
import com.dfsek.tectonic.annotations.Value; import com.dfsek.tectonic.annotations.Value;
import com.dfsek.terra.api.config.meta.MetaValue;
import com.dfsek.terra.api.math.noise.normalizer.Normalizer; import com.dfsek.terra.api.math.noise.normalizer.Normalizer;
import com.dfsek.terra.api.util.seeded.NoiseSeeded; import com.dfsek.terra.api.util.seeded.NoiseSeeded;
import com.dfsek.terra.config.loaders.config.sampler.templates.SamplerTemplate; import com.dfsek.terra.config.loaders.config.sampler.templates.SamplerTemplate;
public abstract class NormalizerTemplate<T extends Normalizer> extends SamplerTemplate<T> { public abstract class NormalizerTemplate<T extends Normalizer> extends SamplerTemplate<T> {
@Value("function") @Value("function")
protected NoiseSeeded function; protected MetaValue<NoiseSeeded> function;
} }