make SeededBuilder use unboxed long

This commit is contained in:
dfsek
2021-07-17 21:50:12 -07:00
parent 3a94c5287c
commit ec28f613d3
38 changed files with 73 additions and 79 deletions
@@ -23,7 +23,7 @@ public class DomainWarpTemplate extends SamplerTemplate<DomainWarpedSampler> {
private double amplitude = 1;
@Override
public NoiseSampler apply(Long seed) {
return new DomainWarpedSampler(function.apply(seed), warp.apply(seed), (int) (seed + salt), amplitude);
public NoiseSampler build(long seed) {
return new DomainWarpedSampler(function.build(seed), warp.build(seed), (int) (seed + salt), amplitude);
}
}
@@ -19,7 +19,7 @@ public class ImageSamplerTemplate extends SamplerTemplate<ImageSampler> {
private ImageSampler.Channel channel;
@Override
public NoiseSampler apply(Long seed) {
public NoiseSampler build(long seed) {
return new ImageSampler(image, channel, frequency);
}
}
@@ -28,7 +28,7 @@ public class KernelTemplate extends SamplerTemplate<KernelSampler> implements Va
private double frequency = 1;
@Override
public NoiseSampler apply(Long seed) {
public NoiseSampler build(long seed) {
double[][] k = new double[kernel.size()][kernel.get(0).size()];
for(int x = 0; x < kernel.size(); x++) {
@@ -37,7 +37,7 @@ public class KernelTemplate extends SamplerTemplate<KernelSampler> implements Va
}
}
KernelSampler sampler = new KernelSampler(k, function.apply(seed));
KernelSampler sampler = new KernelSampler(k, function.build(seed));
sampler.setFrequency(frequency);
return sampler;
}
@@ -26,9 +26,8 @@ public class CellularNoiseTemplate extends NoiseTemplate<CellularSampler> {
@Default
private SeededNoiseSampler lookup = new SeededNoiseSampler() {
@Override
public NoiseSampler apply(Long seed) {
return new OpenSimplex2Sampler((int) (long) seed);
public NoiseSampler build(long seed) {
return new OpenSimplex2Sampler((int) seed);
}
@Override
@@ -38,9 +37,9 @@ public class CellularNoiseTemplate extends NoiseTemplate<CellularSampler> {
};
@Override
public NoiseSampler apply(Long seed) {
CellularSampler sampler = new CellularSampler((int) (long) seed + salt);
sampler.setNoiseLookup(lookup.apply(seed));
public NoiseSampler build(long seed) {
CellularSampler sampler = new CellularSampler((int) seed + salt);
sampler.setNoiseLookup(lookup.build(seed));
sampler.setFrequency(frequency);
sampler.setJitterModifier(cellularJitter);
sampler.setReturnType(cellularReturnType);
@@ -13,7 +13,7 @@ public class ConstantNoiseTemplate extends SamplerTemplate<ConstantSampler> {
private double value = 0d;
@Override
public NoiseSampler apply(Long seed) {
public NoiseSampler build(long seed) {
return new ConstantSampler(value);
}
}
@@ -42,7 +42,7 @@ public class ExpressionFunctionTemplate extends SamplerTemplate<ExpressionFuncti
}
@Override
public NoiseSampler apply(Long seed) {
public NoiseSampler build(long seed) {
try {
Map<String, Function> noiseFunctionMap = generateFunctions(seed);
return new ExpressionFunction(noiseFunctionMap, equation, vars);
@@ -71,14 +71,14 @@ public class ExpressionFunctionTemplate extends SamplerTemplate<ExpressionFuncti
otherFunctions.forEach((id, function) -> {
if(function.getDimensions() == 2) {
noiseFunctionMap.put(id, new NoiseFunction2(function.apply(seed)));
} else noiseFunctionMap.put(id, new NoiseFunction3(function.apply(seed)));
noiseFunctionMap.put(id, new NoiseFunction2(function.build(seed)));
} else noiseFunctionMap.put(id, new NoiseFunction3(function.build(seed)));
});
functions.forEach((id, function) -> {
if(function.getDimensions() == 2) {
noiseFunctionMap.put(id, new NoiseFunction2(function.apply(seed)));
} else noiseFunctionMap.put(id, new NoiseFunction3(function.apply(seed)));
noiseFunctionMap.put(id, new NoiseFunction2(function.build(seed)));
} else noiseFunctionMap.put(id, new NoiseFunction3(function.build(seed)));
});
return noiseFunctionMap;
@@ -27,8 +27,8 @@ public class GaborNoiseTemplate extends NoiseTemplate<GaborNoiseSampler> {
private double f0 = 0.625;
@Override
public NoiseSampler apply(Long seed) {
GaborNoiseSampler gaborNoiseSampler = new GaborNoiseSampler((int) (long) seed + salt);
public NoiseSampler build(long seed) {
GaborNoiseSampler gaborNoiseSampler = new GaborNoiseSampler((int) seed + salt);
gaborNoiseSampler.setFrequency(frequency);
gaborNoiseSampler.setRotation(rotation);
gaborNoiseSampler.setIsotropic(isotropic);
@@ -13,8 +13,8 @@ public class SimpleNoiseTemplate extends NoiseTemplate<NoiseFunction> {
}
@Override
public NoiseSampler apply(Long seed) {
NoiseFunction sampler = samplerSupplier.apply((int) (long) seed + salt);
public NoiseSampler build(long seed) {
NoiseFunction sampler = samplerSupplier.apply((int) seed + salt);
sampler.setFrequency(frequency);
return sampler;
}
@@ -5,8 +5,8 @@ import com.dfsek.terra.api.noise.NoiseSampler;
public class BrownianMotionTemplate extends FractalTemplate<BrownianMotionSampler> {
@Override
public NoiseSampler apply(Long seed) {
BrownianMotionSampler sampler = new BrownianMotionSampler((int) (long) seed, function.apply(seed));
public NoiseSampler build(long seed) {
BrownianMotionSampler sampler = new BrownianMotionSampler((int) seed, function.build(seed));
sampler.setGain(fractalGain);
sampler.setLacunarity(fractalLacunarity);
sampler.setOctaves(octaves);
@@ -12,8 +12,8 @@ public class PingPongTemplate extends FractalTemplate<PingPongSampler> {
private double pingPong = 2.0D;
@Override
public NoiseSampler apply(Long seed) {
PingPongSampler sampler = new PingPongSampler((int) (long) seed, function.apply(seed));
public NoiseSampler build(long seed) {
PingPongSampler sampler = new PingPongSampler((int) seed, function.build(seed));
sampler.setGain(fractalGain);
sampler.setLacunarity(fractalLacunarity);
sampler.setOctaves(octaves);
@@ -5,8 +5,8 @@ import com.dfsek.terra.api.noise.NoiseSampler;
public class RidgedFractalTemplate extends FractalTemplate<RidgedFractalSampler> {
@Override
public NoiseSampler apply(Long seed) {
RidgedFractalSampler sampler = new RidgedFractalSampler((int) (long) seed, function.apply(seed));
public NoiseSampler build(long seed) {
RidgedFractalSampler sampler = new RidgedFractalSampler((int) seed, function.build(seed));
sampler.setGain(fractalGain);
sampler.setLacunarity(fractalLacunarity);
sampler.setOctaves(octaves);
@@ -13,7 +13,7 @@ public class ClampNormalizerTemplate extends NormalizerTemplate<ClampNormalizer>
private double min;
@Override
public NoiseSampler apply(Long seed) {
return new ClampNormalizer(function.apply(seed), min, max);
public NoiseSampler build(long seed) {
return new ClampNormalizer(function.build(seed), min, max);
}
}
@@ -13,7 +13,7 @@ public class LinearNormalizerTemplate extends NormalizerTemplate<LinearNormalize
private double min;
@Override
public NoiseSampler apply(Long seed) {
return new LinearNormalizer(function.apply(seed), min, max);
public NoiseSampler build(long seed) {
return new LinearNormalizer(function.build(seed), min, max);
}
}
@@ -18,7 +18,7 @@ public class NormalNormalizerTemplate extends NormalizerTemplate<NormalNormalize
private int groups = 16384;
@Override
public NoiseSampler apply(Long seed) {
return new NormalNormalizer(function.apply(seed), groups, mean, stdDev);
public NoiseSampler build(long seed) {
return new NormalNormalizer(function.build(seed), groups, mean, stdDev);
}
}
@@ -30,10 +30,10 @@ public class ExpressionSampler implements NoiseSampler {
functions.forEach((id, noise) -> {
switch(noise.getDimensions()) {
case 2:
parser.registerFunction(id, new NoiseFunction2(noise.apply(seed)));
parser.registerFunction(id, new NoiseFunction2(noise.build(seed)));
break;
case 3:
parser.registerFunction(id, new NoiseFunction3(noise.apply(seed)));
parser.registerFunction(id, new NoiseFunction3(noise.build(seed)));
break;
}
});