From a255b9a37c2170cb143ea8170754a7b8cf19c300 Mon Sep 17 00:00:00 2001 From: parker Date: Thu, 3 Jul 2025 18:41:36 +0100 Subject: [PATCH] feat: add network manager and GeometryOperator --- CMakeLists.txt | 4 ++++ src/Engine/Network/NetworkManager.cpp | 14 ++++++++++++++ src/Engine/Network/NetworkManager.h | 17 +++++++++++++++++ src/Engine/Operator/GeometryOperator.cpp | 9 +++++++++ src/Engine/Operator/GeometryOperator.h | 15 +++++++++++++++ src/Engine/Types.h | 4 ++++ tests/NetworkTests.cpp | 10 ++++++++++ 7 files changed, 73 insertions(+) create mode 100644 src/Engine/Network/NetworkManager.cpp create mode 100644 src/Engine/Network/NetworkManager.h create mode 100644 src/Engine/Operator/GeometryOperator.cpp create mode 100644 src/Engine/Operator/GeometryOperator.h create mode 100644 tests/NetworkTests.cpp diff --git a/CMakeLists.txt b/CMakeLists.txt index 7e56fbf..cd995a3 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -55,8 +55,12 @@ target_include_directories(${AppExec} PUBLIC src) add_executable(${TestExec} tests/main-tests.cpp tests/OperatorTests.cpp + tests/NetworkTests.cpp + src/Engine/Operator/Attribute.cpp src/Engine/Operator/Geometry.cpp + src/Engine/Operator/GeometryOperator.cpp + src/Engine/Network/NetworkManager.cpp ) find_package(Catch2 3 REQUIRED) target_link_libraries(${TestExec} PRIVATE Catch2::Catch2WithMain Eigen3::Eigen) diff --git a/src/Engine/Network/NetworkManager.cpp b/src/Engine/Network/NetworkManager.cpp new file mode 100644 index 0000000..d61400d --- /dev/null +++ b/src/Engine/Network/NetworkManager.cpp @@ -0,0 +1,14 @@ +#include "Engine/Network/NetworkManager.h" +#include "Engine/Operator/GeometryOperator.h" +#include +#include + +bool enzo::nt::NetworkManager::addOperator() +{ + + gopStore_.emplace(++maxOpId_, std::make_unique()); + std::cout << "adding operator\n"; + + return true; +} + diff --git a/src/Engine/Network/NetworkManager.h b/src/Engine/Network/NetworkManager.h new file mode 100644 index 0000000..902c9a9 --- /dev/null +++ b/src/Engine/Network/NetworkManager.h @@ -0,0 +1,17 @@ +#pragma once +#include "Engine/Operator/GeometryOperator.h" +#include "Engine/Types.h" +#include +#include + +namespace enzo::nt { +class NetworkManager +{ +public: + bool addOperator(); +private: + std::unordered_map> gopStore_; + enzo::nt::OpId maxOpId_=0; + +}; +} diff --git a/src/Engine/Operator/GeometryOperator.cpp b/src/Engine/Operator/GeometryOperator.cpp new file mode 100644 index 0000000..5d2a7bc --- /dev/null +++ b/src/Engine/Operator/GeometryOperator.cpp @@ -0,0 +1,9 @@ +#include "Engine/Operator/GeometryOperator.h" +#include + +using namespace enzo; + +nt::GeometryOperator::GeometryOperator() +{ +} + diff --git a/src/Engine/Operator/GeometryOperator.h b/src/Engine/Operator/GeometryOperator.h new file mode 100644 index 0000000..f12013a --- /dev/null +++ b/src/Engine/Operator/GeometryOperator.h @@ -0,0 +1,15 @@ +#pragma once +#include "Engine/Types.h" + +namespace enzo::nt { + +class GeometryOperator +{ +public: + GeometryOperator(); + // nodeDef + +private: + +}; +} diff --git a/src/Engine/Types.h b/src/Engine/Types.h index 9b1cca8..1d3a83b 100644 --- a/src/Engine/Types.h +++ b/src/Engine/Types.h @@ -29,4 +29,8 @@ namespace enzo using Vector3 = Eigen::Vector3d; using Vector4 = Eigen::Vector4d; } + namespace nt + { + using OpId = uint64_t; + } } diff --git a/tests/NetworkTests.cpp b/tests/NetworkTests.cpp new file mode 100644 index 0000000..60f3aa4 --- /dev/null +++ b/tests/NetworkTests.cpp @@ -0,0 +1,10 @@ +#include +#include "Engine/Network/NetworkManager.h" + + +TEST_CASE("network") +{ + enzo::nt::NetworkManager networkManager; + networkManager.addOperator(); +} +