The DtVrfNavAreaManager manages all of the nav areas currently created in the sim.
|
| | DtVrfNavAreaManager (DtSimulationServices *manager) |
| |
| virtual | ~DtVrfNavAreaManager () |
| |
| virtual bool | init () |
| |
| virtual void | tick () |
| |
| virtual void | unloadAllNavData () |
| |
| virtual void | revertNavData () |
| |
| virtual void | pauseNavDataRegeneration () |
| |
| virtual void | resumeNavDataRegeneration () |
| |
| virtual void | addNavArea (DtNavArea *a) |
| |
| virtual DtNavArea * | loadNavArea (DtNavArea::NavAreaId id, const DtFilename &filename) |
| |
| virtual DtNavArea * | loadNavDataForObject (DtNavArea::NavAreaId id, const DtFilename &filename, const DtSimObject *simObject) |
| |
| virtual DtNavArea::NavAreaId | nextNavAreaId () |
| |
| virtual void | addNavAreaAboutToBeRemovedCallback (DtNavAreaRemovalCallbackFcn fcn, void *usrData) const |
| |
| virtual void | removeNavAreaAboutToBeRemovedCallback (DtNavAreaRemovalCallbackFcn fcn, void *usrData) const |
| |
| virtual void | setBlockingNavDataLoad (bool b) |
| |
| virtual void | sendNavDataStatus () |
| |
| virtual void | processNavQueues () |
| |
| virtual void | processSimObjectDeleted (const DtSimObject *simObject) |
| |
| virtual void | invokeAreaAboutToBeDeletedCallbacks (DtNavArea *) |
| |
| void | processUnloadTerrain () |
| |
| virtual void | updateSimOperationStatus () |
| |
|
| virtual void | setTerrainInterface (DtTerrainInterface *terrainInterface) |
| |
| virtual DtTerrainInterface * | terrainInterface () |
| |
|
| void | loadObjectNavData (const DtSimObject *simObject) |
| |
| void | removeObjectNavData (const DtSimObject *simObject) |
| |
| DtNavArea * | areaForObject (const DtSimObject *simObject) const |
| |
|
| virtual DtNavArea * | findNavAreaForLocation (const DtVector &localPosition, const DtString &profile, const DtSimObject *=0, bool *dataAvailable=0) |
| |
| virtual std::vector< DtNavArea * > | findNavAreasForLocation (const DtVector &localPosition, const DtString &profile, const DtSimObject *=0, bool *dataAvailable=0, const DtAttachedTerrain *terrainAttachedTo=0) |
| |
| virtual std::vector< DtNavArea * > | findNavAreasForArea (const DtLocalVertexList *boundingArea, const DtString &profile, const DtSimObject *=0, bool *dataAvailable=0) |
| |
| virtual DtNavArea * | findNavAreaForArea (const DtLocalVertexList *area, const DtString &profile, const DtSimObject *=0, bool *dataAvailable=0) |
| |
| virtual std::vector< DtNavArea * > | findNavAreasForLocation (const DtVector &localPosition) const |
| |
| virtual DtVrfNavAreaManager::~DtVrfNavAreaManager |
( |
| ) |
|
|
virtual |
| static void DtVrfNavAreaManager::tickCallback |
( |
void * |
args | ) |
|
|
static |
| virtual bool DtVrfNavAreaManager::init |
( |
| ) |
|
|
virtual |
Registers a callback on DtIfRequestNavAreaDebugPorts messages.
| virtual void DtVrfNavAreaManager::tick |
( |
| ) |
|
|
virtual |
Ticks each nav area, in parallel unless configured otherwise.
| virtual void DtVrfNavAreaManager::setTerrainInterface |
( |
DtTerrainInterface * |
terrainInterface | ) |
|
|
virtual |
The terrain interface used by this nav area manager.
The terrain interface used by this nav area manager.
Callback to processes terrain records indicating nav areas to be loaded. Prepares the area for loading when first requested.
Callback to processes terrain records indicating nav areas to be loaded. Prepares the area for loading when first requested.
| void DtVrfNavAreaManager::loadObjectNavData |
( |
const DtSimObject * |
simObject | ) |
|
Manage nav data attached to entities, such as ships or other large objects that can be traversed by smaller entities.
| void DtVrfNavAreaManager::removeObjectNavData |
( |
const DtSimObject * |
simObject | ) |
|
Manage nav data attached to entities, such as ships or other large objects that can be traversed by smaller entities.
Manage nav data attached to entities, such as ships or other large objects that can be traversed by smaller entities.
| virtual void DtVrfNavAreaManager::unloadAllNavData |
( |
| ) |
|
|
virtual |
Clears all nav areas from the manager. Used when the terrain is being closed.
| virtual void DtVrfNavAreaManager::revertNavData |
( |
| ) |
|
|
virtual |
Reverts all loaded nav data to defaults.
| virtual void DtVrfNavAreaManager::pauseNavDataRegeneration |
( |
| ) |
|
|
virtual |
| virtual void DtVrfNavAreaManager::resumeNavDataRegeneration |
( |
| ) |
|
|
virtual |
Resumes nav data regeneration if paused.
| virtual void DtVrfNavAreaManager::addNavArea |
( |
DtNavArea * |
a | ) |
|
|
virtual |
Called after loading the data for a nav area. Does not actually load any data, just gives ownership to the manager. Typically only called internally.
Loads nav data for an area from the given file, assigns it the given id, and then calls addNavArea to add it to the manager. Typically only called internally.
Loads nav data for an area on a sim object from the given file, assigns it the given id, and then calls addNavArea to add it to the manager. Typically only called internally.
Returns a new unique nav area id. Typically only called internally.
Returns the nav area (if any) that contains a given location and matches the specified profile. The profile must be the name of a valid profile defined in navigationProfiles.mtl. Standard profile names are "lifeform" and "ground-platform". If there is a parentObject, only nav areas that are attached to parentObject are considered. If parentObject is null, then nav areas on the terrain are considered. If the profile is a null string, nav areas for all profiles are considered to be matching.
Returns the nav area (if any) that contains a given location and matches the specified profile. The profile must be the name of a valid profile defined in navigationProfiles.mtl. Standard profile names are "lifeform" and "ground-platform". If there is a parentObject, only nav areas that are attached to parentObject are considered. If parentObject is null, then nav areas on the terrain are considered. If the profile is a null string, nav areas for all profiles are considered to be matching.
Returns the nav area (if any) that contains a given location and matches the specified profile. The profile must be the name of a valid profile defined in navigationProfiles.mtl. Standard profile names are "lifeform" and "ground-platform". If there is a parentObject, only nav areas that are attached to parentObject are considered. If parentObject is null, then nav areas on the terrain are considered. If the profile is a null string, nav areas for all profiles are considered to be matching.
Returns the nav area (if any) that contains a given location and matches the specified profile. The profile must be the name of a valid profile defined in navigationProfiles.mtl. Standard profile names are "lifeform" and "ground-platform". If there is a parentObject, only nav areas that are attached to parentObject are considered. If parentObject is null, then nav areas on the terrain are considered. If the profile is a null string, nav areas for all profiles are considered to be matching.
| virtual std::vector<DtNavArea*> DtVrfNavAreaManager::findNavAreasForLocation |
( |
const DtVector & |
localPosition | ) |
const |
|
virtual |
Will only check currently loaded nav areas and will return regardless of matching profile.
Add a callback for when a nav area is about to be removed.
Remove a previously registered callback for notification when a new area is about to be removed.
| virtual void DtVrfNavAreaManager::setBlockingNavDataLoad |
( |
bool |
b | ) |
|
|
virtual |
If set to true, nav data loading blocks and loads immediately. Otherwise, nav data loading occurs in a separate thread and may not be immediately available on request.
| static void DtVrfNavAreaManager::requestNavAreaStatusCallback |
( |
DtSimMessage * |
, |
|
|
void * |
usr |
|
) |
| |
|
static |
If navArea debugging is on, sends debug info for all navAreas.
| virtual void DtVrfNavAreaManager::processRequestNavAreaStatus |
( |
| ) |
|
|
virtual |
If navArea debugging is on, sends debug info for all navAreas.
| static void DtVrfNavAreaManager::requestSimObjectDebugPortsCallback |
( |
DtSimMessage * |
msg, |
|
|
void * |
usr |
|
) |
| |
|
static |
Callback to processes a request for the nav debug ports.
| virtual void DtVrfNavAreaManager::processRequestSimObjectDebugPortsCallback |
( |
DtUUID |
uuid | ) |
|
|
virtual |
Callback to processes a request for the nav debug ports.
| virtual void DtVrfNavAreaManager::sendNavDataStatus |
( |
| ) |
|
|
virtual |
Sends the current nav data status.
| virtual void DtVrfNavAreaManager::processNavQueues |
( |
| ) |
|
|
virtual |
Should only be called by the parallel nav queue processing threads.
| static void DtVrfNavAreaManager::setGamewareWorkingMemorySize |
( |
int |
sizeInMb | ) |
|
|
static |
Set navigation configuration.
| static void DtVrfNavAreaManager::setRegenerateNavigationDataAtRuntime |
( |
bool |
regen | ) |
|
|
static |
Set navigation configuration.
| static void DtVrfNavAreaManager::setMaxRegenerationThreads |
( |
int |
threads | ) |
|
|
static |
Set navigation configuration.
| static void DtVrfNavAreaManager::setNumberOfNavQueueProcessingThreads |
( |
int |
threads | ) |
|
|
static |
Set navigation configuration.
| static void DtVrfNavAreaManager::setRegenerationDelay |
( |
double |
delay | ) |
|
|
static |
Set navigation configuration.
| static void DtVrfNavAreaManager::setQueryTimeBudget |
( |
double |
ms | ) |
|
|
static |
Set navigation configuration.
| static void DtVrfNavAreaManager::setRegenerationFileDirectory |
( |
const DtFilename & |
dir | ) |
|
|
static |
Set navigation configuration.
| virtual void DtVrfNavAreaManager::processSimObjectDeleted |
( |
const DtSimObject * |
simObject | ) |
|
|
virtual |
Processes the deletion of a sim object that has its own nav data.
| virtual void DtVrfNavAreaManager::invokeAreaAboutToBeDeletedCallbacks |
( |
DtNavArea * |
| ) |
|
|
virtual |
Invoke callbacks when a nav area is removed.
| static void DtVrfNavAreaManager::navigationRegenUpdateCallback |
( |
void * |
usr | ) |
|
|
static |
Callback to send status on navigation regeneration.
| virtual void DtVrfNavAreaManager::processNavigationRegenUpdate |
( |
| ) |
|
|
virtual |
Callback to send status on navigation regeneration.
| void DtVrfNavAreaManager::processUnloadTerrain |
( |
| ) |
|
| virtual void DtVrfNavAreaManager::updateSimOperationStatus |
( |
| ) |
|
|
virtual |
| int DtVrfNavAreaManager::theGamewareWorkingMemorySize |
|
static |
| bool DtVrfNavAreaManager::theRegenerateNavDataAtRuntime |
|
static |
| int DtVrfNavAreaManager::theMaxRegenerationThreads |
|
static |
| int DtVrfNavAreaManager::theNumberOfNavQueueProcessingThreads |
|
static |
| double DtVrfNavAreaManager::theRegenerationDelay |
|
static |
| double DtVrfNavAreaManager::theQueryTimeBudget |
|
static |
| DtFilename DtVrfNavAreaManager::theRegenerationFileDirectory |
|
static |
| bool DtVrfNavAreaManager::myNavigationInitialized |
|
protected |
Coord system used for nav datas on embarked objects.
| bool DtVrfNavAreaManager::myBlockingNavLoad |
|
protected |
| tbb::spin_mutex DtVrfNavAreaManager::myNavAreaExtentsMutex |
|
protected |
| tbb::spin_rw_mutex DtVrfNavAreaManager::myNavAreaMutex |
|
mutableprotected |
| tbb::spin_rw_mutex DtVrfNavAreaManager::myObjectNavAreaMutex |
|
mutableprotected |
| std::atomic<bool> DtVrfNavAreaManager::myContinueProcessing |
|
protected |
| std::atomic<bool> DtVrfNavAreaManager::myProcessingStopped |
|
protected |
| tbb::task_arena DtVrfNavAreaManager::myNavAreaArena |
|
protected |
| tbb::task_group DtVrfNavAreaManager::myNavAreaTaskGroup |
|
protected |
| boost::signals2::connection DtVrfNavAreaManager::myUnloadTerrainConnection |
|
protected |
| bool DtVrfNavAreaManager::myRegenInTempDirectory |
|
protected |
| bool DtVrfNavAreaManager::myNavRegenerating = false |
|
protected |
| bool DtVrfNavAreaManager::myNavOperations = false |
|
protected |
The documentation for this class was generated from the following file:
- /data/exports/nrhent7-1/nightly/docs/vrForces.vrf5-1-branch/include/vrfobjcore/vrfNavAreaManager.h