21 #include <tbb/spin_rw_mutex.h>
24 class DtPrintInfoCacheCommand;
45 virtual bool hasCachedDataFor(
const DtObjectType& objType)
const;
49 virtual bool typeIsQueuedForUpdate(
const DtObjectType& objType)
const;
54 virtual const std::vector<DtEmbeddedEntity> embeddedEntityListFor(
const DtObjectType& objType)
const;
55 virtual const std::vector<DtSetMessageType> availableSetsFor(
const DtObjectType& objType)
const;
56 virtual const std::vector<DtSimTaskMessageType> availableTasksFor(
const DtObjectType& 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();
92 virtual void queueCacheUpdateFor(
const std::vector<DtEmbeddedEntity>& entities,
const DtVector& position);
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 DtObjectType& requestedType);
132 virtual void cachePrototype(
const DtObjectType& objType);
class DtLocalObjectManager:
Definition: localObjectManager.h:151
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< DtObjectType, std::vector< DtSetMessageType > > myAvailableSetsCache
Definition: embeddedEntityInfoManager.h:148
std::set< DtObjectType > myTypesToCache
Definition: embeddedEntityInfoManager.h:151
Definition: objectType.h:27
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:90
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
std::map< DtObjectType, std::vector< DtEmbeddedEntity > > myEmbeddedEntityListCache
Definition: embeddedEntityInfoManager.h:147
std::map< DtObjectType, std::vector< DtSimTaskMessageType > > myAvailableTasksCache
Definition: embeddedEntityInfoManager.h:149
DtSimulationServices * mySimulationServices
Definition: embeddedEntityInfoManager.h:143
DtPrintInfoCacheCommand * myPrintInfoCacheCommand
Definition: embeddedEntityInfoManager.h:153
A locally simulated VRF object. Holds all internal and external data for the object, and provides access to both the current frame and next frame state data for the object. All current frame data is read-only, and next-frame data can be written to. No thread safety guarantees are made on this object during the simulation frame and it should only be accessed by the thread that is simulating the object.
Definition: localObject.h:86