void PxCollectForExportSDK(const PxPhysics& physics, PxCollection& collection) { // Collect convexes { Ps::Array<PxConvexMesh*> objects(physics.getNbConvexMeshes()); const PxU32 nb = physics.getConvexMeshes(objects.begin(), objects.size()); PX_ASSERT(nb == objects.size()); PX_UNUSED(nb); for(PxU32 i=0; i<objects.size(); i++) objects[i]->collectForExport(collection); } // Collect triangle meshes { Ps::Array<PxTriangleMesh*> objects(physics.getNbTriangleMeshes()); const PxU32 nb = physics.getTriangleMeshes(objects.begin(), objects.size()); PX_ASSERT(nb == objects.size()); PX_UNUSED(nb); for(PxU32 i=0; i<objects.size(); i++) objects[i]->collectForExport(collection); } // Collect heightfields { Ps::Array<PxHeightField*> objects(physics.getNbHeightFields()); const PxU32 nb = physics.getHeightFields(objects.begin(), objects.size()); PX_ASSERT(nb == objects.size()); PX_UNUSED(nb); for(PxU32 i=0; i<objects.size(); i++) objects[i]->collectForExport(collection); } // Collect materials { Ps::Array<PxMaterial*> objects(physics.getNbMaterials()); const PxU32 nb = physics.getMaterials(objects.begin(), objects.size()); PX_ASSERT(nb == objects.size()); PX_UNUSED(nb); for(PxU32 i=0; i<objects.size(); i++) objects[i]->collectForExport(collection); } #if PX_USE_CLOTH_API // Collect cloth fabrics { Ps::Array<PxClothFabric*> objects(physics.getNbClothFabrics()); const PxU32 nb = physics.getClothFabrics(objects.begin(), objects.size()); PX_ASSERT(nb == objects.size()); PX_UNUSED(nb); for(PxU32 i=0; i<objects.size(); i++) objects[i]->collectForExport(collection); } #endif }