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
Afficher le fichier Open project: WolfgangSt/axiom Class Usage Examples

Méthodes publiques

Свойство Type Description
ChunkID uint
ChunkVersion ushort

Méthodes publiques

Méthode 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.

Méthodes protégées

Méthode 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 méthode

public BoxIntersects ( AxisAlignedBox box, List &terrainList ) : void
box Axiom.Math.AxisAlignedBox
terrainList List
Résultat void

ConnectNeighbour() protected méthode

protected ConnectNeighbour ( TerrainSlot slot, long offsetx, long offsety ) : void
slot TerrainSlot
offsetx long
offsety long
Résultat void

ConvertTerrainSlotToWorldPosition() public méthode

public ConvertTerrainSlotToWorldPosition ( long x, long y, Vector3 &position ) : void
x long
y long
position Vector3
Résultat void

ConvertWorldPositionToTerrainSlot() public méthode

public ConvertWorldPositionToTerrainSlot ( Vector3 position, long &x, long &y ) : void
position Vector3
x long
y long
Résultat void

DefineTerrain() public méthode

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).
Résultat void

DefineTerrain() public méthode

public DefineTerrain ( long x, long y, Image image ) : void
x long
y long
image Image
Résultat void

DefineTerrain() public méthode

public DefineTerrain ( long x, long y, Image image, List layers ) : void
x long
y long
image Image
layers List
Résultat void

DefineTerrain() public méthode

public DefineTerrain ( long x, long y, ImportData importData ) : void
x long
y long
importData ImportData
Résultat void

DefineTerrain() public méthode

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 ///
Résultat void

DefineTerrain() public méthode

public DefineTerrain ( long x, long y, float data, List layers ) : void
x long
y long
data float
layers List
Résultat void

DefineTerrain() public méthode

public DefineTerrain ( long x, long y, string filename ) : void
x long
y long
filename string
Résultat void

Dispose() public méthode

public Dispose ( ) : void
Résultat void

FreeTemporaryResources() public méthode

public FreeTemporaryResources ( ) : void
Résultat void

GenerateFilename() public méthode

public GenerateFilename ( long x, long y ) : string
x long
y long
Résultat string

GetHeightAtWorldPosition() public méthode

public GetHeightAtWorldPosition ( Vector3 position ) : float
position Vector3
Résultat float

GetHeightAtWorldPosition() public méthode

public GetHeightAtWorldPosition ( Vector3 pos, Terrain &terrain ) : float
pos Vector3
terrain Terrain
Résultat float

GetHeightAtWorldPosition() public méthode

public GetHeightAtWorldPosition ( float x, float y, float z ) : float
x float
y float
z float
Résultat float

GetHeightAtWorldPosition() public méthode

public GetHeightAtWorldPosition ( float x, float y, float z, Terrain &terrain ) : float
x float
y float
z float
terrain Terrain
Résultat float

GetTerrain() public méthode

public GetTerrain ( long x, long y ) : Terrain
x long
y long
Résultat Terrain

GetTerrainDefinition() public méthode

public GetTerrainDefinition ( long x, long y ) : TerrainSlotDefinition
x long
y long
Résultat TerrainSlotDefinition

GetTerrainSlot() protected méthode

protected GetTerrainSlot ( long x, long y ) : TerrainSlot
x long
y long
Résultat TerrainSlot

GetTerrainSlot() protected méthode

protected GetTerrainSlot ( long x, long y, bool createIfMissing ) : TerrainSlot
x long
y long
createIfMissing bool
Résultat TerrainSlot

GetTerrainSlotPosition() protected méthode

protected GetTerrainSlotPosition ( long x, long y ) : Vector3
x long
y long
Résultat Vector3

LoadAllTerrains() public méthode

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

LoadAllTerrains() public méthode

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

LoadGroupDefinition() public méthode

public LoadGroupDefinition ( StreamSerializer &stream ) : void
stream StreamSerializer
Résultat void

LoadGroupDefinition() public méthode

public LoadGroupDefinition ( string filename ) : void
filename string
Résultat void

LoadTerrain() public méthode

public LoadTerrain ( long x, long y ) : void
x long
y long
Résultat void

LoadTerrain() public méthode

public LoadTerrain ( long x, long y, bool synchronous ) : void
x long
y long
synchronous bool
Résultat void

LoadTerrainImpl() protected méthode

protected LoadTerrainImpl ( TerrainSlot slot ) : void
slot TerrainSlot
Résultat void

LoadTerrainImpl() protected méthode

protected LoadTerrainImpl ( TerrainSlot slot, bool synchronous ) : void
slot TerrainSlot
synchronous bool
Résultat void

PackIndex() public méthode

public PackIndex ( long x, long y ) : uint
x long
y long
Résultat uint

RayIntersects() public méthode

public RayIntersects ( Ray ray ) : RayResult
ray Ray
Résultat RayResult

RayIntersects() public méthode

public RayIntersects ( Ray ray, float distanceLimit ) : RayResult
ray Ray
distanceLimit float
Résultat RayResult

RemoveAllTerrains() public méthode

public RemoveAllTerrains ( ) : void
Résultat void

RemoveTerrain() public méthode

public RemoveTerrain ( long x, long y ) : void
x long
y long
Résultat void

SaveAllTerrains() public méthode

public SaveAllTerrains ( bool onlyIfModified ) : void
onlyIfModified bool
Résultat void

SaveAllTerrains() public méthode

public SaveAllTerrains ( bool onlyIfModified, bool replaceManualFilenames ) : void
onlyIfModified bool
replaceManualFilenames bool
Résultat void

SaveGroupDefinition() public méthode

public SaveGroupDefinition ( StreamSerializer &stream ) : void
stream StreamSerializer
Résultat void

SaveGroupDefinition() public méthode

public SaveGroupDefinition ( string filename ) : void
filename string
Résultat void

SetFilenamConvention() public méthode

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

SphereIntersects() public méthode

/
public SphereIntersects ( Sphere sphere, List &terrainList ) : void
sphere Sphere
terrainList List
Résultat void

Swap() public méthode

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

TerrainGroup() public méthode

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.
Résultat System

TerrainGroup() public méthode

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
Résultat System

UnloadTerrain() public méthode

public UnloadTerrain ( long x, long y ) : void
x long
y long
Résultat void

UnpackIndex() public méthode

public UnpackIndex ( uint key, long &x, long &y ) : void
key uint
x long
y long
Résultat void

Update() public méthode

Trigger the update process for all terrain instances.
public Update ( ) : void
Résultat void

Update() public méthode

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

UpdateDerivedData() public méthode

public UpdateDerivedData ( ) : void
Résultat void

UpdateDerivedData() public méthode

public UpdateDerivedData ( bool synchronous ) : void
synchronous bool
Résultat void

UpdateDerivedData() public méthode

public UpdateDerivedData ( bool synchronous, byte typeMask ) : void
synchronous bool
typeMask byte
Résultat void

UpdateGeometry() public méthode

Performs an update on all terrain geometry.
public UpdateGeometry ( ) : void
Résultat void

Property Details

ChunkID public_oe static_oe property

public static uint ChunkID
Résultat uint

ChunkVersion public_oe static_oe property

public static ushort ChunkVersion
Résultat ushort