- Main Page
- Classes
- Files
- Directories

- File List
- File Members

Classes | Defines | Typedefs | Enumerations | Functions | Variables

# fbxcolladautils.h File Reference

`#include <fbxsdk.h>`
`#include <fbxsdk/fileio/collada/fbxcolladatokens.h>`
`#include <fbxsdk/fileio/collada/fbxcolladaiostream.h>`
`#include <components/libxml2-2.7.8/include/libxml/globals.h>`
`#include <map>`
`#include <set>`
`#include <vector>`
`#include <fbxsdk/fbxsdk_nsbegin.h>`
`#include <fbxsdk/fbxsdk_nsend.h>`

Go to the source code of this file.

## Classes
class | XmlNodeDeletionPolicy
struct | ColladaLayerTraits
## Defines
#define | INT_MAX 0x7FFFFFFF
#define | CENTIMETERS_TO_INCHES 2.54f
#define | RADIANS_TO_DEGREES 57.295799f
#define | COLLADA_ID_PROPERTY_NAME "COLLADA_ID"
## Typedefs
typedef FbxAutoPtr< xmlNode, XmlNodeDeletionPolicy > | XmlNodePtr
typedef std::map< FbxString, xmlNode * > | SourceElementMapType
typedef std::map< FbxString, xmlNode * > | SkinMapType
typedef FbxArray< xmlNode * > | CNodeList
## Enumerations
enum | DAE_Flow { kCOLLADAFlowIn, kCOLLADAFlowOut, kCOLLADAFlowInOut }
## Functions
void | DAE_AddNotificationError (const FbxManager *pSdkManger, const FbxString &pErrorMessage)
| Emit error message.
void | DAE_AddNotificationWarning (const FbxManager *pSdkManger, const FbxString &pWarningMessage)
| Emit warning message.
void | DAE_ExportArray (xmlNode *parentXmlNode, const char *id, FbxArray< FbxVector4 > &arr)
void | DAE_ExportArray (xmlNode *parentXmlNode, const char *id, FbxArray< FbxVector2 > &arr)
void | DAE_ExportArray (xmlNode *parentXmlNode, const char *id, FbxArray< FbxColor > &arr)
void | DAE_ExportArray (xmlNode *parentXmlNode, const char *id, FbxArray< double > &arr)
void | DAE_ExportArray (xmlNode *parentXmlNode, const char *id, FbxStringList &arr)
xmlNode * | DAE_ExportSource14 (xmlNode *parentXmlNode, const char *id, FbxStringList &accessorParams, FbxArray< double > &arr, bool isCommonProfile=true)
xmlNode * | DAE_ExportSource14 (xmlNode *parentXmlNode, const char *id, FbxArray< FbxVector4 > &arr)
xmlNode * | DAE_ExportSource14 (xmlNode *parentXmlNode, const char *id, FbxArray< FbxVector2 > &arr)
xmlNode * | DAE_ExportSource14 (xmlNode *parentXmlNode, const char *id, FbxArray< FbxColor > &arr)
xmlNode * | DAE_ExportSource14 (xmlNode *parentXmlNode, const char *id, FbxArray< FbxAMatrix > &arr)
xmlNode * | DAE_ExportSource14 (xmlNode *parentXmlNode, const char *id, FbxArray< FbxMatrix > &arr)
xmlNode * | DAE_ExportSource14 (xmlNode *parentXmlNode, const char *id, FbxStringList &arr, const char *type, bool isCommonProfile=true)
void | DAE_ExportSourceArray (xmlNode *sourceNode, const char *id, FbxArray< FbxColor > &arr)
void | DAE_ExportSourceArray14 (xmlNode *sourceNode, const char *id, FbxArray< FbxColor > &arr)
xmlNode * | DAE_ExportAccessor (xmlNode *parentXmlNode, const char *id, const char *arrayRef, int count, int stride, const char *name, const char *type)
xmlNode * | DAE_ExportAccessor14 (xmlNode *parentXmlNode, const char *id, const char *arrayRef, int count, int stride, const char *name, const char *type)
void | DAE_AddXYZAccessor (xmlNode *parentXmlNode, const char *profile, const char *arrayName, const char *arrayRef, int count)
void | DAE_AddSTAccessor (xmlNode *parentXmlNode, const char *profile, const char *arrayName, const char *arrayRef, int count)
void | DAE_AddFlow (xmlNode *node, DAE_Flow flow)
void | DAE_AddXYZAccessor14 (xmlNode *parentXmlNode, const char *profile, const char *arrayName, const char *arrayRef, int count)
void | DAE_AddSTAccessor14 (xmlNode *parentXmlNode, const char *profile, const char *arrayName, const char *arrayRef, int count)
xmlNode * | DAE_AddParameter (xmlNode *parentXmlNode, const char *name, const FbxColor &color, DAE_Flow flow)
xmlNode * | DAE_AddParameter (xmlNode *parentXmlNode, const char *name, const FbxVector4 &vector, DAE_Flow flow)
xmlNode * | DAE_AddParameter (xmlNode *parentXmlNode, const char *name, double value, DAE_Flow flow)
xmlNode * | DAE_AddParameter (xmlNode *parentXmlNode, const char *name, bool value, DAE_Flow flow)
xmlNode * | DAE_AddParameter (xmlNode *parentXmlNode, const char *name, const char *type, const char *value, DAE_Flow flow)
xmlNode * | DAE_AddParameter (xmlNode *parentXmlNode, const char *name, const FbxDouble3 &color)
xmlNode * | DAE_AddParameter (xmlNode *parentXmlNode, const char *name, const FbxColor &color)
xmlNode * | DAE_AddParameter (xmlNode *parentXmlNode, const char *name, const FbxVector4 &vector)
xmlNode * | DAE_AddParameter (xmlNode *parentXmlNode, const char *name, double value)
xmlNode * | DAE_AddParameter (xmlNode *parentXmlNode, const char *name, bool value)
xmlNode * | DAE_AddParameter (xmlNode *parentXmlNode, const char *name, const char *type, const char *value)
xmlNode * | DAE_AddTechnique (xmlNode *parentXmlNode, const char *technique)
void | DAE_AddInput (xmlNode *parentXmlNode, const char *semantic, const char *source, int idx=-1)
void | DAE_AddInput14 (xmlNode *parentXmlNode, const char *semantic, const char *source, int offset=-1, int set=-1)
FbxString | matrixToString (const FbxAMatrix &mx)
void | findChildrenByType (xmlNode *pParentElement, const std::set< FbxString > &pTypes, CNodeList &pChildrenElements)
| Find children elements whose type is included in a list of type.
void | findChildrenByType (xmlNode *pParentElement, const char *pType, CNodeList &pChildrenElements)
| Find children elements of a specific type.
xmlNode * | getSourceAccessor (xmlNode *sourceNode)
xmlNode * | getTechniqueNode (xmlNode *parent, const char *profile)
double | inchesToCentimeters (double val)
double | centimetersToInches (double val)
double | degreesToRadians (double val)
double | radiansToDegrees (double val)
xmlNode * | DAE_FindChildElementByAttribute (xmlNode *pParentElement, const char *pAttributeName, const char *pAttributeValue, const char *pDefaultAttributeValue="")
| Find a child element with a given attribute value.
xmlNode * | DAE_FindChildElementByTag (xmlNode *pParentElement, const char *pTag, xmlNode *pFindFrom=NULL)
| Find a child element with a given tag.
template<typename TYPE >
void | DAE_GetElementContent (xmlNode *pElement, TYPE &pData)
| Get the content of a XML element.
bool | DAE_CheckCompatibility (xmlNode *pNodeElement)
| Check whether this node is compatible to FBX transform structure.
void | DAE_GetElementTag (xmlNode *pElement, FbxString &pTag)
| Get the tag of the specific element.
const FbxString | DAE_GetElementAttributeValue (xmlNode *pElement, const char *pAttributeName)
| Get the value of an attribute of an element.
template<typename TYPE >
bool | DAE_GetElementAttributeValue (xmlNode *pElement, const char *pAttributeName, TYPE &pData)
| Get the value of an attribute of an element.
template<>
bool | DAE_GetElementAttributeValue (xmlNode *pElement, const char *pAttributeName, FbxString &pData)
bool | DAE_CompareAttributeValue (xmlNode *pElement, const char *pAttributeName, const char *pValue)
| Compare the value of specific attribute of specific element with given value.
const FbxString | DAE_GetIDFromUrlAttribute (xmlNode *pElement)
| Get the ID of another element from the url attribute of the given element.
const FbxString | DAE_GetIDFromSourceAttribute (xmlNode *pElement)
| Get the ID of another element from the source attribute of the given element.
const FbxString | DAE_GetIDFromTargetAttribute (xmlNode *pElement)
| Get the ID of another element from the target attribute of the given element.
void | DAE_SetName (FbxObject *pObject, const FbxString &pName, const FbxString &pID)
| Set the name of the object with a given name.
xmlNode * | DAE_GetSourceWithSemantic (xmlNode *pConsumerElement, const char *pSemantic, const SourceElementMapType &pSourceElements)
| Get the COLLADA source element with a semantic meaning and a consumer element; The COLLADA input element declares the input connections to a data source that a consumer requires.
template<typename T >
xmlNode * | DAE_AddChildElement (xmlNode *pParentElement, const char *pTag, const T &pContent)
| Add a child element with specific content.
xmlNode * | DAE_AddChildElement (xmlNode *pParentElement, const char *pTag)
xmlNode * | DAE_NewElement (const char *pTag)
template<typename T >
xmlAttr * | DAE_AddAttribute (xmlNode *pElement, const FbxString &pAttributeName, const T &pAttributeValue)
| Add an attribute for a element.
const FbxSystemUnit | DAE_ImportUnit (xmlNode *pUnitElement)
| Import a COLLADA unit element into a FBX system unit.
void | IncreaseLclTranslationAnimation (FbxNode *pNode, FbxDouble3 &pOffset)
| If the specific node has animation on its local translation, increase every key by the offset.
void | RecursiveSearchElement (xmlNode *pBaseElement, const char *pTag, FbxArray< xmlNode * > &pResult)
| Search the elements with given tag, push the found results to the end of the given array.
## Variables
const int | MATRIX_STRIDE = 16
const int | VECTOR_STRIDE = 3

