24#include <unordered_map>
42 LocationInfo(): rootId(-1), hitInstance(nullptr), hitModel(nullptr), ground_Z(-
G3D::finf()) { }
64 bool getIntersectionTime(G3D::Ray
const& pRay,
float& pMaxDist,
bool pStopAtFirstHit,
ModelIgnoreFlags ignoreFlags)
const;
74 bool isInLineOfSight(G3D::Vector3
const& pos1, G3D::Vector3
const& pos2,
ModelIgnoreFlags ignoreFlags)
const;
75 bool getObjectHitPos(G3D::Vector3
const& pos1, G3D::Vector3
const& pos2, G3D::Vector3& pResultHitPos,
float pModifyDist)
const;
76 float getHeight(G3D::Vector3
const& pPos,
float maxSearchDist)
const;
77 bool GetLocationInfo(G3D::Vector3
const& pos,
LocationInfo& info)
const;
84 std::span<ModelInstance const> getModelInstances()
const;
94 rootId(0), groupId(0) { }
std::vector< ModelInstance > iTreeValues
~StaticMapTree()
Make sure to call unloadMap() to unregister acquired model references before destroying.
StaticMapTree & operator=(StaticMapTree const &right)=delete
std::unordered_map< uint32, std::vector< uint32 > > loadedTileMap
static uint32 packTileID(uint32 tileX, uint32 tileY)
loadedTileMap iLoadedTiles
static void unpackTileID(uint32 ID, uint32 &tileX, uint32 &tileY)
StaticMapTree(StaticMapTree const &right)=delete
uint32 numLoadedTiles() const
const GroupModel * hitModel
GroupModel const * hitModel
ModelInstance const * hitInstance