00001
00004 #ifndef FBXFILESDK_KFBXMATH_KFBXVECTOR2_H
00005 #define FBXFILESDK_KFBXMATH_KFBXVECTOR2_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 <fbxfilesdk/components/kbaselib/kaydaradef_h.h>
00044 #include <fbxfilesdk/components/kbaselib/kaydara.h>
00045 #include <fbxfilesdk/components/kbaselib/klib/karrayul.h>
00046
00047 #include <fbxfilesdk/kfbxplugins/kfbxtypes.h>
00048
00049 #include <fbxfilesdk/fbxfilesdk_nsbegin.h>
00050
00054 class KFBX_DLL KFbxVector2 : public fbxDouble2
00055 {
00056
00057 public:
00058
00063
00065 KFbxVector2();
00066
00070 KFbxVector2(const KFbxVector2& pVector2);
00071
00076 KFbxVector2(double pX, double pY);
00077
00079 ~KFbxVector2();
00080
00082
00087
00092 KFbxVector2& operator=(const KFbxVector2& pVector2);
00093
00099 double& operator[](int pIndex);
00100
00106 const double& operator[](int pIndex) const;
00107
00113 double GetAt(int pIndex) const;
00114
00120 void SetAt(int pIndex, double pValue);
00121
00126 void Set(double pX, double pY);
00127
00129
00134
00140 KFbxVector2 operator+(double pValue) const;
00141
00147 KFbxVector2 operator-(double pValue) const;
00148
00154 KFbxVector2 operator*(double pValue) const;
00155
00161 KFbxVector2 operator/(double pValue) const;
00162
00168 KFbxVector2& operator+=(double pValue);
00169
00175 KFbxVector2& operator-=(double pValue);
00176
00182 KFbxVector2& operator*=(double pValue);
00183
00189 KFbxVector2& operator/=(double pValue);
00190
00192
00197
00201 KFbxVector2 operator-() const;
00202
00208 KFbxVector2 operator+(const KFbxVector2& pVector) const;
00209
00215 KFbxVector2 operator-(const KFbxVector2& pVector) const;
00216
00222 KFbxVector2 operator*(const KFbxVector2& pVector) const;
00223
00229 KFbxVector2 operator/(const KFbxVector2& pVector) const;
00230
00236 KFbxVector2& operator+=(const KFbxVector2& pVector);
00237
00243 KFbxVector2& operator-=(const KFbxVector2& pVector);
00244
00250 KFbxVector2& operator*=(const KFbxVector2& pVector);
00251
00258 KFbxVector2& operator/=(const KFbxVector2& pVector);
00259
00265 double DotProduct(const KFbxVector2& pVector) const;
00266
00268
00273
00278 bool operator==(const KFbxVector2 & pVector) const;
00279
00284 bool operator!=(const KFbxVector2 & pVector) const;
00285
00287
00292
00296 double Length() const;
00297
00301 double SquareLength() const;
00302
00307 double Distance(const KFbxVector2& pVector) const;
00308
00310 void Normalize();
00311
00313
00318
00320 operator double* ();
00321
00323 operator const double* () const;
00324
00326
00327 };
00328
00329 typedef class KFBX_DLL KArrayTemplate<KFbxVector2> KArrayKFbxVector2;
00330
00331 inline EFbxType FbxTypeOf( KFbxVector2 const &pItem ) { return eDOUBLE2; }
00332
00333 #include <fbxfilesdk/fbxfilesdk_nsend.h>
00334
00335 #endif // FBXFILESDK_KFBXMATH_KFBXVECTOR2_H
00336