TerraForge3D  2.3.1
3D Terrain And Landscape Generator
TextureCoordinatesNode.cpp
1#include "Generators/CPUNodeEditor/Nodes/TextureCoordinatesNode.h"
2#include "Generators/CPUNodeEditor/CPUNodeEditor.h"
3
4#include <iostream>
5
6NodeOutput TextureCoordinatesNode::Evaluate(NodeInputParam input, NodeEditorPin *pin)
7{
8 int id = pin->id;
9
10 if (outputPins[0]->id == id)
11 return NodeOutput({input.texX});
12 else if (outputPins[1]->id == id)
13 return NodeOutput({ input.texY});
14 return NodeOutput();
15}
16
17void TextureCoordinatesNode::Load(nlohmann::json data)
18{
19}
20
21nlohmann::json TextureCoordinatesNode::Save()
22{
23 nlohmann::json data;
24 data["type"] = MeshNodeEditor::MeshNodeType::TextureCoordinates;
25 return data;
26}
27
28void TextureCoordinatesNode::OnRender()
29{
30 DrawHeader("Texture Coordinates");
31 ImGui::Dummy(ImVec2(150, 10));
32 ImGui::SameLine();
33 ImGui::Text("X");
34 outputPins[0]->Render();
35 ImGui::Dummy(ImVec2(150, 10));
36 ImGui::SameLine();
37 ImGui::Text("Y");
38 outputPins[1]->Render();
39}
40
41TextureCoordinatesNode::TextureCoordinatesNode()
42{
43 headerColor = ImColor(VALUE_NODE_COLOR);
44 outputPins.push_back(new NodeEditorPin(NodeEditorPinType::Output));
45 outputPins.push_back(new NodeEditorPin(NodeEditorPinType::Output));
46}
a class to store JSON values
Definition: json.hpp:17860