public interface HeightMap
Modifier and Type | Method and Description |
---|---|
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. |
float[] getHeightMap()
getHeightMap
returns the entire grid of height data.float[] getScaledHeightMap()
float getInterpolatedHeight(float x, float z)
getInterpolatedHeight
returns the height of a point that
does not fall directly on the height posts.x
- the x coordinate of the point.z
- the y coordinate of the point.float getScaledHeightAtPoint(int x, int z)
getScaledHeightAtPoint
returns the scaled value at the
point provided.x
- the x (east/west) coordinate.z
- the z (north/south) coordinate.int getSize()
getSize
returns the size of one side the height map. Where
the area of the height map is size x size.float getTrueHeightAtPoint(int x, int z)
getTrueHeightAtPoint
returns the non-scaled value at the
point provided.x
- the x (east/west) coordinate.z
- the z (north/south) coordinate.boolean load()
load
populates the height map data. This is dependent on
the subclass's implementation.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.height
- the new height for the coordinate.x
- the x (east/west) coordinate.z
- the z (north/south) coordinate.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.scale
- the scale to multiply height values by.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.filter
- the erosion value.java.lang.Exception
- if filter is less than 0 or greater than 1.void setSize(int size) throws java.lang.Exception
setSize
sets the size of the terrain where the area is
size x size.size
- the new size of the terrain.java.lang.Exception
- if the size is less than or equal to zero.void unloadHeightMap()
unloadHeightMap
clears the data of the height map. This
insures it is ready for reloading.