VR-Forces 4.8 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
remoteComponentAttachmentManager.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2015 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
6 #pragma once
7 
10 
12 #include <vl/globalObjectDesignator.h>
13 
16 
18 #include <set>
19 
23 #include "vrfutil/rwUUID.h"
24 
25 class DtVrfObjectManager;
26 class DtFilename;
27 class DtVrfObject;
30 
34 {
35 protected:
38 
39 public:
40 
41  typedef std::set<DtUUID> RecentArrivalsMap;
42  typedef RecentArrivalsMap::iterator ArrivalIterator;
43  typedef RecentArrivalsMap::const_iterator const_ArrivalIterator;
44 
46  {
47  Remove = -1,
48  NotReady = 0,
49  Ready
50  };
51 
52 public:
53 
56 
59 
60 public:
61 
63  virtual void addRecentArrival(DtVrfObject *pVrfObj);
64 
66  virtual void attach(const DtRemoteConfigurationMapEntry& entry,
67  DtVrfObject& obj);
68 
70  virtual bool isRemoteComponentAttachment(const DtUUID&) const;
71 
74  virtual DtRemoteConfigurationMapper* attachmentRules();
75  virtual const DtRemoteConfigurationMapper* attachmentRules() const;
77 
81  void setBuilderCreatorFcn(DtRemoteComponentConfigurationBuilder::CreatorFcn fcn);
83 
86  virtual void clear();
87 
93  virtual DtRemoteConfigurationMapper* createAttachmentRules(const char* pReaderWriterName);
94 
96  virtual void clearRecentArrivals();
97 
103  virtual EvaluationReadinessState checkReadinessCriteria(const DtVrfObject& obj) const;
104 
110  virtual bool checkRejectionCriteria(const DtVrfObject& obj) const;
111 
113  virtual void destroyAttachmentRules();
114 
117  virtual void evaluateAndAttach(DtVrfObject& obj);
118 
120  virtual bool initialize(const DtFilename& fromFile);
121 
124  virtual void processRemoveFromArrivals(DtVrfObject* pVrfObj);
125  virtual void processRemoveFromArrivals(const DtUUID&);
127 
129  virtual void resetAllReflectedObjectsToNonVrfSimulated();
130 
132  virtual void resetReflectedObjectToNonVrfSimulated(DtVrfObject *pVrfObj);
133 
135  virtual void tick();
136 
139  DtTime tickRate() const;
140  void setTickRate(DtTime interval);
142 
144  DtVrfObjectManager* vrfObjectManager();
145  const DtVrfObjectManager* vrfObjectManager() const;
146 
147 public:
148 
150  virtual void processVrfObjectToBeRemoved(DtVrfObject* pVrfObject);
151 
154  static void vrfObjectToBeRemovedCallback(DtVrfObject* pVrfObject, void* pUsr);
155 
156 protected:
157 
161  virtual void doWork();
162 
163 protected:
164 
167 
170 
173 
181 
185 
188 
191 
194 
197 
198 
199 private:
203 };
204 
206 {
208 }
209 
211 {
213 }
214 
217 
DtRemoteConfigurationMapper * pMyAttachmentRules
The attachment list is a container of attachment rules.
Definition: remoteComponentAttachmentManager.h:196
UUID is a unique ID wrapper class.
Definition: rwUUID.h:222
DtRemoteConfigurationMapper.
Definition: remoteConfigurationMapper.h:29
RecentArrivalsMap::iterator ArrivalIterator
Definition: remoteComponentAttachmentManager.h:42
This singleton class keeps track of components that should be added to remote, non VR-Forces entities...
Definition: remoteComponentAttachmentManager.h:33
RecentArrivalsMap myRecentArrivals
This list captures the IDs of newly discovered simulated things.
Definition: remoteComponentAttachmentManager.h:172
DtVrfObject is used to represent any type of simulated object (entities, aggregate, control objects) in a VR-Forces application.
Definition: vrfObject.h:215
DtVrfObjectManager * vrfObjectManager()
Get/Set the tick interval for the attachment manager.
Definition: remoteComponentAttachmentManager.h:218
RecentArrivalsMap myConfirmedAttachments
keep track of what entities contain attachments
Definition: remoteComponentAttachmentManager.h:166
DtTime myNextTick
Next scheduled tick time.
Definition: remoteComponentAttachmentManager.h:169
DtVrfObjectManager * pMyObjMgr
This is a pointer to the singleton&#39;s parent object.
Definition: remoteComponentAttachmentManager.h:193
void setTickRate(DtTime interval)
Definition: remoteComponentAttachmentManager.h:216
DtRemoteComponentConfigurationBuilder * pMyRemoteConfigBuilder
This helps parse configuration files and add components to remote entities.
Definition: remoteComponentAttachmentManager.h:180
Description: Readable, Writable uuid string.
Definition: rwUUID.h:419
#define DT_DLL_vrfobjcore
This file is used to determine how to build.
Definition: vrfobjcoreDefines.h:24
This file declares DtRemoteConfigurationMapEntry.
Definition: remoteConfigurationMapEntry.h:27
DtRemoteComponentConfigurationBuilder::CreatorFcn myRemoteConfigBuilderCreatorFcn
This creator function is used by initialize() to create pMyRemoteConfigBuilder.
Definition: remoteComponentAttachmentManager.h:184
DtTime tickRate() const
Get/Set the tick interval for the attachment manager.
Definition: remoteComponentAttachmentManager.h:215
DtRemoteComponentConfigurationBuilder::CreatorFcn builderCreatorFcn()
Get/Set the DtRemoteComponentConfigurationBuilder factory function.
Definition: remoteComponentAttachmentManager.h:205
void Remove(Instance *key, WidgetType *)
DtRwUUID myWorkerKey
This is a worker key, to facilitate searching without requiring allocations.
Definition: remoteComponentAttachmentManager.h:187
void setBuilderCreatorFcn(DtRemoteComponentConfigurationBuilder::CreatorFcn fcn)
Definition: remoteComponentAttachmentManager.h:210
class DtVrfObjectManager:
Definition: vrfObjectManager.h:201
std::set< DtUUID > RecentArrivalsMap
Definition: remoteComponentAttachmentManager.h:41
DtTime myTickRate
Tick Rate, default 5.0 secs.
Definition: remoteComponentAttachmentManager.h:190
EvaluationReadinessState
Definition: remoteComponentAttachmentManager.h:45
DtRemoteComponentConfigurationBuilder *(* CreatorFcn)(DtRemoteComponentAttachmentManager *)
Definition: remoteComponentConfigurationBuilder.h:31
This builder class is used to attach VR-Forces components and radios to non-VRF remote entities...
Definition: remoteComponentConfigurationBuilder.h:27
RecentArrivalsMap::const_iterator const_ArrivalIterator
Definition: remoteComponentAttachmentManager.h:43

Document ID: Generated on Thu Aug 27 10:56:05 EDT 2020 from SVN revision 217100
Copyright © 2005-2020 MAK Technologies. All Rights Reserved (www.mak.com)