OGRE 14.3
Object-Oriented Graphics Rendering Engine
|
Specialisation of PageStrategyData for Grid2DPageStrategy. More...
#include <OgreGrid2DPageStrategy.h>
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. | |
virtual void | convertWorldToGridSpace (const Vector3 &world, Vector2 &grid) |
Convert a world point to grid space (not relative to origin) | |
void | determineGridLocation (const Vector2 &gridpos, int32 *x, int32 *y) |
Convert a grid position into a row and column index. | |
virtual void | getBottomLeftGridSpace (int32 x, int32 y, Vector2 &bl) |
Get the (grid space) bottom-left of a cell. | |
virtual int32 | getCellRangeMaxX () const |
get the index range of all cells (values outside this will be ignored) | |
virtual int32 | getCellRangeMaxY () const |
get the index range of all cells (values outside this will be ignored) | |
virtual int32 | getCellRangeMinX () const |
get the index range of all cells (values outside this will be ignored) | |
virtual int32 | getCellRangeMinY () const |
get the index range of all cells (values outside this will be ignored) | |
virtual Real | getCellSize () const |
Get the size of the cells in the grid. | |
virtual void | getCornersGridSpace (int32 x, int32 y, Vector2 *pFourPoints) |
Get the (grid space) corners of a cell. | |
virtual Real | getHoldRadius () const |
Get the Holding radius. | |
virtual Real | getHoldRadiusInCells () |
Get the Hold radius as a multiple of cells. | |
virtual Real | getLoadRadius () const |
Get the loading radius. | |
virtual Real | getLoadRadiusInCells () |
Get the load radius as a multiple of cells. | |
virtual void | getMidPointGridSpace (int32 x, int32 y, Vector2 &mid) |
Get the (grid space) mid point of a cell. | |
virtual Grid2DMode | getMode () const |
Set the grid alignment mode. | |
virtual const Vector3 & | getOrigin (const Vector3 &worldOrigin) |
Get the origin of the grid in world space. | |
bool | load (StreamSerialiser &stream) override |
Load this data from a stream (returns true if successful) | |
void | save (StreamSerialiser &stream) override |
Save this data to a stream. | |
virtual void | setCellRange (int32 minX, int32 minY, int32 maxX, int32 maxY) |
Set the index range of all cells (values outside this will be ignored) | |
virtual void | setCellRangeMaxX (int32 maxX) |
Set the index range of all cells (values outside this will be ignored) | |
virtual void | setCellRangeMaxY (int32 maxY) |
Set the index range of all cells (values outside this will be ignored) | |
virtual void | setCellRangeMinX (int32 minX) |
Set the index range of all cells (values outside this will be ignored) | |
virtual void | setCellRangeMinY (int32 minY) |
Set the index range of all cells (values outside this will be ignored) | |
virtual void | setCellSize (Real sz) |
Set the size of the cells in the grid. | |
virtual void | setHoldRadius (Real sz) |
Set the Holding radius. | |
virtual void | setLoadRadius (Real sz) |
Set the loading radius. | |
virtual void | setMode (Grid2DMode mode) |
Set the grid alignment mode. | |
virtual void | setOrigin (const Vector3 &worldOrigin) |
Set the origin of the grid in world space. | |
Public Member Functions inherited from Ogre::PageStrategyData | |
PageStrategyData () | |
virtual | ~PageStrategyData () |
Static Public Attributes | |
static const uint32 | CHUNK_ID |
static const uint16 | CHUNK_VERSION |
Specialisation of PageStrategyData for Grid2DPageStrategy.
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.
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) |
Ogre::Grid2DPageStrategyData::Grid2DPageStrategyData | ( | ) |
Ogre::Grid2DPageStrategyData::~Grid2DPageStrategyData | ( | ) |
|
virtual |
Set the grid alignment mode.
|
inlinevirtual |
Set the grid alignment mode.
Set the origin of the grid in world space.
|
inlinevirtual |
Get the origin of the grid in world space.
Set the size of the cells in the grid.
Get the size of the cells in the grid.
Get the loading radius.
Get the Holding radius.
Get the load radius as a multiple of cells.
Get the Hold radius as a multiple of cells.
|
virtual |
Set the index range of all cells (values outside this will be ignored)
Set the index range of all cells (values outside this will be ignored)
Set the index range of all cells (values outside this will be ignored)
Set the index range of all cells (values outside this will be ignored)
Set the index range of all cells (values outside this will be ignored)
get the index range of all cells (values outside this will be ignored)
get the index range of all cells (values outside this will be ignored)
get the index range of all cells (values outside this will be ignored)
get the index range of all cells (values outside this will be ignored)
|
overridevirtual |
Load this data from a stream (returns true if successful)
Implements Ogre::PageStrategyData.
|
overridevirtual |
Save this data to a stream.
Implements Ogre::PageStrategyData.
|
virtual |
Convert a world point to grid space (not relative to origin)
|
virtual |
Convert a grid point to world space - note only 2 axes populated.
|
virtual |
Get the (grid space) mid point of a cell.
|
virtual |
Get the (grid space) bottom-left of a cell.
|
virtual |
Get the (grid space) corners of a cell.
Populates pFourPoints in anticlockwise order from the bottom left point.
void Ogre::Grid2DPageStrategyData::determineGridLocation | ( | const Vector2 & | gridpos, |
int32 * | x, | ||
int32 * | y | ||
) |
Convert a grid position into a row and column index.