Project SkyFire Core
SkyFire 5.4.8 server core API documentation
Loading...
Searching...
No Matches
VMAP::StaticMapTree Class Reference

#include <MapTree.h>

Collaboration diagram for VMAP::StaticMapTree:

Public Member Functions

bool getAreaInfo (G3D::Vector3 &pos, uint32 &flags, int32 &adtId, int32 &rootId, int32 &groupId) const
float getHeight (const G3D::Vector3 &pPos, float maxSearchDist) const
bool GetLocationInfo (const G3D::Vector3 &pos, LocationInfo &info) const
void getModelInstances (ModelInstance *&models, uint32 &count)
bool getObjectHitPos (const G3D::Vector3 &pos1, const G3D::Vector3 &pos2, G3D::Vector3 &pResultHitPos, float pModifyDist) const
bool InitMap (const std::string &fname, VMapManager2 *vm)
bool isInLineOfSight (const G3D::Vector3 &pos1, const G3D::Vector3 &pos2) const
bool isTiled () const
bool LoadMapTile (uint32 tileX, uint32 tileY, VMapManager2 *vm)
uint32 numLoadedTiles () const
 StaticMapTree (uint32 mapID, const std::string &basePath)
void UnloadMap (VMapManager2 *vm)
void UnloadMapTile (uint32 tileX, uint32 tileY, VMapManager2 *vm)
 ~StaticMapTree ()
 Make sure to call unloadMap() to unregister acquired model references before destroying.

Static Public Member Functions

static bool CanLoadMap (const std::string &basePath, uint32 mapID, uint32 tileX, uint32 tileY)
static std::string getTileFileName (uint32 mapID, uint32 tileX, uint32 tileY)
static uint32 packTileID (uint32 tileX, uint32 tileY)
static void unpackTileID (uint32 ID, uint32 &tileX, uint32 &tileY)

Private Types

typedef UNORDERED_MAP< uint32, uint32loadedSpawnMap
typedef UNORDERED_MAP< uint32, bool > loadedTileMap

Private Member Functions

bool getIntersectionTime (const G3D::Ray &pRay, float &pMaxDist, bool pStopAtFirstHit) const
StaticMapTreeoperator= (StaticMapTree const &right)=delete
 StaticMapTree (StaticMapTree const &right)=delete

Private Attributes

std::string iBasePath
bool iIsTiled
loadedSpawnMap iLoadedSpawns
loadedTileMap iLoadedTiles
uint32 iMapID
uint32 iNTreeValues
BIH iTree
ModelInstanceiTreeValues

Detailed Description

Definition at line 27 of file MapTree.h.

Member Typedef Documentation

◆ loadedSpawnMap

Definition at line 30 of file MapTree.h.

◆ loadedTileMap

Definition at line 29 of file MapTree.h.

Constructor & Destructor Documentation

◆ StaticMapTree() [1/2]

VMAP::StaticMapTree::StaticMapTree ( uint32 mapID,
const std::string & basePath )

Definition at line 109 of file MapTree.cpp.

References iBasePath, iIsTiled, iMapID, iNTreeValues, and iTreeValues.

Referenced by operator=(), and StaticMapTree().

◆ ~StaticMapTree()

VMAP::StaticMapTree::~StaticMapTree ( )

Make sure to call unloadMap() to unregister acquired model references before destroying.

Definition at line 121 of file MapTree.cpp.

References iTreeValues.

◆ StaticMapTree() [2/2]

VMAP::StaticMapTree::StaticMapTree ( StaticMapTree const & right)
privatedelete

References StaticMapTree().

Member Function Documentation

◆ CanLoadMap()

bool VMAP::StaticMapTree::CanLoadMap ( const std::string & basePath,
uint32 mapID,
uint32 tileX,
uint32 tileY )
static
Todo
check magic number when implemented...

Definition at line 229 of file MapTree.cpp.

References VMAP::VMapManager2::getMapFileName(), getTileFileName(), VMAP::readChunk(), and VMAP::VMAP_MAGIC.

Referenced by VMAP::VMapManager2::existsMap().

◆ getAreaInfo()

bool VMAP::StaticMapTree::getAreaInfo ( G3D::Vector3 & pos,
uint32 & flags,
int32 & adtId,
int32 & rootId,
int32 & groupId ) const

◆ getHeight()

float VMAP::StaticMapTree::getHeight ( const G3D::Vector3 & pPos,
float maxSearchDist ) const

Definition at line 214 of file MapTree.cpp.

References getIntersectionTime().

◆ getIntersectionTime()

bool VMAP::StaticMapTree::getIntersectionTime ( const G3D::Ray & pRay,
float & pMaxDist,
bool pStopAtFirstHit ) const
private

