//
// Created by zx on 2019/12/30.
//

#include "locate_task.h"
#include <glog/logging.h>
Locate_task::Locate_task()
{
    m_task_type=LOCATE_TASK;
}
Locate_task::~Locate_task()
{

}

Error_manager Locate_task::set_locate_cloud(pcl::PointCloud<pcl::PointXYZ>::Ptr cloud)
{
    if(cloud.get()==0)
    {
        return Error_manager(LOCATER_TASK_INPUT_CLOUD_UNINIT,NORMAL,"locate task set input cloud uninit");
    }
    if(cloud->size()==0) {
        return Error_manager(LOCATER_TASK_INIT_CLOUD_EMPTY,NORMAL,"locate task input cloud is empty");
    }
    m_locate_cloud_ptr=cloud;
    return SUCCESS;
}

pcl::PointCloud<pcl::PointXYZ>::Ptr Locate_task::get_locate_cloud()
{
    return m_locate_cloud_ptr;
}

Locate_information Locate_task::get_locate_information()
{
    return m_locate_information;
}

Error_manager Locate_task::set_locate_information(Locate_information information)
{
    memcpy(&m_locate_information,&information,sizeof(Locate_information));
    return SUCCESS;
}

std::string Locate_task::get_save_path()
{
    return m_save_path;
}

Error_manager Locate_task::set_save_path(std::string path)
{
    m_save_path=path;
    return SUCCESS;
}