## Detailed Description

Definition in file fbxcolladautils.h.

## Define Documentation

#define INT_MAX 0x7FFFFFFF

Search for all occurrences

Definition at line 30 of file fbxcolladautils.h.

#define CENTIMETERS_TO_INCHES 2.54f

Search for all occurrences

Definition at line 34 of file fbxcolladautils.h.

#define RADIANS_TO_DEGREES 57.295799f

Search for all occurrences

Definition at line 38 of file fbxcolladautils.h.

#define COLLADA_ID_PROPERTY_NAME "COLLADA_ID"

Search for all occurrences

Definition at line 46 of file fbxcolladautils.h.

## Typedef Documentation

typedef FbxAutoPtr<xmlNode, XmlNodeDeletionPolicy> XmlNodePtr

Search for all occurrences

Definition at line 61 of file fbxcolladautils.h.

typedef std::map< FbxString, xmlNode* > SourceElementMapType

Search for all occurrences

Definition at line 89 of file fbxcolladautils.h.

typedef std::map< FbxString, xmlNode* > SkinMapType

Search for all occurrences

Definition at line 90 of file fbxcolladautils.h.

typedef FbxArray<xmlNode*> CNodeList

Search for all occurrences

Definition at line 174 of file fbxcolladautils.h.

## Enumeration Type Documentation

