traits.h

Go to the documentation of this file.
00001 #ifndef KDLPV_TRAITS_H 
00002 #define KDLPV_TRAITS_H 
00003 
00004 #include "utility.h"
00005 
00006  
00007 // forwards declarations :
00008 namespace KDL {
00009    class Frame;
00010     class Rotation;
00011     class Vector;
00012     class Twist;
00013     class Wrench;
00014         class FrameVel;
00015         class RotationVel;
00016         class VectorVel;
00017         class TwistVel;
00018 }
00019 
00020 
00037 template <typename T>
00038 struct Traits {
00039         typedef T valueType;
00040         typedef T derivType;
00041 };
00042 
00043 template <>
00044 struct Traits<KDL::Frame> {
00045         typedef KDL::Frame valueType;
00046         typedef KDL::Twist derivType;
00047 };
00048 template <>
00049 struct Traits<KDL::Twist> {
00050         typedef KDL::Twist valueType;
00051         typedef KDL::Twist derivType;
00052 };
00053 template <>
00054 struct Traits<KDL::Wrench> {
00055         typedef KDL::Wrench valueType;
00056         typedef KDL::Wrench derivType;
00057 };
00058 
00059 template <>
00060 struct Traits<KDL::Rotation> {
00061         typedef KDL::Rotation valueType;
00062         typedef KDL::Vector derivType;
00063 };
00064 
00065 template <>
00066 struct Traits<KDL::Vector> {
00067         typedef KDL::Vector valueType;
00068         typedef KDL::Vector derivType;
00069 };
00070 
00071 template <>
00072 struct Traits<double> {
00073         typedef double valueType;
00074         typedef double derivType;
00075 };
00076 
00077 template <>
00078 struct Traits<float> {
00079         typedef float valueType;
00080         typedef float derivType;
00081 };
00082 
00083 template <>
00084 struct Traits<KDL::FrameVel> {
00085         typedef KDL::Frame valueType;
00086         typedef KDL::TwistVel derivType;
00087 };
00088 template <>
00089 struct Traits<KDL::TwistVel> {
00090         typedef KDL::Twist valueType;
00091         typedef KDL::TwistVel derivType;
00092 };
00093 
00094 template <>
00095 struct Traits<KDL::RotationVel> {
00096         typedef KDL::Rotation valueType;
00097         typedef KDL::VectorVel derivType;
00098 };
00099 
00100 template <>
00101 struct Traits<KDL::VectorVel> {
00102         typedef KDL::Vector valueType;
00103         typedef KDL::VectorVel derivType;
00104 };
00105 
00106 
00107 
00108 #endif
00109 
00110 
00111 

Generated on Wed Nov 23 19:00:49 2011 for FreeCAD by  doxygen 1.6.1