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

# deBrush Class Reference

`#include <deBrush_priv.hpp>`

Inheritance diagram for deBrush:

[legend]
Collaboration diagram for deBrush:

[legend]
List of all members.

## Public Member Functions
virtual | ~deBrush ()
void * | GetWOInterface (long interface_id)
deBoolean | Serialize (IdeFile *FS)
| Serialize the object into an open IdeFile - used by deWorld internally.
deBoolean | DeSerialize (IdeFile *FS, long DataLength)
| De-Serialize the object from an open IdeFile - used by deWorld internally.
deBoolean | DeSerializeLoad ()
void * | GetBrushInterface (deBrushType Type) const
void | GetWorldTransform (deTransformInfo &Matrix) const
void | Rotate (deVec3d &Center, deVec3d &Axis, deDouble Degrees)
void | Rotate (deVec3d &Center, deTransformInfo &M)
void | Translate (deVec3d &Delta)
void | Scale (deVec3d &Center, deDouble Scale)
deBoolean | Update ()
long | GetLOD () const
long | GetLOD2 () const
void | SetLOD (long LOD)
void | SetLOD2 (long LOD2)
long | GetTexFacesNum ()
long | GetTexCoordsNum (long faceindex)
deTexCoord | GetTexCoord (long faceindex, long index)
void | SetTexCoord (long faceindex, long index, deTexCoord &coord)
void | SetTexCoord (long faceindex, long index, deFloat u, deFloat v)
void | SetTexture (long faceindex, IdeRenderTexture *tex)
IdeRenderTexture * | GetTexture (long faceindex)
void | SetSmooth (deBoolean SmoothNotSharp)
deBoolean | GetSmooth ()
long | GetNumCVs ()
void | GetCVList (deVec3d buffer[])
deVec3d | GetCV (long num)
deBoolean | SetCV (long num, deVec3d &CV)
deBoolean | SetCVList (long num, deVec3d CVList[])
deBoolean | AddCV (deVec3d &point)
IdeBrush * | Copy ()
void | GetAABB (deVec3d &Mins, deVec3d &Maxs)
long | GetNumVBs ()
IdeVertexBuffer * | GetVertexBuffer (long index)
void | SetDiffuseColor (deARGB color)
deARGB | GetDiffuseColor ()
void | Subtract (IdeBrush *cutter)
## Static Public Member Functions
void | MakeTri (deBPoly &Result, deVec3d &Vert1, deVec3d &Vert2, deVec3d &Vert3)
void | MakeTri (deBPoly &Result, deVec3d &Vert1, deVec3d &Vert2, deVec3d &Vert3, deVec3d &Norm1, deVec3d &Norm2, deVec3d &Norm3)
void | MakeTri (deBPoly &Result, deVec3d &Vert1, deVec3d &Vert2, deVec3d &Vert3, deVec3d &Norm1, deVec3d &Norm2, deVec3d &Norm3, deColor &Color1, deColor &Color2, deColor &Color3)
void | MakeTri (deBPoly &Result, deVec3d &Vert1, deVec3d &Vert2, deVec3d &Vert3, deVec3d &Norm1, deVec3d &Norm2, deVec3d &Norm3, deTexCoord &Coord1, deTexCoord &Coord2, deTexCoord &Coord3)
void | MakeTri (deBPoly &Result, deVec3d &Vert1, deVec3d &Vert2, deVec3d &Vert3, deVec3d &Norm1, deVec3d &Norm2, deVec3d &Norm3, deColor &Color1, deColor &Color2, deColor &Color3, deTexCoord &Coord1, deTexCoord &Coord2, deTexCoord &Coord3)
## Protected Types
enum | DrawType { Points, LineList, LineStrip, TriList = 0, TriStrip, TriFan }
## Protected Member Functions
| deBrush (IdeBrush::deBrushType Type, const DataQuantity_t &QuantityDefs)
virtual void | SpecificRotate (deVec3d Center, deTransformInfo &M)
virtual void | SpecificTranslate (deVec3d Delta)
virtual void | SpecificScale (deVec3d Center, deDouble Scale)
virtual void | UpdateBrush ()=0
virtual deBrush * | CopyBrush ()=0
deBoolean | FillVertexBuffers ()
deBoolean | FillIndexedBuffers ()
void | ClearGeometry ()
void | ResizeLists (long size)
deBoolean | RecalcListQuantities (deBoolean Creation=deFALSE)
## Protected Attributes
const DataQuantity_t & | m_QuantityDefs
deTransform | m_WorldTransform
long | m_CVNum
deTArray< deVec3d > | m_CVList
deTArray< deTArray< deTexCoord > > | m_FaceList
deTArray< IdeRenderTexture * > | m_TextureList
deTArray< IdeVertexBuffer * > | m_SubVBs
deTArray< DrawType > | m_DrawTypeList
IdeVertexBuffer * | m_MainVBuffer
long | m_LOD
long | m_LOD2
deBoolean | m_SmoothNormals
deBoolean | m_Changed
deBoolean | m_UsingIndexedBuffer
deBoolean | m_SaveVBuffers
deARGB | m_DiffuseColor
deTList< deBPoly > | m_PolyList
deTArray< deTList< BIndexList > > | m_IndexedBuffers
deTArray< deIDPair > | m_CachedTextures
## Private Attributes
const IdeBrush::deBrushType | m_Type

