C# Class Axiom.Components.Terrain.TerrainGroup

Helper class to assist you in managing multiple terrain instances that are connected to each other.
Inheritance: DisposableObject, WorkQueue.IRequestHandler, WorkQueue.IResponseHandler
Show file Open project: WolfgangSt/axiom Class Usage Examples

Public Properties

Property Type Description
ChunkID uint
ChunkVersion ushort

Public Methods

Method Description
BoxIntersects ( AxisAlignedBox box, List &terrainList ) : void

ConvertTerrainSlotToWorldPosition ( long x, long y, Vector3 &position ) : void

ConvertWorldPositionToTerrainSlot ( Vector3 position, long &x, long &y ) : void

DefineTerrain ( long x, long y ) : void

Define a 'slot' in the terrain grid - in this case to be loaded from a generated file name.

DefineTerrain ( long x, long y, Image image ) : void

DefineTerrain ( long x, long y, Image image, List layers ) : void

DefineTerrain ( long x, long y, ImportData importData ) : void

DefineTerrain ( long x, long y, float constantHeight ) : void

Define a 'slot' in the terrain grid - in this case a flat terrain.

DefineTerrain ( long x, long y, float data, List layers ) : void

DefineTerrain ( long x, long y, string filename ) : void

Dispose ( ) : void

FreeTemporaryResources ( ) : void

GenerateFilename ( long x, long y ) : string

GetHeightAtWorldPosition ( Vector3 position ) : float

GetHeightAtWorldPosition ( Vector3 pos, Terrain &terrain ) : float

GetHeightAtWorldPosition ( float x, float y, float z ) : float

GetHeightAtWorldPosition ( float x, float y, float z, Terrain &terrain ) : float

GetTerrain ( long x, long y ) : Terrain

GetTerrainDefinition ( long x, long y ) : TerrainSlotDefinition

LoadAllTerrains ( ) : void

Load any terrain instances that have been defined but not loaded yet.

LoadAllTerrains ( bool synchronous ) : void

Load any terrain instances that have been defined but not loaded yet.

LoadGroupDefinition ( StreamSerializer &stream ) : void

LoadGroupDefinition ( string filename ) : void

LoadTerrain ( long x, long y ) : void

LoadTerrain ( long x, long y, bool synchronous ) : void

PackIndex ( long x, long y ) : uint

RayIntersects ( Ray ray ) : RayResult

RayIntersects ( Ray ray, float distanceLimit ) : RayResult

RemoveAllTerrains ( ) : void

RemoveTerrain ( long x, long y ) : void

SaveAllTerrains ( bool onlyIfModified ) : void

SaveAllTerrains ( bool onlyIfModified, bool replaceManualFilenames ) : void

SaveGroupDefinition ( StreamSerializer &stream ) : void

SaveGroupDefinition ( string filename ) : void

SetFilenamConvention ( string prefix, string extension ) : void

Set the naming convention for file names in this terrain group.

SphereIntersects ( Sphere sphere, List &terrainList ) : void

/

Swap ( float oba, float obb ) : void

Swaps to objects. be sure they have the same type

TerrainGroup ( SceneManager sm ) : System

Alternate constructor. *important* You can ONLY use this constructor if you subsequently call loadGroupDefinition to populate the rest. *important*

TerrainGroup ( SceneManager sm, Alignment align, ushort terrainSize, float terrainWorldSize ) : System

Constructor.

UnloadTerrain ( long x, long y ) : void

UnpackIndex ( uint key, long &x, long &y ) : void

Update ( ) : void

Trigger the update process for all terrain instances.

Update ( bool synchronous ) : void

Trigger the update process for all terrain instances.

UpdateDerivedData ( ) : void

UpdateDerivedData ( bool synchronous ) : void

UpdateDerivedData ( bool synchronous, byte typeMask ) : void

UpdateGeometry ( ) : void

Performs an update on all terrain geometry.

Protected Methods

Method Description
ConnectNeighbour ( TerrainSlot slot, long offsetx, long offsety ) : void

GetTerrainSlot ( long x, long y ) : TerrainSlot

GetTerrainSlot ( long x, long y, bool createIfMissing ) : TerrainSlot

