DXGfxLib.MeshObjectWithLOD Class Reference

Inherits DXGfxLib::MeshObject, and DXGfxLib::MeshObject.

Inherited by DXGfxLib.FrameworkMeshObject, and DXGfxLib.FrameworkMeshObject.

Collaboration diagram for DXGfxLib.MeshObjectWithLOD:

Collaboration graph
[legend]

List of all members.

Public Member Functions

virtual void AttachWithLOD (Device d3ddevice, Mesh meshToAttach, int[] adjacencyBuffer, ExtendedMaterial[] materials, EffectInstance[] effects)
 This is useful to attach a mesh and have the scene manage Level of Details for us.
override void Update (Frustrum frustrum, float elapsedTime, double appTime, List< IDrawable > objectsToBeRendered)
 We want to override the Update method because we want an opportunity to calculate the distance to the view point in order to set the LOD we desire when rendering!
override void Draw (Device device)
 In its draw method the scene will call the Draw method on all scene object (or derived class instances) that have registered to be rendered in the AttachForRendering method.
override void DrawSubset (int index)
 This might be interesting if derived class want to set the device state in a specif way and just used the base MeshObject to perform the DrawSubset. Instead of a DrawSubset call on the full mesh this method will perform the DrawSubset on the right progressive mesh if possible.
virtual void AttachWithLOD (Device d3ddevice, Mesh meshToAttach, int[] adjacencyBuffer, ExtendedMaterial[] materials, EffectInstance[] effects)
 This is useful to attach a mesh and have the scene manage Level of Details for us.
override void Update (Frustrum frustrum, float elapsedTime, double appTime, List< IDrawable > objectsToBeRendered)
 We want to override the Update method because we want an opportunity to calculate the distance to the view point in order to set the LOD we desire when rendering!
override void Draw (Device device)
 In its draw method the scene will call the Draw method on all scene object (or derived class instances) that have registered to be rendered in the AttachForRendering method.
override void DrawSubset (int index)
 This might be interesting if derived class want to set the device state in a specif way and just used the base MeshObject to perform the DrawSubset. Instead of a DrawSubset call on the full mesh this method will perform the DrawSubset on the right progressive mesh if possible.

Public Attributes

bool visible = true

Static Public Attributes

static float near = 20.0f
 Below this value the object is judge near to the camera.
static float mid = 50.0f
 Above near and below mid the object is at 'mid' distance to the view point.
static float far = 250.0f
 Above mid and below far the object is considered far away from the viewpoint. Above far it is very far!!

Protected Attributes

ProgressiveMesh fullMesh = null
 A reference to the progressiveMesh we build from the Mesh attached to this node!!
ProgressiveMesh[] meshes = null
 We also need this.
int currentMeshIndex = 0
 And this:).
int[] adjacencyBuffer
 If we are given the adjacency buffer we want to keep that information.


Detailed Description

Definition at line 26 of file MeshObjectWithLOD.cs.


Member Function Documentation

virtual void DXGfxLib.MeshObjectWithLOD.AttachWithLOD ( Device  d3ddevice,
Mesh  meshToAttach,
int[]  adjacencyBuffer,
ExtendedMaterial[]  materials,
EffectInstance[]  effects 
) [virtual]

This is useful to attach a mesh and have the scene manage Level of Details for us.

Parameters:
d3ddevice 
meshToAttach 
adjacencyBuffer 
materials 
effects 

Definition at line 74 of file MeshObjectWithLOD.cs.

Here is the call graph for this function:

virtual void DXGfxLib.MeshObjectWithLOD.AttachWithLOD ( Device  d3ddevice,
Mesh  meshToAttach,
int[]  adjacencyBuffer,
ExtendedMaterial[]  materials,
EffectInstance[]  effects 
) [virtual]

This is useful to attach a mesh and have the scene manage Level of Details for us.

Parameters:
d3ddevice 
meshToAttach 
adjacencyBuffer 
materials 
effects 

Definition at line 74 of file MeshObjectWithLOD.cs.

Here is the call graph for this function:

override void DXGfxLib.MeshObjectWithLOD.Draw ( Device  device  )  [virtual]

In its draw method the scene will call the Draw method on all scene object (or derived class instances) that have registered to be rendered in the AttachForRendering method.

