VR-Forces 4.1.1 Class Documentation
DtSimData.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2009 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 /******************************************************************************
6 ** $RCSfile: DtSimData.h,v $ $Revision: 1.12 $ $State: Exp $
7 ******************************************************************************/
8 
12 
13 #pragma once
14 #include <vrvCore/vrvCore.h>
15 #include <vrvCore/DtUniqueID.h>
16 #include <boost/unordered_map.hpp>
17 #include <boost/signal.hpp>
18 
19 namespace makVrv
20 {
21  class DtDe;
22  class DtSimEntry;
23  class DtSimObjectEntry;
24  class DtSimEventEntry;
25  class DtVirtualBaseClass;
26  struct DtSimState;
27 
28 
35  {
36 
37  public:
38 
40  typedef boost::unordered_map<DtUniqueID, DtSimEntry*> SimEntryMap;
41 
43  typedef void (*SignalerAccessorFunction)(DtSimData&);
44 
45 
47  DtSimData(DtDe& de);
48 
50  ~DtSimData();
51 
53  void addEntry(DtUniqueID id);
54 
56  void removeEntry(DtUniqueID id);
57 
60  bool addStateToSimEntry(DtUniqueID id, DtSimState* state);
61 
64  bool removeStateFromSimEntry(DtUniqueID id, DtSimState* state);
65 
67  const DtSimEntry* findSimEntry(DtUniqueID id) const;
68 
70  DtSimEntry* findSimEntry(DtUniqueID id);
71 
73  const SimEntryMap& simEntryMap();
74 
77  void addStateToSimEvent(DtSimState* state);
78 
82  void signalEvent();
83 
85  void addEventSignaler(SignalerAccessorFunction accessor,
86  DtVirtualBaseClass* instance);
87 
89  DtVirtualBaseClass* findEventSignaler(SignalerAccessorFunction accessor);
90 
92  boost::signal<void (DtSimObjectEntry&)> signal_simObjectEntryAdded;
93 
95  boost::signal<void (DtSimObjectEntry&)> signal_simObjectEntryToBeRemoved;
96 
98  boost::signal<void (DtSimObjectEntry&)> signal_simStateAdded;
99 
102  boost::signal<void (DtSimObjectEntry&)> signal_simStateToBeRemoved;
103 
105  boost::signal<void (DtSimEventEntry&)> signal_simEventTriggered;
106 
107  protected:
108 
110  DtSimEventEntry& entry();
111 
112  protected:
113 
114  typedef boost::unordered_map<SignalerAccessorFunction,
116 
121 
122  };
123 }

Document ID: Generated on Mon Apr 8 19:24:01 EDT 2013 from SVN revision 125877
Copyright © 2005-2013 VT MÄK. All Rights Reserved (www.mak.com)