00001
00004 #ifndef FBXFILESDK_KFBXPLUGINS_KFBXTYPES_H
00005 #define FBXFILESDK_KFBXPLUGINS_KFBXTYPES_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 #include <fbxfilesdk/components/kbaselib/kaydaradef_h.h>
00043 #include <fbxfilesdk/components/kbaselib/kbaselib_forward.h>
00044 #include <fbxfilesdk/components/kbaselib/klib/kdebug.h>
00045 #include <fbxfilesdk/components/kbaselib/klib/kstring.h>
00046 #include <fbxfilesdk/components/kbaselib/klib/ktime.h>
00047
00048 #include <fbxfilesdk/kfbxplugins/kfbxcolor.h>
00049 #include <fbxfilesdk/kfbxplugins/kfbxsystemunit.h>
00050 #include <fbxfilesdk/fbxfilesdk_nsbegin.h>
00051
00052 class KFbxSdkManager;
00053
00054
00055 typedef enum {
00056 eUNIDENTIFIED,
00057 eBYTE1,
00058 eUBYTE1,
00059 eSHORT1,
00060 eUSHORT1,
00061 eUINTEGER1,
00062 eLONGLONG1,
00063 eULONGLONG1,
00064 eHALFFLOAT,
00065 eBOOL1,
00066 eINTEGER1,
00067 eFLOAT1,
00068 eDOUBLE1,
00069 eDOUBLE2,
00070 eDOUBLE3,
00071 eDOUBLE4,
00072 eDOUBLE44,
00073 eENUM,
00074 eSTRING,
00075 eTIME,
00076 eREFERENCE,
00077 eBLOB,
00078 eDISTANCE,
00079 eDATETIME,
00080 eMAX_TYPES,
00081 } EFbxType;
00082
00083
00084 template<class T> class fbxVectorTemplate2 {
00085 public:
00086 inline fbxVectorTemplate2() { *this = 0; }
00087 inline fbxVectorTemplate2(T pValue) { *this = pValue; }
00088 inline fbxVectorTemplate2(T pData0,T pData1) { mData[0] = pData0; mData[1] = pData1; }
00089 inline ~fbxVectorTemplate2() {}
00090 public:
00091 inline T &operator[](int pIndex) { return mData[pIndex]; }
00092 inline T const&operator[](int pIndex) const { return mData[pIndex]; }
00093 inline fbxVectorTemplate2<T> &operator=(T const & pValue) { mData[0] = pValue; mData[1] = pValue; return *this; }
00094 inline fbxVectorTemplate2<T> &operator=(const fbxVectorTemplate2<T> & pRHS) { mData[0] = pRHS.mData[0]; mData[1] = pRHS.mData[1]; return *this; }
00095 inline bool operator==(fbxVectorTemplate2<T> const & pRHS) const { return ((mData[0] == pRHS.mData[0]) && (mData[1] == pRHS.mData[1])); }
00096 inline bool operator!=(fbxVectorTemplate2<T> const & pRHS) const { return !operator==( pRHS ); }
00097
00098 operator T*() { return mData; }
00099 operator T const*() const { return mData; }
00100
00101 public:
00102 T mData[2];
00103 };
00104
00105 template<class T> class fbxVectorTemplate3 {
00106 public:
00107 inline fbxVectorTemplate3() { *this = 0; }
00108 inline fbxVectorTemplate3(T pValue) { *this = pValue; }
00109 inline fbxVectorTemplate3(T pData0,T pData1,T pData2) { mData[0] = pData0; mData[1] = pData1; mData[2] = pData2; }
00110 inline ~fbxVectorTemplate3() {}
00111 public:
00112 inline T &operator[](int pIndex) { return mData[pIndex]; }
00113 inline T const&operator[](int pIndex) const { return mData[pIndex]; }
00114 inline fbxVectorTemplate3<T> &operator=(int pValue) { mData[0] = pValue; mData[1] = pValue; mData[2] = pValue; return *this; }
00115 inline fbxVectorTemplate3<T> &operator=(T const &pValue) { mData[0] = pValue; mData[1] = pValue; mData[2] = pValue; return *this; }
00116 inline fbxVectorTemplate3<T> &operator=(const fbxVectorTemplate3<T> & pRHS) { mData[0] = pRHS.mData[0]; mData[1] = pRHS.mData[1]; mData[2] = pRHS.mData[2]; return *this; }
00117 inline bool operator==(fbxVectorTemplate3<T> const & pRHS) const { return ((mData[0] == pRHS.mData[0]) && (mData[1] == pRHS.mData[1]) && (mData[2] == pRHS.mData[2])); }
00118 inline bool operator!=(fbxVectorTemplate3<T> const & pRHS) const { return !operator==(pRHS); }
00119
00120 inline operator T*() { return mData; }
00121 inline operator T const*() const { return mData; }
00122
00123 public:
00124 T mData[3];
00125 };
00126
00127 template<class T> class fbxVectorTemplate4 {
00128 public:
00129 inline fbxVectorTemplate4() { *this = 0; }
00130 inline fbxVectorTemplate4(T pValue) { *this = pValue; }
00131 inline fbxVectorTemplate4(T pData0,T pData1,T pData2,T pData3) { mData[0] = pData0; mData[1] = pData1; mData[2] = pData2; mData[3] = pData3; }
00132 inline ~fbxVectorTemplate4() {}
00133 public:
00134 inline T &operator[](int pIndex) { return mData[pIndex]; }
00135 inline operator fbxVectorTemplate3<T>& () const { return *((fbxVectorTemplate3<T> *)this); }
00136 inline T const&operator[](int pIndex) const { return mData[pIndex]; }
00137 inline fbxVectorTemplate4<T> &operator=(int pValue) { mData[0] = pValue; mData[1] = pValue; mData[2] = pValue; mData[3] = pValue; return *this; }
00138 inline fbxVectorTemplate4<T> &operator=(T const &pValue) { mData[0] = pValue; mData[1] = pValue; mData[2] = pValue; mData[3] = pValue; return *this; }
00139 inline fbxVectorTemplate4<T> &operator=(fbxVectorTemplate3<T> const &pValue) { mData[0] = pValue[0]; mData[1] = pValue[1]; mData[2] = pValue[2]; return *this; }
00140 inline fbxVectorTemplate4<T> &operator=(const fbxVectorTemplate4<T> & pRHS) { mData[0] = pRHS.mData[0]; mData[1] = pRHS.mData[1]; mData[2] = pRHS.mData[2]; mData[3] = pRHS.mData[3]; return *this; }
00141 inline bool operator==(fbxVectorTemplate4<T> const & pRHS) const { return ((mData[0] == pRHS.mData[0]) && (mData[1] == pRHS.mData[1]) && (mData[2] == pRHS.mData[2]) && (mData[3] == pRHS.mData[3])); }
00142 inline bool operator!=(fbxVectorTemplate4<T> const & pRHS) const { return !operator==( pRHS ); }
00143 inline operator T*() { return mData; }
00144 inline operator T const*() const { return mData; }
00145
00146 public:
00147 T mData[4];
00148 };
00149
00150
00155 class KFBX_DLL fbxBlob {
00156 public:
00161
00163 inline fbxBlob() { mData = 0; mSize = 0; mRefCount = 0; }
00164
00168 fbxBlob(int pSize);
00169
00173 inline fbxBlob(const fbxBlob & pRHS) { mData = 0; mSize = 0; mRefCount = 0; *this = pRHS; }
00174
00179 inline fbxBlob(const void * pData, int pSize) { mData = 0; mSize = 0; mRefCount = 0; Assign(pData,pSize); }
00180
00182 ~fbxBlob();
00183
00185 public:
00190
00195 fbxBlob &operator=(fbxBlob const &pValue);
00196
00201 void Assign(const void * pData, int pSize);
00203
00208
00213 bool operator==(fbxBlob const & pRHS) const;
00214
00219 inline bool operator!=(fbxBlob const & pRHS) const { return !operator==( pRHS ); }
00221
00223 void * Modify();
00224
00229
00233 const void * Access() const { return mData; }
00234
00238 inline int Size() const { return mSize; }
00240
00242 void Clear();
00243
00244 protected:
00245 int * mRefCount;
00246 void * mData;
00247 int mSize;
00248
00249 };
00250
00254 class KFBX_DLL fbxDistance {
00255 public:
00260
00262 fbxDistance(): mUnit(1.0), mValue(0.0) { }
00263
00268 fbxDistance(float pValue, KFbxSystemUnit pUnit): mUnit(1.0), mValue(0.0) {
00269 mValue = pValue;
00270 mUnit = pUnit;
00271 }
00272
00278 fbxDistance(float pValue, const char* pUnit);
00279
00281 ~fbxDistance() { }
00282
00284 public:
00285
00290
00295 fbxDistance &operator=(fbxDistance const& pValue) {
00296 mValue = pValue.mValue;
00297 mUnit = pValue.mUnit;
00298 return *this;
00299 }
00301
00306
00311 bool operator==(fbxDistance const & pRHS) const { return ( (mValue == pRHS.mValue) && (mUnit == pRHS.mUnit) ); }
00312
00317 bool operator!=(fbxDistance const& pRHS) const { return !operator==(pRHS); }
00319
00320
00321 KString const unitName() const { return mUnit.GetScaleFactorAsString(); }
00322
00327
00331 KFbxSystemUnit const unit() const { return mUnit; }
00332
00336 float const value() const { return mValue; }
00338
00342 float const internalValue() const {
00343 KFbxSystemUnit internalUnit(KFbxSystemUnit::Inch);
00344 float internalValue = (float)(mValue * mUnit.GetConversionFactorTo(internalUnit));
00345 return internalValue;
00346 }
00347
00352 float const valueAs( KFbxSystemUnit const& pUnit ) const
00353 {
00354 float convertedValue = (float)(mValue * mUnit.GetConversionFactorTo(pUnit));
00355 return convertedValue;
00356 }
00357
00358 private:
00359 float mValue;
00360 KFbxSystemUnit mUnit;
00361 };
00362
00363
00364
00365
00366
00374 class KFBX_DLL fbxDateTime
00375 {
00376 public:
00377 kShort mMillisecond;
00378 kShort mYear;
00379
00380 kByte mMonth;
00381 kByte mDay;
00382 kByte mHour;
00383 kByte mMinute;
00384 kByte mSecond;
00385
00386 public:
00391
00393 fbxDateTime() { Clear(); }
00394
00404 fbxDateTime(int pDay, int pMonth, int pYear, int pHour, int pMin, int pSec, int pMillisecond = 0);
00405
00407
00412
00417 bool operator==(const fbxDateTime& pRHS) const;
00418
00423 bool operator!=(const fbxDateTime& pRHS) const
00424 {
00425 return !(*this == pRHS);
00426 }
00428
00430 void Clear()
00431 {
00432 mMillisecond = mYear = 0;
00433 mMonth = mDay = mHour = mMinute = mSecond = 0;
00434 }
00435
00436
00440 bool isValid() const;
00441
00442
00443
00453 void setDate(int pDay, int pMonth, int pYear);
00454
00461 void setTime(int pHour, int pMin, int pSec, int pMillisecond = 0);
00463
00464
00470
00474 KString toString() const;
00475
00482 bool fromString(const char*);
00484
00488 static fbxDateTime currentDateTimeGMT();
00489 };
00490
00498 class KFBX_DLL fbxHalfFloat
00499 {
00500 public:
00505 fbxHalfFloat() { mValue = 0; }
00506 fbxHalfFloat(float pVal) { mValue = FtoHF(&pVal); }
00507 fbxHalfFloat(const fbxHalfFloat& pVal) { mValue = pVal.mValue; }
00509
00514
00519 fbxHalfFloat &operator=(fbxHalfFloat const& pValue)
00520 {
00521 mValue = pValue.mValue;
00522 return *this;
00523 }
00525
00530
00535 bool operator==(fbxHalfFloat const & pRHS) const { return (mValue == pRHS.mValue); }
00536
00541 bool operator!=(fbxHalfFloat const& pRHS) const { return !operator==(pRHS); }
00543
00550 float const value() const { return HFtoF(mValue); }
00551
00554 unsigned short const internal_value() const { return mValue; }
00556
00557 private:
00558 typedef unsigned short half;
00559 half mValue;
00560
00561
00562
00563
00564
00565
00566
00567
00568
00569
00570
00571
00572
00573 half FtoHF(float *f)
00574 {
00575 half h;
00576 unsigned int p = *(unsigned int *)f;
00577 unsigned int s = (p >> 31);
00578 unsigned int e = p & 0x7F800000;
00579 unsigned int m = p & 0x007FFFFF;
00580
00581
00582
00583 if (e >= 0x47800000)
00584 {
00585
00586
00587 m = (m != 0 && (e==0x7F800000)) ? ((1 << 23) - 1) : 0;
00588 h = (((half)s) << 15) | (half)((0x1F << 10)) | (half)(m >> 13);
00589 }
00590 else
00591 if (e <= 0x38000000)
00592 {
00593
00594 e = (0x38000000 - e) >> 23;
00595 m >>= (14 + e);
00596 h = (((half)s) << 15) | (half)(m);
00597 }
00598 else
00599 {
00600
00601 h = (((half)s) << 15) | (half)((e-0x38000000) >> 13) | (half)(m >> 13);
00602 }
00603 return h;
00604 }
00605
00606 float HFtoF(half h) const
00607 {
00608 unsigned int f;
00609 unsigned int s = (unsigned int)(h>>15);
00610 unsigned int e = (unsigned int)(h&0x7C00);
00611 unsigned int m = (unsigned int)(h&0x03FF);
00612
00613 if (e == 0x7C00)
00614 {
00615
00616 e = (0xFF<<23);
00617 if (m != 0) m = ((1<<23)-1);
00618 }
00619 else
00620 if (e == 0x00000000)
00621 {
00622
00623 if (m != 0)
00624 {
00625 m <<= 1;
00626 e = 0x38000000;
00627 while ((m&(1<<10)) == 0)
00628 {
00629 m <<= 1;
00630 e -= (1<<23);
00631 }
00632 m &= ((1<<10)-1);
00633 m <<= 13;
00634 }
00635 }
00636 else
00637 {
00638 m <<= 13;
00639 e = (e<<13) + 0x38000000;
00640 }
00641
00642 f = (s<<31)|e|m;
00643 return *((float *)&f);
00644 }
00645 };
00646
00647
00648 typedef char fbxByte1;
00649 typedef unsigned char fbxUByte1;
00650 typedef short fbxShort1;
00651 typedef unsigned short fbxUShort1;
00652 typedef unsigned int fbxUInteger1;
00653 #if defined(KARCH_DEV_MSC) && !defined(KARCH_DEV_INTEL)
00654 typedef signed __int64 fbxLongLong1;
00655 typedef unsigned __int64 fbxULongLong1;
00656 #else
00657 typedef signed long long fbxLongLong1;
00658 typedef unsigned long long fbxULongLong1;
00659 #endif
00660 typedef bool fbxBool1;
00661 typedef int fbxInteger1;
00662 typedef float fbxFloat1;
00663 typedef double fbxDouble1;
00664 typedef fbxVectorTemplate2<double> fbxDouble2;
00665 typedef fbxVectorTemplate3<double> fbxDouble3;
00666 typedef fbxVectorTemplate4<double> fbxDouble4;
00667 typedef fbxVectorTemplate4<fbxDouble4> fbxDouble44;
00668 typedef int fbxEnum;
00669 typedef KString fbxString;
00670 typedef KTime fbxTime;
00671 typedef fbxBlob KFbxBlob;
00672 class fbxReference {};
00673 typedef fbxDistance KFbxDistance;
00674
00675
00676 const size_t FbxTypeSizeOf[eMAX_TYPES] = {
00677 0,
00678 sizeof(fbxByte1),
00679 sizeof(fbxUByte1),
00680 sizeof(fbxShort1),
00681 sizeof(fbxUShort1),
00682 sizeof(fbxUInteger1),
00683 sizeof(fbxLongLong1),
00684 sizeof(fbxULongLong1),
00685 sizeof(fbxHalfFloat),
00686 sizeof(fbxBool1),
00687 sizeof(fbxInteger1),
00688 sizeof(fbxFloat1),
00689 sizeof(fbxDouble1),
00690 sizeof(fbxDouble2),
00691 sizeof(fbxDouble3),
00692 sizeof(fbxDouble4),
00693 sizeof(fbxDouble44),
00694 sizeof(fbxEnum),
00695 sizeof(fbxString),
00696 sizeof(fbxTime),
00697 sizeof(fbxReference),
00698 sizeof(fbxBlob),
00699 sizeof(fbxDistance),
00700 sizeof(fbxDateTime)
00701 };
00702
00703
00704 template <class T> inline EFbxType FbxTypeOf( T const &pItem ) { K_ASSERT_MSG_NOW("Unknown type" ); return eUNIDENTIFIED; }
00705
00706 inline EFbxType FbxTypeOf( fbxByte1 const &pItem ) { return eBYTE1; }
00707 inline EFbxType FbxTypeOf( fbxUByte1 const &pItem ) { return eUBYTE1; }
00708 inline EFbxType FbxTypeOf( fbxShort1 const &pItem ) { return eSHORT1; }
00709 inline EFbxType FbxTypeOf( fbxUShort1 const &pItem ) { return eUSHORT1; }
00710 inline EFbxType FbxTypeOf( fbxUInteger1 const &pItem ) { return eUINTEGER1; }
00711 inline EFbxType FbxTypeOf( fbxLongLong1 const &pItem ) { return eLONGLONG1; }
00712 inline EFbxType FbxTypeOf( fbxULongLong1 const &pItem ) { return eULONGLONG1; }
00713 inline EFbxType FbxTypeOf( fbxHalfFloat const &pItem ) { return eHALFFLOAT; }
00714 inline EFbxType FbxTypeOf( fbxBool1 const &pItem ) { return eBOOL1; }
00715 inline EFbxType FbxTypeOf( fbxInteger1 const &pItem ) { return eINTEGER1; }
00716 inline EFbxType FbxTypeOf( fbxFloat1 const &pItem ) { return eFLOAT1; }
00717 inline EFbxType FbxTypeOf( fbxDouble1 const &pItem ) { return eDOUBLE1; }
00718 inline EFbxType FbxTypeOf( fbxDouble2 const &pItem ) { return eDOUBLE2; }
00719 inline EFbxType FbxTypeOf( fbxDouble3 const &pItem ) { return eDOUBLE3; }
00720 inline EFbxType FbxTypeOf( fbxDouble4 const &pItem ) { return eDOUBLE4; }
00721 inline EFbxType FbxTypeOf( fbxDouble44 const &pItem ) { return eDOUBLE44; }
00722
00723 inline EFbxType FbxTypeOf( fbxString const &pItem ) { return eSTRING; }
00724 inline EFbxType FbxTypeOf( fbxTime const &pItem ) { return eTIME; }
00725 inline EFbxType FbxTypeOf( fbxReference const &pItem ) { return eREFERENCE; }
00726 inline EFbxType FbxTypeOf( fbxBlob const &pItem ) { return eBLOB; }
00727 inline EFbxType FbxTypeOf( fbxDistance const &pItem) { return eDISTANCE; }
00728 inline EFbxType FbxTypeOf( fbxDateTime const &pItem) { return eDATETIME; }
00729
00730
00731
00732
00733
00734
00735
00736
00737 template <class T> inline EFbxType _FbxTypeOf( T* const &pItem) { return eREFERENCE; }
00738 inline EFbxType _FbxTypeOf( fbxByte1 const &pItem ) { return eBYTE1; }
00739 inline EFbxType _FbxTypeOf( fbxUByte1 const &pItem ) { return eUBYTE1; }
00740 inline EFbxType _FbxTypeOf( fbxShort1 const &pItem ) { return eSHORT1; }
00741 inline EFbxType _FbxTypeOf( fbxUShort1 const &pItem ) { return eUSHORT1; }
00742 inline EFbxType _FbxTypeOf( fbxUInteger1 const &pItem ) { return eUINTEGER1; }
00743 inline EFbxType _FbxTypeOf( fbxLongLong1 const &pItem ) { return eLONGLONG1; }
00744 inline EFbxType _FbxTypeOf( fbxULongLong1 const &pItem ) { return eULONGLONG1; }
00745 inline EFbxType _FbxTypeOf( fbxHalfFloat const &pItem ) { return eHALFFLOAT; }
00746 inline EFbxType _FbxTypeOf( fbxBool1 const &pItem ) { return eBOOL1; }
00747 inline EFbxType _FbxTypeOf( fbxInteger1 const &pItem ) { return eINTEGER1; }
00748 inline EFbxType _FbxTypeOf( fbxFloat1 const &pItem ) { return eFLOAT1; }
00749 inline EFbxType _FbxTypeOf( fbxDouble1 const &pItem ) { return eDOUBLE1; }
00750 inline EFbxType _FbxTypeOf( fbxDouble2 const &pItem ) { return eDOUBLE2; }
00751 inline EFbxType _FbxTypeOf( fbxDouble3 const &pItem ) { return eDOUBLE3; }
00752 inline EFbxType _FbxTypeOf( fbxDouble4 const &pItem ) { return eDOUBLE4; }
00753 inline EFbxType _FbxTypeOf( fbxDouble44 const &pItem ) { return eDOUBLE44; }
00754
00755 inline EFbxType _FbxTypeOf( fbxString const &pItem ) { return eSTRING; }
00756 inline EFbxType _FbxTypeOf( fbxTime const &pItem ) { return eTIME; }
00757 inline EFbxType _FbxTypeOf( fbxReference const &pItem ) { return eREFERENCE; }
00758 inline EFbxType _FbxTypeOf( fbxBlob const &pItem ) { return eBLOB; }
00759 inline EFbxType _FbxTypeOf( KFbxColor const &pItem ) { return eDOUBLE4; }
00760 inline EFbxType _FbxTypeOf( fbxDistance const &pItem ) { return eDISTANCE; }
00761 inline EFbxType _FbxTypeOf( fbxDateTime const &pItem ) { return eDATETIME; }
00762
00763
00764 inline EFbxType FbxTypeOf( KFbxColor const &pItem ) { return eDOUBLE4; }
00765
00766
00767
00768
00769
00770
00771
00772
00773 bool KFBX_DLL fbxCopyStr( fbxDouble1& pDst, fbxString const& pSrc );
00774 bool KFBX_DLL fbxCopyStr( fbxBool1& pDst, fbxString const& pSrc );
00775 bool KFBX_DLL fbxCopyStr( fbxInteger1& pDst, fbxString const& pSrc );
00776 bool KFBX_DLL fbxCopyStr( fbxByte1& pDst, fbxString const& pSrc );
00777 bool KFBX_DLL fbxCopyStr( fbxUByte1& pDst, fbxString const& pSrc );
00778 bool KFBX_DLL fbxCopyStr( fbxShort1& pDst, fbxString const& pSrc );
00779 bool KFBX_DLL fbxCopyStr( fbxUShort1& pDst, fbxString const& pSrc );
00780 bool KFBX_DLL fbxCopyStr( fbxUInteger1& pDst, fbxString const& pSrc );
00781 bool KFBX_DLL fbxCopyStr( fbxLongLong1& pDst, fbxString const& pSrc );
00782 bool KFBX_DLL fbxCopyStr( fbxULongLong1& pDst, fbxString const& pSrc );
00783 bool KFBX_DLL fbxCopyStr( fbxHalfFloat& pDst, fbxString const& pSrc );
00784
00785
00786 template< class T1,class T2 > inline bool fbxCopy ( T1 &pDst,T2 const &pSrc ) { K_ASSERT_MSG_NOW("Incompatible type assigment" ); return false; }
00787
00788
00789 inline bool fbxCopy( fbxByte1 &pDst,fbxByte1 const &pSrc ) { pDst=pSrc; return true; }
00790 inline bool fbxCopy( fbxUByte1 &pDst,fbxUByte1 const &pSrc ) { pDst=pSrc; return true; }
00791 inline bool fbxCopy( fbxShort1 &pDst,fbxShort1 const &pSrc ) { pDst=pSrc; return true; }
00792 inline bool fbxCopy( fbxUShort1 &pDst,fbxUShort1 const &pSrc ) { pDst=pSrc; return true; }
00793 inline bool fbxCopy( fbxUInteger1 &pDst,fbxUInteger1 const &pSrc ) { pDst=pSrc; return true; }
00794 inline bool fbxCopy( fbxLongLong1 &pDst,fbxLongLong1 const &pSrc ) { pDst=pSrc; return true; }
00795 inline bool fbxCopy( fbxULongLong1 &pDst,fbxULongLong1 const &pSrc ){ pDst=pSrc; return true; }
00796 inline bool fbxCopy( fbxHalfFloat &pDst, fbxHalfFloat const &pSrc ) { pDst=pSrc; return true; }
00797 inline bool fbxCopy( fbxBool1 &pDst,fbxBool1 const &pSrc ) { pDst=pSrc; return true; }
00798 inline bool fbxCopy( fbxInteger1 &pDst,fbxInteger1 const &pSrc ) { pDst=pSrc; return true; }
00799 inline bool fbxCopy( fbxFloat1 &pDst,fbxFloat1 const &pSrc ) { pDst=pSrc; return true; }
00800 inline bool fbxCopy( fbxDouble1 &pDst,fbxDouble1 const &pSrc ) { pDst=pSrc; return true; }
00801 inline bool fbxCopy( fbxDouble2 &pDst,fbxDouble2 const &pSrc ) { pDst=pSrc; return true; }
00802 inline bool fbxCopy( fbxDouble3 &pDst,fbxDouble3 const &pSrc ) { pDst=pSrc; return true; }
00803 inline bool fbxCopy( fbxDouble4 &pDst,fbxDouble4 const &pSrc ) { pDst=pSrc; return true; }
00804 inline bool fbxCopy( fbxDouble44 &pDst,fbxDouble44 const &pSrc ) { pDst=pSrc; return true; }
00805
00806 inline bool fbxCopy( fbxString &pDst,fbxString const &pSrc ) { pDst=pSrc; return true; }
00807 inline bool fbxCopy( fbxTime &pDst,fbxTime const &pSrc ) { pDst=pSrc; return true; }
00808 inline bool fbxCopy( fbxReference &pDst,fbxReference const &pSrc ) { pDst=pSrc; return true; }
00809 inline bool fbxCopy( fbxBlob &pDst,fbxBlob const &pSrc ) { pDst=pSrc; return true; }
00810 inline bool fbxCopy( fbxDistance &pDst, fbxDistance const &pSrc ) { pDst=pSrc; return true; }
00811 inline bool fbxCopy( fbxDateTime &pDst, fbxDateTime const &pSrc ) { pDst=pSrc; return true; }
00812
00813
00814 inline bool fbxCopy( fbxBool1 &pDst,fbxByte1 const &pSrc ) { pDst = pSrc == 0 ? false : true; return true; }
00815 inline bool fbxCopy( fbxBool1 &pDst,fbxUByte1 const &pSrc ) { pDst = pSrc == 0 ? false : true; return true; }
00816 inline bool fbxCopy( fbxBool1 &pDst,fbxShort1 const &pSrc ) { pDst = pSrc == 0 ? false : true; return true; }
00817 inline bool fbxCopy( fbxBool1 &pDst,fbxUShort1 const &pSrc ) { pDst = pSrc == 0 ? false : true; return true; }
00818 inline bool fbxCopy( fbxBool1 &pDst,fbxUInteger1 const &pSrc ) { pDst = pSrc == 0 ? false : true; return true; }
00819 inline bool fbxCopy( fbxBool1 &pDst,fbxLongLong1 const &pSrc ) { pDst = pSrc == 0 ? false : true; return true; }
00820 inline bool fbxCopy( fbxBool1 &pDst,fbxULongLong1 const &pSrc ) { pDst = pSrc == 0 ? false : true; return true; }
00821 inline bool fbxCopy( fbxBool1 &pDst,fbxHalfFloat const &pSrc ) { return false; }
00822
00823 inline bool fbxCopy( fbxBool1 &pDst,fbxInteger1 const &pSrc ) { pDst = pSrc == 0 ? false : true; return true; }
00824 inline bool fbxCopy( fbxBool1 &pDst,fbxFloat1 const &pSrc ) { pDst = pSrc == 0.f ? false : true; return true; }
00825 inline bool fbxCopy( fbxBool1 &pDst,fbxDouble1 const &pSrc ) { pDst = pSrc == 0. ? false : true; return true; }
00826 inline bool fbxCopy( fbxBool1 &pDst,fbxDouble2 const &pSrc ) { return false; }
00827 inline bool fbxCopy( fbxBool1 &pDst,fbxDouble3 const &pSrc ) { return false; }
00828 inline bool fbxCopy( fbxBool1 &pDst,fbxDouble4 const &pSrc ) { return false; }
00829 inline bool fbxCopy( fbxBool1 &pDst,fbxDouble44 const &pSrc ) { return false; }
00830
00831 inline bool fbxCopy( fbxBool1 &pDst,fbxString const &pSrc ) { return fbxCopyStr(pDst,pSrc); }
00832 inline bool fbxCopy( fbxBool1 &pDst,fbxTime const &pSrc ) { return false; }
00833 inline bool fbxCopy( fbxBool1 &pDst,fbxReference const &pSrc ) { return false; }
00834 inline bool fbxCopy( fbxBool1 &pDst,fbxBlob const &pSrc ) { return false; }
00835 inline bool fbxCopy( fbxBool1 &pDst, fbxDistance const &pSrc ) { return false; }
00836 inline bool fbxCopy( fbxBool1 &pDst, fbxDateTime const &pSrc ) { return false; }
00837
00838
00839
00840 inline bool fbxCopy( fbxByte1 &pDst,fbxUByte1 const &pSrc ) { pDst = (fbxByte1)pSrc; return true; }
00841 inline bool fbxCopy( fbxByte1 &pDst,fbxShort1 const &pSrc ) { return false; }
00842 inline bool fbxCopy( fbxByte1 &pDst,fbxUShort1 const &pSrc ) { return false; }
00843 inline bool fbxCopy( fbxByte1 &pDst,fbxUInteger1 const &pSrc ) { return false; }
00844 inline bool fbxCopy( fbxByte1 &pDst,fbxLongLong1 const &pSrc ) { return false; }
00845 inline bool fbxCopy( fbxByte1 &pDst,fbxULongLong1 const &pSrc ) { return false; }
00846 inline bool fbxCopy( fbxByte1 &pDst,fbxHalfFloat const &pSrc ) { return false; }
00847 inline bool fbxCopy( fbxByte1 &pDst,fbxBool1 const &pSrc ) { pDst = (fbxByte1)pSrc; return true; }
00848 inline bool fbxCopy( fbxByte1 &pDst,fbxInteger1 const &pSrc ) { pDst = (fbxByte1)pSrc; return true; }
00849 inline bool fbxCopy( fbxByte1 &pDst,fbxFloat1 const &pSrc ) { pDst = (fbxByte1)pSrc; return true; }
00850 inline bool fbxCopy( fbxByte1 &pDst,fbxDouble1 const &pSrc ) { pDst = (fbxByte1)pSrc; return true; }
00851 inline bool fbxCopy( fbxByte1 &pDst,fbxDouble2 const &pSrc ) { return false; }
00852 inline bool fbxCopy( fbxByte1 &pDst,fbxDouble3 const &pSrc ) { return false; }
00853 inline bool fbxCopy( fbxByte1 &pDst,fbxDouble4 const &pSrc ) { return false; }
00854 inline bool fbxCopy( fbxByte1 &pDst,fbxDouble44 const &pSrc ) { return false; }
00855
00856 inline bool fbxCopy( fbxByte1 &pDst,fbxString const &pSrc ) { return fbxCopyStr(pDst,pSrc); }
00857 inline bool fbxCopy( fbxByte1 &pDst,fbxTime const &pSrc ) { return false; }
00858 inline bool fbxCopy( fbxByte1 &pDst,fbxReference const &pSrc ) { return false; }
00859 inline bool fbxCopy( fbxByte1 &pDst,fbxBlob const &pSrc ) { return false; }
00860 inline bool fbxCopy( fbxByte1 &pDst,fbxDistance const &pSrc ) { return false; }
00861 inline bool fbxCopy( fbxByte1 &pDst,fbxDateTime const &pSrc ) { return false; }
00862
00863
00864 inline bool fbxCopy( fbxUByte1 &pDst,fbxByte1 const &pSrc ) { pDst = (fbxUByte1)pSrc; return true; }
00865
00866 inline bool fbxCopy( fbxUByte1 &pDst,fbxShort1 const &pSrc ) { return false; }
00867 inline bool fbxCopy( fbxUByte1 &pDst,fbxUShort1 const &pSrc ) { return false; }
00868 inline bool fbxCopy( fbxUByte1 &pDst,fbxUInteger1 const &pSrc ) { return false; }
00869 inline bool fbxCopy( fbxUByte1 &pDst,fbxLongLong1 const &pSrc ) { return false; }
00870 inline bool fbxCopy( fbxUByte1 &pDst,fbxULongLong1 const &pSrc ) { return false; }
00871 inline bool fbxCopy( fbxUByte1 &pDst,fbxHalfFloat const &pSrc ) { return false; }
00872 inline bool fbxCopy( fbxUByte1 &pDst,fbxBool1 const &pSrc ) { pDst = (fbxUByte1)pSrc; return true; }
00873 inline bool fbxCopy( fbxUByte1 &pDst,fbxInteger1 const &pSrc ) { pDst = (fbxUByte1)pSrc; return true; }
00874 inline bool fbxCopy( fbxUByte1 &pDst,fbxFloat1 const &pSrc ) { pDst = (fbxUByte1)pSrc; return true; }
00875 inline bool fbxCopy( fbxUByte1 &pDst,fbxDouble1 const &pSrc ) { pDst = (fbxUByte1)pSrc; return true; }
00876 inline bool fbxCopy( fbxUByte1 &pDst,fbxDouble2 const &pSrc ) { return false; }
00877 inline bool fbxCopy( fbxUByte1 &pDst,fbxDouble3 const &pSrc ) { return false; }
00878 inline bool fbxCopy( fbxUByte1 &pDst,fbxDouble4 const &pSrc ) { return false; }
00879 inline bool fbxCopy( fbxUByte1 &pDst,fbxDouble44 const &pSrc ) { return false; }
00880
00881 inline bool fbxCopy( fbxUByte1 &pDst,fbxString const &pSrc ) { return fbxCopyStr(pDst,pSrc); }
00882 inline bool fbxCopy( fbxUByte1 &pDst,fbxTime const &pSrc ) { return false; }
00883 inline bool fbxCopy( fbxUByte1 &pDst,fbxReference const &pSrc ) { return false; }
00884 inline bool fbxCopy( fbxUByte1 &pDst,fbxBlob const &pSrc ) { return false; }
00885 inline bool fbxCopy( fbxUByte1 &pDst,fbxDistance const &pSrc ) { return false; }
00886 inline bool fbxCopy( fbxUByte1 &pDst,fbxDateTime const &pSrc ) { return false; }
00887
00888
00889 inline bool fbxCopy( fbxShort1 &pDst,fbxByte1 const &pSrc ) { pDst = (fbxShort1)pSrc; return true; }
00890 inline bool fbxCopy( fbxShort1 &pDst,fbxUByte1 const &pSrc ) { pDst = (fbxShort1)pSrc; return true; }
00891
00892 inline bool fbxCopy( fbxShort1 &pDst,fbxUShort1 const &pSrc ) { return false; }
00893 inline bool fbxCopy( fbxShort1 &pDst,fbxUInteger1 const &pSrc ) { return false; }
00894 inline bool fbxCopy( fbxShort1 &pDst,fbxLongLong1 const &pSrc ) { return false; }
00895 inline bool fbxCopy( fbxShort1 &pDst,fbxULongLong1 const &pSrc ) { return false; }
00896 inline bool fbxCopy( fbxShort1 &pDst,fbxHalfFloat const &pSrc ) { return false; }
00897 inline bool fbxCopy( fbxShort1 &pDst,fbxBool1 const &pSrc ) { pDst = (fbxShort1)pSrc; return true; }
00898 inline bool fbxCopy( fbxShort1 &pDst,fbxInteger1 const &pSrc ) { pDst = (fbxShort1)pSrc; return true; }
00899 inline bool fbxCopy( fbxShort1 &pDst,fbxFloat1 const &pSrc ) { pDst = (fbxShort1)pSrc; return true; }
00900 inline bool fbxCopy( fbxShort1 &pDst,fbxDouble1 const &pSrc ) { pDst = (fbxShort1)pSrc; return true; }
00901 inline bool fbxCopy( fbxShort1 &pDst,fbxDouble2 const &pSrc ) { return false; }
00902 inline bool fbxCopy( fbxShort1 &pDst,fbxDouble3 const &pSrc ) { return false; }
00903 inline bool fbxCopy( fbxShort1 &pDst,fbxDouble4 const &pSrc ) { return false; }
00904 inline bool fbxCopy( fbxShort1 &pDst,fbxDouble44 const &pSrc ) { return false; }
00905
00906 inline bool fbxCopy( fbxShort1 &pDst,fbxString const &pSrc ) { return fbxCopyStr(pDst,pSrc); }
00907 inline bool fbxCopy( fbxShort1 &pDst,fbxTime const &pSrc ) { return false; }
00908 inline bool fbxCopy( fbxShort1 &pDst,fbxReference const &pSrc ) { return false; }
00909 inline bool fbxCopy( fbxShort1 &pDst,fbxBlob const &pSrc ) { return false; }
00910 inline bool fbxCopy( fbxShort1 &pDst,fbxDistance const &pSrc ) { return false; }
00911 inline bool fbxCopy( fbxShort1 &pDst,fbxDateTime const &pSrc ) { return false; }
00912
00913
00914 inline bool fbxCopy( fbxUShort1 &pDst,fbxByte1 const &pSrc ) { pDst = (fbxUShort1)pSrc; return true; }
00915 inline bool fbxCopy( fbxUShort1 &pDst,fbxUByte1 const &pSrc ) { pDst = (fbxUShort1)pSrc; return true; }
00916 inline bool fbxCopy( fbxUShort1 &pDst,fbxShort1 const &pSrc ) { pDst = (fbxUShort1)pSrc; return true; }
00917
00918 inline bool fbxCopy( fbxUShort1 &pDst,fbxUInteger1 const &pSrc ) { return false; }
00919 inline bool fbxCopy( fbxUShort1 &pDst,fbxLongLong1 const &pSrc ) { return false; }
00920 inline bool fbxCopy( fbxUShort1 &pDst,fbxULongLong1 const &pSrc ) { return false; }
00921 inline bool fbxCopy( fbxUShort1 &pDst,fbxHalfFloat const &pSrc ) { return false; }
00922 inline bool fbxCopy( fbxUShort1 &pDst,fbxBool1 const &pSrc ) { pDst = (fbxUShort1)pSrc; return true; }
00923 inline bool fbxCopy( fbxUShort1 &pDst,fbxInteger1 const &pSrc ) { pDst = (fbxUShort1)pSrc; return true; }
00924 inline bool fbxCopy( fbxUShort1 &pDst,fbxFloat1 const &pSrc ) { pDst = (fbxUShort1)pSrc; return true; }
00925 inline bool fbxCopy( fbxUShort1 &pDst,fbxDouble1 const &pSrc ) { pDst = (fbxUShort1)pSrc; return true; }
00926 inline bool fbxCopy( fbxUShort1 &pDst,fbxDouble2 const &pSrc ) { return false; }
00927 inline bool fbxCopy( fbxUShort1 &pDst,fbxDouble3 const &pSrc ) { return false; }
00928 inline bool fbxCopy( fbxUShort1 &pDst,fbxDouble4 const &pSrc ) { return false; }
00929 inline bool fbxCopy( fbxUShort1 &pDst,fbxDouble44 const &pSrc ) { return false; }
00930
00931 inline bool fbxCopy( fbxUShort1 &pDst,fbxString const &pSrc ) { return fbxCopyStr(pDst,pSrc); }
00932 inline bool fbxCopy( fbxUShort1 &pDst,fbxTime const &pSrc ) { return false; }
00933 inline bool fbxCopy( fbxUShort1 &pDst,fbxReference const &pSrc ) { return false; }
00934 inline bool fbxCopy( fbxUShort1 &pDst,fbxBlob const &pSrc ) { return false; }
00935 inline bool fbxCopy( fbxUShort1 &pDst,fbxDistance const &pSrc ) { return false; }
00936 inline bool fbxCopy( fbxUShort1 &pDst,fbxDateTime const &pSrc ) { return false; }
00937
00938
00939 inline bool fbxCopy( fbxInteger1 &pDst,fbxByte1 const &pSrc ) { pDst = (fbxInteger1)pSrc; return true; }
00940 inline bool fbxCopy( fbxInteger1 &pDst,fbxUByte1 const &pSrc ) { pDst = (fbxInteger1)pSrc; return true; }
00941 inline bool fbxCopy( fbxInteger1 &pDst,fbxShort1 const &pSrc ) { pDst = (fbxInteger1)pSrc; return true; }
00942 inline bool fbxCopy( fbxInteger1 &pDst,fbxUShort1 const &pSrc ) { pDst = (fbxInteger1)pSrc; return true; }
00943 inline bool fbxCopy( fbxInteger1 &pDst,fbxUInteger1 const &pSrc ) { pDst = (fbxInteger1)pSrc; return true; }
00944 inline bool fbxCopy( fbxInteger1 &pDst,fbxLongLong1 const &pSrc ) { pDst = (fbxInteger1)pSrc; return true; }
00945 inline bool fbxCopy( fbxInteger1 &pDst,fbxULongLong1 const &pSrc ) { pDst = (fbxInteger1)pSrc; return true; }
00946 inline bool fbxCopy( fbxInteger1 &pDst,fbxHalfFloat const &pSrc ) { return false; }
00947 inline bool fbxCopy( fbxInteger1 &pDst,fbxBool1 const &pSrc ) { pDst = (fbxInteger1)pSrc; return true; }
00948
00949 inline bool fbxCopy( fbxInteger1 &pDst,fbxFloat1 const &pSrc ) { pDst = (fbxInteger1)pSrc; return true; }
00950 inline bool fbxCopy( fbxInteger1 &pDst,fbxDouble1 const &pSrc ) { pDst = (fbxInteger1)pSrc; return true; }
00951 inline bool fbxCopy( fbxInteger1 &pDst,fbxDouble2 const &pSrc ) { return false; }
00952 inline bool fbxCopy( fbxInteger1 &pDst,fbxDouble3 const &pSrc ) { return false; }
00953 inline bool fbxCopy( fbxInteger1 &pDst,fbxDouble4 const &pSrc ) { return false; }
00954 inline bool fbxCopy( fbxInteger1 &pDst,fbxDouble44 const &pSrc ) { return false; }
00955
00956 inline bool fbxCopy( fbxInteger1 &pDst,fbxString const &pSrc ) { return fbxCopyStr(pDst,pSrc); }
00957 inline bool fbxCopy( fbxInteger1 &pDst,fbxTime const &pSrc ) { return false; }
00958 inline bool fbxCopy( fbxInteger1 &pDst,fbxReference const &pSrc ) { return false; }
00959 inline bool fbxCopy( fbxInteger1 &pDst,fbxBlob const &pSrc ) { return false; }
00960 inline bool fbxCopy( fbxInteger1 &pDst,fbxDistance const &pSrc ) { return false; }
00961 inline bool fbxCopy( fbxInteger1 &pDst,fbxDateTime const &pSrc ) { return false; }
00962
00963
00964 inline bool fbxCopy( fbxUInteger1 &pDst,fbxByte1 const &pSrc ) { pDst = (fbxUInteger1)pSrc; return true; }
00965 inline bool fbxCopy( fbxUInteger1 &pDst,fbxUByte1 const &pSrc ) { pDst = (fbxUInteger1)pSrc; return true; }
00966 inline bool fbxCopy( fbxUInteger1 &pDst,fbxShort1 const &pSrc ) { pDst = (fbxUInteger1)pSrc; return true; }
00967 inline bool fbxCopy( fbxUInteger1 &pDst,fbxUShort1 const &pSrc ) { pDst = (fbxUInteger1)pSrc; return true; }
00968
00969 inline bool fbxCopy( fbxUInteger1 &pDst,fbxLongLong1 const &pSrc ) { pDst = (fbxUInteger1)pSrc; return true; }
00970 inline bool fbxCopy( fbxUInteger1 &pDst,fbxULongLong1 const &pSrc ) { pDst = (fbxUInteger1)pSrc; return true; }
00971 inline bool fbxCopy( fbxUInteger1 &pDst,fbxHalfFloat const &pSrc ) { return false; }
00972 inline bool fbxCopy( fbxUInteger1 &pDst,fbxBool1 const &pSrc ) { pDst = (fbxUInteger1)pSrc; return true; }
00973 inline bool fbxCopy( fbxUInteger1 &pDst,fbxInteger1 const &pSrc ) { pDst = (fbxUInteger1)pSrc; return true; }
00974 inline bool fbxCopy( fbxUInteger1 &pDst,fbxFloat1 const &pSrc ) { pDst = (fbxUInteger1)pSrc; return true; }
00975 inline bool fbxCopy( fbxUInteger1 &pDst,fbxDouble1 const &pSrc ) { pDst = (fbxUInteger1)pSrc; return true; }
00976 inline bool fbxCopy( fbxUInteger1 &pDst,fbxDouble2 const &pSrc ) { return false; }
00977 inline bool fbxCopy( fbxUInteger1 &pDst,fbxDouble3 const &pSrc ) { return false; }
00978 inline bool fbxCopy( fbxUInteger1 &pDst,fbxDouble4 const &pSrc ) { return false; }
00979 inline bool fbxCopy( fbxUInteger1 &pDst,fbxDouble44 const &pSrc ) { return false; }
00980
00981 inline bool fbxCopy( fbxUInteger1 &pDst,fbxString const &pSrc ) { return fbxCopyStr(pDst,pSrc); }
00982 inline bool fbxCopy( fbxUInteger1 &pDst,fbxTime const &pSrc ) { return false; }
00983 inline bool fbxCopy( fbxUInteger1 &pDst,fbxReference const &pSrc ) { return false; }
00984 inline bool fbxCopy( fbxUInteger1 &pDst,fbxBlob const &pSrc ) { return false; }
00985 inline bool fbxCopy( fbxUInteger1 &pDst,fbxDistance const &pSrc ) { return false; }
00986 inline bool fbxCopy( fbxUInteger1 &pDst,fbxDateTime const &pSrc ) { return false; }
00987
00988
00989 inline bool fbxCopy( fbxLongLong1 &pDst,fbxByte1 const &pSrc ) { pDst = (fbxLongLong1)pSrc; return true; }
00990 inline bool fbxCopy( fbxLongLong1 &pDst,fbxUByte1 const &pSrc ) { pDst = (fbxLongLong1)pSrc; return true; }
00991 inline bool fbxCopy( fbxLongLong1 &pDst,fbxShort1 const &pSrc ) { pDst = (fbxLongLong1)pSrc; return true; }
00992 inline bool fbxCopy( fbxLongLong1 &pDst,fbxUShort1 const &pSrc ) { pDst = (fbxLongLong1)pSrc; return true; }
00993 inline bool fbxCopy( fbxLongLong1 &pDst,fbxUInteger1 const &pSrc ) { pDst = (fbxLongLong1)pSrc; return true; }
00994
00995 inline bool fbxCopy( fbxLongLong1 &pDst,fbxULongLong1 const &pSrc ) { pDst = (fbxLongLong1)pSrc; return true; }
00996 inline bool fbxCopy( fbxLongLong1 &pDst,fbxHalfFloat const &pSrc ) { return false; }
00997 inline bool fbxCopy( fbxLongLong1 &pDst,fbxBool1 const &pSrc ) { pDst = (fbxLongLong1)pSrc; return true; }
00998 inline bool fbxCopy( fbxLongLong1 &pDst,fbxInteger1 const &pSrc ) { pDst = (fbxLongLong1)pSrc; return true; }
00999 inline bool fbxCopy( fbxLongLong1 &pDst,fbxFloat1 const &pSrc ) { pDst = (fbxLongLong1)pSrc; return true; }
01000 inline bool fbxCopy( fbxLongLong1 &pDst,fbxDouble1 const &pSrc ) { pDst = (fbxLongLong1)pSrc; return true; }
01001 inline bool fbxCopy( fbxLongLong1 &pDst,fbxDouble2 const &pSrc ) { return false; }
01002 inline bool fbxCopy( fbxLongLong1 &pDst,fbxDouble3 const &pSrc ) { return false; }
01003 inline bool fbxCopy( fbxLongLong1 &pDst,fbxDouble4 const &pSrc ) { return false; }
01004 inline bool fbxCopy( fbxLongLong1 &pDst,fbxDouble44 const &pSrc ) { return false; }
01005
01006 inline bool fbxCopy( fbxLongLong1 &pDst,fbxString const &pSrc ) { return fbxCopyStr(pDst,pSrc); }
01007 inline bool fbxCopy( fbxLongLong1 &pDst,fbxTime const &pSrc ) { return false; }
01008 inline bool fbxCopy( fbxLongLong1 &pDst,fbxReference const &pSrc ) { return false; }
01009 inline bool fbxCopy( fbxLongLong1 &pDst,fbxBlob const &pSrc ) { return false; }
01010 inline bool fbxCopy( fbxLongLong1 &pDst,fbxDistance const &pSrc ) { return false; }
01011 inline bool fbxCopy( fbxLongLong1 &pDst,fbxDateTime const &pSrc ) { return false; }
01012
01013
01014 inline bool fbxCopy( fbxULongLong1 &pDst,fbxByte1 const &pSrc ) { pDst = (fbxULongLong1)pSrc; return true; }
01015 inline bool fbxCopy( fbxULongLong1 &pDst,fbxUByte1 const &pSrc ) { pDst = (fbxULongLong1)pSrc; return true; }
01016 inline bool fbxCopy( fbxULongLong1 &pDst,fbxShort1 const &pSrc ) { pDst = (fbxULongLong1)pSrc; return true; }
01017 inline bool fbxCopy( fbxULongLong1 &pDst,fbxUShort1 const &pSrc ) { pDst = (fbxULongLong1)pSrc; return true; }
01018 inline bool fbxCopy( fbxULongLong1 &pDst,fbxUInteger1 const &pSrc ) { pDst = (fbxULongLong1)pSrc; return true; }
01019 inline bool fbxCopy( fbxULongLong1 &pDst,fbxLongLong1 const &pSrc ) { pDst = (fbxULongLong1)pSrc; return true; }
01020
01021 inline bool fbxCopy( fbxULongLong1 &pDst,fbxHalfFloat const &pSrc ) { return false; }
01022 inline bool fbxCopy( fbxULongLong1 &pDst,fbxBool1 const &pSrc ) { pDst = (fbxULongLong1)pSrc; return true; }
01023 inline bool fbxCopy( fbxULongLong1 &pDst,fbxInteger1 const &pSrc ) { pDst = (fbxULongLong1)pSrc; return true; }
01024 inline bool fbxCopy( fbxULongLong1 &pDst,fbxFloat1 const &pSrc ) { pDst = (fbxULongLong1)pSrc; return true; }
01025 inline bool fbxCopy( fbxULongLong1 &pDst,fbxDouble1 const &pSrc ) { pDst = (fbxULongLong1)pSrc; return true; }
01026 inline bool fbxCopy( fbxULongLong1 &pDst,fbxDouble2 const &pSrc ) { return false; }
01027 inline bool fbxCopy( fbxULongLong1 &pDst,fbxDouble3 const &pSrc ) { return false; }
01028 inline bool fbxCopy( fbxULongLong1 &pDst,fbxDouble4 const &pSrc ) { return false; }
01029 inline bool fbxCopy( fbxULongLong1 &pDst,fbxDouble44 const &pSrc ) { return false; }
01030
01031 inline bool fbxCopy( fbxULongLong1 &pDst,fbxString const &pSrc ) { return fbxCopyStr(pDst,pSrc); }
01032 inline bool fbxCopy( fbxULongLong1 &pDst,fbxTime const &pSrc ) { return false; }
01033 inline bool fbxCopy( fbxULongLong1 &pDst,fbxReference const &pSrc ) { return false; }
01034 inline bool fbxCopy( fbxULongLong1 &pDst,fbxBlob const &pSrc ) { return false; }
01035 inline bool fbxCopy( fbxULongLong1 &pDst,fbxDistance const &pSrc ) { return false; }
01036 inline bool fbxCopy( fbxULongLong1 &pDst,fbxDateTime const &pSrc ) { return false; }
01037
01038
01039 inline bool fbxCopy( fbxHalfFloat &pDst,fbxByte1 const &pSrc ) { fbxHalfFloat hf((float)pSrc); pDst = hf; return true; }
01040 inline bool fbxCopy( fbxHalfFloat &pDst,fbxUByte1 const &pSrc ) { fbxHalfFloat hf((float)pSrc); pDst = hf; return true; }
01041 inline bool fbxCopy( fbxHalfFloat &pDst,fbxShort1 const &pSrc ) { fbxHalfFloat hf((float)pSrc); pDst = hf; return true; }
01042 inline bool fbxCopy( fbxHalfFloat &pDst,fbxUShort1 const &pSrc ) { fbxHalfFloat hf((float)pSrc); pDst = hf; return true; }
01043 inline bool fbxCopy( fbxHalfFloat &pDst,fbxUInteger1 const &pSrc ) { fbxHalfFloat hf((float)pSrc); pDst = hf; return true; }
01044 inline bool fbxCopy( fbxHalfFloat &pDst,fbxLongLong1 const &pSrc ) { fbxHalfFloat hf((float)pSrc); pDst = hf; return true; }
01045 inline bool fbxCopy( fbxHalfFloat &pDst,fbxULongLong1 const &pSrc ) { fbxHalfFloat hf((float)pSrc); pDst = hf; return true; }
01046 inline bool fbxCopy( fbxHalfFloat &pDst,fbxBool1 const &pSrc ) { fbxHalfFloat hf((float)pSrc); pDst = hf; return true; }
01047 inline bool fbxCopy( fbxHalfFloat &pDst,fbxInteger1 const &pSrc ) { fbxHalfFloat hf((float)pSrc); pDst = hf; return true; }
01048
01049 inline bool fbxCopy( fbxHalfFloat &pDst,fbxFloat1 const &pSrc ) { fbxHalfFloat hf((float)pSrc); pDst = hf; return true; }
01050 inline bool fbxCopy( fbxHalfFloat &pDst,fbxDouble1 const &pSrc ) { fbxHalfFloat hf((float)pSrc); pDst = hf; return true; }
01051 inline bool fbxCopy( fbxHalfFloat &pDst,fbxDouble2 const &pSrc ) { return false; }
01052 inline bool fbxCopy( fbxHalfFloat &pDst,fbxDouble3 const &pSrc ) { return false; }
01053 inline bool fbxCopy( fbxHalfFloat &pDst,fbxDouble4 const &pSrc ) { return false; }
01054 inline bool fbxCopy( fbxHalfFloat &pDst,fbxDouble44 const &pSrc ) { return false; }
01055
01056 inline bool fbxCopy( fbxHalfFloat &pDst,fbxString const &pSrc ) { return false; }
01057 inline bool fbxCopy( fbxHalfFloat &pDst,fbxTime const &pSrc ) { return false; }
01058 inline bool fbxCopy( fbxHalfFloat &pDst,fbxReference const &pSrc ) { return false; }
01059 inline bool fbxCopy( fbxHalfFloat &pDst,fbxBlob const &pSrc ) { return false; }
01060 inline bool fbxCopy( fbxHalfFloat &pDst,fbxDistance const &pSrc ) { fbxHalfFloat hf(pSrc.internalValue()); pDst = hf; return true; }
01061 inline bool fbxCopy( fbxHalfFloat &pDst,fbxDateTime const &pSrc ) { return false; }
01062
01063
01064 inline bool fbxCopy( fbxFloat1 &pDst,fbxByte1 const &pSrc ) { pDst = (fbxFloat1)pSrc; return true; }
01065 inline bool fbxCopy( fbxFloat1 &pDst,fbxUByte1 const &pSrc ) { pDst = (fbxFloat1)pSrc; return true; }
01066 inline bool fbxCopy( fbxFloat1 &pDst,fbxShort1 const &pSrc ) { pDst = (fbxFloat1)pSrc; return true; }
01067 inline bool fbxCopy( fbxFloat1 &pDst,fbxUShort1 const &pSrc ) { pDst = (fbxFloat1)pSrc; return true; }
01068 inline bool fbxCopy( fbxFloat1 &pDst,fbxUInteger1 const &pSrc ) { pDst = (fbxFloat1)pSrc; return true; }
01069 inline bool fbxCopy( fbxFloat1 &pDst,fbxLongLong1 const &pSrc ) { return false; }
01070 inline bool fbxCopy( fbxFloat1 &pDst,fbxULongLong1 const &pSrc ) { return false; }
01071 inline bool fbxCopy( fbxFloat1 &pDst,fbxHalfFloat const &pSrc ) { pDst = pSrc.value() ; return true; }
01072 inline bool fbxCopy( fbxFloat1 &pDst,fbxBool1 const &pSrc ) { pDst = (fbxFloat1)pSrc; return true; }
01073 inline bool fbxCopy( fbxFloat1 &pDst,fbxInteger1 const &pSrc ) { pDst = (fbxFloat1)pSrc; return true; }
01074
01075 inline bool fbxCopy( fbxFloat1 &pDst,fbxDouble1 const &pSrc ) { pDst = (fbxFloat1)pSrc; return true; }
01076 inline bool fbxCopy( fbxFloat1 &pDst,fbxDouble2 const &pSrc ) { return false; }
01077 inline bool fbxCopy( fbxFloat1 &pDst,fbxDouble3 const &pSrc ) { return false; }
01078 inline bool fbxCopy( fbxFloat1 &pDst,fbxDouble4 const &pSrc ) { return false; }
01079 inline bool fbxCopy( fbxFloat1 &pDst,fbxDouble44 const &pSrc ) { return false; }
01080
01081 inline bool fbxCopy( fbxFloat1 &pDst,fbxString const &pSrc ) { return false; }
01082 inline bool fbxCopy( fbxFloat1 &pDst,fbxTime const &pSrc ) { return false; }
01083 inline bool fbxCopy( fbxFloat1 &pDst,fbxReference const &pSrc ) { return false; }
01084 inline bool fbxCopy( fbxFloat1 &pDst,fbxBlob const &pSrc ) { return false; }
01085 inline bool fbxCopy( fbxFloat1 &pDst,fbxDistance const &pSrc ) { pDst = pSrc.internalValue(); return true; }
01086 inline bool fbxCopy( fbxFloat1 &pDst,fbxDateTime const &pSrc ) { return false; }
01087
01088
01089 inline bool fbxCopy( fbxDouble1 &pDst,fbxByte1 const &pSrc ) { pDst = (fbxDouble1)pSrc; return true; }
01090 inline bool fbxCopy( fbxDouble1 &pDst,fbxUByte1 const &pSrc ) { pDst = (fbxDouble1)pSrc; return true; }
01091 inline bool fbxCopy( fbxDouble1 &pDst,fbxShort1 const &pSrc ) { pDst = (fbxDouble1)pSrc; return true; }
01092 inline bool fbxCopy( fbxDouble1 &pDst,fbxUShort1 const &pSrc ) { pDst = (fbxDouble1)pSrc; return true; }
01093 inline bool fbxCopy( fbxDouble1 &pDst,fbxUInteger1 const &pSrc ) { pDst = (fbxDouble1)pSrc; return true; }
01094 inline bool fbxCopy( fbxDouble1 &pDst,fbxLongLong1 const &pSrc ) { pDst = (fbxDouble1)pSrc; return true; }
01095 inline bool fbxCopy( fbxDouble1 &pDst,fbxULongLong1 const &pSrc ) { pDst = (fbxDouble1)pSrc; return true; }
01096 inline bool fbxCopy( fbxDouble1 &pDst,fbxHalfFloat const &pSrc ) { pDst = (fbxDouble1)pSrc.value(); return true; }
01097 inline bool fbxCopy( fbxDouble1 &pDst,fbxBool1 const &pSrc ) { pDst = (fbxDouble1)pSrc; return true; }
01098 inline bool fbxCopy( fbxDouble1 &pDst,fbxInteger1 const &pSrc ) { pDst = (fbxDouble1)pSrc; return true; }
01099 inline bool fbxCopy( fbxDouble1 &pDst,fbxFloat1 const &pSrc ) { pDst = (fbxDouble1)pSrc; return true; }
01100
01101 inline bool fbxCopy( fbxDouble1 &pDst,fbxDouble2 const &pSrc ) { pDst = (fbxDouble1)pSrc[0]; return true; }
01102 inline bool fbxCopy( fbxDouble1 &pDst,fbxDouble3 const &pSrc ) { pDst = (fbxDouble1)pSrc[0]; return true; }
01103 inline bool fbxCopy( fbxDouble1 &pDst,fbxDouble4 const &pSrc ) { pDst = (fbxDouble1)pSrc[0]; return true; }
01104 inline bool fbxCopy( fbxDouble1 &pDst,fbxDouble44 const &pSrc ) { pDst = (fbxDouble1)pSrc[0][0]; return true; }
01105
01106 inline bool fbxCopy( fbxDouble1 &pDst,fbxString const &pSrc ) { return fbxCopyStr(pDst,pSrc); }
01107 inline bool fbxCopy( fbxDouble1 &pDst,fbxTime const &pSrc ) { pDst = (fbxDouble1)pSrc.GetSecondDouble(); return true; }
01108
01109
01110 inline bool fbxCopy( fbxDouble1 &pDst,fbxDistance const &pSrc ) { pDst = pSrc.internalValue(); return true; }
01111
01112
01113
01114 inline bool fbxCopy( fbxDouble2 &pDst,fbxByte1 const &pSrc ) { pDst = (fbxDouble1)pSrc; return true; }
01115 inline bool fbxCopy( fbxDouble2 &pDst,fbxUByte1 const &pSrc ) { pDst = (fbxDouble1)pSrc; return true; }
01116 inline bool fbxCopy( fbxDouble2 &pDst,fbxShort1 const &pSrc ) { pDst = (fbxDouble1)pSrc; return true; }
01117 inline bool fbxCopy( fbxDouble2 &pDst,fbxUShort1 const &pSrc ) { pDst = (fbxDouble1)pSrc; return true; }
01118 inline bool fbxCopy( fbxDouble2 &pDst,fbxUInteger1 const &pSrc ) { pDst = (fbxDouble1)pSrc; return true; }
01119 inline bool fbxCopy( fbxDouble2 &pDst,fbxLongLong1 const &pSrc ) { pDst = (fbxDouble1)pSrc; return true; }
01120 inline bool fbxCopy( fbxDouble2 &pDst,fbxULongLong1 const &pSrc ) { pDst = (fbxDouble1)pSrc; return true; }
01121 inline bool fbxCopy( fbxDouble2 &pDst,fbxHalfFloat const &pSrc ) { pDst = (fbxDouble1)pSrc.value(); return true; }
01122 inline bool fbxCopy( fbxDouble2 &pDst,fbxBool1 const &pSrc ) { pDst = (fbxDouble1)pSrc; return true; }
01123 inline bool fbxCopy( fbxDouble2 &pDst,fbxInteger1 const &pSrc ) { pDst = (fbxDouble1)pSrc; return true; }
01124 inline bool fbxCopy( fbxDouble2 &pDst,fbxFloat1 const &pSrc ) { pDst = (fbxDouble1)pSrc; return true; }
01125 inline bool fbxCopy( fbxDouble2 &pDst,fbxDouble1 const &pSrc ) { pDst = (fbxDouble1)pSrc; return true; }
01126
01127
01128 inline bool fbxCopy( fbxDouble3 &pDst,fbxByte1 const &pSrc ) { pDst = (fbxDouble1)pSrc; return true; }
01129 inline bool fbxCopy( fbxDouble3 &pDst,fbxUByte1 const &pSrc ) { pDst = (fbxDouble1)pSrc; return true; }
01130 inline bool fbxCopy( fbxDouble3 &pDst,fbxShort1 const &pSrc ) { pDst = (fbxDouble1)pSrc; return true; }
01131 inline bool fbxCopy( fbxDouble3 &pDst,fbxUShort1 const &pSrc ) { pDst = (fbxDouble1)pSrc; return true; }
01132 inline bool fbxCopy( fbxDouble3 &pDst,fbxUInteger1 const &pSrc ) { pDst = (fbxDouble1)pSrc; return true; }
01133 inline bool fbxCopy( fbxDouble3 &pDst,fbxLongLong1 const &pSrc ) { pDst = (fbxDouble1)pSrc; return true; }
01134 inline bool fbxCopy( fbxDouble3 &pDst,fbxULongLong1 const &pSrc ) { pDst = (fbxDouble1)pSrc; return true; }
01135 inline bool fbxCopy( fbxDouble3 &pDst,fbxHalfFloat const &pSrc ) { pDst = (fbxDouble1)pSrc.value(); return true; }
01136 inline bool fbxCopy( fbxDouble3 &pDst,fbxBool1 const &pSrc ) { pDst = (fbxDouble1)pSrc; return true; }
01137 inline bool fbxCopy( fbxDouble3 &pDst,fbxInteger1 const &pSrc ) { pDst = (fbxDouble1)pSrc; return true; }
01138 inline bool fbxCopy( fbxDouble3 &pDst,fbxFloat1 const &pSrc ) { pDst = (fbxDouble1)pSrc; return true; }
01139 inline bool fbxCopy( fbxDouble3 &pDst,fbxDouble1 const &pSrc ) { pDst = (fbxDouble1)pSrc; return true; }
01140 inline bool fbxCopy( fbxDouble3 &pDst,fbxDouble2 const &pSrc ) { return false; }
01141
01142 inline bool fbxCopy( fbxDouble3 &pDst,fbxDouble4 const &pSrc ) { pDst = pSrc; return true; }
01143 inline bool fbxCopy( fbxDouble3 &pDst,fbxDouble44 const &pSrc ) { return false; }
01144
01145 inline bool fbxCopy( fbxDouble3 &pDst,fbxString const &pSrc ) { return false; }
01146 inline bool fbxCopy( fbxDouble3 &pDst,fbxTime const &pSrc ) { return false; }
01147 inline bool fbxCopy( fbxDouble3 &pDst,fbxReference const &pSrc ) { return false; }
01148 inline bool fbxCopy( fbxDouble3 &pDst,fbxBlob const &pSrc ) { return false; }
01149 inline bool fbxCopy( fbxDouble3 &pDst,fbxDistance const &pSrc ) { return false; }
01150 inline bool fbxCopy( fbxDouble3 &pDst,fbxDateTime const &pSrc ) { return false; }
01151
01152
01153 inline bool fbxCopy( fbxDouble4 &pDst,fbxByte1 const &pSrc ) { return false; }
01154 inline bool fbxCopy( fbxDouble4 &pDst,fbxUByte1 const &pSrc ) { return false; }
01155 inline bool fbxCopy( fbxDouble4 &pDst,fbxShort1 const &pSrc ) { return false; }
01156 inline bool fbxCopy( fbxDouble4 &pDst,fbxUShort1 const &pSrc ) { return false; }
01157 inline bool fbxCopy( fbxDouble4 &pDst,fbxUInteger1 const &pSrc ) { return false; }
01158 inline bool fbxCopy( fbxDouble4 &pDst,fbxLongLong1 const &pSrc ) { return false; }
01159 inline bool fbxCopy( fbxDouble4 &pDst,fbxULongLong1 const &pSrc ) { return false; }
01160 inline bool fbxCopy( fbxDouble4 &pDst,fbxHalfFloat const &pSrc ) { return false; }
01161 inline bool fbxCopy( fbxDouble4 &pDst,fbxBool1 const &pSrc ) { return false; }
01162 inline bool fbxCopy( fbxDouble4 &pDst,fbxInteger1 const &pSrc ) { return false; }
01163 inline bool fbxCopy( fbxDouble4 &pDst,fbxFloat1 const &pSrc ) { return false; }
01164 inline bool fbxCopy( fbxDouble4 &pDst,fbxDouble1 const &pSrc ) { return false; }
01165 inline bool fbxCopy( fbxDouble4 &pDst,fbxDouble2 const &pSrc ) { return false; }
01166 inline bool fbxCopy( fbxDouble4 &pDst,fbxDouble3 const &pSrc ) { pDst = pSrc; return true; }
01167 inline bool fbxCopy( fbxDouble4 &pDst,fbxDouble44 const &pSrc ) { return false; }
01168
01169 inline bool fbxCopy( fbxDouble4 &pDst,fbxString const &pSrc ) { return false; }
01170 inline bool fbxCopy( fbxDouble4 &pDst,fbxTime const &pSrc ) { return false; }
01171 inline bool fbxCopy( fbxDouble4 &pDst,fbxReference const &pSrc ) { return false; }
01172 inline bool fbxCopy( fbxDouble4 &pDst,fbxBlob const &pSrc ) { return false; }
01173 inline bool fbxCopy( fbxDouble4 &pDst,fbxDistance const &pSrc ) { return false; }
01174 inline bool fbxCopy( fbxDouble4 &pDst,fbxDateTime const &pSrc ) { return false; }
01175
01176
01177 inline bool fbxCopy( fbxString &pDst,fbxByte1 const &pSrc ) { pDst=KString((int)pSrc); return true; }
01178 inline bool fbxCopy( fbxString &pDst,fbxUByte1 const &pSrc ) { pDst=KString((int)pSrc); return true; }
01179 inline bool fbxCopy( fbxString &pDst,fbxShort1 const &pSrc ) { pDst=KString((int)pSrc); return true; }
01180 inline bool fbxCopy( fbxString &pDst,fbxUShort1 const &pSrc ) { pDst=KString((int)pSrc); return true; }
01181 inline bool fbxCopy( fbxString &pDst,fbxUInteger1 const &pSrc ) { pDst=KString((int)pSrc); return true; }
01182 inline bool fbxCopy( fbxString &pDst,fbxLongLong1 const &pSrc ) { pDst=KString((int)pSrc); return true; }
01183 inline bool fbxCopy( fbxString &pDst,fbxULongLong1 const &pSrc ) { pDst=KString((int)pSrc); return true; }
01184 inline bool fbxCopy( fbxString &pDst,fbxHalfFloat const &pSrc ) { pDst=KString((float)pSrc.value()); return true; }
01185 inline bool fbxCopy( fbxString &pDst,fbxBool1 const &pSrc ) { pDst=pSrc ? "true" : "false"; return true; }
01186 inline bool fbxCopy( fbxString &pDst,fbxInteger1 const &pSrc ) { pDst=KString((int)pSrc); return true; }
01187 inline bool fbxCopy( fbxString &pDst,fbxFloat1 const &pSrc ) { pDst=KString(pSrc); return true; }
01188 inline bool fbxCopy( fbxString &pDst,fbxDouble1 const &pSrc ) { pDst=KString(pSrc); return true; }
01189 inline bool fbxCopy( fbxString &pDst,fbxDouble2 const &pSrc ) { pDst=KString(pSrc[0])+","+KString(pSrc[1]); return true; }
01190 inline bool fbxCopy( fbxString &pDst,fbxDouble3 const &pSrc ) { pDst=KString(pSrc[0])+","+KString(pSrc[1])+","+KString(pSrc[2]); return true; }
01191 inline bool fbxCopy( fbxString &pDst,fbxDouble4 const &pSrc ) { pDst=KString(pSrc[0])+","+KString(pSrc[1])+","+KString(pSrc[2])+","+KString(pSrc[3]); return true; }
01192 inline bool fbxCopy( fbxString &pDst,fbxDouble44 const &pSrc ) { pDst=KString(pSrc[0][0])+","+KString(pSrc[0][1])+","+KString(pSrc[0][2])+","+KString(pSrc[0][3]); return true; }
01193
01194 inline bool fbxCopy( fbxString &pDst,fbxTime const &pSrc ) { char lTimeStr[128]; pSrc.GetTimeString(lTimeStr); pDst=lTimeStr; return true; }
01195 inline bool fbxCopy( fbxString &pDst,fbxReference const &pSrc ) { pDst="<reference>"; return true; }
01196 inline bool fbxCopy( fbxString &pDst,fbxBlob const &pSrc ) { pDst="<blob>"; return true; }
01197 inline bool fbxCopy( fbxString &pDst,fbxDistance const &pSrc ) { pDst= KString(pSrc.value()) + " " +pSrc.unitName(); return true; }
01198 inline bool fbxCopy( fbxString &pDst,fbxDateTime const &pSrc ) { pDst= pSrc.toString(); return true; }
01199
01200
01201 inline bool fbxCopy( fbxBlob &pDst,fbxByte1 const &pSrc ) { pDst.Assign(&pSrc, sizeof(pSrc)); return true; }
01202 inline bool fbxCopy( fbxBlob &pDst,fbxUByte1 const &pSrc ) { pDst.Assign(&pSrc, sizeof(pSrc)); return true; }
01203 inline bool fbxCopy( fbxBlob &pDst,fbxShort1 const &pSrc ) { pDst.Assign(&pSrc, sizeof(pSrc)); return true; }
01204 inline bool fbxCopy( fbxBlob &pDst,fbxUShort1 const &pSrc ) { pDst.Assign(&pSrc, sizeof(pSrc)); return true; }
01205 inline bool fbxCopy( fbxBlob &pDst,fbxUInteger1 const &pSrc ) { pDst.Assign(&pSrc, sizeof(pSrc)); return true; }
01206 inline bool fbxCopy( fbxBlob &pDst,fbxLongLong1 const &pSrc ) { pDst.Assign(&pSrc, sizeof(pSrc)); return true; }
01207 inline bool fbxCopy( fbxBlob &pDst,fbxULongLong1 const &pSrc ) { pDst.Assign(&pSrc, sizeof(pSrc)); return true; }
01208 inline bool fbxCopy( fbxBlob &pDst,fbxHalfFloat const &pSrc ) { pDst.Assign(&pSrc, sizeof(pSrc)); return true; }
01209 inline bool fbxCopy( fbxBlob &pDst,fbxBool1 const &pSrc ) { pDst.Assign(&pSrc, sizeof(pSrc)); return true; }
01210 inline bool fbxCopy( fbxBlob &pDst,fbxInteger1 const &pSrc ) { pDst.Assign(&pSrc, sizeof(pSrc)); return true; }
01211 inline bool fbxCopy( fbxBlob &pDst,fbxFloat1 const &pSrc ) { pDst.Assign(&pSrc, sizeof(pSrc)); return true; }
01212 inline bool fbxCopy( fbxBlob &pDst,fbxDouble1 const &pSrc ) { pDst.Assign(&pSrc, sizeof(pSrc)); return true; }
01213 inline bool fbxCopy( fbxBlob &pDst,fbxDouble2 const &pSrc ) { pDst.Assign(&pSrc, sizeof(pSrc)); return true; }
01214 inline bool fbxCopy( fbxBlob &pDst,fbxDouble3 const &pSrc ) { pDst.Assign(&pSrc, sizeof(pSrc)); return true; }
01215 inline bool fbxCopy( fbxBlob &pDst,fbxDouble4 const &pSrc ) { pDst.Assign(&pSrc, sizeof(pSrc)); return true; }
01216 inline bool fbxCopy( fbxBlob &pDst,fbxDouble44 const &pSrc ) { pDst.Assign(&pSrc, sizeof(pSrc)); return true; }
01217 inline bool fbxCopy( fbxBlob &pDst,fbxString const &pSrc )
01218 {
01219 bool lCastable = pSrc.GetLen() == (int)pSrc.GetLen();
01220 K_ASSERT( lCastable );
01221 if( lCastable )
01222 pDst.Assign(pSrc.Buffer(), (int)pSrc.GetLen());
01223 return lCastable;
01224 }
01225 inline bool fbxCopy( fbxBlob &pDst,fbxTime const &pSrc ) { kLongLong t = pSrc.Get(); pDst.Assign( &t, sizeof(t)); return true; }
01226 inline bool fbxCopy( fbxBlob &pDst,fbxReference const &pSrc ) { return false; }
01227 inline bool fbxCopy( fbxBlob &pDst,fbxDistance const &pSrc ) { return false; }
01228 inline bool fbxCopy( fbxBlob &pDst,fbxDateTime const &pSrc ) { return false; }
01229
01230
01231 inline bool fbxCopy( fbxDistance &pDst,fbxByte1 const &pSrc ) { return false; }
01232 inline bool fbxCopy( fbxDistance &pDst,fbxUByte1 const &pSrc ) { return false; }
01233 inline bool fbxCopy( fbxDistance &pDst,fbxShort1 const &pSrc ) { return false; }
01234 inline bool fbxCopy( fbxDistance &pDst,fbxUShort1 const &pSrc ) { return false; }
01235 inline bool fbxCopy( fbxDistance &pDst,fbxUInteger1 const &pSrc ) { return false; }
01236 inline bool fbxCopy( fbxDistance &pDst,fbxLongLong1 const &pSrc ) { return false; }
01237 inline bool fbxCopy( fbxDistance &pDst,fbxULongLong1 const &pSrc ) { return false; }
01238 inline bool fbxCopy( fbxDistance &pDst,fbxHalfFloat const &pSrc ) { return false; }
01239 inline bool fbxCopy( fbxDistance &pDst,fbxBool1 const &pSrc ) { return false; }
01240 inline bool fbxCopy( fbxDistance &pDst,fbxInteger1 const &pSrc ) { return false; }
01241 inline bool fbxCopy( fbxDistance &pDst,fbxFloat1 const &pSrc ) { return false; }
01242 inline bool fbxCopy( fbxDistance &pDst,fbxDouble1 const &pSrc ) { return false; }
01243 inline bool fbxCopy( fbxDistance &pDst,fbxDouble2 const &pSrc ) { return false; }
01244 inline bool fbxCopy( fbxDistance &pDst,fbxDouble3 const &pSrc ) { return false; }
01245 inline bool fbxCopy( fbxDistance &pDst, fbxDouble4 const &pSrc ) { return false; }
01246 inline bool fbxCopy( fbxDistance &pDst,fbxDouble44 const &pSrc ) { return false; }
01247 inline bool fbxCopy( fbxDistance &pDst,fbxString const &pSrc ) { return false; }
01248 inline bool fbxCopy( fbxDistance &pDst,fbxTime const &pSrc ) { return false; }
01249 inline bool fbxCopy( fbxDistance &pDst,fbxReference const &pSrc ) { return false; }
01250 inline bool fbxCopy( fbxDistance &pDst,fbxBlob const &pSrc ) { return false; }
01251 inline bool fbxCopy( fbxDistance &pDst,fbxDateTime const &pSrc ) { return false; }
01252
01253 inline bool fbxCopy( fbxDateTime &pDst,fbxByte1 const &pSrc ) { return false; }
01254 inline bool fbxCopy( fbxDateTime &pDst,fbxUByte1 const &pSrc ) { return false; }
01255 inline bool fbxCopy( fbxDateTime &pDst,fbxShort1 const &pSrc ) { return false; }
01256 inline bool fbxCopy( fbxDateTime &pDst,fbxUShort1 const &pSrc ) { return false; }
01257 inline bool fbxCopy( fbxDateTime &pDst,fbxUInteger1 const &pSrc ) { return false; }
01258 inline bool fbxCopy( fbxDateTime &pDst,fbxLongLong1 const &pSrc ) { return false; }
01259 inline bool fbxCopy( fbxDateTime &pDst,fbxULongLong1 const &pSrc ) { return false; }
01260 inline bool fbxCopy( fbxDateTime &pDst,fbxHalfFloat const &pSrc ) { return false; }
01261 inline bool fbxCopy( fbxDateTime &pDst,fbxBool1 const &pSrc ) { return false; }
01262 inline bool fbxCopy( fbxDateTime &pDst,fbxInteger1 const &pSrc ) { return false; }
01263 inline bool fbxCopy( fbxDateTime &pDst,fbxFloat1 const &pSrc ) { return false; }
01264 inline bool fbxCopy( fbxDateTime &pDst,fbxDouble1 const &pSrc ) { return false; }
01265 inline bool fbxCopy( fbxDateTime &pDst,fbxDouble2 const &pSrc ) { return false; }
01266 inline bool fbxCopy( fbxDateTime &pDst,fbxDouble3 const &pSrc ) { return false; }
01267 inline bool fbxCopy( fbxDateTime &pDst,fbxDouble4 const &pSrc ) { return false; }
01268 inline bool fbxCopy( fbxDateTime &pDst,fbxDouble44 const &pSrc ) { return false; }
01269 inline bool fbxCopy( fbxDateTime &pDst,fbxString const &pSrc ) { return pDst.fromString(pSrc); }
01270 inline bool fbxCopy( fbxDateTime &pDst,fbxTime const &pSrc ) { return false; }
01271 inline bool fbxCopy( fbxDateTime &pDst,fbxReference const &pSrc ) { return false; }
01272 inline bool fbxCopy( fbxDateTime &pDst,fbxBlob const &pSrc ) { return false; }
01273 inline bool fbxCopy( fbxDateTime &pDst,fbxDistance const &pSrc ) { return false; }
01274
01275 template< class T > inline bool fbxCopy( T &pDst,void const *pSrc,EFbxType pSrcType)
01276 {
01277 switch (pSrcType) {
01278 case eBYTE1: return fbxCopy( pDst,*(fbxByte1 *)pSrc );
01279 case eUBYTE1: return fbxCopy( pDst,*(fbxUByte1 *)pSrc );
01280 case eSHORT1: return fbxCopy( pDst,*(fbxShort1 *)pSrc );
01281 case eUSHORT1: return fbxCopy( pDst,*(fbxUShort1 *)pSrc );
01282 case eUINTEGER1: return fbxCopy( pDst,*(fbxUInteger1 *)pSrc );
01283 case eLONGLONG1: return fbxCopy( pDst,*(fbxLongLong1 *)pSrc );
01284 case eULONGLONG1: return fbxCopy( pDst,*(fbxULongLong1 *)pSrc );
01285 case eHALFFLOAT: return fbxCopy( pDst,*(fbxHalfFloat *)pSrc );
01286 case eBOOL1: return fbxCopy( pDst,*(fbxBool1 *)pSrc );
01287 case eINTEGER1: return fbxCopy( pDst,*(fbxInteger1 *)pSrc );
01288 case eFLOAT1: return fbxCopy( pDst,*(fbxFloat1 *)pSrc );
01289 case eDOUBLE1: return fbxCopy( pDst,*(fbxDouble1 *)pSrc );
01290 case eDOUBLE2: return fbxCopy( pDst,*(fbxDouble2 *)pSrc );
01291 case eDOUBLE3: return fbxCopy( pDst,*(fbxDouble3 *)pSrc );
01292 case eDOUBLE4: return fbxCopy( pDst,*(fbxDouble4 *)pSrc );
01293 case eDOUBLE44: return fbxCopy( pDst,*(fbxDouble44 *)pSrc );
01294 case eENUM: return fbxCopy( pDst,*(fbxEnum *)pSrc );
01295 case eSTRING: return fbxCopy( pDst,*(fbxString *)pSrc );
01296 case eTIME: return fbxCopy( pDst,*(fbxTime *)pSrc );
01297 case eREFERENCE:
01298 K_ASSERT_MSG_NOW("Trying to set value on a void Reference type" );
01299 break;
01300 case eBLOB: return fbxCopy( pDst,*(fbxBlob *)pSrc );
01301 case eDISTANCE: return fbxCopy( pDst, *(fbxDistance *)pSrc );
01302 case eDATETIME: return fbxCopy( pDst, *(fbxDateTime *)pSrc );
01303 default:
01304 K_ASSERT_MSG_NOW("Trying to assign an unknown type" );
01305 }
01306 return false;
01307 }
01308
01309 template< class T > inline bool fbxCopy( void *pDst,EFbxType pDstType,T const &pSrc)
01310 {
01311 switch (pDstType) {
01312 case eBYTE1: return fbxCopy( *(fbxByte1 *)pDst,pSrc );
01313 case eUBYTE1: return fbxCopy( *(fbxUByte1 *)pDst,pSrc );
01314 case eSHORT1: return fbxCopy( *(fbxShort1 *)pDst,pSrc );
01315 case eUSHORT1: return fbxCopy( *(fbxUShort1 *)pDst,pSrc );
01316 case eUINTEGER1: return fbxCopy( *(fbxUInteger1 *)pDst,pSrc );
01317 case eLONGLONG1: return fbxCopy( *(fbxLongLong1 *)pDst,pSrc );
01318 case eULONGLONG1: return fbxCopy( *(fbxULongLong1 *)pDst,pSrc );
01319 case eHALFFLOAT: return fbxCopy( *(fbxHalfFloat *)pDst,pSrc );
01320 case eBOOL1: return fbxCopy( *(fbxBool1 *)pDst,pSrc );
01321 case eINTEGER1: return fbxCopy( *(fbxInteger1 *)pDst,pSrc );
01322 case eFLOAT1: return fbxCopy( *(fbxFloat1 *)pDst,pSrc );
01323 case eDOUBLE1: return fbxCopy( *(fbxDouble1 *)pDst,pSrc );
01324 case eDOUBLE2: return fbxCopy( *(fbxDouble2 *)pDst,pSrc );
01325 case eDOUBLE3: return fbxCopy( *(fbxDouble3 *)pDst,pSrc );
01326 case eDOUBLE4: return fbxCopy( *(fbxDouble4 *)pDst,pSrc );
01327 case eDOUBLE44: return fbxCopy( *(fbxDouble44 *)pDst,pSrc );
01328 case eENUM: return fbxCopy( *(fbxEnum *)pDst,pSrc );
01329 case eSTRING: return fbxCopy( *(fbxString *)pDst,pSrc );
01330 case eTIME: return fbxCopy( *(fbxTime *)pDst,pSrc );
01331 case eREFERENCE:
01332 K_ASSERT_MSG_NOW("Trying to set value on a void Reference type" );
01333 break;
01334 case eBLOB: return fbxCopy( *(fbxBlob *)pDst,pSrc );
01335 case eDISTANCE: return fbxCopy( *(fbxDistance *)pDst, pSrc );
01336 case eDATETIME: return fbxCopy( *(fbxDateTime *)pDst, pSrc );
01337 default:
01338 K_ASSERT_MSG_NOW("Trying to assign an unknown type" );
01339 }
01340 return false;
01341 }
01342
01343 inline bool fbxCopy( void *pDst,EFbxType pDstType,void const *pSrc,EFbxType pSrcType)
01344 {
01345 switch (pSrcType) {
01346 case eBYTE1: return fbxCopy( pDst,pDstType,*(fbxByte1 *)pSrc );
01347 case eUBYTE1: return fbxCopy( pDst,pDstType,*(fbxUByte1 *)pSrc );
01348 case eSHORT1: return fbxCopy( pDst,pDstType,*(fbxShort1 *)pSrc );
01349 case eUSHORT1: return fbxCopy( pDst,pDstType,*(fbxUShort1 *)pSrc );
01350 case eUINTEGER1: return fbxCopy( pDst,pDstType,*(fbxUInteger1 *)pSrc );
01351 case eLONGLONG1: return fbxCopy( pDst,pDstType,*(fbxLongLong1 *)pSrc );
01352 case eULONGLONG1: return fbxCopy( pDst,pDstType,*(fbxULongLong1 *)pSrc );
01353 case eHALFFLOAT: return fbxCopy( pDst,pDstType,*(fbxHalfFloat *)pSrc );
01354 case eBOOL1: return fbxCopy( pDst,pDstType,*(fbxBool1 *)pSrc );
01355 case eINTEGER1: return fbxCopy( pDst,pDstType,*(fbxInteger1 *)pSrc );
01356 case eFLOAT1: return fbxCopy( pDst,pDstType,*(fbxFloat1 *)pSrc );
01357 case eDOUBLE1: return fbxCopy( pDst,pDstType,*(fbxDouble1 *)pSrc );
01358 case eDOUBLE2: return fbxCopy( pDst,pDstType,*(fbxDouble2 *)pSrc );
01359 case eDOUBLE3: return fbxCopy( pDst,pDstType,*(fbxDouble3 *)pSrc );
01360 case eDOUBLE4: return fbxCopy( pDst,pDstType,*(fbxDouble4 *)pSrc );
01361 case eDOUBLE44: return fbxCopy( pDst,pDstType,*(fbxDouble44 *)pSrc );
01362 case eENUM: return fbxCopy( pDst,pDstType,*(fbxEnum *)pSrc );
01363 case eSTRING: return fbxCopy( pDst,pDstType,*(fbxString *)pSrc);
01364 case eTIME: return fbxCopy( pDst,pDstType,*(fbxTime*)pSrc);
01365 case eREFERENCE:
01366 K_ASSERT_MSG_NOW("Trying to set value on a void Reference type" );
01367 break;
01368 case eBLOB: return fbxCopy( pDst,pDstType,*(fbxBlob*)pSrc);
01369 case eDISTANCE: return fbxCopy(pDst, pDstType, *(fbxDistance*)pSrc);
01370 case eDATETIME: return fbxCopy(pDst, pDstType, *(fbxDateTime*)pSrc);
01371 default:
01372 K_ASSERT_MSG_NOW("Trying to assign an unknown type" );
01373 }
01374 return false;
01375 }
01376
01382 KFBX_DLL void* fbxCreate( EFbxType pType );
01383
01384
01392 KFBX_DLL bool fbxDestroy( EFbxType pType, void* pData );
01393
01394
01401 inline bool fbxCompare( const void* pA, const void* pB, EFbxType pType )
01402 {
01403 switch (pType) {
01404 case eBYTE1: return (*(fbxByte1*)pA) == (*(fbxByte1*)pB);
01405 case eUBYTE1: return (*(fbxUByte1*)pA) == (*(fbxUByte1*)pB);
01406 case eSHORT1: return (*(fbxShort1*)pA) == (*(fbxShort1*)pB);
01407 case eUSHORT1: return (*(fbxUShort1*)pA) == (*(fbxUShort1*)pB);
01408 case eUINTEGER1: return (*(fbxUInteger1*)pA) == (*(fbxUInteger1*)pB);
01409 case eLONGLONG1: return (*(fbxLongLong1*)pA) == (*(fbxLongLong1*)pB);
01410 case eULONGLONG1: return (*(fbxULongLong1*)pA) == (*(fbxULongLong1*)pB);
01411 case eHALFFLOAT: return (*(fbxHalfFloat*)pA) == (*(fbxHalfFloat*)pB);
01412 case eBOOL1: return (*(fbxBool1*)pA) == (*(fbxBool1*)pB);
01413 case eINTEGER1: return (*(fbxInteger1*)pA) == (*(fbxInteger1*)pB);
01414 case eFLOAT1: return (*(fbxFloat1*)pA) == (*(fbxFloat1*)pB);
01415 case eDOUBLE1: return (*(fbxDouble1*)pA) == (*(fbxDouble1*)pB);
01416 case eDOUBLE2: return (*(fbxDouble2*)pA) == (*(fbxDouble2*)pB);
01417 case eDOUBLE3: return (*(fbxDouble3*)pA) == (*(fbxDouble3*)pB);
01418 case eDOUBLE4: return (*(fbxDouble4*)pA) == (*(fbxDouble4*)pB);
01419 case eDOUBLE44: return (*(fbxDouble44*)pA) == (*(fbxDouble44*)pB);
01420 case eENUM: return (*(fbxEnum*)pA) == (*(fbxEnum*)pB);
01421 case eSTRING: return (*(fbxString*)pA) == (*(fbxString*)pB);
01422 case eTIME: return (*(fbxTime*)pA) == (*(fbxTime*)pB);
01423 case eREFERENCE:
01424 K_ASSERT_MSG_NOW("Trying to compare value on a void Reference type" );
01425 break;
01426 case eBLOB: return (*(fbxBlob*)pA) == (*(fbxBlob*)pB);
01427 case eDISTANCE: return (*(fbxDistance*)pA) == (*(fbxDistance*)pB);
01428 case eDATETIME: return (*(fbxDateTime*)pA) == (*(fbxDateTime*)pB);
01429 default:
01430 K_ASSERT_MSG_NOW("Trying to compare an unknown type" );
01431 }
01432 return false;
01433 }
01434
01435 #include <fbxfilesdk/fbxfilesdk_nsend.h>
01436
01437 #endif // FBXFILESDK_KFBXPLUGINS_KFBXTYPES_H
01438