VR-Forces 5.0.1 Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtLegionDriver.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 <vrvLegion/vrvLegion.h>
13 
14 #include <vrvVrl/DtVrlinkDriver.h>
15 
16 #include <boost/function.hpp>
17 #include <boost/signal.hpp>
18 
19 class DtThread;
20 class DtEntityType;
21 
22 namespace Legion
23 {
24  class Configuration;
25 }
26 
27 namespace makVrv
28 {
29  class DtLegionConnection;
30  class DtLegionEventHandler;
31 
33  {
34  public:
35 
37  DtLegionDriver(DtAgentManager& agentManager, const std::string& uniqueName,
38  const std::string& className = "DtLegionDriver");
39 
41  virtual ~DtLegionDriver();
42 
43  virtual bool onStart();
44  virtual bool onTick();
45  virtual bool onStop();
46 
47  void updateDrawCount();
48 
50  virtual void realizeConfiguration(const DtConfiguration& config);
51 
53  virtual DtConfiguration createConfiguration() const;
54 
55 
56  virtual Legion::Configuration* config() { return myConfiguration; }
57 
59  static void getDeviceAddressList(std::vector<std::string>& deviceAddrs);
60 
61  virtual void setVisualizedEntities(int count);
62  virtual void setReceivedEntities(int count);
63  virtual void setTotalEntities(int count);
64 
65  virtual void toggleUi();
66 
67  protected:
69  virtual DtConnection* createConnection();
70 
71  virtual void updateObservers();
72  virtual void updateUi();
73  virtual int drawnDiGuys();
74 
75  protected:
76  Legion::Configuration* myConfiguration;
77  DtLegionEventHandler* myEventHandler;
78 
79  //stats holders
82 
83  //for adjusting entities drawn for performance
87 
88  //frame sensitivity settings
96 
97  bool myShowUi;
98  };
99 
103  {
104  public:
107 
109  virtual ~DtLegionDriverCreator();
110 
113  virtual const std::string& extension() const;
114 
116  virtual DtDriver* create(DtAgentManager& agentManager, const std::string& instanceName) const;
117 
118  protected:
119  std::string myFileExtension;
120  };
121 }
int myGoodCountLimit
Definition: DtLegionDriver.h:91
The base class for protocol specific VRLink Simulations.
Definition: DtConnection.h:41
int myLowWatermark
Definition: DtLegionDriver.h:90
Creator class for the DIS driver.
Definition: DtLegionDriver.h:102
double myAvgFrameTime
Definition: DtLegionDriver.h:84
bool myShowUi
Definition: DtLegionDriver.h:97
DtLegionEventHandler * myEventHandler
Definition: DtLegionDriver.h:77
int myTotalCount
Definition: DtLegionDriver.h:81
bool myUseNetworkAppearances
Definition: DtLegionDriver.h:94
int myBadCountLimit
Definition: DtLegionDriver.h:92
int myRealizeCount
Definition: DtLegionDriver.h:85
int myReceivedCount
Definition: DtLegionDriver.h:80
Legion::Configuration * myConfiguration
Definition: DtLegionDriver.h:76
#define VRV_LEGION_DLL
Definition: export.h:24
int myVisualizedCount
Definition: DtLegionDriver.h:86
The DtDriver is an abstract class. Developers derive from this to create logic that &quot;directs&quot; things ...
Definition: DtDriver.h:31
std::string myFileExtension
Definition: DtLegionDriver.h:119
The DtAgentManager manages the distributed scene object framework. This includes the objects and upda...
Definition: DtAgentManager.h:38
int myMaxRealizeCount
Definition: DtLegionDriver.h:93
int myHighWatermark
Definition: DtLegionDriver.h:89
The base implementation of a configuration.
Definition: DtConfiguration.h:24
int myLastRealizeCount
Definition: DtLegionDriver.h:95
virtual Legion::Configuration * config()
Definition: DtLegionDriver.h:56
Abstract DtDriver creator.
Definition: DtDriver.h:201
Definition: DtLegionDriver.h:32

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)