OGRE  13.6
Object-Oriented Graphics Rendering Engine

Render large modular structures. More...

Classes

class  Ogre::Grid2DPageStrategy
 Page strategy which loads new pages based on a regular 2D grid. More...
 
class  Ogre::Grid2DPageStrategyData
 Specialisation of PageStrategyData for Grid2DPageStrategy. More...
 
class  Ogre::Grid3DPageStrategy
 Page strategy which loads new pages based on a regular 3D grid. More...
 
class  Ogre::Grid3DPageStrategyData
 Specialisation of PageStrategyData for Grid3DPageStrategy. More...
 
class  Ogre::Page
 Page class. More...
 
class  Ogre::PageContent
 Interface definition for a unit of content within a page. More...
 
class  Ogre::PageContentCollection
 Definition of the interface for a collection of PageContent instances. More...
 
class  Ogre::PageContentCollectionFactory
 Define the interface to a factory class that will create subclasses of PageContentCollection. More...
 
class  Ogre::PageContentFactory
 Define the interface to a factory class that will create subclasses of PageContent. More...
 
class  Ogre::PagedWorld
 This class represents a collection of pages which make up a world. More...
 
class  Ogre::PagedWorldSection
 Represents a section of the PagedWorld which uses a given PageStrategy, and which is made up of a generally localised set of Page instances. More...
 
class  Ogre::PagedWorldSectionFactory
 A factory class for creating types of world section. More...
 
class  Ogre::PageManager
 The PageManager is the entry point through which you load all PagedWorld instances, and the place where PageStrategy instances and factory classes are registered to customise the paging behaviour. More...
 
class  Ogre::PageProvider
 Abstract class that can be implemented by the user application to provide a way to retrieve or generate page data from a source of their choosing. More...
 
class  Ogre::PageStrategy
 Defines the interface to a strategy class which is responsible for deciding when Page instances are requested for addition and removal from the paging system. More...
 
class  Ogre::PageStrategyData
 Abstract marker class representing the data held against the PagedWorldSection which is specifically used by the PageStrategy. More...
 
class  Ogre::SimplePageContentCollection
 Specialisation of PageContentCollection which just provides a simple list of PageContent instances. More...
 
class  Ogre::SimplePageContentCollectionFactory
 Factory class for SimplePageContentCollection. More...
 

Typedefs

typedef std::vector< PageContent * > Ogre::SimplePageContentCollection::ContentList
 

Enumerations

enum  Ogre::Grid2DMode { Ogre::G2D_X_Z = 0 , Ogre::G2D_X_Y = 1 , Ogre::G2D_Y_Z = 2 }
 The 2D grid mode. More...
 

Functions

 Ogre::Grid3DPageStrategy::Grid3DPageStrategy (PageManager *manager)
 
 Ogre::Grid3DPageStrategyData::Grid3DPageStrategyData ()
 
 Ogre::PageStrategy::PageStrategy (const String &name, PageManager *manager)
 
 Ogre::PageStrategyData::PageStrategyData ()
 
 Ogre::SimplePageContentCollection::SimplePageContentCollection (PageContentCollectionFactory *creator)
 
 Ogre::SimplePageContentCollectionFactory::SimplePageContentCollectionFactory ()
 
 Ogre::Grid3DPageStrategy::~Grid3DPageStrategy ()
 
 Ogre::Grid3DPageStrategyData::~Grid3DPageStrategyData ()
 
virtual Ogre::PageStrategy::~PageStrategy ()
 
virtual Ogre::PageStrategyData::~PageStrategyData ()
 
 Ogre::SimplePageContentCollection::~SimplePageContentCollection ()
 
 Ogre::SimplePageContentCollectionFactory::~SimplePageContentCollectionFactory ()
 
void Ogre::Grid3DPageStrategyData::calculateCell (PageID inPageID, int32 *x, int32 *y, int32 *z)
 
