Package com.jme3.terrain.heightmap
Class HillHeightMap
java.lang.Object
com.jme3.terrain.heightmap.AbstractHeightMap
com.jme3.terrain.heightmap.HillHeightMap
- All Implemented Interfaces:
HeightMap
HillHeightMap
generates a height map base on the Hill
Algorithm. Terrain is generated by growing hills of random size and height at
random points in the heightmap. The terrain is then normalized and valleys
can be flattened.- See Also:
-
Field Summary
Fields inherited from class com.jme3.terrain.heightmap.AbstractHeightMap
filter, heightData, heightScale, NORMALIZE_RANGE, size
-
Constructor Summary
ConstructorDescriptionHillHeightMap
(int size, int iterations, float minRadius, float maxRadius) 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, long seed) Constructor sets the attributes of the hill system and generates the height map. -
Method Summary
Modifier and TypeMethodDescriptionprotected void
Generates a new hill of random size and height at a random position in the heightmap.boolean
load()
Generates a heightmap using the Hill Algorithm and the attributes set by the constructor or the setters.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.jme3.terrain.heightmap.AbstractHeightMap
erodeTerrain, findMinMaxHeights, flatten, getHeightMap, getInterpolatedHeight, getScaledHeightAtPoint, getScaledHeightMap, getSize, getTrueHeightAtPoint, normalizeTerrain, save, setHeightAtPoint, setHeightScale, setMagnificationFilter, setSize, smooth, smooth, unloadHeightMap
-
Constructor Details
-
HillHeightMap
public HillHeightMap(int size, int iterations, float minRadius, float maxRadius, long seed) throws Exception Constructor sets the attributes of the hill system and generates the height map.- Parameters:
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 hillseed
- the seed to generate the same heightmap again- Throws:
Exception
- if size of the terrain is not greater than zero, or the number of iterations is not greater than zero
-
HillHeightMap
Constructor sets the attributes of the hill system and generates the height map by using a random seed.- Parameters:
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 hill- Throws:
Exception
- if size of the terrain is not greater than zero, or number of iterations is not greater than zero
-
-
Method Details
-
load
public boolean load()Generates a heightmap using the Hill Algorithm and the attributes set by the constructor or the setters.- Returns:
- true if the load was successful, false otherwise.
-
addHill
Generates a new hill of random size and height at a random position in the heightmap. This is the actual Hill algorithm. TheRandom
object is used to guarantee the same heightmap for the same seed and attributes.- Parameters:
tempBuffer
- the temporary height map bufferrandom
- the random number generator
-
setIterations
Sets the number of hills to grow. More hills usually mean a nicer heightmap.- Parameters:
iterations
- the number of hills to grow- Throws:
Exception
- if iterations is not greater than zero
-
setMaxRadius
Sets the minimum radius of a hill.- Parameters:
maxRadius
- the maximum radius of a hill- Throws:
Exception
- if the maximum radius is not greater than zero or not greater than the minimum radius
-
setMinRadius
Sets the maximum radius of a hill.- Parameters:
minRadius
- the minimum radius of a hill- Throws:
Exception
- if the minimum radius is not greater than zero or not lower than the maximum radius
-