From c35e72bd9f8b0edb6e56a0328a68f6bdd2a75f3d Mon Sep 17 00:00:00 2001 From: "erwin.coumans" Date: Mon, 3 May 2010 19:49:46 +0000 Subject: [PATCH] minor tweak: allow btBulletWorldImporter to convertAllObjects (instantiate Bullet objects) without having to reload/parse the .bullet file. Can be useful to quickly destroy and restart a dynamics world --- .../BulletWorldImporter/btBulletWorldImporter.cpp | 11 ++++++++--- .../BulletWorldImporter/btBulletWorldImporter.h | 3 +++ 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/Extras/Serialize/BulletWorldImporter/btBulletWorldImporter.cpp b/Extras/Serialize/BulletWorldImporter/btBulletWorldImporter.cpp index 0692879e5..320c0e0d0 100644 --- a/Extras/Serialize/BulletWorldImporter/btBulletWorldImporter.cpp +++ b/Extras/Serialize/BulletWorldImporter/btBulletWorldImporter.cpp @@ -456,11 +456,8 @@ char* btBulletWorldImporter::duplicateName(const char* name) return 0; } - bool btBulletWorldImporter::loadFileFromMemory( bParse::btBulletFile* bulletFile2) { - - int i; bool ok = (bulletFile2->getFlags()& bParse::FD_OK)!=0; if (ok) @@ -473,6 +470,14 @@ bool btBulletWorldImporter::loadFileFromMemory( bParse::btBulletFile* bulletFil bulletFile2->dumpChunks(bulletFile2->getFileDNA()); } + convertAllObjects(bulletFile2); + +} + +bool btBulletWorldImporter::convertAllObjects( bParse::btBulletFile* bulletFile2) +{ + int i; + for (i=0;im_bvhs.size();i++) { btOptimizedBvh* bvh = createOptimizedBvh(); diff --git a/Extras/Serialize/BulletWorldImporter/btBulletWorldImporter.h b/Extras/Serialize/BulletWorldImporter/btBulletWorldImporter.h index 6c0dbc1ef..0d0579fcf 100644 --- a/Extras/Serialize/BulletWorldImporter/btBulletWorldImporter.h +++ b/Extras/Serialize/BulletWorldImporter/btBulletWorldImporter.h @@ -105,6 +105,9 @@ public: bool loadFileFromMemory(bParse::btBulletFile* file); + //call make sure bulletFile2 has been parsed, either using btBulletFile::parse or btBulletWorldImporter::loadFileFromMemory + bool convertAllObjects(bParse::btBulletFile* file); + void setVerboseMode(bool verboseDumpAllTypes) { m_verboseDumpAllTypes = verboseDumpAllTypes;