Parameters:
device 

Reimplemented from DXGfxLib.MeshObject.

Reimplemented in DXGfxLib.FrameworkMeshObject, and DXGfxLib.FrameworkMeshObject.

Definition at line 261 of file MeshObjectWithLOD.cs.

override void DXGfxLib.MeshObjectWithLOD.Draw ( Device  device  )  [virtual]

In its draw method the scene will call the Draw method on all scene object (or derived class instances) that have registered to be rendered in the AttachForRendering method.

Parameters:
device 

Reimplemented from DXGfxLib.MeshObject.

Reimplemented in DXGfxLib.FrameworkMeshObject, and DXGfxLib.FrameworkMeshObject.

Definition at line 261 of file MeshObjectWithLOD.cs.

override void DXGfxLib.MeshObjectWithLOD.DrawSubset ( int  index  )  [virtual]

This might be interesting if derived class want to set the device state in a specif way and just used the base MeshObject to perform the DrawSubset. Instead of a DrawSubset call on the full mesh this method will perform the DrawSubset on the right progressive mesh if possible.

Parameters:
index 

Reimplemented from DXGfxLib.MeshObject.

Definition at line 280 of file MeshObjectWithLOD.cs.

override void DXGfxLib.MeshObjectWithLOD.DrawSubset ( int  index  )  [virtual]

This might be interesting if derived class want to set the device state in a specif way and just used the base MeshObject to perform the DrawSubset. Instead of a DrawSubset call on the full mesh this method will perform the DrawSubset on the right progressive mesh if possible.

Parameters:
index 

Reimplemented from DXGfxLib.MeshObject.

Definition at line 280 of file MeshObjectWithLOD.cs.

override void DXGfxLib.MeshObjectWithLOD.Update ( Frustrum  frustrum,
float  elapsedTime,
double  appTime,
List< IDrawable objectsToBeRendered 
) [virtual]

We want to override the Update method because we want an opportunity to calculate the distance to the view point in order to set the LOD we desire when rendering!

Parameters:
frustrum 
elapsedTime 
appTime 
objectsToBeRendered 

Reimplemented from DXGfxLib.SceneNode.

Definition at line 193 of file MeshObjectWithLOD.cs.

override void DXGfxLib.MeshObjectWithLOD.Update ( Frustrum  frustrum,
float  elapsedTime,
double  appTime,
List< IDrawable objectsToBeRendered 
) [virtual]

We want to override the Update method because we want an opportunity to calculate the distance to the view point in order to set the LOD we desire when rendering!

Parameters:
frustrum 
elapsedTime 
appTime 
objectsToBeRendered 

Reimplemented from DXGfxLib.SceneNode.

Definition at line 193 of file MeshObjectWithLOD.cs.


Member Data Documentation

If we are given the adjacency buffer we want to keep that information.

Definition at line 64 of file MeshObjectWithLOD.cs.

And this:).

Definition at line 59 of file MeshObjectWithLOD.cs.

static float DXGfxLib.MeshObjectWithLOD::far = 250.0f [static]

Above mid and below far the object is considered far away from the viewpoint. Above far it is very far!!

Definition at line 42 of file MeshObjectWithLOD.cs.

ProgressiveMesh DXGfxLib.MeshObjectWithLOD::fullMesh = null [protected]

A reference to the progressiveMesh we build from the Mesh attached to this node!!

Definition at line 49 of file MeshObjectWithLOD.cs.

ProgressiveMesh [] DXGfxLib.MeshObjectWithLOD.meshes = null [protected]

We also need this.

Definition at line 54 of file MeshObjectWithLOD.cs.

static float DXGfxLib.MeshObjectWithLOD::mid = 50.0f [static]

Above near and below mid the object is at 'mid' distance to the view point.

Definition at line 36 of file MeshObjectWithLOD.cs.

static float DXGfxLib.MeshObjectWithLOD::near = 20.0f [static]

Below this value the object is judge near to the camera.

Definition at line 31 of file MeshObjectWithLOD.cs.

Definition at line 44 of file MeshObjectWithLOD.cs.


The documentation for this class was generated from the following files:

Generated on Thu Jan 8 20:49:01 2009 for DXGfx by  doxygen 1.5.8