GetTerrainSlotPosition ( long x, long y ) : Vector3

LoadTerrainImpl ( TerrainSlot slot ) : void
LoadTerrainImpl ( TerrainSlot slot, bool synchronous ) : void

Method Details

BoxIntersects() public method

public BoxIntersects ( AxisAlignedBox box, List &terrainList ) : void
box Axiom.Math.AxisAlignedBox
terrainList List
return void

ConnectNeighbour() protected method

protected ConnectNeighbour ( TerrainSlot slot, long offsetx, long offsety ) : void
slot TerrainSlot
offsetx long
offsety long
return void

ConvertTerrainSlotToWorldPosition() public method

public ConvertTerrainSlotToWorldPosition ( long x, long y, Vector3 &position ) : void
x long
y long
position Vector3
return void

ConvertWorldPositionToTerrainSlot() public method

public ConvertWorldPositionToTerrainSlot ( Vector3 position, long &x, long &y ) : void
position Vector3
x long
y long
return void

DefineTerrain() public method

Define a 'slot' in the terrain grid - in this case to be loaded from a generated file name.
public DefineTerrain ( long x, long y ) : void
x long The coordinates of the terrain slot relative to the centre slot (signed).
y long The coordinates of the terrain slot relative to the centre slot (signed).
return void

DefineTerrain() public method

public DefineTerrain ( long x, long y, Image image ) : void
x long
y long
image Image
return void

DefineTerrain() public method

public DefineTerrain ( long x, long y, Image image, List layers ) : void
x long
y long
image Image
layers List
return void

DefineTerrain() public method

public DefineTerrain ( long x, long y, ImportData importData ) : void
x long
y long
importData ImportData
return void

DefineTerrain() public method

Define a 'slot' in the terrain grid - in this case a flat terrain.
public DefineTerrain ( long x, long y, float constantHeight ) : void
x long The coordinates of the terrain slot relative to the centre slot (signed).
y long The coordinates of the terrain slot relative to the centre slot (signed).
constantHeight float /// The constant, uniform height that you want the terrain /// to start at ///
return void

DefineTerrain() public method

public DefineTerrain ( long x, long y, float data, List layers ) : void
x long
y long
data float
layers List
return void

DefineTerrain() public method

public DefineTerrain ( long x, long y, string filename ) : void
x long
y long
filename string
return void

Dispose() public method

public Dispose ( ) : void
return void

FreeTemporaryResources() public method

public FreeTemporaryResources ( ) : void
return void

GenerateFilename() public method

public GenerateFilename ( long x, long y ) : string
x long
y long
return string

GetHeightAtWorldPosition() public method

public GetHeightAtWorldPosition ( Vector3 position ) : float
position Vector3
return float

GetHeightAtWorldPosition() public method

public GetHeightAtWorldPosition ( Vector3 pos, Terrain &terrain ) : float
pos Vector3
terrain Terrain
return float

GetHeightAtWorldPosition() public method

public GetHeightAtWorldPosition ( float x, float y, float z ) : float
x float
y float
z float
return float

GetHeightAtWorldPosition() public method

public GetHeightAtWorldPosition ( float x, float y, float z, Terrain &terrain ) : float
x float
y float
z float
terrain Terrain
return float

GetTerrain() public method

public GetTerrain ( long x, long y ) : Terrain
x long
y long
return Terrain

GetTerrainDefinition() public method

public GetTerrainDefinition ( long x, long y ) : TerrainSlotDefinition
x long
y long
return TerrainSlotDefinition

GetTerrainSlot() protected method

protected GetTerrainSlot ( long x, long y ) : TerrainSlot
x long
y long
return TerrainSlot

GetTerrainSlot() protected method

protected GetTerrainSlot ( long x, long y, bool createIfMissing ) : TerrainSlot
x long
y long
createIfMissing bool
return TerrainSlot

GetTerrainSlotPosition() protected method

protected GetTerrainSlotPosition ( long x, long y ) : Vector3
x long
y long
return Vector3

LoadAllTerrains() public method

Load any terrain instances that have been defined but not loaded yet.
public LoadAllTerrains ( ) : void
return void

LoadAllTerrains() public method