enum DAE_Flow

Search for all occurrences

Enumerator:

  kCOLLADAFlowIn | Search for all occurrences
  kCOLLADAFlowOut | Search for all occurrences
  kCOLLADAFlowInOut | Search for all occurrences

Definition at line 41 of file fbxcolladautils.h.

    { kCOLLADAFlowIn, kCOLLADAFlowOut, kCOLLADAFlowInOut };

## Function Documentation

void DAE_AddNotificationError | ( | const FbxManager * | pSdkManger,
|  | const FbxString & | pErrorMessage
| ) |  |

Search for all occurrences

Emit error message.

Parameters:

  pSdkManager | The SDK manager used to access user notification object.
  pErrorMessage | The message to be presented.

void DAE_AddNotificationWarning | ( | const FbxManager * | pSdkManger,
|  | const FbxString & | pWarningMessage
| ) |  |

Search for all occurrences

Emit warning message.

Parameters:

  pSdkManager | The SDK manager used to access user notification object.
  pWarningMessage | The message to be presented.

void DAE_ExportArray | ( | xmlNode * | parentXmlNode,
|  | const char * | id,
|  | FbxArray< FbxVector4 > & | arr
| ) |  |

Search for all occurrences

void DAE_ExportArray | ( | xmlNode * | parentXmlNode,
|  | const char * | id,
|  | FbxArray< FbxVector2 > & | arr
| ) |  |

