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

# Ogre::BspLevel Class Reference

Holds all the data associated with a Binary Space Parition (BSP) based indoor level. More...

`#include <OgreBspLevel.h>`

Inheritance diagram for Ogre::BspLevel:

[legend]
List of all members.

## Public Methods

| BspLevel (const String &name)
| Default constructor - used by BspResourceManager (do not call directly).
| ~BspLevel ()
virtual void | load (void)
| Generic load - called by BspResourceManager.
virtual void | unload (void)
| Generic unload - called by BspResourceManager.
bool | isLeafVisible (const BspNode *from, const BspNode *to) const
| Determines if one leaf node is visible from another.
const BspNode * | getRootNode (void)
| Returns a pointer to the root node (BspNode) of the BSP tree.
BspNode * | findLeaf (const Vector3 &point) const
| Walks the entire BSP tree and returns the leaf which contains the given point.
void | _notifyObjectMoved (const MovableObject *mov, const Vector3 &pos)
| Ensures that the MovableObject is attached to the right leaves of the BSP tree.
void | _notifyObjectDetached (const MovableObject *mov)
| Internal method, makes sure an object is removed from the leaves when detached from a node.
BspNode * | getLeafStart (void)
| Gets a pointer to the start of the leaf nodes.
int | getNumLeaves (void) const
| Gets the number of leaf nodes.
virtual size_t | getSize (void) const
| Retrieves info about the size of the resource.
virtual void | touch (void)
| 'Touches' the resource to indicate it has been used.
time_t | getLastAccess (void) const
| Gets the last time the resource was 'touched'.
const String & | getName (void) const
| Gets resource name.
ResourceHandle | getHandle (void) const
bool | isLoaded (void) const
| Returns true if the Resource has been loaded, false otherwise.
virtual void | destroy ()
| A method to make the resource delete itself.

## Protected Types

typedef std::map< const MovableObject *, std::list< BspNode * > > | MovableToNodeMap
typedef std::map< int, PatchSurface * > | PatchMap

## Protected Methods

void | loadQuake3Level (const Quake3Level &q3lvl)
| Internal utility function for loading data from Quake3.
void | loadEntities (const Quake3Level &q3lvl)
| Internal method for parsing chosen entities.
void | tagNodesWithMovable (BspNode *node, const MovableObject *mov, const Vector3 &pos)
void | initQuake3Patches (const Quake3Level &q3lvl, VertexDeclaration *decl)
void | buildQuake3Patches (size_t vertOffset, size_t indexOffset)
void | quakeVertexToBspVertex (const bsp_vertex_t *src, BspVertex *dest)

## Protected Attributes

BspNode * | mRootNode
| Pointer to the root node of the BSP tree; This pointer actually has a dual purpose; to avoid allocating lots of small chunks of memory, the BspLevel actually allocates all nodes required through this pointer.
int | mNumNodes
int | mNumLeaves
int | mLeafStart
VertexData * | mVertexData
| Vertex data holding all the data for the level, but able to render parts of it.
int * | mLeafFaceGroups
| Array of indexes into the mFaceGroups array.
int | mNumLeafFaceGroups
StaticFaceGroup * | mFaceGroups
| Array of face groups, indexed into by contents of mLeafFaceGroups.
int | mNumFaceGroups
size_t | mNumIndexes
| indexes for the whole level, will be copied to the real indexdata per frame
DefaultHardwareIndexBuffer * | mIndexes
BspNode::Brush * | mBrushes
| Brushes as used for collision, main memory is here.
std::vector< ViewPoint > | mPlayerStarts
| Vector of player start points.
VisData | mVisData
MovableToNodeMap | mMovableToNodeMap
| Map for locating the nodes a movable is currently a member of.
PatchMap | mPatches
size_t | mPatchVertexCount
size_t | mPatchIndexCount
String | mName
ResourceHandle | mHandle
bool | mIsLoaded
time_t | mLastAccess
size_t | mSize

## Friends

class | BspSceneManager

## Detailed Description

Holds all the data associated with a Binary Space Parition (BSP) based indoor level.

