VRPNTrackerServer.hpp
Go to the documentation of this file.
00001 /*
00002  * VRPNTrackerServer.hpp
00003  *
00004  *  Created on: Jan 9, 2012
00005  *      Author: mriedel
00006  */
00007 
00008 #ifndef VRPNTRACKERSERVER_HPP_
00009 #define VRPNTRACKERSERVER_HPP_
00010 
00011 #include <telekyb_defines/telekyb_defines.hpp>
00012 #include <telekyb_vrpn/VRPNTrackerServerOptions.hpp>
00013 #include <geometry_msgs/TransformStamped.h>
00014 
00015 
00016 #include <vrpn_Connection.h>
00017 #include <vrpn_Tracker.h>
00018 
00019 #include <telekyb_base/Spaces/R3.hpp>
00020 
00021 namespace TELEKYB_NAMESPACE {
00022 
00023 class VRPNTrackerServer {
00024 protected:
00025         vrpn_Connection* c;
00026         vrpn_Tracker_Server* vts;
00027 
00028         vrpn_float64 position[3];
00029         vrpn_float64 rotation[4];
00030         timeval packageTime;
00031 
00032         ros::NodeHandle nodeHandle;
00033         ros::Subscriber sub;
00034         VRPNTrackerServerOptions& options;
00035 
00036         void transformStampedCallback(const geometry_msgs::TransformStamped::ConstPtr& msg);
00037         void setPose(const Position3D& rosPosition, const Quaternion& rosRotation);
00038         void sendPose();
00039 
00040 public:
00041         VRPNTrackerServer(const std::string& topicName_, vrpn_Connection* c_);
00042         virtual ~VRPNTrackerServer();
00043 
00044         void spin();
00045 
00046 
00047 };
00048 
00049 }
00050 
00051 #endif /* VRPNTRACKERSERVER_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