OpenMW
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
Public Types | Public Member Functions | Private Member Functions | Private Attributes | List of all members
MWWorld::Scene Class Reference

#include <scene.hpp>

Collaboration diagram for MWWorld::Scene:

Public Types

typedef std::set< CellStore * > CellStoreCollection
 

Public Member Functions

 Scene (MWRender::RenderingManager &rendering, MWPhysics::PhysicsSystem *physics)
 
 ~Scene ()
 
void unloadCell (CellStoreCollection::iterator iter)
 
void loadCell (CellStore *cell, Loading::Listener *loadingListener, bool respawn)
 
void playerMoved (const osg::Vec3f &pos)
 
void changePlayerCell (CellStore *newCell, const ESM::Position &position, bool adjustPlayerPos)
 
CellStoregetCurrentCell ()
 
const CellStoreCollectiongetActiveCells () const
 
bool hasCellChanged () const
 Has the set of active cells changed, since the last frame? More...
 
void changeToInteriorCell (const std::string &cellName, const ESM::Position &position, bool adjustPlayerPos, bool changeEvent=true)
 
void changeToExteriorCell (const ESM::Position &position, bool adjustPlayerPos, bool changeEvent=true)
 
void changeToVoid ()
 Change into a void. More...
 
void markCellAsUnchanged ()
 
void update (float duration, bool paused)
 
void addObjectToScene (const Ptr &ptr)
 Add an object that already exists in the world model to the scene. More...
 
void removeObjectFromScene (const Ptr &ptr)
 Remove an object from the scene, but not from the world model. More...
 
void updateObjectRotation (const Ptr &ptr, bool inverseRotationOrder)
 
void updateObjectScale (const Ptr &ptr)
 
bool isCellActive (const CellStore &cell)
 
Ptr searchPtrViaActorId (int actorId)
 

Private Member Functions

void insertCell (CellStore &cell, bool rescale, Loading::Listener *loadingListener)
 
void changeCellGrid (int X, int Y, bool changeEvent=true)
 
void getGridCenter (int &cellX, int &cellY)
 
void preloadCells ()
 
void preloadTeleportDoorDestinations ()
 
void preloadExteriorGrid ()
 
void preloadFastTravelDestinations ()
 
void preloadCell (MWWorld::CellStore *cell, bool preloadSurrounding=false)
 

Private Attributes

CellStoremCurrentCell
 
CellStoreCollection mActiveCells
 
bool mCellChanged
 
MWPhysics::PhysicsSystemmPhysics
 
MWRender::RenderingManagermRendering
 
std::auto_ptr< CellPreloadermPreloader
 
float mPreloadTimer
 
int mHalfGridSize
 
float mCellLoadingThreshold
 
float mPreloadDistance
 
bool mPreloadEnabled
 
bool mPreloadExteriorGrid
 
bool mPreloadDoors
 
bool mPreloadFastTravel
 

Member Typedef Documentation

Constructor & Destructor Documentation

MWWorld::Scene::Scene ( MWRender::RenderingManager rendering,
MWPhysics::PhysicsSystem physics 
)

Here is the call graph for this function:

MWWorld::Scene::~Scene ( )

Member Function Documentation

void MWWorld::Scene::addObjectToScene ( const Ptr ptr)

Add an object that already exists in the world model to the scene.

Here is the call graph for this function:

Here is the caller graph for this function:

void MWWorld::Scene::changeCellGrid ( int  X,
int  Y,
bool  changeEvent = true 
)
private

Here is the call graph for this function:

Here is the caller graph for this function:

void MWWorld::Scene::changePlayerCell ( CellStore newCell,
const ESM::Position position,
bool  adjustPlayerPos 
)

Here is the call graph for this function:

Here is the caller graph for this function:

void MWWorld::Scene::changeToExteriorCell ( const ESM::Position position,
bool  adjustPlayerPos,
bool  changeEvent = true 
)

Move to exterior cell.

Parameters
changeEventSet cellChanged flag?

Here is the call graph for this function:

Here is the caller graph for this function:

