AzerothCore 3.3.5a
OpenSource WoW Emulator
Loading...
Searching...
No Matches
VMAP::WModelAreaCallback Class Reference

Public Member Functions

 WModelAreaCallback (std::vector< GroupModel > const &vals)
 
bool operator() (G3D::Ray const &ray, uint32 entry, float &distance, bool)
 

Public Attributes

std::vector< GroupModel > const & prims
 
std::array< GroupModel const *, 3 > hit
 

Detailed Description

Constructor & Destructor Documentation

◆ WModelAreaCallback()

VMAP::WModelAreaCallback::WModelAreaCallback ( std::vector< GroupModel > const &  vals)
inline
569 :
570 prims(vals), hit() { }
std::array< GroupModel const *, 3 > hit
Definition WorldModel.cpp:572
std::vector< GroupModel > const & prims
Definition WorldModel.cpp:571

Member Function Documentation

◆ operator()()

bool VMAP::WModelAreaCallback::operator() ( G3D::Ray const &  ray,
uint32  entry,
float &  distance,
bool   
)
inline
574 {
575 float group_Z;
576 if (GroupModel::InsideResult result = prims[entry].IsInsideObject(ray, group_Z); result != GroupModel::OUT_OF_BOUNDS)
577 {
578 if (result != GroupModel::MAYBE_INSIDE)
579 {
580 if (group_Z < distance)
581 {
582 distance = group_Z;
583 hit[result] = &prims[entry];
584 return true;
585 }
586 }
587 else
588 hit[result] = &prims[entry];
589 }
590 return false;
591 }
InsideResult
Definition WorldModel.h:85
@ MAYBE_INSIDE
Definition WorldModel.h:85
@ OUT_OF_BOUNDS
Definition WorldModel.h:85

References hit, VMAP::GroupModel::MAYBE_INSIDE, VMAP::GroupModel::OUT_OF_BOUNDS, and prims.

Member Data Documentation

◆ hit

std::array<GroupModel const*, 3> VMAP::WModelAreaCallback::hit

◆ prims

std::vector<GroupModel> const& VMAP::WModelAreaCallback::prims

Referenced by operator()().


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