00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016 #ifndef __VECTOR3D_H__
00017 #define __VECTOR3D_H__
00018
00019 #include "SL_Float.h"
00020 #include <SIBCVector.h>
00021 class CCOLLADATemplate;
00022 class CSLCOLLADAScene;
00023
00030 class XSIEXPORT CSLVector3DProxy
00031 {
00032 public:
00034
00040 CSLVector3DProxy
00041 (
00042 CdotXSITemplate *in_pTemplate,
00043 SI_Long in_lIndexX,
00044 SI_Long in_lIndexY,
00045 SI_Long in_lIndexZ
00046 );
00047
00049 CSLVector3DProxy& operator =(const CSIBCVector3D &in_rVector);
00050
00052 operator CSIBCVector3D();
00053
00055 CSLFloatProxy& X();
00056
00058 CSLFloatProxy& Y();
00059
00061 CSLFloatProxy& Z();
00062
00064 void Connect ( CdotXSITemplate *in_pTemplate,
00065 SI_Long in_lIndexX,
00066 SI_Long in_lIndexY,
00067 SI_Long in_lIndexZ );
00068
00069 void Connect ( CSLTemplate *in_pTemplate,
00070 CCOLLADATemplate *in_pOwner,
00071 SI_Long in_lIndexX,
00072 SI_Long in_lIndexY,
00073 SI_Long in_lIndexZ,
00074 CSLCOLLADAScene* in_pScene,
00075 int in_CurveType[],
00076 const char* in_XSIName[],
00077 const char* in_zsSuffixX = "X",
00078 const char* in_zsSuffixY = "Y",
00079 const char* in_zsSuffixZ = "Z",
00080 const char* in_szSID = NULL);
00081
00082 protected:
00083 CSLFloatProxy m_fX;
00084 CSLFloatProxy m_fY;
00085 CSLFloatProxy m_fZ;
00086 };
00087
00088 #endif //__VECTOR3D_H__