![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 /******************************************************************************* 00002 ** Copyright (c) 2009 MAK Technologies, Inc. 00003 ** All rights reserved. 00004 *******************************************************************************/ 00005 /******************************************************************************* 00006 ** $RCSfile: DtVrlinkReflectedAggregateStateInterceptor.h,v $ $Revision: 1.1 $ $State: Exp $ 00007 *******************************************************************************/ 00008 00011 00012 #pragma once 00013 00014 #include <vrvVrl/DtVrlinkAggregateStateListener.h> 00015 00016 #include <vrvUtil/DtVirtualBaseClass.h> 00017 #include <vlutil/vlTime.h> 00018 #include <vl/globalObjDes.h> 00019 00020 #include <matrix/vlVector.h> 00021 #include <matrix/vlTaitBryan.h> 00022 #include <vlpi/disEnums.h> 00023 #include <vlpi/entityType.h> 00024 00025 class DtStateRepository; 00026 class DtAggregateStateRepository; 00027 00028 namespace makVrv 00029 { 00030 namespace DT_PROTOCOL_NAMESPACE 00031 { 00032 class DtVrlinkAggregateStateListener; 00033 class DtVrlinkConnection; 00034 00039 template <typename StateRepClass> 00040 class DtAggregateStateInterceptor : public StateRepClass 00041 { 00042 public: 00043 00046 DtAggregateStateInterceptor(DtVrlinkAggregateStateListener* listener); 00047 00049 virtual ~DtAggregateStateInterceptor(); 00050 00053 virtual void setMarkingText(const char* text); 00054 00055 private: 00057 //\throws DtCorrutedState this class is not copyable. 00058 DtAggregateStateInterceptor(const DtAggregateStateInterceptor& orig); 00059 00061 //\throws DtCorrutedState this class is not copyable. 00062 DtAggregateStateInterceptor& operator=(const DtAggregateStateInterceptor& orig); 00063 00065 //\throws DtCorrutedState this class is not copyable. 00066 virtual DtStateRepository* clone(bool copy = false) const; 00067 00070 virtual void setLocation(const DtVector & location, DtTime aTime); 00071 00073 virtual void setVelocity(const DtVector & Velocity, DtTime aTime); 00074 00076 virtual void setAcceleration(const DtVector & Acceleration, DtTime aTime); 00077 00079 virtual void setOrientation(const DtTaitBryan& orient, DtTime aTime); 00080 00082 virtual void setRotationalVelocity(const DtVector & BodyRates, DtTime aTime); 00083 00085 virtual void setAlgorithm(DtDeadReckonTypes alg); 00086 00092 virtual void setHostGlobalId( const DtGlobalObjectDesignator& id ); 00093 00094 virtual void clearHostGlobalId(); 00095 00097 virtual void setRelativeLocation(const DtVector & location, DtTime aTime); 00098 00101 virtual void setRelativeVelocity(const DtVector & Velocity, DtTime aTime); 00102 00105 virtual void setRelativeAcceleration(const DtVector & Acceleration, 00106 DtTime aTime); 00107 00109 virtual void setRelativeOrientation(const DtTaitBryan& orient, 00110 DtTime aTime); 00111 00113 virtual void setRelativeRotationalVelocity(const DtVector & BodyRates, 00114 DtTime aTime); 00115 00117 virtual void setRelativeFrozen(bool onOff); 00118 00120 virtual void setRelativeAlgorithm(DtDeadReckonTypes alg); 00121 00123 virtual void setRelativePosition( const DtVector & newVal ); 00124 00126 virtual void setDimensions(const DtVector& dims); 00127 00129 virtual void setForceId(DtForceType); 00130 00131 public: 00132 00133 protected: 00134 DtVrlinkAggregateStateListener* myListener; 00135 }; 00136 } 00137 }