VR-Forces 4.8 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtTickableManagerInterface.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 
14 #include <vlutil/vlTime.h>
15 
16 #include <boost/signal.hpp>
17 
18 namespace makVrv
19 {
20 
21  class DtTickable;
22 
26  {
27  public:
29  virtual ~DtTickableManagerInterface();
30 
36  virtual bool addTickableObject( DtTickable* ticObj ) = 0;
37 
43  virtual bool addTickableObjectToMainList(DtTickable* ticObj) = 0;
44 
48  virtual bool addTickableObjectToThreadSafeList(DtTickable* ticObj) = 0;
49 
56  virtual void removeTickableObject( DtTickable* ticObj ) = 0;
57 
60  virtual void removeTickableObjectFromMainList(DtTickable* ticObj) = 0;
61 
64  virtual void removeTickableObjectFromThreadSafeList(DtTickable* ticObj) = 0;
65 
68  virtual void tick(DtTime tNow = 0.0 ) = 0;
69 
71  virtual bool inTick() = 0;
72 
74  virtual int numTickables() = 0;
75 
77  // May want how many thread safe tickables reported instead
78  virtual int numMultithreadedTickables() = 0;
79 
81  virtual int numTickedLastFrame() = 0;
82 
84  virtual double timeSpentThisFrame() = 0;
85 
86  boost::signal<void ()> signal_aboutToBeDeleted;
87 
89  virtual bool useAdaptiveTickRate() = 0;
90 
92  virtual void setUseAdaptiveTickRate(bool value) = 0;
93 
95  virtual void resetAdaptiveTickrate() = 0;
96 
99  virtual void setUseMultithreadUpdate(bool useIt) = 0;
100 
103  virtual bool useMultithreadUpdate() const = 0;
104  };
105 
106 }
107 
108 
An abstract interface for managers of DtTickable objects.
Definition: DtTickableManagerInterface.h:25
An abstract base class for objects that require updates.
Definition: DtTickable.h:26
boost::signal< void()> signal_aboutToBeDeleted
Definition: DtTickableManagerInterface.h:86
#define DT_DLL_VRVCORE
Definition: vrvCore.h:20
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)