10 class DatasetProductProcessor
14 const Handler *dataset_product_handler;
15 const std::string name, processor;
18 std::map<std::string, params::EditableParameter> params;
21 nlohmann::json getParams()
24 for (
auto &p : params)
25 cfg[p.first] = p.second.getValue();
32 std::vector<products::Product *> pro;
33 for (
auto &h : dataset_handler->all_products)
34 if (h->instrument_name == v)
35 pro.push_back(h.get());
36 return index < pro.size() ? pro[index] :
nullptr;
39 void add_handler_to_products(std::shared_ptr<Handler> p)
42 ((
Handler *)dataset_product_handler)->addSubHandler(p);
46 DatasetProductProcessor(
DatasetHandler *dh,
Handler *dp, nlohmann::json p) : dataset_handler(dh), dataset_product_handler(dp), name(p[
"name"]), processor(p[
"processor"])
48 if (p.contains(
"cfg"))
52 virtual nlohmann::json getCfg()
57 cfg[
"processor"] = processor;
61 virtual bool can_process() = 0;
62 virtual void process(
float *progress =
nullptr) = 0;
63 virtual void renderUI() = 0;
67 if (ImGui::BeginTable(
"##pipelinesmainoptions", 2, ImGuiTableFlags_RowBg | ImGuiTableFlags_Borders))
69 ImGui::TableSetupColumn(
"##pipelinesmaincolumn1", ImGuiTableColumnFlags_None);
70 ImGui::TableSetupColumn(
"##pipelinesmaincolumn2", ImGuiTableColumnFlags_None);
72 for (
auto &p : params)