void Executive::dump(std::ostream& out, const std::string& name) const { vpz::Vpz f; f.project().setAuthor(getModelName()); f.project().model().setModel(coupledmodel().clone()); f.project().dynamics().add(m_coordinator.dynamics()); f.project().experiment().addConditions(m_coordinator.conditions()); f.project().experiment().setName(name); f.project().experiment().setBegin(0.0); f.project().experiment().setDuration(1.0); if (not f.project().dynamics().exist("unknow")) { f.project().dynamics().add(vpz::Dynamic("unknow")); } // std::vector < vpz::AtomicModel* > lst; // vpz::BaseModel::getAtomicModelList(f.project().model().model(), lst); // for (std::vector < vpz::AtomicModel* >::iterator it = lst.begin(); // it != lst.end(); ++it) { // f.project().model().atomicModels().add( // *it, vpz::AtomicModelTemp("", "unknow", "")); // } f.write(out); delete f.project().model().model(); f.project().model().setModel(0); }
virtual void internalTransition(const vle::devs::Time& /*time*/) { if (mSended == false) { // Ajout des connexions mod�le coupl� -> mod�le sum const vle::vpz::ConnectionList& inputs = coupledmodel().getInputPortList(); vle::vpz::ConnectionList::const_iterator it; /* DEBUG : affiche les connections for (it = inputs.begin(); it != inputs.end(); ++it) { std::cout << "model: " << getModel().getParentName() << it->first << std::endl; }*/ for (it = inputs.begin(); it != inputs.end(); ++it) { if (it->first.size() >= 5 and it->first.compare(0, 5, "node-") == 0) { addInputPort("Deposition", it->first); addConnection(coupledmodelName(), it->first, "Deposition", it->first); mPortList.push_back(it->first); } } // Pour les mod�les sans d�pendances if (mPortList.empty()){ createModelFromClass("node-init", "node-init"); //delModel("Deposition"); removeConnection("Deposition", "update", "Unit", "in"); addConnection("node-init", "update", "Unit", "in"); } mSended = true; } else { mSended = false; } }
void Executive::dump(std::ostream &out, const std::string &name) const { vpz::Vpz f; f.project().setAuthor(getModelName()); f.project().model().setGraph( std::unique_ptr<vpz::BaseModel>(coupledmodel().clone())); f.project().dynamics().add(m_coordinator.dynamics()); f.project().experiment().addConditions(m_coordinator.conditions()); f.project().experiment().setName(name); f.project().experiment().setBegin(0.0); f.project().experiment().setDuration(1.0); if (not f.project().dynamics().exist("unknown")) { f.project().dynamics().add(vpz::Dynamic("unknown")); } f.write(out); }