00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026 #ifndef CYBTEXTURECOORDINATE_HC
00027 #define CYBTEXTURECOORDINATE_HC
00028
00029
00030 #include "oaw/ctk/cybnodec.h"
00031 #include "cybwrlfields.h"
00032 #include "../oawconfig.h"
00033
00034 OAW_BEGIN_NAMESPACE
00035
00036
00037 class OAW_DLLMAPPING CybTextureCoordinateC : public CybNodeC
00038 {
00039 public:
00040 CybTextureCoordinateC(CybWorldC*);
00041 virtual ~CybTextureCoordinateC();
00042 CybTextureCoordinateC(const CybTextureCoordinateC&);
00043 CybTextureCoordinateC& operator = (const CybTextureCoordinateC&);
00044
00045 float* GetTexCoord_fv(long i){return m_texcoord+2*i;}
00046 SFVec2f GetTexCoord(long i){return SFVec2f(m_texcoord[2*i],m_texcoord[2*i+1]);}
00047 long GetLength(){return m_length/2;}
00048 virtual void LoadVRML(char*& iter, const char* iterEnd, long& znr);
00049 virtual int AddSrc(CybNodeC* pN,const StringC& a1,const StringC& a2);
00050 virtual void SetEvent(long,const void*, BaseI*);
00051 virtual long BufEvent(long,const void*, BaseI*);
00052 virtual long GetEventBufMinDataSize();
00053 virtual long GetEventBufMaxDataSize();
00054 virtual short CopyEventBuf(AnyC&,long);
00055 virtual short SetEventBuf(AnyC&, BaseI*);
00056
00057 protected:
00058 virtual void CreateNewCopy(CybNodeC*);
00059 protected:
00060 long m_length;
00061 float* m_texcoord;
00062 long m_lengthBuf;
00063 float* m_texcoordBuf;
00064 long m_copyEventBufState;
00065
00066 };
00067
00068 OAW_END_NAMESPACE
00069
00070
00071 #endif
00072
00073
00074
00075
00076