![]() |
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 #include <vrvCore/DtModelSetRealizationManager.h> 00014 00015 #include <boost/unordered_map.hpp> 00016 00017 #include <matrix/vlTaitBryan.h> 00018 #include <matrix/vlVector.h> 00019 00020 namespace makVrv 00021 { 00022 class DtEntityFacade; 00023 } 00024 00027 class DtExampleCommLinesDriver : public makVrv::DtDriver 00028 { 00029 public: 00030 00032 DtExampleCommLinesDriver( makVrv::DtAgentManager& am ); 00033 00035 virtual ~DtExampleCommLinesDriver(); 00036 00039 00042 virtual const std::string& className() const; 00043 00046 virtual bool onStart(); 00047 00050 virtual bool onStop(); 00051 00054 virtual bool onTick(); 00055 00058 virtual void slot_displayEngineAdded( const makVrv::DtDeRecord& igRecord ); 00059 00061 00062 protected: 00063 00066 makVrv::DtEntityFacade* createEntityFacade( makVrv::DtAgentManager& am, makVrv::DtElementID elementId, 00067 const makVrv::DtModelSetRealizationManager::ModelSetRealizations& modelSets, bool distribute ); 00068 00070 virtual void updatePosition(); 00071 00073 virtual void updateCommLines( int modelSet ); 00074 00076 virtual void repositionAircraft( DtVector position, DtTaitBryan ori ); 00077 00078 protected: 00079 00080 typedef boost::unordered_map<int,makVrv::DtUniqueID> SceneObjectIdsByModelSet; 00081 SceneObjectIdsByModelSet mySceneObjectIds; 00082 00083 makVrv::DtEntityFacade* myEntityFacade; 00084 00085 double myAngularVelocity; 00086 DtVector myOrbitCenter; 00087 00088 double myLastCommLineTime; 00089 double myLastUpdateTime; 00090 double myClockAngle; 00091 double myRadius; 00092 double myRoll; 00093 00094 };