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:

Inheritance graph
[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 BspNodegetRootNode (void)
 Returns a pointer to the root node (BspNode) of the BSP tree.

BspNodefindLeaf (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.

BspNodegetLeafStart (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 StringgetName (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

BspNodemRootNode
 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
VertexDatamVertexData
 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
StaticFaceGroupmFaceGroups
 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

DefaultHardwareIndexBuffermIndexes
BspNode::BrushmBrushes
 Brushes as used for collision, main memory is here.

std::vector< ViewPointmPlayerStarts
 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, 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.

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_v1::readMaterial(), Ogre::MeshSerializerImpl::readMeshLodInfo(), Ogre::MeshSerializerImpl_v1::readMeshLodUsageGenerated(), 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::Real, Ogre::String::split(), Ogre::StringVector, Ogre::String::toLowerCase(), Ogre::String::trim(), 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, 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::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(), BspLevel(), Ogre::Mesh::buildEdgeList(), Ogre::Mesh::buildTangentVectors(), Ogre::Material::clone(), Ogre::Material::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::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::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:

Copyright © 2002-2003 by The OGRE Team
Last modified Fri May 14 23:23:23 2004