Index: trunk/lib/FlairMeta/src/MetaVrpnObject.cpp
===================================================================
--- trunk/lib/FlairMeta/src/MetaVrpnObject.cpp	(revision 271)
+++ trunk/lib/FlairMeta/src/MetaVrpnObject.cpp	(revision 286)
@@ -18,5 +18,4 @@
 
 #include "MetaVrpnObject.h"
-#include "VrpnClient.h"
 #include <EulerDerivative.h>
 #include <LowPassFilter.h>
@@ -38,16 +37,15 @@
 namespace meta {
 
-MetaVrpnObject::MetaVrpnObject(string name)
-    : VrpnObject( name, GetVrpnClient()->GetTabWidget()) {
-  ConstructorCommon(name);
+MetaVrpnObject::MetaVrpnObject(string name,VrpnClient *client)
+    : VrpnObject( name, client->GetTabWidget(),client) {
+  ConstructorCommon(name,client);
 }
 
-MetaVrpnObject::MetaVrpnObject(std::string name,
-                               uint8_t id)
-    : VrpnObject(name, id, GetVrpnClient()->GetTabWidget()) {
-  ConstructorCommon( name);
+MetaVrpnObject::MetaVrpnObject(std::string name,uint8_t id,VrpnClient *client)
+    : VrpnObject(name, id, client->GetTabWidget(),client) {
+  ConstructorCommon( name,client);
 }
 
-void MetaVrpnObject::ConstructorCommon(string name) {
+void MetaVrpnObject::ConstructorCommon(string name,VrpnClient *client) {
   cvmatrix_descriptor *desc = new cvmatrix_descriptor(7, 1);
   for (int i = 0; i < desc->Rows(); i++) {
@@ -57,5 +55,5 @@
   delete desc;
 
-  pbas = new LowPassFilter(this, GetVrpnClient()->GetLayout()->NewRow(),
+  pbas = new LowPassFilter(this, client->GetLayout()->NewRow(),
                            name + " Passe bas", prev_value);
   delete prev_value;
@@ -68,5 +66,5 @@
   delete desc;
 
-  euler = new EulerDerivative(pbas, GetVrpnClient()->GetLayout()->NewRow(),
+  euler = new EulerDerivative(pbas, client->GetLayout()->NewRow(),
                               name + "_euler", prev_value);
   delete prev_value;
@@ -79,5 +77,5 @@
   vz_opti_plot->AddCurve(euler->GetMatrix()->Element(6));
 
-  plot_tab = new Tab(GetVrpnClient()->GetTabWidget(), "Mesures (xy) " + name);
+  plot_tab = new Tab(client->GetTabWidget(), "Mesures (xy) " + name);
   xy_plot = new DataPlot2D(plot_tab->NewRow(), "xy", "y", -5, 5, "x", -5, 5);
   xy_plot->AddCurve(Output()->Element(5, 0), Output()->Element(4, 0));
Index: trunk/lib/FlairMeta/src/MetaVrpnObject.h
===================================================================
--- trunk/lib/FlairMeta/src/MetaVrpnObject.h	(revision 271)
+++ trunk/lib/FlairMeta/src/MetaVrpnObject.h	(revision 286)
@@ -15,4 +15,5 @@
 
 #include <VrpnObject.h>
+#include <VrpnClient.h>
 #include <io_data.h>
 #include <Vector3D.h>
@@ -41,6 +42,6 @@
 class MetaVrpnObject : public sensor::VrpnObject {
 public:
-  MetaVrpnObject(std::string name);
-  MetaVrpnObject(std::string name,uint8_t id);
+  MetaVrpnObject(std::string name,sensor::VrpnClient *client=sensor::GetVrpnClient());
+  MetaVrpnObject(std::string name,uint8_t id,sensor::VrpnClient *client=sensor::GetVrpnClient());
   ~MetaVrpnObject();
   gui::DataPlot1D *VxPlot(void) const; // 1,0
@@ -51,5 +52,5 @@
 
 private:
-  void ConstructorCommon(std::string name);
+  void ConstructorCommon(std::string name,sensor::VrpnClient *client);
   filter::LowPassFilter *pbas;
   filter::EulerDerivative *euler;
Index: trunk/lib/FlairMeta/src/SimuX4.cpp
===================================================================
--- trunk/lib/FlairMeta/src/SimuX4.cpp	(revision 271)
+++ trunk/lib/FlairMeta/src/SimuX4.cpp	(revision 286)
@@ -20,12 +20,12 @@
 #include <FrameworkManager.h>
 #include <X4X8Multiplex.h>
-#include <SimuImu.h>
-#include <SimuAhrs.h>
-#include <SimuBldc.h>
-#include <SimuUs.h>
-#include <SimuCamera.h>
-#include <SimuPressureSensor.h>
+#include <SimulatedImu.h>
+#include <SimulatedAhrs.h>
+#include <SimulatedBldc.h>
+#include <SimulatedUs.h>
+#include <SimulatedCamera.h>
+#include <SimulatedPressureSensor.h>
 #include <BatteryMonitor.h>
-#include <SimuGps.h>
+#include <SimulatedGps.h>
 #include <Tab.h>
 #include <FindArgument.h>
@@ -48,8 +48,8 @@
     SetMultiplex(new X4X8Multiplex("motors", X4X8Multiplex::X4));
 
-  SetBldc(new SimuBldc(GetUavMultiplex(), GetUavMultiplex()->GetLayout(),
+  SetBldc(new SimulatedBldc(GetUavMultiplex(), GetUavMultiplex()->GetLayout(),
                        "motors", GetUavMultiplex()->MotorsCount(), simu_id,0));
-  SetUsRangeFinder(new SimuUs("us", simu_id,0, 60));
-  SetAhrs(new SimuAhrs("ahrs", simu_id, 0,70));
+  SetUsRangeFinder(new SimulatedUs("us", simu_id,0, 60));
+  SetAhrs(new SimulatedAhrs("ahrs", simu_id, 0,70));
   Tab *bat_tab = new Tab(getFrameworkManager()->GetTabWidget(), "battery");
   SetBatteryMonitor(new BatteryMonitor(bat_tab->NewRow(), "battery"));
@@ -59,19 +59,19 @@
 	ReadCameraResolutionOption(options,"camv",camvWidth,camvHeight);
   Info("using vertical camera resolution: %ix%i\n",camvWidth, camvHeight);
-  SetVerticalCamera(new SimuCamera("simu_cam_v", camvWidth, camvHeight, 3, simu_id,0, 10));
+  SetVerticalCamera(new SimulatedCamera("simu_cam_v", camvWidth, camvHeight, 3, simu_id,0, 10));
   
   uint16_t camhWidth=320,camhHeight=240;
   ReadCameraResolutionOption(options,"camh",camhWidth,camhHeight);
   Info("using horizontal camera resolution: %ix%i\n",camhWidth, camhHeight);
-  SetHorizontalCamera(new SimuCamera("simu_cam_h", camhWidth, camhHeight, 3, simu_id,1, 10));
+  SetHorizontalCamera(new SimulatedCamera("simu_cam_h", camhWidth, camhHeight, 3, simu_id,1, 10));
   
   string useGps=FindArgument(options,"use_gps=",false);
   if(useGps=="true") {
-    SetGps(new SimuGps("gps", (NmeaGps::NMEAFlags_t)(NmeaGps::GGA | NmeaGps::VTG), 0,0, 40));
+    SetGps(new SimulatedGps("gps", (NmeaGps::NMEAFlags_t)(NmeaGps::GGA | NmeaGps::VTG), 0,0, 40));
   }
   
   string usePressureSensor=FindArgument(options,"use_pressure_sensor=",false);
   if(usePressureSensor=="true") {
-    SetPressureSensor(new SimuPressureSensor("pressuresensor", 0,0, 10));
+    SetPressureSensor(new SimulatedPressureSensor("pressuresensor", 0,0, 10));
   } 
 }
@@ -80,10 +80,10 @@
 
 void SimuX4::StartSensors(void) {
-  ((SimuImu *)(GetAhrs()->GetImu()))->Start();
-  ((SimuUs *)GetUsRangeFinder())->Start();
-  ((SimuCamera *)GetVerticalCamera())->Start();
-  ((SimuCamera *)GetHorizontalCamera())->Start();
-  if(GetGps()) ((SimuGps *)GetGps())->Start();
-  if(GetPressureSensor()) ((SimuPressureSensor *)GetPressureSensor())->Start();
+  ((SimulatedImu *)(GetAhrs()->GetImu()))->Start();
+  ((SimulatedUs *)GetUsRangeFinder())->Start();
+  ((SimulatedCamera *)GetVerticalCamera())->Start();
+  ((SimulatedCamera *)GetHorizontalCamera())->Start();
+  if(GetGps()) ((SimulatedGps *)GetGps())->Start();
+  if(GetPressureSensor()) ((SimulatedPressureSensor *)GetPressureSensor())->Start();
 }
 
Index: trunk/lib/FlairMeta/src/SimuX8.cpp
===================================================================
--- trunk/lib/FlairMeta/src/SimuX8.cpp	(revision 271)
+++ trunk/lib/FlairMeta/src/SimuX8.cpp	(revision 286)
@@ -20,12 +20,12 @@
 #include <FrameworkManager.h>
 #include <X4X8Multiplex.h>
-#include <SimuImu.h>
-#include <SimuAhrs.h>
-#include <SimuBldc.h>
-#include <SimuUs.h>
-#include <SimuCamera.h>
-#include <SimuPressureSensor.h>
+#include <SimulatedImu.h>
+#include <SimulatedAhrs.h>
+#include <SimulatedBldc.h>
+#include <SimulatedUs.h>
+#include <SimulatedCamera.h>
+#include <SimulatedPressureSensor.h>
 #include <BatteryMonitor.h>
-#include <SimuGps.h>
+#include <SimulatedGps.h>
 #include <Tab.h>
 #include <FindArgument.h>
@@ -48,8 +48,8 @@
     SetMultiplex(new X4X8Multiplex("motors", X4X8Multiplex::X8));
 
-  SetBldc(new SimuBldc(GetUavMultiplex(), GetUavMultiplex()->GetLayout(),
+  SetBldc(new SimulatedBldc(GetUavMultiplex(), GetUavMultiplex()->GetLayout(),
                        "motors", GetUavMultiplex()->MotorsCount(), simu_id,0));
-  SetUsRangeFinder(new SimuUs("us", simu_id,0, 60));
-  SetAhrs(new SimuAhrs("ahrs", simu_id, 0,70));
+  SetUsRangeFinder(new SimulatedUs("us", simu_id,0, 60));
+  SetAhrs(new SimulatedAhrs("ahrs", simu_id, 0,70));
   Tab *bat_tab = new Tab(getFrameworkManager()->GetTabWidget(), "battery");
   SetBatteryMonitor(new BatteryMonitor(bat_tab->NewRow(), "battery"));
@@ -59,19 +59,19 @@
 	ReadCameraResolutionOption(options,"camv",camvWidth,camvHeight);
   Info("using vertical camera resolution: %ix%i\n",camvWidth, camvHeight);
-  SetVerticalCamera(new SimuCamera("simu_cam_v", camvWidth, camvHeight, 3, simu_id,0, 10));
+  SetVerticalCamera(new SimulatedCamera("simu_cam_v", camvWidth, camvHeight, 3, simu_id,0, 10));
   
   uint16_t camhWidth=320,camhHeight=240;
   ReadCameraResolutionOption(options,"camh",camhWidth,camhHeight);
   Info("using horizontal camera resolution: %ix%i\n",camhWidth, camhHeight);
-  SetHorizontalCamera(new SimuCamera("simu_cam_h", camhWidth, camhHeight, 3, simu_id,1, 10));
+  SetHorizontalCamera(new SimulatedCamera("simu_cam_h", camhWidth, camhHeight, 3, simu_id,1, 10));
   
   string useGps=FindArgument(options,"use_gps=",false);
   if(useGps=="true") {
-    SetGps(new SimuGps("gps", (NmeaGps::NMEAFlags_t)(NmeaGps::GGA | NmeaGps::VTG), 0,0, 40));
+    SetGps(new SimulatedGps("gps", (NmeaGps::NMEAFlags_t)(NmeaGps::GGA | NmeaGps::VTG), 0,0, 40));
   } 
   
   string usePressureSensor=FindArgument(options,"use_pressure_sensor=",false);
   if(usePressureSensor=="true") {
-    SetPressureSensor(new SimuPressureSensor("pressuresensor", 0,0, 10));
+    SetPressureSensor(new SimulatedPressureSensor("pressuresensor", 0,0, 10));
   } 
 }
@@ -80,10 +80,10 @@
 
 void SimuX8::StartSensors(void) {
-  ((SimuImu *)(GetAhrs()->GetImu()))->Start();
-  ((SimuUs *)GetUsRangeFinder())->Start();
-  ((SimuCamera *)GetVerticalCamera())->Start();
-  ((SimuCamera *)GetHorizontalCamera())->Start();
-  if(GetGps()) ((SimuGps *)GetGps())->Start();
-  if(GetPressureSensor()) ((SimuPressureSensor *)GetPressureSensor())->Start();
+  ((SimulatedImu *)(GetAhrs()->GetImu()))->Start();
+  ((SimulatedUs *)GetUsRangeFinder())->Start();
+  ((SimulatedCamera *)GetVerticalCamera())->Start();
+  ((SimulatedCamera *)GetHorizontalCamera())->Start();
+  if(GetGps()) ((SimulatedGps *)GetGps())->Start();
+  if(GetPressureSensor()) ((SimulatedPressureSensor *)GetPressureSensor())->Start();
 }
 
