00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012 #ifndef __VECTOR3D_H__
00013 #define __VECTOR3D_H__
00014
00015 #include "SL_Float.h"
00016 #include <SIBCVector.h>
00017 class CCOLLADATemplate;
00018 class CSLCOLLADAScene;
00019
00022 class XSIEXPORT CSLVector3DProxy
00023 {
00024 public:
00026
00032 CSLVector3DProxy
00033 (
00034 CdotXSITemplate *in_pTemplate,
00035 SI_Long in_lIndexX,
00036 SI_Long in_lIndexY,
00037 SI_Long in_lIndexZ
00038 );
00039
00041 CSLVector3DProxy& operator =(const CSIBCVector3D &in_rVector);
00042
00044 operator CSIBCVector3D();
00045
00047 CSLFloatProxy& X();
00048
00050 CSLFloatProxy& Y();
00051
00053 CSLFloatProxy& Z();
00054
00056 void Connect ( CdotXSITemplate *in_pTemplate,
00057 SI_Long in_lIndexX,
00058 SI_Long in_lIndexY,
00059 SI_Long in_lIndexZ );
00060
00061 void Connect ( CSLTemplate *in_pTemplate,
00062 CCOLLADATemplate *in_pOwner,
00063 SI_Long in_lIndexX,
00064 SI_Long in_lIndexY,
00065 SI_Long in_lIndexZ,
00066 CSLCOLLADAScene* in_pScene,
00067 int in_CurveType[],
00068 const char* in_XSIName[],
00069 const char* in_zsSuffixX = "X",
00070 const char* in_zsSuffixY = "Y",
00071 const char* in_zsSuffixZ = "Z",
00072 const char* in_szSID = NULL);
00073
00074 protected:
00075 CSLFloatProxy m_fX;
00076 CSLFloatProxy m_fY;
00077 CSLFloatProxy m_fZ;
00078 };
00079
00080 #endif //__VECTOR3D_H__