PageID Ogre::Grid3DPageStrategyData::calculatePageID (int32 x, int32 y, int32 z)
 
virtual PageContentOgre::SimplePageContentCollection::createContent (const String &typeName)
 Create a new PageContent within this collection. More...
 
PageStrategyDataOgre::Grid3DPageStrategy::createData () override
 Create a PageStrategyData instance containing the data specific to this PageStrategy. More...
 
virtual PageStrategyDataOgre::PageStrategy::createData ()=0
 Create a PageStrategyData instance containing the data specific to this PageStrategy. More...
 
PageContentCollectionOgre::SimplePageContentCollectionFactory::createInstance () override
 
virtual void Ogre::SimplePageContentCollection::destroyContent (PageContent *coll)
 Destroy a PageContent within this page. More...
 
void Ogre::Grid3DPageStrategy::destroyData (PageStrategyData *d) override
 Destroy a PageStrategyData instance containing the data specific to this PageStrategy. More...
 
virtual void Ogre::PageStrategy::destroyData (PageStrategyData *d)=0
 Destroy a PageStrategyData instance containing the data specific to this PageStrategy. More...
 
void Ogre::SimplePageContentCollectionFactory::destroyInstance (PageContentCollection *c) override
 
void Ogre::Grid3DPageStrategyData::determineGridLocation (const Vector3 &gridpos, int32 *x, int32 *y, int32 *z)
 Convert a grid position into a row and column index. More...
 
void Ogre::SimplePageContentCollection::frameEnd (Real timeElapsed) override
 Called when the frame ends. More...
 
virtual void Ogre::PageStrategy::frameEnd (Real timeElapsed, PagedWorldSection *section)
 Called when the frame ends. More...
 
void Ogre::SimplePageContentCollection::frameStart (Real timeSinceLastFrame) override
 Called when the frame starts. More...
 
virtual void Ogre::PageStrategy::frameStart (Real timeSinceLastFrame, PagedWorldSection *section)
 Called when the frame starts. More...
 
virtual void Ogre::Grid3DPageStrategyData::getBottomLeftGridSpace (int32 x, int32 y, int z, Vector3 &bl)
 Get the (grid space) bottom-left of a cell. More...
 
virtual int32 Ogre::Grid3DPageStrategyData::getCellRangeMaxX () const
 get the index range of all cells (values outside this will be ignored) More...
 
virtual int32 Ogre::Grid3DPageStrategyData::getCellRangeMaxY () const
 get the index range of all cells (values outside this will be ignored) More...
 
virtual int32 Ogre::Grid3DPageStrategyData::getCellRangeMaxZ () const
 get the index range of all cells (values outside this will be ignored) More...
 
virtual int32 Ogre::Grid3DPageStrategyData::getCellRangeMinX () const
 get the index range of all cells (values outside this will be ignored) More...
 
virtual int32 Ogre::Grid3DPageStrategyData::getCellRangeMinY () const
 get the index range of all cells (values outside this will be ignored) More...
 
virtual int32 Ogre::Grid3DPageStrategyData::getCellRangeMinZ () const
 get the index range of all cells (values outside this will be ignored) More...
 
virtual Vector3 Ogre::Grid3DPageStrategyData::getCellSize () const
 Get the size of the cells in the grid. More...
 
virtual const ContentListOgre::SimplePageContentCollection::getContentList () const
 Get const access to the list of content. More...
 
virtual void Ogre::Grid3DPageStrategyData::getCornersGridSpace (int32 x, int32 y, int32 z, Vector3 *pEightPoints)
 Get the (grid space) corners of a cell. More...
 
virtual Real Ogre::Grid3DPageStrategyData::getHoldRadius () const
 Get the Holding radius. More...
 
virtual Real Ogre::Grid3DPageStrategyData::getLoadRadius () const
 Get the loading radius. More...
 
PageManagerOgre::PageStrategy::getManager () const
 
virtual void Ogre::Grid3DPageStrategyData::getMidPointGridSpace (int32 x, int32 y, int32 z, Vector3 &mid)
 
