![]() |
VR-Link API Documentation for HLA 1.3
|
00001 /********************************************************************* 00002 ** Copyright (c) 1992-2010 VT MAK 00003 ** All rights reserved. 00004 *********************************************************************/ 00008 #pragma once 00009 00010 #include <matrix/LibMatrix.h> 00011 #include <matrix/utmCoord.h> 00012 class DT_DLL_VL DtBaseEntityStateRepository; 00013 00017 class DT_DLL_VL DtUtmView 00018 { 00019 public: 00020 00022 DtUtmView(DtBaseEntityStateRepository* esr); 00023 00025 virtual ~DtUtmView(); 00026 00028 DtUtmView(const DtUtmView& orig); 00029 00031 DtUtmView& operator=(const DtUtmView& orig); 00032 00034 virtual void setLocation(const DtUtmCoord& aLocation); 00035 virtual const DtUtmCoord& location() const; 00036 00038 virtual void setVelocity(const DtUtmCoord& aVelocity); 00039 virtual const DtUtmCoord& velocity() const; 00040 00042 virtual void setOrientation(const DtTaitBryan& orient); 00043 virtual const DtTaitBryan& orientation() const; 00044 00048 virtual const DtDcm & bodyToLocal() const; 00049 00051 virtual void setAcceleration(const DtUtmCoord& anAcceleration); 00052 virtual const DtUtmCoord& acceleration() const; 00053 00055 virtual void setRotationalVelocity(const DtVector & bodyRates); 00056 virtual const DtVector & rotationalVelocity() const; 00057 00058 protected: 00059 00062 DtUtmView* self() const; 00063 00065 virtual const DtDcm & utmToGeocMatrix(const DtVector & geocLoc) const; 00066 00068 virtual const DtDcm & geocToUtmMatrix(const DtVector & geocLoc) const; 00069 00070 protected: 00071 00072 DtBaseEntityStateRepository* myESR; 00073 00076 DtUtmCoord myLocalLoc; 00077 DtUtmCoord myLocalVel; 00078 DtUtmCoord myLocalAccel; 00079 DtTaitBryan myLocalOrient; 00080 DtDcm myBodyToLocal; 00081 00082 DtDcm myUtmToGeocMatrix; 00083 DtVector myGeocLocForUtmToGeoc; 00084 00085 DtDcm myGeocToUtmMatrix; 00086 DtVector myGeocLocForGeocToUtm; 00087 }; 00088 00089 inline DtUtmView* DtUtmView::self() const 00090 { 00091 return (DtUtmView*)this; 00092 } 00093 00094 00095