コード例 #1
0
ファイル: dgWorld.cpp プロジェクト: alexsaen/newton-dynamics
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);
	}
}
コード例 #2
0
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;
	}
}