VR-Forces 4.3 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
DtSimEntry.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2009 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 /******************************************************************************
6 ** $RCSfile: DtSimEntry.h,v $ $Revision: 1.14 $ $State: Exp $
7 ******************************************************************************/
8 
12 
13 #ifndef DtSimEntry_H_
14 #define DtSimEntry_H_
15 
16 #include <vrvCore/vrvCore.h>
17 #include <vrvCore/DtUniqueID.h>
19 
20 #include <vector>
21 #include <map>
22 
23 namespace makVrv
24 {
25  class DtDe;
26  struct DtSimState;
27  class DtBaseStateView;
28 
32  {
33  public:
34 
36  friend class DtSimData;
37 
39  DtSimEntry(DtDe& de, DtUniqueID id);
40 
42  virtual ~DtSimEntry();
43 
45  typedef std::vector<DtSimState*> SimStateVector;
46 
48  typedef std::multimap< DtSimEntryUpdater::UpdateRate, DtBaseStateView* > UpdateRateMap;
49 
51  const SimStateVector& simStates() const;
52 
54  bool addState(DtSimState* state);
55 
57  bool removeState(DtSimState* state);
58 
60  void forceUpdate(DtBaseStateView* stateView);
61 
64  void setUpdateRate(DtSimEntryUpdater::UpdateRate rate, DtBaseStateView* stateView);
65 
67  DtSimEntryUpdater::UpdateRate rateForView(DtBaseStateView* stateView) const;
68 
71  void stateUpdated();
72 
74  DtUniqueID id() const;
75 
76  protected:
77 
78  //Clears out the internal state.
79  void reset();
80 
83  void addStateViewToUpdateRateMap(DtSimEntryUpdater::UpdateRate rate,
84  DtBaseStateView* stateView);
85 
88  void removeStateViewFromUpdateRateMap(DtBaseStateView* stateView);
89 
91  DtSimEntryUpdater::UpdateRate maxUpdateRate();
92 
94  DtSimEntryUpdater::UpdateRate minUpdateRate();
95 
96  protected:
97 
102  unsigned long long myUpdateCounter;
104  };
105 }
106 
107 #endif
108 

Document ID: Generated on Wed Mar 11 21:20:57 EDT 2015 from SVN revision 150940
Copyright © 2005-2014 VT MÄK. All Rights Reserved (www.mak.com)