The data used here is populated by loading level files via the BspLevelManager::load method, although application users are more likely to call SceneManager::setWorldGeometry which will automatically arrange the loading of the level. Note that this assumes that you have asked for an indoor-specialised SceneManager (specify ST_INDOOR when calling Root::getSceneManager). Ogre currently only supports loading from Quake3 Arena level files, although any source that can be converted into this classes structure could also be used. The Quake3 level load process is in a different class called Quake3Level to keep the specifics separate.

Definition at line 53 of file OgreBspLevel.h.

## Member Typedef Documentation

typedef std::map<const MovableObject*, std::list<BspNode*> > Ogre::BspLevel::MovableToNodeMap`[protected]`

| Definition at line 183 of file OgreBspLevel.h.

typedef std::map<int, PatchSurface*> Ogre::BspLevel::PatchMap`[protected]`

| Definition at line 190 of file OgreBspLevel.h.

## Constructor & Destructor Documentation

Ogre::BspLevel::BspLevel | ( | const String & | name | ) |

| Default constructor - used by BspResourceManager (do not call directly). Definition at line 49 of file OgreBspLevel.cpp. References mBrushes, mFaceGroups, mLeafFaceGroups, Ogre::Resource::mName, mRootNode, mVertexData, mVisData, Ogre::String, and Ogre::BspLevel::VisData::tableData.

Ogre::BspLevel::~BspLevel | ( |  | ) |

| Definition at line 61 of file OgreBspLevel.cpp. References Ogre::Resource::mIsLoaded, and unload().

## Member Function Documentation

void Ogre::BspLevel::_notifyObjectDetached | ( | const MovableObject * | mov | ) |

| Internal method, makes sure an object is removed from the leaves when detached from a node. Definition at line 769 of file OgreBspLevel.cpp. References mMovableToNodeMap. Referenced by Ogre::BspSceneManager::_notifyObjectDetached().

void Ogre::BspLevel::_notifyObjectMoved | ( | const MovableObject * | mov,
|  | const Vector3 & | pos
| ) |

| Ensures that the MovableObject is attached to the right leaves of the BSP tree. Definition at line 706 of file OgreBspLevel.cpp. References mMovableToNodeMap, mRootNode, and tagNodesWithMovable(). Referenced by Ogre::BspSceneManager::_notifyObjectMoved().

void Ogre::BspLevel::buildQuake3Patches | ( | size_t | vertOffset,
|  | size_t | indexOffset
| ) | `[protected]`

Definition at line 554 of file OgreBspLevel.cpp.

References Ogre::PatchSurface::build(), Ogre::VertexBufferBinding::getBuffer(), Ogre::PatchSurface::getControlPointBuffer(), Ogre::PatchSurface::getRequiredIndexCount(), Ogre::PatchSurface::getRequiredVertexCount(), mIndexes, mPatches, mVertexData, Ogre::PatchSurface::notifyControlPointBufferDeallocated(), and Ogre::VertexData::vertexBufferBinding.

Referenced by loadQuake3Level().

virtual void Ogre::Resource::destroy | ( | void |  | ) | `[virtual, inherited]`

A method to make the resource delete itself.

Note:
  This exists because Resource objects could be created in other processes, and they need to be destroyed in the process that created them.

Definition at line 137 of file OgreResource.h.

BspNode * Ogre::BspLevel::findLeaf | ( | const Vector3 & | point | ) | const

| Walks the entire BSP tree and returns the leaf which contains the given point. Definition at line 627 of file OgreBspLevel.cpp. References Ogre::BspNode::getNextNode(), Ogre::BspNode::isLeaf(), and mRootNode. Referenced by Ogre::BspSceneManager::walkTree().

ResourceHandle Ogre::Resource::getHandle | ( | void |  | ) | const`[inherited]`

| Definition at line 120 of file OgreResource.h. References Ogre::ResourceHandle. Referenced by Ogre::Material::clone(), loadQuake3Level(), and Ogre::ResourceManager::unload().

time_t Ogre::Resource::getLastAccess | ( | void |  | ) | const`[inherited]`

