#include "../Common/Common.h"
#ifdef IOS_REF
    #undef  IOS_REF
    #define IOS_REF (*(pManager->GetIOSettings()))
#endif
{
    
    if( !pManager )
    {
        FBXSDK_printf("Error: Unable to create FBX Manager!\n");
        exit(1);
    }
    else FBXSDK_printf(
"Autodesk FBX SDK version %s\n", pManager->
GetVersion());
 
    
    
    
    if( !pScene )
    {
        FBXSDK_printf("Error: Unable to create FBX scene!\n");
        exit(1);
    }
}
void DestroySdkObjects(
FbxManager* pManager, 
bool pExitStatus)
 
{
    
    if( pManager ) pManager->
Destroy();
 
    if( pExitStatus ) FBXSDK_printf("Program Success!\n");
}
bool SaveScene(
FbxManager* pManager, 
FbxDocument* pScene, 
const char* pFilename, 
int pFileFormat, 
bool pEmbedMedia)
 
{
    int lMajor, lMinor, lRevision;
    bool lStatus = true;
    
    {
        
        
        for (lFormatIndex=0; lFormatIndex<lFormatCount; lFormatIndex++)
        {
            {
                const char *lASCII = "ascii";
                if (lDesc.
Find(lASCII)>=0)
 
                {
                    pFileFormat = lFormatIndex;
                    break;
                }
            }
        } 
    }
    
    
    
    
    {
        FBXSDK_printf("Call to FbxExporter::Initialize() failed.\n");
        return false;
    }
    FBXSDK_printf("FBX file format version %d.%d.%d\n\n", lMajor, lMinor, lRevision);
    
    lStatus = lExporter->
Export(pScene); 
 
    
    return lStatus;
}
{
    int lFileMajor, lFileMinor, lFileRevision;
    int lSDKMajor,  lSDKMinor,  lSDKRevision;
    
    int i, lAnimStackCount;
    bool lStatus;
    char lPassword[1024];
    
    
    
    if( !lImportStatus )
    {
        FBXSDK_printf("Call to FbxImporter::Initialize() failed.\n");
        FBXSDK_printf(
"Error returned: %s\n\n", error.
Buffer());
 
        {
            FBXSDK_printf("FBX file format version for this FBX SDK is %d.%d.%d\n", lSDKMajor, lSDKMinor, lSDKRevision);
            FBXSDK_printf("FBX file format version for file '%s' is %d.%d.%d\n\n", pFilename, lFileMajor, lFileMinor, lFileRevision);
        }
        return false;
    }
    FBXSDK_printf("FBX file format version for this FBX SDK is %d.%d.%d\n", lSDKMajor, lSDKMinor, lSDKRevision);
    {
        FBXSDK_printf("FBX file format version for file '%s' is %d.%d.%d\n\n", pFilename, lFileMajor, lFileMinor, lFileRevision);
        
        
        FBXSDK_printf("Animation Stack Information\n");
        FBXSDK_printf("    Number of Animation Stacks: %d\n", lAnimStackCount);
        FBXSDK_printf("\n");
        for(i = 0; i < lAnimStackCount; i++)
        {
            FBXSDK_printf("    Animation Stack %d\n", i);
            FBXSDK_printf(
"         Name: \"%s\"\n", lTakeInfo->
mName.
Buffer());
 
            
            
            
            
            FBXSDK_printf(
"         Import State: %s\n", lTakeInfo->
mSelect ? 
"true" : 
"false");
 
            FBXSDK_printf("\n");
        }
        
        
    }
    
    lStatus = lImporter->
Import(pScene);
 
    {
        FBXSDK_printf("Please enter password: ");
        lPassword[0] = '\0';
        scanf("%s", lPassword);
        lStatus = lImporter->
Import(pScene);
 
        {
            FBXSDK_printf("\nPassword is wrong, import aborted.\n");
        }
    }
    
    return lStatus;
}