C# Class Glare.Graphics.Terrains.Planar.TerrainComponent

A module that is attached to a Terrain that adds functionality to it.
Show file Open project: Burton-Radons/Alexandria

Public Methods

Method Description
Detach ( ) : void

Detach the TerrainComponent from the Terrain.

NodeClip ( TerrainTreeNode node ) : Containment

Return whether the node is contained in this module's clipping range. If this returns Containment.Contains, then any node with a smaller box must also be contained.

NodeLodBlend ( TerrainTreeNode node, double distance ) : double

Return how much to blend between this LOD level and the next less detailed one. If this returns 1, then the node should be divided if possible.

OnBlockAdded ( PlanarTerrainBlock block ) : void

This is called when the PlanarTerrain has added a new PlanarTerrainBlock.

OnDrawing ( PlanarTerrainBlock block, System.Matrix4d &world ) : void
OnHeightModified ( PlanarTerrainBlock block, Box2i &area ) : void

The terrain's heightmap has been modified and its changes have been accepted into the core. This is then called on each attached module to give it an opportunity to affect it.

PostOpaqueRender ( System.Matrix4d &world, System.Matrix4d &view, System.Matrix4d &projection ) : void

This is called by PlanarTerrain.PostOpaqueRender. The opaque scene has been drawn, and if the module can extract information from it (like occlusion queries), this is the time.

ResetMetrics ( ) : void

This is called by PlanarTerrain.ResetMetrics. Reset any metrics that have been gathered to zero.

TerrainComponent ( PlanarTerrain terrain ) : System

Protected Methods

Method Description
OnDetach ( ) : void

Called when the TerrainComponent is being detached from the Terrain.

Method Details

Detach() public method

Detach the TerrainComponent from the Terrain.
public Detach ( ) : void
return void

NodeClip() public method

Return whether the node is contained in this module's clipping range. If this returns Containment.Contains, then any node with a smaller box must also be contained.
public NodeClip ( TerrainTreeNode node ) : Containment
node TerrainTreeNode
return Containment

NodeLodBlend() public method

Return how much to blend between this LOD level and the next less detailed one. If this returns 1, then the node should be divided if possible.
public NodeLodBlend ( TerrainTreeNode node, double distance ) : double
node TerrainTreeNode
distance double
return double

OnBlockAdded() public method

This is called when the PlanarTerrain has added a new PlanarTerrainBlock.
public OnBlockAdded ( PlanarTerrainBlock block ) : void
block PlanarTerrainBlock
return void

OnDetach() protected method

Called when the TerrainComponent is being detached from the Terrain.
protected OnDetach ( ) : void
return void

OnDrawing() public method

public OnDrawing ( PlanarTerrainBlock block, System.Matrix4d &world ) : void
block PlanarTerrainBlock
world System.Matrix4d
return void

OnHeightModified() public method

The terrain's heightmap has been modified and its changes have been accepted into the core. This is then called on each attached module to give it an opportunity to affect it.
public OnHeightModified ( PlanarTerrainBlock block, Box2i &area ) : void
block PlanarTerrainBlock
area Box2i
return void

PostOpaqueRender() public method

This is called by PlanarTerrain.PostOpaqueRender. The opaque scene has been drawn, and if the module can extract information from it (like occlusion queries), this is the time.
public PostOpaqueRender ( System.Matrix4d &world, System.Matrix4d &view, System.Matrix4d &projection ) : void
world System.Matrix4d
view System.Matrix4d
projection System.Matrix4d
return void

ResetMetrics() public method

This is called by PlanarTerrain.ResetMetrics. Reset any metrics that have been gathered to zero.
public ResetMetrics ( ) : void
return void

TerrainComponent() public method

public TerrainComponent ( PlanarTerrain terrain ) : System
terrain PlanarTerrain
return System