Ogre::Grid2DPageStrategyData Class Reference
Components » Paging

Specialisation of PageStrategyData for Grid2DPageStrategy. More...

`#include <OgreGrid2DPageStrategy.h>`

Inheritance diagram for Ogre::Grid2DPageStrategyData:
[legend]

## Public Member Functions

| Grid2DPageStrategyData ()
| ~Grid2DPageStrategyData ()
void | calculateCell (PageID inPageID, int32 *x, int32 *y)
PageID | calculatePageID (int32 x, int32 y)
virtual void | convertGridToWorldSpace (const Vector2 &grid, Vector3 &world)
| Convert a grid point to world space - note only 2 axes populated. More...
virtual void | convertWorldToGridSpace (const Vector3 &world, Vector2 &grid)
| Convert a world point to grid space (not relative to origin) More...
void | determineGridLocation (const Vector2 &gridpos, int32 *x, int32 *y)
| Convert a grid position into a row and column index. More...
virtual void | getBottomLeftGridSpace (int32 x, int32 y, Vector2 &bl)
| Get the (grid space) bottom-left of a cell. More...
virtual int32 | getCellRangeMaxX () const
| get the index range of all cells (values outside this will be ignored) More...
virtual int32 | getCellRangeMaxY () const
| get the index range of all cells (values outside this will be ignored) More...
virtual int32 | getCellRangeMinX () const
| get the index range of all cells (values outside this will be ignored) More...
virtual int32 | getCellRangeMinY () const
| get the index range of all cells (values outside this will be ignored) More...
virtual Real | getCellSize () const
| Get the size of the cells in the grid. More...
virtual void | getCornersGridSpace (int32 x, int32 y, Vector2 *pFourPoints)
| Get the (grid space) corners of a cell. More...
virtual Real | getHoldRadius () const
| Get the Holding radius. More...
virtual Real | getHoldRadiusInCells ()
| Get the Hold radius as a multiple of cells. More...
virtual Real | getLoadRadius () const
| Get the loading radius. More...
virtual Real | getLoadRadiusInCells ()
| Get the load radius as a multiple of cells. More...
virtual void | getMidPointGridSpace (int32 x, int32 y, Vector2 &mid)
| Get the (grid space) mid point of a cell. More...
virtual Grid2DMode | getMode () const
| Set the grid alignment mode. More...
virtual const Vector3 & | getOrigin (const Vector3 &worldOrigin)
| Get the origin of the grid in world space. More...
bool | load (StreamSerialiser &stream)
| Load this data from a stream (returns true if successful) 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)
void | save (StreamSerialiser &stream)
| Save this data to a stream. More...
virtual void | setCellRange (int32 minX, int32 minY, int32 maxX, int32 maxY)
| Set the index range of all cells (values outside this will be ignored) More...
virtual void | setCellRangeMaxX (int32 maxX)
| Set the index range of all cells (values outside this will be ignored) More...
virtual void | setCellRangeMaxY (int32 maxY)
| Set the index range of all cells (values outside this will be ignored) More...
virtual void | setCellRangeMinX (int32 minX)
| Set the index range of all cells (values outside this will be ignored) More...
virtual void | setCellRangeMinY (int32 minY)
| Set the index range of all cells (values outside this will be ignored) More...
virtual void | setCellSize (Real sz)
| Set the size of the cells in the grid. More...
virtual void | setHoldRadius (Real sz)
| Set the Holding radius. More...
virtual void | setLoadRadius (Real sz)
| Set the loading radius. More...
virtual void | setMode (Grid2DMode mode)
| Set the grid alignment mode. More...
virtual void | setOrigin (const Vector3 &worldOrigin)
| Set the origin of the grid in world space. More...

## Static Public Attributes

static const uint32 | CHUNK_ID
static const uint16 | CHUNK_VERSION

## Protected Member Functions

void | updateDerivedMetrics ()

## Protected Attributes

Real | mCellSize
| Grid cell (page) size. More...
Real | mHoldRadius
| Hold radius. More...
Real | mHoldRadiusInCells
Real | mLoadRadius
| Load radius. More...
Real | mLoadRadiusInCells
int32 | mMaxCellX
int32 | mMaxCellY
int32 | mMinCellX
int32 | mMinCellY
Grid2DMode | mMode
| Orientation of the grid. More...
Vector2 | mOrigin
| Origin (grid-aligned world space) More...
Vector3 | mWorldOrigin
| Origin (world space) More...

