From 95c32df849c54a7a5746356f06953342da675b37 Mon Sep 17 00:00:00 2001
From: Joseph Mirabel <jmirabel@laas.fr>
Date: Thu, 20 Feb 2020 15:41:31 +0100
Subject: [PATCH] [example] Improve C++ free-functions.cc

---
 examples/free-functions.cc          | 11 +++++++++--
 include/gepetto/viewer/corba/api.hh | 28 ++++++++++++++++++++++++++++
 2 files changed, 37 insertions(+), 2 deletions(-)
 create mode 100644 include/gepetto/viewer/corba/api.hh

diff --git a/examples/free-functions.cc b/examples/free-functions.cc
index 531151e..61c4cf7 100644
--- a/examples/free-functions.cc
+++ b/examples/free-functions.cc
@@ -8,6 +8,7 @@
 
 #include <gepetto/viewer/corba/client.hh>
 #include <gepetto/viewer/corba/conversions.hh>
+#include <gepetto/viewer/corba/api.hh>
 
 namespace gui = gepetto::viewer::corba;
 
@@ -16,15 +17,21 @@ int main(int, const char **)
     gui::connect ("windowName", true);
 
     if (gui::connected()) gui::gui()->createWindow("window1");
-    if (gui::connected()) gui::gui()->addSphere ("window1/sphere", 0.5f, gui::white);
+    // Draw a single point
+    if (gui::connected())
+      gui::gui()->addSphere ("window1/point", 0.005f, gui::white);
 
 #if __cplusplus >= 201103L
+    gui::applyConfiguration("window1/point",
+        gui::Transform { 0.f, 0.f, 0.f, 0.f, 0.f, 0.f, 1.f, });
+    gui::refresh();
+
     if (gui::connected()) gui::gui()->addCurve("window1/points",
         gepetto::viewer::corba::positionSeq ({ {0., 1., 0.}, {0., 1., 2.}, }),
         gui::green);
 #endif
 
-    if (gui::connected()) gui::gui()->refresh();
+    gui::refresh();
 
     return 0;
 }
diff --git a/include/gepetto/viewer/corba/api.hh b/include/gepetto/viewer/corba/api.hh
new file mode 100644
index 0000000..16e8de0
--- /dev/null
+++ b/include/gepetto/viewer/corba/api.hh
@@ -0,0 +1,28 @@
+#ifndef GEPETTO_VIEWER_CORBA_API_HH
+#define GEPETTO_VIEWER_CORBA_API_HH
+
+#include <gepetto/viewer/corba/client.hh>
+
+namespace gepetto {
+namespace viewer {
+namespace corba {
+
+#if __cplusplus >= 201103L
+void applyConfiguration(const char* name, corbaserver::Transform&& t)
+{
+  if (!connected()) return;
+  gui()->applyConfiguration(name, t);
+}
+#endif // __cplusplus > 201103L
+
+void refresh()
+{
+  if (!connected()) return;
+  gui()->refresh();
+}
+
+} //end of namespace corba
+} //end of namespace viewer
+} //end of namespace gepetto
+
+#endif // GEPETTO_VIEWER_CORBA_API_HH
-- 
GitLab