#include <VMapManager2.h>
Public Types | |
typedef uint32(* | GetLiquidFlagsFn) (uint32 liquidType) |
typedef bool(* | IsVMAPDisabledForFn) (uint32 entry, uint8 flags) |
Public Member Functions | |
G3D::Vector3 | convertPositionToInternalRep (float x, float y, float z) const |
VMapManager2 () | |
~VMapManager2 () | |
void | InitializeThreadUnsafe (std::unordered_map< uint32, std::vector< uint32 > > const &mapData) |
LoadResult | loadMap (char const *pBasePath, unsigned int mapId, int x, int y) override |
void | unloadMap (unsigned int mapId, int x, int y) override |
void | unloadMap (unsigned int mapId) override |
bool | isInLineOfSight (unsigned int mapId, float x1, float y1, float z1, float x2, float y2, float z2, ModelIgnoreFlags ignoreFlags) override |
bool | getObjectHitPos (unsigned int mapId, float x1, float y1, float z1, float x2, float y2, float z2, float &rx, float &ry, float &rz, float modifyDist) override |
float | getHeight (unsigned int mapId, float x, float y, float z, float maxSearchDist) override |
bool | processCommand (char *) override |
bool | getAreaAndLiquidData (uint32 mapId, float x, float y, float z, Optional< uint8 > reqLiquidType, AreaAndLiquidData &data) const override |
std::shared_ptr< WorldModel > | acquireModelInstance (std::string const &basepath, std::string const &filename) |
void | releaseModelInstance (std::string const &filename) |
virtual std::string | getDirFileName (unsigned int mapId, int, int) const override |
virtual LoadResult | existsMap (char const *basePath, unsigned int mapId, int x, int y) override |
void | getInstanceMapTree (InstanceTreeMap &instanceMapTree) |
int32 | getParentMapId (uint32 mapId) const |
![]() | |
IVMapManager () | |
virtual | ~IVMapManager (void) |
virtual LoadResult | loadMap (char const *pBasePath, unsigned int pMapId, int x, int y)=0 |
virtual LoadResult | existsMap (char const *pBasePath, unsigned int pMapId, int x, int y)=0 |
virtual void | unloadMap (unsigned int pMapId, int x, int y)=0 |
virtual void | unloadMap (unsigned int pMapId)=0 |
virtual bool | isInLineOfSight (unsigned int pMapId, float x1, float y1, float z1, float x2, float y2, float z2, ModelIgnoreFlags ignoreFlags)=0 |
virtual float | getHeight (unsigned int pMapId, float x, float y, float z, float maxSearchDist)=0 |
virtual bool | getObjectHitPos (unsigned int pMapId, float x1, float y1, float z1, float x2, float y2, float z2, float &rx, float &ry, float &rz, float pModifyDist)=0 |
virtual bool | processCommand (char *pCommand)=0 |
void | setEnableLineOfSightCalc (bool pVal) |
void | setEnableHeightCalc (bool pVal) |
bool | isLineOfSightCalcEnabled () const |
bool | isHeightCalcEnabled () const |
bool | isMapLoadingEnabled () const |
virtual std::string | getDirFileName (unsigned int pMapId, int x, int y) const =0 |
virtual bool | getAreaAndLiquidData (unsigned int mapId, float x, float y, float z, Optional< uint8 > reqLiquidType, AreaAndLiquidData &data) const =0 |
Static Public Member Functions | |
static std::string | getMapFileName (unsigned int mapId) |
Public Attributes | |
GetLiquidFlagsFn | GetLiquidFlagsPtr |
IsVMAPDisabledForFn | IsVMAPDisabledForPtr |
Protected Member Functions | |
InstanceTreeMap::const_iterator | GetMapTree (uint32 mapId) const |
Static Protected Member Functions | |
static uint32 | GetLiquidFlagsDummy (uint32) |
static bool | IsVMAPDisabledForDummy (uint32, uint8) |
Protected Attributes | |
ModelFileMap | iLoadedModelFiles |
InstanceTreeMap | iInstanceMapTrees |
std::unordered_map< uint32, uint32 > | iParentMapData |
bool | thread_safe_environment |
std::mutex | LoadedModelFilesLock |
Definition at line 62 of file VMapManager2.h.
Definition at line 119 of file VMapManager2.h.
Definition at line 122 of file VMapManager2.h.
VMAP::VMapManager2::VMapManager2 | ( | ) |
VMAP::VMapManager2::~VMapManager2 | ( | ) |
Definition at line 62 of file VMapManager2.cpp.
std::shared_ptr< WorldModel > VMAP::VMapManager2::acquireModelInstance | ( | std::string const & | basepath, |
std::string const & | filename | ||
) |
Critical section, thread safe access to iLoadedModelFiles
Definition at line 266 of file VMapManager2.cpp.
Vector3 VMAP::VMapManager2::convertPositionToInternalRep | ( | float | x, |
float | y, | ||
float | z | ||
) | const |
|
overridevirtual |
Implements VMAP::IVMapManager.
Definition at line 303 of file VMapManager2.cpp.
|
override |
|
inlineoverridevirtual |
Implements VMAP::IVMapManager.
Definition at line 109 of file VMapManager2.h.
|
overridevirtual |
get height or INVALID_HEIGHT if no height available
Implements VMAP::IVMapManager.
Definition at line 218 of file VMapManager2.cpp.
void VMAP::VMapManager2::getInstanceMapTree | ( | InstanceTreeMap & | instanceMapTree | ) |
Definition at line 308 of file VMapManager2.cpp.
|
static |
Definition at line 103 of file VMapManager2.cpp.
|
protected |
|
overridevirtual |
fill the hit pos and return true, if an object was hit
get the hit position and return true if we hit something otherwise the result pos will be the dest pos
Implements VMAP::IVMapManager.
Definition at line 188 of file VMapManager2.cpp.
|
overridevirtual |
Implements VMAP::IVMapManager.
Definition at line 167 of file VMapManager2.cpp.
|
overridevirtual |
Implements VMAP::IVMapManager.
Definition at line 108 of file VMapManager2.cpp.
|
inlineoverridevirtual |
void VMAP::VMapManager2::releaseModelInstance | ( | std::string const & | filename | ) |
Critical section, thread safe access to iLoadedModelFiles
Definition at line 291 of file VMapManager2.cpp.
|
overridevirtual |
Implements VMAP::IVMapManager.
Definition at line 153 of file VMapManager2.cpp.
|
overridevirtual |
Implements VMAP::IVMapManager.
Definition at line 139 of file VMapManager2.cpp.
GetLiquidFlagsFn VMAP::VMapManager2::GetLiquidFlagsPtr |
Definition at line 120 of file VMapManager2.h.
|
protected |
Definition at line 67 of file VMapManager2.h.
|
protected |
Definition at line 66 of file VMapManager2.h.
Definition at line 68 of file VMapManager2.h.
IsVMAPDisabledForFn VMAP::VMapManager2::IsVMAPDisabledForPtr |
Definition at line 123 of file VMapManager2.h.
|
protected |
Definition at line 71 of file VMapManager2.h.
|
protected |
Definition at line 69 of file VMapManager2.h.