VR-Forces 4.0.4 Class Documentation
include/vrvVrl/DtEntityStateInterceptor.h
Go to the documentation of this file.
00001 /****************************************************************************** 
00002 ** Copyright (c) 2007 MAK Technologies, Inc. 
00003 ** All rights reserved. 
00004 ******************************************************************************/ 
00005 /****************************************************************************** 
00006 ** $RCSfile: DtVrlinkReflectedEntityStateInterceptor.h,v $ $Revision: 1.16 $ $State: Exp $ 
00007 ******************************************************************************/ 
00008 
00012 
00013 #pragma once
00014 #include <vrvVrl/DtBaseEntityStateInterceptor.h>
00015 #include <vrvVrl/DtPartCollectionInterceptor.h>
00016 #include <vrvUtil/DtVirtualBaseClass.h>
00017 #include <vlutil/vlTime.h>
00018 #include <vl/globalObjDes.h>
00019 #include <matrix/vlVector.h>
00020 #include <matrix/vlTaitBryan.h>
00021 #include <vlpi/disEnums.h>
00022 #include <vlpi/entityType.h>
00023 
00024 class DtStateRepository;
00025 class DtEntityStateRepository;
00026 class DtArticulatedPartCollection;
00027 
00028 namespace makVrv 
00029 {    
00030    namespace DT_PROTOCOL_NAMESPACE
00031    {
00032 
00033       class DtVrlinkConnection;
00034       class DtVrlinkEntityStateListener;
00035 
00039       template <typename StateRepClass>
00040       class DtEntityStateInterceptor : public StateRepClass, public DtBaseEntityStateInterceptor
00041       {
00042       public:
00043 
00046          DtEntityStateInterceptor(DtVrlinkEntityStateListener* listener);
00047 
00049          virtual ~DtEntityStateInterceptor();
00050 
00051       private:
00053          //\throws DtCorrutedState this class is not copyable.
00054          DtEntityStateInterceptor(const DtEntityStateInterceptor& orig);
00055 
00057          //\throws DtCorrutedState this class is not copyable.
00058          DtEntityStateInterceptor& operator=(const DtEntityStateInterceptor& orig);
00059 
00061          //\throws DtCorrutedState this class is not copyable.
00062          virtual DtStateRepository* clone(bool copy = false) const; 
00063       public:
00064 
00065          //@name DtBaseEntityStateRepository functions
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 
00125          /*
00126 
00128          virtual void setNature( const DtNature newVal );
00129 
00131          virtual void setPartPosition( const DtPosition newVal );
00132 
00134          virtual void setStationName( const DtStationName newVal );
00135 
00137          virtual void setStationNumber( const DtU16 newVal );
00138 
00140          virtual void setRange( const DtFloat32 newVal );
00141 
00143          virtual void setBearing( const DtFloat32 newVal );
00144 
00146          virtual void setEntityId(const DtEntityIdentifier& id);
00147          */
00149          virtual void setEntityType(const DtEntityType& type);
00150          /*
00152          virtual void setFederateId(const DtFederateId& id);
00153 
00155 
00156          //@name DtEntityStateRepository functions
00158 
00159          */
00161          virtual void setForceId(DtForceType force);
00162 
00163          /*
00165          virtual void setGuise(const DtEntityType& type);
00166 */
00168          virtual void setFrozen(bool onOff);
00169 /*
00172          virtual void setMarkingCharSet(int charSet);
00173    */
00176          virtual void setMarkingText(const char* text);
00177    /*
00183 
00184 
00185          virtual void setPowerPlantOn(bool onOff);
00186    */
00188          virtual void setDamageState(DtDamageState s);
00189 
00191          virtual void setEngineSmokeOn(bool onOff);
00192 
00194          virtual void setFlamesPresent(bool onOff);
00195          /*
00196 
00198          virtual void setHasFuelSupplyCap(bool onOff);
00199 
00201          virtual void setHasRecoveryCap(bool onOff);
00202 
00204          virtual void setHasRepairCap(bool onOff);
00205 
00207          virtual void setHatchState(DtHatchState s);
00208 
00210          virtual void setImmobilized(bool onOff);
00211    */
00214          virtual void setLifeformState(DtLifeformState s);
00215    /*
00217          virtual void setLightState(DtLightType s, bool onOff);
00218 
00221          virtual void setLightState(DtLightState s);
00222 
00224          virtual void setDensity(DtDensityType dens);
00225 
00227          virtual void setRampDeployed(bool onOff);
00228    */
00230          virtual void setSmokePlumePresent(bool onOff);
00231    /*
00233          virtual void setTentDeployed(bool onOff);
00234 
00235          */
00237          virtual void setTrailState(DtTrailState s);
00238          /*
00239 
00241          virtual void setCamouflageType(DtCamouflageType type);
00242 
00244          virtual void setFirePowerDisabled(bool onOff);
00245 
00247          virtual void setIsConcealed(bool onOff);
00248 
00250          virtual void setAfterburnerOn(bool onOff);
00251 
00253          virtual void setHasAmmunitionSupplyCap(bool onOff);
00254 
00256          virtual void setLauncherRaised(bool onOff);
00257 
00259          virtual void setLauncherFlashPresent(bool onOff);
00260    */
00262          virtual void setPrimaryWeaponState(DtWeaponState s);
00263    /*
00265          virtual void setSecondaryWeaponState(DtWeaponState s);
00266 
00268          virtual void setComplianceState(DtComplianceState s);
00269 
00271          virtual void setAntennaRaised(bool upDown);
00272 
00274          virtual void setMissionKill(bool yesNo);
00275 
00277          virtual void setInternalHeatSource(bool onOff);
00278 
00280          virtual void setMaskedCloaked(bool onOff);
00281    */
00282          //We need this for DIS as individual functions are not called.
00283    #if DtDIS
00284 
00285 
00286 
00287          virtual void setAppearance(DtU32 app);
00288    #endif
00289       /*
00290 
00291          */
00296          virtual void setAppearanceAttribute(const DtAppearAttribute attr, 
00297             const DtAppearAttrVal val);
00298 
00300          /*
00301 
00303          virtual void setInfraRedSigRepIndex(DtU16 value);
00304          virtual DtU16 infraRedSigRepIndex() const;
00305 
00307          virtual void setAcousticSigRepIndex(DtU16 value);
00308          virtual DtU16 acousticSigRepIndex() const;
00309 
00311          virtual void setRadarSigRepIndex(DtU16 value);
00312          virtual DtU16 radarSigRepIndex() const;
00313 
00315          virtual void setMeasuredSpeed(DtU16 value);
00316 
00318          virtual void setCapabilities(DtU32 cap);
00319          */
00321 
00322          virtual void setDiGuyAction(const DtString& val, bool paused);
00323          virtual void setDiGuyAppearance(const DtString& val);
00324          virtual void setDiGuyArc(const std::vector<char>& val);
00325          virtual void setDiGuyType(const DtString& val);
00326          virtual void setDiGuyParent(const DtEntityIdentifier& val);
00327 
00329          virtual DtArticulatedPartCollection* artPartList();
00330 
00331       protected:
00332          DtVrlinkEntityStateListener* myListener;
00333       };
00334    }
00335 }

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)