Fix FactoryGraphManager
This commit is contained in:
@@ -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})
|
||||
|
||||
|
||||
@@ -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;
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user