## Member Enumeration Documentation

enum deBrush::DrawType`[protected]`

  | Enumeration values:
  Points |
  LineList |
  LineStrip |
  TriList |
  TriStrip |
  TriFan |

## Constructor & Destructor Documentation

deBrush::~deBrush | ( |  | ) | `[virtual]`

deBrush::deBrush | ( | IdeBrush::deBrushType | Type,
|  | const DataQuantity_t & | QuantityDefs
| ) | `[protected]`

## Member Function Documentation

deBoolean deBrush::AddCV | ( | deVec3d & | point | ) | `[virtual]`

| Implements IdeBrush.

void deBrush::ClearGeometry | ( |  | ) | `[protected]`

IdeBrush * deBrush::Copy | ( |  | ) | `[virtual]`

| Implements IdeBrush.

virtual deBrush* deBrush::CopyBrush | ( |  | ) | `[protected, pure virtual]`

| Implemented in deGroupBrush, deLineBrush, deBlockBrush, deCylinderBrush, deLathedBrush, deExtrudedBrush, deStaticBrush, dePrismBrush, deBezierBrush, and deLargeStaticBrush.

deBoolean deBrush::DeSerialize | ( | IdeFile * | FS,
|  | long | DataLength
| ) | `[virtual]`

| De-Serialize the object from an open IdeFile - used by deWorld internally. Implements IdeWorldObject.

deBoolean deBrush::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.

deBoolean deBrush::FillIndexedBuffers | ( |  | ) | `[protected]`

deBoolean deBrush::FillVertexBuffers | ( |  | ) | `[protected]`

void deBrush::GetAABB | ( | deVec3d & | Mins,
|  | deVec3d & | Maxs
| ) | `[virtual]`

| Implements IdeBrush.

void * deBrush::GetBrushInterface | ( | deBrushType | Type | ) | const`[virtual]`

| Implements IdeBrush.

deVec3d deBrush::GetCV | ( | long | num | ) | `[virtual]`

| Implements IdeBrush.

void deBrush::GetCVList | ( | deVec3d | buffer[] | ) | `[virtual]`

| Implements IdeBrush.

deARGB deBrush::GetDiffuseColor | ( |  | ) | `[virtual]`

| Implements IdeBrush.

long deBrush::GetLOD | ( |  | ) | const`[virtual]`

| Implements IdeBrush.

long deBrush::GetLOD2 | ( |  | ) | const`[virtual]`

| Implements IdeBrush.

long deBrush::GetNumCVs | ( |  | ) | `[virtual]`

| Implements IdeBrush.

long deBrush::GetNumVBs | ( |  | ) | `[virtual]`

