VR-Forces 5.0.2 Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtTemporaryAgentManager.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2020 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 
9 
10 #ifndef DtTemporaryEffectsManager_H_
11 #define DtTemporaryEffectsManager_H_
12 
13 #include <vrvCore/vrvCore.h>
14 
15 #include <queue>
16 #include <vrvUtil/signalslib.h>
17 
18 #include <matrix/vlVector.h>
19 
20 namespace makVrv
21 {
22 
23  class DtAgent;
24  class DtAgentManagerInterface;
25 
33  {
34  public:
35 
37  DtTemporaryAgentManager(double currentTime);
38 
40  virtual ~DtTemporaryAgentManager();
41 
48  virtual void takeAgent(DtAgent* agent, double lifeTime,
49  double deleteDelay = 0.0);
50 
52  void clearAll();
53 
55  virtual void tick(double currentTime);
56 
58  boost::signalslib::signal<void (DtAgent*)> signal_agentTimedOut;
59 
61  {
63  double timeToDelete;
64 
65  };
66 
67  protected:
68 
69  // first item is the one with the soonest exp time
70  typedef std::priority_queue < AgentParameters, std::vector<AgentParameters>, std::greater<AgentParameters> > AgentCollection;
71 
73  double myLastTime;
74  };
75 
77  {
78  return lhs.timeToDelete > rhs.timeToDelete;
79  }
80 
81 }
82 
83 #endif
84 
double myLastTime
Definition: DtTemporaryAgentManager.h:73
std::priority_queue< AgentParameters, std::vector< AgentParameters >, std::greater< AgentParameters > > AgentCollection
Definition: DtTemporaryAgentManager.h:70
A distributed object agent base class.
Definition: DtAgent.h:54
boost::signalslib::signal< void(DtAgent *)> signal_agentTimedOut
Emitted when a temporary agent times out.
Definition: DtTemporaryAgentManager.h:58
bool operator>(const DtTemporaryAgentManager::AgentParameters &lhs, const DtTemporaryAgentManager::AgentParameters &rhs)
Definition: DtTemporaryAgentManager.h:76
The temporary agent manager. This manager is used to add timed DtAgents to the scene, such as detonation effects.
Definition: DtTemporaryAgentManager.h:32
DtAgent * agent
Definition: DtTemporaryAgentManager.h:62
#define DT_DLL_VRVCORE
Definition: vrvCore.h:20
AgentCollection myAgents
Definition: DtTemporaryAgentManager.h:72
double timeToDelete
Definition: DtTemporaryAgentManager.h:63
Definition: DtTemporaryAgentManager.h:60
Contains DLL export macros.

Document ID: Generated on Sun Dec 4 20:22:03 EST 2022 from SVN revision 249613
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)