deargui-vpl/applications/nodehub/blocks/math_blocks.h
2026-02-03 18:25:25 +01:00

52 lines
1.4 KiB
C++

#pragma once
#include "block.h"
//#include "parameter.h"
// Example blocks - Math operations
class AddBlock : public ParameterizedBlock
{
public:
AddBlock(int id) : ParameterizedBlock(id, "Add")
{
SetTypeName("Math.Add");
m_Type = NodeType::Blueprint;
m_Color = ImColor(128, 195, 248);
}
void Build(Node& node, App* app) override;
int Run(Node& node, App* app) override;
NH_CSTRING GetBlockType() const override { return "Math.Add"; }
};
class MultiplyBlock : public ParameterizedBlock
{
public:
MultiplyBlock(int id) : ParameterizedBlock(id, "Multiply")
{
SetTypeName("Math.Multiply");
m_Type = NodeType::Blueprint;
m_Color = ImColor(128, 195, 248);
}
void Build(Node& node, App* app) override;
int Run(Node& node, App* app) override;
NH_CSTRING GetBlockType() const override { return "Math.Multiply"; }
};
class CompareBlock : public ParameterizedBlock
{
public:
CompareBlock(int id) : ParameterizedBlock(id, "Compare")
{
SetTypeName("Math.Compare");
m_Type = NodeType::Blueprint;
m_Color = ImColor(128, 195, 248);
}
void Build(Node& node, App* app) override;
int Run(Node& node, App* app) override;
NH_CSTRING GetBlockType() const override { return "Math.Compare"; }
};