VR-Forces 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 
19 #include <boost/function.hpp>
20 
21 namespace makVrv
22 {
23  class DtDe;
24  class DtSimObjectEntry;
25 }
26 
27 class DtScriptedTaskTask;
28 
29 namespace makVrf
30 {
34  {
35  public:
38 
40  virtual ~DtReactiveTaskOrganizer();
41 
43  virtual void organize(const std::set<makVrv::DtUniqueID>&);
44 
47  boost::signals2::signal<void ()> signal_organized;
48 
52  virtual bool addEnabledStatesTheSame(const DtSimTaskMessageType&, bool& enabled) const;
53 
56  virtual bool allPrioritiesAreTheSame(const DtSimTaskMessageType&, int& priority) const;
57 
59  virtual const std::set<DtSimTaskMessageType>& disabledScripts() const;
60 
62  virtual const std::set<DtSimTaskMessageType>& commonScripts() const;
63 
65  virtual const std::set<DtSimTaskMessageType>& enabledScripts() const;
66 
68  virtual int maxPriority() const;
69 
72  virtual int maxNonMixedPriority() const;
73 
77  virtual std::vector<DtScriptedTaskVariable> variablesFor(const DtSimTaskMessageType&) const;
78 
79  protected:
81  virtual void slot_simObjectEntryAboutToBeRemoved(DtSimObjectReference entry);
82 
84  virtual void allTasksReceived();
85 
87  virtual const DtScriptedTaskTask* scriptedTaskFor(const DtSimTaskMessageType& id,
88  const DtVrfCurrentTaskManager::EntityTaskInformation& taskInformation) const;
89 
90  protected:
92  std::vector<makVrv::DtUniqueID> myEntries;
94  std::set<DtSimTaskMessageType> myCommonScripts;
95  std::set<DtSimTaskMessageType> myEnabledScripts;
96  std::set<DtSimTaskMessageType> myDisabledScripts;
98  };
99 }
The DtReactiveTaskOrganizer class will organize reactive tasks for the given group of entities...
Definition: reactiveTaskOrganizer.h:33
std::set< DtSimTaskMessageType > myCommonScripts
Definition: reactiveTaskOrganizer.h:94
makVrv::DtSignalConnectionManager myConnections
Definition: reactiveTaskOrganizer.h:97
makVrv::DtDe & myDe
Definition: reactiveTaskOrganizer.h:91
#define DT_DLL_VRFGUICORE
Contains DLL export macros.
Definition: vrfGuiCore.h:25
Specialized classes.
Definition: scriptedTaskTask.h:277
std::set< DtSimTaskMessageType > myEnabledScripts
Definition: reactiveTaskOrganizer.h:95
Class to manage disconnection of boost connections on deletion.
Definition: DtSignalConnectionManager.h:20
int myMaximumPriority
Definition: reactiveTaskOrganizer.h:93
Base class to provide boost signal/slot management.
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:76
boost::signals2::signal< void()> signal_organized
When all immediately requested tasks are received (via the DtVrfCurrentTaskManager) this signal is se...
Definition: reactiveTaskOrganizer.h:47
std::vector< makVrv::DtUniqueID > myEntries
Definition: reactiveTaskOrganizer.h:92
std::set< DtSimTaskMessageType > myDisabledScripts
Definition: reactiveTaskOrganizer.h:96
std::vector< TaskInformation > EntityTaskInformation
Definition: vrfCurrentTaskManager.h:60

Document ID: Generated on Thu Oct 23 22:29:17 EDT 2025 from SVN revision 280951
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)