VR-Forces 5.0.2 Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
syncMatrixManager.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2021 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
8 
10 
11 #pragma once
12 
14 #include <map>
15 #include <vector>
16 #include <vlutil/vlString.h>
17 #include <vrfutil/rwUUID.h>
18 #include <tbb/spin_rw_mutex.h>
19 
20 #include <boost/unordered_map.hpp>
21 #include <boost/signals2.hpp>
22 
23 class DtLocalObject;
24 class DtSimObject;
25 class DtPlan;
26 class DtSimStatement;
27 class DtIfPlan;
28 class DtString;
31 class DtSimMessage;
32 class DtlInputStream;
33 
35 
39 
41 {
42 public:
45 
47  virtual ~DtSyncMatrixManager();
48 
49  virtual bool init();
50 
52  virtual void sendSyncMatrixList();
53 
56  virtual void setPlansCompletionStatus(const DtUUID& syncMatrix, bool status);
57 
59  virtual bool plansCompletionStatus(const DtUUID& syncMatrix) const;
60 
62  virtual void removePlansCompletionStatusEntry(const DtUUID& syncMatrix);
63 
64 protected:
66  virtual void registerInterfaceMessageCallbacks();
67 
69  static void syncMatrixListRequestCallback(DtSimMessage* msg, void* usr);
70  virtual void processSyncMatrixListRequest(DtSimMessage* msg);
71 
73  static void syncMatrixAddRequestCallback(DtSimMessage* msg, void* usr);
74  virtual void processSyncMatrixAddRequest(DtSimMessage* msg);
75 
77  static void syncMatrixRemoveRequestCallback(DtSimMessage* msg, void* usr);
78  virtual void processSyncMatrixRemoveRequest(DtSimMessage* msg);
79 
82  virtual DtLocalObject* createSyncMatrix(const DtString& name = "");
83  virtual bool deleteSyncMatrix(const DtUUID& uuid);
84 
85 private:
91  DtSyncMatrixManager& operator=(const DtSyncMatrixManager& orig);
92 
93 protected:
96 
98  std::map<DtUUID, bool> myPlansCompletionStatusMap;
99 };
class DtIfPlan:
Definition: ifPlan.h:61
UUID is a unique ID wrapper class.
Definition: rwUUID.h:229
class DtLocalObjectManager:
Definition: localObjectManager.h:151
Contains the DtUUID class declaration.
The synchronization matrix manager maintains the list of synchronization matrices. These are locally simulated objects that manage a list of phases where during each phase, scenario entities can be assigned with plans.
Definition: syncMatrixManager.h:40
#define DT_DLL_vrfobjcore
This file is used to determine how to build.
Definition: vrfobjcoreDefines.h:24
File: simMsg.h.
Definition: simMessage.h:35
class DtPlan:
Definition: plan.h:92
Central access point of all non-object-specific the services and managers that are available for use ...
Definition: simulationServices.h:90
Represents a single simulation object in the exercise. Object may be VRF simulation, or non-VRF simulated, and may be simulated by the local sim engine, or by a remote sim engine. Only public (external) state of the object is available. All data is read-only. All access to data of the object is thread safe within the simulation frame.
Definition: simObject.h:79
class DtSimStatement:
Definition: simStatement.h:38
DT_DLL_DEBUGDRAWRENDERER void init(makVrv::DtDe &de)
Work function for the plugin initialization.
DtSimulationServices * mySimulationServices
Definition: syncMatrixManager.h:94
std::map< DtUUID, bool > myPlansCompletionStatusMap
stores the plans completion status of a sync matrix object
Definition: syncMatrixManager.h:98
Arguments passed by the DtLocalObjectManager::addNameChangedCallback callbacks.
Definition: localObjectManager.h:111
DtLocalObjectManager * myObjectManager
Definition: syncMatrixManager.h:95
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

Document ID: Generated on Sun Dec 4 20:22:03 EST 2022 from SVN revision 249613
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)