1#include "Generators/CPUNodeEditor/Nodes/VisualizerNode.h"
2#include "Generators/CPUNodeEditor/CPUNodeEditor.h"
8#include "Base/ImGuiCurveEditor.h"
14 if (inputPins[0]->IsLinked())
16 return inputPins[0]->other->Evaluate(input);
29 data[
"type"] = MeshNodeEditor::MeshNodeType::Visualizer;
33void VisualizerNode::OnRender()
35 DrawHeader(
"Visualizer");
36 inputPins[0]->Render();
39 ImGui::Dummy(ImVec2(150, 10));
42 outputPins[0]->Render();
45 if (ImGui::Button(
"Update"))
47 if (outputPins[0]->IsLinked())
51 bool isIl = inputPins[0]->IsLinked();
54 for (
int i = 0; i < inputC.maxX; i++)
56 for (
int j = 0; j < inputC.maxY; j++)
63 map.push_back(inputPins[0]->other->Evaluate(p).value);
78 ShowMessageBox(
"Output pin must be connected in order to visualize",
"Error");
83 ImGui::Text(
"Right Click to visualize!");
87 ImGuiNodeEditor::Suspend();
89 if (ImGui::BeginPopupContextWindow(MAKE_IMGUI_LABEL(
id,
"Plot")))
91 ImGui::BeginChild(MAKE_IMGUI_LABEL(
id,
"PlotChild"), ImVec2(300, 300));
93 if (ImPlot::BeginPlot(MAKE_IMGUI_ID(
id)))
95 ImPlot::PlotHeatmap<float>(MAKE_IMGUI_ID(outputPins[0]->
id), map.data(), inputC.maxY, inputC.maxX);
103 ImGuiNodeEditor::Resume();
107VisualizerNode::VisualizerNode()
110 outputPins.push_back(
new NodeEditorPin(NodeEditorPinType::Output));
111 headerColor = ImColor(OP_NODE_COLOR);
a class to store JSON values