If intersection is found within pMaxDist, sets pMaxDist to intersection distance and returns true. Else, pMaxDist is not modified and returns false;

Definition at line 132 of file MapTree.cpp.

References VMAP::MapRayCallback::didHit(), iTree, and iTreeValues.

Referenced by getHeight(), getObjectHitPos(), and isInLineOfSight().

◆ GetLocationInfo()

bool VMAP::StaticMapTree::GetLocationInfo ( const G3D::Vector3 & pos,
LocationInfo & info ) const

Definition at line 102 of file MapTree.cpp.

References iTree, iTreeValues, and VMAP::LocationInfoCallback::result.

◆ getModelInstances()

void VMAP::StaticMapTree::getModelInstances ( ModelInstance *& models,
uint32 & count )

Definition at line 18 of file VMapExtensions.cpp.

References iNTreeValues, and iTreeValues.

◆ getObjectHitPos()

bool VMAP::StaticMapTree::getObjectHitPos ( const G3D::Vector3 & pos1,
const G3D::Vector3 & pos2,
G3D::Vector3 & pResultHitPos,
float pModifyDist ) const

When moving from pos1 to pos2 check if we hit an object. Return true and the position if we hit one Return the hit pos or the original dest pos

Definition at line 169 of file MapTree.cpp.

References ASSERT, and getIntersectionTime().

◆ getTileFileName()

std::string VMAP::StaticMapTree::getTileFileName ( uint32 mapID,
uint32 tileX,
uint32 tileY )
static

Definition at line 76 of file MapTree.cpp.

Referenced by CanLoadMap(), LoadMapTile(), and UnloadMapTile().

◆ InitMap()

◆ isInLineOfSight()

bool VMAP::StaticMapTree::isInLineOfSight ( const G3D::Vector3 & pos1,
const G3D::Vector3 & pos2 ) const

Definition at line 143 of file MapTree.cpp.

References ASSERT, and getIntersectionTime().

◆ isTiled()

bool VMAP::StaticMapTree::isTiled ( ) const
inline

Definition at line 68 of file MapTree.h.

References iIsTiled.

◆ LoadMapTile()

◆ numLoadedTiles()

uint32 VMAP::StaticMapTree::numLoadedTiles ( ) const
inline

Definition at line 69 of file MapTree.h.

References iLoadedTiles.

◆ operator=()

StaticMapTree & VMAP::StaticMapTree::operator= ( StaticMapTree const & right)
privatedelete

References StaticMapTree().

◆ packTileID()

uint32 VMAP::StaticMapTree::packTileID ( uint32 tileX,
uint32 tileY )
inlinestatic

◆ UnloadMap()

void VMAP::StaticMapTree::UnloadMap ( VMapManager2 * vm)

◆ UnloadMapTile()

◆ unpackTileID()

void VMAP::StaticMapTree::unpackTileID ( uint32 ID,
uint32 & tileX,
uint32 & tileY )
inlinestatic

Member Data Documentation

◆ iBasePath

std::string VMAP::StaticMapTree::iBasePath
private

Definition at line 44 of file MapTree.h.

Referenced by InitMap(), LoadMapTile(), StaticMapTree(), and UnloadMapTile().

◆ iIsTiled

bool VMAP::StaticMapTree::iIsTiled
private

Definition at line 33 of file MapTree.h.

Referenced by InitMap(), isTiled(), LoadMapTile(), and StaticMapTree().

◆ iLoadedSpawns

loadedSpawnMap VMAP::StaticMapTree::iLoadedSpawns
private

Definition at line 43 of file MapTree.h.

Referenced by InitMap(), LoadMapTile(), UnloadMap(), and UnloadMapTile().

◆ iLoadedTiles

loadedTileMap VMAP::StaticMapTree::iLoadedTiles
private

Definition at line 41 of file MapTree.h.

Referenced by LoadMapTile(), numLoadedTiles(), UnloadMap(), and UnloadMapTile().

◆ iMapID

uint32 VMAP::StaticMapTree::iMapID
private

Definition at line 32 of file MapTree.h.

Referenced by LoadMapTile(), StaticMapTree(), and UnloadMapTile().

◆ iNTreeValues

uint32 VMAP::StaticMapTree::iNTreeValues
private

Definition at line 36 of file MapTree.h.

Referenced by getModelInstances(), InitMap(), LoadMapTile(), and StaticMapTree().

◆ iTree

BIH VMAP::StaticMapTree::iTree
private

Definition at line 34 of file MapTree.h.

Referenced by getAreaInfo(), getIntersectionTime(), GetLocationInfo(), and InitMap().

◆ iTreeValues


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