21 #include <tbb/spin_rw_mutex.h>
24 class DtPrintInfoCacheCommand;
45 virtual bool hasCachedDataFor(
const DtEntityType& objType)
const;
49 virtual bool typeIsQueuedForUpdate(
const DtEntityType& objType)
const;
54 virtual const std::vector<DtEmbeddedEntity> embeddedEntityListFor(
const DtEntityType& objType)
const;
55 virtual const std::vector<DtSetMessageType> availableSetsFor(
const DtEntityType& objType)
const;
56 virtual const std::vector<DtSimTaskMessageType> availableTasksFor(
const DtEntityType& objType)
const;
61 virtual void performCacheUpdates();
64 virtual void suspend();
67 virtual void resume();
71 virtual void resetCache();
76 static void eeInfoCacheRequestCallback(
DtSimMessage* msg,
void* usrData);
77 virtual void processEeInfoCacheRequest(
DtSimMessage* msg);
81 virtual std::string toString();
89 virtual bool isCachableType(
const DtEntityType&)
const;
92 virtual void queueCacheUpdateFor(
const std::vector<DtEmbeddedEntity>& entities,
const DtVector& position);
96 virtual DtLocalObject* createPrototypeObject(
const DtEntityType& objType,
bool& created);
101 virtual std::vector<DtEmbeddedEntity> retrieveEmbeddedEntityList(
const DtLocalObject*
const obj);
102 virtual std::vector<DtSetMessageType> retrieveAvailableSets(
const DtLocalObject*
const obj);
103 virtual std::vector<DtSimTaskMessageType> retrieveAvailableTasks(
const DtLocalObject*
const obj);
107 virtual void populateCacheUsing(
const DtLocalObject*
const obj,
bool suppressRecursion);
122 virtual void sendCacheResponseFor(
const DtEntityType& requestedType);
127 virtual void removeTaskBinding(
const DtEntityType& objType,
const DtSimTaskMessageType& taskType);
132 virtual void cachePrototype(
const DtEntityType& objType);
std::set< DtEntityType > myTypesToCache
Definition: embeddedEntityInfoManager.h:151
class DtLocalObjectManager:
Definition: localObjectManager.h:157
Name <-> type pair representing the API-exposed portion of an Embedded Entity configuration.
Definition: ifEmbeddedEntityInfoCacheResponse.h:22
DtLocalObjectManager * myObjectManager
Definition: embeddedEntityInfoManager.h:144
std::map< DtEntityType, std::vector< DtEmbeddedEntity > > myEmbeddedEntityListCache
Definition: embeddedEntityInfoManager.h:147
std::map< DtEntityType, std::vector< DtSimTaskMessageType > > myAvailableTasksCache
Definition: embeddedEntityInfoManager.h:149
std::map< DtEntityType, std::vector< DtSetMessageType > > myAvailableSetsCache
Definition: embeddedEntityInfoManager.h:148
bool mySuspended
Definition: embeddedEntityInfoManager.h:157
DtEmbeddedEntityInfoManager is the central point for information about embedded entities and their ca...
Definition: embeddedEntityInfoManager.h:36
#define DT_DLL_vrfobjcore
This file is used to determine how to build.
Definition: vrfobjcoreDefines.h:24
File: simMsg.h.
Definition: simMessage.h:35
tbb::spin_rw_mutex myMutex
Definition: embeddedEntityInfoManager.h:155
Define constants for types of tasks, sets, admin messages, reports, and sim commands (all sent via ra...
Central access point of all non-object-specific the services and managers that are available for use ...
Definition: simulationServices.h:96
DT_DLL_DEBUGDRAWRENDERER void init(makVrv::DtDe &de)
Work function for the plugin initialization.
std::vector< DtLocalObject * > myPrototypesToDelete
Definition: embeddedEntityInfoManager.h:146
Definition: scriptedTaskManager.h:45
DtSimulationServices * mySimulationServices
Definition: embeddedEntityInfoManager.h:143
DtPrintInfoCacheCommand * myPrintInfoCacheCommand
Definition: embeddedEntityInfoManager.h:153
A locally simulated VRF object.
Definition: localObject.h:98