## Detailed Description

Specialisation of PageStrategyData for Grid2DPageStrategy.

Remarks
  Structurally this data defines with a grid of pages, with the logical origin in the middle of the entire grid. The grid cells are indexed from 0 as a 'centre' slot, supporting both positive and negative values. so (0,0) is the centre cell, (1,0) is the cell to the right of the centre, (1,0) is the cell above the centre, (-2,1) is the cell two to the left of the centre and one up, etc. The maximum extent of each axis is -32768 to +32767, so in other words enough for over 4 billion entries.

  To limit the page load requests that are generated to a fixed region, you can set the min and max cell indexes (inclusive)for each direction; if a page request would address a cell outside this range it is ignored so you don't have the expense of checking for page data that will never exist.

  The data format for this in a file is:
  Grid2DPageStrategyData (Identifier 'G2DD')
  [Version 1]

  Name | Type | Description
  Grid orientation | uint8 | The orientation of the grid; XZ = 0, XY = 1, YZ = 2
  Grid origin | Vector3 | World origin of the grid.
  Grid cell size | Real | The size of each cell (page) in the grid
  Grid cell range (minx, maxx, miny, maxy) | int16 * 4 | The extents of the world in cell indexes
  Load radius | Real | The outer radius at which new pages should start loading
  Hold radius | Real | The radius at which existing pages should be held if already loaded but not actively loaded (should be larger than Load radius)

See also
  Grid3DPageStrategyData

Definition at line 120 of file OgreGrid2DPageStrategy.h.

## Constructor & Destructor Documentation

## Grid2DPageStrategyData()

Ogre::Grid2DPageStrategyData::Grid2DPageStrategyData | ( |  | ) |

## ~Grid2DPageStrategyData()

Ogre::Grid2DPageStrategyData::~Grid2DPageStrategyData | ( |  | ) |

## Member Function Documentation

## calculateCell()

void Ogre::Grid2DPageStrategyData::calculateCell | ( | PageID | inPageID,
|  | int32 * | x,
|  | int32 * | y
| ) |  |

## calculatePageID()

PageID Ogre::Grid2DPageStrategyData::calculatePageID | ( | int32 | x,
|  | int32 | y
| ) |  |

## convertGridToWorldSpace()

virtual void Ogre::Grid2DPageStrategyData::convertGridToWorldSpace | ( | const Vector2 & | grid,
|  | Vector3 & | world
| ) |  |

virtual

Convert a grid point to world space - note only 2 axes populated.

## convertWorldToGridSpace()

virtual void Ogre::Grid2DPageStrategyData::convertWorldToGridSpace | ( | const Vector3 & | world,
|  | Vector2 & | grid
| ) |  |

virtual

Convert a world point to grid space (not relative to origin)

## determineGridLocation()

void Ogre::Grid2DPageStrategyData::determineGridLocation | ( | const Vector2 & | gridpos,
|  | int32 * | x,
|  | int32 * | y
| ) |  |

Convert a grid position into a row and column index.

## getBottomLeftGridSpace()

virtual void Ogre::Grid2DPageStrategyData::getBottomLeftGridSpace | ( | int32 | x,
|  | int32 | y,
|  | Vector2 & | bl
| ) |  |

virtual

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

## getCellRangeMaxX()

virtual int32 Ogre::Grid2DPageStrategyData::getCellRangeMaxX | ( |  | ) | const

virtual

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

Definition at line 193 of file OgreGrid2DPageStrategy.h.

## getCellRangeMaxY()

virtual int32 Ogre::Grid2DPageStrategyData::getCellRangeMaxY | ( |  | ) | const

virtual

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

Definition at line 195 of file OgreGrid2DPageStrategy.h.

## getCellRangeMinX()

virtual int32 Ogre::Grid2DPageStrategyData::getCellRangeMinX | ( |  | ) | const

virtual

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

Definition at line 189 of file OgreGrid2DPageStrategy.h.

## getCellRangeMinY()

virtual int32 Ogre::Grid2DPageStrategyData::getCellRangeMinY | ( |  | ) | const

virtual

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

Definition at line 191 of file OgreGrid2DPageStrategy.h.

## getCellSize()

virtual Real Ogre::Grid2DPageStrategyData::getCellSize | ( |  | ) | const

virtual

Get the size of the cells in the grid.

Definition at line 164 of file OgreGrid2DPageStrategy.h.

## getCornersGridSpace()

