#include "../Common/Common.h"
#include "DisplayCommon.h"
#include "DisplayHierarchy.h"
#include "DisplayAnimation.h"
#include "DisplayMarker.h"
#include "DisplaySkeleton.h"
#include "DisplayMesh.h"
#include "DisplayNurb.h"
#include "DisplayPatch.h"
#include "DisplayLodGroup.h"
#include "DisplayCamera.h"
#include "DisplayLight.h"
#include "DisplayGlobalSettings.h"
#include "DisplayPose.h"
#include "DisplayPivotsAndLimits.h"
#include "DisplayUserProperties.h"
#include "DisplayGenericInfo.h"
void DisplayContent(
FbxNode* pNode);
void DisplayTarget(
FbxNode* pNode);
void DisplayTransformPropagation(
FbxNode* pNode);
void DisplayGeometricTransform(
FbxNode* pNode);
static bool gVerbose = true;
int main(int argc, char** argv)
{
bool lResult;
InitializeSdkObjects(lSdkManager, lScene);
for( int i = 1, c = argc; i < c; ++i )
{
if(
FbxString(argv[i]) ==
"-test" ) gVerbose =
false;
else if( lFilePath.IsEmpty() ) lFilePath = argv[i];
}
if( lFilePath.IsEmpty() )
{
lResult = false;
FBXSDK_printf("\n\nUsage: ImportScene <FBX file name>\n\n");
}
else
{
FBXSDK_printf("\n\nFile: %s\n\n", lFilePath.Buffer());
lResult = LoadScene(lSdkManager, lScene, lFilePath.Buffer());
}
if(lResult == false)
{
FBXSDK_printf("\n\nAn error occurred while loading the scene...");
}
else
{
DisplayMetaData(lScene);
FBXSDK_printf("\n\n---------------------\nGlobal Light Settings\n---------------------\n\n");
FBXSDK_printf("\n\n----------------------\nGlobal Camera Settings\n----------------------\n\n");
FBXSDK_printf("\n\n--------------------\nGlobal Time Settings\n--------------------\n\n");
FBXSDK_printf("\n\n---------\nHierarchy\n---------\n\n");
if( gVerbose ) DisplayHierarchy(lScene);
FBXSDK_printf("\n\n------------\nNode Content\n------------\n\n");
if( gVerbose ) DisplayContent(lScene);
FBXSDK_printf("\n\n----\nPose\n----\n\n");
if( gVerbose ) DisplayPose(lScene);
FBXSDK_printf("\n\n---------\nAnimation\n---------\n\n");
if( gVerbose ) DisplayAnimation(lScene);
FBXSDK_printf("\n\n---------\nGeneric Information\n---------\n\n");
if( gVerbose ) DisplayGenericInfo(lScene);
}
DestroySdkObjects(lSdkManager, lResult);
return 0;
}
{
int i;
if(lNode)
{
{
}
}
}
void DisplayContent(
FbxNode* pNode)
{
int i;
{
FBXSDK_printf("NULL Node Attribute\n\n");
}
else
{
switch (lAttributeType)
{
default:
break;
DisplayMarker(pNode);
break;
DisplaySkeleton(pNode);
break;
DisplayMesh(pNode);
break;
DisplayNurb(pNode);
break;
DisplayPatch(pNode);
break;
DisplayCamera(pNode);
break;
DisplayLight(pNode);
break;
DisplayLodGroup(pNode);
break;
}
}
DisplayUserProperties(pNode);
DisplayTarget(pNode);
DisplayPivotsAndLimits(pNode);
DisplayTransformPropagation(pNode);
DisplayGeometricTransform(pNode);
{
}
}
{
{
}
}
void DisplayTransformPropagation(
FbxNode* pNode)
{
FBXSDK_printf(" Transformation Propagation\n");
FBXSDK_printf(" Rotation Space: ");
switch (lRotationOrder)
{
FBXSDK_printf("Euler XYZ\n");
break;
FBXSDK_printf("Euler XZY\n");
break;
FBXSDK_printf("Euler YZX\n");
break;
FBXSDK_printf("Euler YXZ\n");
break;
FBXSDK_printf("Euler ZXY\n");
break;
FBXSDK_printf("Euler ZYX\n");
break;
FBXSDK_printf("Spheric XYZ\n");
break;
}
FBXSDK_printf(" Use the Rotation Space for Limit specification only: %s\n",
FBXSDK_printf(" Transformation Inheritance: ");
switch (lInheritType)
{
FBXSDK_printf("RrSs\n");
break;
FBXSDK_printf("RSrs\n");
break;
FBXSDK_printf("Rrs\n");
break;
}
}
void DisplayGeometricTransform(
FbxNode* pNode)
{
FBXSDK_printf(" Geometric Transformations\n");
FBXSDK_printf(" Translation: %f %f %f\n", lTmpVector[0], lTmpVector[1], lTmpVector[2]);
FBXSDK_printf(" Rotation: %f %f %f\n", lTmpVector[0], lTmpVector[1], lTmpVector[2]);
FBXSDK_printf(" Scaling: %f %f %f\n", lTmpVector[0], lTmpVector[1], lTmpVector[2]);
}
{
if (sceneInfo)
{
FBXSDK_printf("\n\n--------------------\nMeta-Data\n--------------------\n\n");
if (thumbnail)
{
FBXSDK_printf(" Thumbnail:\n");
switch (thumbnail->GetDataFormat())
{
FBXSDK_printf(" Format: RGB\n");
break;
FBXSDK_printf(" Format: RGBA\n");
break;
}
switch (thumbnail->GetSize())
{
default:
break;
FBXSDK_printf(" Size: no dimensions specified (%ld bytes)\n", thumbnail->GetSizeInBytes());
break;
FBXSDK_printf(" Size: 64 x 64 pixels (%ld bytes)\n", thumbnail->GetSizeInBytes());
break;
FBXSDK_printf(" Size: 128 x 128 pixels (%ld bytes)\n", thumbnail->GetSizeInBytes());
}
}
}
}