00001 00046 #ifndef _JACO_TYPES_H_ 00047 #define _JACO_TYPES_H_ 00048 00049 #include <jaco_driver/KinovaTypes.h> 00050 #include <geometry_msgs/Pose.h> 00051 #include <jaco_driver/JointAngles.h> 00052 #include <jaco_driver/FingerPosition.h> 00053 00054 namespace jaco 00055 { 00056 00057 class JacoPose : public CartesianInfo 00058 { 00059 public: 00060 JacoPose() {} 00061 JacoPose(const geometry_msgs::Pose &); 00062 JacoPose(const CartesianInfo &); 00063 00064 geometry_msgs::Pose Pose(); 00065 bool Compare(const JacoPose &, float) const; 00066 00067 private: 00068 float Normalize(float); 00069 }; 00070 00071 class JacoAngles : public AngularInfo 00072 { 00073 public: 00074 JacoAngles() {} 00075 JacoAngles(const jaco_driver::JointAngles &); 00076 JacoAngles(const AngularInfo &); 00077 00078 jaco_driver::JointAngles Angles(); 00079 bool Compare(const JacoAngles &, float) const; 00080 00081 private: 00082 float Normalize(float); 00083 }; 00084 00085 00086 class FingerAngles : public FingersPosition 00087 { 00088 public: 00089 FingerAngles() {} 00090 FingerAngles(const jaco_driver::FingerPosition &); 00091 FingerAngles(const FingersPosition &); 00092 00093 jaco_driver::FingerPosition Fingers(); 00094 bool Compare(const FingerAngles &, float) const; 00095 }; 00096 00097 00098 } 00099 00100 #endif // _JACO_TYPES_H_