fix: remove duplicate inputs in engine, add icecream for debugging

This commit is contained in:
parker
2025-07-28 18:03:17 +01:00
parent 93fe708646
commit 7347db34ea
5 changed files with 5905 additions and 9 deletions

1
.gitattributes vendored Normal file
View File

@@ -0,0 +1 @@
extern/* linguist-vendored

View File

@@ -50,6 +50,10 @@ set(GUI_SOURCES
src/Gui/Parameters/AbstractFormParm.cpp src/Gui/Parameters/AbstractFormParm.cpp
src/Gui/Parameters/FloatParm.cpp src/Gui/Parameters/FloatParm.cpp
) )
set(ENGINE_INCLUDE_DIRECTORIES
src
extern/icecream-cpp/include
)
# qt # qt
find_package(Qt6 REQUIRED COMPONENTS Core Widgets SvgWidgets OpenGLWidgets) find_package(Qt6 REQUIRED COMPONENTS Core Widgets SvgWidgets OpenGLWidgets)
@@ -75,7 +79,9 @@ qt_add_executable(${AppExec}
) )
target_link_libraries(${AppExec} PRIVATE Qt6::Core Qt6::Widgets Qt6::SvgWidgets Qt6::OpenGLWidgets glm::glm Eigen3::Eigen TBB::tbb Boost::filesystem Boost::system) target_link_libraries(${AppExec} PRIVATE Qt6::Core Qt6::Widgets Qt6::SvgWidgets Qt6::OpenGLWidgets glm::glm Eigen3::Eigen TBB::tbb Boost::filesystem Boost::system)
target_include_directories(${AppExec} PUBLIC src) target_include_directories(${AppExec} PUBLIC
${ENGINE_INCLUDE_DIRECTORIES}
)
# compile nodes # compile nodes
add_subdirectory(src/OpDefs) add_subdirectory(src/OpDefs)
@@ -100,7 +106,7 @@ add_executable(${TestExec}
target_link_libraries(${TestExec} PRIVATE Catch2::Catch2WithMain Eigen3::Eigen Qt6::Core TBB::tbb Boost::filesystem Boost::system) target_link_libraries(${TestExec} PRIVATE Catch2::Catch2WithMain Eigen3::Eigen Qt6::Core TBB::tbb Boost::filesystem Boost::system)
target_compile_definitions(${TestExec} PRIVATE UNIT_TEST) target_compile_definitions(${TestExec} PRIVATE UNIT_TEST)
target_include_directories(${TestExec} PUBLIC target_include_directories(${TestExec} PUBLIC
src ${ENGINE_INCLUDE_DIRECTORIES}
${BOOST_INCLUDE_DIRS} ${BOOST_INCLUDE_DIRS}
) )
@@ -112,5 +118,7 @@ add_executable(${BenchExec}
) )
target_link_libraries(${BenchExec} PRIVATE Catch2::Catch2WithMain Eigen3::Eigen Qt6::Core TBB::tbb Boost::filesystem Boost::system) target_link_libraries(${BenchExec} PRIVATE Catch2::Catch2WithMain Eigen3::Eigen Qt6::Core TBB::tbb Boost::filesystem Boost::system)
target_compile_definitions(${BenchExec} PRIVATE UNIT_TEST) target_compile_definitions(${BenchExec} PRIVATE UNIT_TEST)
target_include_directories(${BenchExec} PUBLIC src) target_include_directories(${BenchExec} PUBLIC
${ENGINE_INCLUDE_DIRECTORIES}
)

5865
extern/icecream-cpp/include/icecream.hpp vendored Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -6,6 +6,7 @@
#include "Engine/Parameter/Parameter.h" #include "Engine/Parameter/Parameter.h"
#include "Engine/Parameter/Template.h" #include "Engine/Parameter/Template.h"
#include <iostream> #include <iostream>
#include "icecream.hpp"
using namespace enzo; using namespace enzo;
@@ -66,11 +67,29 @@ geo::Geometry& enzo::nt::GeometryOperator::getOutputGeo(unsigned outputIndex)
return opDef_->getOutputGeo(outputIndex); return opDef_->getOutputGeo(outputIndex);
} }
void nt::GeometryOperator::addInputConnection(std::shared_ptr<nt::GeometryConnection> connection) void nt::GeometryOperator::addInputConnection(std::shared_ptr<nt::GeometryConnection> newConnection)
{ {
std::cout << "Input connection added\nConnecting ops " << connection->getInputOpId() << " -> " << connection->getOutputOpId() << "\n"; // delete previous input
std::cout << "Connecting index " << connection->getInputIndex() << " -> " << connection->getOutputIndex() << "\n"; IC();
inputConnections_.push_back(connection); for(auto it=inputConnections_.begin(); it!=inputConnections_.end();)
{
IC();
if((*it)->getOutputIndex()==newConnection->getOutputIndex())
{
IC();
inputConnections_.erase(it);
}
else
{
++it;
}
}
IC();
std::cout << "Input newConnection added\nConnecting ops " << newConnection->getInputOpId() << " -> " << newConnection->getOutputOpId() << "\n";
std::cout << "Connecting index " << newConnection->getInputIndex() << " -> " << newConnection->getOutputIndex() << "\n";
// add new newConnection
inputConnections_.push_back(newConnection);
std::cout << "size: " << inputConnections_.size() << "\n"; std::cout << "size: " << inputConnections_.size() << "\n";
} }

View File

@@ -26,5 +26,8 @@ target_link_libraries(${libName} PRIVATE Qt6::Core Qt6::Widgets Qt6::SvgWidgets
MESSAGE("CURRENT SOURCE DIR" ${CMAKE_CURRENT_SOURCE_DIR}) MESSAGE("CURRENT SOURCE DIR" ${CMAKE_CURRENT_SOURCE_DIR})
target_include_directories(${libName} PUBLIC ../) target_include_directories(${libName} PUBLIC
target_include_directories(${libName} PUBLIC .) ../
.
../../extern/icecream-cpp/include
)