00001
00004 #ifndef _FBXSDK_VECTOR2_H_
00005 #define _FBXSDK_VECTOR2_H_
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036
00037
00038
00039
00040
00041
00042
00043 #include <kaydaradef.h>
00044 #ifndef KFBX_DLL
00045 #define KFBX_DLL K_DLLIMPORT
00046 #endif
00047
00048 #include <kaydara.h>
00049 #include <klib/karrayul.h>
00050
00051 #ifndef MB_FBXSDK
00052 #include <kbaselib_nsuse.h>
00053 #endif
00054
00055 #include <kfbxplugins/kfbxtypes.h>
00056
00057 #include <fbxfilesdk_nsbegin.h>
00058
00062 class KFBX_DLL KFbxVector2 : public fbxDouble2
00063 {
00064
00065 public:
00066
00071
00073 KFbxVector2();
00074
00076 KFbxVector2(const KFbxVector2& pVector2);
00077
00082 KFbxVector2(double pX, double pY);
00083
00085 ~KFbxVector2();
00086
00088
00093
00095 KFbxVector2& operator=(const KFbxVector2& pVector2);
00096
00102 double& operator[](int pIndex);
00103
00109 double GetAt(int pIndex);
00110
00116 void SetAt(int pIndex, double pValue);
00117
00122 void Set(double pX, double pY);
00123
00125
00130
00136 KFbxVector2 operator+(double pValue);
00137
00143 KFbxVector2 operator-(double pValue);
00144
00150 KFbxVector2 operator*(double pValue);
00151
00157 KFbxVector2 operator/(double pValue);
00158
00164 KFbxVector2& operator+=(double pValue);
00165
00171 KFbxVector2& operator-=(double pValue);
00172
00178 KFbxVector2& operator*=(double pValue);
00179
00185 KFbxVector2& operator/=(double pValue);
00186
00188
00193
00197 KFbxVector2 operator-();
00198
00204 KFbxVector2 operator+(KFbxVector2& pVector);
00205
00211 KFbxVector2 operator-(KFbxVector2& pVector);
00212
00218 KFbxVector2 operator*(KFbxVector2& pVector);
00219
00225 KFbxVector2 operator/(KFbxVector2& pVector);
00226
00232 KFbxVector2& operator+=(KFbxVector2& pVector);
00233
00239 KFbxVector2& operator-=(KFbxVector2& pVector);
00240
00246 KFbxVector2& operator*=(KFbxVector2& pVector);
00247
00254 KFbxVector2& operator/=(KFbxVector2& pVector);
00255
00261 double DotProduct(KFbxVector2& pVector);
00262
00264
00269
00274 bool operator==(KFbxVector2 const& pVector) const;
00275
00280 bool operator!=(KFbxVector2 const& pVector) const;
00281
00283
00288
00292 double Length();
00293
00297 double SquareLength();
00298
00303 double Distance(KFbxVector2& pVector);
00304
00306 void Normalize();
00307
00309
00314
00316 operator double* ();
00317
00319 operator const double* ();
00320
00321 operator const double* () const;
00322
00324
00325 };
00326
00327 typedef class KFBX_DLL KArrayTemplate<KFbxVector2> KArrayKFbxVector2;
00328
00329 inline EFbxType FbxTypeOf( KFbxVector2 const &pItem ) { return eDOUBLE2; }
00330
00331 #include <fbxfilesdk_nsend.h>
00332
00333 #endif // #ifndef _FBXSDK_VECTOR2_H_
00334
00335