From 83ac9c0c1fb3ab3dd9c09c7c702ddadee69e26ef Mon Sep 17 00:00:00 2001
From: Joseph Mirabel <jmirabel@laas.fr>
Date: Tue, 2 Aug 2016 13:39:07 +0200
Subject: [PATCH] [C++] Add missing forward declaration.

---
 src/multibody/fwd.hpp      | 7 +++++++
 src/spatial/force.hpp      | 2 --
 src/spatial/fwd.hpp        | 6 ++++++
 src/spatial/inertia.hpp    | 2 --
 src/spatial/motion.hpp     | 2 --
 src/spatial/se3.hpp        | 2 --
 src/spatial/symmetric3.hpp | 2 --
 7 files changed, 13 insertions(+), 10 deletions(-)

diff --git a/src/multibody/fwd.hpp b/src/multibody/fwd.hpp
index 4272cbb0a..24aa801cd 100644
--- a/src/multibody/fwd.hpp
+++ b/src/multibody/fwd.hpp
@@ -25,6 +25,13 @@ namespace se3
   typedef Index GeomIndex;
   typedef Index FrameIndex;
   
+  struct Frame;
+  struct Model;
+  struct Data;
+  struct GeometryModel;
+  struct GeometryData;
+  struct JointModel;
+  struct JointData;
 } // namespace se3
 
 #endif // #ifndef __se3_multibody_fwd_hpp__
diff --git a/src/spatial/force.hpp b/src/spatial/force.hpp
index 3e9da5fca..0b7fd37ad 100644
--- a/src/spatial/force.hpp
+++ b/src/spatial/force.hpp
@@ -208,8 +208,6 @@ namespace se3
 
   }; // class ForceTpl
 
-  typedef ForceTpl<double,0> Force;
-
 } // namespace se3
 
 #endif // ifndef __se3_force_hpp__
diff --git a/src/spatial/fwd.hpp b/src/spatial/fwd.hpp
index 51d224b0b..c3ee85e65 100644
--- a/src/spatial/fwd.hpp
+++ b/src/spatial/fwd.hpp
@@ -29,6 +29,12 @@ namespace se3
   template<typename _Scalar, int _Options=0> class InertiaTpl;
   template<typename _Scalar, int _Options=0> class Symmetric3Tpl;
 
+  typedef SE3Tpl        <double,0> SE3;
+  typedef MotionTpl     <double,0> Motion;
+  typedef ForceTpl      <double,0> Force;
+  typedef InertiaTpl    <double,0> Inertia;
+  typedef Symmetric3Tpl <double,0> Symmetric3;
+
   template<class C> struct traits {};
 
   #define SPATIAL_TYPEDEF_TEMPLATE(derived)              \
diff --git a/src/spatial/inertia.hpp b/src/spatial/inertia.hpp
index 1d21cbdec..c6fe711b4 100644
--- a/src/spatial/inertia.hpp
+++ b/src/spatial/inertia.hpp
@@ -341,8 +341,6 @@ namespace se3
     Symmetric3 I;
     
   }; // class InertiaTpl
-
-  typedef InertiaTpl<double,0> Inertia;
     
 } // namespace se3
 
diff --git a/src/spatial/motion.hpp b/src/spatial/motion.hpp
index 999897f06..a15b3df42 100644
--- a/src/spatial/motion.hpp
+++ b/src/spatial/motion.hpp
@@ -247,8 +247,6 @@ namespace se3
   template<typename S,int O>
   ForceTpl<S,O> operator^( const MotionTpl<S,O> &m, const ForceTpl<S,O> &f ) { return m.cross(f); }
 
-  typedef MotionTpl<double,0> Motion;
-
 
   ///////////////   BiasZero  ///////////////
   struct BiasZero;
diff --git a/src/spatial/se3.hpp b/src/spatial/se3.hpp
index 162fd87c7..116b35ae8 100644
--- a/src/spatial/se3.hpp
+++ b/src/spatial/se3.hpp
@@ -301,8 +301,6 @@ namespace se3
     
   }; // class SE3Tpl
 
-  typedef SE3Tpl<double,0> SE3;
-
 } // namespace se3
 
 #endif // ifndef __se3_se3_hpp__
diff --git a/src/spatial/symmetric3.hpp b/src/spatial/symmetric3.hpp
index f63f52795..7b61ecfb5 100644
--- a/src/spatial/symmetric3.hpp
+++ b/src/spatial/symmetric3.hpp
@@ -337,8 +337,6 @@ namespace se3
     
   };
 
-  typedef Symmetric3Tpl<double,0> Symmetric3;
-
 } // namespace se3
 
 #endif // ifndef __se3__symmetric3_hpp__
-- 
GitLab