return ret;
}
+ForEachLoopDyn* Runtime::createForEachLoopDyn(const std::string& name,TypeCode * type)
+{
+ return new ForEachLoopDyn(name,type);
+}
+
OptimizerLoop* Runtime::createOptimizerLoop(const std::string& name,const std::string& algLib,const std::string& factoryName,bool algInitOnFile,
const std::string& kind, Proc * procForTypes)
{
class InPropertyPort;
class ForLoop;
class ForEachLoop;
+ class ForEachLoopDyn;
class OptimizerLoop;
class WhileLoop;
class Switch;
virtual WhileLoop* createWhileLoop(const std::string& name);
virtual ForLoop* createForLoop(const std::string& name);
virtual ForEachLoop* createForEachLoop(const std::string& name,TypeCode * type);
+ virtual ForEachLoopDyn* createForEachLoopDyn(const std::string& name,TypeCode * type);
virtual OptimizerLoop* createOptimizerLoop(const std::string& name,const std::string& algLib,
const std::string& factoryName,bool algInitOnFile,
const std::string& kind="", Proc * procForTypes = NULL);
%newobject *::createBloc;
%newobject *::createForLoop;
%newobject *::createForEachLoop;
+%newobject *::createForEachLoopDyn;
%newobject *::createWhileLoop;
%newobject *::createSwitch;
%newobject *::loadCatalog;
--- /dev/null
+import pilot
+import SALOMERuntime
+import loader
+
+SALOMERuntime.RuntimeSALOME.setRuntime()
+r=SALOMERuntime.getSALOMERuntime()
+p=r.createProc("prTest1")
+td=p.createType("double","double")
+ti=p.createType("int","int")
+cont=p.createContainer("gg","HPSalome")
+ti=p.createType("int","int")
+tsi=p.createSequenceTc("seqint","seqint",ti)
+# Level0
+n0=r.createScriptNode("","n0")
+o0=n0.edAddOutputPort("o0",tsi)
+n0.setScript("o0=[ elt for elt in range(6) ]")
+p.edAddChild(n0)
+n1=r.createForEachLoopDyn("n1",ti)
+n1.setWeight(3)
+n10=r.createScriptNode("","n10")
+n10.setExecutionMode("remote")
+n10.setContainer(cont)
+n1.edAddChild(n10)
+n10.setScript("""
+import time
+time.sleep(2)
+o2=2*i1
+""")
+n10.setWeight(4.)
+i1=n10.edAddInputPort("i1",ti)
+o2=n10.edAddOutputPort("o2",ti)
+p.edAddChild(n1)
+p.edAddLink(o0,n1.edGetSeqOfSamplesPort())
+p.edAddLink(n1.edGetSamplePort(),i1)
+p.edAddCFLink(n0,n1)
+n2=r.createScriptNode("","n2")
+n2.setScript("o4=i3")
+i3=n2.edAddInputPort("i3",tsi)
+o4=n2.edAddOutputPort("o4",tsi)
+n2.setScript("o4=i3")
+p.edAddChild(n2)
+p.edAddCFLink(n1,n2)
+p.edAddLink(o2,i3)
\ No newline at end of file