virtual void Ogre::Grid2DPageStrategyData::getCornersGridSpace | ( | int32 | x,
|  | int32 | y,
|  | Vector2 * | pFourPoints
| ) |  |

virtual

Get the (grid space) corners of a cell.

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

## getHoldRadius()

virtual Real Ogre::Grid2DPageStrategyData::getHoldRadius | ( |  | ) | const

virtual

Get the Holding radius.

Definition at line 172 of file OgreGrid2DPageStrategy.h.

## getHoldRadiusInCells()

virtual Real Ogre::Grid2DPageStrategyData::getHoldRadiusInCells | ( |  | ) |

virtual

Get the Hold radius as a multiple of cells.

Definition at line 176 of file OgreGrid2DPageStrategy.h.

## getLoadRadius()

virtual Real Ogre::Grid2DPageStrategyData::getLoadRadius | ( |  | ) | const

virtual

Get the loading radius.

Definition at line 168 of file OgreGrid2DPageStrategy.h.

## getLoadRadiusInCells()

virtual Real Ogre::Grid2DPageStrategyData::getLoadRadiusInCells | ( |  | ) |

virtual

Get the load radius as a multiple of cells.

Definition at line 174 of file OgreGrid2DPageStrategy.h.

## getMidPointGridSpace()

virtual void Ogre::Grid2DPageStrategyData::getMidPointGridSpace | ( | int32 | x,
|  | int32 | y,
|  | Vector2 & | mid
| ) |  |

virtual

Get the (grid space) mid point of a cell.

## getMode()

virtual Grid2DMode Ogre::Grid2DPageStrategyData::getMode | ( |  | ) | const

virtual

Set the grid alignment mode.

Definition at line 155 of file OgreGrid2DPageStrategy.h.

## getOrigin()

virtual const Vector3& Ogre::Grid2DPageStrategyData::getOrigin | ( | const Vector3 & | worldOrigin | ) |

virtual

Get the origin of the grid in world space.

Definition at line 160 of file OgreGrid2DPageStrategy.h.

## load()

bool Ogre::Grid2DPageStrategyData::load | ( | StreamSerialiser & | stream | ) |

virtual

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

Implements Ogre::PageStrategyData.

## operator delete() [1/3]

template<class Alloc >

void Ogre::AllocatedObject< Alloc >::operator delete | ( | void * | ptr | ) |

inherited

Definition at line 96 of file OgreMemoryAllocatedObject.h.

## operator delete() [2/3]

template<class Alloc >

void Ogre::AllocatedObject< Alloc >::operator delete | ( | void * | ptr,
|  | void * |
| ) |  |

inherited

Definition at line 102 of file OgreMemoryAllocatedObject.h.

## operator delete() [3/3]

template<class Alloc >

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

inherited

Definition at line 108 of file OgreMemoryAllocatedObject.h.

## operator delete[]() [1/2]

template<class Alloc >

void Ogre::AllocatedObject< Alloc >::operator delete[] | ( | void * | ptr | ) |

inherited

Definition at line 113 of file OgreMemoryAllocatedObject.h.

## operator delete[]() [2/2]

template<class Alloc >

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

inherited

Definition at line 119 of file OgreMemoryAllocatedObject.h.

## operator new() [1/3]

template<class Alloc >

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

inherited

operator new, with debug line info

Definition at line 68 of file OgreMemoryAllocatedObject.h.

## operator new() [2/3]

template<class Alloc >

void* Ogre::AllocatedObject< Alloc >::operator new | ( | size_t | sz | ) |

inherited

Definition at line 73 of file OgreMemoryAllocatedObject.h.

## operator new() [3/3]

template<class Alloc >

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

inherited

placement operator new

Definition at line 79 of file OgreMemoryAllocatedObject.h.

## operator new[]() [1/2]

template<class Alloc >

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

inherited

array operator new, with debug line info

Definition at line 86 of file OgreMemoryAllocatedObject.h.

## operator new[]() [2/2]

template<class Alloc >

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

inherited

Definition at line 91 of file OgreMemoryAllocatedObject.h.

## save()

void Ogre::Grid2DPageStrategyData::save | ( | StreamSerialiser & | stream | ) |

virtual

Save this data to a stream.

Implements Ogre::PageStrategyData.

## setCellRange()

virtual void Ogre::Grid2DPageStrategyData::setCellRange | ( | int32 | minX,
|  | int32 | minY,
|  | int32 | maxX,
|  | int32 | maxY
| ) |  |

