VR-Forces 4.3 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
embeddedEntityInfoManager.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2014 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
9 
10 #pragma once
11 
14 
16 #include "vrfmsgs/messageTypes.h"
17 
18 #include <list>
19 #include <map>
20 
21 class DtObjectType;
22 class DtPrintInfoCacheCommand;
23 class DtSimManager;
24 class DtSimMessage;
25 class DtVrfObject;
26 
27 struct DtEmbeddedEntity;
28 
33 {
34 public:
37 
38  virtual bool init();
39 
41  virtual bool hasCachedDataFor(const DtObjectType& objType) const;
42 
45  virtual bool typeIsQueuedForUpdate(const DtObjectType& objType) const;
46 
50  virtual const std::vector<DtEmbeddedEntity> embeddedEntityListFor(const DtObjectType& objType)const;
51  virtual const std::vector<DtSetMessageType> availableSetsFor(const DtObjectType& objType)const;
52  virtual const std::vector<DtSimTaskMessageType> availableTasksFor(const DtObjectType& objType) const;
54 
56  virtual const DtSimManager* simManager() const;
58  virtual DtSimManager* simManager();
59 
62  virtual void performCacheUpdates();
63 
66  virtual void resetCache();
67 
71  static void eeInfoCacheRequestCallback(DtSimMessage* msg, void* usrData);
72  virtual void processEeInfoCacheRequest(DtSimMessage* msg);
74 
76  virtual std::string toString();
77 
78 protected:
79 
81  virtual bool isCachableType(const DtObjectType&) const;
82 
84  virtual void queueCacheUpdateFor(const std::vector<DtEmbeddedEntity>& entities, const DtVector& position);
85 
88  virtual DtVrfObject* createPrototypeObject(const DtObjectType& objType, const DtVector& position);
89 
93  virtual std::vector<DtEmbeddedEntity> retrieveEmbeddedEntityList(const DtVrfObject* const obj);
94  virtual std::vector<DtSetMessageType> retrieveAvailableSets(const DtVrfObject* const obj);
95  virtual std::vector<DtSimTaskMessageType> retrieveAvailableTasks(const DtVrfObject* const obj);
97 
99  virtual void populateCacheUsing(const DtVrfObject* const obj, bool suppressRecursion);
100 
103  static void objectAddedCallback(DtVrfObject* obj, void* usrData);
104  virtual void processObjectAdded(const DtVrfObject& obj);
106 
109  static void scriptUpdatedCallback(const DtScriptedTaskManagerCallbackInfo& info, void* usrData);
110  virtual void processScriptUpdatedCallback(const DtScriptedTaskManagerCallbackInfo& info);
112 
115  virtual void sendCacheResponseFor(const DtObjectType& requestedType);
116 
119  virtual void addTaskBinding(const DtObjectType& objType, const DtSimTaskMessageType& taskType);
120  virtual void removeTaskBinding(const DtObjectType& objType, const DtSimTaskMessageType& taskType);
122 
123 private:
126 
129 
130 protected:
131 
133 
134  std::map<DtObjectType, std::vector<DtEmbeddedEntity> > myEmbeddedEntityListCache;
135  std::map<DtObjectType, std::vector<DtSetMessageType> > myAvailableSetsCache;
136  std::map<DtObjectType, std::vector<DtSimTaskMessageType> > myAvailableTasksCache;
137 
138  std::map<DtObjectType, DtVector> myTypesToCache;
139 
140  DtPrintInfoCacheCommand* myPrintInfoCacheCommand;
141 
142 };

Document ID: Generated on Wed Mar 11 21:20:57 EDT 2015 from SVN revision 150940
Copyright © 2005-2014 VT MÄK. All Rights Reserved (www.mak.com)