VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtExampleCommLinesDriver.h
Go to the documentation of this file.
1 /*****************************************************************************
2  * Copyright (c) 2024 MAK Technologies, Inc.
3  * All rights reserved.
4  *****************************************************************************/
5 
9 
10 #pragma once
11 
12 #include <vrvCore/DtDriver.h>
14 
16 
17 #include <unordered_map>
18 
19 #include <matrix/vlTaitBryan.h>
20 #include <matrix/vlVector.h>
21 
22 namespace makVrv
23 {
24  class DtEntityFacade;
25  class DtCoordinateSystem;
26  enum class DtModelSetId;
27 }
28 
32 {
33 public:
34 
37 
39  virtual ~DtExampleCommLinesDriver();
40 
43 
46  virtual const std::string& className() const;
47 
50  virtual bool onStart();
51 
54  virtual bool onStop();
55 
58  virtual bool onTick();
59 
62  virtual void slot_displayEngineAdded( const makVrv::DtDeRecord& igRecord );
63 
65 
66 protected:
67 
71  const makVrv::DtModelSetRealizationManager::ModelSetRealizations& modelSets, bool distribute );
72 
74  virtual void updatePosition();
75 
77  virtual void updateCommLines( makVrv::DtModelSetId modelSet );
78 
80  virtual void repositionAircraft( DtVector position, DtTaitBryan ori );
81 
83  virtual void slot_coordinateSystemChanged();
84 
85 protected:
86 
87  typedef std::unordered_map<makVrv::DtModelSetId, makVrv::DtElementID> ElementIdsByModelSet;
89 
91 
93  DtVector myOrbitCenter;
94 
97  double myClockAngle;
98  double myRadius;
99  double myRoll;
100 
102 
106 };
double myClockAngle
Definition: DtExampleCommLinesDriver.h:97
Contains makVrv::DtModelSetRealizationManager class.
virtual void updateCommLines(makVrv::DtModelSetId modelSet)
Instantiates comm lines if they have timed out.
double myRoll
Definition: DtExampleCommLinesDriver.h:99
double myAngularVelocity
Definition: DtExampleCommLinesDriver.h:92
virtual void repositionAircraft(DtVector position, DtTaitBryan ori)
Positions the aircraft at the given coordinates.
makVrv::DtEntityFacade * createEntityFacade(makVrv::DtAgentManager &am, makVrv::DtElementID elementId, const makVrv::DtModelSetRealizationManager::ModelSetRealizations &modelSets, bool distribute)
Creates an entity facade for an F-18. Properly initializes the individual 3d/2d/Colorized facades...
virtual bool onStop()
Performs shutdown logic for the driver.
std::unordered_map< makVrv::DtModelSetId, makVrv::DtElementID > ElementIdsByModelSet
Definition: DtExampleCommLinesDriver.h:87
A Record of an IG instance.
Definition: DtDeRecord.h:24
double myLastUpdateTime
Definition: DtExampleCommLinesDriver.h:96
makVrv::DtCoordinateSystem * myCoordinateSystem
local clone of the system wide coordinate system. for thread safety.
Definition: DtExampleCommLinesDriver.h:105
virtual ~DtExampleCommLinesDriver()
Virtual DTOR.
virtual const std::string & className() const
Returns the driver&#39;s class name.
DtUniqueID DtElementID
The ElementID is a specific type of unique ID used to represent VR-Vantage uniquely defined elements...
Definition: DtUniqueID.h:23
virtual bool onStart()
Performs startup logic for the driver.
ElementIdsByModelSet myElementIds
Definition: DtExampleCommLinesDriver.h:88
virtual void slot_coordinateSystemChanged()
slot for when the coordinate system changes
The DtEntityFacade is a facade around agents that make up an entity. This entity facade represents a ...
Definition: DtEntityFacade.h:35
double myRadius
Definition: DtExampleCommLinesDriver.h:98
The DtDriver is an abstract class. Developers derive from this to create logic that &quot;directs&quot; things ...
Definition: DtDriver.h:30
Class to manage disconnection of boost connections on deletion.
Definition: DtSignalConnectionManager.h:20
makVrv::DtEntityFacade * myEntityFacade
Definition: DtExampleCommLinesDriver.h:90
virtual bool onTick()
Performs update logic for the driver.
The DtAgentManager manages the distributed scene object framework. This includes the objects and upda...
Definition: DtAgentManager.h:38
Contains makVrv:DtDriver class.
The DtCoordinateSystem is used to manage the current coordinate system of the scene.
Definition: DtCoordinateSystem.h:40
double myLastCommLineTime
Definition: DtExampleCommLinesDriver.h:95
std::map< DtModelSetId, bool > ModelSetRealizations
Definition: DtModelSetRealizationManager.h:42
Base class to provide boost signal/slot management.
makVrv::DtSignalConnectionManager myConnections
Definition: DtExampleCommLinesDriver.h:101
This driver demonstrates drawing communication lines.
Definition: DtExampleCommLinesDriver.h:31
DtVector myOrbitCenter
Definition: DtExampleCommLinesDriver.h:93
DtExampleCommLinesDriver(makVrv::DtAgentManager &am)
CTOR.
DtModelSetId
Definition: DtModelSetEnums.h:19
virtual void updatePosition()
Updates the current position / orientation of the entity.
virtual void slot_displayEngineAdded(const makVrv::DtDeRecord &igRecord)
Ensures the driver is properly restarted when a De is connected.

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)