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

#include <Map.h>

Public Member Functions

 GridMap ()
 
 ~GridMap ()
 
bool 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< uint8 > ReqLiquidType, LiquidData *data=0, float collisionHeight=2.03128f)
 

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
 
uint8 * _liquidFlags
 
float * _liquidMap
 
uint16 _gridArea
 
uint16 _liquidGlobalEntry
 
uint8 _liquidGlobalFlags
 
uint8 _liquidOffX
 
uint8 _liquidOffY
 
uint8 _liquidWidth
 
uint8 _liquidHeight
 
uint16 * _holes
 
GetHeightPtr _gridGetHeight
 

Detailed Description

Definition at line 175 of file Map.h.

Member Typedef Documentation

◆ GetHeightPtr

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

Definition at line 218 of file Map.h.

Constructor & Destructor Documentation

◆ GridMap()

◆ ~GridMap()

GridMap::~GridMap ( )

Definition at line 1811 of file Map.cpp.

References unloadData().

Member Function Documentation

◆ getArea()

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

Definition at line 2048 of file Map.cpp.

References _areaMap, _gridArea, CENTER_GRID_ID, and SIZE_OF_GRIDS.

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

◆ getHeight()

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

Definition at line 232 of file Map.h.

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

◆ getHeightFromFlat()

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

Definition at line 2060 of file Map.cpp.

References _gridHeight.

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

◆ getHeightFromFloat()

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

Definition at line 2065 of file Map.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 2290 of file Map.cpp.

References _holes, holetab_h, and holetab_v.

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 2036 of file Map.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 194 of file Map.h.

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

◆ _flags

uint32 GridMap::_flags
private

Definition at line 177 of file Map.h.

Referenced by GridMap().

◆ _gridArea

uint16 GridMap::_gridArea
private

Definition at line 201 of file Map.h.

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

◆ _gridGetHeight

GetHeightPtr GridMap::_gridGetHeight
private

Definition at line 219 of file Map.h.

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

◆ _gridHeight

float GridMap::_gridHeight
private

◆ _gridIntHeightMultiplier

float GridMap::_gridIntHeightMultiplier
private

Definition at line 191 of file Map.h.

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

◆ _holes

uint16* GridMap::_holes
private

Definition at line 209 of file Map.h.

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

◆ _liquidEntry

uint16* GridMap::_liquidEntry
private

Definition at line 198 of file Map.h.

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

◆ _liquidFlags

uint8* GridMap::_liquidFlags
private

Definition at line 199 of file Map.h.

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

◆ _liquidGlobalEntry

uint16 GridMap::_liquidGlobalEntry
private

Definition at line 202 of file Map.h.

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

◆ _liquidGlobalFlags

uint8 GridMap::_liquidGlobalFlags
private

Definition at line 203 of file Map.h.

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

◆ _liquidHeight

uint8 GridMap::_liquidHeight
private

Definition at line 207 of file Map.h.

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

◆ _liquidLevel

float GridMap::_liquidLevel
private

Definition at line 197 of file Map.h.

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

◆ _liquidMap

float* GridMap::_liquidMap
private

Definition at line 200 of file Map.h.

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

◆ _liquidOffX

uint8 GridMap::_liquidOffX
private

Definition at line 204 of file Map.h.

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

◆ _liquidOffY

uint8 GridMap::_liquidOffY
private

Definition at line 205 of file Map.h.

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

◆ _liquidWidth

uint8 GridMap::_liquidWidth
private

Definition at line 206 of file Map.h.

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

◆ _minHeightPlanes

G3D::Plane* GridMap::_minHeightPlanes
private

Definition at line 188 of file Map.h.

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

◆ m_uint16_V8

uint16* GridMap::m_uint16_V8

Definition at line 185 of file Map.h.

Referenced by getHeightFromUint16(), and loadHeightData().

◆ m_uint16_V9

uint16* GridMap::m_uint16_V9

Definition at line 180 of file Map.h.

Referenced by getHeightFromUint16(), and loadHeightData().

◆ m_uint8_V8

uint8* GridMap::m_uint8_V8

Definition at line 186 of file Map.h.

Referenced by getHeightFromUint8(), and loadHeightData().

◆ m_uint8_V9

uint8* GridMap::m_uint8_V9

Definition at line 181 of file Map.h.

Referenced by getHeightFromUint8(), and loadHeightData().

◆ m_V8

float* GridMap::m_V8

Definition at line 184 of file Map.h.

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

◆ m_V9

float* GridMap::m_V9

Definition at line 179 of file Map.h.

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


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