com.jme3.terrain.heightmap
Interface HeightMap

All Known Implementing Classes:
AbstractHeightMap, CombinerHeightMap, FaultHeightMap, FluidSimHeightMap, FractalTileLoader.FloatBufferHeightMap, HillHeightMap, ImageBasedHeightMap, MidpointDisplacementHeightMap, ParticleDepositionHeightMap, RawHeightMap

public interface HeightMap


Method Summary
 float[] getHeightMap()
          getHeightMap returns the entire grid of height data.
 float getInterpolatedHeight(float x, float z)
          getInterpolatedHeight returns the height of a point that does not fall directly on the height posts.
 float getScaledHeightAtPoint(int x, int z)
          getScaledHeightAtPoint returns the scaled value at the point provided.
 float[] getScaledHeightMap()
           
 int getSize()
          getSize returns the size of one side the height map.
 float getTrueHeightAtPoint(int x, int z)
          getTrueHeightAtPoint returns the non-scaled value at the point provided.
 boolean load()
          load populates the height map data.
 void setHeightAtPoint(float height, int x, int z)
          setHeightAtPoint sets the height value for a given coordinate.
 void setHeightScale(float scale)
          setHeightScale sets the scale of the height values.
 void setMagnificationFilter(float filter)
          setFilter sets the erosion value for the filter.
 void setSize(int size)
          setSize sets the size of the terrain where the area is size x size.
 void unloadHeightMap()
          unloadHeightMap clears the data of the height map.
 

Method Detail

getHeightMap

float[] getHeightMap()
getHeightMap returns the entire grid of height data.

Returns:
the grid of height data.

getScaledHeightMap

float[] getScaledHeightMap()

getInterpolatedHeight

float getInterpolatedHeight(float x,
                            float z)
getInterpolatedHeight returns the height of a point that does not fall directly on the height posts.

Parameters:
x - the x coordinate of the point.
z - the y coordinate of the point.
Returns:
the interpolated height at this point.

getScaledHeightAtPoint

float getScaledHeightAtPoint(int x,
                             int z)
getScaledHeightAtPoint returns the scaled value at the point provided.

Parameters:
x - the x (east/west) coordinate.
z - the z (north/south) coordinate.
Returns:
the scaled value at (x, z).

getSize

int getSize()
getSize returns the size of one side the height map. Where the area of the height map is size x size.

Returns:
the size of a single side.

getTrueHeightAtPoint

float getTrueHeightAtPoint(int x,
                           int z)
getTrueHeightAtPoint returns the non-scaled value at the point provided.

Parameters:
x - the x (east/west) coordinate.
z - the z (north/south) coordinate.
Returns:
the value at (x,z).

load

boolean load()
load populates the height map data. This is dependent on the subclass's implementation.

Returns:
true if the load was successful, false otherwise.

setHeightAtPoint

void setHeightAtPoint(float height,
                      int x,
                      int z)
setHeightAtPoint sets the height value for a given coordinate. It is recommended that the height value be within the 0 - 255 range.

Parameters:
height - the new height for the coordinate.
x - the x (east/west) coordinate.
z - the z (north/south) coordinate.

setHeightScale

void setHeightScale(float scale)
setHeightScale sets the scale of the height values. Typically, the height is a little too extreme and should be scaled to a smaller value (i.e. 0.25), to produce cleaner slopes.

Parameters:
scale - the scale to multiply height values by.

setMagnificationFilter

void setMagnificationFilter(float filter)
                            throws java.lang.Exception
setFilter sets the erosion value for the filter. This value must be between 0 and 1, where 0.2 - 0.4 produces arguably the best results.

Parameters:
filter - the erosion value.
Throws:
java.lang.Exception
JmeException - if filter is less than 0 or greater than 1.

setSize

void setSize(int size)
             throws java.lang.Exception
setSize sets the size of the terrain where the area is size x size.

Parameters:
size - the new size of the terrain.
Throws:
java.lang.Exception
JmeException - if the size is less than or equal to zero.

unloadHeightMap

void unloadHeightMap()
unloadHeightMap clears the data of the height map. This insures it is ready for reloading.