Load any terrain instances that have been defined but not loaded yet.
public LoadAllTerrains ( bool synchronous ) : void
synchronous bool
return void

LoadGroupDefinition() public method

public LoadGroupDefinition ( StreamSerializer &stream ) : void
stream StreamSerializer
return void

LoadGroupDefinition() public method

public LoadGroupDefinition ( string filename ) : void
filename string
return void

LoadTerrain() public method

public LoadTerrain ( long x, long y ) : void
x long
y long
return void

LoadTerrain() public method

public LoadTerrain ( long x, long y, bool synchronous ) : void
x long
y long
synchronous bool
return void

LoadTerrainImpl() protected method

protected LoadTerrainImpl ( TerrainSlot slot ) : void
slot TerrainSlot
return void

LoadTerrainImpl() protected method

protected LoadTerrainImpl ( TerrainSlot slot, bool synchronous ) : void
slot TerrainSlot
synchronous bool
return void

PackIndex() public method

public PackIndex ( long x, long y ) : uint
x long
y long
return uint

RayIntersects() public method

public RayIntersects ( Ray ray ) : RayResult
ray Ray
return RayResult

RayIntersects() public method

public RayIntersects ( Ray ray, float distanceLimit ) : RayResult
ray Ray
distanceLimit float
return RayResult

RemoveAllTerrains() public method

public RemoveAllTerrains ( ) : void
return void

RemoveTerrain() public method

public RemoveTerrain ( long x, long y ) : void
x long
y long
return void

SaveAllTerrains() public method

public SaveAllTerrains ( bool onlyIfModified ) : void
onlyIfModified bool
return void

SaveAllTerrains() public method

public SaveAllTerrains ( bool onlyIfModified, bool replaceManualFilenames ) : void
onlyIfModified bool
replaceManualFilenames bool
return void

SaveGroupDefinition() public method

public SaveGroupDefinition ( StreamSerializer &stream ) : void
stream StreamSerializer
return void

SaveGroupDefinition() public method

public SaveGroupDefinition ( string filename ) : void
filename string
return void

SetFilenamConvention() public method

Set the naming convention for file names in this terrain group.
public SetFilenamConvention ( string prefix, string extension ) : void
prefix string
extension string
return void

SphereIntersects() public method

/
public SphereIntersects ( Sphere sphere, List &terrainList ) : void
sphere Sphere
terrainList List
return void

Swap() public method

Swaps to objects. be sure they have the same type
public Swap ( float oba, float obb ) : void
oba float
obb float
return void

TerrainGroup() public method

Alternate constructor. *important* You can ONLY use this constructor if you subsequently call loadGroupDefinition to populate the rest. *important*
public TerrainGroup ( SceneManager sm ) : System
sm SceneManager The SceneManager which will parent the terrain instances.
return System

TerrainGroup() public method

Constructor.
public TerrainGroup ( SceneManager sm, Alignment align, ushort terrainSize, float terrainWorldSize ) : System
sm SceneManager The SceneManager which will parent the terrain instances.
align Alignment The alignment that all terrain instances will use
terrainSize ushort The size of each terrain down one edge in vertices (2^n+1)
terrainWorldSize float The world size of each terrain instance
return System

UnloadTerrain() public method

public UnloadTerrain ( long x, long y ) : void
x long
y long
return void

UnpackIndex() public method

public UnpackIndex ( uint key, long &x, long &y ) : void
key uint
x long
y long
return void

Update() public method

Trigger the update process for all terrain instances.
public Update ( ) : void
return void

Update() public method

Trigger the update process for all terrain instances.
public Update ( bool synchronous ) : void
synchronous bool
return void

UpdateDerivedData() public method

public UpdateDerivedData ( ) : void
return void

UpdateDerivedData() public method

public UpdateDerivedData ( bool synchronous ) : void
synchronous bool
return void

UpdateDerivedData() public method

public UpdateDerivedData ( bool synchronous, byte typeMask ) : void
synchronous bool
typeMask byte
return void

UpdateGeometry() public method

Performs an update on all terrain geometry.
public UpdateGeometry ( ) : void
return void

Property Details

ChunkID public static property

public static uint ChunkID
return uint

ChunkVersion public static property

public static ushort ChunkVersion
return ushort