![]() |
VR-Link API Documentation for HLA Evolved
|
00001 /********************************************************************* 00002 ** Copyright (c) 1992-2010 VT MAK 00003 ** All rights reserved. 00004 *********************************************************************/ 00005 #ifndef DtCartesianView_H_ 00006 #define DtCartesianView_H_ 00007 00011 00012 #include <matrix/LibMatrix.h> 00013 00014 class DT_DLL_VL DtBaseEntityStateRepository; 00015 00020 class DT_DLL_VL DtCartesianView 00021 { 00022 public: 00023 00025 DtCartesianView(DtBaseEntityStateRepository* ksr); 00026 00027 DtCartesianView(DtBaseEntityStateRepository* ksr, 00028 const DtVector & originInGeoc, 00029 const DtDcm & geocToLocalRot); 00030 00032 virtual ~DtCartesianView(); 00033 00035 DtCartesianView(const DtCartesianView& orig); 00036 00038 DtCartesianView& operator=(const DtCartesianView& orig); 00039 00041 virtual void setOffset(const DtVector & originInGeoc); 00042 00044 virtual void setRotation(const DtDcm & geocToLocalRot); 00045 00047 virtual void setLocation(const DtVector & Location); 00048 virtual const DtVector & location() const; 00049 00051 virtual void setVelocity(const DtVector & Velocity); 00052 virtual const DtVector & velocity() const; 00053 00055 virtual void setOrientation(const DtTaitBryan& Orient); 00056 virtual const DtTaitBryan& orientation() const; 00057 00061 virtual const DtDcm & bodyToLocal() const; 00062 00064 virtual void setAcceleration(const DtVector & Acceleration); 00065 virtual const DtVector & acceleration() const; 00066 00068 virtual void setRotationalVelocity(const DtVector & BodyRates); 00069 virtual const DtVector & rotationalVelocity() const; 00070 00071 protected: 00072 00075 DtCartesianView* self() const; 00076 00077 protected: 00078 00079 DtBaseEntityStateRepository* myESR; 00080 DtCoordTransform myGeocToLocal; 00081 DtCoordTransform myLocalToGeoc; 00082 00085 DtVector myLocalLoc; 00086 DtVector myLocalVel; 00087 DtVector myLocalAccel; 00088 DtTaitBryan myLocalOrient; 00089 DtDcm myBodyToLocal; 00090 }; 00091 00092 inline DtCartesianView* DtCartesianView::self() const 00093 { 00094 return (DtCartesianView*)this; 00095 } 00096 00097 #endif 00098