/*
 * paused.hpp
 *
 *  Created on: 16/06/2013
 *      Author: timothyw
 */

#ifndef VICTIMID_STATE_CENTRE_BLOB_HPP_
#define VICTIMID_STATE_CENTRE_BLOB_HPP_

#include "victim_id/state.hpp"

#include "victim_id/skills/skillLookAt.hpp"
#include "victim_id/skills/skillLookTrack.hpp"

#define VID_STATE_CENTRE_BLOB    "state_centre_blob"

namespace casualty {

class VIDSCentreBlob : public VIDState {
public:
    VIDSCentreBlob();
    ~VIDSCentreBlob() {};

protected:
    VIDSReturnDataPtr doExecute(VIDDataPtr data);

    Point3D blobPos;            // Blob that we are centering on in the reference frame of the robot
    std::string blobFrame;      // Frame of the blob pos
    ros::Time start;            // Time since we started trying to centre

    VIDSkillLookTrackPtr lastTrack;        // Last instance of the track skill (if we continue)
    VIDSkillLookAtPtr lastLookAt;        // Last instance of the track skill (if we continue)
};

} // namespace casualty

#endif /* VICTIMID_STATE_CENTRE_BLOB_HPP_ */
