VR-Forces 5.0.2 Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
reactiveTaskOrganizer.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2009 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 
8 
10 
11 #pragma once
12 
13 #include <vrfGuiCore/vrfGuiCore.h>
16 
17 #include <vrvCore/DtStateView.h>
18 
19 
20 #include <boost/function.hpp>
21 
22 namespace makVrv
23 {
24  class DtDe;
25  class DtSimObjectEntry;
26 }
27 
28 class DtScriptedTaskTask;
29 
30 namespace makVrf
31 {
35  {
36  public:
39 
41  virtual ~DtReactiveTaskOrganizer();
42 
44  virtual void organize(const std::vector<makVrv::DtSimEntry*>&);
45 
48  boost::signals2::signal<void ()> signal_organized;
49 
53  virtual bool addEnabledStatesTheSame(const DtSimTaskMessageType&, bool& enabled) const;
54 
57  virtual bool allPrioritiesAreTheSame(const DtSimTaskMessageType&, int& priority) const;
58 
60  virtual const std::set<DtSimTaskMessageType>& disabledScripts() const;
61 
63  virtual const std::set<DtSimTaskMessageType>& commonScripts() const;
64 
66  virtual const std::set<DtSimTaskMessageType>& enabledScripts() const;
67 
69  virtual int maxPriority() const;
70 
73  virtual int maxNonMixedPriority() const;
74 
78  virtual std::vector<DtScriptedTaskVariable> variablesFor(const DtSimTaskMessageType&) const;
79 
80  protected:
82  virtual void slot_simObjectEntryAboutToBeRemoved(makVrv::DtSimObjectEntry& entry);
83 
85  virtual void allTasksReceived();
86 
88  virtual const DtScriptedTaskTask* scriptedTaskFor(const DtSimTaskMessageType& id,
89  const DtVrfCurrentTaskManager::EntityTaskInformation& taskInformation) const;
90 
91  protected:
93  std::vector<makVrv::DtUniqueID> myEntries;
95  std::set<DtSimTaskMessageType> myCommonScripts;
96  std::set<DtSimTaskMessageType> myEnabledScripts;
97  std::set<DtSimTaskMessageType> myDisabledScripts;
98  };
99 }
Contains makVrv::DtStateView class.
The DtReactiveTaskOrganizer class will organize reactive tasks for the given group of entities...
Definition: reactiveTaskOrganizer.h:34
std::set< DtSimTaskMessageType > myCommonScripts
Definition: reactiveTaskOrganizer.h:95
makVrv::DtDe & myDe
Definition: reactiveTaskOrganizer.h:92
#define DT_DLL_VRFGUICORE
Contains DLL export macros.
Definition: vrfGuiCore.h:25
Specialized classes.
Definition: scriptedTaskTask.h:274
A DtSimObjectEntry is an entry for a persistent simulation object like an entity. ...
Definition: DtSimObjectEntry.h:22
std::set< DtSimTaskMessageType > myEnabledScripts
Definition: reactiveTaskOrganizer.h:96
int myMaximumPriority
Definition: reactiveTaskOrganizer.h:94
The DtDe is the core component of any VR-Vantage application. It owns a DtRenderer, DtDeCommunicator, as well as a DtDisplay and other things.
Definition: DtDe.h:70
boost::signals2::signal< void()> signal_organized
When all immediately requested tasks are received (via the DtVrfCurrentTaskManager) this signal is se...
Definition: reactiveTaskOrganizer.h:48
std::vector< makVrv::DtUniqueID > myEntries
Definition: reactiveTaskOrganizer.h:93
std::set< DtSimTaskMessageType > myDisabledScripts
Definition: reactiveTaskOrganizer.h:97
std::vector< TaskInformation > EntityTaskInformation
Definition: vrfCurrentTaskManager.h:60

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)