void MWWorld::Scene::changeToInteriorCell ( const std::string &  cellName,
const ESM::Position position,
bool  adjustPlayerPos,
bool  changeEvent = true 
)

Move to interior cell.

Parameters
changeEventSet cellChanged flag?

Here is the call graph for this function:

Here is the caller graph for this function:

void MWWorld::Scene::changeToVoid ( )

Change into a void.

Here is the caller graph for this function:

const Scene::CellStoreCollection & MWWorld::Scene::getActiveCells ( ) const

Here is the caller graph for this function:

CellStore * MWWorld::Scene::getCurrentCell ( )

Here is the caller graph for this function:

void MWWorld::Scene::getGridCenter ( int cellX,
int cellY 
)
private

Here is the caller graph for this function:

bool MWWorld::Scene::hasCellChanged ( ) const

Has the set of active cells changed, since the last frame?

Here is the caller graph for this function:

void MWWorld::Scene::insertCell ( CellStore cell,
bool  rescale,
Loading::Listener loadingListener 
)
private

Here is the call graph for this function:

bool MWWorld::Scene::isCellActive ( const CellStore cell)

Here is the caller graph for this function:

void MWWorld::Scene::loadCell ( CellStore cell,
Loading::Listener loadingListener,
bool  respawn 
)
Todo:
rescale depending on the state of a new GMST

Here is the call graph for this function:

Here is the caller graph for this function:

void MWWorld::Scene::markCellAsUnchanged ( )

Here is the caller graph for this function:

void MWWorld::Scene::playerMoved ( const osg::Vec3f &  pos)

Here is the call graph for this function:

Here is the caller graph for this function:

void MWWorld::Scene::preloadCell ( MWWorld::CellStore cell,
bool  preloadSurrounding = false 
)
private

Here is the call graph for this function:

Here is the caller graph for this function:

void MWWorld::Scene::preloadCells ( )
private

Here is the call graph for this function:

void MWWorld::Scene::preloadExteriorGrid ( )
private

Here is the call graph for this function:

Here is the caller graph for this function:

void MWWorld::Scene::preloadFastTravelDestinations ( )
private

Here is the call graph for this function:

Here is the caller graph for this function:

void MWWorld::Scene::preloadTeleportDoorDestinations ( )
private

Here is the call graph for this function:

Here is the caller graph for this function:

void MWWorld::Scene::removeObjectFromScene ( const Ptr ptr)

Remove an object from the scene, but not from the world model.

Here is the call graph for this function:

Here is the caller graph for this function:

Ptr MWWorld::Scene::searchPtrViaActorId ( int  actorId)

Here is the caller graph for this function:

void MWWorld::Scene::unloadCell ( CellStoreCollection::iterator  iter)

Here is the call graph for this function:

Here is the caller graph for this function:

void MWWorld::Scene::update ( float  duration,
bool  paused 
)

Here is the caller graph for this function:

void MWWorld::Scene::updateObjectRotation ( const Ptr ptr,
bool  inverseRotationOrder 
)

Here is the call graph for this function:

Here is the caller graph for this function:

void MWWorld::Scene::updateObjectScale ( const Ptr ptr)

Here is the call graph for this function:

Here is the caller graph for this function:

Member Data Documentation

CellStoreCollection MWWorld::Scene::mActiveCells
private
bool MWWorld::Scene::mCellChanged
private
float MWWorld::Scene::mCellLoadingThreshold
private
CellStore* MWWorld::Scene::mCurrentCell
private
int MWWorld::Scene::mHalfGridSize
private
MWPhysics::PhysicsSystem* MWWorld::Scene::mPhysics
private
float MWWorld::Scene::mPreloadDistance
private
bool MWWorld::Scene::mPreloadDoors
private
bool MWWorld::Scene::mPreloadEnabled
private
std::auto_ptr<CellPreloader> MWWorld::Scene::mPreloader
private
bool MWWorld::Scene::mPreloadExteriorGrid
private
bool MWWorld::Scene::mPreloadFastTravel
private
float MWWorld::Scene::mPreloadTimer
private
MWRender::RenderingManager& MWWorld::Scene::mRendering
private

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