const StringOgre::PageStrategy::getName () const
 
const StringOgre::SimplePageContentCollectionFactory::getName () const override
 
virtual const Vector3Ogre::Grid3DPageStrategyData::getOrigin (const Vector3 &worldOrigin)
 Get the origin of the grid in world space. More...
 
PageID Ogre::Grid3DPageStrategy::getPageID (const Vector3 &worldPos, PagedWorldSection *section) override
 Get the page ID for a given world position. More...
 
virtual PageID Ogre::PageStrategy::getPageID (const Vector3 &worldPos, PagedWorldSection *section)=0
 Get the page ID for a given world position. More...
 
void Ogre::SimplePageContentCollection::load () override
 Load - will be called in main thread. More...
 
bool Ogre::Grid3DPageStrategyData::load (StreamSerialiser &stream) override
 Load this data from a stream (returns true if successful) More...
 
virtual bool Ogre::PageStrategyData::load (StreamSerialiser &stream)=0
 Load this data from a stream (returns true if successful) More...
 
void Ogre::SimplePageContentCollection::notifyCamera (Camera *cam) override
 Notify a section of the current camera. More...
 
virtual void Ogre::PageStrategy::notifyCamera (Camera *cam, PagedWorldSection *section)
 Called when a camera is used for any kind of rendering. More...
 
void Ogre::Grid3DPageStrategy::notifyCamera (Camera *cam, PagedWorldSection *section) override
 Called when a camera is used for any kind of rendering. More...
 
bool Ogre::SimplePageContentCollection::prepare (StreamSerialiser &stream) override
 Prepare data - may be called in the background. More...
 
void Ogre::Grid3DPageStrategyData::save (StreamSerialiser &stream) override
 Save this data to a stream. More...
 
void Ogre::SimplePageContentCollection::save (StreamSerialiser &stream) override
 Save the collection to a stream. More...
 
virtual void Ogre::PageStrategyData::save (StreamSerialiser &stream)=0
 Save this data to a stream. More...
 
virtual void Ogre::Grid3DPageStrategyData::setCellRange (int32 minX, int32 minY, int32 minZ, int32 maxX, int32 maxY, int32 maxZ)
 Set the index range of all cells (values outside this will be ignored) More...
 
virtual void Ogre::Grid3DPageStrategyData::setCellRangeMaxX (int32 maxX)
 Set the index range of all cells (values outside this will be ignored) More...
 
virtual void Ogre::Grid3DPageStrategyData::setCellRangeMaxY (int32 maxY)
 Set the index range of all cells (values outside this will be ignored) More...
 
virtual void Ogre::Grid3DPageStrategyData::setCellRangeMaxZ (int32 maxZ)
 get the index range of all cells (values outside this will be ignored) More...
 
virtual void Ogre::Grid3DPageStrategyData::setCellRangeMinX (int32 minX)
 Set the index range of all cells (values outside this will be ignored) More...
 
virtual void Ogre::Grid3DPageStrategyData::setCellRangeMinY (int32 minY)
 Set the index range of all cells (values outside this will be ignored) More...
 
virtual void Ogre::Grid3DPageStrategyData::setCellRangeMinZ (int32 minZ)
 Set the index range of all cells (values outside this will be ignored) More...
 
virtual void Ogre::Grid3DPageStrategyData::setCellSize (const Vector3 &sz)
 Set the size of the cells in the grid. More...
 
virtual void Ogre::Grid3DPageStrategyData::setHoldRadius (Real sz)
 Set the Holding radius. More...
 
virtual void Ogre::Grid3DPageStrategyData::setLoadRadius (Real sz)
 Set the loading radius. More...
 
virtual void Ogre::Grid3DPageStrategyData::setOrigin (const Vector3 &worldOrigin)
 Set the origin of the grid in world space. More...
 
void Ogre::SimplePageContentCollection::unload () override
 Unload - will be called in main thread. More...
 