| Gets the last time the resource was 'touched'. Definition at line 108 of file OgreResource.h.

BspNode* Ogre::BspLevel::getLeafStart | ( | void |  | ) |

| Gets a pointer to the start of the leaf nodes. Definition at line 85 of file OgreBspLevel.h. References mLeafStart, and mRootNode. Referenced by Ogre::BspIntersectionSceneQuery::execute().

const String& Ogre::Resource::getName | ( | void |  | ) | const`[inherited]`

Gets resource name.

Reimplemented in Ogre::Material, and Ogre::Overlay.

Definition at line 115 of file OgreResource.h.

References Ogre::String.

Referenced by Ogre::D3D9Texture::_loadCubeTex(), Ogre::Mesh::_notifySkeleton(), Ogre::ResourceManager::add(), Ogre::PopupMenuGuiElement::addListItem(), Ogre::ListGuiElement::addListItem(), Ogre::PopupMenuGuiElement::addMenuItem(), Ogre::MeshManager::createPrefabPlane(), Ogre::TTYGuiElement::getFontName(), Ogre::TextAreaGuiElement::getFontName(), Ogre::PopupMenuGuiElement::getListItemName(), Ogre::ListGuiElement::getListItemName(), Ogre::GpuProgramUsage::getProgramName(), Ogre::MeshSerializer::importMesh(), Ogre::GLTexture::load(), Ogre::TextureManager::loadImage(), Ogre::TextureManager::loadRawData(), Ogre::FontManager::logBadAttrib(), Ogre::MeshSerializerImpl::readMeshLodInfo(), Ogre::MeshSerializerImpl::readMeshLodUsageGenerated(), Ogre::MeshSerializerImpl::readMeshLodUsageManual(), Ogre::PopupMenuGuiElement::removeListItem(), Ogre::ListGuiElement::removeListItem(), Ogre::SceneManager::setSkyBox(), Ogre::SceneManager::setSkyDome(), and Ogre::ResourceManager::unload().

int Ogre::BspLevel::getNumLeaves | ( | void |  | ) | const

| Gets the number of leaf nodes. Definition at line 87 of file OgreBspLevel.h. References mNumLeaves. Referenced by Ogre::BspIntersectionSceneQuery::execute().

const BspNode * Ogre::BspLevel::getRootNode | ( | void |  | ) |

| Returns a pointer to the root node (BspNode) of the BSP tree. Definition at line 622 of file OgreBspLevel.cpp. References mRootNode.

virtual size_t Ogre::Resource::getSize | ( | void |  | ) | const`[virtual, inherited]`

| Retrieves info about the size of the resource. Definition at line 93 of file OgreResource.h. Referenced by Ogre::ResourceManager::unload().

void Ogre::BspLevel::initQuake3Patches | ( | const Quake3Level & | q3lvl,
|  | VertexDeclaration * | decl
| ) | `[protected]`

Definition at line 502 of file OgreBspLevel.cpp.

References BSP_FACETYPE_PATCH, Ogre::PatchSurface::defineSurface(), Ogre::PatchSurface::getRequiredIndexCount(), Ogre::PatchSurface::getRequiredVertexCount(), bsp_face_t::mesh_cp, Ogre::Quake3Level::mFaces, Ogre::Quake3Level::mNumFaces, mPatches, mPatchIndexCount, mPatchVertexCount, Ogre::Quake3Level::mVertices, quakeVertexToBspVertex(), bsp_face_t::type, bsp_face_t::vert_count, and bsp_face_t::vert_start.

Referenced by loadQuake3Level().

bool Ogre::BspLevel::isLeafVisible | ( | const BspNode * | from,
|  | const BspNode * | to
| ) | const

| Determines if one leaf node is visible from another. Definition at line 582 of file OgreBspLevel.cpp. References Ogre::BspNode::isLeaf(), Ogre::BspNode::mVisCluster, mVisData, Ogre::BspLevel::VisData::rowLength, and Ogre::BspLevel::VisData::tableData. Referenced by Ogre::BspNode::isLeafVisible(), and Ogre::BspSceneManager::walkTree().