Search for all occurrences

void DAE_ExportArray | ( | xmlNode * | parentXmlNode,
|  | const char * | id,
|  | FbxArray< FbxColor > & | arr
| ) |  |

Search for all occurrences

void DAE_ExportArray | ( | xmlNode * | parentXmlNode,
|  | const char * | id,
|  | FbxArray< double > & | arr
| ) |  |

Search for all occurrences

void DAE_ExportArray | ( | xmlNode * | parentXmlNode,
|  | const char * | id,
|  | FbxStringList & | arr
| ) |  |

Search for all occurrences

xmlNode* DAE_ExportSource14 | ( | xmlNode * | parentXmlNode,
|  | const char * | id,
|  | FbxStringList & | accessorParams,
|  | FbxArray< double > & | arr,
|  | bool | isCommonProfile = `true`
| ) |  |

Search for all occurrences

xmlNode* DAE_ExportSource14 | ( | xmlNode * | parentXmlNode,
|  | const char * | id,
|  | FbxArray< FbxVector4 > & | arr
| ) |  |

Search for all occurrences

xmlNode* DAE_ExportSource14 | ( | xmlNode * | parentXmlNode,
|  | const char * | id,
|  | FbxArray< FbxVector2 > & | arr
| ) |  |

Search for all occurrences

xmlNode* DAE_ExportSource14 | ( | xmlNode * | parentXmlNode,
|  | const char * | id,
|  | FbxArray< FbxColor > & | arr
| ) |  |

Search for all occurrences

xmlNode* DAE_ExportSource14 | ( | xmlNode * | parentXmlNode,
|  | const char * | id,
|  | FbxArray< FbxAMatrix > & | arr
| ) |  |

Search for all occurrences

xmlNode* DAE_ExportSource14 | ( | xmlNode * | parentXmlNode,
|  | const char * | id,
|  | FbxArray< FbxMatrix > & | arr
| ) |  |

Search for all occurrences

xmlNode* DAE_ExportSource14 | ( | xmlNode * | parentXmlNode,
|  | const char * | id,
|  | FbxStringList & | arr,
|  | const char * | type,
|  | bool | isCommonProfile = `true`
| ) |  |

Search for all occurrences

void DAE_ExportSourceArray | ( | xmlNode * | sourceNode,
|  | const char * | id,
|  | FbxArray< FbxColor > & | arr
| ) |  |

Search for all occurrences

void DAE_ExportSourceArray14 | ( | xmlNode * | sourceNode,
|  | const char * | id,
|  | FbxArray< FbxColor > & | arr
| ) |  |

Search for all occurrences

xmlNode* DAE_ExportAccessor | ( | xmlNode * | parentXmlNode,
|  | const char * | id,
|  | const char * | arrayRef,
|  | int | count,
|  | int | stride,
|  | const char * | name,
|  | const char * | type
| ) |  |

