14 #include <fbxfilesdk/fbxfilesdk_nsuse.h>
19 mManager(&pFbxSdkManager)
38 if(mFilePointer != NULL)
40 mFilePointer = fopen(pFileName,
"r");
41 if(mFilePointer == NULL)
47 if(mFilePointer!=NULL)
54 if(mFilePointer != NULL)
69 GetError().SetLastErrorID(eINVALID_DOCUMENT_HANDLE);
72 KFbxScene* lScene = KFbxCast<KFbxScene>(pDocument);
73 bool lIsAScene = (lScene != NULL);
78 KFbxNode* lRootNode = lScene->GetRootNode();
79 KFbxNodeAttribute * lRootNodeAttribute = KFbxNull::Create(lScene,
"");
80 lRootNode->SetNodeAttribute(lRootNodeAttribute);
84 if(mFilePointer != NULL)
87 fseek (mFilePointer , 0 , SEEK_END);
88 lSize = ftell (mFilePointer);
89 rewind (mFilePointer);
92 lBuffer = (
char*) malloc (
sizeof(
char)*lSize + 1);
93 size_t lRead = fread(lBuffer, 1, lSize, mFilePointer);
95 KString lString(lBuffer);
98 KString lSubString, lChildName, lParentName;
100 KFbxNode* lParentNode;
101 KFbxNodeAttribute* lChildAttribute;
102 int lEndTokenCount = lString.GetTokenCount(
"\n");
104 for (
int i = 0; i < lEndTokenCount; i++)
106 lSubString = lString.GetToken(i,
"\n");
108 lChildName = lSubString.GetToken(0,
"\"");
109 lParentName = lSubString.GetToken(2,
"\"");
112 if(lParentName ==
"RootNode")
114 lChildNode = KFbxNode::Create(lScene,lChildName.Buffer());
115 lChildAttribute = KFbxNull::Create(mManager,
"");
116 lChildNode->SetNodeAttribute(lChildAttribute);
118 lRootNode->AddChild(lChildNode);
122 lChildNode = KFbxNode::Create(lScene,lChildName.Buffer());
123 lChildAttribute = KFbxNull::Create(lScene,
"");
124 lChildNode->SetNodeAttribute(lChildAttribute);
126 lParentNode = lRootNode->FindChild(lParentName.Buffer());
127 lParentNode->AddChild(lChildNode);
virtual bool Read(KFbxDocument *pDocument)
virtual bool GetReadOptions(bool pParseFileAsNeeded=true)
virtual void GetVersion(int &pMajor, int &pMinor, int &pRevision) const
virtual bool IsFileOpen()
virtual bool FileOpen(char *pFileName)
StreamReader(KFbxSdkManager &pFbxSdkManager, int pID)