CigiBasePositionReq.h

Go to the documentation of this file.
00001 
00055 #if !defined(_CIGI_BASE_POSITION_REQ_INCLUDED_)
00056 #define _CIGI_BASE_POSITION_REQ_INCLUDED_
00057 
00058 #include "CigiBasePacket.h"
00059 
00060 // ====================================================================
00061 // preprocessor definitions
00062 // ====================================================================
00063 
00064 #define CIGI_POSITION_REQ_PACKET_ID_V3 27
00065 #define CIGI_POSITION_REQ_PACKET_SIZE_V3 8
00066 
00067 
00068 class CigiPositionReqV1;
00069 class CigiPositionReqV2;
00070 class CigiPositionReqV3;
00071 
00072 
00073 class CIGI_SPEC CigiBasePositionReq : public CigiBasePacket
00074 {
00075 
00076 friend class CigiPositionReqV1;
00077 friend class CigiPositionReqV2;
00078 friend class CigiPositionReqV3;
00079 
00080 public:
00081 
00082    //=========================================================
00085    enum UpdateModeGrp
00086    {
00087       OneShot=0,
00088       Continuous=1
00089    };
00090 
00091    //=========================================================
00094    enum ObjectClassGrp
00095    {
00096       Entity=0,
00097       ArtPart=1,
00098       View=2,
00099       ViewGrp=3,
00100       MotionTracker=4
00101    };
00102 
00103    //=========================================================
00106    enum CoordSysGrp
00107    {
00108       Geodetic=0,
00109       ParentEntity=1,
00110       Submodel=2
00111    };
00112 
00113 
00114 
00115 
00116    //==> Management
00117 
00118    //=========================================================
00121    CigiBasePositionReq();
00122 
00123    //=========================================================
00126    virtual ~CigiBasePositionReq();
00127 
00128 
00129    //==> Buffer Packing/Unpacking
00130 
00131    //=========================================================
00142    virtual int Pack(CigiBasePacket * Base, Cigi_uint8 * Buff, void *Spec) const=0;
00143 
00144    //=========================================================
00154    virtual int Unpack(Cigi_uint8 * Buff, bool Swap, void *Spec) =0;
00155 
00156    //=========================================================
00168         virtual int GetCnvt(CigiVersionID &CnvtVersion,
00169                        CigiCnvtInfoType::Type &CnvtInfo);
00170 
00171 
00172 
00173    //==> Accessing Member Variable Values functions
00174 
00175    //+> ObjectID
00176 
00177    //=========================================================
00184    int SetObjectID(const Cigi_uint16 ObjectIDIn, bool bndchk=true)
00185    {
00186       ObjectID = ObjectIDIn;
00187       return(CIGI_SUCCESS);
00188    }
00189 
00190    //=========================================================
00193    Cigi_uint16 GetObjectID(void) const { return(ObjectID); }
00194 
00195 
00196    //+> ArtPartID
00197 
00198    //=========================================================
00205    int SetArtPartID(const Cigi_uint8 ArtPartIDIn, bool bndchk=true)
00206    {
00207       ArtPartID = ArtPartIDIn;
00208       return(CIGI_SUCCESS);
00209    }
00210 
00211    //=========================================================
00214    Cigi_uint8 GetArtPartID(void) const { return(ArtPartID); }
00215 
00216 
00217    //+> UpdateMode
00218 
00219    //=========================================================
00228    int SetUpdateMode(const UpdateModeGrp UpdateModeIn, bool bndchk=true);
00229 
00230    //=========================================================
00233    UpdateModeGrp GetUpdateMode(void) const { return(UpdateMode); }
00234 
00235 
00236    //+> ObjectClass
00237 
00238    //=========================================================
00250    int SetObjectClass(const ObjectClassGrp ObjectClassIn, bool bndchk=true);
00251 
00252    //=========================================================
00255    ObjectClassGrp GetObjectClass(void) const { return(ObjectClass); }
00256 
00257 
00258    //+> CoordSys
00259 
00260    //=========================================================
00270    int SetCoordSys(const CoordSysGrp CoordSysIn, bool bndchk=true);
00271 
00272    //=========================================================
00275    CoordSysGrp GetCoordSys(void) const { return(CoordSys); }
00276 
00277 
00278 
00279 protected:
00280 
00281    //==> Member variables
00282 
00283    //=========================================================
00287    Cigi_uint16 ObjectID;
00288 
00289    //=========================================================
00293    Cigi_uint8 ArtPartID;
00294 
00295    //=========================================================
00302    UpdateModeGrp UpdateMode;
00303 
00304    //=========================================================
00314    ObjectClassGrp ObjectClass;
00315 
00316    //=========================================================
00324    CoordSysGrp CoordSys;
00325 
00326 
00327 };
00328 
00329 #endif // #if !defined(_CIGI_BASE_POSITION_REQ_INCLUDED_)

Generated on Wed Apr 29 08:59:55 2009 for CCL by  doxygen 1.4.7