| Implements IdeBrush.

deBoolean deBrush::GetSmooth | ( |  | ) | `[virtual]`

| Implements IdeBrush.

deTexCoord deBrush::GetTexCoord | ( | long | faceindex,
|  | long | index
| ) | `[virtual]`

| Implements IdeBrush.

long deBrush::GetTexCoordsNum | ( | long | faceindex | ) | `[virtual]`

| Implements IdeBrush.

long deBrush::GetTexFacesNum | ( |  | ) | `[virtual]`

| Implements IdeBrush.

IdeRenderTexture * deBrush::GetTexture | ( | long | faceindex | ) | `[virtual]`

| Implements IdeBrush.

IdeVertexBuffer * deBrush::GetVertexBuffer | ( | long | index | ) | `[virtual]`

| Implements IdeBrush.

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

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

void deBrush::GetWorldTransform | ( | deTransformInfo & | Matrix | ) | const`[virtual]`

| Implements IdeBrush.

void deBrush::MakeTri | ( | deBPoly & | Result,
|  | deVec3d & | Vert1,
|  | deVec3d & | Vert2,
|  | deVec3d & | Vert3,
|  | deVec3d & | Norm1,
|  | deVec3d & | Norm2,
|  | deVec3d & | Norm3,
|  | deColor & | Color1,
|  | deColor & | Color2,
|  | deColor & | Color3,
|  | deTexCoord & | Coord1,
|  | deTexCoord & | Coord2,
|  | deTexCoord & | Coord3
| ) | `[static]`

void deBrush::MakeTri | ( | deBPoly & | Result,
|  | deVec3d & | Vert1,
|  | deVec3d & | Vert2,
|  | deVec3d & | Vert3,
|  | deVec3d & | Norm1,
|  | deVec3d & | Norm2,
|  | deVec3d & | Norm3,
|  | deTexCoord & | Coord1,
|  | deTexCoord & | Coord2,
|  | deTexCoord & | Coord3
| ) | `[static]`

void deBrush::MakeTri | ( | deBPoly & | Result,
|  | deVec3d & | Vert1,
|  | deVec3d & | Vert2,
|  | deVec3d & | Vert3,
|  | deVec3d & | Norm1,
|  | deVec3d & | Norm2,
|  | deVec3d & | Norm3,
|  | deColor & | Color1,
|  | deColor & | Color2,
|  | deColor & | Color3
| ) | `[static]`

void deBrush::MakeTri | ( | deBPoly & | Result,
|  | deVec3d & | Vert1,
|  | deVec3d & | Vert2,
|  | deVec3d & | Vert3,
|  | deVec3d & | Norm1,
|  | deVec3d & | Norm2,
|  | deVec3d & | Norm3
| ) | `[static]`

void deBrush::MakeTri | ( | deBPoly & | Result,
|  | deVec3d & | Vert1,
|  | deVec3d & | Vert2,
|  | deVec3d & | Vert3
| ) | `[static]`

deBoolean deBrush::RecalcListQuantities | ( | deBoolean | Creation = deFALSE | ) | `[protected]`

void deBrush::ResizeLists | ( | long | size | ) | `[protected]`

void deBrush::Rotate | ( | deVec3d & | Center,
|  | deTransformInfo & | M
| ) | `[virtual]`

| Implements IdeBrush.

void deBrush::Rotate | ( | deVec3d & | Center,
|  | deVec3d & | Axis,
|  | deDouble | Degrees
| ) | `[virtual]`

| Implements IdeBrush.

void deBrush::Scale | ( | deVec3d & | Center,
|  | deDouble | Scale
| ) | `[virtual]`

| Implements IdeBrush.

deBoolean deBrush::Serialize | ( | IdeFile * | FS | ) | `[virtual]`

| Serialize the object into an open IdeFile - used by deWorld internally. Implements IdeWorldObject.

deBoolean deBrush::SetCV | ( | long | num,
|  | deVec3d & | CV
| ) | `[virtual]`

| Implements IdeBrush.

