VR-Forces 4.6 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtSimData.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2013 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 
9 
10 #pragma once
11 #include <vrvCore/vrvCore.h>
12 #include <vrvCore/DtUniqueID.h>
13 #include <boost/unordered_map.hpp>
14 #include <boost/signal.hpp>
15 
16 namespace makVrv
17 {
18  class DtDe;
19  class DtSimEntry;
20  class DtSimObjectEntry;
21  class DtSimEventEntry;
22  class DtVirtualBaseClass;
23  struct DtSimState;
24 
25 
32  {
33 
34  public:
35 
37  typedef boost::unordered_map<DtUniqueID, DtSimEntry*> SimEntryMap;
38 
40  typedef void (*SignalerAccessorFunction)(DtSimData&);
41 
42 
44  DtSimData(DtDe& de);
45 
47  ~DtSimData();
48 
50  void addEntry(DtUniqueID id);
51 
53  void removeEntry(DtUniqueID id);
54 
57  bool addStateToSimEntry(DtUniqueID id, DtSimState* state);
58 
61  bool removeStateFromSimEntry(DtUniqueID id, DtSimState* state);
62 
64  const DtSimEntry* findSimEntry(DtUniqueID id) const;
65 
67  DtSimEntry* findSimEntry(DtUniqueID id);
68 
70  const SimEntryMap& simEntryMap();
71 
74  void addStateToSimEvent(DtSimState* state);
75 
79  void signalEvent();
80 
82  void addEventSignaler(SignalerAccessorFunction accessor,
83  DtVirtualBaseClass* instance);
84 
86  DtVirtualBaseClass* findEventSignaler(SignalerAccessorFunction accessor);
87 
89  boost::signal<void (DtSimObjectEntry&)> signal_simObjectEntryAdded;
90 
92  boost::signal<void (DtSimObjectEntry&)> signal_simObjectEntryToBeRemoved;
93 
95  boost::signal<void (DtSimObjectEntry&, DtSimState&)> signal_simStateAdded;
96 
99  boost::signal<void (DtSimObjectEntry&, DtSimState&)> signal_simStateToBeRemoved;
100 
102  boost::signal<void (DtSimEventEntry&)> signal_simEventTriggered;
103 
104  protected:
105 
107  DtSimEventEntry& entry();
108 
109  protected:
110 
111  typedef boost::unordered_map<SignalerAccessorFunction,
113 
118 
119  };
120 }

Document ID: Generated on Thu Apr 12 03:15:37 EDT 2018 from SVN revision 187986
Copyright © 2005-2018 VT MÄK. All Rights Reserved (www.mak.com)