OGRE  2.0
Object-Oriented Graphics Rendering Engine
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
Ogre::Page Class Reference

Page class. More...

#include <OgrePage.h>

+ Inheritance diagram for Ogre::Page:
+ Collaboration diagram for Ogre::Page:

Classes

struct  PageData
 
struct  PageRequest
 Structure for holding background page requests. More...
 
struct  PageResponse
 

Public Types

typedef vector
< PageContentCollection * >
::type 
ContentCollectionList
 

Public Member Functions

 Page (PageID pageID, PagedWorldSection *parent)
 
virtual ~Page ()
 
void _notifyModified ()
 Tell the page that it is modified. More...
 
bool canHandleRequest (const WorkQueue::Request *req, const WorkQueue *srcQ)
 WorkQueue::RequestHandler override. More...
 
bool canHandleResponse (const WorkQueue::Response *res, const WorkQueue *srcQ)
 WorkQueue::ResponseHandler override. More...
 
virtual PageContentCollectioncreateContentCollection (const String &typeName)
 Create a new PageContentCollection within this page. More...
 
virtual void destroyAllContentCollections ()
 Destroy all PageContentCollections within this page. More...
 
virtual void destroyContentCollection (PageContentCollection *coll)
 Destroy a PageContentCollection within this page. More...
 
virtual void frameEnd (Real timeElapsed)
 Called when the frame ends. More...
 
virtual void frameStart (Real timeSinceLastFrame)
 Called when the frame starts. More...
 
virtual PageContentCollectiongetContentCollection (size_t index)
 Get a content collection. More...
 
virtual size_t getContentCollectionCount () const
 Get the number of content collections. More...
 
const ContentCollectionListgetContentCollectionList () const
 Get the list of content collections. More...
 
virtual unsigned long getFrameLastHeld ()
 Get the frame number in which this Page was last loaded or held. More...
 
virtual PageID getID () const
 Get the ID of this page, unique within the parent. More...
 
PageManagergetManager () const
 
virtual PagedWorldSectiongetParentSection () const
 Get the PagedWorldSection this page belongs to. More...
 
SceneManagergetSceneManager () const
 
WorkQueue::ResponsehandleRequest (const WorkQueue::Request *req, const WorkQueue *srcQ)
 WorkQueue::RequestHandler override. More...
 
void handleResponse (const WorkQueue::Response *res, const WorkQueue *srcQ)
 WorkQueue::ResponseHandler override. More...
 
bool isDeferredProcessInProgress () const
 If true, it's not safe to access this Page at this time, contents may be changing. More...
 
virtual bool isHeld () const
 Returns whether this page was 'held' in the last frame, that is was it either directly needed, or requested to stay in memory (held - as in a buffer region for example). More...
 
bool isModified () const
 
virtual void load (bool synchronous)
 Load this page. More...
 
virtual void notifyCamera (Camera *cam)
 Notify a section of the current camera. More...
 
void operator delete (void *ptr)
 
void operator delete (void *ptr, void *)
 
void operator delete (void *ptr, const char *, int, const char *)
 
void operator delete[] (void *ptr)
 
void operator delete[] (void *ptr, const char *, int, const char *)
 
void * operator new (size_t sz, const char *file, int line, const char *func)
 operator new, with debug line info More...
 
void * operator new (size_t sz)
 
void * operator new (size_t sz, void *ptr)
 placement operator new More...
 
void * operator new[] (size_t sz, const char *file, int line, const char *func)
 array operator new, with debug line info More...
 
void * operator new[] (size_t sz)
 
virtual void save ()
 Save page data to an automatically generated file name. More...
 
virtual void save (const String &filename)
 Save page data to a file. More...
 
virtual void save (StreamSerialiser &stream)
 Save page data to a serialiser. More...
 
virtual void touch ()
 'Touch' the page to let it know it's being used More...
 
virtual void unload ()
 Unload this page. More...
 

Static Public Attributes

static const uint32 CHUNK_CONTENTCOLLECTION_DECLARATION_ID
 
static const uint32 CHUNK_ID
 
static const uint16 CHUNK_VERSION
 
static const uint16 WORKQUEUE_CHANGECOLLECTION_REQUEST
 
static const uint16 WORKQUEUE_PREPARE_REQUEST
 

Protected Member Functions

String generateFilename () const
 
virtual void loadImpl ()
 
virtual bool prepareImpl (PageData *dataToPopulate)
 
virtual bool prepareImpl (StreamSerialiser &str, PageData *dataToPopulate)
 
void updateDebugDisplay ()
 