void Ogre::SimplePageContentCollection::unprepare () override
 Unprepare data - may be called in the background. More...
 
void Ogre::Grid3DPageStrategy::updateDebugDisplay (Page *p, SceneNode *sn) override
 Update the contents of the passed in SceneNode to reflect the debug display of a given page. More...
 
virtual void Ogre::PageStrategy::updateDebugDisplay (Page *p, SceneNode *sn)=0
 Update the contents of the passed in SceneNode to reflect the debug display of a given page. More...
 

Variables

static const uint32 Ogre::Grid3DPageStrategyData::CHUNK_ID
 
static const uint16 Ogre::Grid3DPageStrategyData::CHUNK_VERSION
 
static String Ogre::SimplePageContentCollectionFactory::FACTORY_NAME
 
static const uint32 Ogre::SimplePageContentCollection::SUBCLASS_CHUNK_ID
 
static const uint16 Ogre::SimplePageContentCollection::SUBCLASS_CHUNK_VERSION
 

Detailed Description

Render large modular structures.

Some details on paging component.

File Format

The paging file format is a composite one - a single file / stream can contain data which is not necessarily all read by a single class. Instead, data chunks can be read by different classes, allowing the format to be extended to different types smoothly.

Paging world files have by default an extension ".world", but that is not a requirement. Internally, the only thing that matters is the data chunks and their identifiers, which are 4-character codes embedded in a uint32 as calculated by StreamSerialiser::makeIdentifier. All data will be read and written using DataStream and the StreamSerialiser class.

Data types are expressed at the lowest level exposed by the StreamSerialiser class, which is used to read / write this file.

Chunk Definitions

PagedWorld (Identifier 'PWLD')
[Version 1]
Name Type Description
World Name char* The name of the world - should be unique
PagedWorldSection List Chunk List A variable-length list of nested PagedWorldSection chunks
PagedWorldSection (Identifier 'PWSC')
[Version 1]
Name Type Description
World Section Name char* The name of the world section - should be unique within world
Bounding box AABB AABB of this world section in world space
PageStrategy name char* The name of the PageStrategy class this world section uses to manage pages
Page Strategy Data Nested Chunk PageStrategy specific data for this world section
PagedStrategyData (Identifier defined by subclass)
[Version 1]
Name Type Description
PageStrategy defined ??? This chunk will contain data as defined by the specific PageStrategyData used by the parent PagedWorldSection
Page (Identifier 'PAGE')
[Version 1]
Name Type Description
Page ID uint32 The identifier of the page
PageContentCollection list Nested chunk list 1-n nested chunks of type PageContentCollection
PageContentCollection (Identifier 'PGCC')
[Version 1]
Name Type Description
Factory name char* The name of the content collection factory
PageContentCollectionData chunk Nested chunk Data required to initialise & configure the content collection
PageContentCollectionData (Identifier defined by subclass)
[Version 1]
Name Type Description
PageContentCollection subclass defined ??? This chunk will contain data as defined by the specific PageContentCollection subclass
PageContent (Identifier 'PGCN')
[Version 1]
Name Type Description
Factory name char* The name of the content factory
PageContentData chunk Nested chunk Data required to initialise & configure the content
PageContentData (Identifier defined by subclass)
[Version 1]
Name Type Description
PageContent subclass defined ??? This chunk will contain data as defined by the specific PageContent subclass

Typedef Documentation

◆ ContentList

Enumeration Type Documentation

◆ Grid2DMode

The 2D grid mode.

Enumerator
G2D_X_Z 

Grid is in the X/Z plane.

G2D_X_Y 

Grid is in the X/Y plane.

G2D_Y_Z 

Grid is in the Y/Z plane.

Function Documentation

◆ Grid3DPageStrategyData()

Ogre::Grid3DPageStrategyData::Grid3DPageStrategyData ( )

◆ ~Grid3DPageStrategyData()

