void dgWorld::DeserializeFromFile (const char* const fileName, OnBodyDeserialize bodyCallback, void* const userData) { FILE* const file = fopen (fileName, "rb"); if (file) { dgTree<dgBody*, dgInt32> bodyMap (GetAllocator()); DeserializeBodyArray (bodyMap, bodyCallback ? bodyCallback : OnBodyDeserializeFromFile, userData, OnDeserializeFromFile, file); DeserializeJointArray (bodyMap, OnDeserializeFromFile, file); fclose (file); } }
void dgWorld::DeserializeScene(void* const userData, OnBodyDeserialize bodyCallback, dgDeserialize deserializeCallback, void* const serializeHandle) { dgTree<dgBody*, dgInt32> bodyMap(GetAllocator()); DeserializeBodyArray(userData, bodyCallback ? bodyCallback : OnBodyDeserializeFromFile, bodyMap, deserializeCallback, serializeHandle); DeserializeJointArray(bodyMap, deserializeCallback, serializeHandle); const dgBodyMasterList& me = *this; for (dgBodyMasterList::dgListNode* node = me.GetFirst()->GetNext(); node; node = node->GetNext()) { const dgBodyMasterListRow& graphNode = node->GetInfo(); graphNode.GetBody()->m_serializedEnum = -1; } }