VR-Forces 4.8 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 }
boost::signal< void(DtSimObjectEntry &, DtSimState &)> signal_simStateAdded
Signal emitted when a DtSimState is added to a DtSimEntry.
Definition: DtSimData.h:95
boost::signal< void(DtSimEventEntry &)> signal_simEventTriggered
Signal emitted when a simulation event occurs.
Definition: DtSimData.h:102
Virtual base class.
Definition: DtVirtualBaseClass.h:22
boost::signal< void(DtSimObjectEntry &)> signal_simObjectEntryAdded
Signal emitted when a DtSimObjectEntry is added.
Definition: DtSimData.h:89
DtDe & myDe
Definition: DtSimData.h:114
The DtSimData is the repository for simulation specific, read only data.
Definition: DtSimData.h:31
A DtSimEventEntry is an entry for a event like an interaction.
Definition: DtSimEventEntry.h:25
A DtSimEntry is a container of DtSimState&#39;s and represents the total state of an simulation object...
Definition: DtSimEntry.h:31
boost::unordered_map< DtUniqueID, DtSimEntry * > SimEntryMap
Map of unique id&#39;s to DtSimEntry&#39;s.
Definition: DtSimData.h:37
boost::signal< void(DtSimObjectEntry &)> signal_simObjectEntryToBeRemoved
Signal emitted when a DtSimObjectEntry is about to be removed.
Definition: DtSimData.h:92
SimEntryMap mySimEntryMap
Definition: DtSimData.h:115
#define DT_DLL_VRVCORE
Definition: vrvCore.h:20
SignalerMap myEventSignalers
Definition: DtSimData.h:117
boost::signal< void(DtSimObjectEntry &, DtSimState &)> signal_simStateToBeRemoved
Signal emitted when a DtSimEntry is about to be removed from a DtSimObjectEntry.
Definition: DtSimData.h:99
unsigned long long DtUniqueID
Definition: DtUniqueID.h:22
A DtSimState is the base class for all state objects.
Definition: DtSimState.h:22
Contains makVrv::DtUniqueID type.
The DtDe is the core component of any VR-Vantage application.
Definition: DtDe.h:69
DtSimEventEntry * myEventEntry
Definition: DtSimData.h:116
boost::unordered_map< SignalerAccessorFunction, DtVirtualBaseClass * > SignalerMap
Definition: DtSimData.h:112
Contains DLL export macros.

Document ID: Generated on Thu Aug 27 10:56:05 EDT 2020 from SVN revision 217100
Copyright © 2005-2020 MAK Technologies. All Rights Reserved (www.mak.com)