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