00001 00039 #if !defined(_CIGI_BASE_VERTEX_SYMBOL_DATA_INCLUDED_) 00040 #define _CIGI_BASE_VERTEX_SYMBOL_DATA_INCLUDED_ 00041 00042 00043 #include "CigiTypes.h" 00044 #include "CigiErrorCodes.h" 00045 00046 // ==================================================================== 00047 // preprocessor definitions 00048 // ==================================================================== 00049 00050 #define CIGI_VERTEX_SYMBOL_DATA_SIZE_V3_3 8 00051 00052 00053 class CigiVertexSymbolDataV3_3; 00054 00055 //========================================================= 00058 class CIGI_SPEC CigiBaseVertexSymbolData 00059 { 00060 00061 friend class CigiVertexSymbolDataV3_3; 00062 00063 public: 00064 00065 00066 //==> Management 00067 00068 //========================================================= 00071 CigiBaseVertexSymbolData(void) {}; 00072 00073 //========================================================= 00076 virtual ~CigiBaseVertexSymbolData(void) {}; 00077 00078 00079 //==> Buffer Packing/Unpacking 00080 00081 //========================================================= 00091 virtual int Pack(CigiBaseVertexSymbolData * Base, Cigi_uint8 * Buff) const=0; 00092 00093 //========================================================= 00102 virtual int Unpack(Cigi_uint8 * Buff, bool Swap) =0; 00103 00104 00105 //==> Accessing Member Variable Values functions 00106 00107 00108 //+> Vertices 00109 00110 //========================================================= 00118 int SetVertex(const float VertexUIn, const float VertexVIn, bool bndchk=true) 00119 { 00120 VertexU = VertexUIn; 00121 VertexV = VertexVIn; 00122 return(CIGI_SUCCESS); 00123 } 00124 00125 //========================================================= 00134 int GetVertex(float &VertexUIn, float &VertexVIn) 00135 { 00136 VertexUIn = VertexU; 00137 VertexVIn = VertexV; 00138 return(CIGI_SUCCESS); 00139 } 00140 00141 00142 //+> VertexU 00143 00144 //========================================================= 00151 int SetVertexU(const float VertexUIn, bool bndchk=true) 00152 { 00153 VertexU = VertexUIn; 00154 return(CIGI_SUCCESS); 00155 } 00156 00157 //========================================================= 00161 float GetVertexU(void) const { return(VertexU); } 00162 00163 00164 //+> VertexV 00165 00166 //========================================================= 00173 int SetVertexV(const float VertexVIn, bool bndchk=true) 00174 { 00175 VertexV = VertexVIn; 00176 return(CIGI_SUCCESS); 00177 } 00178 00179 //========================================================= 00183 float GetVertexV(void) const { return(VertexV); } 00184 00185 00186 00187 protected: 00188 00189 //==> Member variables 00190 00191 //========================================================= 00195 float VertexU; 00196 00197 //========================================================= 00201 float VertexV; 00202 00203 00204 }; 00205 00206 00207 00208 #endif // #if !defined(_CIGI_BASE_VERTEX_SYMBOL_DATA_INCLUDED_) 00209