VR-Forces 4.10 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtSimEntry.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 <vrvCore/vrvCore.h>
13 #include <vrvCore/DtUniqueID.h>
15 
16 #include <vector>
17 #include <map>
18 
19 namespace makVrv
20 {
21  class DtDe;
22  struct DtSimState;
23  class DtBaseStateView;
24 
28  {
29  public:
30 
32  friend class DtSimData;
33 
35  DtSimEntry(DtDe& de, DtUniqueID id);
36 
38  virtual ~DtSimEntry();
39 
41  typedef std::vector<DtSimState*> SimStateVector;
42 
44  typedef std::multimap< DtSimEntryUpdater::UpdateRate, DtBaseStateView* > UpdateRateMap;
45 
47  const SimStateVector& simStates() const;
48 
50  bool addState(DtSimState* state);
51 
53  bool removeState(DtSimState* state);
54 
56  void forceUpdate(DtBaseStateView* stateView);
57 
61  void setUpdateRate(DtSimEntryUpdater::UpdateRate rate, DtBaseStateView* stateView);
62 
64  DtSimEntryUpdater::UpdateRate rateForView(DtBaseStateView* stateView) const;
65 
68  void stateUpdated();
69 
71  DtUniqueID id() const;
72 
73  protected:
74 
75  //Clears out the internal state.
76  void reset();
77 
80  void addStateViewToUpdateRateMap(DtSimEntryUpdater::UpdateRate rate,
81  DtBaseStateView* stateView);
82 
85  void removeStateViewFromUpdateRateMap(DtBaseStateView* stateView);
86 
88  DtSimEntryUpdater::UpdateRate maxUpdateRate();
89 
91  DtSimEntryUpdater::UpdateRate minUpdateRate();
92 
93  protected:
94  typedef std::vector<DtBaseStateView*> ForcedUpdateVector;
95 
101  unsigned long long myUpdateCounter;
102  };
103 }
104 
105 
UpdateRateMap myUpdateRateMap
Definition: DtSimEntry.h:100
UpdateRate
Definition: DtSimEntryUpdater.h:31
std::vector< DtBaseStateView * > ForcedUpdateVector
Definition: DtSimEntry.h:94
The DtSimData is the repository for simulation specific, read only data.
Definition: DtSimData.h:31
A DtBaseStateView is a the base class for all DtStateView&#39;s.
Definition: DtStateView.h:25
DtUniqueID myId
Definition: DtSimEntry.h:97
ForcedUpdateVector myForcedUpdateVector
Definition: DtSimEntry.h:99
A DtSimEntry is a container of DtSimState&#39;s and represents the total state of an simulation object...
Definition: DtSimEntry.h:27
std::vector< DtSimState * > SimStateVector
A vector of DtSimState&#39;s.
Definition: DtSimEntry.h:41
#define DT_DLL_VRVCORE
Definition: vrvCore.h:20
std::multimap< DtSimEntryUpdater::UpdateRate, DtBaseStateView * > UpdateRateMap
A multimap of the update rates and DtEventView&#39;s to be updated at that rate.
Definition: DtSimEntry.h:44
unsigned long long myUpdateCounter
Definition: DtSimEntry.h:101
unsigned long long DtUniqueID
Definition: DtUniqueID.h:19
DtDe & myDe
Definition: DtSimEntry.h:96
Contains makVrv::DtSimEntryUpdater class.
A DtSimState is the base class for all state objects.
Definition: DtSimState.h:19
SimStateVector mySimStateVector
Definition: DtSimEntry.h:98
Contains makVrv::DtUniqueID type.
The DtDe is the core component of any VR-Vantage application.
Definition: DtDe.h:69
Contains DLL export macros.

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)