CigiBaseSymbolSurfaceDef.h

Go to the documentation of this file.
00001 
00039 #if !defined(_CIGI_BASE_SYMBOL_SURFACE_DEF_INCLUDED_)
00040 #define _CIGI_BASE_SYMBOL_SURFACE_DEF_INCLUDED_
00041 
00042 
00043 #include "CigiBasePacket.h"
00044 
00045 // ====================================================================
00046 // preprocessor definitions
00047 // ====================================================================
00048 
00049 #define CIGI_SYMBOL_SURFACE_DEF_PACKET_ID_V3_3 29
00050 #define CIGI_SYMBOL_SURFACE_DEF_PACKET_SIZE_V3_3 56
00051 
00052 
00053 class CigiSymbolSurfaceDefV3_3;
00054 
00055 
00056 //=========================================================
00059 class CIGI_SPEC CigiBaseSymbolSurfaceDef :
00060    public CigiBasePacket
00061 {
00062 
00063    friend class CigiSymbolSurfaceDefV3_3;
00064 
00065 public:
00066 
00067    //=========================================================
00070    enum StateGrp
00071    {
00072       Active=0,
00073       Destroyed=1
00074    };
00075 
00076    //=========================================================
00079    enum AttachStateGrp
00080    {
00081       EntityAttached=0,
00082       ViewAttached=1
00083    };
00084 
00085    //=========================================================
00088    enum BillboardStateGrp
00089    {
00090       NotBillboard=0,
00091       Billboard=1
00092    };
00093 
00094    //=========================================================
00097    enum PerspectiveGrowthStateGrp
00098    {
00099       Disable=0,
00100       Enable=1
00101    };
00102 
00103 
00104    //==> Management
00105 
00106    //=========================================================
00109    CigiBaseSymbolSurfaceDef(void);
00110 
00111    //=========================================================
00114    virtual ~CigiBaseSymbolSurfaceDef(void);
00115 
00116 
00117    //==> Buffer Packing/Unpacking
00118 
00119    //=========================================================
00130    virtual int Pack(CigiBasePacket * Base, Cigi_uint8 * Buff, void *Spec) const=0;
00131 
00132    //=========================================================
00142    virtual int Unpack(Cigi_uint8 * Buff, bool Swap, void *Spec) =0;
00143 
00144    //=========================================================
00157    virtual int GetCnvt(CigiVersionID &CnvtVersion,
00158                        CigiCnvtInfoType::Type &CnvtInfo);
00159 
00160 
00161 
00162    //==> Accessing Member Variable Values functions
00163 
00164    //+> SurfaceID
00165 
00166    //=========================================================
00173    int SetSurfaceID(const Cigi_uint16 SurfaceIDIn, bool bndchk=true)
00174    {
00175       SurfaceID = SurfaceIDIn;
00176       return(CIGI_SUCCESS);
00177    }
00178 
00179    //=========================================================
00183    Cigi_uint16 GetSurfaceID(void) const { return(SurfaceID); }
00184 
00185 
00186    //+> SurfaceState
00187 
00188    //=========================================================
00196    int SetSurfaceState(const StateGrp SurfaceStateIn, bool bndchk=true);
00197 
00198    //=========================================================
00203    StateGrp GetSurfaceState(void) const { return(SurfaceState); }
00204 
00205 
00206    //+> Attached
00207 
00208    //=========================================================
00216    int SetAttached(const AttachStateGrp AttachedIn, bool bndchk=true);
00217 
00218    //=========================================================
00223    AttachStateGrp GetAttached(void) const { return(Attached); }
00224 
00225 
00226    //+> BillBoardState
00227 
00228    //=========================================================
00236    int SetBillboardState(const BillboardStateGrp BillboardStateIn, bool bndchk=true);
00237 
00238    //=========================================================
00242    BillboardStateGrp GetBillboardState(void) const { return(BillboardState); }
00243 
00244 
00245    //+> PerspectiveGrowth
00246 
00247    //=========================================================
00256    int SetPerspectiveGrowth(const PerspectiveGrowthStateGrp PerspectiveGrowthIn, bool bndchk=true);
00257 
00258    //=========================================================
00263    PerspectiveGrowthStateGrp GetPerspectiveGrowth(void) const { return(PerspectiveGrowth); }
00264 
00265 
00266    //+> Attach
00267 
00268    //=========================================================
00276    int SetEntityID(const Cigi_uint16 EntityIDIn, bool bndchk=true)
00277    {
00278       EntityViewID = EntityIDIn;
00279       return(CIGI_SUCCESS);
00280    }
00281 
00282    //=========================================================
00286    Cigi_uint16 GetEntityID(void) const { return(EntityViewID); }
00287 
00288    //=========================================================
00296    int SetViewID(const Cigi_uint16 ViewIDIn, bool bndchk=true)
00297    {
00298       EntityViewID = ViewIDIn;
00299       return(CIGI_SUCCESS);
00300    }
00301 
00302    //=========================================================
00306    Cigi_uint16 GetViewID(void) const { return(EntityViewID); }
00307 
00308 
00309    //+> Offsets
00310 
00311    //=========================================================
00319    int SetXOffset(const float XOffsetIn, bool bndchk=true)
00320    {
00321       XLeft = XOffsetIn;
00322       return(CIGI_SUCCESS);
00323    }
00324 
00325    //=========================================================
00330    float GetXOffset(void) const { return(XLeft); }
00331 
00332    //=========================================================
00340    int SetYOffset(const float YOffsetIn, bool bndchk=true)
00341    {
00342       YRight = YOffsetIn;
00343       return(CIGI_SUCCESS);
00344    }
00345 
00346    //=========================================================
00351    float GetYOffset(void) const { return(YRight); }
00352 
00353    //=========================================================
00361    int SetZOffset(const float ZOffsetIn, bool bndchk=true)
00362    {
00363       ZTop = ZOffsetIn;
00364       return(CIGI_SUCCESS);
00365    }
00366 
00367    //=========================================================
00372    float GetZOffset(void) const { return(ZTop); }
00373 
00374 
00375    //+> Attitude
00376 
00377    //=========================================================
00385    int SetYaw(const float YawIn, bool bndchk=true);
00386 
00387    //=========================================================
00392    float GetYaw(void) const { return(YawBottom); }
00393 
00394    //=========================================================
00402    int SetPitch(const float PitchIn, bool bndchk=true);
00403 
00404    //=========================================================
00409    float GetPitch(void) const { return(Pitch); }
00410 
00411    //=========================================================
00419    int SetRoll(const float RollIn, bool bndchk=true);
00420 
00421    //=========================================================
00426    float GetRoll(void) const { return(Roll); }
00427 
00428 
00429    //+> Size
00430 
00431    //=========================================================
00438    int SetWidth(const float WidthIn, bool bndchk=true)
00439    {
00440       Width = WidthIn;
00441       return(CIGI_SUCCESS);
00442    }
00443 
00444    //=========================================================
00448    float GetWidth(void) const { return(Width); }
00449 
00450    //=========================================================
00457    int SetHeight(const float HeightIn, bool bndchk=true)
00458    {
00459       Height = HeightIn;
00460       return(CIGI_SUCCESS);
00461    }
00462 
00463    //=========================================================
00467    float GetHeight(void) const { return(Height); }
00468 
00469 
00470 
00471    //+> Symbol Surface Edge Positions
00472 
00473    //=========================================================
00482    int SetLeftEdgePosition(const float LeftEdgePosition, bool bndchk=true);
00483 
00484    //=========================================================
00490    float GetLeftEdgePosition(void) const { return(XLeft); }
00491 
00492    //=========================================================
00501    int SetRightEdgePosition(const float RightEdgePosition, bool bndchk=true);
00502 
00503    //=========================================================
00509    float GetRightEdgePosition(void) const { return(YRight); }
00510 
00511    //=========================================================
00520    int SetTopEdgePosition(const float TopEdgePosition, bool bndchk=true);
00521 
00522    //=========================================================
00528    float GetTopEdgePosition(void) const { return(ZTop); }
00529 
00530    //=========================================================
00539    int SetBottomEdgePosition(const float BottomEdgePosition, bool bndchk=true);
00540 
00541    //=========================================================
00547    float GetBottomEdgePosition(void) const { return(YawBottom); }
00548 
00549 
00550    //+> Edge Coordinates
00551 
00552    //=========================================================
00561    int SetMinU(const float MinUIn, bool bndchk=true)
00562    {
00563       MinU = MinUIn;
00564       return(CIGI_SUCCESS);
00565    }
00566 
00567    //=========================================================
00572    float GetMinU(void) const { return(MinU); }
00573 
00574    //=========================================================
00583    int SetMaxU(const float MaxUIn, bool bndchk=true)
00584    {
00585       MaxU = MaxUIn;
00586       return(CIGI_SUCCESS);
00587    }
00588 
00589    //=========================================================
00594    float GetMaxU(void) const { return(MaxU); }
00595 
00596    //=========================================================
00605    int SetMinV(const float MinVIn, bool bndchk=true)
00606    {
00607       MinV = MinVIn;
00608       return(CIGI_SUCCESS);
00609    }
00610 
00611    //=========================================================
00616    float GetMinV(void) const { return(MinV); }
00617 
00618    //=========================================================
00627    int SetMaxV(const float MaxVIn, bool bndchk=true)
00628    {
00629       MaxV = MaxVIn;
00630       return(CIGI_SUCCESS);
00631    }
00632 
00633    //=========================================================
00638    float GetMaxV(void) const { return(MaxV); }
00639 
00640 
00641 
00642 protected:
00643 
00644    //==> Member variables
00645 
00646    //=========================================================
00651    Cigi_uint16 SurfaceID;
00652 
00653    //=========================================================
00664    StateGrp SurfaceState;
00665 
00666    //=========================================================
00671    AttachStateGrp Attached;
00672 
00673    //=========================================================
00680    BillboardStateGrp BillboardState;
00681 
00682    //=========================================================
00687    PerspectiveGrowthStateGrp PerspectiveGrowth;
00688 
00689    //=========================================================
00694    Cigi_uint16 EntityViewID;
00695 
00696    //=========================================================
00707    float XLeft;
00708 
00709    //=========================================================
00720    float YRight;
00721 
00722    //=========================================================
00733    float ZTop;
00734 
00735    //=========================================================
00747    float YawBottom;
00748 
00749    //=========================================================
00756    float Pitch;
00757 
00758    //=========================================================
00765    float Roll;
00766 
00767    //=========================================================
00781    float Width;
00782 
00783    //=========================================================
00797    float Height;
00798 
00799    //=========================================================
00804    float MinU;
00805 
00806    //=========================================================
00811    float MaxU;
00812 
00813    //=========================================================
00818    float MinV;
00819 
00820    //=========================================================
00825    float MaxV;
00826 
00827 
00828 
00829 
00830 };
00831 
00832 
00833 
00834 #endif   //  #if !defined(_CIGI_BASE_SYMBOL_SURFACE_DEF_INCLUDED_)
00835 

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