feat: add network manager and GeometryOperator

This commit is contained in:
parker
2025-07-03 18:41:36 +01:00
parent 503ca43713
commit a255b9a37c
7 changed files with 73 additions and 0 deletions

View File

@@ -55,8 +55,12 @@ target_include_directories(${AppExec} PUBLIC src)
add_executable(${TestExec} add_executable(${TestExec}
tests/main-tests.cpp tests/main-tests.cpp
tests/OperatorTests.cpp tests/OperatorTests.cpp
tests/NetworkTests.cpp
src/Engine/Operator/Attribute.cpp src/Engine/Operator/Attribute.cpp
src/Engine/Operator/Geometry.cpp src/Engine/Operator/Geometry.cpp
src/Engine/Operator/GeometryOperator.cpp
src/Engine/Network/NetworkManager.cpp
) )
find_package(Catch2 3 REQUIRED) find_package(Catch2 3 REQUIRED)
target_link_libraries(${TestExec} PRIVATE Catch2::Catch2WithMain Eigen3::Eigen) target_link_libraries(${TestExec} PRIVATE Catch2::Catch2WithMain Eigen3::Eigen)

View File

@@ -0,0 +1,14 @@
#include "Engine/Network/NetworkManager.h"
#include "Engine/Operator/GeometryOperator.h"
#include <iostream>
#include <memory>
bool enzo::nt::NetworkManager::addOperator()
{
gopStore_.emplace(++maxOpId_, std::make_unique<GeometryOperator>());
std::cout << "adding operator\n";
return true;
}

View File

@@ -0,0 +1,17 @@
#pragma once
#include "Engine/Operator/GeometryOperator.h"
#include "Engine/Types.h"
#include <memory>
#include <unordered_map>
namespace enzo::nt {
class NetworkManager
{
public:
bool addOperator();
private:
std::unordered_map<enzo::nt::OpId, std::unique_ptr<enzo::nt::GeometryOperator>> gopStore_;
enzo::nt::OpId maxOpId_=0;
};
}

View File

@@ -0,0 +1,9 @@
#include "Engine/Operator/GeometryOperator.h"
#include <cstdint>
using namespace enzo;
nt::GeometryOperator::GeometryOperator()
{
}

View File

@@ -0,0 +1,15 @@
#pragma once
#include "Engine/Types.h"
namespace enzo::nt {
class GeometryOperator
{
public:
GeometryOperator();
// nodeDef
private:
};
}

View File

@@ -29,4 +29,8 @@ namespace enzo
using Vector3 = Eigen::Vector3d; using Vector3 = Eigen::Vector3d;
using Vector4 = Eigen::Vector4d; using Vector4 = Eigen::Vector4d;
} }
namespace nt
{
using OpId = uint64_t;
}
} }

10
tests/NetworkTests.cpp Normal file
View File

@@ -0,0 +1,10 @@
#include <catch2/catch_test_macros.hpp>
#include "Engine/Network/NetworkManager.h"
TEST_CASE("network")
{
enzo::nt::NetworkManager networkManager;
networkManager.addOperator();
}