Package com.jme3.terrain.heightmap
Class FaultHeightMap
java.lang.Object
com.jme3.terrain.heightmap.AbstractHeightMap
com.jme3.terrain.heightmap.FaultHeightMap
- All Implemented Interfaces:
HeightMap
Creates a heightmap based on the fault algorithm. Each iteration, a random line
crossing the map is generated. On one side height values are raised, on the other side
lowered.
-
Field Summary
Modifier and TypeFieldDescriptionstatic final int
A circular fault is created.static final int
A linear fault is createdstatic final int
Values are lowered on one side, increased on the other, creating a cosine curve on the fault linestatic final int
Values on one side are lowered, then increase linearly while crossing the fault line to the other side.static final int
Value are lowered on both side, but increased on the fault line creating a smooth ridge on the fault line.static final int
Values on one side are lowered, on the other side increased, creating a step at the fault lineFields inherited from class com.jme3.terrain.heightmap.AbstractHeightMap
filter, heightData, heightScale, NORMALIZE_RANGE, size
-
Constructor Summary
ConstructorDescriptionFaultHeightMap
(int size, int iterations, float minFaultHeight, float maxFaultHeight) Create a heightmap with linear step faults.FaultHeightMap
(int size, int iterations, int faultType, int faultShape, float minFaultHeight, float maxFaultHeight, long seed) Constructor creates the fault. -
Method Summary
Modifier and TypeMethodDescriptionprotected void
addCircleFault
(float[][] tempBuffer, Random random, float faultHeight, float range) protected void
protected void
addLineFault
(float[][] tempBuffer, Random random, float faultHeight, float range) protected float
calcHeight
(float dist, Random random, float faultHeight, float range) int
int
int
float
float
float
float
float
float
long
getSeed()
boolean
load()
load
populates the height map data.void
setFaultShape
(int faultShape) void
setFaultType
(int faultType) void
setIterations
(int iterations) void
setMaxFaultHeight
(float maxFaultHeight) void
setMaxRadius
(float maxRadius) void
setMaxRange
(float maxRange) void
setMinFaultHeight
(float minFaultHeight) void
setMinRadius
(float minRadius) void
setMinRange
(float minRange) void
setSeed
(long seed) 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
-
Field Details
-
FAULTTYPE_STEP
public static final int FAULTTYPE_STEPValues on one side are lowered, on the other side increased, creating a step at the fault line- See Also:
-
FAULTTYPE_LINEAR
public static final int FAULTTYPE_LINEARValues on one side are lowered, then increase linearly while crossing the fault line to the other side. The fault line will be an inclined plane- See Also:
-
FAULTTYPE_COSINE
public static final int FAULTTYPE_COSINEValues are lowered on one side, increased on the other, creating a cosine curve on the fault line- See Also:
-
FAULTTYPE_SINE
public static final int FAULTTYPE_SINEValue are lowered on both side, but increased on the fault line creating a smooth ridge on the fault line.- See Also:
-
FAULTSHAPE_LINE
public static final int FAULTSHAPE_LINEA linear fault is created- See Also:
-
FAULTSHAPE_CIRCLE
public static final int FAULTSHAPE_CIRCLEA circular fault is created.- See Also:
-
-
Constructor Details
-
FaultHeightMap
public FaultHeightMap(int size, int iterations, int faultType, int faultShape, float minFaultHeight, float maxFaultHeight, long seed) throws Exception Constructor creates the fault. For faultType other than STEP, a range can be provided. For faultShape circle, min and max radii can be provided. Don't forget to reload the map if you have set parameters after the constructor call.- Parameters:
size
- The size of the heightmapiterations
- Iterations to performfaultType
- Type of faultfaultShape
- Shape of the fault -line or circleminFaultHeight
- Height modified on each sidemaxFaultHeight
- Height modified on each sideseed
- A seed to feed the Random generator- Throws:
Exception
- See Also:
-
FaultHeightMap
public FaultHeightMap(int size, int iterations, float minFaultHeight, float maxFaultHeight) throws Exception Create a heightmap with linear step faults.- Parameters:
size
- size of heightmapiterations
- number of iterationsminFaultHeight
- Height modified on each sidemaxFaultHeight
- Height modified on each side- Throws:
Exception
-
-
Method Details
-
load
public boolean load()Description copied from interface:HeightMap
load
populates the height map data. This is dependent on the subclass's implementation.- Returns:
- true if the load was successful, false otherwise.
-
addFault
-
addLineFault
-
addCircleFault
-
calcHeight
-
getFaultShape
public int getFaultShape() -
setFaultShape
public void setFaultShape(int faultShape) -
getFaultType
public int getFaultType() -
setFaultType
public void setFaultType(int faultType) -
getIterations
public int getIterations() -
setIterations
public void setIterations(int iterations) -
getMaxFaultHeight
public float getMaxFaultHeight() -
setMaxFaultHeight
public void setMaxFaultHeight(float maxFaultHeight) -
getMaxRadius
public float getMaxRadius() -
setMaxRadius
public void setMaxRadius(float maxRadius) -
getMaxRange
public float getMaxRange() -
setMaxRange
public void setMaxRange(float maxRange) -
getMinFaultHeight
public float getMinFaultHeight() -
setMinFaultHeight
public void setMinFaultHeight(float minFaultHeight) -
getMinRadius
public float getMinRadius() -
setMinRadius
public void setMinRadius(float minRadius) -
getMinRange
public float getMinRange() -
setMinRange
public void setMinRange(float minRange) -
getSeed
public long getSeed() -
setSeed
public void setSeed(long seed)
-