# DXGfxLib.MeshObjectWithLOD Class Reference

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

Inherited by DXGfxLib.FrameworkMeshObject, and DXGfxLib.FrameworkMeshObject.

Collaboration diagram for DXGfxLib.MeshObjectWithLOD:

[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

int [] DXGfxLib.MeshObjectWithLOD.adjacencyBuffer`[protected]`

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

Definition at line 64 of file MeshObjectWithLOD.cs.

int DXGfxLib.MeshObjectWithLOD::currentMeshIndex = 0`[protected]`

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.

bool DXGfxLib.MeshObjectWithLOD::visible = true

Definition at line 44 of file MeshObjectWithLOD.cs.

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

- D:/guillaume/guillara/3D/DXGfx/Backup/DXGfxLib/MeshObjectWithLOD.cs
- D:/guillaume/guillara/3D/DXGfx/DXGfxLib/MeshObjectWithLOD.cs