Fix FactoryGraphManager

This commit is contained in:
2025-10-13 15:29:41 +02:00
parent 3ebf1efe9d
commit e2d1a2da34
14 changed files with 34012 additions and 28854 deletions

View File

@@ -17,3 +17,4 @@ SET(FACTORY_CORE_CPP Base.cpp Combiner.hpp Conveyor.hpp ItemStock.cpp Machine.cp
ADD_LIBRARY(factory_core ${FACTORY_CORE_HPP} ${FACTORY_CORE_CPP})
TARGET_LINK_LIBRARIES(factory_core ${Boost_LIBRARIES} ${ARTIS_LIBRARIES})

View File

@@ -31,6 +31,7 @@
#include "JsonReader.hpp"
#include "PoolRouter.hpp"
#include "Router.hpp"
#include "Sink.hpp"
#include <artis-star/kernel/pdevs/GraphManager.hpp>
@@ -105,21 +106,20 @@ public:
break;
}
case SINK: {
// Gérer le Sink
auto new_sink = new SinkSimulator(
"M_" + std::to_string(m->pool_id) + "_" + std::to_string(m->machine_id),
SinkParameters{}
);
auto new_sink = new SinkSimulator(
"M_" + std::to_string(m->pool_id) + "_" + std::to_string(m->machine_id),
SinkParameters{}
);
_sinks.push_back(new_sink);
this->add_child(MACHINE + machine_index, new_sink);
_sinks.push_back(new_sink);
this->add_child(MACHINE + machine_index, new_sink);
// PoolRouter -> Sink
out({_pool_routers.back(), artis::factory::PoolRouter::outputs::OUT_M + m->machine_id})
>> in({new_sink, artis::factory::Sink::inputs::IN});
// PoolRouter -> Sink
out({_pool_routers.back(), artis::factory::PoolRouter::outputs::OUT_M + m->machine_id})
>> in({_sinks.back(), artis::factory::Sink::inputs::IN});
++machine_index;
break;
++machine_index;
break;
}
case SEPARATOR: {
// TODO
@@ -146,11 +146,13 @@ private:
typedef artis::pdevs::Simulator<artis::common::DoubleTime, artis::factory::Router, artis::factory::RouterParameters> RouterSimulator;
typedef artis::pdevs::Simulator<artis::common::DoubleTime, artis::factory::PoolRouter, artis::factory::PoolRouterParameters> PoolRouterSimulator;
typedef artis::pdevs::Simulator<artis::common::DoubleTime, artis::factory::Processor, artis::factory::ProcessorParameters> ProcessorSimulator;
typedef artis::pdevs::Simulator<artis::common::DoubleTime, artis::factory::Sink, artis::factory::SinkParameters> SinkSimulator;
GeneratorSimulator *_generator;
RouterSimulator *_router;
std::vector<PoolRouterSimulator *> _pool_routers;
std::vector<ProcessorSimulator *> _processors;
std::vector<SinkSimulator *> _sinks;
};
}