rapid
A ROS robotics library.
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Pages
head.h
Go to the documentation of this file.
1 #ifndef _RAPID_MANIPULATION_HEAD_H_
2 #define _RAPID_MANIPULATION_HEAD_H_
3 
4 #include "geometry_msgs/PointStamped.h"
5 #include "gmock/gmock.h"
6 #include "pr2_controllers_msgs/PointHeadAction.h"
7 
9 
10 namespace rapid {
11 namespace manipulation {
13  public:
14  virtual ~HeadInterface() {}
15  virtual bool LookAt(const geometry_msgs::PointStamped& target) = 0;
16 };
17 
18 class Head : public HeadInterface {
19  public:
21  client);
22  // Look at the given point. If no frame_id is given, then default to a "head"
23  // frame: same orientation as base_footprint but position located near the
24  // head.
25  bool LookAt(const geometry_msgs::PointStamped& point);
26 
27  private:
29  client_;
30 };
31 
32 class MockHead : public HeadInterface {
33  public:
34  MOCK_METHOD1(LookAt, bool(const geometry_msgs::PointStamped& target));
35 };
36 } // namespace manipulation
37 } // namespace rapid
38 #endif // _RAPID_MANIPULATION_HEAD_H_
virtual bool LookAt(const geometry_msgs::PointStamped &target)=0
MOCK_METHOD1(LookAt, bool(const geometry_msgs::PointStamped &target))
bool LookAt(const geometry_msgs::PointStamped &point)
Head(rapid_ros::ActionClientInterface< pr2_controllers_msgs::PointHeadAction > *client)