VRPNTrackerClient.hpp
Go to the documentation of this file.
00001 /*
00002  * VRPNTrackerClient.hpp
00003  *
00004  *  Created on: Dec 11, 2011
00005  *      Author: mriedel
00006  */
00007 
00008 #ifndef VRPNTRACKERCLIENT_HPP_
00009 #define VRPNTRACKERCLIENT_HPP_
00010 
00011 #include <ros/ros.h>
00012 #include <tf/transform_broadcaster.h>
00013 #include <vrpn_Tracker.h>
00014 
00015 #include <telekyb_defines/telekyb_defines.hpp>
00016 
00017 #include <geometry_msgs/TransformStamped.h>
00018 #include <geometry_msgs/PoseStamped.h>
00019 
00020 #include <telekyb_vrpn/VRPNTrackerClientOptions.hpp>
00021 
00022 namespace TELEKYB_NAMESPACE {
00023 
00024 // Forward declaration
00025 void VRPN_CALLBACK viconTracker_handleTracker(void* userData, const vrpn_TRACKERCB t );
00026 
00027 class VRPNTrackerClient {
00028 protected:
00029         ros::NodeHandle nodeHandle;
00030         ros::Publisher pub;
00031         geometry_msgs::PoseStamped poseStamped; // message
00032         std::string childFrameID;
00033 
00034         VRPNTrackerClientOptions& options; // Singleton. Initialized before!
00035 
00036         tf::TransformBroadcaster transBroadcaster;
00037 
00038         vrpn_Tracker_Remote* vrpnTracker;
00039 
00040         friend void VRPN_CALLBACK viconTracker_handleTracker(void* userData, const vrpn_TRACKERCB t );
00041 public:
00042         VRPNTrackerClient(const std::string& objectName_);
00043         virtual ~VRPNTrackerClient();
00044 
00045         void spin();
00046 
00047         void handleVRPNTrackerCB(const vrpn_TRACKERCB t);
00048 };
00049 
00050 } /* namespace telekyb */
00051 #endif /* VRPNTRACKERCLIENT_HPP_ */
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Friends


telekyb_vrpn
Author(s): Martin Riedel
autogenerated on Mon Nov 11 2013 11:14:04