VR-Forces 4.10 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtAggregateEchelonManager.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2020 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 
9 
10 #pragma once
11 
12 #include <vrvVrl/vrvVrl.h>
14 
17 
18 #include <boost/function.hpp>
19 #include <vrvUtil/signalslib.h>
20 
21 namespace makVrv
22 {
23  class DtDe;
24 }
25 
26 namespace makVrv
27 {
28  class DtConnection;
29 
32  {
33  public:
34  enum Flags
35  {
36  Destroyed = 0x80000000
37  };
38 
39  public:
41  static DtAggregateEchelonManager& instance(DtConnection& sim);
42 
44  static void registerInstance(DtConnection& sim, DtAggregateEchelonManager*);
45 
46  virtual ~DtAggregateEchelonManager();
47 
48  protected:
50  virtual void hierarchyItemModified(DtElementIDHierarchyNode*);
51 
53  virtual void hierarchyItemAboutToBeRemoved(DtElementIDHierarchyNode*);
54 
55  public:
56 
58  virtual void setDisplayInitiallyExpanded(bool);
59 
61  virtual void setRecord(const makArchives::DtAggregateSettingsRecord&);
62 
66  virtual void setDestroyed(DtElementID id, bool);
67  bool destroyed(DtElementID) const;
68 
71  void removeElementPendingDestroyedState(DtElementID id);
72 
75  {
76  return myHierarchy;
77  }
78 
80  {
81  return myHierarchy;
82  }
83 
84  boost::signalslib::signal<void (DtElementID, bool b) > signal_aggregateDestroyedStateChanged;
85  boost::signalslib::signal<void (DtElementIDHierarchyNode*) > signal_hierarchyItemModified;
86 
87  protected:
88 
90  virtual DtElementIDHierarchyNode::DisplayState expectedDisplayStateFor(const DtElementIDHierarchyNode* node);
91 
93  virtual void updateDestroyedState(DtElementIDHierarchyNode* parentNode);
94 
96  virtual void updateHierarchy(DtElementID parentId, const DtElementIDHierarchy::ElementIDs& children);
97 
98  protected:
100 
101  protected:
103  std::map<DtElementID, bool> myPendingDestroyedStates;
105  };
106 }
The base class for protocol specific VRLink Simulations.
Definition: DtConnection.h:41
#define DT_DLL_VRVVRL
Definition: vrvVrl.h:19
Virtual base class.
Definition: DtVirtualBaseClass.h:19
std::vector< DtElementID > ElementIDs
Definition: DtElementIDHierarchy.h:114
DtElementIDHierarchy & hierarchy()
Definition: DtAggregateEchelonManager.h:79
boost::signalslib::signal< void(DtElementID, bool b) > signal_aggregateDestroyedStateChanged
Definition: DtAggregateEchelonManager.h:84
std::map< DtElementID, bool > myPendingDestroyedStates
Definition: DtAggregateEchelonManager.h:103
DtElementIDHierarchy myHierarchy
Definition: DtAggregateEchelonManager.h:104
Hierarchy that will keep track of parent/child element id relationships.
Definition: DtElementIDHierarchy.h:111
DtUniqueID DtElementID
The ElementID is a specific type of unique ID used to represent VR-Vantage uniquely defined elements...
Definition: DtUniqueID.h:23
The class that will be used to keep track of echelon hierarchy.
Definition: DtAggregateEchelonManager.h:31
Contains makVrv::DtVirtualBaseClass class.
DisplayState
Used to keep track of state of item as it should appear visually in the hierarchy.
Definition: DtElementIDHierarchy.h:39
Contains makVrv::DtElementIDHierarchy class.
The DtElementIDHierarchyNode class will contain information about an element, its children and its pa...
Definition: DtElementIDHierarchy.h:33
const DtElementIDHierarchy & hierarchy() const
Retrieves the hierarchy.
Definition: DtAggregateEchelonManager.h:74
boost::signalslib::signal< void(DtElementIDHierarchyNode *) > signal_hierarchyItemModified
Definition: DtAggregateEchelonManager.h:85
Flags
Definition: DtAggregateEchelonManager.h:34
makArchives::DtAggregateSettingsRecord myAggregateSettings
Definition: DtAggregateEchelonManager.h:102
Record class for aggregate settings.
Definition: DtAggregateSettingsRecord.h:19
Contains DLL export macros.
Contains the DtAggregateSettingsRecord class declaration.

Document ID: Generated on Tue Sep 21 17:42:52 EDT 2021 from SVN revision 234861
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)