public class SlipstreamBuilder extends java.lang.Object
| Modifier and Type | Class and Description |
|---|---|
static class |
SlipstreamBuilder.AddedSegment |
static class |
SlipstreamBuilder.SlipstreamSection |
static class |
SlipstreamBuilder.StreamType |
| Modifier and Type | Field and Description |
|---|---|
protected float[] |
buildNoise |
protected int |
currFluct |
protected int |
currWChange |
protected int |
currWidth |
protected int |
currWRand |
static int |
FLUCT_HIGH |
static float |
FLUCT_HIGH_MULT |
static float |
FLUCT_LENGTH_MAX |
static float |
FLUCT_LENGTH_MIN |
static int |
FLUCT_LOW |
static float |
FLUCT_LOW_MULT |
static float |
FLUCT_MAG_MAX |
static float |
FLUCT_MAG_MIN |
static int |
FLUCT_MEDIUM |
static float |
FLUCT_MEDIUM_MULT |
static int |
FLUCT_NONE |
static float |
FLUCT_NONE_MULT |
protected float[][] |
fluctTM |
static float |
MAX_NARROW |
static float |
MAX_NORMAL |
static float |
MAX_SPACING |
static float |
MAX_VERY_WIDE |
static float |
MAX_WIDE |
protected float |
maxAngleVariance |
protected float |
maxAngleVarianceForCurve |
static float |
MIN_NARROW |
static float |
MIN_NORMAL |
static float |
MIN_SPACING |
static float |
MIN_VERY_WIDE |
static float |
MIN_WIDE |
protected SlipstreamTerrainPlugin2.SlipstreamParams2 |
params |
protected SlipstreamTerrainPlugin2 |
plugin |
protected java.util.Random |
random |
protected java.util.List<SlipstreamBuilder.SlipstreamSection> |
sections |
protected org.lwjgl.util.vector.Vector2f |
start |
protected SlipstreamBuilder.StreamType |
type |
static int |
WCHANGE_FAST |
static float |
WCHANGE_FAST_T_MULT_MAX |
static float |
WCHANGE_FAST_T_MULT_MIN |
static int |
WCHANGE_MEDIUM |
static float |
WCHANGE_MEDIUM_T_MULT_MAX |
static float |
WCHANGE_MEDIUM_T_MULT_MIN |
static int |
WCHANGE_SLOW |
static float |
WCHANGE_SLOW_T_MULT_MIN |
static float |
WCHANGE_SLOW_T_MULT_MIN_MAX |
protected float[][] |
wchangeTM |
static int |
WIDTH_NARROW |
static int |
WIDTH_NORMAL |
static float |
WIDTH_TO_SPACING_MULT |
static int |
WIDTH_VERY_WIDE |
static int |
WIDTH_WIDE |
protected float[][] |
widthTM |
static int |
WRAND_HIGH |
static float |
WRAND_HIGH_MULT |
static int |
WRAND_LOW |
static float |
WRAND_LOW_MULT |
static int |
WRAND_MEDIUM |
static float |
WRAND_MEDIUM_MULT |
static int |
WRAND_NONE |
static float |
WRAND_NONE_MULT |
protected float[][] |
wrandTM |
| Constructor and Description |
|---|
SlipstreamBuilder(org.lwjgl.util.vector.Vector2f start,
SlipstreamTerrainPlugin2 plugin,
SlipstreamBuilder.StreamType type,
java.util.Random random) |
| Modifier and Type | Method and Description |
|---|---|
void |
addSection(org.lwjgl.util.vector.Vector2f to) |
void |
addSection(org.lwjgl.util.vector.Vector2f to,
boolean alreadyPicked) |
void |
addSection(org.lwjgl.util.vector.Vector2f to,
int width,
int wrand,
int wchange,
int fluct) |
void |
addSection(org.lwjgl.util.vector.Vector2f to,
int width,
int wrand,
int wchange,
int fluct,
int insertIndex) |
protected void |
adjustSharpInflectionPoints() |
void |
buildStream() |
void |
buildTest() |
void |
buildToDestination(org.lwjgl.util.vector.Vector2f to) |
void |
buildToDestination(org.lwjgl.util.vector.Vector2f control,
org.lwjgl.util.vector.Vector2f to) |
void |
buildToDestination(org.lwjgl.util.vector.Vector2f control,
org.lwjgl.util.vector.Vector2f control2,
org.lwjgl.util.vector.Vector2f to) |
protected void |
computeControlPoints() |
void |
generate() |
static void |
genNoise1D(java.util.Random random,
float[] noise,
int size,
float spikes) |
static void |
genNoise1DFill(java.util.Random random,
float[] noise,
int x1,
int x2,
int iter,
float spikes) |
static float |
getApproximateBezierLength(org.lwjgl.util.vector.Vector2f p0,
org.lwjgl.util.vector.Vector2f p1,
org.lwjgl.util.vector.Vector2f p2) |
static float |
getApproximateBezierLength(org.lwjgl.util.vector.Vector2f p0,
org.lwjgl.util.vector.Vector2f p1,
org.lwjgl.util.vector.Vector2f p2,
org.lwjgl.util.vector.Vector2f p3) |
protected float |
getFluctMult(SlipstreamBuilder.SlipstreamSection curr) |
protected float |
getFluctuationFunc(float t) |
protected float |
getGoalWidth(SlipstreamBuilder.SlipstreamSection curr) |
static float |
getInterpNoise(float[] noise,
float t) |
float |
getMaxAngleVariance() |
float |
getMaxAngleVarianceForCurve() |
SlipstreamBuilder.SlipstreamSection |
getNext(SlipstreamBuilder.SlipstreamSection s) |
SlipstreamBuilder.SlipstreamSection |
getPrev(SlipstreamBuilder.SlipstreamSection s) |
protected float |
getWChangeMult(SlipstreamBuilder.SlipstreamSection curr) |
protected float |
getWRandMult(SlipstreamBuilder.SlipstreamSection curr) |
static float[] |
initNoise1D(java.util.Random random,
int size,
float spikes) |
void |
initTransitionMatrices() |
static void |
normalizeNoise1D(float[] noise)
To [0, 1]
|
void |
pickAllNext() |
int |
pickFluct(int curr) |
int |
pickNext(int curr,
float[][] matrix) |
int |
pickWChange(int curr) |
int |
pickWidth(int curr) |
int |
pickWRand(int curr) |
void |
renderDebug(float alpha) |
void |
setMaxAngleVariance(float maxAngleVariance) |
void |
setMaxAngleVarianceForCurve(float maxAngleVarianceForCurve) |
public static float MIN_SPACING
public static float MAX_SPACING
public static float WIDTH_TO_SPACING_MULT
public static float MIN_NARROW
public static float MAX_NARROW
public static float MIN_NORMAL
public static float MAX_NORMAL
public static float MIN_WIDE
public static float MAX_WIDE
public static float MIN_VERY_WIDE
public static float MAX_VERY_WIDE
public static float WCHANGE_SLOW_T_MULT_MIN
public static float WCHANGE_SLOW_T_MULT_MIN_MAX
public static float WCHANGE_MEDIUM_T_MULT_MIN
public static float WCHANGE_MEDIUM_T_MULT_MAX
public static float WCHANGE_FAST_T_MULT_MIN
public static float WCHANGE_FAST_T_MULT_MAX
public static float WRAND_NONE_MULT
public static float WRAND_LOW_MULT
public static float WRAND_MEDIUM_MULT
public static float WRAND_HIGH_MULT
public static float FLUCT_LENGTH_MIN
public static float FLUCT_LENGTH_MAX
public static float FLUCT_MAG_MIN
public static float FLUCT_MAG_MAX
public static float FLUCT_NONE_MULT
public static float FLUCT_LOW_MULT
public static float FLUCT_MEDIUM_MULT
public static float FLUCT_HIGH_MULT
public static final int WIDTH_NARROW
public static final int WIDTH_NORMAL
public static final int WIDTH_WIDE
public static final int WIDTH_VERY_WIDE
public static final int WRAND_NONE
public static final int WRAND_LOW
public static final int WRAND_MEDIUM
public static final int WRAND_HIGH
public static final int WCHANGE_SLOW
public static final int WCHANGE_MEDIUM
public static final int WCHANGE_FAST
public static final int FLUCT_NONE
public static final int FLUCT_LOW
public static final int FLUCT_MEDIUM
public static final int FLUCT_HIGH
protected float[][] widthTM
protected float[][] wrandTM
protected float[][] wchangeTM
protected float[][] fluctTM
protected java.util.Random random
protected SlipstreamTerrainPlugin2.SlipstreamParams2 params
protected SlipstreamTerrainPlugin2 plugin
protected java.util.List<SlipstreamBuilder.SlipstreamSection> sections
protected int currWidth
protected int currWRand
protected int currWChange
protected int currFluct
protected org.lwjgl.util.vector.Vector2f start
protected SlipstreamBuilder.StreamType type
protected float maxAngleVarianceForCurve
protected float maxAngleVariance
protected float[] buildNoise
public SlipstreamBuilder(org.lwjgl.util.vector.Vector2f start, SlipstreamTerrainPlugin2 plugin, SlipstreamBuilder.StreamType type, java.util.Random random)
public void initTransitionMatrices()
public float getMaxAngleVariance()
public void setMaxAngleVariance(float maxAngleVariance)
public float getMaxAngleVarianceForCurve()
public void setMaxAngleVarianceForCurve(float maxAngleVarianceForCurve)
public void buildToDestination(org.lwjgl.util.vector.Vector2f control, org.lwjgl.util.vector.Vector2f control2, org.lwjgl.util.vector.Vector2f to)
public void buildToDestination(org.lwjgl.util.vector.Vector2f control, org.lwjgl.util.vector.Vector2f to)
public void buildToDestination(org.lwjgl.util.vector.Vector2f to)
public void buildTest()
public void generate()
public void buildStream()
protected float getFluctuationFunc(float t)
protected void adjustSharpInflectionPoints()
protected float getWRandMult(SlipstreamBuilder.SlipstreamSection curr)
protected float getFluctMult(SlipstreamBuilder.SlipstreamSection curr)
protected float getWChangeMult(SlipstreamBuilder.SlipstreamSection curr)
protected float getGoalWidth(SlipstreamBuilder.SlipstreamSection curr)
protected void computeControlPoints()
public void addSection(org.lwjgl.util.vector.Vector2f to)
public void addSection(org.lwjgl.util.vector.Vector2f to, boolean alreadyPicked)
public void addSection(org.lwjgl.util.vector.Vector2f to, int width, int wrand, int wchange, int fluct)
public void addSection(org.lwjgl.util.vector.Vector2f to, int width, int wrand, int wchange, int fluct, int insertIndex)
public SlipstreamBuilder.SlipstreamSection getPrev(SlipstreamBuilder.SlipstreamSection s)
public SlipstreamBuilder.SlipstreamSection getNext(SlipstreamBuilder.SlipstreamSection s)
public void pickAllNext()
public int pickWidth(int curr)
public int pickWRand(int curr)
public int pickWChange(int curr)
public int pickFluct(int curr)
public int pickNext(int curr, float[][] matrix)
public void renderDebug(float alpha)
public static float getInterpNoise(float[] noise, float t)
public static void normalizeNoise1D(float[] noise)
noise - public static float[] initNoise1D(java.util.Random random, int size, float spikes)
public static void genNoise1D(java.util.Random random, float[] noise, int size, float spikes)
public static void genNoise1DFill(java.util.Random random, float[] noise, int x1, int x2, int iter, float spikes)
public static float getApproximateBezierLength(org.lwjgl.util.vector.Vector2f p0, org.lwjgl.util.vector.Vector2f p1, org.lwjgl.util.vector.Vector2f p2)
public static float getApproximateBezierLength(org.lwjgl.util.vector.Vector2f p0, org.lwjgl.util.vector.Vector2f p1, org.lwjgl.util.vector.Vector2f p2, org.lwjgl.util.vector.Vector2f p3)