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(); +} +