fixes in build system
This commit is contained in:
@@ -25,6 +25,143 @@ void* ExampleBrowserMemoryFunc();
|
||||
#ifndef _WIN32
|
||||
#include "../MultiThreading/b3PosixThreadSupport.h"
|
||||
|
||||
#include "ExampleEntries.h"
|
||||
#include "LinearMath/btAlignedObjectArray.h"
|
||||
#include "EmptyExample.h"
|
||||
|
||||
#include "../SharedMemory/PhysicsServerExample.h"
|
||||
#include "../SharedMemory/PhysicsClientExample.h"
|
||||
|
||||
|
||||
|
||||
|
||||
class ExampleEntriesPhysicsServer : public ExampleEntries
|
||||
{
|
||||
|
||||
struct ExampleEntriesInternalData2* m_data;
|
||||
|
||||
public:
|
||||
|
||||
ExampleEntriesPhysicsServer();
|
||||
virtual ~ExampleEntriesPhysicsServer();
|
||||
|
||||
static void registerExampleEntry(int menuLevel, const char* name,const char* description, CommonExampleInterface::CreateFunc* createFunc, int option=0);
|
||||
|
||||
virtual void initExampleEntries();
|
||||
|
||||
virtual void initOpenCLExampleEntries();
|
||||
|
||||
virtual int getNumRegisteredExamples();
|
||||
|
||||
virtual CommonExampleInterface::CreateFunc* getExampleCreateFunc(int index);
|
||||
|
||||
virtual const char* getExampleName(int index);
|
||||
|
||||
virtual const char* getExampleDescription(int index);
|
||||
|
||||
virtual int getExampleOption(int index);
|
||||
|
||||
};
|
||||
|
||||
|
||||
struct ExampleEntryPhysicsServer
|
||||
{
|
||||
int m_menuLevel;
|
||||
const char* m_name;
|
||||
const char* m_description;
|
||||
CommonExampleInterface::CreateFunc* m_createFunc;
|
||||
int m_option;
|
||||
|
||||
ExampleEntryPhysicsServer(int menuLevel, const char* name)
|
||||
:m_menuLevel(menuLevel), m_name(name), m_description(0), m_createFunc(0), m_option(0)
|
||||
{
|
||||
}
|
||||
|
||||
ExampleEntryPhysicsServer(int menuLevel, const char* name,const char* description, CommonExampleInterface::CreateFunc* createFunc, int option=0)
|
||||
:m_menuLevel(menuLevel), m_name(name), m_description(description), m_createFunc(createFunc), m_option(option)
|
||||
{
|
||||
}
|
||||
};
|
||||
|
||||
struct ExampleEntriesInternalData2
|
||||
{
|
||||
btAlignedObjectArray<ExampleEntryPhysicsServer> m_allExamples;
|
||||
};
|
||||
|
||||
static ExampleEntryPhysicsServer gDefaultExamplesPhysicsServer[]=
|
||||
{
|
||||
|
||||
ExampleEntryPhysicsServer(0,"Robotics Control"),
|
||||
|
||||
ExampleEntryPhysicsServer(1,"Physics Server", "Create a physics server that communicates with a physics client over shared memory",
|
||||
PhysicsServerCreateFunc),
|
||||
ExampleEntryPhysicsServer(1,"Physics Server (Logging)", "Create a physics server that communicates with a physics client over shared memory. It will log all commands to a file.",
|
||||
PhysicsServerCreateFunc,PHYSICS_SERVER_ENABLE_COMMAND_LOGGING),
|
||||
ExampleEntryPhysicsServer(1,"Physics Server (Replay Log)", "Create a physics server that replay a command log from disk.",
|
||||
PhysicsServerCreateFunc,PHYSICS_SERVER_REPLAY_FROM_COMMAND_LOG),
|
||||
|
||||
ExampleEntryPhysicsServer(1, "Physics Client", "Create a physics client that can communicate with a physics server over shared memory", PhysicsClientCreateFunc),
|
||||
|
||||
};
|
||||
|
||||
|
||||
ExampleEntriesPhysicsServer::ExampleEntriesPhysicsServer()
|
||||
{
|
||||
m_data = new ExampleEntriesInternalData2;
|
||||
}
|
||||
|
||||
ExampleEntriesPhysicsServer::~ExampleEntriesPhysicsServer()
|
||||
{
|
||||
delete m_data;
|
||||
}
|
||||
|
||||
void ExampleEntriesPhysicsServer::initOpenCLExampleEntries()
|
||||
{
|
||||
}
|
||||
|
||||
void ExampleEntriesPhysicsServer::initExampleEntries()
|
||||
{
|
||||
m_data->m_allExamples.clear();
|
||||
|
||||
|
||||
|
||||
int numDefaultEntries = sizeof(gDefaultExamplesPhysicsServer)/sizeof(ExampleEntryPhysicsServer);
|
||||
for (int i=0;i<numDefaultEntries;i++)
|
||||
{
|
||||
m_data->m_allExamples.push_back(gDefaultExamplesPhysicsServer[i]);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
void ExampleEntriesPhysicsServer::registerExampleEntry(int menuLevel, const char* name,const char* description, CommonExampleInterface::CreateFunc* createFunc, int option)
|
||||
{
|
||||
}
|
||||
|
||||
int ExampleEntriesPhysicsServer::getNumRegisteredExamples()
|
||||
{
|
||||
return m_data->m_allExamples.size();
|
||||
}
|
||||
|
||||
CommonExampleInterface::CreateFunc* ExampleEntriesPhysicsServer::getExampleCreateFunc(int index)
|
||||
{
|
||||
return m_data->m_allExamples[index].m_createFunc;
|
||||
}
|
||||
|
||||
int ExampleEntriesPhysicsServer::getExampleOption(int index)
|
||||
{
|
||||
return m_data->m_allExamples[index].m_option;
|
||||
}
|
||||
|
||||
const char* ExampleEntriesPhysicsServer::getExampleName(int index)
|
||||
{
|
||||
return m_data->m_allExamples[index].m_name;
|
||||
}
|
||||
|
||||
const char* ExampleEntriesPhysicsServer::getExampleDescription(int index)
|
||||
{
|
||||
return m_data->m_allExamples[index].m_description;
|
||||
}
|
||||
|
||||
static b3ThreadSupportInterface* createExampleBrowserThreadSupport(int numThreads)
|
||||
{
|
||||
b3PosixThreadSupport::ThreadConstructionInfo constructionInfo("testThreads",
|
||||
@@ -91,7 +228,7 @@ void ExampleBrowserThreadFunc(void* userPtr,void* lsMemory)
|
||||
b3Clock clock;
|
||||
|
||||
|
||||
ExampleEntries examples;
|
||||
ExampleEntriesPhysicsServer examples;
|
||||
examples.initExampleEntries();
|
||||
|
||||
DefaultBrowser* exampleBrowser = new DefaultBrowser(&examples);
|
||||
@@ -231,7 +368,7 @@ void btShutDownExampleBrowser(btInProcessExampleBrowserInternalData* data)
|
||||
|
||||
struct btInProcessExampleBrowserMainThreadInternalData
|
||||
{
|
||||
ExampleEntries m_examples;
|
||||
ExampleEntriesPhysicsServer m_examples;
|
||||
DefaultBrowser* m_exampleBrowser;
|
||||
SharedMemoryInterface* m_sharedMem;
|
||||
b3Clock m_clock;
|
||||
|
||||
Reference in New Issue
Block a user