TerraForge3D  2.3.1
3D Terrain And Landscape Generator
DuplicateNode.cpp
1#include "Generators/CPUNodeEditor/Nodes/DuplicateNode.h"
2#include "Base/ImGuiShapes.h"
3#include "Generators/CPUNodeEditor/CPUNodeEditor.h"
4#include <iostream>
5
6#include <mutex>
7
8
9NodeOutput DuplicateNode::Evaluate(NodeInputParam input, NodeEditorPin *pin)
10{
11 if(inputPins[0]->IsLinked())
12 return NodeOutput({ inputPins[0]->other->Evaluate(input) });
13 return NodeOutput({ 0.0f });
14}
15
16void DuplicateNode::Load(nlohmann::json data)
17{
18}
19
20nlohmann::json DuplicateNode::Save()
21{
22 nlohmann::json data;
23 data["type"] = MeshNodeEditor::MeshNodeType::Duplicate;
24 return data;
25}
26
27void DuplicateNode::OnRender()
28{
29 DrawHeader("Duplicate");
30 inputPins[0]->Render();
31 ImGui::Text("Value");
32 ImGui::Dummy(ImVec2(150, 20));
33 ImGui::SameLine();
34 ImGui::Text("Out 1");
35 outputPins[0]->Render();
36 ImGui::Dummy(ImVec2(150, 20));
37 ImGui::SameLine();
38 ImGui::Text("Out 2");
39 outputPins[1]->Render();
40 ImGui::Dummy(ImVec2(150, 20));
41 ImGui::SameLine();
42 ImGui::Text("Out 3");
43 outputPins[2]->Render();
44 ImGui::Dummy(ImVec2(150, 20));
45 ImGui::SameLine();
46 ImGui::Text("Out 4");
47 outputPins[3]->Render();
48}
49
50DuplicateNode::DuplicateNode()
51{
52 inputPins.push_back(new NodeEditorPin());
53 outputPins.push_back(new NodeEditorPin(NodeEditorPinType::Output));
54 outputPins.push_back(new NodeEditorPin(NodeEditorPinType::Output));
55 outputPins.push_back(new NodeEditorPin(NodeEditorPinType::Output));
56 outputPins.push_back(new NodeEditorPin(NodeEditorPinType::Output));
57 headerColor = ImColor(OP_NODE_COLOR);
58}
a class to store JSON values
Definition: json.hpp:17860