![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 /***************************************************************************** 00002 * Copyright (c) 2012 MAK Technologies, Inc. 00003 * All rights reserved. 00004 *****************************************************************************/ 00005 00009 00010 #pragma once 00011 00012 #include <vrvCore/DtDriver.h> 00013 00014 #include <vrvCore/DtEntityIndicatorWidget.h> 00015 #include <vrvCore/DtSelectionManager.h> 00016 #include <vrvCore/DtEntityInfoWidget.h> 00017 00018 #include <vrvUtil/DtUnicode.h> 00019 00020 #include <matrix/vlTaitBryan.h> 00021 #include <matrix/vlVector.h> 00022 00023 #include <string> 00024 00025 namespace makVrv 00026 { 00027 class DtEntity3dFacade; 00028 } 00029 00030 // This driver creates and owns the example driver. 00032 class DtExampleDriver : public makVrv::DtDriver 00033 { 00034 public: 00035 00037 DtExampleDriver( makVrv::DtAgentManager& am ); 00038 00040 virtual ~DtExampleDriver(); 00041 00044 00047 virtual const std::string& className() const; 00048 00051 virtual bool onStart(); 00052 00055 virtual bool onStop(); 00056 00059 virtual bool onTick(); 00060 00063 virtual void slot_displayEngineAdded( const makVrv::DtDeRecord& igRecord ); 00064 00066 00067 protected: 00068 00070 virtual void slot_togglePinnedLabel( 00071 const makVrv::DtSelectionManager::IdSet& sel ); 00072 00074 virtual void setHoverSignalsActive( bool active ); 00075 00077 virtual void setEntityInfoWidgetActive( bool active ); 00078 00080 virtual makVrv::DtUnicode generateInfoString() const; 00081 00083 virtual void updatePosition(); 00084 00086 virtual void repositionAircraft( DtVector position, DtTaitBryan ori ); 00087 00088 protected: 00089 00090 makVrv::DtEntity3dFacade* myEntityFacade; 00091 makVrv::DtEntityIndicatorWidget* myEntityIndicator; 00092 makVrv::DtEntityInfoWidget* myEntityInfoWidget; 00093 00094 std::string myEntityDisplayName; 00095 bool myEntityInfoWidgetPinnedFlag; 00096 00097 DtTaitBryan myOrientation; 00098 DtVector myPosition; 00099 00100 DtVector myOrbitCenter; 00101 double myAngularVelocity; 00102 00103 double myLastCommLineTime; 00104 double myLastUpdateTime; 00105 double myClockAngle; 00106 double myHeading; 00107 double myRadius; 00108 double myRoll; 00109 00110 };