VR-Forces 4.0.4 Class Documentation
examples/exampleCommLines/DtExampleCommLinesDriver.h
Go to the documentation of this file.
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 };

Document ID: Generated on Fri Jun 29 16:33:32 EDT 2012 from SVN revision 116588
Copyright © 2005-2012 VT MÄK Inc. All Rights Reserved (www.mak.com)