VR-Forces Developer's Guide
 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 <vrvUtil/signalslib.h>
17 
18 namespace makVrv
19 {
20 
21  class DtTickable;
22  class DtSceneObject;
23 
27  {
28  public:
30  virtual ~DtTickableManagerInterface();
31 
37  virtual bool addTickableObject( DtTickable* ticObj ) = 0;
38 
44  virtual bool addTickableObjectToMainList(DtTickable* ticObj) = 0;
45 
49  virtual bool addTickableObjectToThreadSafeList(DtTickable* ticObj) = 0;
50 
57  virtual void removeTickableObject( DtTickable* ticObj ) = 0;
58 
61  virtual void removeTickableObjectFromMainList(DtTickable* ticObj) = 0;
62 
65  virtual void removeTickableObjectFromThreadSafeList(DtTickable* ticObj) = 0;
66 
69  virtual void tick(DtTime tNow = 0.0 ) = 0;
70 
72  virtual bool inTick() = 0;
73 
75  virtual int numTickables() = 0;
76 
78  // May want how many thread safe tickables reported instead
79  virtual int numMultithreadedTickables() = 0;
80 
82  virtual int numTickedLastFrame() = 0;
83 
85  virtual double timeSpentThisFrame() = 0;
86 
87  boost::signalslib::signal<void ()> signal_aboutToBeDeleted;
88 
90  virtual bool useAdaptiveTickRate() = 0;
91 
93  virtual void setUseAdaptiveTickRate(bool value) = 0;
94 
96  virtual void resetAdaptiveTickrate() = 0;
97 
100  virtual void setUseMultithreadUpdate(bool useIt) = 0;
101 
104  virtual bool useMultithreadUpdate() const = 0;
105  };
106 
107 }
108 
109 
An abstract interface for managers of DtTickable objects.
Definition: DtTickableManagerInterface.h:26
An abstract base class for objects that require updates. This object automatically adds itself to a D...
Definition: DtTickable.h:26
boost::signalslib::signal< void()> signal_aboutToBeDeleted
Definition: DtTickableManagerInterface.h:87
#define DT_DLL_VRVCORE
Definition: vrvCore.h:20
Contains DLL export macros.

Document ID: Generated on Wed Mar 27 22:49:11 EDT 2024 from SVN revision 264633
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)