CigiCircleSymbolDataV3_3.cpp

Go to the documentation of this file.
00001 
00040 #define _EXPORT_CCL_
00041 
00042 
00043 #include "CigiCircleSymbolDataV3_3.h"
00044 #include "CigiExceptions.h"
00045 #include "CigiSwapping.h"
00046 
00047 
00048 
00049 // ====================================================================
00050 // Construction/Destruction
00051 // ====================================================================
00052 
00053 // ================================================
00054 // CigiBaseEntityCtrl
00055 // vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv
00056 CigiCircleSymbolDataV3_3::CigiCircleSymbolDataV3_3(void)
00057 {
00058    CenterUPosition = 0.0f;
00059    CenterVPosition = 0.0f;
00060    Radius = 0.0f;
00061    InnerRadius = 0.0f;
00062    StartAngle = 0.0f;
00063    EndAngle = 0.0f;
00064 }
00065 
00066 // ================================================
00067 // ~CigiBaseEntityCtrl
00068 // vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv
00069 CigiCircleSymbolDataV3_3::~CigiCircleSymbolDataV3_3(void)
00070 {
00071 }
00072 
00073 
00074 // ====================================================================
00075 // Pack and Unpack
00076 // ====================================================================
00077 
00078 // ================================================
00079 // Pack
00080 // vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv
00081 int CigiCircleSymbolDataV3_3::Pack(CigiBaseCircleSymbolData * Base, Cigi_uint8 * Buff) const
00082 {
00083    PackPointer CDta;
00084 
00085    CigiCircleSymbolDataV3_3 * Data =
00086       ( CigiCircleSymbolDataV3_3 *)Base;
00087 
00088    CDta.c = Buff;
00089 
00090    *CDta.f++ = Data->CenterUPosition;
00091    *CDta.f++ = Data->CenterVPosition;
00092    *CDta.f++ = Data->Radius;
00093    *CDta.f++ = Data->InnerRadius;
00094    *CDta.f++ = Data->StartAngle;
00095    *CDta.f++ = Data->EndAngle;
00096 
00097    return(CIGI_CIRCLE_SYMBOL_DATA_SIZE_V3_3);
00098 
00099 }
00100 
00101 // ================================================
00102 // Unpack
00103 // vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv
00104 int CigiCircleSymbolDataV3_3::Unpack(Cigi_uint8 * Buff, bool Swap)
00105 {
00106    PackPointer CDta;
00107    unsigned char HDta = 0;
00108 
00109    CDta.c = Buff;
00110 
00111    if(!Swap)
00112    {
00113       CenterUPosition = *CDta.f++;
00114       CenterVPosition = *CDta.f++;
00115       Radius = *CDta.f++;
00116       InnerRadius = *CDta.f++;
00117       StartAngle = *CDta.f++;
00118       EndAngle = *CDta.f++;
00119    }
00120    else
00121    {
00122       CigiSwap4(&CenterUPosition, CDta.f++);
00123       CigiSwap4(&CenterVPosition, CDta.f++);
00124       CigiSwap4(&Radius, CDta.f++);
00125       CigiSwap4(&InnerRadius, CDta.f++);
00126       CigiSwap4(&StartAngle, CDta.f++);
00127       CigiSwap4(&EndAngle, CDta.f++);
00128    }
00129 
00130    return(CIGI_CIRCLE_SYMBOL_DATA_SIZE_V3_3);
00131 
00132 }
00133 
00134 
00135 
00136 

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