bool Ogre::Resource::isLoaded | ( | void |  | ) | const`[inherited]`

| Returns true if the Resource has been loaded, false otherwise. Definition at line 127 of file OgreResource.h. Referenced by Ogre::GpuProgramUsage::_load(), Ogre::SceneManager::deriveShadowCasterPass(), Ogre::SceneManager::deriveShadowReceiverPass(), Ogre::Technique::isLoaded(), Ogre::D3D9Texture::load(), Ogre::D3D9Texture::unload(), and Ogre::D3D9Texture::~D3D9Texture().

void Ogre::BspLevel::load | ( | void |  | ) | `[virtual]`

| Generic load - called by BspResourceManager. Implements Ogre::Resource. Definition at line 72 of file OgreBspLevel.cpp. References Ogre::DataChunk::clear(), Ogre::Quake3Level::loadFromChunk(), loadQuake3Level(), Ogre::Resource::mIsLoaded, and Ogre::Resource::mName. Referenced by Ogre::BspSceneManager::setWorldGeometry().

void Ogre::BspLevel::loadEntities | ( | const Quake3Level & | q3lvl | ) | `[protected]`

| Internal method for parsing chosen entities. Definition at line 640 of file OgreBspLevel.cpp. References Ogre::Quaternion::FromAngleAxis(), Ogre::Quake3Level::mEntities, mPlayerStarts, Ogre::ViewPoint::orientation, params, Ogre::ViewPoint::position, Ogre::String, Ogre::StringVector, Ogre::Vector3::x, Ogre::Vector3::y, and Ogre::Vector3::z. Referenced by loadQuake3Level().

void Ogre::BspLevel::loadQuake3Level | ( | const Quake3Level & | q3lvl | ) | `[protected]`

Internal utility function for loading data from Quake3.

Definition at line 113 of file OgreBspLevel.cpp.

