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
FieldsModifier and TypeFieldDescriptionstatic final intA circular fault is created.static final intA linear fault is createdstatic final intValues are lowered on one side, increased on the other, creating a cosine curve on the fault linestatic final intValues on one side are lowered, then increase linearly while crossing the fault line to the other side.static final intValue are lowered on both side, but increased on the fault line creating a smooth ridge on the fault line.static final intValues 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
ConstructorsConstructorDescriptionFaultHeightMap(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 voidaddCircleFault(float[][] tempBuffer, Random random, float faultHeight, float range) protected voidprotected voidaddLineFault(float[][] tempBuffer, Random random, float faultHeight, float range) protected floatcalcHeight(float dist, Random random, float faultHeight, float range) intintintfloatfloatfloatfloatfloatfloatlonggetSeed()booleanload()loadpopulates the height map data.voidsetFaultShape(int faultShape) voidsetFaultType(int faultType) voidsetIterations(int iterations) voidsetMaxFaultHeight(float maxFaultHeight) voidsetMaxRadius(float maxRadius) voidsetMaxRange(float maxRange) voidsetMinFaultHeight(float minFaultHeight) voidsetMinRadius(float minRadius) voidsetMinRange(float minRange) voidsetSeed(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:HeightMaploadpopulates 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)
-