Ogre::Grid3DPageStrategyData::~Grid3DPageStrategyData ( )

◆ setOrigin()

virtual void Ogre::Grid3DPageStrategyData::setOrigin ( const Vector3 worldOrigin)
virtual

Set the origin of the grid in world space.

◆ getOrigin()

virtual const Vector3& Ogre::Grid3DPageStrategyData::getOrigin ( const Vector3 worldOrigin)
inlinevirtual

Get the origin of the grid in world space.

◆ setCellSize()

virtual void Ogre::Grid3DPageStrategyData::setCellSize ( const Vector3 sz)
virtual

Set the size of the cells in the grid.

◆ getCellSize()

virtual Vector3 Ogre::Grid3DPageStrategyData::getCellSize ( ) const
inlinevirtual

Get the size of the cells in the grid.

◆ setLoadRadius()

virtual void Ogre::Grid3DPageStrategyData::setLoadRadius ( Real  sz)
virtual

Set the loading radius.

◆ getLoadRadius()

virtual Real Ogre::Grid3DPageStrategyData::getLoadRadius ( ) const
inlinevirtual

Get the loading radius.

◆ setHoldRadius()

virtual void Ogre::Grid3DPageStrategyData::setHoldRadius ( Real  sz)
virtual

Set the Holding radius.

◆ getHoldRadius()

virtual Real Ogre::Grid3DPageStrategyData::getHoldRadius ( ) const
inlinevirtual

Get the Holding radius.

◆ setCellRange()

virtual void Ogre::Grid3DPageStrategyData::setCellRange ( int32  minX,
int32  minY,
int32  minZ,
int32  maxX,
int32  maxY,
int32  maxZ 
)
virtual

Set the index range of all cells (values outside this will be ignored)

◆ setCellRangeMinX()

virtual void Ogre::Grid3DPageStrategyData::setCellRangeMinX ( int32  minX)
virtual

Set the index range of all cells (values outside this will be ignored)

◆ setCellRangeMinY()

virtual void Ogre::Grid3DPageStrategyData::setCellRangeMinY ( int32  minY)
virtual

Set the index range of all cells (values outside this will be ignored)

◆ setCellRangeMinZ()

virtual void Ogre::Grid3DPageStrategyData::setCellRangeMinZ ( int32  minZ)
virtual

Set the index range of all cells (values outside this will be ignored)

◆ setCellRangeMaxX()

virtual void Ogre::Grid3DPageStrategyData::setCellRangeMaxX ( int32  maxX)
virtual

Set the index range of all cells (values outside this will be ignored)

◆ setCellRangeMaxY()

virtual void Ogre::Grid3DPageStrategyData::setCellRangeMaxY ( int32  maxY)
virtual

Set the index range of all cells (values outside this will be ignored)

◆ setCellRangeMaxZ()

virtual void Ogre::Grid3DPageStrategyData::setCellRangeMaxZ ( int32  maxZ)
virtual

get the index range of all cells (values outside this will be ignored)

◆ getCellRangeMinX()

virtual int32 Ogre::Grid3DPageStrategyData::getCellRangeMinX ( ) const
inlinevirtual

get the index range of all cells (values outside this will be ignored)

◆ getCellRangeMinY()

virtual int32 Ogre::Grid3DPageStrategyData::getCellRangeMinY ( ) const
inlinevirtual

get the index range of all cells (values outside this will be ignored)

◆ getCellRangeMinZ()

virtual int32 Ogre::Grid3DPageStrategyData::getCellRangeMinZ ( ) const
inlinevirtual

get the index range of all cells (values outside this will be ignored)

◆ getCellRangeMaxX()

virtual int32 Ogre::Grid3DPageStrategyData::getCellRangeMaxX ( ) const
inlinevirtual

get the index range of all cells (values outside this will be ignored)

◆ getCellRangeMaxY()

virtual int32 Ogre::Grid3DPageStrategyData::getCellRangeMaxY ( ) const
inlinevirtual