virtual

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

## setCellRangeMaxX()

virtual void Ogre::Grid2DPageStrategyData::setCellRangeMaxX | ( | int32 | maxX | ) |

virtual

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

## setCellRangeMaxY()

virtual void Ogre::Grid2DPageStrategyData::setCellRangeMaxY | ( | int32 | maxY | ) |

virtual

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

## setCellRangeMinX()

virtual void Ogre::Grid2DPageStrategyData::setCellRangeMinX | ( | int32 | minX | ) |

virtual

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

## setCellRangeMinY()

virtual void Ogre::Grid2DPageStrategyData::setCellRangeMinY | ( | int32 | minY | ) |

virtual

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

## setCellSize()

virtual void Ogre::Grid2DPageStrategyData::setCellSize | ( | Real | sz | ) |

virtual

Set the size of the cells in the grid.

## setHoldRadius()

virtual void Ogre::Grid2DPageStrategyData::setHoldRadius | ( | Real | sz | ) |

virtual

Set the Holding radius.

## setLoadRadius()

virtual void Ogre::Grid2DPageStrategyData::setLoadRadius | ( | Real | sz | ) |

virtual

Set the loading radius.

## setMode()

virtual void Ogre::Grid2DPageStrategyData::setMode | ( | Grid2DMode | mode | ) |

virtual

Set the grid alignment mode.

## setOrigin()

virtual void Ogre::Grid2DPageStrategyData::setOrigin | ( | const Vector3 & | worldOrigin | ) |

virtual

Set the origin of the grid in world space.

## updateDerivedMetrics()

void Ogre::Grid2DPageStrategyData::updateDerivedMetrics | ( |  | ) |

protected

## Member Data Documentation

## CHUNK_ID

const uint32 Ogre::Grid2DPageStrategyData::CHUNK_ID

static

Definition at line 145 of file OgreGrid2DPageStrategy.h.

## CHUNK_VERSION

const uint16 Ogre::Grid2DPageStrategyData::CHUNK_VERSION

static

Definition at line 146 of file OgreGrid2DPageStrategy.h.

## mCellSize

Real Ogre::Grid2DPageStrategyData::mCellSize

protected

Grid cell (page) size.

Definition at line 130 of file OgreGrid2DPageStrategy.h.

## mHoldRadius

Real Ogre::Grid2DPageStrategyData::mHoldRadius

protected

Hold radius.

Definition at line 134 of file OgreGrid2DPageStrategy.h.

## mHoldRadiusInCells

Real Ogre::Grid2DPageStrategyData::mHoldRadiusInCells

protected

Definition at line 136 of file OgreGrid2DPageStrategy.h.

## mLoadRadius

Real Ogre::Grid2DPageStrategyData::mLoadRadius

protected

Load radius.

Definition at line 132 of file OgreGrid2DPageStrategy.h.

## mLoadRadiusInCells

Real Ogre::Grid2DPageStrategyData::mLoadRadiusInCells

protected

Definition at line 135 of file OgreGrid2DPageStrategy.h.

## mMaxCellX

int32 Ogre::Grid2DPageStrategyData::mMaxCellX

protected

Definition at line 139 of file OgreGrid2DPageStrategy.h.

## mMaxCellY

int32 Ogre::Grid2DPageStrategyData::mMaxCellY

protected

Definition at line 140 of file OgreGrid2DPageStrategy.h.

## mMinCellX

int32 Ogre::Grid2DPageStrategyData::mMinCellX

protected

Definition at line 137 of file OgreGrid2DPageStrategy.h.

## mMinCellY

int32 Ogre::Grid2DPageStrategyData::mMinCellY

protected

Definition at line 138 of file OgreGrid2DPageStrategy.h.

## mMode

Grid2DMode Ogre::Grid2DPageStrategyData::mMode

protected

Orientation of the grid.

Definition at line 124 of file OgreGrid2DPageStrategy.h.

## mOrigin

Vector2 Ogre::Grid2DPageStrategyData::mOrigin

protected

Origin (grid-aligned world space)

Definition at line 128 of file OgreGrid2DPageStrategy.h.

## mWorldOrigin

Vector3 Ogre::Grid2DPageStrategyData::mWorldOrigin

protected

Origin (world space)

Definition at line 126 of file OgreGrid2DPageStrategy.h.

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

- OgreGrid2DPageStrategy.h

Copyright © 2012 Torus Knot Software Ltd
This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License.