Search for all occurrences

xmlNode* DAE_ExportAccessor14 | ( | xmlNode * | parentXmlNode,
|  | const char * | id,
|  | const char * | arrayRef,
|  | int | count,
|  | int | stride,
|  | const char * | name,
|  | const char * | type
| ) |  |

Search for all occurrences

void DAE_AddXYZAccessor | ( | xmlNode * | parentXmlNode,
|  | const char * | profile,
|  | const char * | arrayName,
|  | const char * | arrayRef,
|  | int | count
| ) |  |

Search for all occurrences

void DAE_AddSTAccessor | ( | xmlNode * | parentXmlNode,
|  | const char * | profile,
|  | const char * | arrayName,
|  | const char * | arrayRef,
|  | int | count
| ) |  |

Search for all occurrences

void DAE_AddFlow | ( | xmlNode * | node,
|  | DAE_Flow | flow
| ) |  |

Search for all occurrences

void DAE_AddXYZAccessor14 | ( | xmlNode * | parentXmlNode,
|  | const char * | profile,
|  | const char * | arrayName,
|  | const char * | arrayRef,
|  | int | count
| ) |  |

Search for all occurrences

void DAE_AddSTAccessor14 | ( | xmlNode * | parentXmlNode,
|  | const char * | profile,
|  | const char * | arrayName,
|  | const char * | arrayRef,
|  | int | count
| ) |  |

Search for all occurrences

xmlNode* DAE_AddParameter | ( | xmlNode * | parentXmlNode,
|  | const char * | name,
|  | const FbxColor & | color,
|  | DAE_Flow | flow
| ) |  |

Search for all occurrences

xmlNode* DAE_AddParameter | ( | xmlNode * | parentXmlNode,
|  | const char * | name,
|  | const FbxVector4 & | vector,
|  | DAE_Flow | flow
| ) |  |

Search for all occurrences

xmlNode* DAE_AddParameter | ( | xmlNode * | parentXmlNode,
|  | const char * | name,
|  | double | value,
|  | DAE_Flow | flow
| ) |  |

Search for all occurrences

xmlNode* DAE_AddParameter | ( | xmlNode * | parentXmlNode,
|  | const char * | name,
|  | bool | value,
|  | DAE_Flow | flow
| ) |  |

Search for all occurrences

xmlNode* DAE_AddParameter | ( | xmlNode * | parentXmlNode,
|  | const char * | name,
|  | const char * | type,
|  | const char * | value,
|  | DAE_Flow | flow
| ) |  |

Search for all occurrences

xmlNode* DAE_AddParameter | ( | xmlNode * | parentXmlNode,
|  | const char * | name,
|  | const FbxDouble3 & | color
| ) |  |

Search for all occurrences

xmlNode* DAE_AddParameter | ( | xmlNode * | parentXmlNode,
|  | const char * | name,
|  | const FbxColor & | color
| ) |  |

Search for all occurrences

xmlNode* DAE_AddParameter | ( | xmlNode * | parentXmlNode,
|  | const char * | name,
|  | const FbxVector4 & | vector
| ) |  |

Search for all occurrences

xmlNode* DAE_AddParameter | ( | xmlNode * | parentXmlNode,
|  | const char * | name,
|  | double | value
| ) |  |

Search for all occurrences

xmlNode* DAE_AddParameter | ( | xmlNode * | parentXmlNode,
|  | const char * | name,
|  | bool | value
| ) |  |

Search for all occurrences

xmlNode* DAE_AddParameter | ( | xmlNode * | parentXmlNode,
|  | const char * | name,
|  | const char * | type,
|  | const char * | value
| ) |  |

Search for all occurrences

xmlNode* DAE_AddTechnique | ( | xmlNode * | parentXmlNode,
|  | const char * | technique
| ) |  |

Search for all occurrences

void DAE_AddInput | ( | xmlNode * | parentXmlNode,
|  | const char * | semantic,
|  | const char * | source,
|  | int | idx = `-1`
| ) |  |