References Ogre::TextureUnitState::_load(), Ogre::VertexDeclaration::addElement(), bsp_node_t::back, bsp_leaf_t::bbox, bsp_node_t::bbox, bsp_leaf_t::brush_count, bsp_leaf_t::brush_start, BSP_FACETYPE_MESH, BSP_FACETYPE_NORMAL, BSP_FACETYPE_PATCH, buildQuake3Patches(), bsp_leaf_t::cluster, bsp_vis_t::cluster_count, bsp_shader_t::content_flags, CONTENTS_SOLID, Ogre::Quake3Shader::createAsMaterial(), Ogre::SceneManager::createMaterial(), Ogre::Pass::createTextureUnitState(), Ogre::CULL_NONE, Ogre::Plane::d, bsp_vis_t::data, bsp_plane_t::dist, Ogre::Vector3::dotProduct(), bsp_face_t::elem_count, bsp_face_t::elem_start, Ogre::StaticFaceGroup::elementStart, Except, Ogre::Quake3Level::extractLightmaps(), bsp_leaf_t::face_count, bsp_leaf_t::face_start, Ogre::FGT_FACE_LIST, Ogre::FGT_PATCH, Ogre::FGT_UNKNOWN, bsp_brush_t::firstside, Ogre::BspNode::Brush::fragment, Ogre::SceneQuery::WorldFragment::fragmentType, bsp_node_t::front, Ogre::StaticFaceGroup::fType, Ogre::Resource::getHandle(), Ogre::SceneManager::getMaterial(), Ogre::Technique::getPass(), Ogre::Material::getTechnique(), initQuake3Patches(), Ogre::TextureUnitState::isBlank(), Ogre::StaticFaceGroup::isSky, Ogre::LBO_MODULATE, Ogre::LBO_REPLACE, bsp_face_t::lm_texture, Ogre::LML_CRITICAL, Ogre::Material::load(), loadEntities(), Ogre::StaticFaceGroup::materialHandle, Ogre::BspNode::mBack, Ogre::BspNode::mBounds, Ogre::Quake3Level::mBrushes, mBrushes, Ogre::Quake3Level::mBrushSides, Ogre::Quake3Level::mElements, bsp_face_t::mesh_cp, mFaceGroups, Ogre::BspNode::mFaceGroupStart, Ogre::Quake3Level::mFaces, Ogre::BspNode::mFront, mIndexes, Ogre::BspNode::mIsLeaf, Ogre::Quake3Level::mLeafBrushes, mLeafFaceGroups, Ogre::Quake3Level::mLeafFaces, mLeafStart, Ogre::Quake3Level::mLeaves, Ogre::Quake3Level::mNodes, Ogre::Quake3Level::mNumBrushes, Ogre::Quake3Level::mNumElements, Ogre::BspNode::mNumFaceGroups, mNumFaceGroups, Ogre::Quake3Level::mNumFaces, mNumIndexes, mNumLeafFaceGroups, Ogre::Quake3Level::mNumLeafFaces, mNumLeaves, Ogre::Quake3Level::mNumLeaves, Ogre::Quake3Level::mNumNodes, mNumNodes, Ogre::Quake3Level::mNumVertices, Ogre::BspNode::mOwner, mPatches, mPatchIndexCount, mPatchVertexCount, Ogre::Quake3Level::mPlanes, mRootNode, Ogre::Quake3Level::mShaders, Ogre::BspNode::mSolidBrushes, Ogre::BspNode::mSplitPlane, mVertexData, Ogre::Quake3Level::mVertices, Ogre::Quake3Level::mVis, Ogre::BspNode::mVisCluster, mVisData, bsp_shader_t::name, bsp_plane_t::normal, bsp_face_t::normal, Ogre::Plane::normal, Ogre::BspLevel::VisData::numClusters, Ogre::StaticFaceGroup::numElements, bsp_brush_t::numsides, Ogre::StaticFaceGroup::numVertices, bsp_face_t::org, Ogre::StaticFaceGroup::patchSurf, bsp_node_t::plane, Ogre::StaticFaceGroup::plane, bsp_brushside_t::planenum, Ogre::SceneQuery::WorldFragment::planes, Ogre::BspNode::Brush::planes, quakeVertexToBspVertex(), bsp_vis_t::row_size, Ogre::BspLevel::VisData::rowLength, Ogre::VertexBufferBinding::setBinding(), Ogre::TextureUnitState::setColourOperation(), Ogre::Material::setCullingMode(), Ogre::Material::setLightingEnabled(), Ogre::AxisAlignedBox::setMaximum(), Ogre::AxisAlignedBox::setMinimum(), Ogre::TextureUnitState::setTextureAddressingMode(), Ogre::TextureUnitState::setTextureCoordSet(), Ogre::TextureUnitState::setTextureName(), bsp_face_t::shader, bsp_brush_t::shaderIndex, Ogre::ST_INTERIOR, Ogre::String, SURF_SKY, Ogre::BspLevel::VisData::tableData, bsp_face_t::type, bsp_face_t::vert_count, bsp_face_t::vert_start, Ogre::VertexData::vertexBufferBinding, Ogre::VertexData::vertexCount, Ogre::VertexData::vertexDeclaration, Ogre::StaticFaceGroup::vertexStart, Ogre::VertexData::vertexStart, Ogre::VES_DIFFUSE, Ogre::VES_NORMAL, Ogre::VES_POSITION, Ogre::VES_TEXTURE_COORDINATES, Ogre::VET_COLOUR, Ogre::VET_FLOAT2, Ogre::VET_FLOAT3, and Ogre::DefaultHardwareIndexBuffer::writeData().

Referenced by load().

void Ogre::BspLevel::quakeVertexToBspVertex | ( | const bsp_vertex_t * | src,
|  | BspVertex * | dest
| ) | `[protected]`

Definition at line 787 of file OgreBspLevel.cpp.

References bsp_vertex_t::color, Ogre::BspLevel::BspVertex::colour, bsp_vertex_t::lightmap, Ogre::BspLevel::BspVertex::lightmap, bsp_vertex_t::normal, Ogre::BspLevel::BspVertex::normal, bsp_vertex_t::point, Ogre::BspLevel::BspVertex::position, Ogre::Real, Ogre::BspLevel::BspVertex::texcoords, and bsp_vertex_t::texture.

