![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 /****************************************************************************** 00002 ** Copyright (c) 2012 MAK Technologies, Inc. 00003 ** All rights reserved. 00004 ******************************************************************************/ 00005 /****************************************************************************** 00006 ** $RCSfile: DtCircleUpdater.h,v $ $Revision: 1.19 $ $State: Exp $ 00007 ******************************************************************************/ 00008 00012 00013 #pragma once 00014 00015 #include <vrfGuiCore/vrfGuiCore.h> 00016 #include <vrvCore/DtUpdater.h> 00017 #include <matrix/vlTaitBryan.h> 00018 00019 #include <matrix/vlVector.h> 00020 00021 namespace makVrf 00022 { 00026 class DT_DLL_VRFGUICORE DtCircleUpdater : public makVrv::DtUpdater 00027 { 00028 public: 00029 00031 DtCircleUpdater(makVrv::DtDe& de, makVrv::DtUniqueID id, bool doNotAddToMgr = false ); 00032 00034 virtual ~DtCircleUpdater(); 00035 00037 virtual void update( double simTime ); 00038 00039 virtual void setOrientationDelta(double); 00040 00043 virtual void setPosition(int, const DtVector&); 00044 00046 virtual void setClamped(bool); 00047 00048 protected: 00049 00050 virtual bool computeGroundClampingHit(const DtVector& up, 00051 const DtVector& unclampedPosition, DtVector& hitLocation, DtVector& hitNormal); 00052 00054 virtual DtTaitBryan computeOrientation( const DtVector& pos, 00055 const DtVector& normalVector, double topoHeading) const; 00056 00057 protected: 00058 DtVector myOrigin; 00059 DtVector myClampedOrigin; 00060 DtVector myX; 00061 DtVector myY; 00062 00063 double myXRadius; 00064 double myYRadius; 00065 double myOrientationDelta; 00066 00067 bool mySceneObjectChanged; 00068 bool myClamped; 00069 }; 00070 } 00071