TrinityCore
Loading...
Searching...
No Matches
GridMap Class Reference

#include <GridMap.h>

Public Types

enum class  LoadResult { Ok , FileDoesNotExist , InvalidFile }
 

Public Member Functions

 GridMap ()
 
 ~GridMap ()
 
LoadResult loadData (char const *filename)
 
void unloadData ()
 
uint16 getArea (float x, float y) const
 
float getHeight (float x, float y) const
 
float getMinHeight (float x, float y) const
 
float getLiquidLevel (float x, float y) const
 
ZLiquidStatus GetLiquidStatus (float x, float y, float z, Optional< map_liquidHeaderTypeFlags > ReqLiquidType, LiquidData *data=nullptr, float collisionHeight=2.03128f) const
 

Private Types

typedef float(GridMap::* GetHeightPtr) (float x, float y) const
 

Private Member Functions

bool loadAreaData (FILE *in, uint32 offset, uint32 size)
 
bool loadHeightData (FILE *in, uint32 offset, uint32 size)
 
bool loadLiquidData (FILE *in, uint32 offset, uint32 size)
 
bool loadHolesData (FILE *in, uint32 offset, uint32 size)
 
bool isHole (int row, int col) const
 
float getHeightFromFloat (float x, float y) const
 
float getHeightFromUint16 (float x, float y) const
 
float getHeightFromUint8 (float x, float y) const
 
float getHeightFromFlat (float x, float y) const
 

Private Attributes

uint32 _flags
 
union { 
 
   float *   m_V9 
 
   uint16 *   m_uint16_V9 
 
   uint8 *   m_uint8_V9 
 
};  
 
union { 
 
   float *   m_V8 
 
   uint16 *   m_uint16_V8 
 
   uint8 *   m_uint8_V8 
 
};  
 
G3D::Plane * _minHeightPlanes
 
float _gridHeight
 
float _gridIntHeightMultiplier
 
uint16 * _areaMap
 
float _liquidLevel
 
uint16 * _liquidEntry
 
map_liquidHeaderTypeFlags * _liquidFlags
 
float * _liquidMap
 
uint16 _gridArea
 
uint16 _liquidGlobalEntry
 
map_liquidHeaderTypeFlags _liquidGlobalFlags
 
uint8 _liquidOffX
 
uint8 _liquidOffY
 
uint8 _liquidWidth
 
uint8 _liquidHeight
 
uint8 * _holes
 
GetHeightPtr _gridGetHeight
 

Detailed Description

Definition at line 30 of file GridMap.h.

Member Typedef Documentation

◆ GetHeightPtr

typedef float(GridMap::* GridMap::GetHeightPtr) (float x, float y) const
private

Definition at line 75 of file GridMap.h.

Member Enumeration Documentation

◆ LoadResult

enum class GridMap::LoadResult
strong
Enumerator
Ok 
FileDoesNotExist 
InvalidFile 

Definition at line 86 of file GridMap.h.

Constructor & Destructor Documentation

◆ GridMap()

◆ ~GridMap()

GridMap::~GridMap ( )

Definition at line 55 of file GridMap.cpp.

References unloadData().

Member Function Documentation

◆ getArea()

uint16 GridMap::getArea ( float  x,
float  y 
) const

◆ getHeight()

float GridMap::getHeight ( float  x,
float  y 
) const
inline

Definition at line 97 of file GridMap.h.

Referenced by TerrainInfo::GetFullTerrainStatusForPosition(), and GetLiquidStatus().

◆ getHeightFromFlat()

float GridMap::getHeightFromFlat ( float  x,
float  y 
) const
private

Definition at line 304 of file GridMap.cpp.

References _gridHeight.

Referenced by GridMap(), loadHeightData(), and unloadData().

◆ getHeightFromFloat()

float GridMap::getHeightFromFloat ( float  x,
float  y 
) const
private

Definition at line 309 of file GridMap.cpp.

References _gridHeight, CENTER_GRID_ID, INVALID_HEIGHT, isHole(), m_V8, m_V9, MAP_RESOLUTION, and SIZE_OF_GRIDS.

Referenced by loadHeightData().

◆ getHeightFromUint16()

float GridMap::getHeightFromUint16 ( float  x,
float  y 
) const
private

◆ getHeightFromUint8()

float GridMap::getHeightFromUint8 ( float  x,
float  y 
) const
private

◆ getLiquidLevel()

float GridMap::getLiquidLevel ( float  x,
float  y 
) const

◆ GetLiquidStatus()

◆ getMinHeight()

float GridMap::getMinHeight ( float  x,
float  y 
) const

◆ isHole()

bool GridMap::isHole ( int  row,
int  col 
) const
private

Definition at line 534 of file GridMap.cpp.

References _holes.

Referenced by getHeightFromFloat(), getHeightFromUint16(), and getHeightFromUint8().

◆ loadAreaData()

bool GridMap::loadAreaData ( FILE *  in,
uint32  offset,
uint32  size 
)
private

◆ loadData()

◆ loadHeightData()

◆ loadHolesData()

bool GridMap::loadHolesData ( FILE *  in,
uint32  offset,
uint32  size 
)
private

