This commit is contained in:
Erwin Coumans
2019-11-21 19:37:11 -08:00
4 changed files with 16 additions and 7 deletions

View File

@@ -29,13 +29,14 @@ void SamplelsMemoryReleaseFunc(void* ptr);
#ifndef _WIN32 #ifndef _WIN32
#include "b3PosixThreadSupport.h" #include "b3PosixThreadSupport.h"
b3ThreadSupportInterface* createThreadSupport(int numThreads) b3ThreadSupportInterface* createThreadSupport(int numThreads)
{ {
b3PosixThreadSupport::ThreadConstructionInfo constructionInfo("testThreads", b3PosixThreadSupport::ThreadConstructionInfo constructionInfo("testThreads",
SampleThreadFunc, SampleThreadFunc,
SamplelsMemoryFunc, SamplelsMemoryFunc,
SamplelsMemoryReleaseFunc, SamplelsMemoryReleaseFunc,
numThreads); numThreads);
b3ThreadSupportInterface* threadSupport = new b3PosixThreadSupport(constructionInfo); b3ThreadSupportInterface* threadSupport = new b3PosixThreadSupport(constructionInfo);
return threadSupport; return threadSupport;

View File

@@ -22,7 +22,7 @@ subject to the following restrictions:
void SampleThreadFunc(void* userPtr, void* lsMemory); void SampleThreadFunc(void* userPtr, void* lsMemory);
void* SamplelsMemoryFunc(); void* SamplelsMemoryFunc();
void SamplelsMemoryReleaseFunc(void* ptr);
#include <stdio.h> #include <stdio.h>
//#include "BulletMultiThreaded/PlatformDefinitions.h" //#include "BulletMultiThreaded/PlatformDefinitions.h"
@@ -34,6 +34,7 @@ b3ThreadSupportInterface* createThreadSupport(int numThreads)
b3PosixThreadSupport::ThreadConstructionInfo constructionInfo("testThreads", b3PosixThreadSupport::ThreadConstructionInfo constructionInfo("testThreads",
SampleThreadFunc, SampleThreadFunc,
SamplelsMemoryFunc, SamplelsMemoryFunc,
SamplelsMemoryReleaseFunc,
numThreads); numThreads);
b3ThreadSupportInterface* threadSupport = new b3PosixThreadSupport(constructionInfo); b3ThreadSupportInterface* threadSupport = new b3PosixThreadSupport(constructionInfo);
@@ -99,6 +100,13 @@ void* SamplelsMemoryFunc()
return new SampleThreadLocalStorage; return new SampleThreadLocalStorage;
} }
void SamplelsMemoryReleaseFunc(void* ptr)
{
SampleThreadLocalStorage* p = (SampleThreadLocalStorage*)ptr;
delete p;
}
int main(int argc, char** argv) int main(int argc, char** argv)
{ {
int numThreads = 8; int numThreads = 8;

View File

@@ -404,7 +404,7 @@ B3_SHARED_API int b3LoadSoftBodySetCollisionHardness(b3SharedMemoryCommandHandle
return 0; return 0;
} }
B3_SHARED_API int b3LoadSoftBodyUseSelfCollision(b3SharedMemoryCommandHandle commandHandle, int useSelfCollision) B3_SHARED_API int b3LoadSoftBodySetSelfCollision(b3SharedMemoryCommandHandle commandHandle, int useSelfCollision)
{ {
struct SharedMemoryCommand* command = (struct SharedMemoryCommand*)commandHandle; struct SharedMemoryCommand* command = (struct SharedMemoryCommand*)commandHandle;
b3Assert(command->m_type == CMD_LOAD_SOFT_BODY); b3Assert(command->m_type == CMD_LOAD_SOFT_BODY);

View File

@@ -640,7 +640,7 @@ extern "C"
B3_SHARED_API int b3LoadSoftBodyAddMassSpringForce(b3SharedMemoryCommandHandle commandHandle, double springElasticStiffness , double springDampingStiffness); B3_SHARED_API int b3LoadSoftBodyAddMassSpringForce(b3SharedMemoryCommandHandle commandHandle, double springElasticStiffness , double springDampingStiffness);
B3_SHARED_API int b3LoadSoftBodyAddGravityForce(b3SharedMemoryCommandHandle commandHandle, double gravityX, double gravityY, double gravityZ); B3_SHARED_API int b3LoadSoftBodyAddGravityForce(b3SharedMemoryCommandHandle commandHandle, double gravityX, double gravityY, double gravityZ);
B3_SHARED_API int b3LoadSoftBodySetCollisionHardness(b3SharedMemoryCommandHandle commandHandle, double collisionHardness); B3_SHARED_API int b3LoadSoftBodySetCollisionHardness(b3SharedMemoryCommandHandle commandHandle, double collisionHardness);
B3_SHARED_API int b3LoadSoftBodyUseSelfCollision(b3SharedMemoryCommandHandle commandHandle, int useSelfCollision); B3_SHARED_API int b3LoadSoftBodySetSelfCollision(b3SharedMemoryCommandHandle commandHandle, int useSelfCollision);
B3_SHARED_API int b3LoadSoftBodyUseFaceContact(b3SharedMemoryCommandHandle commandHandle, int useFaceContact); B3_SHARED_API int b3LoadSoftBodyUseFaceContact(b3SharedMemoryCommandHandle commandHandle, int useFaceContact);
B3_SHARED_API int b3LoadSoftBodySetFrictionCoefficient(b3SharedMemoryCommandHandle commandHandle, double frictionCoefficient); B3_SHARED_API int b3LoadSoftBodySetFrictionCoefficient(b3SharedMemoryCommandHandle commandHandle, double frictionCoefficient);
B3_SHARED_API int b3LoadSoftBodyUseBendingSprings(b3SharedMemoryCommandHandle commandHandle, int useBendingSprings); B3_SHARED_API int b3LoadSoftBodyUseBendingSprings(b3SharedMemoryCommandHandle commandHandle, int useBendingSprings);