00001 #ifndef ROSTOOLFRAMEMANAGER_H 00002 #define ROSTOOLFRAMEMANAGER_H 00003 00004 #include "r2_msgs/ToolFrame.h" 00005 #include "robodyn_controllers/KdlTreeUtilities.h" 00006 #include "robodyn_utilities/RosMsgConverter.h" 00007 00008 class RosMsgToolFrameManager 00009 { 00010 public: 00011 typedef std::vector<RosMsgConverter::ToolFrame> ToolFrames; 00012 typedef ToolFrames::iterator ToolFrameItr; 00013 00014 RosMsgToolFrameManager(); 00015 virtual ~RosMsgToolFrameManager() {}; 00016 00017 void updateToolFrames(const r2_msgs::ToolFrame& toolFrameMsg, KdlTreeUtilities& tree); 00018 00019 protected: 00020 void setToolFrames(const r2_msgs::ToolFrame& toolFrameMsg, KdlTreeUtilities& tree); 00021 void resetToolFrames(const r2_msgs::ToolFrame& toolFrameMsg, KdlTreeUtilities& tree); 00022 void addToolFrames(const r2_msgs::ToolFrame& toolFrameMsg, KdlTreeUtilities& tree); 00023 void removeToolFrames(const r2_msgs::ToolFrame& toolFrameMsg, KdlTreeUtilities& tree); 00024 00025 private: 00026 ToolFrames toolFrameList; 00027 ToolFrames toolFrameListToAdd; 00028 ToolFrames toolFrameListToRemove; 00029 00030 }; 00031 00032 00033 #endif // ROSTOOLFRAMEMANAGER_H