A world section which includes paged terrain. More...
#include <OgreTerrainPagedWorldSection.h>
Classes | |
class | TerrainDefiner |
Public Types | |
typedef map< PageID, Page * >::type | PageMap |
Public Member Functions | |
TerrainPagedWorldSection (const String &name, PagedWorld *parent, SceneManager *sm) | |
Constructor. More... | |
virtual | ~TerrainPagedWorldSection () |
virtual bool | _loadProceduralPage (Page *page) |
Give a section the opportunity to prepare page content procedurally. More... | |
virtual bool | _prepareProceduralPage (Page *page) |
Give a section the opportunity to prepare page content procedurally. More... | |
virtual StreamSerialiser * | _readPageStream (PageID pageID) |
Get a serialiser set up to read Page data for the given PageID. More... | |
virtual bool | _unloadProceduralPage (Page *page) |
Give a section the opportunity to unload page content procedurally. More... | |
virtual bool | _unprepareProceduralPage (Page *page) |
Give a section the opportunity to unprepare page content procedurally. More... | |
virtual StreamSerialiser * | _writePageStream (PageID pageID) |
Get a serialiser set up to write Page data for the given PageID. More... | |
virtual bool | canHandleRequest (const Request *req, const WorkQueue *srcQ) |
Return whether this handler can process a given request. More... | |
virtual bool | canHandleResponse (const Response *res, const WorkQueue *srcQ) |
Return whether this handler can process a given response. More... | |
virtual void | frameEnd (Real timeElapsed) |
Called when the frame ends. More... | |
virtual void | frameStart (Real timeSinceLastFrame) |
Called when the frame starts. More... | |
virtual const AxisAlignedBox & | getBoundingBox () const |
Get the bounds of this section. More... | |
virtual Grid2DPageStrategy * | getGridStrategy () const |
Convenience method - this section always uses a grid strategy. More... | |
virtual Grid2DPageStrategyData * | getGridStrategyData () const |
Convenience method - this section always uses a grid strategy. More... | |
virtual Real | getHoldRadius () |
Get the Holding radius. More... | |
virtual uint32 | getLoadingIntervalMs () const |
Get the interval between the loading of single pages in milliseconds (ms) More... | |
virtual Real | getLoadRadius () const |
Get the loading radius. More... | |
PageManager * | getManager () const |
virtual const String & | getName () const |
Get the name of this section. More... | |
virtual Page * | getPage (PageID pageID) |
Retrieves a Page. More... | |
virtual PageID | getPageID (const Vector3 &worldPos) |
Get the page ID for a given world position. More... | |
virtual PageProvider * | getPageProvider () const |
Get the PageProvider which can provide streams for Pages in this section. More... | |
virtual int32 | getPageRangeMaxX () const |
get the index range of all Pages (values outside this will be ignored) More... | |
virtual int32 | getPageRangeMaxY () const |
get the index range of all Pages (values outside this will be ignored) More... | |
virtual int32 | getPageRangeMinX () const |
get the index range of all Pages (values outside this will be ignored) More... | |
virtual int32 | getPageRangeMinY () const |
get the index range of all Pages (values outside this will be ignored) More... | |
virtual SceneManager * | getSceneManager () const |
Get the current SceneManager. More... | |
virtual PageStrategy * | getStrategy () const |
Get the page strategy which this section is using. More... | |
virtual PageStrategyData * | getStrategyData () const |
Get the data required by the PageStrategy which is specific to this world section. More... | |
virtual TerrainGroup * | getTerrainGroup () |
Get the TerrainGroup which this world section is using. More... | |
virtual const String & | getType () |
Get the type name of this section. More... | |
virtual PagedWorld * | getWorld () const |
Get the parent world. More... | |
WorkQueue::Response * | handleRequest (const WorkQueue::Request *req, const WorkQueue *srcQ) |
WorkQueue::RequestHandler override. More... | |
void | handleResponse (const WorkQueue::Response *res, const WorkQueue *srcQ) |
WorkQueue::ResponseHandler override. More... | |
virtual void | holdPage (PageID pageID) |
Ask for a page to be kept in memory if it's loaded. More... | |
virtual void | init (TerrainGroup *grp) |
Initialise this section from an existing TerrainGroup instance. More... | |
virtual bool | load (StreamSerialiser &stream) |
Load this section from a stream (returns true if successful) More... | |
virtual Page * | loadOrCreatePage (const Vector3 &worldPos) |
Load or create a page against this section covering the given world space position. More... | |
void | loadPage (PageID pageID, bool forceSynchronous=false) |
Overridden from PagedWorldSection. 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 | removeAllPages () |
Remove all pages immediately. More... | |
virtual void | save (StreamSerialiser &stream) |
Save this section to a stream. More... | |
virtual void | setBoundingBox (const AxisAlignedBox &box) |
Set the bounds of this section. More... | |
void | setDefiner (TerrainDefiner *terrainDefiner) |
virtual void | setHoldRadius (Real sz) |
Set the Holding radius. More... | |
virtual void | setLoadingIntervalMs (uint32 loadingIntervalMs) |
Set the interval between the loading of single pages in milliseconds (ms) More... | |
virtual void | setLoadRadius (Real sz) |
Set the loading radius. More... | |
virtual void | setPageProvider (PageProvider *provider) |
Set the PageProvider which can provide streams Pages in this section. More... | |
virtual void | setPageRange (int32 minX, int32 minY, int32 maxX, int32 maxY) |
Set the index range of all Pages (values outside this will be ignored) More... | |
virtual void | setPageRangeMaxX (int32 maxX) |
Set the index range of all Pages (values outside this will be ignored) More... | |
virtual void | setPageRangeMaxY (int32 maxY) |
Set the index range of all Pages (values outside this will be ignored) More... | |
virtual void | setPageRangeMinX (int32 minX) |
Set the index range of all Pages (values outside this will be ignored) More... | |
virtual void | setPageRangeMinY (int32 minY) |
Set the index range of all Pages (values outside this will be ignored) More... | |
virtual void | setSceneManager (SceneManager *sm) |
Change the SceneManager. More... | |
virtual void | setSceneManager (const String &smName) |
Change the SceneManager. More... | |
virtual void | setStrategy (PageStrategy *strat) |
Change the page strategy. More... | |
virtual void | setStrategy (const String &stratName) |
Change the page strategy. More... | |
void | unloadPage (PageID pageID, bool forceSynchronous=false) |
Overridden from PagedWorldSection. More... | |
virtual void | unloadPage (Page *p, bool forceSynchronous=false) |
Ask for a page to be unloaded with the given (section-relative) PageID. More... | |
Static Public Attributes | |
static const uint32 | CHUNK_ID |
static const uint16 | CHUNK_VERSION |
static const uint16 | WORKQUEUE_LOAD_TERRAIN_PAGE_REQUEST |
Protected Member Functions | |
void | loadSubtypeData (StreamSerialiser &ser) |
Overridden from PagedWorldSection. More... | |
void | saveSubtypeData (StreamSerialiser &ser) |
virtual void | syncSettings () |
Protected Attributes | |
AxisAlignedBox | mAABB |
bool | mHasRunningTasks |
uint32 | mLoadingIntervalMs |
String | mName |
unsigned long | mNextLoadingTime |
PageProvider * | mPageProvider |
PageMap | mPages |
std::list< PageID > | mPagesInLoading |
PagedWorld * | mParent |
SceneManager * | mSceneMgr |
PageStrategy * | mStrategy |
PageStrategyData * | mStrategyData |
TerrainDefiner * | mTerrainDefiner |
TerrainGroup * | mTerrainGroup |
uint16 | mWorkQueueChannel |
A world section which includes paged terrain.
Definition at line 81 of file OgreTerrainPagedWorldSection.h.
|
inherited |
Definition at line 72 of file OgrePagedWorldSection.h.
Ogre::TerrainPagedWorldSection::TerrainPagedWorldSection | ( | const String & | name, |
PagedWorld * | parent, | ||
SceneManager * | sm | ||
) |
Constructor.
name | The name of the section |
parent | The parent world |
sm | The SceneManager to use (can be left as null if to be loaded) |
|
virtual |
|
virtualinherited |
Give a section the opportunity to prepare page content procedurally.
|
virtualinherited |
Give a section the opportunity to prepare page content procedurally.
|
virtualinherited |
Get a serialiser set up to read Page data for the given PageID.
pageID | The ID of the page being requested |
|
virtualinherited |
Give a section the opportunity to unload page content procedurally.
|
virtualinherited |
Give a section the opportunity to unprepare page content procedurally.
|
virtualinherited |
Get a serialiser set up to write Page data for the given PageID.
pageID | The ID of the page being requested |
|
inlinevirtualinherited |
Return whether this handler can process a given request.
Reimplemented in Ogre::Terrain, Ogre::TerrainGroup, Ogre::ResourceBackgroundQueue, Ogre::Page, and Ogre::TerrainLodManager.
Definition at line 173 of file OgreWorkQueue.h.
References Ogre::WorkQueue::Request::getAborted().
|
inlinevirtualinherited |
Return whether this handler can process a given response.
Reimplemented in Ogre::Terrain, Ogre::TerrainGroup, Ogre::ResourceBackgroundQueue, Ogre::Page, and Ogre::TerrainLodManager.
Definition at line 208 of file OgreWorkQueue.h.
References Ogre::WorkQueue::Request::getAborted(), and Ogre::WorkQueue::Response::getRequest().
|
virtualinherited |
Called when the frame ends.
|
virtualinherited |
Called when the frame starts.
|
virtualinherited |
Get the bounds of this section.
|
virtual |
Convenience method - this section always uses a grid strategy.
|
virtual |
Convenience method - this section always uses a grid strategy.
|
virtual |
Get the Holding radius.
|
virtual |
Get the interval between the loading of single pages in milliseconds (ms)
|
virtual |
Get the loading radius.
|
inherited |
|
inlinevirtualinherited |
Get the name of this section.
Definition at line 99 of file OgrePagedWorldSection.h.
Get the page ID for a given world position.
|
inlinevirtualinherited |
Get the PageProvider which can provide streams for Pages in this section.
Definition at line 271 of file OgrePagedWorldSection.h.
|
virtual |
get the index range of all Pages (values outside this will be ignored)
|
virtual |
get the index range of all Pages (values outside this will be ignored)
|
virtual |
get the index range of all Pages (values outside this will be ignored)
|
virtual |
get the index range of all Pages (values outside this will be ignored)
|
inlinevirtualinherited |
Get the current SceneManager.
Definition at line 130 of file OgrePagedWorldSection.h.
|
inlinevirtualinherited |
Get the page strategy which this section is using.
Definition at line 101 of file OgrePagedWorldSection.h.
|
inlinevirtualinherited |
Get the data required by the PageStrategy which is specific to this world section.
Definition at line 135 of file OgrePagedWorldSection.h.
|
inlinevirtual |
Get the TerrainGroup which this world section is using.
Definition at line 109 of file OgreTerrainPagedWorldSection.h.
|
virtualinherited |
Get the type name of this section.
|
inlinevirtualinherited |
Get the parent world.
Definition at line 133 of file OgrePagedWorldSection.h.
|
virtual |
WorkQueue::RequestHandler override.
Implements Ogre::WorkQueue::RequestHandler.
|
virtual |
WorkQueue::ResponseHandler override.
Implements Ogre::WorkQueue::ResponseHandler.
|
virtualinherited |
Ask for a page to be kept in memory if it's loaded.
|
virtual |
Initialise this section from an existing TerrainGroup instance.
grp | The TerrainGroup which will form the basis of this world section. The instance will be owned by this class from now on and will be destroyed by it. |
|
virtualinherited |
Load this section from a stream (returns true if successful)
|
virtualinherited |
Load or create a page against this section covering the given world space position.
|
virtual |
Overridden from PagedWorldSection.
Reimplemented from Ogre::PagedWorldSection.
|
protectedvirtual |
Overridden from PagedWorldSection.
Reimplemented from Ogre::PagedWorldSection.
|
virtualinherited |
Notify a section of the current camera.
|
inlineinherited |
Definition at line 96 of file OgreMemoryAllocatedObject.h.
|
inlineinherited |
Definition at line 102 of file OgreMemoryAllocatedObject.h.
|
inlineinherited |
Definition at line 108 of file OgreMemoryAllocatedObject.h.
|
inlineinherited |
Definition at line 113 of file OgreMemoryAllocatedObject.h.
|
inlineinherited |
Definition at line 119 of file OgreMemoryAllocatedObject.h.
|
inlineinherited |
operator new, with debug line info
Definition at line 68 of file OgreMemoryAllocatedObject.h.
|
inlineinherited |
Definition at line 73 of file OgreMemoryAllocatedObject.h.
|
inlineinherited |
placement operator new
Definition at line 79 of file OgreMemoryAllocatedObject.h.
|
inlineinherited |
array operator new, with debug line info
Definition at line 86 of file OgreMemoryAllocatedObject.h.
|
inlineinherited |
Definition at line 91 of file OgreMemoryAllocatedObject.h.
|
virtualinherited |
Remove all pages immediately.
|
virtualinherited |
Save this section to a stream.
|
protectedvirtual |
Reimplemented from Ogre::PagedWorldSection.
|
virtualinherited |
Set the bounds of this section.
|
inline |
Definition at line 170 of file OgreTerrainPagedWorldSection.h.
References OGRE_DELETE.
|
virtual |
Set the Holding radius.
|
virtual |
Set the interval between the loading of single pages in milliseconds (ms)
|
virtual |
Set the loading radius.
|
inlinevirtualinherited |
Set the PageProvider which can provide streams Pages in this section.
Definition at line 268 of file OgrePagedWorldSection.h.
|
virtual |
Set the index range of all Pages (values outside this will be ignored)
|
virtual |
Set the index range of all Pages (values outside this will be ignored)
|
virtual |
Set the index range of all Pages (values outside this will be ignored)
|
virtual |
Set the index range of all Pages (values outside this will be ignored)
|
virtual |
Set the index range of all Pages (values outside this will be ignored)
|
virtualinherited |
Change the SceneManager.
|
virtualinherited |
Change the SceneManager.
smName | The instance name of the SceneManager |
|
virtualinherited |
Change the page strategy.
|
virtualinherited |
Change the page strategy.
|
protectedvirtual |
|
virtual |
Overridden from PagedWorldSection.
Reimplemented from Ogre::PagedWorldSection.
|
virtualinherited |
Ask for a page to be unloaded with the given (section-relative) PageID.
p | The Page to unload |
forceSynchronous | If true, the page will always be unloaded synchronously |
|
staticinherited |
Definition at line 89 of file OgrePagedWorldSection.h.
|
staticinherited |
Definition at line 90 of file OgrePagedWorldSection.h.
|
protectedinherited |
Definition at line 75 of file OgrePagedWorldSection.h.
|
protected |
Definition at line 181 of file OgreTerrainPagedWorldSection.h.
|
protected |
Definition at line 184 of file OgreTerrainPagedWorldSection.h.
|
protectedinherited |
Definition at line 74 of file OgrePagedWorldSection.h.
|
protected |
Definition at line 183 of file OgreTerrainPagedWorldSection.h.
|
protectedinherited |
Definition at line 80 of file OgrePagedWorldSection.h.
|
protectedinherited |
Definition at line 79 of file OgrePagedWorldSection.h.
|
protected |
Definition at line 180 of file OgreTerrainPagedWorldSection.h.
|
protectedinherited |
Definition at line 76 of file OgrePagedWorldSection.h.
|
protectedinherited |
Definition at line 81 of file OgrePagedWorldSection.h.
|
protectedinherited |
Definition at line 77 of file OgrePagedWorldSection.h.
|
protectedinherited |
Definition at line 78 of file OgrePagedWorldSection.h.
|
protected |
Definition at line 179 of file OgreTerrainPagedWorldSection.h.
|
protected |
Definition at line 178 of file OgreTerrainPagedWorldSection.h.
|
protected |
Definition at line 182 of file OgreTerrainPagedWorldSection.h.
|
static |
Definition at line 158 of file OgreTerrainPagedWorldSection.h.