AzerothCore 3.3.5a
OpenSource WoW Emulator
|
#include "GameObjectModel.h"
Public Member Functions | |
const G3D::AABox & | GetBounds () const |
~GameObjectModel () | |
const G3D::Vector3 & | GetPosition () const |
void | disable () |
void | enable (uint32 ph_mask) |
bool | isEnabled () const |
bool | IsMapObject () const |
bool | intersectRay (const G3D::Ray &Ray, float &MaxDist, bool StopAtFirstHit, uint32 ph_mask, VMAP::ModelIgnoreFlags ignoreFlags) const |
void | IntersectPoint (G3D::Vector3 const &point, VMAP::AreaInfo &info, uint32 ph_mask) const |
bool | GetLocationInfo (G3D::Vector3 const &point, VMAP::LocationInfo &info, uint32 ph_mask) const |
bool | GetLiquidLevel (G3D::Vector3 const &point, VMAP::LocationInfo &info, float &liqHeight) const |
bool | UpdatePosition () |
Static Public Member Functions | |
static GameObjectModel * | Create (std::unique_ptr< GameObjectModelOwnerBase > modelOwner, std::string const &dataPath) |
Public Attributes | |
std::string | name |
Private Member Functions | |
GameObjectModel ()=default | |
bool | initialize (std::unique_ptr< GameObjectModelOwnerBase > modelOwner, std::string const &dataPath) |
Private Attributes | |
uint32 | phasemask {0} |
G3D::AABox | iBound |
G3D::Matrix3 | iInvRot |
G3D::Vector3 | iPos |
float | iInvScale {0} |
float | iScale {0} |
VMAP::WorldModel * | iModel {nullptr} |
std::unique_ptr< GameObjectModelOwnerBase > | owner |
bool | isWmo {false} |
|
privatedefault |
Referenced by Create().
GameObjectModel::~GameObjectModel | ( | ) |
References VMAP::VMapFactory::createOrGetVMapMgr(), iModel, name, and VMAP::VMapMgr2::releaseModelInstance().
|
static |
References GameObjectModel(), and initialize().
Referenced by GameObject::CreateModel().
|
inline |
|
inline |
|
inline |
References iBound.
Referenced by BoundsTrait< GameObjectModel >::GetBounds(), and BoundsTrait< GameObjectModel >::GetBounds2().
bool GameObjectModel::GetLiquidLevel | ( | G3D::Vector3 const & | point, |
VMAP::LocationInfo & | info, | ||
float & | liqHeight | ||
) | const |
References VMAP::GroupModel::GetLiquidLevel(), VMAP::LocationInfo::hitModel, iInvRot, iInvScale, iPos, and iScale.
Referenced by DynamicMapTree::GetAreaAndLiquidData().
bool GameObjectModel::GetLocationInfo | ( | G3D::Vector3 const & | point, |
VMAP::LocationInfo & | info, | ||
uint32 | ph_mask | ||
) | const |
References VMAP::WorldModel::GetLocationInfo(), VMAP::LocationInfo::ground_Z, iBound, iInvRot, iInvScale, iModel, iPos, iScale, IsMapObject(), owner, and phasemask.
Referenced by DynamicTreeLocationInfoCallback::operator()().
|
inline |
|
private |
References VMAP::VMapMgr2::acquireModelInstance(), VMAP::VMapFactory::createOrGetVMapMgr(), iBound, iInvRot, iInvScale, iModel, iPos, iScale, isWmo, LOG_ERROR, VMAP::MOD_M2, VMAP::MOD_WORLDSPAWN, model_list, name, owner, and phasemask.
Referenced by Create().
void GameObjectModel::IntersectPoint | ( | G3D::Vector3 const & | point, |
VMAP::AreaInfo & | info, | ||
uint32 | ph_mask | ||
) | const |
References VMAP::AreaInfo::ground_Z, iBound, iInvRot, iInvScale, iModel, VMAP::WorldModel::IntersectPoint(), iPos, iScale, IsMapObject(), owner, and phasemask.
Referenced by DynamicTreeAreaInfoCallback::operator()().
bool GameObjectModel::intersectRay | ( | const G3D::Ray & | Ray, |
float & | MaxDist, | ||
bool | StopAtFirstHit, | ||
uint32 | ph_mask, | ||
VMAP::ModelIgnoreFlags | ignoreFlags | ||
) | const |
References iBound, iInvRot, iInvScale, iModel, VMAP::WorldModel::IntersectRay(), iPos, iScale, owner, and phasemask.
Referenced by DynamicTreeIntersectionCallback::operator()().
|
inline |
|
inline |
bool GameObjectModel::UpdatePosition | ( | ) |
References iBound, iInvRot, iModel, iPos, iScale, model_list, and owner.
Referenced by GameObject::AddToWorld(), and GameObject::UpdateModelPosition().
|
private |
Referenced by GetBounds(), GetLocationInfo(), initialize(), IntersectPoint(), intersectRay(), and UpdatePosition().
|
private |
Referenced by GetLiquidLevel(), GetLocationInfo(), initialize(), IntersectPoint(), intersectRay(), and UpdatePosition().
|
private |
Referenced by GetLiquidLevel(), GetLocationInfo(), initialize(), IntersectPoint(), and intersectRay().
|
private |
Referenced by GetLocationInfo(), initialize(), IntersectPoint(), intersectRay(), UpdatePosition(), and ~GameObjectModel().
|
private |
Referenced by GetLiquidLevel(), GetLocationInfo(), GetPosition(), initialize(), IntersectPoint(), intersectRay(), and UpdatePosition().
|
private |
Referenced by GetLiquidLevel(), GetLocationInfo(), initialize(), IntersectPoint(), intersectRay(), and UpdatePosition().
|
private |
Referenced by initialize(), and IsMapObject().
std::string GameObjectModel::name |
Referenced by initialize(), and ~GameObjectModel().
|
private |
Referenced by GetLocationInfo(), initialize(), IntersectPoint(), intersectRay(), and UpdatePosition().
|
private |
Referenced by disable(), enable(), GetLocationInfo(), initialize(), IntersectPoint(), intersectRay(), and isEnabled().