Referenced by initQuake3Patches(), and loadQuake3Level().

void Ogre::BspLevel::tagNodesWithMovable | ( | BspNode * | node,
|  | const MovableObject * | mov,
|  | const Vector3 & | pos
| ) | `[protected]`

| Definition at line 728 of file OgreBspLevel.cpp. References Ogre::BspNode::_addMovable(), Ogre::BspNode::getBack(), Ogre::MovableObject::getBoundingRadius(), Ogre::BspNode::getDistance(), Ogre::BspNode::getFront(), Ogre::BspNode::isLeaf(), mMovableToNodeMap, and Ogre::Real. Referenced by _notifyObjectMoved().

virtual void Ogre::Resource::touch | ( | void |  | ) | `[virtual, inherited]`

| 'Touches' the resource to indicate it has been used. Reimplemented in Ogre::Material. Definition at line 100 of file OgreResource.h. Referenced by Ogre::Mesh::clone(), Ogre::MeshManager::createCurvedIllusionPlane(), Ogre::MeshManager::createCurvedPlane(), Ogre::MeshManager::createPlane(), and Ogre::ResourceManager::load().

void Ogre::BspLevel::unload | ( | void |  | ) | `[virtual]`

| Generic unload - called by BspResourceManager. Reimplemented from Ogre::Resource. Definition at line 89 of file OgreBspLevel.cpp. References mBrushes, mFaceGroups, mLeafFaceGroups, mRootNode, mVertexData, mVisData, and Ogre::BspLevel::VisData::tableData. Referenced by ~BspLevel().

## Friends And Related Function Documentation

friend class BspSceneManager`[friend]`

| Definition at line 55 of file OgreBspLevel.h.

## Member Data Documentation

BspNode::Brush* Ogre::BspLevel::mBrushes`[protected]`

| Brushes as used for collision, main memory is here. Definition at line 148 of file OgreBspLevel.h. Referenced by BspLevel(), loadQuake3Level(), and unload().

StaticFaceGroup* Ogre::BspLevel::mFaceGroups`[protected]`

| Array of face groups, indexed into by contents of mLeafFaceGroups. Definition at line 132 of file OgreBspLevel.h. Referenced by BspLevel(), loadQuake3Level(), Ogre::BspSceneManager::processVisibleLeaf(), and unload().

ResourceHandle Ogre::Resource::mHandle`[protected, inherited]`

| Definition at line 57 of file OgreResource.h. Referenced by Ogre::ResourceManager::add(), Ogre::Material::clone(), Ogre::Material::copyDetailsTo(), and Ogre::Material::operator=().

DefaultHardwareIndexBuffer* Ogre::BspLevel::mIndexes`[protected]`

| Definition at line 145 of file OgreBspLevel.h. Referenced by buildQuake3Patches(), Ogre::BspSceneManager::cacheGeometry(), and loadQuake3Level().

bool Ogre::Resource::mIsLoaded`[protected, inherited]`

Definition at line 58 of file OgreResource.h.