Definition at line 280 of file GridMap.cpp.

References _holes.

Referenced by loadData().

◆ loadLiquidData()

◆ unloadData()

void GridMap::unloadData ( )

Member Data Documentation

◆ [union]

union { ... } GridMap

◆ [union]

union { ... } GridMap

◆ _areaMap

uint16* GridMap::_areaMap
private

Definition at line 51 of file GridMap.h.

Referenced by getArea(), GridMap(), loadAreaData(), and unloadData().

◆ _flags

uint32 GridMap::_flags
private

Definition at line 32 of file GridMap.h.

Referenced by GridMap().

◆ _gridArea

uint16 GridMap::_gridArea
private

Definition at line 58 of file GridMap.h.

Referenced by getArea(), GridMap(), and loadAreaData().

◆ _gridGetHeight

GetHeightPtr GridMap::_gridGetHeight
private

Definition at line 76 of file GridMap.h.

Referenced by GridMap(), loadHeightData(), and unloadData().

◆ _gridHeight

float GridMap::_gridHeight
private

◆ _gridIntHeightMultiplier

float GridMap::_gridIntHeightMultiplier
private

Definition at line 48 of file GridMap.h.

Referenced by getHeightFromUint16(), getHeightFromUint8(), GridMap(), and loadHeightData().

◆ _holes

uint8* GridMap::_holes
private

Definition at line 66 of file GridMap.h.

Referenced by GridMap(), isHole(), loadHolesData(), and unloadData().

◆ _liquidEntry

uint16* GridMap::_liquidEntry
private

Definition at line 55 of file GridMap.h.

Referenced by GetLiquidStatus(), GridMap(), loadLiquidData(), and unloadData().

◆ _liquidFlags

map_liquidHeaderTypeFlags* GridMap::_liquidFlags
private

Definition at line 56 of file GridMap.h.

Referenced by GetLiquidStatus(), GridMap(), loadLiquidData(), and unloadData().

◆ _liquidGlobalEntry

uint16 GridMap::_liquidGlobalEntry
private

Definition at line 59 of file GridMap.h.

Referenced by GetLiquidStatus(), GridMap(), and loadLiquidData().

◆ _liquidGlobalFlags

map_liquidHeaderTypeFlags GridMap::_liquidGlobalFlags
private

Definition at line 60 of file GridMap.h.

Referenced by GetLiquidStatus(), GridMap(), and loadLiquidData().

◆ _liquidHeight

uint8 GridMap::_liquidHeight
private

Definition at line 64 of file GridMap.h.

Referenced by getLiquidLevel(), GetLiquidStatus(), GridMap(), and loadLiquidData().

◆ _liquidLevel

float GridMap::_liquidLevel
private

Definition at line 54 of file GridMap.h.

Referenced by getLiquidLevel(), GetLiquidStatus(), GridMap(), and loadLiquidData().

◆ _liquidMap

float* GridMap::_liquidMap
private

Definition at line 57 of file GridMap.h.

Referenced by getLiquidLevel(), GetLiquidStatus(), GridMap(), loadLiquidData(), and unloadData().

◆ _liquidOffX

uint8 GridMap::_liquidOffX
private

Definition at line 61 of file GridMap.h.

Referenced by getLiquidLevel(), GetLiquidStatus(), GridMap(), and loadLiquidData().

◆ _liquidOffY

uint8 GridMap::_liquidOffY
private

Definition at line 62 of file GridMap.h.

Referenced by getLiquidLevel(), GetLiquidStatus(), GridMap(), and loadLiquidData().

◆ _liquidWidth

uint8 GridMap::_liquidWidth
private

Definition at line 63 of file GridMap.h.

Referenced by getLiquidLevel(), GetLiquidStatus(), GridMap(), and loadLiquidData().

◆ _minHeightPlanes

G3D::Plane* GridMap::_minHeightPlanes
private

Definition at line 45 of file GridMap.h.

Referenced by getMinHeight(), GridMap(), loadHeightData(), and unloadData().

◆ m_uint16_V8

uint16* GridMap::m_uint16_V8

Definition at line 42 of file GridMap.h.

Referenced by getHeightFromUint16(), and loadHeightData().

◆ m_uint16_V9

uint16* GridMap::m_uint16_V9

Definition at line 36 of file GridMap.h.

Referenced by getHeightFromUint16(), and loadHeightData().

◆ m_uint8_V8

uint8* GridMap::m_uint8_V8

Definition at line 43 of file GridMap.h.

Referenced by getHeightFromUint8(), and loadHeightData().

◆ m_uint8_V9

uint8* GridMap::m_uint8_V9

Definition at line 37 of file GridMap.h.

Referenced by getHeightFromUint8(), and loadHeightData().

◆ m_V8

float* GridMap::m_V8

Definition at line 41 of file GridMap.h.

Referenced by getHeightFromFloat(), GridMap(), loadHeightData(), and unloadData().

◆ m_V9

float* GridMap::m_V9

Definition at line 35 of file GridMap.h.

Referenced by getHeightFromFloat(), GridMap(), loadHeightData(), and unloadData().


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