Search for all occurrences

void DAE_AddInput14 | ( | xmlNode * | parentXmlNode,
|  | const char * | semantic,
|  | const char * | source,
|  | int | offset = `-1`,
|  | int | set = `-1`
| ) |  |

Search for all occurrences

FbxString matrixToString | ( | const FbxAMatrix & | mx | ) |

Search for all occurrences

void findChildrenByType | ( | xmlNode * | pParentElement,
|  | const std::set< FbxString > & | pTypes,
|  | CNodeList & | pChildrenElements
| ) |  |

Search for all occurrences

Find children elements whose type is included in a list of type.

Parameters:

  pParentElement | The parent element.
  pTypes | The list of types.
  pChildrenElements | The found children elements.

void findChildrenByType | ( | xmlNode * | pParentElement,
|  | const char * | pType,
|  | CNodeList & | pChildrenElements
| ) |  |

Search for all occurrences

Find children elements of a specific type.

Parameters:

  pParentElement | The parent element.
  pTypes | The type.
  pChildrenElements | The found children elements.

xmlNode* getSourceAccessor | ( | xmlNode * | sourceNode | ) |

Search for all occurrences

xmlNode* getTechniqueNode | ( | xmlNode * | parent,
|  | const char * | profile
| ) |  |

Search for all occurrences

double inchesToCentimeters | ( | double | val | ) | `[inline]`

Search for all occurrences

Definition at line 194 of file fbxcolladautils.h.

    { return floor(val / CENTIMETERS_TO_INCHES * 100000) / 100000; }

double centimetersToInches | ( | double | val | ) | `[inline]`

Search for all occurrences

Definition at line 195 of file fbxcolladautils.h.

    { return floor(val * CENTIMETERS_TO_INCHES * 100000) / 100000; }

double degreesToRadians | ( | double | val | ) | `[inline]`

Search for all occurrences

Definition at line 197 of file fbxcolladautils.h.

    { return floor(val / RADIANS_TO_DEGREES * 100000) / 100000; }

double radiansToDegrees | ( | double | val | ) | `[inline]`

Search for all occurrences

Definition at line 198 of file fbxcolladautils.h.

    { return floor(val * RADIANS_TO_DEGREES * 100000) / 100000; }

xmlNode* DAE_FindChildElementByAttribute | ( | xmlNode * | pParentElement,
|  | const char * | pAttributeName,
|  | const char * | pAttributeValue,
|  | const char * | pDefaultAttributeValue = `""`
| ) |  |

Search for all occurrences

Find a child element with a given attribute value.

Parameters:

  pParentElement | The parent element.
  pAttributeName | The name of the attribute.
  pAttributeValue | The value of the attribute.
  pDefaultAttributeValue | The default value of the attribute used when the attribute is not found explicitly.

Returns:
  Return NULL if no child element has the given attribute value.

xmlNode* DAE_FindChildElementByTag | ( | xmlNode * | pParentElement,
|  | const char * | pTag,
|  | xmlNode * | pFindFrom = `NULL`
| ) |  |

Search for all occurrences

Find a child element with a given tag.

Parameters:

  pParentElement | The parent element.
  pTag | The value of the tag.
  pFindFrom | Find from the next child after pFindFrom if pFindFrom is not NULL.

Returns:
  Return NULL if no child element has the given tag.

void DAE_GetElementContent | ( | xmlNode * | pElement,
|  | TYPE & | pData
| ) |  |

Search for all occurrences

Get the content of a XML element.

Parameters:

  pElement | The element whose content is returned.
  pData | The returned data.
  pIgnoreWhiteSpace | If an array delimited by whitespace is input, the value should be set to true.

Definition at line 224 of file fbxcolladautils.h.

    {
        if (pElement != NULL)
        {
            FbxAutoFreePtr<xmlChar> lContent(xmlNodeGetContent(pElement));
            FromString(&pData, (const char *)lContent.Get());
        }
    }