Referenced by Ogre::D3D9Texture::_initMembers(), Ogre::D3D9Texture::_loadCubeTex(), Ogre::D3D9Texture::_loadNormTex(), Ogre::D3D9Texture::_loadVolumeTex(), Ogre::Material::_notifyNeedsRecompile(), Ogre::Material::clone(), Ogre::D3DTexture::createSurface2D(), Ogre::D3DTexture::createSurface3D(), Ogre::D3D9Texture::D3D9Texture(), Ogre::D3DTexture::D3DTexture(), Ogre::DynLib::DynLib(), Ogre::Zip::load(), Ogre::SkeletonInstance::load(), Ogre::Skeleton::load(), Ogre::PatchMesh::load(), Ogre::Mesh::load(), Ogre::Material::load(), Ogre::HighLevelGpuProgram::load(), Ogre::GpuProgram::load(), Ogre::GLTexture::load(), Ogre::GLSLGpuProgram::load(), Ogre::Font::load(), Ogre::DynLib::load(), Ogre::D3D9Texture::load(), Ogre::D3D9GpuProgram::load(), Ogre::D3DTexture::load(), load(), Ogre::D3D9Texture::loadImage(), Ogre::D3DTexture::loadImage(), Ogre::D3DTexture::loadImage3D(), Ogre::GLTexture::loadImages(), Ogre::Material::Material(), Ogre::Material::operator=(), Ogre::Skeleton::unload(), Ogre::Mesh::unload(), Ogre::Material::unload(), Ogre::HighLevelGpuProgram::unload(), Ogre::GLTexture::unload(), Ogre::Font::unload(), Ogre::DynLib::unload(), Ogre::D3D9Texture::unload(), Ogre::D3DTexture::unload(), and ~BspLevel().

time_t Ogre::Resource::mLastAccess`[protected, inherited]`

| Definition at line 59 of file OgreResource.h. Referenced by Ogre::Material::operator=().

int* Ogre::BspLevel::mLeafFaceGroups`[protected]`

| Array of indexes into the mFaceGroups array. This buffer is organised by leaf node so leaves can just use contiguous chunks of it and get repointed to the actual entries in mFaceGroups. Definition at line 128 of file OgreBspLevel.h. Referenced by BspLevel(), loadQuake3Level(), Ogre::BspSceneManager::processVisibleLeaf(), and unload().

int Ogre::BspLevel::mLeafStart`[protected]`

| Definition at line 100 of file OgreBspLevel.h. Referenced by getLeafStart(), loadQuake3Level(), and Ogre::BspSceneManager::walkTree().

MovableToNodeMap Ogre::BspLevel::mMovableToNodeMap`[protected]`

| Map for locating the nodes a movable is currently a member of. Definition at line 185 of file OgreBspLevel.h. Referenced by _notifyObjectDetached(), _notifyObjectMoved(), and tagNodesWithMovable().

String Ogre::Resource::mName`[protected, inherited]`

Definition at line 56 of file OgreResource.h.

Referenced by Ogre::Skeleton::_dumpContents(), Ogre::Mesh::_rationaliseBoneAssignments(), Ogre::GLSLProgram::attachToProgramObject(), BspLevel(), Ogre::Mesh::buildEdgeList(), Ogre::Mesh::buildTangentVectors(), Ogre::Material::clone(), Ogre::Material::compile(), Ogre::GLSLProgram::compile(), Ogre::Material::copyDetailsTo(), Ogre::Quake3Shader::createAsMaterial(), Ogre::D3D9HLSLProgram::createLowLevelImpl(), Ogre::CgProgram::createLowLevelImpl(), Ogre::Font::createTextureFromFont(), Ogre::D3D9Texture::D3D9Texture(), Ogre::D3DTexture::D3DTexture(), Ogre::DynLib::DynLib(), Ogre::Font::Font(), Ogre::Mesh::generateLodLevels(), Ogre::Material::getBestTechnique(), Ogre::Overlay::getName(), Ogre::Material::getName(), Ogre::GLTexture::GLTexture(), Ogre::GpuProgram::GpuProgram(), Ogre::Zip::load(), Ogre::Skeleton::load(), Ogre::Mesh::load(), Ogre::GLTexture::load(), Ogre::Font::load(), Ogre::DynLib::load(), Ogre::D3DTexture::load(), load(), Ogre::D3D9GpuFragmentProgram::loadFromMicrocode(), Ogre::D3D9GpuVertexProgram::loadFromMicrocode(), Ogre::GLSLProgram::loadFromSource(), Ogre::GLArbGpuProgram::loadFromSource(), Ogre::D3D9HLSLProgram::loadFromSource(), Ogre::D3D9GpuProgram::loadFromSource(), Ogre::CgProgram::loadFromSource(), Ogre::GLTexture::loadImages(), Ogre::Material::Material(), Ogre::Mesh::Mesh(), Ogre::Material::operator=(), Ogre::Overlay::Overlay(), Ogre::Quake3Shader::Quake3Shader(), Ogre::CgProgram::selectProfile(), Ogre::Mesh::setSkeletonName(), Ogre::Skeleton::Skeleton(), Ogre::StringResource::StringResource(), Ogre::Texture::Texture(), Ogre::Zip::unload(), Ogre::DynLib::unload(), Ogre::CgProgram::unloadImpl(), and Ogre::Zip::Zip().