get the index range of all cells (values outside this will be ignored)

◆ getCellRangeMaxZ()

virtual int32 Ogre::Grid3DPageStrategyData::getCellRangeMaxZ ( ) const
inlinevirtual

get the index range of all cells (values outside this will be ignored)

◆ load() [1/3]

bool Ogre::Grid3DPageStrategyData::load ( StreamSerialiser stream)
overridevirtual

Load this data from a stream (returns true if successful)

Implements Ogre::PageStrategyData.

◆ save() [1/3]

void Ogre::Grid3DPageStrategyData::save ( StreamSerialiser stream)
overridevirtual

Save this data to a stream.

Implements Ogre::PageStrategyData.

◆ getMidPointGridSpace()

virtual void Ogre::Grid3DPageStrategyData::getMidPointGridSpace ( int32  x,
int32  y,
int32  z,
Vector3 mid 
)
virtual

◆ getBottomLeftGridSpace()

virtual void Ogre::Grid3DPageStrategyData::getBottomLeftGridSpace ( int32  x,
int32  y,
int  z,
Vector3 bl 
)
virtual

Get the (grid space) bottom-left of a cell.

◆ getCornersGridSpace()

virtual void Ogre::Grid3DPageStrategyData::getCornersGridSpace ( int32  x,
int32  y,
int32  z,
Vector3 pEightPoints 
)
virtual

Get the (grid space) corners of a cell.

Remarks
Populates pEightPoints in anticlockwise order from the bottom left point.

◆ determineGridLocation()

void Ogre::Grid3DPageStrategyData::determineGridLocation ( const Vector3 gridpos,
int32 x,
int32 y,
int32 z 
)

Convert a grid position into a row and column index.

◆ calculatePageID()

PageID Ogre::Grid3DPageStrategyData::calculatePageID ( int32  x,
int32  y,
int32  z 
)

◆ calculateCell()

void Ogre::Grid3DPageStrategyData::calculateCell ( PageID  inPageID,
int32 x,
int32 y,
int32 z 
)

◆ Grid3DPageStrategy()

Ogre::Grid3DPageStrategy::Grid3DPageStrategy ( PageManager manager)

◆ ~Grid3DPageStrategy()

Ogre::Grid3DPageStrategy::~Grid3DPageStrategy ( )

◆ notifyCamera() [1/3]

void Ogre::Grid3DPageStrategy::notifyCamera ( Camera cam,
PagedWorldSection section 
)
overridevirtual

Called when a camera is used for any kind of rendering.

Remarks
This is probably the primary way in which the strategy will request new pages.
Parameters
camCamera which is being used for rendering. Class should not rely on this pointer remaining valid permanently because no notification will be given when the camera is destroyed.
section

Reimplemented from Ogre::PageStrategy.

◆ createData() [1/2]

PageStrategyData* Ogre::Grid3DPageStrategy::createData ( )
overridevirtual

Create a PageStrategyData instance containing the data specific to this PageStrategy.

This data will be held by a given PagedWorldSection and the structure of the data will be specific to the PageStrategy subclass.

Implements Ogre::PageStrategy.

◆ destroyData() [1/2]

void Ogre::Grid3DPageStrategy::destroyData ( PageStrategyData d)
overridevirtual

Destroy a PageStrategyData instance containing the data specific to this PageStrategy.

This data will be held by a given PagedWorldSection and the structure of the data will be specific to the PageStrategy subclass.

Implements Ogre::PageStrategy.

◆ updateDebugDisplay() [1/2]

void Ogre::Grid3DPageStrategy::updateDebugDisplay ( Page p,
SceneNode sn 
)
overridevirtual

Update the contents of the passed in SceneNode to reflect the debug display of a given page.

Remarks
The PageStrategy is to have complete control of the contents of this SceneNode, it must not be altered / added to by others.

Implements Ogre::PageStrategy.

◆ getPageID() [1/2]

