VR-Forces 5.0.1 Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtGimbalDriver.h
Go to the documentation of this file.
1 /*****************************************************************************
2  * Copyright (c) 2019 MAK Technologies, Inc.
3  * All rights reserved.
4  *****************************************************************************/
5 
9 
10 #pragma once
11 
12 #include <vrvCore/DtDriver.h>
13 
15 
16 #include <string>
17 
18 
19 namespace makVrv
20 {
21  class DtGeoReference;
22  class DtSceneObjectAgent;
23  class DtSceneObject;
24 }
25 
26 class DtGeodeticCoord;
27 
38 {
39 public:
40 
43 
45  virtual ~DtGimbalDriver();
46 
49 
52  virtual const std::string& className() const;
53 
54  protected:
60  virtual bool onStart();
61 
65  virtual bool onStop();
66 
78  virtual bool onTick();
79 
84  virtual void attachObserverToEntity( const std::string& entityName );
85 
89  virtual void slot_displayEngineAdded( const makVrv::DtDeRecord& igRecord );
91 
96  virtual bool initialize();
97 
101  virtual void slot_coordinateSystemChanged();
102 
103 
104 private:
106  DtGimbalDriver();
107 
108 protected:
111  makVrv::DtSceneObjectAgent* myGimbalSceneObjectAgent;
115  DtGeodeticCoord* myTargetLocation;
116 };
makVrv::DtSignalConnectionManager mySignalConnections
Definition: DtGimbalDriver.h:114
makVrv::DtSceneObject * myPlaneSceneObject
Definition: DtGimbalDriver.h:112
The DtGeoReference class provides a mechanism to convert between geodetic coordinates and topocentric...
Definition: DtGeoReference.h:28
A Record of an IG instance.
Definition: DtDeRecord.h:24
virtual void attachObserverToEntity(const std::string &entityName)
Tells the current observer to attach to the named entity. This method uses an observer state record...
virtual void slot_displayEngineAdded(const makVrv::DtDeRecord &igRecord)
Ensures the driver is properly restarted when a de is connected (such as a remote display engine)...
virtual bool onStart()
Performs startup logic for the driver. In this case, this method is a no-op (but must be implemented ...
makVrv::DtElementID myGimbalId
Definition: DtGimbalDriver.h:113
The DtDriver is an abstract class. Developers derive from this to create logic that &quot;directs&quot; things ...
Definition: DtDriver.h:31
DtGimbalDriver()
Unimplemented CTOR to prevent auto-creation.
virtual const std::string & className() const
Returns the driver&#39;s class name.
Class to manage disconnection of boost connections on deletion.
Definition: DtSignalConnectionManager.h:20
virtual ~DtGimbalDriver()
Virtual DTOR.
The DtAgentManager manages the distributed scene object framework. This includes the objects and upda...
Definition: DtAgentManager.h:38
Contains makVrv:DtDriver class.
virtual bool initialize()
initialize() looks for the plane created by DtExampleDriver (or DtExampleDriverPlugin). When found, it creates a Gimbal element that can be (logically) attached to the plane. It also creates the DtGeoReferences to use for topocentric operations to correctly place the Gimbal element and put the target into Gimbal coordinates.
Base class to provide boost signal/slot management.
DtGeodeticCoord * myTargetLocation
Definition: DtGimbalDriver.h:115
DtGimbalDriver looks for the plane element created by DtExampleDriver (or DtDriverExamplePlugin) and ...
Definition: DtGimbalDriver.h:37
A DtSceneObject represents an object that can be positioned in the scene by (possibly) attaching it t...
Definition: DtSceneObject.h:42
makVrv::DtSceneObjectAgent * myGimbalSceneObjectAgent
Definition: DtGimbalDriver.h:111
makVrv::DtGeoReference * myPlaneGeoRef
Definition: DtGimbalDriver.h:109
makVrv::DtGeoReference * myGimbalGeoRef
Definition: DtGimbalDriver.h:110
virtual bool onStop()
Performs shutdown logic for the driver. Deletes the Gimbal Element and GeoReference objects...
virtual void slot_coordinateSystemChanged()
We use this to set up our target location. This is mostly for future use when we support alternate da...
virtual bool onTick()
Performs update logic for the driver. If myGimbalSceneObjectAgent hasn&#39;t been initialized yet...

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)