deBoolean deBrush::SetCVList | ( | long | num,
|  | deVec3d | CVList[]
| ) | `[virtual]`

| Implements IdeBrush.

void deBrush::SetDiffuseColor | ( | deARGB | color | ) | `[virtual]`

| Implements IdeBrush.

void deBrush::SetLOD | ( | long | LOD | ) | `[virtual]`

| Implements IdeBrush.

void deBrush::SetLOD2 | ( | long | LOD2 | ) | `[virtual]`

| Implements IdeBrush.

void deBrush::SetSmooth | ( | deBoolean | SmoothNotSharp | ) | `[virtual]`

| Implements IdeBrush.

void deBrush::SetTexCoord | ( | long | faceindex,
|  | long | index,
|  | deFloat | u,
|  | deFloat | v
| ) | `[virtual]`

| Implements IdeBrush.

void deBrush::SetTexCoord | ( | long | faceindex,
|  | long | index,
|  | deTexCoord & | coord
| ) | `[virtual]`

| Implements IdeBrush.

void deBrush::SetTexture | ( | long | faceindex,
|  | IdeRenderTexture * | tex
| ) | `[virtual]`

| Implements IdeBrush.

void deBrush::SpecificRotate | ( | deVec3d | Center,
|  | deTransformInfo & | M
| ) | `[protected, virtual]`

| Reimplemented in deGroupBrush, and deStaticBrush.

void deBrush::SpecificScale | ( | deVec3d | Center,
|  | deDouble | Scale
| ) | `[protected, virtual]`

| Reimplemented in deGroupBrush, and deStaticBrush.

void deBrush::SpecificTranslate | ( | deVec3d | Delta | ) | `[protected, virtual]`

| Reimplemented in deGroupBrush, and deStaticBrush.

void deBrush::Subtract | ( | IdeBrush * | cutter | ) | `[virtual]`

| Implements IdeBrush.

void deBrush::Translate | ( | deVec3d & | Delta | ) | `[virtual]`

| Implements IdeBrush.

deBoolean deBrush::Update | ( |  | ) | `[virtual]`

| Implements IdeBrush.

virtual void deBrush::UpdateBrush | ( |  | ) | `[protected, pure virtual]`

| Implemented in deGroupBrush, deLineBrush, deBlockBrush, deCylinderBrush, deLathedBrush, deExtrudedBrush, deStaticBrush, dePrismBrush, deBezierBrush, and deLargeStaticBrush.

## Member Data Documentation

deTArray<deIDPair> deBrush::m_CachedTextures`[protected]`

deBoolean deBrush::m_Changed`[protected]`

deTArray<deVec3d> deBrush::m_CVList`[protected]`

long deBrush::m_CVNum`[protected]`

deARGB deBrush::m_DiffuseColor`[protected]`

deTArray<DrawType> deBrush::m_DrawTypeList`[protected]`

deTArray<deTArray<deTexCoord> > deBrush::m_FaceList`[protected]`

| Reimplemented in deBlockBrush.

deTArray<deTList <BIndexList> > deBrush::m_IndexedBuffers`[protected]`

long deBrush::m_LOD`[protected]`

long deBrush::m_LOD2`[protected]`

IdeVertexBuffer* deBrush::m_MainVBuffer`[protected]`

deTList<deBPoly> deBrush::m_PolyList`[protected]`

const DataQuantity_t& deBrush::m_QuantityDefs`[protected]`

deBoolean deBrush::m_SaveVBuffers`[protected]`

deBoolean deBrush::m_SmoothNormals`[protected]`

deTArray<IdeVertexBuffer*> deBrush::m_SubVBs`[protected]`

deTArray<IdeRenderTexture*> deBrush::m_TextureList`[protected]`

const IdeBrush::deBrushType deBrush::m_Type`[private]`

deBoolean deBrush::m_UsingIndexedBuffer`[protected]`

deTransform deBrush::m_WorldTransform`[protected]`

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

- deBrush_priv.hpp
- deBrush.cpp