PageID Ogre::Grid3DPageStrategy::getPageID ( const Vector3 worldPos,
PagedWorldSection section 
)
overridevirtual

Get the page ID for a given world position.

Returns
The page ID

Implements Ogre::PageStrategy.

◆ PageStrategyData()

Ogre::PageStrategyData::PageStrategyData ( )
inline

◆ ~PageStrategyData()

virtual Ogre::PageStrategyData::~PageStrategyData ( )
inlinevirtual

◆ load() [2/3]

virtual bool Ogre::PageStrategyData::load ( StreamSerialiser stream)
pure virtual

Load this data from a stream (returns true if successful)

Implemented in Ogre::Grid3DPageStrategyData, and Ogre::Grid2DPageStrategyData.

◆ save() [2/3]

virtual void Ogre::PageStrategyData::save ( StreamSerialiser stream)
pure virtual

Save this data to a stream.

Implemented in Ogre::Grid3DPageStrategyData, and Ogre::Grid2DPageStrategyData.

◆ PageStrategy()

Ogre::PageStrategy::PageStrategy ( const String name,
PageManager manager 
)
inline

◆ ~PageStrategy()

virtual Ogre::PageStrategy::~PageStrategy ( )
inlinevirtual

◆ getName() [1/2]

const String& Ogre::PageStrategy::getName ( void  ) const
inline

◆ getManager()

PageManager* Ogre::PageStrategy::getManager ( ) const
inline

◆ frameStart() [1/2]

virtual void Ogre::PageStrategy::frameStart ( Real  timeSinceLastFrame,
PagedWorldSection section 
)
inlinevirtual

Called when the frame starts.

◆ frameEnd() [1/2]

virtual void Ogre::PageStrategy::frameEnd ( Real  timeElapsed,
PagedWorldSection section 
)
inlinevirtual

Called when the frame ends.

◆ notifyCamera() [2/3]

virtual void Ogre::PageStrategy::notifyCamera ( Camera cam,
PagedWorldSection section 
)
inlinevirtual

Called when a camera is used for any kind of rendering.

Remarks
This is probably the primary way in which the strategy will request new pages.
Parameters
camCamera which is being used for rendering. Class should not rely on this pointer remaining valid permanently because no notification will be given when the camera is destroyed.
section

Reimplemented in Ogre::Grid3DPageStrategy, and Ogre::Grid2DPageStrategy.

◆ createData() [2/2]

virtual PageStrategyData* Ogre::PageStrategy::createData ( )
pure virtual

Create a PageStrategyData instance containing the data specific to this PageStrategy.

This data will be held by a given PagedWorldSection and the structure of the data will be specific to the PageStrategy subclass.

Implemented in Ogre::Grid3DPageStrategy, and Ogre::Grid2DPageStrategy.

◆ destroyData() [2/2]

virtual void Ogre::PageStrategy::destroyData ( PageStrategyData d)
pure virtual

Destroy a PageStrategyData instance containing the data specific to this PageStrategy.

This data will be held by a given PagedWorldSection and the structure of the data will be specific to the PageStrategy subclass.

Implemented in Ogre::Grid3DPageStrategy, and Ogre::Grid2DPageStrategy.

◆ updateDebugDisplay() [2/2]

virtual void Ogre::PageStrategy::updateDebugDisplay ( Page p,
SceneNode sn 
)
pure virtual

Update the contents of the passed in SceneNode to reflect the debug display of a given page.

Remarks
The PageStrategy is to have complete control of the contents of this SceneNode, it must not be altered / added to by others.

Implemented in Ogre::Grid3DPageStrategy, and Ogre::Grid2DPageStrategy.

◆ getPageID() [2/2]

virtual PageID Ogre::PageStrategy::getPageID ( const Vector3 worldPos,
PagedWorldSection section 
)
pure virtual

Get the page ID for a given world position.

Returns
The page ID

Implemented in Ogre::Grid3DPageStrategy, and Ogre::Grid2DPageStrategy.

