Main Page Modules Namespace List Class Hierarchy Alphabetical List Compound List File List Namespace Members Compound Members File Members Related Pages

# deMesh Class Reference

`#include <deMesh_priv.hpp>`

Inheritance diagram for deMesh:

[legend]
Collaboration diagram for deMesh:

[legend]
List of all members.

## Public Member Functions
| deMesh ()
void * | GetWOInterface (long interface_id)
deBoolean | DeSerializeLoad ()
deBoolean | BuildFromBrushGeometry (IdeBrush *brush)
| Builds from a brush.
deBoolean | BuildFromVertices ()
void | ClearGeometry ()
| Destroys all contained geometry.
deBoolean | AddVertices (const deMeshVertexData &vertexdata, long &indexoffset)
| adds vertex data, fills indexoffset with offset to beginning of vertex data in main vertex buffer
deBoolean | AddIndices (const deMeshIndexData &indexdata)
| adds index data, which contains indexoffset and surface information
void | SetNumSubMeshes (u32 NumSubs, deBoolean Dynamic)
| Sets the number of submeshes, and destroys all existing submeshes.
deBoolean | SetSurface (u32 SubNum, IdeSurface *Surface)
IdeSurface * | GetSurface (u32 SubNum)
deBoolean | SetNumFaces (u32 SubNum, u32 NumFaces)
u32 | GetNumFaces (u32 SubNum)
deBoolean | Lock (deVertex **&positions, deTexCoord2 **&uvcoords, deARGB **&colors)
deBoolean | Unlock (deVertex **&positions, deTexCoord2 **&uvcoords, deARGB **&colors)
IdeVertexBuffer * | GetMainVertexBuffer ()
long | GetNumSubMeshes ()
IdeVertexBuffer * | GetSubMeshVertexBuffer (long index)
IdeVertexBuffer * | GetSubMeshIndexBuffer (long index)
IdeSurface * | GetSubMeshSurface (long index)
deDouble | GetBoundRadius ()
void | GetBBox (deAABB &outBox)
## Public Attributes
| WorldObjectClassDef
## Protected Member Functions
| ~deMesh ()
## Private Attributes
IdeVertexBuffer * | m_MainVertexBuffer
IdeVertexBuffer * | m_MainIndexBuffer
deTArray< deSubMesh > | m_SubMeshes
deTArray< deMeshVertexData > | m_VertexDataList
deTArray< deMeshIndexData > | m_IndexDataList
deTArray< SubMeshDescriptor > | m_TempSubMeshes
deDouble | m_BoundRadius
deAABB | m_BBox

## Constructor & Destructor Documentation

deMesh::~deMesh | ( |  | ) | `[protected]`

deMesh::deMesh | ( |  | ) |

## Member Function Documentation

deBoolean deMesh::AddIndices | ( | const deMeshIndexData & | indexdata | ) | `[virtual]`

| adds index data, which contains indexoffset and surface information Implements IdeMesh.

deBoolean deMesh::AddVertices | ( | const deMeshVertexData & | vertexdata,
|  | long & | indexoffset
| ) | `[virtual]`

| adds vertex data, fills indexoffset with offset to beginning of vertex data in main vertex buffer Implements IdeMesh.

deBoolean deMesh::BuildFromBrushGeometry | ( | IdeBrush * | brush | ) | `[virtual]`

| Builds from a brush. Implements IdeMesh.

deBoolean deMesh::BuildFromVertices | ( |  | ) | `[virtual]`

| Builds from a set of vertex & index data, set through AddVertices and AddIndices. This will only take into account the geometry that has been input through AddVertices and AddIndices since the last time a mesh was built. Implements IdeMesh.

void deMesh::ClearGeometry | ( |  | ) | `[virtual]`

| Destroys all contained geometry. Implements IdeMesh.

deBoolean deMesh::DeSerializeLoad | ( |  | ) | `[virtual]`

| Call after all objects in a world have been loaded, to allow pointers to be correctly resolved from World and Object ID's Reimplemented from deWorldObject.

void deMesh::GetBBox | ( | deAABB & | outBox | ) | `[virtual]`

| Implements IdeMesh.

deDouble deMesh::GetBoundRadius | ( |  | ) | `[virtual]`

| Implements IdeMesh.

IdeVertexBuffer * deMesh::GetMainVertexBuffer | ( |  | ) | `[virtual]`

| Implements IdeMesh.

u32 deMesh::GetNumFaces | ( | u32 | SubNum | ) | `[virtual]`

| Implements IdeMesh.

long deMesh::GetNumSubMeshes | ( |  | ) | `[virtual]`

| Implements IdeMesh.

IdeVertexBuffer * deMesh::GetSubMeshIndexBuffer | ( | long | index | ) | `[virtual]`

| Implements IdeMesh.

IdeSurface * deMesh::GetSubMeshSurface | ( | long | index | ) | `[virtual]`

| Implements IdeMesh.

IdeVertexBuffer * deMesh::GetSubMeshVertexBuffer | ( | long | index | ) | `[virtual]`

| Implements IdeMesh.

IdeSurface * deMesh::GetSurface | ( | u32 | SubNum | ) | `[virtual]`

| Implements IdeMesh.

void * deMesh::GetWOInterface | ( | long | interface_id | ) | `[virtual]`

| request a related interface, identified with an ID originally returned from IdeWorldManager::GetUniqueWOInterfaceID Implements IdeWorldObject.

deBoolean deMesh::Lock | ( | deVertex **& | positions,
|  | deTexCoord2 **& | uvcoords,
|  | deARGB **& | colors
| ) | `[virtual]`

| Implements IdeMesh.

deBoolean deMesh::SetNumFaces | ( | u32 | SubNum,
|  | u32 | NumFaces
| ) | `[virtual]`

| Implements IdeMesh.

void deMesh::SetNumSubMeshes | ( | u32 | NumSubs,
|  | deBoolean | Dynamic
| ) | `[virtual]`

| Sets the number of submeshes, and destroys all existing submeshes. Implements IdeMesh.

deBoolean deMesh::SetSurface | ( | u32 | SubNum,
|  | IdeSurface * | Surface
| ) | `[virtual]`

| Implements IdeMesh.

deBoolean deMesh::Unlock | ( | deVertex **& | positions,
|  | deTexCoord2 **& | uvcoords,
|  | deARGB **& | colors
| ) | `[virtual]`

| Implements IdeMesh.

## Member Data Documentation

deAABB deMesh::m_BBox`[private]`

deDouble deMesh::m_BoundRadius`[private]`

deTArray<deMeshIndexData> deMesh::m_IndexDataList`[private]`

IdeVertexBuffer* deMesh::m_MainIndexBuffer`[private]`

IdeVertexBuffer* deMesh::m_MainVertexBuffer`[private]`

deTArray<deSubMesh> deMesh::m_SubMeshes`[private]`

deTArray<SubMeshDescriptor> deMesh::m_TempSubMeshes`[private]`

deTArray<deMeshVertexData> deMesh::m_VertexDataList`[private]`

deMesh::WorldObjectClassDef

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

- deMesh_priv.hpp
- deMesh.cpp