Protected Attributes

ContentCollectionList mContentCollections
 
SceneNodemDebugNode
 
bool mDeferredProcessInProgress
 
unsigned long mFrameLastHeld
 
PageID mID
 
bool mModified
 
PagedWorldSectionmParent
 
uint16 mWorkQueueChannel
 

Friends

_OgrePagingExport friend
std::ostream & 
operator<< (std::ostream &o, const Page &p)
 Function for writing to a stream. More...
 

Detailed Description

Page class.

Definition at line 49 of file OgrePage.h.

Member Typedef Documentation

Definition at line 53 of file OgrePage.h.

Constructor & Destructor Documentation

Ogre::Page::Page ( PageID  pageID,
PagedWorldSection parent 
)
virtual Ogre::Page::~Page ( )
virtual

Member Function Documentation

void Ogre::Page::_notifyModified ( )
inline

Tell the page that it is modified.

Definition at line 188 of file OgrePage.h.

bool Ogre::Page::canHandleRequest ( const WorkQueue::Request req,
const WorkQueue srcQ 
)
virtual
bool Ogre::Page::canHandleResponse ( const WorkQueue::Response res,
const WorkQueue srcQ 
)
virtual
virtual PageContentCollection* Ogre::Page::createContentCollection ( const String typeName)
virtual

Create a new PageContentCollection within this page.

This is equivalent to calling PageManager::createContentCollection and then attachContentCollection.

Parameters
typeNameThe name of the type of content collection (see PageManager::getContentCollectionFactories)
virtual void Ogre::Page::destroyAllContentCollections ( )
virtual

Destroy all PageContentCollections within this page.

virtual void Ogre::Page::destroyContentCollection ( PageContentCollection coll)
virtual

Destroy a PageContentCollection within this page.

This is equivalent to calling detachContentCollection and PageManager::destroyContentCollection.

virtual void Ogre::Page::frameEnd ( Real  timeElapsed)
virtual

Called when the frame ends.

virtual void Ogre::Page::frameStart ( Real  timeSinceLastFrame)
virtual

Called when the frame starts.

String Ogre::Page::generateFilename ( ) const
protected
virtual PageContentCollection* Ogre::Page::getContentCollection ( size_t  index)
virtual

Get a content collection.

virtual size_t Ogre::Page::getContentCollectionCount ( ) const
virtual

Get the number of content collections.

const ContentCollectionList& Ogre::Page::getContentCollectionList ( ) const

Get the list of content collections.

virtual unsigned long Ogre::Page::getFrameLastHeld ( )
inlinevirtual

Get the frame number in which this Page was last loaded or held.

Remarks
A Page that has not been requested to be loaded or held in the recent past will be a candidate for removal.

Definition at line 121 of file OgrePage.h.

virtual PageID Ogre::Page::getID ( ) const
inlinevirtual

Get the ID of this page, unique within the parent.

Definition at line 113 of file OgrePage.h.

PageManager* Ogre::Page::getManager ( ) const
virtual PagedWorldSection* Ogre::Page::getParentSection ( ) const
inlinevirtual

Get the PagedWorldSection this page belongs to.

Definition at line 115 of file OgrePage.h.

SceneManager* Ogre::Page::getSceneManager ( ) const
WorkQueue::Response* Ogre::Page::handleRequest ( const WorkQueue::Request req,
const WorkQueue srcQ 
)
virtual
void Ogre::Page::handleResponse ( const WorkQueue::Response res,
const WorkQueue srcQ 
)
virtual
bool Ogre::Page::isDeferredProcessInProgress ( ) const
inline

If true, it's not safe to access this Page at this time, contents may be changing.

Definition at line 110 of file OgrePage.h.

virtual bool Ogre::Page::isHeld ( ) const
virtual

Returns whether this page was 'held' in the last frame, that is was it either directly needed, or requested to stay in memory (held - as in a buffer region for example).

If not, this page is eligible for removal.

bool Ogre::Page::isModified ( ) const
inline

Definition at line 189 of file OgrePage.h.

virtual void Ogre::Page::load ( bool  synchronous)
virtual

Load this page.

Parameters
synchronousWhether to force this to happen synchronously.
virtual void Ogre::Page::loadImpl ( )
protectedvirtual
virtual void Ogre::Page::notifyCamera ( Camera cam)
virtual

Notify a section of the current camera.

template<class Alloc >
void Ogre::AllocatedObject< Alloc >::operator delete ( void *  ptr)
inlineinherited

Definition at line 96 of file OgreMemoryAllocatedObject.h.

