il codice é lungo... non penso abbiate voglia di leggerlo.. =) (e parte non l'ho ancora scritto, quindi sarebbe difficile postarlo.. =) ). In ogni caso se serve lo posto tutto.


Questo é l'header di robosim:
codice:
class RoboSim
{
	public:
		RoboSim(char* filename);
		SDL_Surface* getSurface(); 
		int setRobotPosition(int, int, int);
		int start_pause();
		bool isRunning();
	
	private:
		bool first_start;
		bool running;
		
		SDL_Thread *GuiThread;
		SDL_Thread *WorldThread;
		SDL_Thread *RoboThread;
		
		SDL_Surface* surface;
		
		robot_hw_t *robot_hw;
		space_t *space;
		robot_t *robot;
		world_t *world;
		gui_t *gui;
}
Quello che succederá_(non ho ancora scritto quel pezzo) é che surface (la superfice dove renderizzano le OpenGL) verrá attaccata a una WidgetGTK, e poi con la funzione start_pause() si gestisce la simulazione.