CigiBaseCollDetSegDef.h

Go to the documentation of this file.
00001 
00055 #if !defined(_CIGI_BASE_COLL_DET_SEG_DEF_INCLUDED_)
00056 #define _CIGI_BASE_COLL_DET_SEG_DEF_INCLUDED_
00057 
00058 #include "CigiBasePacket.h"
00059 
00060 // ====================================================================
00061 // preprocessor definitions
00062 // ====================================================================
00063 
00064 #define CIGI_COLL_DET_SEG_DEF_PACKET_ID_V1 24
00065 #define CIGI_COLL_DET_SEG_DEF_PACKET_SIZE_V1 24
00066 
00067 #define CIGI_COLL_DET_SEG_DEF_PACKET_ID_V2 24
00068 #define CIGI_COLL_DET_SEG_DEF_PACKET_SIZE_V2 24
00069 
00070 #define CIGI_COLL_DET_SEG_DEF_PACKET_ID_V3 22
00071 #define CIGI_COLL_DET_SEG_DEF_PACKET_SIZE_V3 40
00072 
00073 
00074 class CigiCollDetSegDefV1;
00075 class CigiCollDetSegDefV2;
00076 class CigiCollDetSegDefV3;
00077 
00078 
00079 class CIGI_SPEC CigiBaseCollDetSegDef : public CigiBasePacket
00080 {
00081 
00082 friend class CigiCollDetSegDefV1;
00083 friend class CigiCollDetSegDefV2;
00084 friend class CigiCollDetSegDefV3;
00085 
00086 public:
00087 
00088    //==> Management
00089 
00090    //=========================================================
00093    CigiBaseCollDetSegDef() { };
00094 
00095    //=========================================================
00098    virtual ~CigiBaseCollDetSegDef() { };
00099 
00100 
00101    //==> Buffer Packing/Unpacking
00102 
00103    //=========================================================
00114    virtual int Pack(CigiBasePacket * Base, Cigi_uint8 * Buff, void *Spec) const=0;
00115 
00116    //=========================================================
00126    virtual int Unpack(Cigi_uint8 * Buff, bool Swap, void *Spec) =0;
00127 
00128    //=========================================================
00140         virtual int GetCnvt(CigiVersionID &CnvtVersion,
00141                        CigiCnvtInfoType::Type &CnvtInfo)
00142    {
00143       CnvtInfo.ProcID = CigiProcessType::ProcStd;
00144 
00145       // Note: V1 & V2 are the same
00146       if(CnvtVersion.CigiMajorVersion < 3)
00147          CnvtInfo.CnvtPacketID = CIGI_COLL_DET_SEG_DEF_PACKET_ID_V2;
00148       else
00149          CnvtInfo.CnvtPacketID = CIGI_COLL_DET_SEG_DEF_PACKET_ID_V3;
00150 
00151       return(CIGI_SUCCESS);
00152    }
00153 
00154 
00155 
00156    //==> Accessing Member Variable Values functions
00157 
00158    //+> EntityID
00159 
00160    //=========================================================
00167    int SetEntityID(const Cigi_uint16 EntityIDIn, bool bndchk=true)
00168    {
00169       EntityID = EntityIDIn;
00170       return(CIGI_SUCCESS);
00171    }
00172 
00173    //=========================================================
00176    Cigi_uint16 GetEntityID(void) const { return(EntityID); }
00177 
00178 
00179    //+> SegmentEn
00180 
00181    //=========================================================
00188    int SetSegmentEn(const bool SegmentEnIn, bool bndchk=true)
00189    {
00190       SegmentEn = SegmentEnIn;
00191       return(CIGI_SUCCESS);
00192    }
00193 
00194    //=========================================================
00197    bool GetSegmentEn(void) const { return(SegmentEn); }
00198 
00199 
00200    //+> X1
00201 
00202    //=========================================================
00209    int SetX1(const float X1In, bool bndchk=true)
00210    {
00211       X1 = X1In;
00212       return(CIGI_SUCCESS);
00213    }
00214 
00215    //=========================================================
00218    float GetX1(void) const { return(X1); }
00219 
00220 
00221    //+> Y1
00222 
00223    //=========================================================
00230    int SetY1(const float Y1In, bool bndchk=true)
00231    {
00232       Y1 = Y1In;
00233       return(CIGI_SUCCESS);
00234    }
00235 
00236    //=========================================================
00239    float GetY1(void) const { return(Y1); }
00240 
00241 
00242    //+> Z1
00243 
00244    //=========================================================
00251    int SetZ1(const float Z1In, bool bndchk=true)
00252    {
00253       Z1 = Z1In;
00254       return(CIGI_SUCCESS);
00255    }
00256 
00257    //=========================================================
00260    float GetZ1(void) const { return(Z1); }
00261 
00262 
00263    //+> X2
00264 
00265    //=========================================================
00272    int SetX2(const float X2In, bool bndchk=true)
00273    {
00274       X2 = X2In;
00275       return(CIGI_SUCCESS);
00276    }
00277 
00278    //=========================================================
00281    float GetX2(void) const { return(X2); }
00282 
00283 
00284    //+> Y2
00285 
00286    //=========================================================
00293    int SetY2(const float Y2In, bool bndchk=true)
00294    {
00295       Y2 = Y2In;
00296       return(CIGI_SUCCESS);
00297    }
00298 
00299    //=========================================================
00302    float GetY2(void) const { return(Y2); }
00303 
00304 
00305    //+> Z2
00306 
00307    //=========================================================
00314    int SetZ2(const float Z2In, bool bndchk=true)
00315    {
00316       Z2 = Z2In;
00317       return(CIGI_SUCCESS);
00318    }
00319 
00320    //=========================================================
00323    float GetZ2(void) const { return(Z2); }
00324 
00325 
00326    //+> Mask
00327 
00328    //=========================================================
00336    int SetMask(const Cigi_uint32 MaskIn, bool bndchk=true)
00337    {
00338       Mask = MaskIn;
00339       return(CIGI_SUCCESS);
00340    }
00341 
00342    //=========================================================
00345    Cigi_uint32 GetMask(void) const { return(Mask); }
00346 
00347 
00348 
00349 protected:
00350 
00351    //==> Member variables
00352 
00353    //=========================================================
00357    Cigi_uint16 EntityID;
00358 
00359    //=========================================================
00363    Cigi_uint8 SegmentID;
00364 
00365    //=========================================================
00369    bool SegmentEn;
00370 
00371    //=========================================================
00376    float X1;
00377 
00378    //=========================================================
00383    float Y1;
00384 
00385    //=========================================================
00390    float Z1;
00391 
00392    //=========================================================
00397    float X2;
00398 
00399    //=========================================================
00404    float Y2;
00405 
00406    //=========================================================
00411    float Z2;
00412 
00413    //=========================================================
00418    Cigi_uint32 Mask;
00419 
00420 
00421 };
00422 
00423 #endif // #if !defined(_CIGI_BASE_COLL_DET_SEG_DEF_INCLUDED_)

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