◆ SimplePageContentCollection()

Ogre::SimplePageContentCollection::SimplePageContentCollection ( PageContentCollectionFactory creator)

◆ ~SimplePageContentCollection()

Ogre::SimplePageContentCollection::~SimplePageContentCollection ( )

◆ createContent()

virtual PageContent* Ogre::SimplePageContentCollection::createContent ( const String typeName)
virtual

Create a new PageContent within this collection.

Parameters
typeNameThe name of the type of content (see PageManager::getContentFactories)

◆ destroyContent()

virtual void Ogre::SimplePageContentCollection::destroyContent ( PageContent coll)
virtual

Destroy a PageContent within this page.

This is equivalent to calling detachContent and PageManager::destroyContent.

◆ getContentList()

virtual const ContentList& Ogre::SimplePageContentCollection::getContentList ( ) const
inlinevirtual

Get const access to the list of content.

◆ save() [3/3]

void Ogre::SimplePageContentCollection::save ( StreamSerialiser stream)
overridevirtual

Save the collection to a stream.

Implements Ogre::PageContentCollection.

◆ frameStart() [2/2]

void Ogre::SimplePageContentCollection::frameStart ( Real  timeSinceLastFrame)
overridevirtual

Called when the frame starts.

Implements Ogre::PageContentCollection.

◆ frameEnd() [2/2]

void Ogre::SimplePageContentCollection::frameEnd ( Real  timeElapsed)
overridevirtual

Called when the frame ends.

Implements Ogre::PageContentCollection.

◆ notifyCamera() [3/3]

void Ogre::SimplePageContentCollection::notifyCamera ( Camera cam)
overridevirtual

Notify a section of the current camera.

Implements Ogre::PageContentCollection.

◆ prepare()

bool Ogre::SimplePageContentCollection::prepare ( StreamSerialiser ser)
overridevirtual

Prepare data - may be called in the background.

Implements Ogre::PageContentCollection.

◆ load() [3/3]

void Ogre::SimplePageContentCollection::load ( )
overridevirtual

Load - will be called in main thread.

Implements Ogre::PageContentCollection.

◆ unload()

void Ogre::SimplePageContentCollection::unload ( )
overridevirtual

Unload - will be called in main thread.

Implements Ogre::PageContentCollection.

◆ unprepare()

void Ogre::SimplePageContentCollection::unprepare ( )
overridevirtual

Unprepare data - may be called in the background.

Implements Ogre::PageContentCollection.

◆ SimplePageContentCollectionFactory()

Ogre::SimplePageContentCollectionFactory::SimplePageContentCollectionFactory ( )
inline

◆ ~SimplePageContentCollectionFactory()

Ogre::SimplePageContentCollectionFactory::~SimplePageContentCollectionFactory ( )
inline

◆ getName() [2/2]

const String& Ogre::SimplePageContentCollectionFactory::getName ( void  ) const
inlineoverridevirtual

◆ createInstance()

PageContentCollection* Ogre::SimplePageContentCollectionFactory::createInstance ( )
inlineoverridevirtual

◆ destroyInstance()

void Ogre::SimplePageContentCollectionFactory::destroyInstance ( PageContentCollection c)
inlineoverridevirtual

Variable Documentation

◆ CHUNK_ID

const uint32 Ogre::Grid3DPageStrategyData::CHUNK_ID
static

◆ CHUNK_VERSION

const uint16 Ogre::Grid3DPageStrategyData::CHUNK_VERSION
static

◆ SUBCLASS_CHUNK_ID

const uint32 Ogre::SimplePageContentCollection::SUBCLASS_CHUNK_ID
static

◆ SUBCLASS_CHUNK_VERSION

const uint16 Ogre::SimplePageContentCollection::SUBCLASS_CHUNK_VERSION
static

◆ FACTORY_NAME

String Ogre::SimplePageContentCollectionFactory::FACTORY_NAME
static