InProcessPhysicsClientSharedMemory(int argc, char* argv[])
	{
		int newargc = argc+2;
		char** newargv = (char**)malloc(sizeof(void*)*newargc);
		for (int i=0;i<argc;i++)
		newargv[i] = argv[i];

		char* t0 = (char*)"--logtostderr";
		char* t1 = (char*)"--start_demo_name=Physics Server";
		newargv[argc] = t0;
		newargv[argc+1] = t1;
		m_data = btCreateInProcessExampleBrowser(newargc,newargv);
		SharedMemoryInterface* shMem = btGetSharedMemoryInterface(m_data);

		setSharedMemoryInterface(shMem);
	}
    InProcessPhysicsClientSharedMemoryMainThread(int argc, char* argv[], bool useInProcessMemory)
    {
        int newargc = argc+3;
        char** newargv = (char**)malloc(sizeof(void*)*newargc);
		char* t0 = (char*)"--unused";
        newargv[0] = t0;
		for (int i=0;i<argc;i++)
            newargv[i+1] = argv[i];
        newargv[argc+1]=(char*)"--logtostderr";
		newargv[argc+2]=(char*)"--start_demo_name=Physics Server";
        
        m_data = btCreateInProcessExampleBrowserMainThread(newargc,newargv, useInProcessMemory);
        SharedMemoryInterface* shMem = btGetSharedMemoryInterfaceMainThread(m_data);
        
        setSharedMemoryInterface(shMem);
    }
	InProcessPhysicsClientSharedMemory(int argc, char* argv[], bool useInProcessMemory)
	{
		int newargc = argc+2;
		m_newargv = (char**)malloc(sizeof(void*)*newargc);
		char* t0 = (char*)"--unused";
		m_newargv[0] = t0;

		for (int i=0;i<argc;i++)
			m_newargv[i+1] = argv[i];
		
		char* t1 = (char*)"--start_demo_name=Physics Server";
		m_newargv[argc+1] = t1;
		m_data = btCreateInProcessExampleBrowser(newargc,m_newargv, useInProcessMemory);
		SharedMemoryInterface* shMem = btGetSharedMemoryInterface(m_data);
		setSharedMemoryInterface(shMem);
	}
	InProcessPhysicsClientExistingExampleBrowser (struct GUIHelperInterface* guiHelper, bool useInProcessMemory, bool skipGraphicsUpdate)
	{
        m_sharedMem=0;
		CommonExampleOptions options(guiHelper);
        
        if (useInProcessMemory)
        {
            m_sharedMem = new InProcessMemory;
            options.m_sharedMem = m_sharedMem;
        }
        
        options.m_skipGraphicsUpdate = skipGraphicsUpdate;
        m_physicsServerExample = PhysicsServerCreateFuncBullet2(options);
		m_physicsServerExample ->initPhysics();
		m_physicsServerExample ->resetCamera();
		setSharedMemoryInterface(m_sharedMem);
		m_clock.reset();
		m_prevTime = m_clock.getTimeMicroseconds();

	}
	virtual ~InProcessPhysicsClientSharedMemory()
	{
		setSharedMemoryInterface(0);
		btShutDownExampleBrowser(m_data);
	}