int Ogre::BspLevel::mNumFaceGroups`[protected]`

| Definition at line 133 of file OgreBspLevel.h. Referenced by loadQuake3Level().

size_t Ogre::BspLevel::mNumIndexes`[protected]`

| indexes for the whole level, will be copied to the real indexdata per frame Definition at line 143 of file OgreBspLevel.h. Referenced by loadQuake3Level(), and Ogre::BspSceneManager::setWorldGeometry().

int Ogre::BspLevel::mNumLeafFaceGroups`[protected]`

| Definition at line 129 of file OgreBspLevel.h. Referenced by loadQuake3Level().

int Ogre::BspLevel::mNumLeaves`[protected]`

| Definition at line 99 of file OgreBspLevel.h. Referenced by getNumLeaves(), and loadQuake3Level().

int Ogre::BspLevel::mNumNodes`[protected]`

| Definition at line 98 of file OgreBspLevel.h. Referenced by loadQuake3Level(), and Ogre::BspSceneManager::walkTree().

PatchMap Ogre::BspLevel::mPatches`[protected]`

| Definition at line 191 of file OgreBspLevel.h. Referenced by buildQuake3Patches(), initQuake3Patches(), and loadQuake3Level().

size_t Ogre::BspLevel::mPatchIndexCount`[protected]`

| Definition at line 195 of file OgreBspLevel.h. Referenced by initQuake3Patches(), and loadQuake3Level().

size_t Ogre::BspLevel::mPatchVertexCount`[protected]`

| Definition at line 193 of file OgreBspLevel.h. Referenced by initQuake3Patches(), and loadQuake3Level().

std::vector<ViewPoint> Ogre::BspLevel::mPlayerStarts`[protected]`

| Vector of player start points. Definition at line 151 of file OgreBspLevel.h. Referenced by Ogre::BspSceneManager::getSuggestedViewpoint(), and loadEntities().

BspNode* Ogre::BspLevel::mRootNode`[protected]`

Pointer to the root node of the BSP tree; This pointer actually has a dual purpose; to avoid allocating lots of small chunks of memory, the BspLevel actually allocates all nodes required through this pointer.

So this pointer is the handle for the allocation of memory for all nodes. It also happens to point to the root node, since the first one in the memory chunk is the root node.

Definition at line 97 of file OgreBspLevel.h.

Referenced by _notifyObjectMoved(), BspLevel(), findLeaf(), getLeafStart(), getRootNode(), loadQuake3Level(), unload(), and Ogre::BspSceneManager::walkTree().

size_t Ogre::Resource::mSize`[protected, inherited]`

| Definition at line 60 of file OgreResource.h. Referenced by Ogre::D3D9Texture::_setFinalAttributes(), Ogre::D3DTexture::loadImage(), Ogre::D3DTexture::loadImage3D(), Ogre::GLTexture::loadImages(), and Ogre::Material::operator=().

VertexData* Ogre::BspLevel::mVertexData`[protected]`

| Vertex data holding all the data for the level, but able to render parts of it. Definition at line 123 of file OgreBspLevel.h. Referenced by BspLevel(), buildQuake3Patches(), loadQuake3Level(), Ogre::BspSceneManager::setWorldGeometry(), and unload().

VisData Ogre::BspLevel::mVisData`[protected]`

| Definition at line 177 of file OgreBspLevel.h. Referenced by BspLevel(), isLeafVisible(), loadQuake3Level(), and unload().

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

- OgreBspLevel.h
- OgreBspLevel.cpp

Copyright © 2002-2003 by The OGRE Team
Last modified Sun Nov 28 19:49:08 2004