bool DAE_CheckCompatibility | ( | xmlNode * | pNodeElement | ) |

Search for all occurrences

Check whether this node is compatible to FBX transform structure.

Parameters:

  pNodeElement | The specific node element.

Returns:
  Return true if it is compatible.

void DAE_GetElementTag | ( | xmlNode * | pElement,
|  | FbxString & | pTag
| ) |  |

Search for all occurrences

Get the tag of the specific element.

Parameters:

  pElement | The specific element.
  pTag | Return the tag of the element.

const FbxString DAE_GetElementAttributeValue | ( | xmlNode * | pElement,
|  | const char * | pAttributeName
| ) |  |

Search for all occurrences

Get the value of an attribute of an element.

Parameters:

  pElement | The specific XML element.
  pAttributeName | The name of the specific attribute.

Returns:
  The value of the attribute in the form of a string. If the attribute is not available, an empty string is returned.

bool DAE_GetElementAttributeValue | ( | xmlNode * | pElement,
|  | const char * | pAttributeName,
|  | TYPE & | pData
| ) |  |

Search for all occurrences

Get the value of an attribute of an element.

Parameters:

  pElement | The specific XML element.
  pAttributeName | The name of the specific attribute.
  pData | The returned data.

Returns:
  Return `true` on success and `false` if no attribute has the given name.

Definition at line 259 of file fbxcolladautils.h.

    {
        if (!pElement || !pAttributeName)
            return false;

        FbxAutoFreePtr<xmlChar> lPropertyValue(xmlGetProp(pElement, (const xmlChar *)pAttributeName));
        if (lPropertyValue)
        {
            FromString(&pData, (const char *)lPropertyValue.Get());
            return true;
        }
        return false;
    }

bool DAE_GetElementAttributeValue | ( | xmlNode * | pElement,
|  | const char * | pAttributeName,
|  | FbxString & | pData
| ) |  | `[inline]`

Search for all occurrences

Definition at line 276 of file fbxcolladautils.h.

    {
        if (!pElement || !pAttributeName)
            return false;

        FbxAutoFreePtr<xmlChar> lPropertyValue(xmlGetProp(pElement, (const xmlChar *)pAttributeName));
        if (lPropertyValue)
        {
            pData = (const char *)lPropertyValue.Get();
            return true;
        }
        return false;
    }

bool DAE_CompareAttributeValue | ( | xmlNode * | pElement,
|  | const char * | pAttributeName,
|  | const char * | pValue
| ) |  |

Search for all occurrences

Compare the value of specific attribute of specific element with given value.

Parameters:

  pElement | The specific element.
  pAttributeName | The name of the specific attribute.
  pValue | The value to compare with.

Returns:
  Return true if values equal.

const FbxString DAE_GetIDFromUrlAttribute | ( | xmlNode * | pElement | ) |

Search for all occurrences

Get the ID of another element from the url attribute of the given element.

Parameters:

  pElement | The specific XML element in which the ID is looked for.

Returns:
  The ID of another element if success, or an empty string if no url attributes are found.

const FbxString DAE_GetIDFromSourceAttribute | ( | xmlNode * | pElement | ) |

Search for all occurrences

Get the ID of another element from the source attribute of the given element.

Parameters:

  pElement | The specific XML element in which the ID is looked for.

Returns:
  The ID of another element if success, or an empty string if no source attributes are found.

const FbxString DAE_GetIDFromTargetAttribute | ( | xmlNode * | pElement | ) |

Search for all occurrences

Get the ID of another element from the target attribute of the given element.

Note that in target attribute, the URI identifier may or may not preceded with the pound sign.

Parameters:

  pElement | The specific XML element in which the ID is looked for.

Returns:
  The ID of another element if success, or an empty string if no target attributes are found.

void DAE_SetName | ( | FbxObject * | pObject,
|  | const FbxString & | pName,
|  | const FbxString & | pID
| ) |  |

Search for all occurrences

Set the name of the object with a given name.

If the name is empty, use the ID.

