VR-Forces 5.0.1 Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
legionEventTranslator.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2020 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
8 
9 #pragma once
10 
12 #include <tbb/spin_mutex.h>
13 #include <boost/signals2.hpp>
14 
15 namespace makVrfEvents
16 {
17  class DtEvent;
18 }
19 
20 namespace Legion
21 {
22  class EventManager;
23  class ControlManager;
24  class EventInstance;
25 };
26 
27 namespace makVrf
28 {
29  class DtLegionEventTranslatorManager;
30  class DtLegionNetworkInterface;
31 
33  {
34  public:
36 
37  virtual ~DtLegionEventTranslator();
38 
40  virtual void init(DtLegionNetworkInterface*);
41 
44  virtual bool processEvent(const makVrfEvents::DtEvent&, bool& selfReflected);
45  virtual bool sendEventWithoutReflection(const makVrfEvents::DtEvent&);
46 
47  virtual void sendEvent(const makVrfEvents::DtEvent&, bool selfReflect) = 0;
48 
49  virtual void beginFrame();
50 
52 
53  virtual void advanceFrame();
54 
55  virtual void setProcessSelfReflect(bool b);
56 
57  bool processSelfReflect() const
58  {
59  return myProcessSelfReflect;
60  }
61 
62  boost::signals2::signal<void (const makVrfEvents::DtEvent&)> signal_receivedEvent;
63 
64  protected:
65  virtual unsigned int addEvent(const Legion::EventInstance& inter, bool selfReflectOverride = false);
66 
67  protected:
69  Legion::EventManager* myLegionEventManager;
70  Legion::ControlManager* myLegionControlManager;
72 
73  tbb::spin_mutex myQueuedEventsMutex;
74  std::vector<std::pair<makVrfEvents::DtEvent*, bool> > myQueuedEvents;
75  };
76 }
#define DT_DLL_legionNetworkInterface
This file is used to determine how to build Disable inconsistent dll linkage warning Visual Studio 6...
Definition: legionNetworkInterfaceDefines.h:26
tbb::spin_mutex myQueuedEventsMutex
Definition: legionEventTranslator.h:73
Definition: event.h:13
std::vector< std::pair< makVrfEvents::DtEvent *, bool > > myQueuedEvents
Definition: legionEventTranslator.h:74
bool processSelfReflect() const
Definition: legionEventTranslator.h:57
Legion::ControlManager * myLegionControlManager
Definition: legionEventTranslator.h:70
class DtLegionNetworkInterface:
Definition: legionNetworkInterface.h:53
Legion::EventManager * myLegionEventManager
Definition: legionEventTranslator.h:69
DtLegionNetworkInterface * myNetworkInterface
Definition: legionEventTranslator.h:68
Definition: legionEventTranslator.h:32
DT_DLL_DEBUGDRAWRENDERER void init(makVrv::DtDe &de)
Work function for the plugin initialization.
boost::signals2::signal< void(const makVrfEvents::DtEvent &)> signal_receivedEvent
Definition: legionEventTranslator.h:62
bool myProcessSelfReflect
Definition: legionEventTranslator.h:71

Document ID: Generated on Mon Jun 20 00:38:30 EDT 2022 from SVN revision 244029
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)