fbxsdk/fileio/collada/fbxcolladaiostream.h Source File
         
    
Go to the documentation of this file.
   13 #ifndef _FBXSDK_FILEIO_COLLADA_IO_STREAM_H_ 
   14 #define _FBXSDK_FILEIO_COLLADA_IO_STREAM_H_ 
   28 template <
typename T> 
bool FromString(T * pDest, 
const char * pSourceBegin, 
const char ** pSourceEnd = 
NULL);
 
   29 template <> 
bool FromString(
int * pDest, 
const char * pSourceBegin, 
const char ** pSourceEnd);
 
   30 template <> 
bool FromString(
double * pDest, 
const char * pSourceBegin, 
const char ** pSourceEnd);
 
   31 template <> 
bool FromString(
FbxString * pDest, 
const char * pSourceBegin, 
const char ** pSourceEnd);
 
   32 template <> 
bool FromString(
FbxDouble2 * pDest, 
const char * pSourceBegin, 
const char ** pSourceEnd);
 
   33 template <> 
bool FromString(
FbxDouble3 * pDest, 
const char * pSourceBegin, 
const char ** pSourceEnd);
 
   34 template <> 
bool FromString(
FbxDouble4 * pDest, 
const char * pSourceBegin, 
const char ** pSourceEnd);
 
   35 template <> 
bool FromString(
FbxVector4 * pDest, 
const char * pSourceBegin, 
const char ** pSourceEnd);
 
   36 template <> 
bool FromString(
FbxAMatrix * pDest, 
const char * pSourceBegin, 
const char ** pSourceEnd);
 
   37 template <> 
bool FromString(
FbxAMatrix * pDest, 
const char * pSourceBegin, 
const char ** pSourceEnd);
 
   48 template <
typename TYPE> 
int FromStringToArray(
const char * pString, TYPE * pArray, 
int pSourceUnitOffset, 
int pSourceValidUnitCount, 
int pSourceGroupSize, 
int pDestUnitOffset, 
int pDestValidUnitCount, 
int pDestGroupSize, TYPE pDefaultValue = TYPE())
 
   50     if (pString == 0 || pArray == 0)
 
   53     FBX_ASSERT(pSourceUnitOffset >= 0 && pSourceUnitOffset < pSourceGroupSize);
 
   54     FBX_ASSERT(pSourceValidUnitCount >= 0 && pSourceUnitOffset + pSourceValidUnitCount <= pSourceGroupSize);
 
   55     FBX_ASSERT(pDestUnitOffset >= 0 && pDestUnitOffset < pDestGroupSize);
 
   56     FBX_ASSERT(pDestValidUnitCount >= 0 && pDestUnitOffset + pDestValidUnitCount <= pDestGroupSize);
 
   57     const char * lSource = pString;
 
   58     TYPE * lDest = pArray;
 
   61     int lSourceCounter = 0;
 
   63     const int lSourceUnitValidEnd = pSourceUnitOffset + pSourceValidUnitCount;
 
   64     const int lDestUnitGap = pDestGroupSize - pDestValidUnitCount - pDestUnitOffset;
 
   65     while (lSource && *lSource)
 
   68         const char * lSourceStart = lSource;
 
   69         if (
FromString(&lData, lSource, &lSource) && lSourceCounter >= pSourceUnitOffset && lSourceCounter < lSourceUnitValidEnd)
 
   71             if (lDestCounter == 0)
 
   73                 for (
int lIndex = 0; lIndex < pDestUnitOffset; ++lIndex)
 
   74                     *(lDest++) = pDefaultValue;
 
   80             if (lDestCounter == pDestValidUnitCount)
 
   83                 for (
int lIndex = 0; lIndex < lDestUnitGap; ++lIndex)
 
   84                     *lDest++ = pDefaultValue;
 
   92             if (lSource == lSourceStart)
 
   98         if (lSourceCounter == pSourceGroupSize)
 
  106 template <
typename T>
 
const FbxString ToString(const T &pValue)
 
bool FromString(T *pDest, const char *pSourceBegin, const char **pSourceEnd=((void *) 0))
Convert part of the source string into destination type. 
 
const FbxString DecodePercentEncoding(const FbxString &pEncodedString)
Decode percent encoded characters, returns an empty string if there's an error. 
 
Utility class to manipulate strings. 
 
A four double mathematic vector class. 
 
FBX SDK affine matrix class. 
 
int FromStringToArray(const char *pString, TYPE *pArray, int pSourceUnitOffset, int pSourceValidUnitCount, int pSourceGroupSize, int pDestUnitOffset, int pDestValidUnitCount, int pDestGroupSize, TYPE pDefaultValue=TYPE())
Parse the string into an array.