mirror of
https://github.com/PolyhedralDev/Terra.git
synced 2026-04-21 15:50:40 +00:00
normalizer meta
This commit is contained in:
@@ -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());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user