#pragma once

#include <cstdint>
#include <string>
#include <vector>
#include<array>
using namespace std;
namespace dist_dev{
    class DistCfg{
    public:
        DistCfg() = default;
        DistCfg(const string& source, const string& type,const string& position,const string& ltopic, const string& itopic){
                this->source = source;
                this->type = type;
                this->position = position;
                this->lidar_topic = ltopic;
                this->imu_topic = itopic;
                this->arr_copy=0;
            };
        DistCfg(const DistCfg& other) = default;
        DistCfg(DistCfg&& other) = default;
        DistCfg& operator=(const DistCfg& other) = default;
        DistCfg& operator=(DistCfg&& other) = default;
        string str() const{
            return "soure:"+source+",topic:"+lidar_topic+"&"+imu_topic;
        }
        string getLidarTopic() const{
            return lidar_topic;
        }
        string getImuTopic() const{
            return imu_topic; 
        }
        string getPosition() const{
            return position;
        }
        string getType() const{
            return type;
        }
        string getSource() const{
            return source;
        }
        int arr_copy;
        vector<double> k_arr;
        vector<double> d_arr;
    private:
        string source;
        string position;
        string type;
        string lidar_topic;
        string imu_topic;
        
    };
}