VR-Link API Documentation for HLA 1.3
isPartOfPdu.h
Go to the documentation of this file.
00001 /*********************************************************************
00002 ** Copyright (c) 1992-2010 VT MAK
00003 ** All rights reserved.
00004 *********************************************************************/
00005 
00008 
00009 #ifndef DtIsPartOfPdu_H_
00010 #define DtIsPartOfPdu_H_
00011 
00012 #if DtDIS
00013 
00014 #include <vlutil/vlMachineTypes.h>
00015 #include <matrix/vlMath.h>
00016 
00017 #include "hostStructs.h"
00018 #include "dInteraction.h"
00019 #include "exerciseConn.h"
00020 #include "packets/isPartOfP.h"
00021 
00022 
00023 class DT_DLL_VL DtIsPartOfPdu;
00024 
00026 typedef void (*DtIsPartOfPduCb)(DtIsPartOfPdu* pdu, void* usr);
00027 
00028 
00032 class DT_DLL_VL DtIsPartOfPdu : public DtInteraction
00033 {
00034 
00035 public:
00036 
00038    DtIsPartOfPdu(DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
00039    DtIsPartOfPdu(const DtNetIsPartOfPdu* initial,
00040       DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
00041    DtIsPartOfPdu(const DtIsPartOfPdu& orig);
00042 
00044    virtual ~DtIsPartOfPdu();
00045 
00047    DtIsPartOfPdu& operator=(const DtIsPartOfPdu& orig);
00048 
00050    virtual void setOriginatingEntityID(const DtEntityIdentifier& entity);
00051    virtual const DtEntityIdentifier& originatingEntityID() const;
00052 
00054    virtual void setReceivingEntityID(const DtEntityIdentifier& entity);
00055    virtual const DtEntityIdentifier& receivingEntityID() const;
00056 
00058    virtual void setNature(DtNature value);
00059    virtual DtNature nature() const;
00060 
00062    virtual void setConstituentPartPosition(DtPosition value);
00063    virtual DtPosition constituentPartPosition() const;
00064 
00066    virtual void setPartLocation(const DtVector& coords);
00067    virtual const DtVector& partLocation() const;
00068 
00070    virtual void setStationName(DtStationName value);
00071    virtual DtStationName stationName() const;
00072 
00074    virtual void setStationNumber(DtU16 value);
00075    virtual DtU16 stationNumber() const; 
00076 
00078    virtual void setEntityType(const DtEntityType& type);
00079    virtual const DtEntityType& entityType() const;
00080 
00082    virtual void printData() const;
00083 
00085    virtual void printDataToStream(std::ostream& stream) const;
00086 
00087 public:
00088 
00091    static DtPdu* create(const DtNetPacket* initial,
00092       DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
00093 
00096    static void addCallback(DtExerciseConn* conn,
00097       DtIsPartOfPduCb cb, void* usr);
00098    static void removeCallback(DtExerciseConn* conn,
00099       DtIsPartOfPduCb cb, void* usr);
00100 
00101 protected:
00102 
00104    virtual DtPduKind internalGetPduKind() const;
00105 
00108    virtual DtNetIsPartOfPdu* netPduStruct()  const; 
00109 
00112    DtIsPartOfPdu* self() const;
00113 
00114 protected:
00115 
00117    static const int theStaticSize;
00118 
00119 protected:
00120 
00122    DtEntityIdentifier myEntityID;
00123    DtVector myVector;
00124    DtEntityType myEntityType;
00125 
00126 };
00127 
00128 #endif
00129 #endif
00130 

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)