VR-Link API Documentation for DIS
iffAtcNavPdu.h
Go to the documentation of this file.
00001 /*********************************************************************
00002 ** Copyright (c) 1992-2010 VT MAK
00003 ** All rights reserved.
00004 *********************************************************************/
00005 
00006 
00009 
00010 #ifndef DtIffAtcNavaidsPdu_H_
00011 #define DtIffAtcNavaidsPdu_H_
00012 
00013 #if DtDIS
00014 
00015 #include <vlutil/vlMachineTypes.h>
00016 #include "hostStructs.h"
00017 #include "dStateMsg.h"
00018 #include "exerciseConn.h"
00019 #include <matrix/vlMath.h>
00020 
00021 #include "packets/iffAtcNavP.h"
00022 
00023 #include "iffAtcNavBeam.h"
00024 #include "iffAtcNavLayr.h"
00025 #include "iffAtcNavOper.h"
00026 #include "iffAtcNavOpr2.h"
00027 #include "iffAtcNavParm.h"
00028 #include "iffAtcNavSyID.h"
00029 
00030 
00031 
00032 class DT_DLL_VL DtIffAtcNavaidsPdu;
00033 
00035 typedef void (*DtIffAtcNavaidsPduCb)(DtIffAtcNavaidsPdu* pdu, void* usr);
00036 
00037 
00038 
00042 class DT_DLL_VL DtIffAtcNavaidsPdu : public DtStateMsg
00043 {
00044 
00045 public:
00046 
00048    DtIffAtcNavaidsPdu(DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
00049    DtIffAtcNavaidsPdu(const DtNetIffAtcNavaidsPduLayer1* initial,
00050       DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
00051    DtIffAtcNavaidsPdu(const DtIffAtcNavaidsPdu& orig);
00052 
00054    virtual ~DtIffAtcNavaidsPdu();
00055 
00058    static DtPdu* create(const DtNetPacket* initial,
00059       DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
00060 
00063    static void addCallback(DtExerciseConn* conn,
00064       DtIffAtcNavaidsPduCb cb, void* usr);
00065    static void removeCallback(DtExerciseConn* conn,
00066       DtIffAtcNavaidsPduCb cb, void* usr);
00067 
00069    DtIffAtcNavaidsPdu& operator=(const DtIffAtcNavaidsPdu& orig);
00070 
00072    virtual void setEmittingEntityID(const DtEntityIdentifier& entity);
00073    virtual const DtEntityIdentifier& emittingEntityID() const;
00074 
00076    virtual void setEventID(const DtEventID& event);
00077    virtual const DtEventID& eventID() const;
00078 
00080    virtual void setLocation(const DtVector& coords);
00081    virtual const DtVector& location() const;
00082 
00084    virtual void setSystemID(const DtIffAtcNavaidsSystemID& id);
00085    virtual const DtIffAtcNavaidsSystemID& systemID() const;
00086 
00088    virtual void setOperational(const DtIffAtcNavaidsOperational& oper);
00089    virtual const DtIffAtcNavaidsOperational& operational() const;
00090 
00092    virtual bool layerPresent(int layer) const;
00093 
00096    virtual bool enableLayer2(DtU8 layerSpecificInfo, int numRecords);
00097    virtual bool disableLayer2();
00098 
00102 
00105    virtual const DtIffAtcNavaidsLayerHeader& layer2Header() const;
00106 
00108    virtual void setBeamData(const DtIffAtcNavaidsBeamData& beamData);
00109    virtual const DtIffAtcNavaidsBeamData& beamData() const;
00110 
00112    virtual void setSecondaryOperational(
00113       const DtIffAtcNavaidsSecondOperational& oper);
00114    virtual const DtIffAtcNavaidsSecondOperational&
00115       secondaryOperational() const;
00116 
00119    virtual DtU16 numParameterSets() const;
00120 
00122    virtual bool setParmData(int parmIndex,
00123       const DtIffAtcNavaidsParameter& init);
00124    virtual bool getParmData(int parmIndex,
00125       DtIffAtcNavaidsParameter& record) const;
00126 
00128    virtual void printData() const;
00129 
00131    virtual void printDataToStream(std::ostream& stream) const;      
00132 
00133 protected:
00134 
00136    virtual DtPduKind internalGetPduKind() const;
00137 
00139    virtual DtNetIffAtcNavaidsPduLayer1* netPduStruct()  const; 
00140 
00142    virtual DtNetIffAtcNavaidsPduLayer2* netPduStructL2()  const; 
00143 
00146    DtIffAtcNavaidsPdu* self() const; 
00147 
00149    virtual DtNetIffAtcNavaidsParameter* parameter() const;
00150 
00151 protected:
00152 
00154    static const int theStaticSize;
00155 
00156 protected:
00157 
00159    DtEntityIdentifier                myEntityID;
00160    DtEventID                         myEventID; 
00161    DtVector                          myEntCoords;
00162    DtIffAtcNavaidsSystemID           mySystemID;
00163    DtIffAtcNavaidsOperational        myOperational; 
00164    DtIffAtcNavaidsLayerHeader        myLayerHeader;
00165    DtIffAtcNavaidsBeamData           myBeamData;
00166    DtIffAtcNavaidsSecondOperational  mySecondOperational; 
00167    DtIffAtcNavaidsParameter          myParameter; 
00168 
00169 };
00170 
00171 #endif
00172 #endif
00173 

Document ID: Generated on Mon May 14 08:06:18 EDT 2012 from SVN revision 114750
Copyright © 2005-2012 VT MÄK Inc. All Rights Reserved (www.mak.com)