public class FluidSimHeightMap extends AbstractHeightMap
FluidSimHeightMap
generates a height map based using some
sort of fluid simulation. The heightmap is treated as a highly viscous and
rubbery fluid enabling to fine tune the generated heightmap using a number
of parameters.filter, heightData, heightScale, NORMALIZE_RANGE, size
Constructor and Description |
---|
FluidSimHeightMap(int size,
int iterations)
Constructor sets the attributes of the hill system and generates the
height map.
|
FluidSimHeightMap(int size,
int iterations,
float minInitialHeight,
float maxInitialHeight,
float viscosity,
float waveSpeed,
float timestep,
float nodeDistance,
long seed)
Constructor sets the attributes of the hill system and generates the
height map.
|
Modifier and Type | Method and Description |
---|---|
boolean |
load()
load populates the height map data. |
void |
setIterations(int iterations)
Sets the number of times the fluid simulation should be iterated over
the heightmap.
|
void |
setMaxInitialHeight(float maxInitialHeight)
Sets the maximum initial height of the terrain.
|
void |
setMinInitialHeight(float minInitialHeight)
Sets the minimum initial height of the terrain.
|
void |
setNodeDistance(float nodeDistance)
Sets the distance between each node of the heightmap.
|
void |
setTimeStep(float timeStep)
Sets the time-speed between each iteration of the fluid
simulation algortithm.
|
void |
setViscosity(float viscosity)
Sets the viscosity of the simulated fuid.
|
void |
setWaveSpeed(float waveSpeed)
Sets the speed at which the waves trave.
|
erodeTerrain, findMinMaxHeights, flatten, getHeightMap, getInterpolatedHeight, getScaledHeightAtPoint, getScaledHeightMap, getSize, getTrueHeightAtPoint, normalizeTerrain, save, setHeightAtPoint, setHeightScale, setMagnificationFilter, setSize, smooth, smooth, unloadHeightMap
public FluidSimHeightMap(int size, int iterations, float minInitialHeight, float maxInitialHeight, float viscosity, float waveSpeed, float timestep, float nodeDistance, long seed) throws java.lang.Exception
size
- size the size of the terrain to be generatediterations
- the number of iterations to dominInitialHeight
- the minimum initial height of a terrain valuemaxInitialHeight
- the maximum initial height of a terrain valueviscosity
- the viscosity of the fluidwaveSpeed
- the speed at which the waves traveltimestep
- the constant time-step between each iterationnodeDistance
- the distance between each node of the heightmapseed
- the seed to generate the same heightmap againjava.lang.Exception
- if size of the terrain is not greater that zero, or number of
iterations is not greater that zero, or the minimum initial height
is greater than the maximum (or the other way around)public FluidSimHeightMap(int size, int iterations) throws java.lang.Exception
size
- size the size of the terrain to be generatediterations
- the number of iterations to dojava.lang.Exception
- if size of the terrain is not greater that zero, or number of
iterations is not greater that zeropublic boolean load()
HeightMap
load
populates the height map data. This is dependent on
the subclass's implementation.public void setIterations(int iterations) throws java.lang.Exception
iterations
- the number of iterations to dojava.lang.Exception
- if iterations if not greater than zeropublic void setMaxInitialHeight(float maxInitialHeight)
maxInitialHeight
- the maximum initial heightsetMinInitialHeight(float)
public void setMinInitialHeight(float minInitialHeight)
minInitialHeight
- the minimum initial heightsetMaxInitialHeight(float)
public void setNodeDistance(float nodeDistance)
nodeDistance
- the distance between each nodepublic void setTimeStep(float timeStep)
timeStep
- the time-step between each iterationpublic void setViscosity(float viscosity)
viscosity
- the viscosity of the fluidpublic void setWaveSpeed(float waveSpeed)
waveSpeed
- the speed at which the waves travel