|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectcom.jmex.terrain.util.AbstractHeightMap
com.jmex.terrain.util.HillHeightMap
public class HillHeightMap
HillHeightMap
generates a height map base on the Hill
Algorithm. Terrain is generatd by growing hills of random size and height at
random points in the heightmap. The terrain is then normalized and valleys
can be flattened.
Field Summary |
---|
Fields inherited from class com.jmex.terrain.util.AbstractHeightMap |
---|
filter, heightData, heightScale, NORMALIZE_RANGE, size |
Constructor Summary | |
---|---|
HillHeightMap(int size,
int iterations,
float minRadius,
float maxRadius,
byte flattening)
Constructor sets the attributes of the hill system and generates the height map by using a random seed. |
|
HillHeightMap(int size,
int iterations,
float minRadius,
float maxRadius,
byte flattening,
long seed)
Constructor sets the attributes of the hill system and generates the height map. |
Method Summary | |
---|---|
protected void |
addHill(float[][] tempBuffer,
java.util.Random random)
Generates a new hill of random size and height at a random position in the heightmap. |
protected void |
flatten(float[][] tempBuffer)
Flattens out the valleys. |
boolean |
load()
load populates the height map data. |
protected void |
normalize(float[][] tempBuffer)
Normalizes the heightmap values between 0.0 and 1.0. |
void |
setFlattening(byte flattening)
Sets the amount of flattening done in the algorithm. |
void |
setIterations(int iterations)
Sets the number of hills to grow. |
void |
setMaxRadius(float maxRadius)
Sets the minimum radius of a hill. |
void |
setMinRadius(float minRadius)
Sets the maximum radius of a hill. |
Methods inherited from class com.jmex.terrain.util.AbstractHeightMap |
---|
erodeTerrain, getHeightMap, getInterpolatedHeight, getScaledHeightAtPoint, getSize, getTrueHeightAtPoint, normalizeTerrain, save, setHeightAtPoint, setHeightScale, setMagnificationFilter, setSize, unloadHeightMap |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public HillHeightMap(int size, int iterations, float minRadius, float maxRadius, byte flattening, long seed)
size
- size the size of the terrain to be generatediterations
- the number of hills to growminRadius
- the minimum radius of a hillmaxRadius
- the maximum radius of a hillflattening
- the power of flattening done, 1 means noneseed
- the seed to generate the same heightmap again
JmeException
- if size of the terrain is not greater that zero, or number of
iterations is not greater that zeropublic HillHeightMap(int size, int iterations, float minRadius, float maxRadius, byte flattening)
size
- size the size of the terrain to be generatediterations
- the number of hills to growminRadius
- the minimum radius of a hillmaxRadius
- the maximum radius of a hillflattening
- the power of flattening done, 1 means none
JmeException
- if size of the terrain is not greater that zero, or number of
iterations is not greater that zeroMethod Detail |
---|
public boolean load()
AbstractHeightMap
load
populates the height map data. This is dependent on
the subclass's implementation.
load
in class AbstractHeightMap
protected void addHill(float[][] tempBuffer, java.util.Random random)
Random
object is used to guarantee the same heightmap for the same seed and
attributes.
tempBuffer
- the temporary height map bufferrandom
- the random number generatorprotected void normalize(float[][] tempBuffer)
tempBuffer
- the temporary heightmap bufferprotected void flatten(float[][] tempBuffer)
tempBuffer
- the temporary heightmap buffersetFlattening(byte)
public void setIterations(int iterations)
iterations
- the number of hills to grow
JmeException
- if iterations if not greater than zeropublic void setFlattening(byte flattening)
flattening
- the power of flattening, one means nonepublic void setMaxRadius(float maxRadius)
maxRadius
- the maximum radius of a hill
JmeException
- if the maximum radius if not greater than zero or not greater
than the minimum radiuspublic void setMinRadius(float minRadius)
minRadius
- the minimum radius of a hill
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |