VR-Forces 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: uuid.h:59
class DtLocalObjectManager:
Definition: localObjectManager.h:157
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:96
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:80
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:117
DtLocalObjectManager * myObjectManager
Definition: syncMatrixManager.h:95
A locally simulated VRF object.
Definition: localObject.h:98

Document ID: Generated on Thu Oct 23 22:29:17 EDT 2025 from SVN revision 280951
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)