Libbarrett  1.2.4
include/barrett/math/dynamics.h
00001 /*
00002  * dynamics.h
00003  *
00004  *  Created on: Nov 9, 2011
00005  *      Author: dc
00006  */
00007 
00008 #ifndef BARRETT_MATH_DYNAMICS_H_
00009 #define BARRETT_MATH_DYNAMICS_H_
00010 
00011 
00012 #include <libconfig.h++>
00013 #include <boost/tuple/tuple.hpp>
00014 
00015 #include <barrett/detail/ca_macro.h>
00016 #include <barrett/units.h>
00017 #include <barrett/math/kinematics.h>
00018 
00019 
00020 // forward declaration from <barrett/cdlbt/dynamics.h>
00021 struct bt_dynamics;
00022 
00023 
00024 namespace barrett {
00025 namespace math {
00026 
00027 
00028 template<size_t DOF>
00029 class Dynamics {
00030         BARRETT_UNITS_TEMPLATE_TYPEDEFS(DOF);
00031 
00032 public:
00033         Dynamics(const libconfig::Setting& setting);
00034         ~Dynamics();
00035 
00036         const jt_type& evalInverse(const Kinematics<DOF>& kin, const jv_type& jv, const ja_type& ja);
00037 
00038 //      typedef const jt_type& result_type;  ///< For use with boost::bind().
00039 //      result_type operator() (const boost::tuple<jv_type, ja_type>& jointState);
00040 
00041 protected:
00042         struct bt_dynamics* impl;
00043         jt_type jt;
00044 
00045 private:
00046         DISALLOW_COPY_AND_ASSIGN(Dynamics);
00047 };
00048 
00049 
00050 }
00051 }
00052 
00053 
00054 // include template definitions
00055 #include <barrett/math/detail/dynamics-inl.h>
00056 
00057 
00058 #endif /* BARRETT_MATH_DYNAMICS_H_ */
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Defines