/*
 * flipper_plugin.h
 *
 * Gazebo plugin to listen to joint controls and publish to transmission the joint states
 *
 *  Created on: 17 Oct 2014
 *      Author: timothyw
 */

#ifndef NEGOTIATOR_GAZEBO_ICP_NODE_H_
#define NEGOTIATOR_GAZEBO_ICP_NODE_H_

#include <ros/ros.h>
#include <gazebo_msgs/ModelStates.h>
#include <tf/transform_broadcaster.h>

namespace casualty {
namespace gazebo {

class ICPGazebo {
private:
    ros::Subscriber modelStateSub;
    tf::TransformBroadcaster tfBroadcast;

public:
    ICPGazebo();
    ~ICPGazebo();

    void start();
    void stop();

    // Subscriber callback
    void callbackModelStates(gazebo_msgs::ModelStatesPtr modelStates);
};

} // namespace gazebo
} // namespace casualty

#endif /* NEGOTIATOR_GAZEBO_ICP_NODE_H_ */
