13 #ifndef _FBXSDK_FILEIO_COLLADA_WRITER_H_
14 #define _FBXSDK_FILEIO_COLLADA_WRITER_H_
102 #ifndef DOXYGEN_SHOULD_SKIP_THIS
122 xmlNode * ExportScene(
FbxScene* pScene);
130 bool ExportLibraries(xmlNode* pXmlNode);
140 xmlNode* ExportNodeRecursive(xmlNode* pXmlNode,
const FbxNode* pNode);
146 void ExportVisualSceneMAX3DExtension(xmlNode * pExtraElement,
FbxScene * pScene);
152 void ExportVisualSceneFCOLLADAExtension(xmlNode * pExtraElement,
FbxScene * pScene);
161 xmlNode* ExportNode(xmlNode* pXmlNode,
const FbxNode* pNode);
170 bool ExportTransform(xmlNode* pXmlNode,
const FbxNode* pNode);
179 bool ExportNodeAttribute(xmlNode* pXmlNode,
const FbxNode* pNode);
187 xmlNode* CreateMeshLibrary(
const FbxNode* pNode);
195 xmlNode* CreateCameraLibrary(
const FbxNode* pNode);
203 xmlNode* CreateLightLibrary(
const FbxNode* pNode);
211 xmlNode* ExportMesh(
const FbxNode* pNode);
232 xmlNode* ExportVertexPositions(xmlNode* pXmlNode,
FbxMesh* pMesh,
FbxString pMeshName,
bool pInGeometry,
bool pExportControlPoints);
242 xmlNode* ExportLayerElements(xmlNode* pXmlMesh,
FbxMesh* pMesh,
FbxString pName);
263 xmlNode* ExportUVs(xmlNode* pXmlNode,
FbxMesh* pMesh,
FbxString pName,
int pLayerIndex);
273 xmlNode* ExportVertexColors(xmlNode* pXmlNode,
FbxMesh* pMesh,
FbxString pName,
int pLayerIndex);
281 xmlNode* ExportVertices(xmlNode* pXmlNode,
FbxMesh* pMesh,
FbxString pName);
293 xmlNode* ExportPolygons(xmlNode* pMeshElement,
FbxMesh* pMesh,
FbxString pMaterialName,
int pMaterialIndexInNode,
FbxString pName,
bool pShape =
false);
300 bool ExportMeshMaterials(
FbxMesh *pMesh,
int pNbMat);
331 bool AddMaterialTextureInput(xmlNode *pXmlMaterial,
FbxFileTexture *pTexture,
FbxString pImageId,
int pLayerIndex,
int pLayerElementType);
346 bool ExportMeshTextures(
FbxMesh *pMesh);
353 xmlNode* ExportCamera(
const FbxNode* pNode);
360 xmlNode* ExportLight(
const FbxNode* pNode);
364 void ExportSceneAmbient(xmlNode * pVisualSceneElement);
371 bool ExportController(
FbxMesh *pMesh);
378 bool ExportControllerShape(
FbxMesh *pMesh);
387 xmlNode* ExportJointWeights(xmlNode* pXmlNode,
FbxMesh* pMesh,
FbxString pExt);
395 bool UpdateMeshLibraryWithShapes(xmlNode* pXmlNode);
402 bool ExportAnimation(
FbxNode* pNode);
409 bool ExportAnimationCurves(
FbxNode* pNode, xmlNode* pAnimationNode);
428 bool ExportCurve(xmlNode* pAnimationNode,
FbxAnimCurve* pCurve,
429 const char* pChannelName,
const char* pSubChannelName,
430 bool pExportShape=
false,
bool pExportIntensity=
false,
bool pExportLib=
false);
451 bool NotZero(
double pD);
458 bool IsTranslationAnimated(
const FbxNode *pNode);
465 bool IsRotationAnimated(
const FbxNode *pNode);
473 bool IsRotationAnimated(
const FbxNode *pNode,
int pAxis);
480 bool IsScaleAnimated(
const FbxNode *pNode);
502 void PreprocessNodeRecursive(
FbxNode* pNode);
508 void ExportPropertyValue(
const FbxProperty & pProperty,
509 xmlNode * pParentElement);
521 void AddNotificationError(
FbxString pError );
526 void AddNotificationWarning(
FbxString pWarning );
547 xmlNode* mLibraryAnimation;
548 xmlNode* mLibraryCamera;
549 xmlNode* mLibraryController;
550 xmlNode* mLibraryGeometry;
551 xmlNode* mLibraryImage;
552 xmlNode* mLibraryLight;
553 xmlNode* mLibraryMaterial;
554 xmlNode* mLibraryEffect;
555 xmlNode* mLibraryTexture;
556 xmlNode* mLibraryVisualScene;
The animation layer is a collection of animation curve nodes.
This class describes image mapping on top of geometry.
The Animation stack is a collection of animation layers.
virtual bool PostprocessScene(FbxScene &pScene)
Process FBX scene after exporting FBX scene to Collada file.
Array that stores pairs of FbxString and a pointer.
This class contains material settings.
Utility class to manipulate strings.
FbxDocument is a base class for FbxScene and FbxLibrary classes.
virtual bool PreprocessScene(FbxScene &pScene)
Process FBX scene before exporting FBX scene to Collada file.
FbxWriterCollada(FbxManager &pManager, int pID, FbxStatus &pStatus)
Constructor.
virtual ~FbxWriterCollada()
Destructor.
This class facilitates the testing/reporting of errors.
virtual void GetWriteOptions()
Get Collada export options settings.
Class to export FBX scene into a Collada file.
This class contains scene thumbnails and user-defined summary data.
virtual bool FileClose()
Close file.
Class to encapsulate time units.
Represents an element in the scene graph.
This class contains the description of a 3D scene.
Base class of other writers used internally.
virtual bool Write(FbxDocument *pDocument)
Export the FBX document to Collada file, according to the given options settings. ...
Class to hold user properties.
A four double mathematic vector class.
An animation curve, defined by a collection of keys (FbxAnimCurveKey), and indicating how a value cha...
This node attribute contains methods for accessing the properties of a camera.
Class for interfacing with files, providing a similar interface for files independant of the OS or fi...
virtual bool IsFileOpen()
Check if current file is open.
virtual bool FileCreate(char *pFileName)
Create and open file with the given name.
A mesh is a geometry made of polygons.