template<class Alloc >
void Ogre::AllocatedObject< Alloc >::operator delete ( void *  ptr,
void *   
)
inlineinherited

Definition at line 102 of file OgreMemoryAllocatedObject.h.

template<class Alloc >
void Ogre::AllocatedObject< Alloc >::operator delete ( void *  ptr,
const char *  ,
int  ,
const char *   
)
inlineinherited

Definition at line 108 of file OgreMemoryAllocatedObject.h.

template<class Alloc >
void Ogre::AllocatedObject< Alloc >::operator delete[] ( void *  ptr)
inlineinherited

Definition at line 113 of file OgreMemoryAllocatedObject.h.

template<class Alloc >
void Ogre::AllocatedObject< Alloc >::operator delete[] ( void *  ptr,
const char *  ,
int  ,
const char *   
)
inlineinherited

Definition at line 119 of file OgreMemoryAllocatedObject.h.

template<class Alloc >
void* Ogre::AllocatedObject< Alloc >::operator new ( size_t  sz,
const char *  file,
int  line,
const char *  func 
)
inlineinherited

operator new, with debug line info

Definition at line 68 of file OgreMemoryAllocatedObject.h.

template<class Alloc >
void* Ogre::AllocatedObject< Alloc >::operator new ( size_t  sz)
inlineinherited

Definition at line 73 of file OgreMemoryAllocatedObject.h.

template<class Alloc >
void* Ogre::AllocatedObject< Alloc >::operator new ( size_t  sz,
void *  ptr 
)
inlineinherited

placement operator new

Definition at line 79 of file OgreMemoryAllocatedObject.h.

template<class Alloc >
void* Ogre::AllocatedObject< Alloc >::operator new[] ( size_t  sz,
const char *  file,
int  line,
const char *  func 
)
inlineinherited

array operator new, with debug line info

Definition at line 86 of file OgreMemoryAllocatedObject.h.

template<class Alloc >
void* Ogre::AllocatedObject< Alloc >::operator new[] ( size_t  sz)
inlineinherited

Definition at line 91 of file OgreMemoryAllocatedObject.h.

virtual bool Ogre::Page::prepareImpl ( PageData dataToPopulate)
protectedvirtual
virtual bool Ogre::Page::prepareImpl ( StreamSerialiser str,
PageData dataToPopulate 
)
protectedvirtual
virtual void Ogre::Page::save ( )
virtual

Save page data to an automatically generated file name.

virtual void Ogre::Page::save ( const String filename)
virtual

Save page data to a file.

virtual void Ogre::Page::save ( StreamSerialiser stream)
virtual

Save page data to a serialiser.

virtual void Ogre::Page::touch ( )
virtual

'Touch' the page to let it know it's being used

virtual void Ogre::Page::unload ( )
virtual

Unload this page.

void Ogre::Page::updateDebugDisplay ( )
protected

Friends And Related Function Documentation

_OgrePagingExport friend std::ostream& operator<< ( std::ostream &  o,
const Page p 
)
friend

Function for writing to a stream.

Member Data Documentation

const uint32 Ogre::Page::CHUNK_CONTENTCOLLECTION_DECLARATION_ID
static

Definition at line 101 of file OgrePage.h.

const uint32 Ogre::Page::CHUNK_ID
static

Definition at line 98 of file OgrePage.h.

const uint16 Ogre::Page::CHUNK_VERSION
static

Definition at line 99 of file OgrePage.h.

ContentCollectionList Ogre::Page::mContentCollections
protected

Definition at line 58 of file OgrePage.h.

SceneNode* Ogre::Page::mDebugNode
protected

Definition at line 63 of file OgrePage.h.

bool Ogre::Page::mDeferredProcessInProgress
protected

Definition at line 60 of file OgrePage.h.

unsigned long Ogre::Page::mFrameLastHeld
protected

Definition at line 57 of file OgrePage.h.

PageID Ogre::Page::mID
protected

Definition at line 55 of file OgrePage.h.

bool Ogre::Page::mModified
protected

Definition at line 61 of file OgrePage.h.

PagedWorldSection* Ogre::Page::mParent
protected

Definition at line 56 of file OgrePage.h.

uint16 Ogre::Page::mWorkQueueChannel
protected

Definition at line 59 of file OgrePage.h.

const uint16 Ogre::Page::WORKQUEUE_CHANGECOLLECTION_REQUEST
static

Definition at line 192 of file OgrePage.h.

const uint16 Ogre::Page::WORKQUEUE_PREPARE_REQUEST
static

Definition at line 191 of file OgrePage.h.


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