#pragma once

#include <cstdint>
#include <string>
#include <vector>
#include<array>
using namespace std;
namespace img_dev{
    class ImgCfg{
    public:
        ImgCfg() = default;
        ImgCfg(const string& source, const string& type,const string& position,const string& c_img_topic, const string& d_img_topic){
                this->source = source;
                this->type = type;
                this->position = position;
                this->c_img_topic = c_img_topic;
                this->d_img_topic = d_img_topic;
                this->k_arr.clear();
                this->d_arr.clear();
                this->arr_copy=0;
            };
        ImgCfg(const ImgCfg& other) = default;
        ImgCfg(ImgCfg&& other) = default;
        ImgCfg& operator=(const ImgCfg& other) = default;
        ImgCfg& operator=(ImgCfg&& other) = default;
        string str() const{
            return "soure:"+source+",topic:"+c_img_topic+"&"+d_img_topic;
        }
        string getColorTopic() const{
            return c_img_topic;
        }
        string getDepthTopic() const{
            return d_img_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 c_img_topic;
        string d_img_topic;
        
        
    };
}