| OGRE 1.11.1 Object-Oriented Graphics Rendering Engine

OgrePageFileFormats.h File Reference
Optional Components » Paging

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

`#include "OgrePagingPrerequisites.h"`

## Detailed Description

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