mirror of
https://github.com/VolmitSoftware/Iris.git
synced 2025-07-18 18:23:06 +00:00
Cache feature distances
This commit is contained in:
parent
fa6c2fb63e
commit
bb5f777cea
@ -1,6 +1,7 @@
|
|||||||
package com.volmit.iris.object;
|
package com.volmit.iris.object;
|
||||||
|
|
||||||
import com.google.gson.Gson;
|
import com.google.gson.Gson;
|
||||||
|
import com.volmit.iris.scaffold.cache.AtomicCache;
|
||||||
import com.volmit.iris.util.*;
|
import com.volmit.iris.util.*;
|
||||||
import lombok.AllArgsConstructor;
|
import lombok.AllArgsConstructor;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
@ -70,6 +71,13 @@ public class IrisFeature {
|
|||||||
@Desc("Add additional noise to this spot")
|
@Desc("Add additional noise to this spot")
|
||||||
private IrisGeneratorStyle addNoise = NoiseStyle.FLAT.style();
|
private IrisGeneratorStyle addNoise = NoiseStyle.FLAT.style();
|
||||||
|
|
||||||
|
|
||||||
|
private transient AtomicCache<Double> actualRadius = new AtomicCache<>();
|
||||||
|
public double getActualRadius()
|
||||||
|
{
|
||||||
|
return actualRadius.aquire(() -> IrisInterpolation.getRealRadius(getInterpolator(),getInterpolationRadius()));
|
||||||
|
}
|
||||||
|
|
||||||
public static IrisFeature read(DataInputStream s) throws IOException
|
public static IrisFeature read(DataInputStream s) throws IOException
|
||||||
{
|
{
|
||||||
return new Gson().fromJson(s.readUTF(), IrisFeature.class);
|
return new Gson().fromJson(s.readUTF(), IrisFeature.class);
|
||||||
@ -80,6 +88,6 @@ public class IrisFeature {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public int getRealSize() {
|
public int getRealSize() {
|
||||||
return (int) Math.ceil(IrisInterpolation.getRealRadius(interpolator, 0, 0, interpolationRadius) + blockRadius * 2);
|
return (int) Math.ceil((getActualRadius() + blockRadius) * 2);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user