AzerothCore 3.3.5a
OpenSource WoW Emulator
|
#include "DynamicTree.h"
Public Member Functions | |
DynamicMapTree () | |
~DynamicMapTree () | |
bool | isInLineOfSight (float x1, float y1, float z1, float x2, float y2, float z2, uint32 phasemask, VMAP::ModelIgnoreFlags ignoreFlags) const |
bool | GetIntersectionTime (uint32 phasemask, const G3D::Ray &ray, const G3D::Vector3 &endPos, float &maxDist) const |
bool | GetAreaInfo (float x, float y, float &z, uint32 phasemask, uint32 &flags, int32 &adtId, int32 &rootId, int32 &groupId) const |
void | GetAreaAndLiquidData (float x, float y, float z, uint32 phasemask, uint8 reqLiquidType, VMAP::AreaAndLiquidData &data) const |
bool | GetObjectHitPos (uint32 phasemask, const G3D::Vector3 &pPos1, const G3D::Vector3 &pPos2, G3D::Vector3 &pResultHitPos, float pModifyDist) const |
float | getHeight (float x, float y, float z, float maxSearchDist, uint32 phasemask) const |
void | insert (const GameObjectModel &) |
void | remove (const GameObjectModel &) |
bool | contains (const GameObjectModel &) const |
int | size () const |
void | balance () |
void | update (uint32 diff) |
Private Attributes | |
DynTreeImpl * | impl |
DynamicMapTree::DynamicMapTree | ( | ) |
void DynamicMapTree::balance | ( | ) |
References DynTreeImpl::balance(), and impl.
Referenced by Map::Balance().
bool DynamicMapTree::contains | ( | const GameObjectModel & | mdl | ) | const |
References RegularGrid2D< T, Node, NodeCreatorFunc, PositionFunc >::contains(), and impl.
Referenced by Map::ContainsGameObjectModel().
void DynamicMapTree::GetAreaAndLiquidData | ( | float | x, |
float | y, | ||
float | z, | ||
uint32 | phasemask, | ||
uint8 | reqLiquidType, | ||
VMAP::AreaAndLiquidData & | data | ||
) | const |
References VMAP::AreaAndLiquidData::areaInfo, VMAP::VMapFactory::createOrGetVMapMgr(), VMAP::AreaAndLiquidData::floorZ, DynamicTreeLocationInfoCallback::GetHitModel(), GameObjectModel::GetLiquidLevel(), VMAP::GroupModel::GetLiquidType(), DynamicTreeLocationInfoCallback::GetLocationInfo(), VMAP::GroupModel::GetMogpFlags(), VMAP::GroupModel::GetWmoID(), VMAP::LocationInfo::ground_Z, VMAP::LocationInfo::hitModel, impl, RegularGrid2D< T, Node, NodeCreatorFunc, PositionFunc >::intersectPoint(), VMAP::AreaAndLiquidData::liquidInfo, and VMAP::LocationInfo::rootId.
bool DynamicMapTree::GetAreaInfo | ( | float | x, |
float | y, | ||
float & | z, | ||
uint32 | phasemask, | ||
uint32 & | flags, | ||
int32 & | adtId, | ||
int32 & | rootId, | ||
int32 & | groupId | ||
) | const |
References VMAP::AreaInfo::adtId, VMAP::AreaInfo::flags, DynamicTreeAreaInfoCallback::GetAreaInfo(), VMAP::AreaInfo::ground_Z, VMAP::AreaInfo::groupId, impl, RegularGrid2D< T, Node, NodeCreatorFunc, PositionFunc >::intersectPoint(), VMAP::AreaInfo::result, and VMAP::AreaInfo::rootId.
Referenced by Map::GetAreaInfo().
float DynamicMapTree::getHeight | ( | float | x, |
float | y, | ||
float | z, | ||
float | maxSearchDist, | ||
uint32 | phasemask | ||
) | const |
References DynamicTreeIntersectionCallback::didHit(), impl, RegularGrid2D< T, Node, NodeCreatorFunc, PositionFunc >::intersectZAllignedRay(), and VMAP::Nothing.
Referenced by BattlegroundRV::CheckPositionForUnit(), Map::GetGameObjectFloor(), and Map::GetHeight().
bool DynamicMapTree::GetIntersectionTime | ( | uint32 | phasemask, |
const G3D::Ray & | ray, | ||
const G3D::Vector3 & | endPos, | ||
float & | maxDist | ||
) | const |
References DynamicTreeIntersectionCallback::didHit(), impl, RegularGrid2D< T, Node, NodeCreatorFunc, PositionFunc >::intersectRay(), and VMAP::Nothing.
Referenced by GetObjectHitPos().
bool DynamicMapTree::GetObjectHitPos | ( | uint32 | phasemask, |
const G3D::Vector3 & | pPos1, | ||
const G3D::Vector3 & | pPos2, | ||
G3D::Vector3 & | pResultHitPos, | ||
float | pModifyDist | ||
) | const |
References ASSERT, and GetIntersectionTime().
Referenced by Map::GetObjectHitPos().
void DynamicMapTree::insert | ( | const GameObjectModel & | mdl | ) |
bool DynamicMapTree::isInLineOfSight | ( | float | x1, |
float | y1, | ||
float | z1, | ||
float | x2, | ||
float | y2, | ||
float | z2, | ||
uint32 | phasemask, | ||
VMAP::ModelIgnoreFlags | ignoreFlags | ||
) | const |
References DynamicTreeIntersectionCallback::didHit(), impl, and RegularGrid2D< T, Node, NodeCreatorFunc, PositionFunc >::intersectRay().
Referenced by Map::isInLineOfSight(), and MysticBuffetTargetFilter::operator()().
void DynamicMapTree::remove | ( | const GameObjectModel & | mdl | ) |
int DynamicMapTree::size | ( | ) | const |
References impl, and RegularGrid2D< T, Node, NodeCreatorFunc, PositionFunc >::size().
void DynamicMapTree::update | ( | uint32 | diff | ) |
|
private |
Referenced by balance(), contains(), GetAreaAndLiquidData(), GetAreaInfo(), getHeight(), GetIntersectionTime(), insert(), isInLineOfSight(), remove(), size(), update(), and ~DynamicMapTree().