Parameters:

  pObject | The object whose name is to be set.
  pName | The name string.
  pID | The ID string.

xmlNode* DAE_GetSourceWithSemantic | ( | xmlNode * | pConsumerElement,
|  | const char * | pSemantic,
|  | const SourceElementMapType & | pSourceElements
| ) |  |

Search for all occurrences

Get the COLLADA source element with a semantic meaning and a consumer element; The COLLADA input element declares the input connections to a data source that a consumer requires.

A data source is a container of raw data that lacks semantic meaning so that the data can be reused within the document. To use the data, a consumer declares a connection to it with the desired semantic information.

Parameters:

  pConsumerElement | A consumer element, like sampler element in animation system or joints element in controller system.
  pSemantic | A semantic meaning, like "INPUT", "OUTPUT" or "INTERPOLATION" in animation system.

Returns:
  Return `NULL` is failed.

xmlNode* DAE_AddChildElement | ( | xmlNode * | pParentElement,
|  | const char * | pTag,
|  | const T & | pContent
| ) |  |

Search for all occurrences

Add a child element with specific content.

Parameters:

  pParentElement | The parent element.
  pTag | The tag string of the new child element.
  pContent | The content of the child element.

Returns:
  The created child element.

Definition at line 346 of file fbxcolladautils.h.

    {
        const FbxString lRepr = ToString(pContent);
        return xmlNewChild(pParentElement, NULL, (xmlChar *)pTag,
            (xmlChar *)lRepr.Buffer());
    }

xmlNode* DAE_AddChildElement | ( | xmlNode * | pParentElement,
|  | const char * | pTag
| ) |  | `[inline]`

Search for all occurrences

Definition at line 355 of file fbxcolladautils.h.

    {
        return DAE_AddChildElement(pParentElement, pTag, FbxString());
    }

xmlNode* DAE_NewElement | ( | const char * | pTag | ) | `[inline]`

Search for all occurrences

Definition at line 361 of file fbxcolladautils.h.

    {
        return xmlNewNode(NULL, reinterpret_cast<xmlChar*>(const_cast<char *>(pTag)));
    }

xmlAttr* DAE_AddAttribute | ( | xmlNode * | pElement,
|  | const FbxString & | pAttributeName,
|  | const T & | pAttributeValue
| ) |  |

Search for all occurrences

Add an attribute for a element.

Parameters:

  pElement | The element where the attribute is added.
  pAttributeName | The name of the attribute.
  pAttributeValue | The value of the attribute.

Returns:
  The created attribute.

Definition at line 373 of file fbxcolladautils.h.

    {
        const FbxString lRepr = ToString(pAttributeValue);
        return xmlNewProp(pElement, (xmlChar *)pAttributeName.Buffer(),
            (xmlChar *)lRepr.Buffer());
    }

const FbxSystemUnit DAE_ImportUnit | ( | xmlNode * | pUnitElement | ) |

Search for all occurrences

Import a COLLADA unit element into a FBX system unit.

Parameters:

  pUnitElement | The COLLADA unit element.

Returns:
  The created FBX system unit.

void IncreaseLclTranslationAnimation | ( | FbxNode * | pNode,
|  | FbxDouble3 & | pOffset
| ) |  |

Search for all occurrences

If the specific node has animation on its local translation, increase every key by the offset.

Parameters:

  pNode | The specific node.
  pOffset | The specific offset value.

void RecursiveSearchElement | ( | xmlNode * | pBaseElement,
|  | const char * | pTag,
|  | FbxArray< xmlNode * > & | pResult
| ) |  |

Search for all occurrences

Search the elements with given tag, push the found results to the end of the given array.

Parameters:

  pBaseElement | Search from this element.
  pTag | The given tag.
  pResult | The array to return the found results.

## Variable Documentation

const int MATRIX_STRIDE = 16

Search for all occurrences

Definition at line 43 of file fbxcolladautils.h.

const int VECTOR_STRIDE = 3

Search for all occurrences

Definition at line 44 of file fbxcolladautils.h.