OGRE-Next  3.0.0
Object-Oriented Graphics Rendering Engine
Ogre::PageProvider Class Reference

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

#include <OgrePageManager.h>

Public Member Functions

 PageProvider ()
 
virtual ~PageProvider ()
 
virtual bool loadProceduralPage (Page *page, PagedWorldSection *section)
 Give a provider the opportunity to load page content procedurally. More...
 
virtual bool prepareProceduralPage (Page *page, PagedWorldSection *section)
 Give a provider the opportunity to prepare page content procedurally. More...
 
virtual StreamSerialiserreadPageStream (PageID pageID, PagedWorldSection *section)
 Get a serialiser set up to read Page data for the given PageID, or null if this provider cannot supply one. More...
 
virtual StreamSerialiserreadWorldStream (const String &filename)
 Get a serialiser set up to read PagedWorld data for the given world filename. More...
 
virtual bool unloadProceduralPage (Page *page, PagedWorldSection *section)
 Give a provider the opportunity to unload page content procedurally. More...
 
virtual bool unprepareProceduralPage (Page *page, PagedWorldSection *section)
 Give a provider the opportunity to unprepare page content procedurally. More...
 
virtual StreamSerialiserwritePageStream (PageID pageID, PagedWorldSection *section)
 Get a serialiser set up to write Page data for the given PageID, or null if this provider cannot supply one. More...
 
virtual StreamSerialiserwriteWorldStream (const String &filename)
 Get a serialiser set up to write PagedWorld data for the given world filename. More...
 

Detailed Description

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.

Note
All of the methods in this class can be called in a background, non-render thread.

Constructor & Destructor Documentation

◆ PageProvider()

Ogre::PageProvider::PageProvider ( )
inline

◆ ~PageProvider()

virtual Ogre::PageProvider::~PageProvider ( )
inlinevirtual

Member Function Documentation

◆ loadProceduralPage()

virtual bool Ogre::PageProvider::loadProceduralPage ( Page page,
PagedWorldSection section 
)
inlinevirtual

Give a provider the opportunity to load page content procedurally.

Remarks
This call will happen in the main render thread so it can access GPU resources. Use prepareProceduralPage for background preparation.
Returns
true if the page was populated, false otherwise

◆ prepareProceduralPage()

virtual bool Ogre::PageProvider::prepareProceduralPage ( Page page,
PagedWorldSection section 
)
inlinevirtual

Give a provider the opportunity to prepare page content procedurally.

Remarks
This call may well happen in a separate thread so it should not access GPU resources, use loadProceduralPage for that
Returns
true if the page was populated, false otherwise

◆ readPageStream()

virtual StreamSerialiser* Ogre::PageProvider::readPageStream ( PageID  pageID,
PagedWorldSection section 
)
inlinevirtual

Get a serialiser set up to read Page data for the given PageID, or null if this provider cannot supply one.

Remarks
The StreamSerialiser returned is the responsibility of the caller to delete.
Parameters
pageIDThe ID of the page being requested
sectionThe parent section to which this page will belong

◆ readWorldStream()

virtual StreamSerialiser* Ogre::PageProvider::readWorldStream ( const String filename)
inlinevirtual

Get a serialiser set up to read PagedWorld data for the given world filename.

Remarks
The StreamSerialiser returned is the responsibility of the caller to delete.

◆ unloadProceduralPage()

virtual bool Ogre::PageProvider::unloadProceduralPage ( Page page,
PagedWorldSection section 
)
inlinevirtual

Give a provider the opportunity to unload page content procedurally.

Remarks
You should not call this method directly. This call will happen in the main render thread so it can access GPU resources. Use _unprepareProceduralPage for background preparation.
Returns
true if the page was populated, false otherwise

◆ unprepareProceduralPage()

virtual bool Ogre::PageProvider::unprepareProceduralPage ( Page page,
PagedWorldSection section 
)
inlinevirtual

Give a provider the opportunity to unprepare page content procedurally.

Remarks
You should not call this method directly. This call may well happen in a separate thread so it should not access GPU resources, use _unloadProceduralPage for that
Returns
true if the page was unpopulated, false otherwise

◆ writePageStream()

virtual StreamSerialiser* Ogre::PageProvider::writePageStream ( PageID  pageID,
PagedWorldSection section 
)
inlinevirtual

Get a serialiser set up to write Page data for the given PageID, or null if this provider cannot supply one.

Remarks
The StreamSerialiser returned is the responsibility of the caller to delete.
Parameters
pageIDThe ID of the page being requested
sectionThe parent section to which this page will belong

◆ writeWorldStream()

virtual StreamSerialiser* Ogre::PageProvider::writeWorldStream ( const String filename)
inlinevirtual

Get a serialiser set up to write PagedWorld data for the given world filename.

Remarks
The StreamSerialiser returned is the responsibility of the caller to delete.

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