implementation-of-MacroNodes-2004-06-25'.
Sprout from V1_4_1a 2004-05-21 13:53:40 UTC smh <smh@opencascade.com> 'For possibility to edit incorrect python function'
Delete:
INSTALL
LICENCE
Makefile.in
adm_local/unix/config_files/README
adm_local/unix/make_commence.in
adm_local/unix/make_omniorb.in
bin/VERSION
build_configure
configure.in.base
doc/Makefile.in
doc/html/INPUT/HTML/AddComponent.html
doc/html/INPUT/HTML/DivComponent.html
doc/html/INPUT/HTML/FactorialComponent.html
doc/html/INPUT/HTML/MulComponent.html
doc/html/INPUT/HTML/NPMatComponent.html
doc/html/INPUT/HTML/NPSolveComponent.html
doc/html/INPUT/HTML/NPVecComponent.html
doc/html/INPUT/HTML/SUPERV.html
doc/html/INPUT/HTML/SubComponent.html
doc/html/INPUT/HTML/SyrComponent.html
doc/html/INPUT/HTML/SyrControlComponent.html
doc/html/INPUT/doxyfile
doc/html/INPUT/sources/Application-About.png
doc/html/INPUT/sources/Application-About1.jpg
doc/html/INPUT/sources/application.gif
doc/html/INPUT/sources/application.jpg
doc/html/INPUT/sources/bg_salome.gif
doc/html/INPUT/sources/logocorp.gif
doc/html/INPUT/sources/myheader.html
doc/html/INPUT/sources/occ.gif
doc/html/INPUT/sources/static/doxygen.css
doc/html/INPUT/sources/static/examples_SUPERV.html
doc/html/INPUT/sources/static/nodestypes.jpg
doc/html/INPUT/sources/static/overview_Supervision.html
doc/html/INPUT/sources/static/page2.html
doc/html/INPUT/sources/static/tree.js
doc/html/INPUT/sources/static/treeview.js
doc/html/Makefile.in
doc/salome/Makefile.in
doc/salome/SUPERV_index.html
doc/salome/gui/Makefile.in
doc/salome/gui/SUPERV/SUPERVISION.log
doc/salome/gui/SUPERV/comp1.jpg
doc/salome/gui/SUPERV/cshdat_robohelp.htm
doc/salome/gui/SUPERV/cshdat_webhelp.htm
doc/salome/gui/SUPERV/default.css
doc/salome/gui/SUPERV/default.skn
doc/salome/gui/SUPERV/default_ns.css
doc/salome/gui/SUPERV/ehlpdhtm.js
doc/salome/gui/SUPERV/files/about_nodes.htm
doc/salome/gui/SUPERV/files/adding_information_about_graphs.htm
doc/salome/gui/SUPERV/files/adding_links_from_an_output_port.htm
doc/salome/gui/SUPERV/files/adding_node_ports.htm
doc/salome/gui/SUPERV/files/adding_nodes.htm
doc/salome/gui/SUPERV/files/changing_node_description.htm
doc/salome/gui/SUPERV/files/changing_view_mode.htm
doc/salome/gui/SUPERV/files/computation_nodes.htm
doc/salome/gui/SUPERV/files/controlling_execution_of_the_graphs.htm
doc/salome/gui/SUPERV/files/copying_graphs.htm
doc/salome/gui/SUPERV/files/creating_a_new_graph.htm
doc/salome/gui/SUPERV/files/deleting_links.htm
doc/salome/gui/SUPERV/files/deleting_nodes.htm
doc/salome/gui/SUPERV/files/directing_dataflow_between_nodes.htm
doc/salome/gui/SUPERV/files/editing_imported_graphs.htm
doc/salome/gui/SUPERV/files/editing_node_function.htm
doc/salome/gui/SUPERV/files/exporting_graphs.htm
doc/salome/gui/SUPERV/files/filtering_and_storing_output_messages.htm
doc/salome/gui/SUPERV/files/goto_nodes.htm
doc/salome/gui/SUPERV/files/importing_graphs_from_file.htm
doc/salome/gui/SUPERV/files/inserting_graphs.htm
doc/salome/gui/SUPERV/files/introduction_to_supervisor.htm
doc/salome/gui/SUPERV/files/loop_nodes.htm
doc/salome/gui/SUPERV/files/modifying_links.htm
doc/salome/gui/SUPERV/files/opening_graphs_referenced_in_the_study.htm
doc/salome/gui/SUPERV/files/placing_nodes_in_the_window.htm
doc/salome/gui/SUPERV/files/points_in_links.htm
doc/salome/gui/SUPERV/files/referencing_output_values_in_the_study.htm
doc/salome/gui/SUPERV/files/reloading_dataflow.htm
doc/salome/gui/SUPERV/files/renaming_nodes.htm
doc/salome/gui/SUPERV/files/running_dataflow.htm
doc/salome/gui/SUPERV/files/running_supervisor.htm
doc/salome/gui/SUPERV/files/setting_input_parameters.htm
doc/salome/gui/SUPERV/files/step-by-step_execution.htm
doc/salome/gui/SUPERV/files/switch_nodes.htm
doc/salome/gui/SUPERV/files/usage_of_supervisor_module.htm
doc/salome/gui/SUPERV/files/viewing_output_vaues.htm
doc/salome/gui/SUPERV/i_blue.jpg
doc/salome/gui/SUPERV/image3.gif
doc/salome/gui/SUPERV/loop1.jpg
doc/salome/gui/SUPERV/note1.gif
doc/salome/gui/SUPERV/pics/addnode1.jpg
doc/salome/gui/SUPERV/pics/addnode2.jpg
doc/salome/gui/SUPERV/pics/browsenode.jpg
doc/salome/gui/SUPERV/pics/browseport.jpg
doc/salome/gui/SUPERV/pics/control.jpg
doc/salome/gui/SUPERV/pics/description.jpg
doc/salome/gui/SUPERV/pics/filter.jpg
doc/salome/gui/SUPERV/pics/full.jpg
doc/salome/gui/SUPERV/pics/graphex.jpg
doc/salome/gui/SUPERV/pics/kill.jpg
doc/salome/gui/SUPERV/pics/links.jpg
doc/salome/gui/SUPERV/pics/loopfunctions.jpg
doc/salome/gui/SUPERV/pics/nodedescription.jpg
doc/salome/gui/SUPERV/pics/nodestypes.jpg
doc/salome/gui/SUPERV/pics/reference.jpg
doc/salome/gui/SUPERV/pics/reload.jpg
doc/salome/gui/SUPERV/pics/runicn.jpg
doc/salome/gui/SUPERV/pics/setval.jpg
doc/salome/gui/SUPERV/pics/stepbystep.jpg
doc/salome/gui/SUPERV/pics/supwind.jpg
doc/salome/gui/SUPERV/pics/tablemode.jpg
doc/salome/gui/SUPERV/ss_btn_related_topics.gif
doc/salome/gui/SUPERV/supervision.html
doc/salome/gui/SUPERV/supervision_csh.html
doc/salome/gui/SUPERV/supervision_rhc.html
doc/salome/gui/SUPERV/supervisor(eng)_image10.gif
doc/salome/gui/SUPERV/supervisor(eng)_image13.gif
doc/salome/gui/SUPERV/supervisor(eng)_image15.gif
doc/salome/gui/SUPERV/supervisor(eng)_image4.gif
doc/salome/gui/SUPERV/supervisor(eng)_image6.gif
doc/salome/gui/SUPERV/switch.jpg
doc/salome/gui/SUPERV/texture_horiz_ltbluebubbles.jpg
doc/salome/gui/SUPERV/tip1.gif
doc/salome/gui/SUPERV/webhelp.cab
doc/salome/gui/SUPERV/webhelp.jar
doc/salome/gui/SUPERV/whdata/whftdata.js
doc/salome/gui/SUPERV/whdata/whftdata0.htm
doc/salome/gui/SUPERV/whdata/whftdata0.xml
doc/salome/gui/SUPERV/whdata/whfts.htm
doc/salome/gui/SUPERV/whdata/whfts.js
doc/salome/gui/SUPERV/whdata/whfts.xml
doc/salome/gui/SUPERV/whdata/whfwdata.js
doc/salome/gui/SUPERV/whdata/whfwdata0.htm
doc/salome/gui/SUPERV/whdata/whfwdata0.xml
doc/salome/gui/SUPERV/whdata/whgdata.js
doc/salome/gui/SUPERV/whdata/whgdata0.htm
doc/salome/gui/SUPERV/whdata/whgdata0.xml
doc/salome/gui/SUPERV/whdata/whglo.htm
doc/salome/gui/SUPERV/whdata/whglo.js
doc/salome/gui/SUPERV/whdata/whglo.xml
doc/salome/gui/SUPERV/whdata/whidata.js
doc/salome/gui/SUPERV/whdata/whidx.htm
doc/salome/gui/SUPERV/whdata/whidx.js
doc/salome/gui/SUPERV/whdata/whidx.xml
doc/salome/gui/SUPERV/whdata/whtdata.js
doc/salome/gui/SUPERV/whdata/whtdata0.htm
doc/salome/gui/SUPERV/whdata/whtdata0.xml
doc/salome/gui/SUPERV/whdata/whtoc.htm
doc/salome/gui/SUPERV/whdata/whtoc.js
doc/salome/gui/SUPERV/whdata/whtoc.xml
doc/salome/gui/SUPERV/whestart.ico
doc/salome/gui/SUPERV/whfbody.htm
doc/salome/gui/SUPERV/whfdhtml.htm
doc/salome/gui/SUPERV/whfform.htm
doc/salome/gui/SUPERV/whfhost.js
doc/salome/gui/SUPERV/whform.js
doc/salome/gui/SUPERV/whframes.js
doc/salome/gui/SUPERV/whgbody.htm
doc/salome/gui/SUPERV/whgdata/whexpbar.gif
doc/salome/gui/SUPERV/whgdata/whlstf0.htm
doc/salome/gui/SUPERV/whgdata/whlstf1.htm
doc/salome/gui/SUPERV/whgdata/whlstf2.htm
doc/salome/gui/SUPERV/whgdata/whlstf3.htm
doc/salome/gui/SUPERV/whgdata/whlstf4.htm
doc/salome/gui/SUPERV/whgdata/whlstf5.htm
doc/salome/gui/SUPERV/whgdata/whlstfl0.htm
doc/salome/gui/SUPERV/whgdata/whlstfl1.htm
doc/salome/gui/SUPERV/whgdata/whlstfl10.htm
doc/salome/gui/SUPERV/whgdata/whlstfl11.htm
doc/salome/gui/SUPERV/whgdata/whlstfl12.htm
doc/salome/gui/SUPERV/whgdata/whlstfl13.htm
doc/salome/gui/SUPERV/whgdata/whlstfl14.htm
doc/salome/gui/SUPERV/whgdata/whlstfl15.htm
doc/salome/gui/SUPERV/whgdata/whlstfl16.htm
doc/salome/gui/SUPERV/whgdata/whlstfl17.htm
doc/salome/gui/SUPERV/whgdata/whlstfl18.htm
doc/salome/gui/SUPERV/whgdata/whlstfl19.htm
doc/salome/gui/SUPERV/whgdata/whlstfl2.htm
doc/salome/gui/SUPERV/whgdata/whlstfl20.htm
doc/salome/gui/SUPERV/whgdata/whlstfl21.htm
doc/salome/gui/SUPERV/whgdata/whlstfl3.htm
doc/salome/gui/SUPERV/whgdata/whlstfl4.htm
doc/salome/gui/SUPERV/whgdata/whlstfl5.htm
doc/salome/gui/SUPERV/whgdata/whlstfl6.htm
doc/salome/gui/SUPERV/whgdata/whlstfl7.htm
doc/salome/gui/SUPERV/whgdata/whlstfl8.htm
doc/salome/gui/SUPERV/whgdata/whlstfl9.htm
doc/salome/gui/SUPERV/whgdata/whlstg0.htm
doc/salome/gui/SUPERV/whgdata/whlsti0.htm
doc/salome/gui/SUPERV/whgdata/whlstt0.htm
doc/salome/gui/SUPERV/whgdata/whlstt1.htm
doc/salome/gui/SUPERV/whgdata/whlstt2.htm
doc/salome/gui/SUPERV/whgdata/whlstt3.htm
doc/salome/gui/SUPERV/whgdata/whlstt4.htm
doc/salome/gui/SUPERV/whgdata/whlstt5.htm
doc/salome/gui/SUPERV/whgdata/whnvf30.htm
doc/salome/gui/SUPERV/whgdata/whnvf31.htm
doc/salome/gui/SUPERV/whgdata/whnvf32.htm
doc/salome/gui/SUPERV/whgdata/whnvf33.htm
doc/salome/gui/SUPERV/whgdata/whnvl31.htm
doc/salome/gui/SUPERV/whgdata/whnvl32.htm
doc/salome/gui/SUPERV/whgdata/whnvl33.htm
doc/salome/gui/SUPERV/whgdata/whnvp30.htm
doc/salome/gui/SUPERV/whgdata/whnvp31.htm
doc/salome/gui/SUPERV/whgdata/whnvp32.htm
doc/salome/gui/SUPERV/whgdata/whnvp33.htm
doc/salome/gui/SUPERV/whgdata/whnvt30.htm
doc/salome/gui/SUPERV/whgdata/whnvt31.htm
doc/salome/gui/SUPERV/whgdata/whnvt32.htm
doc/salome/gui/SUPERV/whgdata/whnvt33.htm
doc/salome/gui/SUPERV/whgdef.htm
doc/salome/gui/SUPERV/whgdhtml.htm
doc/salome/gui/SUPERV/whghost.js
doc/salome/gui/SUPERV/whhost.js
doc/salome/gui/SUPERV/whibody.htm
doc/salome/gui/SUPERV/whidhtml.htm
doc/salome/gui/SUPERV/whiform.htm
doc/salome/gui/SUPERV/whihost.js
doc/salome/gui/SUPERV/whlang.js
doc/salome/gui/SUPERV/whmozemu.js
doc/salome/gui/SUPERV/whmsg.js
doc/salome/gui/SUPERV/whnjs.htm
doc/salome/gui/SUPERV/whphost.js
doc/salome/gui/SUPERV/whproj.htm
doc/salome/gui/SUPERV/whproj.js
doc/salome/gui/SUPERV/whproj.xml
doc/salome/gui/SUPERV/whproxy.js
doc/salome/gui/SUPERV/whres.xml
doc/salome/gui/SUPERV/whrstart.ico
doc/salome/gui/SUPERV/whskin_banner.htm
doc/salome/gui/SUPERV/whskin_blank.htm
doc/salome/gui/SUPERV/whskin_frmset01.htm
doc/salome/gui/SUPERV/whskin_frmset010.htm
doc/salome/gui/SUPERV/whskin_info.htm
doc/salome/gui/SUPERV/whskin_mbars.htm
doc/salome/gui/SUPERV/whskin_papplet.htm
doc/salome/gui/SUPERV/whskin_pdhtml.htm
doc/salome/gui/SUPERV/whskin_plist.htm
doc/salome/gui/SUPERV/whskin_tbars.htm
doc/salome/gui/SUPERV/whst_topics.xml
doc/salome/gui/SUPERV/whstart.ico
doc/salome/gui/SUPERV/whstart.js
doc/salome/gui/SUPERV/whstub.js
doc/salome/gui/SUPERV/wht_abge.jpg
doc/salome/gui/SUPERV/wht_abgi.jpg
doc/salome/gui/SUPERV/wht_abgw.jpg
doc/salome/gui/SUPERV/wht_abte.jpg
doc/salome/gui/SUPERV/wht_abti.jpg
doc/salome/gui/SUPERV/wht_abtw.jpg
doc/salome/gui/SUPERV/wht_fts_h.gif
doc/salome/gui/SUPERV/wht_fts_n.gif
doc/salome/gui/SUPERV/wht_glo_h.gif
doc/salome/gui/SUPERV/wht_glo_n.gif
doc/salome/gui/SUPERV/wht_go.gif
doc/salome/gui/SUPERV/wht_hide.gif
doc/salome/gui/SUPERV/wht_idx_h.gif
doc/salome/gui/SUPERV/wht_idx_n.gif
doc/salome/gui/SUPERV/wht_logo1.gif
doc/salome/gui/SUPERV/wht_logo2.gif
doc/salome/gui/SUPERV/wht_next.gif
doc/salome/gui/SUPERV/wht_next_g.gif
doc/salome/gui/SUPERV/wht_prev.gif
doc/salome/gui/SUPERV/wht_prev_g.gif
doc/salome/gui/SUPERV/wht_spac.gif
doc/salome/gui/SUPERV/wht_sync.gif
doc/salome/gui/SUPERV/wht_tab0.gif
doc/salome/gui/SUPERV/wht_tab1.gif
doc/salome/gui/SUPERV/wht_tab2.gif
doc/salome/gui/SUPERV/wht_tab3.gif
doc/salome/gui/SUPERV/wht_tab4.gif
doc/salome/gui/SUPERV/wht_tab5.gif
doc/salome/gui/SUPERV/wht_tab6.gif
doc/salome/gui/SUPERV/wht_tab7.gif
doc/salome/gui/SUPERV/wht_tab8.gif
doc/salome/gui/SUPERV/wht_toc1.gif
doc/salome/gui/SUPERV/wht_toc2.gif
doc/salome/gui/SUPERV/wht_toc3.gif
doc/salome/gui/SUPERV/wht_toc4.gif
doc/salome/gui/SUPERV/wht_toc_h.gif
doc/salome/gui/SUPERV/wht_toc_n.gif
doc/salome/gui/SUPERV/wht_ws.gif
doc/salome/gui/SUPERV/wht_ws_g.gif
doc/salome/gui/SUPERV/whtbar.js
doc/salome/gui/SUPERV/whtdhtml.htm
doc/salome/gui/SUPERV/whthost.js
doc/salome/gui/SUPERV/whtopic.js
doc/salome/gui/SUPERV/whutils.js
doc/salome/gui/SUPERV/whver.js
doc/salome/tui/Makefile.in
doc/salome/tui/SUPERV/HTML/AddComponent.html
doc/salome/tui/SUPERV/HTML/DivComponent.html
doc/salome/tui/SUPERV/HTML/FactorialComponent.html
doc/salome/tui/SUPERV/HTML/MulComponent.html
doc/salome/tui/SUPERV/HTML/NPMatComponent.html
doc/salome/tui/SUPERV/HTML/NPSolveComponent.html
doc/salome/tui/SUPERV/HTML/NPVecComponent.html
doc/salome/tui/SUPERV/HTML/SUPERV.html
doc/salome/tui/SUPERV/HTML/SubComponent.html
doc/salome/tui/SUPERV/HTML/SyrComponent.html
doc/salome/tui/SUPERV/HTML/SyrControlComponent.html
doc/salome/tui/SUPERV/doxyfile
doc/salome/tui/SUPERV/sources/Application-About.png
doc/salome/tui/SUPERV/sources/Application-About1.jpg
doc/salome/tui/SUPERV/sources/application.gif
doc/salome/tui/SUPERV/sources/application.jpg
doc/salome/tui/SUPERV/sources/bg_salome.gif
doc/salome/tui/SUPERV/sources/logocorp.gif
doc/salome/tui/SUPERV/sources/myheader.html
doc/salome/tui/SUPERV/sources/occ.gif
doc/salome/tui/SUPERV/sources/static/doxygen.css
doc/salome/tui/SUPERV/sources/static/examples_SUPERV.html
doc/salome/tui/SUPERV/sources/static/nodestypes.jpg
doc/salome/tui/SUPERV/sources/static/overview_Supervision.html
doc/salome/tui/SUPERV/sources/static/page2.html
doc/salome/tui/SUPERV/sources/static/tree.js
doc/salome/tui/SUPERV/sources/static/treeview.js
examples/GeomGraph.py
examples/GeomGraph.xml
examples/GraphContainer.py
examples/GraphContainer.xml
examples/GraphConvertBoolCheck.py
examples/GraphConvertBoolCheck.xml
examples/GraphConvertBoolStringCheck.py
examples/GraphConvertBoolStringCheck.xml
examples/GraphConvertCharCheck.py
examples/GraphConvertCharCheck.xml
examples/GraphConvertCharStringCheck.py
examples/GraphConvertCharStringCheck.xml
examples/GraphConvertDoubleCheck.py
examples/GraphConvertDoubleCheck.xml
examples/GraphConvertDoubleStringCheck.py
examples/GraphConvertDoubleStringCheck.xml
examples/GraphConvertFloatCheck.py
examples/GraphConvertFloatCheck.xml
examples/GraphConvertFloatStringCheck.py
examples/GraphConvertFloatStringCheck.xml
examples/GraphConvertIORCheck.py
examples/GraphConvertIORCheck.xml
examples/GraphConvertLongCheck.py
examples/GraphConvertLongCheck.xml
examples/GraphConvertLongStringCheck.py
examples/GraphConvertLongStringCheck.xml
examples/GraphConvertObjRefCheck.py
examples/GraphConvertObjRefCheck.xml
examples/GraphConvertShortCheck.py
examples/GraphConvertShortCheck.xml
examples/GraphConvertShortStringCheck.py
examples/GraphConvertShortStringCheck.xml
examples/GraphConvertStringStringCheck.py
examples/GraphConvertStringStringCheck.xml
examples/GraphCpuUsed.py
examples/GraphCpuUsed.xml
examples/GraphEmptyInLinesTypesCheck.py
examples/GraphEmptyInLinesTypesCheck.xml
examples/GraphEssai.py
examples/GraphEssai.xml
examples/GraphEssai1.py
examples/GraphEssai1.xml
examples/GraphEssai2.py
examples/GraphEssai2.xml
examples/GraphEssai3.py
examples/GraphEssai3.xml
examples/GraphExample.py
examples/GraphFactorial.py
examples/GraphFactorial.xml
examples/GraphFactorialLcc.py
examples/GraphGOTO.py
examples/GraphGOTO.xml
examples/GraphGeomEssai.xml
examples/GraphInLines.py
examples/GraphInLines.xml
examples/GraphInLinesParall.py
examples/GraphInLinesParall.xml
examples/GraphInLinesTypesCheck.py
examples/GraphInLinesTypesCheck.xml
examples/GraphInLinesUnValid.py
examples/GraphInLinesUnValid.xml
examples/GraphLoop.py
examples/GraphLoop.xml
examples/GraphLoopSwitch.py
examples/GraphLoopSwitch.xml
examples/GraphMerge.py
examples/GraphMerge1.py
examples/GraphObjRef.py
examples/GraphObjRef.xml
examples/GraphPyFunctions.py
examples/GraphPyFunctions.xml
examples/GraphRunSyr.py
examples/GraphStream.py
examples/GraphStream.xml
examples/GraphStreamInLines.py
examples/GraphStreamInLines.xml
examples/GraphStreamInLines_1.cpl
examples/GraphStreamTopologies.py
examples/GraphStreamTopologies.xml
examples/GraphStreamTopologies_1.cpl
examples/GraphStreamTopologies_2.cpl
examples/GraphStreamTopology.py
examples/GraphStreamTopology.xml
examples/GraphStreamTopology_1.cpl
examples/GraphStream_1.cpl
examples/GraphStream_2.cpl
examples/GraphStream_3.cpl
examples/GraphStreams.py
examples/GraphStreams.xml
examples/GraphStreamsXmlTest.py
examples/GraphStreams_1.cpl
examples/GraphStreams_2.cpl
examples/GraphSwitch.py
examples/GraphSwitch.xml
examples/GraphSwitch1.py
examples/GraphSwitch1.xml
examples/GraphSwitchCrash.py
examples/GraphSwitchCrash.xml
examples/GraphSwitchs.py
examples/GraphSwitchs.xml
examples/GraphSyrControl.py
examples/GraphSyrControl.xml
examples/GraphSyrControl1.py
examples/GraphSyrControl1.xml
examples/GraphSyrControlAve.py
examples/GraphSyrControlAve.xml
examples/GraphSyrControlDefault.py
examples/GraphSyrControlDefault.xml
examples/GraphSyrControlGUI.py
examples/GraphSyrControlGUI.xml
examples/GraphSyracuseC.py
examples/GraphSyracuseC.xml
examples/GraphSyracuseCEv.py
examples/GraphSyracuseCEv.xml
examples/GraphSyracuseC_Gate.py
examples/GraphSyracuseC_Gate.xml
examples/GraphSyracuseC_Void.py
examples/GraphSyracuseControl.py
examples/GraphSyracuseCpp.py
examples/GraphSyracuseCpp.xml
examples/GraphTypesCheck.py
examples/GraphTypesCheck.xml
examples/GraphUnValid.py
examples/GraphUnValid.xml
examples/Graphs.py
examples/Graphs.xml
examples/Loop.xml
examples/Makefile.in
examples/NewGraphEssai.py
examples/NewGraphEssai.xml
examples/NewGraphGeomEssai.py
examples/NewGraphGeomEssai.xml
examples/SupervRheolefGraph.py
examples/SupervRheolefGraph.xml
examples/SyrStruct.py
examples/SyrStruct.xml
examples/TestSupervMedfieldLoopFori.py
examples/TestSupervMedfieldLoopFori.xml
examples/TestSupervMedfieldLoopForiVisu.py
examples/TestSupervMedfieldLoopForiVisu.xml
examples/dataflow_calculator_example.py
examples/dataflow_calculator_example.xml
examples/myFactorialPy.py
examples/newsupervisionexample.py
examples/newsupervisionexample.xml
examples/test_events.py
examples/test_events.xml
examples/test_superv_basic_loop.py
examples/test_superv_basic_loop.xml
examples/testvisu20.xml
examples/testvisu20_multi.py
examples/testvisu20_multi.xml
idl/Makefile.in
idl/SUPERV.idl
resources/ModuleSupervision.png
resources/SUPERV.config
resources/SUPERVCatalog.xml
resources/SUPERV_en.xml
resources/SUPERV_fr.xml
resources/Superv_tree_superv.png
resources/components.png
resources/config
resources/edit.png
resources/export.gif
resources/import.gif
resources/kill.png
resources/modify.png
resources/reload.png
resources/resources.png
resources/run.png
resources/steps.png
resources/suspend-resume.gif
src/AddComponent/AddComponent_Impl.cxx
src/GraphBase/DataFlowBase_Base.cxx
src/GraphBase/DataFlowBase_Base.hxx
src/GraphBase/DataFlowBase_ComputingNode.cxx
src/GraphBase/DataFlowBase_ComputingNode.hxx
src/GraphBase/DataFlowBase_DataNode.cxx
src/GraphBase/DataFlowBase_DataNode.hxx
src/GraphBase/DataFlowBase_DataPort.cxx
src/GraphBase/DataFlowBase_DataPort.hxx
src/GraphBase/DataFlowBase_EndOfLoopNode.cxx
src/GraphBase/DataFlowBase_EndOfLoopNode.hxx
src/GraphBase/DataFlowBase_EndOfSwitchNode.cxx
src/GraphBase/DataFlowBase_EndOfSwitchNode.hxx
src/GraphBase/DataFlowBase_FactoryNode.cxx
src/GraphBase/DataFlowBase_FactoryNode.hxx
src/GraphBase/DataFlowBase_GOTONode.cxx
src/GraphBase/DataFlowBase_GOTONode.hxx
src/GraphBase/DataFlowBase_Graph.cxx
src/GraphBase/DataFlowBase_Graph.hxx
src/GraphBase/DataFlowBase_InDataStreamPort.cxx
src/GraphBase/DataFlowBase_InDataStreamPort.hxx
src/GraphBase/DataFlowBase_InLineNode.cxx
src/GraphBase/DataFlowBase_InLineNode.hxx
src/GraphBase/DataFlowBase_InPort.cxx
src/GraphBase/DataFlowBase_InPort.hxx
src/GraphBase/DataFlowBase_LoadXml.cxx
src/GraphBase/DataFlowBase_LoopNode.cxx
src/GraphBase/DataFlowBase_LoopNode.hxx
src/GraphBase/DataFlowBase_OutDataStreamPort.cxx
src/GraphBase/DataFlowBase_OutDataStreamPort.hxx
src/GraphBase/DataFlowBase_OutPort.cxx
src/GraphBase/DataFlowBase_OutPort.hxx
src/GraphBase/DataFlowBase_Port.cxx
src/GraphBase/DataFlowBase_Port.hxx
src/GraphBase/DataFlowBase_PortsOfNode.cxx
src/GraphBase/DataFlowBase_PortsOfNode.hxx
src/GraphBase/DataFlowBase_Service.cxx
src/GraphBase/DataFlowBase_Service.hxx
src/GraphBase/DataFlowBase_ServicesParameter.hxx
src/GraphBase/DataFlowBase_StreamGraph.cxx
src/GraphBase/DataFlowBase_StreamGraph.hxx
src/GraphBase/DataFlowBase_StreamNode.cxx
src/GraphBase/DataFlowBase_StreamNode.hxx
src/GraphBase/DataFlowBase_SwitchNode.cxx
src/GraphBase/DataFlowBase_SwitchNode.hxx
src/GraphBase/DataFlowBase_XmlHandler.cxx
src/GraphBase/DataFlowBase_XmlHandler.hxx
src/GraphBase/Makefile.in
src/GraphBase/SuperVisionBase_CheckOfUndefined.cxx
src/GraphEditor/DataFlowEditor_DataFlow.cxx
src/GraphEditor/DataFlowEditor_DataFlow.hxx
src/GraphEditor/DataFlowEditor_DataFlow.lxx
src/GraphEditor/DataFlowEditor_InNode.cxx
src/GraphEditor/DataFlowEditor_InNode.hxx
src/GraphEditor/DataFlowEditor_OutNode.cxx
src/GraphEditor/DataFlowEditor_OutNode.hxx
src/GraphEditor/Makefile.in
src/GraphEditor/SuperVisionEditor_CheckOfUndefined.cxx
src/GraphExecutor/DataFlowExecutor_DataFlow.cxx
src/GraphExecutor/DataFlowExecutor_DataFlow.hxx
src/GraphExecutor/DataFlowExecutor_DataFlow.lxx
src/GraphExecutor/DataFlowExecutor_DynInvoke.cxx
src/GraphExecutor/DataFlowExecutor_DynInvoke.hxx
src/GraphExecutor/DataFlowExecutor_FiniteStateMachine.cxx
src/GraphExecutor/DataFlowExecutor_FiniteStateMachine.hxx
src/GraphExecutor/DataFlowExecutor_InNode.cxx
src/GraphExecutor/DataFlowExecutor_InNode.hxx
src/GraphExecutor/DataFlowExecutor_InNodeThreads.cxx
src/GraphExecutor/DataFlowExecutor_OutNode.cxx
src/GraphExecutor/DataFlowExecutor_OutNode.hxx
src/GraphExecutor/DataFlowExecutor_PyDynInvoke.cxx
src/GraphExecutor/Makefile.in
src/GraphExecutor/SuperVisionExecutor_CheckOfUndefined.cxx
src/Makefile.in
src/MulComponent/MulComponent.cxx
src/SubComponent/SubComponent.cxx
src/Supervision/CNode_Impl.cxx
src/Supervision/CNode_Impl.hxx
src/Supervision/ELNode_Impl.cxx
src/Supervision/ELNode_Impl.hxx
src/Supervision/ESNode_Impl.cxx
src/Supervision/ESNode_Impl.hxx
src/Supervision/FNode_Impl.cxx
src/Supervision/FNode_Impl.hxx
src/Supervision/GNode_Impl.cxx
src/Supervision/GNode_Impl.hxx
src/Supervision/Graph_Impl.cxx
src/Supervision/Graph_Impl.hxx
src/Supervision/INode_Impl.cxx
src/Supervision/INode_Impl.hxx
src/Supervision/LNode_Impl.cxx
src/Supervision/LNode_Impl.hxx
src/Supervision/Link_Impl.cxx
src/Supervision/Link_Impl.hxx
src/Supervision/Makefile.in
src/Supervision/Port_Impl.cxx
src/Supervision/Port_Impl.hxx
src/Supervision/SNode_Impl.cxx
src/Supervision/SNode_Impl.hxx
src/Supervision/SUPERV_shared_modules.py
src/Supervision/StreamGraph_Impl.cxx
src/Supervision/StreamGraph_Impl.hxx
src/Supervision/StreamLink_Impl.cxx
src/Supervision/StreamLink_Impl.hxx
src/Supervision/StreamPort_Impl.cxx
src/Supervision/StreamPort_Impl.hxx
src/Supervision/SuperV.py
src/Supervision/SuperV_CheckOfUndefined.cxx
src/Supervision/SuperV_Impl.cxx
src/Supervision/SuperV_Impl.hxx
src/Supervision/Value_Impl.cxx
src/Supervision/Value_Impl.hxx
src/Supervision/batchmode_SuperV.py
src/SyrComponent/SyrComponent_Impl.cxx
+++ /dev/null
-This is the version 1.4.1 of SUPERV
-Compatible with :
- - KERNEL 1.4.1
+++ /dev/null
- GNU LESSER GENERAL PUBLIC LICENSE
- Version 2.1, February 1999
-
- Copyright (C) 1991, 1999 Free Software Foundation, Inc.
- 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- Everyone is permitted to copy and distribute verbatim copies
- of this license document, but changing it is not allowed.
-
-[This is the first released version of the Lesser GPL. It also counts
- as the successor of the GNU Library Public License, version 2, hence
- the version number 2.1.]
-
- Preamble
-
- The licenses for most software are designed to take away your
-freedom to share and change it. By contrast, the GNU General Public
-Licenses are intended to guarantee your freedom to share and change
-free software--to make sure the software is free for all its users.
-
- This license, the Lesser General Public License, applies to some
-specially designated software packages--typically libraries--of the
-Free Software Foundation and other authors who decide to use it. You
-can use it too, but we suggest you first think carefully about whether
-this license or the ordinary General Public License is the better
-strategy to use in any particular case, based on the explanations below.
-
- When we speak of free software, we are referring to freedom of use,
-not price. Our General Public Licenses are designed to make sure that
-you have the freedom to distribute copies of free software (and charge
-for this service if you wish); that you receive source code or can get
-it if you want it; that you can change the software and use pieces of
-it in new free programs; and that you are informed that you can do
-these things.
-
- To protect your rights, we need to make restrictions that forbid
-distributors to deny you these rights or to ask you to surrender these
-rights. These restrictions translate to certain responsibilities for
-you if you distribute copies of the library or if you modify it.
-
- For example, if you distribute copies of the library, whether gratis
-or for a fee, you must give the recipients all the rights that we gave
-you. You must make sure that they, too, receive or can get the source
-code. If you link other code with the library, you must provide
-complete object files to the recipients, so that they can relink them
-with the library after making changes to the library and recompiling
-it. And you must show them these terms so they know their rights.
-
- We protect your rights with a two-step method: (1) we copyright the
-library, and (2) we offer you this license, which gives you legal
-permission to copy, distribute and/or modify the library.
-
- To protect each distributor, we want to make it very clear that
-there is no warranty for the free library. Also, if the library is
-modified by someone else and passed on, the recipients should know
-that what they have is not the original version, so that the original
-author's reputation will not be affected by problems that might be
-introduced by others.
-\f
- Finally, software patents pose a constant threat to the existence of
-any free program. We wish to make sure that a company cannot
-effectively restrict the users of a free program by obtaining a
-restrictive license from a patent holder. Therefore, we insist that
-any patent license obtained for a version of the library must be
-consistent with the full freedom of use specified in this license.
-
- Most GNU software, including some libraries, is covered by the
-ordinary GNU General Public License. This license, the GNU Lesser
-General Public License, applies to certain designated libraries, and
-is quite different from the ordinary General Public License. We use
-this license for certain libraries in order to permit linking those
-libraries into non-free programs.
-
- When a program is linked with a library, whether statically or using
-a shared library, the combination of the two is legally speaking a
-combined work, a derivative of the original library. The ordinary
-General Public License therefore permits such linking only if the
-entire combination fits its criteria of freedom. The Lesser General
-Public License permits more lax criteria for linking other code with
-the library.
-
- We call this license the "Lesser" General Public License because it
-does Less to protect the user's freedom than the ordinary General
-Public License. It also provides other free software developers Less
-of an advantage over competing non-free programs. These disadvantages
-are the reason we use the ordinary General Public License for many
-libraries. However, the Lesser license provides advantages in certain
-special circumstances.
-
- For example, on rare occasions, there may be a special need to
-encourage the widest possible use of a certain library, so that it becomes
-a de-facto standard. To achieve this, non-free programs must be
-allowed to use the library. A more frequent case is that a free
-library does the same job as widely used non-free libraries. In this
-case, there is little to gain by limiting the free library to free
-software only, so we use the Lesser General Public License.
-
- In other cases, permission to use a particular library in non-free
-programs enables a greater number of people to use a large body of
-free software. For example, permission to use the GNU C Library in
-non-free programs enables many more people to use the whole GNU
-operating system, as well as its variant, the GNU/Linux operating
-system.
-
- Although the Lesser General Public License is Less protective of the
-users' freedom, it does ensure that the user of a program that is
-linked with the Library has the freedom and the wherewithal to run
-that program using a modified version of the Library.
-
- The precise terms and conditions for copying, distribution and
-modification follow. Pay close attention to the difference between a
-"work based on the library" and a "work that uses the library". The
-former contains code derived from the library, whereas the latter must
-be combined with the library in order to run.
-\f
- GNU LESSER GENERAL PUBLIC LICENSE
- TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
-
- 0. This License Agreement applies to any software library or other
-program which contains a notice placed by the copyright holder or
-other authorized party saying it may be distributed under the terms of
-this Lesser General Public License (also called "this License").
-Each licensee is addressed as "you".
-
- A "library" means a collection of software functions and/or data
-prepared so as to be conveniently linked with application programs
-(which use some of those functions and data) to form executables.
-
- The "Library", below, refers to any such software library or work
-which has been distributed under these terms. A "work based on the
-Library" means either the Library or any derivative work under
-copyright law: that is to say, a work containing the Library or a
-portion of it, either verbatim or with modifications and/or translated
-straightforwardly into another language. (Hereinafter, translation is
-included without limitation in the term "modification".)
-
- "Source code" for a work means the preferred form of the work for
-making modifications to it. For a library, complete source code means
-all the source code for all modules it contains, plus any associated
-interface definition files, plus the scripts used to control compilation
-and installation of the library.
-
- Activities other than copying, distribution and modification are not
-covered by this License; they are outside its scope. The act of
-running a program using the Library is not restricted, and output from
-such a program is covered only if its contents constitute a work based
-on the Library (independent of the use of the Library in a tool for
-writing it). Whether that is true depends on what the Library does
-and what the program that uses the Library does.
-
- 1. You may copy and distribute verbatim copies of the Library's
-complete source code as you receive it, in any medium, provided that
-you conspicuously and appropriately publish on each copy an
-appropriate copyright notice and disclaimer of warranty; keep intact
-all the notices that refer to this License and to the absence of any
-warranty; and distribute a copy of this License along with the
-Library.
-
- You may charge a fee for the physical act of transferring a copy,
-and you may at your option offer warranty protection in exchange for a
-fee.
-\f
- 2. You may modify your copy or copies of the Library or any portion
-of it, thus forming a work based on the Library, and copy and
-distribute such modifications or work under the terms of Section 1
-above, provided that you also meet all of these conditions:
-
- a) The modified work must itself be a software library.
-
- b) You must cause the files modified to carry prominent notices
- stating that you changed the files and the date of any change.
-
- c) You must cause the whole of the work to be licensed at no
- charge to all third parties under the terms of this License.
-
- d) If a facility in the modified Library refers to a function or a
- table of data to be supplied by an application program that uses
- the facility, other than as an argument passed when the facility
- is invoked, then you must make a good faith effort to ensure that,
- in the event an application does not supply such function or
- table, the facility still operates, and performs whatever part of
- its purpose remains meaningful.
-
- (For example, a function in a library to compute square roots has
- a purpose that is entirely well-defined independent of the
- application. Therefore, Subsection 2d requires that any
- application-supplied function or table used by this function must
- be optional: if the application does not supply it, the square
- root function must still compute square roots.)
-
-These requirements apply to the modified work as a whole. If
-identifiable sections of that work are not derived from the Library,
-and can be reasonably considered independent and separate works in
-themselves, then this License, and its terms, do not apply to those
-sections when you distribute them as separate works. But when you
-distribute the same sections as part of a whole which is a work based
-on the Library, the distribution of the whole must be on the terms of
-this License, whose permissions for other licensees extend to the
-entire whole, and thus to each and every part regardless of who wrote
-it.
-
-Thus, it is not the intent of this section to claim rights or contest
-your rights to work written entirely by you; rather, the intent is to
-exercise the right to control the distribution of derivative or
-collective works based on the Library.
-
-In addition, mere aggregation of another work not based on the Library
-with the Library (or with a work based on the Library) on a volume of
-a storage or distribution medium does not bring the other work under
-the scope of this License.
-
- 3. You may opt to apply the terms of the ordinary GNU General Public
-License instead of this License to a given copy of the Library. To do
-this, you must alter all the notices that refer to this License, so
-that they refer to the ordinary GNU General Public License, version 2,
-instead of to this License. (If a newer version than version 2 of the
-ordinary GNU General Public License has appeared, then you can specify
-that version instead if you wish.) Do not make any other change in
-these notices.
-\f
- Once this change is made in a given copy, it is irreversible for
-that copy, so the ordinary GNU General Public License applies to all
-subsequent copies and derivative works made from that copy.
-
- This option is useful when you wish to copy part of the code of
-the Library into a program that is not a library.
-
- 4. You may copy and distribute the Library (or a portion or
-derivative of it, under Section 2) in object code or executable form
-under the terms of Sections 1 and 2 above provided that you accompany
-it with the complete corresponding machine-readable source code, which
-must be distributed under the terms of Sections 1 and 2 above on a
-medium customarily used for software interchange.
-
- If distribution of object code is made by offering access to copy
-from a designated place, then offering equivalent access to copy the
-source code from the same place satisfies the requirement to
-distribute the source code, even though third parties are not
-compelled to copy the source along with the object code.
-
- 5. A program that contains no derivative of any portion of the
-Library, but is designed to work with the Library by being compiled or
-linked with it, is called a "work that uses the Library". Such a
-work, in isolation, is not a derivative work of the Library, and
-therefore falls outside the scope of this License.
-
- However, linking a "work that uses the Library" with the Library
-creates an executable that is a derivative of the Library (because it
-contains portions of the Library), rather than a "work that uses the
-library". The executable is therefore covered by this License.
-Section 6 states terms for distribution of such executables.
-
- When a "work that uses the Library" uses material from a header file
-that is part of the Library, the object code for the work may be a
-derivative work of the Library even though the source code is not.
-Whether this is true is especially significant if the work can be
-linked without the Library, or if the work is itself a library. The
-threshold for this to be true is not precisely defined by law.
-
- If such an object file uses only numerical parameters, data
-structure layouts and accessors, and small macros and small inline
-functions (ten lines or less in length), then the use of the object
-file is unrestricted, regardless of whether it is legally a derivative
-work. (Executables containing this object code plus portions of the
-Library will still fall under Section 6.)
-
- Otherwise, if the work is a derivative of the Library, you may
-distribute the object code for the work under the terms of Section 6.
-Any executables containing that work also fall under Section 6,
-whether or not they are linked directly with the Library itself.
-\f
- 6. As an exception to the Sections above, you may also combine or
-link a "work that uses the Library" with the Library to produce a
-work containing portions of the Library, and distribute that work
-under terms of your choice, provided that the terms permit
-modification of the work for the customer's own use and reverse
-engineering for debugging such modifications.
-
- You must give prominent notice with each copy of the work that the
-Library is used in it and that the Library and its use are covered by
-this License. You must supply a copy of this License. If the work
-during execution displays copyright notices, you must include the
-copyright notice for the Library among them, as well as a reference
-directing the user to the copy of this License. Also, you must do one
-of these things:
-
- a) Accompany the work with the complete corresponding
- machine-readable source code for the Library including whatever
- changes were used in the work (which must be distributed under
- Sections 1 and 2 above); and, if the work is an executable linked
- with the Library, with the complete machine-readable "work that
- uses the Library", as object code and/or source code, so that the
- user can modify the Library and then relink to produce a modified
- executable containing the modified Library. (It is understood
- that the user who changes the contents of definitions files in the
- Library will not necessarily be able to recompile the application
- to use the modified definitions.)
-
- b) Use a suitable shared library mechanism for linking with the
- Library. A suitable mechanism is one that (1) uses at run time a
- copy of the library already present on the user's computer system,
- rather than copying library functions into the executable, and (2)
- will operate properly with a modified version of the library, if
- the user installs one, as long as the modified version is
- interface-compatible with the version that the work was made with.
-
- c) Accompany the work with a written offer, valid for at
- least three years, to give the same user the materials
- specified in Subsection 6a, above, for a charge no more
- than the cost of performing this distribution.
-
- d) If distribution of the work is made by offering access to copy
- from a designated place, offer equivalent access to copy the above
- specified materials from the same place.
-
- e) Verify that the user has already received a copy of these
- materials or that you have already sent this user a copy.
-
- For an executable, the required form of the "work that uses the
-Library" must include any data and utility programs needed for
-reproducing the executable from it. However, as a special exception,
-the materials to be distributed need not include anything that is
-normally distributed (in either source or binary form) with the major
-components (compiler, kernel, and so on) of the operating system on
-which the executable runs, unless that component itself accompanies
-the executable.
-
- It may happen that this requirement contradicts the license
-restrictions of other proprietary libraries that do not normally
-accompany the operating system. Such a contradiction means you cannot
-use both them and the Library together in an executable that you
-distribute.
-\f
- 7. You may place library facilities that are a work based on the
-Library side-by-side in a single library together with other library
-facilities not covered by this License, and distribute such a combined
-library, provided that the separate distribution of the work based on
-the Library and of the other library facilities is otherwise
-permitted, and provided that you do these two things:
-
- a) Accompany the combined library with a copy of the same work
- based on the Library, uncombined with any other library
- facilities. This must be distributed under the terms of the
- Sections above.
-
- b) Give prominent notice with the combined library of the fact
- that part of it is a work based on the Library, and explaining
- where to find the accompanying uncombined form of the same work.
-
- 8. You may not copy, modify, sublicense, link with, or distribute
-the Library except as expressly provided under this License. Any
-attempt otherwise to copy, modify, sublicense, link with, or
-distribute the Library is void, and will automatically terminate your
-rights under this License. However, parties who have received copies,
-or rights, from you under this License will not have their licenses
-terminated so long as such parties remain in full compliance.
-
- 9. You are not required to accept this License, since you have not
-signed it. However, nothing else grants you permission to modify or
-distribute the Library or its derivative works. These actions are
-prohibited by law if you do not accept this License. Therefore, by
-modifying or distributing the Library (or any work based on the
-Library), you indicate your acceptance of this License to do so, and
-all its terms and conditions for copying, distributing or modifying
-the Library or works based on it.
-
- 10. Each time you redistribute the Library (or any work based on the
-Library), the recipient automatically receives a license from the
-original licensor to copy, distribute, link with or modify the Library
-subject to these terms and conditions. You may not impose any further
-restrictions on the recipients' exercise of the rights granted herein.
-You are not responsible for enforcing compliance by third parties with
-this License.
-\f
- 11. If, as a consequence of a court judgment or allegation of patent
-infringement or for any other reason (not limited to patent issues),
-conditions are imposed on you (whether by court order, agreement or
-otherwise) that contradict the conditions of this License, they do not
-excuse you from the conditions of this License. If you cannot
-distribute so as to satisfy simultaneously your obligations under this
-License and any other pertinent obligations, then as a consequence you
-may not distribute the Library at all. For example, if a patent
-license would not permit royalty-free redistribution of the Library by
-all those who receive copies directly or indirectly through you, then
-the only way you could satisfy both it and this License would be to
-refrain entirely from distribution of the Library.
-
-If any portion of this section is held invalid or unenforceable under any
-particular circumstance, the balance of the section is intended to apply,
-and the section as a whole is intended to apply in other circumstances.
-
-It is not the purpose of this section to induce you to infringe any
-patents or other property right claims or to contest validity of any
-such claims; this section has the sole purpose of protecting the
-integrity of the free software distribution system which is
-implemented by public license practices. Many people have made
-generous contributions to the wide range of software distributed
-through that system in reliance on consistent application of that
-system; it is up to the author/donor to decide if he or she is willing
-to distribute software through any other system and a licensee cannot
-impose that choice.
-
-This section is intended to make thoroughly clear what is believed to
-be a consequence of the rest of this License.
-
- 12. If the distribution and/or use of the Library is restricted in
-certain countries either by patents or by copyrighted interfaces, the
-original copyright holder who places the Library under this License may add
-an explicit geographical distribution limitation excluding those countries,
-so that distribution is permitted only in or among countries not thus
-excluded. In such case, this License incorporates the limitation as if
-written in the body of this License.
-
- 13. The Free Software Foundation may publish revised and/or new
-versions of the Lesser General Public License from time to time.
-Such new versions will be similar in spirit to the present version,
-but may differ in detail to address new problems or concerns.
-
-Each version is given a distinguishing version number. If the Library
-specifies a version number of this License which applies to it and
-"any later version", you have the option of following the terms and
-conditions either of that version or of any later version published by
-the Free Software Foundation. If the Library does not specify a
-license version number, you may choose any version ever published by
-the Free Software Foundation.
-\f
- 14. If you wish to incorporate parts of the Library into other free
-programs whose distribution conditions are incompatible with these,
-write to the author to ask for permission. For software which is
-copyrighted by the Free Software Foundation, write to the Free
-Software Foundation; we sometimes make exceptions for this. Our
-decision will be guided by the two goals of preserving the free status
-of all derivatives of our free software and of promoting the sharing
-and reuse of software generally.
-
- NO WARRANTY
-
- 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO
-WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW.
-EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR
-OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY
-KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE
-IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
-PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE
-LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME
-THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
-
- 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
-WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY
-AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU
-FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR
-CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE
-LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING
-RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A
-FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF
-SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
-DAMAGES.
-
- END OF TERMS AND CONDITIONS
-\f
- How to Apply These Terms to Your New Libraries
-
- If you develop a new library, and you want it to be of the greatest
-possible use to the public, we recommend making it free software that
-everyone can redistribute and change. You can do so by permitting
-redistribution under these terms (or, alternatively, under the terms of the
-ordinary General Public License).
-
- To apply these terms, attach the following notices to the library. It is
-safest to attach them to the start of each source file to most effectively
-convey the exclusion of warranty; and each file should have at least the
-"copyright" line and a pointer to where the full notice is found.
-
- <one line to give the library's name and a brief idea of what it does.>
- Copyright (C) <year> <name of author>
-
- This library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- This library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with this library; if not, write to the Free Software
- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-
-Also add information on how to contact you by electronic and paper mail.
-
-You should also get your employer (if you work as a programmer) or your
-school, if any, to sign a "copyright disclaimer" for the library, if
-necessary. Here is a sample; alter the names:
-
- Yoyodyne, Inc., hereby disclaims all copyright interest in the
- library `Frob' (a library for tweaking knobs) written by James Random Hacker.
-
- <signature of Ty Coon>, 1 April 1990
- Ty Coon, President of Vice
-
-That's all there is to it!
-
-
+++ /dev/null
-# -* Makefile *-
-#
-# Author : Patrick GOLDBRONN (CEA)
-# Date : 28/06/2001
-# $Header$
-#
-
-# source path
-top_srcdir=@top_srcdir@
-top_builddir=.
-srcdir=@srcdir@
-VPATH=.:@srcdir@:@top_srcdir@/bin:@top_srcdir@/resources:./bin:@top_srcdir@/idl
-
-
-@COMMENCE@
-
-SUBDIRS = idl src examples doc
-
-RESOURCES_FILES = \
-components.png \
-edit.png \
-export.gif \
-import.gif \
-kill.png \
-modify.png \
-ModuleSupervision.png \
-reload.png \
-resources.png \
-run.png \
-steps.png \
-SUPERV_en.xml \
-SUPERV_fr.xml \
-SUPERV.config \
-SUPERVCatalog.xml \
-suspend-resume.gif \
-Superv_tree_superv.png
-
-BIN_SCRIPT= \
-VERSION
-
-# copy header files in common directory
-ifeq ($(HAVE_SSTREAM),yes)
- include_list=include/salome/SALOMEconfig.h
-else
- include_list=include/salome/SALOMEconfig.h include/salome/sstream
-endif
-
-inc: idl $(include_list)
-
-include/salome/SALOMEconfig.h: salome_adm/unix/SALOMEconfig.ref
- -$(RM) $@
- $(LN_S) ../../$< $@
-
-# test if SALOMEconfig.h has changed (contents)
-salome_adm/unix/SALOMEconfig.ref: salome_adm/unix/SALOMEconfig.h
- @if ! [ -a $@ ]; then \
- cp -p -f $< $@; \
- fi; \
- if ! cmp $< $@; then \
- cp -p -f $< $@; \
- fi; \
-
-include/salome/sstream: salome_adm/unix/sstream
- -$(RM) $@
- $(LN_S) ../../$< $@
-
-depend: depend_idl
-
-depend_idl:
- (cd idl ; $(MAKE) $@) || exit 1
-
-# doc is already build : if you want to had documents, go manually to doc and run 'make doc'
-#doc:
-# (cd doc && $(MAKE) $@) || exit 1
-
-install-end:
-# finish libtool install
-# @$(LT) --mode=finish $(libdir)
-
-install-include: $(include_list)
- $(INSTALL) -d $(includedir)
- @for f in X $(include_list); do \
- if test $$f != X; then \
- ($(INSTALL_DATA) -p $$f $(includedir)/. || exit 1); \
- fi; \
- done
-
-# install script in $(bindir) :
-install-bin: $(BIN_SCRIPT)
- $(INSTALL) -d $(bindir)
- if test $(BIN_SCRIPT)X != X; then \
- $(INSTALL_PROGRAM) $^ $(bindir); \
- fi
-
-uninstall: uninstall-idl
-
-uninstall-idl:
- $(RM) $(idldir)/*.idl
-
-distclean: distclean-other
-
-distclean-other:
- -$(RM) salome_adm/unix/*~ salome_adm/unix/*% salome_adm/unix/*.bak salome_adm/unix/*.new salome_adm/unix/*.old
- -$(RM) salome_adm/unix/make_*
- -$(RM) salome_adm/unix/depend salome_adm/unix/SALOMEconfig.h
- -$(RM) config.cache config.log config.status
-
-@MODULE@
-
-install: install-bin install-include install-end
-
+++ /dev/null
-This file is only here for CVS:
-CVS does not always create empty directory, and adm_local/unix/config_file
-is needed by build_configure.
+++ /dev/null
-# common directories to put headerfiles
-inc_builddir=$(top_builddir)/include/salome
-
-@SET_MAKE@
-SHELL=/bin/sh
-
-# header missing
-
-HAVE_SSTREAM=@HAVE_SSTREAM@
-
-
-LIBS=@LIBS@
-LDFLAGS=@LDFLAGS@ -L$(top_builddir)/lib/salome -Xlinker -rpath-link -Xlinker -L$(top_builddir)/lib/salome
-# add libstdc++ to link c++ library with libtool !
-LDFLAGS+= -lstdc++
-
-CP=@CP@
-
-# CPP
-
-CPP=@CPP@
-CXXCPP=@CXXCPP@
-CPPFLAGS=@CPPFLAGS@ -I$(inc_builddir) -I$(srcdir) -I.
-
-# C
-
-CC = @CC@
-CFLAGS = @CFLAGS@
-C_DEPEND_FLAG = @C_DEPEND_FLAG@
-
-# C++
-
-CXX = @CXX@
-CXXFLAGS = @CXXFLAGS@
-CXX_DEPEND_FLAG = @CXX_DEPEND_FLAG@
-
-# JAVA
-
-JAVA_INCLUDES = @JAVA_INCLUDES@
-JAVA_LIBS = @JAVA_LIBS@
-JAVA_LDPATH = @JAVA_LDPATH@
-
-# PYTHON
-
-PYTHON = @PYTHON@
-PYTHONHOME = @PYTHONHOME@
-PYTHON_INCLUDES = @PYTHON_INCLUDES@
-PYTHON_LIBS = @PYTHON_LIBS@
-PYTHON_VERSION = @PYTHON_VERSION@
-PYTHON_SITE = $(prefix)/lib/python$(PYTHON_VERSION)/site-packages
-PYTHON_SITE_INSTALL = $(prefix)/lib/python$(PYTHON_VERSION)/site-packages/salome
-# QT
-
-QT_ROOT = @QT_ROOT@
-QT_INCLUDES = @QT_INCLUDES@
-QT_MT_INCLUDES = @QT_INCLUDES@ -DQT_THREAD_SUPPORT
-QT_LIBS = @QT_LIBS@
-QT_MT_LIBS = @QT_MT_LIBS@
-
-MOC = @MOC@
-UIC = @UIC@
-
-
-#QWT
-
-QWT_INCLUDES=@QWT_INCLUDES@
-QWT_LIBS=@QWT_LIBS@
-
-# SIP
-SIP = @SIP@
-SIP_INCLUDES = @SIP_INCLUDES@
-SIP_LIBS = @SIP_LIBS@
-
-# PYQT
-PYQT_SIPS = @PYQT_SIPS@
-PYQT_LIBS = @PYQT_LIBS@
-
-# openGL
-OGL_INCLUDES=@OGL_INCLUDES@
-OGL_LIBS=@OGL_LIBS@
-
-# VTK
-VTK_INCLUDES=@VTK_INCLUDES@
-VTK_LIBS=@VTK_LIBS@
-
-# HDF5
-
-HDF5_INCLUDES=@HDF5_INCLUDES@
-HDF5_LIBS=@HDF5_LIBS@
-HDF5_MT_LIBS=@HDF5_MT_LIBS@
-
-# MED2
-
-MED2_INCLUDES=@MED2_INCLUDES@
-MED2_LIBS=@MED2_LIBS@
-MED2_MT_LIBS=@MED2_MT_LIBS@
-
-# OpenCasCade
-
-OCC_INCLUDES=@CAS_CPPFLAGS@
-OCC_CXXFLAGS=@CAS_CXXFLAGS@
-
-#OCC_KERNEL_LIBS=@CAS_KERNEL@
-#OCC_OCAF_LIBS=@CAS_OCAF@
-#OCC_VIEWER_LIBS=@CAS_VIEWER@
-#OCC_MODELER_LIBS=@CAS_MODELER@
-#OCC_DATAEXCHANGE_LIBS=@CAS_DATAEXCHANGE@
-#OCC_LIBS=@CAS_LDFLAGS@
-CAS_KERNEL=@CAS_KERNEL@
-CAS_OCAF=@CAS_OCAF@
-CAS_VIEWER=@CAS_VIEWER@
-CAS_MODELER=@CAS_MODELER@
-CAS_DATAEXCHANGE=@CAS_DATAEXCHANGE@
-CAS_LDPATH=@CAS_LDPATH@
-# MPICH
-
-MPICH_INCLUDES=@MPICH_INCLUDES@
-MPICH_LIBS=@MPICH_LIBS@
-
-# Swig C++ Python
-
-SWIG = @SWIG@
-SWIG_FLAGS = @SWIG_FLAGS@ -I$(inc_builddir) -I$(srcdir) -I.
-
-# OMNIORB
-
-OMNIORB_ROOT = @OMNIORB_ROOT@
-OMNIORB_INCLUDES = @OMNIORB_INCLUDES@
-OMNIORB_LIBS = @OMNIORB_LIBS@
-OMNIORB_CXXFLAGS = @OMNIORB_CXXFLAGS@
-
-OMNIORB_IDL = @OMNIORB_IDL@
-OMNIORB_IDLCXXFLAGS = @OMNIORB_IDLCXXFLAGS@
-OMNIORB_IDLPYFLAGS = @OMNIORB_IDLPYFLAGS@ -I$(top_srcdir)/idl -I$(top_builddir)/idl/salome -I$(KERNEL_ROOT_DIR)/idl/salome
-
-OMNIORB_IDL_CLN_H = @OMNIORB_IDL_CLN_H@
-OMNIORB_IDL_CLN_CXX = @OMNIORB_IDL_CLN_CXX@
-OMNIORB_IDL_CLN_OBJ = @OMNIORB_IDL_CLN_OBJ@
-
-OMNIORB_IDL_SRV_H = @OMNIORB_IDL_SRV_H@
-OMNIORB_IDL_SRV_CXX = @OMNIORB_IDL_SRV_CXX@
-OMNIORB_IDL_SRV_OBJ = @OMNIORB_IDL_SRV_OBJ@
-
-# Default ORB
-
-CORBA_ROOT = @CORBA_ROOT@
-CORBA_INCLUDES = @CORBA_INCLUDES@
-CORBA_LIBS = @CORBA_LIBS@
-CORBA_CXXFLAGS = @CORBA_CXXFLAGS@
-
-IDLCXXFLAGS = -bcxx @IDLCXXFLAGS@ -I$(top_srcdir)/idl -I$(top_builddir)/idl/salome -I$(KERNEL_ROOT_DIR)/idl/salome
-IDLPYFLAGS = @IDLPYFLAGS@
-
-IDL = @IDL@
-
-IDL_CLN_H = @IDL_CLN_H@
-IDL_CLN_CXX = @IDL_CLN_CXX@
-IDL_CLN_OBJ = @IDL_CLN_OBJ@
-
-IDL_SRV_H = @IDL_SRV_H@
-IDL_SRV_CXX = @IDL_SRV_CXX@
-IDL_SRV_OBJ = @IDL_SRV_OBJ@
-
-CPPFLAGS+= $(CORBA_INCLUDES)
-CXXFLAGS+= $(CORBA_CXXFLAGS)
-
-# add corba libs when link salome application !
-#LDFLAGS+= $(CORBA_LIBS)
-LIBS+=$(CORBA_LIBS)
-
-DOXYGEN = @DOXYGEN@
-
-## Shared libraries
-LT_STATIC_EXEC=@LT_STATIC_EXEC@
-DYNAMIC_DIRS=@DYNAMIC_DIRS@
-LT_LIB=libtool
-LT=$(top_builddir)/libtool
-LT_COMPILE=$(LT) --mode=compile $(CC)
-LT_LINK_LIB=$(LT_LIB) --mode=link $(CC) -rpath $(libdir)
-LT_LINK_EXE=$(LT) --mode=link $(CC) $(LT_STATIC_EXEC) -dlopen self -rpath $(bindir) $(DYNAMIC_DIRS)
-LT_RUN=$(LT) --mode=execute
-LT_INSTALL_PROG=$(LT) --mode=install $(INSTALL_PROGRAM)
-LT_INSTALL_LIB=$(LT) --mode=install $(INSTALL_DATA)
-LT_UNINSTALL=$(LT) --mode=uninstall $(RM)
-
-INSTALL=@INSTALL@
-INSTALL_PROGRAM=@INSTALL_PROGRAM@
-INSTALL_DATA=@INSTALL_DATA@
-
-# create a symbolic link (or a copie ?)
-LN_S=@LN_S@
-
-## Installation points
-prefix=@prefix@
-exec_prefix=@exec_prefix@
-bindir=@bindir@/salome
-libdir=@libdir@/salome
-# warning : if user give this path in configure we could have salome/salome :-(
-includedir=@includedir@/salome
-datadir=@datadir@/salome
-idldir=${prefix}/idl/salome
-sharedpydir=@libdir@/python$(PYTHON_VERSION)/site-packages/salome/shared_modules
-incmakedir=${prefix}/salome_adm/unix
-
-docdir=${prefix}/doc/salome
-
-#
-# begin of package rules
-#
-
-.PHONY: all lib bin inc resources data docs tests install uninstall dep depend depend_idl cleandep mostlyclean clean distclean
-
-.SUFFIXES: .cxx .cc .c .f .o .lo .idl .py .i .ui .po .qm
-
-all:
- $(MAKE) inc
- $(MAKE) depend_idl
- $(MAKE) depend
- $(MAKE) lib
- $(MAKE) bin
- $(MAKE) resources
- $(MAKE) data
-
-#
-# add target to build administrative files
-#
-
-Makefile: $(top_builddir)/config.status $(srcdir)/Makefile.in
- cd $(top_builddir) ; ./config.status
-
-$(top_builddir)/config.status: $(top_srcdir)/configure
- cd $(top_builddir) ; ./config.status --recheck
-
-# VPATH contain $(srcdir), so make configure is good in top_srcdir and we must add target configure otherwise :-)
-ifneq ($(top_srcdir),$(srcdir))
-configure: $(top_srcdir)/configure
-endif
-
-$(top_srcdir)/configure: $(top_srcdir)/configure.in $(top_srcdir)/aclocal.m4
- cd $(top_srcdir) ; autoconf
-
-$(top_srcdir)/configure.in: $(top_srcdir)/configure.in.base
- cd $(top_srcdir) && ./build_configure
-
-
-ACLOCAL_SRC = \
-ac_cxx_bool.m4 check_corba.m4 check_vtk.m4 \
-ac_cxx_depend_flag.m4 check_hdf5.m4 enable_pthreads.m4 \
-ac_cxx_mutable.m4 check_mico.m4 libtool.m4 \
-ac_cxx_namespaces.m4 check_omniorb.m4 pyembed.m4 \
-ac_cxx_partial_specialization.m4 check_opengl.m4 python.m4 \
-ac_cxx_typename.m4 check_pthreads.m4 check_cas.m4 \
-ac_cc_warnings.m4 check_qt.m4 check_med2.m4 \
-check_swig.m4
-
-$(top_srcdir)/aclocal.m4: $(ACLOCAL_SRC:%=@KERNEL_ROOT_DIR@/salome_adm/unix/config_files/%)
- cd $(top_srcdir) ; aclocal --acdir=adm_local/unix/config_files -I @KERNEL_ROOT_DIR@/salome_adm/unix/config_files
+++ /dev/null
-#=======================================================================
-# Begin specific part to omniorb
-# (include from file adm/unix/make_omniorb generated by
-# adm/unix/make_omniorb.in)
-#=======================================================================
-# -* Makefile *-
-#
-# Author : Patrick GOLDBRONN (CEA)
-# Date : 29/06/2001
-# $Header$
-#
-
-# Client and server object are the same with omniorb
-# There are one header file and one source file generate
-
-#IDLOBJ=$(IDLSRC:%.idl=%$(IDL_CLN_OBJ))
-
-# dependancies between idl and it's generated files
-%$(OMNIORB_IDL_CLN_CXX) %$(OMNIORB_IDL_CLN_H): ${KERNEL_ROOT_DIR}/idl/salome/%.idl
- $(OMNIORB_IDL) $(IDLCXXFLAGS) $(OMNIORB_IDLCXXFLAGS) $<
-
-%$(OMNIORB_IDL_CLN_CXX) %$(OMNIORB_IDL_CLN_H): ${top_srcdir}/idl/%.idl
- $(OMNIORB_IDL) $(IDLCXXFLAGS) $(OMNIORB_IDLCXXFLAGS) $<
-
-# dependncies between idl files
-depend_idl: .depidl
-
-# we use cpp to generate dependencies between idl files.
-# we change cpp output to keep only idl file and transform it to get a suitable rule
-.depidl: $(IDL_FILES)
- @touch $@
- @for dep in $? dummy; do \
- if [ $$dep != "dummy" ]; then \
- echo Building dependencies for $$dep; \
- basedep=`basename $$dep .idl`; \
- header="$$basedep"$(IDL_CLN_H); \
- sed '\%^'"$$header"':%,\%[^\\]$$%d' <$@ >$@- && mv $@- $@; \
- $(CPP) $(C_DEPEND_FLAG) -I$(srcdir) $$dep 2>/dev/null | \
- sed `echo "s%$$basedep\\.idl%$$header:%g"` | \
- sed 's% $(srcdir)/% %g' | \
- sed 's% $(top_srcdir)/% %g' | \
- sed 's% $(top_builddir)/% %g' | \
- sed 's%^.*:\.o: *%%' | sed 's%^ *\\ *%%'| sed 's%^ *\(.*\):%\1:%' | \
- sed 's/\.idl/$(IDL_CLN_H)/' >>$@; \
- echo '' >>$@; \
- fi; \
- done ;
-
--include .depidl
-
-#=======================================================================
-# End specific part to omniorb
-#=======================================================================
+++ /dev/null
-THIS IS SALOME - SUPERV VERSION: 1.4.1
+++ /dev/null
-#!/bin/bash
-
-#
-# Tool for updating list of .in file for the SALOME project
-# and regenerating configure script
-#
-# Author : Marc Tajchman - CEA
-# Date : 10/10/2002
-# $Header$
-#
-
-ORIG_DIR=`pwd`
-CONF_DIR=`echo $0 | sed -e "s,[^/]*$,,;s,/$,,;s,^$,.,"`
-
-########################################################################
-# Test if the KERNEL_ROOT_DIR is set correctly
-
-if test ! -d "${KERNEL_ROOT_DIR}"; then
- echo "failed : KERNEL_ROOT_DIR variable is not correct !"
- exit
-fi
-
-# Test if the KERNEL_SRC is set correctly
-
-#if test ! -d "${KERNEL_SRC}"; then
-# echo "failed : KERNEL_SRC variable is not correct !"
-# exit
-#fi
-########################################################################
-# find_in - utility function
-#
-# usage :
-# find_in directory filename
-#
-# Finds files following the *.in pattern, recursively in the
-# directory (first argument).
-# Results are appended into the file (second argument)
-#
-# Difference from the standard unix find is that files are tested
-# before directories
-#
-
-find_in()
-{
- local i
- local f=$2
-
-# if the first argument is not a directory, returns
-
- if [ ! -d "$1" ] ; then
- return
- fi
-
-# dont look in the CVS directories
-
- case $1 in
- */CVS) return ;;
- */adm_local/*) return ;;
- *) ;;
- esac
-
-# for each regular file contained in the directory
-# test if it's a .in file
-
- for i in "$1"/*
- do
- if [ -f "$i" ] ; then
- case $i in
- *.in) echo " "$i" \\" >> $f;;
- *) ;;
- esac
- fi
- done
-
-# for each subdirectory of the first argument, proceeds recursively
-
- for i in "$1"/*
- do
- if [ -d "$i" ] ; then
- find_in "$i" "$f"
- fi
- done
-}
-
-
-#######################################################################
-# Generate list of .in files (Makefile.in, config.h.in, etc)
-# appending it in file configure.in
-
-cd ${CONF_DIR}
-ABS_CONF_DIR=`pwd`
-
-#
-# Common part of the configure.in file
-#
-chmod u+w configure.in.base
-if ! \cp -f configure.in.base configure.in_tmp1
-then
- echo
- echo "error : can't create files in" ${CONF_DIR}
- echo "aborting ..."
- chmod u-w configure.in.base
- exit
-fi
-chmod u-w configure.in.base
-
-if [ -e "${CONF_DIR}/salome_adm" ] ; then
- \rm -f ${CONF_DIR}/salome_adm
-fi
-
-# make a link allowing AC_OUTPUT to find the salome_adm/.../*.in files
-echo "" >> configure.in_tmp1
-echo 'ln -fs ${KERNEL_ROOT_DIR}/salome_adm ${ROOT_SRCDIR}/salome_adm' >> configure.in_tmp1
-
-echo "" >> configure.in_tmp1
-echo "AC_OUTPUT([ \\" >> configure.in_tmp1
-
-#
-# List of .in files in the adm/unix directory
-# These files MUST be on top of AC_OUTPUT list so we
-# put them "manually"
-#
-
-echo " ./salome_adm/unix/SALOMEconfig.h \\" >> configure.in_tmp1
-echo " ./salome_adm/unix/F77config.h \\" >> configure.in_tmp1
-echo " ./salome_adm/unix/sstream \\" >> configure.in_tmp1
-echo " ./salome_adm/unix/depend \\" >> configure.in_tmp1
-echo " ./adm_local/unix/make_omniorb \\" >> configure.in_tmp1
-echo " ./salome_adm/unix/envScript \\" >> configure.in_tmp1
-echo " ./adm_local/unix/make_commence \\" >> configure.in_tmp1
-echo " ./salome_adm/unix/make_conclude \\" >> configure.in_tmp1
-echo " ./salome_adm/unix/make_module \\" >> configure.in_tmp1
-
-\rm -f configure.in_tmp2 configure.in_tmp3
-touch configure.in_tmp2
-find_in . configure.in_tmp2
-sed -e '/^...salome_adm/d' configure.in_tmp2 > configure.in_tmp3
-sed -e '/^...adm_local.unix.make_omniorb/d' configure.in_tmp3 configure.in_tmp2
-sed -e '/^...adm_local.unix.make_commence/d' configure.in_tmp2 > configure.in_tmp3
-sed -e '/configure.in/d' configure.in_tmp3 > configure.in_tmp2
-sed -e 's/.in / /' configure.in_tmp2 >> configure.in_tmp1
-#sed '/^.*salome_adm/d' configure.in_tmp2 > configure.in_tmp3
-#sed '/configure.in/d' configure.in_tmp3 > configure.in_tmp2
-#sed 's/.in / /' configure.in_tmp2 >> configure.in_tmp1
-
-echo "])" >> configure.in_tmp1
-
-# delete the link created for AC_OUTPUT
-#echo "" >> configure.in_tmp1
-#echo 'rm -f ${ROOT_SRCDIR}/salome_adm' >> configure.in_tmp1
-\mv configure.in_tmp1 configure.in_new
-\rm -f configure.in_tmp2 configure.in_tmp3
-
-
-########################################################################
-# Create new (or replace old) configure.in file
-# Print a message if the file is write protected
-#
-
-echo
-if test ! -f configure.in
-then
- echo -n "Creating new file 'configure.in' ... "
- if \mv configure.in_new configure.in >& /dev/null
- then
- echo "done"
- else
- echo "error, check your file permissions"
- fi
-else
- echo -n "Updating 'configure.in' file ... "
- if ! \cp configure.in configure.in_old >& /dev/null
- then
- echo
- echo
- echo "Can't backup previous configure.in"
- echo -n "Continue (you will not be able to revert) - (Y/N) ? "
- read R
- case "x$R" in
- xn*) exit;;
- xN*) exit;;
- esac
- echo
- echo -n " "
- fi
- if \cp configure.in_new configure.in >& /dev/null
- then
- echo "done"
- else
- echo
- echo "error, can't update previous configure.in"
- fi
-fi
-
-########################################################################
-# Use autoconf to rebuild the configure script
-#
-
-if test -f configure
-then
- echo -n "Updating 'configure' script ... "
-else
- echo -n "Creating 'configure' script ... "
-fi
-
-aclocal --acdir=adm_local/unix/config_files -I ${KERNEL_ROOT_DIR}/salome_adm/unix/config_files
-if autoconf
-then
- echo "done"
-else
- echo "failed (check file permissions and/or user quotas ...)"
-fi
-
-cd ${ORIG_DIR}
-
-echo
+++ /dev/null
-#
-# PLEASE DO NOT MODIFY configure.in FILE
-#
-# ALL CHANGES WILL BE DISCARDED BY THE NEXT
-# build_configure COMMAND
-#
-# CHANGES MUST BE MADE IN configure.in.base FILE
-#
-#
-# Author : Marc Tajchman (CEA)
-# Date : 28/06/2001
-# Modified by : Patrick GOLDBRONN (CEA)
-# Modified by : Marc Tajchman (CEA)
-#
-# Created from configure.in.base
-#
-
-AC_INIT(src)
-AC_CONFIG_AUX_DIR(${KERNEL_ROOT_DIR}/salome_adm/unix/config_files)
-AC_CANONICAL_HOST
-
-PACKAGE=salome
-AC_SUBST(PACKAGE)
-
-VERSION=0.0.1
-AC_SUBST(VERSION)
-
-dnl
-dnl Initialize source and build root directories
-dnl
-
-ROOT_BUILDDIR=`pwd`
-ROOT_SRCDIR=`echo $0 | sed -e "s,[[^/]]*$,,;s,/$,,;s,^$,.,"`
-cd $ROOT_SRCDIR
-ROOT_SRCDIR=`pwd`
-cd $ROOT_BUILDDIR
-
-AC_SUBST(ROOT_SRCDIR)
-AC_SUBST(ROOT_BUILDDIR)
-
-echo
-echo Source root directory : $ROOT_SRCDIR
-echo Build root directory : $ROOT_BUILDDIR
-echo
-echo
-
-if test -z "$AR"; then
- AC_CHECK_PROGS(AR,ar xar,:,$PATH)
-fi
-AC_SUBST(AR)
-
-dnl Export the AR macro so that it will be placed in the libtool file
-dnl correctly.
-export AR
-
-echo
-echo ---------------------------------------------
-echo testing make
-echo ---------------------------------------------
-echo
-
-AC_PROG_MAKE_SET
-AC_PROG_INSTALL
-dnl
-dnl libtool macro check for CC, LD, NM, LN_S, RANLIB, STRIP + pour les librairies dynamiques !
-
-AC_ENABLE_DEBUG(yes)
-AC_DISABLE_PRODUCTION
-
-echo ---------------------------------------------
-echo testing libtool
-echo ---------------------------------------------
-
-dnl first, we set static to no!
-dnl if we want it, use --enable-static
-AC_ENABLE_STATIC(no)
-
-AC_LIBTOOL_DLOPEN
-AC_PROG_LIBTOOL
-
-dnl Fix up the INSTALL macro if it s a relative path. We want the
-dnl full-path to the binary instead.
-case "$INSTALL" in
- *install-sh*)
- INSTALL='\${KERNEL_ROOT_DIR}'/salome_adm/unix/config_files/install-sh
- ;;
-esac
-
-echo
-echo ---------------------------------------------
-echo testing C/C++
-echo ---------------------------------------------
-echo
-
-cc_ok=no
-dnl inutil car libtool
-dnl AC_PROG_CC
-AC_PROG_CXX
-AC_DEPEND_FLAG
-# AC_CC_WARNINGS([ansi])
-cc_ok=yes
-
-dnl Library libdl :
-AC_CHECK_LIB(dl,dlopen)
-
-dnl add library libm :
-AC_CHECK_LIB(m,ceil)
-
-dnl
-dnl Well we use sstream which is not in gcc pre-2.95.3
-dnl We must test if it exists. If not, add it in include !
-dnl
-
-AC_CXX_HAVE_SSTREAM
-
-dnl
-dnl ---------------------------------------------
-dnl testing MPICH
-dnl ---------------------------------------------
-dnl
-
-CHECK_MPICH
-
-echo
-echo ---------------------------------------------
-echo testing LEX \& YACC
-echo ---------------------------------------------
-echo
-
-lex_yacc_ok=no
-AC_PROG_YACC
-AC_PROG_LEX
-lex_yacc_ok=yes
-
-echo
-echo ---------------------------------------------
-echo testing python
-echo ---------------------------------------------
-echo
-
-CHECK_PYTHON
-
-dnl echo
-dnl echo ---------------------------------------------
-dnl echo testing java
-dnl echo ---------------------------------------------
-dnl echo
-
-dnl CHECK_JAVA
-
-echo
-echo ---------------------------------------------
-echo testing swig
-echo ---------------------------------------------
-echo
-
-CHECK_SWIG
-
-echo
-echo ---------------------------------------------
-echo testing threads
-echo ---------------------------------------------
-echo
-
-ENABLE_PTHREADS
-
-echo
-echo ---------------------------------------------
-echo testing omniORB
-echo ---------------------------------------------
-echo
-
-CHECK_OMNIORB
-
-dnl echo
-dnl echo ---------------------------------------------
-dnl echo testing mico
-dnl echo ---------------------------------------------
-dnl echo
-
-dnl CHECK_MICO
-
-echo
-echo ---------------------------------------------
-echo default ORB : omniORB
-echo ---------------------------------------------
-echo
-
-DEFAULT_ORB=omniORB
-CHECK_CORBA
-
-AC_SUBST_FILE(CORBA)
-corba=make_$ORB
-CORBA=adm_local/unix/$corba
-
-echo
-echo ---------------------------------------------
-echo testing openGL
-echo ---------------------------------------------
-echo
-
-CHECK_OPENGL
-
-echo
-echo ---------------------------------------------
-echo testing QT
-echo ---------------------------------------------
-echo
-
-CHECK_QT
-
-echo
-echo ---------------------------------------------
-echo testing VTK
-echo ---------------------------------------------
-echo
-
-CHECK_VTK
-
-echo
-echo ---------------------------------------------
-echo testing HDF5
-echo ---------------------------------------------
-echo
-
-CHECK_HDF5
-
-echo
-echo ---------------------------------------------
-echo testing MED2
-echo ---------------------------------------------
-echo
-
-CHECK_MED2
-
-echo
-echo ---------------------------------------------
-echo Testing OpenCascade
-echo ---------------------------------------------
-echo
-
-CHECK_CAS
-
-echo
-echo ---------------------------------------------
-echo Testing html generators
-echo ---------------------------------------------
-echo
-
-CHECK_HTML_GENERATORS
-
-echo
-echo ---------------------------------------------
-echo Testing Kernel
-echo ---------------------------------------------
-echo
-
-CHECK_KERNEL
-
-echo
-echo ---------------------------------------------
-echo Summary
-echo ---------------------------------------------
-echo
-
-echo Configure
-variables="cc_ok lex_yacc_ok python_ok swig_ok threads_ok OpenGL_ok qt_ok vtk_ok hdf5_ok med2_ok omniORB_ok occ_ok doxygen_ok graphviz_ok Kernel_ok"
-
-for var in $variables
-do
- printf " %10s : " `echo \$var | sed -e "s,_ok,,"`
- eval echo \$$var
-done
-
-echo
-echo "Default ORB : $DEFAULT_ORB"
-echo
-
-dnl generals files which could be included in every makefile
-
-AC_SUBST_FILE(COMMENCE) COMMENCE=adm_local/unix/make_commence
-AC_SUBST_FILE(CONCLUDE) CONCLUDE=salome_adm/unix/make_conclude
-AC_SUBST_FILE(MODULE) MODULE=salome_adm/unix/make_module
-
-dnl les dependences
-AC_SUBST_FILE(DEPEND) DEPEND=salome_adm/unix/depend
-
-dnl We don t need to say when we re entering directories if we re using
-dnl GNU make becuase make does it for us.
-if test "X$GMAKE" = "Xyes"; then
- AC_SUBST(SETX) SETX=":"
-else
- AC_SUBST(SETX) SETX="set -x"
-fi
-
-# make other build directories
-for rep in salome_adm adm_local doc bin/salome include/salome lib/salome share/salome/resources idl
-do
-# if test ! -d $rep ; then
-# eval mkdir $rep
-# fi
- $INSTALL -d $rep
-done
-
-echo
-echo ---------------------------------------------
-echo copying resource files, shell scripts, and
-echo xml files
-echo ---------------------------------------------
-echo
-
-
-dnl copy resources directories
-
-#for i in `find $ROOT_SRCDIR -name 'resources' -print`
-#do
-# local_res=`echo $i | sed -e "s,$ROOT_SRCDIR,.,"`
-# local_res_dir=`echo $local_res | sed -e "s,[[^/]]*$,,;s,/$,,;s,^$,.,"`
-# mkdir -p $local_res_dir
-# cd $local_res_dir
-# ln -fs $i
-# echo $local_res
-# cd $ROOT_BUILDDIR
-#done
-
-dnl copy shells and utilities contained in the bin directory
-dnl excluding .in files (treated in AC-OUTPUT below) and CVS
-dnl directory
-
-mkdir -p bin/salome
-cd bin/salome
-for i in $ROOT_SRCDIR/bin/*
-do
- local_bin=`echo $i | sed -e "s,$ROOT_SRCDIR,.,"`
- case "$local_bin" in
- *.in | *~) ;;
- ./bin/CVS | ./bin/salome) ;;
- *) /usr/bin/install -C $i .; echo $local_bin ;;
- esac
-done
-cd $ROOT_BUILDDIR
-
-AC_SUBST_FILE(ENVSCRIPT) ENVSCRIPT=salome_adm/unix/envScript
-
-dnl copy xml files to the build tree (lib directory)
-dnl pourquoi ????
-
-#cd lib
-#for i in `find $ROOT_SRCDIR -name "*.xml" -print`
-#do
-# ln -fs $i
-# echo `echo $i | sed -e "s,$ROOT_SRCDIR,.,"`
-#done
-#cd $ROOT_BUILDDIR
-
-
-echo
-echo ---------------------------------------------
-echo generating Makefiles and configure files
-echo ---------------------------------------------
-echo
-
-AC_OUTPUT_COMMANDS([ \
- chmod +x ./bin/* \
-])
-
-## do not delete this line
+++ /dev/null
-
-# -* Makefile *-
-#
-# Author : Patrick GOLDBRONN (CEA)
-# Date : 30/11/2001
-# $Header$
-#
-# source path
-top_srcdir=@top_srcdir@
-top_builddir=..
-srcdir=@srcdir@
-VPATH=.:@srcdir@
-
-SUBDIRS= salome
-
-@COMMENCE@
-
-docs:
- @@SETX@; for d in $(SUBDIRS); do \
- (cd $$d && $(MAKE) $@) || exit 1; \
- done
-clean:
- @@SETX@; for d in $(SUBDIRS); do \
- (cd $$d && $(MAKE) $@) || exit 1; \
- done
-
-distclean: clean
- @@SETX@; for d in $(SUBDIRS); do \
- (cd $$d && $(MAKE) $@) || exit 1; \
- done
-
-install:
- @@SETX@; for d in $(SUBDIRS); do \
- (cd $$d && $(MAKE) $@) || exit 1; \
- done
-
-uninstall:
- @@SETX@; for d in $(SUBDIRS); do \
- (cd $$d && $(MAKE) $@) || exit 1; \
- done
+++ /dev/null
-<HTML><b>
-<table width="100%" BORDER>
-<tr bgcolor="#FFFFCC">
-<td colspan="11"><font size="+3"><b><div align="center"><i>interface AddComponent</i></div></b></font></td>
-</tr>
-<td width="50%" bgcolor= "lightgreen" ><font size="+2"><div align="center"><b><i>IDL file</i></b></div></font></td>
-<td width="50%" bgcolor= "lightgreen"><font size="+2"><div align="center"><b><i>Python</i></b></div></font></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>Adder Addition ( )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = Addition ( )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>double Add ( in double x, in double y, out double z )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>[ return_value, z ] = Add ( x, y )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>double LastResult ( )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = LastResult ( )</b></div></td>
-</tr>
-</table><br>
-<table width="100%" BORDER>
-<tr bgcolor="#FFFFCC">
-<td colspan="11"><font size="+3"><b><div align="center"><i>interface Adder</i></div></b></font></td>
-</tr>
-<td width="50%" bgcolor= "lightgreen" ><font size="+2"><div align="center"><b><i>IDL file</i></b></div></font></td>
-<td width="50%" bgcolor= "lightgreen"><font size="+2"><div align="center"><b><i>Python</i></b></div></font></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>double Add ( in double x, in double y, out double z )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>[ return_value, z ] = Add ( x, y )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>double AddAndCompare ( in double x, in double y, in Adder anOtherAdder, out double z )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>[ return_value, z ] = AddAndCompare ( x, y, anOtherAdder )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>void SetLastResult ( in double z )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>SetLastResult ( z )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>void LastResult ( out double z )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>z = LastResult ( )</b></div></td>
-</tr>
-</table><br>
-</b></HTML>
+++ /dev/null
-<HTML><b>
-<table width="100%" BORDER>
-<tr bgcolor="#FFFFCC">
-<td colspan="11"><font size="+3"><b><div align="center"><i>interface DivComponent</i></div></b></font></td>
-</tr>
-<td width="50%" bgcolor= "lightgreen" ><font size="+2"><div align="center"><b><i>IDL file</i></b></div></font></td>
-<td width="50%" bgcolor= "lightgreen"><font size="+2"><div align="center"><b><i>Python</i></b></div></font></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>void Div ( in double x, in double y, out double z )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>z = Div ( x, y )</b></div></td>
-</tr>
-</table><br>
-</b></HTML>
+++ /dev/null
-<HTML><b>
-<table width="100%" BORDER>
-<tr bgcolor="#FFFFCC">
-<td colspan="11"><font size="+3"><b><div align="center"><i>interface FactorialComponent</i></div></b></font></td>
-</tr>
-<td width="50%" bgcolor= "lightgreen" ><font size="+2"><div align="center"><b><i>IDL file</i></b></div></font></td>
-<td width="50%" bgcolor= "lightgreen"><font size="+2"><div align="center"><b><i>Python</i></b></div></font></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>long eval ( in long n )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = eval ( n )</b></div></td>
-</tr>
-</table><br>
-</b></HTML>
+++ /dev/null
-<HTML><b>
-<table width="100%" BORDER>
-<tr bgcolor="#FFFFCC">
-<td colspan="11"><font size="+3"><b><div align="center"><i>interface MulComponent</i></div></b></font></td>
-</tr>
-<td width="50%" bgcolor= "lightgreen" ><font size="+2"><div align="center"><b><i>IDL file</i></b></div></font></td>
-<td width="50%" bgcolor= "lightgreen"><font size="+2"><div align="center"><b><i>Python</i></b></div></font></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>void Mul ( in double x, in double y, out double z )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>z = Mul ( x, y )</b></div></td>
-</tr>
-</table><br>
-</b></HTML>
+++ /dev/null
-<HTML><b>
-<table width="100%" BORDER>
-<tr bgcolor="#FFFFCC">
-<td colspan="11"><font size="+3"><b><div align="center"><i>interface PCSRMat</i></div></b></font></td>
-</tr>
-<td width="50%" bgcolor= "lightgreen" ><font size="+2"><div align="center"><b><i>IDL file</i></b></div></font></td>
-<td width="50%" bgcolor= "lightgreen"><font size="+2"><div align="center"><b><i>Python</i></b></div></font></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>unsigned long NbRows ( )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = NbRows ( )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>unsigned long NbCols ( )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = NbCols ( )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>void LMat ( out unsigned long start, out unsigned long end )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>[ start, end ] = LMat ( )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>CSRMatStruct ncsrmat ( in unsigned long start, in unsigned long end )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = ncsrmat ( start, end )</b></div></td>
-</tr>
-</table><br>
-<table width="100%" BORDER>
-<tr bgcolor="#FFFFCC">
-<td colspan="11"><font size="+3"><b><div align="center"><i>interface NPMatComponent</i></div></b></font></td>
-</tr>
-<td width="50%" bgcolor= "lightgreen" ><font size="+2"><div align="center"><b><i>IDL file</i></b></div></font></td>
-<td width="50%" bgcolor= "lightgreen"><font size="+2"><div align="center"><b><i>Python</i></b></div></font></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>void SetFileName ( in string filename )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>SetFileName ( filename )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>void ReadDataFromFile ( in string id_callback )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>ReadDataFromFile ( id_callback )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>void SaveDataToFile ( in string id_callback )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>SaveDataToFile ( id_callback )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>void SPGetData ( in string id_callback )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>SPGetData ( id_callback )</b></div></td>
-</tr>
-</table><br>
-</b></HTML>
+++ /dev/null
-<HTML><b>
-<table width="100%" BORDER>
-<tr bgcolor="#FFFFCC">
-<td colspan="11"><font size="+3"><b><div align="center"><i>interface NPSolveComponent</i></div></b></font></td>
-</tr>
-<td width="50%" bgcolor= "lightgreen" ><font size="+2"><div align="center"><b><i>IDL file</i></b></div></font></td>
-<td width="50%" bgcolor= "lightgreen"><font size="+2"><div align="center"><b><i>Python</i></b></div></font></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>void Solve ( in PCSRMat A, in PVec b, out PVec x )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>x = Solve ( A, b )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>void SPSolve ( in PCSRMat A, in PVec b, in string id_callback )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>SPSolve ( A, b, id_callback )</b></div></td>
-</tr>
-</table><br>
-</b></HTML>
+++ /dev/null
-<HTML><b>
-<table width="100%" BORDER>
-<tr bgcolor="#FFFFCC">
-<td colspan="11"><font size="+3"><b><div align="center"><i>interface PVec</i></div></b></font></td>
-</tr>
-<td width="50%" bgcolor= "lightgreen" ><font size="+2"><div align="center"><b><i>IDL file</i></b></div></font></td>
-<td width="50%" bgcolor= "lightgreen"><font size="+2"><div align="center"><b><i>Python</i></b></div></font></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>unsigned long Size ( )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = Size ( )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>void LVec ( out unsigned long start, out unsigned long end )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>[ start, end ] = LVec ( )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>DoubleVec nvec ( in unsigned long start, in unsigned long end )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = nvec ( start, end )</b></div></td>
-</tr>
-</table><br>
-<table width="100%" BORDER>
-<tr bgcolor="#FFFFCC">
-<td colspan="11"><font size="+3"><b><div align="center"><i>interface NPVecComponent</i></div></b></font></td>
-</tr>
-<td width="50%" bgcolor= "lightgreen" ><font size="+2"><div align="center"><b><i>IDL file</i></b></div></font></td>
-<td width="50%" bgcolor= "lightgreen"><font size="+2"><div align="center"><b><i>Python</i></b></div></font></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>void SetFileName ( in string filename )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>SetFileName ( filename )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>void ReadDataFromFile ( in string id_callback )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>ReadDataFromFile ( id_callback )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>void SaveDataToFile ( in string id_callback )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>SaveDataToFile ( id_callback )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>void SPGetData ( in string id_callback )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>SPGetData ( id_callback )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>void SPPutData ( in PVec vec, in string id_callback )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>SPPutData ( vec, id_callback )</b></div></td>
-</tr>
-</table><br>
-</b></HTML>
+++ /dev/null
-<HTML><b>
-<table width="100%" BORDER>
-<tr bgcolor="#FFFFCC">
-<td colspan="11"><font size="+3"><b><div align="center"><i>interface SuperG</i></div></b></font></td>
-</tr>
-<td width="50%" bgcolor= "lightgreen" ><font size="+2"><div align="center"><b><i>IDL file</i></b></div></font></td>
-<td width="50%" bgcolor= "lightgreen"><font size="+2"><div align="center"><b><i>Python</i></b></div></font></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>Graph Graph ( in string aGraph )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = Graph ( aGraph )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>Graph GraphE ( in string aGraph )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = GraphE ( aGraph )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>Value StringValue ( in string aString )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = StringValue ( aString )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>Value AnyValue ( in any anAny )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = AnyValue ( anAny )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>Graph getGraph ( in string ior )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = getGraph ( ior )</b></div></td>
-</tr>
-</table><br>
-<table width="100%" BORDER>
-<tr bgcolor="#FFFFCC">
-<td colspan="11"><font size="+3"><b><div align="center"><i>interface CNode</i></div></b></font></td>
-</tr>
-<td width="50%" bgcolor= "lightgreen" ><font size="+2"><div align="center"><b><i>IDL file</i></b></div></font></td>
-<td width="50%" bgcolor= "lightgreen"><font size="+2"><div align="center"><b><i>Python</i></b></div></font></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>string Name ( )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = Name ( )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>Service Service ( )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = Service ( )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>KindOfNode Kind ( )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = Kind ( )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>SDate CreationDate ( )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = CreationDate ( )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>SDate LastUpdateDate ( )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = LastUpdateDate ( )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>string Version ( )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = Version ( )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>string Author ( )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = Author ( )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>string Comment ( )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = Comment ( )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>boolean SetName ( in string aNewName )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = SetName ( aNewName )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>boolean SetAuthor ( in string anAuthor )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = SetAuthor ( anAuthor )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>boolean SetComment ( in string aComment )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = SetComment ( aComment )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>Port Port ( in string aParameterName )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = Port ( aParameterName )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>Port Input ( in string InputParameterName, in Value aValue )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = Input ( InputParameterName, aValue )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>ListOfPorts Ports ( )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = Ports ( )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>ListOfLinks Links ( )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = Links ( )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>boolean IsGraph ( )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = IsGraph ( )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>boolean IsComputing ( )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = IsComputing ( )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>boolean IsFactory ( )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = IsFactory ( )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>boolean IsInLine ( )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = IsInLine ( )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>boolean IsGOTO ( )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = IsGOTO ( )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>boolean IsLoop ( )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = IsLoop ( )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>boolean IsEndLoop ( )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = IsEndLoop ( )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>boolean IsSwitch ( )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = IsSwitch ( )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>boolean IsEndSwitch ( )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = IsEndSwitch ( )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>long SubGraph ( )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = SubGraph ( )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>long Thread ( )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = Thread ( )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>boolean IsWaiting ( )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = IsWaiting ( )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>boolean IsReady ( )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = IsReady ( )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>boolean IsRunning ( )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = IsRunning ( )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>boolean IsDone ( )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = IsDone ( )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>boolean IsSuspended ( )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = IsSuspended ( )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>GraphState State ( )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = State ( )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>boolean ReadyW ( )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = ReadyW ( )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>boolean RunningW ( )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = RunningW ( )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>boolean DoneW ( )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = DoneW ( )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>boolean SuspendedW ( )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = SuspendedW ( )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>boolean Kill ( )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = Kill ( )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>boolean KillDone ( )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = KillDone ( )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>boolean Stop ( )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = Stop ( )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>boolean Suspend ( )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = Suspend ( )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>boolean SuspendDone ( )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = SuspendDone ( )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>boolean Resume ( )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = Resume ( )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>boolean ReRun ( )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = ReRun ( )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>boolean ReRunAt ( in string aNodeName )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = ReRunAt ( aNodeName )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>boolean ReStart ( )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = ReStart ( )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>boolean ReStartAt ( in string aNodeName )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = ReStartAt ( aNodeName )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>AutomatonState AutoState ( )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = AutoState ( )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>ControlState Control ( )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = Control ( )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>void ControlClear ( )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>ControlClear ( )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>boolean ContainerKill ( )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = ContainerKill ( )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>void Coords ( in long X, in long Y )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>Coords ( X, Y )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>long X ( )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = X ( )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>long Y ( )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = Y ( )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>long CpuUsed ( )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = CpuUsed ( )</b></div></td>
-</tr>
-</table><br>
-<table width="100%" BORDER>
-<tr bgcolor="#FFFFCC">
-<td colspan="11"><font size="+3"><b><div align="center"><i>interface FNode</i></div></b></font></td>
-</tr>
-<td width="50%" bgcolor= "lightgreen" ><font size="+2"><div align="center"><b><i>IDL file</i></b></div></font></td>
-<td width="50%" bgcolor= "lightgreen"><font size="+2"><div align="center"><b><i>Python</i></b></div></font></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>string GetComponentName ( )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = GetComponentName ( )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>string GetInterfaceName ( )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = GetInterfaceName ( )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>string GetContainer ( )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = GetContainer ( )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>boolean SetComponentName ( in string aComponentName )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = SetComponentName ( aComponentName )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>boolean SetInterfaceName ( in string anInterfaceName )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = SetInterfaceName ( anInterfaceName )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>boolean SetContainer ( in string aContainer )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = SetContainer ( aContainer )</b></div></td>
-</tr>
-</table><br>
-<table width="100%" BORDER>
-<tr bgcolor="#FFFFCC">
-<td colspan="11"><font size="+3"><b><div align="center"><i>interface INode</i></div></b></font></td>
-</tr>
-<td width="50%" bgcolor= "lightgreen" ><font size="+2"><div align="center"><b><i>IDL file</i></b></div></font></td>
-<td width="50%" bgcolor= "lightgreen"><font size="+2"><div align="center"><b><i>Python</i></b></div></font></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>void SetPyFunction ( in string FuncName, in ListOfStrings aPyInitFunction )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>SetPyFunction ( FuncName, aPyInitFunction )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>ListOfStrings PyFunction ( )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = PyFunction ( )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>string PyFuncName ( )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = PyFuncName ( )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>Port InPort ( in string aParameterName, in string aParameterType )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = InPort ( aParameterName, aParameterType )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>Port OutPort ( in string aParameterName, in string aParameterType )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = OutPort ( aParameterName, aParameterType )</b></div></td>
-</tr>
-</table><br>
-<table width="100%" BORDER>
-<tr bgcolor="#FFFFCC">
-<td colspan="11"><font size="+3"><b><div align="center"><i>interface GNode</i></div></b></font></td>
-</tr>
-<td width="50%" bgcolor= "lightgreen" ><font size="+2"><div align="center"><b><i>IDL file</i></b></div></font></td>
-<td width="50%" bgcolor= "lightgreen"><font size="+2"><div align="center"><b><i>Python</i></b></div></font></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>boolean SetCoupled ( in string anInLineNode )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = SetCoupled ( anInLineNode )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>INode Coupled ( )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = Coupled ( )</b></div></td>
-</tr>
-</table><br>
-<table width="100%" BORDER>
-<tr bgcolor="#FFFFCC">
-<td colspan="11"><font size="+3"><b><div align="center"><i>interface LNode</i></div></b></font></td>
-</tr>
-<td width="50%" bgcolor= "lightgreen" ><font size="+2"><div align="center"><b><i>IDL file</i></b></div></font></td>
-<td width="50%" bgcolor= "lightgreen"><font size="+2"><div align="center"><b><i>Python</i></b></div></font></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>void SetPyInit ( in string MoreName, in ListOfStrings aPyMoreFunction )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>SetPyInit ( MoreName, aPyMoreFunction )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>ListOfStrings PyInit ( )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = PyInit ( )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>string PyInitName ( )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = PyInitName ( )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>void SetPyMore ( in string MoreName, in ListOfStrings aPyMoreFunction )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>SetPyMore ( MoreName, aPyMoreFunction )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>ListOfStrings PyMore ( )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = PyMore ( )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>string PyMoreName ( )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = PyMoreName ( )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>void SetPyNext ( in string NextName, in ListOfStrings aPyNextFunction )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>SetPyNext ( NextName, aPyNextFunction )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>ListOfStrings PyNext ( )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = PyNext ( )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>string PyNextName ( )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = PyNextName ( )</b></div></td>
-</tr>
-</table><br>
-<table width="100%" BORDER>
-<tr bgcolor="#FFFFCC">
-<td colspan="11"><font size="+3"><b><div align="center"><i>interface ELNode</i></div></b></font></td>
-</tr>
-<td width="50%" bgcolor= "lightgreen" ><font size="+2"><div align="center"><b><i>IDL file</i></b></div></font></td>
-<td width="50%" bgcolor= "lightgreen"><font size="+2"><div align="center"><b><i>Python</i></b></div></font></td>
-</tr>
-</table><br>
-<table width="100%" BORDER>
-<tr bgcolor="#FFFFCC">
-<td colspan="11"><font size="+3"><b><div align="center"><i>interface SNode</i></div></b></font></td>
-</tr>
-<td width="50%" bgcolor= "lightgreen" ><font size="+2"><div align="center"><b><i>IDL file</i></b></div></font></td>
-<td width="50%" bgcolor= "lightgreen"><font size="+2"><div align="center"><b><i>Python</i></b></div></font></td>
-</tr>
-</table><br>
-<table width="100%" BORDER>
-<tr bgcolor="#FFFFCC">
-<td colspan="11"><font size="+3"><b><div align="center"><i>interface ESNode</i></div></b></font></td>
-</tr>
-<td width="50%" bgcolor= "lightgreen" ><font size="+2"><div align="center"><b><i>IDL file</i></b></div></font></td>
-<td width="50%" bgcolor= "lightgreen"><font size="+2"><div align="center"><b><i>Python</i></b></div></font></td>
-</tr>
-</table><br>
-<table width="100%" BORDER>
-<tr bgcolor="#FFFFCC">
-<td colspan="11"><font size="+3"><b><div align="center"><i>interface Graph</i></div></b></font></td>
-</tr>
-<td width="50%" bgcolor= "lightgreen" ><font size="+2"><div align="center"><b><i>IDL file</i></b></div></font></td>
-<td width="50%" bgcolor= "lightgreen"><font size="+2"><div align="center"><b><i>Python</i></b></div></font></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>CNode CNode ( in Service aService )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = CNode ( aService )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>FNode FNode ( in string aComponentName, in string anInterfaceName, in Service aService )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = FNode ( aComponentName, anInterfaceName, aService )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>INode INode ( in string FuncName, in ListOfStrings aPythonFunction )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = INode ( FuncName, aPythonFunction )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>GNode GNode ( in string FuncName, in ListOfStrings aPythonFunction, in string anINode )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = GNode ( FuncName, aPythonFunction, anINode )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>LNode LNode ( in string InitName, in ListOfStrings InitFunction, in string MoreName, in ListOfStrings MoreFunction, in string NextName, in ListOfStrings NextFunction, out INode anEndOfLoop )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>[ return_value, anEndOfLoop ] = LNode ( InitName, InitFunction, MoreName, MoreFunction, NextName, NextFunction )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>SNode SNode ( in string FuncName, in ListOfStrings aPythonFunction, out INode anEndOfSwitch )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>[ return_value, anEndOfSwitch ] = SNode ( FuncName, aPythonFunction )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>Component ComponentRef ( in string aComputerContainer, in string aComponentName )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = ComponentRef ( aComputerContainer, aComponentName )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>Link Link ( in Port OutputPort, in Port InputPort )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = Link ( OutputPort, InputPort )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>boolean Import ( in string anXmlFile )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = Import ( anXmlFile )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>boolean Export ( in string anXmlFile )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = Export ( anXmlFile )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>boolean IsReadOnly ( )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = IsReadOnly ( )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>boolean Run ( )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = Run ( )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>boolean EventNoW ( out CNode aNode, out GraphEvent anEvent, out GraphState aState )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>[ return_value, aNode, anEvent, aState ] = EventNoW ( )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>boolean Event ( out CNode aNode, out GraphEvent anEvent, out GraphState aState )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>[ return_value, aNode, anEvent, aState ] = Event ( )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>boolean EventW ( out CNode aNode, out GraphEvent anEvent, out GraphState aState )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>[ return_value, aNode, anEvent, aState ] = EventW ( )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>long LevelMax ( )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = LevelMax ( )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>ListOfNodes LevelNodes ( in long aLevel )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = LevelNodes ( aLevel )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>long ThreadsMax ( )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = ThreadsMax ( )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>long GraphsNumber ( )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = GraphsNumber ( )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>long Threads ( )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = Threads ( )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>long SuspendedThreads ( )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = SuspendedThreads ( )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>boolean IsValid ( )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = IsValid ( )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>boolean IsExecutable ( )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = IsExecutable ( )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>boolean IsDataFlow ( )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = IsDataFlow ( )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>boolean IsEditing ( )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = IsEditing ( )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>boolean IsExecuting ( )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = IsExecuting ( )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>long LastLevelDone ( )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = LastLevelDone ( )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>boolean Start ( )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = Start ( )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>Graph Copy ( )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = Copy ( )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>boolean Merge ( in Graph aGraph )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = Merge ( aGraph )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>ListOfNodes Nodes ( )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = Nodes ( )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>ListOfLinks GLinks ( )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = GLinks ( )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>string getIOR ( )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = getIOR ( )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>ListOfGraphs Graphs ( )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = Graphs ( )</b></div></td>
-</tr>
-</table><br>
-<table width="100%" BORDER>
-<tr bgcolor="#FFFFCC">
-<td colspan="11"><font size="+3"><b><div align="center"><i>interface Link</i></div></b></font></td>
-</tr>
-<td width="50%" bgcolor= "lightgreen" ><font size="+2"><div align="center"><b><i>IDL file</i></b></div></font></td>
-<td width="50%" bgcolor= "lightgreen"><font size="+2"><div align="center"><b><i>Python</i></b></div></font></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>Port OutPort ( )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = OutPort ( )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>Port InPort ( )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = InPort ( )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>long CoordsSize ( )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = CoordsSize ( )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>boolean AddCoord ( in long index, in long X, in long Y )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = AddCoord ( index, X, Y )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>boolean ChangeCoord ( in long index, in long X, in long Y )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = ChangeCoord ( index, X, Y )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>boolean RemoveCoord ( in long index )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = RemoveCoord ( index )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>boolean Coords ( in long index, out long X, out long Y )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>[ return_value, X, Y ] = Coords ( index )</b></div></td>
-</tr>
-</table><br>
-<table width="100%" BORDER>
-<tr bgcolor="#FFFFCC">
-<td colspan="11"><font size="+3"><b><div align="center"><i>interface Value</i></div></b></font></td>
-</tr>
-<td width="50%" bgcolor= "lightgreen" ><font size="+2"><div align="center"><b><i>IDL file</i></b></div></font></td>
-<td width="50%" bgcolor= "lightgreen"><font size="+2"><div align="center"><b><i>Python</i></b></div></font></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>string ToString ( )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = ToString ( )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>any ToAny ( )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = ToAny ( )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>boolean IsIOR ( )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = IsIOR ( )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>string ComponentDataType ( )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = ComponentDataType ( )</b></div></td>
-</tr>
-</table><br>
-<table width="100%" BORDER>
-<tr bgcolor="#FFFFCC">
-<td colspan="11"><font size="+3"><b><div align="center"><i>interface Port</i></div></b></font></td>
-</tr>
-<td width="50%" bgcolor= "lightgreen" ><font size="+2"><div align="center"><b><i>IDL file</i></b></div></font></td>
-<td width="50%" bgcolor= "lightgreen"><font size="+2"><div align="center"><b><i>Python</i></b></div></font></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>boolean Input ( in Value aValue )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = Input ( aValue )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>CNode Node ( )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = Node ( )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>string Name ( )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = Name ( )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>string Type ( )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = Type ( )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>Link Link ( )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = Link ( )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>ListOfLinks Links ( )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = Links ( )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>boolean IsInput ( )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = IsInput ( )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>boolean HasInput ( )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = HasInput ( )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>boolean IsLinked ( )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = IsLinked ( )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>KindOfPort Kind ( )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = Kind ( )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>boolean IsParam ( )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = IsParam ( )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>boolean IsGate ( )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = IsGate ( )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>boolean IsInLine ( )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = IsInLine ( )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>boolean IsLoop ( )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = IsLoop ( )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>boolean IsSwitch ( )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = IsSwitch ( )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>boolean IsEndSwitch ( )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = IsEndSwitch ( )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>GraphState State ( )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = State ( )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>boolean IsDone ( )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = IsDone ( )</b></div></td>
-</tr>
-</table><br>
-</b></HTML>
+++ /dev/null
-<HTML><b>
-<table width="100%" BORDER>
-<tr bgcolor="#FFFFCC">
-<td colspan="11"><font size="+3"><b><div align="center"><i>interface SubComponent</i></div></b></font></td>
-</tr>
-<td width="50%" bgcolor= "lightgreen" ><font size="+2"><div align="center"><b><i>IDL file</i></b></div></font></td>
-<td width="50%" bgcolor= "lightgreen"><font size="+2"><div align="center"><b><i>Python</i></b></div></font></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>void Sub ( in double x, in double y, out double z )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>z = Sub ( x, y )</b></div></td>
-</tr>
-</table><br>
-</b></HTML>
+++ /dev/null
-<HTML><b>
-<table width="100%" BORDER>
-<tr bgcolor="#FFFFCC">
-<td colspan="11"><font size="+3"><b><div align="center"><i>interface SyrComponent</i></div></b></font></td>
-</tr>
-<td width="50%" bgcolor= "lightgreen" ><font size="+2"><div align="center"><b><i>IDL file</i></b></div></font></td>
-<td width="50%" bgcolor= "lightgreen"><font size="+2"><div align="center"><b><i>Python</i></b></div></font></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>long C_ISEVEN ( in long anInteger )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = C_ISEVEN ( anInteger )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>long C_ISONE ( in long anOddInteger )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = C_ISONE ( anOddInteger )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>long C_M3 ( in long anOddInteger )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = C_M3 ( anOddInteger )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>long C_M3P1 ( in long anOddInteger )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = C_M3P1 ( anOddInteger )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>long C_DIV2 ( in long anEvenInteger )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = C_DIV2 ( anEvenInteger )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>long C_INCR ( in long aCount )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = C_INCR ( aCount )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>long C_MIN ( in long aMinVal, in long anInteger )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = C_MIN ( aMinVal, anInteger )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>long C_MAX ( in long aMaxVal, in long anInteger )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = C_MAX ( aMaxVal, anInteger )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>ListOfSyr C_LISTOFSYR ( )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = C_LISTOFSYR ( )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>ListOfSyr C_AVERAGE ( in ListOfSyr aListOfSyr, in long anInteger, in long aCount, out double anAverage )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>[ return_value, anAverage ] = C_AVERAGE ( aListOfSyr, anInteger, aCount )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>Syr Init ( in long anOddInteger )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = Init ( anOddInteger )</b></div></td>
-</tr>
-</table><br>
-<table width="100%" BORDER>
-<tr bgcolor="#FFFFCC">
-<td colspan="11"><font size="+3"><b><div align="center"><i>interface ListOfSyr</i></div></b></font></td>
-</tr>
-<td width="50%" bgcolor= "lightgreen" ><font size="+2"><div align="center"><b><i>IDL file</i></b></div></font></td>
-<td width="50%" bgcolor= "lightgreen"><font size="+2"><div align="center"><b><i>Python</i></b></div></font></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>SeqOfSyr GetSeqOfSyr ( )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = GetSeqOfSyr ( )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>void SetSeqOfSyr ( in SeqOfSyr aSeqOfSyr )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>SetSeqOfSyr ( aSeqOfSyr )</b></div></td>
-</tr>
-</table><br>
-<table width="100%" BORDER>
-<tr bgcolor="#FFFFCC">
-<td colspan="11"><font size="+3"><b><div align="center"><i>interface Syr</i></div></b></font></td>
-</tr>
-<td width="50%" bgcolor= "lightgreen" ><font size="+2"><div align="center"><b><i>IDL file</i></b></div></font></td>
-<td width="50%" bgcolor= "lightgreen"><font size="+2"><div align="center"><b><i>Python</i></b></div></font></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>long Initial ( )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = Initial ( )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>long Current ( )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = Current ( )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>long IsEven ( )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = IsEven ( )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>long IsOne ( )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = IsOne ( )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>long Count ( )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = Count ( )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>void M3p1 ( )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>M3p1 ( )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>void Div2 ( )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>Div2 ( )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>void Incr ( )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>Incr ( )</b></div></td>
-</tr>
-</table><br>
-</b></HTML>
+++ /dev/null
-<HTML><b>
-<table width="100%" BORDER>
-<tr bgcolor="#FFFFCC">
-<td colspan="11"><font size="+3"><b><div align="center"><i>interface SyrControlComponent</i></div></b></font></td>
-</tr>
-<td width="50%" bgcolor= "lightgreen" ><font size="+2"><div align="center"><b><i>IDL file</i></b></div></font></td>
-<td width="50%" bgcolor= "lightgreen"><font size="+2"><div align="center"><b><i>Python</i></b></div></font></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>void L_OneEven ( in long ValOne, in long ValEven, out long Finished, out long Incr, out long Even, out long Odd )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>[ Finished, Incr, Even, Odd ] = L_OneEven ( ValOne, ValEven )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>void C_NotOneIsEven ( out long ValOne, out long ValEven )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>[ ValOne, ValEven ] = C_NotOneIsEven ( )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>void LOOPN ( in long InLoop, in long NN, in long KK, in long min, in long max, out long OutLoop, out long N, out long K )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>[ OutLoop, N, K ] = LOOPN ( InLoop, NN, KK, min, max )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>void WHILENOTONE ( in long N, out long OutLoop )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>OutLoop = WHILENOTONE ( N )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>void IFNOTEVEN ( in long N, out long Odd, out long Even )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>[ Odd, Even ] = IFNOTEVEN ( N )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>void LOOPi ( in long InLoop, in long ii, out long OutLoop, out long i )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>[ OutLoop, i ] = LOOPi ( InLoop, ii )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>void WHILEEVEN ( in long N, out long OutLoop )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>OutLoop = WHILEEVEN ( N )</b></div></td>
-</tr>
-</table><br>
-</b></HTML>
+++ /dev/null
-# Doxyfile 1.3-rc1
-
-#---------------------------------------------------------------------------
-# General configuration options
-#---------------------------------------------------------------------------
-PROJECT_NAME = "SALOME - SUPERV - v.1.4.0"
-PROJECT_NUMBER = id#1.0
-OUTPUT_DIRECTORY = ../
-OUTPUT_LANGUAGE = English
-EXTRACT_ALL = YES
-EXTRACT_PRIVATE = YES
-EXTRACT_STATIC = YES
-EXTRACT_LOCAL_CLASSES = YES
-HIDE_UNDOC_MEMBERS = NO
-HIDE_UNDOC_CLASSES = NO
-HIDE_FRIEND_COMPOUNDS = NO
-HIDE_IN_BODY_DOCS = NO
-BRIEF_MEMBER_DESC = YES
-REPEAT_BRIEF = NO
-ALWAYS_DETAILED_SEC = YES
-INLINE_INHERITED_MEMB = YES
-FULL_PATH_NAMES = NO
-STRIP_FROM_PATH =
-INTERNAL_DOCS = YES
-CASE_SENSE_NAMES = YES
-SHORT_NAMES = NO
-HIDE_SCOPE_NAMES = NO
-VERBATIM_HEADERS = YES
-SHOW_INCLUDE_FILES = YES
-JAVADOC_AUTOBRIEF = YES
-MULTILINE_CPP_IS_BRIEF = NO
-DETAILS_AT_TOP = NO
-INHERIT_DOCS = YES
-INLINE_INFO = YES
-SORT_MEMBER_DOCS = NO
-DISTRIBUTE_GROUP_DOC = NO
-TAB_SIZE = 5
-GENERATE_TODOLIST = YES
-GENERATE_TESTLIST = YES
-GENERATE_BUGLIST = YES
-GENERATE_DEPRECATEDLIST= YES
-ALIASES =
-ENABLED_SECTIONS =
-MAX_INITIALIZER_LINES = 25
-OPTIMIZE_OUTPUT_FOR_C = YES
-OPTIMIZE_OUTPUT_JAVA = YES
-SHOW_USED_FILES = NO
-#---------------------------------------------------------------------------
-# configuration options related to warning and progress messages
-#---------------------------------------------------------------------------
-QUIET = NO
-WARNINGS = YES
-WARN_IF_UNDOCUMENTED = YES
-WARN_FORMAT = "$file:$line: $text"
-WARN_LOGFILE = log.txt
-#---------------------------------------------------------------------------
-# configuration options related to the input files
-#---------------------------------------------------------------------------
-INPUT = ../../../share/salome/idl/SUPERV.idl
-FILE_PATTERNS =
-RECURSIVE = NO
-EXCLUDE =
-EXCLUDE_SYMLINKS = NO
-EXCLUDE_PATTERNS =
-EXAMPLE_PATH =
-EXAMPLE_PATTERNS =
-EXAMPLE_RECURSIVE = NO
-IMAGE_PATH = sources/
-INPUT_FILTER =
-FILTER_SOURCE_FILES = YES
-#---------------------------------------------------------------------------
-# configuration options related to source browsing
-#---------------------------------------------------------------------------
-SOURCE_BROWSER = NO
-INLINE_SOURCES = NO
-STRIP_CODE_COMMENTS = YES
-REFERENCED_BY_RELATION = NO
-REFERENCES_RELATION = YES
-#---------------------------------------------------------------------------
-# configuration options related to the alphabetical class index
-#---------------------------------------------------------------------------
-ALPHABETICAL_INDEX = NO
-COLS_IN_ALPHA_INDEX = 5
-IGNORE_PREFIX =
-#---------------------------------------------------------------------------
-# configuration options related to the HTML output
-#---------------------------------------------------------------------------
-GENERATE_HTML = YES
-HTML_OUTPUT = html
-HTML_FILE_EXTENSION = .html
-HTML_HEADER = sources/myheader.html
-HTML_FOOTER =
-HTML_STYLESHEET =
-HTML_ALIGN_MEMBERS = YES
-GENERATE_HTMLHELP = NO
-CHM_FILE =
-HHC_LOCATION =
-GENERATE_CHI = NO
-BINARY_TOC = YES
-TOC_EXPAND = YES
-DISABLE_INDEX = YES
-ENUM_VALUES_PER_LINE = 4
-GENERATE_TREEVIEW = YES
-TREEVIEW_WIDTH = 250
-#---------------------------------------------------------------------------
-# configuration options related to the LaTeX output
-#---------------------------------------------------------------------------
-GENERATE_LATEX = NO
-LATEX_OUTPUT = latex
-LATEX_CMD_NAME = latex
-MAKEINDEX_CMD_NAME = makeindex
-COMPACT_LATEX = NO
-PAPER_TYPE = a4wide
-EXTRA_PACKAGES =
-LATEX_HEADER =
-PDF_HYPERLINKS = NO
-USE_PDFLATEX = NO
-LATEX_BATCHMODE = NO
-#---------------------------------------------------------------------------
-# configuration options related to the RTF output
-#---------------------------------------------------------------------------
-GENERATE_RTF = NO
-RTF_OUTPUT = rtf
-COMPACT_RTF = NO
-RTF_HYPERLINKS = NO
-RTF_STYLESHEET_FILE =
-RTF_EXTENSIONS_FILE =
-#---------------------------------------------------------------------------
-# configuration options related to the man page output
-#---------------------------------------------------------------------------
-GENERATE_MAN = NO
-MAN_OUTPUT = man
-MAN_EXTENSION = .3
-MAN_LINKS = NO
-#---------------------------------------------------------------------------
-# configuration options related to the XML output
-#---------------------------------------------------------------------------
-GENERATE_XML = NO
-XML_SCHEMA =
-XML_DTD =
-#---------------------------------------------------------------------------
-# configuration options for the AutoGen Definitions output
-#---------------------------------------------------------------------------
-GENERATE_AUTOGEN_DEF = NO
-#---------------------------------------------------------------------------
-# configuration options related to the Perl module output
-#---------------------------------------------------------------------------
-GENERATE_PERLMOD = NO
-PERLMOD_LATEX = NO
-PERLMOD_PRETTY = YES
-PERLMOD_MAKEVAR_PREFIX =
-#---------------------------------------------------------------------------
-# Configuration options related to the preprocessor
-#---------------------------------------------------------------------------
-ENABLE_PREPROCESSING = YES
-MACRO_EXPANSION = YES
-EXPAND_ONLY_PREDEF = NO
-SEARCH_INCLUDES = YES
-INCLUDE_PATH =
-INCLUDE_FILE_PATTERNS =
-PREDEFINED =
-EXPAND_AS_DEFINED =
-SKIP_FUNCTION_MACROS = NO
-#---------------------------------------------------------------------------
-# Configuration::addtions related to external references
-#---------------------------------------------------------------------------
-TAGFILES =
-GENERATE_TAGFILE =
-ALLEXTERNALS = NO
-EXTERNAL_GROUPS = YES
-PERL_PATH = /usr/bin/perl
-#---------------------------------------------------------------------------
-# Configuration options related to the dot tool
-#---------------------------------------------------------------------------
-CLASS_DIAGRAMS = YES
-HIDE_UNDOC_RELATIONS = NO
-HAVE_DOT = YES
-CLASS_GRAPH = YES
-COLLABORATION_GRAPH = NO
-TEMPLATE_RELATIONS = YES
-INCLUDE_GRAPH = YES
-INCLUDED_BY_GRAPH = NO
-GRAPHICAL_HIERARCHY = YES
-DOT_IMAGE_FORMAT = jpg
-DOT_PATH =
-DOTFILE_DIRS =
-MAX_DOT_GRAPH_WIDTH = 1024
-MAX_DOT_GRAPH_HEIGHT = 1200
-GENERATE_LEGEND = NO
-DOT_CLEANUP = YES
-#---------------------------------------------------------------------------
-# Configuration::addtions related to the search engine
-#---------------------------------------------------------------------------
-SEARCHENGINE = NO
-CGI_NAME = search.cgi
-CGI_URL =
-DOC_URL =
-DOC_ABSPATH =
-BIN_ABSPATH = /usr/local/bin/
-EXT_DOC_PATHS =
+++ /dev/null
-<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
-<html>
-<head>
- <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
- <meta name="GENERATOR" content="Mozilla/4.73 [en] (WinNT; I) [Netscape]">
- <title>Main Page</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-</head>
-<body>
-
-<center><table WIDTH="96%" >
-<tr>
-<td><a href="http://www.opencascade.com"><img src="sources/logocorp.gif" BORDER=0 height=46 width=122></a></td>
-
-
-<td>
-<div align=right><a href="http://www.opencascade.org/SALOME/"><img src="sources/application.gif" BORDER=0 height=46 width=108></a></div>
-</td>
-</tr>
-</table></center>
-
-
-</body>
-</html>
+++ /dev/null
-H1 { text-align: center; }
-CAPTION { font-weight: bold }
-A.qindex {}
-A.qindexRef {}
-A.el { text-decoration: none; font-weight: bold }
-A.elRef { font-weight: bold }
-A.code { text-decoration: none; font-weight: normal; color: #4444ee }
-A.codeRef { font-weight: normal; color: #4444ee }
-A:hover { text-decoration: none; background-color: lightblue }
-DL.el { margin-left: -1cm }
-DIV.fragment { width: 100%; border: none; background-color: #CCCCCC }
-DIV.ah { background-color: #CCCCCC; font-weight: bold; color: #ffffff; margin-bottom: 3px; margin-top: 3px }
-TD.md { background-color: lightblue; font-weight: bold; }
-TD.mdname1 { background-color: lightblue; font-weight: bold; color: #602020; }
-TD.mdname { background-color: lightblue; font-weight: bold; color: #602020; width: 600px; }
-DIV.groupHeader { margin-left: 16px; margin-top: 12px; margin-bottom: 6px; font-weight: bold }
-DIV.groupText { margin-left: 16px; font-style: italic; font-size: smaller }
-BODY { background: url(sources/bg_salome.gif) }
-TD.indexkey {
- background-color: #CCCCCC;
- font-weight: bold;
- padding-right : 10px;
- padding-top : 2px;
- padding-left : 10px;
- padding-bottom : 2px;
- margin-left : 0px;
- margin-right : 0px;
- margin-top : 2px;
- margin-bottom : 2px
-}
-TD.indexvalue {
- background-color: #CCCCCC;
- font-style: italic;
- padding-right : 10px;
- padding-top : 2px;
- padding-left : 10px;
- padding-bottom : 2px;
- margin-left : 0px;
- margin-right : 0px;
- margin-top : 2px;
- margin-bottom : 2px
-}
-span.keyword { color: #008000 }
-span.keywordtype { color: #604020 }
-span.keywordflow { color: #e08000 }
-span.comment { color: #800000 }
-span.preprocessor { color: #806020 }
-span.stringliteral { color: #002080 }
-span.charliteral { color: #008080 }
+++ /dev/null
-<!DOCTYPE doctype PUBLIC "-//w3c//dtd html 4.0 transitional//en">\r
-<html>\r
-<head>\r
- \r
- <meta http-equiv="Content-Type"\r
- content="text/html; charset=iso-8859-1">\r
- \r
- <meta name="GENERATOR"\r
- content="Mozilla/4.73 [en] (WinNT; I) [Netscape]">\r
- <title>Main Page</title>\r
- \r
- <link href="doxygen.css" rel="stylesheet" type="text/css">\r
-</head>\r
- <body>\r
- \r
-<center>\r
-<table width="96%">\r
- <tbody>\r
- <tr>\r
- <td><a href="http://www.opencascade.com"><img\r
- src="sources/logocorp.gif" border="0" height="46" width="122">\r
- </a></td>\r
- <td> \r
- <div align="right"><a href="http://www.opencascade.org/SALOME/"><img\r
- src="sources/application.gif" border="0" height="46" width="108">\r
- </a></div>\r
- </td>\r
- </tr>\r
- \r
- </tbody>\r
-</table>\r
-</center>\r
- \r
-<h1><a name="page2">Examples</a> </h1>\r
- \r
-<h3><big><i><b>Interfaces:</b></i></big></h3>\r
-<br>\r
-<a href="#Graph"><big>SUPERV::Graph</big></a><br>\r
-<a href="#CNode"><big>SUPERV::CNode</big></a><br>\r
-<a href="#FNode"><big>SUPERV::FNode</big></a><big><br>\r
-<a href="#INode">SUPERV::INode</a></big><br>\r
-<a href="#LNode"><big>SUPERV::LNode</big></a><br>\r
-<a href="#Port"><big>SUPERV::Port</big></a><br>\r
-<a href="#Link"><big>SUPERV::Link</big></a><br>\r
-<b><br>\r
-<br>\r
-<br>\r
-</b><br>\r
-<div align="center"><big><big><b><u><br>\r
-</u></b></big></big></div>\r
-<div align="center"><big><u><b><big><a name="Graph"></a>SUPERV::Graph<br>\r
-</big></b></u></big><br>\r
-<div align="left"><big><b><a href="#CNode">CNode</a> CNode( in SALOME_ModuleCatalog::Service\r
-<i>aService</i> ) </b></big><br>\r
-<br>\r
-<u><i><big>Create a Computing Node in a Graph</big></i></u><br>\r
-<br>\r
-<a name="CreateCNode"></a>GraphEssai = Graph( 'GraphEssai' )<br>\r
-<br>\r
-AddAndCompare_ServiceinParameter = []<br>\r
-AddAndCompare_ServiceinParameter.append( SALOME_ModuleCatalog.ServicesParameter(\r
-'Adder' , 'Adder' ) )<br>\r
-AddAndCompare_ServiceinParameter.append( SALOME_ModuleCatalog.ServicesParameter(\r
-'double' , 'x' ) )<br>\r
-AddAndCompare_ServiceinParameter.append( SALOME_ModuleCatalog.ServicesParameter(\r
-'double' , 'y' ) )<br>\r
-AddAndCompare_ServiceinParameter.append( SALOME_ModuleCatalog.ServicesParameter(\r
-'Adder' , 'anOtherAdder' ) )<br>\r
-<br>\r
-AddAndCompare_ServiceoutParameter = []<br>\r
-AddAndCompare_ServiceoutParameter.append( SALOME_ModuleCatalog.ServicesParameter(\r
-'double' , 'FuncValue' ) )<br>\r
-AddAndCompare_ServiceoutParameter.append( SALOME_ModuleCatalog.ServicesParameter(\r
-'double' , 'z' ) )<br>\r
-AddAndCompare_Service = SALOME_ModuleCatalog.Service( 'AddAndCompare' , AddAndCompare_ServiceinParameter\r
-, AddAndCompare_ServiceoutParameter , 0 )<br>\r
-<br>\r
-AddAndCompare = GraphEssai.CNode( AddAndCompare_Service )<br>\r
-<br>\r
-<br>\r
-<br>\r
-</div>\r
-<div align="left"><big><b><a href="#FNode">FNode</a> FNode( in string <i>aComponentName</i>, \r
-in string <i>anInterfaceName</i>, in SALOME_ModuleCatalog::Service\r
-<i>aService</i> ) </b></big><br>\r
-<br>\r
-<u><i><big>Create a Factory Node in a Graph</big></i></u><br>\r
-<br>\r
-<a name="CreateFNode"></a>GraphEssai = Graph( 'GraphEssai' )<br>\r
-Add = GraphEssai.FNode( 'AddComponent' , 'AddComponent' , 'Add' )<br>\r
-<br>\r
-<br>\r
-<br>\r
-<b><big>INode INode( in string <i>FuncName</i>, in ListOfStrings <i>aPythonFunction</i>\r
-)</big></b><br>\r
-<br>\r
-<u><i><big>Create an InLine Node in a Graph</big></i></u><br>\r
-<br>\r
-<a name="CreateINode"></a>GraphEssai = Graph( 'GraphEssai' )<br>\r
-PyAdd = []<br>\r
-PyAdd.append( 'from time import * ' )<br>\r
-PyAdd.append( 'def Add(a,b) : \r
-' )<br>\r
-PyAdd.append( ' print "Add will wait 5 seconds" \r
-' )<br>\r
-PyAdd.append( ' d = dir() \r
-' )<br>\r
-PyAdd.append( ' print "Add",d \r
-' )<br>\r
-PyAdd.append( ' d = dir(sleep) \r
-' )<br>\r
-PyAdd.append( ' print "Add",d \r
-' )<br>\r
-PyAdd.append( ' sleep(5) \r
-' )<br>\r
-PyAdd.append( ' print "Add waited" \r
-' )<br>\r
-PyAdd.append( ' n = 0 ' )<br>\r
-PyAdd.append( ' while n < 10000 : \r
-' )<br>\r
-PyAdd.append( ' i = 0 \r
-' )<br>\r
-PyAdd.append( ' s = 0 \r
-' )<br>\r
-PyAdd.append( ' while i <= b\r
-: ' )<br>\r
-PyAdd.append( ' \r
-s = s + i ' )<br>\r
-PyAdd.append( ' \r
-i = i + 1 ' )<br>\r
-PyAdd.append( ' n = n + 1 \r
-' )<br>\r
-PyAdd.append( ' return s \r
-' )<br>\r
-PyAdd.append( '' )<br>\r
-Add = GraphEssai.INode( 'Add' , PyAdd )<br>\r
-<br>\r
-<br>\r
-<br>\r
-<b><big>GNode GNode( in string <i>FuncName</i> , in ListOfStrings <i>aPythonFunction</i>,\r
-in string <i>anINode</i> )</big></b><br>\r
-<br>\r
-<u><i><big>Create a GOTO node and link to the corresponding InLine node</big></i></u><br>\r
-<br>\r
-GraphEssai = Graph( 'GraphEssai' )<br>\r
-Pylabel_test = []<br>\r
-Pylabel_test.append( 'def label_test( ValEven , ValOne , NB , KB ):' )<br>\r
-Pylabel_test.append( ' print "label_begin",ValEven,ValOne,NB,KB'\r
-)<br>\r
-Pylabel_test.append( ' return ValEven,ValOne,NB,KB' )<br>\r
-label_test = GraphEssai.INode( 'label_test' , Pylabel_test )<br>\r
-Pycontrol = []<br>\r
-Pycontrol.append( 'def control_m3p1( N , K ):' )<br>\r
-Pycontrol.append( ' return 0,1,N,K' )<br>\r
-control = GraphEssai.GNode( 'control_m3p1' , Pycontrol , 'label_test' )<br>\r
-<br>\r
-<br>\r
-<br>\r
-<big><b>LNode LNode( in string <i>InitName</i> , in ListOfStrings <i>InitFunction</i>\r
-, in string <i>MoreName</i> , in ListOfStrings <i>MoreFunction</i> , in string\r
-<i>NextName</i> , in ListOfStrings <i>NextFunction</i> , out INode <i>anEndOfLoop</i>\r
-)</b></big><br>\r
-<br>\r
-<u><i><big>Create a "for" or "while" node and the corresponding end of loop\r
-node</big></i></u><br>\r
-<br>\r
-<a name="CreateLNode"></a>GraphEssai = Graph( 'GraphEssai' )<br>\r
-<br>\r
-PyforN = []<br>\r
-PyforN.append( 'def InitN( NN , K , SyrComponent , min , max ) :' )<br>\r
-PyforN.append( ' N = max' )<br>\r
-PyforN.append( ' if min > 0 :' )<br>\r
-PyforN.append( ' if max >= min\r
-:' )<br>\r
-PyforN.append( ' \r
-N = min' )<br>\r
-PyforN.append( ' return N,K,SyrComponent,min,max' )<br>\r
-<br>\r
-PyMoreforN = []<br>\r
-PyMoreforN.append( 'def MoreN( NN , KK , SyrComponent , min , max ) :' )<br>\r
-PyMoreforN.append( ' N = 0' )<br>\r
-PyMoreforN.append( ' OutLoop = 0' )<br>\r
-PyMoreforN.append( ' if max > NN :' )<br>\r
-PyMoreforN.append( ' N = NN' )<br>\r
-PyMoreforN.append( ' OutLoop =\r
-1' )<br>\r
-PyMoreforN.append( ' return OutLoop,N,0,SyrComponent,min,max'\r
-)<br>\r
-<br>\r
-PyNextforN = []<br>\r
-PyNextforN.append( 'def NextN( NN , KK , SyrComponent , min , max ) :' )<br>\r
-PyNextforN.append( ' N = NN + 1' )<br>\r
-PyNextforN.append( ' K = KK' )<br>\r
-PyNextforN.append( ' return N,K,SyrComponent,min,max' )<br>\r
-<br>\r
-forN,endforN = GraphEssai.LNode( 'InitN' , PyforN , 'MoreN' , PyMoreforN\r
-, 'NextN' , PyNextforN )<br>\r
-<br>\r
-<br>\r
-<b><big>SNode SNode( in string <i>FuncName,</i> in ListOfStrings <i>aPythonFunction,</i>\r
-out INode <i>anEndOfSwitch</i> )</big></b><br>\r
-<br>\r
-<u><i><big>Create a "if / elseif / else" or "switch" node and the corresponding\r
-end node</big></i></u><br>\r
-<br>\r
-GraphEssai = Graph( 'GraphEssai' )<br>\r
- <br>\r
-PyifNotEven = []<br>\r
-PyifNotEven.append( 'import SyrComponent_idl' )<br>\r
-PyifNotEven.append( 'def ifNotEven( SyrComponent , N , K ) :' )<br>\r
-PyifNotEven.append( ' Even = SyrComponent.C_ISEVEN( N )'\r
-)<br>\r
-PyifNotEven.append( ' Odd = 1 - Even' )<br>\r
-PyifNotEven.append( ' return Odd,Even,SyrComponent,N,K'\r
-)<br>\r
-<br>\r
-ifNotEven,endifNotEven = GraphEssai.SNode( 'ifNotEven' , PyifNotEven )<br>\r
-<br>\r
-<br>\r
-<big><b>Link Link( in Port <i>OutputPort</i> , in Port <i>InputPort</i>\r
-)</b></big><br>\r
-<br>\r
-<u><i><big>Creates a link connecting two ports of the nodes in a Graph</big></i></u><br>\r
-<br>\r
-GraphEssai = Graph( 'GraphEssai' )<br>\r
-Add = GraphEssai.FNode( 'AddComponent' , 'AddComponent' , 'Add' )<br>\r
-Mul = GraphEssai.FNode( 'MulComponent' , 'MulComponent' , 'Mul' )<br>\r
-Link = GraphEssai.Link( Add.Port( 'FuncValue' ), Mul.Port( 'x' ) )<br>\r
-<br>\r
-<br>\r
-<b><big>boolean Run()</big></b><br>\r
-<br>\r
-<u><i><big>Starts asynchronous execution of the graph</big></i></u><br>\r
-<br>\r
-...<br>\r
-GraphEssai.Run()<br>\r
-<br>\r
-<br>\r
-<b><big>boolean Event( out CNode <i>aNode</i> , out GraphEvent <i>anEvent</i>\r
-, out GraphState <i>aState</i> )</big></b><br>\r
-<br>\r
-<u><i><big>Runs Graph and prints information about Graph performance</big></i></u><br>\r
-<br>\r
-...<br>\r
-<a name="RunandWait"></a>GraphEssai.Run()<br>\r
-aStatus,aNode,anEvent,aState = GraphEssai.Event()<br>\r
-while aStatus :<br>\r
- print aNode.Thread(),aNode.SubGraph(),aNode.Name(),anEvent,aState<br>\r
- aStatus,aNode,anEvent,aState = GraphEssai.Event()<br>\r
-<br>\r
-<br>\r
-<br>\r
-<br>\r
-<div align="center"><big><b><big><a name="CNode"></a>SUPERV::CNode</big></b></big><br>\r
-</div>\r
-<br>\r
-<big><b>string Name() <br>\r
-string Author()<br>\r
-string Comment()<br>\r
-boolean SetName(in string <i>aNewName</i> ) <br>\r
-boolean SetAuthor(in string <i>anAuthor</i> ) <br>\r
-boolean SetComment(in string <i>aComment</i> ) <br>\r
-<br>\r
-</b><u><i>Get / Set methods for Name, Author and Comment strings of the node.</i></u><br>\r
-<b><br>\r
-</b><a href="#CreateCNode"><small>#Create CNode</small></a><b><br>\r
-</b></big>AddAndCompare.SetName( 'AddAndCompare' )<br>\r
-AddAndCompare.SetAuthor( 'NoBody' )<br>\r
-AddAndCompare.SetComment( 'Python function' )<br>\r
-print "Name:", AddAndCompare.Name(), " Author:", AddAndCompare.Author(),\r
-" Comment:", AddAndCompare.Comment()<br>\r
-<br>\r
-<br>\r
-<br>\r
-<big><b>Port Port( in string <i>aParameterName</i> )</b></big><br>\r
-<br>\r
-<big><u><i>Returns Port instance from created node</i></u></big><br>\r
-<br>\r
-<a href="#CreateFNode">#Create FNode</a><br>\r
-Addz = Add.Port('z')<br>\r
-<br>\r
-<br>\r
-<big><b>Port Input( in string <i>InputParameterName</i> , in Value\r
-<i>aValue</i> ) </b></big><br>\r
-<br>\r
-<i><u><big>Sets value into Port by its name and returs correspondent port\r
-instance</big></u></i><br>\r
-<br>\r
-<a href="#CreateFNode">#Create FNode</a><br>\r
-Addx = Add.Input("x",3.)<br>\r
-<br>\r
-<br>\r
-<br>\r
-<b><big>void Coords( in long <i>X</i> , in long <i>Y</i> )<br>\r
-</big><big>long X()</big></b><br>\r
-<b><big>long Y()</big></b><br>\r
-<br>\r
-<big><u><i>Methods to sets position of the node and getting current coordinates</i></u></big><br>\r
-<br>\r
-<a\r
- href="file:///vsv/salome/build/doc/html/html/examples_SUPERV.html#CreateFNode">#Create\r
-FNode</a><br>\r
-Add.Coords( 1 , 152 )<br>\r
-print "X=", Add.X(), " Y=", Add.Y()<br>\r
-<br>\r
-<br>\r
-<b><big>long CpuUsed()</big></b><br>\r
-<br>\r
-<u><i><big>Returns the Cpu used by a node in seconds</big></i></u><br>\r
-<br>\r
-<a href="#RunandWait">#Run Graph and wait for its finish</a><br>\r
-print "CPU used: ", Add.CpuUsed(), " sec"<br>\r
-<br>\r
-<br>\r
-<br>\r
-<br>\r
-<br>\r
-<div align="center"><big><b><big><a name="FNode"></a>SUPERV::FNode</big><br>\r
-</b></big></div>\r
-<br>\r
-<b><big>string GetContainer() <br>\r
-boolean SetContainer(in string <i>aContainer</i> ) <br>\r
-</big></b><br>\r
-<big><u><i>Get / Set method for container name</i></u></big><br>\r
-<br>\r
-<a\r
- href="file:///vsv/salome/build/doc/html/html/examples_SUPERV.html#CreateFNode">#Create\r
-FNode</a><br>\r
-Add.SetContainer( 'localhost/FactoryServer' )<br>\r
-print "Container: ", Add.GetContainer()<br>\r
-<br>\r
-<br>\r
-<br>\r
-<div align="center"><big><b><big><a name="INode"></a>SUPERV::INode</big></b></big><br>\r
-</div>\r
-<br>\r
-<br>\r
-<big><b>void SetPyFunction( in string <i>FuncName</i> , in ListOfStrings\r
-<i>aPyInitFunction</i> )</b></big><br>\r
-<br>\r
-<u><i><big>Replaces Python function of inline node by new one</big></i></u><br>\r
-<br>\r
-<a href="#CreateINode">#Create INode</a><br>\r
-PyIsOdd = []<br>\r
-PyIsOdd.append( 'def IsOdd(a) : ' )<br>\r
-PyIsOdd.append( ' print a,"IsOdd" ' )<br>\r
-PyIsOdd.append( ' return a ' )<br>\r
-Add.SetPyFunction("IsOdd", PyIsOdd)<br>\r
-<br>\r
-<br>\r
-<b><big>string PyFuncName()</big></b><br>\r
-<br>\r
-<div align="left"><u><i><big>Returns Name of the Python function</big></i></u><br>\r
-<br>\r
-<a\r
- href="file:///vsv/salome/build/doc/html/html/examples_SUPERV.html#CreateINode">#Create\r
-INode</a><br>\r
-print "Name:", Add.PyFuncName()<br>\r
-<br>\r
-<br>\r
- </div>\r
- <b><big>ListOfStrings PyFunction()<br>\r
-<br>\r
-</big></b><u><i><big>Returns Python function as a list of strings</big></i></u><br>\r
-<br>\r
-<a\r
- href="file:///vsv/salome/build/doc/html/html/examples_SUPERV.html#CreateINode">#Create\r
-INode</a><br>\r
-PyFunc = Add.PyFunction()<br>\r
-<br>\r
-<br>\r
-<b><big>SUPERV::Port InPort( in string <i>aParameterName</i> , in string\r
-<i>aParameterType</i> ) <br>\r
-SUPERV::Port OutPort( in string <i>aParameterName</i> , in string <i>aParameterType</i>\r
-) <br>\r
-</big></b><br>\r
-<u><i><big>Creation of In and Out ports of Inline Node</big></i></u><br>\r
-<br>\r
-<a name="CreatePorts"></a><a\r
- href="file:///vsv/salome/build/doc/html/html/examples_SUPERV.html#CreateINode">#Create\r
-INode</a><br>\r
-Add.InPort('a', 'long')<br>\r
-<div align="left">Add.InPort('b', 'long')<br>\r
- \r
-<div align="left">Add.OutPort('s', 'long')<br>\r
- <br>\r
- </div>\r
- <br>\r
- </div>\r
- <br>\r
-<div align="center"><big><b><big><a name="LNode"></a>SUPERV::LNode</big></b></big><br>\r
-</div>\r
-<br>\r
-<br>\r
-<b><big>void SetPyInit( in string <i>InitName</i> , in ListOfStrings\r
-<i>aPyInitFunction</i> )</big></b><br>\r
-<b><big>void SetPyMore( in string <i>MoreName</i> , in ListOfStrings\r
-<i>aPyMoreFunction</i> )<br>\r
-void SetPyNext( in string <i>NextName</i> , in ListOfStrings <i>aPyNextFunction</i>\r
-)<br>\r
-</big></b><br>\r
-<i><u><big>Sets (replaces) Python fonction of according clause (Init, More,\r
-Next) in Loop Node</big></u></i><br>\r
-<br>\r
-<a href="#CreateLNode">#Create Loop Node</a><br>\r
-Pyfori = []<br>\r
-Pyfori.append( 'def Initfori( ii , K ) :' )<br>\r
-Pyfori.append( ' return 1,0,K' )<br>\r
-PyMorefori = []<br>\r
-PyMorefori.append( 'def Morefori( ii , K ) :' )<br>\r
-PyMorefori.append( ' OutLoop = 0' )<br>\r
-PyMorefori.append( ' if 2 > ii :' )<br>\r
-PyMorefori.append( ' OutLoop =\r
-1' )<br>\r
-PyMorefori.append( ' return OutLoop,ii,K' )<br>\r
-PyNextfori = []<br>\r
-PyNextfori.append( 'def Nextfori( ii , K ) :' )<br>\r
-PyNextfori.append( ' ii = ii + 1' )<br>\r
-PyNextfori.append( ' return ii,K' )<br>\r
-forN.SetPyInit('Initfori', Pyfori)<br>\r
-<div align="left">forN.SetPyMore('Morefori', PyMorefori)<br>\r
- \r
-<div align="left">forN.SetPyNext('Nextfori', PyNextfori)<br>\r
- <br>\r
-<br>\r
-<br>\r
-<b><big>string PyInitName() <br>\r
-</big></b></div>\r
-<b><big>string PyMoreName()<br>\r
-string PyNextName()<br>\r
-</big></b> </div>\r
- <b><big><br>\r
-</big></b><u><i><big>Returns Python function name of according clause</big></i></u><br>\r
-<br>\r
-<a\r
- href="file:///vsv/salome/build/doc/html/html/examples_SUPERV.html#CreateLNode">#Create\r
-Loop Node</a><br>\r
-print "Init Name:", forN.PyInitName()<br>\r
-print "More Name:", forN.PyMoreName()<br>\r
-print "Next Name:", forN.PyNextName()<br>\r
-<br>\r
-<br>\r
-<b><big>ListOfStrings PyInit()<br>\r
-ListOfStrings PyMore()<br>\r
-ListOfStrings PyNext()<br>\r
-</big></b><br>\r
-<u><i><big>Returns Python function as a list of strings</big></i><i><big>\r
-from according clause</big></i></u><br>\r
-<br>\r
-<a\r
- href="file:///vsv/salome/build/doc/html/html/examples_SUPERV.html#CreateLNode">#Create\r
-Loop Node</a><br>\r
-InitFunc = forN.PyInit()<br>\r
-<div align="left">MoreFunc = forN.PyMoret()<br>\r
- \r
-<div align="left">NextFunc = forN.PyNext()<br>\r
- <br>\r
- <br>\r
- </div>\r
- <br>\r
- \r
-<div align="center"><big><b><big><a name="Port"></a>SUPERV::Port</big></b></big><br>\r
-</div>\r
-<br>\r
-<b><big>boolean Input( in Value <i>aValue</i> )</big></b><br>\r
-<br>\r
-<u><i><big>Sets value to the input port instance</big></i></u><br>\r
-<br>\r
-<a href="#CreatePorts">#CreatePorts</a><br>\r
-aPort = Add.Port('a')<br>\r
-aPort.Input(10)<br>\r
-<br>\r
-<br>\r
-<b><big>CNode Node()</big></b><br>\r
-<br>\r
-<u><i><big>Returns Node - owner of the port</big></i></u><br>\r
-<br>\r
-Add = aPort.Node()<br>\r
-<br>\r
-<br>\r
-<b><big>string Name()</big></b><br>\r
-<br>\r
-<u><i><big>Returns Name of the Port</big></i></u><br>\r
-<br>\r
-print "Port Name:", aPort.Name()<br>\r
-<br>\r
-<br>\r
-<br>\r
- \r
- </div>\r
-</div>\r
- </div>\r
-</div>\r
-</body>\r
-</html>\r
+++ /dev/null
-<!doctype html public "-//w3c//dtd html 4.0 transitional//en">\r
-<html>\r
-<head>\r
- <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">\r
- <meta name="GENERATOR" content="Mozilla/4.73 [en] (WinNT; I) [Netscape]">\r
- <title>Main Page</title>\r
-<link href="doxygen.css" rel="stylesheet" type="text/css">\r
-</head>\r
-<body>\r
- \r
-<center>\r
- <table WIDTH="96%" >\r
- <tr> \r
- <td><a href="http://www.opencascade.com"><img src="sources/logocorp.gif" BORDER=0 height=46 width=122></a></td>\r
- <td> \r
- <div align=right><a href="http://www.opencascade.org/SALOME/"><img src="sources/application.gif" BORDER=0 height=46 width=108></a></div>\r
- </td>\r
- </tr>\r
- </table>\r
-</center>\r
-<h1><a name="page2">General overview</a> </h1>\r
-<a name="cont"></a><h2>Table of contents </h2>\r
-<b><i>\r
-<ul>\r
- <li><a href="#1">1. Introduction</a></li>\r
- <li><a href="#2">2. Definitions </a></li>\r
- <ul>\r
- <li><a href="#2_1">2.1 Computing scheme of type DataFlow</a></li>\r
- <li><a href="#2_2">2.2 Types of nodes </a></li>\r
- <ul>\r
- <li><a href="#2_2_1">2.2.1 Computation node </a></li>\r
- <li><a href="#2_2_2">2.2.2 Loop node </a></li>\r
- <li><a href="#2_2_3">2.2.3 Switch node </a></li>\r
- <li><a href="#2_2_4">2.2.4 GOTO node </a></li>\r
- </ul>\r
- </ul>\r
- <li><a href="#3">3. Services and features of the SUPERVISION component</a></li>\r
- <ul>\r
- <li><a href="#3_1">3.1 CNode class</a></li>\r
- <li><a href="#3_2">3.2 FNode class </a></li>\r
- <li><a href="#3_3">3.3 INode class </a></li>\r
- <li><a href="#3_4">3.4 GNode class </a></li>\r
- <li><a href="#3_5">3.5 LNode class </a></li>\r
- <li><a href="#3_6">3.6 ELNode class </a></li>\r
- <li><a href="#3_7">3.7 SNode class </a></li>\r
- <li><a href="#3_8">3.8 ESNode class </a></li>\r
- <li><a href="#3_9">3.9 Graph class </a></li>\r
- <li><a href="#3_10">3.10 Link class </a></li>\r
- <li><a href="#3_11">3.11 Value class </a></li>\r
- <li><a href="#3_12">3.12 Port class </a></li>\r
- <li><a href="#3_13">3.13 SuperG class </a></li>\r
- </ul>\r
-</ul>\r
-</i> </b> <br>\r
-<a name="1"></a><h2>1. Introduction </h2>\r
-<p>The Supervision module of the SALOME platform allows to define and execute \r
- a chain of distributed numeric components, as well as to control the progress \r
- of this chain. The various calculations to be chained and the exchanged data \r
- are specified in a computing scheme, which can be of two types : </p>\r
-<ul>\r
- <li>Data flow computing schemes. <br>\r
- These schemes are represented by graphs without loops, conditional branches \r
- or any operation of control. The execution of theses schemes can be automatically \r
- optimized by the supervision engine by detecting and executing simultaneously \r
- independant branches and by managing in a optimal way the life cycle of components.</li>\r
- <br>\r
- <br>\r
- <li>Script type computing schemes.<br>\r
- These schemes allow to define chainings or complex couplings of components \r
- using loops, conditional execution and control flow breaks by leaning on a \r
- scripting language (parametric studies, multi-physical coupling). Contrary \r
- in data flows, the specification of these schemes must define the sequence \r
- of execution of components. Notably, the simultaneous execution of components \r
- should be explicitly defined.</li>\r
-</ul>\r
-<p>Of simple conception, the data flow schemes can be built in a graphic way and \r
- validated automatically by the supervision engine.</p>\r
-<p>The script type computing schemes, which offer the possibility of building \r
- complex chains, should be conceived by warned users (developers) who master \r
- the syntax and the use of the scripting language.</p>\r
-<p>Once specified and validated, certain computing schemes defined by scripts \r
- can be made customizable (input and output data, parameter sets) and integrated \r
- into the platform to form components. These components can be used to build \r
- schemes of higher level. </p>\r
-<p>Besides the definition of computing schemes, the Supervision module must also \r
- take care of their execution and follow-up (complete execution or step by step) \r
- : </p>\r
-<ul>\r
- <li> Asking of instanciation of the components (kernel calls) and data (data \r
- servers calls),</li>\r
- <li>Launching computations specified in the computing scheme, </li>\r
- <li>Managing the events emitted or received by the supervision engine and the \r
- component,</li>\r
- <li> Recovering the results of computations and demand of filing for the data \r
- service. </li>\r
-</ul>\r
-<p>The user can visualize the progress of the scheme and the exchanged data, be \r
- informed about the evolution of the execution of a component (errors, warning, \r
- tracks, ...), to intervene by stopping, pausing or by resuming the execution \r
- of the scheme or a particular component. </p>\r
- <i><a href="#cont">Back to the contents</a></i>\r
-<a name="2"></a><h2>2. Defintions </h2>\r
-<a name="2_1"></a><h3>2.1 Computing scheme of type DataFlow</h3>\r
-<p>The computing schemes of type dataflow, feasible by the Supervision module, \r
- are directed acyclic graphs, described by a set of nodes and of directed links. \r
- A node represents a service of an instance of a computation component.</p>\r
-<p>A node is provided with input port(s) and/or output port(s). The input port(s) \r
- (resp. output port(s)) represent the input argument(s) (resp. output argument(s)) \r
- of the service. Certain services can possibly require the use of parameters \r
- which will be grouped together in configuration files (defined in the Data/Properties \r
- module, and recorded in the study).</p>\r
-<p>The computing schemes of type data flow do not contain either loops, conditional \r
- branches or any operation of control. They can thus be built easily in a graphic \r
- way, by connecting output ports to input ports of nodes. Although the graphic \r
- construction is the simplest way, these computing schemes can also be defined \r
- in the language of script.</p>\r
-<p>A node represents a service (function, method) of an instance of a component. \r
- If the component possesses a unique service (\93Run\94 method), one will omit the \r
- term \93service of\94. Various services of the same component can be used in various \r
- nodes of the graph, or the same service can be used several times.</p>\r
-<a name="2_2"></a><h3>2.2 Types of nodes </h3>\r
-<p>In the SUPERVISION module there are the following types of nodes: </p>\r
-<b>\r
-<ul>\r
- <li>computation node,</li>\r
- <li> loop node,</li>\r
- <li> switch node,</li>\r
- <li> GOTO node. </li>\r
-</ul>\r
-</b> \r
-<p>The dependance between different types of nodes is shown on the following picture: \r
-</p>\r
-<div align="center"><img src="nodestypes.jpg"> </div>\r
-<a name="2_2_1"></a><h4>2.2.1 Computation node </h4>\r
-<p>This node represents a computation algorithm in the graph structure. Nodes \r
- of such type can present a service registered in the Component Catalog (<b>Factory \r
- Node</b>) or an external service defined in Python script by user (<b>InLine node</b>). \r
- Python function of InLine node can be edited in Supervision Graph edit mode. \r
-</p>\r
-<a name="2_2_2"></a><h4><b>2.2.2 Loop node</b> </h4>\r
-<p>Loop node is a kind of Control nodes. In fact two nodes represent Loop: \r
-<b>start</b> loop and <b>end</b> loop nodes. Nodes of such type are always InLine nodes. \r
-User have to supply this type of node by service, which will check conditions of end of loop. </p>\r
-\r
-<p>With that kind of nodes may be defined all kinds of loops:<br><br>\r
-\r
-\93for( initial condition(s) ; end condition(s) ; end loop code )\94 or <br><br>\r
-\r
-\93while( end condition )\94<br><br>\r
-\r
-etc\85</p>\r
-<p>Here you can see a simple example of Python functions set in a Loop node:</p>\r
-<pre><code>\r
-def Init(Index,Min,Max,Incr) : \r
-\r
- if Min <= Max : \r
-\r
- Index = Min \r
-\r
- else : \r
-\r
- Index = Max \r
-\r
- return Index,Min,Max,Incr \r
-\r
- \r
-\r
-def More(Index,Min,Max,Incr) : \r
-\r
- if Index < Max : \r
-\r
- DoLoop = 1 \r
-\r
- else : \r
-\r
- DoLoop = 0 \r
-\r
- return DoLoop,Index,Min,Max,Incr \r
-\r
- \r
-\r
-def Next(Index,Min,Max,Incr) : \r
-\r
- Index = Index + Incr \r
-\r
- return Index,Min,Max,Incr\r
-</code></pre>\r
-\r
-<a name="2_2_3"></a><h4>2.2.3 Switch node </h4>\r
-<p>Switch node is a kind of Control node. In fact two nodes present Switch: <b>start</b> Switch and <b>end</b> Switch.\r
- Nodes of such type are always InLine nodes. You have to supply this type of node by service, which will perform switching. That's why nodes of such type can have at least two or more switch ports (Boolean), but only one switch port can have "True" value at a definite moment of graph execution.</p>\r
- \r
- <p> With that kind of node you can define all kinds of tests or switches :</p>\r
-\r
-<p>\93if( condition ) ; else if( condition ) \85 ; else\94 or<br><br>\r
-\r
-\93switch( variable ) ; case value \85; default\94.<br><br>\r
-\r
-Etc\85</p>\r
-<p>The associated Python function will have all input ports of the Switch node \r
- as input arguments. And that function must return a value for all output ports. \r
- A simple example of this Python function: </p>\r
- <pre><code>\r
- \r
-def Switch(x): \r
-\r
- i1=0 \r
-\r
- i2=0 \r
-\r
- i3=0 \r
-\r
- if x>13: \r
-\r
- i1=1 \r
-\r
- elif x==13: \r
-\r
- i2=1 \r
-\r
- else: \r
-\r
- i3=1 \r
-\r
- return i1,i2,i3 \r
- </code></pre>\r
-<p>In this example <b>i1</b>, <b>i2</b>, <b>i3</b> parameters of the function correspond to Switch \r
- ports of the node. So, depending on the result of execution of the initial condition \r
- (in our case it's a comparison of the input parameter with an integer 13), one \r
- of the switch ports will get the value 1. And this port will transmit further \r
- dataflow to the corresponding node. </p>\r
-<a name="2_2_4"></a><h4>2.2.4 GOTO node </h4>\r
-<p>GOTO node represents a simple transmitter of data from one port into another. \r
- This InLine node can be with service or without it. In the first case the data \r
- received by a GOTO node will be processed by this function and only after that \r
- it will be transferred to another node. GOTO nodes may have as many Input and \r
- Output ports as it's necessary. </p>\r
- <i><a href="#cont">Back to the contents</a></i>\r
-<a name="3"></a><h2>3. SUPERVISION module features and services </h2>\r
-<p>The functionality of the SUPERVISION module is provided by a set of classes which are combined into \r
-the <b>SUPERV</b> package.\r
-<p>The API reference of the SUPERVISION component can be found <a href="namespaceSUPERV.html">here</a>.</p>\r
-<a name="3_1"></a><h3>3.1 CNode class </h3>\r
-<p>This is a base class of the SUPERVISION module. It contains a set of methods allowing:</p>\r
-\r
-<ul>\r
- <li>creating a <b>Computation node </b>and setting its parameters (Name, Author, Comments \r
- etc.)</li>\r
- <li>checking the current state of the node in the data flow</li>\r
- <li>node execution follow-up</li>\r
- <li>management of the components, which can be initialized for execution of calculations in the data flow. (For that purpose\r
- CNode class inherits the methods of the <b>Engines:Container</b> class)</li>\r
-</ul>\r
-<p>The API reference for this class can be found <a href="interfaceSUPERV_1_1CNode.html">here</a>.</p>\r
-\r
-<a name="3_2"></a><h3>3.2 FNode class </h3>\r
-\r
-<p>This class is necessary for management of <b>Factory nodes</b> in the data flow. Besides the inherited methods it contains some methods allowing\r
-to define the component from the container, which will be called for execution of the calculation.</p>\r
-<p>The API reference for this class can be found <a href="interfaceSUPERV_1_1FNode.html">here</a>.</p>\r
-<a name="3_3"></a>\r
-<h3>3.3 INode class </h3>\r
-<p>This class is necessary for management of <b>Inline nodes</b> in the data flow. Besides the inherited methods it contains some methods allowing to set\r
-the Python function, which will be executed for performing calculations, as well as input and output parameters for the node.</p>\r
-<p>The API reference for this class can be found <a href="interfaceSUPERV_1_1INode.html">here</a>.</p>\r
-\r
-<a name="3_4"></a><h3>3.4 GNode class </h3>\r
-<p>This class is necessary for management of <b>GOTO nodes</b> in the data flow. Besides the inherited methods it contains some methods allowing to define\r
-the couple node, which will be linked to this one.</p>\r
-<p>The API reference for this class can be found <a href="interfaceSUPERV_1_1GNode.html">here</a>.</p>\r
-\r
-<a name="3_5"></a><h3>3.5 LNode class </h3>\r
-<p>This class is necessary for management of <b>Loop nodes</b> (or <b>Start Loop nodes</b>) in the data flow. Besides the inherited methods it contains some methods allowing to define\r
-the Python function, which will control the loop.</p>\r
-<p>The API reference for this class can be found <a href="interfaceSUPERV_1_1LNode.html">here</a>.</p>\r
-\r
-<a name="3_6"></a><h3>3.6 ELNode class </h3>\r
-<p>This class is necessary for management of <b>End Loop nodes</b> (or <b>start</b> Loop nodes) in the data flow.</p>\r
-<p>The API reference for this class can be found <a href="interfaceSUPERV_1_1ELNode.html">here</a>.</p>\r
-\r
-<a name="3_7"></a><h3>3.7 SNode class </h3>\r
-<p>This class is necessary for management of <b>Switch nodes</b> (or <b>Start Switch nodes</b>) in the data flow. </p>\r
-<p>The API reference for this class can be found <a href="interfaceSUPERV_1_1SNode.html">here</a>.</p>\r
-\r
-<a name="3_8"></a><h3>3.8 ESNode class </h3>\r
-<p>This class is necessary for management of <b>End Switch nodes</b> in the data flow. </p>\r
-<p>The API reference for this class can be found <a href="interfaceSUPERV_1_1ESNode.html">here</a>.</p>\r
-\r
-<a name="3_9"></a><h3>3.9 Graph class </h3>\r
-<p>This class is used for management of a data flow. It contains a set of methods, which allows:</p>\r
-<ul>\r
- <li>creation of a data flow consisting of one or several different nodes</li>\r
- <li>import/export of an existing data flow</li>\r
- <li>execution of the data flow </li>\r
- <li>follow-up of data flow execution</li>\r
- <li>checking the state of the data flow</li>\r
-</ul>\r
-<p>The API reference for this class can be found <a href="interfaceSUPERV_1_1Graph.html">here</a>.</p>\r
-<a name="3_10"></a><h3>3.10 Link class </h3>\r
-<p>This class contains a set of methods used for representation and management of the links connecting nodes in a data flow. </p>\r
-<p>The API reference for this class can be found <a href="interfaceSUPERV_1_1Link.html">here</a>.</p>\r
-\r
-<a name="3_11"></a><h3>3.11 Value class </h3>\r
-<p>This class contains a set of methods used for management of the values which can be set in the ports of nodes. </p>\r
-<p>The API reference for this class can be found <a href="interfaceSUPERV_1_1Value.html">here</a>.</p>\r
-\r
-<a name="3_12"></a><h3>3.12 Port class </h3>\r
-<p>This class contains a set of methods used for management of the ports of the nodes in a data flow: </p>\r
-\r
-<ul>\r
- <li>setting the attributes of a port</li>\r
- <li>initialization of input ports with initial values</li>\r
- <li>linking ports of different nodes</li>\r
-</ul>\r
-<p>The API reference for this class can be found <a href="interfaceSUPERV_1_1Port.html">here</a>.</p>\r
-\r
-<a name="3_13"></a><h3>3.13 SuperG class </h3>\r
-<p>The main class of the SUPERVISION ccomponent which is used for construction and initialization of a data flow. </p>\r
-<p>The API reference for this class can be found <a href="interfaceSUPERV_1_1SuperG.html">here</a>.</p>\r
-\r
-\r
-<i><a href="#cont">Back to the contents</a></i>\r
-</body>\r
-</html>\r
+++ /dev/null
-<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
-<html>
-<head>
- <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
- <meta name="GENERATOR" content="Mozilla/4.73 [en] (WinNT; I) [Netscape]">
- <title>Main Page</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-</head>
-<body>
-
-<center><table WIDTH="96%" >
-<tr>
-<td><a href="http://www.opencascade.com"><img src="sources/logocorp.gif" BORDER=0 height=46 width=122></a></td>
-
-
-<td>
-<div align=right><a href="http://www.opencascade.org/SALOME/"><img src="sources/application.gif" BORDER=0 height=46 width=108></a></div>
-</td>
-</tr>
-</table></center>
-
-
-</body>
-</html>
-<!-- Generated by Doxygen 1.3-rc2 -->
-<ul>
-<li><b>SALOME SUPERVISION module</b><ul>
-<li><a href="HTML/SUPERV.html">Mapping of SUPERV functions</a></li></ul>
-</li></ul>
-</body>
-</html>
+++ /dev/null
-foldersTree = gFld("<b>SALOME v.1.4.0 </b>", "", "")
- insDoc(foldersTree, gLnk("Main Page", "", "main.html"))
-
-aux1 = insFld(foldersTree, gFld("TUI Reference Guide", ""))
- aux2 = insFld(aux1, gFld("Modules", ""))
- aux3 = insFld(aux2, gFld("SALOME SUPERVISION module", ""))
- insDoc(aux3, gLnk("Overview", "", "overview_Supervision.html"))
- aux4 = insFld(aux3, gFld("Packages", ""))
- insDoc(aux4, gLnk("SUPERV", "", "namespaceSUPERV.html"))
- insDoc(aux3, gLnk("Examples", "", "examples_SUPERV.html"))
-
-
-/*! Data structures
-*/
- insDoc(aux1, gLnk("Data Structures", "", "annotated.html"))
-
-/*! insDoc(aux1, gLnk("SUPERV::CNode", "", "interfaceSUPERV_1_1CNode.html"))
- insDoc(aux1, gLnk("SUPERV::ELNode", "", "interfaceSUPERV_1_1ELNode.html"))
- insDoc(aux1, gLnk("SUPERV::ESNode", "", "interfaceSUPERV_1_1ESNode.html"))
- insDoc(aux1, gLnk("SUPERV::FNode", "", "interfaceSUPERV_1_1FNode.html"))
- insDoc(aux1, gLnk("SUPERV::GNode", "", "interfaceSUPERV_1_1GNode.html"))
- insDoc(aux1, gLnk("SUPERV::Graph", "", "interfaceSUPERV_1_1Graph.html"))
- insDoc(aux1, gLnk("SUPERV::INode", "", "interfaceSUPERV_1_1INode.html"))
- insDoc(aux1, gLnk("SUPERV::Link", "", "interfaceSUPERV_1_1Link.html"))
- insDoc(aux1, gLnk("SUPERV::ListOfNodes", "", "structSUPERV_1_1ListOfNodes.html"))
- insDoc(aux1, gLnk("SUPERV::LNode", "", "interfaceSUPERV_1_1LNode.html"))
- insDoc(aux1, gLnk("SUPERV::Port", "", "interfaceSUPERV_1_1Port.html"))
- insDoc(aux1, gLnk("SUPERV::SDate", "", "structSUPERV_1_1SDate.html"))
- insDoc(aux1, gLnk("SUPERV::SNode", "", "interfaceSUPERV_1_1SNode.html"))
- insDoc(aux1, gLnk("SUPERV::SuperG", "", "interfaceSUPERV_1_1SuperG.html"))
-*/
- insDoc(aux1, gLnk("Class Hierarchy", "", "hierarchy.html"))
-
-/*!
- aux3 = insFld(aux2, gFld("SUPERV::CNode", "", "interfaceSUPERV_1_1CNode.html"))
- insDoc(aux3, gLnk("SUPERV::FNode", "", "interfaceSUPERV_1_1FNode.html"))
- aux4 = insFld(aux3, gFld("SUPERV::INode", "", "interfaceSUPERV_1_1INode.html"))
- aux5 = insFld(aux4, gFld("SUPERV::GNode", "", "interfaceSUPERV_1_1GNode.html"))
- insDoc(aux5, gLnk("SUPERV::ELNode", "", "interfaceSUPERV_1_1ELNode.html"))
- insDoc(aux5, gLnk("SUPERV::ESNode", "", "interfaceSUPERV_1_1ESNode.html"))
- insDoc(aux5, gLnk("SUPERV::LNode", "", "interfaceSUPERV_1_1LNode.html"))
- insDoc(aux5, gLnk("SUPERV::SNode", "", "interfaceSUPERV_1_1SNode.html"))
- insDoc(aux4, gLnk("SUPERV::Graph", "", "interfaceSUPERV_1_1Graph.html"))
- insDoc(aux2, gLnk("SUPERV::Link", "", "interfaceSUPERV_1_1Link.html"))
- insDoc(aux2, gLnk("SUPERV::SuperG", "", "interfaceSUPERV_1_1SuperG.html"))
- aux3 = insFld(aux2, gFld("SUPERV::Value", "", "interfaceSUPERV_1_1Value.html"))
- insDoc(aux3, gLnk("SUPERV::Port", "", "interfaceSUPERV_1_1Port.html"))
- insDoc(aux2, gLnk("SUPERV::SuperG", "", "interfaceSUPERV_1_1SuperG.html"))
- insDoc(aux1, gLnk("SUPERV::ListOfNodes", "", "structSUPERV_1_1ListOfNodes.html"))
- insDoc(aux1, gLnk("SUPERV::SDate", "", "structSUPERV_1_1SDate.html"))
-*/
- insDoc(aux1, gLnk("Class methods list", "", "functions.html"))
-/*!
-aux1 = insFld(foldersTree, gFld("Namespace List", "", "namespaces.html"))
- insDoc(aux1, gLnk("SUPERV", "", "namespaceSUPERV.html"))
-*/
- insDoc(aux1, gLnk("Namespace Members", "", "namespacemembers.html"))
-
- insDoc(aux1, gLnk("File List", "", "files.html"))
-
-/*!
-
- insDoc(aux1, gLnk("SUPERV.idl", "", "SUPERV_8idl.html"))
-*/
-
-
-aux1 = insFld(foldersTree, gFld("IDL/Python mapping", ""))
- insDoc(aux1, gLnk("Mapping of SUPERVISION IDL definitions to Python language", "", "page2.html"))
-
-/*! insDoc(foldersTree, gLnk("Graphical Class Hierarchy", "", "inherits.html"))
-*/
+++ /dev/null
-//****************************************************************
-// You are free to copy the "Folder-Tree" script as long as you
-// keep this copyright notice:
-// Script found in: http://www.geocities.com/Paris/LeftBank/2178/
-// Author: Marcelino Alves Martins (martins@hks.com) December '97.
-//****************************************************************
-
-//Log of changes:
-// 17 Feb 98 - Fix initialization flashing problem with Netscape
-//
-// 27 Jan 98 - Root folder starts open; support for USETEXTLINKS;
-// make the ftien4 a js file
-//
-// DvH: Dec 2000 - Made some minor changes to support external
-// references
-
-// Definition of class Folder
-// *****************************************************************
-
-function Folder(folderDescription, tagName, hreference) //constructor
-{
- //constant data
- this.desc = folderDescription
- this.tagName = tagName
- this.hreference = hreference
- this.id = -1
- this.navObj = 0
- this.iconImg = 0
- this.nodeImg = 0
- this.isLastNode = 0
-
- //dynamic data
- this.isOpen = true
- this.iconSrc = "ftv2folderopen.png"
- this.children = new Array
- this.nChildren = 0
-
- //methods
- this.initialize = initializeFolder
- this.setState = setStateFolder
- this.addChild = addChild
- this.createIndex = createEntryIndex
- this.hide = hideFolder
- this.display = display
- this.renderOb = drawFolder
- this.totalHeight = totalHeight
- this.subEntries = folderSubEntries
- this.outputLink = outputFolderLink
-}
-
-function setStateFolder(isOpen)
-{
- var subEntries
- var totalHeight
- var fIt = 0
- var i=0
-
- if (isOpen == this.isOpen)
- return
-
- if (browserVersion == 2)
- {
- totalHeight = 0
- for (i=0; i < this.nChildren; i++)
- totalHeight = totalHeight + this.children[i].navObj.clip.height
- subEntries = this.subEntries()
- if (this.isOpen)
- totalHeight = 0 - totalHeight
- for (fIt = this.id + subEntries + 1; fIt < nEntries; fIt++)
- indexOfEntries[fIt].navObj.moveBy(0, totalHeight)
- }
- this.isOpen = isOpen
- propagateChangesInState(this)
-}
-
-function propagateChangesInState(folder)
-{
- var i=0
-
- if (folder.isOpen)
- {
- if (folder.nodeImg)
- if (folder.isLastNode)
- folder.nodeImg.src = "ftv2mlastnode.png"
- else
- folder.nodeImg.src = "ftv2mnode.png"
- folder.iconImg.src = "ftv2folderopen.png"
- for (i=0; i<folder.nChildren; i++)
- folder.children[i].display()
- }
- else
- {
- if (folder.nodeImg)
- if (folder.isLastNode)
- folder.nodeImg.src = "ftv2plastnode.png"
- else
- folder.nodeImg.src = "ftv2pnode.png"
- folder.iconImg.src = "ftv2folderclosed.png"
- for (i=0; i<folder.nChildren; i++)
- folder.children[i].hide()
- }
-}
-
-function hideFolder()
-{
- if (browserVersion == 1 || browserVersion == 3) {
- if (this.navObj.style.display == "none")
- return
- this.navObj.style.display = "none"
- } else {
- if (this.navObj.visibility == "hidden")
- return
- this.navObj.visibility = "hidden"
- }
-
- this.setState(0)
-}
-
-function initializeFolder(level, lastNode, leftSide)
-{
-var j=0
-var i=0
-var numberOfFolders
-var numberOfDocs
-var nc
-
- nc = this.nChildren
-
- this.createIndex()
-
- var auxEv = ""
-
- if (browserVersion > 0)
- auxEv = "<a href='javascript:clickOnNode("+this.id+")'>"
- else
- auxEv = "<a>"
-
- if (level>0)
- if (lastNode) //the last 'brother' in the children array
- {
- this.renderOb(leftSide + auxEv + "<img name='nodeIcon" + this.id + "' src='ftv2mlastnode.png' width=16 height=22 border=0></a>")
-// leftSide = leftSide + "<img src='ftv2blank.png' width=16 height=22>"
- this.isLastNode = 1
- }
- else
- {
- this.renderOb(leftSide + auxEv + "<img name='nodeIcon" + this.id + "' src='ftv2mnode.png' width=16 height=22 border=0></a>")
- leftSide = leftSide + "<img src='ftv2vertline.png' width=16 height=22>"
- this.isLastNode = 0
- }
- else
- this.renderOb("")
-
- if (nc > 0)
- {
- level = level + 1
- for (i=0 ; i < this.nChildren; i++)
- {
- if (i == this.nChildren-1)
- this.children[i].initialize(level, 1, leftSide)
- else
- this.children[i].initialize(level, 0, leftSide)
- }
- }
-}
-
-function drawFolder(leftSide)
-{
- if (browserVersion == 2) {
- if (!doc.yPos)
- doc.yPos=8
- doc.write("<layer id='folder" + this.id + "' top=" + doc.yPos + " visibility=hidden>")
- }
- if (browserVersion == 3)
- {
- doc.write("<div id='folder" + this.id + "' style='visibility:hide;'>")
- }
-
- doc.write("\n<table ")
- if (browserVersion == 1)
- doc.write(" id='folder" + this.id + "' style='position:block;' ")
- doc.write(" border=0 cellspacing=0 cellpadding=0>")
- doc.write("\n<tr><td>")
- doc.write(leftSide)
- this.outputLink()
- doc.write("<img name='folderIcon" + this.id + "' ")
- doc.write("src='" + this.iconSrc+"' border=0></a>")
- doc.write("</td>\n<td valign=middle nowrap>")
- if (USETEXTLINKS)
- {
- this.outputLink()
- doc.write(this.desc + "</a>")
- }
- else
- doc.write(this.desc)
-
-/*!
- if (this.tagName!="")
- {
- doc.write(" [external]")
- }
-*/
- doc.write("</td>")
- doc.write("\n</table>\n")
-
- if (browserVersion == 2) {
- doc.write("</layer>")
- }
- if (browserVersion == 3) {
- doc.write("</div>")
- }
-
- if (browserVersion == 1) {
- this.navObj = doc.all["folder"+this.id]
- this.iconImg = doc.all["folderIcon"+this.id]
- this.nodeImg = doc.all["nodeIcon"+this.id]
- } else if (browserVersion == 2) {
- this.navObj = doc.layers["folder"+this.id]
- this.iconImg = this.navObj.document.images["folderIcon"+this.id]
- this.nodeImg = this.navObj.document.images["nodeIcon"+this.id]
- doc.yPos=doc.yPos+this.navObj.clip.height
- } else if (browserVersion == 3) {
- this.navObj = doc.getElementById("folder"+this.id)
- this.iconImg = doc.images.namedItem("folderIcon"+this.id)
- this.nodeImg = doc.images.namedItem("nodeIcon"+this.id)
- }
-}
-
-function outputFolderLink()
-{
- if (this.hreference)
- {
- doc.write("<a ")
- if (this.tagName)
- {
- doc.write("doxygen='" + this.tagName + "' ");
- }
- doc.write("href='" + this.hreference + "' TARGET=\"basefrm\" ")
- if (browserVersion > 0)
- doc.write("onClick='javascript:clickOnFolder("+this.id+")'")
- doc.write(">")
- }
- else
- doc.write("<a>")
-}
-
-function addChild(childNode)
-{
- this.children[this.nChildren] = childNode
- this.nChildren++
- return childNode
-}
-
-function folderSubEntries()
-{
- var i = 0
- var se = this.nChildren
-
- for (i=0; i < this.nChildren; i++){
- if (this.children[i].children) //is a folder
- se = se + this.children[i].subEntries()
- }
-
- return se
-}
-
-
-// Definition of class Item (a document or link inside a Folder)
-// *************************************************************
-
-function Item(itemDescription, tagName, itemLink) // Constructor
-{
- // constant data
- this.desc = itemDescription
- this.tagName = tagName
- this.link = itemLink
- this.id = -1 //initialized in initalize()
- this.navObj = 0 //initialized in render()
- this.iconImg = 0 //initialized in render()
- this.iconSrc = "ftv2doc.png"
-
- // methods
- this.initialize = initializeItem
- this.createIndex = createEntryIndex
- this.hide = hideItem
- this.display = display
- this.renderOb = drawItem
- this.totalHeight = totalHeight
-}
-
-function hideItem()
-{
- if (browserVersion == 1 || browserVersion == 3) {
- if (this.navObj.style.display == "none")
- return
- this.navObj.style.display = "none"
- } else {
- if (this.navObj.visibility == "hidden")
- return
- this.navObj.visibility = "hidden"
- }
-}
-
-function initializeItem(level, lastNode, leftSide)
-{
- this.createIndex()
-
- if (level>0)
- if (lastNode) //the last 'brother' in the children array
- {
- this.renderOb(leftSide + "<img src='ftv2lastnode.png' width=16 height=22>")
- leftSide = leftSide + "<img src='ftv2blank.png' width=16 height=22>"
- }
- else
- {
- this.renderOb(leftSide + "<img src='ftv2node.png' width=16 height=22>")
- leftSide = leftSide + "<img src='ftv2vertline.png' width=16 height=22>"
- }
- else
- this.renderOb("")
-}
-
-function drawItem(leftSide)
-{
- if (browserVersion == 2)
- doc.write("<layer id='item" + this.id + "' top=" + doc.yPos + " visibility=hidden>")
- if (browserVersion == 3)
- doc.write("<div id='item" + this.id + "' style='display:block;'>")
-
- doc.write("\n<table ")
- if (browserVersion == 1)
- doc.write(" id='item" + this.id + "' style='position:block;' ")
- doc.write(" border=0 cellspacing=0 cellpadding=0>\n")
- doc.write("<tr><td>")
- doc.write(leftSide)
- if (this.link!="")
- {
- doc.write("<a href=" + this.link + ">")
- }
- doc.write("<img id='itemIcon"+this.id+"' ")
- doc.write("src='"+this.iconSrc+"' border=0>")
- if (this.link!="")
- {
- doc.write("</a>")
- }
- doc.write("</td>\n<td valign=middle nowrap>")
- if (USETEXTLINKS && this.link!="")
- doc.write("<a href=" + this.link + ">" + this.desc + "</a>")
- else
- doc.write(this.desc)
-/*!
- if (this.tagName!="")
- {
- doc.write(" [external]");
- }
-*/
- doc.write("\n</table>\n")
-
- if (browserVersion == 2)
- doc.write("</layer>")
- if (browserVersion == 3)
- doc.write("</div>")
-
- if (browserVersion == 1) {
- this.navObj = doc.all["item"+this.id]
- this.iconImg = doc.all["itemIcon"+this.id]
- } else if (browserVersion == 2) {
- this.navObj = doc.layers["item"+this.id]
- this.iconImg = this.navObj.document.images["itemIcon"+this.id]
- doc.yPos=doc.yPos+this.navObj.clip.height
- } else if (browserVersion == 3) {
- this.navObj = doc.getElementById("item"+this.id)
- this.iconImg = doc.images.namedItem("itemIcon"+this.id)
- }
-}
-
-
-// Methods common to both objects (pseudo-inheritance)
-// ********************************************************
-
-function display()
-{
- if (browserVersion == 1 || browserVersion == 3)
- this.navObj.style.display = "block"
- else
- this.navObj.visibility = "show"
-}
-
-function createEntryIndex()
-{
- this.id = nEntries
- indexOfEntries[nEntries] = this
- nEntries++
-}
-
-// total height of subEntries open
-function totalHeight() //used with browserVersion == 2
-{
- var h = this.navObj.clip.height
- var i = 0
-
- if (this.isOpen) //is a folder and _is_ open
- for (i=0 ; i < this.nChildren; i++)
- h = h + this.children[i].totalHeight()
-
- return h
-}
-
-
-// Events
-// *********************************************************
-
-function clickOnFolder(folderId)
-{
- var clicked = indexOfEntries[folderId]
-
- if (!clicked.isOpen)
- clickOnNode(folderId)
-
- return
-
- if (clicked.isSelected)
- return
-}
-
-function clickOnNode(folderId)
-{
- var clickedFolder = 0
- var state = 0
-
- clickedFolder = indexOfEntries[folderId]
- state = clickedFolder.isOpen
-
- clickedFolder.setState(!state) //open<->close
-}
-
-function initializeDocument()
-{
- doc = document;
- if (doc.all)
- browserVersion = 1 //IE4
- else
- if (doc.layers)
- browserVersion = 2 //NS4
- else if(navigator.userAgent.toLowerCase().indexOf('gecko') != -1)
- browserVersion = 3 //mozilla
- else
- browserVersion = 0 //other
-
- foldersTree.initialize(0, 1, "")
- foldersTree.display()
-
- if (browserVersion > 0)
- {
- if(browserVersion != 3)
- doc.write("<layer top="+indexOfEntries[nEntries-1].navObj.top+"> </layer>")
-
- // close the whole tree
- clickOnNode(0)
- // open the root folder
- clickOnNode(0)
- }
-}
-
-// Auxiliary Functions for Folder-Treee backward compatibility
-// *********************************************************
-
-function gFld(description, tagName, hreference)
-{
- folder = new Folder(description, tagName, hreference)
- return folder
-}
-
-function gLnk(description, tagName, linkData)
-{
- fullLink = ""
-
- if (linkData!="")
- {
- fullLink = "'"+linkData+"' target=\"basefrm\""
- }
-
- linkItem = new Item(description, tagName, fullLink)
- return linkItem
-}
-
-function insFld(parentFolder, childFolder)
-{
- return parentFolder.addChild(childFolder)
-}
-
-function insDoc(parentFolder, document)
-{
- parentFolder.addChild(document)
-}
-
-// Global variables
-// ****************
-
-USETEXTLINKS = 1
-indexOfEntries = new Array
-nEntries = 0
-doc = document
-browserVersion = 0
-selectedFolder=0
+++ /dev/null
-# Copyright (C) 2003 CEA/DEN, EDF R&D
-#
-#
-#
-# File : Makefile.in
-# Author : Vasily Rusyaev (Open Cascade NN)
-# Module : doc
-# $Header:
-
-top_srcdir=@top_srcdir@
-root_srcdir=@ROOT_SRCDIR@
-top_builddir=../..
-srcdir=@srcdir@
-VPATH=.:@srcdir@
-doxygen=@DOXYGEN@
-
-@COMMENCE@
-
-doc:
- cp -fr $(srcdir)/INPUT ./; \
- cd INPUT; \
- sed 's|../../../share/salome|$(root_srcdir)|' doxyfile > doxyfile1; \
- mv -f doxyfile1 doxyfile; \
- $(doxygen) ./doxyfile; \
- cd ..; \
- cp -fr $(srcdir)/INPUT/sources/static/*.* ./html/
- cp -fr $(srcdir)/INPUT/sources/ html/
- cp -fr $(srcdir)/INPUT/HTML/ html/
-
-clean:
- rm -rf html
-
-distclean: clean
- rm -rf INPUT
-
-install:
- $(INSTALL) -d $(docdir); \
- cp -rf html $(docdir)
-
-uninstall:
- rm -rf $(docdir)/html
+++ /dev/null
-
-# -* Makefile *-
-#
-# Author : Patrick GOLDBRONN (CEA)
-# Date : 30/11/2001
-# $Header$
-#
-# source path
-top_srcdir=@top_srcdir@
-top_builddir=../..
-srcdir=@srcdir@
-VPATH=.:@srcdir@
-
-SUBDIRS= tui gui
-
-@COMMENCE@
-
-docs:
- @@SETX@; for d in $(SUBDIRS); do \
- (cd $$d && $(MAKE) $@) || exit 1; \
- done; \
- cp -f $(srcdir)/SUPERV_index.html SUPERV_index.html
-
-clean:
- @@SETX@; for d in $(SUBDIRS); do \
- (cd $$d && $(MAKE) $@) || exit 1; \
- done
-
-distclean: clean
- @@SETX@; for d in $(SUBDIRS); do \
- (cd $$d && $(MAKE) $@) || exit 1; \
- done
-
-install:
- $(MAKE) docs
- (cd tui && $(MAKE) install);
- (cd gui && $(MAKE) install);
- cp -f SUPERV_index.html $(docdir)
-
-uninstall:
- @@SETX@; for d in $(SUBDIRS); do \
- (cd $$d && $(MAKE) $@) || exit 1; \
- done; \
- rm -fr $(docdir)/SUPERV_index.html
+++ /dev/null
-<!DOCTYPE doctype PUBLIC "-//w3c//dtd html 4.0 transitional//en">
-<html>
-<head>
-
- <meta http-equiv="Content-Type"
- content="text/html; charset=iso-8859-1">
-
- <meta name="GENERATOR"
- content="Mozilla/4.73 [en] (WinNT; I) [Netscape]">
- <title>Supervision Module Documentation</title>
-</head>
- <body bgcolor="#cccccc" text="#000000" link="#0000ee" alink="#0000ee"
- vlink="#551a8b">
-
-<div align="center">
-<center>
-<center>
- </center>
-
-<table width="96%" align="center">
- <tbody>
- <tr>
- <td><a href="http://www.opencascade.com"><img
- src="tui/SUPERV/sources/logocorp.gif" border="0" height="46" width="122">
- </a></td>
- <td>
-
- <div align="right"><a href="http://www.opencascade.org/SALOME/"><img
- src="tui/SUPERV/sources/application.gif" border="0" height="46" width="108">
- </a></div>
- </td>
- </tr>
-
- </tbody>
-</table>
-
-<div align="center">
-<center>
-<hr width="100%" size="2">
-<h1>Supervision MODULE Documentation</h1>
- </center>
- </div>
-
-<table width="96%">
- <tbody>
-
- </tbody>
-</table>
- </center>
-
-<div align="center">
-<p> <img src="tui/SUPERV/sources/Application-About.png"
- alt="Application-About.png" width="30%" height="20%">
- </p>
- </div>
-
-<center>
-<table width="96%">
- <tbody>
-
- </tbody>
-</table>
- <br>
- <br>
- <br>
- </center>
-
-<address> </address>
-
-<center><big><a href="gui/SUPERV/supervision.html">GUI Documentation</a></big></center>
-
-<address> </address>
-
-<center></center>
-
-<center><br>
- </center>
-
-<address> </address>
-
-<center><big><a href="tui/SUPERV/index.html">TUI Documentation</a></big></center>
-
-<address> </address>
-
-<center></center>
-
-<center><br>
- <br>
- </center>
- </div>
- <br>
- <br>
- <br>
-</body>
-</html>
+++ /dev/null
-# Copyright (C) 2003 CEA/DEN, EDF R&D
-#
-#
-#
-# File : Makefile.in
-# Author : Vasily Rusyaev (Open Cascade NN)
-# Module : doc
-# $Header:
-
-top_srcdir=@top_srcdir@
-top_builddir=../../..
-srcdir=@srcdir@
-VPATH=.:@srcdir@
-
-@COMMENCE@
-
-docs:
- cp -fr $(srcdir)/SUPERV ./
- -find $(PWD) -name CVS -exec rm -rf {} \;
-
-clean:
- rm -fr `ls | grep -v "Makefile"`
-
-distclean: clean
- rm -fr SUPERV
-
-install:
- mkdir -p $(docdir)/gui
- cp -rf SUPERV $(docdir)/gui
- -find $(PWD) -name CVS -exec rm -rf {} \;
-
-uninstall:
- rm -rf $(docdir)/gui/SUPERV
+++ /dev/null
-|SourceProjectName:SUPERVISION.hpr\r
-|DestinationProjectName:supervision.html\r
-whhost.js\r
-whmsg.js\r
-whmozemu.js\r
-whproxy.js\r
-whstub.js\r
-whutils.js\r
-whver.js\r
-whform.js\r
-whphost.js\r
-whstart.js\r
-whtopic.js\r
-whframes.js\r
-whlang.js\r
-whskin_info.htm\r
-whskin_blank.htm\r
-whnjs.htm\r
-whthost.js\r
-whtdhtml.htm\r
-whihost.js\r
-whibody.htm\r
-whiform.htm\r
-whfhost.js\r
-whfbody.htm\r
-whfform.htm\r
-whghost.js\r
-whgbody.htm\r
-whgdhtml.htm\r
-whgdef.htm\r
-whproj.js\r
-whproj.xml\r
-whproj.htm\r
-whdata\whtoc.js\r
-whdata\whtoc.xml\r
-whdata\whtoc.htm\r
-whdata\whtdata.js\r
-whdata\whidx.js\r
-whdata\whidx.xml\r
-whdata\whidx.htm\r
-whdata\whidata.js\r
-whdata\whfts.js\r
-whdata\whfts.xml\r
-whdata\whfts.htm\r
-whdata\whglo.js\r
-whdata\whglo.xml\r
-whdata\whglo.htm\r
-whdata\whgdata.js\r
-whdata\whftdata.js\r
-whdata\whfwdata.js\r
-whres.xml\r
-webhelp.jar\r
-webhelp.cab\r
-whgdata\whnvp30.htm\r
-whgdata\whnvp31.htm\r
-whgdata\whnvp32.htm\r
-whgdata\whnvp33.htm\r
-whgdata\whnvt30.htm\r
-whgdata\whnvt31.htm\r
-whgdata\whnvt32.htm\r
-whgdata\whnvt33.htm\r
-whgdata\whnvf30.htm\r
-whgdata\whnvf31.htm\r
-whgdata\whnvf32.htm\r
-whgdata\whnvf33.htm\r
-whgdata\whnvl31.htm\r
-whgdata\whnvl32.htm\r
-whgdata\whnvl33.htm\r
-whgdata\whexpbar.gif\r
-cshdat_webhelp.htm\r
-cshdat_robohelp.htm\r
-wht_tab0.gif\r
-wht_tab1.gif\r
-wht_tab2.gif\r
-wht_tab3.gif\r
-wht_tab4.gif\r
-wht_tab5.gif\r
-wht_tab6.gif\r
-wht_tab7.gif\r
-wht_tab8.gif\r
-wht_glo_h.gif\r
-wht_glo_n.gif\r
-wht_fts_h.gif\r
-wht_fts_n.gif\r
-wht_idx_h.gif\r
-wht_idx_n.gif\r
-wht_toc_h.gif\r
-wht_toc_n.gif\r
-wht_ws.gif\r
-wht_ws_g.gif\r
-wht_logo1.gif\r
-wht_logo2.gif\r
-wht_abgw.jpg\r
-wht_abgi.jpg\r
-wht_abge.jpg\r
-wht_abtw.jpg\r
-wht_abte.jpg\r
-wht_abti.jpg\r
-wht_spac.gif\r
-wht_next.gif\r
-wht_next_g.gif\r
-wht_prev.gif\r
-wht_prev_g.gif\r
-wht_sync.gif\r
-wht_hide.gif\r
-wht_go.gif\r
-whstart.ico\r
-whestart.ico\r
-whrstart.ico\r
-whidhtml.htm\r
-whfdhtml.htm\r
-whskin_banner.htm\r
-whtbar.js\r
-default.skn\r
-whskin_pdhtml.htm\r
-whskin_papplet.htm\r
-whskin_plist.htm\r
-whskin_tbars.htm\r
-whskin_mbars.htm\r
-wht_toc4.gif\r
-wht_toc1.gif\r
-wht_toc2.gif\r
-wht_toc3.gif\r
-whskin_frmset010.htm\r
-whst_topics.xml\r
-whskin_frmset01.htm\r
-supervision_hha.hhk\r
-supervision.hhc\r
-supervision.hhk\r
-files\about_nodes.htm\r
-files\adding_information_about_graphs.htm\r
-files\adding_links_from_an_output_port.htm\r
-files\adding_node_ports.htm\r
-files\adding_nodes.htm\r
-files\changing_node_description.htm\r
-files\changing_view_mode.htm\r
-files\computation_nodes.htm\r
-files\controlling_execution_of_the_graphs.htm\r
-files\copying_graphs.htm\r
-files\creating_a_new_graph.htm\r
-files\deleting_links.htm\r
-files\deleting_nodes.htm\r
-files\directing_dataflow_between_nodes.htm\r
-files\editing_imported_graphs.htm\r
-files\editing_node_function.htm\r
-files\exporting_graphs.htm\r
-files\filtering_and_storing_output_messages.htm\r
-files\goto_nodes.htm\r
-files\importing_graphs_from_file.htm\r
-files\inserting_graphs.htm\r
-files\introduction_to_supervisor.htm\r
-files\loop_nodes.htm\r
-files\modifying_links.htm\r
-files\opening_graphs_referenced_in_the_study.htm\r
-files\placing_nodes_in_the_window.htm\r
-files\points_in_links.htm\r
-files\referencing_output_values_in_the_study.htm\r
-files\reloading_dataflow.htm\r
-files\renaming_nodes.htm\r
-files\running_dataflow.htm\r
-files\running_supervisor.htm\r
-files\setting_input_parameters.htm\r
-files\step-by-step_execution.htm\r
-files\switch_nodes.htm\r
-files\usage_of_supervisor_module.htm\r
-files\viewing_output_vaues.htm\r
-texture_horiz_ltbluebubbles.jpg\r
-supervision.glo\r
-default.css\r
-comp1.jpg\r
-pics\supwind.jpg\r
-pics\full.jpg\r
-pics\browseport.jpg\r
-supervisor(eng)_image10.gif\r
-pics\filter.jpg\r
-i_blue.jpg\r
-tip1.gif\r
-pics\tablemode.jpg\r
-switch.jpg\r
-loop1.jpg\r
-pics\nodestypes.jpg\r
-pics\graphex.jpg\r
-supervisor(eng)_image13.gif\r
-pics\browsenode.jpg\r
-pics\runicn.jpg\r
-pics\kill.jpg\r
-supervisor(eng)_image15.gif\r
-pics\setval.jpg\r
-pics\control.jpg\r
-pics\reload.jpg\r
-pics\nodedescription.jpg\r
-pics\addnode1.jpg\r
-pics\stepbystep.jpg\r
-pics\addnode2.jpg\r
-supervisor(eng)_image4.gif\r
-pics\description.jpg\r
-supervisor(eng)_image6.gif\r
-note1.gif\r
-pics\reference.jpg\r
-pics\links.jpg\r
-pics\loopfunctions.jpg\r
-image3.gif\r
-ehlpdhtm.js\r
-supervision.ppf\r
-ss_btn_related_topics.gif\r
-default_ns.css\r
-whdata\whtdata0.xml\r
-whdata\whtdata0.htm\r
-whdata\whftdata0.xml\r
-whdata\whftdata0.htm\r
-whdata\whfwdata0.xml\r
-whdata\whfwdata0.htm\r
-whdata\whgdata0.xml\r
-whdata\whgdata0.htm\r
-whgdata\whlstt0.htm\r
-whgdata\whlstt1.htm\r
-whgdata\whlstt2.htm\r
-whgdata\whlstt3.htm\r
-whgdata\whlstt4.htm\r
-whgdata\whlstt5.htm\r
-whgdata\whlsti0.htm\r
-whgdata\whlstfl0.htm\r
-whgdata\whlstfl1.htm\r
-whgdata\whlstfl2.htm\r
-whgdata\whlstfl3.htm\r
-whgdata\whlstfl4.htm\r
-whgdata\whlstfl5.htm\r
-whgdata\whlstfl6.htm\r
-whgdata\whlstfl7.htm\r
-whgdata\whlstfl8.htm\r
-whgdata\whlstfl9.htm\r
-whgdata\whlstfl10.htm\r
-whgdata\whlstfl11.htm\r
-whgdata\whlstfl12.htm\r
-whgdata\whlstfl13.htm\r
-whgdata\whlstfl14.htm\r
-whgdata\whlstfl15.htm\r
-whgdata\whlstfl16.htm\r
-whgdata\whlstfl17.htm\r
-whgdata\whlstfl18.htm\r
-whgdata\whlstfl19.htm\r
-whgdata\whlstfl20.htm\r
-whgdata\whlstfl21.htm\r
-whgdata\whlstf0.htm\r
-whgdata\whlstf1.htm\r
-whgdata\whlstf2.htm\r
-whgdata\whlstf3.htm\r
-whgdata\whlstf4.htm\r
-whgdata\whlstf5.htm\r
-whgdata\whlstg0.htm\r
-supervision.html\r
-supervision_csh.html\r
-supervision_rhc.html\r
+++ /dev/null
-<html>\r
-<head>\r
-<title>SUPERVISION reference manual</title>\r
-<meta http-equiv="content-type" content="text/html; charset=iso-8859-1">\r
-<meta name="generator" content="RoboHelp by eHelp Corporation www.ehelp.com">\r
-<meta name "description" content="WebHelp 2002">\r
-</head>\r
-<body>\r
-<script language="JavaScript">\r
-<!--\r
-\r
-var gArrayCsh = new Array();\r
-\r
-var gstrWindowOption = "";\r
-var gstrURL = "";\r
-var gbWithNavPane = false;\r
-\r
-function CshEntityItem(strAliasId, nTopicNum, strUrl) \r
-{\r
- this.strAliasId = strAliasId;\r
- this.nTopicNum = nTopicNum;\r
- this.strUrl = strUrl;\r
-}\r
-\r
-\r
-//Try to get to topic number from hash string\r
-function GetTopicNumberAuto(strMayBeNumber)\r
-{\r
- var nNum = -1;\r
- if (strMayBeNumber.length >= 1)\r
- {\r
- var strTmp = strMayBeNumber;\r
- var iEnd = strTmp.length;\r
- for (var i=0; i<iEnd; i++)\r
- {\r
- var ch = strTmp.charAt(i);\r
- if (!((ch == "0") || (ch == "1") ||\r
- (ch == "2") || (ch == "3") ||\r
- (ch == "4") || (ch == "5") ||\r
- (ch == "6") || (ch == "7") ||\r
- (ch == "8") || (ch == "9")))\r
- return GetTopicNumberById(strTmp);\r
- }\r
- nNum = parseInt(strTmp);\r
- }\r
- return nNum;\r
-}\r
-\r
-function GetTopicNumber(strHashString)\r
-{\r
- var nTopicEndPos = strHashString.indexOf(',')\r
- if (nTopicEndPos == -1) { // no window option.\r
- return GetTopicNumberOnly(strHashString);\r
- }\r
- else {\r
- var strWindowOption = strHashString.substring(nTopicEndPos + 1, strHashString.length);\r
- var strWithNavPane = 'withnavpane=true';\r
- if (strWindowOption.toLowerCase().indexOf(strWithNavPane) == 0)\r
- {\r
- if (strWindowOption.length > strWithNavPane.length)\r
- gstrWindowOption = strWindowOption.substring(strWithNavPane.length + 1);\r
- else\r
- gstrWindowOption = "";\r
- gbWithNavPane = true;\r
- }\r
- else\r
- gstrWindowOption = strWindowOption;\r
- return GetTopicNumberOnly(strHashString.substring(0, nTopicEndPos)); \r
- }\r
-}\r
-\r
-function GetTopicNumberOnly(strTopicString)\r
-{\r
- var nEqualPos = strTopicString.indexOf('=');\r
- if (nEqualPos == -1) {\r
- return GetTopicNumberAuto(strTopicString);\r
- }\r
- else {\r
- var strValue=strTopicString.substring(nEqualPos + 1, strTopicString.length);\r
- if (strTopicString.toLowerCase().indexOf("topicnumber") == 0) {\r
- return parseInt(strValue);\r
- } else if (strTopicString.toLowerCase().indexOf("context") == 0) {\r
- return GetTopicNumberById(strValue);\r
- } else if (strTopicString.toLowerCase().indexOf("remoteurl") == 0) {\r
- gstrURL = strValue;\r
- return -1;\r
- }\r
-\r
- }\r
-}\r
-\r
-//Find HomePage of the WebHelp system\r
-// we try to get the topic from remote project if it exists.\r
-function RedirectToHomePage()\r
-{\r
- if (parent && parent != this && parent.goNext)\r
- {\r
- var sHome = parent.goNext();\r
- if (sHome != "")\r
- RedirectTo(sHome);\r
- }\r
-}\r
-\r
-function getHomePage()\r
-{\r
- if (parent && parent != this && parent.getRelHomePage)\r
- {\r
- return parent.getRelHomePage(document.location.href);\r
- }\r
- return "";\r
-}\r
-\r
-function addRemoteProject(strPath)\r
-{\r
- if (parent && parent != this && parent.addProject)\r
- {\r
- parent.addProject(strPath);\r
- }\r
-}\r
-\r
-//Redirect page to...\r
-function RedirectTo(strUrl)\r
-{\r
- if (gstrWindowOption.length != 0) {\r
- var wnd = window.open(strUrl, "HelpStub", gstrWindowOption);\r
- // close current window and rename the stub window to current window.\r
- if (wnd)\r
- wnd.focus();\r
- if (parent)\r
- parent.close();\r
- }\r
- else {\r
- parent.document.location.href = strUrl;\r
- window.focus();\r
- }\r
-}\r
-\r
-//Prompt the user that we can not find...\r
-function FailToFind(strMsg)\r
-{\r
- RedirectToHomePage();\r
-}\r
-\r
-//Find topic by topic number (defined in h file)\r
-function FindTopicByTopicNum(nTopicNum)\r
-{\r
- var i = 0;\r
- var iEnd = gArrayCsh.length;\r
- for (i=0; i<iEnd; i++)\r
- {\r
- if (gArrayCsh[i].nTopicNum == nTopicNum)\r
- {\r
- var strURL = gArrayCsh[i].strUrl;\r
- if (gbWithNavPane)\r
- {\r
- var strHomePage = getHomePage();\r
- if (strHomePage.length != 0)\r
- strURL = strHomePage + strURL;\r
- } \r
- RedirectTo(strURL);\r
- return true;\r
- }\r
- }\r
- FailToFind("Fail to find topic assocaite with topic number: " + nTopicNum);\r
- return false;\r
-}\r
-\r
-//Find topic by topic id (alias id defined in ali file)\r
-function GetTopicNumberById(strTopicId)\r
-{\r
- var i = 0;\r
- var iEnd = gArrayCsh.length;\r
- for (i=0; i<iEnd; i++)\r
- {\r
- if (gArrayCsh[i].strAliasId.toLowerCase() == strTopicId.toLowerCase())\r
- {\r
- return gArrayCsh[i].nTopicNum;\r
- }\r
- }\r
- gstrURL = "";\r
- return -1;\r
-}\r
-\r
-//Set Context-sensitive help entity...\r
-function SetCsh(n, strAliasId, nTopicNum, strUrl)\r
-{\r
- gArrayCsh[n] = new CshEntityItem(strAliasId,nTopicNum,strUrl);\r
-}\r
-\r
-\r
-function getHash()\r
-{\r
- if (parent && parent != this)\r
- return parent.location.hash;\r
- else\r
- return "";\r
-}\r
-//-->\r
-</script>\r
-<script language="javascript">\r
-<!--\r
-\r
-\r
-//-->\r
-</script>\r
-<script language="javascript">\r
-<!--\r
-//Find CSH according to hash string after this page\r
-if (getHash().length > 0)\r
-{\r
- // VH 05/16/00 now support \r
- // TopicID=\r
- // TopicNumber=\r
- // RemoteURL= \r
- // and WindowsOptions\r
- // with the format #a=xxx,b=xxx,c=xxx...\r
- var strHashString = getHash().toString();\r
- // change ? to : for remote URL. because java applet have some problem to pass a URL with two : inside the URL so we changed it. \r
- // so here need to change it back.\r
- strHashString = strHashString.substring(1,strHashString.length);\r
- strHashString = strHashString.replace("%072%057%057", "://");\r
- var nTopicNum = GetTopicNumber(strHashString);\r
-\r
- if (nTopicNum != -1)\r
- {\r
- FindTopicByTopicNum(nTopicNum);\r
- }\r
- else\r
- {\r
- if (gstrURL.length > 0) \r
- RedirectTo(gstrURL);\r
- else\r
- RedirectToHomePage();\r
- }\r
-}\r
-else\r
-{\r
- RedirectToHomePage();\r
-}\r
-//-->\r
-</script>\r
-<noscript>\r
- <p> Your browser does not support JavaScript. WebHelp Context-Sensitive Help requires JavaScript support to run.</p>\r
-</noscript>\r
-</body>\r
-</html>\r
-\r
-\r
-\r
-\r
-\r
-\r
+++ /dev/null
-<html>\r
-<head>\r
-<title>SUPERVISION reference manual</title>\r
-<meta http-equiv="content-type" content="text/html; charset=iso-8859-1">\r
-<meta name="generator" content="RoboHelp by eHelp Corporation www.ehelp.com">\r
-<meta name "description" content="WebHelp 2002">\r
-</head>\r
-<body>\r
-<script language="JavaScript">\r
-<!--\r
-\r
-var gArrayCsh = new Array();\r
-\r
-var gstrWindowOption = "";\r
-var gstrURL = "";\r
-var gbWithNavPane = false;\r
-\r
-function CshEntityItem(strAliasId, nTopicNum, strUrl) \r
-{\r
- this.strAliasId = strAliasId;\r
- this.nTopicNum = nTopicNum;\r
- this.strUrl = strUrl;\r
-}\r
-\r
-\r
-//Try to get to topic number from hash string\r
-function GetTopicNumberAuto(strMayBeNumber)\r
-{\r
- var nNum = -1;\r
- if (strMayBeNumber.length >= 1)\r
- {\r
- var strTmp = strMayBeNumber;\r
- var iEnd = strTmp.length;\r
- for (var i=0; i<iEnd; i++)\r
- {\r
- var ch = strTmp.charAt(i);\r
- if (!((ch == "0") || (ch == "1") ||\r
- (ch == "2") || (ch == "3") ||\r
- (ch == "4") || (ch == "5") ||\r
- (ch == "6") || (ch == "7") ||\r
- (ch == "8") || (ch == "9")))\r
- return GetTopicNumberById(strTmp);\r
- }\r
- nNum = parseInt(strTmp);\r
- }\r
- return nNum;\r
-}\r
-\r
-function GetTopicNumber(strHashString)\r
-{\r
- var nTopicEndPos = strHashString.indexOf(',')\r
- if (nTopicEndPos == -1) { // no window option.\r
- return GetTopicNumberOnly(strHashString);\r
- }\r
- else {\r
- var strWindowOption = strHashString.substring(nTopicEndPos + 1, strHashString.length);\r
- var strWithNavPane = 'withnavpane=true';\r
- if (strWindowOption.toLowerCase().indexOf(strWithNavPane) == 0)\r
- {\r
- if (strWindowOption.length > strWithNavPane.length)\r
- gstrWindowOption = strWindowOption.substring(strWithNavPane.length + 1);\r
- else\r
- gstrWindowOption = "";\r
- gbWithNavPane = true;\r
- }\r
- else\r
- gstrWindowOption = strWindowOption;\r
- return GetTopicNumberOnly(strHashString.substring(0, nTopicEndPos)); \r
- }\r
-}\r
-\r
-function GetTopicNumberOnly(strTopicString)\r
-{\r
- var nEqualPos = strTopicString.indexOf('=');\r
- if (nEqualPos == -1) {\r
- return GetTopicNumberAuto(strTopicString);\r
- }\r
- else {\r
- var strValue=strTopicString.substring(nEqualPos + 1, strTopicString.length);\r
- if (strTopicString.toLowerCase().indexOf("topicnumber") == 0) {\r
- return parseInt(strValue);\r
- } else if (strTopicString.toLowerCase().indexOf("topicid") == 0) {\r
- return GetTopicNumberById(strValue);\r
- } else if (strTopicString.toLowerCase().indexOf("remoteurl") == 0) {\r
- gstrURL = strValue;\r
- return -1;\r
- }\r
-\r
- }\r
-}\r
-\r
-//Find HomePage of the WebHelp system\r
-// we try to get the topic from remote project if it exists.\r
-function RedirectToHomePage()\r
-{\r
- if (parent && parent != this && parent.goNext)\r
- {\r
- var sHome = parent.goNext();\r
- if (sHome != "")\r
- RedirectTo(sHome);\r
- }\r
-}\r
-\r
-function getHomePage()\r
-{\r
- if (parent && parent != this && parent.getRelHomePage)\r
- {\r
- return parent.getRelHomePage(document.location.href);\r
- }\r
- return "";\r
-}\r
-\r
-function addRemoteProject(strPath)\r
-{\r
- if (parent && parent != this && parent.addProject)\r
- {\r
- parent.addProject(strPath);\r
- }\r
-}\r
-\r
-//Redirect page to...\r
-function RedirectTo(strUrl)\r
-{\r
- if (gstrWindowOption.length != 0) {\r
- var wnd = window.open(strUrl, "HelpStub", gstrWindowOption);\r
- // close current window and rename the stub window to current window.\r
- wnd.focus();\r
- if (parent)\r
- parent.close();\r
- }\r
- else {\r
- parent.document.location.href = strUrl;\r
- window.focus();\r
- }\r
-}\r
-\r
-//Prompt the user that we can not find...\r
-function FailToFind(strMsg)\r
-{\r
- RedirectToHomePage();\r
-}\r
-\r
-//Find topic by topic number (defined in h file)\r
-function FindTopicByTopicNum(nTopicNum)\r
-{\r
- var i = 0;\r
- var iEnd = gArrayCsh.length;\r
- for (i=0; i<iEnd; i++)\r
- {\r
- if (gArrayCsh[i].nTopicNum == nTopicNum)\r
- {\r
- var strURL = gArrayCsh[i].strUrl;\r
- if (gbWithNavPane)\r
- {\r
- var strHomePage = getHomePage();\r
- if (strHomePage.length != 0)\r
- strURL = strHomePage + strURL;\r
- } \r
- RedirectTo(strURL);\r
- return true;\r
- }\r
- }\r
- FailToFind("Fail to find topic assocaite with topic number: " + nTopicNum);\r
- return false;\r
-}\r
-\r
-//Find topic by topic id (alias id defined in ali file)\r
-function GetTopicNumberById(strTopicId)\r
-{\r
- var i = 0;\r
- var iEnd = gArrayCsh.length;\r
- for (i=0; i<iEnd; i++)\r
- {\r
- if (gArrayCsh[i].strAliasId == strTopicId)\r
- {\r
- return gArrayCsh[i].nTopicNum;\r
- }\r
- }\r
- gstrURL = "";\r
- return -1;\r
-}\r
-\r
-//Set Context-sensitive help entity...\r
-function SetCsh(n, strAliasId, nTopicNum, strUrl)\r
-{\r
- gArrayCsh[n] = new CshEntityItem(strAliasId,nTopicNum,strUrl);\r
-}\r
-\r
-\r
-function getHash()\r
-{\r
- if (parent && parent != this)\r
- return parent.location.hash;\r
- else\r
- return "";\r
-}\r
-//-->\r
-</script>\r
-<script language="javascript">\r
-<!--\r
-\r
-\r
-//-->\r
-</script>\r
-<script language="javascript">\r
-<!--\r
-//Find CSH according to hash string after this page\r
-if (getHash().length > 0)\r
-{\r
- // VH 05/16/00 now support \r
- // TopicID=\r
- // TopicNumber=\r
- // RemoteURL= \r
- // and WindowsOptions\r
- // with the format #a=xxx,b=xxx,c=xxx...\r
- var strHashString = getHash().toString();\r
- // change ? to : for remote URL. because java applet have some problem to pass a URL with two : inside the URL so we changed it. \r
- // so here need to change it back.\r
- strHashString = strHashString.substring(1,strHashString.length);\r
- strHashString = strHashString.replace("%072%057%057", "://");\r
- var nTopicNum = GetTopicNumber(strHashString);\r
-\r
- if (nTopicNum != -1)\r
- {\r
- FindTopicByTopicNum(nTopicNum);\r
- }\r
- else\r
- {\r
- if (gstrURL.length > 0) \r
- RedirectTo(gstrURL);\r
- else\r
- RedirectToHomePage();\r
- }\r
-}\r
-else\r
-{\r
- RedirectToHomePage();\r
-}\r
-//-->\r
-</script>\r
-<noscript>\r
- <p> Your browser does not support JavaScript. WebHelp Context-Sensitive Help requires JavaScript support to run.</p>\r
-</noscript>\r
-</body>\r
-</html>\r
-\r
-\r
-\r
-\r
-\r
-\r
+++ /dev/null
-/*=(===============================================================)*/\r
-\r
-/*=(===============================================================)*/\r
-/*=(Created with RoboEditor.)=======================================*/\r
-/*=(===============================================================)*/\r
-\r
-BODY {\r
- background-color: #ffffff;\r
- font-family: "Times New Roman", serif;\r
-}\r
-\r
-H1 {\r
- font-weight: bold;\r
- font-size: 24.0pt;\r
-}\r
-\r
-/*=(Generated Code)=================================================*/\r
-/*=(WARNING: DO NOT EDIT OR DELETE THIS SECTION!)===================*/\r
-/*begin!kadov{{=====================================================*/ \r
-LI.kadov-H1 {\r
- font-weight: bold;\r
- font-size: 24.0pt;\r
-}\r
-/*}}end!kadov=======================================================*/ \r
-\r
-\r
-\r
-H2 {\r
- font-weight: bold;\r
- font-size: 18.0pt;\r
-}\r
-\r
-/*=(Generated Code)=================================================*/\r
-/*=(WARNING: DO NOT EDIT OR DELETE THIS SECTION!)===================*/\r
-/*begin!kadov{{=====================================================*/ \r
-LI.kadov-H2 {\r
- font-weight: bold;\r
- font-size: 18.0pt;\r
-}\r
-/*}}end!kadov=======================================================*/ \r
-\r
-\r
-\r
-H3 {\r
- font-weight: bold;\r
- font-size: 14.0pt;\r
-}\r
-\r
-/*=(Generated Code)=================================================*/\r
-/*=(WARNING: DO NOT EDIT OR DELETE THIS SECTION!)===================*/\r
-/*begin!kadov{{=====================================================*/ \r
-LI.kadov-H3 {\r
- font-weight: bold;\r
- font-size: 14.0pt;\r
-}\r
-/*}}end!kadov=======================================================*/ \r
-\r
-\r
-\r
-H4 {\r
- font-weight: bold;\r
- font-size: 12.0pt;\r
-}\r
-\r
-/*=(Generated Code)=================================================*/\r
-/*=(WARNING: DO NOT EDIT OR DELETE THIS SECTION!)===================*/\r
-/*begin!kadov{{=====================================================*/ \r
-LI.kadov-H4 {\r
- font-weight: bold;\r
- font-size: 12.0pt;\r
-}\r
-/*}}end!kadov=======================================================*/ \r
-\r
-\r
-\r
-H5 {\r
- font-weight: bold;\r
- font-size: 10.0pt;\r
-}\r
-\r
-/*=(Generated Code)=================================================*/\r
-/*=(WARNING: DO NOT EDIT OR DELETE THIS SECTION!)===================*/\r
-/*begin!kadov{{=====================================================*/ \r
-LI.kadov-H5 {\r
- font-weight: bold;\r
- font-size: 10.0pt;\r
-}\r
-/*}}end!kadov=======================================================*/ \r
-\r
-\r
-\r
-H6 {\r
- font-weight: bold;\r
- font-size: 8.0pt;\r
-}\r
-\r
-/*=(Generated Code)=================================================*/\r
-/*=(WARNING: DO NOT EDIT OR DELETE THIS SECTION!)===================*/\r
-/*begin!kadov{{=====================================================*/ \r
-LI.kadov-H6 {\r
- font-weight: bold;\r
- font-size: 8.0pt;\r
-}\r
-/*}}end!kadov=======================================================*/ \r
-\r
-\r
-\r
-P {\r
- font-size: 12.0pt;\r
- margin-top: 0pt;\r
- margin-bottom: 0pt;\r
-}\r
-\r
-/*=(Generated Code)=================================================*/\r
-/*=(WARNING: DO NOT EDIT OR DELETE THIS SECTION!)===================*/\r
-/*begin!kadov{{=====================================================*/ \r
-LI.kadov-P {\r
- font-size: 12.0pt;\r
-}\r
-/*}}end!kadov=======================================================*/ \r
-\r
-\r
-\r
-A.expandspot {\r
- color: #008000;\r
- cursor: hand;\r
- font-style: italic;\r
- x-text-underline: off;\r
- x-text-overline: off;\r
- x-text-line-through: off;\r
- /*begin!kadov{{*/ text-decoration: none none none; /*}}end!kadov*/ \r
-}\r
-\r
-SPAN.expandtext {\r
- font-style: italic;\r
- font-weight: normal;\r
- color: #ff0000;\r
-}\r
-\r
-A.dropspot {\r
- cursor: hand;\r
- color: #008000;\r
- font-style: italic;\r
- x-text-underline: off;\r
- x-text-overline: off;\r
- x-text-line-through: off;\r
- /*begin!kadov{{*/ text-decoration: none none none; /*}}end!kadov*/ \r
-}\r
-\r
-A.glossterm {\r
- color: #800000;\r
- cursor: hand;\r
- font-style: italic;\r
- x-text-underline: off;\r
- x-text-overline: off;\r
- x-text-line-through: off;\r
- /*begin!kadov{{*/ text-decoration: none none none; /*}}end!kadov*/ \r
-}\r
-\r
-SPAN.glosstext {\r
- font-style: italic;\r
- font-weight: normal;\r
- color: #0000ff;\r
-}\r
-\r
-OL,\r
-UL {\r
- margin-top: 0px;\r
- margin-bottom: 0px;\r
-}\r
-\r
-A:active {\r
-}\r
-\r
-A:hover {\r
- x-text-underline: Off;\r
- /*begin!kadov{{*/ text-decoration: none; /*}}end!kadov*/ \r
-}\r
-\r
-A:link {\r
- x-text-underline: Off;\r
- /*begin!kadov{{*/ text-decoration: none; /*}}end!kadov*/ \r
-}\r
-\r
-A:visited {\r
- x-text-underline: Off;\r
- /*begin!kadov{{*/ text-decoration: none; /*}}end!kadov*/ \r
-}\r
-\r
-P.TODO {\r
- font-weight: normal;\r
- font-style: italic;\r
- font-family: "Arial Black", sans-serif;\r
-}\r
-\r
-/*=(Generated Code)=================================================*/\r
-/*=(WARNING: DO NOT EDIT OR DELETE THIS SECTION!)===================*/\r
-/*begin!kadov{{=====================================================*/ \r
-LI.kadov-P-CTODO {\r
- font-weight: normal;\r
- font-style: italic;\r
- font-family: "Arial Black", sans-serif;\r
-}\r
-/*}}end!kadov=======================================================*/ \r
-\r
-\r
-\r
-\r
-/*=(===============================================================)*/\r
+++ /dev/null
-<?xml version="1.0"?>\r
-<sqwebskin version="1.0">\r
- <summary>\r
- <skinname>Default</skinname>\r
- <defaulttab>Contents</defaulttab>\r
- <font>font-family:Arial font-size:8pt font-weight:normal font-style:normal text-decoration:none font-sizeadjust:none font-stretch:normal font-variant:normal</font>\r
- <color></color>\r
- </summary>\r
- <panesummary>\r
- <![CDATA[\r
-<frameset rows="32,*" >\r
-<frame name="Custom Toolbar Pane" noresize="yes" scrolling="no" id="3" />\r
-<frameset cols="220,*" frameborder="1" borderspace="0" >\r
-<frameset rows="24,*" >\r
-<frame name="MiniBar Pane" marginwidth="-1" scrolling="no" id="6" />\r
-<frame name="Navigation Pane" id="2" />\r
-</frameset>\r
-<frame name="Topic Pane" frameborder="1" borderspace="1" bordercolor="Gray" marginwidth="-1" marginheight="-1" id="4" />\r
-</frameset>\r
-</frameset>\r
-]]>\r
- </panesummary>\r
- <frameset rows="32,*">\r
- <frame name="Custom Toolbar Pane" noresize="yes" scrolling="no" id="3"/>\r
- <frameset cols="220,*" frameborder="1" borderspace="0">\r
- <frameset rows="24,*">\r
- <frame name="MiniBar Pane" marginwidth="-1" scrolling="no" id="6"/>\r
- <frame name="Navigation Pane" id="2"/>\r
- </frameset>\r
- <frame name="Topic Pane" frameborder="1" borderspace="1" bordercolor="Gray" marginwidth="-1" marginheight="-1" id="4"/>\r
- </frameset>\r
- </frameset>\r
- <pane name="Custom Toolbar Pane">\r
- <image></image>\r
- <color>background:#99ccff</color>\r
- <font>font-family:Tahoma font-size:8pt font-weight:Normal font-style:Normal text-decoration:none font-sizeadjust:none font-stretch:normal font-variant:normal font-color:Black</font>\r
- <btnselected>\r
- <color>background:#639ace</color>\r
- <font>font-family:Tahoma font-size:8pt font-weight:Normal font-style:Normal text-decoration:none font-sizeadjust:none font-stretch:normal font-variant:normal font-color:White</font>\r
- </btnselected>\r
- <alignment>left</alignment>\r
- <toolbaritem mode="BtnWithIcon Mode" type="built-in-content" id="1">\r
- <name>Contents</name>\r
- <text>::??DefaultWebSkinText??::</text>\r
- <color></color>\r
- <image></image>\r
- <icontype>default</icontype>\r
- <selected>\r
- <color></color>\r
- <image></image>\r
- <icontype>default</icontype>\r
- </selected>\r
- <style>100</style>\r
- </toolbaritem>\r
- <toolbaritem mode="BtnWithIcon Mode" type="built-in-index" id="2">\r
- <name>Index</name>\r
- <text>::??DefaultWebSkinText??::</text>\r
- <color></color>\r
- <image></image>\r
- <icontype>default</icontype>\r
- <selected>\r
- <color></color>\r
- <image></image>\r
- <icontype>default</icontype>\r
- </selected>\r
- <style>100</style>\r
- </toolbaritem>\r
- <toolbaritem mode="BtnWithIcon Mode" type="built-in-search" id="3">\r
- <name>Search</name>\r
- <text>::??DefaultWebSkinText??::</text>\r
- <color></color>\r
- <image></image>\r
- <icontype>default</icontype>\r
- <selected>\r
- <color></color>\r
- <image></image>\r
- <icontype>default</icontype>\r
- </selected>\r
- <style>100</style>\r
- </toolbaritem>\r
- <toolbaritem mode="BtnWithIcon Mode" type="built-in-glossary" id="4">\r
- <name>Glossary</name>\r
- <text>::??DefaultWebSkinText??::</text>\r
- <color></color>\r
- <image></image>\r
- <icontype>default</icontype>\r
- <selected>\r
- <color></color>\r
- <image></image>\r
- <icontype>default</icontype>\r
- </selected>\r
- <style>100</style>\r
- </toolbaritem>\r
- <toolbaritem mode="BtnWithIcon Mode" type="built-in-websearch" id="5">\r
- <name>WebSearch</name>\r
- <text>::??DefaultWebSkinText??::</text>\r
- <color></color>\r
- <image></image>\r
- <icontype>default</icontype>\r
- <selected>\r
- <color></color>\r
- <image></image>\r
- <icontype>default</icontype>\r
- </selected>\r
- <style>100</style>\r
- </toolbaritem>\r
- <toolbaritem mode="Form Mode" type="built-in-form" id="6">\r
- <name>Search Input</name>\r
- <image></image>\r
- <color></color>\r
- <textbox width="20"/>\r
- <title>\r
- <text></text>\r
- </title>\r
- <button mode="default graphic mode">\r
- </button>\r
- </toolbaritem>\r
- <toolbaritem mode="Logo Mode" type="built-in-logo" id="7">\r
- <name>Logo</name>\r
- <image></image>\r
- <author>eHelp Corporation</author>\r
- </toolbaritem>\r
- </pane>\r
- <pane name="MiniBar Pane">\r
- <image></image>\r
- <color>background:#99ccff</color>\r
- <font>font-family:Tahoma font-size:8pt font-weight:Normal font-style:Normal text-decoration:none font-sizeadjust:none font-stretch:normal font-variant:normal font-color:Black</font>\r
- <btnselected>\r
- <color>background:#639ace</color>\r
- <font>font-family:Tahoma font-size:8pt font-weight:Normal font-style:Normal text-decoration:none font-sizeadjust:none font-stretch:normal font-variant:normal font-color:White</font>\r
- </btnselected>\r
- <toolbaritem mode="BtnWithIcon Mode" type="built-in-previous" id="8">\r
- <name>Previous</name>\r
- <text>::??DefaultWebSkinText??::</text>\r
- <color></color>\r
- <image></image>\r
- <icontype>default</icontype>\r
- <selected>\r
- <color></color>\r
- <image></image>\r
- <icontype>default</icontype>\r
- </selected>\r
- <style>100</style>\r
- </toolbaritem>\r
- <toolbaritem mode="BtnWithIcon Mode" type="built-in-next" id="9">\r
- <name>Next</name>\r
- <text>::??DefaultWebSkinText??::</text>\r
- <color></color>\r
- <image></image>\r
- <icontype>default</icontype>\r
- <selected>\r
- <color></color>\r
- <image></image>\r
- <icontype>default</icontype>\r
- </selected>\r
- <style>100</style>\r
- </toolbaritem>\r
- <toolbaritem mode="BtnWithIcon Mode" type="built-in-synctoc" id="10">\r
- <name>Sync TOC</name>\r
- <text>::??DefaultWebSkinText??::</text>\r
- <color></color>\r
- <image></image>\r
- <icontype>default</icontype>\r
- <selected>\r
- <color></color>\r
- <image></image>\r
- <icontype>default</icontype>\r
- </selected>\r
- <style>100</style>\r
- </toolbaritem>\r
- <toolbaritem mode="BtnWithIcon Mode" type="built-in-hide" id="11">\r
- <name>Hide</name>\r
- <text>::??DefaultWebSkinText??::</text>\r
- <color></color>\r
- <image></image>\r
- <icontype>default</icontype>\r
- <selected>\r
- <color></color>\r
- <image></image>\r
- <icontype>default</icontype>\r
- </selected>\r
- <style>100</style>\r
- </toolbaritem>\r
- </pane>\r
- <pane name="Navigation Pane">\r
- <image></image>\r
- <color></color>\r
- <label>\r
- <image></image>\r
- <color></color>\r
- </label>\r
- <subpane name="Contents">\r
- <image></image>\r
- <color>background:White alink:Silver hover-color:Navy</color>\r
- <font>font-family:Tahoma font-size:8pt font-weight:Normal font-style:Normal text-decoration:none font-sizeadjust:none font-stretch:normal font-variant:normal font-color:Black</font>\r
- </subpane>\r
- <subpane name="Index">\r
- <image></image>\r
- <color>background:White alink:Silver hover-color:Navy</color>\r
- <font>font-family:Tahoma font-size:8pt font-weight:Normal font-style:Normal text-decoration:none font-sizeadjust:none font-stretch:normal font-variant:normal font-color:Black</font>\r
- <inputbox>\r
- <image></image>\r
- <color>background:White</color>\r
- <textbox width="0"/>\r
- <title>\r
- <text>::??DefaultWebSkinText??::</text>\r
- <font>font-family:Tahoma font-size:8pt font-weight:Normal font-style:Normal text-decoration:none font-sizeadjust:none font-stretch:normal font-variant:normal font-color:Navy</font>\r
- </title>\r
- <button mode="none">\r
- </button>\r
- </inputbox>\r
- </subpane>\r
- <subpane name="Search">\r
- <image></image>\r
- <color>background:White alink:Silver hover-color:Navy</color>\r
- <font>font-family:Tahoma font-size:8pt font-weight:Normal font-style:Normal text-decoration:none font-sizeadjust:none font-stretch:normal font-variant:normal font-color:Black</font>\r
- <inputbox>\r
- <image></image>\r
- <color>background:White</color>\r
- <textbox width="0"/>\r
- <title>\r
- <text>::??DefaultWebSkinText??::</text>\r
- <font>font-family:Tahoma font-size:8pt font-weight:Normal font-style:Normal text-decoration:none font-sizeadjust:none font-stretch:normal font-variant:normal font-color:Navy</font>\r
- </title>\r
- <button mode="default graphic mode">\r
- </button>\r
- </inputbox>\r
- </subpane>\r
- <subpane name="Glossary">\r
- <image></image>\r
- <color>background:White alink:Silver hover-color:Navy</color>\r
- <font>font-family:Tahoma font-size:8pt font-weight:Normal font-style:Normal text-decoration:none font-sizeadjust:none font-stretch:normal font-variant:normal font-color:Black</font>\r
- <definitiontext>\r
- <text>::??DefaultWebSkinText??::</text>\r
- <font>font-family:Tahoma font-size:8pt font-weight:Normal font-style:Normal text-decoration:none font-sizeadjust:none font-stretch:normal font-variant:normal font-color:Navy</font>\r
- <color>background:White</color>\r
- <image></image>\r
- </definitiontext>\r
- <definition>\r
- <text>::??DefaultWebSkinText??::</text>\r
- <color></color>\r
- <image></image>\r
- </definition>\r
- <termtext>\r
- <text>::??DefaultWebSkinText??::</text>\r
- <font>font-family:Tahoma font-size:8pt font-weight:Normal font-style:Normal text-decoration:none font-sizeadjust:none font-stretch:normal font-variant:normal font-color:Navy</font>\r
- <color>background:White</color>\r
- <image></image>\r
- </termtext>\r
- <term>\r
- <text>::??DefaultWebSkinText??::</text>\r
- <color></color>\r
- <image></image>\r
- </term>\r
- </subpane>\r
- </pane>\r
- <pane name="Topic Pane">\r
- <in-topic-navbar>\r
- <alignment>none</alignment>\r
- </in-topic-navbar>\r
- </pane>\r
-</sqwebskin>\r
+++ /dev/null
-BODY { \r
- background-color:#ffffff; \r
- font-family:"Times New Roman" , serif; }\r
-H1 { \r
- font-weight:bold; \r
- font-size:24.0pt; \r
- font-family:"Times New Roman" , serif; }\r
-LI.kadov-H1 { \r
- font-weight:bold; \r
- font-size:24.0pt; }\r
-H2 { \r
- font-weight:bold; \r
- font-size:18.0pt; \r
- font-family:"Times New Roman" , serif; }\r
-LI.kadov-H2 { \r
- font-weight:bold; \r
- font-size:18.0pt; }\r
-H3 { \r
- font-weight:bold; \r
- font-size:14.0pt; \r
- font-family:"Times New Roman" , serif; }\r
-LI.kadov-H3 { \r
- font-weight:bold; \r
- font-size:14.0pt; }\r
-H4 { \r
- font-weight:bold; \r
- font-size:12.0pt; \r
- font-family:"Times New Roman" , serif; }\r
-LI.kadov-H4 { \r
- font-weight:bold; \r
- font-size:12.0pt; }\r
-H5 { \r
- font-weight:bold; \r
- font-size:10.0pt; \r
- font-family:"Times New Roman" , serif; }\r
-LI.kadov-H5 { \r
- font-weight:bold; \r
- font-size:10.0pt; }\r
-H6 { \r
- font-weight:bold; \r
- font-size:8.0pt; \r
- font-family:"Times New Roman" , serif; }\r
-LI.kadov-H6 { \r
- font-weight:bold; \r
- font-size:8.0pt; }\r
-P { \r
- font-size:12.0pt; \r
- margin-top:1; \r
- margin-bottom:1; \r
- font-family:"Times New Roman" , serif; }\r
-LI.kadov-P { \r
- font-size:12.0pt; }\r
-A.expandspot { \r
- color:#008000; \r
- cursor:hand; \r
- font-style:italic; \r
- x-text-underline:off; \r
- x-text-overline:off; \r
- x-text-line-through:off; \r
- text-decoration:none none none; }\r
-SPAN.expandtext { \r
- font-style:italic; \r
- font-weight:normal; \r
- color:#ff0000; }\r
-A.dropspot { \r
- cursor:hand; \r
- color:#008000; \r
- font-style:italic; \r
- x-text-underline:off; \r
- x-text-overline:off; \r
- x-text-line-through:off; \r
- text-decoration:none none none; }\r
-A.glossterm { \r
- color:#800000; \r
- cursor:hand; \r
- font-style:italic; \r
- x-text-underline:off; \r
- x-text-overline:off; \r
- x-text-line-through:off; \r
- text-decoration:none none none; }\r
-SPAN.glosstext { \r
- font-style:italic; \r
- font-weight:normal; \r
- color:#0000ff; }\r
-OL { \r
- margin-top:0px; \r
- margin-bottom:0px; \r
- font-family:"Times New Roman" , serif; }\r
-UL { \r
- margin-top:0px; \r
- margin-bottom:0px; \r
- font-family:"Times New Roman" , serif; }\r
-A:active { }\r
-A:hover { \r
- x-text-underline:Off; \r
- text-decoration:none; }\r
-A:link { \r
- x-text-underline:Off; \r
- text-decoration:none; }\r
-A:visited { \r
- x-text-underline:Off; \r
- text-decoration:none; }\r
-P.TODO { \r
- font-weight:normal; \r
- font-style:italic; \r
- font-family:"Arial Black" , sans-serif; }\r
-LI.kadov-P-CTODO { \r
- font-weight:normal; \r
- font-style:italic; \r
- font-family:"Arial Black" , sans-serif; }\r
-ol ol { \r
- margin-top:1; \r
- margin-bottom:1; }\r
-ol ul { \r
- margin-top:1; \r
- margin-bottom:1; }\r
-ul ul { \r
- margin-top:1; \r
- margin-bottom:1; }\r
-ul ol { \r
- margin-top:1; \r
- margin-bottom:1; }\r
+++ /dev/null
-// eHelp® Corporation Dynamic HTML JavaScript \r
-// Copyright© 1998-2001 eHelp® Corporation.All rights reserved.\r
-// Version=4.57\r
-\r
-// Warning:Do not modify this file.It is generated by RoboHELP® and changes will be overwritten.\r
-\r
-//// Segment Begin -- (JavaScript 1.0)\r
-\r
-/// Section Begin - General and relative topics(JavaScript 1.0)\r
-\r
-//{{HH_SYMBOL_SECTION\r
-var HH_ChmFilename = "";\r
-var HH_WindowName = "";\r
-var HH_GlossaryFont = "";\r
-var HH_Glossary = "";\r
-var HH_Avenue = "";\r
-var HH_ActiveX = false;\r
-//}}HH_SYMBOL_SECTION\r
-\r
-//Begin to support previous generic parameters\r
-//Get the information about the browser.\r
-var gstrBsAgent = navigator.userAgent.toLowerCase();\r
-var gnBsVer = parseInt(navigator.appVersion);\r
-\r
-var gbBsIE = (gstrBsAgent.indexOf('msie') != -1);\r
-var gbBsNS = (gstrBsAgent.indexOf('mozilla') != -1) && ((gstrBsAgent.indexOf('spoofer') == -1) && (gstrBsAgent.indexOf('compatible') == -1));\r
-var gbBsOpera = (gstrBsAgent.indexOf('opera') != -1);\r
-\r
-var gbBsIE3Before = ((gbBsIE) && (gnBsVer <= 2));\r
-var gbBsNS3Before = ((gbBsNS) && (gnBsVer <= 3));\r
-\r
-var gbBsNS2 = ((gbBsNS) && (gnBsVer <= 2));\r
-var gbBsNS3 = ((gbBsNS) && (gnBsVer == 3));\r
-var gbBsIE300301 = ((gbBsIE) && (gnBsVer == 2) && ((gstrBsAgent.indexOf("3.00") != -1)||(gstrBsAgent.indexOf("3.0a") != -1)||(gstrBsAgent.indexOf("3.0b")!=-1)||(gstrBsAgent.indexOf("3.01")!=-1)));\r
-var gbBsIE302 = ((gbBsIE) && (gnBsVer == 2) && (gstrBsAgent.indexOf("3.02") != -1));\r
-\r
-var gbBsNS4 = ((gbBsNS) && (gnBsVer >= 4));\r
-var gbBsNS6 = ((gbBsNS) && (gnBsVer >= 5));\r
-\r
-var gbBsIE4 = ((gbBsIE) && (gnBsVer >= 4));\r
-var gbBsIE5 = false;\r
-var gbBsIE55 = false;\r
-\r
-gbBsIE = (navigator.appName.indexOf("Microsoft") != -1);\r
-\r
-if (parseInt(navigator.appVersion) >= 4) {\r
- gbBsIE4 = (navigator.appName.indexOf("Microsoft") != -1);\r
-\r
- if (gbBsIE4) {\r
- var nPos = gstrBsAgent.indexOf("msie");\r
- var strIEversion = gstrBsAgent.substring(nPos + 5);\r
- var nVersion = parseFloat(strIEversion);\r
- if (nVersion >= 5)\r
- gbBsIE5 = true;\r
- if (nVersion >= 5.5)\r
- gbBsIE55 = true;\r
- }\r
-}\r
-\r
-var gbBsMac = (gstrBsAgent.indexOf('mac') != -1);\r
-var gbBsWindows = ((gstrBsAgent.indexOf('win') != -1) || (gstrBsAgent.indexOf('16bit') != -1));\r
-var gbBsOp3 = (gstrBsAgent.indexOf('opera') != -1);\r
-\r
-// Utilities functions.\r
-function BsscHasExtJs()\r
-{\r
- if( gbBsIE3Before || gbBsNS3Before)\r
- return false;\r
- return true;\r
-}\r
-\r
-// Register event handler\r
-var gBsOnLoads = new Array(); // An array holds all the onload event handler.\r
-var gBsOnClicks = new Array(); // An array holds all the onClick event handler.\r
-var gBsOnUnLoads = new Array(); // An array holds all the OnUnLoad event handler.\r
-var gBsOnMouseOvers = new Array(); // An array holds all the OnMouseOver event handler.\r
-var gBsOnMouseOuts = new Array(); // An array holds all the OnMouseOut event handler.\r
-\r
-var gbOrignalOnMouseDown = null;\r
-\r
-function BsscRegisterOnLoad(funcHandler)\r
-{\r
- var nLength = gBsOnLoads.length;\r
- gBsOnLoads[nLength] = funcHandler;\r
-}\r
-\r
-function BsscRegisterOnClick(funcHandler)\r
-{\r
- var nLength = gBsOnClicks.length;\r
- gBsOnClicks[nLength] = funcHandler;\r
-}\r
-\r
-function BsscRegisterOnUnLoad(funcHandler)\r
-{\r
- var nLength = gBsOnUnLoads.length;\r
- gBsOnUnLoads[nLength] = funcHandler;\r
-}\r
-\r
-function BsscRegisterOnMouseOver(funcHandler)\r
-{\r
- var nLength = gBsOnMouseOvers.length;\r
- gBsOnMouseOvers[nLength] = funcHandler;\r
-}\r
-\r
-function BsscRegisterOnMouseOut(funcHandler)\r
-{\r
- var nLength = gBsOnMouseOuts.length;\r
- gBsOnMouseOuts[nLength] = funcHandler;\r
-}\r
-\r
-\r
-function BsGeneralOnLoad()\r
-{\r
- if (!gbBsIE4 && !gbBsNS4)\r
- return;\r
-\r
- // Make everything visible in navigator\r
- if (gbBsNS4 && !gbBsNS6) {\r
- // Make some special effects items visible\r
- for (var iLayer = 0; iLayer < document.layers.length; iLayer++) {\r
- document.layers[iLayer].visibility = "show";\r
- document.layers[iLayer].left = 0;\r
- }\r
- }\r
-}\r
-\r
-// If resize the netscape browser, need to reload it.\r
-function BsReDo()\r
-{\r
- if (innerWidth != origWidth || innerHeight != origHeight)\r
- location.reload();\r
-}\r
-// End of the local functions.\r
-\r
-// The following functions are used by the html files.\r
-function BSSCOnLoad()\r
-{\r
- if( !BsscHasExtJs() )\r
- return;\r
- for (var nElement = gBsOnLoads.length - 1; nElement >= 0; nElement--)\r
- gBsOnLoads[nElement]();\r
-}\r
-\r
-function BSSCOnClick()\r
-{\r
- if (!BsscHasExtJs()) return;\r
- \r
- for (var nElement = gBsOnClicks.length - 1; nElement >= 0; nElement--)\r
- gBsOnClicks[nElement]();\r
-}\r
-\r
-function BSSCOnUnload()\r
-{\r
- if (!BsscHasExtJs()) return;\r
- for (var nElement = gBsOnUnLoads.length - 1; nElement >= 0; nElement--)\r
- {\r
- gBsOnUnLoads[nElement]();\r
- }\r
-}\r
-\r
-function BSSCOnMouseOver()\r
-{\r
- if (!BsscHasExtJs()) return;\r
- for (var nElement = gBsOnMouseOvers.length - 1; nElement >= 0; nElement--)\r
- {\r
- gBsOnMouseOvers[nElement]();\r
- }\r
-}\r
-\r
-function BSSCOnMouseOut()\r
-{\r
- if (!BsscHasExtJs()) return;\r
- for (var nElement = gBsOnMouseOuts.length - 1; nElement >= 0; nElement--)\r
- {\r
- gBsOnMouseOuts[nElement]();\r
- }\r
-}\r
-// End of invocation of the event handle functions.\r
-\r
-\r
-// Add the GereralOnLoad to the onload array.\r
-if (typeof(BsscRegisterOnLoad) != "undefined")\r
-{\r
- BsscRegisterOnLoad(BsGeneralOnLoad);\r
-}\r
-if (gbBsNS4&&!gbBsNS6) {\r
- origWidth = innerWidth;\r
- origHeight = innerHeight;\r
- onresize = BsReDo;\r
-}\r
-//End to support previous generic parameters\r
-\r
-//Begin to support previous HHActiveX invoking\r
-function BsHHActivateComponents()\r
-{\r
- if( HH_ActiveX && (HH_ChmFilename != "") && ((self == top) || (self == top.frames[0])))\r
- {\r
- var objBody = document.all.tags("BODY")[0];\r
- if( typeof(objBody) == "object" )\r
- {\r
- objBody.insertAdjacentHTML("beforeEnd", '<OBJECT ID="HHComponentActivator" CLASSID="CLSID:399CB6C4-7312-11D2-B4D9-00105A0422DF" width=0 height=0></OBJECT>');\r
- if (HHComponentActivator.object)\r
- HHComponentActivator.Activate(HH_ChmFilename, HH_WindowName, HH_GlossaryFont, HH_Glossary, HH_Avenue);\r
- }\r
- }\r
-}\r
-\r
-function BsHHActivXOnLoad()\r
-{ \r
- if( gbBsIE4 )\r
- BsHHActivateComponents(); \r
-}\r
-\r
-if( typeof(BsscRegisterOnLoad) != "undefined" )\r
-{\r
- BsscRegisterOnLoad(BsHHActivXOnLoad);\r
-}\r
-//End to support previous HHActiveX invoking\r
-\r
-//Begin to support previous relative topics\r
-//If webHelp needs Related Topics DHTMLcode, it's supposed to add it here\r
-var gbPopupMenuTimeoutExpired = false;\r
-var gbInPopupMenu = false;\r
-var gbPopupMenuTopicList = null;\r
-var gOlddocumentClick = null;\r
-\r
-//////////////////////////////////////////////////////////////////////////////////////////\r
-//\r
-// Popup Menu code\r
-//\r
-//////////////////////////////////////////////////////////////////////////////////////////\r
-\r
-var g_bIsPopupMenuInit = false;\r
-function _WritePopupMenuLayer()\r
-{\r
- if (!g_bIsPopupMenuInit)\r
- {\r
- if (gbBsNS4) {\r
-//Do not try to write ininle styles for NS! NS can not handle it and will not stop downloading the html page...\r
- if (gbBsNS6)\r
- document.write("<DIV ID='PopupMenu' STYLE='position:absolute; left:0px; top:0px; z-index:4; visibility:hidden;'></DIV>");\r
- else\r
- document.write("<DIV CLASS='WebHelpPopupMenu' ID='PopupMenu'></DIV>");\r
- } else{\r
- document.write("<DIV ID='PopupMenu' STYLE='position:absolute; left:0px; top:0px; z-index:4; visibility:hidden;'></DIV>");\r
- if (gbBsIE4) {\r
- document.write("<STYLE TYPE='text/css'>");\r
- if (gbBsMac) {\r
- document.write(".PopupOver {font-family:'Arial'; color:white; background:navy; font-size:10pt; font-style:normal;font-weight:normal;text-decoration:none;}");\r
- document.write(".PopupNotOver {font-family:'Arial'; color:black; background:#c0c0c0; font-size:10pt; font-style:normal;font-weight:normal;text-decoration:none;}");\r
- } else {\r
- document.write(".PopupOver {font-family:'Arial'; color:white; background:navy; font-size:8pt; font-style:normal;font-weight:normal;text-decoration:none;}");\r
- document.write(".PopupNotOver {font-family:'Arial'; color:black; background:#c0c0c0; font-size:8pt; font-style:normal;font-weight:normal;text-decoration:none;}");\r
- }\r
- document.write("</STYLE>");\r
- }\r
- }\r
- g_bIsPopupMenuInit = true;\r
- }\r
-}\r
-\r
-//Define variable arguments as: strTitle, strUrl\r
-function MTE() \r
-{\r
- this.strTitle = MTE.arguments[0];\r
- if (MTE.arguments.length > 1)\r
- this.strURL = MTE.arguments[1];\r
- else\r
- this.strURL = this.strTitle;\r
-}\r
-\r
-// If the topic list is set, it is an array of TopicEntry objects (defined in WebHelp3.js)\r
-function PopupMenu_SetTopicList(aPopupTopicArray)\r
-{\r
- gbPopupMenuTopicList = aPopupTopicArray;\r
-}\r
-\r
-\r
-//Seek for the bsscright frame \r
-function _SeekFrameByName( cRoot, strName )\r
-{\r
- if( cRoot == null ) return null;\r
- if( cRoot.frames == null ) return null;\r
- if( cRoot.frames[strName] != null ) return cRoot.frames[strName];\r
- for (var i=0; i<cRoot.frames.length; i++)\r
- {\r
- var cObj = null;\r
- if (!gbBsNS6) \r
- cObj = _SeekFrameByName( cRoot.frames(i).document, strName );\r
- else\r
- cObj = _SeekFrameByName( cRoot.frames[i], strName );\r
- if( cObj != null ) return cObj;\r
- };\r
- return null;\r
-}\r
-function _GetFrameByName( cRoot, strName )\r
-{\r
- if( cRoot == null ) return null;\r
- var cRet = _SeekFrameByName(cRoot, strName);\r
- if( cRet != null ) return cRet;\r
- if (cRoot.parent != cRoot)\r
- return _GetFrameByName( cRoot.parent, strName );\r
- else\r
- return null;\r
-}\r
-\r
-function _PopupMenu_Invoke(fn_arguments)\r
-{\r
- // Make sure we have reasonable arguments\r
- var argLen = fn_arguments.length;\r
- if (argLen < 3) {\r
- return false;\r
- }\r
-\r
- // Check to see if we only have one target\r
- var strTarget = "";\r
- var targetDoc = null;\r
- if (fn_arguments[1] == '') {\r
- if (BSSCPopup_IsPopup()) {\r
- targetDoc = parent;\r
- strTarget = "TARGET= _parent";\r
- }\r
- else\r
- targetDoc = window.document;\r
- } else {\r
- targetDoc = _GetFrameByName( parent, fn_arguments[1] );\r
-\r
- strTarget = "TARGET='" + fn_arguments[1] + "'";\r
- }\r
-\r
- if ((!gbBsIE4 && !gbBsNS4) || ((gbBsMac) && (gbBsIE4) && (window.event.srcElement.tagName == "AREA"))) {\r
- \r
- var argLen = fn_arguments.length;\r
-\r
- // Create the window that the hyperlinks will go into\r
- var nHeight = argLen * 15;\r
- var nWidth = 400;\r
- var strParam = "titlebar=no,toolbar=no,status=no,location=no,menubar=no,resizable=yes,scrollbars=auto";\r
- strParam += ",height=" + nHeight + ",width=200";\r
- strParam += ",resizable";\r
-\r
- // Create a temporary window first to ensure the real popup comes up on top\r
- var wndTemp = window.open("", "temp", strParam);\r
-\r
- // Create the real popup window\r
- var wndPopupLinks = window.open("", "popuplinks", strParam);\r
-\r
- // Close the temporary\r
- wndTemp.close();\r
-\r
- wndPopupLinks.document.open("text/html");\r
- wndPopupLinks.document.write("<html><head></head>");\r
- wndPopupLinks.document.write("<body onBlur=\'self.focus();\'>");\r
- var strParaLine = "";\r
- for (var i = 0; i < (argLen - 2) / 2; i++) {\r
- strParaLine = "";\r
- strParaLine += "<a href=\"javascript:";\r
- if (gbBsIE) {\r
- strParaLine += "onBlur=null; ";\r
- }\r
- strParaLine += "opener.location=\'";\r
- strParaLine += fn_arguments[2 * i + 3];\r
- strParaLine += "\';close();\"";\r
- strParaLine += strTarget;\r
-\r
- strParaLine += ">";\r
- strParaLine += fn_arguments[2 * i + 2];\r
- strParaLine += "</a>";\r
- strParaLine += "<br>";\r
- wndPopupLinks.document.write(strParaLine);\r
- }\r
- wndPopupLinks.document.write("</body></html>");\r
- wndPopupLinks.document.close();\r
- window.gbInPopupMenu = true;\r
- if (!gbBsIE) {\r
- wndPopupLinks.focus();\r
- }\r
-\r
- return false;\r
- }\r
-\r
-\r
- if (((argLen < 5) && ((isNaN(fn_arguments[2])) || (gbPopupMenuTopicList == null))) ||\r
- ((argLen < 4) && ((!isNaN(fn_arguments[2])) && (gbPopupMenuTopicList != null)))) {\r
- // Get the place that we will be putting the topic into\r
- var strURL = "";\r
- if (isNaN(fn_arguments[2]) || (gbPopupMenuTopicList == null)) {\r
- strURL = fn_arguments[3];\r
- }\r
- else {\r
- strURL = gbPopupMenuTopicList[fn_arguments[2]].strURL;\r
- }\r
-\r
- if (targetDoc != null) {\r
- targetDoc.location.href = strURL;\r
- }\r
- else {\r
- if (fn_arguments[1] != null && typeof(fn_arguments[1]) != "undefined")\r
- window.open(strURL, fn_arguments[1]);\r
- else\r
- window.open(strURL);\r
- } \r
- window.gbInPopupMenu = true;\r
- return false;\r
- }\r
- \r
- var strMenu = "";\r
- if (gbBsNS4) {\r
- strMenu = '<TABLE BORDER="1" CELLSPACING=0 CELLPADDING=3 BGCOLOR="#c0c0c0">';\r
- } else {\r
- strMenu = '<TABLE STYLE="border:2px outset white;" CELLSPACING=0';\r
- if (gbBsMac) {\r
- strMenu += ' CELLPADDING=4';\r
- } else {\r
- strMenu += ' CELLPADDING=2';\r
- } \r
- strMenu += ' BGCOLOR=#c0c0c0>';\r
- }\r
- // Add each of the items\r
- var i = 2;\r
- while (i <= argLen - 1) {\r
- strMenu += '<TR><TD><NOBR>'\r
- // If the destination is a number then look it up in the topic list\r
- if (isNaN(fn_arguments[i]) || (gbPopupMenuTopicList == null)) {\r
- strMenu += '<DIV STYLE="padding-left:3pt; padding-right:3pt;"><A HREF="' + fn_arguments[i + 1] + '"' + strTarget;\r
- } else {\r
- strMenu += '<DIV STYLE="padding-left:3pt; padding-right:3pt;"><A HREF="' + gbPopupMenuTopicList[fn_arguments[i]].strURL + '"' + strTarget;\r
- }\r
- strMenu += ' onclick="PopupMenu_HandleClick(event);"';\r
- strMenu += ' onmouseover="PopupMenu_Over(event);"';\r
- strMenu += ' onmouseout="PopupMenu_Out(event);"';\r
- strMenu += '>';\r
- if (isNaN(fn_arguments[i]) || (gbPopupMenuTopicList == null)) {\r
- strMenu += '<SPAN CLASS="PopupNotOver">' + fn_arguments[i] + '</SPAN>';\r
- } else {\r
- strMenu += '<SPAN CLASS="PopupNotOver">' + gbPopupMenuTopicList[fn_arguments[i]].strTitle + '</SPAN>';\r
- }\r
- strMenu += '</A></DIV></NOBR></TD></TR>';\r
-\r
- if (isNaN(fn_arguments[i]) || (gbPopupMenuTopicList == null)) {\r
- i += 2;\r
- } else {\r
- i += 1;\r
- }\r
- }\r
- strMenu += "</TABLE>";\r
-\r
- if (gbBsMac) {\r
- // totally hack. because ie5 in mac need something. </TABLE> is one of them. mac is mad.\r
- strMenu +="<TABLE></TABLE>";\r
- }\r
-\r
- var layerPopup = null;\r
- var stylePopup = null;\r
- var nEventX = 0;\r
- var nEventY = 0;\r
- var nWindowWidth = 0;\r
- if (gbBsIE4) {\r
-\r
- layerPopup = document.all["PopupMenu"];\r
- layerPopup.innerHTML = strMenu;\r
- stylePopup = layerPopup.style;\r
-\r
- _BSPSGetClientSize();\r
-\r
- // Get the position of the item causing the event (relative to its parent)\r
- nEventX = window.event.clientX;\r
- nEventY = window.event.clientY;\r
-\r
- if (nEventY + layerPopup.scrollHeight + 10 < gBsClientHeight) {\r
- nEventY += document.body.scrollTop + 10;\r
- } else {\r
- nEventY = (document.body.scrollTop + gBsClientHeight) - layerPopup.scrollHeight - 20;\r
- }\r
- stylePopup.top = nEventY;\r
- \r
- var nPopupWidth = layerPopup.scrollWidth;\r
- if (gbBsMac) {\r
- nPopupWidth = 80; // we have no idea how to get the dynamic width of the popup.\r
- }\r
- if (nEventX + nPopupWidth + 20 > gBsClientWidth) {\r
- if (gBsClientWidth - nPopupWidth < 5) {\r
- stylePopup.left = 5;\r
- } else {\r
- stylePopup.left = gBsClientWidth - nPopupWidth - 5;\r
- }\r
- } else {\r
- stylePopup.left = nEventX + document.body.scrollLeft + 20;\r
- }\r
-\r
- stylePopup.visibility = "visible";\r
- if (!gOlddocumentClick && document.onclick)\r
- gOlddocumentClick = document.onclick;\r
- document.onclick = PopupMenu_HandleClick;\r
-\r
- } else if (gbBsNS6) {\r
- layerPopup = document.getElementById("PopupMenu");\r
- layerPopup.style.visibility = "hidden";\r
- \r
- var e = fn_arguments[0];\r
- nEventX = e.pageX;\r
- nEventY = e.pageY;\r
- _BSPSGetClientSize();\r
- layerPopup.innerHTML = strMenu;\r
-\r
- if (nEventY + layerPopup.offsetHeight + 20 < window.pageYOffset + gBsClientHeight) {\r
- nEventY += 20;\r
- } else {\r
- nEventY = gBsClientHeight + window.pageYOffset - layerPopup.offsetHeight - 20;\r
- }\r
-\r
- if (nEventX + layerPopup.offsetWidth + 20 > gBsClientWidth + window.pageXOffset) {\r
- if (gBsClientWidth + window.pageXOffset - layerPopup.offsetWidth < 20) {\r
- nEventX = 5;\r
- } else {\r
- nEventX = gBsClientWidth + window.pageXOffset - layerPopup.offsetWidth - 20;\r
- }\r
- } else {\r
- nEventX += 20;\r
- }\r
- layerPopup.style.top = nEventY;\r
- layerPopup.style.left = nEventX;\r
- // set again to avoid the stupid frash in netscape 6.\r
- layerPopup.innerHTML = strMenu;\r
- layerPopup.style.visibility = "visible";\r
- //window.captureEvents(Event.MOUSEDOWN);\r
- if (!gOlddocumentClick && document.onclick)\r
- gOlddocumentClick = document.onclick;\r
- window.onclick = PopupMenu_HandleClick;\r
- }\r
- else if (gbBsNS4) {\r
- layerPopup = document.layers.PopupMenu;\r
- layerPopup.visibility = "hide";\r
- stylePopup = layerPopup.document;\r
- stylePopup.write(strMenu);\r
- stylePopup.close();\r
- var e = fn_arguments[0];\r
- nEventX = e.pageX;\r
- nEventY = e.pageY;\r
- _BSPSGetClientSize();\r
- if (nEventY + layerPopup.clip.height + 20 < window.pageYOffset + gBsClientHeight) {\r
- nEventY += 20;\r
- } else {\r
- nEventY = gBsClientHeight + window.pageYOffset- layerPopup.clip.height - 20;\r
- }\r
- layerPopup.top = nEventY;\r
-\r
- if (nEventX + layerPopup.clip.width + 20 > gBsClientWidth + window.pageXOffset) {\r
- if (gBsClientWidth + window.pageXOffset - layerPopup.clip.width < 20) {\r
- nEventX = 5;\r
- } else {\r
- nEventX = gBsClientWidth + window.pageXOffset - layerPopup.clip.width - 20;\r
- }\r
- } else {\r
- nEventX += 20;\r
- }\r
-\r
- layerPopup.left = nEventX;\r
-\r
- layerPopup.visibility = "show";\r
-\r
- window.captureEvents(Event.MOUSEDOWN);\r
- if (!gOlddocumentClick && document.onmousedown)\r
- gOlddocumentClick = document.onmousedown;\r
- window.onmousedown = PopupMenu_HandleClick;\r
- }\r
-\r
- window.gbInPopupMenu = true;\r
- window.gbPopupMenuTimeoutExpired = false;\r
- setTimeout("PopupMenu_Timeout();", 100);\r
- return false;\r
-}\r
-\r
-\r
-function PopupMenu_Timeout()\r
-{\r
- window.gbPopupMenuTimeoutExpired = true;\r
-}\r
-\r
-function PopupMenu_Over(e)\r
-{\r
- if (gbBsIE4) {\r
- e.srcElement.className = "PopupOver";\r
- } else if (gbBsNS4) {\r
-// this.bgColor = "red";\r
-// e.target.document.className = "PopupOver";\r
- }\r
- return;\r
-}\r
-\r
-function PopupMenu_Out(e)\r
-{\r
- if (gbBsIE4) {\r
- e.srcElement.className = "PopupNotOver";\r
- } else if (gbBsNS4) {\r
- this.bgColor = "#f0f0f0";\r
- }\r
- return;\r
-}\r
-\r
-\r
-function PopupMenu_HandleClick(e)\r
-{\r
- if (window.gbPopupMenuTimeoutExpired) {\r
-\r
- window.gbInPopupMenu = false;\r
-\r
- if (gbBsNS4 && !gbBsNS6) {\r
- window.releaseEvents(Event.MOUSEDOWN);\r
- }\r
-\r
- var layerPopup = null;\r
- var stylePopup = null;\r
- if (gbBsIE4) {\r
- layerPopup = document.all["PopupMenu"];\r
- stylePopup = layerPopup.style;\r
- stylePopup.visibility = "hidden";\r
- } else if (gbBsNS6) {\r
- layerPopup = document.getElementById("PopupMenu");\r
- layerPopup.style.visibility = "hidden";\r
- } else if (gbBsNS4) {\r
- layerPopup = document.layers.PopupMenu;\r
- layerPopup.visibility = "hide";\r
- }\r
- \r
- if (gOlddocumentClick)\r
- {\r
- if (gbBsNS4 && !gbBsNS6)\r
- document.onmousedown = gOlddocumentClick;\r
- else\r
- document.onclick = gOlddocumentClick;\r
- }\r
- }\r
- return;\r
-}\r
-\r
-// This function should be deleted when all old projects are cleaned up\r
-function BSPSWritePopupFrameForIE4()\r
-{\r
- return false;\r
-}\r
-\r
-/////////////////////////////////////////////////////////////////////\r
-function BSSCPopup_ClickMac()\r
-{\r
- if ((!DHTMLPopupSupport()) && (gbBsIE4))\r
- { \r
- var bClickOnAnchor = false;\r
- var el;\r
- if ((window.event != null) &&\r
- (window.event.srcElement != null))\r
- {\r
- el = window.event.srcElement;\r
- while (el != null)\r
- {\r
- if ((el.tagName == "A") || (el.tagName == "AREA")) {\r
- bClickOnAnchor = true;\r
- break;\r
- }\r
- if (el.tagName == "BODY") {\r
- break;\r
- }\r
- el = el.parentElement;\r
- }\r
- }\r
- if (BSSCPopup_IsPopup())\r
- {\r
- if (!bClickOnAnchor) {\r
- parent.window.gPopupWindow = null;\r
- self.close();\r
- }\r
- }\r
- else\r
- {\r
- bClosePopupWindow = true;\r
- if ((bClickOnAnchor) &&\r
- (el.href) &&\r
- ((el.href.indexOf("javascript:BSSCPopup") != -1) || (el.href.indexOf("javascript:null") != -1) || (el.href.indexOf("javascript:void(0)") != -1)))\r
- {\r
- bClosePopupWindow = false;\r
- }\r
- if (bClosePopupWindow)\r
- {\r
- if (window.gPopupWindow != null && !window.gPopupWindow.closed )\r
- {\r
- window.gPopupWindow.close();\r
- }\r
- }\r
- }\r
- }\r
- }\r
-\r
-//////////////////////////////////////////////////////////////////////\r
-\r
-function BsPopupOnClick()\r
-{\r
- if (!gbBsIE4)\r
- return;\r
-\r
- BSSCPopup_ClickMac();\r
-}\r
-\r
-function _BSSCOnError(message)\r
-{\r
- if(-1 != message.indexOf("denied") \r
- || -1 != message.indexOf("Object required"))\r
- return true;\r
-}\r
-\r
-//End to support previous relative topics\r
-\r
-\r
-/// Section End - General and relative topics (JavaScript 1.0)\r
-\r
-/// Section Begin - Popup (JavaScript 1.0)\r
-\r
-//Begin to support previous popup functions\r
-//////////////////////////////////////////////////////////////////////////////////////////////\r
-//\r
-// Begin DHTML Popup Functions\r
-//\r
-//////////////////////////////////////////////////////////////////////////////////////////////\r
-//variables used to isolate the browser type\r
-var gBsDoc = null; \r
-var gBsSty = null;\r
-var gBsHtm = null;\r
-var gBsStyVisShow = null;\r
-var gBsStyVisHide = null;\r
-var gBsClientWidth = 640;\r
-var gBsClientHeight = 480;\r
-var gBsBrowser = null;\r
-\r
-// here is the varible for judge popup windows size. these parameter is for IE5.0, it may need adjust for others.\r
-var gBRateH_W = 0.618; // 1.618 Golden cut.\r
-var gBMaxXOfParent = 0.8; \r
-var gBMaxYOfParent = 0.8;\r
-var gBscrollHeight = 16;\r
-var gBscrollWidth = 16;\r
-var gBpermitXDelta = 3;\r
-var gBpermitYDelta = 3;\r
-\r
-\r
-var arrayPopupURL = new Array();\r
-var arrayAbsPopupURL = new Array();\r
-\r
-var arrayDirty = new Array();\r
-\r
-function setAbsPopupURL(nIndex, strURL)\r
-{\r
- arrayAbsPopupURL[nIndex] = strURL;\r
-}\r
-\r
-function getAbsPopupURL(nIndex)\r
-{\r
- if (nIndex == -1 || arrayAbsPopupURL.length <= nIndex) return null;\r
- else \r
- return arrayAbsPopupURL[nIndex];\r
-}\r
-\r
-function getPopupURL(nIndex)\r
-{\r
- if (nIndex == -1 || arrayPopupURL.length <= nIndex) return null;\r
- else \r
- return arrayPopupURL[nIndex];\r
-}\r
-\r
-function getPopupID(nIndex)\r
-{\r
- return gstrPopupID + nIndex;\r
-}\r
-\r
-function getPopupShadowID(nIndex)\r
-{\r
- return gstrPopupShadowID + nIndex;\r
-}\r
-\r
-function getPopupTopicID(nIndex)\r
-{\r
- return gstrPopupTopicID + nIndex;\r
-}\r
-\r
-function getPopupIFrameID(nIndex)\r
-{\r
- return gstrPopupIFrameID + nIndex;\r
-}\r
-\r
-function getPopupIFrameName(nIndex)\r
-{\r
- return gstrPopupIFrameName + nIndex;\r
-}\r
-\r
-\r
-function getPopupTopicStyle(nIndex)\r
-{\r
- return eval("document.all['" + getPopupTopicID(nIndex) + "']").style;\r
-}\r
-\r
-function getPopupShadowStyle(nIndex)\r
-{\r
- return eval("document.all['" + getPopupShadowID(nIndex) + "']").style;\r
-}\r
-\r
-function getPopupIFrame(nIndex)\r
-{\r
-\r
- return eval("document.frames['" + getPopupIFrameName(nIndex) + "']");\r
-}\r
-\r
-function getPopupDivStyle(nIndex)\r
-{\r
- return eval("document.all['" + getPopupID(nIndex) + "']").style;\r
-}\r
-\r
-function getPopupIFrameStyle(nIndex)\r
-{\r
- return eval("document.all['" + getPopupIFrameName(nIndex) + "'].style");\r
-}\r
-\r
-\r
-function findDiv(strURL)\r
-{\r
- var i = 0;\r
- for (i = 0; i < arrayPopupURL.length; i ++ ) {\r
- if (arrayPopupURL[i] == strURL) {\r
- return i;\r
- }\r
- }\r
- return -1;\r
-}\r
-\r
-var gnToken = -1;\r
-function takeToken()\r
-{\r
- gnToken ++;\r
- if (gnToken > 10000) gnToken = 0;\r
- return gnToken;\r
-}\r
-\r
-function IsValidToken(nToken)\r
-{\r
- return (gnToken == nToken);\r
-}\r
-\r
-function addDiv(strURL)\r
-{\r
- var i = 0; \r
- for (i = 0; i < arrayPopupURL.length; i ++) {\r
- if (arrayPopupURL[i] == null) {\r
- arrayPopupURL[i] = strURL;\r
- return i;\r
- }\r
- } \r
- arrayPopupURL[i] = strURL;\r
- arrayDirty[i] = true;\r
- return i;\r
-}\r
-\r
-function setDirty()\r
-{\r
- var i = 0;\r
- for (i = 0; i < arrayPopupURL.length; i ++ )\r
- arrayDirty[i] = true;\r
-}\r
-\r
-function IsDirty(nIndex)\r
-{\r
- if (nIndex == -1)\r
- return true;\r
- else \r
- if (arrayDirty.length > nIndex) \r
- return arrayDirty[nIndex];\r
- else\r
- return true;\r
-}\r
-\r
-function hideAll()\r
-{\r
- var i = 0; \r
- for (i = 0; i < arrayPopupURL.length; i ++ )\r
- getPopupDivStyle(i).visibility = gBsStyVisHide;\r
-}\r
-\r
-function getCurrentPopupIFrame()\r
-{\r
- var i = 0;\r
- for (i = 0; i < arrayPopupURL.length; i ++)\r
- if (getPopupDivStyle(i).visibility == gBsStyVisShow)\r
- return getPopupIFrame(i);\r
- return null;\r
-}\r
-\r
-function setClear(nIndex)\r
-{\r
- if (nIndex != -1)\r
- arrayDirty[nIndex] = false;\r
-}\r
-\r
-function _BSSCCreatePopupDiv(strURL)\r
-{\r
- var nIndex = findDiv(strURL);\r
- if (nIndex == -1 ) {\r
- nIndex = addDiv(strURL);\r
- BsPopup_CreateDiv(nIndex);\r
- }\r
- else {\r
- if (IsDirty(nIndex)) {\r
- if("object" == typeof(getPopupIFrame(nIndex).document))\r
- getPopupIFrame(nIndex).document.location.href = strURL;\r
- }\r
- }\r
- return nIndex;\r
-\r
-}\r
-\r
-//the browser information itself\r
-function _BSPSBrowserItself()\r
-{\r
- var agent = navigator.userAgent.toLowerCase();\r
- this.major = parseInt(navigator.appVersion);\r
- this.minor = parseFloat(navigator.appVersion);\r
- this.ns = ((agent.indexOf('mozilla') != -1) && ((agent.indexOf('spoofer') == -1) && (agent.indexOf('compatible') == -1)));\r
- this.ns2 = ((this.ns) && (this.major == 2));\r
- this.ns3 = ((this.ns) && (this.major == 3));\r
- this.ns4 = ((this.ns) && (this.major >= 4));\r
- this.ns6 = ((this.ns) && (this.major >= 5));\r
- this.ie = (agent.indexOf("msie") != -1);\r
- this.ie3 = ((this.ie) && (this.major == 2));\r
- this.ie4 = ((this.ie) && (this.major >= 4));\r
- this.op3 = (agent.indexOf("opera") != -1);\r
-\r
- if (this.ns4)\r
- {\r
- gBsDoc = "document";\r
- gBsSty = "";\r
- gBsHtm = ".document";\r
- gBsStyVisShow = "show";\r
- gBsStyVisHide = "hide";\r
-\r
- }\r
- else if (this.ie4)\r
- {\r
- gBsDoc = "document.all";\r
- gBsSty = ".style";\r
- gBsHtm = "";\r
- gBsStyVisShow = "visible";\r
- gBsStyVisHide = "hidden";\r
- }\r
-}\r
-\r
-//Here is the browser type \r
-function _BSPSGetBrowserInfo()\r
-{\r
- gBsBrowser = new _BSPSBrowserItself();\r
-}\r
-\r
-_BSPSGetBrowserInfo();\r
-\r
-//Get client size info\r
-function _BSPSGetClientSize()\r
-{\r
- if (gBsBrowser.ns4)\r
- {\r
- gBsClientWidth = innerWidth;\r
- gBsClientHeight = innerHeight;\r
-\r
- }\r
- else if (gBsBrowser.ie4)\r
- {\r
- gBsClientWidth = document.body.clientWidth;\r
- gBsClientHeight = document.body.clientHeight;\r
- }\r
-}\r
-\r
-\r
-var gstrPopupID = 'BSSCPopup';\r
-var gstrPopupShadowID = 'BSSCPopupShadow';\r
-var gstrPopupTopicID = 'BSSCPopupTopic';\r
-var gstrPopupIFrameID = 'BSSCPopupIFrame';\r
-var gstrPopupIFrameName = 'BSSCPopupIFrameName';\r
-\r
-var gstrPopupSecondWindowName = 'BSSCPopup';\r
-\r
-var gPopupWindow = null;\r
-var gnPopupClickX = 0;\r
-var gnPopupClickY = 0;\r
-\r
-var gnPopupScreenClickX = 0;\r
-var gnPopupScreenClickY = 0;\r
-\r
-var gbPopupTimeoutExpired = false;\r
-\r
-\r
-function DHTMLPopupSupport()\r
-{\r
- if ((gbBsIE4) && (!gbBsMac)) {\r
- return true;\r
- }\r
- return false;\r
-}\r
-\r
-\r
-\r
-function BSSCPopup_IsPopup()\r
-{\r
- if (DHTMLPopupSupport() && (this.name.indexOf(gstrPopupIFrameName) != -1)) {\r
- return true;\r
- } else if ((gbBsNS4 || gbBsIE4) && (this.name.indexOf(gstrPopupID) != -1)) {\r
- return true;\r
- } else {\r
- return false;\r
- }\r
-}\r
-\r
-\r
-// If there is a hyperlink in a popup window, display the hyperlink in\r
-// the original window.\r
-if (BSSCPopup_IsPopup() && !gbBsIE4) {\r
- document.write("<base target=\"_parent\">");\r
-}\r
-\r
-// Local functions.\r
-function BsPopup_CreateDiv(nIndex)\r
-{\r
- if(!DHTMLPopupSupport())\r
- return;\r
- // DO NOT SET Width and height for the div, otherwize it will make IE4 popup do not work when view the topic alone.\r
- var strPopupDiv = "<DIV ID='" + getPopupID(nIndex) + "' STYLE='position:absolute; top:-100; left:0; z-index:600; visibility:hidden;'>";\r
- strPopupDiv += "<DIV ID='" + getPopupShadowID(nIndex) + "' STYLE=\"position:absolute;top:0; left:0; background-color:#C0C0C0;\"></DIV>";\r
- strPopupDiv += "<DIV ID='" + getPopupTopicID(nIndex) + "' STYLE=\"position:absolute;top:0; left:0; background-color:#FFFFFF;border:1px #000000 outset;\">";\r
- strPopupDiv += "<IFRAME title=\"Popup Window\" ID='" + getPopupIFrameID(nIndex) + "' name='" + getPopupIFrameName(nIndex) + "' src = '" + getPopupURL(nIndex) + "' frameborder=0 scrolling=auto></IFRAME>";\r
- strPopupDiv += "</DIV></DIV>";\r
-\r
- var objBody = document.all.tags("BODY")[0];\r
- if( typeof(objBody) != "object" )\r
- return;\r
-\r
- objBody.insertAdjacentHTML("beforeEnd", strPopupDiv);\r
-}\r
-\r
-function BSSCPopup_Timeout(nIndex, nToken)\r
-{\r
- if (!IsValidToken(nToken)) return;\r
-\r
- if ((getPopupIFrame(nIndex).document.readyState == "complete") &&\r
- (getPopupIFrame(nIndex).document.body != null)) {\r
- window.getPopupDivStyle(nIndex).visibility = gBsStyVisShow;\r
- setClear(nIndex);\r
- window.gbPopupTimeoutExpired = true;\r
-\r
- BSSCPopup_ChangeTargettoParent(getPopupIFrame(nIndex).document);\r
- getPopupIFrame(nIndex).document.body.onclick = BSSCPopupClicked;\r
-\r
- if (!gbOrignalOnMouseDown && document.onmousedown)\r
- gbOrignalOnMouseDown = document.onmousedown;\r
-\r
- document.onmousedown = BSSCPopupParentClicked;\r
-\r
- } else {\r
- setTimeout("BSSCPopup_Timeout(" + nIndex + "," + nToken + ")", 100);\r
- }\r
-}\r
-\r
-\r
-// VH 08/10/00 \r
-// do not change target to parent if the href is using javascript\r
-function BSSCPopup_ChangeTargettoParent(tagsObject)\r
-{\r
- var collA = tagsObject.all.tags("A");\r
- BSSCPopup_ChangeTargettoParent2(collA);\r
-\r
- var collIMG = tagsObject.all.tags("IMG");\r
- BSSCPopup_ChangeTargettoParent2(collIMG);\r
-}\r
-\r
-function BSSCPopup_ChangeTargettoParent2(colls)\r
-{\r
- var j = 0;\r
- if (colls != null) {\r
- for (j = 0; j < colls.length; j ++ )\r
- {\r
- var strtemp = colls[j].href;\r
- strtemp = strtemp.toLowerCase();\r
- if (strtemp.indexOf("javascript:") == -1)\r
- if (colls[j].target == "")\r
- colls[j].target = "_parent";\r
- }\r
-\r
- }\r
-}\r
-\r
-function BSPSPopupTopicWinHelp(strURL)\r
-{\r
- _BSSCPopup(strURL);\r
- return;\r
-}\r
-\r
-function _BSSCPopup(strURL, width, height)\r
-{\r
- var cuswidth = 0;\r
- var cusheight = 0;\r
- if ("undefined" != typeof(width) && "undefined" != typeof(height)) {\r
- cuswidth = width;\r
- cusheight= height;\r
- }\r
- \r
- if (DHTMLPopupSupport()) {\r
- // If we are already in a popup, replace the contents\r
- // if (BSSCPopup_IsPopup()) {\r
- // parent._BSSCPopup(strURL, cuswidth, cusheight);\r
- // } else {\r
- var nToken = takeToken(); // take token first.\r
- var nIndex = _BSSCCreatePopupDiv(strURL);\r
- window.gbPopupTimeoutExpired = false;\r
- var ntWidth = gBsClientWidth;\r
- var ntHeight = gBsClientHeight;\r
- _BSPSGetClientSize();\r
- if (ntWidth != gBsClientWidth || ntHeight != gBsClientHeight) {\r
- setDirty();\r
- }\r
-\r
-\r
- if (IsDirty(nIndex)) {\r
- if (gbBsMac) {\r
- setTimeout("BSSCPopup_AfterLoad(" + nIndex + "," + nToken + "," + cuswidth + "," + cusheight +")", 400);\r
- } else {\r
- setTimeout("BSSCPopup_AfterLoad(" + nIndex + "," + nToken + "," + cuswidth + "," + cusheight + ")", 100);\r
- }\r
- }\r
- else {\r
- MoveDivAndShow(nIndex ,nToken, cuswidth, cusheight);\r
- }\r
- // }\r
-\r
- } else {\r
- _BSSCPopup2(strURL, cuswidth, cusheight);\r
- }\r
- return;\r
-}\r
-\r
-if (gbBsIE55)\r
-{\r
- var ehlpdhtm_fOldBefureUnload = window.onbeforeunload;\r
- window.onbeforeunload = window_BUnload;\r
-}\r
- \r
-function window_BUnload()\r
-{\r
- for (var i = 0; i < arrayPopupURL.length; i ++)\r
- document.all(getPopupID(i)).outerHTML = "";\r
- arrayPopupURL.length = 0; \r
- if (ehlpdhtm_fOldBefureUnload)\r
- ehlpdhtm_fOldBefureUnload();\r
-}\r
-\r
-function _BSSCPopup2(strURL, width, height)\r
-{\r
- if (window.name == gstrPopupSecondWindowName) {\r
- window.location = strURL;\r
- } else {\r
- if (!gbBsMac || !gBsBrowser.ns4) {\r
- BSSCHidePopupWindow();\r
- }\r
- var nX = 0;\r
- var nY = 0;\r
- var nHeight = 300;\r
- var nWidth = 400;\r
- if (width > 0 && height > 0) {\r
- nHeight = height;\r
- nWidth = width;\r
- }\r
- _BSPSGetClientSize();\r
-\r
- nX = window.gnPopupScreenClickX;\r
- nY = window.gnPopupScreenClickY;\r
-\r
- if (nY + nHeight + 40 > screen.availHeight) {\r
- nY = screen.availHeight - nHeight - 40;\r
- }\r
- if (nX + nWidth + 40 > screen.availWidth) {\r
- nX = screen.availWidth - nWidth - 40;\r
- }\r
- // Launch a separate window\r
- var strParam = "titlebar=no,toolbar=no,status=no,location=no,menubar=no,resizable=yes,scrollbars=yes";\r
- if (gBsBrowser.ns) {\r
- if (gBsBrowser.ns6) {\r
- strParam += ",Height=" + nHeight + ",Width=" + nWidth;\r
- strParam += ",screenX=" + nX + ",screenY=" + nY;\r
- }\r
- else {\r
- strParam += ",OuterHeight=" + nHeight + ",OuterWidth=" + nWidth;\r
- strParam += ",screenX=" + nX + ",screenY=" + nY;\r
- strParam += ",dependent=yes";\r
- }\r
- }\r
- else {\r
- strParam += ",height=" + nHeight + ",width=" + nWidth;\r
- strParam += ",left=" + nX + ",top=" + nY;\r
- }\r
- window.gPopupWindow = window.open(strURL, gstrPopupSecondWindowName, strParam);\r
-\r
- if (gBsBrowser.ns4) {\r
- window.gPopupWindow.captureEvents(Event.CLICK | Event.BLUE);\r
- window.gPopupWindow.onclick = NonIEPopup_HandleClick;\r
- window.gPopupWindow.onblur = NonIEPopup_HandleBlur;\r
- }\r
- else if (gBsBrowser.ie4)\r
- {\r
- setTimeout("setPopupFocus();", 100);\r
- }\r
- }\r
- return;\r
-}\r
-\r
-function setPopupFocus()\r
-{\r
- window.gPopupWindow.focus();\r
-}\r
-\r
-function NonIEPopup_HandleBlur(e)\r
-{\r
- window.gPopupWindow.focus();\r
-}\r
-\r
-function NonIEPopup_HandleClick(e)\r
-{\r
- // Because navigator will give the event to the handler before the hyperlink, let's\r
- // first route the event to see if we are clicking on a Popup menu in a popup.\r
- document.routeEvent(e);\r
-\r
- // If a popup menu is active then don't do anything with the click\r
- if (window.gPopupWindow.gbInPopupMenu) {\r
- window.gPopupWindow.captureEvents(Event.CLICK);\r
- window.gPopupWindow.onclick = NonIEPopup_HandleClick;\r
- return false;\r
- }\r
-\r
- // Close the popup window\r
- if (e.target.href) {\r
- if (e.target.target == "")\r
- window.location.href = e.target.href;\r
- else\r
- window.open(e.target.href, e.target.target);\r
- \r
- if (e.target.href.indexOf("javascript:void(0)") == -1 && e.target.href.indexOf("javascript:null") == -1 && e.target.href.indexOf("BsscPopup") == -1) {\r
- this.close();\r
- }\r
- } else {\r
- this.close();\r
- }\r
- return false;\r
-\r
-}\r
-\r
-function BSSCPopup_AfterLoad(nIndex, nToken, cuswidth, cusheight)\r
-{ \r
- if (typeof(window.getPopupIFrame(nIndex).document) == "unknown") {\r
- _BSSCPopup2(getPopupURL(nIndex), cuswidth, cusheight);\r
- return;\r
- }\r
- if (!IsValidToken(nToken)) return;\r
-\r
- if ((window.getPopupIFrame(nIndex).document.readyState == "complete") &&\r
- (window.getPopupIFrame(nIndex).document.body != null)) {\r
- if (window.getPopupIFrame(nIndex).document.location.href.indexOf("about:blank") != -1) { // add this check. IE will use about:blank" as the default vaule for Iframe.\r
- window.getPopupIFrame(nIndex).document.location = getPopupURL(nIndex);\r
- setTimeout("BSSCPopup_AfterLoad(" + nIndex + "," + nToken + "," + cuswidth + "," + cusheight + ")", 200);\r
- }\r
- else\r
- {\r
- setAbsPopupURL(nIndex, window.getPopupIFrame(nIndex).document.location.href); // change URL to abs url.\r
- BSSCPopup_ResizeAfterLoad(nIndex, nToken, cuswidth, cusheight);\r
- }\r
- } else {\r
- setTimeout("BSSCPopup_AfterLoad(" + nIndex + "," + nToken + "," + cuswidth + "," + cusheight + ")", 200);\r
- }\r
-}\r
-\r
-\r
-function BSSCPopup_ResizeAfterLoad(nIndex, nToken, cuswidth, cusheight)\r
-{\r
- if (window.gbPopupTimeoutExpired) return;\r
-\r
- if (!IsValidToken(nToken)) return;\r
-\r
- getPopupDivStyle(nIndex).visibility = gBsStyVisHide;\r
-\r
- // Determine the width and height for the window\r
- //var size = new BSSCSize(0, 0);\r
- //BSSCGetContentSize(window.getPopupIFrame(nIndex), size);\r
- //var nWidth = size.x;\r
- //var nHeight = size.y;\r
-\r
- _BSPSGetClientSize();\r
- \r
- var size = new BSSCSize(0, 0);\r
-\r
- if (cuswidth <= 0 || cusheight <= 0)\r
- BSSCGetContentSize(window.getPopupIFrame(nIndex), size);\r
- else {\r
- size.x = cuswidth;\r
- size.y = cusheight;\r
- }\r
-\r
- // Determine the width and height for the window\r
- var nWidth = size.x;\r
- var nHeight = size.y;\r
-\r
- // for small popup size, we should allow any size.\r
- // The popup size should be ok if bigger than 0\r
- if (nWidth < 0 || nHeight < 0) return; // there must be something terribly wrong. \r
- // if (nWidth < 40 || nHeight < 40) return; // there must be something terribly wrong.\r
-\r
- window.getPopupDivStyle(nIndex).pixelWidth = nWidth;\r
- window.getPopupDivStyle(nIndex).pixelHeight = nHeight;\r
-\r
- window.getPopupShadowStyle(nIndex).pixelWidth = nWidth;\r
- window.getPopupShadowStyle(nIndex).pixelHeight = nHeight;\r
- window.getPopupTopicStyle(nIndex).pixelWidth = nWidth;\r
- window.getPopupTopicStyle(nIndex).pixelHeight = nHeight;\r
- if (gbBsIE55)\r
- {\r
- window.getPopupShadowStyle(nIndex).pixelWidth = nWidth + 2;\r
- window.getPopupShadowStyle(nIndex).pixelHeight = nHeight + 2;\r
- window.getPopupTopicStyle(nIndex).pixelWidth = nWidth + 2;\r
- window.getPopupTopicStyle(nIndex).pixelHeight = nHeight + 2;\r
- }\r
-\r
- window.getPopupIFrameStyle(nIndex).pixelWidth = nWidth;\r
- window.getPopupIFrameStyle(nIndex).pixelHeight = nHeight;\r
- if (gbBsIE55)\r
- {\r
- window.getPopupIFrameStyle(nIndex).top = 0;\r
- window.getPopupIFrameStyle(nIndex).left = 0;\r
- }\r
- \r
- var strURL = getPopupURL(nIndex);\r
- if (strURL.indexOf("#") != -1)\r
- getPopupIFrame(nIndex).location.href = strURL; // reload again, this will fix the bookmark misunderstand in IE5.\r
- \r
- MoveDivAndShow(nIndex, nToken, cuswidth, cusheight);\r
-}\r
-\r
-function MoveDivAndShow(nIndex, nToken, cuswidth, cusheight)\r
-{\r
- if (window.getPopupIFrame(nIndex).document.location.href != getAbsPopupURL(nIndex)) { // if redirect, reload again.\r
- window.getPopupIFrame(nIndex).document.location = getPopupURL(nIndex);\r
- setTimeout("BSSCPopup_AfterLoad(" + nIndex + "," + nToken + "," + cuswidth + "," + cusheight + ")", 200);\r
- return;\r
- }\r
-\r
- // Determine the position of the window\r
- var nClickX = window.gnPopupClickX;\r
- var nClickY = window.gnPopupClickY;\r
- var nTop = 0;\r
- var nLeft = 0;\r
-\r
- var nWidth = window.getPopupDivStyle(nIndex).pixelWidth;\r
- var nHeight = window.getPopupDivStyle(nIndex).pixelHeight;\r
-\r
- if (nClickY + nHeight + 20 < gBsClientHeight + document.body.scrollTop) {\r
- nTop = nClickY + 10;\r
- } else {\r
- nTop = (document.body.scrollTop + gBsClientHeight) - nHeight - 20;\r
- }\r
- if (nClickX + nWidth < gBsClientWidth + document.body.scrollLeft) {\r
- nLeft = nClickX;\r
- } else {\r
- nLeft = (document.body.scrollLeft + gBsClientWidth) - nWidth - 8;\r
- }\r
- \r
- if (nTop < document.body.scrollTop ) nTop = document.body.scrollTop + 1;\r
- if (nLeft< document.body.scrollLeft) nLeft = document.body.scrollLeft + 1;\r
-\r
-\r
- window.getPopupDivStyle(nIndex).left = nLeft;\r
- window.getPopupDivStyle(nIndex).top = nTop;\r
-\r
- // Set the location of the background blocks\r
- window.getPopupShadowStyle(nIndex).left = 6;\r
- window.getPopupShadowStyle(nIndex).top = 6;\r
- if (gbBsIE55)\r
- {\r
- window.getPopupShadowStyle(nIndex).left = 4;\r
- window.getPopupShadowStyle(nIndex).top = 4;\r
- }\r
-\r
- if (gbBsMac) {\r
- // Total hack on the iMac to get the IFrame to position properly\r
- window.getPopupIFrameStyle(nIndex).pixelLeft = 100;\r
- window.getPopupIFrameStyle(nIndex).pixelLeft = 0;\r
- // Explicitly call BSSCOnLoad because the Mac doesn't seem to do it\r
- window.getPopupIFrame(nIndex).window.BSSCOnLoad();\r
- }\r
-\r
- BSSCPopup_Timeout(nIndex , nToken );\r
- \r
- return;\r
-}\r
-\r
-function BSSCSize(x, y)\r
-{\r
- this.x = x;\r
- this.y = y;\r
-}\r
-\r
-function BSSCGetContentSize(thisWindow, size)\r
-{\r
- if (!((gBsBrowser.ie4) || (gBsBrowser.ns4)))\r
- return;\r
-\r
- if (gbBsMac) {\r
- size.x = 300;\r
- size.y = 300;\r
- return;\r
- }\r
-\r
- // Resize the width until it is wide enough to handle the content\r
- // The trick is to start wide and determine when the scrollHeight changes\r
- // because then we know a scrollbar is necessary. We can then go back\r
- // to the next widest size (for no scrollbar)\r
-\r
- var ClientRate = gBsClientHeight / gBsClientWidth;\r
-\r
- var GoldenSize = new BSSCSize(0,0);\r
- GoldenSize.x = gBsClientWidth * gBMaxXOfParent;\r
- GoldenSize.y = gBsClientHeight *gBMaxYOfParent ;\r
-\r
- if (ClientRate > gBRateH_W) {\r
- GoldenSize.y = GoldenSize.x * gBRateH_W;\r
- }\r
- else {\r
- GoldenSize.x = GoldenSize.y / gBRateH_W;\r
- }\r
-\r
- // Try to using parent specified max x.\r
- var x = 0;\r
- var maxgoldx = GoldenSize.x;\r
- var maxx = gBsClientWidth * gBMaxXOfParent;\r
- \r
- // This double resize causes the document to re-render (and we need it to)\r
- if (!gbBsIE5)\r
- thisWindow.moveTo(10000,10000); // this is used to fix the flash on IE4.\r
- thisWindow.resizeTo(1, 1);\r
- thisWindow.resizeTo(1, 1);\r
- thisWindow.resizeTo(maxgoldx, thisWindow.document.body.scrollHeight + gBscrollHeight);\r
- thisWindow.resizeTo(maxgoldx, thisWindow.document.body.scrollHeight + gBscrollHeight);\r
- \r
- var miny = thisWindow.document.body.scrollHeight + gBscrollHeight;\r
- \r
- if (miny > GoldenSize.y) // the popup does not fix in the parent wanted golden area. so try to expand itself as large as it can\r
- {\r
- thisWindow.resizeTo(maxx , thisWindow.document.body.scrollHeight + gBscrollHeight);\r
- thisWindow.resizeTo(maxx , thisWindow.document.body.scrollHeight + gBscrollHeight);\r
- \r
- miny = thisWindow.document.body.scrollHeight + gBscrollHeight;\r
- maxy = gBsClientHeight * gBMaxYOfParent;\r
- \r
- if (miny > maxy) { // the popup must have a scroll, OK let it be.\r
- miny = maxy;\r
- size.x = maxx;\r
- size.y = maxy;\r
- thisWindow.document.body.scroll = 'yes'; // At this time we do want to show scroll any more. so it will looks better a little.\r
- }\r
- else { // popup still can fit in the parent area by someway. now we choose the same h/w rate as parent.\r
- size.y = miny;\r
- \r
- // downsize from maxx , now I try to using binary divide.\r
- x = maxx;\r
- deltax = -maxx/2;\r
- //j = 0;\r
- while (true) {\r
- x = x + deltax;\r
- thisWindow.resizeTo(x, miny);\r
- thisWindow.resizeTo(x, miny);\r
- diffy = thisWindow.document.body.scrollHeight + gBscrollHeight - x * ClientRate;\r
- if (diffy > gBpermitYDelta ) // it is higher than wanted, so x need to be wide a little bitter\r
- deltax = Math.abs(deltax) /2;\r
- else if (diffy < -gBpermitYDelta) // it is shorter than wanted, so x need to be narrow a little bitter\r
- deltax = -Math.abs(deltax) /2;\r
- else \r
- // the y is close enough to wanted.\r
- break;\r
- if (Math.abs(deltax) < gBpermitXDelta) // the next change is too slight and it can be ignore.\r
- break;\r
- }\r
- size.x = thisWindow.document.body.scrollWidth; //+ gBscrollWidth;\r
- size.y = thisWindow.document.body.scrollHeight;// + gBscrollHeight; \r
- thisWindow.document.body.scroll = 'no';\r
- \r
- // Handle absurd cases just in case IE flakes\r
- // if (size.y < 100) {\r
- // size.y = 100;\r
- // }\r
- }\r
- }\r
- else {\r
- if (thisWindow.document.body.scrollWidth > maxgoldx) {\r
- size.x = maxx; \r
- size.y = miny; \r
- thisWindow.document.body.scroll = 'yes';\r
- }\r
- else {\r
- // downsize from maxgoldx , now I try to using binary divide.\r
- x = maxgoldx;\r
- deltax = -maxgoldx/2;\r
- //i = 0;\r
- while (true) {\r
- x = x + deltax;\r
- thisWindow.resizeTo(x, miny);\r
- thisWindow.resizeTo(x, miny);\r
- diffy = thisWindow.document.body.scrollHeight + gBscrollHeight - x * gBRateH_W;\r
- if (diffy > gBpermitYDelta ) // it is higher than wanted, so x need to be wide a little bitter\r
- deltax = Math.abs(deltax) /2;\r
- else if (diffy < -gBpermitYDelta) // it is shorter than wanted, so x need to be narrow a little bitter\r
- deltax = -Math.abs(deltax) /2;\r
- else \r
- // the y is close enough to wanted.\r
- break;\r
- if (Math.abs(deltax) < gBpermitXDelta) // the next change is too slight and it can be ignore.\r
- break;\r
- //i ++;\r
- \r
- }\r
- //size.x = x - gBscrollWidth;\r
- size.x = thisWindow.document.body.scrollWidth; //+ gBscrollWidth;\r
- size.y = thisWindow.document.body.scrollHeight ;\r
- thisWindow.document.body.scroll = 'no'; // At this time we do not want to show scroll any more. so it will looks better a little.\r
- thisWindow.resizeTo(size.x, size.y);\r
- if (thisWindow.document.body.scrollWidth > size.x)\r
- {\r
- size.x = thisWindow.document.body.scrollWidth;\r
- }\r
- if (thisWindow.document.body.scrollHeight > size.y)\r
- {\r
- size.y = thisWindow.document.body.scrollHeight;\r
- }\r
- }\r
- }\r
- \r
- // no reload no scrollbar.\r
- //size.x = size.x + 16; //reserve a width for scrollbar (IE 4.0 only)\r
-\r
- thisWindow.resizeTo(size.x, size.y);\r
- thisWindow.resizeTo(size.x, size.y);\r
- return;\r
-}\r
-\r
-\r
-\r
-function BSSCPopupParentClicked()\r
-{\r
- if (!window.gbPopupTimeoutExpired) {\r
- return false;\r
- }\r
- \r
- document.onmousedown = gbOrignalOnMouseDown;\r
-\r
- // Simply hide the popup\r
- hideAll();\r
-\r
- window.gbPopupTimeoutExpired = false;\r
-\r
- return true;\r
-}\r
-\r
-\r
-function BSSCPopupClicked()\r
-{\r
- if (!window.gbPopupTimeoutExpired) {\r
- return false;\r
- }\r
-\r
-\r
- var popupIFrame = getCurrentPopupIFrame();\r
- if (popupIFrame == null) {\r
- return true;\r
- }\r
-\r
-/*\r
- if ("undefined" != typeof(popupIFrame.gbInPopupMenu) &&\r
- popupIFrame.gbInPopupMenu) {\r
- return true;\r
- }*/\r
-\r
- if (!((popupIFrame.window.event != null) &&\r
- (popupIFrame.window.event.srcElement != null) &&\r
- ((popupIFrame.window.event.srcElement.tagName == "A") ||\r
- (popupIFrame.window.event.srcElement.tagName == "IMG")))) {\r
- document.onmousedown = gbOrignalOnMouseDown;\r
-\r
- // Simply hide the popup\r
- hideAll();\r
-\r
- window.gbPopupTimeoutExpired = false;\r
-\r
- return true;\r
- }\r
-}\r
-\r
-\r
-//trace the mouse over's position for hotspot\r
-function BSPSPopupOnMouseOver(event)\r
-{\r
- if (gBsBrowser.ie4) {\r
- window.gnPopupClickX = event.clientX + document.body.scrollLeft;\r
- window.gnPopupClickY = event.clientY + document.body.scrollTop;\r
- window.gnPopupScreenClickX = event.screenX;\r
- window.gnPopupScreenClickY = event.screenY;\r
- } else if (gBsBrowser.ns4) {\r
- window.gnPopupClickX = event.pageX - window.pageXOffset;\r
- window.gnPopupClickY = event.pageY - window.pageYOffset;\r
- window.gnPopupScreenClickX = event.screenX - window.pageXOffset;\r
- window.gnPopupScreenClickY = event.screenY - window.pageYOffset;\r
- }\r
-}\r
-\r
-\r
-function BSSCHidePopupWindow()\r
-{\r
- if (window.gPopupWindow != null) {\r
- if (gBsBrowser.ns4) {\r
- if ((typeof window.gPopupWindow != "undefined") && (!window.gPopupWindow.closed)) {\r
- window.gPopupWindow.close();\r
- window.gPopupWindow = null;\r
- }\r
- }\r
- }\r
-\r
- return;\r
-}\r
-\r
-// Add the PopupOnClick to the onclick array.\r
-if (typeof(BsscRegisterOnClick) != "undefined")\r
-{\r
- BsscRegisterOnClick(BsPopupOnClick);\r
-}\r
-//End to support previous popup functions\r
-\r
-/// Section End - Popup (JavaScript 1.0)\r
-\r
-/// Section Begin - Embedded Stub (JavaScript 1.0)\r
-\r
-var s_strAgent = navigator.userAgent.toLowerCase();\r
-var s_nVer = parseInt(navigator.appVersion);\r
-\r
-var s_bIE = (s_strAgent.indexOf('msie') != -1);\r
-var s_bNS = (s_strAgent.indexOf('mozilla') != -1) && ((s_strAgent.indexOf('spoofer') == -1) && (s_strAgent.indexOf('compatible') == -1));\r
-var s_bOpera = (s_strAgent.indexOf('opera') != -1);\r
-\r
-var s_bIE3Before = ((s_bIE) && (s_nVer <= 2));\r
-var s_bNS3Before = ((s_bNS) && (s_nVer <= 3));\r
-\r
-var s_bNS2 = ((s_bNS) && (s_nVer <= 2));\r
-var s_bNS3 = ((s_bNS) && (s_nVer == 3));\r
-var s_bIE300301 = ((s_bIE) && (s_nVer == 2) && ((s_strAgent.indexOf("3.00") != -1)||(s_strAgent.indexOf("3.0a") != -1)||(s_strAgent.indexOf("3.0b")!=-1)||(s_strAgent.indexOf("3.01")!=-1)));\r
-var s_bIE302 = ((s_bIE) && (s_nVer == 2) && (s_strAgent.indexOf("3.02") != -1));\r
-\r
-\r
-function HasExtJs()\r
-{\r
- if (s_bIE3Before) { return false;}\r
- if (s_bNS3Before) { return false;}\r
- if (typeof (BsGeneralOnLoad) == "undefined"){ return false; }\r
- return true;\r
-}\r
-\r
-\r
-function BSSCCreatePopupDiv()\r
-{\r
- return;\r
-}\r
-\r
-\r
-function WritePopupMenuLayer()\r
-{\r
- if (HasExtJs()) {_WritePopupMenuLayer();}\r
-}\r
-\r
-function BSSCPopup(strURL, width, height)\r
-{\r
- if (HasExtJs()) { \r
- _BSSCPopup(strURL, width, height);\r
- }else{\r
- //Create a temporary window first to ensure the real popup comes up on top\r
- var wndTemp = null;\r
- if (!s_bNS3) {\r
- wndTemp = window.open("", "temp", "titlebar=no,toolbar=no,status=no,location=no,menubar=no,resizable=yes,scrollbars=yes,height=3,width=4");\r
- }\r
- // Create the real popup window\r
- var wndPopup = window.open(strURL, "BSSCPopup", "titlebar=no,toolbar=no,status=no,location=no,menubar=no,resizable=yes,scrollbars=yes,height=300,width=400");\r
- // Close the temporary\r
- if (!s_bNS3) {\r
- wndTemp.close();\r
- } else {\r
- wndPopup.focus();\r
- }\r
- }\r
-}\r
-\r
-var gbWndTemp = null, gbWndPopupLinks = null;\r
-var gbstrParaTotal = "";\r
-\r
-function PopupMenu_Invoke()\r
-{\r
- if (HasExtJs()) {\r
- return _PopupMenu_Invoke(PopupMenu_Invoke.arguments);\r
- }\r
- if (s_bNS3Before || s_bIE3Before ) {\r
- var argLen = PopupMenu_Invoke.arguments.length;\r
- if (argLen < 5) {\r
- window.document.location.href = PopupMenu_Invoke.arguments[3];\r
- return false;\r
- }\r
- gbWndTemp = null;\r
- gbWndPopupLinks = null;\r
- gbstrParaTotal = "";\r
- for (var i = 0; i < (argLen - 2) / 2; i++) {\r
- var strParaLine = "";\r
- if (s_bNS2 || s_bOpera){\r
- strParaLine += "<a href=\"";\r
- strParaLine += PopupMenu_Invoke.arguments[2 * i + 3];\r
- strParaLine += "\">"\r
- strParaLine += PopupMenu_Invoke.arguments[2 * i + 2];\r
- strParaLine += "</a>";\r
- } else {\r
- strParaLine += "<a href=\"javascript:";\r
- strParaLine += "gotoUrl(\'";\r
- strParaLine += PopupMenu_Invoke.arguments[2 * i + 3];\r
- strParaLine += "\');\"";\r
- if (PopupMenu_Invoke.arguments[1] != '') {\r
- strParaLine += " TARGET='" + PopupMenu_Invoke.arguments[1] + "'";\r
- }\r
- strParaLine += ">";\r
- strParaLine += PopupMenu_Invoke.arguments[2 * i + 2];\r
- strParaLine += "</a>";\r
- }\r
- strParaLine += "<br>";\r
- gbstrParaTotal += strParaLine;\r
- }\r
- var nHeight = argLen * 15;\r
- var nWidth = 400;\r
- var strParam = "titlebar=no,toolbar=no,status=no,location=no,menubar=no,resizable=yes,scrollbars=auto";\r
- strParam += ",height=" + nHeight + ",width=200,resizable";\r
- \r
- //Create a temporary window first to ensure the real popup comes up on top\r
- //var wndTemp = null;\r
- if (!s_bNS3) {\r
- gbWndTemp = window.open("", "temp", "titlebar=no,toolbar=no,status=no,location=no,menubar=no,resizable=yes,scrollbars=yes,height=3,width=4");\r
- } \r
- gbWndPopupLinks = window.open("", "popuplinks", strParam);\r
-\r
- setTimeout("Wait_PopupMenuReady()", 100);\r
- }\r
- return true;\r
-}\r
-\r
-function Wait_PopupMenuReady() \r
-{\r
- if (gbWndPopupLinks != null && "object" == typeof(gbWndPopupLinks.document)) {\r
- PopupMenu_InvokeReady();\r
- }\r
- else \r
- setTimeout("Wait_PopupMenuReady()", 100);\r
-}\r
-\r
-\r
-function PopupMenu_InvokeReady()\r
-{\r
- if (gbWndPopupLinks != null) {\r
- gbWndPopupLinks.document.open("text/html");\r
- gbWndPopupLinks.document.write("<html><head>");\r
- if (s_bNS2 || s_bOpera) {\r
- gbWndPopupLinks.document.write("<base href=\"" + location +"\">");\r
- } else {\r
- //YJ: IE301,302 and NS3.x works fine\r
- gbWndPopupLinks.document.write("<");\r
- gbWndPopupLinks.document.write("script>");\r
- gbWndPopupLinks.document.write("function gotoUrl(aUrl) {opener.window.location=aUrl; close();}");\r
- gbWndPopupLinks.document.write("<");\r
- gbWndPopupLinks.document.write("/script>");\r
- }\r
- gbWndPopupLinks.document.write("</head><body onBlur=\'self.focus();\'>");\r
- gbWndPopupLinks.document.write(gbstrParaTotal);\r
- gbWndPopupLinks.document.write("</body></html>");\r
- gbWndPopupLinks.document.close();\r
-\r
- // Close the temporary\r
- if (!s_bNS3 && gbWndTemp != null) {\r
- gbWndTemp.close();\r
- }else {\r
- gbWndPopupLinks.focus();\r
- }\r
-\r
- return true;\r
- }\r
- return false;\r
-}\r
-\r
-/// Section End - Embedded Stub (JavaScript 1.0)\r
-\r
-//// Segment End -- (JavaScript 1.0)\r
-\r
-//// Segment Begin -- (JavaScript 1.2)\r
-/// Section Begin - kadov DHTM (JavaScript 1.2)\r
-\r
-//Begin to support extended and dropdown text effects.\r
-function kadovIsParagraph(el)\r
-{\r
- return( el.tagName == "P" || el.tagName.indexOf("H") == 0 ) ? true : false;\r
-}\r
-\r
-function kadovInitEachChild(el)\r
-{ \r
- for(var i=0; i<el.children.length; i++)\r
- {\r
- var child = el.children[i];\r
- if( child.tagName == "SCRIPT" || child.tagName == "!" )\r
- continue;\r
-\r
- if( child.id != "" )\r
- {\r
- // to wipe out the onload effects\r
- var onLoadEffect = child.style.getAttribute( "x-on-pageload" );\r
- if( (onLoadEffect != null) && (onLoadEffect > "") )\r
- child.style.setAttribute( "x-on-pageload", "" );\r
- \r
- var href = child.getAttribute("href")\r
- if( href != null && href > "" && href.indexOf( "BSSCPopup" ) >= 0 )\r
- kadovFilePopupInit(child.id); // Init for Popup\r
- else if( child.className == "dropspot" || child.className == "expandspot" || \r
- child.className == "glossterm" )\r
- kadovTextPopupInit(child.id);// Init for Expanding/Glossary or DropDown text\r
- else if( child.className == "trigger")\r
- kadovInitTrigger(child.id);// Init for Trigger\r
- else\r
- {\r
- kadovInitEffects(child.id);// Init for DHTML effects\r
- CEngine.SetOneTargetInitialState( child.id );\r
- }\r
- }\r
- \r
- if( (child.tagName == "IMG") && (child.getAttribute("dynsrc") > "") )\r
- child.start = "mouseover";// to start a AVI file. fileopen doesn't work\r
-\r
- kadovInitEachChild(child);\r
- }\r
-}\r
-\r
-function kadovRetrieveTextInner(el)\r
-{ \r
- var x = "";\r
- if( (!el) || (el.tagName == "!") || (el.tagName == "SCRIPT" ))\r
- return x;\r
-\r
- if( kadovIsParagraph(el) )\r
- {\r
- var strNewID = " ";\r
- if( el.id != "" )\r
- strNewID += "id=" + el.id + "_NewSpan ";\r
- x = "<span" + strNewID + "style='" + el.style.cssText + "'>" + el.innerHTML + "</span>";\r
- }\r
- else\r
- {\r
- for(var i=0; i<el.children.length; i++)\r
- x += kadovRetrieveTextInner( el.children[i] );\r
- }\r
- return x;\r
-}\r
-\r
-function kadovRetrieveCleanHTML( strRawHTML, strTagOpen, strTagClose, nDistance )\r
-{ \r
- var nTagOpen = strRawHTML.indexOf( strTagOpen, 0 );\r
- if( nTagOpen < 0 )\r
- return strRawHTML;\r
-\r
- var nTagClose = strRawHTML.indexOf( strTagClose, nTagOpen);\r
- if( nTagClose < nTagOpen )\r
- return strRawHTML;\r
- \r
- if( typeof(nDistance) == "number" && nDistance > 0 )\r
- if( (nTagClose - nTagOpen) != nDistance )\r
- return strRawHTML;\r
- \r
- var strCleanOnce = strRawHTML.substring(0, nTagOpen) + strRawHTML.substr(nTagClose + strTagClose.length) ;\r
- return kadovRetrieveCleanHTML( strCleanOnce, strTagOpen, strTagClose );\r
-}\r
-\r
-function kadovAdjustObjectTag(strRawHTML, nStartPos)\r
-{// adjust object tag for related topics HTML control, because innerHTML misses out the item settings\r
- \r
- //Is there any DTC?\r
- var strDTCTagOpen = '<!--Metadata type="DesignerControl" startspan';\r
- var strDTCTagClose = '<!--Metadata type="DesignerControl" endspan-->';\r
- var nDTCTagOpen = strRawHTML.indexOf( strDTCTagOpen, nStartPos );\r
- if( nDTCTagOpen < 0 )\r
- return strRawHTML;\r
- var nDTCTagClose = strRawHTML.indexOf( strDTCTagClose, nDTCTagOpen );\r
- if( nDTCTagClose < nDTCTagOpen)\r
- return strRawHTML; // no Design Time Controls;\r
- \r
- //Is the DTC HTML Help Control?\r
- var strRTObjTagOpen = 'classid=clsid:ADB880A6-D8FF-11CF-9377-00AA003B7A11';\r
- var strRTObjTagClose = '</OBJECT>';\r
- var nRTObjTagOpen = strRawHTML.indexOf( strRTObjTagOpen, nDTCTagOpen );\r
- if( nRTObjTagOpen < nDTCTagOpen )\r
- return strRawHTML;\r
- var nRTObjTagClose = strRawHTML.indexOf( strRTObjTagClose, nRTObjTagOpen );\r
- if( nRTObjTagClose < nRTObjTagOpen )\r
- return strRawHTML; // is not a HTML help control\r
- \r
- // Is it a related Topics html help control?\r
- var strRTObjLabel = '<PARAM NAME=\"Command\" VALUE=\"Related Topics';\r
- if( strRawHTML.indexOf(strRTObjLabel, nRTObjTagOpen) < 0 )\r
- return strRawHTML;\r
- \r
- // does the commented object tag contain a items parameters \r
- var strRTItemsOpen = '<param name=Items value="';\r
- var strRTItemsClose = '$$**$$" >';\r
- var nRTItemsOpen = strRawHTML.indexOf(strRTItemsOpen, nDTCTagOpen);\r
- if( nRTItemsOpen < nDTCTagOpen )\r
- return strRawHTML;\r
- var nRTItemsClose = strRawHTML.indexOf(strRTItemsClose, nRTItemsOpen);\r
- if( nRTItemsClose < nRTItemsOpen )\r
- return strRawHTML;\r
- \r
- // found a items string\r
- var strItems = strRawHTML.substring( nRTItemsOpen + strRTItemsOpen.length, nRTItemsClose);\r
- if( strItems.length < 1 )\r
- return strRawHTML;\r
- \r
- // to reconstruct the item(s) param tag(s)\r
- var strItemsArray = strItems.split('$$**$$');\r
- if( strItemsArray.length < 1 )\r
- return strRawHTML;\r
- var strRunTimeItemParam = "";\r
- for( var i = 0; i < strItemsArray.length; i++ )\r
- {\r
- strRunTimeItemParam += '<PARAM NAME="Item' + (i+1);\r
- strRunTimeItemParam += '"' + ' VALUE="';\r
- strRunTimeItemParam += strItemsArray[i];\r
- strRunTimeItemParam += '">';\r
- }\r
- \r
- // to insert the reconstructed item params into runtime object tag\r
- var strAdjustedHTML = strRawHTML.substring(0,nRTObjTagClose) + strRunTimeItemParam + strRawHTML.substring(nRTObjTagClose, strRawHTML.length);\r
- return kadovAdjustObjectTag(strAdjustedHTML, nDTCTagClose + strDTCTagClose.length);\r
-}\r
-\r
-function kadovTextPopupOnLoad( el )\r
-{\r
- if( !CCSSP.bIsWinOS && !CCSSP.bIsSunOS)\r
- return 0;\r
-\r
- if( typeof(el) == "string" )\r
- el = document.all.item(el);\r
-\r
- var src = el.getAttribute( "x-use-popup" );\r
- if(!src)\r
- return 0;\r
-\r
- var name = src;\r
- if( src.substr(0,1) == "#" ) \r
- name = src.substr(1, src.length-1);\r
- var srcDiv = document.all.item(name);\r
- if( !srcDiv )\r
- return 1;\r
-\r
- var type = el.getAttribute( "x-popup-type" );\r
- var setup = el.getAttribute( "x-tmp-setup" );\r
- var newId = name;\r
- if( newId.indexOf( "_tmp") <= 0 )\r
- newId += "_tmp";\r
-\r
- if( !setup )\r
- {\r
- el.setAttribute( "x-tmp-setup", 1 );\r
- \r
- if( type == "pulldown" )\r
- {\r
- var strAdjust = kadovAdjustObjectTag(srcDiv.innerHTML,0);\r
- var strCleanHTML = kadovRetrieveCleanHTML(strAdjust, "<!--", "-->");\r
- strCleanHTML = kadovRetrieveCleanHTML(strCleanHTML, "<SCRIPT", "/SCRIPT>");\r
-\r
- //work around the bug in HH.exe that highlight the phrases when use Search tab\r
- //this approach is just removing the <FONT...> tag inserted by Microsoft in the runtime\r
- strCleanHTML = kadovRetrieveCleanHTML(strCleanHTML, "<FONT color=#", "\">", 52);\r
- \r
- var strStyle = " style='display:none; position:relative;";\r
- var newDiv = "<div class=droptext id=" + newId + strStyle + "'>" + strCleanHTML + "</div>";\r
-\r
- srcDiv.outerHTML = ""; // empty the original DIV tag\r
- var elParentPra = kadovFindParentParagraph(el);\r
- if( elParentPra )\r
- elParentPra.insertAdjacentHTML( "AfterEnd", newDiv );\r
- }\r
- else if( type == "expanding" )\r
- {\r
- var inner = kadovRetrieveTextInner(srcDiv);\r
- if( inner == "" )\r
- inner = srcDiv.innerHTML;\r
- var strAdjust = kadovAdjustObjectTag(inner,0);\r
- var strCleanHTML = kadovRetrieveCleanHTML(strAdjust, "<!--", "-->");\r
- strCleanHTML = kadovRetrieveCleanHTML(strCleanHTML, "<SCRIPT", "/SCRIPT>");\r
- var strClassName = (el.className == "glossterm") ? "glosstext" : "expandtext";\r
- var newSpan = "<span class=" + strClassName + " style='display: none;' id=" + newId + "> " + strCleanHTML + "</span>";\r
- srcDiv.outerHTML = ""; // empty the original DIV tag\r
- el.insertAdjacentHTML( "AfterEnd", newSpan );\r
- }\r
- }\r
- return 0;\r
-}\r
-\r
-function kadovTextPopup( el )\r
-{\r
- if( (!CCSSP.bIsWinOS && !CCSSP.bIsSunOS) || (window.event == null) )\r
- return;\r
- window.event.cancelBubble = true;\r
-\r
- if( typeof(el) == "string" )\r
- el = document.all.item(el);\r
-\r
- var src = el.getAttribute( "x-use-popup" );\r
- if(!src)\r
- return;\r
-\r
- var name = src;\r
- if( src.substr(0,1) == "#" ) \r
- name = src.substr(1, src.length-1) + "_tmp";\r
- var srcDiv = document.all.item(name);\r
- if( !srcDiv )\r
- return;\r
-\r
- var type = el.getAttribute( "x-popup-type" );\r
- var setup = el.getAttribute( "x-tmp-setup" );\r
- if( srcDiv )\r
- {\r
- if( srcDiv.style.display == "" )\r
- srcDiv.style.display = "none";\r
- else\r
- {\r
- srcDiv.style.display = "";\r
- if( typeof(srcDiv.bInitialized) == "undefined" )\r
- {\r
- srcDiv.bInitialized = true;\r
- kadovInitEffects(name);\r
- kadovInitEachChild(srcDiv);\r
- }\r
- }\r
- }\r
- return;\r
-}\r
-\r
-function kadovFindParentParagraph( el )\r
-{\r
- if( typeof(el) == "string" )\r
- el = document.all.item(el);\r
- if( (!el) || el.tagName == "BODY" )\r
- return null;\r
- if( kadovIsParagraph(el.parentElement) )\r
- return el.parentElement;\r
- else\r
- return kadovFindParentParagraph( el.parentElement );\r
-}\r
-\r
-//Begin HTML code invoked function\r
-function kadovRegisterEventHandler( obj, strEvent, strEventHandler )\r
-{\r
- if( !gbBsIE4 )\r
- return;\r
- CCSSP.RegisterEventHandler( obj, strEvent, strEventHandler );\r
-}\r
-\r
-function kadovTextPopupInit( el )\r
-{\r
- if( (!gbBsIE4) || (!CCSSP.bIsWinOS && !CCSSP.bIsSunOS))\r
- return;\r
- \r
- if( typeof(el) == "string" )\r
- el = document.all.item(el);\r
- if( el != null )\r
- {\r
- CCSSP.RegisterEventHandler( el, "onclick", "kadovTextPopup(" + el.id +");" );\r
- CCSSP.RegisterEventHandler( window, "onload", "kadovTextPopupOnLoad(" + el.id +");" );\r
- }\r
-}\r
-//End HTML code invoked function\r
-\r
-//End to support extended and dropdown text effects.\r
-\r
-//Begin to convert iWrite format to RoboEditor Format for DHTML effects\r
-function kadovInitTriggersInHead( )\r
-{\r
- if( Object.xDelayedInitElements )\r
- {\r
- var x = Object.xDelayedInitElements;\r
- for(i=0; i<x.length; i++)\r
- kadovInitTrigger( x[i] );\r
- }\r
-}\r
-\r
-//Begin HTML code invoked function\r
-function kadovFilePopupInit( el )\r
-{\r
- if( !gbBsIE4 )\r
- return;\r
- if( typeof(el) == "string" )\r
- el = document.all.item(el);\r
-\r
- if( el != null )\r
- CCSSP.RegisterEventHandler( el, "onmouseover", "BSPSPopupOnMouseOver(event);" );\r
-}\r
-\r
-function kadovInitTrigger( element )\r
-{\r
- if( !gbBsIE4 )\r
- return;\r
- var srcElement = element;\r
- if( typeof(srcElement) == "string" )\r
- {\r
- srcElement = document.all.item(element,0);\r
- if(srcElement == null)\r
- return;\r
- }\r
- \r
- if( !kadovIsParentVisible(srcElement) )\r
- return;\r
-\r
- var targets = srcElement.getAttribute( "x-targets" );\r
- var arrOneTarget = targets.split( "," );\r
- for( var i = 0; i < arrOneTarget.length; i ++ )\r
- bsscFXInit( element, arrOneTarget[i], null, null, null, null );\r
-}\r
-\r
-function kadovIsParentVisible( el )\r
-{\r
- if( typeof(el) == "string" )\r
- el = document.all.item(el);\r
- if( (!el) || el.tagName == "BODY" )\r
- return true;\r
- if( el.style.display == 'none' ) //el.visibility == 'hidden' || \r
- return false;\r
- else\r
- return kadovIsParentVisible( el.parentElement );\r
-}\r
-\r
-function kadovInitEffects( element )\r
-{\r
- if( !gbBsIE4 )\r
- return;\r
- var srcElement = element;\r
- if( typeof(srcElement) == "string" )\r
- {\r
- srcElement = document.all.item(element,0);\r
- if(srcElement == null)\r
- return;\r
- }\r
- \r
- if( !kadovIsParentVisible(srcElement) )\r
- return;\r
- \r
- kadovInitEffect( srcElement, "x-on-hover" );\r
- kadovInitEffect( srcElement, "x-on-pageclick" );\r
- kadovInitEffect( srcElement, "x-on-pageload" );\r
- kadovInitEffect( srcElement, "x-on-trigger-1" );\r
- kadovInitEffect( srcElement, "x-on-trigger-2" );\r
-}\r
-//End HTML code invoked function\r
-\r
-function kadovInitEffect( element, prop )\r
-{\r
- var values = null;\r
- if( element.getAttribute( "currentStyle" ) && element.currentStyle.getAttribute)\r
- values = element.currentStyle.getAttribute( prop );\r
- else if (element.style.getAttribute)\r
- values = element.style.getAttribute( prop );\r
- if( !values )\r
- return;\r
-\r
- var functions = new Array();\r
- var nIdx = 0, nStart = 0;\r
- var nNext = values.indexOf( "\)", 0);\r
- while( nNext >= 0 && nNext < values.length )\r
- {\r
- functions[nIdx] = values.substr( nStart, nNext-nStart+1);\r
- nStart = nNext + 1;\r
- nIdx++;\r
- nNext = values.indexOf( "\)", nStart);\r
- }\r
- \r
- for( var i=0; i<functions.length; i++)\r
- {\r
- var id = element.getAttribute( "id" );\r
- var translatedProp = kadovTranslateProp(prop);\r
-\r
- var lp = functions[i].indexOf( "(" );\r
- var fnname = functions[i].substring(0, lp);\r
- var srcargs = functions[i].substring(lp+1, functions[i].length-1);\r
- \r
- var nClickTimes = 1;\r
- var arrForClickCount = srcargs.split( "," );\r
- for( var j = 0; j < arrForClickCount.length; j++ )\r
- {// to locate and get the "clicks=99" settings\r
- var nPageClick = arrForClickCount[j].indexOf("clicks");\r
- if( nPageClick >= 0 )\r
- {\r
- nPageClick = arrForClickCount[j].indexOf("=");\r
- if( nPageClick > 0 )\r
- {\r
- nClickTimes = arrForClickCount[j].substring( nPageClick + 1, arrForClickCount[j].length) * 1;\r
- break;\r
- }\r
- }\r
- }\r
- var args = srcargs;\r
- if( j < arrForClickCount.length )\r
- {// to strip out the "clicks=99" from the arguments string\r
- args = "";\r
- for( var k = 0; k < arrForClickCount.length; k ++ )\r
- {\r
- if( k != j )\r
- {\r
- args += arrForClickCount[k];\r
- if( k < arrForClickCount.length - 1 )\r
- args += ",";\r
- }\r
- }\r
- }\r
- bsscFXInit( null, id, translatedProp, fnname, args, nClickTimes );\r
- }\r
-}\r
-\r
-function kadovTranslateProp( prop )\r
-{\r
- switch( prop )\r
- {\r
- case "x-on-hover" : return "bsschover";\r
- case "x-on-pageclick" : return "bsscpageclick";\r
- case "x-on-pageload" : return "bsscpageload";\r
- case "x-on-trigger-1" : return "bssctrigger1";\r
- case "x-on-trigger-2" : return "bssctrigger2";\r
- }\r
- return null;\r
-}\r
-//End to convert iWrite format to RoboEditor Format for DHTML effects\r
-\r
-//Begin the definition of one entry to DHTML effects\r
-function bsscFXInit( trigger_ID, target_ID, event_type, \r
- action_type, action_setting, event_addional )\r
-{\r
- if( (!CCSSP.bIsWinOS && !CCSSP.bIsSunOS ) || typeof(target_ID) != "string" )//MUST have a target_ID\r
- return; // we don't support Navigator yet\r
- \r
- if( typeof(event_type) == "string" )\r
- event_type = event_type.toLowerCase();\r
- if( typeof(action_type) == "string" )\r
- action_type = action_type.toLowerCase();\r
- if( typeof(action_setting) == "string" )\r
- action_setting = action_setting.toLowerCase();\r
- \r
- // to get the target element then add it to the target list\r
- var eleTarget = CCSSP.GetObject( target_ID );\r
- if( (eleTarget != null) && (event_type != null) && (action_type != null) )\r
- {\r
- CEngine.AddOneTarget( target_ID, eleTarget );\r
- CEngine.BuildTargetObject(target_ID, event_type, action_type, action_setting, event_addional);\r
- }\r
- \r
- // to validate the trigger_ID parameter\r
- if( typeof(trigger_ID) == "string" && trigger_ID != "" )\r
- CEngine.BuildTriggerObject( trigger_ID, target_ID );\r
-} \r
-//End the definition of one entry to DHTML effects\r
-\r
-\r
-/// Section End - kadov DHTM (JavaScript 1.2)\r
-\r
-\r
-/// Section Begin - CCSSP DHTM (JavaScript 1.2)\r
-\r
-//Begin JavaScript libary for cross-platform positioning object.\r
-function CCSSP(){} // constructor of CCSSP class\r
-\r
-CCSSP.strAgent = navigator.userAgent.toLowerCase(); \r
-CCSSP.nAppVersion = parseInt(navigator.appVersion);\r
-\r
-CCSSP.bIsWinOS = ((CCSSP.strAgent.indexOf("win") >= 0) || (CCSSP.strAgent.indexOf("16bit") >= 0));\r
-CCSSP.bIsMacOS = (CCSSP.strAgent.indexOf("mac") >= 0);\r
-CCSSP.bIsSunOS = (CCSSP.strAgent.indexOf("sunos") != -1);\r
-\r
-CCSSP.bIsIE = (navigator.appName.indexOf("Microsoft") >= 0);\r
-CCSSP.bIsIE4 = (CCSSP.bIsIE && (CCSSP.nAppVersion >= 4));\r
-CCSSP.bIsIE5 = (CCSSP.bIsIE4 && (CCSSP.strAgent.indexOf("msie 5") != -1) )\r
-\r
-CCSSP.bIsNav = (navigator.appName.indexOf("Netscape") >= 0);\r
-CCSSP.bIsNav4 = (CCSSP.bIsNav && (CCSSP.nAppVersion >= 4));\r
-CCSSP.bIsNav6 = (CCSSP.bIsNav && (CCSSP.nAppVersion >= 5));\r
-\r
-CCSSP.GetObject = function( obj )\r
-{//convert object name string or reference into a valid object reference\r
- if( typeof(obj) == "object" )\r
- return obj;\r
- else if( typeof(obj) == "string" && obj != "")\r
- {\r
- if( CCSSP.bIsNav4 )\r
- return eval("document." + obj);\r
- else\r
- return eval("document.all." + obj);\r
- }\r
- else\r
- return null;\r
-}\r
-\r
-CCSSP.MoveObjectTo = function(obj, x, y)\r
-{//positioning an object at a specific pixel coordinate\r
- if( CCSSP.bIsNav4 )\r
- obj.moveTo(x,y);\r
- else\r
- {\r
- obj.style.pixelLeft = x;\r
- obj.style.pixelTop = y;\r
- }\r
-}\r
-\r
-CCSSP.MoveObjectBy = function(obj, dx, dy)\r
-{//moveing a object by x and/or y pixel\r
- if( CCSSP.bIsNav4 )\r
- obj.moveBy(dx,dy);\r
- else\r
- {\r
- obj.style.pixelLeft += dx;\r
- obj.style.pixelTop += dy;\r
- }\r
-}\r
-\r
-CCSSP.SetObjectBGColor = function(obj, color)\r
-{//set the background color of an object\r
- if( CCSSP.bIsNav4 )\r
- obj.bgColor = color;\r
- else\r
- obj.style.backgroundColor = color;\r
-}\r
-\r
-CCSSP.ShowObject = function(obj, bShow)\r
-{// set the object to be visible or invisible\r
- if( CCSSP.bIsNav4 )\r
- obj.visibility = (bShow == true) ? 'show' : 'hide';\r
- else\r
- obj.style.visibility = (bShow == true) ? 'visible' : 'hidden';// when hidden, it still occupy some space.\r
-}\r
-\r
-CCSSP.GetObjectLeft = function(obj)\r
-{// retrieve the x coordinate of a posionable object\r
- if( CCSSP.bIsNav4 )\r
- return obj.left;\r
- else\r
- return obj.style.pixelLeft;\r
-}\r
-\r
-CCSSP.GetObjectTop = function(obj)\r
-{// retrieve the y coordinate of a posionable object\r
- if( CCSSP.bIsNav4 )\r
- return obj.top;\r
- else\r
- return obj.style.pixelTop;\r
-}\r
-\r
-CCSSP.GetObjectContainLeft = function(obj)\r
-{// retrieve the x coordinate of a posionable object relative to it's parent element\r
- if( CCSSP.bIsNav4 )\r
- return obj.pageX;\r
- else\r
- {\r
- if( obj == document.body )\r
- return obj.clientLeft;\r
- else\r
- return obj.offsetLeft;\r
- }\r
-}\r
-\r
-CCSSP.GetObjectWindowLeft = function(obj)\r
-{// retrieve the x coordinate of a posionable object relative to browser window\r
- if( CCSSP.bIsNav4 )\r
- return obj.pageX;\r
- else\r
- {\r
- var nOffsetWindowLeft = 0;\r
- for(var element = obj; element; element = element.offsetParent)\r
- nOffsetWindowLeft += CCSSP.GetObjectContainLeft(element);\r
- return nOffsetWindowLeft;\r
- }\r
-}\r
-\r
-CCSSP.GetObjectContainTop = function(obj)\r
-{// retrieve the y coordinate of a posionable object relative to it's parent element\r
- if( CCSSP.bIsNav4 )\r
- return obj.pageY;\r
- else\r
- {\r
- if( obj == document.body )\r
- return obj.clientTop;\r
- else\r
- return obj.offsetTop;\r
- }\r
-}\r
-\r
-CCSSP.GetObjectWindowTop = function(obj)\r
-{// retrieve the y coordinate of a posionable object relative to browser window\r
- if( CCSSP.bIsNav4 )\r
- return obj.pageY;\r
- else\r
- {\r
- var nOffsetWindowTop = 0;\r
- for(var element = obj; element; element = element.offsetParent)\r
- nOffsetWindowTop += CCSSP.GetObjectContainTop(element);\r
- return nOffsetWindowTop;\r
- }\r
-}\r
-\r
-CCSSP.GetObjectHeight = function(obj)\r
-{// retrieve the height of a posionable object\r
- if( CCSSP.bIsNav4 )\r
- return obj.clip.height;\r
- else\r
- return obj.offsetHeight;\r
-}\r
-\r
-CCSSP.GetObjectWidth = function(obj)\r
-{// retrieve the width of a posionable object\r
- if( CCSSP.bIsNav4 )\r
- return obj.clip.width;\r
- else\r
- return obj.offsetWidth;\r
-}\r
-\r
-CCSSP.RegisterEventHandler = function( srcObj, rawEventName, funcHandler )\r
-{ // to add the "funcHandler" as the "rawEventName" 's handler to the "srcObj" object,the original event handler will be combined\r
- if (CCSSP.bIsNav4 && !CCSSP.bIsNav6)\r
- return ;\r
- var oldHandler = "";\r
- if (CCSSP.bIsMacOS && CCSSP.bIsIE4)\r
- {\r
- if (typeof(srcObj[rawEventName.toLowerCase()])=="unknown")\r
- { //search for <SCRIPT> tag which define the event handler\r
- for( var i = 0; i < document.scripts.length; i++ ) \r
- {\r
- var script = document.scripts[i];\r
- if( (script.htmlFor == srcObj.id || script.htmlFor == srcObj ) && script.event == rawEventName )\r
- {\r
- oldHandler = script.innerHTML;\r
- break;\r
- }\r
- }\r
- }\r
- }\r
- else\r
- {\r
- var oldInlineHandler = srcObj[rawEventName.toLowerCase()];\r
- if( oldInlineHandler != null && typeof(oldInlineHandler) != "undefined")\r
- {\r
- var functionDefinition = oldInlineHandler.toString();\r
- var bodyStart = functionDefinition.indexOf( "{" );\r
- var bodyEnd = functionDefinition.lastIndexOf( "}" );\r
- if( bodyStart > 0 || bodyEnd > bodyStart )\r
- oldHandler = functionDefinition.substr( bodyStart + 1, bodyEnd - bodyStart - 2 );\r
- }\r
- else if( CCSSP.bIsIE4 )\r
- { //search for <SCRIPT> tag which define the event handler\r
- for( var i = 0; i < document.scripts.length; i++ ) \r
- {\r
- var script = document.scripts[i];\r
- if( (script.htmlFor == srcObj.id || script.htmlFor == srcObj ) && script.event == rawEventName )\r
- {\r
- oldHandler = script.innerHTML;\r
- break;\r
- }\r
- }\r
- }\r
- } \r
- if( oldHandler.indexOf(funcHandler) >= 0 )\r
- return;// to prevent register the funtion twice.\r
-\r
- if( CCSSP.bIsNav4 ) // only "onload, onresize, onfocus" apply to window\r
- {// other raw events will apply to layer\r
- var noOn = rawEventName.substring(2, rawEventName.length);\r
- if( typeof(noOn) == "string" && noOn.length > 3 ) {\r
- srcObj.captureEvents( Event[noOn.toUpperCase()] );\r
- }\r
- }\r
-\r
- var newHandler = oldHandler;\r
- if( newHandler.length == 0 )\r
- newHandler = funcHandler;\r
- else\r
- newHandler += "; " + funcHandler;\r
- srcObj[rawEventName.toLowerCase()] = new Function( newHandler );\r
-}\r
-\r
-CCSSP.GetWindowHeight = function()\r
-{// retrieve the height of available content in browser window\r
- if( CCSSP.bIsNav4 )\r
- return window.innerHeight;\r
- else\r
- return document.body.clientHeight;\r
-}\r
-\r
-CCSSP.GetWindowBottom = function()\r
-{// retrieve the bottom postion of browser window\r
- if( CCSSP.bIsNav4 )\r
- return window.outerHeight + window.pageYOffset;\r
- else\r
- return document.body.clientHeight + document.body.scrollTop;\r
-}\r
-\r
-CCSSP.GetWindowWidth = function()\r
-{// retrieve the width of available content in browser window\r
- if( CCSSP.bIsNav4 )\r
- return window.innerWidth;\r
- else\r
- return document.body.clientWidth;\r
-}\r
-\r
-CCSSP.GetWindowRight = function()\r
-{// retrieve the right postion of browser window\r
- if( CCSSP.bIsNav4 )\r
- return window.outerWidth + window.pageXOffset;\r
- else\r
- return document.body.clientWidth + document.body.scrollLeft;\r
-}\r
-\r
-CCSSP.TrimString = function( objString, subtrim )\r
-{// to trim the "subtrim" in the beginning and ending of a string object\r
- if( typeof(subtrim) != "string" || subtrim == null )\r
- return objString;\r
- var strHead = objString.substring(0, 1);\r
- var strRear = objString.substring(objString.length-1, objString.length);\r
- if( strHead != subtrim && strRear != subtrim )\r
- return objString;\r
- \r
- var spacePos = objString.indexOf(subtrim);\r
- if( spacePos < 0 )\r
- return objString;\r
- else if( spacePos == objString.length - 1 )\r
- return objString.substring(0, spacePos);\r
- else\r
- {\r
- var newString = objString.substring( spacePos + 1, objString.length);\r
- return CCSSP.TrimString( newString, subtrim );\r
- }\r
-}\r
-\r
-CCSSP.TrimSpace = function( objString )\r
-{\r
- var Trim1 = CCSSP.TrimString( objString, " ");\r
- return CCSSP.TrimString( Trim1, "\'");\r
-}\r
-\r
-CCSSP.GetEventElement = function( navEventObject )\r
-{// to get the element who fired the current event\r
- if(CCSSP.bIsNav4 ) \r
- if (CCSSP.bIsNav6)\r
- return null;\r
- else\r
- navEventObject.target;\r
- else\r
- return event.srcElement;\r
-}\r
-\r
-CCSSP.PrepareFilter = function( Obj )\r
-{//to prepare for making the filter work\r
- Obj.style.filter = "";\r
- if( Obj.style.width != "" || Obj.style.height != "" || Obj.style.position == "absolute" )\r
- return;\r
- Obj.style.height = CCSSP.GetObjectHeight(Obj);\r
-}\r
-\r
-CCSSP.IsDescendant = function( progenitor, progeny )\r
-{\r
- if( typeof(progeny) == "undefined" || progeny == null )\r
- return false;\r
- else if( progeny == progenitor )\r
- return true; \r
- else if( progeny.id == progenitor.id ) \r
- return true; \r
- else if( progeny.parentElement == progenitor.parentElement )\r
- return false;\r
- else\r
- return CCSSP.IsDescendant( progenitor, progeny.parentElement );\r
-}\r
-\r
-CCSSP.IsTextTag = function( Obj )\r
-{\r
- if( typeof( Obj.tagName ) == "undefined" )\r
- return false;\r
- return( Obj.tagName.indexOf("H") == 0 || Obj.tagName == "P" || \r
- Obj.tagName == "FONT" || Obj.tagName == "SPAN" );\r
-}\r
-\r
-//End JavaScript libary for cross-platform positioning object.\r
-\r
-/// Section End - CCSSP DHTM (JavaScript 1.2)\r
-\r
-/// Section Begin - CCSSP DHTM 1 (JavaScript 1.2)\r
-\r
-//Begin the definition of class CTrigger\r
-function CTrigger( TriggerElement )\r
-{\r
- // object : the trigger element. Never be null. \r
- this.eleTrigger = TriggerElement;\r
- \r
- // number : the click counter number: only 3 values: 0,1,2;\r
- this.nCounter = 0; \r
- \r
- //object as associative array of string:\r
- // the associate target ID strings; one element at least. \r
- this.objStrTarget = new Object();\r
- this.eleTrigger.style.cursor = "hand";\r
- if( this.eleTrigger.tagName == "AREA" && this.eleTrigger.getAttribute("href") == "" )\r
- this.eleTrigger.setAttribute("href", "#") // to make a hand cursor for image map\r
-}\r
-\r
-CTrigger.prototype.AddTargetID = function( strTargetID )\r
-{// add one target ID string to the objStrTarget\r
- if( typeof(strTargetID) != "string" )\r
- return ;\r
- if( typeof(this.objStrTarget[strTargetID]) != "string" )\r
- this.objStrTarget[strTargetID] = strTargetID;\r
-}\r
-\r
-CTrigger.prototype.OnTriggerClick = function()\r
-{// to activate all asociated target\r
- var strEventType = ( (this.nCounter++)% 2 == 0 ) ? \r
- "bssctrigger1" : "bssctrigger2";\r
- \r
- // to enumerate associative target element's ID string\r
- for( var strTargetID in this.objStrTarget ) \r
- CEngine.SendEventToOneTarget( strTargetID, strEventType );\r
-}\r
-//End the definition of class CTrigger\r
-\r
-//Begin the definition of class CTarget\r
-function CTarget( TargetElement )\r
-{\r
- // object : the target element. Never be null.\r
- this.eleTarget = TargetElement;\r
- this.objManager = new Object(); // object: the event manager\r
-} \r
-\r
-CTarget.nPageClickCounter = 0;// static class property.\r
-\r
-CTarget.prototype.GetAgencyObject = function(str_action_type,action_setting )\r
-{// return the action agency ( effect )object's refernece \r
- switch( str_action_type )\r
- {\r
- case "show":return new CAgencyShow( this.eleTarget, true ) ;\r
- case "hide":return new CAgencyShow( this.eleTarget, false ) ;\r
-\r
- case "flyin" : \r
- return new CAgencyFly(this.eleTarget, action_setting, true);\r
- case "flyout" : \r
- return new CAgencyFly(this.eleTarget, action_setting, false);\r
- case "spiralin" : \r
- return new CAgencySpiral(this.eleTarget, action_setting, true);\r
- case "spiralout" : \r
- return new CAgencySpiral(this.eleTarget, action_setting, false);\r
- case "zoomin" :\r
- return new CAgencyZoom(this.eleTarget, action_setting, true);\r
- case "zoomout" : \r
- return new CAgencyZoom(this.eleTarget, action_setting, false);\r
- case "elastic" : \r
- return new CAgencyElastic(this.eleTarget, action_setting);\r
- \r
- case "fadein" : \r
- return (CCSSP.bIsIE4)? new CAgencyAlpha(this.eleTarget, action_setting, true) : null;\r
- case "fadeout" :\r
- return (CCSSP.bIsIE4)? new CAgencyAlpha(this.eleTarget, action_setting, false) : null;\r
- case "rockrollstatic" :\r
- case "rockroll" :\r
- return (CCSSP.bIsIE4)? new CAgencyWave(this.eleTarget, action_setting, false) : null;\r
- \r
- case "glow":\r
- return (CCSSP.bIsIE4)? new CAgencyGlow(this.eleTarget,action_setting) : null;\r
- case "dropshadow":\r
- return (CCSSP.bIsIE4)? new CAgencyDropShadow(this.eleTarget,action_setting) : null;\r
- case "transition" :\r
- return (CCSSP.bIsIE4)? new CAgencyRevealTrans(this.eleTarget,action_setting) : null;\r
- case "blur" :\r
- return (CCSSP.bIsIE4)? new CAgencyBlur(this.eleTarget,action_setting) : null;\r
-\r
- case "fliph" : // all these 4 do NOT need any parameters\r
- case "flipv" :\r
- case "invert":\r
- case "gray" :\r
- return (CCSSP.bIsIE4)? new CAgencyChangeFilter(this.eleTarget, str_action_type) : null;\r
- \r
- case "fontchange": // the effects below change the style on the fly, so won't work in Navigator\r
- return (CCSSP.bIsIE4)? new CAgencyFontChange(this.eleTarget,action_setting) : null;\r
- case "boderchange": \r
- case "stylechange":\r
- return (CCSSP.bIsIE4)? new CAgencyChangeStyle(this.eleTarget,action_setting) : null;\r
-\r
- default: return null;\r
- }\r
-}\r
-\r
-CTarget.prototype.SetEventManager = function( \r
- one_event_type,str_action_type,action_setting,event_additional)\r
-{// to set the event manager with specified action \r
- if( typeof( one_event_type ) != "string" || \r
- typeof( str_action_type ) != "string"||\r
- typeof( action_setting ) != "string" )\r
- return false;\r
- if( typeof(this.objManager[one_event_type]) == "undefined" )\r
- {\r
- this.objManager[one_event_type] = new Object();\r
- this.objManager[one_event_type].length = 0;\r
- }\r
- \r
- var eventAgency = this.GetAgencyObject(str_action_type,action_setting);\r
- if( eventAgency != null )\r
- {\r
- var ct = this.objManager[one_event_type].length ++;\r
- this.objManager[one_event_type][ct] = eventAgency;\r
- \r
- if( one_event_type == "bsscpageclick" )\r
- {// to deal with the "number of pageclick" stuff\r
- if( typeof(event_additional) == "number" )\r
- this.objManager[one_event_type][ct].nPageClick = event_additional;\r
- else // set the default number \r
- this.objManager[one_event_type][ct].nPageClick = 1;\r
- \r
- if( (typeof(this.objManager.nMinPageClickIndex) == "undefined") ||\r
- (this.objManager[one_event_type][ct].nPageClick < \r
- this.objManager[one_event_type][this.objManager.nMinPageClickIndex].nPageClick) )\r
- this.objManager.nMinPageClickIndex = ct;\r
- }\r
- \r
- //hide the object blindly,SetState function will take care of the final correct state\r
- if( ((one_event_type == "bsscpageclick") && \r
- (this.objManager[one_event_type][ct].nPageClick == 1)) ||\r
- one_event_type == "bsscpageload" ||\r
- one_event_type == "bssctrigger1" )\r
- CCSSP.ShowObject( this.eleTarget, false );\r
- \r
- if( one_event_type == "bssctrigger1" || one_event_type == "bssctrigger2" )\r
- if( typeof( this.strTriggerEvent ) == "undefined" )\r
- this.strTriggerEvent = ( one_event_type == "bssctrigger1" ) ? "bssctrigger2" : "bssctrigger1";\r
- \r
- return true;\r
- }\r
- return false;\r
-}\r
-\r
-CTarget.prototype.OnEvent = function( strBsscEvent )\r
-{// response to the event ( bssc format )\r
- if( typeof(this.objManager[strBsscEvent]) == "object" )\r
- { // to get the event agency from the event manager\r
- var eventAgency = this.objManager[strBsscEvent];\r
- for( var i = 0; i < eventAgency.length; i++ )\r
- {\r
- if( strBsscEvent == "bsscpageclick" && \r
- eventAgency[i].nPageClick != CTarget.nPageClickCounter )\r
- continue;\r
- else if( strBsscEvent == "bsschover" && event.type == "mouseout" )\r
- eventAgency[i].EndEffect();\r
- else // to invoke the unified function in effect object \r
- eventAgency[i].UpdateEffect(); \r
- }\r
- }\r
-}\r
-\r
-CTarget.prototype.SetState = function( strBsscEvent )\r
-{\r
- if( typeof(this.objManager[strBsscEvent]) != "object" )\r
- return false;\r
-\r
- // to get the event agency from the event manager\r
- var eventAgency = this.objManager[strBsscEvent];\r
- \r
- if( strBsscEvent == "bsscpageclick" )\r
- {// we only set the initial state for the minium number of pageclick \r
- eventAgency[this.objManager.nMinPageClickIndex].PrepareEffect();\r
- return true;\r
- }\r
- else\r
- {\r
- for( var i = 0; i < eventAgency.length; i++ )\r
- eventAgency[i].PrepareEffect(); // to invoke the unified function in effect object \r
- if( i > 0 )\r
- return true;\r
- else\r
- return false;\r
- }\r
-}\r
-//End the definition of class CTarget\r
-\r
-//Begin the definition of CEngine class\r
-function CEngine(){}// all properities are going be "class" properities\r
-\r
-// object : as associative array of trigger objects\r
-CEngine.objTrigger = new Object();\r
-// object : as associative array of target objects \r
-CEngine.objTarget = new Object(); \r
-\r
-// Array : each element is a CAgencyXXX animation object\r
-CEngine.arrAnimation = new Array();\r
-CEngine.PerformAnimation = function( nIndex )\r
-{// animation : update effects function\r
- CEngine.arrAnimation[nIndex].UpdateEffect();\r
-}\r
-\r
-CEngine.AddOneTrigger = function(TriggerID,TriggerElement)\r
-{// add one Trigger object into the trigger array\r
- if( typeof(TriggerID) != "string" || TriggerElement == null ||\r
- typeof(TriggerElement) != "object" )\r
- return;\r
- if( typeof(CEngine.objTrigger[TriggerID] ) != "object" )\r
- CEngine.objTrigger[TriggerID] = new CTrigger(TriggerElement);\r
-}\r
- \r
-CEngine.AddOneTarget = function(TargetID, TargetElement)\r
-{// add one Target object into the target array\r
- if( typeof(TargetID) != "string" || TargetElement == null ||\r
- typeof(TargetElement) != "object" )\r
- return;\r
- if( typeof(CEngine.objTarget[TargetID]) != "object" )\r
- CEngine.objTarget[TargetID] = new CTarget( TargetElement );\r
-}\r
-\r
-CEngine.SendEventToOneTarget = function(strTargetID, strBsscEvent )\r
-{// to activate one target object\r
- if( typeof(CEngine.objTarget[strTargetID]) == "object" ) \r
- {\r
- if( strBsscEvent == "bssctrigger1" || strBsscEvent == "bssctrigger2" )\r
- {//now, the "bssctrigger1" and "bssctrigger2" work like a toggle\r
- if( strBsscEvent == CEngine.objTarget[strTargetID].strTriggerEvent )\r
- strBsscEvent = (strBsscEvent == "bssctrigger1") ? "bssctrigger2" : "bssctrigger1";\r
- CEngine.objTarget[strTargetID].strTriggerEvent = strBsscEvent;\r
- }\r
- CEngine.objTarget[strTargetID].OnEvent( strBsscEvent );\r
- }\r
-}\r
-\r
-CEngine.SendEventToAllTarget = function( strBsscEvent )\r
-{ //to activate all target associative to the BSSC event\r
- for( var strTargetID in CEngine.objTarget ) //to enumerate all target\r
- CEngine.SendEventToOneTarget( strTargetID, strBsscEvent );\r
-}\r
-\r
-CEngine.SetOneTargetInitialState = function( strTargetID )\r
-{// only invoked after ALL effects for the target have been set\r
- if( typeof(CEngine.objTarget[strTargetID]) == "object" ) \r
- {// to get target object\r
- var objTarget = CEngine.objTarget[strTargetID];\r
- if( objTarget.SetState( "bsscpageload" ) == false )\r
- {\r
- objTarget.SetState( "bsscpageclick" );\r
- objTarget.SetState( "bssctrigger1" );\r
- }\r
- }\r
-}\r
-\r
-CEngine.AdjustPageClickCounter = function()\r
-{\r
- var nAdjustedClickCounter = CTarget.nPageClickCounter;\r
- var bAdjusted = false;\r
- for( var strTargetID in CEngine.objTarget ) //to enumerate all target\r
- {// try to find the minum pageCliclConter greater than CTarget.nPageClickCounter\r
- var objEventPageClick = CEngine.objTarget[strTargetID].objManager.bsscpageclick;\r
- if( objEventPageClick != null )\r
- {\r
- for( var i = 0; i < objEventPageClick.length; i++ )\r
- {\r
- var nOtherPageClick = objEventPageClick[i].nPageClick;\r
- if( nOtherPageClick == CTarget.nPageClickCounter )\r
- return;\r
- if( nOtherPageClick > CTarget.nPageClickCounter )\r
- {\r
- if( !bAdjusted )\r
- {\r
- nAdjustedClickCounter = nOtherPageClick;\r
- bAdjusted = true;\r
- }\r
- else if( nOtherPageClick < nAdjustedClickCounter )\r
- nAdjustedClickCounter = nOtherPageClick;\r
- }\r
- }\r
- }\r
- }\r
- CTarget.nPageClickCounter = nAdjustedClickCounter;\r
-}\r
-\r
-CEngine.OnPageLoad = function()\r
-{ \r
- // first, to set all target's initial state\r
- for( var strTargetID in CEngine.objTarget )\r
- CEngine.SetOneTargetInitialState( strTargetID );\r
- \r
- // to invoke all target's onpageload handler\r
- CEngine.SendEventToAllTarget( "bsscpageload" );\r
-}\r
-\r
-CEngine.OnPageClick = function()\r
-{ // to invoke all target's onpageclick handler\r
- var src = CCSSP.GetEventElement( arguments[0] );\r
- if( src == null )\r
- return;\r
- \r
- var objClickedTrigger = null;\r
- for( var strTriggerID in CEngine.objTrigger )\r
- { // to detect which trigger is clicked\r
- if( CCSSP.IsDescendant( CEngine.objTrigger[strTriggerID].eleTrigger,src) )\r
- {\r
- objClickedTrigger = CEngine.objTrigger[strTriggerID];\r
- break;\r
- }\r
- }\r
- \r
- if( objClickedTrigger != null) // the clicked trigger found\r
- objClickedTrigger.OnTriggerClick();\r
- else // no trigger is clicked\r
- { // to send PageClick event to all target\r
- CTarget.nPageClickCounter++;\r
- CEngine.AdjustPageClickCounter();\r
- CEngine.SendEventToAllTarget( "bsscpageclick" );\r
- }\r
-} \r
-\r
-CEngine.OnMouseOver = function()\r
-{ // to invoke all target's onpageload handler\r
- var src = CCSSP.GetEventElement( arguments[0] );\r
- if( src == null )\r
- return;\r
- \r
- var strHoveredTargetID = null;\r
- for( var strTargetID in CEngine.objTarget )\r
- { // to detect which Target is hovering on\r
- if( CCSSP.IsDescendant( CEngine.objTarget[strTargetID].eleTarget, src ) )\r
- {\r
- strHoveredTargetID = strTargetID;\r
- break;\r
- }\r
- }\r
- \r
- if( strHoveredTargetID != null ) // the hovered target found\r
- CEngine.SendEventToOneTarget( strHoveredTargetID, "bsschover" );\r
-}\r
-\r
-CEngine.BuildTargetObject = function(target_ID,event_type,action_type,\r
- action_setting, event_additional)\r
-{// to build target object \r
- // to get the target object\r
- if( typeof( CEngine.objTarget[target_ID] ) != "object" )\r
- return false;// the engine's AddOneTarget function might have failed.\r
- var TargetObject = CEngine.objTarget[target_ID];\r
- \r
- // to prepare the parameters for the event manager\r
- var arrEvent = event_type.split("|"); // to split the combined event_type string\r
- var arrAction = action_type.split("|");//to split the combined action_type string\r
- for( var trim = 0; trim < arrEvent.length; trim++ )\r
- arrEvent[trim] = CCSSP.TrimSpace(arrEvent[trim]);\r
- \r
- for( trim = 0; trim < arrAction.length; trim++ )\r
- arrAction[trim] = CCSSP.TrimSpace(arrAction[trim]);\r
- \r
- var arrSetting = new Array(); \r
- if( typeof(action_setting) == "string" )\r
- arrSetting = action_setting.split("|");// to split the combined action_setting string\r
- // to calibrate the arrays\r
- for( var i = arrSetting.length; i < arrAction.length; i++ )\r
- {\r
- if( typeof(arrSetting[i]) != "string" )\r
- arrSetting[i] = "";\r
- } \r
-\r
- // to prepare for dealing with the absolute posioning element\r
- TargetObject.eleTarget.ABSX = CCSSP.GetObjectLeft( TargetObject.eleTarget );\r
- TargetObject.eleTarget.ABSY = CCSSP.GetObjectTop( TargetObject.eleTarget );\r
-\r
- if( arrEvent.length > 1 )\r
- {// if event is combined, it must be : "bssctrigger1 | bssctrigger2"\r
- if( arrAction.length != 2 )\r
- return false; // if event is combined, there must be 2 actions\r
- for( i = 0 ; i < 2; i++ )\r
- {\r
- if( TargetObject.SetEventManager(arrEvent[i], arrAction[i], \r
- arrSetting[i], event_additional) == false )\r
- return false; // the event manager has not been set up\r
- }\r
- }\r
- else // the event_type string is not combined\r
- {\r
- for( i = 0 ; i < arrAction.length; i++ )\r
- {\r
- TargetObject.SetEventManager(event_type, arrAction[i], arrSetting[i], event_additional);\r
- // to validate the event manager\r
- if( typeof(TargetObject.objManager[event_type]) != "object" ||\r
- typeof(TargetObject.objManager[event_type][i]) != "object" )\r
- return false; // the event manager has not been set up\r
- }\r
- }\r
- return true;\r
-}\r
-\r
-CEngine.BuildTriggerObject = function(trigger_ID, target_ID)\r
-{// to build the trigger object\r
- var arrTrigger = trigger_ID.split("|"); // to split the combined trigger_ID string\r
- for( var i = 0; i < arrTrigger.length; i ++ )\r
- {// to get the trigger element then add it to the trigger list\r
- arrTrigger[i] = CCSSP.TrimSpace( arrTrigger[i] );\r
- var eleTrigger = CCSSP.GetObject( arrTrigger[i] );\r
- if( eleTrigger == null )\r
- continue; // the trigger_ID string in the HTML code maybe wrong\r
- CEngine.AddOneTrigger( arrTrigger[i], eleTrigger );\r
-\r
- // to get the target object\r
- if( typeof( this.objTrigger[arrTrigger[i]] ) != "object" )\r
- continue;// the engine's AddOneTarget function might have failed.\r
- CEngine.objTrigger[arrTrigger[i]].AddTargetID( target_ID );\r
- }\r
-}\r
-//End the definition of CEngine class\r
-\r
-/// Section End - CCSSP DHTM 1 (JavaScript 1.2)\r
-\r
-/// Section Begin - CCSSP DHTM 2 (JavaScript 1.2)\r
-\r
-//Begin the definition of CAgencyXXXX classes\r
-\r
-//Begin of the CAgencyShow definition\r
-function CAgencyShow( element, bIsShow )\r
-{\r
- this.ele = element;\r
- this.bIsShow = bIsShow;\r
-}\r
-\r
-CAgencyShow.prototype.PrepareEffect = function()\r
-{\r
- CCSSP.ShowObject( this.ele, !this.bIsShow );\r
-}\r
-\r
-CAgencyShow.prototype.UpdateEffect = function()\r
-{\r
- CCSSP.ShowObject( this.ele, this.bIsShow );\r
-}\r
-\r
-CAgencyShow.prototype.EndEffect = function()\r
-{\r
- CCSSP.ShowObject( this.ele, !this.bIsShow );\r
-}\r
-// End of the CAgencyShow definition\r
-\r
-// Begin of CAgencyFly definition\r
-function CAgencyFly( element, settings, bIsIn )\r
-{\r
- this.ele = element;\r
- this.bIsIn = bIsIn;\r
- this.duration = 1000; // default\r
- this.direction = "right";\r
-\r
- var arrAllSet = settings.split(",");\r
- for( var i = 0; i < arrAllSet.length; i ++ )\r
- {// to retrieve the setting\r
- arrAllSet[i] = CCSSP.TrimSpace(arrAllSet[i]);\r
- var arrOneSet = arrAllSet[i].split("=");\r
- for( var j = 0; j < arrOneSet.length; j++ )\r
- arrOneSet[j] = CCSSP.TrimSpace(arrOneSet[j]);\r
- switch( arrOneSet[0] )\r
- {\r
- case "speed" : this.duration = 100000/arrOneSet[1]; break;\r
- case "direction" : this.direction = arrOneSet[1]; break;\r
- }\r
- }\r
- \r
- if( CCSSP.bIsIE5 && this.ele.style.position != "absolute" )\r
- this.ele.style.position = "relative";\r
- this.timer = null;\r
- this.aniIndex = CEngine.arrAnimation.length;\r
- CEngine.arrAnimation[this.aniIndex] = this;\r
-}\r
-\r
-CAgencyFly.prototype.PrepareEffect = function()\r
-{\r
- CCSSP.ShowObject(this.ele, !this.bIsIn );\r
-}\r
-\r
-CAgencyFly.prototype.UpdateEffect = function()\r
-{\r
- if( this.timer == null )\r
- this.ResetParameters();\r
-\r
- var percent = ((new Date()).getTime() - this.startTime)/this.duration;\r
- if( percent >= 1.0 )\r
- this.EndEffect();\r
- else\r
- {\r
- var newX = this.startX*(1.0-percent) + this.finalX*percent;\r
- var newY = this.startY*(1.0-percent) + this.finalY*percent;\r
- CCSSP.MoveObjectTo(this.ele, newX, newY);\r
- if( this.timer == null )\r
- this.timer = setInterval("CEngine.PerformAnimation(" + this.aniIndex + ")", 20 );\r
- }\r
-}\r
-\r
-CAgencyFly.prototype.EndEffect = function()\r
-{\r
- clearInterval( this.timer );\r
- this.timer = null;\r
-\r
- if( this.bIsIn ) // FlyIn\r
- CCSSP.MoveObjectTo(this.ele, this.finalX, this.finalY);\r
- else // FlyOut\r
- CCSSP.MoveObjectTo(this.ele, this.startX, this.startY);\r
- CCSSP.ShowObject(this.ele, this.bIsIn );\r
-}\r
-\r
-CAgencyFly.prototype.ResetParameters = function()\r
-{\r
- this.PrepareEffect();\r
- CCSSP.ShowObject(this.ele, true );\r
-\r
- this.startX = 0;\r
- this.startY = 0;\r
- this.finalX = 0;\r
- this.finalY = 0; \r
- \r
- var offsetLeft = CCSSP.GetObjectWindowLeft(this.ele) + this.ele.offsetWidth;\r
- var offsetTop = CCSSP.GetObjectWindowTop(this.ele) + this.ele.offsetHeight;\r
- var offsetRight = CCSSP.GetWindowRight();\r
- var offsetBottom = CCSSP.GetWindowBottom();\r
-\r
- if( this.bIsIn )\r
- { // FlyIn\r
- this.finalX = this.ele.ABSX;\r
- this.finalY = this.ele.ABSY;\r
-\r
- switch( this.direction )\r
- {\r
- case "right": this.startX = offsetRight; this.startY = this.finalY; break;\r
- case "left": this.startX = -offsetLeft; this.startY = this.finalY; break;\r
- case "down": this.startY = offsetBottom; this.startX = this.finalX; break;\r
- case "up": this.startY = -offsetTop; this.startX = this.finalX; break;\r
- case "downright":\r
- this.startX = ( offsetBottom < offsetRight) ? offsetBottom : offsetRight;\r
- this.startY = this.startX; break;\r
- case "upright":\r
- this.startX = (offsetTop < offsetRight)? offsetTop : offsetRight;\r
- this.startY = -this.startX; break;\r
- case "upleft":\r
- this.startX = -((offsetTop < offsetRight)? offsetTop : offsetRight);\r
- this.startY = this.startX; break;\r
- case "downleft":\r
- this.startX = -(( offsetBottom < offsetRight) ? offsetBottom : offsetRight);\r
- this.startY = -this.startX; break;\r
- }\r
- }\r
- else\r
- { // FlyOut\r
- this.startX = this.ele.ABSX;\r
- this.startY = this.ele.ABSY;\r
-\r
- switch( this.direction )\r
- {\r
- case "right": this.finalX = offsetRight; this.finalY = this.startY; break;\r
- case "left": this.finalX = -offsetLeft; this.finalY = this.startY; break;\r
- case "down": this.finalY = offsetBottom; this.finalX = this.startX; break;\r
- case "up": this.finalY = -offsetTop; this.finalX = this.startX; break;\r
- case "downright":\r
- this.finalX = ( offsetBottom < offsetRight) ? offsetBottom : offsetRight;\r
- this.finalY = this.finalX; break;\r
- case "upright":\r
- this.finalX = (offsetTop < offsetRight)? offsetTop : offsetRight;\r
- this.finalY = -this.finalX; break;\r
- case "upleft":\r
- this.finalX = -((offsetTop < offsetRight)? offsetTop : offsetRight);\r
- this.finalY = this.finalX; break;\r
- case "downleft":\r
- this.finalX = -(( offsetBottom < offsetRight) ? offsetBottom : offsetRight);\r
- this.finalY = -this.finalX; break;\r
- }\r
- }\r
- CCSSP.MoveObjectTo(this.ele, this.startX, this.startY);\r
- this.startTime = (new Date()).getTime();\r
-}\r
-// End of the CAgencyFly definition\r
-\r
-// Begin of CAgencySpiral\r
-function CAgencySpiral( element, settings, bIsIn )\r
-{\r
- this.ele = element;\r
- this.bIsIn = bIsIn;\r
- this.duration = 1000; // default\r
-\r
- var arrAllSet = settings.split(",");\r
- for( var i = 0; i < arrAllSet.length; i ++ )\r
- {// to retrieve the setting\r
- arrAllSet[i] = CCSSP.TrimSpace(arrAllSet[i]);\r
- var arrOneSet = arrAllSet[i].split("=");\r
- for( var j = 0; j < arrOneSet.length; j++ )\r
- arrOneSet[j] = CCSSP.TrimSpace(arrOneSet[j]);\r
- switch( arrOneSet[0] )\r
- {\r
- case "speed" : this.duration = 100000/arrOneSet[1]; break;\r
- }\r
- }\r
-\r
- if( CCSSP.bIsIE5 && this.ele.style.position != "absolute" )\r
- this.ele.style.position = "relative";\r
- this.timer = null;\r
- this.aniIndex = CEngine.arrAnimation.length;\r
- CEngine.arrAnimation[this.aniIndex] = this;\r
-}\r
-\r
-CAgencySpiral.prototype.PrepareEffect = function()\r
-{\r
- CCSSP.ShowObject(this.ele, !this.bIsIn );\r
-}\r
-\r
-CAgencySpiral.prototype.UpdateEffect = function()\r
-{\r
- if( this.timer == null )\r
- this.ResetParameters();\r
-\r
- var percent = ((new Date()).getTime() - this.startTime)/this.duration;\r
- if( percent >= 1.0 )\r
- this.EndEffect();\r
- else\r
- {\r
- var rf = (this.bIsIn)? (1.0 - percent) : percent; \r
- var t = (1.0-rf) * 4.0 * Math.PI\r
- var rxP = (this.bIsIn)? this.startX : this.finalX; \r
- var ryP = (this.bIsIn)? this.startY : this.finalY; \r
- var rx = (Math.abs(rxP) < 200) ? Math.abs(rxP) : 200;\r
- var ry = (Math.abs(ryP) < 200) ? Math.abs(ryP) : 200;\r
-\r
- var newX = Math.ceil(-rf*Math.cos(t)*rx) + this.ele.ABSX;\r
- var newY = Math.ceil(-rf*Math.sin(t)*ry) + this.ele.ABSY;\r
- CCSSP.MoveObjectTo(this.ele, newX, newY);\r
- if( this.timer == null )\r
- this.timer = setInterval("CEngine.PerformAnimation(" + this.aniIndex + ")", 20 );\r
- }\r
-}\r
-\r
-CAgencySpiral.prototype.EndEffect = function()\r
-{\r
- clearInterval( this.timer );\r
- this.timer = null;\r
- \r
- if( this.bIsIn ) // In\r
- CCSSP.MoveObjectTo(this.ele, this.finalX, this.finalY);\r
- else // Out\r
- CCSSP.MoveObjectTo(this.ele, this.startX, this.startY);\r
- CCSSP.ShowObject(this.ele, this.bIsIn );\r
-}\r
-\r
-CAgencySpiral.prototype.ResetParameters = function()\r
-{\r
- this.PrepareEffect();\r
- CCSSP.ShowObject(this.ele, true );\r
- this.startX = (this.bIsIn)? CCSSP.GetWindowRight() : this.ele.ABSX;\r
- this.startY = (this.bIsIn)? CCSSP.GetWindowBottom() : this.ele.ABSY;\r
- this.finalX = (this.bIsIn)? this.ele.ABSX : CCSSP.GetWindowRight();\r
- this.finalY = (this.bIsIn)? this.ele.ABSY : CCSSP.GetWindowBottom(); \r
- \r
- CCSSP.MoveObjectTo(this.ele, this.startX, this.startY);\r
- this.startTime = (new Date()).getTime();\r
-}\r
-// End of CAgencySpiral\r
-\r
-// Begin of CAgencyElastic\r
-function CAgencyElastic( element, settings)\r
-{\r
- this.ele = element;\r
- this.duration = 1000; // default\r
- this.direction = "right";\r
-\r
- var arrAllSet = settings.split(",");\r
- for( var i = 0; i < arrAllSet.length; i ++ )\r
- {// to retrieve the setting\r
- arrAllSet[i] = CCSSP.TrimSpace(arrAllSet[i]);\r
- var arrOneSet = arrAllSet[i].split("=");\r
- for( var j = 0; j < arrOneSet.length; j++ )\r
- arrOneSet[j] = CCSSP.TrimSpace(arrOneSet[j]);\r
- switch( arrOneSet[0] )\r
- {\r
- case "speed" : this.duration = 100000/arrOneSet[1]; break;\r
- case "direction" : this.direction = arrOneSet[1]; break;\r
- }\r
- }\r
- \r
- if( CCSSP.bIsIE5 && this.ele.style.position != "absolute" )\r
- this.ele.style.position = "relative";\r
- this.timer = null;\r
- this.aniIndex = CEngine.arrAnimation.length;\r
- CEngine.arrAnimation[this.aniIndex] = this;\r
-}\r
-\r
-CAgencyElastic.prototype.PrepareEffect = function()\r
-{\r
- CCSSP.ShowObject(this.ele, false );\r
-}\r
-\r
-CAgencyElastic.prototype.UpdateEffect = function()\r
-{\r
- if( this.timer == null )\r
- this.ResetParameters();\r
-\r
- var percent = ((new Date()).getTime() - this.startTime)/this.duration;\r
- if( percent >= 1.0 )\r
- this.EndEffect();\r
- else\r
- {\r
- var newX = this.startX;\r
- var newY = this.startY;\r
- var rf = Math.exp(-percent*3);\r
- var t = percent * 1.5 * Math.PI\r
- var rx = (Math.abs(this.startX) > Math.abs(this.startY)) ? this.startX : this.startY;\r
- switch (this.direction )\r
- {\r
- case "left": \r
- case "right" : newX = rf*Math.cos(t)*rx + this.ele.ABSX; break;\r
- case "up": \r
- case "down" : newY = rf*Math.cos(t)*rx + this.ele.ABSX; break;\r
- }\r
- CCSSP.MoveObjectTo(this.ele, newX, newY);\r
- if( this.timer == null )\r
- this.timer = setInterval("CEngine.PerformAnimation(" + this.aniIndex + ")", 20 );\r
- }\r
-}\r
-\r
-CAgencyElastic.prototype.EndEffect = function()\r
-{\r
- CCSSP.MoveObjectTo(this.ele, this.finalX, this.finalY);\r
- clearInterval( this.timer );\r
- this.timer = null;\r
-}\r
-\r
-CAgencyElastic.prototype.ResetParameters = function()\r
-{\r
- CCSSP.ShowObject(this.ele, true );\r
- this.startX = this.ele.ABSX;\r
- this.finalX = this.ele.ABSX;\r
- this.startY = this.ele.ABSY;\r
- this.finalY = this.ele.ABSY;\r
- \r
- switch (this.direction)\r
- { \r
- case "left": this.startX = -this.ele.offsetWidth; break;\r
- case "right": this.startX = this.ele.offsetWidth; break;\r
- case "up": this.startY = -this.ele.offsetHeight;break;\r
- case "down": this.startY = this.ele.offsetHeight; break;\r
- }\r
- CCSSP.MoveObjectTo(this.ele, this.startX, this.startY);\r
- this.startTime = (new Date()).getTime();\r
-}\r
-// End of CAgencyElastic\r
-\r
-// Begin of CAgencyZoom\r
-function CAgencyZoom( element, settings, bIsIn)\r
-{\r
- this.ele = element;\r
- this.duration = 1000; // default\r
- \r
- var arrAllSet = settings.split(",");\r
- for( var i = 0; i < arrAllSet.length; i ++ )\r
- {// to retrieve the setting\r
- arrAllSet[i] = CCSSP.TrimSpace(arrAllSet[i]);\r
- var arrOneSet = arrAllSet[i].split("=");\r
- for( var j = 0; j < arrOneSet.length; j++ )\r
- arrOneSet[j] = CCSSP.TrimSpace(arrOneSet[j]);\r
- switch( arrOneSet[0] )\r
- {\r
- case "speed" : this.duration = 100000/arrOneSet[1]; break;\r
- }\r
- }\r
-\r
- this.bIsIn = bIsIn;\r
- this.timer = null;\r
- this.aniIndex = CEngine.arrAnimation.length;\r
- CEngine.arrAnimation[this.aniIndex] = this;\r
-}\r
-\r
-CAgencyZoom.prototype.PrepareEffect = function()\r
-{\r
- CCSSP.ShowObject(this.ele, false);\r
-}\r
-\r
-CAgencyZoom.prototype.UpdateEffect = function()\r
-{\r
- if( this.timer == null )\r
- this.ResetParameters();\r
-\r
- var percent = ((new Date()).getTime() - this.startTime)/this.duration;\r
- if( percent >= 1.0 )\r
- this.EndEffect();\r
- else\r
- {\r
- var nFactorIn = Math.ceil(50+50*percent);\r
- var nFactorOut = Math.ceil(100+200*(1-percent));\r
- var AlterFontsize = ((this.bIsIn)? nFactorIn : nFactorOut) + "%";\r
- var AlterFactor = ((this.bIsIn)? nFactorIn : nFactorOut) / 100;\r
- \r
- this.UpdateEffectAllChildren(this.ele, AlterFontsize, AlterFactor);\r
- for(var index = 0; index < this.ele.all.length; index++)\r
- this.UpdateEffectAllChildren(this.ele.all[index], AlterFontsize, AlterFactor);\r
- \r
- if( this.timer == null )\r
- this.timer = setInterval("CEngine.PerformAnimation(" + this.aniIndex + ")", 20 );\r
- }\r
-}\r
-\r
-CAgencyZoom.prototype.UpdateEffectAllChildren = function(child, FontSize, Factor)\r
-{\r
- if( CCSSP.IsTextTag(child) )\r
- child.style.fontSize = FontSize;\r
- else\r
- {\r
- if( typeof(child.orgWidth) == "number" )\r
- child.style.width = Factor * child.orgWidth;\r
- if( typeof(child.orgHeight) == "number" )\r
- child.style.height = Factor * child.orgHeight;\r
- }\r
-}\r
-\r
-CAgencyZoom.prototype.EndEffect = function()\r
-{\r
- this.EndEffectAllChildren(this.ele);\r
- for(var index = 0; index < this.ele.all.length; index++)\r
- this.EndEffectAllChildren(this.ele.all[index]);\r
- \r
- clearInterval( this.timer );\r
- this.timer = null;\r
-}\r
-\r
-CAgencyZoom.prototype.EndEffectAllChildren = function( child )\r
-{ \r
- if( CCSSP.IsTextTag(child) )\r
- child.style.fontSize = child.orgFontSize;\r
- else\r
- {\r
- if( typeof(child.intactWidth) != "undefined" )\r
- {\r
- child.width = child.intactWidth;\r
- child.height = child.intactHeight;\r
- }\r
- else if( typeof(child.style.intactPixelWidth) != "undefined" )\r
- {\r
- child.style.pixelWidth = child.style.intactPixelWidth;\r
- child.style.pixelHeight = child.style.intactPixelHeight;\r
- }\r
- }\r
-}\r
-\r
-CAgencyZoom.prototype.ResetParameters = function()\r
-{\r
- this.PrepareEffect();\r
- this.ResetParametersAllChildren( this.ele );\r
- for(var index = 0; index < this.ele.all.length; index++)\r
- this.ResetParametersAllChildren(this.ele.all[index]);\r
- \r
- this.startTime = (new Date()).getTime();\r
-}\r
-\r
-CAgencyZoom.prototype.ResetParametersAllChildren = function( child )\r
-{\r
- CCSSP.ShowObject(child, true );\r
- if( (child.tagName == "DIV") && (child.parentElement.tagName == "TD") )\r
- child.width = "100%";// if the div is inside a cell of table, we need the this hack\r
- \r
- if( CCSSP.IsTextTag(child) )\r
- child.orgFontSize = child.style.fontSize;\r
- else\r
- {\r
- if( child.width > "" || child.height > "" )\r
- {\r
- child.orgWidth = child.intactWidth = child.width;\r
- child.orgHeight = child.intactHeight = child.height;\r
- }\r
- else if( ( typeof(child.orgWidth) != "number" ) && (typeof(child.orgHeight) != "number") )\r
- {\r
- child.orgWidth = child.style.intactPixelWidth = child.style.pixelWidth;\r
- child.orgHeight = child.style.intactPixelHeight = child.style.pixelHeight;\r
- }\r
- }\r
-}\r
-// End of CAgencyZoom\r
-\r
-//// the following effects will use IE's exclusive "filter" function ////\r
-// Begin of CAgencyAlpha definition\r
-function CAgencyAlpha( element, settings, bIsIn )\r
-{// because of "visual filter" style, this won't work in Navigator\r
- this.ele = element;\r
- this.bIsIn = bIsIn;\r
-\r
- // to set the default value\r
- this.startOpacity = (this.bIsIn) ? 0 : 100;\r
- this.endOpacity = (this.bIsIn) ? 100 : 0;\r
- \r
- this.duration = 1000; // default\r
- \r
- var arrAllSet = settings.split(",");\r
- for( var i = 0; i < arrAllSet.length; i ++ )\r
- {// to retrieve the setting\r
- arrAllSet[i] = CCSSP.TrimSpace(arrAllSet[i]);\r
- var arrOneSet = arrAllSet[i].split("=");\r
- for( var j = 0; j < arrOneSet.length; j++ )\r
- arrOneSet[j] = CCSSP.TrimSpace(arrOneSet[j]);\r
- switch( arrOneSet[0] )\r
- {\r
- case "speed" : this.duration = 100000/arrOneSet[1]; break;\r
- }\r
- }\r
- \r
- this.timer = null;\r
- this.aniIndex = CEngine.arrAnimation.length;\r
- CEngine.arrAnimation[this.aniIndex] = this;\r
-}\r
-\r
-CAgencyAlpha.prototype.PrepareEffect = function()\r
-{// to set the visual filter function\r
- // the visual filter ONLY work when set by "Width and Height" or\r
- // absolute position for DIV, SPAN and normal tag ( such as p )\r
- // but, "absolute" cause the following elements overlap, so:\r
- CCSSP.PrepareFilter( this.ele );\r
- CCSSP.ShowObject(this.ele, !this.bIsIn );\r
-}\r
-\r
-CAgencyAlpha.prototype.UpdateEffect = function()\r
-{// to set the visual filter function\r
- if( this.timer == null )\r
- this.ResetParameters();\r
- if( typeof(this.ele.filters.alpha) != "object" )\r
- {\r
- this.EndEffect();\r
- return;\r
- }\r
-\r
- var percent = ((new Date()).getTime() - this.startTime)/this.duration;\r
- if( percent >= 1.0 )\r
- this.EndEffect();\r
- else if( typeof(this.ele.filters.alpha) == "object" )\r
- {\r
- this.ele.filters.alpha.opacity = this.startOpacity*(1.0-percent) + this.endOpacity*percent;\r
- if( this.timer == null )\r
- this.timer = setInterval("CEngine.PerformAnimation(" + this.aniIndex + ")", 20 );\r
- }\r
-}\r
-\r
-CAgencyAlpha.prototype.EndEffect = function()\r
-{// to remove the visual filter function\r
- clearInterval( this.timer );\r
- this.timer = null;\r
- this.ele.style.filter = "";\r
- CCSSP.ShowObject(this.ele, this.bIsIn );\r
-}\r
-\r
-CAgencyAlpha.prototype.ResetParameters = function()\r
-{\r
- this.PrepareEffect();\r
- CCSSP.ShowObject(this.ele, true );\r
- this.ele.style.filter = "alpha(opacity=" + this.startOpacity + ")";\r
- this.startTime = (new Date()).getTime();\r
-}\r
-// End of the CAgencyAlpha definition\r
-\r
-// Begin of CAgencyWave definition\r
-function CAgencyWave( element, settings )\r
-{// because of "visual filter" style, this won't work in Navigator\r
- this.ele = element;\r
-\r
- this.duration = 0; // default\r
- this.strength = 10;\r
- this.freq = 1;\r
- this.lightstrength = 1;\r
- \r
- var arrAllSet = settings.split(",");\r
- for( var i = 0; i < arrAllSet.length; i ++ )\r
- {// to retrieve the setting\r
- arrAllSet[i] = CCSSP.TrimSpace(arrAllSet[i]);\r
- var arrOneSet = arrAllSet[i].split("=");\r
- for( var j = 0; j < arrOneSet.length; j++ )\r
- arrOneSet[j] = CCSSP.TrimSpace(arrOneSet[j]);\r
- switch( arrOneSet[0] )\r
- {\r
- case "duration" : this.duration = 100000/arrOneSet[1]; break;\r
- case "strength" : this.strength = arrOneSet[1]; break;\r
- case "freq" : this.freq = arrOneSet[1]; break;\r
- case "lightstrength" : this.lightstrength = arrOneSet[1]; break;\r
- }\r
- }\r
-\r
- this.timer = null;\r
- this.aniIndex = CEngine.arrAnimation.length;\r
- CEngine.arrAnimation[this.aniIndex] = this;\r
-}\r
-\r
-CAgencyWave.prototype.PrepareEffect = function()\r
-{// to set the visual filter function\r
- CCSSP.PrepareFilter(this.ele);\r
-\r
- CCSSP.ShowObject(this.ele, true );\r
-}\r
-\r
-CAgencyWave.prototype.UpdateEffect = function()\r
-{// to set the visual filter function\r
- if( this.timer == null )\r
- this.ResetParameters();\r
- if( typeof(this.ele.filters.wave) != "object" )\r
- {\r
- this.EndEffect();\r
- return;\r
- }\r
-\r
- if( this.duration > 0 )\r
- {\r
- var percent = ((new Date()).getTime() - this.startTime)/this.duration;\r
- if( percent >= 1.0 )\r
- {\r
- this.EndEffect();\r
- return;\r
- }\r
- }\r
- \r
- this.ele.filters.wave.phase += 5;\r
- this.ele.filters.wave.phase %= 100;\r
- if( this.timer == null )\r
- this.timer = setInterval("CEngine.PerformAnimation(" + this.aniIndex + ")", 50 );\r
-}\r
-\r
-CAgencyWave.prototype.EndEffect = function()\r
-{// to remove the visual filter function\r
- this.ele.style.filter = "";\r
- clearInterval( this.timer );\r
- this.timer = null;\r
-}\r
-\r
-CAgencyWave.prototype.ResetParameters = function()\r
-{\r
- this.PrepareEffect();\r
- this.ele.style.filter = "wave(strength=" + this.strength + ",freq=" + \r
- this.freq +", lightstrength=" + this.lightstrength +",phase=0);";\r
- this.startTime = (new Date()).getTime();\r
-}\r
-// End of the CAgencyWave definition\r
-\r
-// Begin of CAgencyGlow definition\r
-function CAgencyGlow( element, settings )\r
-{// because of "visual filter" style, this won't work in Navigator\r
- this.ele = element;\r
-\r
- // to set the default value\r
- this.glowColor = "green";\r
- this.glowStrength = "3";\r
- \r
- var arrAllSet = settings.split(",");\r
- for( var i = 0; i < arrAllSet.length; i ++ )\r
- {\r
- arrAllSet[i] = CCSSP.TrimSpace(arrAllSet[i]);\r
- var arrOneSet = arrAllSet[i].split("=");\r
- for( var j = 0; j < arrOneSet.length; j++ )\r
- arrOneSet[j] = CCSSP.TrimSpace(arrOneSet[j]);\r
- switch( arrOneSet[0] )\r
- {\r
- case "color" : this.glowColor = arrOneSet[1]; break;\r
- case "strength" : this.glowStrength = arrOneSet[1]; break;\r
- }\r
- }\r
-}\r
-\r
-CAgencyGlow.prototype.PrepareEffect = function()\r
-{\r
- CCSSP.PrepareFilter(this.ele);\r
- CCSSP.ShowObject(this.ele, true );\r
- if( this.ele.style.backgroundColor != "" )\r
- {//style.backgroundColor somehow stop the visual filter\r
- this.ele.intactBackgroundColor = this.ele.style.backgroundColor;\r
- this.ele.style.backgroundColor = "";\r
- }\r
-}\r
-\r
-CAgencyGlow.prototype.UpdateEffect = function()\r
-{// to set the visual filter function\r
- this.PrepareEffect();\r
- this.ele.style.filter = "glow(Color=" + this.glowColor + ", Strength=" + \r
- this.glowStrength + ", enabled=true" +")";\r
-}\r
-\r
-CAgencyGlow.prototype.EndEffect = function()\r
-{// to remove the visual filter function\r
- this.ele.style.filter = "";\r
- if( typeof(this.ele.intactBackgroundColor) != "undefined" )\r
- this.ele.style.backgroundColor = this.ele.intactBackgroundColor;\r
-}\r
-// End of the CAgencyGlow definition\r
-\r
-// Begin of CAgencyDropShadow definition\r
-function CAgencyDropShadow( element, settings )\r
-{// because of "visual filter" style, this won't work in Navigator\r
- this.ele = element;\r
-\r
- // to set the default value\r
- this.shadowColor = "black"; \r
- this.shadowOffx = "1";\r
- this.shadowOffy = "1";\r
- \r
- var arrAllSet = settings.split(",");\r
- for( var i = 0; i < arrAllSet.length; i ++ )\r
- {\r
- arrAllSet[i] = CCSSP.TrimSpace(arrAllSet[i]);\r
- var arrOneSet = arrAllSet[i].split("=");\r
- for( var j = 0; j < arrOneSet.length; j++ )\r
- arrOneSet[j] = CCSSP.TrimSpace(arrOneSet[j]);\r
- switch( arrOneSet[0] )\r
- {\r
- case "color" : this.shadowColor = arrOneSet[1]; break;\r
- case "offx" : this.shadowOffx = arrOneSet[1]; break;\r
- case "offy" : this.shadowOffy = arrOneSet[1]; break;\r
- }\r
- }\r
-}\r
-\r
-CAgencyDropShadow.prototype.PrepareEffect = function()\r
-{\r
- CCSSP.PrepareFilter(this.ele);\r
- CCSSP.ShowObject(this.ele, true );\r
- \r
- if( this.ele.style.backgroundColor != "" )\r
- {//style.backgroundColor somehow stop the visual filter\r
- this.ele.intactBackgroundColor = this.ele.style.backgroundColor;\r
- this.ele.style.backgroundColor = "";\r
- }\r
-}\r
-\r
-CAgencyDropShadow.prototype.UpdateEffect = function()\r
-{// to set the visual filter function\r
- this.PrepareEffect();\r
- this.ele.style.filter = "dropshadow(color=" + this.shadowColor + ", offx=" + \r
- this.shadowOffx + ", offy=" + this.shadowOffy + ")";\r
-}\r
-\r
-CAgencyDropShadow.prototype.EndEffect = function()\r
-{// to remove the visual filter function\r
- this.ele.style.filter = "";\r
- if( typeof(this.ele.intactBackgroundColor) != "undefined" )\r
- this.ele.style.backgroundColor = this.ele.intactBackgroundColor;\r
-}\r
-// End of the CAgencyDropShadow definition\r
-\r
-// Begin of CAgencyRevealTrans definition\r
-function CAgencyRevealTrans( element, settings )\r
-{// because of "visual filter" style, this won't work in Navigator\r
- this.ele = element;\r
-\r
- // to set the default value\r
- this.duration = 1.0; //The value is specified in seconds.milliseconds format (0.0000).\r
- this.transition = 0;\r
- \r
- var arrAllSet = settings.split(",");\r
- for( var i = 0; i < arrAllSet.length; i ++ )\r
- {\r
- arrAllSet[i] = CCSSP.TrimSpace(arrAllSet[i]);\r
- var arrOneSet = arrAllSet[i].split("=");\r
- for( var j = 0; j < arrOneSet.length; j++ )\r
- arrOneSet[j] = CCSSP.TrimSpace(arrOneSet[j]);\r
- switch( arrOneSet[0] )\r
- {\r
- case "type" : this.transition = arrOneSet[1]; break;\r
- case "duration" : this.duration = 100/arrOneSet[1]; break;\r
- }\r
- }\r
-}\r
-\r
-CAgencyRevealTrans.prototype.PrepareEffect = function()\r
-{\r
- CCSSP.PrepareFilter(this.ele);\r
- CCSSP.ShowObject( this.ele, false);\r
-}\r
-\r
-CAgencyRevealTrans.prototype.UpdateEffect = function()\r
-{// to set the visual filter function\r
- if( typeof( this.ele.filters.RevealTrans ) == "object" )\r
- {\r
- if( this.ele.filters.RevealTrans.status == 2 )\r
- this.ele.filters.RevealTrans.stop(); \r
- }\r
-\r
- this.PrepareEffect();\r
- \r
- this.ele.style.filter = "RevealTrans(duration=" + this.duration + \r
- ", transition=" + this.transition + ")";\r
- \r
- if( typeof( this.ele.filters.RevealTrans ) == "object" )\r
- {\r
- this.ele.filters.RevealTrans.apply();\r
- CCSSP.ShowObject( this.ele, true);\r
- this.ele.filters.RevealTrans.play(); \r
- }\r
- else\r
- CCSSP.ShowObject( this.ele, true);\r
-}\r
-\r
-CAgencyRevealTrans.prototype.EndEffect = function()\r
-{\r
- if( typeof( this.ele.filters.RevealTrans ) == "object" )\r
- this.ele.filters.RevealTrans.stop(); \r
- this.ele.style.filter = "";\r
-}\r
-// End of the CAgencyRevealTrans definition\r
-\r
-// Begin of CAgencyBlur definition\r
-function CAgencyBlur( element, settings )\r
-{// because of "visual filter" style, this won't work in Navigator\r
- this.ele = element;\r
-\r
- // to set the default value\r
- this.strength = "5";\r
- this.direction = "90";\r
- \r
- var arrAllSet = settings.split(",");\r
- for( var i = 0; i < arrAllSet.length; i ++ )\r
- {\r
- arrAllSet[i] = CCSSP.TrimSpace(arrAllSet[i]);\r
- var arrOneSet = arrAllSet[i].split("=");\r
- for( var j = 0; j < arrOneSet.length; j++ )\r
- arrOneSet[j] = CCSSP.TrimSpace(arrOneSet[j]);\r
- switch( arrOneSet[0] )\r
- {\r
- case "strength" : this.strength = arrOneSet[1]; break;\r
- case "direction" : this.direction = arrOneSet[1]; break;\r
- }\r
- }\r
-}\r
-\r
-CAgencyBlur.prototype.PrepareEffect = function()\r
-{\r
- CCSSP.PrepareFilter(this.ele);\r
- CCSSP.ShowObject(this.ele, true );\r
-}\r
-\r
-CAgencyBlur.prototype.UpdateEffect = function()\r
-{// to set the visual filter function\r
- CCSSP.PrepareFilter(this.ele);\r
- this.ele.style.filter = "blur(strength=" + this.strength + \r
- ", direction=" + this.direction + ")";\r
-}\r
-\r
-CAgencyBlur.prototype.EndEffect = function()\r
-{// to remove the visual filter function\r
- this.ele.style.filter = "";\r
-}\r
-// End of the CAgencyBlur definition\r
-\r
-// Begin of CAgencyChangeFilter definition\r
-function CAgencyChangeFilter( element, settings ) // flipH, flipV, invert, grey,\r
-{// because of "visual filter" style, this won't work in Navigator\r
- this.ele = element;\r
-\r
- // to set the default value\r
- this.filterFunction = settings;\r
-}\r
-\r
-CAgencyChangeFilter.prototype.PrepareEffect = function()\r
-{\r
- CCSSP.PrepareFilter(this.ele);\r
- CCSSP.ShowObject(this.ele, true );\r
-}\r
-\r
-CAgencyChangeFilter.prototype.UpdateEffect = function()\r
-{// to set the visual filter function\r
- CCSSP.PrepareFilter(this.ele);\r
- this.ele.style.filter = this.filterFunction;\r
-}\r
-\r
-CAgencyChangeFilter.prototype.EndEffect = function()\r
-{// to remove the visual filter function\r
- this.ele.style.filter = "";\r
-}\r
-// End of the CAgencyChangeFilter definition\r
-\r
-// The effects below change the style on the fly, so they won't work in Navigator\r
-\r
-// Begin of CAgencyFontChange definition, \r
-function CAgencyFontChange( element, settings )\r
-{//this class can be replace by CAgencyChangeStyle,provided the "settings" is standard CSS string.\r
- this.ele = element;\r
- \r
- // to retrieve the original font style\r
- this.RetrieveOldFont( this.ele );\r
- \r
- // to set the default font to change\r
- this.newfontFamily = this.ele.oldFontFamily;\r
- this.newfColor = this.ele.oldColor;\r
- this.newtextDecoration = this.ele.oldTextDecoration;\r
- this.newfontWeight = this.ele.oldFontWeight;\r
- this.newfontStyle = this.ele.oldFontStyle;\r
- this.newfontSize = this.ele.oldFontSize;\r
- this.newBackgroundColor = this.ele.oldBackgroundColor;\r
- \r
- var arrAllSet = settings.split(",");\r
- for( var i = 0; i < arrAllSet.length; i ++ )\r
- {// to retrieve the setting\r
- arrAllSet[i] = CCSSP.TrimSpace(arrAllSet[i]);\r
- var arrOneSet = arrAllSet[i].split("=");\r
- for( var j = 0; j < arrOneSet.length; j++ )\r
- arrOneSet[j] = CCSSP.TrimSpace(arrOneSet[j]);\r
- switch( arrOneSet[0] )\r
- {\r
- case "font-family" : this.newfontFamily = arrOneSet[1]; break;\r
- case "color" : this.newfColor = arrOneSet[1]; break;\r
- case "underline" : this.newtextDecoration = (arrOneSet[1]=="on")? "underline" : "none"; break;\r
- case "bold" : this.newfontWeight = (arrOneSet[1]=="on")? "bold" : "normal"; break;\r
- case "italic" : this.newfontStyle = (arrOneSet[1]=="on")? "italic" : "normal"; break;\r
- case "size" : this.newfontSize = arrOneSet[1]; break;\r
- case "background-color" : this.newBackgroundColor = arrOneSet[1]; break;\r
- }\r
- }\r
-}\r
-\r
-CAgencyFontChange.prototype.RetrieveOldFont = function(objChild)\r
-{\r
- if( typeof(objChild.oldFontFamily) == "undefined" )\r
- objChild.oldFontFamily = objChild.style.fontFamily;\r
- if( typeof(objChild.oldColor) == "undefined" )\r
- objChild.oldColor = objChild.style.color;\r
- if( typeof(objChild.oldTextDecoration) == "undefined" )\r
- objChild.oldTextDecoration = objChild.style.textDecoration;\r
- if( typeof(objChild.oldFontWeight) == "undefined" )\r
- objChild.oldFontWeight = objChild.style.fontWeight;\r
- if( typeof(objChild.oldFontStyle) == "undefined" )\r
- objChild.oldFontStyle = objChild.style.fontStyle;\r
- if( typeof(objChild.oldFontSize) == "undefined" )\r
- objChild.oldFontSize = objChild.style.fontSize;\r
- if( typeof(objChild.oldBackgroundColor) == "undefined" )\r
- objChild.oldBackgroundColor = objChild.style.backgroundColor;\r
-}\r
-\r
-CAgencyFontChange.prototype.PrepareEffect = function()\r
-{\r
- // as for expanding text, the child is created after the constructor called\r
- for(var index = 0; index < this.ele.all.length; index++)\r
- this.RetrieveOldFont(this.ele.all[index]);\r
- CCSSP.ShowObject(this.ele, true );\r
-}\r
-\r
-CAgencyFontChange.prototype.UpdateEffect = function()\r
-{// to change the font\r
- this.PrepareEffect();\r
- this.UpdateEffectAllChildren( this.ele );\r
- for( var index = 0; index < this.ele.all.length; index++)\r
- this.UpdateEffectAllChildren(this.ele.all[index]);\r
-}\r
-\r
-CAgencyFontChange.prototype.UpdateEffectAllChildren = function(objChild)\r
-{\r
- objChild.style.fontFamily = this.newfontFamily;\r
- objChild.style.color = this.newfColor;\r
- objChild.style.textDecoration = this.newtextDecoration;\r
- objChild.style.fontWeight = this.newfontWeight;\r
- objChild.style.fontStyle = this.newfontStyle;\r
- objChild.style.fontSize = this.newfontSize;\r
- objChild.style.backgroundColor = this.newBackgroundColor;\r
-}\r
-\r
-CAgencyFontChange.prototype.EndEffect = function()\r
-{// to reinstate the original font style\r
- this.EndEffectAllChildren( this.ele );\r
- for( var index = 0; index < this.ele.all.length; index++)\r
- this.EndEffectAllChildren(this.ele.all[index]);\r
-}\r
-\r
-CAgencyFontChange.prototype.EndEffectAllChildren = function( objChild )\r
-{\r
- if( typeof(objChild.oldFontFamily) != "undefined" )\r
- objChild.style.fontFamily = objChild.oldFontFamily;\r
- if( typeof(objChild.oldColor) != "undefined" )\r
- objChild.style.color = objChild.oldColor;\r
- if( typeof(objChild.oldFontWeight) != "undefined" )\r
- objChild.style.fontWeight = objChild.oldFontWeight;\r
- if( typeof(objChild.oldFontStyle) != "undefined" )\r
- objChild.style.fontStyle = objChild.oldFontStyle;\r
- if( typeof(objChild.oldFontSize) != "undefined" )\r
- objChild.style.fontSize = objChild.oldFontSize;\r
- if( typeof(objChild.oldTextDecoration) != "undefined" )\r
- objChild.style.textDecoration = objChild.oldTextDecoration;\r
- if( typeof(objChild.oldBackgroundColor) != "undefined" )\r
- objChild.style.backgroundColor = objChild.oldBackgroundColor;\r
-}\r
-// End of the CAgencyFontChange definition\r
-\r
-// Begin of the CAgencyChangeStyle definition\r
-function CAgencyChangeStyle( element, settings )\r
-{//this class can be replace by CAgencyChangeStyle,provided the "settings" is standard CSS string.\r
- this.ele = element;\r
- \r
- // to retrieve the original style\r
- this.oldstyle = this.ele.style.cssText;\r
- \r
- // to set the default style\r
- this.newStyle = this.oldstyle;\r
- \r
- if( typeof(settings) == "string" && settings.length > 1 )\r
- this.newStyle = this.oldstyle + " " + settings;\r
-}\r
-\r
-CAgencyChangeStyle.prototype.PrepareEffect = function()\r
-{\r
- CCSSP.ShowObject(this.ele, true );\r
-}\r
-\r
-CAgencyChangeStyle.prototype.UpdateEffect = function()\r
-{// to change the style\r
- this.ele.style.cssText = this.newStyle;\r
-}\r
-\r
-CAgencyChangeStyle.prototype.EndEffect = function()\r
-{// to reinstate the original style\r
- this.ele.style.cssText = this.oldStyle;\r
-}\r
-// End of the CAgencyChangeStyle definition\r
-\r
-//End the definition of CAgencyXXXX classes\r
-\r
-//Begin to collaborate with other event handler settings \r
-CCSSP.RegisterEventHandler( window, "onload", "CEngine.OnPageLoad();BSSCOnLoad();kadovInitTriggersInHead();");\r
-CCSSP.RegisterEventHandler( document, "onclick", "CEngine.OnPageClick();BSSCOnClick();");\r
-CCSSP.RegisterEventHandler( document, "onmouseover", "CEngine.OnMouseOver();BSSCOnMouseOver();" );\r
-CCSSP.RegisterEventHandler( document, "onmouseout", "CEngine.OnMouseOver();BSSCOnMouseOut();" );\r
-CCSSP.RegisterEventHandler( window, "onunload", "BSSCOnUnload();");\r
-//End to collaborate with other event handler settings\r
-\r
-\r
-/// Section End - CCSSP DHTM 2 (JavaScript 1.2)\r
-\r
-//// Segment End -- (JavaScript 1.2)\r
+++ /dev/null
-<!doctype HTML public "-//W3C//DTD HTML 4.0 Frameset//EN">\r
-\r
-<html>\r
-\r
-<!--(==============================================================)-->\r
-<!--(Document created with RoboEditor. )============================-->\r
-<!--(==============================================================)-->\r
-\r
-<head>\r
-\r
-<title>About nodes</title>\r
-\r
-<!--(Meta)==========================================================-->\r
-\r
-<meta http-equiv=content-type content="text/html; charset=windows-1252">\r
-<meta name=generator content="RoboHELP by eHelp Corporation - www.ehelp.com">\r
-<meta name=generator-major-version content=0.1>\r
-<meta name=generator-minor-version content=1>\r
-<meta name=filetype content=kadov>\r
-<meta name=filetype-version content=1>\r
-<meta name=page-count content=1>\r
-<meta name=layout-height content=730>\r
-<meta name=layout-width content=700>\r
-\r
-\r
-<!--(Links)=========================================================-->\r
-\r
- <link rel='stylesheet' href='../default_ns.css'>\r
-<script type="text/javascript" language="JavaScript" title="WebHelpSplitCss">\r
-<!--\r
-if (navigator.appName !="Netscape")\r
-{ document.write("<link rel='stylesheet' href='../default.css'>");}\r
-//-->\r
-</script>\r
-<style type="text/css">\r
-<!--\r
-h1.whs1 {font-family: 'Times New Roman', serif;}\r
-p.whs2 {font-family: 'Times New Roman', serif;}\r
-img_whs3 {border-style: none; border: none; width: 30px; height: 30px; float: none;}\r
-img_whs4 {border-style: none; border: none; width: 318px; height: 223px; float: none;}\r
--->\r
-</style>\r
-<script type="text/javascript" language="JavaScript" title="BSSC Special Effects" src="../ehlpdhtm.js"></script><script type="text/javascript" language="JavaScript" title="WebHelpInlineScript">\r
-<!--\r
-function reDo() {\r
- if (innerWidth != origWidth || innerHeight != origHeight)\r
- location.reload();\r
-}\r
-if ((parseInt(navigator.appVersion) == 4) && (navigator.appName == "Netscape")) {\r
- origWidth = innerWidth;\r
- origHeight = innerHeight;\r
- onresize = reDo;\r
-}\r
-onerror = null; \r
-//-->\r
-</script>\r
-<style type="text/css">\r
-<!--\r
- div.WebHelpPopupMenu {position:absolute; left:0px; top:0px; z-index:4; visibility:hidden;}\r
--->\r
-</style>\r
-<script type="text/javascript" language="javascript1.2" src="../whmsg.js"></script>\r
-<script type="text/javascript" language="javascript" src="../whver.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="../whproxy.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="../whutils.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="../whtopic.js"></script>\r
-</head>\r
-\r
-<!--(Body)==========================================================-->\r
-\r
-\r
-<body>\r
-\r
-<script type="text/javascript" language="javascript1.2">\r
-<!--\r
-if (window.gbWhTopic)\r
-{\r
- if (window.addTocInfo)\r
- {\r
- addTocInfo("SUPERVISION module\nEditing graphs\nNodes in the graph\nAbout nodes");\r
-addButton("show",BTN_TEXT,"Show","","","","",0,0,"","","");\r
-\r
- }\r
- if (window.writeBtnStyle)\r
- writeBtnStyle();\r
-\r
- if (window.writeIntopicBar)\r
- writeIntopicBar(1);\r
-\r
- if (window.setRelStartPage)\r
- {\r
- setRelStartPage("../supervision.html");\r
-\r
- autoSync(0);\r
- sendSyncInfo();\r
- sendAveInfoOut();\r
- }\r
-}\r
-else\r
- document.location.reload();\r
-//-->\r
-</script>\r
-<h1 class="whs1">About nodes</h1>\r
-\r
-<p class="whs2"><img src="../i_blue.jpg" x-maintain-ratio="TRUE" width="30px" height="30px" border="0" class="img_whs3">In general, \r
- in SUPERVISION component <span style="font-weight: bold;"><B>Node </B></span> is \r
- a graphical representation of a computation algorithm. The Data flow graph \r
- consists of several nodes of <span style="font-weight: bold;"><B>control</B></span> \r
- and <span style="font-weight: bold;"><B>computation</B></span> types. These nodes \r
- have input and output <span style="font-weight: bold;"><B>data ports</B></span> \r
- for data transferring and <span style="font-weight: bold;"><B>control ports</B></span>. \r
- All data ports of a node correspond to input or output parameters of the \r
- service executed on this node. Connecting of these ports by links means \r
- transferring of the data from output port to input port of a next node. \r
- So, only output and input ports of different nodes can be connected by \r
- one link. All input ports which have not connection to output ports are \r
- input of the Graph. Initial values of such ports can be defined as constant \r
- value or taken from the current study. All output ports which have no \r
- connection to input ports are output of the Graph. Values from these ports \r
- can be stored in the study.</p>\r
-\r
-<p class="whs2"> </p>\r
-\r
-<p class="whs2">In SUPERVISION module \r
- there are the following types of nodes: <span style="font-weight: bold;"><B>computation \r
- node</B></span>, <span style="font-weight: bold;"><B>loop node, switch node</B></span> \r
- and <span \r
- style="font-weight: bold;"><B>GOTO node</B></span>.</p>\r
-\r
-<p class="whs2"> </p>\r
-\r
-<p class="whs2"> <img src="../pics/nodestypes.jpg" x-maintain-ratio="TRUE" width="318px" height="223px" border="0" class="img_whs4"></p>\r
-\r
-<p class="whs2"> </p>\r
-\r
-<p class="whs2"> </p>\r
-\r
-<p class="whs2"> </p>\r
-\r
-<p class="whs2">\r
-<a href="javascript:void(0);" onClick="var e; if (parseInt(navigator.appVersion)>=4){e=event;} if (parseInt(navigator.appVersion) >=2 && typeof(PopupMenu_Invoke) == 'function') PopupMenu_Invoke(e,'','Adding nodes','adding_nodes.htm','Computation nodes','computation_nodes.htm','GOTO nodes','goto_nodes.htm','Loop nodes','loop_nodes.htm','Switch nodes','switch_nodes.htm');return false;" title="Related Topics"><img src="../ss_btn_related_topics.gif" border=0 height=17 width=82 alt="Related Topics"></a></p>\r
-\r
-<p class="whs2"> </p>\r
-\r
-<p class="whs2"> </p>\r
-\r
-<p class="whs2"> </p>\r
-\r
-<p class="whs2"> </p>\r
-\r
-<p class="whs2"> </p>\r
-\r
-<script type="text/javascript" language="JavaScript" title="WebHelpRelatedTopics"><!--\r
-if (parseInt(navigator.appVersion) >= 3 && typeof (WritePopupMenuLayer) == "function")\r
- WritePopupMenuLayer();\r
-//--></script><script type="text/javascript" language="javascript1.2">\r
-<!--\r
-if (window.writeIntopicBar)\r
- writeIntopicBar(0);\r
-//-->\r
-</script>\r
-</body>\r
-\r
-</html>\r
+++ /dev/null
-<!doctype HTML public "-//W3C//DTD HTML 4.0 Frameset//EN">\r
-\r
-<html>\r
-\r
-<!--(==============================================================)-->\r
-<!--(Document created with RoboEditor. )============================-->\r
-<!--(==============================================================)-->\r
-\r
-<head>\r
-\r
-<title>Changing graph description</title>\r
-\r
-<!--(Meta)==========================================================-->\r
-\r
-<meta http-equiv=content-type content="text/html; charset=windows-1252">\r
-<meta name=generator content="RoboHELP by eHelp Corporation - www.ehelp.com">\r
-<meta name=generator-major-version content=0.1>\r
-<meta name=generator-minor-version content=1>\r
-<meta name=filetype content=kadov>\r
-<meta name=filetype-version content=1>\r
-<meta name=page-count content=1>\r
-<meta name=layout-height content=747>\r
-<meta name=layout-width content=700>\r
-\r
-\r
-<!--(Links)=========================================================-->\r
-\r
- <link rel='stylesheet' href='../default_ns.css'>\r
-<script type="text/javascript" language="JavaScript" title="WebHelpSplitCss">\r
-<!--\r
-if (navigator.appName !="Netscape")\r
-{ document.write("<link rel='stylesheet' href='../default.css'>");}\r
-//-->\r
-</script>\r
-<style type="text/css">\r
-<!--\r
-h1.whs1 {font-family: 'Times New Roman', serif;}\r
-p.whs2 {background-image:url(../texture_horiz_ltbluebubbles.jpg); }\r
-img_whs3 {border-style: none; border: none; float: none; width: 36px; height: 38px;}\r
-p.whs4 {text-align: JUSTIFY; font-family: 'Times New Roman', serif; font-size: 12pt;}\r
-p.whs5 {text-align: JUSTIFY; font-family: 'Times New Roman', serif; font-size: 12pt; margin-left: 40px;}\r
-p.whs6 {font-family: 'Times New Roman', serif; font-size: 12pt;}\r
-img_whs7 {border-style: none; border: none; width: 339px; height: 322px; float: none;}\r
-p.whs8 {text-align: CENTER; font-family: 'Times New Roman', serif; font-size: 12pt;}\r
--->\r
-</style>\r
-<script type="text/javascript" language="JavaScript" title="BSSC Special Effects" src="../ehlpdhtm.js"></script><script type="text/javascript" language="JavaScript" title="WebHelpInlineScript">\r
-<!--\r
-function reDo() {\r
- if (innerWidth != origWidth || innerHeight != origHeight)\r
- location.reload();\r
-}\r
-if ((parseInt(navigator.appVersion) == 4) && (navigator.appName == "Netscape")) {\r
- origWidth = innerWidth;\r
- origHeight = innerHeight;\r
- onresize = reDo;\r
-}\r
-onerror = null; \r
-//-->\r
-</script>\r
-<style type="text/css">\r
-<!--\r
- div.WebHelpPopupMenu {position:absolute; left:0px; top:0px; z-index:4; visibility:hidden;}\r
--->\r
-</style>\r
-<script type="text/javascript" language="javascript1.2" src="../whmsg.js"></script>\r
-<script type="text/javascript" language="javascript" src="../whver.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="../whproxy.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="../whutils.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="../whtopic.js"></script>\r
-</head>\r
-\r
-<!--(Body)==========================================================-->\r
-\r
-\r
-<body>\r
-\r
-<script type="text/javascript" language="javascript1.2">\r
-<!--\r
-if (window.gbWhTopic)\r
-{\r
- if (window.addTocInfo)\r
- {\r
- addTocInfo("SUPERVISION module\nEditing graphs\nChanging graph description");\r
-addButton("show",BTN_TEXT,"Show","","","","",0,0,"","","");\r
-\r
- }\r
- if (window.writeBtnStyle)\r
- writeBtnStyle();\r
-\r
- if (window.writeIntopicBar)\r
- writeIntopicBar(1);\r
-\r
- if (window.setRelStartPage)\r
- {\r
- setRelStartPage("../supervision.html");\r
-\r
- autoSync(0);\r
- sendSyncInfo();\r
- sendAveInfoOut();\r
- }\r
-}\r
-else\r
- document.location.reload();\r
-//-->\r
-</script>\r
-<h1 class="whs1">Changing graph description</h1>\r
-\r
-<p class="whs2"><img src="../note1.gif" x-maintain-ratio="TRUE" width="36px" height="38px" border="0" class="img_whs3"> <span style="font-family: 'Times New Roman', serif;">This \r
- option is available only if your graph is modifiable. Otherwise you'll \r
- be able only to view the description of the graph.</span></p>\r
-\r
-<p> </p>\r
-\r
-<p class=TODO>To change or just view the description of your graph:</p>\r
-\r
-<p class="whs4"> </p>\r
-\r
-<p class="whs5">Right-click on the SUPERVISION viewer window \r
- containing your graph and from the pop-up menu choose <span style="font-weight: bold;"><B>Change \r
- Informations</B></span> option. The following dialog box will appear \r
- where you can change the name<span style="font-weight: bold;"> <B></B></span>of \r
- your graph, enter the name of the author and additional comments concerning \r
- your graph:</p>\r
-\r
-<p class="whs5"> </p>\r
-\r
-<p class="whs6"> <img src="../pics/description.jpg" x-maintain-ratio="TRUE" width="339px" height="322px" border="0" class="img_whs7"></p>\r
-\r
-<p align="center" class="whs8"> </p>\r
-\r
-<p class="whs4">To confirm the changes in this dialog box \r
- click <span style="font-weight: bold;"><B>OK</B></span>.</p>\r
-\r
-<p class="whs4"> </p>\r
-\r
-<p class="whs4"> </p>\r
-\r
-<p class="whs4">\r
-<a href="javascript:void(0);" onClick="var e; if (parseInt(navigator.appVersion)>=4){e=event;} if (parseInt(navigator.appVersion) >=2 && typeof(PopupMenu_Invoke) == 'function') PopupMenu_Invoke(e,'','Creating a new graph','creating_a_new_graph.htm','Usage of SUPERVISION module','usage_of_supervisor_module.htm');return false;" title="Related Topics"><img src="../ss_btn_related_topics.gif" border=0 height=17 width=82 alt="Related Topics"></a></p>\r
-\r
-<p class="whs4"> </p>\r
-\r
-<p class="whs4"> </p>\r
-\r
-<script type="text/javascript" language="JavaScript" title="WebHelpRelatedTopics"><!--\r
-if (parseInt(navigator.appVersion) >= 3 && typeof (WritePopupMenuLayer) == "function")\r
- WritePopupMenuLayer();\r
-//--></script><script type="text/javascript" language="javascript1.2">\r
-<!--\r
-if (window.writeIntopicBar)\r
- writeIntopicBar(0);\r
-//-->\r
-</script>\r
-</body>\r
-\r
-</html>\r
+++ /dev/null
-<!doctype HTML public "-//W3C//DTD HTML 4.0 Frameset//EN">\r
-\r
-<html>\r
-\r
-<!--(==============================================================)-->\r
-<!--(Document created with RoboEditor. )============================-->\r
-<!--(==============================================================)-->\r
-\r
-<head>\r
-\r
-<title>Linking node ports</title>\r
-\r
-<!--(Meta)==========================================================-->\r
-\r
-<meta http-equiv=content-type content="text/html; charset=windows-1252">\r
-<meta name=generator content="RoboHELP by eHelp Corporation - www.ehelp.com">\r
-<meta name=generator-major-version content=0.1>\r
-<meta name=generator-minor-version content=1>\r
-<meta name=filetype content=kadov>\r
-<meta name=filetype-version content=1>\r
-<meta name=page-count content=1>\r
-<meta name=layout-height content=908>\r
-<meta name=layout-width content=708>\r
-\r
-\r
-<!--(Links)=========================================================-->\r
-\r
- <link rel='stylesheet' href='../default_ns.css'>\r
-<script type="text/javascript" language="JavaScript" title="WebHelpSplitCss">\r
-<!--\r
-if (navigator.appName !="Netscape")\r
-{ document.write("<link rel='stylesheet' href='../default.css'>");}\r
-//-->\r
-</script>\r
-<style type="text/css">\r
-<!--\r
-h1.whs1 {text-align: justify;}\r
-p.whs2 {background-image:url(../texture_horiz_ltbluebubbles.jpg); text-align:justify; }\r
-img_whs3 {border-style: none; border: none; float: none; width: 36px; height: 38px;}\r
-p.whs4 {text-align: justify;}\r
-p.whs5 {font-size: 12pt; text-align: justify;}\r
-p.whs6 {font-size: 12pt; margin-left: 40px; text-align: justify;}\r
-p.whs7 {margin-left: 40px; text-align: justify;}\r
-img_whs8 {border-style: none; border: none; width: 574px; height: 411px; float: none;}\r
--->\r
-</style>\r
-<script type="text/javascript" language="JavaScript" title="BSSC Special Effects" src="../ehlpdhtm.js"></script><script type="text/javascript" language="JavaScript" title="WebHelpInlineScript">\r
-<!--\r
-function reDo() {\r
- if (innerWidth != origWidth || innerHeight != origHeight)\r
- location.reload();\r
-}\r
-if ((parseInt(navigator.appVersion) == 4) && (navigator.appName == "Netscape")) {\r
- origWidth = innerWidth;\r
- origHeight = innerHeight;\r
- onresize = reDo;\r
-}\r
-onerror = null; \r
-//-->\r
-</script>\r
-<style type="text/css">\r
-<!--\r
- div.WebHelpPopupMenu {position:absolute; left:0px; top:0px; z-index:4; visibility:hidden;}\r
--->\r
-</style>\r
-<script type="text/javascript" language="javascript1.2" src="../whmsg.js"></script>\r
-<script type="text/javascript" language="javascript" src="../whver.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="../whproxy.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="../whutils.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="../whtopic.js"></script>\r
-</head>\r
-\r
-<!--(Body)==========================================================-->\r
-\r
-\r
-<body>\r
-\r
-<script type="text/javascript" language="javascript1.2">\r
-<!--\r
-if (window.gbWhTopic)\r
-{\r
- if (window.addTocInfo)\r
- {\r
- addTocInfo("SUPERVISION module\nEditing graphs\nLinking nodes\nLinking node ports ");\r
-addButton("show",BTN_TEXT,"Show","","","","",0,0,"","","");\r
-\r
- }\r
- if (window.writeBtnStyle)\r
- writeBtnStyle();\r
-\r
- if (window.writeIntopicBar)\r
- writeIntopicBar(1);\r
-\r
- if (window.setRelStartPage)\r
- {\r
- setRelStartPage("../supervision.html");\r
-\r
- autoSync(0);\r
- sendSyncInfo();\r
- sendAveInfoOut();\r
- }\r
-}\r
-else\r
- document.location.reload();\r
-//-->\r
-</script>\r
-<h1 class="whs1">Linking node ports</h1>\r
-\r
-<p class="whs2"><img src="../note1.gif" x-maintain-ratio="TRUE" width="36px" height="38px" border="0" class="img_whs3">In <span style="font-weight: bold;"><B>SUPERVISION</B></span> you \r
- can link <span style="font-weight: bold;"><B>ONLY</B></span> Input ports with \r
- Output ports and InGate ports with OutGate ports of different nodes. But \r
- you can sketch several links going from one definite port to the ports \r
- of other nodes. </p>\r
-\r
-<p class="whs4"> </p>\r
-\r
-<p class=TODO>To add a link between two ports: </p>\r
-\r
-<p class="whs5"> </p>\r
-\r
-<p class="whs6">1. Right-click on this port and from \r
- the pop-up menu choose <span style="font-weight: bold;"><B>Sketch Link</B></span> \r
- option. Move aside the cursor of your mouse - it will be followed by a \r
- violet highlighted straight line.</p>\r
-\r
-<p class="whs6"> </p>\r
-\r
-<p class="whs6">2. Click on the port, which you'd like \r
- to connect to the first port - your link will get default black color. \r
- </p>\r
-\r
-<p class="whs5"> </p>\r
-\r
-<p class="whs5">On this picture you can \r
- see an example of a graph with four linked nodes.</p>\r
-\r
-<p class="whs5"> </p>\r
-\r
-<p class="whs7"> <img src="../pics/links.jpg" x-maintain-ratio="TRUE" width="574px" height="411px" border="0" class="img_whs8"></p>\r
-\r
-<p class="whs4"> </p>\r
-\r
-<p class="whs4"> </p>\r
-\r
-<p class="whs4"> </p>\r
-\r
-<p class="whs4">\r
-<a href="javascript:void(0);" onClick="var e; if (parseInt(navigator.appVersion)>=4){e=event;} if (parseInt(navigator.appVersion) >=2 && typeof(PopupMenu_Invoke) == 'function') PopupMenu_Invoke(e,'','Deleting links','deleting_links.htm','Modifying links','modifying_links.htm','Points in links','points_in_links.htm');return false;" title="Related Topics"><img src="../ss_btn_related_topics.gif" border=0 height=17 width=82 alt="Related Topics"></a></p>\r
-\r
-<p class="whs4"> </p>\r
-\r
-<p class="whs4"> </p>\r
-\r
-<p class="whs4"> </p>\r
-\r
-<script type="text/javascript" language="JavaScript" title="WebHelpRelatedTopics"><!--\r
-if (parseInt(navigator.appVersion) >= 3 && typeof (WritePopupMenuLayer) == "function")\r
- WritePopupMenuLayer();\r
-//--></script><script type="text/javascript" language="javascript1.2">\r
-<!--\r
-if (window.writeIntopicBar)\r
- writeIntopicBar(0);\r
-//-->\r
-</script>\r
-</body>\r
-\r
-</html>\r
+++ /dev/null
-<!doctype HTML public "-//W3C//DTD HTML 4.0 Frameset//EN">\r
-\r
-<html>\r
-\r
-<!--(==============================================================)-->\r
-<!--(Document created with RoboEditor. )============================-->\r
-<!--(==============================================================)-->\r
-\r
-<head>\r
-\r
-<title>Adding node ports</title>\r
-\r
-<!--(Meta)==========================================================-->\r
-\r
-<meta http-equiv=content-type content="text/html; charset=windows-1252">\r
-<meta name=generator content="RoboHELP by eHelp Corporation - www.ehelp.com">\r
-<meta name=generator-major-version content=0.1>\r
-<meta name=generator-minor-version content=1>\r
-<meta name=filetype content=kadov>\r
-<meta name=filetype-version content=1>\r
-<meta name=page-count content=1>\r
-<meta name=layout-height content=380>\r
-<meta name=layout-width content=614>\r
-\r
-\r
-<!--(Links)=========================================================-->\r
-\r
- <link rel='stylesheet' href='../default_ns.css'>\r
-<script type="text/javascript" language="JavaScript" title="WebHelpSplitCss">\r
-<!--\r
-if (navigator.appName !="Netscape")\r
-{ document.write("<link rel='stylesheet' href='../default.css'>");}\r
-//-->\r
-</script>\r
-<style type="text/css">\r
-<!--\r
-h1.whs1 {font-family: 'Times New Roman', serif;}\r
-p.whs2 {font-family:'Times New Roman' , serif; background-image:url(../texture_horiz_ltbluebubbles.jpg); }\r
-img_whs3 {border-style: none; border: none; width: 36px; height: 38px; float: none;}\r
-p.whs4 {font-family: 'Times New Roman', serif;}\r
-p.whs5 {font-family: 'Times New Roman', serif; font-size: 12pt;}\r
-p.whs6 {font-family: 'Times New Roman', serif; margin-left: 40px; font-style: normal; color: #000000;}\r
-p.whs7 {font-size: 12pt; font-family: 'Times New Roman', serif;}\r
--->\r
-</style>\r
-<script type="text/javascript" language="JavaScript" title="BSSC Special Effects" src="../ehlpdhtm.js"></script><script type="text/javascript" language="JavaScript" title="WebHelpInlineScript">\r
-<!--\r
-function reDo() {\r
- if (innerWidth != origWidth || innerHeight != origHeight)\r
- location.reload();\r
-}\r
-if ((parseInt(navigator.appVersion) == 4) && (navigator.appName == "Netscape")) {\r
- origWidth = innerWidth;\r
- origHeight = innerHeight;\r
- onresize = reDo;\r
-}\r
-onerror = null; \r
-//-->\r
-</script>\r
-<style type="text/css">\r
-<!--\r
- div.WebHelpPopupMenu {position:absolute; left:0px; top:0px; z-index:4; visibility:hidden;}\r
--->\r
-</style>\r
-<script type="text/javascript" language="javascript1.2" src="../whmsg.js"></script>\r
-<script type="text/javascript" language="javascript" src="../whver.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="../whproxy.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="../whutils.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="../whtopic.js"></script>\r
-</head>\r
-\r
-<!--(Body)==========================================================-->\r
-\r
-\r
-<body>\r
-\r
-<script type="text/javascript" language="javascript1.2">\r
-<!--\r
-if (window.gbWhTopic)\r
-{\r
- if (window.addTocInfo)\r
- {\r
- addTocInfo("SUPERVISION module\nEditing graphs\nNodes in the graph\nAdding node ports");\r
-addButton("show",BTN_TEXT,"Show","","","","",0,0,"","","");\r
-\r
- }\r
- if (window.writeBtnStyle)\r
- writeBtnStyle();\r
-\r
- if (window.writeIntopicBar)\r
- writeIntopicBar(1);\r
-\r
- if (window.setRelStartPage)\r
- {\r
- setRelStartPage("../supervision.html");\r
-\r
- autoSync(0);\r
- sendSyncInfo();\r
- sendAveInfoOut();\r
- }\r
-}\r
-else\r
- document.location.reload();\r
-//-->\r
-</script>\r
-<h1 class="whs1">Adding node ports</h1>\r
-\r
-<p class="whs2"><img src="../note1.gif" x-maintain-ratio="TRUE" width="36px" height="38px" border="0" class="img_whs3">This option applies <span style="font-weight: bold;"><B>ONLY \r
- </B></span>to Inline nodes, not Factory and <span style="font-size: 12pt;"><font size=3 style="font-size:12pt;">is \r
- possible </font></span><span style="font-size: 12pt; font-weight: bold;"><font size=3 style="font-size:12pt;"><B>ONLY</B></font></span><span \r
- style="font-size: 12pt;"><font size=3 style="font-size:12pt;"> if the graph is modifiable, not a read-only \r
- one.</font></span></p>\r
-\r
-<p class="whs4"> </p>\r
-\r
-<p class=TODO>To add Input or Output ports to your node:</p>\r
-\r
-<p class="whs5"> </p>\r
-\r
-<p class="whs6">Right-click on the <span style="font-weight: bold;"><B>Title</B></span> \r
- part of the node, and from <span style="font-weight: bold;"><B>Add node</B></span> \r
- submenu select the type of the port for addition to your node (Input or \r
- Output). </p>\r
-\r
-<p class="whs6"> </p>\r
-\r
-<p> </p>\r
-\r
-<p class="whs7">\r
-<a href="javascript:void(0);" onClick="var e; if (parseInt(navigator.appVersion)>=4){e=event;} if (parseInt(navigator.appVersion) >=2 && typeof(PopupMenu_Invoke) == 'function') PopupMenu_Invoke(e,'','About nodes','about_nodes.htm','Adding nodes','adding_nodes.htm','Creating a new graph','creating_a_new_graph.htm');return false;" title="Related Topics"><img src="../ss_btn_related_topics.gif" border=0 height=17 width=82 alt="Related Topics"></a></p>\r
-\r
-<script type="text/javascript" language="JavaScript" title="WebHelpRelatedTopics"><!--\r
-if (parseInt(navigator.appVersion) >= 3 && typeof (WritePopupMenuLayer) == "function")\r
- WritePopupMenuLayer();\r
-//--></script><script type="text/javascript" language="javascript1.2">\r
-<!--\r
-if (window.writeIntopicBar)\r
- writeIntopicBar(0);\r
-//-->\r
-</script>\r
-</body>\r
-\r
-</html>\r
+++ /dev/null
-<!doctype HTML public "-//W3C//DTD HTML 4.0 Frameset//EN">\r
-\r
-<html>\r
-\r
-<!--(==============================================================)-->\r
-<!--(Document created with RoboEditor. )============================-->\r
-<!--(==============================================================)-->\r
-\r
-<head>\r
-\r
-<title>Adding nodes</title>\r
-\r
-<!--(Meta)==========================================================-->\r
-\r
-<meta http-equiv=content-type content="text/html; charset=windows-1252">\r
-<meta name=generator content="RoboHELP by eHelp Corporation - www.ehelp.com">\r
-<meta name=generator-major-version content=0.1>\r
-<meta name=generator-minor-version content=1>\r
-<meta name=filetype content=kadov>\r
-<meta name=filetype-version content=1>\r
-<meta name=page-count content=1>\r
-<meta name=layout-height content=2091>\r
-<meta name=layout-width content=700>\r
-\r
-\r
-<!--(Links)=========================================================-->\r
-\r
- <link rel='stylesheet' href='../default_ns.css'>\r
-<script type="text/javascript" language="JavaScript" title="WebHelpSplitCss">\r
-<!--\r
-if (navigator.appName !="Netscape")\r
-{ document.write("<link rel='stylesheet' href='../default.css'>");}\r
-//-->\r
-</script>\r
-<style type="text/css">\r
-<!--\r
-h1.whs1 {font-family: 'Times New Roman', serif;}\r
-p.whs2 {text-align: JUSTIFY; font-family: 'Times New Roman', serif; font-size: 12pt;}\r
-p.whs3 {text-align: JUSTIFY; font-family: 'Times New Roman', serif; font-size: 12pt; margin-left: 40px;}\r
-img_whs4 {border-style: none; border: none; width: 29px; height: 30px;}\r
-p.whs5 {text-align: CENTER; font-family: 'Times New Roman', serif; font-size: 12pt;}\r
-img_whs6 {border-style: none; border: none; width: 472px; height: 444px; float: none;}\r
-p.whs7 {text-align:JUSTIFY; font-family:'Times New Roman' , serif; font-size:12pt; background-image:url(../texture_horiz_ltbluebubbles.jpg); }\r
-img_whs8 {border-style: none; border: none; width: 35px; height: 37px; float: none;}\r
-p.whs9 {text-align: JUSTIFY; font-family: 'Times New Roman', serif; font-size: 12pt; font-weight: bold;}\r
-p.whs10 {font-family: 'Times New Roman', serif; font-size: 12pt; margin-left: 40px;}\r
-p.whs11 {text-align: CENTER; font-family: 'Times New Roman', serif; font-size: 12pt; margin-left: 40px;}\r
-p.whs12 {font-family: 'Times New Roman', serif; font-size: 12pt; margin-left: 0px;}\r
-p.whs13 {font-family: 'Times New Roman', serif; font-size: 12pt;}\r
--->\r
-</style>\r
-<script type="text/javascript" language="JavaScript">\r
-<!--\r
-if ((navigator.appName == "Netscape") && (parseInt(navigator.appVersion) == 4))\r
-{\r
- var strNSS = "<style type='text/css'>";\r
- strNSS += "p.whs12 {margin-left:1; }";\r
- strNSS +="</style>";\r
- document.write(strNSS);\r
-}\r
-//-->\r
-</script>\r
-<script type="text/javascript" language="JavaScript" title="BSSC Special Effects" src="../ehlpdhtm.js"></script><script type="text/javascript" language="JavaScript" title="WebHelpInlineScript">\r
-<!--\r
-function reDo() {\r
- if (innerWidth != origWidth || innerHeight != origHeight)\r
- location.reload();\r
-}\r
-if ((parseInt(navigator.appVersion) == 4) && (navigator.appName == "Netscape")) {\r
- origWidth = innerWidth;\r
- origHeight = innerHeight;\r
- onresize = reDo;\r
-}\r
-onerror = null; \r
-//-->\r
-</script>\r
-<style type="text/css">\r
-<!--\r
- div.WebHelpPopupMenu {position:absolute; left:0px; top:0px; z-index:4; visibility:hidden;}\r
--->\r
-</style>\r
-<script type="text/javascript" language="javascript1.2" src="../whmsg.js"></script>\r
-<script type="text/javascript" language="javascript" src="../whver.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="../whproxy.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="../whutils.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="../whtopic.js"></script>\r
-</head>\r
-\r
-<!--(Body)==========================================================-->\r
-\r
-\r
-<body>\r
-\r
-<script type="text/javascript" language="javascript1.2">\r
-<!--\r
-if (window.gbWhTopic)\r
-{\r
- if (window.addTocInfo)\r
- {\r
- addTocInfo("SUPERVISION module\nEditing graphs\nNodes in the graph\nAdding nodes");\r
-addButton("show",BTN_TEXT,"Show","","","","",0,0,"","","");\r
-\r
- }\r
- if (window.writeBtnStyle)\r
- writeBtnStyle();\r
-\r
- if (window.writeIntopicBar)\r
- writeIntopicBar(1);\r
-\r
- if (window.setRelStartPage)\r
- {\r
- setRelStartPage("../supervision.html");\r
-\r
- autoSync(0);\r
- sendSyncInfo();\r
- sendAveInfoOut();\r
- }\r
-}\r
-else\r
- document.location.reload();\r
-//-->\r
-</script>\r
-<h1 class="whs1">Adding nodes</h1>\r
-\r
-<p class=TODO>To add a node into a graph in modification or edition: </p>\r
-\r
-<p class="whs2"> </p>\r
-\r
-<p class="whs3">Right-click on the background of the main \r
- window of this graph and in the pop-up menu choose <span style="font-weight: bold;"><B>Add \r
- Node</B></span> option or click <img src="../image3.gif" width="29px" height="30px" border="0" class="img_whs4"> icon in the SUPERVISION \r
- toolbar. The following dialog box with two tabs will appear (the same \r
- dialog box opens when trying to create a new graph):</p>\r
-\r
-<p class="whs2"> </p>\r
-\r
-<p align="center" class="whs5"> </p>\r
-\r
-<p class="whs3"><span style="font-family: 'Times New Roman', serif; font-size: 12pt;"><font size=3 style="font-size:12pt;"> <img src="../pics/addnode1.jpg" x-maintain-ratio="TRUE" width="472px" height="444px" border="0" class="img_whs6"></font></span></p>\r
-\r
-<p class="whs3"> </p>\r
-\r
-<p class="whs3"> <img src="../pics/addnode2.jpg" x-maintain-ratio="TRUE" width="472px" height="444px" border="0" class="img_whs6"></p>\r
-\r
-<p align="center" class="whs5"> </p>\r
-\r
-<p align="center" class="whs5"> </p>\r
-\r
-<p class="whs2">This dialog box allows to add one or several \r
- nodes to your graph. </p>\r
-\r
-<p class="whs2"> </p>\r
-\r
-<p class="whs7"><img src="../tip1.gif" x-maintain-ratio="TRUE" width="35px" height="37px" border="0" class="img_whs8"> This dialog box works as independent window. So you can move \r
- it aside and simultaneously edit your graph in SUPERVISION viewer and \r
- add new nodes into your graph.</p>\r
-\r
-<p class="whs2"> </p>\r
-\r
-<p class="whs9"><a name=FACTORY></a>FACTORY NODES. </p>\r
-\r
-<p class="whs2">Factory nodes tab window consists of one \r
- column having the form of a tree with three open levels: </p>\r
-\r
-<p class="whs2"> </p>\r
-\r
-<p class="whs10">- <span style="font-weight: bold;"><B>The \r
- first level</B></span> corresponds to the list of components which are currently \r
- integrated into SALOME platform</p>\r
-\r
-<p class="whs10">. </p>\r
-\r
-<p class="whs10">- <span style="font-weight: bold;"><B>The \r
- second level</B></span> corresponds to the interfaces of one of the components. \r
- </p>\r
-\r
-<p class="whs10"> </p>\r
-\r
-<p class="whs10">- <span style="font-weight: bold;"><B>The \r
- third level</B></span> represents a list of services (methods) provide by \r
- the component interface. </p>\r
-\r
-<p class="whs10"> </p>\r
-\r
-<p class="whs10">- <span style="font-weight: bold;"><B>The \r
- fourth level</B></span> contains the signature of a service - a list of parameters. \r
- Opposite each parameter there are two indications: <span style="font-weight: bold;"><B>Port \r
- type </B></span><span>(data type of the parameter) and </span><span style="font-weight: bold;"><B>Port \r
- way </B></span><span>(type of the parameter - input or output).</span><span \r
- style="font-weight: bold;"> <B></B></span> </p>\r
-\r
-<p align="center" class="whs11"> </p>\r
-\r
-<p class="whs12">To add a factory node into your graph choose \r
- one of the factory services and click <span style="font-weight: bold;"><B>Add \r
- Factory Node.</B></span></p>\r
-\r
-<p class="whs12"> </p>\r
-\r
-<p class="whs12"> </p>\r
-\r
-<p class="whs9">INLINE NODES. </p>\r
-\r
-<p class="whs13">Inline \r
- nodes tab window consists of the following fields:</p>\r
-\r
-<p class="whs13"> </p>\r
-\r
-<p class="whs10">- <span style="font-weight: bold;"><B>Node \r
- type </B></span>choose box: here you can select the type of your future node \r
- (Computation, Switch, Loop, Goto)</p>\r
-\r
-<p class="whs10"> </p>\r
-\r
-<p class="whs10">- <span style="font-weight: bold;"><B>Main \r
- field</B></span>: here you can manually define a Python method which will \r
- be executed on your node. This window functions like a standard document \r
- - right-click on it gives access to <span style="font-weight: bold;"><B>Undo/Redo/Cut/Copy/Paste/SelectAll/Clear \r
- </B></span><span>options.</span><span style="font-weight: bold;"> <B></B></span> </p>\r
-\r
-<p class="whs10"> </p>\r
-\r
-<p class="whs10">- <span style="font-weight: bold;"><B>Load \r
- from file: </B></span><span>this button allows to load a definite Python method \r
- from an existing *.py file. If your *.py file contains several defined \r
- methods, </span><span style="font-weight: bold;"><B>Next function </B></span><span>button \r
- allows to list all methods of the upper level from this *.py file and \r
- select the necessary function. </span> </p>\r
-\r
-<p class="whs13"> </p>\r
-\r
-<p class="whs13">To add \r
- an inline node into your graph click <span style="font-weight: bold;"><B>Add \r
- Node </B></span>button. </p>\r
-\r
-<p class="whs13"> </p>\r
-\r
-<p class="whs13"> </p>\r
-\r
-<p class="whs13"> </p>\r
-\r
-<p class="whs13">\r
-<a href="javascript:void(0);" onClick="var e; if (parseInt(navigator.appVersion)>=4){e=event;} if (parseInt(navigator.appVersion) >=2 && typeof(PopupMenu_Invoke) == 'function') PopupMenu_Invoke(e,'','About nodes','about_nodes.htm','Computation nodes','computation_nodes.htm','GOTO nodes','goto_nodes.htm','Loop nodes','loop_nodes.htm','Switch nodes','switch_nodes.htm');return false;" title="Related Topics"><img src="../ss_btn_related_topics.gif" border=0 height=17 width=82 alt="Related Topics"></a> </p>\r
-\r
-<p class="whs13"> </p>\r
-\r
-<p class="whs13"> </p>\r
-\r
-<p class="whs13"> </p>\r
-\r
-<p class="whs13"> </p>\r
-\r
-<p class="whs13"> </p>\r
-\r
-<script type="text/javascript" language="JavaScript" title="WebHelpRelatedTopics"><!--\r
-if (parseInt(navigator.appVersion) >= 3 && typeof (WritePopupMenuLayer) == "function")\r
- WritePopupMenuLayer();\r
-//--></script><script type="text/javascript" language="javascript1.2">\r
-<!--\r
-if (window.writeIntopicBar)\r
- writeIntopicBar(0);\r
-//-->\r
-</script>\r
-</body>\r
-\r
-</html>\r
+++ /dev/null
-<!doctype HTML public "-//W3C//DTD HTML 4.0 Frameset//EN">\r
-\r
-<html>\r
-\r
-<!--(==============================================================)-->\r
-<!--(Document created with RoboEditor. )============================-->\r
-<!--(==============================================================)-->\r
-\r
-<head>\r
-\r
-<title>Changing node description</title>\r
-\r
-<!--(Meta)==========================================================-->\r
-\r
-<meta http-equiv=content-type content="text/html; charset=windows-1252">\r
-<meta name=generator content="RoboHELP by eHelp Corporation - www.ehelp.com">\r
-<meta name=generator-major-version content=0.1>\r
-<meta name=generator-minor-version content=1>\r
-<meta name=filetype content=kadov>\r
-<meta name=filetype-version content=1>\r
-<meta name=page-count content=1>\r
-<meta name=layout-height content=850>\r
-<meta name=layout-width content=700>\r
-\r
-\r
-<!--(Links)=========================================================-->\r
-\r
- <link rel='stylesheet' href='../default_ns.css'>\r
-<script type="text/javascript" language="JavaScript" title="WebHelpSplitCss">\r
-<!--\r
-if (navigator.appName !="Netscape")\r
-{ document.write("<link rel='stylesheet' href='../default.css'>");}\r
-//-->\r
-</script>\r
-<style type="text/css">\r
-<!--\r
-h1.whs1 {font-family: 'Times New Roman', serif;}\r
-p.whs2 {background-image:url(../texture_horiz_ltbluebubbles.jpg); }\r
-img_whs3 {border-style: none; border: none; float: none; width: 36px; height: 38px;}\r
-p.whs4 {text-align: JUSTIFY; font-family: 'Times New Roman', serif; font-size: 12pt;}\r
-p.whs5 {text-align: JUSTIFY; font-family: 'Times New Roman', serif; font-size: 12pt; margin-left: 40px;}\r
-p.whs6 {font-family: 'Times New Roman', serif; font-size: 12pt;}\r
-img_whs7 {border-style: none; border: none; width: 357px; height: 350px; float: none;}\r
-p.whs8 {text-align: CENTER; font-family: 'Times New Roman', serif; font-size: 12pt;}\r
--->\r
-</style>\r
-<script type="text/javascript" language="JavaScript" title="BSSC Special Effects" src="../ehlpdhtm.js"></script><script type="text/javascript" language="JavaScript" title="WebHelpInlineScript">\r
-<!--\r
-function reDo() {\r
- if (innerWidth != origWidth || innerHeight != origHeight)\r
- location.reload();\r
-}\r
-if ((parseInt(navigator.appVersion) == 4) && (navigator.appName == "Netscape")) {\r
- origWidth = innerWidth;\r
- origHeight = innerHeight;\r
- onresize = reDo;\r
-}\r
-onerror = null; \r
-//-->\r
-</script>\r
-<style type="text/css">\r
-<!--\r
- div.WebHelpPopupMenu {position:absolute; left:0px; top:0px; z-index:4; visibility:hidden;}\r
--->\r
-</style>\r
-<script type="text/javascript" language="javascript1.2" src="../whmsg.js"></script>\r
-<script type="text/javascript" language="javascript" src="../whver.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="../whproxy.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="../whutils.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="../whtopic.js"></script>\r
-</head>\r
-\r
-<!--(Body)==========================================================-->\r
-\r
-\r
-<body>\r
-\r
-<script type="text/javascript" language="javascript1.2">\r
-<!--\r
-if (window.gbWhTopic)\r
-{\r
- if (window.addTocInfo)\r
- {\r
- addTocInfo("SUPERVISION module\nEditing graphs\nNodes in the graph\nChanging node description");\r
-addButton("show",BTN_TEXT,"Show","","","","",0,0,"","","");\r
-\r
- }\r
- if (window.writeBtnStyle)\r
- writeBtnStyle();\r
-\r
- if (window.writeIntopicBar)\r
- writeIntopicBar(1);\r
-\r
- if (window.setRelStartPage)\r
- {\r
- setRelStartPage("../supervision.html");\r
-\r
- autoSync(0);\r
- sendSyncInfo();\r
- sendAveInfoOut();\r
- }\r
-}\r
-else\r
- document.location.reload();\r
-//-->\r
-</script>\r
-<h1 class="whs1"><span style="font-family: 'Times New Roman', serif;">Changing \r
- node description</span></h1>\r
-\r
-<p class="whs2"><img src="../note1.gif" x-maintain-ratio="TRUE" width="36px" height="38px" border="0" class="img_whs3"> <span style="font-family: 'Times New Roman', serif;">This \r
- option is available only if your graph is modifiable. Otherwise you'll \r
- be able only to view the description of the node.</span></p>\r
-\r
-<p> </p>\r
-\r
-<p class=TODO>To change or just view the description of a node:</p>\r
-\r
-<p class="whs4"> </p>\r
-\r
-<p class="whs5">Right-click on the <span style="font-weight: bold;"><B>Title</B></span> \r
- part of the node and from the pop-up menu choose <span style="font-weight: bold;"><B>Change \r
- Informations</B></span> option. The following dialog box will appear \r
- where you can edit the name<span style="font-weight: bold;"> <B></B></span>of \r
- your node, enter the name of the author and additional comments concerning \r
- your graph, set the name of the container :</p>\r
-\r
-<p class="whs5"> </p>\r
-\r
-<p class="whs6"> <img src="../pics/nodedescription.jpg" x-maintain-ratio="TRUE" width="357px" height="350px" border="0" class="img_whs7"></p>\r
-\r
-<p align="center" class="whs8"> </p>\r
-\r
-<p class="whs4">To confirm the changes in this dialog box \r
- click <span style="font-weight: bold;"><B>OK</B></span>.</p>\r
-\r
-<p class="whs4"> </p>\r
-\r
-<p class="whs4"> </p>\r
-\r
-<p class="whs4"> </p>\r
-\r
-<p class="whs4">\r
-<a href="javascript:void(0);" onClick="var e; if (parseInt(navigator.appVersion)>=4){e=event;} if (parseInt(navigator.appVersion) >=2 && typeof(PopupMenu_Invoke) == 'function') PopupMenu_Invoke(e,'','About nodes','about_nodes.htm','Adding nodes','adding_nodes.htm');return false;" title="Related Topics"><img src="../ss_btn_related_topics.gif" border=0 height=17 width=82 alt="Related Topics"></a></p>\r
-\r
-<p class="whs4"> </p>\r
-\r
-<p class="whs4"> </p>\r
-\r
-<p class="whs4"> </p>\r
-\r
-<p class="whs4"> </p>\r
-\r
-<script type="text/javascript" language="JavaScript" title="WebHelpRelatedTopics"><!--\r
-if (parseInt(navigator.appVersion) >= 3 && typeof (WritePopupMenuLayer) == "function")\r
- WritePopupMenuLayer();\r
-//--></script><script type="text/javascript" language="javascript1.2">\r
-<!--\r
-if (window.writeIntopicBar)\r
- writeIntopicBar(0);\r
-//-->\r
-</script>\r
-</body>\r
-\r
-</html>\r
+++ /dev/null
-<!doctype HTML public "-//W3C//DTD HTML 4.0 Frameset//EN">\r
-\r
-<html>\r
-\r
-<!--(==============================================================)-->\r
-<!--(Document created with RoboEditor. )============================-->\r
-<!--(==============================================================)-->\r
-\r
-<head>\r
-\r
-<title>Changing view mode</title>\r
-\r
-<!--(Meta)==========================================================-->\r
-\r
-<meta http-equiv=content-type content="text/html; charset=windows-1252">\r
-<meta name=generator content="RoboHELP by eHelp Corporation - www.ehelp.com">\r
-<meta name=generator-major-version content=0.1>\r
-<meta name=generator-minor-version content=1>\r
-<meta name=filetype content=kadov>\r
-<meta name=filetype-version content=1>\r
-<meta name=page-count content=1>\r
-<meta name=layout-height content=1824>\r
-<meta name=layout-width content=700>\r
-\r
-\r
-<!--(Links)=========================================================-->\r
-\r
- <link rel='stylesheet' href='../default_ns.css'>\r
-<script type="text/javascript" language="JavaScript" title="WebHelpSplitCss">\r
-<!--\r
-if (navigator.appName !="Netscape")\r
-{ document.write("<link rel='stylesheet' href='../default.css'>");}\r
-//-->\r
-</script>\r
-<style type="text/css">\r
-<!--\r
-h1.whs1 {font-family: 'Times New Roman', serif;}\r
-p.whs2 {font-family: 'Times New Roman', serif;}\r
-img_whs3 {border-style: none; border: none; width: 30px; height: 30px; float: none;}\r
-p.whs4 {font-family: 'Times New Roman', serif; color: #ff0000; font-style: italic;}\r
-p.whs5 {font-family: 'Times New Roman', serif; margin-left: 40px; font-style: normal; color: #000000;}\r
-p.whs6 {font-family: 'Times New Roman', serif; margin-left: 80px;}\r
-p.whs7 {font-family: 'Times New Roman', serif; margin-left: 80px; font-weight: bold;}\r
-p.whs8 {font-family: 'Times New Roman', serif; font-weight: bold; margin-left: 0px;}\r
-p.whs9 {font-family: 'Times New Roman', serif; font-weight: bold; margin-left: 40px;}\r
-p.whs10 {font-family: 'Times New Roman', serif; font-weight: bold; margin-left: 80px;}\r
-p.whs11 {font-family: 'Times New Roman', serif; margin-left: 40px;}\r
-img_whs12 {border-style: none; border: none; width: 550px; height: 333px; float: none;}\r
-img_whs13 {border-style: none; border: none; width: 550px; height: 335px; float: none;}\r
-p.whs14 {font-family:'Times New Roman' , serif; margin-left:0px; background-image:url(../texture_horiz_ltbluebubbles.jpg); }\r
-img_whs15 {border-style: none; border: none; float: none; width: 36px; height: 38px;}\r
-img_whs16 {border-style: none; border: none; width: 550px; height: 336px; float: none;}\r
-p.whs17 {font-family: 'Times New Roman', serif; margin-left: 0px;}\r
--->\r
-</style>\r
-<script type="text/javascript" language="JavaScript">\r
-<!--\r
-if ((navigator.appName == "Netscape") && (parseInt(navigator.appVersion) == 4))\r
-{\r
- var strNSS = "<style type='text/css'>";\r
- strNSS += "p.whs8 {margin-left:1; }";\r
- strNSS += "p.whs14 {margin-left:1; }";\r
- strNSS += "p.whs17 {margin-left:1; }";\r
- strNSS +="</style>";\r
- document.write(strNSS);\r
-}\r
-//-->\r
-</script>\r
-<script type="text/javascript" language="JavaScript" title="BSSC Special Effects" src="../ehlpdhtm.js"></script><script type="text/javascript" language="JavaScript" title="WebHelpInlineScript">\r
-<!--\r
-function reDo() {\r
- if (innerWidth != origWidth || innerHeight != origHeight)\r
- location.reload();\r
-}\r
-if ((parseInt(navigator.appVersion) == 4) && (navigator.appName == "Netscape")) {\r
- origWidth = innerWidth;\r
- origHeight = innerHeight;\r
- onresize = reDo;\r
-}\r
-onerror = null; \r
-//-->\r
-</script>\r
-<style type="text/css">\r
-<!--\r
- div.WebHelpPopupMenu {position:absolute; left:0px; top:0px; z-index:4; visibility:hidden;}\r
--->\r
-</style>\r
-<script type="text/javascript" language="javascript1.2" src="../whmsg.js"></script>\r
-<script type="text/javascript" language="javascript" src="../whver.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="../whproxy.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="../whutils.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="../whtopic.js"></script>\r
-</head>\r
-\r
-<!--(Body)==========================================================-->\r
-\r
-\r
-<body>\r
-\r
-<script type="text/javascript" language="javascript1.2">\r
-<!--\r
-if (window.gbWhTopic)\r
-{\r
- if (window.addTocInfo)\r
- {\r
- addTocInfo("SUPERVISION module\nEditing graphs\nChanging view mode");\r
-addButton("show",BTN_TEXT,"Show","","","","",0,0,"","","");\r
-\r
- }\r
- if (window.writeBtnStyle)\r
- writeBtnStyle();\r
-\r
- if (window.writeIntopicBar)\r
- writeIntopicBar(1);\r
-\r
- if (window.setRelStartPage)\r
- {\r
- setRelStartPage("../supervision.html");\r
-\r
- autoSync(0);\r
- sendSyncInfo();\r
- sendAveInfoOut();\r
- }\r
-}\r
-else\r
- document.location.reload();\r
-//-->\r
-</script>\r
-<h1 class="whs1">Changing view mode</h1>\r
-\r
-<p class="whs2"><span style="font-size: 12pt;"><font size=3 style="font-size:12pt;"><img src="../i_blue.jpg" x-maintain-ratio="TRUE" width="30px" height="30px" border="0" class="img_whs3"></font></span>In <span style="font-weight: bold;"><B>SUPERVISION</B></span> \r
- there are several modes of representation of the whole graph, as well \r
- as of each node of this graph.</p>\r
-\r
-<p class="whs2"> </p>\r
-\r
-<p class=TODO>To change view mode of a definite node:</p>\r
-\r
-<p class="whs4"> </p>\r
-\r
-<p class="whs5">Right-click on the <span style="font-weight: bold;"><B>Title</B></span> \r
- part of this node and from the associated pop-up menu choose <span style="font-weight: bold;"><B>Show \r
- ></B></span></p>\r
-\r
-<p class="whs6"> </p>\r
-\r
-<p class="whs7">- Comments <span style="font-weight: normal;">check \r
- box - shows/hides description part of the node.</span></p>\r
-\r
-<p class="whs7"> </p>\r
-\r
-<p class="whs7">- Ports<span style="font-weight: normal;"> \r
- check box -shows/hides all ports of the node.</span></p>\r
-\r
-<p class="whs7"> </p>\r
-\r
-<p class=TODO>To change view mode of the whole graph:</p>\r
-\r
-<p class="whs8"> </p>\r
-\r
-<p class="whs9"><span style="font-weight: normal;">Right-click \r
- on the background of the SUPERVISION viewer window containing your graph \r
- and from the pop-up menu choose </span> View \r
- > </p>\r
-\r
-<p class="whs9"> </p>\r
-\r
-<p class="whs10">- Full <span style="font-weight: normal;">mode \r
- (normal mode of graph representation):</span></p>\r
-\r
-<p class="whs10"> </p>\r
-\r
-<p class="whs11"><img src="../pics/full.jpg" x-maintain-ratio="TRUE" width="550px" height="333px" border="0" class="img_whs12"></p>\r
-\r
-<p class="whs11"> </p>\r
-\r
-<p class="whs6">- \r
- <span style="font-weight: bold;"><B>Control </B></span>mode (the nodes of the \r
- graph are displayed without descriptions and ports):</p>\r
-\r
-<p class="whs6"> </p>\r
-\r
-<p class="whs11"><img src="../pics/control.jpg" x-maintain-ratio="TRUE" width="550px" height="335px" border="0" class="img_whs13"></p>\r
-\r
-<p class="whs11"> </p>\r
-\r
-<p class="whs14"><img src="../note1.gif" x-maintain-ratio="TRUE" width="36px" height="38px" border="0" class="img_whs15">Having applied this mode of graph representation, you can \r
- change the view mode of each particular node using the above-mentioned \r
- method.</p>\r
-\r
-<p class="whs11"> </p>\r
-\r
-<p class="whs6">- \r
- <span style="font-weight: bold;"><B>Table</B></span> mode (the nodes of the graph \r
- are displayed without ports and they are ranged into a table according \r
- the threads of dataflow):</p>\r
-\r
-<p class="whs6"> </p>\r
-\r
-<p class="whs11"><img src="../pics/tablemode.jpg" x-maintain-ratio="TRUE" width="550px" height="336px" border="0" class="img_whs16"></p>\r
-\r
-<p class="whs11"> </p>\r
-\r
-<p class="whs11"> </p>\r
-\r
-<p class="whs11"> </p>\r
-\r
-<p class="whs17">\r
-<a href="javascript:void(0);" onClick="var e; if (parseInt(navigator.appVersion)>=4){e=event;} if (parseInt(navigator.appVersion) >=2 && typeof(PopupMenu_Invoke) == 'function') PopupMenu_Invoke(e,'','About nodes','about_nodes.htm','Creating a new graph','creating_a_new_graph.htm');return false;" title="Related Topics"><img src="../ss_btn_related_topics.gif" border=0 height=17 width=82 alt="Related Topics"></a></p>\r
-\r
-<p class="whs17"> </p>\r
-\r
-<p class="whs17"> </p>\r
-\r
-<p class="whs17"> </p>\r
-\r
-<p class="whs17"> </p>\r
-\r
-<script type="text/javascript" language="JavaScript" title="WebHelpRelatedTopics"><!--\r
-if (parseInt(navigator.appVersion) >= 3 && typeof (WritePopupMenuLayer) == "function")\r
- WritePopupMenuLayer();\r
-//--></script><script type="text/javascript" language="javascript1.2">\r
-<!--\r
-if (window.writeIntopicBar)\r
- writeIntopicBar(0);\r
-//-->\r
-</script>\r
-</body>\r
-\r
-</html>\r
+++ /dev/null
-<!doctype HTML public "-//W3C//DTD HTML 4.0 Frameset//EN">\r
-\r
-<html>\r
-\r
-<!--(==============================================================)-->\r
-<!--(Document created with RoboEditor. )============================-->\r
-<!--(==============================================================)-->\r
-\r
-<head>\r
-\r
-<title>Computation nodes</title>\r
-\r
-<!--(Meta)==========================================================-->\r
-\r
-<meta http-equiv=content-type content="text/html; charset=windows-1252">\r
-<meta name=generator content="RoboHELP by eHelp Corporation - www.ehelp.com">\r
-<meta name=generator-major-version content=0.1>\r
-<meta name=generator-minor-version content=1>\r
-<meta name=filetype content=kadov>\r
-<meta name=filetype-version content=1>\r
-<meta name=page-count content=1>\r
-<meta name=layout-height content=935>\r
-<meta name=layout-width content=614>\r
-\r
-\r
-<!--(Links)=========================================================-->\r
-\r
- <link rel='stylesheet' href='../default_ns.css'>\r
-<script type="text/javascript" language="JavaScript" title="WebHelpSplitCss">\r
-<!--\r
-if (navigator.appName !="Netscape")\r
-{ document.write("<link rel='stylesheet' href='../default.css'>");}\r
-//-->\r
-</script>\r
-<style type="text/css">\r
-<!--\r
-h1.whs1 {font-family: 'Times New Roman', serif;}\r
-img_whs2 {border-style: none; border: none; width: 30px; height: 30px; float: none;}\r
-p.whs3 {font-family: 'Times New Roman', serif;}\r
-img_whs4 {border-style: none; border: none; width: 431px; height: 332px; float: none;}\r
-ul.whs5 {list-style: disc;}\r
--->\r
-</style>\r
-<script type="text/javascript" language="JavaScript" title="BSSC Special Effects" src="../ehlpdhtm.js"></script><script type="text/javascript" language="JavaScript" title="WebHelpInlineScript">\r
-<!--\r
-function reDo() {\r
- if (innerWidth != origWidth || innerHeight != origHeight)\r
- location.reload();\r
-}\r
-if ((parseInt(navigator.appVersion) == 4) && (navigator.appName == "Netscape")) {\r
- origWidth = innerWidth;\r
- origHeight = innerHeight;\r
- onresize = reDo;\r
-}\r
-onerror = null; \r
-//-->\r
-</script>\r
-<style type="text/css">\r
-<!--\r
- div.WebHelpPopupMenu {position:absolute; left:0px; top:0px; z-index:4; visibility:hidden;}\r
--->\r
-</style>\r
-<script type="text/javascript" language="javascript1.2" src="../whmsg.js"></script>\r
-<script type="text/javascript" language="javascript" src="../whver.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="../whproxy.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="../whutils.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="../whtopic.js"></script>\r
-</head>\r
-\r
-<!--(Body)==========================================================-->\r
-\r
-\r
-<body>\r
-\r
-<script type="text/javascript" language="javascript1.2">\r
-<!--\r
-if (window.gbWhTopic)\r
-{\r
- if (window.addTocInfo)\r
- {\r
- addTocInfo("SUPERVISION module\nEditing graphs\nNodes in the graph\nComputation nodes");\r
-addButton("show",BTN_TEXT,"Show","","","","",0,0,"","","");\r
-\r
- }\r
- if (window.writeBtnStyle)\r
- writeBtnStyle();\r
-\r
- if (window.writeIntopicBar)\r
- writeIntopicBar(1);\r
-\r
- if (window.setRelStartPage)\r
- {\r
- setRelStartPage("../supervision.html");\r
-\r
- autoSync(0);\r
- sendSyncInfo();\r
- sendAveInfoOut();\r
- }\r
-}\r
-else\r
- document.location.reload();\r
-//-->\r
-</script>\r
-<h1 class="whs1">Computation nodes</h1>\r
-\r
-<p><img src="../i_blue.jpg" x-maintain-ratio="TRUE" width="30px" height="30px" border="0" class="img_whs2">This node represents a computation algorithm in the graph \r
- structure. Nodes of such type can present a service registered in the \r
- Component Catalog (<span style="font-weight: bold;"><B>Factory Node</B></span>) \r
- or an external service defined in Python script by user (<span style="font-weight: bold;"><B>InLine \r
- node</B></span>). Python function of InLine node can be edited in Supervision \r
- Graph edit mode.</p>\r
-\r
-<p class="whs3"> </p>\r
-\r
-<p class="whs3"> <img src="../comp1.jpg" x-maintain-ratio="TRUE" width="431px" height="332px" border="0" class="img_whs4"></p>\r
-\r
-<p class="whs3"> Computation \r
- nodes have the following attributes:</p>\r
-\r
-<p class="whs3"> </p>\r
-\r
-<ul type="disc" class="whs5">\r
- \r
- <li class=kadov-p><p class="whs3"><span \r
- style="font-weight: bold;"><B>Title</B></span> is the title of the node. By default \r
- the name of the service is used, but user can change it.</p></li>\r
- \r
- <li class=kadov-p><p class="whs3"><span \r
- style="font-weight: bold;"><B>Description of the service</B></span> - provides \r
- a brief description of the service used in this node: the name of the \r
- used service, the name of the component, which exports the used service</p></li>\r
- \r
- <li class=kadov-p><p class="whs3"><span \r
- style="font-weight: bold;"><B>Status of execution</B></span> \96 this string indicates \r
- the current status of the node. Could be one of the following: Running, \r
- Suspended, Finished, Killed, Waiting, or Aborted.</p></li>\r
- \r
- <li class=kadov-p><p class="whs3"><span \r
- style="font-weight: bold;"><B>Time of execution </B></span>is a time of node \r
- execution in a launched dataflow.</p></li>\r
- \r
- <li class=kadov-p><p class="whs3"><span \r
- style="font-weight: bold;"><B>InGate/OutGate</B></span> \96 control ports of the \r
- node execution. The nodes with connected gates will execute consequently.</p></li>\r
- \r
- <li class=kadov-p><p class="whs3"><span \r
- style="font-weight: bold;"><B>Input / Output ports</B></span> \96 ports \r
- for input and output parameters. If Input or Output port has a predefined \r
- value (constant) then this value will be shown and port will be highlighted \r
- by rectangle. Node can have as many Input and Output ports as it is necessary \r
- for the user.</p></li>\r
-</ul>\r
-\r
-<p class="whs3"> </p>\r
-\r
-<p class="whs3"> </p>\r
-\r
-<p class="whs3"> </p>\r
-\r
-<p class="whs3">\r
-<a href="javascript:void(0);" onClick="var e; if (parseInt(navigator.appVersion)>=4){e=event;} if (parseInt(navigator.appVersion) >=2 && typeof(PopupMenu_Invoke) == 'function') PopupMenu_Invoke(e,'','About nodes','about_nodes.htm','Adding nodes','adding_nodes.htm');return false;" title="Related Topics"><img src="../ss_btn_related_topics.gif" border=0 height=17 width=82 alt="Related Topics"></a></p>\r
-\r
-<p class="whs3"> </p>\r
-\r
-<p class="whs3"> </p>\r
-\r
-<p class="whs3"> </p>\r
-\r
-<script type="text/javascript" language="JavaScript" title="WebHelpRelatedTopics"><!--\r
-if (parseInt(navigator.appVersion) >= 3 && typeof (WritePopupMenuLayer) == "function")\r
- WritePopupMenuLayer();\r
-//--></script><script type="text/javascript" language="javascript1.2">\r
-<!--\r
-if (window.writeIntopicBar)\r
- writeIntopicBar(0);\r
-//-->\r
-</script>\r
-</body>\r
-\r
-</html>\r
+++ /dev/null
-<!doctype HTML public "-//W3C//DTD HTML 4.0 Frameset//EN">\r
-\r
-<html>\r
-\r
-<!--(==============================================================)-->\r
-<!--(Document created with RoboEditor. )============================-->\r
-<!--(==============================================================)-->\r
-\r
-<head>\r
-\r
-<title>Controlling execution of the graphs</title>\r
-\r
-<!--(Meta)==========================================================-->\r
-\r
-<meta http-equiv=content-type content="text/html; charset=windows-1252">\r
-<meta name=generator content="RoboHELP by eHelp Corporation - www.ehelp.com">\r
-<meta name=generator-major-version content=0.1>\r
-<meta name=generator-minor-version content=1>\r
-<meta name=filetype content=kadov>\r
-<meta name=filetype-version content=1>\r
-<meta name=page-count content=1>\r
-<meta name=layout-height content=573>\r
-<meta name=layout-width content=614>\r
-\r
-\r
-<!--(Links)=========================================================-->\r
-\r
- <link rel='stylesheet' href='../default_ns.css'>\r
-<script type="text/javascript" language="JavaScript" title="WebHelpSplitCss">\r
-<!--\r
-if (navigator.appName !="Netscape")\r
-{ document.write("<link rel='stylesheet' href='../default.css'>");}\r
-//-->\r
-</script>\r
-<style type="text/css">\r
-<!--\r
-h1.whs1 {font-family: 'Times New Roman', serif;}\r
-p.whs2 {font-family: 'Times New Roman', serif; font-style: normal; color: #000000;}\r
-img_whs3 {border-style: none; border: none; width: 30px; height: 30px; float: none;}\r
-p.whs4 {font-family: 'Times New Roman', serif; font-style: normal;}\r
-p.whs5 {font-family: 'Times New Roman', serif; margin-left: 40px;}\r
-p.whs6 {font-family:'Times New Roman' , serif; font-weight:bold; margin-left:0px; background-image:url(../texture_horiz_ltbluebubbles.jpg); }\r
-img_whs7 {border-style: none; border: none; float: none; width: 36px; height: 38px;}\r
-p.whs8 {font-family: 'Times New Roman', serif; font-weight: bold; margin-left: 0px;}\r
-p.whs9 {font-family: 'Times New Roman', serif; margin-left: 0px; font-weight: normal;}\r
-p.whs10 {font-family: 'Times New Roman', serif; margin-left: 40px; font-style: normal; color: #000000;}\r
--->\r
-</style>\r
-<script type="text/javascript" language="JavaScript">\r
-<!--\r
-if ((navigator.appName == "Netscape") && (parseInt(navigator.appVersion) == 4))\r
-{\r
- var strNSS = "<style type='text/css'>";\r
- strNSS += "p.whs6 {margin-left:1; }";\r
- strNSS += "p.whs8 {margin-left:1; }";\r
- strNSS += "p.whs9 {margin-left:1; }";\r
- strNSS +="</style>";\r
- document.write(strNSS);\r
-}\r
-//-->\r
-</script>\r
-<script type="text/javascript" language="JavaScript" title="BSSC Special Effects" src="../ehlpdhtm.js"></script><script type="text/javascript" language="JavaScript" title="WebHelpInlineScript">\r
-<!--\r
-function reDo() {\r
- if (innerWidth != origWidth || innerHeight != origHeight)\r
- location.reload();\r
-}\r
-if ((parseInt(navigator.appVersion) == 4) && (navigator.appName == "Netscape")) {\r
- origWidth = innerWidth;\r
- origHeight = innerHeight;\r
- onresize = reDo;\r
-}\r
-onerror = null; \r
-//-->\r
-</script>\r
-<style type="text/css">\r
-<!--\r
- div.WebHelpPopupMenu {position:absolute; left:0px; top:0px; z-index:4; visibility:hidden;}\r
--->\r
-</style>\r
-<script type="text/javascript" language="javascript1.2" src="../whmsg.js"></script>\r
-<script type="text/javascript" language="javascript" src="../whver.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="../whproxy.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="../whutils.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="../whtopic.js"></script>\r
-</head>\r
-\r
-<!--(Body)==========================================================-->\r
-\r
-\r
-<body>\r
-\r
-<script type="text/javascript" language="javascript1.2">\r
-<!--\r
-if (window.gbWhTopic)\r
-{\r
- if (window.addTocInfo)\r
- {\r
- addTocInfo("SUPERVISION module\nInitializing and executing graphs\nControlling execution of the graph");\r
-addButton("show",BTN_TEXT,"Show","","","","",0,0,"","","");\r
-\r
- }\r
- if (window.writeBtnStyle)\r
- writeBtnStyle();\r
-\r
- if (window.writeIntopicBar)\r
- writeIntopicBar(1);\r
-\r
- if (window.setRelStartPage)\r
- {\r
- setRelStartPage("../supervision.html");\r
-\r
- autoSync(0);\r
- sendSyncInfo();\r
- sendAveInfoOut();\r
- }\r
-}\r
-else\r
- document.location.reload();\r
-//-->\r
-</script>\r
-<h1 class="whs1">Controlling execution \r
- of the graphs</h1>\r
-\r
-<p class="whs2"><span style="font-size: 12pt;"><font size=3 style="font-size:12pt;"><img src="../i_blue.jpg" x-maintain-ratio="TRUE" width="30px" height="30px" border="0" class="img_whs3"></font></span>In SUPERVISION you can interactively control execution \r
- of a graph.</p>\r
-\r
-<p class="whs2"> </p>\r
-\r
-<p class=TODO>To Suspend/Kill execution of the graph on a definite node:</p>\r
-\r
-<p class="whs4"> </p>\r
-\r
-<p class="whs5">1. \r
- Launch execution of your graph.</p>\r
-\r
-<p class="whs5"> </p>\r
-\r
-<p class="whs5">2. \r
- Right-click on the <span style="font-weight: bold;"><B>Title </B></span>part \r
- of the<span style="font-weight: bold;"> <B></B></span>node, which hasn't yet \r
- been executed and from the pop-up select <span style="font-weight: bold;"><B>Suspend/Kill \r
- </B></span>option<span style="font-weight: bold;"><B>.</B></span></p>\r
-\r
-<p class="whs5"> </p>\r
-\r
-<p class="whs6"><img src="../note1.gif" x-maintain-ratio="TRUE" width="36px" height="38px" border="0" class="img_whs7"> <span style="font-weight: normal;">You can't </span>suspend \r
- <span style="font-weight: normal;">execution of a node in</span> Running \r
- <span style="font-weight: normal;">state, only in</span> Waiting <span \r
- style="font-weight: normal;">state.</span></p>\r
-\r
-<p class="whs8"> </p>\r
-\r
-<p class="whs9">If execution of the graph has been suspended \r
- (<span style="font-weight: bold;"><B>NOT</B></span> killed) on a definite node, \r
- it can be resumed.</p>\r
-\r
-<p class="whs9"> </p>\r
-\r
-<p class=TODO>To resume execution of a graph:</p>\r
-\r
-<p class="whs9"> </p>\r
-\r
-<p class="whs10">Right-click on the <span style="font-weight: bold;"><B>Title \r
- </B></span>part of the<span style="font-weight: bold;"> <B></B></span>node, on which \r
- execution of the graph has been suspended and \r
- from the pop-up select <span style="font-weight: bold;"><B>Resume </B></span>option<span \r
- style="font-weight: bold;"><B>.</B></span></p>\r
-\r
-<p class="whs10"> </p>\r
-\r
-<p class="whs8"> </p>\r
-\r
-<p class="whs8"> </p>\r
-\r
-<p class="whs8">\r
-<a href="javascript:void(0);" onClick="var e; if (parseInt(navigator.appVersion)>=4){e=event;} if (parseInt(navigator.appVersion) >=2 && typeof(PopupMenu_Invoke) == 'function') PopupMenu_Invoke(e,'','Running dataflow','running_dataflow.htm','Step-by-Step execution','step-by-step_execution.htm');return false;" title="Related Topics"><img src="../ss_btn_related_topics.gif" border=0 height=17 width=82 alt="Related Topics"></a></p>\r
-\r
-<p class="whs8"> </p>\r
-\r
-<p class="whs8"> </p>\r
-\r
-<script type="text/javascript" language="JavaScript" title="WebHelpRelatedTopics"><!--\r
-if (parseInt(navigator.appVersion) >= 3 && typeof (WritePopupMenuLayer) == "function")\r
- WritePopupMenuLayer();\r
-//--></script><script type="text/javascript" language="javascript1.2">\r
-<!--\r
-if (window.writeIntopicBar)\r
- writeIntopicBar(0);\r
-//-->\r
-</script>\r
-</body>\r
-\r
-</html>\r
+++ /dev/null
-<!doctype HTML public "-//W3C//DTD HTML 4.0 Frameset//EN">\r
-\r
-<html>\r
-\r
-<!--(==============================================================)-->\r
-<!--(Document created with RoboEditor. )============================-->\r
-<!--(==============================================================)-->\r
-\r
-<head>\r
-\r
-<title>Copying graphs</title>\r
-\r
-<!--(Meta)==========================================================-->\r
-\r
-<meta http-equiv=content-type content="text/html; charset=windows-1252">\r
-<meta name=generator content="RoboHELP by eHelp Corporation - www.ehelp.com">\r
-<meta name=generator-major-version content=0.1>\r
-<meta name=generator-minor-version content=1>\r
-<meta name=filetype content=kadov>\r
-<meta name=filetype-version content=1>\r
-<meta name=page-count content=1>\r
-<meta name=layout-height content=394>\r
-<meta name=layout-width content=700>\r
-\r
-\r
-<!--(Links)=========================================================-->\r
-\r
- <link rel='stylesheet' href='../default_ns.css'>\r
-<script type="text/javascript" language="JavaScript" title="WebHelpSplitCss">\r
-<!--\r
-if (navigator.appName !="Netscape")\r
-{ document.write("<link rel='stylesheet' href='../default.css'>");}\r
-//-->\r
-</script>\r
-<style type="text/css">\r
-<!--\r
-h1.whs1 {font-family: 'Times New Roman', serif;}\r
-p.whs2 {text-align: JUSTIFY; font-family: 'Times New Roman', serif; font-size: 12pt;}\r
-img_whs3 {border-style: none; border: none; width: 30px; height: 30px; float: none;}\r
-p.whs4 {text-align: JUSTIFY; font-family: 'Times New Roman', serif; font-size: 12pt; margin-left: 40px;}\r
-p.whs5 {text-align: CENTER; font-family: 'Times New Roman', serif; font-size: 12pt;}\r
-p.whs6 {font-family: 'Times New Roman', serif; font-size: 12pt;}\r
--->\r
-</style>\r
-<script type="text/javascript" language="JavaScript" title="BSSC Special Effects" src="../ehlpdhtm.js"></script><script type="text/javascript" language="JavaScript" title="WebHelpInlineScript">\r
-<!--\r
-function reDo() {\r
- if (innerWidth != origWidth || innerHeight != origHeight)\r
- location.reload();\r
-}\r
-if ((parseInt(navigator.appVersion) == 4) && (navigator.appName == "Netscape")) {\r
- origWidth = innerWidth;\r
- origHeight = innerHeight;\r
- onresize = reDo;\r
-}\r
-onerror = null; \r
-//-->\r
-</script>\r
-<style type="text/css">\r
-<!--\r
- div.WebHelpPopupMenu {position:absolute; left:0px; top:0px; z-index:4; visibility:hidden;}\r
--->\r
-</style>\r
-<script type="text/javascript" language="javascript1.2" src="../whmsg.js"></script>\r
-<script type="text/javascript" language="javascript" src="../whver.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="../whproxy.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="../whutils.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="../whtopic.js"></script>\r
-</head>\r
-\r
-<!--(Body)==========================================================-->\r
-\r
-\r
-<body>\r
-\r
-<script type="text/javascript" language="javascript1.2">\r
-<!--\r
-if (window.gbWhTopic)\r
-{\r
- if (window.addTocInfo)\r
- {\r
- addTocInfo("SUPERVISION module\nEditing graphs\nCopying graphs");\r
-addButton("show",BTN_TEXT,"Show","","","","",0,0,"","","");\r
-\r
- }\r
- if (window.writeBtnStyle)\r
- writeBtnStyle();\r
-\r
- if (window.writeIntopicBar)\r
- writeIntopicBar(1);\r
-\r
- if (window.setRelStartPage)\r
- {\r
- setRelStartPage("../supervision.html");\r
-\r
- autoSync(0);\r
- sendSyncInfo();\r
- sendAveInfoOut();\r
- }\r
-}\r
-else\r
- document.location.reload();\r
-//-->\r
-</script>\r
-<h1 class="whs1">Copying graphs</h1>\r
-\r
-<p class="whs2"><img src="../i_blue.jpg" x-maintain-ratio="TRUE" width="30px" height="30px" border="0" class="img_whs3">In <span style="font-weight: bold;"><B>SUPERVISION</B></span> \r
- there is another mean to get a new window of the SUPERVISION when you \r
- copy an already open graph into a new window. </p>\r
-\r
-<p class="whs2"> </p>\r
-\r
-<p class=TODO>To copy a graph:</p>\r
-\r
-<p class="whs2"> </p>\r
-\r
-<p class="whs4">Right-click on the background of the SUPERVISION \r
- viewer window containing your graph and from the pop-up menu choose <span \r
- style="font-weight: bold;"><B>Copy Dataflow</B></span> option.</p>\r
-\r
-<p class="whs2"> </p>\r
-\r
-<p align="center" class="whs5"> </p>\r
-\r
-<p class="whs2">A new SUPERVISION window containing a copy \r
- of the graph will be created. </p>\r
-\r
-<p class="whs6"> </p>\r
-\r
-<p class="whs6"> </p>\r
-\r
-<p class="whs6">\r
-<a href="javascript:void(0);" onClick="var e; if (parseInt(navigator.appVersion)>=4){e=event;} if (parseInt(navigator.appVersion) >=2 && typeof(PopupMenu_Invoke) == 'function') PopupMenu_Invoke(e,'','Creating a new graph','creating_a_new_graph.htm','Usage of SUPERVISION module','usage_of_supervisor_module.htm');return false;" title="Related Topics"><img src="../ss_btn_related_topics.gif" border=0 height=17 width=82 alt="Related Topics"></a></p>\r
-\r
-<p class="whs6"> </p>\r
-\r
-<p class="whs6"> </p>\r
-\r
-<script type="text/javascript" language="JavaScript" title="WebHelpRelatedTopics"><!--\r
-if (parseInt(navigator.appVersion) >= 3 && typeof (WritePopupMenuLayer) == "function")\r
- WritePopupMenuLayer();\r
-//--></script><script type="text/javascript" language="javascript1.2">\r
-<!--\r
-if (window.writeIntopicBar)\r
- writeIntopicBar(0);\r
-//-->\r
-</script>\r
-</body>\r
-\r
-</html>\r
+++ /dev/null
-<!doctype HTML public "-//W3C//DTD HTML 4.0 Frameset//EN">\r
-\r
-<html>\r
-\r
-<!--(==============================================================)-->\r
-<!--(Document created with RoboEditor. )============================-->\r
-<!--(==============================================================)-->\r
-\r
-<head>\r
-\r
-<title>Creating a new graph</title>\r
-\r
-<!--(Meta)==========================================================-->\r
-\r
-<meta http-equiv=content-type content="text/html; charset=windows-1252">\r
-<meta name=generator content="RoboHELP by eHelp Corporation - www.ehelp.com">\r
-<meta name=generator-major-version content=0.1>\r
-<meta name=generator-minor-version content=1>\r
-<meta name=filetype content=kadov>\r
-<meta name=filetype-version content=1>\r
-<meta name=page-count content=1>\r
-<meta name=layout-height content=861>\r
-<meta name=layout-width content=700>\r
-\r
-\r
-<!--(Links)=========================================================-->\r
-\r
- <link rel='stylesheet' href='../default_ns.css'>\r
-<script type="text/javascript" language="JavaScript" title="WebHelpSplitCss">\r
-<!--\r
-if (navigator.appName !="Netscape")\r
-{ document.write("<link rel='stylesheet' href='../default.css'>");}\r
-//-->\r
-</script>\r
-<style type="text/css">\r
-<!--\r
-h1.whs1 {font-family: 'Times New Roman', serif;}\r
-p.whs2 {text-align: JUSTIFY; font-family: 'Times New Roman', serif; font-size: 12pt; margin-left: 40px;}\r
-img_whs3 {border-style: none; width: 30px; height: 30px;}\r
-p.whs4 {text-align: JUSTIFY; font-family: 'Times New Roman', serif; font-size: 12pt; margin-left: 0px;}\r
-p.whs5 {text-align: JUSTIFY; font-size: 12pt; margin-left: 40px;}\r
-img_whs6 {border-style: none; border: none; width: 574px; height: 411px; float: none;}\r
-p.whs7 {text-align: JUSTIFY; font-family: 'Times New Roman', serif; font-size: 12pt;}\r
--->\r
-</style>\r
-<script type="text/javascript" language="JavaScript">\r
-<!--\r
-if ((navigator.appName == "Netscape") && (parseInt(navigator.appVersion) == 4))\r
-{\r
- var strNSS = "<style type='text/css'>";\r
- strNSS += "p.whs4 {margin-left:1; }";\r
- strNSS +="</style>";\r
- document.write(strNSS);\r
-}\r
-//-->\r
-</script>\r
-<script type="text/javascript" language="JavaScript" title="BSSC Special Effects" src="../ehlpdhtm.js"></script><script type="text/javascript" language="JavaScript" title="WebHelpInlineScript">\r
-<!--\r
-function reDo() {\r
- if (innerWidth != origWidth || innerHeight != origHeight)\r
- location.reload();\r
-}\r
-if ((parseInt(navigator.appVersion) == 4) && (navigator.appName == "Netscape")) {\r
- origWidth = innerWidth;\r
- origHeight = innerHeight;\r
- onresize = reDo;\r
-}\r
-onerror = null; \r
-//-->\r
-</script>\r
-<style type="text/css">\r
-<!--\r
- div.WebHelpPopupMenu {position:absolute; left:0px; top:0px; z-index:4; visibility:hidden;}\r
--->\r
-</style>\r
-<script type="text/javascript" language="javascript1.2" src="../whmsg.js"></script>\r
-<script type="text/javascript" language="javascript" src="../whver.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="../whproxy.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="../whutils.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="../whtopic.js"></script>\r
-</head>\r
-\r
-<!--(Body)==========================================================-->\r
-\r
-\r
-<body>\r
-\r
-<script type="text/javascript" language="javascript1.2">\r
-<!--\r
-if (window.gbWhTopic)\r
-{\r
- if (window.addTocInfo)\r
- {\r
- addTocInfo("SUPERVISION module\nEditing graphs\nCreating a new graph");\r
-addButton("show",BTN_TEXT,"Show","","","","",0,0,"","","");\r
-\r
- }\r
- if (window.writeBtnStyle)\r
- writeBtnStyle();\r
-\r
- if (window.writeIntopicBar)\r
- writeIntopicBar(1);\r
-\r
- if (window.setRelStartPage)\r
- {\r
- setRelStartPage("../supervision.html");\r
-\r
- autoSync(0);\r
- sendSyncInfo();\r
- sendAveInfoOut();\r
- }\r
-}\r
-else\r
- document.location.reload();\r
-//-->\r
-</script>\r
-<h1 class="whs1">Creating a new graph</h1>\r
-\r
-<p> </p>\r
-\r
-<p class=TODO>To create a new graph:</p>\r
-\r
-<p class="whs2"> </p>\r
-\r
-<p class="whs2">Click <img src="../supervisor(eng)_image6.gif" width="30px" height="30px" border="0" class="img_whs3"> icon in \r
- the SUPERVISION toolbar or form the main menu choose <span style="font-weight: bold;"><B>Edit \r
- > New Dataflow</B></span>. After it a new window with SUPERVISION viewer \r
- will be automatically created and you will see the dialog box allowing \r
- to add nodes into your graph. (<a href="adding_nodes.htm">see also: Adding \r
- nodes</a>)</p>\r
-\r
-<p class="whs2"> </p>\r
-\r
-<p class="whs4">On the following picture you can see an \r
- example of a simple constructed graph containing four linked nodes:</p>\r
-\r
-<p class="whs4"> </p>\r
-\r
-<p class="whs5"> <img src="../pics/graphex.jpg" x-maintain-ratio="TRUE" width="574px" height="411px" border="0" class="img_whs6"></p>\r
-\r
-<p class="whs4"> </p>\r
-\r
-<p class="whs4"> </p>\r
-\r
-<p class="whs4"> </p>\r
-\r
-<p class="whs4">\r
-<a href="javascript:void(0);" onClick="var e; if (parseInt(navigator.appVersion)>=4){e=event;} if (parseInt(navigator.appVersion) >=2 && typeof(PopupMenu_Invoke) == 'function') PopupMenu_Invoke(e,'','Adding nodes','adding_nodes.htm','Exporting graphs','exporting_graphs.htm','Importing graphs from file','importing_graphs_from_file.htm','Usage of SUPERVISION module','usage_of_supervisor_module.htm');return false;" title="Related Topics"><img src="../ss_btn_related_topics.gif" border=0 height=17 width=82 alt="Related Topics"></a></p>\r
-\r
-<p class="whs4"> </p>\r
-\r
-<p class="whs4"> </p>\r
-\r
-<p> </p>\r
-\r
-<p class="whs7"> </p>\r
-\r
-<script type="text/javascript" language="JavaScript" title="WebHelpRelatedTopics"><!--\r
-if (parseInt(navigator.appVersion) >= 3 && typeof (WritePopupMenuLayer) == "function")\r
- WritePopupMenuLayer();\r
-//--></script><script type="text/javascript" language="javascript1.2">\r
-<!--\r
-if (window.writeIntopicBar)\r
- writeIntopicBar(0);\r
-//-->\r
-</script>\r
-</body>\r
-\r
-</html>\r
+++ /dev/null
-<!doctype HTML public "-//W3C//DTD HTML 4.0 Frameset//EN">\r
-\r
-<html>\r
-\r
-<!--(==============================================================)-->\r
-<!--(Document created with RoboEditor. )============================-->\r
-<!--(==============================================================)-->\r
-\r
-<head>\r
-\r
-<title>Deleting links</title>\r
-\r
-<!--(Meta)==========================================================-->\r
-\r
-<meta http-equiv=content-type content="text/html; charset=windows-1252">\r
-<meta name=generator content="RoboHELP by eHelp Corporation - www.ehelp.com">\r
-<meta name=generator-major-version content=0.1>\r
-<meta name=generator-minor-version content=1>\r
-<meta name=filetype content=kadov>\r
-<meta name=filetype-version content=1>\r
-<meta name=page-count content=1>\r
-<meta name=layout-height content=380>\r
-<meta name=layout-width content=700>\r
-\r
-\r
-<!--(Links)=========================================================-->\r
-\r
- <link rel='stylesheet' href='../default_ns.css'>\r
-<script type="text/javascript" language="JavaScript" title="WebHelpSplitCss">\r
-<!--\r
-if (navigator.appName !="Netscape")\r
-{ document.write("<link rel='stylesheet' href='../default.css'>");}\r
-//-->\r
-</script>\r
-<style type="text/css">\r
-<!--\r
-h1.whs1 {font-family: 'Times New Roman', serif;}\r
-p.whs2 {text-align: JUSTIFY; font-family: 'Times New Roman', serif; font-size: 12pt;}\r
-p.whs3 {text-align: JUSTIFY; font-family: 'Times New Roman', serif; font-size: 12pt; margin-left: 40px;}\r
-p.whs4 {text-align: CENTER; font-family: 'Times New Roman', serif; font-size: 12pt;}\r
-p.whs5 {font-family: 'Times New Roman', serif; font-size: 12pt;}\r
--->\r
-</style>\r
-<script type="text/javascript" language="JavaScript" title="BSSC Special Effects" src="../ehlpdhtm.js"></script><script type="text/javascript" language="JavaScript" title="WebHelpInlineScript">\r
-<!--\r
-function reDo() {\r
- if (innerWidth != origWidth || innerHeight != origHeight)\r
- location.reload();\r
-}\r
-if ((parseInt(navigator.appVersion) == 4) && (navigator.appName == "Netscape")) {\r
- origWidth = innerWidth;\r
- origHeight = innerHeight;\r
- onresize = reDo;\r
-}\r
-onerror = null; \r
-//-->\r
-</script>\r
-<style type="text/css">\r
-<!--\r
- div.WebHelpPopupMenu {position:absolute; left:0px; top:0px; z-index:4; visibility:hidden;}\r
--->\r
-</style>\r
-<script type="text/javascript" language="javascript1.2" src="../whmsg.js"></script>\r
-<script type="text/javascript" language="javascript" src="../whver.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="../whproxy.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="../whutils.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="../whtopic.js"></script>\r
-</head>\r
-\r
-<!--(Body)==========================================================-->\r
-\r
-\r
-<body>\r
-\r
-<script type="text/javascript" language="javascript1.2">\r
-<!--\r
-if (window.gbWhTopic)\r
-{\r
- if (window.addTocInfo)\r
- {\r
- addTocInfo("SUPERVISION module\nEditing graphs\nLinking nodes\nDeleting links");\r
-addButton("show",BTN_TEXT,"Show","","","","",0,0,"","","");\r
-\r
- }\r
- if (window.writeBtnStyle)\r
- writeBtnStyle();\r
-\r
- if (window.writeIntopicBar)\r
- writeIntopicBar(1);\r
-\r
- if (window.setRelStartPage)\r
- {\r
- setRelStartPage("../supervision.html");\r
-\r
- autoSync(0);\r
- sendSyncInfo();\r
- sendAveInfoOut();\r
- }\r
-}\r
-else\r
- document.location.reload();\r
-//-->\r
-</script>\r
-<h1 class="whs1">Deleting links</h1>\r
-\r
-<p class=TODO>To delete a link between two ports:</p>\r
-\r
-<p class="whs2"> </p>\r
-\r
-<p class="whs3">Right-click on this link and from the pop-up \r
- menu choose <span style="font-weight: bold;"><B>Delete Link </B></span><span>option.</span></p>\r
-\r
-<p class="whs2"> </p>\r
-\r
-<p class=TODO>To delete a link, which you have already begun to construct:</p>\r
-\r
-<p class="whs2"> </p>\r
-\r
-<p class="whs3">While creating this link right-click with \r
- your mouse and from the pop-up menu choose <span style="font-weight: bold;"><B>Delete \r
- Link </B></span>option. </p>\r
-\r
-<p class="whs3"> </p>\r
-\r
-<p align="center" class="whs4"> </p>\r
-\r
-<p class="whs5">\r
-<a href="javascript:void(0);" onClick="var e; if (parseInt(navigator.appVersion)>=4){e=event;} if (parseInt(navigator.appVersion) >=2 && typeof(PopupMenu_Invoke) == 'function') PopupMenu_Invoke(e,'','Linking node ports','adding_links_from_an_output_port.htm','Modifying links','modifying_links.htm','Points in links','points_in_links.htm');return false;" title="Related Topics"><img src="../ss_btn_related_topics.gif" border=0 height=17 width=82 alt="Related Topics"></a></p>\r
-\r
-<script type="text/javascript" language="JavaScript" title="WebHelpRelatedTopics"><!--\r
-if (parseInt(navigator.appVersion) >= 3 && typeof (WritePopupMenuLayer) == "function")\r
- WritePopupMenuLayer();\r
-//--></script><script type="text/javascript" language="javascript1.2">\r
-<!--\r
-if (window.writeIntopicBar)\r
- writeIntopicBar(0);\r
-//-->\r
-</script>\r
-</body>\r
-\r
-</html>\r
+++ /dev/null
-<!doctype HTML public "-//W3C//DTD HTML 4.0 Frameset//EN">\r
-\r
-<html>\r
-\r
-<!--(==============================================================)-->\r
-<!--(Document created with RoboEditor. )============================-->\r
-<!--(==============================================================)-->\r
-\r
-<head>\r
-\r
-<title>Deleting nodes</title>\r
-\r
-<!--(Meta)==========================================================-->\r
-\r
-<meta http-equiv=content-type content="text/html; charset=windows-1252">\r
-<meta name=generator content="RoboHELP by eHelp Corporation - www.ehelp.com">\r
-<meta name=generator-major-version content=0.1>\r
-<meta name=generator-minor-version content=1>\r
-<meta name=filetype content=kadov>\r
-<meta name=filetype-version content=1>\r
-<meta name=page-count content=1>\r
-<meta name=layout-height content=380>\r
-<meta name=layout-width content=614>\r
-\r
-\r
-<!--(Links)=========================================================-->\r
-\r
- <link rel='stylesheet' href='../default_ns.css'>\r
-<script type="text/javascript" language="JavaScript" title="WebHelpSplitCss">\r
-<!--\r
-if (navigator.appName !="Netscape")\r
-{ document.write("<link rel='stylesheet' href='../default.css'>");}\r
-//-->\r
-</script>\r
-<style type="text/css">\r
-<!--\r
-h1.whs1 {font-family: 'Times New Roman', serif;}\r
-p.whs2 {font-family:'Times New Roman' , serif; font-size:12pt; background-image:url(../texture_horiz_ltbluebubbles.jpg); }\r
-img_whs3 {border-style: none; border: none; float: none; width: 36px; height: 38px;}\r
-p.whs4 {text-align: JUSTIFY; font-size: 12pt; font-family: 'Times New Roman', serif;}\r
-p.whs5 {text-align: JUSTIFY; font-size: 12pt; font-family: 'Times New Roman', serif; margin-left: 40px;}\r
-p.whs6 {font-size: 12pt; font-family: 'Times New Roman', serif;}\r
--->\r
-</style>\r
-<script type="text/javascript" language="JavaScript" title="BSSC Special Effects" src="../ehlpdhtm.js"></script><script type="text/javascript" language="JavaScript" title="WebHelpInlineScript">\r
-<!--\r
-function reDo() {\r
- if (innerWidth != origWidth || innerHeight != origHeight)\r
- location.reload();\r
-}\r
-if ((parseInt(navigator.appVersion) == 4) && (navigator.appName == "Netscape")) {\r
- origWidth = innerWidth;\r
- origHeight = innerHeight;\r
- onresize = reDo;\r
-}\r
-onerror = null; \r
-//-->\r
-</script>\r
-<style type="text/css">\r
-<!--\r
- div.WebHelpPopupMenu {position:absolute; left:0px; top:0px; z-index:4; visibility:hidden;}\r
--->\r
-</style>\r
-<script type="text/javascript" language="javascript1.2" src="../whmsg.js"></script>\r
-<script type="text/javascript" language="javascript" src="../whver.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="../whproxy.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="../whutils.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="../whtopic.js"></script>\r
-</head>\r
-\r
-<!--(Body)==========================================================-->\r
-\r
-\r
-<body>\r
-\r
-<script type="text/javascript" language="javascript1.2">\r
-<!--\r
-if (window.gbWhTopic)\r
-{\r
- if (window.addTocInfo)\r
- {\r
- addTocInfo("SUPERVISION module\nEditing graphs\nNodes in the graph\nDeleting nodes");\r
-addButton("show",BTN_TEXT,"Show","","","","",0,0,"","","");\r
-\r
- }\r
- if (window.writeBtnStyle)\r
- writeBtnStyle();\r
-\r
- if (window.writeIntopicBar)\r
- writeIntopicBar(1);\r
-\r
- if (window.setRelStartPage)\r
- {\r
- setRelStartPage("../supervision.html");\r
-\r
- autoSync(0);\r
- sendSyncInfo();\r
- sendAveInfoOut();\r
- }\r
-}\r
-else\r
- document.location.reload();\r
-//-->\r
-</script>\r
-<h1 class="whs1">Deleting nodes</h1>\r
-\r
-<p class="whs2"><img src="../note1.gif" x-maintain-ratio="TRUE" width="36px" height="38px" border="0" class="img_whs3"> This action of insertion is possible only if the main graph \r
- is modifiable, not a read-only one. </p>\r
-\r
-<p> </p>\r
-\r
-<p class=TODO>To delete a node of a graph:</p>\r
-\r
-<p class="whs4"> </p>\r
-\r
-<p class="whs5">Right-click on the <span style="font-weight: bold;"><B>Title</B></span> \r
- part of the node and select <span style="font-weight: bold;"><B>Delete</B></span> \r
- option</p>\r
-\r
-<p class="whs4"> </p>\r
-\r
-<p class="whs6">The \r
- node will be deleted from your graph.</p>\r
-\r
-<p class="whs6"> </p>\r
-\r
-<p class="whs6"> </p>\r
-\r
-<p class="whs6">\r
-<a href="javascript:void(0);" onClick="var e; if (parseInt(navigator.appVersion)>=4){e=event;} if (parseInt(navigator.appVersion) >=2 && typeof(PopupMenu_Invoke) == 'function') PopupMenu_Invoke(e,'','About nodes','about_nodes.htm','Adding nodes','adding_nodes.htm');return false;" title="Related Topics"><img src="../ss_btn_related_topics.gif" border=0 height=17 width=82 alt="Related Topics"></a></p>\r
-\r
-<script type="text/javascript" language="JavaScript" title="WebHelpRelatedTopics"><!--\r
-if (parseInt(navigator.appVersion) >= 3 && typeof (WritePopupMenuLayer) == "function")\r
- WritePopupMenuLayer();\r
-//--></script><script type="text/javascript" language="javascript1.2">\r
-<!--\r
-if (window.writeIntopicBar)\r
- writeIntopicBar(0);\r
-//-->\r
-</script>\r
-</body>\r
-\r
-</html>\r
+++ /dev/null
-<!doctype HTML public "-//W3C//DTD HTML 4.0 Frameset//EN">\r
-\r
-<html>\r
-\r
-<!--(==============================================================)-->\r
-<!--(Document created with RoboEditor. )============================-->\r
-<!--(==============================================================)-->\r
-\r
-<head>\r
-\r
-<title>Directing dataflow between nodes</title>\r
-\r
-<!--(Meta)==========================================================-->\r
-\r
-<meta http-equiv=content-type content="text/html; charset=windows-1252">\r
-<meta name=generator content="RoboHELP by eHelp Corporation - www.ehelp.com">\r
-<meta name=generator-major-version content=0.1>\r
-<meta name=generator-minor-version content=1>\r
-<meta name=filetype content=kadov>\r
-<meta name=filetype-version content=1>\r
-<meta name=page-count content=1>\r
-<meta name=layout-height content=561>\r
-<meta name=layout-width content=614>\r
-\r
-\r
-<!--(Links)=========================================================-->\r
-\r
- <link rel='stylesheet' href='../default_ns.css'>\r
-<script type="text/javascript" language="JavaScript" title="WebHelpSplitCss">\r
-<!--\r
-if (navigator.appName !="Netscape")\r
-{ document.write("<link rel='stylesheet' href='../default.css'>");}\r
-//-->\r
-</script>\r
-<style type="text/css">\r
-<!--\r
-h1.whs1 {font-family: 'Times New Roman', serif;}\r
-img_whs2 {border-style: none; border: none; width: 30px; height: 30px; float: none;}\r
-p.whs3 {font-family: 'Times New Roman', serif;}\r
-ul.whs4 {list-style: disc;}\r
--->\r
-</style>\r
-<script type="text/javascript" language="JavaScript" title="BSSC Special Effects" src="../ehlpdhtm.js"></script><script type="text/javascript" language="JavaScript" title="WebHelpInlineScript">\r
-<!--\r
-function reDo() {\r
- if (innerWidth != origWidth || innerHeight != origHeight)\r
- location.reload();\r
-}\r
-if ((parseInt(navigator.appVersion) == 4) && (navigator.appName == "Netscape")) {\r
- origWidth = innerWidth;\r
- origHeight = innerHeight;\r
- onresize = reDo;\r
-}\r
-onerror = null; \r
-//-->\r
-</script>\r
-<style type="text/css">\r
-<!--\r
- div.WebHelpPopupMenu {position:absolute; left:0px; top:0px; z-index:4; visibility:hidden;}\r
--->\r
-</style>\r
-<script type="text/javascript" language="javascript1.2" src="../whmsg.js"></script>\r
-<script type="text/javascript" language="javascript" src="../whver.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="../whproxy.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="../whutils.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="../whtopic.js"></script>\r
-</head>\r
-\r
-<!--(Body)==========================================================-->\r
-\r
-\r
-<body>\r
-\r
-<script type="text/javascript" language="javascript1.2">\r
-<!--\r
-if (window.gbWhTopic)\r
-{\r
- if (window.addTocInfo)\r
- {\r
- addTocInfo("SUPERVISION module\nEditing graphs\nNodes in the graph\nDirecting dataflow between nodes");\r
-addButton("show",BTN_TEXT,"Show","","","","",0,0,"","","");\r
-\r
- }\r
- if (window.writeBtnStyle)\r
- writeBtnStyle();\r
-\r
- if (window.writeIntopicBar)\r
- writeIntopicBar(1);\r
-\r
- if (window.setRelStartPage)\r
- {\r
- setRelStartPage("../supervision.html");\r
-\r
- autoSync(0);\r
- sendSyncInfo();\r
- sendAveInfoOut();\r
- }\r
-}\r
-else\r
- document.location.reload();\r
-//-->\r
-</script>\r
-<h1 class="whs1">Directing dataflow between \r
- nodes</h1>\r
-\r
-<p><span style="font-weight: bold;"><B><img src="../i_blue.jpg" x-maintain-ratio="TRUE" width="30px" height="30px" border="0" class="img_whs2">SUPERVISION</B></span> component \r
- automatically defines for each node two special ports an <span style="font-weight: bold;"><B>Input \r
- Gate</B></span> and \r
- an <span style="font-weight: bold;"><B>Output Gate</B></span>. They are managed \r
- by SUPERVISION \r
- and are not arguments of services of nodes.</p>\r
-\r
-<p class="whs3">Sometimes the flow of \r
- data in a graph allow parallel execution of nodes ; but the implementation \r
- of the services of these nodes does not allow parallel execution ( services \r
- which are not thread-safe, internal dependencies, etc\85 ). These ports \r
- give the \r
- possibility to solve such problems. </p>\r
-\r
-<p class="whs3"> </p>\r
-\r
-<ul type="disc" class="whs4">\r
- \r
- <li class=kadov-p><p class="whs3">If \r
- there is no link on a Gate, the Gate is ignored at execution time.</p></li>\r
-</ul>\r
-\r
-<p class="whs3"> </p>\r
-\r
-<ul type="disc" class="whs4">\r
- \r
- <li class=kadov-p><p class="whs3">The \r
- internal type of these ports are boolean.</p></li>\r
-</ul>\r
-\r
-<p class="whs3"> </p>\r
-\r
-<ul type="disc" class="whs4">\r
- \r
- <li class=kadov-p><p class="whs3"> If \r
- there is a link from an output Gate of a node to an Input Gate, the node \r
- of the input Gate will be executed after the other node.</p></li>\r
-</ul>\r
-\r
-<p class="whs3"> </p>\r
-\r
-<ul type="disc" class="whs4">\r
- \r
- <li class=kadov-p><p class="whs3"> If \r
- an output port of a switch node is connected to an input gate, the node \r
- of the input gate will be executed only if the value of the output port \r
- is \93<span style="font-weight: bold;"><B>True</B></span>\94.</p></li>\r
-</ul>\r
-\r
-<p class="whs3"> </p>\r
-\r
-<ul type="disc" class="whs4">\r
- \r
- <li class=kadov-p><p class="whs3"> But \r
- an output gate may not be connected with a link to an input port.</p></li>\r
-</ul>\r
-\r
-<p class="whs3"> </p>\r
-\r
-<p class="whs3"> </p>\r
-\r
-<p class="whs3"> </p>\r
-\r
-<p class="whs3">\r
-<a href="javascript:void(0);" onClick="var e; if (parseInt(navigator.appVersion)>=4){e=event;} if (parseInt(navigator.appVersion) >=2 && typeof(PopupMenu_Invoke) == 'function') PopupMenu_Invoke(e,'','About nodes','about_nodes.htm','Adding nodes','adding_nodes.htm');return false;" title="Related Topics"><img src="../ss_btn_related_topics.gif" border=0 height=17 width=82 alt="Related Topics"></a></p>\r
-\r
-<p class="whs3"> </p>\r
-\r
-<p class="whs3"> </p>\r
-\r
-<script type="text/javascript" language="JavaScript" title="WebHelpRelatedTopics"><!--\r
-if (parseInt(navigator.appVersion) >= 3 && typeof (WritePopupMenuLayer) == "function")\r
- WritePopupMenuLayer();\r
-//--></script><script type="text/javascript" language="javascript1.2">\r
-<!--\r
-if (window.writeIntopicBar)\r
- writeIntopicBar(0);\r
-//-->\r
-</script>\r
-</body>\r
-\r
-</html>\r
+++ /dev/null
-<!doctype HTML public "-//W3C//DTD HTML 4.0 Frameset//EN">\r
-\r
-<html>\r
-\r
-<!--(==============================================================)-->\r
-<!--(Document created with RoboEditor. )============================-->\r
-<!--(==============================================================)-->\r
-\r
-<head>\r
-\r
-<title>Editing imported graphs</title>\r
-\r
-<!--(Meta)==========================================================-->\r
-\r
-<meta http-equiv=content-type content="text/html; charset=windows-1252">\r
-<meta name=generator content="RoboHELP by eHelp Corporation - www.ehelp.com">\r
-<meta name=generator-major-version content=0.1>\r
-<meta name=generator-minor-version content=1>\r
-<meta name=filetype content=kadov>\r
-<meta name=filetype-version content=1>\r
-<meta name=page-count content=1>\r
-<meta name=layout-height content=380>\r
-<meta name=layout-width content=700>\r
-\r
-\r
-<!--(Links)=========================================================-->\r
-\r
- <link rel='stylesheet' href='../default_ns.css'>\r
-<script type="text/javascript" language="JavaScript" title="WebHelpSplitCss">\r
-<!--\r
-if (navigator.appName !="Netscape")\r
-{ document.write("<link rel='stylesheet' href='../default.css'>");}\r
-//-->\r
-</script>\r
-<style type="text/css">\r
-<!--\r
-h1.whs1 {font-family: 'Times New Roman', serif;}\r
-p.whs2 {text-align: JUSTIFY; font-size: 12pt; margin-left: 40px;}\r
-img_whs3 {border-style: none; width: 30px; height: 30px;}\r
-p.whs4 {text-align: JUSTIFY; font-size: 12pt; font-family: 'Times New Roman', serif;}\r
-p.whs5 {text-align:JUSTIFY; font-size:12pt; font-family:'Times New Roman' , serif; background-image:url(../texture_horiz_ltbluebubbles.jpg); }\r
-img_whs6 {border-style: none; border: none; float: none; width: 36px; height: 38px;}\r
--->\r
-</style>\r
-<script type="text/javascript" language="JavaScript" title="WebHelpInlineScript">\r
-<!--\r
-function reDo() {\r
- if (innerWidth != origWidth || innerHeight != origHeight)\r
- location.reload();\r
-}\r
-if ((parseInt(navigator.appVersion) == 4) && (navigator.appName == "Netscape")) {\r
- origWidth = innerWidth;\r
- origHeight = innerHeight;\r
- onresize = reDo;\r
-}\r
-onerror = null; \r
-//-->\r
-</script>\r
-<style type="text/css">\r
-<!--\r
- div.WebHelpPopupMenu {position:absolute; left:0px; top:0px; z-index:4; visibility:hidden;}\r
--->\r
-</style>\r
-<script type="text/javascript" language="javascript1.2" src="../whmsg.js"></script>\r
-<script type="text/javascript" language="javascript" src="../whver.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="../whproxy.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="../whutils.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="../whtopic.js"></script>\r
-</head>\r
-\r
-<!--(Body)==========================================================-->\r
-\r
-\r
-<body>\r
-\r
-<script type="text/javascript" language="javascript1.2">\r
-<!--\r
-if (window.gbWhTopic)\r
-{\r
- if (window.addTocInfo)\r
- {\r
- addButton("show",BTN_TEXT,"Show","","","","",0,0,"","","");\r
-\r
- }\r
- if (window.writeBtnStyle)\r
- writeBtnStyle();\r
-\r
- if (window.writeIntopicBar)\r
- writeIntopicBar(1);\r
-\r
- if (window.setRelStartPage)\r
- {\r
- setRelStartPage("../supervision.html");\r
-\r
- autoSync(0);\r
- sendSyncInfo();\r
- sendAveInfoOut();\r
- }\r
-}\r
-else\r
- document.location.reload();\r
-//-->\r
-</script>\r
-<h1 class="whs1">Editing imported graphs</h1>\r
-\r
-<p class=TODO>To modify an existing graph: </p>\r
-\r
-<p class="whs2">Click <img src="../supervisor(eng)_image13.gif" width="30px" height="30px" border="0" class="img_whs3"> icon \r
- in the \r
- toolbar of <span style="font-weight: bold;"><B>SUPERVISION \r
- </B></span><span>module</span>. </p>\r
-\r
-<p class="whs4"> </p>\r
-\r
-<p class="whs4">You will see the same \r
- dialog box allowing to find and select a necessary file. After the selection \r
- of a file, a new window containing a graph will appear. </p>\r
-\r
-<p class="whs4"> </p>\r
-\r
-<p class="whs5"><img src="../note1.gif" x-maintain-ratio="TRUE" width="36px" height="38px" border="0" class="img_whs6"> There is no visual difference between <span style="font-weight: bold;"><B>read-only</B></span> \r
- graphs and <span style="font-weight: bold;"><B>modifiable</B></span> graphs. \r
- But the difference can be seen if you click in the main part of the window \r
- to open the pop-up menu: a modifiable graph has a pop-up menu containing \r
- several supplementary items allowing edition of a graph.</p>\r
-\r
-<script type="text/javascript" language="javascript1.2">\r
-<!--\r
-if (window.writeIntopicBar)\r
- writeIntopicBar(0);\r
-//-->\r
-</script>\r
-</body>\r
-\r
-</html>\r
+++ /dev/null
-<!doctype HTML public "-//W3C//DTD HTML 4.0 Frameset//EN">\r
-\r
-<html>\r
-\r
-<!--(==============================================================)-->\r
-<!--(Document created with RoboEditor. )============================-->\r
-<!--(==============================================================)-->\r
-\r
-<head>\r
-\r
-<title>Editing node function</title>\r
-\r
-<!--(Meta)==========================================================-->\r
-\r
-<meta http-equiv=content-type content="text/html; charset=windows-1252">\r
-<meta name=generator content="RoboHELP by eHelp Corporation - www.ehelp.com">\r
-<meta name=generator-major-version content=0.1>\r
-<meta name=generator-minor-version content=1>\r
-<meta name=filetype content=kadov>\r
-<meta name=filetype-version content=1>\r
-<meta name=page-count content=1>\r
-<meta name=layout-height content=380>\r
-<meta name=layout-width content=700>\r
-\r
-\r
-<!--(Links)=========================================================-->\r
-\r
- <link rel='stylesheet' href='../default_ns.css'>\r
-<script type="text/javascript" language="JavaScript" title="WebHelpSplitCss">\r
-<!--\r
-if (navigator.appName !="Netscape")\r
-{ document.write("<link rel='stylesheet' href='../default.css'>");}\r
-//-->\r
-</script>\r
-<style type="text/css">\r
-<!--\r
-h1.whs1 {font-family: 'Times New Roman', serif;}\r
-p.whs2 {font-family: 'Times New Roman', serif;}\r
-img_whs3 {border-style: none; border: none; width: 30px; height: 30px; float: none;}\r
-p.whs4 {font-family:'Times New Roman' , serif; background-image:url(../texture_horiz_ltbluebubbles.jpg); }\r
-img_whs5 {border-style: none; border: none; float: none; width: 36px; height: 38px;}\r
-p.whs6 {font-family: 'Times New Roman', serif; font-style: italic; color: #ff0000;}\r
-p.whs7 {font-family: 'Times New Roman', serif; margin-left: 40px; font-style: normal; color: #000000;}\r
-p.whs8 {font-family: 'Times New Roman', serif; font-size: 12pt; margin-left: 0px;}\r
--->\r
-</style>\r
-<script type="text/javascript" language="JavaScript">\r
-<!--\r
-if ((navigator.appName == "Netscape") && (parseInt(navigator.appVersion) == 4))\r
-{\r
- var strNSS = "<style type='text/css'>";\r
- strNSS += "p.whs8 {margin-left:1; }";\r
- strNSS +="</style>";\r
- document.write(strNSS);\r
-}\r
-//-->\r
-</script>\r
-<script type="text/javascript" language="JavaScript" title="BSSC Special Effects" src="../ehlpdhtm.js"></script><script type="text/javascript" language="JavaScript" title="WebHelpInlineScript">\r
-<!--\r
-function reDo() {\r
- if (innerWidth != origWidth || innerHeight != origHeight)\r
- location.reload();\r
-}\r
-if ((parseInt(navigator.appVersion) == 4) && (navigator.appName == "Netscape")) {\r
- origWidth = innerWidth;\r
- origHeight = innerHeight;\r
- onresize = reDo;\r
-}\r
-onerror = null; \r
-//-->\r
-</script>\r
-<style type="text/css">\r
-<!--\r
- div.WebHelpPopupMenu {position:absolute; left:0px; top:0px; z-index:4; visibility:hidden;}\r
--->\r
-</style>\r
-<script type="text/javascript" language="javascript1.2" src="../whmsg.js"></script>\r
-<script type="text/javascript" language="javascript" src="../whver.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="../whproxy.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="../whutils.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="../whtopic.js"></script>\r
-</head>\r
-\r
-<!--(Body)==========================================================-->\r
-\r
-\r
-<body>\r
-\r
-<script type="text/javascript" language="javascript1.2">\r
-<!--\r
-if (window.gbWhTopic)\r
-{\r
- if (window.addTocInfo)\r
- {\r
- addTocInfo("SUPERVISION module\nEditing graphs\nNodes in the graph\nEditing node function");\r
-addButton("show",BTN_TEXT,"Show","","","","",0,0,"","","");\r
-\r
- }\r
- if (window.writeBtnStyle)\r
- writeBtnStyle();\r
-\r
- if (window.writeIntopicBar)\r
- writeIntopicBar(1);\r
-\r
- if (window.setRelStartPage)\r
- {\r
- setRelStartPage("../supervision.html");\r
-\r
- autoSync(0);\r
- sendSyncInfo();\r
- sendAveInfoOut();\r
- }\r
-}\r
-else\r
- document.location.reload();\r
-//-->\r
-</script>\r
-<h1 class="whs1">Editing node function</h1>\r
-\r
-<p class="whs2"><span style="font-size: 12pt;"><font size=3 style="font-size:12pt;"><img src="../i_blue.jpg" x-maintain-ratio="TRUE" width="30px" height="30px" border="0" class="img_whs3"></font></span>In <span style="font-weight: bold;"><B>SUPERVISION</B></span> \r
- there is a possibility to edit the service of an already created node. \r
- </p>\r
-\r
-<p class="whs2"> </p>\r
-\r
-<p class="whs4"><img src="../note1.gif" x-maintain-ratio="TRUE" width="36px" height="38px" border="0" class="img_whs5">This option applies <span style="font-weight: bold;"><B>ONLY \r
- </B></span>to Inline nodes, not Factory and <span style="font-size: 12pt;"><font size=3 style="font-size:12pt;">is \r
- possible </font></span><span style="font-size: 12pt; font-weight: bold;"><font size=3 style="font-size:12pt;"><B>ONLY</B></font></span><span \r
- style="font-size: 12pt;"><font size=3 style="font-size:12pt;"> if the graph is modifiable, not a read-only \r
- one.</font></span></p>\r
-\r
-<p class="whs2"> </p>\r
-\r
-<p class=TODO>To edit node function:</p>\r
-\r
-<p class="whs6"> </p>\r
-\r
-<p class="whs7"><span style="font-size: 12pt;"><font size=3 style="font-size:12pt;">Right-click \r
- on the </font></span><span style="font-weight: bold;"><B>Title</B></span><span style="font-size: 12pt;"><font size=3 style="font-size:12pt;"> \r
- part of the node and select </font></span><span style="font-size: 12pt; font-weight: bold;"><font size=3 style="font-size:12pt;"><B>Edit \r
- function </B></font></span><span style="font-size: 12pt;"><font size=3 style="font-size:12pt;">item.</font></span></p>\r
-\r
-<p class="whs7"> </p>\r
-\r
-<p class="whs7"> </p>\r
-\r
-<p class="whs8">\r
-<a href="javascript:void(0);" onClick="var e; if (parseInt(navigator.appVersion)>=4){e=event;} if (parseInt(navigator.appVersion) >=2 && typeof(PopupMenu_Invoke) == 'function') PopupMenu_Invoke(e,'','About nodes','about_nodes.htm','Adding nodes','adding_nodes.htm','Creating a new graph','creating_a_new_graph.htm');return false;" title="Related Topics"><img src="../ss_btn_related_topics.gif" border=0 height=17 width=82 alt="Related Topics"></a></p>\r
-\r
-<script type="text/javascript" language="JavaScript" title="WebHelpRelatedTopics"><!--\r
-if (parseInt(navigator.appVersion) >= 3 && typeof (WritePopupMenuLayer) == "function")\r
- WritePopupMenuLayer();\r
-//--></script><script type="text/javascript" language="javascript1.2">\r
-<!--\r
-if (window.writeIntopicBar)\r
- writeIntopicBar(0);\r
-//-->\r
-</script>\r
-</body>\r
-\r
-</html>\r
+++ /dev/null
-<!doctype HTML public "-//W3C//DTD HTML 4.0 Frameset//EN">\r
-\r
-<html>\r
-\r
-<!--(==============================================================)-->\r
-<!--(Document created with RoboEditor. )============================-->\r
-<!--(==============================================================)-->\r
-\r
-<head>\r
-\r
-<title>Exporting graphs</title>\r
-\r
-<!--(Meta)==========================================================-->\r
-\r
-<meta http-equiv=content-type content="text/html; charset=windows-1252">\r
-<meta name=generator content="RoboHELP by eHelp Corporation - www.ehelp.com">\r
-<meta name=generator-major-version content=0.1>\r
-<meta name=generator-minor-version content=1>\r
-<meta name=filetype content=kadov>\r
-<meta name=filetype-version content=1>\r
-<meta name=page-count content=1>\r
-<meta name=layout-height content=390>\r
-<meta name=layout-width content=700>\r
-\r
-\r
-<!--(Links)=========================================================-->\r
-\r
- <link rel='stylesheet' href='../default_ns.css'>\r
-<script type="text/javascript" language="JavaScript" title="WebHelpSplitCss">\r
-<!--\r
-if (navigator.appName !="Netscape")\r
-{ document.write("<link rel='stylesheet' href='../default.css'>");}\r
-//-->\r
-</script>\r
-<style type="text/css">\r
-<!--\r
-h1.whs1 {text-align: justify;}\r
-p.whs2 {font-size: 12pt; text-align: justify;}\r
-img_whs3 {border-style: none; border: none; width: 30px; height: 30px; float: none;}\r
-p.whs4 {font-size: 12pt; font-style: italic; color: #ff0000; text-align: justify;}\r
-p.whs5 {font-size: 12pt; margin-left: 40px; text-align: justify;}\r
-img_whs6 {border-style: none; width: 30px; height: 30px;}\r
-p.whs7 {font-size: 12pt; margin-left: 0px; text-align: justify;}\r
--->\r
-</style>\r
-<script type="text/javascript" language="JavaScript">\r
-<!--\r
-if ((navigator.appName == "Netscape") && (parseInt(navigator.appVersion) == 4))\r
-{\r
- var strNSS = "<style type='text/css'>";\r
- strNSS += "p.whs7 {margin-left:1; }";\r
- strNSS +="</style>";\r
- document.write(strNSS);\r
-}\r
-//-->\r
-</script>\r
-<script type="text/javascript" language="JavaScript" title="BSSC Special Effects" src="../ehlpdhtm.js"></script><script type="text/javascript" language="JavaScript" title="WebHelpInlineScript">\r
-<!--\r
-function reDo() {\r
- if (innerWidth != origWidth || innerHeight != origHeight)\r
- location.reload();\r
-}\r
-if ((parseInt(navigator.appVersion) == 4) && (navigator.appName == "Netscape")) {\r
- origWidth = innerWidth;\r
- origHeight = innerHeight;\r
- onresize = reDo;\r
-}\r
-onerror = null; \r
-//-->\r
-</script>\r
-<style type="text/css">\r
-<!--\r
- div.WebHelpPopupMenu {position:absolute; left:0px; top:0px; z-index:4; visibility:hidden;}\r
--->\r
-</style>\r
-<script type="text/javascript" language="javascript1.2" src="../whmsg.js"></script>\r
-<script type="text/javascript" language="javascript" src="../whver.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="../whproxy.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="../whutils.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="../whtopic.js"></script>\r
-</head>\r
-\r
-<!--(Body)==========================================================-->\r
-\r
-\r
-<body>\r
-\r
-<script type="text/javascript" language="javascript1.2">\r
-<!--\r
-if (window.gbWhTopic)\r
-{\r
- if (window.addTocInfo)\r
- {\r
- addTocInfo("SUPERVISION module\nEditing graphs\nExporting graphs");\r
-addButton("show",BTN_TEXT,"Show","","","","",0,0,"","","");\r
-\r
- }\r
- if (window.writeBtnStyle)\r
- writeBtnStyle();\r
-\r
- if (window.writeIntopicBar)\r
- writeIntopicBar(1);\r
-\r
- if (window.setRelStartPage)\r
- {\r
- setRelStartPage("../supervision.html");\r
-\r
- autoSync(0);\r
- sendSyncInfo();\r
- sendAveInfoOut();\r
- }\r
-}\r
-else\r
- document.location.reload();\r
-//-->\r
-</script>\r
-<h1 class="whs1">Exporting graphs</h1>\r
-\r
-<p class="whs2"><img src="../i_blue.jpg" x-maintain-ratio="TRUE" width="30px" height="30px" border="0" class="img_whs3">The operation \r
- of exportation of a created graph allows to save it as *. xml \r
- file, which can be reloaded in future into the window of SUPERVISION. \r
- </p>\r
-\r
-<p class="whs4"> </p>\r
-\r
-<p class=TODO>To export a graph:</p>\r
-\r
-<p class="whs5">1. Click on the window of the graph to \r
- make it current and after it click \r
- <img src="../supervisor(eng)_image15.gif" width="30px" height="30px" border="0" class="img_whs6"> icon in \r
- the toolbar of SUPERVISION component or form the main menu select <span \r
- style="font-weight: bold;"><B>File > Export Dataflow. </B></span> </p>\r
-\r
-<p class="whs5"> </p>\r
-\r
-<p class="whs5">2. In the standard Search File dialog \r
- box choose the folder for storage of your graph or find and select an \r
- existing file if you want to update it or enter a new file name \r
- for your graph in the field <span style="font-weight: bold;"><B>File \r
- name</B></span>.</p>\r
-\r
-<p class="whs5"> </p>\r
-\r
-<p class="whs5">3. Click <span style="font-weight: bold;"><B>Save \r
- </B></span>to confirm exportation of the graph.</p>\r
-\r
-<p class="whs5"> </p>\r
-\r
-<p class="whs7"> </p>\r
-\r
-<p class="whs7">\r
-<a href="javascript:void(0);" onClick="var e; if (parseInt(navigator.appVersion)>=4){e=event;} if (parseInt(navigator.appVersion) >=2 && typeof(PopupMenu_Invoke) == 'function') PopupMenu_Invoke(e,'','Creating a new graph','creating_a_new_graph.htm','Importing graphs from file','importing_graphs_from_file.htm','Usage of SUPERVISION module','usage_of_supervisor_module.htm');return false;" title="Related Topics"><img src="../ss_btn_related_topics.gif" border=0 height=17 width=82 alt="Related Topics"></a></p>\r
-\r
-<script type="text/javascript" language="JavaScript" title="WebHelpRelatedTopics"><!--\r
-if (parseInt(navigator.appVersion) >= 3 && typeof (WritePopupMenuLayer) == "function")\r
- WritePopupMenuLayer();\r
-//--></script><script type="text/javascript" language="javascript1.2">\r
-<!--\r
-if (window.writeIntopicBar)\r
- writeIntopicBar(0);\r
-//-->\r
-</script>\r
-</body>\r
-\r
-</html>\r
+++ /dev/null
-<!doctype HTML public "-//W3C//DTD HTML 4.0 Frameset//EN">\r
-\r
-<html>\r
-\r
-<!--(==============================================================)-->\r
-<!--(Document created with RoboEditor. )============================-->\r
-<!--(==============================================================)-->\r
-\r
-<head>\r
-\r
-<title>Filtering and storing output messages</title>\r
-\r
-<!--(Meta)==========================================================-->\r
-\r
-<meta http-equiv=content-type content="text/html; charset=windows-1252">\r
-<meta name=generator content="RoboHELP by eHelp Corporation - www.ehelp.com">\r
-<meta name=generator-major-version content=0.1>\r
-<meta name=generator-minor-version content=1>\r
-<meta name=filetype content=kadov>\r
-<meta name=filetype-version content=1>\r
-<meta name=page-count content=1>\r
-<meta name=layout-height content=754>\r
-<meta name=layout-width content=700>\r
-\r
-\r
-<!--(Links)=========================================================-->\r
-\r
- <link rel='stylesheet' href='../default_ns.css'>\r
-<script type="text/javascript" language="JavaScript" title="WebHelpSplitCss">\r
-<!--\r
-if (navigator.appName !="Netscape")\r
-{ document.write("<link rel='stylesheet' href='../default.css'>");}\r
-//-->\r
-</script>\r
-<style type="text/css">\r
-<!--\r
-h1.whs1 {font-family: 'Times New Roman', serif;}\r
-img_whs2 {border-style: none; border: none; width: 30px; height: 30px; float: none;}\r
-p.whs3 {font-family: 'Times New Roman', serif;}\r
-p.whs4 {font-family: 'Times New Roman', serif; margin-left: 0px;}\r
-p.whs5 {font-family: 'Times New Roman', serif; margin-left: 40px; font-style: normal; color: #000000;}\r
-img_whs6 {border-style: none; border: none; width: 499px; height: 419px; float: none;}\r
--->\r
-</style>\r
-<script type="text/javascript" language="JavaScript">\r
-<!--\r
-if ((navigator.appName == "Netscape") && (parseInt(navigator.appVersion) == 4))\r
-{\r
- var strNSS = "<style type='text/css'>";\r
- strNSS += "p.whs4 {margin-left:1; }";\r
- strNSS +="</style>";\r
- document.write(strNSS);\r
-}\r
-//-->\r
-</script>\r
-<script type="text/javascript" language="JavaScript" title="WebHelpInlineScript">\r
-<!--\r
-function reDo() {\r
- if (innerWidth != origWidth || innerHeight != origHeight)\r
- location.reload();\r
-}\r
-if ((parseInt(navigator.appVersion) == 4) && (navigator.appName == "Netscape")) {\r
- origWidth = innerWidth;\r
- origHeight = innerHeight;\r
- onresize = reDo;\r
-}\r
-onerror = null; \r
-//-->\r
-</script>\r
-<style type="text/css">\r
-<!--\r
- div.WebHelpPopupMenu {position:absolute; left:0px; top:0px; z-index:4; visibility:hidden;}\r
--->\r
-</style>\r
-<script type="text/javascript" language="javascript1.2" src="../whmsg.js"></script>\r
-<script type="text/javascript" language="javascript" src="../whver.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="../whproxy.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="../whutils.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="../whtopic.js"></script>\r
-</head>\r
-\r
-<!--(Body)==========================================================-->\r
-\r
-\r
-<body>\r
-\r
-<script type="text/javascript" language="javascript1.2">\r
-<!--\r
-if (window.gbWhTopic)\r
-{\r
- if (window.addTocInfo)\r
- {\r
- addTocInfo("SUPERVISION module\nInitializing and executing graphs\nFiltering and logging output messages");\r
-addButton("show",BTN_TEXT,"Show","","","","",0,0,"","","");\r
-\r
- }\r
- if (window.writeBtnStyle)\r
- writeBtnStyle();\r
-\r
- if (window.writeIntopicBar)\r
- writeIntopicBar(1);\r
-\r
- if (window.setRelStartPage)\r
- {\r
- setRelStartPage("../supervision.html");\r
-\r
- autoSync(0);\r
- sendSyncInfo();\r
- sendAveInfoOut();\r
- }\r
-}\r
-else\r
- document.location.reload();\r
-//-->\r
-</script>\r
-<h1 class="whs1">Filtering and logging \r
- output messages</h1>\r
-\r
-<p><span style="font-size: 12pt;"><font size=3 style="font-size:12pt;"><img src="../i_blue.jpg" x-maintain-ratio="TRUE" width="30px" height="30px" border="0" class="img_whs2"></font></span>In <span style="font-weight: bold;"><B>SUPERVISION</B></span> \r
- you can filter and save in a definite text file all output messages produced \r
- by the component during execution of your graph:</p>\r
-\r
-<p class="whs3"> </p>\r
-\r
-<p class=TODO>To set filtering parameters:</p>\r
-\r
-<p class="whs4"> </p>\r
-\r
-<p class="whs5">Before execution of your graph right-click \r
- on the background of the SUPERVISION viewer window containing your graph \r
- and from the pop-up menu choose <span style="font-weight: bold;"><B>Filter \r
- Notification</B></span> option. The following dialog box will appear:</p>\r
-\r
-<p class="whs5"> </p>\r
-\r
-<p class="whs5"> <img src="../pics/filter.jpg" x-maintain-ratio="TRUE" width="499px" height="419px" border="0" class="img_whs6"></p>\r
-\r
-<p class="whs5"> </p>\r
-\r
-<p class="whs4">In \r
- this dialog box you can specify a file, where all output messages will \r
- be put, and choose the type of messages for logging by every node composing \r
- your graph.</p>\r
-\r
-<script type="text/javascript" language="javascript1.2">\r
-<!--\r
-if (window.writeIntopicBar)\r
- writeIntopicBar(0);\r
-//-->\r
-</script>\r
-</body>\r
-\r
-</html>\r
+++ /dev/null
-<!doctype HTML public "-//W3C//DTD HTML 4.0 Frameset//EN">\r
-\r
-<html>\r
-\r
-<!--(==============================================================)-->\r
-<!--(Document created with RoboEditor. )============================-->\r
-<!--(==============================================================)-->\r
-\r
-<head>\r
-\r
-<title>GOTO nodes</title>\r
-\r
-<!--(Meta)==========================================================-->\r
-\r
-<meta http-equiv=content-type content="text/html; charset=windows-1252">\r
-<meta name=generator content="RoboHELP by eHelp Corporation - www.ehelp.com">\r
-<meta name=generator-major-version content=0.1>\r
-<meta name=generator-minor-version content=1>\r
-<meta name=filetype content=kadov>\r
-<meta name=filetype-version content=1>\r
-<meta name=page-count content=1>\r
-<meta name=layout-height content=380>\r
-<meta name=layout-width content=614>\r
-\r
-\r
-<!--(Links)=========================================================-->\r
-\r
- <link rel='stylesheet' href='../default_ns.css'>\r
-<script type="text/javascript" language="JavaScript" title="WebHelpSplitCss">\r
-<!--\r
-if (navigator.appName !="Netscape")\r
-{ document.write("<link rel='stylesheet' href='../default.css'>");}\r
-//-->\r
-</script>\r
-<style type="text/css">\r
-<!--\r
-h1.whs1 {font-family: 'Times New Roman', serif;}\r
-p.whs2 {font-family: 'Times New Roman', serif;}\r
-img_whs3 {border-style: none; border: none; width: 30px; height: 30px; float: none;}\r
-p.whs4 {font-family:'Times New Roman' , serif; background-image:url(../texture_horiz_ltbluebubbles.jpg); }\r
-img_whs5 {border-style: none; border: none; width: 36px; height: 38px; float: none;}\r
--->\r
-</style>\r
-<script type="text/javascript" language="JavaScript" title="BSSC Special Effects" src="../ehlpdhtm.js"></script><script type="text/javascript" language="JavaScript" title="WebHelpInlineScript">\r
-<!--\r
-function reDo() {\r
- if (innerWidth != origWidth || innerHeight != origHeight)\r
- location.reload();\r
-}\r
-if ((parseInt(navigator.appVersion) == 4) && (navigator.appName == "Netscape")) {\r
- origWidth = innerWidth;\r
- origHeight = innerHeight;\r
- onresize = reDo;\r
-}\r
-onerror = null; \r
-//-->\r
-</script>\r
-<style type="text/css">\r
-<!--\r
- div.WebHelpPopupMenu {position:absolute; left:0px; top:0px; z-index:4; visibility:hidden;}\r
--->\r
-</style>\r
-<script type="text/javascript" language="javascript1.2" src="../whmsg.js"></script>\r
-<script type="text/javascript" language="javascript" src="../whver.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="../whproxy.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="../whutils.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="../whtopic.js"></script>\r
-</head>\r
-\r
-<!--(Body)==========================================================-->\r
-\r
-\r
-<body>\r
-\r
-<script type="text/javascript" language="javascript1.2">\r
-<!--\r
-if (window.gbWhTopic)\r
-{\r
- if (window.addTocInfo)\r
- {\r
- addTocInfo("SUPERVISION module\nEditing graphs\nNodes in the graph\nGOTO nodes");\r
-addButton("show",BTN_TEXT,"Show","","","","",0,0,"","","");\r
-\r
- }\r
- if (window.writeBtnStyle)\r
- writeBtnStyle();\r
-\r
- if (window.writeIntopicBar)\r
- writeIntopicBar(1);\r
-\r
- if (window.setRelStartPage)\r
- {\r
- setRelStartPage("../supervision.html");\r
-\r
- autoSync(0);\r
- sendSyncInfo();\r
- sendAveInfoOut();\r
- }\r
-}\r
-else\r
- document.location.reload();\r
-//-->\r
-</script>\r
-<h1 class="whs1">GOTO nodes</h1>\r
-\r
-<p class="whs2"><span style="font-weight: bold;"><B><img src="../i_blue.jpg" x-maintain-ratio="TRUE" width="30px" height="30px" border="0" class="img_whs3">GOTO </B></span>node represents a simple transmitter of data from \r
- one port into another. This InLine node can be with service or without \r
- it. In the first case the data received by a <span style="font-weight: bold;"><B>GOTO \r
- </B></span>node will be processed by this function and only after that it \r
- will be transferred to another node. <span style="font-weight: bold;"><B>GOTO \r
- </B></span>nodes may have as many Input and Output ports as it's necessary. \r
- </p>\r
-\r
-<p class="whs2"> </p>\r
-\r
-<p class="whs4"><img src="../note1.gif" x-maintain-ratio="TRUE" width="36px" height="38px" border="0" class="img_whs5">But in comparison with a <a href="computation_nodes.htm">Computation \r
- node</a> it can't receive and transfer control flow </p>\r
-\r
-<p class="whs2"> </p>\r
-\r
-<p class="whs2"> </p>\r
-\r
-<p class="whs2"> </p>\r
-\r
-<p class="whs2">\r
-<a href="javascript:void(0);" onClick="var e; if (parseInt(navigator.appVersion)>=4){e=event;} if (parseInt(navigator.appVersion) >=2 && typeof(PopupMenu_Invoke) == 'function') PopupMenu_Invoke(e,'','About nodes','about_nodes.htm','Adding nodes','adding_nodes.htm','Computation nodes','computation_nodes.htm');return false;" title="Related Topics"><img src="../ss_btn_related_topics.gif" border=0 height=17 width=82 alt="Related Topics"></a></p>\r
-\r
-<script type="text/javascript" language="JavaScript" title="WebHelpRelatedTopics"><!--\r
-if (parseInt(navigator.appVersion) >= 3 && typeof (WritePopupMenuLayer) == "function")\r
- WritePopupMenuLayer();\r
-//--></script><script type="text/javascript" language="javascript1.2">\r
-<!--\r
-if (window.writeIntopicBar)\r
- writeIntopicBar(0);\r
-//-->\r
-</script>\r
-</body>\r
-\r
-</html>\r
+++ /dev/null
-<!doctype HTML public "-//W3C//DTD HTML 4.0 Frameset//EN">\r
-\r
-<html>\r
-\r
-<!--(==============================================================)-->\r
-<!--(Document created with RoboEditor. )============================-->\r
-<!--(==============================================================)-->\r
-\r
-<head>\r
-\r
-<title>Importing graphs from file</title>\r
-\r
-<!--(Meta)==========================================================-->\r
-\r
-<meta http-equiv=content-type content="text/html; charset=windows-1252">\r
-<meta name=generator content="RoboHELP by eHelp Corporation - www.ehelp.com">\r
-<meta name=generator-major-version content=0.1>\r
-<meta name=generator-minor-version content=1>\r
-<meta name=filetype content=kadov>\r
-<meta name=filetype-version content=1>\r
-<meta name=page-count content=1>\r
-<meta name=layout-height content=625>\r
-<meta name=layout-width content=700>\r
-\r
-\r
-<!--(Links)=========================================================-->\r
-\r
- <link rel='stylesheet' href='../default_ns.css'>\r
-<script type="text/javascript" language="JavaScript" title="WebHelpSplitCss">\r
-<!--\r
-if (navigator.appName !="Netscape")\r
-{ document.write("<link rel='stylesheet' href='../default.css'>");}\r
-//-->\r
-</script>\r
-<style type="text/css">\r
-<!--\r
-h1.whs1 {font-family: 'Times New Roman', serif; font-size: 24pt;}\r
-p.whs2 {font-family: 'Times New Roman', serif;}\r
-p.whs3 {text-align: JUSTIFY; font-family: 'Times New Roman', serif; font-size: 12pt; font-style: italic; color: #ff0000;}\r
-p.whs4 {text-align: JUSTIFY; font-family: 'Times New Roman', serif; font-size: 12pt; margin-left: 40px;}\r
-img_whs5 {border-style: none; width: 30px; height: 30px;}\r
-p.whs6 {text-align:JUSTIFY; font-family:'Times New Roman' , serif; font-size:12pt; margin-left:0px; background-image:url(../texture_horiz_ltbluebubbles.jpg); }\r
-img_whs7 {border-style: none; border: none; float: none; width: 36px; height: 38px;}\r
-p.whs8 {text-align: JUSTIFY; font-family: 'Times New Roman', serif; font-size: 12pt; margin-left: 0px;}\r
--->\r
-</style>\r
-<script type="text/javascript" language="JavaScript">\r
-<!--\r
-if ((navigator.appName == "Netscape") && (parseInt(navigator.appVersion) == 4))\r
-{\r
- var strNSS = "<style type='text/css'>";\r
- strNSS += "p.whs6 {margin-left:1; }";\r
- strNSS += "p.whs8 {margin-left:1; }";\r
- strNSS +="</style>";\r
- document.write(strNSS);\r
-}\r
-//-->\r
-</script>\r
-<script type="text/javascript" language="JavaScript" title="BSSC Special Effects" src="../ehlpdhtm.js"></script><script type="text/javascript" language="JavaScript" title="WebHelpInlineScript">\r
-<!--\r
-function reDo() {\r
- if (innerWidth != origWidth || innerHeight != origHeight)\r
- location.reload();\r
-}\r
-if ((parseInt(navigator.appVersion) == 4) && (navigator.appName == "Netscape")) {\r
- origWidth = innerWidth;\r
- origHeight = innerHeight;\r
- onresize = reDo;\r
-}\r
-onerror = null; \r
-//-->\r
-</script>\r
-<style type="text/css">\r
-<!--\r
- div.WebHelpPopupMenu {position:absolute; left:0px; top:0px; z-index:4; visibility:hidden;}\r
--->\r
-</style>\r
-<script type="text/javascript" language="javascript1.2" src="../whmsg.js"></script>\r
-<script type="text/javascript" language="javascript" src="../whver.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="../whproxy.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="../whutils.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="../whtopic.js"></script>\r
-</head>\r
-\r
-<!--(Body)==========================================================-->\r
-\r
-\r
-<body>\r
-\r
-<script type="text/javascript" language="javascript1.2">\r
-<!--\r
-if (window.gbWhTopic)\r
-{\r
- if (window.addTocInfo)\r
- {\r
- addTocInfo("SUPERVISION module\nEditing graphs\nImporting graphs from file");\r
-addButton("show",BTN_TEXT,"Show","","","","",0,0,"","","");\r
-\r
- }\r
- if (window.writeBtnStyle)\r
- writeBtnStyle();\r
-\r
- if (window.writeIntopicBar)\r
- writeIntopicBar(1);\r
-\r
- if (window.setRelStartPage)\r
- {\r
- setRelStartPage("../supervision.html");\r
-\r
- autoSync(0);\r
- sendSyncInfo();\r
- sendAveInfoOut();\r
- }\r
-}\r
-else\r
- document.location.reload();\r
-//-->\r
-</script>\r
-<h1 class="whs1">Importing \r
- graphs from file</h1>\r
-\r
-<p class="whs2">In SUPERVISION component \r
- graphs can be saved and stored in *.xml files. </p>\r
-\r
-<p class="whs2"> </p>\r
-\r
-<p class=TODO>To import a read-only graph from *.xml file:</p>\r
-\r
-<p class="whs3"> </p>\r
-\r
-<p class="whs4">1. Click \r
- <img src="../supervisor(eng)_image10.gif" width="30px" height="30px" border="0" class="img_whs5">icon in the SUPERVISION toolbar or from the main menu choose \r
- <span style="font-weight: bold;"><B>File > Import Dataflow.</B></span></p>\r
-\r
-<p class="whs4"> </p>\r
-\r
-<p class="whs4">2. From \r
- the standard <span style="font-weight: bold;"><B>Search File </B></span>dialog \r
- box, select the required file containing your graph and click <span style="font-weight: bold;"><B>OK</B></span> \r
- to import it.</p>\r
-\r
-<p class="whs4"> </p>\r
-\r
-<p class="whs6"><img src="../note1.gif" x-maintain-ratio="TRUE" width="36px" height="38px" border="0" class="img_whs7">The graphs imported using this option will be read-only. You \r
- will not be able to edit it: add nodes, modify links between ports, edit \r
- nodes etc. This graphs can be <span style="font-weight: bold;"><B>ONLY</B></span> \r
- initialized \r
- and executed. </p>\r
-\r
-<p class="whs8"> </p>\r
-\r
-<p class=TODO>To import a graph for modification:</p>\r
-\r
-<p class="whs8"> </p>\r
-\r
-<p class="whs4">1. Click \r
- <img src="../supervisor(eng)_image13.gif" width="30px" height="30px" border="0" class="img_whs5">icon in the SUPERVISION toolbar or from the main menu choose \r
- <span style="font-weight: bold;"><B>Edit > Modify Dataflow.</B></span></p>\r
-\r
-<p class="whs4"> </p>\r
-\r
-<p class="whs4">2. From \r
- the standard <span style="font-weight: bold;"><B>Search File </B></span>dialog \r
- box, select the required file containing your graph and click <span style="font-weight: bold;"><B>OK</B></span> \r
- to import it.</p>\r
-\r
-<p class="whs4"> </p>\r
-\r
-<p class="whs8"> </p>\r
-\r
-<p class="whs8">\r
-<a href="javascript:void(0);" onClick="var e; if (parseInt(navigator.appVersion)>=4){e=event;} if (parseInt(navigator.appVersion) >=2 && typeof(PopupMenu_Invoke) == 'function') PopupMenu_Invoke(e,'','Creating a new graph','creating_a_new_graph.htm','Usage of SUPERVISION module','usage_of_supervisor_module.htm');return false;" title="Related Topics"><img src="../ss_btn_related_topics.gif" border=0 height=17 width=82 alt="Related Topics"></a></p>\r
-\r
-<p class="whs8"> </p>\r
-\r
-<p class="whs8"> </p>\r
-\r
-<script type="text/javascript" language="JavaScript" title="WebHelpRelatedTopics"><!--\r
-if (parseInt(navigator.appVersion) >= 3 && typeof (WritePopupMenuLayer) == "function")\r
- WritePopupMenuLayer();\r
-//--></script><script type="text/javascript" language="javascript1.2">\r
-<!--\r
-if (window.writeIntopicBar)\r
- writeIntopicBar(0);\r
-//-->\r
-</script>\r
-</body>\r
-\r
-</html>\r
+++ /dev/null
-<!doctype HTML public "-//W3C//DTD HTML 4.0 Frameset//EN">\r
-\r
-<html>\r
-\r
-<!--(==============================================================)-->\r
-<!--(Document created with RoboEditor. )============================-->\r
-<!--(==============================================================)-->\r
-\r
-<head>\r
-\r
-<title>Inserting graphs</title>\r
-\r
-<!--(Meta)==========================================================-->\r
-\r
-<meta http-equiv=content-type content="text/html; charset=windows-1252">\r
-<meta name=generator content="RoboHELP by eHelp Corporation - www.ehelp.com">\r
-<meta name=generator-major-version content=0.1>\r
-<meta name=generator-minor-version content=1>\r
-<meta name=filetype content=kadov>\r
-<meta name=filetype-version content=1>\r
-<meta name=page-count content=1>\r
-<meta name=layout-height content=380>\r
-<meta name=layout-width content=700>\r
-\r
-\r
-<!--(Links)=========================================================-->\r
-\r
- <link rel='stylesheet' href='../default_ns.css'>\r
-<script type="text/javascript" language="JavaScript" title="WebHelpSplitCss">\r
-<!--\r
-if (navigator.appName !="Netscape")\r
-{ document.write("<link rel='stylesheet' href='../default.css'>");}\r
-//-->\r
-</script>\r
-<style type="text/css">\r
-<!--\r
-h1.whs1 {font-family: 'Times New Roman', serif;}\r
-p.whs2 {text-align: JUSTIFY; font-family: 'Times New Roman', serif; font-size: 12pt;}\r
-p.whs3 {text-align: JUSTIFY; font-family: 'Times New Roman', serif; font-size: 12pt; margin-left: 40px;}\r
-p.whs4 {text-align: CENTER; font-family: 'Times New Roman', serif; font-size: 12pt;}\r
-p.whs5 {font-family:'Times New Roman' , serif; font-size:12pt; background-image:url(../texture_horiz_ltbluebubbles.jpg); }\r
-img_whs6 {border-style: none; border: none; float: none; width: 36px; height: 38px;}\r
-p.whs7 {font-family: 'Times New Roman', serif; font-size: 12pt;}\r
--->\r
-</style>\r
-<script type="text/javascript" language="JavaScript" title="BSSC Special Effects" src="../ehlpdhtm.js"></script><script type="text/javascript" language="JavaScript" title="WebHelpInlineScript">\r
-<!--\r
-function reDo() {\r
- if (innerWidth != origWidth || innerHeight != origHeight)\r
- location.reload();\r
-}\r
-if ((parseInt(navigator.appVersion) == 4) && (navigator.appName == "Netscape")) {\r
- origWidth = innerWidth;\r
- origHeight = innerHeight;\r
- onresize = reDo;\r
-}\r
-onerror = null; \r
-//-->\r
-</script>\r
-<style type="text/css">\r
-<!--\r
- div.WebHelpPopupMenu {position:absolute; left:0px; top:0px; z-index:4; visibility:hidden;}\r
--->\r
-</style>\r
-<script type="text/javascript" language="javascript1.2" src="../whmsg.js"></script>\r
-<script type="text/javascript" language="javascript" src="../whver.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="../whproxy.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="../whutils.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="../whtopic.js"></script>\r
-</head>\r
-\r
-<!--(Body)==========================================================-->\r
-\r
-\r
-<body>\r
-\r
-<script type="text/javascript" language="javascript1.2">\r
-<!--\r
-if (window.gbWhTopic)\r
-{\r
- if (window.addTocInfo)\r
- {\r
- addTocInfo("SUPERVISION module\nEditing graphs\nInserting graphs");\r
-addButton("show",BTN_TEXT,"Show","","","","",0,0,"","","");\r
-\r
- }\r
- if (window.writeBtnStyle)\r
- writeBtnStyle();\r
-\r
- if (window.writeIntopicBar)\r
- writeIntopicBar(1);\r
-\r
- if (window.setRelStartPage)\r
- {\r
- setRelStartPage("../supervision.html");\r
-\r
- autoSync(0);\r
- sendSyncInfo();\r
- sendAveInfoOut();\r
- }\r
-}\r
-else\r
- document.location.reload();\r
-//-->\r
-</script>\r
-<h1 class="whs1">Inserting graphs</h1>\r
-\r
-<p class=TODO>To insert a graph from *.xml file into another graph:</p>\r
-\r
-<p class="whs2"> </p>\r
-\r
-<p class="whs3">1. Right-click on the background of the \r
- SUPERVISION viewer window containing your graph and from the pop-up menu \r
- choose <span style="font-weight: bold;"><B>Insert File</B></span> option.</p>\r
-\r
-<p class="whs3"> </p>\r
-\r
-<p class="whs3">2. In the standard Search File dialog box \r
- choose *.xml containing the graph, you would like to insert and \r
- click <span style="font-weight: bold;"><B>Open.</B></span></p>\r
-\r
-<p align="center" class="whs4"> </p>\r
-\r
-<p class="whs5"><img src="../note1.gif" x-maintain-ratio="TRUE" width="36px" height="38px" border="0" class="img_whs6"> This action of insertion is possible only if the main graph \r
- is modifiable, not a read-only one. </p>\r
-\r
-<p class="whs7"> </p>\r
-\r
-<p class="whs7"> </p>\r
-\r
-<p class="whs7">\r
-<a href="javascript:void(0);" onClick="var e; if (parseInt(navigator.appVersion)>=4){e=event;} if (parseInt(navigator.appVersion) >=2 && typeof(PopupMenu_Invoke) == 'function') PopupMenu_Invoke(e,'','Creating a new graph','creating_a_new_graph.htm','Usage of SUPERVISION module','usage_of_supervisor_module.htm');return false;" title="Related Topics"><img src="../ss_btn_related_topics.gif" border=0 height=17 width=82 alt="Related Topics"></a></p>\r
-\r
-<script type="text/javascript" language="JavaScript" title="WebHelpRelatedTopics"><!--\r
-if (parseInt(navigator.appVersion) >= 3 && typeof (WritePopupMenuLayer) == "function")\r
- WritePopupMenuLayer();\r
-//--></script><script type="text/javascript" language="javascript1.2">\r
-<!--\r
-if (window.writeIntopicBar)\r
- writeIntopicBar(0);\r
-//-->\r
-</script>\r
-</body>\r
-\r
-</html>\r
+++ /dev/null
-<!doctype HTML public "-//W3C//DTD HTML 4.0 Frameset//EN">\r
-\r
-<html>\r
-\r
-<!--(==============================================================)-->\r
-<!--(Document created with RoboEditor. )============================-->\r
-<!--(==============================================================)-->\r
-\r
-<head>\r
-\r
-<title>Introduction to SUPERVISION</title>\r
-\r
-<!--(Meta)==========================================================-->\r
-\r
-<meta http-equiv=content-type content="text/html; charset=windows-1252">\r
-<meta name=generator content="RoboHELP by eHelp Corporation - www.ehelp.com">\r
-<meta name=generator-major-version content=0.1>\r
-<meta name=generator-minor-version content=1>\r
-<meta name=filetype content=kadov>\r
-<meta name=filetype-version content=1>\r
-<meta name=page-count content=1>\r
-<meta name=layout-height content=561>\r
-<meta name=layout-width content=700>\r
-\r
-\r
-<!--(Links)=========================================================-->\r
-\r
- <link rel='stylesheet' href='../default_ns.css'>\r
-<script type="text/javascript" language="JavaScript" title="WebHelpSplitCss">\r
-<!--\r
-if (navigator.appName !="Netscape")\r
-{ document.write("<link rel='stylesheet' href='../default.css'>");}\r
-//-->\r
-</script>\r
-<style type="text/css">\r
-<!--\r
-h1.whs1 {font-family: 'Times New Roman', serif;}\r
-p.whs2 {text-align: JUSTIFY; font-family: 'Times New Roman', serif;}\r
-img_whs3 {border-style: none; border: none; width: 30px; height: 30px; float: none;}\r
-p.whs4 {text-align: JUSTIFY; text-indent: 48px;}\r
-p.whs5 {font-size: x-small; font-family: 'Times New Roman', serif;}\r
-p.whs6 {font-family: 'Times New Roman', serif; font-size: 12pt;}\r
--->\r
-</style>\r
-<script type="text/javascript" language="JavaScript">\r
-<!--\r
-if ((navigator.appName == "Netscape") && (parseInt(navigator.appVersion) == 4))\r
-{\r
- var strNSS = "<style type='text/css'>";\r
- strNSS += "p.whs5 {font-size:small; }";\r
- strNSS +="</style>";\r
- document.write(strNSS);\r
-}\r
-//-->\r
-</script>\r
-<script type="text/javascript" language="JavaScript" title="BSSC Special Effects" src="../ehlpdhtm.js"></script><script type="text/javascript" language="JavaScript" title="WebHelpInlineScript">\r
-<!--\r
-function reDo() {\r
- if (innerWidth != origWidth || innerHeight != origHeight)\r
- location.reload();\r
-}\r
-if ((parseInt(navigator.appVersion) == 4) && (navigator.appName == "Netscape")) {\r
- origWidth = innerWidth;\r
- origHeight = innerHeight;\r
- onresize = reDo;\r
-}\r
-onerror = null; \r
-//-->\r
-</script>\r
-<style type="text/css">\r
-<!--\r
- div.WebHelpPopupMenu {position:absolute; left:0px; top:0px; z-index:4; visibility:hidden;}\r
--->\r
-</style>\r
-<script type="text/javascript" language="javascript1.2" src="../whmsg.js"></script>\r
-<script type="text/javascript" language="javascript" src="../whver.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="../whproxy.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="../whutils.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="../whtopic.js"></script>\r
-</head>\r
-\r
-<!--(Body)==========================================================-->\r
-\r
-\r
-<body>\r
-\r
-<script type="text/javascript" language="javascript1.2">\r
-<!--\r
-if (window.gbWhTopic)\r
-{\r
- if (window.addTocInfo)\r
- {\r
- addTocInfo("SUPERVISION module\nIntroduction to SUPERVISION");\r
-addButton("show",BTN_TEXT,"Show","","","","",0,0,"","","");\r
-\r
- }\r
- if (window.writeBtnStyle)\r
- writeBtnStyle();\r
-\r
- if (window.writeIntopicBar)\r
- writeIntopicBar(1);\r
-\r
- if (window.setRelStartPage)\r
- {\r
- setRelStartPage("../supervision.html");\r
-\r
- autoSync(0);\r
- sendSyncInfo();\r
- sendAveInfoOut();\r
- }\r
-}\r
-else\r
- document.location.reload();\r
-//-->\r
-</script>\r
-<h1 class="whs1">Introduction to SUPERVISION</h1>\r
-\r
-<p class="whs2"><img src="../i_blue.jpg" x-maintain-ratio="TRUE" width="30px" height="30px" border="0" class="img_whs3"> <span style="font-weight: bold;"><B>SUPERVISION</B></span> module \r
- of the SALOME platform allows to define and execute a chain of distributed \r
- numeric components, as well as to control the progress of this chain. \r
- </p>\r
-\r
-<p class="whs4">In <span style="font-weight: bold;"><B>SUPERVISION</B></span> \r
- module all calculations are executed with the help of <span style="font-weight: bold;"><B>graphs</B></span> \r
- representing a graphical presentation of the chain of operations. Each \r
- graph consists of one or several linked <span style="font-weight: bold;"><B>nodes</B></span>. \r
- Each node represents a graphical presentation of one service (function) \r
- provided by distributed numeric components (<span style="font-weight: bold;"><B>factory \r
- </B></span>nodes) or defined by the user (<span style="font-weight: bold;"><B>inline \r
- </B></span>nodes). </p>\r
-\r
-<p class="whs2"> </p>\r
-\r
-<p class="whs5"> <span \r
- style="font-weight: bold; font-size: 12pt;"><font size=3 style="font-size:12pt;"><B>SUPERVISION</B></font></span><span \r
- style="font-size: 12pt;"><font size=3 style="font-size:12pt;"> module in SALOME platform is destined for :</font></span></p>\r
-\r
-<p class="whs6"> </p>\r
-\r
-<ul>\r
- \r
- <li class=kadov-p\r
- class=kadov-p><font><span style="font-family: 'Times New Roman', serif; font-size: 12pt;"><font size=3 style="font-size:12pt;">Construction \r
- of graphs linking the solvers </font></span></font></li>\r
- \r
- <li class=kadov-p\r
- class=kadov-p><font><span style="font-family: 'Times New Roman', serif; font-size: 12pt;"><font size=3 style="font-size:12pt;">Loading \r
- solvers into divided containers </font></span></font></li>\r
- \r
- <li class=kadov-p\r
- class=kadov-p><span style="font-family: 'Times New Roman', serif; font-size: 12pt;"><font size=3 style="font-size:12pt;">Supervision \r
- and control graph execution </font></span></li>\r
- \r
- <p class="whs6"> </p>\r
-</ul>\r
-\r
-<p class="whs6"> <span \r
- style="font-weight: bold;"><B>SUPERVISION</B></span> \r
- module allows to:</p>\r
-\r
-<p class="whs6"> </p>\r
-\r
-<ul>\r
- \r
- <li class=kadov-p\r
- class=kadov-p><font><span style="font-family: 'Times New Roman', serif; font-size: 12pt;"><font size=3 style="font-size:12pt;">Edit \r
- graphs in interactive mode</font></span></font></li>\r
- \r
- <li class=kadov-p\r
- class=kadov-p><font><span style="font-family: 'Times New Roman', serif; font-size: 12pt;"><font size=3 style="font-size:12pt;">Control \r
- graphs in interactive mode</font></span></font></li>\r
- \r
- <li class=kadov-p\r
- class=kadov-p><font><span style="font-family: 'Times New Roman', serif; font-size: 12pt;"><font size=3 style="font-size:12pt;">Visualize \r
- solver\92s activity </font></span></font></li>\r
- \r
- <li class=kadov-p\r
- class=kadov-p><font><span style="font-family: 'Times New Roman', serif; font-size: 12pt;"><font size=3 style="font-size:12pt;">Visualize \r
- execution of graphs with parallel branches </font></span></font></li>\r
- \r
- <li class=kadov-p\r
- class=kadov-p><font><span style="font-family: 'Times New Roman', serif; font-size: 12pt;"><font size=3 style="font-size:12pt;">Direct \r
- data flow </font></span></font></li>\r
- \r
- <li class=kadov-p\r
- class=kadov-p><span style="font-family: 'Times New Roman', serif; font-size: 12pt;"><font size=3 style="font-size:12pt;">Publish, \r
- filter and save output messages in a definite file </font></span></li>\r
-</ul>\r
-\r
-<p class="whs6"> </p>\r
-\r
-<p class="whs6">\r
-<a href="javascript:void(0);" onClick="var e; if (parseInt(navigator.appVersion)>=4){e=event;} if (parseInt(navigator.appVersion) >=2 && typeof(PopupMenu_Invoke) == 'function') PopupMenu_Invoke(e,'','Adding nodes','adding_nodes.htm','Creating a new graph','creating_a_new_graph.htm','Running SUPERVISION','running_supervisor.htm','Usage of SUPERVISION module','usage_of_supervisor_module.htm');return false;" title="Related Topics"><img src="../ss_btn_related_topics.gif" border=0 height=17 width=82 alt="Related Topics"></a></p>\r
-\r
-<p class="whs6"> </p>\r
-\r
-<script type="text/javascript" language="JavaScript" title="WebHelpRelatedTopics"><!--\r
-if (parseInt(navigator.appVersion) >= 3 && typeof (WritePopupMenuLayer) == "function")\r
- WritePopupMenuLayer();\r
-//--></script><script type="text/javascript" language="javascript1.2">\r
-<!--\r
-if (window.writeIntopicBar)\r
- writeIntopicBar(0);\r
-//-->\r
-</script>\r
-</body>\r
-\r
-</html>\r
+++ /dev/null
-<!doctype HTML public "-//W3C//DTD HTML 4.0 Frameset//EN">\r
-\r
-<html>\r
-\r
-<!--(==============================================================)-->\r
-<!--(Document created with RoboEditor. )============================-->\r
-<!--(==============================================================)-->\r
-\r
-<head>\r
-\r
-<title>Loop nodes</title>\r
-\r
-<!--(Meta)==========================================================-->\r
-\r
-<meta http-equiv=content-type content="text/html; charset=windows-1252">\r
-<meta name=generator content="RoboHELP by eHelp Corporation - www.ehelp.com">\r
-<meta name=generator-major-version content=0.1>\r
-<meta name=generator-minor-version content=1>\r
-<meta name=filetype content=kadov>\r
-<meta name=filetype-version content=1>\r
-<meta name=page-count content=1>\r
-<meta name=layout-height content=2413>\r
-<meta name=layout-width content=797>\r
-\r
-\r
-<!--(Links)=========================================================-->\r
-\r
- <link rel='stylesheet' href='../default_ns.css'>\r
-<script type="text/javascript" language="JavaScript" title="WebHelpSplitCss">\r
-<!--\r
-if (navigator.appName !="Netscape")\r
-{ document.write("<link rel='stylesheet' href='../default.css'>");}\r
-//-->\r
-</script>\r
-<style type="text/css">\r
-<!--\r
-h1.whs1 {font-family: 'Times New Roman', serif;}\r
-img_whs2 {border-style: none; border: none; width: 30px; height: 30px; float: none;}\r
-p.whs3 {font-family: 'Times New Roman', serif;}\r
-p.whs4 {font-family: 'Times New Roman', serif; font-style: italic;}\r
-img_whs5 {border-style: none; border: none; width: 775px; height: 360px; float: none;}\r
-ul.whs6 {list-style: disc;}\r
-p.whs7 {font-family:'Times New Roman' , serif; background-image:url(../texture_horiz_ltbluebubbles.jpg); }\r
-img_whs8 {border-style: none; border: none; float: none; width: 36px; height: 38px;}\r
-img_whs9 {border-style: none; border: none; width: 404px; height: 297px; float: none;}\r
-p.whs10 {font-family: 'Courier New', monospace;}\r
--->\r
-</style>\r
-<script type="text/javascript" language="JavaScript" title="BSSC Special Effects" src="../ehlpdhtm.js"></script><script type="text/javascript" language="JavaScript" title="WebHelpInlineScript">\r
-<!--\r
-function reDo() {\r
- if (innerWidth != origWidth || innerHeight != origHeight)\r
- location.reload();\r
-}\r
-if ((parseInt(navigator.appVersion) == 4) && (navigator.appName == "Netscape")) {\r
- origWidth = innerWidth;\r
- origHeight = innerHeight;\r
- onresize = reDo;\r
-}\r
-onerror = null; \r
-//-->\r
-</script>\r
-<style type="text/css">\r
-<!--\r
- div.WebHelpPopupMenu {position:absolute; left:0px; top:0px; z-index:4; visibility:hidden;}\r
--->\r
-</style>\r
-<script type="text/javascript" language="javascript1.2" src="../whmsg.js"></script>\r
-<script type="text/javascript" language="javascript" src="../whver.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="../whproxy.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="../whutils.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="../whtopic.js"></script>\r
-</head>\r
-\r
-<!--(Body)==========================================================-->\r
-\r
-\r
-<body>\r
-\r
-<script type="text/javascript" language="javascript1.2">\r
-<!--\r
-if (window.gbWhTopic)\r
-{\r
- if (window.addTocInfo)\r
- {\r
- addTocInfo("SUPERVISION module\nEditing graphs\nNodes in the graph\nLoop nodes");\r
-addButton("show",BTN_TEXT,"Show","","","","",0,0,"","","");\r
-\r
- }\r
- if (window.writeBtnStyle)\r
- writeBtnStyle();\r
-\r
- if (window.writeIntopicBar)\r
- writeIntopicBar(1);\r
-\r
- if (window.setRelStartPage)\r
- {\r
- setRelStartPage("../supervision.html");\r
-\r
- autoSync(0);\r
- sendSyncInfo();\r
- sendAveInfoOut();\r
- }\r
-}\r
-else\r
- document.location.reload();\r
-//-->\r
-</script>\r
-<h1 class="whs1">Loop nodes</h1>\r
-\r
-<p><span style="font-weight: bold;"><B><img src="../i_blue.jpg" x-maintain-ratio="TRUE" width="30px" height="30px" border="0" class="img_whs2">Loop node</B></span> is a \r
- kind of Control nodes. In fact two nodes represent Loop: <span style="font-weight: bold;"><B>start \r
- loop</B></span> and <span style="font-weight: bold;"><B>end loop</B></span> nodes. \r
- Nodes of such type are always InLine nodes. User have to supply this type \r
- of node by service, which will check conditions of end of loop. </p>\r
-\r
-<p class="whs3"><span style="font-family: 'Times New Roman', serif;">With \r
- that kind of nodes you may define all kinds of loops:</span></p>\r
-\r
-<p class="whs4">\93for( \r
- initial condition(s) ; end condition(s) ; end loop code )\94 or </p>\r
-\r
-<p class="whs4">\93while( \r
- end condition )\94</p>\r
-\r
-<p class="whs4">etc\85</p>\r
-\r
-<p class="whs3"> </p>\r
-\r
-<p class="whs3"><img src="../loop1.jpg" x-maintain-ratio="TRUE" width="775px" height="360px" border="0" class="img_whs5"></p>\r
-\r
-<p class="whs3"> </p>\r
-\r
-<ul type="disc" class="whs6">\r
- \r
- <li class=kadov-p><p class="whs3"><span \r
- style="font-weight: bold;"><B>Titles of the nodes.</B></span> By default the \r
- name of the service is used. You can change only the name of the Start \r
- Loop node - the name of the End Loop node will be automatically created \r
- as follows: EndOf + "Name of the Start Loop node" .</p></li>\r
- \r
- <li class=kadov-p><p class="whs3"><span \r
- style="font-weight: bold;"><B>Status of execution</B></span> shows the state \r
- of the loop. It can be: <span style="font-weight: bold;"><B>Not Started</B></span>, \r
- <span style="font-weight: bold;"><B>Running</B></span>, <span style="font-weight: bold;"><B>Finished</B></span>.</p></li>\r
- \r
- <li class=kadov-p><p class="whs3"><span \r
- style="font-weight: bold;"><B>InGate/OutGate</B></span> - control ports of the \r
- loop execution. </p></li>\r
- \r
- <li class=kadov-p><p class="whs3"><span \r
- style="font-weight: bold;"><B>Time of execution </B></span>is a time of node \r
- execution in a launched dataflow.</p></li>\r
- \r
- <li class=kadov-p><p class="whs3"><span \r
- style="font-weight: bold;"><B>Input/Output ports</B></span> \96 are BusPorts, which \r
- are processed by Python function. Input ports of the Start Loop node will \r
- get the initial values, which can be processed by underlying function \r
- and will be transferred inside of the loop. Last calculation node of the \r
- loop will put these values to the input port of the End Loop node. If \r
- loop continues then this value will be copied to the Input port of the \r
- Start Loop node, otherwise into output port of the End Loop node.</p></li>\r
- \r
- <li class=kadov-p><p class="whs3"><span \r
- style="font-weight: bold;"><B>Control loop ports</B></span> \96 Control ports of \r
- the loop nodes manage the functioning of the loop and they are not accessible \r
- for the user. <span style="font-weight: bold;"><B>InitLoop</B></span> port launches \r
- the loop. <span style="font-weight: bold;"><B>DoLoop</B></span> port of the Start \r
- Loop node checks whether the end loop condition set in <span style="font-weight: bold;"><B>More \r
- </B></span><span>function of the Loop node</span> has been achieved or not. \r
- The value in this ports is of boolean type. It can be 0 or 1. </p></li>\r
-</ul>\r
-\r
-<p class="whs3"> </p>\r
-\r
-<p class="whs7"><img src="../note1.gif" x-maintain-ratio="TRUE" width="36px" height="38px" border="0" class="img_whs8">To create a Loop node you have to define three python functions \r
- which will manage the loop with all input and output arguments (ports) \r
- defined in \r
- the node :</p>\r
-\r
-<p class="whs3"> </p>\r
-\r
-<ul type="disc" class="whs6">\r
- \r
- <li class=kadov-p><p class="whs3"> <span \r
- style="font-weight: bold;"><B>INIT: </B></span>An \r
- Initialization function which will be executed only when we enter in the \r
- loop for the first time.</p></li>\r
-</ul>\r
-\r
-<p class="whs3"> </p>\r
-\r
-<ul type="disc" class="whs6">\r
- \r
- <li class=kadov-p><p class="whs3"> <span \r
- style="font-weight: bold;"><B>MORE: </B></span>A \r
- \93More\94 function which is executed at each execution of the LoopNode even \r
- for the first time. That function will have to return as first output \r
- argument a boolean before output arguments (ports) defined by the user \r
- in the node. If that function value is true the body of the loop will \r
- automatically be executed. If it is false SUPERVISION component will resume \r
- execution after the end of the loop. That first output argument will not \r
- be represented as an output port and will not be used in the graph.</p></li>\r
-</ul>\r
-\r
-<p class="whs3"> </p>\r
-\r
-<ul type="disc" class="whs6">\r
- \r
- <li class=kadov-p><p class="whs3"><span \r
- style="font-weight: bold;"><B>NEXT: </B></span>A \93Next\94 function which is executed \r
- each time that SUPERVISION component resume the execution from the end \r
- of the loop to the beginning.</p></li>\r
-</ul>\r
-\r
-<p class="whs3"> </p>\r
-\r
-<p class="whs3">Setting of these functions \r
- is possible from the standard <span style="font-weight: bold;"><B>Add Node</B></span> \r
- dialog box (<a href="adding_nodes.htm">see also Adding nodes</a>):</p>\r
-\r
-<p class="whs3"> </p>\r
-\r
-<p class="whs3"> <img src="../pics/loopfunctions.jpg" x-maintain-ratio="TRUE" width="404px" height="297px" border="0" class="img_whs9"></p>\r
-\r
-<p class="whs3"> </p>\r
-\r
-<p class="whs3">Here you can see a simple \r
- example of Python functions set in a Loop node:</p>\r
-\r
-<p class="whs3"> </p>\r
-\r
-<p class="whs10">def <span style="font-weight: bold;"><B>Init</B></span>(Index,Min,Max,Incr) \r
- : </p>\r
-\r
-<p class="whs10"> if \r
- Min <= Max : </p>\r
-\r
-<p class="whs10"> Index \r
- = Min </p>\r
-\r
-<p class="whs10"> else \r
- : </p>\r
-\r
-<p class="whs10"> Index \r
- = Max </p>\r
-\r
-<p class="whs10"> return \r
- Index,Min,Max,Incr </p>\r
-\r
-<p class="whs10"> </p>\r
-\r
-<p class="whs10">def <span style="font-weight: bold;"><B>More</B></span>(Index,Min,Max,Incr) \r
- : </p>\r
-\r
-<p class="whs10"> if \r
- Index < Max : </p>\r
-\r
-<p class="whs10"> DoLoop \r
- = 1 </p>\r
-\r
-<p class="whs10"> else \r
- : </p>\r
-\r
-<p class="whs10"> DoLoop \r
- = 0 </p>\r
-\r
-<p class="whs10"> return \r
- DoLoop,Index,Min,Max,Incr </p>\r
-\r
-<p class="whs10"> </p>\r
-\r
-<p class="whs10">def <span style="font-weight: bold;"><B>Next</B></span>(Index,Min,Max,Incr) \r
- : </p>\r
-\r
-<p class="whs10"> Index \r
- = Index + Incr </p>\r
-\r
-<p class="whs10"> return \r
- Index,Min,Max,Incr</p>\r
-\r
-<p class="whs3"> </p>\r
-\r
-<p class="whs7"><img src="../note1.gif" x-maintain-ratio="TRUE" width="36px" height="38px" border="0" class="img_whs8">Loop nodes have the following particularities:</p>\r
-\r
-<p class="whs3"> </p>\r
-\r
-<ul type="disc" class="whs6">\r
- \r
- <li class=kadov-p><p class="whs3">You \r
- may create <span style="font-weight: bold;"><B>only input ports</B></span> in \r
- the Loop node.</p></li>\r
- \r
- <li class=kadov-p><p class="whs3">The \r
- input ports, which have been created in the Start Loop node are automatically \r
- duplicated by SUPERVISION component as output ports of this node.</p></li>\r
- \r
- <li class=kadov-p><p class="whs3">SUPERVISION \r
- component automatically adds \r
- the same input and output ports in the End \r
- Loop node as in the Start Loop node.</p></li>\r
- \r
- <li class=kadov-p><p class="whs3">If \r
- an output port of the Start Loop node has no link and if the corresponding \r
- input port of the End Loop node has no link, SUPERVISION component automatically \r
- transmits its value to the corresponding End Loop node during execution. \r
- You shouldn't define such links.</p></li>\r
- \r
- <li class=kadov-p><p class="whs3">When \r
- SUPERVISION component executes the End Loop node, it automatically transmits \r
- the actual values of the \r
- output ports of the End Loop node to the input ports of the Start Loop \r
- node.</p></li>\r
- \r
- <li class=kadov-p><p class="whs3">In \r
- the body of a loop, an input port of a calculation node may not be linked \r
- from an output port of a node which is not in the body of a loop. That \r
- output port <span style="font-weight: bold;"><B>must be linked</B></span> to \r
- an input port of the Start Loop node. So its value will be available through \r
- the corresponding output port of the Start Loop node.</p></li>\r
-</ul>\r
-\r
-<p class="whs3"> </p>\r
-\r
-<p class="whs3"> </p>\r
-\r
-<p class="whs3"> </p>\r
-\r
-<p class="whs3">\r
-<a href="javascript:void(0);" onClick="var e; if (parseInt(navigator.appVersion)>=4){e=event;} if (parseInt(navigator.appVersion) >=2 && typeof(PopupMenu_Invoke) == 'function') PopupMenu_Invoke(e,'','About nodes','about_nodes.htm','Adding nodes','adding_nodes.htm');return false;" title="Related Topics"><img src="../ss_btn_related_topics.gif" border=0 height=17 width=82 alt="Related Topics"></a></p>\r
-\r
-<p class="whs3"> </p>\r
-\r
-<p class="whs3"> </p>\r
-\r
-<p class="whs3"> </p>\r
-\r
-<p class="whs3"> </p>\r
-\r
-<script type="text/javascript" language="JavaScript" title="WebHelpRelatedTopics"><!--\r
-if (parseInt(navigator.appVersion) >= 3 && typeof (WritePopupMenuLayer) == "function")\r
- WritePopupMenuLayer();\r
-//--></script><script type="text/javascript" language="javascript1.2">\r
-<!--\r
-if (window.writeIntopicBar)\r
- writeIntopicBar(0);\r
-//-->\r
-</script>\r
-</body>\r
-\r
-</html>\r
+++ /dev/null
-<!doctype HTML public "-//W3C//DTD HTML 4.0 Frameset//EN">\r
-\r
-<html>\r
-\r
-<!--(==============================================================)-->\r
-<!--(Document created with RoboEditor. )============================-->\r
-<!--(==============================================================)-->\r
-\r
-<head>\r
-\r
-<title>Modifying links</title>\r
-\r
-<!--(Meta)==========================================================-->\r
-\r
-<meta http-equiv=content-type content="text/html; charset=windows-1252">\r
-<meta name=generator content="RoboHELP by eHelp Corporation - www.ehelp.com">\r
-<meta name=generator-major-version content=0.1>\r
-<meta name=generator-minor-version content=1>\r
-<meta name=filetype content=kadov>\r
-<meta name=filetype-version content=1>\r
-<meta name=page-count content=1>\r
-<meta name=layout-height content=587>\r
-<meta name=layout-width content=700>\r
-\r
-\r
-<!--(Links)=========================================================-->\r
-\r
- <link rel='stylesheet' href='../default_ns.css'>\r
-<script type="text/javascript" language="JavaScript" title="WebHelpSplitCss">\r
-<!--\r
-if (navigator.appName !="Netscape")\r
-{ document.write("<link rel='stylesheet' href='../default.css'>");}\r
-//-->\r
-</script>\r
-<style type="text/css">\r
-<!--\r
-h1.whs1 {font-family: 'Times New Roman', serif;}\r
-p.whs2 {text-align: JUSTIFY; font-size: 12pt; font-family: 'Times New Roman', serif;}\r
-img_whs3 {border-style: none; border: none; width: 30px; height: 30px; float: none;}\r
-p.whs4 {text-align: JUSTIFY; font-size: 12pt; font-family: 'Times New Roman', serif; font-style: italic; color: #ff0000;}\r
-p.whs5 {text-align: JUSTIFY; font-size: 12pt; font-family: 'Times New Roman', serif; color: #ff0000; margin-left: 40px; font-style: normal;}\r
-p.whs6 {text-align: JUSTIFY; font-size: 12pt; font-family: 'Times New Roman', serif; margin-left: 40px; font-style: normal; color: #000000;}\r
-p.whs7 {text-align: JUSTIFY; font-size: 12pt; font-family: 'Times New Roman', serif; margin-left: 0px;}\r
-p.whs8 {text-align: JUSTIFY; font-size: 12pt; font-family: 'Times New Roman', serif; margin-left: 40px;}\r
--->\r
-</style>\r
-<script type="text/javascript" language="JavaScript">\r
-<!--\r
-if ((navigator.appName == "Netscape") && (parseInt(navigator.appVersion) == 4))\r
-{\r
- var strNSS = "<style type='text/css'>";\r
- strNSS += "p.whs7 {margin-left:1; }";\r
- strNSS +="</style>";\r
- document.write(strNSS);\r
-}\r
-//-->\r
-</script>\r
-<script type="text/javascript" language="JavaScript" title="BSSC Special Effects" src="../ehlpdhtm.js"></script><script type="text/javascript" language="JavaScript" title="WebHelpInlineScript">\r
-<!--\r
-function reDo() {\r
- if (innerWidth != origWidth || innerHeight != origHeight)\r
- location.reload();\r
-}\r
-if ((parseInt(navigator.appVersion) == 4) && (navigator.appName == "Netscape")) {\r
- origWidth = innerWidth;\r
- origHeight = innerHeight;\r
- onresize = reDo;\r
-}\r
-onerror = null; \r
-//-->\r
-</script>\r
-<style type="text/css">\r
-<!--\r
- div.WebHelpPopupMenu {position:absolute; left:0px; top:0px; z-index:4; visibility:hidden;}\r
--->\r
-</style>\r
-<script type="text/javascript" language="javascript1.2" src="../whmsg.js"></script>\r
-<script type="text/javascript" language="javascript" src="../whver.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="../whproxy.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="../whutils.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="../whtopic.js"></script>\r
-</head>\r
-\r
-<!--(Body)==========================================================-->\r
-\r
-\r
-<body>\r
-\r
-<script type="text/javascript" language="javascript1.2">\r
-<!--\r
-if (window.gbWhTopic)\r
-{\r
- if (window.addTocInfo)\r
- {\r
- addTocInfo("SUPERVISION module\nEditing graphs\nLinking nodes\nModifying links");\r
-addButton("show",BTN_TEXT,"Show","","","","",0,0,"","","");\r
-\r
- }\r
- if (window.writeBtnStyle)\r
- writeBtnStyle();\r
-\r
- if (window.writeIntopicBar)\r
- writeIntopicBar(1);\r
-\r
- if (window.setRelStartPage)\r
- {\r
- setRelStartPage("../supervision.html");\r
-\r
- autoSync(0);\r
- sendSyncInfo();\r
- sendAveInfoOut();\r
- }\r
-}\r
-else\r
- document.location.reload();\r
-//-->\r
-</script>\r
-<h1 class="whs1">Modifying links</h1>\r
-\r
-<p class="whs2"><img src="../i_blue.jpg" x-maintain-ratio="TRUE" width="30px" height="30px" border="0" class="img_whs3">In <span \r
- style="font-weight: bold;"><B>SUPERVISION</B></span> you can modify an already \r
- constructed link to make it look better in the structure of the whole \r
- graph.</p>\r
-\r
-<p class="whs2"> </p>\r
-\r
-<p class=TODO>To modify an already constructed link:</p>\r
-\r
-<p class="whs4"> </p>\r
-\r
-<p class="whs5"><span style="color: #000000;"><font color=black >1. Add a \r
- point to this link (<a href="points_in_links.htm">see also: Points in \r
- links</a>)</font></span></p>\r
-\r
-<p class="whs5"> </p>\r
-\r
-<p class="whs6">2. With your mouse drag this point of your \r
- link and move aside the cursor - the whole link will follow the movements \r
- of your mouse.</p>\r
-\r
-<p class="whs6"> </p>\r
-\r
-<p class="whs2"><span style="font-weight: bold;"><B>Ortho</B></span> \r
- mode of links construction allows to place points of a link under construction \r
- in random positions in the viewer window - SPERVISION will automatically \r
- place this points in such a way that the broken line will consist of right \r
- angle corners. </p>\r
-\r
-<p> </p>\r
-\r
-<p class=TODO>To set Ortho mode of link construction:</p>\r
-\r
-<p class="whs7"> </p>\r
-\r
-<p class="whs8">While constructing a link from any port \r
- click on the background of the SUPERVISION viewer window and from the \r
- pop-up menu mark <span style="font-weight: bold;"><B>Ortho </B></span>option. \r
- To return back to the normal mode of link construction in the same pop-menu \r
- unmark <span style="font-weight: bold;"><B>Ortho </B></span>option.</p>\r
-\r
-<p class="whs8"> </p>\r
-\r
-<p class="whs8"> </p>\r
-\r
-<p class="whs8"> </p>\r
-\r
-<p class="whs7">\r
-<a href="javascript:void(0);" onClick="var e; if (parseInt(navigator.appVersion)>=4){e=event;} if (parseInt(navigator.appVersion) >=2 && typeof(PopupMenu_Invoke) == 'function') PopupMenu_Invoke(e,'','Deleting links','deleting_links.htm','Linking node ports','adding_links_from_an_output_port.htm','Points in links','points_in_links.htm');return false;" title="Related Topics"><img src="../ss_btn_related_topics.gif" border=0 height=17 width=82 alt="Related Topics"></a></p>\r
-\r
-<p class="whs7"> </p>\r
-\r
-<p class="whs7"> </p>\r
-\r
-<script type="text/javascript" language="JavaScript" title="WebHelpRelatedTopics"><!--\r
-if (parseInt(navigator.appVersion) >= 3 && typeof (WritePopupMenuLayer) == "function")\r
- WritePopupMenuLayer();\r
-//--></script><script type="text/javascript" language="javascript1.2">\r
-<!--\r
-if (window.writeIntopicBar)\r
- writeIntopicBar(0);\r
-//-->\r
-</script>\r
-</body>\r
-\r
-</html>\r
+++ /dev/null
-<!doctype HTML public "-//W3C//DTD HTML 4.0 Frameset//EN">\r
-\r
-<html>\r
-\r
-<!--(==============================================================)-->\r
-<!--(Document created with RoboEditor. )============================-->\r
-<!--(==============================================================)-->\r
-\r
-<head>\r
-\r
-<title>Changing graph description</title>\r
-\r
-<!--(Meta)==========================================================-->\r
-\r
-<meta http-equiv=content-type content="text/html; charset=windows-1252">\r
-<meta name=generator content="RoboHELP by eHelp Corporation - www.ehelp.com">\r
-<meta name=generator-major-version content=0.1>\r
-<meta name=generator-minor-version content=1>\r
-<meta name=filetype content=kadov>\r
-<meta name=filetype-version content=1>\r
-<meta name=page-count content=1>\r
-<meta name=layout-height content=746>\r
-<meta name=layout-width content=700>\r
-\r
-\r
-<!--(Links)=========================================================-->\r
-\r
- <link rel='stylesheet' href='../default_ns.css'>\r
-<script type="text/javascript" language="JavaScript" title="WebHelpSplitCss">\r
-<!--\r
-if (navigator.appName !="Netscape")\r
-{ document.write("<link rel='stylesheet' href='../default.css'>");}\r
-//-->\r
-</script>\r
-<style type="text/css">\r
-<!--\r
-h1.whs1 {font-family: 'Times New Roman', serif;}\r
-p.whs2 {background-image:url(../texture_horiz_ltbluebubbles.jpg); }\r
-img_whs3 {border-style: none; border: none; float: none; width: 36px; height: 38px;}\r
-p.whs4 {text-align: JUSTIFY; font-family: 'Times New Roman', serif; font-size: 12pt;}\r
-p.whs5 {text-align: JUSTIFY; font-family: 'Times New Roman', serif; font-size: 12pt; margin-left: 40px;}\r
-p.whs6 {font-family: 'Times New Roman', serif; font-size: 12pt;}\r
-img_whs7 {border-style: none; border: none; width: 339px; height: 322px; float: none;}\r
-p.whs8 {text-align: CENTER; font-family: 'Times New Roman', serif; font-size: 12pt;}\r
--->\r
-</style>\r
-<script type="text/javascript" language="JavaScript" title="BSSC Special Effects" src="../ehlpdhtm.js"></script><script type="text/javascript" language="JavaScript" title="WebHelpInlineScript">\r
-<!--\r
-function reDo() {\r
- if (innerWidth != origWidth || innerHeight != origHeight)\r
- location.reload();\r
-}\r
-if ((parseInt(navigator.appVersion) == 4) && (navigator.appName == "Netscape")) {\r
- origWidth = innerWidth;\r
- origHeight = innerHeight;\r
- onresize = reDo;\r
-}\r
-onerror = null; \r
-//-->\r
-</script>\r
-<style type="text/css">\r
-<!--\r
- div.WebHelpPopupMenu {position:absolute; left:0px; top:0px; z-index:4; visibility:hidden;}\r
--->\r
-</style>\r
-<script type="text/javascript" language="javascript1.2" src="../whmsg.js"></script>\r
-<script type="text/javascript" language="javascript" src="../whver.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="../whproxy.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="../whutils.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="../whtopic.js"></script>\r
-</head>\r
-\r
-<!--(Body)==========================================================-->\r
-\r
-\r
-<body>\r
-\r
-<script type="text/javascript" language="javascript1.2">\r
-<!--\r
-if (window.gbWhTopic)\r
-{\r
- if (window.addTocInfo)\r
- {\r
- addTocInfo("SUPERVISION module\nEditing graphs\nReferencing graphs in the study");\r
-addButton("show",BTN_TEXT,"Show","","","","",0,0,"","","");\r
-\r
- }\r
- if (window.writeBtnStyle)\r
- writeBtnStyle();\r
-\r
- if (window.writeIntopicBar)\r
- writeIntopicBar(1);\r
-\r
- if (window.setRelStartPage)\r
- {\r
- setRelStartPage("../supervision.html");\r
-\r
- autoSync(0);\r
- sendSyncInfo();\r
- sendAveInfoOut();\r
- }\r
-}\r
-else\r
- document.location.reload();\r
-//-->\r
-</script>\r
-<h1 class="whs1">Changing graph description</h1>\r
-\r
-<p class="whs2"><img src="../note1.gif" x-maintain-ratio="TRUE" width="36px" height="38px" border="0" class="img_whs3"> <span style="font-family: 'Times New Roman', serif;">This \r
- option is available only if your graph is modifiable. Otherwise you'll \r
- be able only to view the description of the graph.</span></p>\r
-\r
-<p> </p>\r
-\r
-<p class=TODO>To change or just view the description of your graph:</p>\r
-\r
-<p class="whs4"> </p>\r
-\r
-<p class="whs5">Right-click on the SUPERVISION viewer window \r
- containing your graph and from the pop-up menu choose <span style="font-weight: bold;"><B>Change \r
- Informations</B></span> option. The following dialog box will appear \r
- where you can change the name<span style="font-weight: bold;"> <B></B></span>of \r
- your graph, enter the name of the author and additional comments concerning \r
- your graph:</p>\r
-\r
-<p class="whs5"> </p>\r
-\r
-<p class="whs6"> <img src="../pics/description.jpg" x-maintain-ratio="TRUE" width="339px" height="322px" border="0" class="img_whs7"></p>\r
-\r
-<p align="center" class="whs8"> </p>\r
-\r
-<p class="whs4">To confirm the changes in this dialog box \r
- click <span style="font-weight: bold;"><B>OK</B></span>.</p>\r
-\r
-<p class="whs4"> </p>\r
-\r
-<p class="whs4"> </p>\r
-\r
-<p class="whs4">\r
-<a href="javascript:void(0);" onClick="var e; if (parseInt(navigator.appVersion)>=4){e=event;} if (parseInt(navigator.appVersion) >=2 && typeof(PopupMenu_Invoke) == 'function') PopupMenu_Invoke(e,'','Creating a new graph','creating_a_new_graph.htm','Usage of SUPERVISION module','usage_of_supervisor_module.htm');return false;" title="Related Topics"><img src="../ss_btn_related_topics.gif" border=0 height=17 width=82 alt="Related Topics"></a></p>\r
-\r
-<p class="whs4"> </p>\r
-\r
-<p class="whs4"> </p>\r
-\r
-<script type="text/javascript" language="JavaScript" title="WebHelpRelatedTopics"><!--\r
-if (parseInt(navigator.appVersion) >= 3 && typeof (WritePopupMenuLayer) == "function")\r
- WritePopupMenuLayer();\r
-//--></script><script type="text/javascript" language="javascript1.2">\r
-<!--\r
-if (window.writeIntopicBar)\r
- writeIntopicBar(0);\r
-//-->\r
-</script>\r
-</body>\r
-\r
-</html>\r
+++ /dev/null
-<!doctype HTML public "-//W3C//DTD HTML 4.0 Frameset//EN">\r
-\r
-<html>\r
-\r
-<!--(==============================================================)-->\r
-<!--(Document created with RoboEditor. )============================-->\r
-<!--(==============================================================)-->\r
-\r
-<head>\r
-\r
-<title>Placing nodes in the window</title>\r
-\r
-<!--(Meta)==========================================================-->\r
-\r
-<meta http-equiv=content-type content="text/html; charset=windows-1252">\r
-<meta name=generator content="RoboHELP by eHelp Corporation - www.ehelp.com">\r
-<meta name=generator-major-version content=0.1>\r
-<meta name=generator-minor-version content=1>\r
-<meta name=filetype content=kadov>\r
-<meta name=filetype-version content=1>\r
-<meta name=page-count content=1>\r
-<meta name=layout-height content=380>\r
-<meta name=layout-width content=700>\r
-\r
-\r
-<!--(Links)=========================================================-->\r
-\r
- <link rel='stylesheet' href='../default_ns.css'>\r
-<script type="text/javascript" language="JavaScript" title="WebHelpSplitCss">\r
-<!--\r
-if (navigator.appName !="Netscape")\r
-{ document.write("<link rel='stylesheet' href='../default.css'>");}\r
-//-->\r
-</script>\r
-<style type="text/css">\r
-<!--\r
-h1.whs1 {font-family: 'Times New Roman', serif; font-size: 24pt;}\r
-p.whs2 {text-align: JUSTIFY; font-family: 'Times New Roman', serif; font-size: 12pt;}\r
-img_whs3 {border-style: none; border: none; width: 30px; height: 30px; float: none;}\r
-p.whs4 {font-family: 'Times New Roman', serif; font-size: 12pt;}\r
-p.whs5 {font-family: 'Times New Roman', serif; font-size: 12pt; margin-left: 40px;}\r
--->\r
-</style>\r
-<script type="text/javascript" language="JavaScript" title="BSSC Special Effects" src="../ehlpdhtm.js"></script><script type="text/javascript" language="JavaScript" title="WebHelpInlineScript">\r
-<!--\r
-function reDo() {\r
- if (innerWidth != origWidth || innerHeight != origHeight)\r
- location.reload();\r
-}\r
-if ((parseInt(navigator.appVersion) == 4) && (navigator.appName == "Netscape")) {\r
- origWidth = innerWidth;\r
- origHeight = innerHeight;\r
- onresize = reDo;\r
-}\r
-onerror = null; \r
-//-->\r
-</script>\r
-<style type="text/css">\r
-<!--\r
- div.WebHelpPopupMenu {position:absolute; left:0px; top:0px; z-index:4; visibility:hidden;}\r
--->\r
-</style>\r
-<script type="text/javascript" language="javascript1.2" src="../whmsg.js"></script>\r
-<script type="text/javascript" language="javascript" src="../whver.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="../whproxy.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="../whutils.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="../whtopic.js"></script>\r
-</head>\r
-\r
-<!--(Body)==========================================================-->\r
-\r
-\r
-<body>\r
-\r
-<script type="text/javascript" language="javascript1.2">\r
-<!--\r
-if (window.gbWhTopic)\r
-{\r
- if (window.addTocInfo)\r
- {\r
- addTocInfo("SUPERVISION module\nEditing graphs\nNodes in the graph\nLocating nodes in the window");\r
-addButton("show",BTN_TEXT,"Show","","","","",0,0,"","","");\r
-\r
- }\r
- if (window.writeBtnStyle)\r
- writeBtnStyle();\r
-\r
- if (window.writeIntopicBar)\r
- writeIntopicBar(1);\r
-\r
- if (window.setRelStartPage)\r
- {\r
- setRelStartPage("../supervision.html");\r
-\r
- autoSync(0);\r
- sendSyncInfo();\r
- sendAveInfoOut();\r
- }\r
-}\r
-else\r
- document.location.reload();\r
-//-->\r
-</script>\r
-<h1 class="whs1">Locating \r
- nodes in the window</h1>\r
-\r
-<p class="whs2"><img src="../i_blue.jpg" x-maintain-ratio="TRUE" width="30px" height="30px" border="0" class="img_whs3">In SUPERVISION you can locate \r
- the nodes of your graph in any part of the SUPERVISION viewer window. \r
- </p>\r
-\r
-<p class="whs2"> </p>\r
-\r
-<p class=TODO>To replace a node:</p>\r
-\r
-<p class="whs4"> </p>\r
-\r
-<p class="whs5">With your mouse drag this node by its <span \r
- style="font-weight: bold;"><B>Title</B></span> part, relocate it to the required \r
- place in the window and drop it.</p>\r
-\r
-<p class="whs4"> </p>\r
-\r
-<p class="whs2">This option allows to achieve a better visual \r
- presentation of your \r
- graph.</p>\r
-\r
-<p class="whs4"> </p>\r
-\r
-<p class="whs4"> </p>\r
-\r
-<p class="whs4">\r
-<a href="javascript:void(0);" onClick="var e; if (parseInt(navigator.appVersion)>=4){e=event;} if (parseInt(navigator.appVersion) >=2 && typeof(PopupMenu_Invoke) == 'function') PopupMenu_Invoke(e,'','About nodes','about_nodes.htm');return false;" title="Related Topics"><img src="../ss_btn_related_topics.gif" border=0 height=17 width=82 alt="Related Topics"></a></p>\r
-\r
-<script type="text/javascript" language="JavaScript" title="WebHelpRelatedTopics"><!--\r
-if (parseInt(navigator.appVersion) >= 3 && typeof (WritePopupMenuLayer) == "function")\r
- WritePopupMenuLayer();\r
-//--></script><script type="text/javascript" language="javascript1.2">\r
-<!--\r
-if (window.writeIntopicBar)\r
- writeIntopicBar(0);\r
-//-->\r
-</script>\r
-</body>\r
-\r
-</html>\r
+++ /dev/null
-<!doctype HTML public "-//W3C//DTD HTML 4.0 Frameset//EN">\r
-\r
-<html>\r
-\r
-<!--(==============================================================)-->\r
-<!--(Document created with RoboEditor. )============================-->\r
-<!--(==============================================================)-->\r
-\r
-<head>\r
-\r
-<title>Placing nodes in the window</title>\r
-\r
-<!--(Meta)==========================================================-->\r
-\r
-<meta http-equiv=content-type content="text/html; charset=windows-1252">\r
-<meta name=generator content="RoboHELP by eHelp Corporation - www.ehelp.com">\r
-<meta name=generator-major-version content=0.1>\r
-<meta name=generator-minor-version content=1>\r
-<meta name=filetype content=kadov>\r
-<meta name=filetype-version content=1>\r
-<meta name=page-count content=1>\r
-<meta name=layout-height content=380>\r
-<meta name=layout-width content=700>\r
-\r
-\r
-<!--(Links)=========================================================-->\r
-\r
- <link rel='stylesheet' href='../default_ns.css'>\r
-<script type="text/javascript" language="JavaScript" title="WebHelpSplitCss">\r
-<!--\r
-if (navigator.appName !="Netscape")\r
-{ document.write("<link rel='stylesheet' href='../default.css'>");}\r
-//-->\r
-</script>\r
-<style type="text/css">\r
-<!--\r
-h1.whs1 {font-family: 'Times New Roman', serif; font-size: 24pt;}\r
-p.whs2 {text-align: JUSTIFY; font-family: 'Times New Roman', serif; font-size: 12pt;}\r
-img_whs3 {border-style: none; border: none; width: 30px; height: 30px; float: none;}\r
-p.whs4 {font-family: 'Times New Roman', serif; font-size: 12pt;}\r
-p.whs5 {font-family: 'Times New Roman', serif; font-size: 12pt; margin-left: 40px;}\r
--->\r
-</style>\r
-<script type="text/javascript" language="JavaScript" title="BSSC Special Effects" src="../ehlpdhtm.js"></script><script type="text/javascript" language="JavaScript" title="WebHelpInlineScript">\r
-<!--\r
-function reDo() {\r
- if (innerWidth != origWidth || innerHeight != origHeight)\r
- location.reload();\r
-}\r
-if ((parseInt(navigator.appVersion) == 4) && (navigator.appName == "Netscape")) {\r
- origWidth = innerWidth;\r
- origHeight = innerHeight;\r
- onresize = reDo;\r
-}\r
-onerror = null; \r
-//-->\r
-</script>\r
-<style type="text/css">\r
-<!--\r
- div.WebHelpPopupMenu {position:absolute; left:0px; top:0px; z-index:4; visibility:hidden;}\r
--->\r
-</style>\r
-<script type="text/javascript" language="javascript1.2" src="../whmsg.js"></script>\r
-<script type="text/javascript" language="javascript" src="../whver.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="../whproxy.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="../whutils.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="../whtopic.js"></script>\r
-</head>\r
-\r
-<!--(Body)==========================================================-->\r
-\r
-\r
-<body>\r
-\r
-<script type="text/javascript" language="javascript1.2">\r
-<!--\r
-if (window.gbWhTopic)\r
-{\r
- if (window.addTocInfo)\r
- {\r
- addTocInfo("SUPERVISION module\nEditing graphs\nLinking nodes\nPoints in links");\r
-addButton("show",BTN_TEXT,"Show","","","","",0,0,"","","");\r
-\r
- }\r
- if (window.writeBtnStyle)\r
- writeBtnStyle();\r
-\r
- if (window.writeIntopicBar)\r
- writeIntopicBar(1);\r
-\r
- if (window.setRelStartPage)\r
- {\r
- setRelStartPage("../supervision.html");\r
-\r
- autoSync(0);\r
- sendSyncInfo();\r
- sendAveInfoOut();\r
- }\r
-}\r
-else\r
- document.location.reload();\r
-//-->\r
-</script>\r
-<h1 class="whs1">Locating \r
- nodes in the window</h1>\r
-\r
-<p class="whs2"><img src="../i_blue.jpg" x-maintain-ratio="TRUE" width="30px" height="30px" border="0" class="img_whs3">In <span style="font-weight: bold;"><B>SUPERVISION</B></span> \r
- you can locate the nodes of your graph in any part of the SUPERVISION \r
- viewer. </p>\r
-\r
-<p class="whs2"> </p>\r
-\r
-<p class=TODO>To replace a node:</p>\r
-\r
-<p class="whs4"> </p>\r
-\r
-<p class="whs5">With your mouse drag this node by its <span \r
- style="font-weight: bold;"><B>Title</B></span> part, relocate it to the required \r
- place in the window and drop it.</p>\r
-\r
-<p class="whs4"> </p>\r
-\r
-<p class="whs2">This option allows to achieve a better visual \r
- presentation of your \r
- graph.</p>\r
-\r
-<p class="whs4"> </p>\r
-\r
-<p class="whs4"> </p>\r
-\r
-<p class="whs4">\r
-<a href="javascript:void(0);" onClick="var e; if (parseInt(navigator.appVersion)>=4){e=event;} if (parseInt(navigator.appVersion) >=2 && typeof(PopupMenu_Invoke) == 'function') PopupMenu_Invoke(e,'','About nodes','about_nodes.htm');return false;" title="Related Topics"><img src="../ss_btn_related_topics.gif" border=0 height=17 width=82 alt="Related Topics"></a></p>\r
-\r
-<script type="text/javascript" language="JavaScript" title="WebHelpRelatedTopics"><!--\r
-if (parseInt(navigator.appVersion) >= 3 && typeof (WritePopupMenuLayer) == "function")\r
- WritePopupMenuLayer();\r
-//--></script><script type="text/javascript" language="javascript1.2">\r
-<!--\r
-if (window.writeIntopicBar)\r
- writeIntopicBar(0);\r
-//-->\r
-</script>\r
-</body>\r
-\r
-</html>\r
+++ /dev/null
-<!doctype HTML public "-//W3C//DTD HTML 4.0 Frameset//EN">\r
-\r
-<html>\r
-\r
-<!--(==============================================================)-->\r
-<!--(Document created with RoboEditor. )============================-->\r
-<!--(==============================================================)-->\r
-\r
-<head>\r
-\r
-<title>Referencing output values in the study</title>\r
-\r
-<!--(Meta)==========================================================-->\r
-\r
-<meta http-equiv=content-type content="text/html; charset=windows-1252">\r
-<meta name=generator content="RoboHELP by eHelp Corporation - www.ehelp.com">\r
-<meta name=generator-major-version content=0.1>\r
-<meta name=generator-minor-version content=1>\r
-<meta name=filetype content=kadov>\r
-<meta name=filetype-version content=1>\r
-<meta name=page-count content=1>\r
-<meta name=layout-height content=765>\r
-<meta name=layout-width content=700>\r
-\r
-\r
-<!--(Links)=========================================================-->\r
-\r
- <link rel='stylesheet' href='../default_ns.css'>\r
-<script type="text/javascript" language="JavaScript" title="WebHelpSplitCss">\r
-<!--\r
-if (navigator.appName !="Netscape")\r
-{ document.write("<link rel='stylesheet' href='../default.css'>");}\r
-//-->\r
-</script>\r
-<style type="text/css">\r
-<!--\r
-h1.whs1 {font-family: 'Times New Roman', serif;}\r
-p.whs2 {font-family: 'Times New Roman', serif;}\r
-img_whs3 {border-style: none; border: none; width: 30px; height: 30px; float: none;}\r
-p.whs4 {font-family: 'Times New Roman', serif; font-style: italic; color: #ff0000;}\r
-p.whs5 {font-family: 'Times New Roman', serif; margin-left: 40px; font-style: normal; color: #000000;}\r
-p.whs6 {font-family: 'Times New Roman', serif; margin-left: 0px;}\r
-p.whs7 {font-family:'Times New Roman' , serif; margin-left:0px; background-image:url(../texture_horiz_ltbluebubbles.jpg); }\r
-img_whs8 {border-style: none; border: none; width: 35px; height: 37px; float: none;}\r
-img_whs9 {border-style: none; border: none; width: 265px; height: 160px; float: none;}\r
-p.whs10 {font-family: 'Times New Roman', serif; margin-left: 0px; font-size: 12pt;}\r
--->\r
-</style>\r
-<script type="text/javascript" language="JavaScript">\r
-<!--\r
-if ((navigator.appName == "Netscape") && (parseInt(navigator.appVersion) == 4))\r
-{\r
- var strNSS = "<style type='text/css'>";\r
- strNSS += "p.whs6 {margin-left:1; }";\r
- strNSS += "p.whs7 {margin-left:1; }";\r
- strNSS += "p.whs10 {margin-left:1; }";\r
- strNSS +="</style>";\r
- document.write(strNSS);\r
-}\r
-//-->\r
-</script>\r
-<script type="text/javascript" language="JavaScript" title="BSSC Special Effects" src="../ehlpdhtm.js"></script><script type="text/javascript" language="JavaScript" title="WebHelpInlineScript">\r
-<!--\r
-function reDo() {\r
- if (innerWidth != origWidth || innerHeight != origHeight)\r
- location.reload();\r
-}\r
-if ((parseInt(navigator.appVersion) == 4) && (navigator.appName == "Netscape")) {\r
- origWidth = innerWidth;\r
- origHeight = innerHeight;\r
- onresize = reDo;\r
-}\r
-onerror = null; \r
-//-->\r
-</script>\r
-<style type="text/css">\r
-<!--\r
- div.WebHelpPopupMenu {position:absolute; left:0px; top:0px; z-index:4; visibility:hidden;}\r
--->\r
-</style>\r
-<script type="text/javascript" language="javascript1.2" src="../whmsg.js"></script>\r
-<script type="text/javascript" language="javascript" src="../whver.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="../whproxy.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="../whutils.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="../whtopic.js"></script>\r
-</head>\r
-\r
-<!--(Body)==========================================================-->\r
-\r
-\r
-<body>\r
-\r
-<script type="text/javascript" language="javascript1.2">\r
-<!--\r
-if (window.gbWhTopic)\r
-{\r
- if (window.addTocInfo)\r
- {\r
- addTocInfo("SUPERVISION module\nInitializing and executing graphs\nReferencing output values in the study");\r
-addButton("show",BTN_TEXT,"Show","","","","",0,0,"","","");\r
-\r
- }\r
- if (window.writeBtnStyle)\r
- writeBtnStyle();\r
-\r
- if (window.writeIntopicBar)\r
- writeIntopicBar(1);\r
-\r
- if (window.setRelStartPage)\r
- {\r
- setRelStartPage("../supervision.html");\r
-\r
- autoSync(0);\r
- sendSyncInfo();\r
- sendAveInfoOut();\r
- }\r
-}\r
-else\r
- document.location.reload();\r
-//-->\r
-</script>\r
-<h1 class="whs1">Referencing output values \r
- in the study</h1>\r
-\r
-<p class="whs2"><span style="font-size: 12pt;"><font size=3 style="font-size:12pt;"><img src="../i_blue.jpg" x-maintain-ratio="TRUE" width="30px" height="30px" border="0" class="img_whs3"></font></span>In <span style="font-weight: bold;"><B>SUPERVISION</B></span> \r
- you can reference in \r
- the study all data calculated in the nodes. This option allows to view \r
- and store output values of the graph in the study.</p>\r
-\r
-<p class="whs4"> </p>\r
-\r
-<p class=TODO>To reference output values in the study:</p>\r
-\r
-<p class="whs4"> </p>\r
-\r
-<p class="whs5">Right-click on the required Output port of \r
- the node and from the pop-up menu choose <span style="font-weight: bold;"><B>Put \r
- in Study</B></span> option. Next time you try to call this pop-up menu on \r
- the same port, this option will change into <span style="font-weight: bold;"><B>Not \r
- in Study. </B></span>It allows to remove this reference from the study.</p>\r
-\r
-<p class="whs6"> </p>\r
-\r
-<p class="whs7"><img src="../tip1.gif" x-maintain-ratio="TRUE" width="35px" height="37px" border="0" class="img_whs8"> If the value of an Output port has a reference in the study, \r
- this port in the node will get a bold frame. </p>\r
-\r
-<p class="whs6"> </p>\r
-\r
-<p class="whs6">In \r
- SUPERVISION you can create as many references to output values as it's \r
- necessary. If you haven't yet launched execution of your graph, SUPERVISION \r
- will create in the Object Browser a reference only to your graph (<a href="opening_graphs_referenced_in_the_study.htm">see \r
- also: Referencing graphs in \r
- the study</a>) and store the references to the output parameters in this \r
- folder. After execution of your graph all of them will be displayed in \r
- the Object Browser in the following way:</p>\r
-\r
-<p class="whs6"> </p>\r
-\r
-<p class="whs6"><img src="../pics/reference.jpg" x-maintain-ratio="TRUE" width="265px" height="160px" border="0" class="img_whs9"></p>\r
-\r
-<p class="whs6">In \r
- the column <span style="font-weight: bold;"><B>Value </B></span>of the Object \r
- Browser you'll be able to get the value of the output parameter. </p>\r
-\r
-<p class="whs6"> </p>\r
-\r
-<p class="whs6"> </p>\r
-\r
-<p class="whs6"> </p>\r
-\r
-<p class="whs10">\r
-<a href="javascript:void(0);" onClick="var e; if (parseInt(navigator.appVersion)>=4){e=event;} if (parseInt(navigator.appVersion) >=2 && typeof(PopupMenu_Invoke) == 'function') PopupMenu_Invoke(e,'','About nodes','about_nodes.htm','Creating a new graph','creating_a_new_graph.htm','Examiming calculated data','viewing_output_vaues.htm','Referencing graphs in the study','opening_graphs_referenced_in_the_study.htm');return false;" title="Related Topics"><img src="../ss_btn_related_topics.gif" border=0 height=17 width=82 alt="Related Topics"></a></p>\r
-\r
-<p class="whs10"> </p>\r
-\r
-<p class="whs10"> </p>\r
-\r
-<p class="whs10"> </p>\r
-\r
-<p class="whs10"> </p>\r
-\r
-<script type="text/javascript" language="JavaScript" title="WebHelpRelatedTopics"><!--\r
-if (parseInt(navigator.appVersion) >= 3 && typeof (WritePopupMenuLayer) == "function")\r
- WritePopupMenuLayer();\r
-//--></script><script type="text/javascript" language="javascript1.2">\r
-<!--\r
-if (window.writeIntopicBar)\r
- writeIntopicBar(0);\r
-//-->\r
-</script>\r
-</body>\r
-\r
-</html>\r
+++ /dev/null
-<!doctype HTML public "-//W3C//DTD HTML 4.0 Frameset//EN">\r
-\r
-<html>\r
-\r
-<!--(==============================================================)-->\r
-<!--(Document created with RoboEditor. )============================-->\r
-<!--(==============================================================)-->\r
-\r
-<head>\r
-\r
-<title>Reloading dataflow</title>\r
-\r
-<!--(Meta)==========================================================-->\r
-\r
-<meta http-equiv=content-type content="text/html; charset=windows-1252">\r
-<meta name=generator content="RoboHELP by eHelp Corporation - www.ehelp.com">\r
-<meta name=generator-major-version content=0.1>\r
-<meta name=generator-minor-version content=1>\r
-<meta name=filetype content=kadov>\r
-<meta name=filetype-version content=1>\r
-<meta name=page-count content=1>\r
-<meta name=layout-height content=406>\r
-<meta name=layout-width content=614>\r
-\r
-\r
-<!--(Links)=========================================================-->\r
-\r
- <link rel='stylesheet' href='../default_ns.css'>\r
-<script type="text/javascript" language="JavaScript" title="WebHelpSplitCss">\r
-<!--\r
-if (navigator.appName !="Netscape")\r
-{ document.write("<link rel='stylesheet' href='../default.css'>");}\r
-//-->\r
-</script>\r
-<style type="text/css">\r
-<!--\r
-h1.whs1 {text-align: justify;}\r
-p.whs2 {text-align: justify;}\r
-img_whs3 {border-style: none; border: none; float: none; width: 30px; height: 30px;}\r
-p.whs4 {margin-left: 40px; text-align: justify;}\r
-img_whs5 {border-style: none; border: none; width: 25px; height: 27px; float: none;}\r
-p.whs6 {margin-left: 0px; text-align: justify;}\r
--->\r
-</style>\r
-<script type="text/javascript" language="JavaScript">\r
-<!--\r
-if ((navigator.appName == "Netscape") && (parseInt(navigator.appVersion) == 4))\r
-{\r
- var strNSS = "<style type='text/css'>";\r
- strNSS += "p.whs6 {margin-left:1; }";\r
- strNSS +="</style>";\r
- document.write(strNSS);\r
-}\r
-//-->\r
-</script>\r
-<script type="text/javascript" language="JavaScript" title="BSSC Special Effects" src="../ehlpdhtm.js"></script><script type="text/javascript" language="JavaScript" title="WebHelpInlineScript">\r
-<!--\r
-function reDo() {\r
- if (innerWidth != origWidth || innerHeight != origHeight)\r
- location.reload();\r
-}\r
-if ((parseInt(navigator.appVersion) == 4) && (navigator.appName == "Netscape")) {\r
- origWidth = innerWidth;\r
- origHeight = innerHeight;\r
- onresize = reDo;\r
-}\r
-onerror = null; \r
-//-->\r
-</script>\r
-<style type="text/css">\r
-<!--\r
- div.WebHelpPopupMenu {position:absolute; left:0px; top:0px; z-index:4; visibility:hidden;}\r
--->\r
-</style>\r
-<script type="text/javascript" language="javascript1.2" src="../whmsg.js"></script>\r
-<script type="text/javascript" language="javascript" src="../whver.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="../whproxy.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="../whutils.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="../whtopic.js"></script>\r
-</head>\r
-\r
-<!--(Body)==========================================================-->\r
-\r
-\r
-<body>\r
-\r
-<script type="text/javascript" language="javascript1.2">\r
-<!--\r
-if (window.gbWhTopic)\r
-{\r
- if (window.addTocInfo)\r
- {\r
- addTocInfo("SUPERVISION module\nEditing graphs\nReloading dataflow");\r
-addButton("show",BTN_TEXT,"Show","","","","",0,0,"","","");\r
-\r
- }\r
- if (window.writeBtnStyle)\r
- writeBtnStyle();\r
-\r
- if (window.writeIntopicBar)\r
- writeIntopicBar(1);\r
-\r
- if (window.setRelStartPage)\r
- {\r
- setRelStartPage("../supervision.html");\r
-\r
- autoSync(0);\r
- sendSyncInfo();\r
- sendAveInfoOut();\r
- }\r
-}\r
-else\r
- document.location.reload();\r
-//-->\r
-</script>\r
-<h1 class="whs1">Reloading dataflow</h1>\r
-\r
-<p class="whs2"><img src="../i_blue.jpg" x-maintain-ratio="TRUE" width="30px" height="30px" border="0" class="img_whs3">In <span style="font-weight: bold;"><B>SUPERVISION</B></span> \r
- component graphs can be edited from Python console. All these modifications \r
- are at first automatically registered in SUPERVISION Engine and after \r
- it in the Graphical User Interface (in the SUPERVISION viewer window) \r
- of SUPERVISION component. If some modifications of your graph, made from \r
- Python console, hasn't been realized in GUI, you can manually reload your \r
- graph from SUPERVISION Engine.</p>\r
-\r
-<p class="whs2"> </p>\r
-\r
-<p class=TODO>To reload a dataflow:</p>\r
-\r
-<p class="whs2"> </p>\r
-\r
-<p class="whs4">In the SUPERVISION toolbar \r
- click <img src="../pics/reload.jpg" x-maintain-ratio="TRUE" width="25px" height="27px" border="0" class="img_whs5"> icon or from the main menu choose <span style="font-weight: bold;"><B>Supervision \r
- > Reload</B></span> item.</p>\r
-\r
-<p class="whs4"> </p>\r
-\r
-<p class="whs6"> </p>\r
-\r
-<p class="whs6">\r
-<a href="javascript:void(0);" onClick="var e; if (parseInt(navigator.appVersion)>=4){e=event;} if (parseInt(navigator.appVersion) >=2 && typeof(PopupMenu_Invoke) == 'function') PopupMenu_Invoke(e,'','Creating a new graph','creating_a_new_graph.htm','Importing graphs from file','importing_graphs_from_file.htm','Usage of SUPERVISION module','usage_of_supervisor_module.htm');return false;" title="Related Topics"><img src="../ss_btn_related_topics.gif" border=0 height=17 width=82 alt="Related Topics"></a></p>\r
-\r
-<p class="whs2"> </p>\r
-\r
-<p class="whs4"> </p>\r
-\r
-<script type="text/javascript" language="JavaScript" title="WebHelpRelatedTopics"><!--\r
-if (parseInt(navigator.appVersion) >= 3 && typeof (WritePopupMenuLayer) == "function")\r
- WritePopupMenuLayer();\r
-//--></script><script type="text/javascript" language="javascript1.2">\r
-<!--\r
-if (window.writeIntopicBar)\r
- writeIntopicBar(0);\r
-//-->\r
-</script>\r
-</body>\r
-\r
-</html>\r
+++ /dev/null
-<!doctype HTML public "-//W3C//DTD HTML 4.0 Frameset//EN">\r
-\r
-<html>\r
-\r
-<!--(==============================================================)-->\r
-<!--(Document created with RoboEditor. )============================-->\r
-<!--(==============================================================)-->\r
-\r
-<head>\r
-\r
-<title>Renaming nodes</title>\r
-\r
-<!--(Meta)==========================================================-->\r
-\r
-<meta http-equiv=content-type content="text/html; charset=windows-1252">\r
-<meta name=generator content="RoboHELP by eHelp Corporation - www.ehelp.com">\r
-<meta name=generator-major-version content=0.1>\r
-<meta name=generator-minor-version content=1>\r
-<meta name=filetype content=kadov>\r
-<meta name=filetype-version content=1>\r
-<meta name=page-count content=1>\r
-<meta name=layout-height content=380>\r
-<meta name=layout-width content=700>\r
-\r
-\r
-<!--(Links)=========================================================-->\r
-\r
- <link rel='stylesheet' href='../default_ns.css'>\r
-<script type="text/javascript" language="JavaScript" title="WebHelpSplitCss">\r
-<!--\r
-if (navigator.appName !="Netscape")\r
-{ document.write("<link rel='stylesheet' href='../default.css'>");}\r
-//-->\r
-</script>\r
-<style type="text/css">\r
-<!--\r
-h1.whs1 {font-family: 'Times New Roman', serif;}\r
-p.whs2 {font-family:'Times New Roman' , serif; font-size:12pt; background-image:url(../texture_horiz_ltbluebubbles.jpg); }\r
-img_whs3 {border-style: none; border: none; float: none; width: 36px; height: 38px;}\r
-p.whs4 {text-align: JUSTIFY; font-size: 12pt; font-family: 'Times New Roman', serif;}\r
-p.whs5 {text-align: JUSTIFY; font-size: 12pt; font-family: 'Times New Roman', serif; margin-left: 40px;}\r
-p.whs6 {font-size: 12pt; font-family: 'Times New Roman', serif;}\r
--->\r
-</style>\r
-<script type="text/javascript" language="JavaScript" title="BSSC Special Effects" src="../ehlpdhtm.js"></script><script type="text/javascript" language="JavaScript" title="WebHelpInlineScript">\r
-<!--\r
-function reDo() {\r
- if (innerWidth != origWidth || innerHeight != origHeight)\r
- location.reload();\r
-}\r
-if ((parseInt(navigator.appVersion) == 4) && (navigator.appName == "Netscape")) {\r
- origWidth = innerWidth;\r
- origHeight = innerHeight;\r
- onresize = reDo;\r
-}\r
-onerror = null; \r
-//-->\r
-</script>\r
-<style type="text/css">\r
-<!--\r
- div.WebHelpPopupMenu {position:absolute; left:0px; top:0px; z-index:4; visibility:hidden;}\r
--->\r
-</style>\r
-<script type="text/javascript" language="javascript1.2" src="../whmsg.js"></script>\r
-<script type="text/javascript" language="javascript" src="../whver.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="../whproxy.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="../whutils.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="../whtopic.js"></script>\r
-</head>\r
-\r
-<!--(Body)==========================================================-->\r
-\r
-\r
-<body>\r
-\r
-<script type="text/javascript" language="javascript1.2">\r
-<!--\r
-if (window.gbWhTopic)\r
-{\r
- if (window.addTocInfo)\r
- {\r
- addTocInfo("SUPERVISION module\nEditing graphs\nNodes in the graph\nRenaming nodes");\r
-addButton("show",BTN_TEXT,"Show","","","","",0,0,"","","");\r
-\r
- }\r
- if (window.writeBtnStyle)\r
- writeBtnStyle();\r
-\r
- if (window.writeIntopicBar)\r
- writeIntopicBar(1);\r
-\r
- if (window.setRelStartPage)\r
- {\r
- setRelStartPage("../supervision.html");\r
-\r
- autoSync(0);\r
- sendSyncInfo();\r
- sendAveInfoOut();\r
- }\r
-}\r
-else\r
- document.location.reload();\r
-//-->\r
-</script>\r
-<h1 class="whs1">Renaming nodes</h1>\r
-\r
-<p class="whs2"><img src="../note1.gif" x-maintain-ratio="TRUE" width="36px" height="38px" border="0" class="img_whs3"> This action of insertion is possible only if the main graph \r
- is modifiable, not a read-only one. </p>\r
-\r
-<p> </p>\r
-\r
-<p class=TODO>To rename a node of a graph:</p>\r
-\r
-<p class="whs4"> </p>\r
-\r
-<p class="whs5">1. Right-click on the <span style="font-weight: bold;"><B>Title</B></span> \r
- part of the node and select <span style="font-weight: bold;"><B>Rename</B></span> \r
- option</p>\r
-\r
-<p class="whs4"> </p>\r
-\r
-<p class="whs5">2. In the standard dialog box enter a new \r
- name of your node and click <span style="font-weight: bold;"><B>OK </B></span>button.</p>\r
-\r
-<p class="whs6"> </p>\r
-\r
-<p class="whs6">The \r
- title of your node will change.</p>\r
-\r
-<p class="whs6"> </p>\r
-\r
-<p class="whs6"> </p>\r
-\r
-<p class="whs6">\r
-<a href="javascript:void(0);" onClick="var e; if (parseInt(navigator.appVersion)>=4){e=event;} if (parseInt(navigator.appVersion) >=2 && typeof(PopupMenu_Invoke) == 'function') PopupMenu_Invoke(e,'','About nodes','about_nodes.htm','Adding nodes','adding_nodes.htm','Creating a new graph','creating_a_new_graph.htm');return false;" title="Related Topics"><img src="../ss_btn_related_topics.gif" border=0 height=17 width=82 alt="Related Topics"></a></p>\r
-\r
-<script type="text/javascript" language="JavaScript" title="WebHelpRelatedTopics"><!--\r
-if (parseInt(navigator.appVersion) >= 3 && typeof (WritePopupMenuLayer) == "function")\r
- WritePopupMenuLayer();\r
-//--></script><script type="text/javascript" language="javascript1.2">\r
-<!--\r
-if (window.writeIntopicBar)\r
- writeIntopicBar(0);\r
-//-->\r
-</script>\r
-</body>\r
-\r
-</html>\r
+++ /dev/null
-<!doctype HTML public "-//W3C//DTD HTML 4.0 Frameset//EN">\r
-\r
-<html>\r
-\r
-<!--(==============================================================)-->\r
-<!--(Document created with RoboEditor. )============================-->\r
-<!--(==============================================================)-->\r
-\r
-<head>\r
-\r
-<title>Running dataflow</title>\r
-\r
-<!--(Meta)==========================================================-->\r
-\r
-<meta http-equiv=content-type content="text/html; charset=windows-1252">\r
-<meta name=generator content="RoboHELP by eHelp Corporation - www.ehelp.com">\r
-<meta name=generator-major-version content=0.1>\r
-<meta name=generator-minor-version content=1>\r
-<meta name=filetype content=kadov>\r
-<meta name=filetype-version content=1>\r
-<meta name=page-count content=1>\r
-<meta name=layout-height content=848>\r
-<meta name=layout-width content=700>\r
-\r
-\r
-<!--(Links)=========================================================-->\r
-\r
- <link rel='stylesheet' href='../default_ns.css'>\r
-<script type="text/javascript" language="JavaScript" title="WebHelpSplitCss">\r
-<!--\r
-if (navigator.appName !="Netscape")\r
-{ document.write("<link rel='stylesheet' href='../default.css'>");}\r
-//-->\r
-</script>\r
-<style type="text/css">\r
-<!--\r
-h1.whs1 {font-family: 'Times New Roman', serif;}\r
-p.whs2 {font-family: 'Times New Roman', serif; font-style: italic; color: #ff0000;}\r
-p.whs3 {font-family: 'Times New Roman', serif; margin-left: 40px; color: #000000; font-style: normal;}\r
-img_whs4 {border-style: none; border: none; width: 26px; height: 25px; float: none;}\r
-p.whs5 {font-family: 'Times New Roman', serif; margin-left: 0px;}\r
-p.whs6 {font-family:'Times New Roman' , serif; margin-left:0px; background-image:url(../texture_horiz_ltbluebubbles.jpg); }\r
-img_whs7 {border-style: none; border: none; float: none; width: 36px; height: 38px;}\r
-ul.whs8 {list-style: disc;}\r
-p.whs9 {font-family: 'Times New Roman', serif; margin-left: 40px;}\r
-p.whs10 {font-family: 'Times New Roman', serif; margin-left: 40px; font-weight: bold;}\r
-img_whs11 {border-style: none; border: none; width: 28px; height: 25px; float: none;}\r
--->\r
-</style>\r
-<script type="text/javascript" language="JavaScript">\r
-<!--\r
-if ((navigator.appName == "Netscape") && (parseInt(navigator.appVersion) == 4))\r
-{\r
- var strNSS = "<style type='text/css'>";\r
- strNSS += "p.whs5 {margin-left:1; }";\r
- strNSS += "p.whs6 {margin-left:1; }";\r
- strNSS +="</style>";\r
- document.write(strNSS);\r
-}\r
-//-->\r
-</script>\r
-<script type="text/javascript" language="JavaScript" title="BSSC Special Effects" src="../ehlpdhtm.js"></script><script type="text/javascript" language="JavaScript" title="WebHelpInlineScript">\r
-<!--\r
-function reDo() {\r
- if (innerWidth != origWidth || innerHeight != origHeight)\r
- location.reload();\r
-}\r
-if ((parseInt(navigator.appVersion) == 4) && (navigator.appName == "Netscape")) {\r
- origWidth = innerWidth;\r
- origHeight = innerHeight;\r
- onresize = reDo;\r
-}\r
-onerror = null; \r
-//-->\r
-</script>\r
-<style type="text/css">\r
-<!--\r
- div.WebHelpPopupMenu {position:absolute; left:0px; top:0px; z-index:4; visibility:hidden;}\r
--->\r
-</style>\r
-<script type="text/javascript" language="javascript1.2" src="../whmsg.js"></script>\r
-<script type="text/javascript" language="javascript" src="../whver.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="../whproxy.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="../whutils.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="../whtopic.js"></script>\r
-</head>\r
-\r
-<!--(Body)==========================================================-->\r
-\r
-\r
-<body>\r
-\r
-<script type="text/javascript" language="javascript1.2">\r
-<!--\r
-if (window.gbWhTopic)\r
-{\r
- if (window.addTocInfo)\r
- {\r
- addTocInfo("SUPERVISION module\nInitializing and executing graphs\nRunning dataflow");\r
-addButton("show",BTN_TEXT,"Show","","","","",0,0,"","","");\r
-\r
- }\r
- if (window.writeBtnStyle)\r
- writeBtnStyle();\r
-\r
- if (window.writeIntopicBar)\r
- writeIntopicBar(1);\r
-\r
- if (window.setRelStartPage)\r
- {\r
- setRelStartPage("../supervision.html");\r
-\r
- autoSync(0);\r
- sendSyncInfo();\r
- sendAveInfoOut();\r
- }\r
-}\r
-else\r
- document.location.reload();\r
-//-->\r
-</script>\r
-<h1 class="whs1">Running dataflow</h1>\r
-\r
-<p class=TODO>To launch execution of your graph:</p>\r
-\r
-<p class="whs2"> </p>\r
-\r
-<p class="whs3">In the <span style="font-weight: bold;"><B>Execution</B></span> \r
- toolbar click <img src="../pics/runicn.jpg" x-maintain-ratio="TRUE" width="26px" height="25px" border="0" class="img_whs4"> icon or from the <span style="font-weight: bold;"><B>Supervision \r
- </B></span>menu choose <span style="font-weight: bold;"><B> Run</B></span>. \r
- </p>\r
-\r
-<p class="whs3"> </p>\r
-\r
-<p class="whs5">Execution \r
- of your graph will be started from the first nodes with input parameters \r
- to the last node with output parameters. In case of graphs with conditional \r
- branches and loops execution of this graph may end on a definite intermediate \r
- node.</p>\r
-\r
-<p class="whs5"> </p>\r
-\r
-<p class="whs6"><img src="../note1.gif" x-maintain-ratio="TRUE" width="36px" height="38px" border="0" class="img_whs7">While execution of your graph is running, you can't modify \r
- the structure of your graph, set input parameters etc.</p>\r
-\r
-<p class="whs5"> </p>\r
-\r
-<p class="whs5">The \r
- main states of the nodes are the following:</p>\r
-\r
-<p class="whs5"> </p>\r
-\r
-<ul type="disc" class="whs8">\r
- \r
- <li class=kadov-p><p class="whs9"><span \r
- style="font-weight: bold;"><B>No Status</B></span> - \r
- Initial state of the node.</p></li>\r
- \r
- <li class=kadov-p><p class="whs9"><span \r
- style="font-weight: bold;"><B>Running - \r
- </B></span>This \r
- node is performing operations.</p></li>\r
- \r
- <li class=kadov-p><p class="whs9"><span \r
- style="font-weight: bold;"><B>Waiting - \r
- </B></span>This \r
- node is waiting for input data from other nodes, which are executing operations \r
- before him.</p></li>\r
- \r
- <li class=kadov-p><p class="whs9"><span \r
- style="font-weight: bold;"><B>Suspended - </B></span>Execution \r
- of the graph has been suspended on this node. It can be resumed.</p></li>\r
- \r
- <li class=kadov-p><p class="whs9"><span \r
- style="font-weight: bold;"><B>Finished</B></span> - This \r
- node has performed his operations.</p></li>\r
- \r
- <li class=kadov-p><p class="whs10">Killed - \r
- <span style="font-weight: normal;">Execution \r
- of the graph has been stopped on this node. It can't resumed. (only restarted) \r
- </span></p></li>\r
- \r
- <li class=kadov-p><p class="whs10">Aborted - \r
- <span style="font-weight: normal;">This node has performed an illegal \r
- operation. Execution of the whole graph has been killed.</span></p></li>\r
-</ul>\r
-\r
-<p class="whs10"> </p>\r
-\r
-<p class=TODO>To stop execution of the whole graph:</p>\r
-\r
-<p class="whs5"> </p>\r
-\r
-<p class="whs3">In the Execution toolbar click <img src="../pics/kill.jpg" x-maintain-ratio="TRUE" width="28px" height="25px" border="0" class="img_whs11"> icon or from the <span style="font-weight: bold;"><B>Supervision \r
- </B></span>menu choose<span style="font-weight: bold;"><B> Kill</B></span>. </p>\r
-\r
-<p class="whs3"> </p>\r
-\r
-<p class="whs5">Execution \r
- of your graph will be stopped on the last operating node. </p>\r
-\r
-<p class="whs5"> </p>\r
-\r
-<p class="whs6"><img src="../note1.gif" x-maintain-ratio="TRUE" width="36px" height="38px" border="0" class="img_whs7">After the first execution of the graph you can restart it \r
- with new input parameters using the same method. All intermediate data \r
- calculated on the nodes will be automatically updated according a new \r
- dataflow. </p>\r
-\r
-<p class="whs3"> </p>\r
-\r
-<p class="whs3"> </p>\r
-\r
-<p class="whs3"> </p>\r
-\r
-<p class="whs5">\r
-<a href="javascript:void(0);" onClick="var e; if (parseInt(navigator.appVersion)>=4){e=event;} if (parseInt(navigator.appVersion) >=2 && typeof(PopupMenu_Invoke) == 'function') PopupMenu_Invoke(e,'','Controlling execution of the graphs','controlling_execution_of_the_graphs.htm','Step-by-Step execution','step-by-step_execution.htm');return false;" title="Related Topics"><img src="../ss_btn_related_topics.gif" border=0 height=17 width=82 alt="Related Topics"></a></p>\r
-\r
-<p class="whs5"> </p>\r
-\r
-<script type="text/javascript" language="JavaScript" title="WebHelpRelatedTopics"><!--\r
-if (parseInt(navigator.appVersion) >= 3 && typeof (WritePopupMenuLayer) == "function")\r
- WritePopupMenuLayer();\r
-//--></script><script type="text/javascript" language="javascript1.2">\r
-<!--\r
-if (window.writeIntopicBar)\r
- writeIntopicBar(0);\r
-//-->\r
-</script>\r
-</body>\r
-\r
-</html>\r
+++ /dev/null
-<!doctype HTML public "-//W3C//DTD HTML 4.0 Frameset//EN">\r
-\r
-<html>\r
-\r
-<!--(==============================================================)-->\r
-<!--(Document created with RoboEditor. )============================-->\r
-<!--(==============================================================)-->\r
-\r
-<head>\r
-\r
-<title>Running SUPERVISION</title>\r
-\r
-<!--(Meta)==========================================================-->\r
-\r
-<meta http-equiv=content-type content="text/html; charset=windows-1252">\r
-<meta name=generator content="RoboHELP by eHelp Corporation - www.ehelp.com">\r
-<meta name=generator-major-version content=0.1>\r
-<meta name=generator-minor-version content=1>\r
-<meta name=filetype content=kadov>\r
-<meta name=filetype-version content=1>\r
-<meta name=page-count content=1>\r
-<meta name=layout-height content=786>\r
-<meta name=layout-width content=636>\r
-\r
-\r
-<!--(Links)=========================================================-->\r
-\r
- <link rel='stylesheet' href='../default_ns.css'>\r
-<script type="text/javascript" language="JavaScript" title="WebHelpSplitCss">\r
-<!--\r
-if (navigator.appName !="Netscape")\r
-{ document.write("<link rel='stylesheet' href='../default.css'>");}\r
-//-->\r
-</script>\r
-<style type="text/css">\r
-<!--\r
-h1.whs1 {text-align: justify;}\r
-p.whs2 {font-size: 12pt; text-align: justify;}\r
-p.whs3 {font-size: 12pt; margin-left: 40px; text-align: justify;}\r
-img_whs4 {border-style: none; width: 30px; height: 30px;}\r
-img_whs5 {border-style: none; border: none; width: 574px; height: 411px; float: none;}\r
--->\r
-</style>\r
-<script type="text/javascript" language="JavaScript" title="BSSC Special Effects" src="../ehlpdhtm.js"></script><script type="text/javascript" language="JavaScript" title="WebHelpInlineScript">\r
-<!--\r
-function reDo() {\r
- if (innerWidth != origWidth || innerHeight != origHeight)\r
- location.reload();\r
-}\r
-if ((parseInt(navigator.appVersion) == 4) && (navigator.appName == "Netscape")) {\r
- origWidth = innerWidth;\r
- origHeight = innerHeight;\r
- onresize = reDo;\r
-}\r
-onerror = null; \r
-//-->\r
-</script>\r
-<style type="text/css">\r
-<!--\r
- div.WebHelpPopupMenu {position:absolute; left:0px; top:0px; z-index:4; visibility:hidden;}\r
--->\r
-</style>\r
-<script type="text/javascript" language="javascript1.2" src="../whmsg.js"></script>\r
-<script type="text/javascript" language="javascript" src="../whver.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="../whproxy.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="../whutils.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="../whtopic.js"></script>\r
-</head>\r
-\r
-<!--(Body)==========================================================-->\r
-\r
-\r
-<body>\r
-\r
-<script type="text/javascript" language="javascript1.2">\r
-<!--\r
-if (window.gbWhTopic)\r
-{\r
- if (window.addTocInfo)\r
- {\r
- addTocInfo("SUPERVISION module\nRunning SUPERVISION");\r
-addButton("show",BTN_TEXT,"Show","","","","",0,0,"","","");\r
-\r
- }\r
- if (window.writeBtnStyle)\r
- writeBtnStyle();\r
-\r
- if (window.writeIntopicBar)\r
- writeIntopicBar(1);\r
-\r
- if (window.setRelStartPage)\r
- {\r
- setRelStartPage("../supervision.html");\r
-\r
- autoSync(0);\r
- sendSyncInfo();\r
- sendAveInfoOut();\r
- }\r
-}\r
-else\r
- document.location.reload();\r
-//-->\r
-</script>\r
-<h1 class="whs1">Running SUPERVISION</h1>\r
-\r
-<p class=TODO>To start SUPERVISION module:</p>\r
-\r
-<p class="whs2"> </p>\r
-\r
-<p class="whs3">1. Launch \r
- SALOME application and create a new study.</p>\r
-\r
-<p class="whs3">2. Choose \r
- <span style="font-weight: bold;"><B>Supervision</B></span> item in the choose \r
- box or click <img src="../supervisor(eng)_image4.gif" width="30px" height="30px" border="0" class="img_whs4"> icon, located among other icons at the bottom \r
- of SALOME Desktop window. After it the following window will appear:</p>\r
-\r
-<p class="whs2"> </p>\r
-\r
-<p class="whs3"> <img src="../pics/supwind.jpg" x-maintain-ratio="TRUE" width="574px" height="411px" border="0" class="img_whs5"></p>\r
-\r
-<p class="whs2"> </p>\r
-\r
-<p class="whs2">In this window the menus \r
- have been updated according the functionality of SUPERVISION module. All \r
- these actions are available in the form of icons in SUPERVISION toolbar. \r
- </p>\r
-\r
-<p class="whs2"> </p>\r
-\r
-<p class="whs2">\r
-<a href="javascript:void(0);" onClick="var e; if (parseInt(navigator.appVersion)>=4){e=event;} if (parseInt(navigator.appVersion) >=2 && typeof(PopupMenu_Invoke) == 'function') PopupMenu_Invoke(e,'','Introduction to SUPERVISION','introduction_to_supervisor.htm','Usage of SUPERVISION module','usage_of_supervisor_module.htm');return false;" title="Related Topics"><img src="../ss_btn_related_topics.gif" border=0 height=17 width=82 alt="Related Topics"></a></p>\r
-\r
-<p class="whs2"> </p>\r
-\r
-<script type="text/javascript" language="JavaScript" title="WebHelpRelatedTopics"><!--\r
-if (parseInt(navigator.appVersion) >= 3 && typeof (WritePopupMenuLayer) == "function")\r
- WritePopupMenuLayer();\r
-//--></script><script type="text/javascript" language="javascript1.2">\r
-<!--\r
-if (window.writeIntopicBar)\r
- writeIntopicBar(0);\r
-//-->\r
-</script>\r
-</body>\r
-\r
-</html>\r
+++ /dev/null
-<!doctype HTML public "-//W3C//DTD HTML 4.0 Frameset//EN">\r
-\r
-<html>\r
-\r
-<!--(==============================================================)-->\r
-<!--(Document created with RoboEditor. )============================-->\r
-<!--(==============================================================)-->\r
-\r
-<head>\r
-\r
-<title>Setting input parameters</title>\r
-\r
-<!--(Meta)==========================================================-->\r
-\r
-<meta http-equiv=content-type content="text/html; charset=windows-1252">\r
-<meta name=generator content="RoboHELP by eHelp Corporation - www.ehelp.com">\r
-<meta name=generator-major-version content=0.1>\r
-<meta name=generator-minor-version content=1>\r
-<meta name=filetype content=kadov>\r
-<meta name=filetype-version content=1>\r
-<meta name=page-count content=1>\r
-<meta name=layout-height content=736>\r
-<meta name=layout-width content=700>\r
-\r
-\r
-<!--(Links)=========================================================-->\r
-\r
- <link rel='stylesheet' href='../default_ns.css'>\r
-<script type="text/javascript" language="JavaScript" title="WebHelpSplitCss">\r
-<!--\r
-if (navigator.appName !="Netscape")\r
-{ document.write("<link rel='stylesheet' href='../default.css'>");}\r
-//-->\r
-</script>\r
-<style type="text/css">\r
-<!--\r
-h1.whs1 {font-family: 'Times New Roman', serif;}\r
-p.whs2 {font-family: 'Times New Roman', serif;}\r
-img_whs3 {border-style: none; border: none; width: 30px; height: 30px; float: none;}\r
-p.whs4 {font-family: 'Times New Roman', serif; font-style: italic; color: #ff0000;}\r
-p.whs5 {font-family: 'Times New Roman', serif; margin-left: 40px; font-style: normal; color: #000000;}\r
-img_whs6 {border-style: none; border: none; width: 484px; height: 168px; float: none;}\r
-p.whs7 {font-family: 'Times New Roman', serif; margin-left: 0px;}\r
-p.whs8 {font-family: 'Times New Roman', serif; margin-left: 40px;}\r
-p.whs9 {font-family:'Times New Roman' , serif; margin-left:0px; background-image:url(../texture_horiz_ltbluebubbles.jpg); }\r
-img_whs10 {border-style: none; border: none; width: 35px; height: 37px; float: none;}\r
-p.whs11 {font-family: 'Times New Roman', serif; margin-left: 0px; font-size: 12pt;}\r
--->\r
-</style>\r
-<script type="text/javascript" language="JavaScript">\r
-<!--\r
-if ((navigator.appName == "Netscape") && (parseInt(navigator.appVersion) == 4))\r
-{\r
- var strNSS = "<style type='text/css'>";\r
- strNSS += "p.whs7 {margin-left:1; }";\r
- strNSS += "p.whs9 {margin-left:1; }";\r
- strNSS += "p.whs11 {margin-left:1; }";\r
- strNSS +="</style>";\r
- document.write(strNSS);\r
-}\r
-//-->\r
-</script>\r
-<script type="text/javascript" language="JavaScript" title="BSSC Special Effects" src="../ehlpdhtm.js"></script><script type="text/javascript" language="JavaScript" title="WebHelpInlineScript">\r
-<!--\r
-function reDo() {\r
- if (innerWidth != origWidth || innerHeight != origHeight)\r
- location.reload();\r
-}\r
-if ((parseInt(navigator.appVersion) == 4) && (navigator.appName == "Netscape")) {\r
- origWidth = innerWidth;\r
- origHeight = innerHeight;\r
- onresize = reDo;\r
-}\r
-onerror = null; \r
-//-->\r
-</script>\r
-<style type="text/css">\r
-<!--\r
- div.WebHelpPopupMenu {position:absolute; left:0px; top:0px; z-index:4; visibility:hidden;}\r
--->\r
-</style>\r
-<script type="text/javascript" language="javascript1.2" src="../whmsg.js"></script>\r
-<script type="text/javascript" language="javascript" src="../whver.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="../whproxy.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="../whutils.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="../whtopic.js"></script>\r
-</head>\r
-\r
-<!--(Body)==========================================================-->\r
-\r
-\r
-<body>\r
-\r
-<script type="text/javascript" language="javascript1.2">\r
-<!--\r
-if (window.gbWhTopic)\r
-{\r
- if (window.addTocInfo)\r
- {\r
- addTocInfo("SUPERVISION module\nInitializing and executing graphs\nSetting input parameters");\r
-addButton("show",BTN_TEXT,"Show","","","","",0,0,"","","");\r
-\r
- }\r
- if (window.writeBtnStyle)\r
- writeBtnStyle();\r
-\r
- if (window.writeIntopicBar)\r
- writeIntopicBar(1);\r
-\r
- if (window.setRelStartPage)\r
- {\r
- setRelStartPage("../supervision.html");\r
-\r
- autoSync(0);\r
- sendSyncInfo();\r
- sendAveInfoOut();\r
- }\r
-}\r
-else\r
- document.location.reload();\r
-//-->\r
-</script>\r
-<h1 class="whs1">Setting input parameters</h1>\r
-\r
-<p class="whs2"><span style="font-size: 12pt;"><font size=3 style="font-size:12pt;"><img src="../i_blue.jpg" x-maintain-ratio="TRUE" width="30px" height="30px" border="0" class="img_whs3"></font></span>Input parameters of a graph are set in the Input ports \r
- of the nodes, which are not linked to Output ports of other nodes. </p>\r
-\r
-<p class="whs2"> </p>\r
-\r
-<p class=TODO>To set input parameters of a graph:</p>\r
-\r
-<p class="whs4"> </p>\r
-\r
-<p class="whs5">1. Right-click on the Input ports of the nodes \r
- and from the pop-up menu choose <span style="font-weight: bold;"><B>Set Value</B></span> \r
- option. The following dialog box will appear:</p>\r
-\r
-<p class="whs5"> </p>\r
-\r
-<p class="whs5"><img src="../pics/setval.jpg" x-maintain-ratio="TRUE" width="484px" height="168px" border="0" class="img_whs6"></p>\r
-\r
-<p class="whs5"> </p>\r
-\r
-<p class="whs7">In \r
- this dialog box you can set a new input value (type of the value is given \r
- in brackets) or use any object referenced in the study (double-click on \r
- this object in the Object Browser) as input parameter for \r
- your Input port.</p>\r
-\r
-<p class="whs7"> </p>\r
-\r
-<p class="whs8">2. \r
- To validate your setting click <span style="font-weight: bold;"><B>OK</B></span> \r
- button. </p>\r
-\r
-<p class="whs8"> </p>\r
-\r
-<p class="whs9"><img src="../tip1.gif" x-maintain-ratio="TRUE" width="35px" height="37px" border="0" class="img_whs10"> If the value of an Input port has been set, this port in \r
- the node will get a bold frame. </p>\r
-\r
-<p class="whs7"> </p>\r
-\r
-<p class="whs7"> </p>\r
-\r
-<p class="whs7"> </p>\r
-\r
-<p class="whs11">\r
-<a href="javascript:void(0);" onClick="var e; if (parseInt(navigator.appVersion)>=4){e=event;} if (parseInt(navigator.appVersion) >=2 && typeof(PopupMenu_Invoke) == 'function') PopupMenu_Invoke(e,'','About nodes','about_nodes.htm','Adding nodes','adding_nodes.htm','Creating a new graph','creating_a_new_graph.htm','Examiming calculated data','viewing_output_vaues.htm');return false;" title="Related Topics"><img src="../ss_btn_related_topics.gif" border=0 height=17 width=82 alt="Related Topics"></a></p>\r
-\r
-<p class="whs11"> </p>\r
-\r
-<p class="whs11"> </p>\r
-\r
-<p class="whs11"> </p>\r
-\r
-<script type="text/javascript" language="JavaScript" title="WebHelpRelatedTopics"><!--\r
-if (parseInt(navigator.appVersion) >= 3 && typeof (WritePopupMenuLayer) == "function")\r
- WritePopupMenuLayer();\r
-//--></script><script type="text/javascript" language="javascript1.2">\r
-<!--\r
-if (window.writeIntopicBar)\r
- writeIntopicBar(0);\r
-//-->\r
-</script>\r
-</body>\r
-\r
-</html>\r
+++ /dev/null
-<!doctype HTML public "-//W3C//DTD HTML 4.0 Frameset//EN">\r
-\r
-<html>\r
-\r
-<!--(==============================================================)-->\r
-<!--(Document created with RoboEditor. )============================-->\r
-<!--(==============================================================)-->\r
-\r
-<head>\r
-\r
-<title>Step-by-Step execution</title>\r
-\r
-<!--(Meta)==========================================================-->\r
-\r
-<meta http-equiv=content-type content="text/html; charset=windows-1252">\r
-<meta name=generator content="RoboHELP by eHelp Corporation - www.ehelp.com">\r
-<meta name=generator-major-version content=0.1>\r
-<meta name=generator-minor-version content=1>\r
-<meta name=filetype content=kadov>\r
-<meta name=filetype-version content=1>\r
-<meta name=page-count content=1>\r
-<meta name=layout-height content=483>\r
-<meta name=layout-width content=614>\r
-\r
-\r
-<!--(Links)=========================================================-->\r
-\r
- <link rel='stylesheet' href='../default_ns.css'>\r
-<script type="text/javascript" language="JavaScript" title="WebHelpSplitCss">\r
-<!--\r
-if (navigator.appName !="Netscape")\r
-{ document.write("<link rel='stylesheet' href='../default.css'>");}\r
-//-->\r
-</script>\r
-<style type="text/css">\r
-<!--\r
-h1.whs1 {font-family: 'Times New Roman', serif;}\r
-img_whs2 {border-style: none; border: none; width: 30px; height: 30px; float: none;}\r
-p.whs3 {font-family: 'Times New Roman', serif;}\r
-p.whs4 {font-family: 'Times New Roman', serif; font-style: italic; color: #ff0000;}\r
-p.whs5 {font-family: 'Times New Roman', serif; margin-left: 40px; color: #000000; font-style: normal;}\r
-img_whs6 {border-style: none; border: none; width: 25px; height: 27px; float: none;}\r
-p.whs7 {font-family: 'Times New Roman', serif; margin-left: 0px;}\r
--->\r
-</style>\r
-<script type="text/javascript" language="JavaScript">\r
-<!--\r
-if ((navigator.appName == "Netscape") && (parseInt(navigator.appVersion) == 4))\r
-{\r
- var strNSS = "<style type='text/css'>";\r
- strNSS += "p.whs7 {margin-left:1; }";\r
- strNSS +="</style>";\r
- document.write(strNSS);\r
-}\r
-//-->\r
-</script>\r
-<script type="text/javascript" language="JavaScript" title="BSSC Special Effects" src="../ehlpdhtm.js"></script><script type="text/javascript" language="JavaScript" title="WebHelpInlineScript">\r
-<!--\r
-function reDo() {\r
- if (innerWidth != origWidth || innerHeight != origHeight)\r
- location.reload();\r
-}\r
-if ((parseInt(navigator.appVersion) == 4) && (navigator.appName == "Netscape")) {\r
- origWidth = innerWidth;\r
- origHeight = innerHeight;\r
- onresize = reDo;\r
-}\r
-onerror = null; \r
-//-->\r
-</script>\r
-<style type="text/css">\r
-<!--\r
- div.WebHelpPopupMenu {position:absolute; left:0px; top:0px; z-index:4; visibility:hidden;}\r
--->\r
-</style>\r
-<script type="text/javascript" language="javascript1.2" src="../whmsg.js"></script>\r
-<script type="text/javascript" language="javascript" src="../whver.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="../whproxy.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="../whutils.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="../whtopic.js"></script>\r
-</head>\r
-\r
-<!--(Body)==========================================================-->\r
-\r
-\r
-<body>\r
-\r
-<script type="text/javascript" language="javascript1.2">\r
-<!--\r
-if (window.gbWhTopic)\r
-{\r
- if (window.addTocInfo)\r
- {\r
- addTocInfo("SUPERVISION module\nInitializing and executing graphs\nStep-by-Step execution");\r
-addButton("show",BTN_TEXT,"Show","","","","",0,0,"","","");\r
-\r
- }\r
- if (window.writeBtnStyle)\r
- writeBtnStyle();\r
-\r
- if (window.writeIntopicBar)\r
- writeIntopicBar(1);\r
-\r
- if (window.setRelStartPage)\r
- {\r
- setRelStartPage("../supervision.html");\r
-\r
- autoSync(0);\r
- sendSyncInfo();\r
- sendAveInfoOut();\r
- }\r
-}\r
-else\r
- document.location.reload();\r
-//-->\r
-</script>\r
-<h1 class="whs1">Step-by-Step execution</h1>\r
-\r
-<p><span style="font-size: 12pt;"><font size=3 style="font-size:12pt;"><img src="../i_blue.jpg" x-maintain-ratio="TRUE" width="30px" height="30px" border="0" class="img_whs2"></font></span>In <span style="font-weight: bold;"><B>SUPERVISION</B></span> \r
- there is an additional option allowing to launch <span style="font-weight: bold;"><B>Step-by-Step</B></span> \r
- execution of your graph. This type of execution is based on the operations \r
- described in the chapter '<a href="controlling_execution_of_the_graphs.htm">Controlling \r
- execution of the graph</a>'. </p>\r
-\r
-<p class="whs3"> </p>\r
-\r
-<p class=TODO>To launch Step-by-Step execution of your graph:</p>\r
-\r
-<p class="whs4"> </p>\r
-\r
-<p class="whs5">In the Execution toolbar click <img src="../pics/stepbystep.jpg" x-maintain-ratio="TRUE" width="25px" height="27px" border="0" class="img_whs6"> icon or from the main menu choose <span style="font-weight: bold;"><B>Supervision \r
- > Step by Step </B></span>option. </p>\r
-\r
-<p class="whs5"> </p>\r
-\r
-<p class="whs7">As \r
- usual execution of your graph will start from the first node, but on this \r
- node it will be <span style="font-weight: bold;"><B>suspended. </B></span>So \r
- you can choose the next node in your graph where execution will be <span \r
- style="font-weight: bold;"><B>suspended</B></span> again and after it <span style="font-weight: bold;"><B>resume</B></span> \r
- dataflow on the first node. </p>\r
-\r
-<p> </p>\r
-\r
-<p> </p>\r
-\r
-<p> </p>\r
-\r
-<p>\r
-<a href="javascript:void(0);" onClick="var e; if (parseInt(navigator.appVersion)>=4){e=event;} if (parseInt(navigator.appVersion) >=2 && typeof(PopupMenu_Invoke) == 'function') PopupMenu_Invoke(e,'','Controlling execution of the graphs','controlling_execution_of_the_graphs.htm','Running dataflow','running_dataflow.htm');return false;" title="Related Topics"><img src="../ss_btn_related_topics.gif" border=0 height=17 width=82 alt="Related Topics"></a></p>\r
-\r
-<p> </p>\r
-\r
-<p> </p>\r
-\r
-<p> </p>\r
-\r
-<script type="text/javascript" language="JavaScript" title="WebHelpRelatedTopics"><!--\r
-if (parseInt(navigator.appVersion) >= 3 && typeof (WritePopupMenuLayer) == "function")\r
- WritePopupMenuLayer();\r
-//--></script><script type="text/javascript" language="javascript1.2">\r
-<!--\r
-if (window.writeIntopicBar)\r
- writeIntopicBar(0);\r
-//-->\r
-</script>\r
-</body>\r
-\r
-</html>\r
+++ /dev/null
-<!doctype HTML public "-//W3C//DTD HTML 4.0 Frameset//EN">\r
-\r
-<html>\r
-\r
-<!--(==============================================================)-->\r
-<!--(Document created with RoboEditor. )============================-->\r
-<!--(==============================================================)-->\r
-\r
-<head>\r
-\r
-<title>Switch nodes</title>\r
-\r
-<!--(Meta)==========================================================-->\r
-\r
-<meta http-equiv=content-type content="text/html; charset=windows-1252">\r
-<meta name=generator content="RoboHELP by eHelp Corporation - www.ehelp.com">\r
-<meta name=generator-major-version content=0.1>\r
-<meta name=generator-minor-version content=1>\r
-<meta name=filetype content=kadov>\r
-<meta name=filetype-version content=1>\r
-<meta name=page-count content=1>\r
-<meta name=layout-height content=1670>\r
-<meta name=layout-width content=773>\r
-\r
-\r
-<!--(Links)=========================================================-->\r
-\r
- <link rel='stylesheet' href='../default_ns.css'>\r
-<script type="text/javascript" language="JavaScript" title="WebHelpSplitCss">\r
-<!--\r
-if (navigator.appName !="Netscape")\r
-{ document.write("<link rel='stylesheet' href='../default.css'>");}\r
-//-->\r
-</script>\r
-<style type="text/css">\r
-<!--\r
-h1.whs1 {text-align: justify;}\r
-p.whs2 {text-align: justify;}\r
-img_whs3 {border-style: none; border: none; width: 30px; height: 30px; float: none;}\r
-p.whs4 {font-style: italic; text-align: justify;}\r
-img_whs5 {border-style: none; border: none; width: 751px; height: 332px; float: none;}\r
-p.whs6 {font-family: 'Courier New', monospace; text-align: justify;}\r
-p.whs7 {margin-left: 40px; font-family: 'Courier New', monospace; text-align: justify;}\r
-p.whs8 {margin-left: 80px; font-family: 'Courier New', monospace; text-align: justify;}\r
-p.whs9 {margin-left: 40px; text-align: justify;}\r
-p.whs10 {margin-left: 0px; text-align: justify;}\r
-p.whs11 {background-image:url(../texture_horiz_ltbluebubbles.jpg); text-align:justify; }\r
-img_whs12 {border-style: none; border: none; float: none; width: 36px; height: 38px;}\r
-ul.whs13 {list-style: disc;}\r
--->\r
-</style>\r
-<script type="text/javascript" language="JavaScript">\r
-<!--\r
-if ((navigator.appName == "Netscape") && (parseInt(navigator.appVersion) == 4))\r
-{\r
- var strNSS = "<style type='text/css'>";\r
- strNSS += "p.whs10 {margin-left:1; }";\r
- strNSS +="</style>";\r
- document.write(strNSS);\r
-}\r
-//-->\r
-</script>\r
-<script type="text/javascript" language="JavaScript" title="BSSC Special Effects" src="../ehlpdhtm.js"></script><script type="text/javascript" language="JavaScript" title="WebHelpInlineScript">\r
-<!--\r
-function reDo() {\r
- if (innerWidth != origWidth || innerHeight != origHeight)\r
- location.reload();\r
-}\r
-if ((parseInt(navigator.appVersion) == 4) && (navigator.appName == "Netscape")) {\r
- origWidth = innerWidth;\r
- origHeight = innerHeight;\r
- onresize = reDo;\r
-}\r
-onerror = null; \r
-//-->\r
-</script>\r
-<style type="text/css">\r
-<!--\r
- div.WebHelpPopupMenu {position:absolute; left:0px; top:0px; z-index:4; visibility:hidden;}\r
--->\r
-</style>\r
-<script type="text/javascript" language="javascript1.2" src="../whmsg.js"></script>\r
-<script type="text/javascript" language="javascript" src="../whver.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="../whproxy.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="../whutils.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="../whtopic.js"></script>\r
-</head>\r
-\r
-<!--(Body)==========================================================-->\r
-\r
-\r
-<body>\r
-\r
-<script type="text/javascript" language="javascript1.2">\r
-<!--\r
-if (window.gbWhTopic)\r
-{\r
- if (window.addTocInfo)\r
- {\r
- addTocInfo("SUPERVISION module\nEditing graphs\nNodes in the graph\nSwitch nodes");\r
-addButton("show",BTN_TEXT,"Show","","","","",0,0,"","","");\r
-\r
- }\r
- if (window.writeBtnStyle)\r
- writeBtnStyle();\r
-\r
- if (window.writeIntopicBar)\r
- writeIntopicBar(1);\r
-\r
- if (window.setRelStartPage)\r
- {\r
- setRelStartPage("../supervision.html");\r
-\r
- autoSync(0);\r
- sendSyncInfo();\r
- sendAveInfoOut();\r
- }\r
-}\r
-else\r
- document.location.reload();\r
-//-->\r
-</script>\r
-<h1 class="whs1">Switch nodes</h1>\r
-\r
-<p class="whs2"><span style="font-weight: bold;"><B><img src="../i_blue.jpg" x-maintain-ratio="TRUE" width="30px" height="30px" border="0" class="img_whs3">Switch node</B></span> is a kind of Control node. In fact two \r
- nodes present Switch: start Switch and end Switch. Nodes of such type \r
- are always InLine nodes. You have to supply this type of node by service, \r
- which will perform switching. That's why nodes of such type can have at \r
- least two or more switch ports (Boolean), but only one switch port can \r
- have "True" value at a definite moment of graph execution. With \r
- that kind of node you can define all kinds of tests or switches :</p>\r
-\r
-<p class="whs4">\93if( condition ) ; \r
- else if( condition ) \85 ; else\94 or</p>\r
-\r
-<p class="whs4">\93switch( variable ) \r
- ; case value \85; default\94.</p>\r
-\r
-<p class="whs4">Etc\85</p>\r
-\r
-<p class="whs4"> </p>\r
-\r
-<p class="whs2"><img src="../switch.jpg" x-maintain-ratio="TRUE" width="751px" height="332px" border="0" class="img_whs5"></p>\r
-\r
-<p class="whs2"> </p>\r
-\r
-<p class="whs2"><span style="font-weight: bold;"><B>Titles \r
- of the nodes.</B></span> By default the name of the service is used. You can \r
- change only the name of the Start Switch node - the name of the End Switch \r
- node will be automatically created as follows: EndOf + "Name of the \r
- Start Switch node" .</p>\r
-\r
-<p class="whs2"><span style="font-weight: bold;"><B>Status \r
- of execution</B></span> shows state of the loop. It can be: Not Started, Running, \r
- Finished.</p>\r
-\r
-<p class="whs2"><span style="font-weight: bold;"><B>InGate/OutGate</B></span> \r
- - control ports of the loop execution. </p>\r
-\r
-<p class="whs2"><span style="font-weight: bold;"><B>SwitchPort</B></span> \r
- \96 ports for control management of the Switch. The values in this ports \r
- are of boolean type and can be 0 or 1. They must be connected to InGate \r
- ports of the correspondent computation nodes.</p>\r
-\r
-<p class="whs2"><span style="font-weight: bold;"><B>Input/Output \r
- ports</B></span> \96 Input \r
- port of the Start Switch node will get the initial value, which can be \r
- processed by underlying Python function and will be transferred inside \r
- of the switch. The last computation node of the switch will put this value \r
- to the input port of the End Switch node. </p>\r
-\r
-<p class="whs2"> </p>\r
-\r
-<p class="whs2">The associated Python function will have \r
- all input ports of the Switch node as input arguments. And that function \r
- must return a value for all output ports. A simple example of this Python \r
- function:</p>\r
-\r
-<p class="whs2"> </p>\r
-\r
-<p class="whs6">def \r
- Switch(x): </p>\r
-\r
-<p class="whs7">i1=0 </p>\r
-\r
-<p class="whs7">i2=0 </p>\r
-\r
-<p class="whs7">i3=0 </p>\r
-\r
-<p class="whs7">if x>13: </p>\r
-\r
-<p class="whs8">i1=1 </p>\r
-\r
-<p class="whs7">elif x==13: </p>\r
-\r
-<p class="whs8">i2=1 </p>\r
-\r
-<p class="whs7">else: </p>\r
-\r
-<p class="whs8">i3=1 </p>\r
-\r
-<p class="whs9"><span style="font-family: 'Courier New', monospace;">return \r
- i1,i2,i3</span> </p>\r
-\r
-<p class="whs9"> </p>\r
-\r
-<p class="whs10">In this example <span \r
- style="font-weight: bold;"><B>i1, i2, i3</B></span> parameters of the function \r
- correspond to Switch ports of the node. So, depending on the result of \r
- execution of the initial condition (in our case it's a comparison of the \r
- input parameter with an integer 13), one of the switch ports will get \r
- the value 1. And this port will transmit further dataflow to \r
- the corresponding node. </p>\r
-\r
-<p class="whs2"> </p>\r
-\r
-<p class="whs11"><img src="../note1.gif" x-maintain-ratio="TRUE" width="36px" height="38px" border="0" class="img_whs12">Switch nodes have the following particularities:</p>\r
-\r
-<p class="whs2"> </p>\r
-\r
-<ul type="disc" class="whs13">\r
- \r
- <li class=kadov-p><p class="whs2">You must define at \r
- first boolean output ports which correspond to cases of the switch. They \r
- must be connected to Input Gates of head nodes of each branch of switch. \r
- </p></li>\r
- \r
- <li class=kadov-p><p class="whs2"><span style="font-family: 'Times New Roman', serif;">A \r
- branch of condition may begin with one or some nodes if there is parallelism \r
- of execution of nodes.</span></p></li>\r
- \r
- <li class=kadov-p><p class="whs2">During execution \r
- of the Switch there can be <span style="font-weight: bold;"><B>one and only \r
- one</B></span> such boolean output port with a \93true\94 value.</p></li>\r
- \r
- <li class=kadov-p><p class="whs2">The input ports created \r
- by the user in an End Switch node are automatically duplicated by the \r
- SuperVision component as output ports of the End Switch node. That component \r
- will fill the value of such output ports with the corresponding values \r
- of such input ports at execution time.</p></li>\r
- \r
- <li class=kadov-p><p class="whs2">Each branch of the \r
- switch must have links to all input ports of the End Switch node.</p></li>\r
- \r
- <li class=kadov-p><p class="whs2">But at execution \r
- time, there will be only one branch executed.</p></li>\r
- \r
- <li class=kadov-p><p class="whs2">The end of branch \r
- of a switch may have one or some nodes if there is parallelism of execution \r
- of nodes.</p></li>\r
-</ul>\r
-\r
-<p class="whs2"> </p>\r
-\r
-<p class="whs2"> </p>\r
-\r
-<p class="whs2">\r
-<a href="javascript:void(0);" onClick="var e; if (parseInt(navigator.appVersion)>=4){e=event;} if (parseInt(navigator.appVersion) >=2 && typeof(PopupMenu_Invoke) == 'function') PopupMenu_Invoke(e,'','About nodes','about_nodes.htm','Adding nodes','adding_nodes.htm');return false;" title="Related Topics"><img src="../ss_btn_related_topics.gif" border=0 height=17 width=82 alt="Related Topics"></a></p>\r
-\r
-<p class="whs2"> </p>\r
-\r
-<p class="whs2"> </p>\r
-\r
-<p class="whs2"> </p>\r
-\r
-<script type="text/javascript" language="JavaScript" title="WebHelpRelatedTopics"><!--\r
-if (parseInt(navigator.appVersion) >= 3 && typeof (WritePopupMenuLayer) == "function")\r
- WritePopupMenuLayer();\r
-//--></script><script type="text/javascript" language="javascript1.2">\r
-<!--\r
-if (window.writeIntopicBar)\r
- writeIntopicBar(0);\r
-//-->\r
-</script>\r
-</body>\r
-\r
-</html>\r
+++ /dev/null
-<!doctype HTML public "-//W3C//DTD HTML 4.0 Frameset//EN">\r
-\r
-<html>\r
-\r
-<!--(==============================================================)-->\r
-<!--(Document created with RoboEditor. )============================-->\r
-<!--(==============================================================)-->\r
-\r
-<head>\r
-\r
-<title>Usage of SUPERVISION module</title>\r
-\r
-<!--(Meta)==========================================================-->\r
-\r
-<meta http-equiv=content-type content="text/html; charset=windows-1252">\r
-<meta name=generator content="RoboHELP by eHelp Corporation - www.ehelp.com">\r
-<meta name=generator-major-version content=0.1>\r
-<meta name=generator-minor-version content=1>\r
-<meta name=filetype content=kadov>\r
-<meta name=filetype-version content=1>\r
-<meta name=page-count content=1>\r
-<meta name=layout-height content=945>\r
-<meta name=layout-width content=765>\r
-\r
-\r
-<!--(Links)=========================================================-->\r
-\r
- <link rel='stylesheet' href='../default_ns.css'>\r
-<script type="text/javascript" language="JavaScript" title="WebHelpSplitCss">\r
-<!--\r
-if (navigator.appName !="Netscape")\r
-{ document.write("<link rel='stylesheet' href='../default.css'>");}\r
-//-->\r
-</script>\r
-<style type="text/css">\r
-<!--\r
-h1.whs1 {font-family: 'Times New Roman', serif;}\r
-p.whs2 {font-family: 'Times New Roman', serif; font-size: 12pt;}\r
-p.whs3 {text-align: JUSTIFY; font-family: 'Times New Roman', serif; font-size: 12pt;}\r
-p.whs4 {font-size: 12pt;}\r
-p.whs5 {text-align: JUSTIFY; font-family: 'Times New Roman', serif; font-size: 12pt; margin-left: 40px;}\r
--->\r
-</style>\r
-<script type="text/javascript" language="JavaScript" title="BSSC Special Effects" src="../ehlpdhtm.js"></script><script type="text/javascript" language="JavaScript" title="WebHelpInlineScript">\r
-<!--\r
-function reDo() {\r
- if (innerWidth != origWidth || innerHeight != origHeight)\r
- location.reload();\r
-}\r
-if ((parseInt(navigator.appVersion) == 4) && (navigator.appName == "Netscape")) {\r
- origWidth = innerWidth;\r
- origHeight = innerHeight;\r
- onresize = reDo;\r
-}\r
-onerror = null; \r
-//-->\r
-</script>\r
-<style type="text/css">\r
-<!--\r
- div.WebHelpPopupMenu {position:absolute; left:0px; top:0px; z-index:4; visibility:hidden;}\r
--->\r
-</style>\r
-<script type="text/javascript" language="javascript1.2" src="../whmsg.js"></script>\r
-<script type="text/javascript" language="javascript" src="../whver.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="../whproxy.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="../whutils.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="../whtopic.js"></script>\r
-</head>\r
-\r
-<!--(Body)==========================================================-->\r
-\r
-\r
-<body>\r
-\r
-<script type="text/javascript" language="javascript1.2">\r
-<!--\r
-if (window.gbWhTopic)\r
-{\r
- if (window.addTocInfo)\r
- {\r
- addTocInfo("SUPERVISION module\nUsage of SUPERVISION module");\r
-addButton("show",BTN_TEXT,"Show","","","","",0,0,"","","");\r
-\r
- }\r
- if (window.writeBtnStyle)\r
- writeBtnStyle();\r
-\r
- if (window.writeIntopicBar)\r
- writeIntopicBar(1);\r
-\r
- if (window.setRelStartPage)\r
- {\r
- setRelStartPage("../supervision.html");\r
-\r
- autoSync(0);\r
- sendSyncInfo();\r
- sendAveInfoOut();\r
- }\r
-}\r
-else\r
- document.location.reload();\r
-//-->\r
-</script>\r
-<h1 class="whs1">In SUPERVISION you can:</h1>\r
-\r
-<p class="whs2"> </p>\r
-\r
-<p class="whs2">Usage \r
- of <span style="font-weight: bold;"><B>SUPERVISION</B></span> \r
- consists of 3 phases:</p>\r
-\r
-<p class="whs2"> </p>\r
-\r
-<ol>\r
- \r
- <li class=kadov-p\r
- class=kadov-p><span style="font-family: 'Times New Roman', serif; font-size: 12pt;"><font size=3 style="font-size:12pt;">Construction \r
- and edition of a graph</font></span></li>\r
- \r
- <li class=kadov-p\r
- class=kadov-p><span style="font-family: 'Times New Roman', serif; font-size: 12pt;"><font size=3 style="font-size:12pt;">Initialization \r
- of a graph </font></span></li>\r
- \r
- <li class=kadov-p\r
- class=kadov-p><span style="font-family: 'Times New Roman', serif; font-size: 12pt;"><font size=3 style="font-size:12pt;">Execution \r
- and control the activity of a graph </font></span></li>\r
-</ol>\r
-\r
-<span style="font-family: 'Times New Roman', serif;"> </span>\r
-\r
-<p class="whs3"> </p>\r
-\r
-<p class="whs2"><b style="font-weight: bold;"><span \r
- style="font-weight: bold; color: #0000ff;"><font color=blue ><B>STEP</B></font></span><span style="color: #0000ff;"><font color=blue > \r
- 1 :</font></span> </b><span style="font-weight: bold;"><B>Construction and edition \r
- of a graph</B></span></p>\r
-\r
-<p class="whs4">Edition of a graph consists of several interactive \r
- actions allowing to obtain this graph. The main actions are the following:</p>\r
-\r
-<p class="whs5"> </p>\r
-\r
-<ul>\r
- \r
- <li class=kadov-p\r
- class=kadov-p><span style="font-family: 'Times New Roman', serif; font-size: 12pt;"><font size=3 style="font-size:12pt;">Launch \r
- SUPERVISION </font></span></li>\r
- \r
- <li class=kadov-p\r
- class=kadov-p><font><span style="font-family: 'Times New Roman', serif; font-size: 12pt;"><font size=3 style="font-size:12pt;">Create \r
- a new graph </font></span></font></li>\r
- \r
- <li class=kadov-p\r
- class=kadov-p><font><span style="font-family: 'Times New Roman', serif; font-size: 12pt;"><font size=3 style="font-size:12pt;">Import \r
- an existing read-only or modifiable graph from a study or a file </font></span></font></li>\r
- \r
- <li class=kadov-p\r
- class=kadov-p><font><span style="font-family: 'Times New Roman', serif; font-size: 12pt;"><font size=3 style="font-size:12pt;">Copy, \r
- export, rename an existing graph </font></span></font></li>\r
- \r
- <li class=kadov-p\r
- class=kadov-p><font><span style="font-family: 'Times New Roman', serif; font-size: 12pt;"><font size=3 style="font-size:12pt;">Insert \r
- an existing graph into another graph </font></span></font></li>\r
-</ul>\r
-\r
-<ul>\r
- \r
- <li class=kadov-p\r
- class=kadov-p><span style="font-family: 'Times New Roman', serif; font-size: 12pt;"><font size=3 style="font-size:12pt;">Add, \r
- delete, locate, rename nodes </font></span></li>\r
- \r
- <li class=kadov-p\r
- class=kadov-p><span style="font-family: 'Times New Roman', serif; font-size: 12pt;"><font size=3 style="font-size:12pt;">Add, \r
- delete, modify links connecting nodes</font></span></li>\r
- \r
- <li class=kadov-p\r
- class=kadov-p><font><span style="font-family: 'Times New Roman', serif; font-size: 12pt;"><font size=3 style="font-size:12pt;">Add, \r
- delete, move a point associated to the link</font></span></font></li>\r
- \r
- <li class=kadov-p\r
- class=kadov-p><span style="font-family: 'Times New Roman', serif; font-size: 12pt;"><font size=3 style="font-size:12pt;">Add \r
- particular information (author and comments) about graphs or nodes </font></span></li>\r
- \r
- <li class=kadov-p\r
- class=kadov-p><font><span style="font-family: 'Times New Roman', serif; font-size: 12pt;"><font size=3 style="font-size:12pt;">Create \r
- loops and conditional connections </font></span></font></li>\r
- \r
- <li class=kadov-p\r
- class=kadov-p><span style="font-family: 'Times New Roman', serif; font-size: 12pt;"><font size=3 style="font-size:12pt;">Browse \r
- the module catalogue</font></span></li>\r
-</ul>\r
-\r
-<p class="whs2"> </p>\r
-\r
-<p class="whs2"><b style="font-weight: bold;"><span \r
- style="color: #0000ff;"><font color=blue >STEP 2 :</font></span> Initialization of a graph</b></p>\r
-\r
-<p class="whs2">Initialization \r
- of a graph is a procedure consisting of several interactive actions which \r
- allow execution of this graph:</p>\r
-\r
-<p class="whs2"> </p>\r
-\r
-<ul>\r
- \r
- <li class=kadov-p\r
- class=kadov-p><span style="font-family: 'Times New Roman', serif; font-size: 12pt;"><font size=3 style="font-size:12pt;">Necessary: \r
- set into the Input ports of the graph user-defined \r
- constant values or values from the study </font></span></li>\r
- \r
- <li class=kadov-p\r
- class=kadov-p><font><span style="font-family: 'Times New Roman', serif; font-size: 12pt;"><font size=3 style="font-size:12pt;">Optional : \r
- configure the nodes </font></span></font></li>\r
- \r
- <li class=kadov-p\r
- class=kadov-p><font><span style="font-family: 'Times New Roman', serif; font-size: 12pt;"><font size=3 style="font-size:12pt;">Facultative: \r
- put the graph into the study </font></span></font></li>\r
- \r
- <li class=kadov-p\r
- class=kadov-p><font><span style="font-family: 'Times New Roman', serif; font-size: 12pt;"><font size=3 style="font-size:12pt;">Facultative: \r
- indicate output data which will be referred to in the study </font></span></font></li>\r
-</ul>\r
-\r
-<span style="font-family: 'Times New Roman', serif;"> </span>\r
-\r
-<p class="whs2"><b style="font-weight: bold;"><span \r
- style="color: #0000ff;"><font color=blue >STEP 3 :</font></span> Execution and control the activity \r
- of a graph</b></p>\r
-\r
-<span>After initialization of the graph the main actions concerning execution \r
- and control the activity of a graph are the following :</span> \r
-\r
-<br> <br><ul>\r
- \r
- <li class=kadov-p\r
- class=kadov-p><font><span style="font-family: 'Times New Roman', serif; font-size: 12pt;"><font size=3 style="font-size:12pt;">Launch \r
- execution of a graph </font></span></font></li>\r
- \r
- <li class=kadov-p\r
- class=kadov-p><font><span style="font-family: 'Times New Roman', serif; font-size: 12pt;"><font size=3 style="font-size:12pt;">Stop \r
- execution of a graph or a node </font></span></font></li>\r
- \r
- <li class=kadov-p\r
- class=kadov-p><font><span style="font-family: 'Times New Roman', serif; font-size: 12pt;"><font size=3 style="font-size:12pt;">Suspend \r
- or resume execution of a graph or a node</font></span></font></li>\r
- \r
- <li class=kadov-p\r
- class=kadov-p><span style="font-family: 'Times New Roman', serif; font-size: 12pt;"><font size=3 style="font-size:12pt;">Control \r
- the activity of the graph using different views </font></span></li>\r
- \r
- <li class=kadov-p\r
- class=kadov-p><span style="font-family: 'Times New Roman', serif; font-size: 12pt;"><font size=3 style="font-size:12pt;">Filter \r
- the output messages of the solvers </font></span></li>\r
- \r
- <li class=kadov-p\r
- class=kadov-p><font style="font-size: x-small;"\r
- size=2><span style="font-family: 'Times New Roman', serif; font-size: 12pt;"><font size=3 style="font-size:12pt;">Examine \r
- the data calculated in the ports</font></span><span style="font-family: 'Times New Roman', serif;"> \r
- </span></font></li>\r
-</ul>\r
-\r
- \r
-\r
-<br> \r
- \r
-\r
-<br><a href="javascript:void(0);" onClick="var e; if (parseInt(navigator.appVersion)>=4){e=event;} if (parseInt(navigator.appVersion) >=2 && typeof(PopupMenu_Invoke) == 'function') PopupMenu_Invoke(e,'','About nodes','about_nodes.htm','Controlling execution of the graphs','controlling_execution_of_the_graphs.htm','Creating a new graph','creating_a_new_graph.htm','Introduction to SUPERVISION','introduction_to_supervisor.htm','Running SUPERVISION','running_supervisor.htm');return false;" title="Related Topics"><img src="../ss_btn_related_topics.gif" border=0 height=17 width=82 alt="Related Topics"></a><br> \r
- \r
-\r
-<br> \r
- \r
-\r
-<script type="text/javascript" language="JavaScript" title="WebHelpRelatedTopics"><!--\r
-if (parseInt(navigator.appVersion) >= 3 && typeof (WritePopupMenuLayer) == "function")\r
- WritePopupMenuLayer();\r
-//--></script><script type="text/javascript" language="javascript1.2">\r
-<!--\r
-if (window.writeIntopicBar)\r
- writeIntopicBar(0);\r
-//-->\r
-</script>\r
-</body>\r
-\r
-</html>\r
+++ /dev/null
-<!doctype HTML public "-//W3C//DTD HTML 4.0 Frameset//EN">\r
-\r
-<html>\r
-\r
-<!--(==============================================================)-->\r
-<!--(Document created with RoboEditor. )============================-->\r
-<!--(==============================================================)-->\r
-\r
-<head>\r
-\r
-<title>Examiming calculated data</title>\r
-\r
-<!--(Meta)==========================================================-->\r
-\r
-<meta http-equiv=content-type content="text/html; charset=windows-1252">\r
-<meta name=generator content="RoboHELP by eHelp Corporation - www.ehelp.com">\r
-<meta name=generator-major-version content=0.1>\r
-<meta name=generator-minor-version content=1>\r
-<meta name=filetype content=kadov>\r
-<meta name=filetype-version content=1>\r
-<meta name=page-count content=1>\r
-<meta name=layout-height content=854>\r
-<meta name=layout-width content=758>\r
-\r
-\r
-<!--(Links)=========================================================-->\r
-\r
- <link rel='stylesheet' href='../default_ns.css'>\r
-<script type="text/javascript" language="JavaScript" title="WebHelpSplitCss">\r
-<!--\r
-if (navigator.appName !="Netscape")\r
-{ document.write("<link rel='stylesheet' href='../default.css'>");}\r
-//-->\r
-</script>\r
-<style type="text/css">\r
-<!--\r
-h1.whs1 {font-family: 'Times New Roman', serif;}\r
-p.whs2 {font-family: 'Times New Roman', serif;}\r
-img_whs3 {border-style: none; border: none; width: 30px; height: 30px; float: none;}\r
-p.whs4 {font-family: 'Times New Roman', serif; margin-left: 40px;}\r
-p.whs5 {font-family: 'Times New Roman', serif; margin-left: 40px; text-align: center;}\r
-img_whs6 {border-style: none; border: none; width: 328px; height: 122px; float: none;}\r
-p.whs7 {font-family: 'Times New Roman', serif; margin-left: 0px;}\r
-p.whs8 {font-family: 'Times New Roman', serif; margin-left: 40px; font-style: normal; color: #000000;}\r
-img_whs9 {border-style: none; border: none; width: 696px; height: 202px; float: none;}\r
--->\r
-</style>\r
-<script type="text/javascript" language="JavaScript">\r
-<!--\r
-if ((navigator.appName == "Netscape") && (parseInt(navigator.appVersion) == 4))\r
-{\r
- var strNSS = "<style type='text/css'>";\r
- strNSS += "p.whs7 {margin-left:1; }";\r
- strNSS +="</style>";\r
- document.write(strNSS);\r
-}\r
-//-->\r
-</script>\r
-<script type="text/javascript" language="JavaScript" title="BSSC Special Effects" src="../ehlpdhtm.js"></script><script type="text/javascript" language="JavaScript" title="WebHelpInlineScript">\r
-<!--\r
-function reDo() {\r
- if (innerWidth != origWidth || innerHeight != origHeight)\r
- location.reload();\r
-}\r
-if ((parseInt(navigator.appVersion) == 4) && (navigator.appName == "Netscape")) {\r
- origWidth = innerWidth;\r
- origHeight = innerHeight;\r
- onresize = reDo;\r
-}\r
-onerror = null; \r
-//-->\r
-</script>\r
-<style type="text/css">\r
-<!--\r
- div.WebHelpPopupMenu {position:absolute; left:0px; top:0px; z-index:4; visibility:hidden;}\r
--->\r
-</style>\r
-<script type="text/javascript" language="javascript1.2" src="../whmsg.js"></script>\r
-<script type="text/javascript" language="javascript" src="../whver.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="../whproxy.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="../whutils.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="../whtopic.js"></script>\r
-</head>\r
-\r
-<!--(Body)==========================================================-->\r
-\r
-\r
-<body>\r
-\r
-<script type="text/javascript" language="javascript1.2">\r
-<!--\r
-if (window.gbWhTopic)\r
-{\r
- if (window.addTocInfo)\r
- {\r
- addTocInfo("SUPERVISION module\nInitializing and executing graphs\nExamining calculated data");\r
-addButton("show",BTN_TEXT,"Show","","","","",0,0,"","","");\r
-\r
- }\r
- if (window.writeBtnStyle)\r
- writeBtnStyle();\r
-\r
- if (window.writeIntopicBar)\r
- writeIntopicBar(1);\r
-\r
- if (window.setRelStartPage)\r
- {\r
- setRelStartPage("../supervision.html");\r
-\r
- autoSync(0);\r
- sendSyncInfo();\r
- sendAveInfoOut();\r
- }\r
-}\r
-else\r
- document.location.reload();\r
-//-->\r
-</script>\r
-<h1 class="whs1">Examining calculated \r
- data</h1>\r
-\r
-<p class="whs2"><span style="font-size: 12pt;"><font size=3 style="font-size:12pt;"><img src="../i_blue.jpg" x-maintain-ratio="TRUE" width="30px" height="30px" border="0" class="img_whs3"></font></span>All data calculated on the nodes or set as input parameters \r
- for the services is displayed on the corresponding Output or Input ports. \r
- </p>\r
-\r
-<p class="whs2"> </p>\r
-\r
-<p class=TODO>To examine the current value of a definite port: </p>\r
-\r
-<p class="whs2"> </p>\r
-\r
-<p class="whs4">Right-click \r
- on this port and from the pop-up menu choose <span style="font-weight: bold;"><B>Browse \r
- </B></span>option. The following window will appear:</p>\r
-\r
-<p class="whs4"> </p>\r
-\r
-<p align="center" class="whs5"><img src="../pics/browseport.jpg" x-maintain-ratio="TRUE" width="328px" height="122px" border="0" class="img_whs6"></p>\r
-\r
-<p class="whs4"> </p>\r
-\r
-<p class=TODO>To examine all current port values of a definite node:</p>\r
-\r
-<p class="whs7"> </p>\r
-\r
-<p class="whs8">Right-click on the Title part of this node \r
- and from the pop-up menu choose <span style="font-weight: bold;"><B>Browse \r
- </B></span>option. The following window will appear:</p>\r
-\r
-<p class="whs8"> </p>\r
-\r
-<p align="center" class="whs5"><img src="../pics/browsenode.jpg" x-maintain-ratio="TRUE" width="696px" height="202px" border="0" class="img_whs9"></p>\r
-\r
-<p class="whs8"> </p>\r
-\r
-<p class="whs7">This \r
- dialog box serves also for setting input parameters of the node.</p>\r
-\r
-<p class="whs7"> </p>\r
-\r
-<p class="whs7"> </p>\r
-\r
-<p class="whs7"> </p>\r
-\r
-<p class="whs7">\r
-<a href="javascript:void(0);" onClick="var e; if (parseInt(navigator.appVersion)>=4){e=event;} if (parseInt(navigator.appVersion) >=2 && typeof(PopupMenu_Invoke) == 'function') PopupMenu_Invoke(e,'','About nodes','about_nodes.htm','Setting input parameters','setting_input_parameters.htm');return false;" title="Related Topics"><img src="../ss_btn_related_topics.gif" border=0 height=17 width=82 alt="Related Topics"></a></p>\r
-\r
-<p class="whs7"> </p>\r
-\r
-<p class="whs7"> </p>\r
-\r
-<script type="text/javascript" language="JavaScript" title="WebHelpRelatedTopics"><!--\r
-if (parseInt(navigator.appVersion) >= 3 && typeof (WritePopupMenuLayer) == "function")\r
- WritePopupMenuLayer();\r
-//--></script><script type="text/javascript" language="javascript1.2">\r
-<!--\r
-if (window.writeIntopicBar)\r
- writeIntopicBar(0);\r
-//-->\r
-</script>\r
-</body>\r
-\r
-</html>\r
+++ /dev/null
-\r
-<html>\r
-<head><script language="javascript">\r
-<!--\r
-var sIcon="whstart.ico";\r
-var sPath=document.location.href;\r
-if (sPath.indexOf("http")!= -1)\r
- document.write("<link REL=\"SHORTCUT ICON\" href=\""+ sIcon +"\">");\r
-//-->\r
-</script>\r
- <title>SUPERVISION reference manual</title>\r
- <meta http-equiv="content-type" content="text/html; charset=iso-8859-1">\r
- <meta name="generator" content="RoboHelp by eHelp Corporation www.ehelp.com">\r
- <meta name "description" content="WebHelp 2002">\r
-</head>\r
-<script type="text/javascript" language="javascript" src="whver.js"></script>\r
-<script type="text/javascript" language="javascript" src="whutils.js"></script>\r
-<script type="text/javascript" language="javascript" src="whmsg.js"></script>\r
-<script type="text/javascript" language="javascript" >\r
-<!--\r
-if (!window.gbWhVer||!window.gbWhUtil||!window.gbWhMsg)\r
- document.location.reload();\r
-//-->\r
-</script>\r
-\r
-<script type="text/javascript" language="javascript" src="whstub.js"></script>\r
-<script language="javascript">\r
-<!--\r
-var nWebhelpNavPaneMode = 1; //1: DHTML 2:Applet 3:PureHTML 4:NoframeAt all\r
-var strPaneDHTML = "whskin_pdhtml.htm"; //whd_nvp10.htm if tab enabled, whnframe.htm if tab disabled.\r
-var strPaneApplet = "whskin_papplet.htm";\r
-var strPaneList = "whskin_plist.htm";\r
-var bNoApplet = false;\r
-\r
-var strPane = "";\r
-\r
-var nViewFrameType = nWebhelpNavPaneMode;\r
-\r
-if (!window.gAgent)\r
-{\r
- // low end browser, we don't even try to determine it.\r
- document.location = "whnjs.htm";\r
-}\r
-else\r
-{\r
- if (!gbNav4 && !gbIE4) \r
- document.location = "whnjs.htm";\r
- if (gbNav4 && !gbNav6 && ((gnVerMinor <= 4.06)))\r
- document.location = "whnjs.htm";\r
- if (gbMac && gbIE4 && !gbIE5) \r
- document.location = "whnjs.htm";\r
- //figure out which mode is the best\r
- if ((nWebhelpNavPaneMode == 1) ||\r
- (nWebhelpNavPaneMode == 2))\r
- {\r
- var gbDHTML = (nWebhelpNavPaneMode == 1);\r
- if (nWebhelpNavPaneMode == 2) nViewFrameType = 2;\r
- if (gbNav4) nViewFrameType = 2;\r
- if (gbNav4 && (gnVerMinor < 4.1)) nViewFrameType = 3;\r
- if (gbNav4 && (gnVerMinor == 4.6)) nViewFrameType = 3;\r
- if (gbIE4 && gbDHTML) nViewFrameType = 1;\r
- if (gbIE4 && gbSunOS && nWebhelpNavPaneMode == 2) nViewFrameType = 3;\r
- if (gbNav6 && gbDHTML) nViewFrameType = 1;\r
- if (gbNav6 && !gbNav61 && nWebhelpNavPaneMode == 2) nViewFrameType = 3;\r
- if (gbMac) nViewFrameType = 3;\r
- if ((bNoApplet) && (nViewFrameType == 2)) nViewFrameType = 3;\r
- if (gbOpera) nViewFrameType = 3;\r
- }\r
-}\r
-\r
-var gbWindows = ((gAgent.indexOf("win") != -1) || (gAgent.indexOf("16bit") != -1));\r
-//The colordepth of the 16 color on Windows is 1. \r
-if ((gbWindows) && (gbNav4) && (window.screen) && (window.screen.colorDepth <= 4))\r
-{\r
- alert("WebHelp has detected that your display is set to 16 colors. For full WebHelp support, please set your display to use 256 or more colors.");\r
- nViewFrameType = 3;\r
-}\r
-\r
-//figure out which one is navpane\r
-// ReplaceMark:nViewFrameType = 1\r
-if (nViewFrameType == 1)\r
-{\r
- if (gbNav4 && !gbNav6)\r
- strPane = strPaneList;\r
- else\r
- strPane = strPaneDHTML;\r
-}\r
-else if (nViewFrameType == 2)\r
- strPane = strPaneApplet;\r
-else\r
- strPane = strPaneList;\r
-//-->\r
-</script>\r
-<script type="text/javascript" language="javascript" src="whstart.js"></script>\r
-<script type="text/javascript" language="javascript">\r
-<!--\r
-if (!gbIE4 && !gbNav4)\r
- document.location = "whnjs.htm";\r
-\r
-function CMRAgent( strID, strURL, strLabel, strFrameAttr )\r
-{\r
- this.m_strID = strID;\r
- this.m_strURL = strURL;\r
- this.m_strLabel = strLabel;\r
- this.m_strFrameAttr = strFrameAttr;\r
-}\r
-\r
-function CMRServer()\r
-{\r
- this.m_strVersion;\r
- this.m_strDefAgent;\r
- this.m_strAgentList;\r
- this.m_bTrial;\r
- this.m_bExpired;\r
- this.m_bSinglePane;\r
- this.m_strProduct;\r
- this.m_strWindow;\r
- this.m_strProject;\r
- this.m_strContextID;\r
- this.m_strCaption; \r
- this.m_strURLSkinFile;\r
- this.m_strURLResource;\r
- this.m_strURLLogoImg;\r
- this.m_strURLTopic;\r
- this.m_strURLBase;\r
- this.m_bShowSync;\r
- this.m_bShowBrowseSequences;\r
- this.m_bShowSearchInput;\r
- this.m_cAgents = new Array;\r
-}\r
-var cMRServer = new CMRServer;\r
-// GetServerInfo\r
-// Registry the agent array handled by webhelp\r
-// ReplaceMark:MRServer.strServerData\r
-//-->\r
-</script>\r
-\r
-<script type="text/javascript" language="javascript">\r
-<!--\r
-var strHTML = "<frameset rows=\"32,*\" hostof=\"parent:toolbar!startpage:yes\" frameborder=\"no\" border=\"0\"><frame src=\"whskin_tbars.htm\" id=\"toolbar\" frameborder=\"no\" border=\"0\" scrolling=\"no\" noresize marginheight=\"0\" marginwidth=\"0\" title=\"Toolbar\"></frame><frame src=\"whskin_frmset01.htm\" frameborder=\"yes\" border=\"1\" scrolling=\"auto\" marginheight=\"0\" marginwidth=\"0\"></frame></frameset>";\r
-document.write(strHTML);\r
-//-->\r
-</script>\r
-\r
-<frameset cols="100%,*" frameborder=no border=0>\r
- <frame src="whnjs.htm">\r
- <frame src="whskin_blank.htm" noresize>\r
-</frameset>\r
-\r
-</html>
\ No newline at end of file
+++ /dev/null
-<html>\r
-<head>\r
-<title>SUPERVISION reference manual</title>\r
-<meta http-equiv="content-type" content="text/html; charset=iso-8859-1">\r
-<meta name="generator" content="RoboHelp by eHelp Corporation www.ehelp.com">\r
-<meta name "description" content="WebHelp 2002">\r
-<script language="javascript" src="whutils.js"></script>\r
-<script language="javascript">\r
-<!--\r
-var gCSHFileName = "whc_data.htm";\r
-var gCSHSuffixName1 = "_csh.html";\r
-var gCSHSuffixName2 = "_csh.htm";\r
-//-->\r
-</script>\r
-<script language="javascript">\r
-<!--\r
-gCSHFileName="cshdat_webhelp.htm";\r
-//-->\r
-</script>\r
-<script language="javascript">\r
-<!--\r
-var gasProj = new Array();\r
-gasProj[0] = _getPath(document.location.href);\r
-var gCurrent = 0;\r
-\r
-function addProject(strProj)\r
-{\r
- var len = gasProj.length;\r
- var strPPath = _getFullPath(_getPath(document.location.href), strProj);\r
- var bFound = false;\r
- for (var i = 0; i < len; i ++)\r
- {\r
- if (isSamePath(gasProj[i], strPPath))\r
- {\r
- bFound = true;\r
- break;\r
- }\r
- }\r
- if (!bFound)\r
- gasProj[len] = strPPath; \r
-}\r
-\r
-function isSamePath(strPath1, strPath2)\r
-{\r
- return strPath1.toLowerCase() == strPath2.toLowerCase();\r
-}\r
-\r
-function goNext()\r
-{\r
- gCurrent ++;\r
- var len = gasProj.length;\r
- if (gCurrent >= len)\r
- return getHomePage()\r
- else\r
- frames["csh"].location = gasProj[gCurrent] + gCSHFileName;\r
- return "";\r
-}\r
-\r
-function getRelHomePage(strLocation)\r
-{\r
- var strCurPPath = _getPath(strLocation);\r
- var strOriPPath = _getPath(getHomePage());\r
- var strRelPath = _getRelativeFileName(strOriPPath, strCurPPath);\r
- var strURL = getHomePage() + "#" + strRelPath;\r
- return strURL;\r
-}\r
-\r
-function getHomePage()\r
-{\r
- var strHomePage;\r
- var strTmp = location.toString();\r
- var nPos = strTmp.indexOf("#");\r
- if (nPos != -1)\r
- {\r
- strHomePage = strTmp.substring(0, nPos);\r
- }\r
- else\r
- {\r
- strHomePage = strTmp;\r
- }\r
- var nPos1 = strHomePage.indexOf(gCSHSuffixName1);\r
- var nPos = strHomePage.indexOf(gCSHSuffixName2);\r
- if (nPos != -1)\r
- {\r
- strHomePage = strHomePage.substring(0,nPos);\r
- if (nPos1 != -1)\r
- strHomePage += ".html";\r
- else\r
- strHomePage += ".htm";\r
- }\r
- return strHomePage;\r
-}\r
-//-->\r
-</script>\r
-</head>\r
-<frameset rows="1,*">\r
-<frame name="dumb" src="about:blank"></frame>\r
-<frame name="csh" src="cshdat_webhelp.htm"></frame> \r
-</frameset>\r
-</html>
\ No newline at end of file
+++ /dev/null
-<html>\r
-<head>\r
-<title>SUPERVISION reference manual</title>\r
-<meta http-equiv="content-type" content="text/html; charset=iso-8859-1">\r
-<meta name="generator" content="RoboHelp by eHelp Corporation www.ehelp.com">\r
-<meta name "description" content="WebHelp 2002">\r
-<script language="javascript" src="whutils.js"></script>\r
-<script language="javascript">\r
-<!--\r
-var gCSHFileName = "whc_data.htm";\r
-var gCSHSuffixName1 = "_rhc.html";\r
-var gCSHSuffixName2 = "_rhc.htm";\r
-//-->\r
-</script>\r
-<script language="javascript">\r
-<!--\r
-gCSHFileName="cshdat_robohelp.htm";\r
-//-->\r
-</script>\r
-<script language="javascript">\r
-<!--\r
-var gasProj = new Array();\r
-gasProj[0] = _getPath(document.location.href);\r
-var gCurrent = 0;\r
-\r
-function addProject(strProj)\r
-{\r
- var len = gasProj.length;\r
- var strPPath = _getFullPath(_getPath(document.location.href), strProj);\r
- var bFound = false;\r
- for (var i = 0; i < len; i ++)\r
- {\r
- if (isSamePath(gasProj[i], strPPath))\r
- {\r
- bFound = true;\r
- break;\r
- }\r
- }\r
- if (!bFound)\r
- gasProj[len] = strPPath; \r
-}\r
-\r
-function isSamePath(strPath1, strPath2)\r
-{\r
- return strPath1.toLowerCase() == strPath2.toLowerCase();\r
-}\r
-\r
-function goNext()\r
-{\r
- gCurrent ++;\r
- var len = gasProj.length;\r
- if (gCurrent >= len)\r
- return getHomePage()\r
- else\r
- frames["csh"].location = gasProj[gCurrent] + gCSHFileName;\r
- return "";\r
-}\r
-\r
-function getRelHomePage(strLocation)\r
-{\r
- var strCurPPath = _getPath(strLocation);\r
- var strOriPPath = _getPath(getHomePage());\r
- var strRelPath = _getRelativeFileName(strOriPPath, strCurPPath);\r
- var strURL = getHomePage() + "#" + strRelPath;\r
- return strURL;\r
-}\r
-\r
-function getHomePage()\r
-{\r
- var strHomePage;\r
- var strTmp = location.toString();\r
- var nPos = strTmp.indexOf("#");\r
- if (nPos != -1)\r
- {\r
- strHomePage = strTmp.substring(0, nPos);\r
- }\r
- else\r
- {\r
- strHomePage = strTmp;\r
- }\r
- var nPos1 = strHomePage.indexOf(gCSHSuffixName1);\r
- var nPos = strHomePage.indexOf(gCSHSuffixName2);\r
- if (nPos != -1)\r
- {\r
- strHomePage = strHomePage.substring(0,nPos);\r
- if (nPos1 != -1)\r
- strHomePage += ".html";\r
- else\r
- strHomePage += ".htm";\r
- }\r
- return strHomePage;\r
-}\r
-//-->\r
-</script>\r
-</head>\r
-<frameset rows="1,*">\r
-<frame name="dumb" src="about:blank"></frame>\r
-<frame name="csh" src="cshdat_robohelp.htm"></frame> \r
-</frameset>\r
-</html>
\ No newline at end of file
+++ /dev/null
-var gTEA = new Array();\r
-function aTE(sTopicTitle, sTopicURL)\r
-{\r
- var len = gTEA.length;\r
- gTEA[len] = new topicEntry(sTopicTitle, sTopicURL);\r
-}\r
-\r
-function topicEntry(sTopicTitle, sTopicURL)\r
-{\r
- this.sTopicTitle = sTopicTitle;\r
- this.sTopicURL = sTopicURL;\r
-}\r
-\r
-function window_OnLoad()\r
-{\r
- if (parent && parent != this) {\r
- if (parent.putFtsTData) \r
- {\r
- parent.putFtsTData(gTEA);\r
- }\r
- }\r
-}\r
-\r
-window.onload = window_OnLoad;
\ No newline at end of file
+++ /dev/null
-<html>\r
-<head>\r
-<META HTTP-EQUIV="content-type" CONTENT="text/html; charset=iso-8859-1">\r
-</head>\r
-<body>\r
-<script language="javascript" src="whftdata.js"></script>\r
-<script language="javascript">\r
-<!--\r
-//-->\r
-</script>\r
-<script language="javascript">\r
-<!--\r
-aTE("About nodes","files/about_nodes.htm");\r
-aTE("Changing graph description","files/adding_information_about_graphs.htm");\r
-aTE("Linking node ports","files/adding_links_from_an_output_port.htm");\r
-aTE("Adding node ports","files/adding_node_ports.htm");\r
-aTE("Adding nodes","files/adding_nodes.htm");\r
-aTE("Changing node description","files/changing_node_description.htm");\r
-aTE("Changing view mode","files/changing_view_mode.htm");\r
-aTE("Computation nodes","files/computation_nodes.htm");\r
-aTE("Controlling execution of the graphs","files/controlling_execution_of_the_graphs.htm");\r
-aTE("Copying graphs","files/copying_graphs.htm");\r
-aTE("Creating a new graph","files/creating_a_new_graph.htm");\r
-aTE("Deleting links","files/deleting_links.htm");\r
-aTE("Deleting nodes","files/deleting_nodes.htm");\r
-aTE("Directing dataflow between nodes","files/directing_dataflow_between_nodes.htm");\r
-aTE("Editing imported graphs","files/editing_imported_graphs.htm");\r
-aTE("Editing node function","files/editing_node_function.htm");\r
-aTE("Exporting graphs","files/exporting_graphs.htm");\r
-aTE("Filtering and storing output messages","files/filtering_and_storing_output_messages.htm");\r
-aTE("GOTO nodes","files/goto_nodes.htm");\r
-aTE("Importing graphs from file","files/importing_graphs_from_file.htm");\r
-aTE("Inserting graphs","files/inserting_graphs.htm");\r
-aTE("Introduction to SUPERVISION","files/introduction_to_supervisor.htm");\r
-aTE("Loop nodes","files/loop_nodes.htm");\r
-aTE("Modifying links","files/modifying_links.htm");\r
-aTE("Changing graph description","files/opening_graphs_referenced_in_the_study.htm");\r
-aTE("Placing nodes in the window","files/placing_nodes_in_the_window.htm");\r
-aTE("Placing nodes in the window","files/points_in_links.htm");\r
-aTE("Referencing output values in the study","files/referencing_output_values_in_the_study.htm");\r
-aTE("Reloading dataflow","files/reloading_dataflow.htm");\r
-aTE("Renaming nodes","files/renaming_nodes.htm");\r
-aTE("Running dataflow","files/running_dataflow.htm");\r
-aTE("Running SUPERVISION","files/running_supervisor.htm");\r
-aTE("Setting input parameters","files/setting_input_parameters.htm");\r
-aTE("Step-by-Step execution","files/step-by-step_execution.htm");\r
-aTE("Switch nodes","files/switch_nodes.htm");\r
-aTE("Usage of SUPERVISION module","files/usage_of_supervisor_module.htm");\r
-aTE("Examiming calculated data","files/viewing_output_vaues.htm");\r
-\r
-//-->\r
-</script>\r
-</script>\r
+++ /dev/null
-<?xml version='1.0' encoding='ISO-8859-1' ?>\r
-<ftstdata>\r
-<topic name="About nodes" url="files/about_nodes.htm" />\r
-<topic name="Changing graph description" url="files/adding_information_about_graphs.htm" />\r
-<topic name="Linking node ports" url="files/adding_links_from_an_output_port.htm" />\r
-<topic name="Adding node ports" url="files/adding_node_ports.htm" />\r
-<topic name="Adding nodes" url="files/adding_nodes.htm" />\r
-<topic name="Changing node description" url="files/changing_node_description.htm" />\r
-<topic name="Changing view mode" url="files/changing_view_mode.htm" />\r
-<topic name="Computation nodes" url="files/computation_nodes.htm" />\r
-<topic name="Controlling execution of the graphs" url="files/controlling_execution_of_the_graphs.htm" />\r
-<topic name="Copying graphs" url="files/copying_graphs.htm" />\r
-<topic name="Creating a new graph" url="files/creating_a_new_graph.htm" />\r
-<topic name="Deleting links" url="files/deleting_links.htm" />\r
-<topic name="Deleting nodes" url="files/deleting_nodes.htm" />\r
-<topic name="Directing dataflow between nodes" url="files/directing_dataflow_between_nodes.htm" />\r
-<topic name="Editing imported graphs" url="files/editing_imported_graphs.htm" />\r
-<topic name="Editing node function" url="files/editing_node_function.htm" />\r
-<topic name="Exporting graphs" url="files/exporting_graphs.htm" />\r
-<topic name="Filtering and storing output messages" url="files/filtering_and_storing_output_messages.htm" />\r
-<topic name="GOTO nodes" url="files/goto_nodes.htm" />\r
-<topic name="Importing graphs from file" url="files/importing_graphs_from_file.htm" />\r
-<topic name="Inserting graphs" url="files/inserting_graphs.htm" />\r
-<topic name="Introduction to SUPERVISION" url="files/introduction_to_supervisor.htm" />\r
-<topic name="Loop nodes" url="files/loop_nodes.htm" />\r
-<topic name="Modifying links" url="files/modifying_links.htm" />\r
-<topic name="Changing graph description" url="files/opening_graphs_referenced_in_the_study.htm" />\r
-<topic name="Placing nodes in the window" url="files/placing_nodes_in_the_window.htm" />\r
-<topic name="Placing nodes in the window" url="files/points_in_links.htm" />\r
-<topic name="Referencing output values in the study" url="files/referencing_output_values_in_the_study.htm" />\r
-<topic name="Reloading dataflow" url="files/reloading_dataflow.htm" />\r
-<topic name="Renaming nodes" url="files/renaming_nodes.htm" />\r
-<topic name="Running dataflow" url="files/running_dataflow.htm" />\r
-<topic name="Running SUPERVISION" url="files/running_supervisor.htm" />\r
-<topic name="Setting input parameters" url="files/setting_input_parameters.htm" />\r
-<topic name="Step-by-Step execution" url="files/step-by-step_execution.htm" />\r
-<topic name="Switch nodes" url="files/switch_nodes.htm" />\r
-<topic name="Usage of SUPERVISION module" url="files/usage_of_supervisor_module.htm" />\r
-<topic name="Examiming calculated data" url="files/viewing_output_vaues.htm" />\r
-\r
-</ftstdata> \r
+++ /dev/null
-<html>\r
-<head>\r
-<META HTTP-EQUIV="content-type" CONTENT="text/html; charset=iso-8859-1">\r
-</head>\r
-<body>\r
-<script language="javascript" src="whfts.js"></script>\r
-<script language="javascript">\r
-<!--\r
-iWM("0","your","whfwdata0.htm");\r
-\r
-iTM(0,36,"whftdata0.htm");\r
-\r
--->\r
-</script>\r
-</body>\r
-</html>
\ No newline at end of file
+++ /dev/null
-var gaFileMapping = new Array();\r
-var gaFileTopicMapping = new Array();\r
-\r
-function fileMapping(sStartKey, sEndKey, sFileName)\r
-{\r
- this.sStartKey = sStartKey;\r
- this.sEndKey = sEndKey;\r
- this.sFileName = sFileName;\r
- this.aFtsKeys = null;\r
-}\r
-\r
-function fileTopicMapping(nIdBegin, nIdEnd, sFileName)\r
-{\r
- this.nBegin = nIdBegin;\r
- this.nEnd = nIdEnd;\r
- this.sFileName = sFileName;\r
- this.aTopics = null;\r
-}\r
-\r
-\r
-function iWM(sStartKey, sEndKey, sFileName)\r
-{\r
- gaFileMapping[gaFileMapping.length] = new fileMapping(sStartKey, sEndKey, sFileName); \r
-}\r
-\r
-function window_OnLoad()\r
-{\r
- if (parent && parent != this && parent.ftsReady)\r
- {\r
- parent.ftsReady(gaFileMapping, gaFileTopicMapping);\r
- } \r
-}\r
-\r
-function iTM(nIdBegin, nIdEnd, sFileName)\r
-{\r
- gaFileTopicMapping[gaFileTopicMapping.length] = new fileTopicMapping(nIdBegin, nIdEnd, sFileName); \r
-}\r
-\r
-window.onload = window_OnLoad;\r
+++ /dev/null
-<?xml version='1.0' encoding='ISO-8859-1' ?>\r
-<fts>\r
-<chunkinfo url="whfwdata0.xml" first="0" last="your"/>\r
-\r
-<tchunkinfo first="0" last="36" url="whftdata0.xml" />\r
-\r
-</fts>\r
+++ /dev/null
-var gWEA = new Array();\r
-function aWE()\r
-{\r
- var len = gWEA.length;\r
- gWEA[len] = new ftsEntry(aWE.arguments);\r
-}\r
-\r
-function ftsEntry(fn_arguments) \r
-{\r
- if (fn_arguments.length && fn_arguments.length >= 1) \r
- {\r
- this.sItemName = fn_arguments[0];\r
- this.aTopics = null;\r
- var nLen = fn_arguments.length;\r
- if (nLen > 1) \r
- {\r
- this.aTopics = new Array();\r
- for (var i = 0; i < nLen - 1; i ++ )\r
- {\r
- this.aTopics[i] = fn_arguments[i + 1];\r
- }\r
- }\r
- }\r
-}\r
-\r
-function window_OnLoad()\r
-{\r
- if (parent && parent != this) {\r
- if (parent.putFtsWData) \r
- {\r
- parent.putFtsWData(gWEA);\r
- }\r
- }\r
-}\r
-\r
-window.onload = window_OnLoad;
\ No newline at end of file
+++ /dev/null
-<html>\r
-<head>\r
-<META HTTP-EQUIV="content-type" CONTENT="text/html; charset=iso-8859-1">\r
-</head>\r
-<body>\r
-<script language="javascript" src="whfwdata.js"></script>\r
-<script language="javascript">\r
-<!--\r
-//-->\r
-</script>\r
-<script language="javascript">\r
-<!--\r
-aWE("0",22,34);\r
-aWE("1",8,16,19,20,2,22,23,29,31,32,34,35);\r
-aWE("13",34);\r
-aWE("2",8,16,19,20,2,23,29,31,32,35);\r
-aWE("3",16,35);\r
-aWE("abl",1,24,5,19,27);\r
-aWE("abort",7,30);\r
-aWE("abov",6);\r
-aWE("acces",4);\r
-aWE("accessibl",22);\r
-aWE("accord",6,30,31);\r
-aWE("achiev",22,25,26);\r
-aWE("action",12,20,29,31,35);\r
-aWE("activity",21,35);\r
-aWE("actual",22);\r
-aWE("ad",3,4,10,22);\r
-aWE("add",3,4,10,19,2,22,23,35);\r
-aWE("addition",3);\r
-aWE("additional",1,24,5,33);\r
-aWE("again",33);\r
-aWE("algorithm",0,7);\r
-aWE("allow",4,10,13,14,16,21,23,25,26,27,33,35);\r
-aWE("already",9,11,15,23);\r
-aWE("alway",22,34);\r
-aWE("angl",23);\r
-aWE("anoth",9,18,20,35);\r
-aWE("any",23,25,26,32);\r
-aWE("appear",4,1,24,5,14,36,17,31,32);\r
-aWE("appli",3,6,15);\r
-aWE("application",31);\r
-aWE("argument",13,22,34);\r
-aWE("asid",4,2,23);\r
-aWE("associat",6,34,35);\r
-aWE("attribut",7);\r
-aWE("author",1,24,5,35);\r
-aWE("automatical",10,13,22,23,28,30,34);\r
-aWE("availabl",1,24,5,22,31);\r
-aWE("back",23);\r
-aWE("background",4,6,9,17,20,23);\r
-aWE("bas",33);\r
-aWE("befor",17,22,30);\r
-aWE("begin",22,34);\r
-aWE("begun",11);\r
-aWE("bet",23,25,26);\r
-aWE("black",2);\r
-aWE("body",22);\r
-aWE("bold",27,32);\r
-aWE("boolean",13,22,34);\r
-aWE("bottom",31);\r
-aWE("box",4,1,24,5,6,10,14,36,16,17,19,20,22,29,31,32);\r
-aWE("bracket",32);\r
-aWE("branch",21,30,34);\r
-aWE("brief",7);\r
-aWE("broken",23);\r
-aWE("brows",36,27,32,35);\r
-aWE("busport",22);\r
-aWE("button",4,29,32);\r
-aWE("calculat",36,27,30,35);\r
-aWE("calculation",21,22);\r
-aWE("call",27);\r
-aWE("cas",18,30,34);\r
-aWE("catalog",7);\r
-aWE("catalogu",35);\r
-aWE("chain",21);\r
-aWE("chang",1,24,5,6,7,22,27,29,34);\r
-aWE("chapt",33);\r
-aWE("check",6,22);\r
-aWE("choos",4,1,24,5,6,9,10,11,36,16,17,19,20,2,27,28,30,31,32,33);\r
-aWE("clear",4);\r
-aWE("click",3,4,1,24,5,6,8,9,10,11,12,14,15,36,16,17,19,20,2,23,27,28,29,30,31,32,33);\r
-aWE("cod",22);\r
-aWE("color",2);\r
-aWE("column",4,27);\r
-aWE("comment",1,24,5,6,35);\r
-aWE("comparison",18,34);\r
-aWE("component",0,4,7,13,16,17,19,21,22,28,34);\r
-aWE("compos",17);\r
-aWE("computation",0,4,7,18,34);\r
-aWE("concern",1,24,5,35);\r
-aWE("condition",22,34);\r
-aWE("conditional",30,35);\r
-aWE("configur",35);\r
-aWE("confirm",1,24,5,16);\r
-aWE("connect",0,7,13,2,34,35);\r
-aWE("connection",0,35);\r
-aWE("consequent",7);\r
-aWE("consist",0,4,21,23,35);\r
-aWE("consol",28);\r
-aWE("constant",0,7,35);\r
-aWE("construct",10,11,23);\r
-aWE("construction",21,23,35);\r
-aWE("contain",4,1,24,5,6,9,10,14,17,19,20);\r
-aWE("container",21);\r
-aWE("continu",22);\r
-aWE("control",0,6,7,8,18,21,22,33,34,35);\r
-aWE("copi",22);\r
-aWE("copy",4,9,35);\r
-aWE("corner",23);\r
-aWE("correspond",0,4,36,22,34);\r
-aWE("correspondent",34);\r
-aWE("could",7);\r
-aWE("creat",4,9,10,11,15,16,22,27,31,34,35);\r
-aWE("current",0,4,7,36,16);\r
-aWE("cursor",2,23);\r
-aWE("cut",4);\r
-aWE("d",2);\r
-aWE("data",0,4,13,36,18,21,27,30,35);\r
-aWE("dataflow",6,7,9,10,13,16,19,22,28,30,33,34);\r
-aWE("def",22,34);\r
-aWE("default",7,2,22,34);\r
-aWE("defin",0,4,7,13,21,22,34,35);\r
-aWE("definit",4,6,8,36,17,21,2,30,34);\r
-aWE("delet",11,12,35);\r
-aWE("depend",34);\r
-aWE("dependenci",13);\r
-aWE("describ",33);\r
-aWE("description",1,24,5,6,7);\r
-aWE("desktop",31);\r
-aWE("destin",21);\r
-aWE("dialog",4,1,24,5,10,14,36,16,17,19,20,22,29,32);\r
-aWE("differenc",14);\r
-aWE("different",0,2,35);\r
-aWE("direct",13,21);\r
-aWE("display",6,36,27);\r
-aWE("distribut",21);\r
-aWE("divid",21);\r
-aWE("do",13);\r
-aWE("document",4);\r
-aWE("doloop",22);\r
-aWE("doubl",32);\r
-aWE("drag",23,25,26);\r
-aWE("drop",25,26);\r
-aWE("duplicat",22,34);\r
-aWE("edit",4,5,7,10,14,15,19,21,28);\r
-aWE("edition",4,14,35);\r
-aWE("elif",34);\r
-aWE("els",22,34);\r
-aWE("end",22,30,34);\r
-aWE("endof",22,34);\r
-aWE("engin",28);\r
-aWE("ent",1,24,5,16,22,29);\r
-aWE("etc",13,19,22,30,34);\r
-aWE("even",22);\r
-aWE("every",17);\r
-aWE("examin",36,35);\r
-aWE("exampl",10,2,22,34);\r
-aWE("execut",0,4,7,8,13,19,21,22,30,34);\r
-aWE("execution",7,8,13,17,21,22,27,30,33,34,35);\r
-aWE("exist",4,14,16,35);\r
-aWE("export",7,16,35);\r
-aWE("exportation",16);\r
-aWE("external",7);\r
-aWE("fact",22,34);\r
-aWE("factory",3,4,7,15,21);\r
-aWE("facultativ",35);\r
-aWE("fals",22);\r
-aWE("field",4,16);\r
-aWE("fil",4,14,16,17,19,20,21,35);\r
-aWE("fill",34);\r
-aWE("filt",17,21,35);\r
-aWE("filter",17);\r
-aWE("find",14,16);\r
-aWE("finish",7,22,30,34);\r
-aWE("first",4,18,2,22,28,30,33,34);\r
-aWE("flow",0,13,18,21);\r
-aWE("fold",16,27);\r
-aWE("follow",0,4,1,24,5,7,10,36,17,2,22,23,27,30,31,32,34,35);\r
-aWE("four",10,2);\r
-aWE("fourth",4);\r
-aWE("fram",27,32);\r
-aWE("full",6);\r
-aWE("function",4,7,15,18,21,22,34);\r
-aWE("functionality",31);\r
-aWE("furth",34);\r
-aWE("futur",4,16);\r
-aWE("gat",7,13,34);\r
-aWE("general",0);\r
-aWE("get",9,2,22,27,32,34);\r
-aWE("giv",4,13);\r
-aWE("given",32);\r
-aWE("go",2);\r
-aWE("goto",0,4,18);\r
-aWE("graph",0,3,4,1,24,5,6,7,8,9,10,12,13,14,15,16,17,19,20,21,2,22,23,25,26,27,28,29,30,32,33,34,35);\r
-aWE("graphical",0,21,28);\r
-aWE("gui",28);\r
-aWE("hasn",8,28);\r
-aWE("hav",4,6);\r
-aWE("haven",27);\r
-aWE("head",34);\r
-aWE("help",21);\r
-aWE("her",4,22);\r
-aWE("hid",6);\r
-aWE("highlight",7,2);\r
-aWE("him",30);\r
-aWE("i1",34);\r
-aWE("i2",34);\r
-aWE("i3",34);\r
-aWE("icon",4,10,14,16,19,28,30,31,33);\r
-aWE("if",3,4,1,24,5,7,8,12,13,14,15,16,20,22,27,28,29,32,34);\r
-aWE("ignor",13);\r
-aWE("illegal",30);\r
-aWE("implementation",13);\r
-aWE("import",14,19,35);\r
-aWE("incr",22);\r
-aWE("independent",4);\r
-aWE("index",22);\r
-aWE("indicat",7,35);\r
-aWE("indication",4);\r
-aWE("information",1,24,5,35);\r
-aWE("ingat",7,2,22,34);\r
-aWE("init",22);\r
-aWE("initial",0,22,30,34);\r
-aWE("initializ",19);\r
-aWE("initialization",22,35);\r
-aWE("initloop",22);\r
-aWE("inlin",3,4,7,15,18,21,22,34);\r
-aWE("input",0,3,4,7,13,36,18,2,22,30,32,34,35);\r
-aWE("insert",20,35);\r
-aWE("insertion",12,20,29);\r
-aWE("insid",22,34);\r
-aWE("integ",34);\r
-aWE("integrat",4);\r
-aWE("interactiv",21,35);\r
-aWE("interactive",8);\r
-aWE("interfac",4,28);\r
-aWE("intermediat",30);\r
-aWE("internal",13);\r
-aWE("introduction",21);\r
-aWE("item",14,15,28,31);\r
-aWE("just",1,24,5);\r
-aWE("kil",7,8,30);\r
-aWE("kill",8,30);\r
-aWE("kind",22,34);\r
-aWE("last",22,30,34);\r
-aWE("launch",7,8,22,27,30,31,33,35);\r
-aWE("least",34);\r
-aWE("level",4);\r
-aWE("lik",4,20,2);\r
-aWE("lin",2,23);\r
-aWE("link",0,10,11,13,19,21,2,22,23,32,34,35);\r
-aWE("list",4);\r
-aWE("ll",1,24,5,27);\r
-aWE("load",4,21);\r
-aWE("locat",25,26,31,35);\r
-aWE("log",17);\r
-aWE("look",23);\r
-aWE("loop",0,4,22,30,34,35);\r
-aWE("loopnod",22);\r
-aWE("main",4,10,12,14,16,19,20,28,29,30,33,35);\r
-aWE("mak",16,23);\r
-aWE("manag",13,22);\r
-aWE("management",34);\r
-aWE("manual",4,28);\r
-aWE("mark",23);\r
-aWE("max",22);\r
-aWE("mean",0,9);\r
-aWE("mention",6);\r
-aWE("menu",4,1,24,5,6,9,10,11,14,36,16,17,19,20,2,23,27,28,30,31,32,33);\r
-aWE("messag",17,21,35);\r
-aWE("method",4,6,30);\r
-aWE("min",22);\r
-aWE("mod",6,7,21,23);\r
-aWE("modifiabl",3,1,24,5,12,14,15,20,29,35);\r
-aWE("modification",4,19,28);\r
-aWE("modify",14,19,23,30,35);\r
-aWE("modul",0,14,21,31,35);\r
-aWE("moment",34);\r
-aWE("mous",11,2,23,25,26);\r
-aWE("mov",4,2,23,35);\r
-aWE("movement",23);\r
-aWE("must",22,34);\r
-aWE("nam",1,24,5,7,16,22,29,34);\r
-aWE("necessary",4,7,14,18,27,35);\r
-aWE("new",4,9,10,14,16,29,30,31,32,35);\r
-aWE("next",0,4,22,27,33);\r
-aWE("nod",0,3,4,5,6,7,8,10,12,13,15,36,17,18,19,21,2,22,25,26,27,29,30,32,33,34,35);\r
-aWE("normal",6,23);\r
-aWE("notification",17);\r
-aWE("numeric",21);\r
-aWE("object",27,32);\r
-aWE("obtain",35);\r
-aWE("ok",1,24,5,19,29,32);\r
-aWE("on",0,3,4,7,12,15,18,20,21,2,29,34);\r
-aWE("open",4,9,14,20);\r
-aWE("operat",30);\r
-aWE("operation",16,21,30,33);\r
-aWE("opposit",4);\r
-aWE("option",3,4,1,24,5,8,9,11,12,15,36,17,19,20,2,23,25,26,27,29,32,33);\r
-aWE("optional",35);\r
-aWE("ortho",23);\r
-aWE("otherwis",1,24,5,22);\r
-aWE("our",34);\r
-aWE("outgat",7,2,22,34);\r
-aWE("output",0,3,4,7,13,36,17,18,21,2,22,27,30,32,34,35);\r
-aWE("parallel",13,21);\r
-aWE("parallelism",34);\r
-aWE("paramet",4,27,32,34);\r
-aWE("parameter",0,4,7,36,17,27,30,32,34);\r
-aWE("part",3,5,6,8,12,14,15,36,25,26,29);\r
-aWE("particular",6,35);\r
-aWE("particulariti",22,34);\r
-aWE("past",4);\r
-aWE("perform",30,34);\r
-aWE("phas",35);\r
-aWE("pictur",10,2);\r
-aWE("plac",23,25,26);\r
-aWE("platform",4,21);\r
-aWE("point",23,35);\r
-aWE("pop",4,1,24,5,6,8,9,11,14,36,17,20,2,23,27,32);\r
-aWE("port",0,3,4,6,7,11,13,36,18,19,2,22,23,27,32,34,35);\r
-aWE("position",23);\r
-aWE("possibility",13,15);\r
-aWE("possibl",3,12,15,20,22,29);\r
-aWE("predefin",7);\r
-aWE("present",7,34);\r
-aWE("presentation",21,25,26);\r
-aWE("problem",13);\r
-aWE("procedur",35);\r
-aWE("proces",18,22,34);\r
-aWE("produc",17);\r
-aWE("progres",21);\r
-aWE("provid",4,7,21);\r
-aWE("publish",21);\r
-aWE("put",17,22,27,34,35);\r
-aWE("py",4);\r
-aWE("python",4,7,22,28,34);\r
-aWE("random",23);\r
-aWE("rang",6);\r
-aWE("read",3,12,14,15,19,20,29,35);\r
-aWE("realiz",28);\r
-aWE("receiv",18);\r
-aWE("rectangl",7);\r
-aWE("redo",4);\r
-aWE("refer",35);\r
-aWE("referenc",27,32);\r
-aWE("register",7,28);\r
-aWE("reload",16,28);\r
-aWE("relocat",25,26);\r
-aWE("remov",27);\r
-aWE("renam",29,35);\r
-aWE("replac",25,26);\r
-aWE("represent",4,7,18,21,22);\r
-aWE("representation",0,6);\r
-aWE("requir",19,25,26,27);\r
-aWE("restart",30);\r
-aWE("result",34);\r
-aWE("resum",8,22,30,33,35);\r
-aWE("return",22,23,34);\r
-aWE("right",3,4,1,24,5,6,8,9,11,12,15,36,17,20,2,23,27,29,32);\r
-aWE("run",7,8,22,30,31,34);\r
-aWE("s",18,21,22,27,34);\r
-aWE("saf",13);\r
-aWE("salom",4,21,31);\r
-aWE("sam",4,14,22,23,27,30);\r
-aWE("sav",16,17,19,21);\r
-aWE("script",7);\r
-aWE("se",10,14,2,22,23,27);\r
-aWE("search",16,19,20);\r
-aWE("second",4);\r
-aWE("seen",14);\r
-aWE("select",3,4,8,12,14,15,16,19,29);\r
-aWE("selectall",4);\r
-aWE("selection",14);\r
-aWE("serv",36);\r
-aWE("servic",0,4,7,13,15,36,18,21,22,34);\r
-aWE("set",5,36,17,22,23,30,32,35);\r
-aWE("shouldn",22);\r
-aWE("show",6,22,34);\r
-aWE("shown",7);\r
-aWE("signatur",4);\r
-aWE("simpl",10,18,22,34);\r
-aWE("simultaneous",4);\r
-aWE("sketch",2);\r
-aWE("so",0,4,22,33,34);\r
-aWE("solv",13,21);\r
-aWE("solver",21,35);\r
-aWE("sometim",13);\r
-aWE("special",13);\r
-aWE("specify",17);\r
-aWE("spervision",23);\r
-aWE("standard",4,16,19,20,22,29);\r
-aWE("start",22,30,31,33,34);\r
-aWE("stat",8,22,30,34);\r
-aWE("statu",7,22,30,34);\r
-aWE("step",33,35);\r
-aWE("stop",30,35);\r
-aWE("stor",0,19,27);\r
-aWE("storag",16);\r
-aWE("str",7);\r
-aWE("straight",2);\r
-aWE("structur",7,23,30);\r
-aWE("study",0,27,31,32,35);\r
-aWE("submenu",3);\r
-aWE("sup",22,34);\r
-aWE("supervision",0,4,1,24,6,7,8,9,10,13,14,15,16,17,19,20,21,2,22,23,25,26,27,28,30,31,33,34,35);\r
-aWE("supplementary",14);\r
-aWE("suspend",7,8,30,33,35);\r
-aWE("switch",0,4,13,34);\r
-aWE("switchport",34);\r
-aWE("t",8,18,22,27,28,30);\r
-aWE("tab",4);\r
-aWE("tabl",6);\r
-aWE("taken",0);\r
-aWE("test",34);\r
-aWE("text",17);\r
-aWE("them",27);\r
-aWE("third",4);\r
-aWE("thre",4,22);\r
-aWE("thread",6,13);\r
-aWE("tim",7,13,22,27,34);\r
-aWE("titl",3,5,6,7,8,12,15,36,22,25,26,29,34);\r
-aWE("toolbar",4,10,14,16,19,28,30,31,33);\r
-aWE("transf",18);\r
-aWE("transfer",0,18,22,34);\r
-aWE("transmit",18,22,34);\r
-aWE("tre",4);\r
-aWE("tru",13,22,34);\r
-aWE("try",4,27);\r
-aWE("two",4,11,13,2,22,34);\r
-aWE("typ",0,3,4,7,13,17,22,32,33,34);\r
-aWE("underly",22,34);\r
-aWE("undo",4);\r
-aWE("unmark",23);\r
-aWE("up",4,1,24,5,6,8,9,11,14,36,17,20,2,23,27,32);\r
-aWE("updat",16,30,31);\r
-aWE("us",6,7,19,21,22,28,30,34,35);\r
-aWE("usag",35);\r
-aWE("usual",33);\r
-aWE("validat",32);\r
-aWE("valu",0,7,13,36,22,27,32,34,35);\r
-aWE("variabl",34);\r
-aWE("view",4,1,24,5,6,9,10,17,20,23,25,26,27,28,35);\r
-aWE("violet",2);\r
-aWE("visual",14,25,26);\r
-aWE("visualiz",21);\r
-aWE("wait",7,8,30);\r
-aWE("want",16);\r
-aWE("way",4,23,27);\r
-aWE("well",6,21);\r
-aWE("wheth",22);\r
-aWE("whil",11,22,23,30);\r
-aWE("whol",6,23,30);\r
-aWE("why",34);\r
-aWE("will",4,1,24,5,7,9,10,12,13,14,36,17,18,19,2,22,23,27,29,30,31,32,33,34,35);\r
-aWE("window",4,1,24,6,9,10,14,36,16,17,20,23,25,26,28,31);\r
-aWE("without",6,18);\r
-aWE("work",4);\r
-aWE("would",20);\r
-aWE("x",34);\r
-aWE("xml",16,19,20);\r
-aWE("yet",8,27);\r
-aWE("your",3,4,1,24,5,6,8,9,10,11,12,16,17,19,20,2,23,25,26,27,28,29,30,32,33);\r
-\r
-//-->\r
-</script>\r
-</script>\r
+++ /dev/null
-<?xml version='1.0' encoding='ISO-8859-1' ?>\r
-<ftswdata>\r
-<key name="0"> 22,34, </key>\r
-<key name="1"> 8,16,19,20,2,22,23,29,31,32,34,35, </key>\r
-<key name="13"> 34, </key>\r
-<key name="2"> 8,16,19,20,2,23,29,31,32,35, </key>\r
-<key name="3"> 16,35, </key>\r
-<key name="abl"> 1,24,5,19,27, </key>\r
-<key name="abort"> 7,30, </key>\r
-<key name="abov"> 6, </key>\r
-<key name="acces"> 4, </key>\r
-<key name="accessibl"> 22, </key>\r
-<key name="accord"> 6,30,31, </key>\r
-<key name="achiev"> 22,25,26, </key>\r
-<key name="action"> 12,20,29,31,35, </key>\r
-<key name="activity"> 21,35, </key>\r
-<key name="actual"> 22, </key>\r
-<key name="ad"> 3,4,10,22, </key>\r
-<key name="add"> 3,4,10,19,2,22,23,35, </key>\r
-<key name="addition"> 3, </key>\r
-<key name="additional"> 1,24,5,33, </key>\r
-<key name="again"> 33, </key>\r
-<key name="algorithm"> 0,7, </key>\r
-<key name="allow"> 4,10,13,14,16,21,23,25,26,27,33,35, </key>\r
-<key name="already"> 9,11,15,23, </key>\r
-<key name="alway"> 22,34, </key>\r
-<key name="angl"> 23, </key>\r
-<key name="anoth"> 9,18,20,35, </key>\r
-<key name="any"> 23,25,26,32, </key>\r
-<key name="appear"> 4,1,24,5,14,36,17,31,32, </key>\r
-<key name="appli"> 3,6,15, </key>\r
-<key name="application"> 31, </key>\r
-<key name="argument"> 13,22,34, </key>\r
-<key name="asid"> 4,2,23, </key>\r
-<key name="associat"> 6,34,35, </key>\r
-<key name="attribut"> 7, </key>\r
-<key name="author"> 1,24,5,35, </key>\r
-<key name="automatical"> 10,13,22,23,28,30,34, </key>\r
-<key name="availabl"> 1,24,5,22,31, </key>\r
-<key name="back"> 23, </key>\r
-<key name="background"> 4,6,9,17,20,23, </key>\r
-<key name="bas"> 33, </key>\r
-<key name="befor"> 17,22,30, </key>\r
-<key name="begin"> 22,34, </key>\r
-<key name="begun"> 11, </key>\r
-<key name="bet"> 23,25,26, </key>\r
-<key name="black"> 2, </key>\r
-<key name="body"> 22, </key>\r
-<key name="bold"> 27,32, </key>\r
-<key name="boolean"> 13,22,34, </key>\r
-<key name="bottom"> 31, </key>\r
-<key name="box"> 4,1,24,5,6,10,14,36,16,17,19,20,22,29,31,32, </key>\r
-<key name="bracket"> 32, </key>\r
-<key name="branch"> 21,30,34, </key>\r
-<key name="brief"> 7, </key>\r
-<key name="broken"> 23, </key>\r
-<key name="brows"> 36,27,32,35, </key>\r
-<key name="busport"> 22, </key>\r
-<key name="button"> 4,29,32, </key>\r
-<key name="calculat"> 36,27,30,35, </key>\r
-<key name="calculation"> 21,22, </key>\r
-<key name="call"> 27, </key>\r
-<key name="cas"> 18,30,34, </key>\r
-<key name="catalog"> 7, </key>\r
-<key name="catalogu"> 35, </key>\r
-<key name="chain"> 21, </key>\r
-<key name="chang"> 1,24,5,6,7,22,27,29,34, </key>\r
-<key name="chapt"> 33, </key>\r
-<key name="check"> 6,22, </key>\r
-<key name="choos"> 4,1,24,5,6,9,10,11,36,16,17,19,20,2,27,28,30,31,32,33, </key>\r
-<key name="clear"> 4, </key>\r
-<key name="click"> 3,4,1,24,5,6,8,9,10,11,12,14,15,36,16,17,19,20,2,23,27,28,29,30,31,32,33, </key>\r
-<key name="cod"> 22, </key>\r
-<key name="color"> 2, </key>\r
-<key name="column"> 4,27, </key>\r
-<key name="comment"> 1,24,5,6,35, </key>\r
-<key name="comparison"> 18,34, </key>\r
-<key name="component"> 0,4,7,13,16,17,19,21,22,28,34, </key>\r
-<key name="compos"> 17, </key>\r
-<key name="computation"> 0,4,7,18,34, </key>\r
-<key name="concern"> 1,24,5,35, </key>\r
-<key name="condition"> 22,34, </key>\r
-<key name="conditional"> 30,35, </key>\r
-<key name="configur"> 35, </key>\r
-<key name="confirm"> 1,24,5,16, </key>\r
-<key name="connect"> 0,7,13,2,34,35, </key>\r
-<key name="connection"> 0,35, </key>\r
-<key name="consequent"> 7, </key>\r
-<key name="consist"> 0,4,21,23,35, </key>\r
-<key name="consol"> 28, </key>\r
-<key name="constant"> 0,7,35, </key>\r
-<key name="construct"> 10,11,23, </key>\r
-<key name="construction"> 21,23,35, </key>\r
-<key name="contain"> 4,1,24,5,6,9,10,14,17,19,20, </key>\r
-<key name="container"> 21, </key>\r
-<key name="continu"> 22, </key>\r
-<key name="control"> 0,6,7,8,18,21,22,33,34,35, </key>\r
-<key name="copi"> 22, </key>\r
-<key name="copy"> 4,9,35, </key>\r
-<key name="corner"> 23, </key>\r
-<key name="correspond"> 0,4,36,22,34, </key>\r
-<key name="correspondent"> 34, </key>\r
-<key name="could"> 7, </key>\r
-<key name="creat"> 4,9,10,11,15,16,22,27,31,34,35, </key>\r
-<key name="current"> 0,4,7,36,16, </key>\r
-<key name="cursor"> 2,23, </key>\r
-<key name="cut"> 4, </key>\r
-<key name="d"> 2, </key>\r
-<key name="data"> 0,4,13,36,18,21,27,30,35, </key>\r
-<key name="dataflow"> 6,7,9,10,13,16,19,22,28,30,33,34, </key>\r
-<key name="def"> 22,34, </key>\r
-<key name="default"> 7,2,22,34, </key>\r
-<key name="defin"> 0,4,7,13,21,22,34,35, </key>\r
-<key name="definit"> 4,6,8,36,17,21,2,30,34, </key>\r
-<key name="delet"> 11,12,35, </key>\r
-<key name="depend"> 34, </key>\r
-<key name="dependenci"> 13, </key>\r
-<key name="describ"> 33, </key>\r
-<key name="description"> 1,24,5,6,7, </key>\r
-<key name="desktop"> 31, </key>\r
-<key name="destin"> 21, </key>\r
-<key name="dialog"> 4,1,24,5,10,14,36,16,17,19,20,22,29,32, </key>\r
-<key name="differenc"> 14, </key>\r
-<key name="different"> 0,2,35, </key>\r
-<key name="direct"> 13,21, </key>\r
-<key name="display"> 6,36,27, </key>\r
-<key name="distribut"> 21, </key>\r
-<key name="divid"> 21, </key>\r
-<key name="do"> 13, </key>\r
-<key name="document"> 4, </key>\r
-<key name="doloop"> 22, </key>\r
-<key name="doubl"> 32, </key>\r
-<key name="drag"> 23,25,26, </key>\r
-<key name="drop"> 25,26, </key>\r
-<key name="duplicat"> 22,34, </key>\r
-<key name="edit"> 4,5,7,10,14,15,19,21,28, </key>\r
-<key name="edition"> 4,14,35, </key>\r
-<key name="elif"> 34, </key>\r
-<key name="els"> 22,34, </key>\r
-<key name="end"> 22,30,34, </key>\r
-<key name="endof"> 22,34, </key>\r
-<key name="engin"> 28, </key>\r
-<key name="ent"> 1,24,5,16,22,29, </key>\r
-<key name="etc"> 13,19,22,30,34, </key>\r
-<key name="even"> 22, </key>\r
-<key name="every"> 17, </key>\r
-<key name="examin"> 36,35, </key>\r
-<key name="exampl"> 10,2,22,34, </key>\r
-<key name="execut"> 0,4,7,8,13,19,21,22,30,34, </key>\r
-<key name="execution"> 7,8,13,17,21,22,27,30,33,34,35, </key>\r
-<key name="exist"> 4,14,16,35, </key>\r
-<key name="export"> 7,16,35, </key>\r
-<key name="exportation"> 16, </key>\r
-<key name="external"> 7, </key>\r
-<key name="fact"> 22,34, </key>\r
-<key name="factory"> 3,4,7,15,21, </key>\r
-<key name="facultativ"> 35, </key>\r
-<key name="fals"> 22, </key>\r
-<key name="field"> 4,16, </key>\r
-<key name="fil"> 4,14,16,17,19,20,21,35, </key>\r
-<key name="fill"> 34, </key>\r
-<key name="filt"> 17,21,35, </key>\r
-<key name="filter"> 17, </key>\r
-<key name="find"> 14,16, </key>\r
-<key name="finish"> 7,22,30,34, </key>\r
-<key name="first"> 4,18,2,22,28,30,33,34, </key>\r
-<key name="flow"> 0,13,18,21, </key>\r
-<key name="fold"> 16,27, </key>\r
-<key name="follow"> 0,4,1,24,5,7,10,36,17,2,22,23,27,30,31,32,34,35, </key>\r
-<key name="four"> 10,2, </key>\r
-<key name="fourth"> 4, </key>\r
-<key name="fram"> 27,32, </key>\r
-<key name="full"> 6, </key>\r
-<key name="function"> 4,7,15,18,21,22,34, </key>\r
-<key name="functionality"> 31, </key>\r
-<key name="furth"> 34, </key>\r
-<key name="futur"> 4,16, </key>\r
-<key name="gat"> 7,13,34, </key>\r
-<key name="general"> 0, </key>\r
-<key name="get"> 9,2,22,27,32,34, </key>\r
-<key name="giv"> 4,13, </key>\r
-<key name="given"> 32, </key>\r
-<key name="go"> 2, </key>\r
-<key name="goto"> 0,4,18, </key>\r
-<key name="graph"> 0,3,4,1,24,5,6,7,8,9,10,12,13,14,15,16,17,19,20,21,2,22,23,25,26,27,28,29,30,32,33,34,35, </key>\r
-<key name="graphical"> 0,21,28, </key>\r
-<key name="gui"> 28, </key>\r
-<key name="hasn"> 8,28, </key>\r
-<key name="hav"> 4,6, </key>\r
-<key name="haven"> 27, </key>\r
-<key name="head"> 34, </key>\r
-<key name="help"> 21, </key>\r
-<key name="her"> 4,22, </key>\r
-<key name="hid"> 6, </key>\r
-<key name="highlight"> 7,2, </key>\r
-<key name="him"> 30, </key>\r
-<key name="i1"> 34, </key>\r
-<key name="i2"> 34, </key>\r
-<key name="i3"> 34, </key>\r
-<key name="icon"> 4,10,14,16,19,28,30,31,33, </key>\r
-<key name="if"> 3,4,1,24,5,7,8,12,13,14,15,16,20,22,27,28,29,32,34, </key>\r
-<key name="ignor"> 13, </key>\r
-<key name="illegal"> 30, </key>\r
-<key name="implementation"> 13, </key>\r
-<key name="import"> 14,19,35, </key>\r
-<key name="incr"> 22, </key>\r
-<key name="independent"> 4, </key>\r
-<key name="index"> 22, </key>\r
-<key name="indicat"> 7,35, </key>\r
-<key name="indication"> 4, </key>\r
-<key name="information"> 1,24,5,35, </key>\r
-<key name="ingat"> 7,2,22,34, </key>\r
-<key name="init"> 22, </key>\r
-<key name="initial"> 0,22,30,34, </key>\r
-<key name="initializ"> 19, </key>\r
-<key name="initialization"> 22,35, </key>\r
-<key name="initloop"> 22, </key>\r
-<key name="inlin"> 3,4,7,15,18,21,22,34, </key>\r
-<key name="input"> 0,3,4,7,13,36,18,2,22,30,32,34,35, </key>\r
-<key name="insert"> 20,35, </key>\r
-<key name="insertion"> 12,20,29, </key>\r
-<key name="insid"> 22,34, </key>\r
-<key name="integ"> 34, </key>\r
-<key name="integrat"> 4, </key>\r
-<key name="interactiv"> 21,35, </key>\r
-<key name="interactive"> 8, </key>\r
-<key name="interfac"> 4,28, </key>\r
-<key name="intermediat"> 30, </key>\r
-<key name="internal"> 13, </key>\r
-<key name="introduction"> 21, </key>\r
-<key name="item"> 14,15,28,31, </key>\r
-<key name="just"> 1,24,5, </key>\r
-<key name="kil"> 7,8,30, </key>\r
-<key name="kill"> 8,30, </key>\r
-<key name="kind"> 22,34, </key>\r
-<key name="last"> 22,30,34, </key>\r
-<key name="launch"> 7,8,22,27,30,31,33,35, </key>\r
-<key name="least"> 34, </key>\r
-<key name="level"> 4, </key>\r
-<key name="lik"> 4,20,2, </key>\r
-<key name="lin"> 2,23, </key>\r
-<key name="link"> 0,10,11,13,19,21,2,22,23,32,34,35, </key>\r
-<key name="list"> 4, </key>\r
-<key name="ll"> 1,24,5,27, </key>\r
-<key name="load"> 4,21, </key>\r
-<key name="locat"> 25,26,31,35, </key>\r
-<key name="log"> 17, </key>\r
-<key name="look"> 23, </key>\r
-<key name="loop"> 0,4,22,30,34,35, </key>\r
-<key name="loopnod"> 22, </key>\r
-<key name="main"> 4,10,12,14,16,19,20,28,29,30,33,35, </key>\r
-<key name="mak"> 16,23, </key>\r
-<key name="manag"> 13,22, </key>\r
-<key name="management"> 34, </key>\r
-<key name="manual"> 4,28, </key>\r
-<key name="mark"> 23, </key>\r
-<key name="max"> 22, </key>\r
-<key name="mean"> 0,9, </key>\r
-<key name="mention"> 6, </key>\r
-<key name="menu"> 4,1,24,5,6,9,10,11,14,36,16,17,19,20,2,23,27,28,30,31,32,33, </key>\r
-<key name="messag"> 17,21,35, </key>\r
-<key name="method"> 4,6,30, </key>\r
-<key name="min"> 22, </key>\r
-<key name="mod"> 6,7,21,23, </key>\r
-<key name="modifiabl"> 3,1,24,5,12,14,15,20,29,35, </key>\r
-<key name="modification"> 4,19,28, </key>\r
-<key name="modify"> 14,19,23,30,35, </key>\r
-<key name="modul"> 0,14,21,31,35, </key>\r
-<key name="moment"> 34, </key>\r
-<key name="mous"> 11,2,23,25,26, </key>\r
-<key name="mov"> 4,2,23,35, </key>\r
-<key name="movement"> 23, </key>\r
-<key name="must"> 22,34, </key>\r
-<key name="nam"> 1,24,5,7,16,22,29,34, </key>\r
-<key name="necessary"> 4,7,14,18,27,35, </key>\r
-<key name="new"> 4,9,10,14,16,29,30,31,32,35, </key>\r
-<key name="next"> 0,4,22,27,33, </key>\r
-<key name="nod"> 0,3,4,5,6,7,8,10,12,13,15,36,17,18,19,21,2,22,25,26,27,29,30,32,33,34,35, </key>\r
-<key name="normal"> 6,23, </key>\r
-<key name="notification"> 17, </key>\r
-<key name="numeric"> 21, </key>\r
-<key name="object"> 27,32, </key>\r
-<key name="obtain"> 35, </key>\r
-<key name="ok"> 1,24,5,19,29,32, </key>\r
-<key name="on"> 0,3,4,7,12,15,18,20,21,2,29,34, </key>\r
-<key name="open"> 4,9,14,20, </key>\r
-<key name="operat"> 30, </key>\r
-<key name="operation"> 16,21,30,33, </key>\r
-<key name="opposit"> 4, </key>\r
-<key name="option"> 3,4,1,24,5,8,9,11,12,15,36,17,19,20,2,23,25,26,27,29,32,33, </key>\r
-<key name="optional"> 35, </key>\r
-<key name="ortho"> 23, </key>\r
-<key name="otherwis"> 1,24,5,22, </key>\r
-<key name="our"> 34, </key>\r
-<key name="outgat"> 7,2,22,34, </key>\r
-<key name="output"> 0,3,4,7,13,36,17,18,21,2,22,27,30,32,34,35, </key>\r
-<key name="parallel"> 13,21, </key>\r
-<key name="parallelism"> 34, </key>\r
-<key name="paramet"> 4,27,32,34, </key>\r
-<key name="parameter"> 0,4,7,36,17,27,30,32,34, </key>\r
-<key name="part"> 3,5,6,8,12,14,15,36,25,26,29, </key>\r
-<key name="particular"> 6,35, </key>\r
-<key name="particulariti"> 22,34, </key>\r
-<key name="past"> 4, </key>\r
-<key name="perform"> 30,34, </key>\r
-<key name="phas"> 35, </key>\r
-<key name="pictur"> 10,2, </key>\r
-<key name="plac"> 23,25,26, </key>\r
-<key name="platform"> 4,21, </key>\r
-<key name="point"> 23,35, </key>\r
-<key name="pop"> 4,1,24,5,6,8,9,11,14,36,17,20,2,23,27,32, </key>\r
-<key name="port"> 0,3,4,6,7,11,13,36,18,19,2,22,23,27,32,34,35, </key>\r
-<key name="position"> 23, </key>\r
-<key name="possibility"> 13,15, </key>\r
-<key name="possibl"> 3,12,15,20,22,29, </key>\r
-<key name="predefin"> 7, </key>\r
-<key name="present"> 7,34, </key>\r
-<key name="presentation"> 21,25,26, </key>\r
-<key name="problem"> 13, </key>\r
-<key name="procedur"> 35, </key>\r
-<key name="proces"> 18,22,34, </key>\r
-<key name="produc"> 17, </key>\r
-<key name="progres"> 21, </key>\r
-<key name="provid"> 4,7,21, </key>\r
-<key name="publish"> 21, </key>\r
-<key name="put"> 17,22,27,34,35, </key>\r
-<key name="py"> 4, </key>\r
-<key name="python"> 4,7,22,28,34, </key>\r
-<key name="random"> 23, </key>\r
-<key name="rang"> 6, </key>\r
-<key name="read"> 3,12,14,15,19,20,29,35, </key>\r
-<key name="realiz"> 28, </key>\r
-<key name="receiv"> 18, </key>\r
-<key name="rectangl"> 7, </key>\r
-<key name="redo"> 4, </key>\r
-<key name="refer"> 35, </key>\r
-<key name="referenc"> 27,32, </key>\r
-<key name="register"> 7,28, </key>\r
-<key name="reload"> 16,28, </key>\r
-<key name="relocat"> 25,26, </key>\r
-<key name="remov"> 27, </key>\r
-<key name="renam"> 29,35, </key>\r
-<key name="replac"> 25,26, </key>\r
-<key name="represent"> 4,7,18,21,22, </key>\r
-<key name="representation"> 0,6, </key>\r
-<key name="requir"> 19,25,26,27, </key>\r
-<key name="restart"> 30, </key>\r
-<key name="result"> 34, </key>\r
-<key name="resum"> 8,22,30,33,35, </key>\r
-<key name="return"> 22,23,34, </key>\r
-<key name="right"> 3,4,1,24,5,6,8,9,11,12,15,36,17,20,2,23,27,29,32, </key>\r
-<key name="run"> 7,8,22,30,31,34, </key>\r
-<key name="s"> 18,21,22,27,34, </key>\r
-<key name="saf"> 13, </key>\r
-<key name="salom"> 4,21,31, </key>\r
-<key name="sam"> 4,14,22,23,27,30, </key>\r
-<key name="sav"> 16,17,19,21, </key>\r
-<key name="script"> 7, </key>\r
-<key name="se"> 10,14,2,22,23,27, </key>\r
-<key name="search"> 16,19,20, </key>\r
-<key name="second"> 4, </key>\r
-<key name="seen"> 14, </key>\r
-<key name="select"> 3,4,8,12,14,15,16,19,29, </key>\r
-<key name="selectall"> 4, </key>\r
-<key name="selection"> 14, </key>\r
-<key name="serv"> 36, </key>\r
-<key name="servic"> 0,4,7,13,15,36,18,21,22,34, </key>\r
-<key name="set"> 5,36,17,22,23,30,32,35, </key>\r
-<key name="shouldn"> 22, </key>\r
-<key name="show"> 6,22,34, </key>\r
-<key name="shown"> 7, </key>\r
-<key name="signatur"> 4, </key>\r
-<key name="simpl"> 10,18,22,34, </key>\r
-<key name="simultaneous"> 4, </key>\r
-<key name="sketch"> 2, </key>\r
-<key name="so"> 0,4,22,33,34, </key>\r
-<key name="solv"> 13,21, </key>\r
-<key name="solver"> 21,35, </key>\r
-<key name="sometim"> 13, </key>\r
-<key name="special"> 13, </key>\r
-<key name="specify"> 17, </key>\r
-<key name="spervision"> 23, </key>\r
-<key name="standard"> 4,16,19,20,22,29, </key>\r
-<key name="start"> 22,30,31,33,34, </key>\r
-<key name="stat"> 8,22,30,34, </key>\r
-<key name="statu"> 7,22,30,34, </key>\r
-<key name="step"> 33,35, </key>\r
-<key name="stop"> 30,35, </key>\r
-<key name="stor"> 0,19,27, </key>\r
-<key name="storag"> 16, </key>\r
-<key name="str"> 7, </key>\r
-<key name="straight"> 2, </key>\r
-<key name="structur"> 7,23,30, </key>\r
-<key name="study"> 0,27,31,32,35, </key>\r
-<key name="submenu"> 3, </key>\r
-<key name="sup"> 22,34, </key>\r
-<key name="supervision"> 0,4,1,24,6,7,8,9,10,13,14,15,16,17,19,20,21,2,22,23,25,26,27,28,30,31,33,34,35, </key>\r
-<key name="supplementary"> 14, </key>\r
-<key name="suspend"> 7,8,30,33,35, </key>\r
-<key name="switch"> 0,4,13,34, </key>\r
-<key name="switchport"> 34, </key>\r
-<key name="t"> 8,18,22,27,28,30, </key>\r
-<key name="tab"> 4, </key>\r
-<key name="tabl"> 6, </key>\r
-<key name="taken"> 0, </key>\r
-<key name="test"> 34, </key>\r
-<key name="text"> 17, </key>\r
-<key name="them"> 27, </key>\r
-<key name="third"> 4, </key>\r
-<key name="thre"> 4,22, </key>\r
-<key name="thread"> 6,13, </key>\r
-<key name="tim"> 7,13,22,27,34, </key>\r
-<key name="titl"> 3,5,6,7,8,12,15,36,22,25,26,29,34, </key>\r
-<key name="toolbar"> 4,10,14,16,19,28,30,31,33, </key>\r
-<key name="transf"> 18, </key>\r
-<key name="transfer"> 0,18,22,34, </key>\r
-<key name="transmit"> 18,22,34, </key>\r
-<key name="tre"> 4, </key>\r
-<key name="tru"> 13,22,34, </key>\r
-<key name="try"> 4,27, </key>\r
-<key name="two"> 4,11,13,2,22,34, </key>\r
-<key name="typ"> 0,3,4,7,13,17,22,32,33,34, </key>\r
-<key name="underly"> 22,34, </key>\r
-<key name="undo"> 4, </key>\r
-<key name="unmark"> 23, </key>\r
-<key name="up"> 4,1,24,5,6,8,9,11,14,36,17,20,2,23,27,32, </key>\r
-<key name="updat"> 16,30,31, </key>\r
-<key name="us"> 6,7,19,21,22,28,30,34,35, </key>\r
-<key name="usag"> 35, </key>\r
-<key name="usual"> 33, </key>\r
-<key name="validat"> 32, </key>\r
-<key name="valu"> 0,7,13,36,22,27,32,34,35, </key>\r
-<key name="variabl"> 34, </key>\r
-<key name="view"> 4,1,24,5,6,9,10,17,20,23,25,26,27,28,35, </key>\r
-<key name="violet"> 2, </key>\r
-<key name="visual"> 14,25,26, </key>\r
-<key name="visualiz"> 21, </key>\r
-<key name="wait"> 7,8,30, </key>\r
-<key name="want"> 16, </key>\r
-<key name="way"> 4,23,27, </key>\r
-<key name="well"> 6,21, </key>\r
-<key name="wheth"> 22, </key>\r
-<key name="whil"> 11,22,23,30, </key>\r
-<key name="whol"> 6,23,30, </key>\r
-<key name="why"> 34, </key>\r
-<key name="will"> 4,1,24,5,7,9,10,12,13,14,36,17,18,19,2,22,23,27,29,30,31,32,33,34,35, </key>\r
-<key name="window"> 4,1,24,6,9,10,14,36,16,17,20,23,25,26,28,31, </key>\r
-<key name="without"> 6,18, </key>\r
-<key name="work"> 4, </key>\r
-<key name="would"> 20, </key>\r
-<key name="x"> 34, </key>\r
-<key name="xml"> 16,19,20, </key>\r
-<key name="yet"> 8,27, </key>\r
-<key name="your"> 3,4,1,24,5,6,8,9,10,11,12,16,17,19,20,2,23,25,26,27,28,29,30,32,33, </key>\r
-\r
-</ftswdata> \r
+++ /dev/null
-var gIEA = new Array();\r
-function aGE(sName, sDef)\r
-{\r
- var len = gIEA.length;\r
- gIEA[len] = new gloEntry(sName, sDef);\r
-}\r
-\r
-function gloEntry(sName, sDef) \r
-{\r
- this.sName = sName;\r
- this.sDef = sDef;\r
- this.nNKOff = 0;\r
-}\r
-\r
-function window_OnLoad()\r
-{\r
- if (parent && parent != this) {\r
- if (parent.putData) \r
- {\r
- parent.putData(gIEA);\r
- }\r
- }\r
-}\r
-\r
-window.onload = window_OnLoad;
\ No newline at end of file
+++ /dev/null
-<html>\r
-<head>\r
-<META HTTP-EQUIV="content-type" CONTENT="text/html; charset=iso-8859-1">\r
-</head>\r
-<body>\r
-<script language="javascript" src="whgdata.js"></script>\r
-<script language="javascript">\r
-<!--\r
- aGE("Cell","Element of a mesh. Cells are determined by their connectivity. They can have 0,1,2 or 3 dimension.");\r
- aGE("Component","One integer or real value can correspond to each component of a field and to each entity of a mesh");\r
- aGE("Descendant connectivity","It is a description of the entities of the mesh with dimension N. This description is made by an ordered list of geometrical entities (nodes, edges, or faces) with dimension N-1.");\r
- aGE("Edge","An edge of a volumetric or surface mesh. It is composed of 2 or 3 nodes (2 vertex nodes and optionally one middle node).");\r
- aGE("Entity of a mesh","Geometrical component of the mesh: node, cell, face and edge. Faces and edges are only intermediate entities allowing to define the cells in descendant connectivity.");\r
- aGE("Equivalence","Equivalence represents a list of correspondance 2 by 2 of the entities of the same dimension.");\r
- aGE("Face","Face of a volumetrical cell (triangle, quadrangle).");\r
- aGE("Family","Entities of a mesh are described by a certain number of characteristics (boundary conditions, groups membership). Families represent classes equivalent to these characteristics (two entities of a mesh can belong to the same family if they have the same characteristics). Every family is determined by a set of attributes and a list of groups membership.");\r
- aGE("Field","Field consists of one or several scalar components. One definite type is associated to the given field and the values corresponding to different components are all of the same type.");\r
- aGE("Field profile","Fields can be defined only on one part of the mesh. Profile of the field or profile of the component of a field indicates which entities of the mesh contain values.");\r
- aGE("Group","Unordered set of entities of a mesh. One entity can belong to several groups.");\r
- aGE("Mesh","Mesh is described by its geometry: list of nodes and list of cells which constitute this mesh. Supplementary information is added with the help of families (initial, boundary conditions).");\r
- aGE("Nodal connectivity","It is a description of an entity of the mesh by an ordered list of nodes constituting this entity.");\r
- aGE("Node","Node can be an isolated node of a mesh, a vertex or middle node of an edge. A node is associated to a point.");\r
- aGE("Point","Geometrical entity determined by its coordinates in the space.");\r
- aGE("Reference connectivity","For each type of entity of a mesh, reference connectivity define the topology of an entity.");\r
- aGE("Result","List of fields referring to one mesh.");\r
- aGE("Study","Study represents a chain of sequences of calculations.");\r
-\r
-//-->\r
-</script>\r
-</body>\r
-</html>\r
+++ /dev/null
-<?xml version='1.0' encoding='ISO-8859-1' ?>\r
-<glossarydata>\r
- <entry name="Cell" value="Element of a mesh. Cells are determined by their connectivity. They can have 0,1,2 or 3 dimension." />\r
- <entry name="Component" value="One integer or real value can correspond to each component of a field and to each entity of a mesh" />\r
- <entry name="Descendant connectivity" value="It is a description of the entities of the mesh with dimension N. This description is made by an ordered list of geometrical entities (nodes, edges, or faces) with dimension N-1." />\r
- <entry name="Edge" value="An edge of a volumetric or surface mesh. It is composed of 2 or 3 nodes (2 vertex nodes and optionally one middle node)." />\r
- <entry name="Entity of a mesh" value="Geometrical component of the mesh: node, cell, face and edge. Faces and edges are only intermediate entities allowing to define the cells in descendant connectivity." />\r
- <entry name="Equivalence" value="Equivalence represents a list of correspondance 2 by 2 of the entities of the same dimension." />\r
- <entry name="Face" value="Face of a volumetrical cell (triangle, quadrangle)." />\r
- <entry name="Family" value="Entities of a mesh are described by a certain number of characteristics (boundary conditions, groups membership). Families represent classes equivalent to these characteristics (two entities of a mesh can belong to the same family if they have the same characteristics). Every family is determined by a set of attributes and a list of groups membership." />\r
- <entry name="Field" value="Field consists of one or several scalar components. One definite type is associated to the given field and the values corresponding to different components are all of the same type." />\r
- <entry name="Field profile" value="Fields can be defined only on one part of the mesh. Profile of the field or profile of the component of a field indicates which entities of the mesh contain values." />\r
- <entry name="Group" value="Unordered set of entities of a mesh. One entity can belong to several groups." />\r
- <entry name="Mesh" value="Mesh is described by its geometry: list of nodes and list of cells which constitute this mesh. Supplementary information is added with the help of families (initial, boundary conditions)." />\r
- <entry name="Nodal connectivity" value="It is a description of an entity of the mesh by an ordered list of nodes constituting this entity." />\r
- <entry name="Node" value="Node can be an isolated node of a mesh, a vertex or middle node of an edge. A node is associated to a point." />\r
- <entry name="Point" value="Geometrical entity determined by its coordinates in the space." />\r
- <entry name="Reference connectivity" value="For each type of entity of a mesh, reference connectivity define the topology of an entity." />\r
- <entry name="Result" value="List of fields referring to one mesh." />\r
- <entry name="Study" value="Study represents a chain of sequences of calculations." />\r
-\r
-</glossarydata>\r
+++ /dev/null
-<html>\r
-<head>\r
-<META HTTP-EQUIV="content-type" CONTENT="text/html; charset=iso-8859-1">\r
-</head>\r
-<body>\r
-<script language="javascript" src="whglo.js"></script>\r
-<script language="javascript">\r
-<!--\r
-iFM("Cell","Study","whgdata0.htm",18);\r
-\r
-//-->\r
-</script>\r
-</body>\r
-</html>
\ No newline at end of file
+++ /dev/null
-var gaFileMapping = new Array();\r
-function fileMapping(sBK, sEK, sFileName, nNum)\r
-{\r
- this.sBK = sBK;\r
- this.sEK = sEK;\r
- this.sFileName = sFileName;\r
- this.aKs = null;\r
- this.nNum = nNum;\r
- this.oUsedItems = null;\r
-}\r
-\r
-\r
-function iFM(sBK, sEK, sFileName, nNum)\r
-{\r
- var i = gaFileMapping.length;\r
- gaFileMapping[i] = new fileMapping(sBK, sEK, sFileName, nNum); \r
- if (i == 0) {\r
- gaFileMapping[i].nTotal = nNum;\r
- }\r
- else {\r
- gaFileMapping[i].nTotal = nNum + gaFileMapping[i - 1].nTotal;\r
- }\r
-}\r
-\r
-function window_OnLoad()\r
-{\r
- if (parent && parent != this && parent.projReady)\r
- {\r
- parent.projReady(gaFileMapping);\r
- } \r
-}\r
-\r
-window.onload = window_OnLoad;\r
+++ /dev/null
-<?xml version='1.0' encoding='ISO-8859-1' ?>\r
-<glossary>\r
-<chunkinfo url="whgdata0.xml" first="Cell" last="Study" num="18" />\r
-\r
-</glossary>
\ No newline at end of file
+++ /dev/null
-// const strings\r
-var gIEA = new Array();\r
-function aIE()\r
-{\r
- var len = gIEA.length;\r
- gIEA[len] = new indexEntry(aIE.arguments);\r
-}\r
-\r
-function topic(sName, sURL)\r
-{\r
- this.sName = sName;\r
- this.sURL = sURL;\r
-}\r
-\r
-function indexEntry(fn_arguments) \r
-{\r
- if (fn_arguments.length && fn_arguments.length >= 3) \r
- {\r
- this.nType = fn_arguments[0];\r
- this.nPKOff = 0;\r
- this.nNKOff = fn_arguments[1];\r
- this.sName = fn_arguments[2];\r
- this.aTopics = null;\r
- var nLen = fn_arguments.length;\r
- if (Math.floor(nLen / 2) * 2 == nLen)\r
- {\r
- this.sTarget = fn_arguments[3];\r
- if (nLen > 5)\r
- {\r
- this.aTopics = new Array();\r
- for (var i = 0; i < (nLen - 5)/2; i++)\r
- {\r
- this.aTopics[i] = new topic(fn_arguments[i * 2 + 4], fn_arguments[i * 2 + 5]);\r
- }\r
- }\r
-\r
- }\r
- else \r
- {\r
- if (nLen > 4) \r
- {\r
- this.aTopics = new Array();\r
- for (var i = 0; i < (nLen - 4)/2; i++)\r
- {\r
- this.aTopics[i] = new topic(fn_arguments[i * 2 + 3], fn_arguments[i * 2 + 4]);\r
- }\r
- }\r
- }\r
- }\r
-}\r
-\r
-function getIndexTopicMappingList(nItemIndex)\r
-{\r
- var sTopics = "";\r
- if (gIEA.length > nItemIndex)\r
- {\r
- if (gIEA[nItemIndex].aTopics) \r
- {\r
- var i = 0;\r
- var nLen = gIEA[nItemIndex].aTopics.length;\r
- for (i = 0; i < nLen; i ++) \r
- {\r
- sTopics += "," + gIEA[nItemIndex].aTopics[i];\r
- }\r
- }\r
- }\r
- return sTopics; \r
-}\r
-\r
-function window_OnLoad()\r
-{\r
- if (parent && parent != this) {\r
- if (parent.putData) \r
- {\r
- for (var i = 0; i < gIEA.length; i ++ )\r
- {\r
- if (gIEA[i].nNKOff != 0 && i + gIEA[i].nNKOff + 1 < gIEA.length)\r
- {\r
- \r
- gIEA[i + gIEA[i].nNKOff + 1].nPKOff = gIEA[i].nNKOff;\r
- }\r
- }\r
- parent.putData(gIEA);\r
- }\r
- }\r
-}\r
-\r
-window.onload = window_OnLoad;
\ No newline at end of file
+++ /dev/null
-<html>\r
-<head>\r
-<META HTTP-EQUIV="content-type" CONTENT="text/html; charset=iso-8859-1">\r
-</head>\r
-<body>\r
-<script language="javascript" src="whidx.js"></script>\r
-<script language="javascript">\r
-<!--\r
-\r
--->\r
-</script>\r
-</body>\r
-</html
\ No newline at end of file
+++ /dev/null
-var gaFileMapping = new Array();\r
-function fileMapping(sBK, sEK, sFileName, nNum)\r
-{\r
- this.sBK = sBK;\r
- this.sEK = sEK;\r
- this.sFileName = sFileName;\r
- this.aKs = null;\r
- this.nNum = nNum;\r
- this.oUsedItems = null;\r
-}\r
-\r
-\r
-function iFM(sBK, sEK, sFileName, nNum)\r
-{\r
- var i = gaFileMapping.length;\r
- gaFileMapping[i] = new fileMapping(sBK, sEK, sFileName, nNum); \r
- if (i == 0) {\r
- gaFileMapping[i].nTotal = nNum;\r
- }\r
- else {\r
- gaFileMapping[i].nTotal = nNum + gaFileMapping[i - 1].nTotal;\r
- }\r
-}\r
-\r
-function window_OnLoad()\r
-{\r
- if (parent && parent != this && parent.projReady)\r
- {\r
- parent.projReady(gaFileMapping);\r
- } \r
-}\r
-\r
-window.onload = window_OnLoad;\r
+++ /dev/null
-<?xml version='1.0' encoding='ISO-8859-1' ?>\r
-<index>\r
-\r
-</index>\r
+++ /dev/null
-var gTEA = new Array();\r
-function aTE()\r
-{\r
- gTEA[gTEA.length] = new tocEntry(aTE.arguments);\r
-}\r
-\r
-function tocEntry(fn_arguments) \r
-{\r
- if (fn_arguments.length < 3) \r
- {\r
- alert ("data format wrong!!!");\r
- return;\r
- }\r
- \r
- this.nType = fn_arguments[0];\r
- this.nContents = fn_arguments[1];\r
- this.sItemName = fn_arguments[2];\r
- \r
- if (this.nType == 1 || this.nType == 2 || this.nType == 16)\r
- {\r
- if (fn_arguments.length > 3)\r
- {\r
- this.sItemURL = fn_arguments[3];\r
- if (fn_arguments.length > 4)\r
- {\r
- this.sTarget = fn_arguments[4];\r
- if (fn_arguments.length > 5)\r
- this.sIconRef = fn_arguments[5];\r
- }\r
- }\r
- }\r
- if (this.nType == 4 || this.nType == 8)\r
- {\r
- if (fn_arguments.length > 3)\r
- {\r
- this.sRefURL = fn_arguments[3];\r
- if (fn_arguments.length > 4)\r
- {\r
- this.sItemURL = fn_arguments[4];\r
- if (fn_arguments.length > 5)\r
- {\r
- this.sTarget = fn_arguments[5];\r
- if (fn_arguments.length > 6)\r
- this.sIconRef = fn_arguments[6];\r
- }\r
- }\r
- }\r
- }\r
-}\r
-\r
-\r
-function window_OnLoad()\r
-{\r
- if (parent && parent != this && parent.putData) {\r
- parent.putData(gTEA);\r
- }\r
-}\r
-window.onload = window_OnLoad;
\ No newline at end of file
+++ /dev/null
-<html>\r
-<head>\r
-<META HTTP-EQUIV="content-type" CONTENT="text/html; charset=iso-8859-1">\r
-</head>\r
-<body>\r
-<script LANGUAGE="JavaScript" SRC="whtdata.js"></script>\r
-<script language="javascript">\r
-<!--\r
- aTE(1,40,"SUPERVISION module");\r
- aTE(2,0,"Introduction to SUPERVISION","files/introduction_to_supervisor.htm");\r
- aTE(2,0,"Usage of SUPERVISION module","files/usage_of_supervisor_module.htm");\r
- aTE(2,0,"Running SUPERVISION","files/running_supervisor.htm");\r
- aTE(1,28,"Editing graphs");\r
- aTE(2,0,"Creating a new graph","files/creating_a_new_graph.htm");\r
- aTE(2,0,"Importing graphs from file","files/importing_graphs_from_file.htm");\r
- aTE(2,0,"Exporting graphs","files/exporting_graphs.htm");\r
- aTE(2,0,"Copying graphs","files/copying_graphs.htm");\r
- aTE(2,0,"Inserting graphs","files/inserting_graphs.htm");\r
- aTE(2,0,"Referencing graphs in the study","files/opening_graphs_referenced_in_the_study.htm");\r
- aTE(2,0,"Changing graph description","files/adding_information_about_graphs.htm");\r
- aTE(2,0,"Reloading dataflow","files/reloading_dataflow.htm");\r
- aTE(1,13,"Nodes in the graph");\r
- aTE(2,0,"About nodes","files/about_nodes.htm");\r
- aTE(2,0,"Computation nodes","files/computation_nodes.htm");\r
- aTE(2,0,"Loop nodes","files/loop_nodes.htm");\r
- aTE(2,0,"Switch nodes","files/switch_nodes.htm");\r
- aTE(2,0,"GOTO nodes","files/goto_nodes.htm");\r
- aTE(2,0,"Adding nodes","files/adding_nodes.htm");\r
- aTE(2,0,"Directing dataflow between nodes","files/directing_dataflow_between_nodes.htm");\r
- aTE(2,0,"Locating nodes in the window","files/placing_nodes_in_the_window.htm");\r
- aTE(2,0,"Deleting nodes","files/deleting_nodes.htm");\r
- aTE(2,0,"Renaming nodes","files/renaming_nodes.htm");\r
- aTE(2,0,"Changing node description","files/changing_node_description.htm");\r
- aTE(2,0,"Editing node function","files/editing_node_function.htm");\r
- aTE(2,0,"Adding node ports","files/adding_node_ports.htm");\r
- aTE(1,4,"Linking nodes");\r
- aTE(2,0,"Linking node ports ","files/adding_links_from_an_output_port.htm");\r
- aTE(2,0,"Deleting links","files/deleting_links.htm");\r
- aTE(2,0,"Points in links","files/points_in_links.htm");\r
- aTE(2,0,"Modifying links","files/modifying_links.htm");\r
- aTE(2,0,"Changing view mode","files/changing_view_mode.htm");\r
- aTE(1,7,"Initializing and executing graphs");\r
- aTE(2,0,"Setting input parameters","files/setting_input_parameters.htm");\r
- aTE(2,0,"Referencing output values in the study","files/referencing_output_values_in_the_study.htm");\r
- aTE(2,0,"Running dataflow","files/running_dataflow.htm");\r
- aTE(2,0,"Controlling execution of the graph","files/controlling_execution_of_the_graphs.htm");\r
- aTE(2,0,"Step-by-Step execution","files/step-by-step_execution.htm");\r
- aTE(2,0,"Examining calculated data","files/viewing_output_vaues.htm");\r
- aTE(2,0,"Filtering and logging output messages","files/filtering_and_storing_output_messages.htm");\r
-\r
-//-->\r
-</script>\r
-</body>\r
-</html>\r
+++ /dev/null
-<?xml version='1.0' encoding='ISO-8859-1' ?>\r
-<tocdata>\r
-<book name="SUPERVISION module" >\r
- <item name="Introduction to SUPERVISION" url="files/introduction_to_supervisor.htm" />\r
- <item name="Usage of SUPERVISION module" url="files/usage_of_supervisor_module.htm" />\r
- <item name="Running SUPERVISION" url="files/running_supervisor.htm" />\r
- <book name="Editing graphs" >\r
- <item name="Creating a new graph" url="files/creating_a_new_graph.htm" />\r
- <item name="Importing graphs from file" url="files/importing_graphs_from_file.htm" />\r
- <item name="Exporting graphs" url="files/exporting_graphs.htm" />\r
- <item name="Copying graphs" url="files/copying_graphs.htm" />\r
- <item name="Inserting graphs" url="files/inserting_graphs.htm" />\r
- <item name="Referencing graphs in the study" url="files/opening_graphs_referenced_in_the_study.htm" />\r
- <item name="Changing graph description" url="files/adding_information_about_graphs.htm" />\r
- <item name="Reloading dataflow" url="files/reloading_dataflow.htm" />\r
- <book name="Nodes in the graph" >\r
- <item name="About nodes" url="files/about_nodes.htm" />\r
- <item name="Computation nodes" url="files/computation_nodes.htm" />\r
- <item name="Loop nodes" url="files/loop_nodes.htm" />\r
- <item name="Switch nodes" url="files/switch_nodes.htm" />\r
- <item name="GOTO nodes" url="files/goto_nodes.htm" />\r
- <item name="Adding nodes" url="files/adding_nodes.htm" />\r
- <item name="Directing dataflow between nodes" url="files/directing_dataflow_between_nodes.htm" />\r
- <item name="Locating nodes in the window" url="files/placing_nodes_in_the_window.htm" />\r
- <item name="Deleting nodes" url="files/deleting_nodes.htm" />\r
- <item name="Renaming nodes" url="files/renaming_nodes.htm" />\r
- <item name="Changing node description" url="files/changing_node_description.htm" />\r
- <item name="Editing node function" url="files/editing_node_function.htm" />\r
- <item name="Adding node ports" url="files/adding_node_ports.htm" />\r
- </book>\r
- <book name="Linking nodes" >\r
- <item name="Linking node ports " url="files/adding_links_from_an_output_port.htm" />\r
- <item name="Deleting links" url="files/deleting_links.htm" />\r
- <item name="Points in links" url="files/points_in_links.htm" />\r
- <item name="Modifying links" url="files/modifying_links.htm" />\r
- </book>\r
- <item name="Changing view mode" url="files/changing_view_mode.htm" />\r
- </book>\r
- <book name="Initializing and executing graphs" >\r
- <item name="Setting input parameters" url="files/setting_input_parameters.htm" />\r
- <item name="Referencing output values in the study" url="files/referencing_output_values_in_the_study.htm" />\r
- <item name="Running dataflow" url="files/running_dataflow.htm" />\r
- <item name="Controlling execution of the graph" url="files/controlling_execution_of_the_graphs.htm" />\r
- <item name="Step-by-Step execution" url="files/step-by-step_execution.htm" />\r
- <item name="Examining calculated data" url="files/viewing_output_vaues.htm" />\r
- <item name="Filtering and logging output messages" url="files/filtering_and_storing_output_messages.htm" />\r
- </book>\r
-</book>\r
-\r
-</tocdata>\r
+++ /dev/null
-<html>\r
-<head>\r
-<META HTTP-EQUIV="content-type" CONTENT="text/html; charset=iso-8859-1">\r
-</head>\r
-<body>\r
-<script LANGUAGE="JavaScript" SRC="whtoc.js"></script>\r
-<script language="javascript">\r
-<!--\r
- setRoot("whtdata0.htm");\r
-\r
-//-->\r
-</script>\r
-</body>\r
-</html>
\ No newline at end of file
+++ /dev/null
-// const strings\r
-var gaProj = new Array();\r
-var gsRoot = "";\r
-\r
-function setRoot(sRoot)\r
-{\r
- gsRoot = sRoot\r
-}\r
-\r
-function aPE(sProjPath, sRootPath)\r
-{\r
- gaProj[gaProj.length] = new tocProjEntry(sProjPath, sRootPath);\r
-}\r
-\r
-function tocProjEntry(sProjPath, sRootPath) \r
-{\r
- this.sPPath = sProjPath;\r
- this.sRPath = sRootPath;\r
-}\r
-\r
-\r
-function window_OnLoad()\r
-{\r
- if (parent && parent != this && parent.projReady) {\r
- parent.projReady(gsRoot, gaProj);\r
- }\r
-}\r
-window.onload = window_OnLoad;
\ No newline at end of file
+++ /dev/null
-<?xml version='1.0' encoding='ISO-8859-1' ?>\r
-<toc root="whtdata0.xml">\r
-\r
-</toc>\r
+++ /dev/null
-<html>\r
-<head>\r
-<title>Search Result</title>\r
-<meta http-equiv="content-type" content="text/html; charset=iso-8859-1">\r
-<meta name="generator" content="RoboHelp by eHelp Corporation www.ehelp.com">\r
-<meta name "description" content="WebHelp 2002">\r
-<base target="bsscright">\r
-<script language="javascript" src="whver.js"></script>\r
-<script language="javascript1.2" src="whmozemu.js"></script>\r
-<script language="javascript1.2" src="whutils.js"></script>\r
-<script language="javascript1.2" src="whmsg.js"></script>\r
-<script language="javascript1.2" src="whproxy.js"></script>\r
-<script language="javascript1.2" src="whlang.js"></script>\r
-<script language="javascript1.2" src="whfhost.js"></script>\r
-<script language="javascript1.2">\r
-<!--\r
-if(window.gbWhFHost)\r
-{\r
- setBackgroundcolor("White"); \r
- \r
- setFont("Normal", "Tahoma","8pt","Black","Normal","Normal","none");\r
- setFont("Error", "Tahoma","8pt","Black","Normal","Normal","none");\r
- setFont("Hover", "Tahoma","8pt","Navy","Normal","Normal","underline");\r
- setActiveBgColor("Silver");\r
- \r
- \r
- FtsWriteClassStyle();\r
-}\r
-else\r
- document.location.reload();\r
-//-->\r
-</script>\r
-</head>\r
-<body topmargin="2" leftmargin="2" marginwidth="0" marginheight="0" bgproperties="fixed" scroll="auto" bgcolor="white">\r
-</body>\r
-</html>\r
-\r
+++ /dev/null
-<html>\r
-<head>\r
-<title>Search Frame</TITLE>\r
-<meta http-equiv="content-type" content="text/html; charset=iso-8859-1">\r
-<meta name="generator" content="RoboHelp by eHelp Corporation www.ehelp.com">\r
-<meta name "description" content="WebHelp 2002">\r
-</head>\r
-<script language="javascript" src="whver.js"></script>\r
-<script language="javascript1.2" src="whproxy.js"></script>\r
-<script language="javascript1.2" src="whmsg.js"></script>\r
-<script LANGUAGE="javascript1.2">\r
-<!--\r
-var gbIndexLayerInit = false;\r
-var strWrite="";\r
-if (window.gbWhVer&&window.gbWhProxy&&window.gbWhMsg)\r
-{\r
- if (gbMac)\r
- strWrite="<FRAMESET ROWS='45,100%' framespacing=0 frameborder=0>";\r
- else\r
- strWrite="<FRAMESET ROWS='60,100%' framespacing=0 frameborder=0>";\r
- strWrite +="<FRAME SRC='whfform.htm' title='search form frame' name='ftsform' noresize='yes' scrolling='no'>";\r
- strWrite +="<FRAME SRC='whfbody.htm' title='search result frame' name='ftsbody' scrolling='yes'>";\r
- strWrite +="</FRAMESET>";\r
- document.write(strWrite);\r
-}\r
-else\r
- document.location.reload();\r
-//-->\r
-</script>\r
-</html>\r
+++ /dev/null
-<html>\r
-<head>\r
-<title>Search Form</title>\r
-<meta http-equiv="content-type" content="text/html; charset=iso-8859-1">\r
-<meta name="generator" content="RoboHelp by eHelp Corporation www.ehelp.com">\r
-<meta name "description" content="WebHelp 2002">\r
-</head>\r
-<style>\r
-<!--\r
-body {margin:0;}\r
--->\r
-</style>\r
-<body bgcolor="#c0c0c0">\r
-<script language="javascript" src="whver.js"></script>\r
-<script language="javascript1.2" src="whmsg.js"></script>\r
-<script language="javascript1.2" src="whproxy.js"></script>\r
-<script language="javascript1.2" src="whutils.js"></script>\r
-<script language="javascript1.2" src="whform.js"></script>\r
-<script language="javascript1.2">\r
-<!--\r
-var gstrInput = "";\r
-function ftsLookup(bCR)\r
-{\r
- if (bCR)\r
- {\r
- var strInput = document.FtsInputForm.keywordField.value.toUpperCase();\r
- if (strInput != "") {\r
- var oMsg = new whMessage(WH_MSG_SEARCHFTSKEY, this, 1, strInput);\r
- if (!SendMessage(oMsg))\r
- {\r
- gstrInput = strInput;\r
- }\r
- else\r
- gstrInput = "";\r
- }\r
-\r
- if (gbMac) {\r
- document.FtsInputForm.keywordField.focus();\r
- }\r
- }\r
- return;\r
-}\r
-\r
-function beforeInit()\r
-{\r
- var oParam = new Object();\r
- oParam.sValue = "";\r
- var oMsg = new whMessage(WH_MSG_GETSEARCHS, this, 1, oParam);\r
- if (SendMessage(oMsg))\r
- {\r
- if (oParam.sValue != "" && oParam.sValue != "- Search -")\r
- {\r
- document.FtsInputForm.keywordField.value = oParam.sValue;\r
- gfunLookUp(true);\r
- }\r
- }\r
- init(); \r
-}\r
-\r
-function window_unload()\r
-{\r
- UnRegisterListener2(this, WH_MSG_SHOWTOC);\r
- UnRegisterListener2(this, WH_MSG_SHOWIDX);\r
- UnRegisterListener2(this, WH_MSG_SHOWFTS);\r
- UnRegisterListener2(this, WH_MSG_SHOWGLO);\r
- UnRegisterListener2(this, WH_MSG_SEARCHTHIS);\r
- UnRegisterListener2(this, WH_MSG_BACKUPSEARCH);\r
-}\r
-\r
-function onSendMessage(oMsg)\r
-{\r
- if (oMsg.nMessageId == WH_MSG_SHOWFTS)\r
- {\r
- document.FtsInputForm.keywordField.focus();\r
- }\r
- else if (oMsg.nMessageId == WH_MSG_SHOWIDX ||\r
- oMsg.nMessageId == WH_MSG_SHOWTOC || \r
- oMsg.nMessageId == WH_MSG_SHOWGLO)\r
- {\r
- document.FtsInputForm.keywordField.blur();\r
- }\r
- else if (oMsg.nMessageId == WH_MSG_SEARCHTHIS)\r
- {\r
- if (oMsg.oParam != "- Search -")\r
- {\r
- document.FtsInputForm.keywordField.value = oMsg.oParam;\r
- gfunLookUp(true);\r
- }\r
- }\r
- else if (oMsg.nMessageId == WH_MSG_BACKUPSEARCH)\r
- {\r
- if (gstrInput)\r
- {\r
- oMsg.oParam = gstrInput;\r
- gstrInput = "";\r
- return false;\r
- }\r
- }\r
- return true;\r
-}\r
-\r
-if (window.gbWhForm)\r
-{\r
- RegisterListener2(this, WH_MSG_SHOWTOC);\r
- RegisterListener2(this, WH_MSG_SHOWIDX);\r
- RegisterListener2(this, WH_MSG_SHOWFTS);\r
- RegisterListener2(this, WH_MSG_SHOWGLO);\r
- RegisterListener2(this, WH_MSG_SEARCHTHIS);\r
- RegisterListener2(this, WH_MSG_BACKUPSEARCH);\r
- gfunLookUp = ftsLookup;\r
- gfunInit = null;\r
- gstrFormName = "FtsInputForm"\r
- gsTitle = "Type in the word(s) to search for:";\r
- gsTitle = "Type in the word(s) to search for:";\r
- setGoImage1("wht_go.gif");\r
- setBackgroundcolor("White");\r
- \r
- setBtnType("image");\r
- \r
- \r
- \r
- setGoText("Go");\r
- setFont("Title", "Tahoma","8pt","Navy","Normal","Normal","none");\r
- \r
- \r
- document.write(getFormHTML());\r
- writeFormStyle();\r
- window.onload = beforeInit;\r
- window.onunload=window_unload;\r
-}\r
-else\r
- document.location.reload();\r
-//-->\r
-</script>\r
-</body>\r
-</html>
\ No newline at end of file
+++ /dev/null
-var gsSK2=null;\r
-var gsSK=null;\r
-var gsFtsBreakChars="\t\r\n\"\\ .,!@#$%^&*()~'`:;<>?/{}[]|+-=\x85\x92\x93\x94\x95\x96\x97\x99\xA9\xAE\xB7";\r
-var gnCLF=0;\r
-var gsHelpCannotSearch="Cannot search for that phrase.";\r
-var gsNoTopics="No Topics Found.";\r
-var gsLoadingDivID="LoadingDiv";\r
-var gsLoadingMsg="Loading data, please wait...";\r
-var gsSearchMsg="Searching...";\r
-var gsResultDivID="ResultDiv";\r
-var gaaFCD=new Array();\r
-var gaaFTCD=new Array();\r
-var goCF=null;\r
-var goCTF=null;\r
-var gaTI=null;\r
-var gnCurrentOp=0;\r
-var gbNot=false;\r
-var gbReady=false;\r
-var gnLoadFts=1;\r
-var gnCacheLimits=5;\r
-var gaCCD=new Array();\r
-var gbXML=false;\r
-var gaData=new Array();\r
-var gsBgColor="#ffffff";\r
-var gsBgImage="";\r
-var gsMargin="0pt";\r
-var gsIndent="0pt";\r
-var gsCheckKey=null;\r
-var gnIndexNum=0;\r
-var gaFtsContentsCon=null;\r
-var gaTopicCheckInfo=null;\r
-var gnTopicCheck=0;\r
-var goFont=null;\r
-var goErrFont=null;\r
-var goHoverFont=null;\r
-var gsABgColor="#cccccc";\r
-var gbWhFHost=false;\r
-\r
-function setBackground(sBgImage)\r
-{\r
- gsBgImage=sBgImage;\r
-}\r
-\r
-function setBackgroundcolor(sBgColor)\r
-{\r
- gsBgColor=sBgColor;\r
-}\r
-\r
-function setFont(sType,sFontName,sFontSize,sFontColor,sFontStyle,sFontWeight,sFontDecoration)\r
-{\r
- var vFont=new whFont(sFontName,sFontSize,sFontColor,sFontStyle,sFontWeight,sFontDecoration);\r
- if(sType=="Normal")\r
- goFont=vFont;\r
- else if(sType=="Error")\r
- goErrFont=vFont;\r
- else if(sType=="Hover")\r
- goHoverFont=vFont;\r
-}\r
-\r
-function setActiveBgColor(sBgColor)\r
-{\r
- gsABgColor=sBgColor;\r
-}\r
-\r
-function setMargin(sMargin)\r
-{\r
- gsMargin=sMargin;\r
-}\r
-\r
-function setIndent(sIndent)\r
-{\r
- gsIndent=sIndent;\r
-}\r
-\r
-function updateCache(oCF)\r
-{\r
- var len=gaCCD.length;\r
- if(len<gnCacheLimits*gnCLF)\r
- gaCCD[len]=oCF;\r
- else{\r
- gaCCD[0].aTopics=null;\r
- gaCCD[0].aFtsKeys=null;\r
- removeItemFromArray(gaCCD,0);\r
- gaCCD[len-1]=oCF;\r
- }\r
-}\r
-\r
-function addFtsInfo(sPPath,sDPath,sFtsFile)\r
-{\r
- gaData[gaData.length]=new ftsInfo(sPPath,sDPath,sFtsFile);\r
-}\r
-\r
-function putDataXML(xmlDoc,sDocPath)\r
-{\r
- if(gnLoadFts==1)\r
- {\r
- var node=xmlDoc.lastChild;\r
- if(node)\r
- {\r
- var oChild=node.firstChild;\r
- var aFCD=new Array();\r
- var aFTCD=new Array();\r
- while(oChild)\r
- {\r
- if(oChild.nodeName=="chunkinfo")\r
- {\r
- var sURL=oChild.getAttribute("url");\r
- var sFirst=oChild.getAttribute("first");\r
- var sLast=oChild.getAttribute("last");\r
- if(sURL&&sFirst&&sLast)\r
- {\r
- item=new Object();\r
- item.sStartKey=sFirst;\r
- item.sEndKey=sLast;\r
- item.sFileName=sURL;\r
- aFCD[aFCD.length]=item;\r
- }\r
- }\r
- else if(oChild.nodeName=="tchunkinfo")\r
- {\r
- var sURL=oChild.getAttribute("url");\r
- var nB=parseInt(oChild.getAttribute("first"));\r
- var nE=parseInt(oChild.getAttribute("last"));\r
- if(sURL&&sFirst&&sLast)\r
- {\r
- item=new Object();\r
- item.nBegin=nB;\r
- item.nEnd=nE;\r
- item.sFileName=sURL;\r
- aFTCD[aFTCD.length]=item;\r
- }\r
-\r
- }\r
- oChild=oChild.nextSibling;\r
- }\r
- ftsReady(aFCD,aFTCD);\r
- }\r
- }\r
- else if(gnLoadFts==3)\r
- {\r
- var node=xmlDoc.lastChild;\r
- if(node)\r
- {\r
- var oChild=node.firstChild;\r
- var aTopics=new Array();\r
- while(oChild)\r
- {\r
- if(oChild.nodeName=="topic")\r
- {\r
- var name=oChild.getAttribute("name");\r
- var sURL=oChild.getAttribute("url");\r
- if(name&&name.length>0&&sURL)\r
- {\r
- var topic=new Object();\r
- topic.sTopicTitle=name;\r
- topic.sTopicURL=sURL;\r
- aTopics[aTopics.length]=topic;\r
- }\r
- }\r
- oChild=oChild.nextSibling;\r
- }\r
- putFtsTData(aTopics);\r
- }\r
- }\r
- else if(gnLoadFts==2)\r
- {\r
- var node=xmlDoc.lastChild;\r
- if(node)\r
- {\r
- var oChild=node.firstChild;\r
- var aFtsContents=new Array();\r
- while(oChild)\r
- {\r
- if(oChild.nodeName=="key")\r
- {\r
- var name=oChild.getAttribute("name");\r
- if(name&&name.length>0)\r
- {\r
- var item=new Object();\r
- item.sItemName=name;\r
- aFtsContents[aFtsContents.length]=item;\r
- var oChildChild=oChild.firstChild;\r
- while(oChildChild)\r
- {\r
- if(oChildChild.nodeName=="#text")\r
- {\r
- var sIDs=oChildChild.nodeValue;\r
- if(sIDs)\r
- {\r
- var nBPos=0;\r
- do\r
- {\r
- var nPos=sIDs.indexOf(",",nBPos);\r
- var sID=null;\r
- if(nPos!=-1)\r
- sID=sIDs.substring(nBPos,nPos);\r
- else\r
- sID=sIDs.substring(nBPos);\r
-\r
- if(sID)\r
- {\r
- var id=parseInt(sID);\r
- if(!isNaN(id))\r
- {\r
- if(!item.aTopics)\r
- item.aTopics=new Array();\r
- item.aTopics[item.aTopics.length]=id;\r
- }\r
- }\r
- nBPos=nPos+1;\r
- }while(nBPos!=0&&nBPos<sIDs.length);\r
- }\r
- }\r
- oChildChild=oChildChild.nextSibling;\r
- }\r
- }\r
- }\r
- oChild=oChild.nextSibling;\r
- }\r
- putFtsWData(aFtsContents);\r
- }\r
- }\r
-}\r
-\r
-function ftsInfo(sPPath,sDPath,sFtsFile)\r
-{\r
- this.sPPath=sPPath;\r
- this.sDPath=sDPath;\r
- this.sFtsFile=sFtsFile;\r
-}\r
-\r
-function window_OnLoad()\r
-{\r
- if(gsBgImage&&gsBgImage.length>0)\r
- {\r
- document.body.background=gsBgImage;\r
- }\r
- if(gsBgColor&&gsBgColor.length>0)\r
- {\r
- document.body.bgColor=gsBgColor;\r
- }\r
- writeResultDiv();\r
- loadFts();\r
- var oMsg=new whMessage(WH_MSG_SHOWFTS,this,1,null)\r
- SendMessage(oMsg);\r
-}\r
-\r
-function writeResultDiv()\r
-{\r
- var sHTML="<div id=\""+gsResultDivID+"\" style=\"POSITION:absolute;\"></div>";\r
- document.body.insertAdjacentHTML("beforeEnd",sHTML);\r
-}\r
-\r
-function loadFts()\r
-{\r
- if(!gbReady)\r
- {\r
- var oResMsg=new whMessage(WH_MSG_GETPROJINFO,this,1,null);\r
- if(SendMessage(oResMsg)&&oResMsg.oParam)\r
- {\r
- gbReady=true;\r
- var oProj=oResMsg.oParam;\r
- var aProj=oProj.aProj;\r
- gbXML=oProj.bXML;\r
- if(aProj.length>0)\r
- {\r
- var sLangId=aProj[0].sLangId;\r
- for(var i=0;i<aProj.length;i++)\r
- {\r
- if(aProj[i].sFts!=null&&aProj[i].sFts!=""&&aProj[i].sLangId==sLangId)\r
- {\r
- addFtsInfo(aProj[i].sPPath,aProj[i].sDPath,aProj[i].sFts);\r
- }\r
- }\r
- }\r
- loadFD();\r
-\r
- } \r
- }\r
-}\r
-\r
-function loadFD()\r
-{\r
- if(gnCLF<gaData.length)\r
- {\r
- gnLoadFts=1;\r
- loadData2(gaData[gnCLF].sPPath+gaData[gnCLF].sDPath+gaData[gnCLF].sFtsFile);\r
- }\r
- else \r
- {\r
- var oMsg = new whMessage(WH_MSG_BACKUPSEARCH, this, 1, null);\r
- if (SendMessage(oMsg))\r
- {\r
- if (oMsg.oParam)\r
- {\r
- gsSK=oMsg.oParam.toLowerCase();\r
- findFTSKey();\r
- }\r
- }\r
- RegisterListener2(this, WH_MSG_SEARCHFTSKEY);\r
- }\r
-}\r
-\r
-function loadData2(sFile)\r
-{\r
- if(gbXML)\r
- loadDataXML(sFile);\r
- else\r
- loadData(sFile);\r
-}\r
-\r
-function findFTSKey()\r
-{\r
- gaTI=new Array();\r
- gnCurrentOp=0;\r
- gbNot=false;\r
- displayMsg(gsSearchMsg);\r
- if(gsSK!="")\r
- findOneKey();\r
-}\r
-\r
-function findOneKey()\r
-{\r
- if(gsSK && gsSK!="")\r
- {\r
- var sInput=gsSK;\r
- var sCW="";\r
- var nS=-1;\r
- var nSep=-1;\r
- for(var nChar=0;nChar<gsFtsBreakChars.length;nChar++){\r
- var nFound=sInput.indexOf(gsFtsBreakChars.charAt(nChar));\r
- if((nFound!=-1)&&((nS==-1)||(nFound<nS))){\r
- nS=nFound;\r
- nSep=nChar;\r
- }\r
- }\r
- if(nS==-1){\r
- sCW=sInput;\r
- sInput="";\r
- }else{\r
- sCW=sInput.substring(0,nS);\r
- sInput=sInput.substring(nS+1);\r
- }\r
-\r
- gsSK=sInput;\r
- \r
- if((sCW=="or")||((nSep>=0)&&(gsFtsBreakChars.charAt(nSep)=="|"))){\r
- gnCurrentOp=0;\r
- gbNot=false;\r
- }else if((sCW=="and")||((nSep>=0)&&(gsFtsBreakChars.charAt(nSep)=="&"))){\r
- gnCurrentOp=1;\r
- gbNot=false;\r
- }else if((sCW=="not")||\r
- ((nSep>=0)&&(gsFtsBreakChars.charAt(nSep)=="~"))){\r
- gbNot=!gbNot;\r
- }else if(sCW!=""&&!IsStopWord(sCW,gaFtsStop)){\r
- var sCurrentStem=GetStem(sCW);\r
- gsCW=sCurrentStem;\r
- ftsFindKeyword();\r
- return;\r
- }\r
- findOneKey();\r
- return;\r
- }\r
- else{\r
- displayTopics();\r
- checkAgain();\r
- }\r
-}\r
-\r
-function checkAgain()\r
-{\r
- gsSK=gsSK2;\r
- gsSK2=null;\r
- if(gsSK!=null)\r
- setTimeout("findFTSKey();",1);\r
-}\r
-\r
-function displayTopics()\r
-{\r
- var sHTML="";\r
- var sLine="";\r
- for(var i=0;i<gaTI.length;i++){\r
- sLine+="<dt><nobr><a href='"+_textToHtml(gaTI[i].sTopicURL)+"'>"+_textToHtml(gaTI[i].sTopicTitle)+"</a></nobr></dt>";\r
- if(i>>4<<4==i)\r
- {\r
- sHTML+=sLine;\r
- sLine="";\r
- }\r
- }\r
- if(sLine.length>0)\r
- sHTML+=sLine;\r
-\r
- if(sHTML.length==0)\r
- sHTML="<P>"+gsNoTopics+"</P>"\r
- else\r
- sHTML="<dl>"+sHTML+"</dl>";\r
-\r
- var resultDiv=getElement(gsResultDivID);\r
- if(resultDiv)\r
- resultDiv.innerHTML=sHTML;\r
-}\r
-\r
-function displayMsg(sErrorMsg)\r
-{\r
- var sHTML="<P>"+sErrorMsg+"</P>";\r
-\r
- var resultDiv=getElement(gsResultDivID);\r
- if(resultDiv)\r
- resultDiv.innerHTML=sHTML;\r
-}\r
-\r
-function ftsFindKeyword()\r
-{\r
- var sKey=gsCW;\r
- var bNeedLoad=false;\r
- var aFtsContentsCon=null;\r
- var s=0;\r
- if(sKey==null) return;\r
- if(!gsCheckKey||sKey!=gsCheckKey||gnIndexNum==0)\r
- {\r
- aFtsContentsCon=new Array();\r
- gnCheck=0;\r
- gsCheckKey=sKey;\r
- gnTopicCheck=0;\r
- gaTopicCheckInfo=null;\r
- }\r
- else{\r
- s=gnIndexNum;\r
- aFtsContentsCon=gaFtsContentsCon;\r
- }\r
- for(var i=gnCheck;i<gaaFCD.length;i++)\r
- {\r
- var oCF=getChunkedFts(i,sKey);\r
- if(oCF)\r
- {\r
- if(!oCF.aFtsKeys&&oCF.sFileName!=null)\r
- {\r
- bNeedLoad=true;\r
- oCF.nProjId=i;\r
- goCF=oCF;\r
- gnIndexNum=s;\r
- gnCheck=i;\r
- gaFtsContentsCon=aFtsContentsCon;\r
- gnLoadFts=2;\r
- beginLoading();\r
- loadData2(gaData[i].sPPath+gaData[i].sDPath+oCF.sFileName);\r
- break;\r
- }\r
- else{\r
- aFtsContentsCon[s++]=oCF;\r
- }\r
- }\r
- }\r
- if(!bNeedLoad)\r
- {\r
- var aTI=gaTopicCheckInfo;\r
- for(var m=gnTopicCheck;m<aFtsContentsCon.length;m++)\r
- {\r
- var aTIPart=getTopics(aFtsContentsCon[m],sKey);\r
- if(aTIPart==null)\r
- {\r
- gnCheck=gaaFCD.length;\r
- gnTopicCheck=m;\r
- gaTopicCheckInfo=aTI;\r
- gaFtsContentsCon=aFtsContentsCon;\r
- return;\r
- }\r
- if(m==0)\r
- aTI=aTIPart;\r
- else\r
- aTI=mergeTopics(aTI,aTIPart);\r
- }\r
- if(mergewithPreviousResult(aTI))\r
- findOneKey();\r
- else\r
- checkAgain();\r
- }\r
-}\r
-\r
-function mergewithPreviousResult(aTI)\r
-{\r
- if(aTI!=null&&aTI.length!=0)\r
- {\r
- var nNumTopics=aTI.length;\r
- if(gnCurrentOp==0){\r
- if(gbNot){\r
- displayMsg(gsHelpCannotSearch);\r
- return false;\r
- }else{\r
- var aLS,aSS;\r
- if(gaTI.length>=aTI.length)\r
- {\r
- aLS=gaTI;\r
- aSS=aTI;\r
- }\r
- else\r
- {\r
- aLS=aTI;\r
- aSS=gaTI;\r
- }\r
- var s=0;\r
- for(var i=0;i<aSS.length;i++)\r
- {\r
- var bAlreadyThere=false;\r
- for(var j=s;j<aLS.length;j++)\r
- {\r
- if(aSS[i].equalTo(aLS[j]))\r
- {\r
- bAlreadyThere=true;\r
- s=j;\r
- break;\r
- }\r
- }\r
- if(!bAlreadyThere)\r
- {\r
- insertTopic(aLS,aSS[i]);\r
- }\r
- }\r
- gaTI=aLS;\r
- }\r
- }else if(gnCurrentOp==1){\r
- if(gbNot){\r
- var s=0;\r
- for(var i=0;i<aTI.length;i++)\r
- {\r
- for(var j=s;j<gaTI.length;j++)\r
- {\r
- if(aTI[i].equalTo(gaTI[j]))\r
- {\r
- removeItemFromArray(gaTI,j);\r
- s=j;\r
- break;\r
- }\r
- }\r
- }\r
- }else{\r
- var s=0;\r
- for(var i=0;i<gaTI.length;i++)\r
- {\r
- var bFound=false;\r
- for(var j=s;j<aTI.length;j++)\r
- {\r
- if(gaTI[i].equalTo(aTI[j]))\r
- {\r
- bFound=true;\r
- s=j;\r
- }\r
- }\r
- if(!bFound)\r
- {\r
- removeItemFromArray(gaTI,i);\r
- i--;\r
- }\r
- } \r
- }\r
- }\r
- }else{\r
- if((gnCurrentOp==1)&&(!gbNot)){\r
- gaTI.length=0;\r
- }else if((gnCurrentOp==0)&&(gbNot)){\r
- displayMsg(gsHelpCannotSearch);\r
- return false;\r
- }\r
- }\r
- return true;\r
-}\r
-\r
-function insertTopic(aTI,oTI)\r
-{\r
- var nB=0;\r
- var nE=aTI.length-1;\r
- if(nE>=0)\r
- {\r
- var nM;\r
- var bFound=false;\r
- do{\r
- nM=(nB+nE)>>1;\r
- if(compare(aTI[nM].sTopicTitle,oTI.sTopicTitle)>0)\r
- nE=nM-1;\r
- else if(compare(aTI[nM].sTopicTitle,oTI.sTopicTitle)<0)\r
- nB=nM+1;\r
- else\r
- {\r
- bFound=true;\r
- break;\r
- }\r
- }while(nB<=nE);\r
- if(bFound)\r
- insertItemIntoArray(aTI,nM,oTI);\r
- else\r
- {\r
- if(compare(aTI[nM].sTopicTitle,oTI.sTopicTitle)<0)\r
- insertItemIntoArray(aTI,nM+1,oTI);\r
- else\r
- insertItemIntoArray(aTI,nM,oTI);\r
- }\r
- }\r
- else\r
- aTI[0]=oTI;\r
-}\r
-\r
-function mergeTopics(aTI1,aTI2)\r
-{\r
- var i1=0;\r
- var i2=0;\r
- var len1=aTI1.length;\r
- var len2=aTI2.length;\r
- var aTopicNew=new Array();\r
- var i=0;\r
- while(i1<len1||i2<len2)\r
- {\r
- if(i1<len1&&i2<len2)\r
- {\r
- if(compare(aTI1[i1].sTopicTitle,aTI2[i2].sTopicTitle)<0)\r
- aTopicNew[i++]=aTI1[i1++];\r
- else\r
- aTopicNew[i++]=aTI2[i2++];\r
- }\r
- else if(i1<len1)\r
- aTopicNew[i++]=aTI1[i1++];\r
- else if(i2<len2)\r
- aTopicNew[i++]=aTI2[i2++];\r
- }\r
- return aTopicNew;\r
-}\r
-\r
-function getTopics(oCF,sKey)\r
-{\r
- var aTIPart=new Array();\r
- if(oCF&&oCF.aFtsKeys)\r
- {\r
- var keys=oCF.aFtsKeys;\r
- var nB=0;\r
- var nE=keys.length-1;\r
- var nM=-1;\r
- var bFound=false;\r
- do{\r
- nM=(nB+nE)>>1;\r
- if(compare(keys[nM].sItemName,sKey)>0)\r
- nE=nM-1;\r
- else if(compare(keys[nM].sItemName,sKey)<0)\r
- nB=nM+1;\r
- else{\r
- bFound=true;\r
- break;\r
- }\r
- }while(nB<=nE);\r
- if(bFound)\r
- {\r
- if(keys[nM].aTopics)\r
- {\r
- for(var i=0;i<keys[nM].aTopics.length;i++)\r
- {\r
- var oTC=getTopicChunk(gaaFTCD[oCF.nProjId],keys[nM].aTopics[i]);\r
- if(oTC.aTopics)\r
- {\r
- aTIPart[aTIPart.length]=\r
- new topicInfo(oTC.aTopics[keys[nM].aTopics[i]-oTC.nBegin].sTopicTitle,\r
- gaData[oCF.nProjId].sPPath+oTC.aTopics[keys[nM].aTopics[i]-oTC.nBegin].sTopicURL);\r
- }\r
- else{\r
- goCTF=oTC;\r
- gnLoadFts=3;\r
- beginLoading();\r
- loadData2(gaData[oCF.nProjId].sPPath+gaData[oCF.nProjId].sDPath+oTC.sFileName);\r
- return null;\r
- }\r
- }\r
- }\r
- }\r
- }\r
- return aTIPart;\r
-}\r
-\r
-function getTopicChunk(aFTCD,nTopicId)\r
-{\r
- if(aFTCD&&aFTCD.length)\r
- {\r
- var nB=0;\r
- var nE=aFTCD.length-1;\r
- var nM=-1;\r
- var bFound=false;\r
- do{\r
- nM=(nB+nE)>>1;\r
- if(aFTCD[nM].nBegin>nTopicId)\r
- nE=nM-1;\r
- else if(aFTCD[nM].nEnd<nTopicId)\r
- nB=nM+1;\r
- else{\r
- bFound=true;\r
- break;\r
- }\r
- }while(nB<=nE);\r
- if(bFound)\r
- return aFTCD[nM];\r
- }\r
- return null;\r
-}\r
-\r
-function endLoading()\r
-{\r
- var oDiv=getElement(gsLoadingDivID);\r
- if(oDiv)\r
- oDiv.style.visibility="hidden";\r
-}\r
-\r
-function beginLoading()\r
-{\r
- var oDiv=getElement(gsLoadingDivID);\r
- if(!oDiv)\r
- {\r
- document.body.insertAdjacentHTML("afterBegin",writeLoadingDiv());\r
- oDiv=getElement(gsLoadingDivID);\r
- }\r
- \r
- if(oDiv)\r
- {\r
- oDiv.style.top=document.body.scrollTop;\r
- oDiv.style.visibility="visible";\r
- }\r
-}\r
-\r
-function writeLoadingDiv(nIIdx)\r
-{\r
- return "<div id=\""+gsLoadingDivID+"\" style=\"position:absolute;top:0;left:0;z-index:600;visibility:hidden;padding-left:4px;background-color:ivory;border-width:1;border-style:solid;border-color:black;width:150px;\">"+gsLoadingMsg+"</div>";\r
-}\r
-\r
-function topicInfo(sTopicTitle,sTopicURL)\r
-{\r
- this.sTopicTitle=sTopicTitle;\r
- this.sTopicURL=sTopicURL;\r
- this.equalTo=function(oTI)\r
- {\r
- return ((this.sTopicTitle==oTI.sTopicTitle)&&\r
- (this.sTopicURL==oTI.sTopicURL));\r
- }\r
-}\r
-\r
-function getChunkedFts(nIndex,sKey)\r
-{\r
- var oCF=null;\r
- if(nIndex<gaaFCD.length)\r
- {\r
- var len=gaaFCD[nIndex].length;\r
- if(len>0)\r
- {\r
- var nB=0;\r
- var nE=len-1;\r
- var bFound=false;\r
- do{\r
- var nM=(nB+nE)>>1;\r
- if(compare(sKey,gaaFCD[nIndex][nM].sEndKey)>0)\r
- {\r
- nB=nM+1;\r
- }\r
- else if(compare(sKey,gaaFCD[nIndex][nM].sStartKey)<0)\r
- {\r
- nE=nM-1;\r
- }\r
- else{\r
- bFound=true;\r
- break;\r
- }\r
- }while(nE>=nB);\r
- if(bFound)\r
- oCF=gaaFCD[nIndex][nM];\r
- }\r
- }\r
- return oCF;\r
-}\r
-\r
-function ftsReady(aFCD,aFTCD)\r
-{\r
- endLoading();\r
- gaaFTCD[gnCLF]=aFTCD;\r
- gaaFCD[gnCLF++]=aFCD;\r
- setTimeout("loadFD();",1);\r
-}\r
-\r
-function putFtsTData(aTopics)\r
-{\r
- endLoading();\r
- var oCTF=goCTF;\r
- if(oCTF)\r
- {\r
- oCTF.aTopics=aTopics;\r
- setTimeout("ftsFindKeyword();",1);\r
- }\r
-}\r
-\r
-function putFtsWData(aFtsContents)\r
-{\r
- endLoading();\r
- var oCF=goCF;\r
- if(oCF)\r
- {\r
- updateCache(oCF);\r
- oCF.aFtsKeys=aFtsContents;\r
- setTimeout("ftsFindKeyword();",1);\r
- }\r
-}\r
-\r
-function IsStopWord(sCW,aFtsStopArray)\r
-{\r
- var nStopArrayLen=aFtsStopArray.length;\r
- var nB=0;\r
- var nE=nStopArrayLen-1;\r
- var nM=0;\r
- var bFound=false;\r
- var sStopWord="";\r
- while(nB<=nE){\r
- nM=(nB+nE);\r
- nM>>=1;\r
- sStopWord=aFtsStopArray[nM];\r
- if(compare(sCW,sStopWord)>0){\r
- nB=(nB==nM)?nM+1:nM;\r
- }else{\r
- if(compare(sCW,sStopWord)<0){\r
- nE=(nE==nM)?nM-1:nM;\r
- }else{\r
- bFound=true;\r
- break;\r
- }\r
- }\r
- }\r
- return bFound;\r
-}\r
-\r
-function GetStem(szWord)\r
-{\r
- if(gaFtsStem==null||gaFtsStem.length==0)return szWord;\r
- var aStems=gaFtsStem;\r
-\r
- var nStemPos=0;\r
- var csStem="";\r
- for(var iStem=0;iStem<aStems.length;iStem++){\r
-\r
- if(aStems[iStem].length>=szWord.length-1) break;\r
- nStemPos=szWord.lastIndexOf(aStems[iStem]);\r
- if(nStemPos>0){\r
- var cssub=szWord.substring(nStemPos);\r
- if(cssub==aStems[iStem]){\r
- csStem=szWord;\r
- if(szWord.charAt(nStemPos-2)==szWord.charAt(nStemPos-1)){\r
- csStem=csStem.substring(0,nStemPos-1);\r
- }else{\r
- csStem=csStem.substring(0,nStemPos);\r
- }\r
- return csStem;\r
- }\r
- }\r
- }\r
- return szWord;\r
-}\r
-\r
-function FtsWriteClassStyle()\r
-{\r
- var sStyle="<STYLE TYPE='text/css'>\n";\r
- if (gsBgImage)\r
- sStyle+="body {border-top:"+gsBgColor+" 1px solid;}\n";\r
- else\r
- sStyle+="body {border-top:black 1px solid;}\n";\r
- sStyle+="P {"+getFontStyle(goErrFont)+"margin-left:"+gsIndent+";margin-top:"+gsMargin+";}\n";\r
- sStyle+="dl {"+getFontStyle(goFont)+"margin-left:"+gsIndent+";margin-top:"+gsMargin+";}\n";\r
- sStyle+="A:link {"+getFontStyle(goFont)+"}\n";\r
- sStyle+="A:visited {"+getFontStyle(goFont)+"}\n";\r
- sStyle+="A:active {background-color:"+gsABgColor+";}\n";\r
- sStyle+="A:hover {"+getFontStyle(goHoverFont)+"}\n";\r
- sStyle+="</STYLE>";\r
- document.write(sStyle);\r
-}\r
-\r
-function window_Unload()\r
-{\r
- UnRegisterListener2(this,WH_MSG_PROJECTREADY);\r
- UnRegisterListener2(this, WH_MSG_SEARCHFTSKEY);\r
-}\r
-\r
-\r
-function onSendMessage(oMsg)\r
-{\r
- var nMsgId=oMsg.nMessageId;\r
- if(nMsgId==WH_MSG_SEARCHFTSKEY)\r
- {\r
- if(oMsg.oParam)\r
- {\r
- if(gsSK==null||gsSK=="")\r
- {\r
- gsSK=oMsg.oParam.toLowerCase();\r
- findFTSKey();\r
- }\r
- else\r
- gsSK2=oMsg.oParam.toLowerCase();\r
- }\r
- }\r
- else if(nMsgId==WH_MSG_PROJECTREADY)\r
- {\r
- loadFts();\r
- }\r
- return true;\r
-}\r
-\r
-if (window.gbWhUtil&&window.gbWhLang&&window.gbWhProxy&&window.gbWhVer&&window.gbWhMsg)\r
-{\r
- goFont=new whFont("Verdana","8pt","#000000","normal","normal","none");\r
- goErrFont=new whFont("Verdana","8pt","#000000","normal","bold","none");\r
- goHoverFont=new whFont("Verdana","8pt","#007f00","normal","normal","underline");\r
- window.onload=window_OnLoad;\r
- window.onbeforeunload=window_BUnload;\r
- window.onunload=window_Unload;\r
- RegisterListener2(this,WH_MSG_PROJECTREADY);\r
- gbWhFHost=true;\r
-}\r
-else\r
- document.location.reload();
\ No newline at end of file
+++ /dev/null
-var gfunLookUp;\r
-var gbInputEnable;\r
-var gfunInit;\r
-var gstrFormName= "";\r
-var gbWithButton = false;\r
-var gsTitle="";\r
-var gsOverImage = "";\r
-var gsOutImage = "";\r
-var gsClickImage = "";\r
-var gsText = "";\r
-var gsBgColor = "#c0c0c0";\r
-var gsBgImage = "";\r
-var gbInImage = 0;\r
-var gbInputEnable = 0;\r
-\r
-var goTitleFont=null;\r
-var goInputFont=null;\r
-var goNormalFont=null;\r
-var goHoverFont=null;\r
-var gnType=-1;\r
-var gbWhForm=false;\r
-\r
-function setBackground(sBgImage)\r
-{\r
- if (sBgImage != null && sBgImage.length > 0)\r
- gsBgImage = sBgImage;\r
-\r
- if (gsBgImage && gsBgImage .length > 0)\r
- {\r
- document.body.background = gsBgImage ;\r
- }\r
-}\r
-\r
-function setBackgroundcolor(sBgColor)\r
-{\r
- if (sBgColor != null && sBgColor.length > 0)\r
- gsBgColor = sBgColor;\r
-\r
- if (gsBgColor&& gsBgColor.length > 0)\r
- {\r
- document.body.bgColor = gsBgColor;\r
- }\r
-}\r
-\r
-function setBtnType(sType)\r
-{\r
- if (sType == "image")\r
- {\r
- gnType = 0;\r
- }\r
- else if (sType == "text")\r
- {\r
- gnType = 1;\r
- }\r
-}\r
-\r
-function setGoImage1(sImage1)\r
-{\r
- gsOutImage = sImage1;\r
- if (gsOutImage && gsOutImage.length > 0)\r
- gbWithButton = true;\r
-}\r
-\r
-function setGoImage2(sImage2)\r
-{\r
- gsOverImage = sImage2;\r
- if (gsOverImage && gsOverImage.length > 0)\r
- gbWithButton = true;\r
-}\r
-\r
-function setGoImage3(sImage3)\r
-{\r
- gsClickImage = sImage3;\r
- if (gsClickImage && gsClickImage.length > 0)\r
- gbWithButton = true;\r
-}\r
-\r
-function setGoText(sText)\r
-{\r
- gsText = sText;\r
- if (gsText.length > 0)\r
- gbWithButton = true;\r
-}\r
-\r
-function setFont(sType, sFontName, sFontSize, sFontColor, sFontStyle, sFontWeight, sFontDecoration)\r
-{\r
- var vFont = new whFont(sFontName, sFontSize, sFontColor, sFontStyle, sFontWeight, sFontDecoration);\r
- if (sType == "Title")\r
- {\r
- goTitleFont = vFont;\r
- var vFont1 = new whFont(sFontName, sFontSize, "black", sFontStyle, sFontWeight, sFontDecoration);\r
- goInputFont=vFont1; \r
- }\r
- else if (sType == "Normal")\r
- goNormalFont = vFont;\r
- else if (sType == "Hover")\r
- goHoverFont = vFont;\r
-}\r
-\r
-function writeFormStyle()\r
-{\r
- var sStyle = "<style type='text/css'>";\r
- sStyle += "p.title {" + getFontStyle(goTitleFont) + "margin-top:0;margin-bottom:0}\n";\r
- sStyle += ".inputfield {" + getFontStyle(goInputFont) +"width:100%; }\n";\r
- sStyle+="A:link {"+getFontStyle(goNormalFont)+"}\n";\r
- sStyle+="A:visited {"+getFontStyle(goNormalFont)+"}\n";\r
- sStyle +="A:hover {"+getFontStyle(goHoverFont)+"}\n";\r
- sStyle+=".clsFormBackground{\n";\r
- if (gsBgImage)\r
- sStyle+="border-top:"+gsBgColor+" 1px solid;}\n";\r
- else\r
- sStyle+="border-top:black 1px solid;}\n";\r
-\r
- sStyle += "</style>";\r
- document.write(sStyle);\r
-}\r
-\r
-function lookupKeyDown()\r
-{\r
- if (gbInputEnable)\r
- {\r
- if (gbIE4)\r
- {\r
- if (event.keyCode == 13) //Enter key\r
- gfunLookUp(true);\r
- else\r
- gfunLookUp(false);\r
- } \r
- else\r
- gfunLookUp(false);\r
- }\r
-}\r
-\r
-function init()\r
-{\r
- if (gfunInit)\r
- gfunInit();\r
- if (!window.Array) return;\r
- document.onkeyup = lookupKeyDown;\r
-}\r
-\r
-function inputSubmit()\r
-{\r
- if ((gbInputEnable && !gbIE4)|| gbInImage)\r
- gfunLookUp(true);\r
-}\r
-\r
-function inputEnable(bEnable)\r
-{\r
- gbInputEnable = bEnable;\r
-}\r
-\r
-function inImage(bImage)\r
-{\r
- gbInImage = bImage;\r
-}\r
-\r
-function getFormHTML()\r
-{\r
- var sForm = "";\r
- sForm += "<table class=\"clsFormBackground\" width=\"100%\" cellspacing=\"0\" cellpadding=\"5\" border=\"0\">";\r
- sForm += "<form name=\"" + gstrFormName + "\" method=\"POST\" action=\"javascript:inputSubmit()\" style=\"width:100%\">";\r
- sForm += "<tr>";\r
- sForm += "<td>";\r
- sForm += "<p class=title><nobr>" + gsTitle + "</nobr><br><table width=\"100%\"><tr valign=\"middle\"><td width=\"100%\"><input class=\"inputfield\" type=\"text\" name=\"keywordField\" onfocus=\"inputEnable(1);\" onblur=\"inputEnable(0);\"></td>";\r
- if (gbWithButton && gnType >= 0)\r
- {\r
- sForm += "<td><a title=\"submit button\" href=\"javascript:void(0);\" onclick=\"" + gstrFormName + ".submit(); return false;\" onfocus=\"inImage(1);\" onblur=\"inImage(0);\" onmouseup=\"onMouseUp();\" onmousedown=\"onMouseDown();\" onmouseover=\"onMouseOver();\" onmouseout=\"onMouseOut();\">"\r
- if (gnType == 0)\r
- {\r
- if (!gsText)\r
- gsText="Go";\r
- sForm += "<img alt=\""+gsText+"\" id=\"go\" border=\"0\" src=\"" + gsOutImage + "\">";\r
- }\r
- else\r
- sForm += gsText ;\r
- sForm += "</a></td>";\r
- }\r
- sForm += "</tr></table></p></td></tr></form></table>";\r
- return sForm;\r
-}\r
-\r
-function onMouseOver()\r
-{\r
- if (getElement("go") && gsOverImage)\r
- getElement("go").src = gsOverImage;\r
-}\r
-\r
-function onMouseDown()\r
-{\r
- if (getElement("go") && gsClickImage)\r
- getElement("go").src = gsClickImage;\r
-}\r
-\r
-function onMouseUp()\r
-{\r
- if (getElement("go") && gsOutImage)\r
- getElement("go").src = gsOutImage;\r
-}\r
-\r
-function onMouseOut()\r
-{\r
- if (getElement("go") && gsOutImage)\r
- getElement("go").src = gsOutImage;\r
-}\r
-\r
-if (window.gbWhUtil&&window.gbWhVer&&window.gbWhProxy&&window.gbWhMsg)\r
-{\r
- goTitleFont=new whFont("Arial", "9pt", "#000000", "normal", "normal", "none");\r
- goNormalFont=new whFont("Arial", "9pt", "#000000", "normal", "normal", "none");\r
- goHoverFont=new whFont("Arial", "9pt", "#000000", "normal", "normal", "underline");\r
- gbWhForm=true;\r
-}\r
-else\r
- document.location.reload();
\ No newline at end of file
+++ /dev/null
-// this value should be identical to the value used in whproxy.js\r
-window.whname = "wh_stub";\r
-\r
-// this file will be used by Topic and NavBar and NavPane and other components\r
-// and this file is used in child frame html.\r
-// and the whstub.js will be used in the start page.\r
-// see reference in whstub.js.\r
-// Internal Area\r
-var gbInited = false;\r
-var gWndStubPage = null;\r
-function getStubPage()\r
-{\r
- if (!gbInited)\r
- {\r
- gWndStubPage = getStubPage_inter(window);\r
- gbInited = true;\r
- }\r
- return gWndStubPage;\r
-}\r
-\r
-function getStubPage_inter(wCurrent) {\r
- if (null == wCurrent.parent || wCurrent.parent == wCurrent)\r
- return null;\r
-\r
- if (wCurrent.parent.whname && "wh_stub" == wCurrent.parent.whname) \r
- return wCurrent.parent;\r
- else\r
- if (wCurrent.parent.frames.length != 0 && wCurrent.parent != wCurrent)\r
- return getStubPage_inter(wCurrent.parent);\r
- else \r
- return null;\r
-}\r
-\r
-// Public interface begin here................\r
-function RegisterListener(framename, nMessageId)\r
-{\r
- var wStartPage = getStubPage();\r
- if (wStartPage && wStartPage != this) {\r
- return wStartPage.RegisterListener(framename, nMessageId);\r
- }\r
- else \r
- return false;\r
-}\r
-\r
-function RegisterListener2(oframe, nMessageId)\r
-{\r
- var wStartPage = getStubPage();\r
- if (wStartPage && wStartPage != this) {\r
- return wStartPage.RegisterListener2(oframe, nMessageId);\r
- }\r
- else \r
- return false;\r
-}\r
-\r
-function UnRegisterListener2(oframe, nMessageId)\r
-{\r
- var wStartPage = getStubPage();\r
- if (wStartPage && wStartPage != this && wStartPage.UnRegisterListener2) {\r
- return wStartPage.UnRegisterListener2(oframe, nMessageId);\r
- }\r
- else \r
- return false;\r
-}\r
-\r
-function SendMessage(oMessage)\r
-{\r
- var nMsgId = oMessage.nMessageId;\r
- if (nMsgId == WH_MSG_ISINFRAMESET && oMessage.wSender != this)\r
- return true;\r
- var wStartPage = getStubPage();\r
- if (wStartPage && wStartPage != this && wStartPage.SendMessage) \r
- {\r
- return wStartPage.SendMessage(oMessage);\r
- }\r
- else \r
- return false;\r
-}\r
-var gbWhProxy=true;
\ No newline at end of file
+++ /dev/null
-<html>\r
-<head>\r
-<title>Glossary Term</title>\r
-<meta http-equiv="content-type" content="text/html; charset=iso-8859-1">\r
-<meta name="generator" content="RoboHelp by eHelp Corporation www.ehelp.com">\r
-<meta name "description" content="WebHelp 2002">\r
-<script language="javascript" src="whver.js"></script>\r
-<script language="javascript1.2" src="whmozemu.js"></script>\r
-<script language="javascript1.2" src="whutils.js"></script>\r
-<script language="javascript1.2" src="whmsg.js"></script>\r
-<script language="javascript1.2" src="whproxy.js"></script>\r
-<script language="javascript1.2" src="whlang.js"></script>\r
-<script language="javascript1.2" src="whhost.js"></script>\r
-<script language="javascript1.2" src="whghost.js"></script>\r
-<script language="javascript1.2">\r
-<!--\r
-if(window.gbWhGHost)\r
-{\r
- setBackgroundcolor("White"); \r
- \r
- setFont("Normal", "Tahoma","8pt","Black","Normal","Normal","none");\r
- setFont("Hover", "Tahoma","8pt","Navy","Normal","Normal","underline");\r
- setActiveBgColor("Silver");\r
- \r
- \r
- GloWriteClassStyle();\r
-}\r
-else\r
- document.location.reload();\r
-//-->\r
-</script>\r
-</head>\r
-<body topmargin="2" leftmargin="2" marginwidth="0" marginheight="0" bgproperties="fixed" bgcolor="white">\r
-</body>\r
-</html>\r
+++ /dev/null
-<html>\r
-<head>\r
-<title>Search Words List</title>\r
-<meta http-equiv="content-type" content="text/html; charset=iso-8859-1">\r
-<meta name="generator" content="RoboHelp by eHelp Corporation www.ehelp.com">\r
-<meta name "description" content="WebHelp 2002">\r
-<base target="bsscright">\r
-<style>\r
-<!--\r
-body {margin-left:1pt; margin-top:1pt; margin-right:1pt;font-family:Arial; font-size:9pt;}\r
-\r
-A:link {font-family:Arial; font-size:9pt; color:#000000; font-style:normal; text-decoration:none; }\r
-A:visited {font-family:Arial; font-size:9pt; color:#000000; font-style:normal; text-decoration:none; }\r
-A:active {background-color:#cccccc;}\r
-A:hover {font-family:Arial; font-size:9pt; color:#007f00; font-style:normal; text-decoration:underline; }\r
-\r
-.tabs {background-color:#c0c0c0;}\r
-.ftsheader {margin-left:10pt; margin-top:0pt;}\r
-.ftsbody {margin-left:10pt; margin-top:0pt;}\r
-.inactive {color:#666666;}\r
-.ftsheader {background-color:White; } \r
-\r
-body {background-color:White; } \r
-p {color:Black; } p {font-family:Tahoma; } p {font-size:8pt; } p {font-style:Normal; } p {text-decoration:none; } \r
-A:link {color:Black; } A:link {font-family:Tahoma; } A:link {font-size:8pt; } A:link {font-style:Normal; } A:link {text-decoration:none; } \r
-A:visited {color:Black; } A:visited {font-family:Tahoma; } A:visited {font-size:8pt; } A:visited {font-style:Normal; } A:visited {text-decoration:none; } \r
-A:active {background-color:Silver; } \r
-A:hover {color:Navy; } A:hover {font-family:Tahoma; } A:hover {font-size:8pt; } A:hover {font-style:Normal; } A:hover {text-decoration:underline; } \r
-\r
--->\r
-</style>\r
-</head>\r
-<body marginheight="0" marginwidth="0">\r
-<p class="ftsbody">\r
-\r
-\r
-<nobr><a name="bm_A"></a><a name="subkey_AB"></a>able <a href="../files/changing_node_description.htm"><b>1</b></a> <a href="../files/adding_information_about_graphs.htm"><b>2</b></a> <a href="../files/referencing_output_values_in_the_study.htm"><b>3</b></a> <a href="../files/opening_graphs_referenced_in_the_study.htm"><b>4</b></a> <a href="../files/importing_graphs_from_file.htm"><b>5</b></a> </nobr><br><nobr>aborted <a href="../files/computation_nodes.htm"><b>1</b></a> <a href="../files/running_dataflow.htm"><b>2</b></a> </nobr><br><a href="../files/changing_view_mode.htm"><b>above</b></a> <br><a name="bms_AC"></a><a name="subkey_AC"></a><a href="../files/adding_nodes.htm"><b>access</b></a> <br><a href="../files/loop_nodes.htm"><b>accessible</b></a> <br><nobr>according <a href="../files/changing_view_mode.htm"><b>1</b></a> <a href="../files/running_supervisor.htm"><b>2</b></a> <a href="../files/running_dataflow.htm"><b>3</b></a> </nobr><br><nobr>achieve <a href="../files/points_in_links.htm"><b>1</b></a> <a href="../files/placing_nodes_in_the_window.htm"><b>2</b></a> </nobr><br><a href="../files/loop_nodes.htm"><b>achieved</b></a> <br><nobr>action <a href="../files/deleting_nodes.htm"><b>1</b></a> <a href="../files/renaming_nodes.htm"><b>2</b></a> <a href="../files/inserting_graphs.htm"><b>3</b></a> </nobr><br><nobr>actions <a href="../files/running_supervisor.htm"><b>1</b></a> <a href="../files/usage_of_supervisor_module.htm"><b>2</b></a> </nobr><br><nobr>activity <a href="../files/introduction_to_supervisor.htm"><b>1</b></a> <a href="../files/usage_of_supervisor_module.htm"><b>2</b></a> </nobr><br><a href="../files/loop_nodes.htm"><b>actual</b></a> <br><nobr><a name="bms_AD"></a><a name="subkey_AD"></a>add <a href="../files/creating_a_new_graph.htm"><b>1</b></a> <a href="../files/adding_nodes.htm"><b>2</b></a> <a href="../files/adding_node_ports.htm"><b>3</b></a> <a href="../files/adding_links_from_an_output_port.htm"><b>4</b></a> <a href="../files/modifying_links.htm"><b>5</b></a> <a href="../files/loop_nodes.htm"><b>6</b></a> <a href="../files/importing_graphs_from_file.htm"><b>7</b></a> <a href="../files/usage_of_supervisor_module.htm"><b>8</b></a> </nobr><br><nobr>adding <a href="../files/creating_a_new_graph.htm"><b>1</b></a> <a href="../files/adding_nodes.htm"><b>2</b></a> <a href="../files/adding_node_ports.htm"><b>3</b></a> <a href="../files/loop_nodes.htm"><b>4</b></a> </nobr><br><a href="../files/adding_node_ports.htm"><b>addition</b></a> <br><nobr>additional <a href="../files/changing_node_description.htm"><b>1</b></a> <a href="../files/adding_information_about_graphs.htm"><b>2</b></a> <a href="../files/opening_graphs_referenced_in_the_study.htm"><b>3</b></a> <a href="../files/step-by-step_execution.htm"><b>4</b></a> </nobr><br><a href="../files/loop_nodes.htm"><b>adds</b></a> <br><a name="bms_AG"></a><a name="subkey_AG"></a><a href="../files/step-by-step_execution.htm"><b>again</b></a> <br><nobr><a name="bms_AL"></a><a name="subkey_AL"></a>algorithm <a href="../files/computation_nodes.htm"><b>1</b></a> <a href="../files/about_nodes.htm"><b>2</b></a> </nobr><br><nobr>allow <a href="../files/directing_dataflow_between_nodes.htm"><b>1</b></a> <a href="../files/usage_of_supervisor_module.htm"><b>2</b></a> </nobr><br><nobr>allowing <a href="../files/editing_imported_graphs.htm"><b>1</b></a> <a href="../files/creating_a_new_graph.htm"><b>2</b></a> <a href="../files/usage_of_supervisor_module.htm"><b>3</b></a> <a href="../files/step-by-step_execution.htm"><b>4</b></a> </nobr><br><nobr>allows <a href="../files/adding_nodes.htm"><b>1</b></a> <a href="../files/referencing_output_values_in_the_study.htm"><b>2</b></a> <a href="../files/points_in_links.htm"><b>3</b></a> <a href="../files/placing_nodes_in_the_window.htm"><b>4</b></a> <a href="../files/modifying_links.htm"><b>5</b></a> <a href="../files/introduction_to_supervisor.htm"><b>6</b></a> <a href="../files/exporting_graphs.htm"><b>7</b></a> </nobr><br><nobr>already <a href="../files/editing_node_function.htm"><b>1</b></a> <a href="../files/deleting_links.htm"><b>2</b></a> <a href="../files/copying_graphs.htm"><b>3</b></a> <a href="../files/modifying_links.htm"><b>4</b></a> </nobr><br><nobr>always <a href="../files/loop_nodes.htm"><b>1</b></a> <a href="../files/switch_nodes.htm"><b>2</b></a> </nobr><br><a name="bms_AN"></a><a name="subkey_AN"></a><a href="../files/modifying_links.htm"><b>angle</b></a> <br><nobr>another <a href="../files/copying_graphs.htm"><b>1</b></a> <a href="../files/inserting_graphs.htm"><b>2</b></a> <a href="../files/goto_nodes.htm"><b>3</b></a> <a href="../files/usage_of_supervisor_module.htm"><b>4</b></a> </nobr><br><nobr>any <a href="../files/points_in_links.htm"><b>1</b></a> <a href="../files/placing_nodes_in_the_window.htm"><b>2</b></a> <a href="../files/modifying_links.htm"><b>3</b></a> <a href="../files/setting_input_parameters.htm"><b>4</b></a> </nobr><br><nobr><a name="bms_AP"></a><a name="subkey_AP"></a>appear <a href="../files/editing_imported_graphs.htm"><b>1</b></a> <a href="../files/changing_node_description.htm"><b>2</b></a> <a href="../files/adding_nodes.htm"><b>3</b></a> <a href="../files/adding_information_about_graphs.htm"><b>4</b></a> <a href="../files/running_supervisor.htm"><b>5</b></a> <a href="../files/opening_graphs_referenced_in_the_study.htm"><b>6</b></a> <a href="../files/filtering_and_storing_output_messages.htm"><b>7</b></a> <a href="../files/viewing_output_vaues.htm"><b>8</b></a> <a href="../files/setting_input_parameters.htm"><b>9</b></a> </nobr><br><a href="../files/running_supervisor.htm"><b>application</b></a> <br><a href="../files/changing_view_mode.htm"><b>applied</b></a> <br><nobr>applies <a href="../files/editing_node_function.htm"><b>1</b></a> <a href="../files/adding_node_ports.htm"><b>2</b></a> </nobr><br><a name="bms_AR"></a><a name="subkey_AR"></a><a href="../files/loop_nodes.htm"><b>argument</b></a> <br><nobr>arguments <a href="../files/directing_dataflow_between_nodes.htm"><b>1</b></a> <a href="../files/loop_nodes.htm"><b>2</b></a> <a href="../files/switch_nodes.htm"><b>3</b></a> </nobr><br><nobr><a name="bms_AS"></a><a name="subkey_AS"></a>aside <a href="../files/adding_nodes.htm"><b>1</b></a> <a href="../files/adding_links_from_an_output_port.htm"><b>2</b></a> <a href="../files/modifying_links.htm"><b>3</b></a> </nobr><br><nobr>associated <a href="../files/changing_view_mode.htm"><b>1</b></a> <a href="../files/usage_of_supervisor_module.htm"><b>2</b></a> <a href="../files/switch_nodes.htm"><b>3</b></a> </nobr><br><a name="bms_AT"></a><a name="subkey_AT"></a><a href="../files/computation_nodes.htm"><b>attributes</b></a> <br><nobr><a name="bms_AU"></a><a name="subkey_AU"></a>author <a href="../files/changing_node_description.htm"><b>1</b></a> <a href="../files/adding_information_about_graphs.htm"><b>2</b></a> <a href="../files/opening_graphs_referenced_in_the_study.htm"><b>3</b></a> <a href="../files/usage_of_supervisor_module.htm"><b>4</b></a> </nobr><br><nobr>automatically <a href="../files/directing_dataflow_between_nodes.htm"><b>1</b></a> <a href="../files/creating_a_new_graph.htm"><b>2</b></a> <a href="../files/running_dataflow.htm"><b>3</b></a> <a href="../files/reloading_dataflow.htm"><b>4</b></a> <a href="../files/modifying_links.htm"><b>5</b></a> <a href="../files/loop_nodes.htm"><b>6</b></a> <a href="../files/switch_nodes.htm"><b>7</b></a> </nobr><br><nobr><a name="bms_AV"></a><a name="subkey_AV"></a>available <a href="../files/changing_node_description.htm"><b>1</b></a> <a href="../files/adding_information_about_graphs.htm"><b>2</b></a> <a href="../files/running_supervisor.htm"><b>3</b></a> <a href="../files/opening_graphs_referenced_in_the_study.htm"><b>4</b></a> <a href="../files/loop_nodes.htm"><b>5</b></a> </nobr><br>\r
-<br><br>\r
-<a name="bm_B"></a><a name="subkey_BA"></a><a href="../files/modifying_links.htm"><b>back</b></a> <br><nobr>background <a href="../files/copying_graphs.htm"><b>1</b></a> <a href="../files/changing_view_mode.htm"><b>2</b></a> <a href="../files/adding_nodes.htm"><b>3</b></a> <a href="../files/modifying_links.htm"><b>4</b></a> <a href="../files/inserting_graphs.htm"><b>5</b></a> <a href="../files/filtering_and_storing_output_messages.htm"><b>6</b></a> </nobr><br><a href="../files/step-by-step_execution.htm"><b>based</b></a> <br><nobr><a name="bms_BE"></a><a name="subkey_BE"></a>before <a href="../files/running_dataflow.htm"><b>1</b></a> <a href="../files/loop_nodes.htm"><b>2</b></a> <a href="../files/filtering_and_storing_output_messages.htm"><b>3</b></a> </nobr><br><a href="../files/switch_nodes.htm"><b>begin</b></a> <br><a href="../files/loop_nodes.htm"><b>beginning</b></a> <br><a href="../files/deleting_links.htm"><b>begun</b></a> <br><nobr>better <a href="../files/points_in_links.htm"><b>1</b></a> <a href="../files/placing_nodes_in_the_window.htm"><b>2</b></a> <a href="../files/modifying_links.htm"><b>3</b></a> </nobr><br><a name="bms_BL"></a><a name="subkey_BL"></a><a href="../files/adding_links_from_an_output_port.htm"><b>black</b></a> <br><a name="bms_BO"></a><a name="subkey_BO"></a><a href="../files/loop_nodes.htm"><b>body</b></a> <br><nobr>bold <a href="../files/referencing_output_values_in_the_study.htm"><b>1</b></a> <a href="../files/setting_input_parameters.htm"><b>2</b></a> </nobr><br><nobr>boolean <a href="../files/directing_dataflow_between_nodes.htm"><b>1</b></a> <a href="../files/loop_nodes.htm"><b>2</b></a> <a href="../files/switch_nodes.htm"><b>3</b></a> </nobr><br><a href="../files/running_supervisor.htm"><b>bottom</b></a> <br><nobr>box <a href="../files/editing_imported_graphs.htm"><b>1</b></a> <a href="../files/creating_a_new_graph.htm"><b>2</b></a> <a href="../files/changing_view_mode.htm"><b>3</b></a> <a href="../files/changing_node_description.htm"><b>4</b></a> <a href="../files/adding_nodes.htm"><b>5</b></a> <a href="../files/adding_information_about_graphs.htm"><b>6</b></a> <a href="../files/running_supervisor.htm"><b>7</b></a> <a href="../files/renaming_nodes.htm"><b>8</b></a> <a href="../files/opening_graphs_referenced_in_the_study.htm"><b>9</b></a> <a href="../files/loop_nodes.htm"><b>10</b></a> <a href="../files/inserting_graphs.htm"><b>11</b></a> <a href="../files/importing_graphs_from_file.htm"><b>12</b></a> <a href="../files/filtering_and_storing_output_messages.htm"><b>13</b></a> <a href="../files/exporting_graphs.htm"><b>14</b></a> <a href="../files/viewing_output_vaues.htm"><b>15</b></a> <a href="../files/setting_input_parameters.htm"><b>16</b></a> </nobr><br><a name="bms_BR"></a><a name="subkey_BR"></a><a href="../files/setting_input_parameters.htm"><b>brackets</b></a> <br><a href="../files/switch_nodes.htm"><b>branch</b></a> <br><nobr>branches <a href="../files/running_dataflow.htm"><b>1</b></a> <a href="../files/introduction_to_supervisor.htm"><b>2</b></a> </nobr><br><a href="../files/computation_nodes.htm"><b>brief</b></a> <br><a href="../files/modifying_links.htm"><b>broken</b></a> <br><nobr>browse <a href="../files/viewing_output_vaues.htm"><b>1</b></a> <a href="../files/usage_of_supervisor_module.htm"><b>2</b></a> </nobr><br><nobr>browser <a href="../files/referencing_output_values_in_the_study.htm"><b>1</b></a> <a href="../files/setting_input_parameters.htm"><b>2</b></a> </nobr><br><a name="bms_BU"></a><a name="subkey_BU"></a><a href="../files/loop_nodes.htm"><b>busports</b></a> <br><nobr>button <a href="../files/adding_nodes.htm"><b>1</b></a> <a href="../files/renaming_nodes.htm"><b>2</b></a> <a href="../files/setting_input_parameters.htm"><b>3</b></a> </nobr><br>\r
-<br><br>\r
-<nobr><a name="bm_C"></a><a name="subkey_CA"></a>calculated <a href="../files/running_dataflow.htm"><b>1</b></a> <a href="../files/referencing_output_values_in_the_study.htm"><b>2</b></a> <a href="../files/viewing_output_vaues.htm"><b>3</b></a> <a href="../files/usage_of_supervisor_module.htm"><b>4</b></a> </nobr><br><a href="../files/loop_nodes.htm"><b>calculation</b></a> <br><a href="../files/introduction_to_supervisor.htm"><b>calculations</b></a> <br><a href="../files/referencing_output_values_in_the_study.htm"><b>call</b></a> <br><nobr>case <a href="../files/running_dataflow.htm"><b>1</b></a> <a href="../files/goto_nodes.htm"><b>2</b></a> <a href="../files/switch_nodes.htm"><b>3</b></a> </nobr><br><a href="../files/switch_nodes.htm"><b>cases</b></a> <br><a href="../files/computation_nodes.htm"><b>catalog</b></a> <br><a href="../files/usage_of_supervisor_module.htm"><b>catalogue</b></a> <br><a name="bms_CH"></a><a name="subkey_CH"></a><a href="../files/introduction_to_supervisor.htm"><b>chain</b></a> <br><nobr>change <a href="../files/computation_nodes.htm"><b>1</b></a> <a href="../files/changing_view_mode.htm"><b>2</b></a> <a href="../files/changing_node_description.htm"><b>3</b></a> <a href="../files/adding_information_about_graphs.htm"><b>4</b></a> <a href="../files/renaming_nodes.htm"><b>5</b></a> <a href="../files/referencing_output_values_in_the_study.htm"><b>6</b></a> <a href="../files/opening_graphs_referenced_in_the_study.htm"><b>7</b></a> <a href="../files/loop_nodes.htm"><b>8</b></a> <a href="../files/switch_nodes.htm"><b>9</b></a> </nobr><br><nobr>changes <a href="../files/changing_node_description.htm"><b>1</b></a> <a href="../files/adding_information_about_graphs.htm"><b>2</b></a> <a href="../files/opening_graphs_referenced_in_the_study.htm"><b>3</b></a> </nobr><br><nobr>changing <a href="../files/changing_view_mode.htm"><b>1</b></a> <a href="../files/changing_node_description.htm"><b>2</b></a> <a href="../files/adding_information_about_graphs.htm"><b>3</b></a> <a href="../files/opening_graphs_referenced_in_the_study.htm"><b>4</b></a> </nobr><br><a href="../files/step-by-step_execution.htm"><b>chapter</b></a> <br><nobr>check <a href="../files/changing_view_mode.htm"><b>1</b></a> <a href="../files/loop_nodes.htm"><b>2</b></a> </nobr><br><a href="../files/loop_nodes.htm"><b>checks</b></a> <br><nobr>choose <a href="../files/deleting_links.htm"><b>1</b></a> <a href="../files/creating_a_new_graph.htm"><b>2</b></a> <a href="../files/copying_graphs.htm"><b>3</b></a> <a href="../files/changing_view_mode.htm"><b>4</b></a> <a href="../files/changing_node_description.htm"><b>5</b></a> <a href="../files/adding_nodes.htm"><b>6</b></a> <a href="../files/adding_links_from_an_output_port.htm"><b>7</b></a> <a href="../files/adding_information_about_graphs.htm"><b>8</b></a> <a href="../files/running_supervisor.htm"><b>9</b></a> <a href="../files/running_dataflow.htm"><b>10</b></a> <a href="../files/reloading_dataflow.htm"><b>11</b></a> <a href="../files/referencing_output_values_in_the_study.htm"><b>12</b></a> <a href="../files/opening_graphs_referenced_in_the_study.htm"><b>13</b></a> <a href="../files/inserting_graphs.htm"><b>14</b></a> <a href="../files/importing_graphs_from_file.htm"><b>15</b></a> <a href="../files/filtering_and_storing_output_messages.htm"><b>16</b></a> <a href="../files/exporting_graphs.htm"><b>17</b></a> <a href="../files/viewing_output_vaues.htm"><b>18</b></a> <a href="../files/step-by-step_execution.htm"><b>19</b></a> <a href="../files/setting_input_parameters.htm"><b>20</b></a> </nobr><br><a name="bms_CL"></a><a name="subkey_CL"></a><a href="../files/adding_nodes.htm"><b>clear</b></a> <br><nobr>click <a href="../files/editing_node_function.htm"><b>1</b></a> <a href="../files/editing_imported_graphs.htm"><b>2</b></a> <a href="../files/deleting_nodes.htm"><b>3</b></a> <a href="../files/deleting_links.htm"><b>4</b></a> <a href="../files/creating_a_new_graph.htm"><b>5</b></a> <a href="../files/copying_graphs.htm"><b>6</b></a> <a href="../files/controlling_execution_of_the_graphs.htm"><b>7</b></a> <a href="../files/changing_view_mode.htm"><b>8</b></a> <a href="../files/changing_node_description.htm"><b>9</b></a> <a href="../files/adding_nodes.htm"><b>10</b></a> <a href="../files/adding_node_ports.htm"><b>11</b></a> <a href="../files/adding_links_from_an_output_port.htm"><b>12</b></a> <a href="../files/adding_information_about_graphs.htm"><b>13</b></a> <a href="../files/running_supervisor.htm"><b>14</b></a> <a href="../files/running_dataflow.htm"><b>15</b></a> <a href="../files/renaming_nodes.htm"><b>16</b></a> <a href="../files/reloading_dataflow.htm"><b>17</b></a> <a href="../files/referencing_output_values_in_the_study.htm"><b>18</b></a> <a href="../files/opening_graphs_referenced_in_the_study.htm"><b>19</b></a> <a href="../files/modifying_links.htm"><b>20</b></a> <a href="../files/inserting_graphs.htm"><b>21</b></a> <a href="../files/importing_graphs_from_file.htm"><b>22</b></a> <a href="../files/filtering_and_storing_output_messages.htm"><b>23</b></a> <a href="../files/exporting_graphs.htm"><b>24</b></a> <a href="../files/viewing_output_vaues.htm"><b>25</b></a> <a href="../files/step-by-step_execution.htm"><b>26</b></a> <a href="../files/setting_input_parameters.htm"><b>27</b></a> </nobr><br><a name="bms_CO"></a><a name="subkey_CO"></a><a href="../files/loop_nodes.htm"><b>code</b></a> <br><a href="../files/adding_links_from_an_output_port.htm"><b>color</b></a> <br><nobr>column <a href="../files/adding_nodes.htm"><b>1</b></a> <a href="../files/referencing_output_values_in_the_study.htm"><b>2</b></a> </nobr><br><nobr>comments <a href="../files/changing_view_mode.htm"><b>1</b></a> <a href="../files/changing_node_description.htm"><b>2</b></a> <a href="../files/adding_information_about_graphs.htm"><b>3</b></a> <a href="../files/opening_graphs_referenced_in_the_study.htm"><b>4</b></a> <a href="../files/usage_of_supervisor_module.htm"><b>5</b></a> </nobr><br><nobr>comparison <a href="../files/goto_nodes.htm"><b>1</b></a> <a href="../files/switch_nodes.htm"><b>2</b></a> </nobr><br><nobr>component <a href="../files/directing_dataflow_between_nodes.htm"><b>1</b></a> <a href="../files/computation_nodes.htm"><b>2</b></a> <a href="../files/adding_nodes.htm"><b>3</b></a> <a href="../files/about_nodes.htm"><b>4</b></a> <a href="../files/reloading_dataflow.htm"><b>5</b></a> <a href="../files/loop_nodes.htm"><b>6</b></a> <a href="../files/importing_graphs_from_file.htm"><b>7</b></a> <a href="../files/filtering_and_storing_output_messages.htm"><b>8</b></a> <a href="../files/exporting_graphs.htm"><b>9</b></a> <a href="../files/switch_nodes.htm"><b>10</b></a> </nobr><br><nobr>components <a href="../files/adding_nodes.htm"><b>1</b></a> <a href="../files/introduction_to_supervisor.htm"><b>2</b></a> </nobr><br><a href="../files/filtering_and_storing_output_messages.htm"><b>composing</b></a> <br><nobr>computation <a href="../files/computation_nodes.htm"><b>1</b></a> <a href="../files/adding_nodes.htm"><b>2</b></a> <a href="../files/about_nodes.htm"><b>3</b></a> <a href="../files/goto_nodes.htm"><b>4</b></a> <a href="../files/switch_nodes.htm"><b>5</b></a> </nobr><br><nobr>concerning <a href="../files/changing_node_description.htm"><b>1</b></a> <a href="../files/adding_information_about_graphs.htm"><b>2</b></a> <a href="../files/opening_graphs_referenced_in_the_study.htm"><b>3</b></a> <a href="../files/usage_of_supervisor_module.htm"><b>4</b></a> </nobr><br><nobr>condition <a href="../files/loop_nodes.htm"><b>1</b></a> <a href="../files/switch_nodes.htm"><b>2</b></a> </nobr><br><nobr>conditional <a href="../files/running_dataflow.htm"><b>1</b></a> <a href="../files/usage_of_supervisor_module.htm"><b>2</b></a> </nobr><br><a href="../files/loop_nodes.htm"><b>conditions</b></a> <br><a href="../files/usage_of_supervisor_module.htm"><b>configure</b></a> <br><nobr>confirm <a href="../files/changing_node_description.htm"><b>1</b></a> <a href="../files/adding_information_about_graphs.htm"><b>2</b></a> <a href="../files/opening_graphs_referenced_in_the_study.htm"><b>3</b></a> <a href="../files/exporting_graphs.htm"><b>4</b></a> </nobr><br><a href="../files/adding_links_from_an_output_port.htm"><b>connect</b></a> <br><nobr>connected <a href="../files/directing_dataflow_between_nodes.htm"><b>1</b></a> <a href="../files/computation_nodes.htm"><b>2</b></a> <a href="../files/about_nodes.htm"><b>3</b></a> <a href="../files/switch_nodes.htm"><b>4</b></a> </nobr><br><nobr>connecting <a href="../files/about_nodes.htm"><b>1</b></a> <a href="../files/usage_of_supervisor_module.htm"><b>2</b></a> </nobr><br><a href="../files/about_nodes.htm"><b>connection</b></a> <br><a href="../files/usage_of_supervisor_module.htm"><b>connections</b></a> <br><a href="../files/computation_nodes.htm"><b>consequently</b></a> <br><a href="../files/modifying_links.htm"><b>consist</b></a> <br><a href="../files/usage_of_supervisor_module.htm"><b>consisting</b></a> <br><nobr>consists <a href="../files/adding_nodes.htm"><b>1</b></a> <a href="../files/about_nodes.htm"><b>2</b></a> <a href="../files/introduction_to_supervisor.htm"><b>3</b></a> <a href="../files/usage_of_supervisor_module.htm"><b>4</b></a> </nobr><br><a href="../files/reloading_dataflow.htm"><b>console</b></a> <br><nobr>constant <a href="../files/computation_nodes.htm"><b>1</b></a> <a href="../files/about_nodes.htm"><b>2</b></a> <a href="../files/usage_of_supervisor_module.htm"><b>3</b></a> </nobr><br><a href="../files/deleting_links.htm"><b>construct</b></a> <br><nobr>constructed <a href="../files/creating_a_new_graph.htm"><b>1</b></a> <a href="../files/modifying_links.htm"><b>2</b></a> </nobr><br><a href="../files/modifying_links.htm"><b>constructing</b></a> <br><nobr>construction <a href="../files/modifying_links.htm"><b>1</b></a> <a href="../files/introduction_to_supervisor.htm"><b>2</b></a> <a href="../files/usage_of_supervisor_module.htm"><b>3</b></a> </nobr><br><a href="../files/changing_node_description.htm"><b>container</b></a> <br><a href="../files/introduction_to_supervisor.htm"><b>containers</b></a> <br><nobr>containing <a href="../files/editing_imported_graphs.htm"><b>1</b></a> <a href="../files/creating_a_new_graph.htm"><b>2</b></a> <a href="../files/copying_graphs.htm"><b>3</b></a> <a href="../files/changing_view_mode.htm"><b>4</b></a> <a href="../files/adding_information_about_graphs.htm"><b>5</b></a> <a href="../files/opening_graphs_referenced_in_the_study.htm"><b>6</b></a> <a href="../files/inserting_graphs.htm"><b>7</b></a> <a href="../files/importing_graphs_from_file.htm"><b>8</b></a> <a href="../files/filtering_and_storing_output_messages.htm"><b>9</b></a> </nobr><br><a href="../files/adding_nodes.htm"><b>contains</b></a> <br><a href="../files/loop_nodes.htm"><b>continues</b></a> <br><nobr>control <a href="../files/controlling_execution_of_the_graphs.htm"><b>1</b></a> <a href="../files/computation_nodes.htm"><b>2</b></a> <a href="../files/changing_view_mode.htm"><b>3</b></a> <a href="../files/about_nodes.htm"><b>4</b></a> <a href="../files/loop_nodes.htm"><b>5</b></a> <a href="../files/introduction_to_supervisor.htm"><b>6</b></a> <a href="../files/goto_nodes.htm"><b>7</b></a> <a href="../files/usage_of_supervisor_module.htm"><b>8</b></a> <a href="../files/switch_nodes.htm"><b>9</b></a> </nobr><br><nobr>controlling <a href="../files/controlling_execution_of_the_graphs.htm"><b>1</b></a> <a href="../files/step-by-step_execution.htm"><b>2</b></a> </nobr><br><a href="../files/loop_nodes.htm"><b>copied</b></a> <br><nobr>copy <a href="../files/copying_graphs.htm"><b>1</b></a> <a href="../files/adding_nodes.htm"><b>2</b></a> <a href="../files/usage_of_supervisor_module.htm"><b>3</b></a> </nobr><br><a href="../files/copying_graphs.htm"><b>copying</b></a> <br><a href="../files/modifying_links.htm"><b>corners</b></a> <br><nobr>correspond <a href="../files/about_nodes.htm"><b>1</b></a> <a href="../files/switch_nodes.htm"><b>2</b></a> </nobr><br><a href="../files/switch_nodes.htm"><b>correspondent</b></a> <br><nobr>corresponding <a href="../files/loop_nodes.htm"><b>1</b></a> <a href="../files/viewing_output_vaues.htm"><b>2</b></a> <a href="../files/switch_nodes.htm"><b>3</b></a> </nobr><br><a href="../files/adding_nodes.htm"><b>corresponds</b></a> <br><a href="../files/computation_nodes.htm"><b>could</b></a> <br><br><br></p><p class="ftsbody" align="center"><a href="whlstf1.htm" target="_self" title="previous search group"><b>>></b></a>\r
-\r
-</body>\r
-\r
-</html>\r
-\r
+++ /dev/null
-<html>\r
-<head>\r
-<title>Search Words List</title>\r
-<meta http-equiv="content-type" content="text/html; charset=iso-8859-1">\r
-<meta name="generator" content="RoboHelp by eHelp Corporation www.ehelp.com">\r
-<meta name "description" content="WebHelp 2002">\r
-<base target="bsscright">\r
-<style>\r
-<!--\r
-body {margin-left:1pt; margin-top:1pt; margin-right:1pt;font-family:Arial; font-size:9pt;}\r
-\r
-A:link {font-family:Arial; font-size:9pt; color:#000000; font-style:normal; text-decoration:none; }\r
-A:visited {font-family:Arial; font-size:9pt; color:#000000; font-style:normal; text-decoration:none; }\r
-A:active {background-color:#cccccc;}\r
-A:hover {font-family:Arial; font-size:9pt; color:#007f00; font-style:normal; text-decoration:underline; }\r
-\r
-.tabs {background-color:#c0c0c0;}\r
-.ftsheader {margin-left:10pt; margin-top:0pt;}\r
-.ftsbody {margin-left:10pt; margin-top:0pt;}\r
-.inactive {color:#666666;}\r
-.ftsheader {background-color:White; } \r
-\r
-body {background-color:White; } \r
-p {color:Black; } p {font-family:Tahoma; } p {font-size:8pt; } p {font-style:Normal; } p {text-decoration:none; } \r
-A:link {color:Black; } A:link {font-family:Tahoma; } A:link {font-size:8pt; } A:link {font-style:Normal; } A:link {text-decoration:none; } \r
-A:visited {color:Black; } A:visited {font-family:Tahoma; } A:visited {font-size:8pt; } A:visited {font-style:Normal; } A:visited {text-decoration:none; } \r
-A:active {background-color:Silver; } \r
-A:hover {color:Navy; } A:hover {font-family:Tahoma; } A:hover {font-size:8pt; } A:hover {font-style:Normal; } A:hover {text-decoration:underline; } \r
-\r
--->\r
-</style>\r
-</head>\r
-<body marginheight="0" marginwidth="0">\r
-<p class="ftsbody" align="center"><a href="whlstf0.htm" target="_self" title="previous search group"><b><<</b></a><br><br></p>\r
-<p class="ftsbody">\r
-<nobr><a name="bms_CR"></a><a name="subkey_CR"></a>create <a href="../files/creating_a_new_graph.htm"><b>1</b></a> <a href="../files/adding_nodes.htm"><b>2</b></a> <a href="../files/running_supervisor.htm"><b>3</b></a> <a href="../files/referencing_output_values_in_the_study.htm"><b>4</b></a> <a href="../files/loop_nodes.htm"><b>5</b></a> <a href="../files/usage_of_supervisor_module.htm"><b>6</b></a> </nobr><br><nobr>created <a href="../files/editing_node_function.htm"><b>1</b></a> <a href="../files/creating_a_new_graph.htm"><b>2</b></a> <a href="../files/copying_graphs.htm"><b>3</b></a> <a href="../files/loop_nodes.htm"><b>4</b></a> <a href="../files/exporting_graphs.htm"><b>5</b></a> <a href="../files/switch_nodes.htm"><b>6</b></a> </nobr><br><nobr>creating <a href="../files/deleting_links.htm"><b>1</b></a> <a href="../files/creating_a_new_graph.htm"><b>2</b></a> </nobr><br><nobr><a name="bms_CU"></a><a name="subkey_CU"></a>current <a href="../files/computation_nodes.htm"><b>1</b></a> <a href="../files/about_nodes.htm"><b>2</b></a> <a href="../files/exporting_graphs.htm"><b>3</b></a> <a href="../files/viewing_output_vaues.htm"><b>4</b></a> </nobr><br><a href="../files/adding_nodes.htm"><b>currently</b></a> <br><nobr>cursor <a href="../files/adding_links_from_an_output_port.htm"><b>1</b></a> <a href="../files/modifying_links.htm"><b>2</b></a> </nobr><br><a href="../files/adding_nodes.htm"><b>cut</b></a> <br>\r
-<br><br>\r
-<a name="bm_D"></a><a name="subkey_D{"></a><a href="../files/adding_links_from_an_output_port.htm"><b>d</b></a> <br><nobr><a name="bms_DA"></a><a name="subkey_DA"></a>data <a href="../files/directing_dataflow_between_nodes.htm"><b>1</b></a> <a href="../files/adding_nodes.htm"><b>2</b></a> <a href="../files/about_nodes.htm"><b>3</b></a> <a href="../files/running_dataflow.htm"><b>4</b></a> <a href="../files/referencing_output_values_in_the_study.htm"><b>5</b></a> <a href="../files/introduction_to_supervisor.htm"><b>6</b></a> <a href="../files/goto_nodes.htm"><b>7</b></a> <a href="../files/viewing_output_vaues.htm"><b>8</b></a> <a href="../files/usage_of_supervisor_module.htm"><b>9</b></a> </nobr><br><nobr>dataflow <a href="../files/directing_dataflow_between_nodes.htm"><b>1</b></a> <a href="../files/creating_a_new_graph.htm"><b>2</b></a> <a href="../files/copying_graphs.htm"><b>3</b></a> <a href="../files/computation_nodes.htm"><b>4</b></a> <a href="../files/changing_view_mode.htm"><b>5</b></a> <a href="../files/running_dataflow.htm"><b>6</b></a> <a href="../files/reloading_dataflow.htm"><b>7</b></a> <a href="../files/loop_nodes.htm"><b>8</b></a> <a href="../files/importing_graphs_from_file.htm"><b>9</b></a> <a href="../files/exporting_graphs.htm"><b>10</b></a> <a href="../files/switch_nodes.htm"><b>11</b></a> <a href="../files/step-by-step_execution.htm"><b>12</b></a> </nobr><br><nobr><a name="bms_DE"></a><a name="subkey_DE"></a>def <a href="../files/loop_nodes.htm"><b>1</b></a> <a href="../files/switch_nodes.htm"><b>2</b></a> </nobr><br><nobr>default <a href="../files/computation_nodes.htm"><b>1</b></a> <a href="../files/adding_links_from_an_output_port.htm"><b>2</b></a> <a href="../files/loop_nodes.htm"><b>3</b></a> <a href="../files/switch_nodes.htm"><b>4</b></a> </nobr><br><nobr>define <a href="../files/adding_nodes.htm"><b>1</b></a> <a href="../files/loop_nodes.htm"><b>2</b></a> <a href="../files/introduction_to_supervisor.htm"><b>3</b></a> <a href="../files/switch_nodes.htm"><b>4</b></a> </nobr><br><nobr>defined <a href="../files/computation_nodes.htm"><b>1</b></a> <a href="../files/adding_nodes.htm"><b>2</b></a> <a href="../files/about_nodes.htm"><b>3</b></a> <a href="../files/loop_nodes.htm"><b>4</b></a> <a href="../files/introduction_to_supervisor.htm"><b>5</b></a> <a href="../files/usage_of_supervisor_module.htm"><b>6</b></a> </nobr><br><a href="../files/directing_dataflow_between_nodes.htm"><b>defines</b></a> <br><nobr>definite <a href="../files/controlling_execution_of_the_graphs.htm"><b>1</b></a> <a href="../files/changing_view_mode.htm"><b>2</b></a> <a href="../files/adding_nodes.htm"><b>3</b></a> <a href="../files/adding_links_from_an_output_port.htm"><b>4</b></a> <a href="../files/running_dataflow.htm"><b>5</b></a> <a href="../files/introduction_to_supervisor.htm"><b>6</b></a> <a href="../files/filtering_and_storing_output_messages.htm"><b>7</b></a> <a href="../files/viewing_output_vaues.htm"><b>8</b></a> <a href="../files/switch_nodes.htm"><b>9</b></a> </nobr><br><nobr>delete <a href="../files/deleting_nodes.htm"><b>1</b></a> <a href="../files/deleting_links.htm"><b>2</b></a> <a href="../files/usage_of_supervisor_module.htm"><b>3</b></a> </nobr><br><a href="../files/deleting_nodes.htm"><b>deleted</b></a> <br><nobr>deleting <a href="../files/deleting_nodes.htm"><b>1</b></a> <a href="../files/deleting_links.htm"><b>2</b></a> </nobr><br><a href="../files/directing_dataflow_between_nodes.htm"><b>dependencies</b></a> <br><a href="../files/switch_nodes.htm"><b>depending</b></a> <br><a href="../files/step-by-step_execution.htm"><b>described</b></a> <br><nobr>description <a href="../files/computation_nodes.htm"><b>1</b></a> <a href="../files/changing_view_mode.htm"><b>2</b></a> <a href="../files/changing_node_description.htm"><b>3</b></a> <a href="../files/adding_information_about_graphs.htm"><b>4</b></a> <a href="../files/opening_graphs_referenced_in_the_study.htm"><b>5</b></a> </nobr><br><a href="../files/changing_view_mode.htm"><b>descriptions</b></a> <br><a href="../files/running_supervisor.htm"><b>desktop</b></a> <br><a href="../files/introduction_to_supervisor.htm"><b>destined</b></a> <br><nobr><a name="bms_DI"></a><a name="subkey_DI"></a>dialog <a href="../files/editing_imported_graphs.htm"><b>1</b></a> <a href="../files/creating_a_new_graph.htm"><b>2</b></a> <a href="../files/changing_node_description.htm"><b>3</b></a> <a href="../files/adding_nodes.htm"><b>4</b></a> <a href="../files/adding_information_about_graphs.htm"><b>5</b></a> <a href="../files/renaming_nodes.htm"><b>6</b></a> <a href="../files/opening_graphs_referenced_in_the_study.htm"><b>7</b></a> <a href="../files/loop_nodes.htm"><b>8</b></a> <a href="../files/inserting_graphs.htm"><b>9</b></a> <a href="../files/importing_graphs_from_file.htm"><b>10</b></a> <a href="../files/filtering_and_storing_output_messages.htm"><b>11</b></a> <a href="../files/exporting_graphs.htm"><b>12</b></a> <a href="../files/viewing_output_vaues.htm"><b>13</b></a> <a href="../files/setting_input_parameters.htm"><b>14</b></a> </nobr><br><a href="../files/editing_imported_graphs.htm"><b>difference</b></a> <br><nobr>different <a href="../files/adding_links_from_an_output_port.htm"><b>1</b></a> <a href="../files/about_nodes.htm"><b>2</b></a> <a href="../files/usage_of_supervisor_module.htm"><b>3</b></a> </nobr><br><a href="../files/introduction_to_supervisor.htm"><b>direct</b></a> <br><a href="../files/directing_dataflow_between_nodes.htm"><b>directing</b></a> <br><nobr>displayed <a href="../files/changing_view_mode.htm"><b>1</b></a> <a href="../files/referencing_output_values_in_the_study.htm"><b>2</b></a> <a href="../files/viewing_output_vaues.htm"><b>3</b></a> </nobr><br><a href="../files/introduction_to_supervisor.htm"><b>distributed</b></a> <br><a href="../files/introduction_to_supervisor.htm"><b>divided</b></a> <br><a name="bms_DO"></a><a name="subkey_DO"></a><a href="../files/adding_nodes.htm"><b>document</b></a> <br><a href="../files/directing_dataflow_between_nodes.htm"><b>does</b></a> <br><a href="../files/loop_nodes.htm"><b>doloop</b></a> <br><a href="../files/setting_input_parameters.htm"><b>double</b></a> <br><nobr><a name="bms_DR"></a><a name="subkey_DR"></a>drag <a href="../files/points_in_links.htm"><b>1</b></a> <a href="../files/placing_nodes_in_the_window.htm"><b>2</b></a> <a href="../files/modifying_links.htm"><b>3</b></a> </nobr><br><nobr>drop <a href="../files/points_in_links.htm"><b>1</b></a> <a href="../files/placing_nodes_in_the_window.htm"><b>2</b></a> </nobr><br><nobr><a name="bms_DU"></a><a name="subkey_DU"></a>duplicated <a href="../files/loop_nodes.htm"><b>1</b></a> <a href="../files/switch_nodes.htm"><b>2</b></a> </nobr><br>\r
-<br><br>\r
-<nobr><a name="bm_E"></a><a name="subkey_ED"></a>edit <a href="../files/editing_node_function.htm"><b>1</b></a> <a href="../files/creating_a_new_graph.htm"><b>2</b></a> <a href="../files/computation_nodes.htm"><b>3</b></a> <a href="../files/changing_node_description.htm"><b>4</b></a> <a href="../files/adding_nodes.htm"><b>5</b></a> <a href="../files/introduction_to_supervisor.htm"><b>6</b></a> <a href="../files/importing_graphs_from_file.htm"><b>7</b></a> </nobr><br><nobr>edited <a href="../files/computation_nodes.htm"><b>1</b></a> <a href="../files/reloading_dataflow.htm"><b>2</b></a> </nobr><br><nobr>editing <a href="../files/editing_node_function.htm"><b>1</b></a> <a href="../files/editing_imported_graphs.htm"><b>2</b></a> </nobr><br><nobr>edition <a href="../files/editing_imported_graphs.htm"><b>1</b></a> <a href="../files/adding_nodes.htm"><b>2</b></a> <a href="../files/usage_of_supervisor_module.htm"><b>3</b></a> </nobr><br><a name="bms_EL"></a><a name="subkey_EL"></a><a href="../files/switch_nodes.htm"><b>elif</b></a> <br><nobr>else <a href="../files/loop_nodes.htm"><b>1</b></a> <a href="../files/switch_nodes.htm"><b>2</b></a> </nobr><br><nobr><a name="bms_EN"></a><a name="subkey_EN"></a>end <a href="../files/running_dataflow.htm"><b>1</b></a> <a href="../files/loop_nodes.htm"><b>2</b></a> <a href="../files/switch_nodes.htm"><b>3</b></a> </nobr><br><nobr>endof <a href="../files/loop_nodes.htm"><b>1</b></a> <a href="../files/switch_nodes.htm"><b>2</b></a> </nobr><br><a href="../files/reloading_dataflow.htm"><b>engine</b></a> <br><nobr>enter <a href="../files/changing_node_description.htm"><b>1</b></a> <a href="../files/adding_information_about_graphs.htm"><b>2</b></a> <a href="../files/renaming_nodes.htm"><b>3</b></a> <a href="../files/opening_graphs_referenced_in_the_study.htm"><b>4</b></a> <a href="../files/loop_nodes.htm"><b>5</b></a> <a href="../files/exporting_graphs.htm"><b>6</b></a> </nobr><br><nobr><a name="bms_ET"></a><a name="subkey_ET"></a>etc <a href="../files/directing_dataflow_between_nodes.htm"><b>1</b></a> <a href="../files/running_dataflow.htm"><b>2</b></a> <a href="../files/loop_nodes.htm"><b>3</b></a> <a href="../files/importing_graphs_from_file.htm"><b>4</b></a> <a href="../files/switch_nodes.htm"><b>5</b></a> </nobr><br><a name="bms_EV"></a><a name="subkey_EV"></a><a href="../files/loop_nodes.htm"><b>even</b></a> <br><a href="../files/filtering_and_storing_output_messages.htm"><b>every</b></a> <br><nobr><a name="bms_EX"></a><a name="subkey_EX"></a>examine <a href="../files/viewing_output_vaues.htm"><b>1</b></a> <a href="../files/usage_of_supervisor_module.htm"><b>2</b></a> </nobr><br><a href="../files/viewing_output_vaues.htm"><b>examining</b></a> <br><nobr>example <a href="../files/creating_a_new_graph.htm"><b>1</b></a> <a href="../files/adding_links_from_an_output_port.htm"><b>2</b></a> <a href="../files/loop_nodes.htm"><b>3</b></a> <a href="../files/switch_nodes.htm"><b>4</b></a> </nobr><br><nobr>execute <a href="../files/computation_nodes.htm"><b>1</b></a> <a href="../files/introduction_to_supervisor.htm"><b>2</b></a> </nobr><br><nobr>executed <a href="../files/directing_dataflow_between_nodes.htm"><b>1</b></a> <a href="../files/controlling_execution_of_the_graphs.htm"><b>2</b></a> <a href="../files/adding_nodes.htm"><b>3</b></a> <a href="../files/about_nodes.htm"><b>4</b></a> <a href="../files/loop_nodes.htm"><b>5</b></a> <a href="../files/introduction_to_supervisor.htm"><b>6</b></a> <a href="../files/importing_graphs_from_file.htm"><b>7</b></a> <a href="../files/switch_nodes.htm"><b>8</b></a> </nobr><br><a href="../files/loop_nodes.htm"><b>executes</b></a> <br><a href="../files/running_dataflow.htm"><b>executing</b></a> <br><nobr>execution <a href="../files/directing_dataflow_between_nodes.htm"><b>1</b></a> <a href="../files/controlling_execution_of_the_graphs.htm"><b>2</b></a> <a href="../files/computation_nodes.htm"><b>3</b></a> <a href="../files/running_dataflow.htm"><b>4</b></a> <a href="../files/referencing_output_values_in_the_study.htm"><b>5</b></a> <a href="../files/loop_nodes.htm"><b>6</b></a> <a href="../files/introduction_to_supervisor.htm"><b>7</b></a> <a href="../files/filtering_and_storing_output_messages.htm"><b>8</b></a> <a href="../files/usage_of_supervisor_module.htm"><b>9</b></a> <a href="../files/switch_nodes.htm"><b>10</b></a> <a href="../files/step-by-step_execution.htm"><b>11</b></a> </nobr><br><nobr>existing <a href="../files/editing_imported_graphs.htm"><b>1</b></a> <a href="../files/adding_nodes.htm"><b>2</b></a> <a href="../files/exporting_graphs.htm"><b>3</b></a> <a href="../files/usage_of_supervisor_module.htm"><b>4</b></a> </nobr><br><nobr>export <a href="../files/exporting_graphs.htm"><b>1</b></a> <a href="../files/usage_of_supervisor_module.htm"><b>2</b></a> </nobr><br><a href="../files/exporting_graphs.htm"><b>exportation</b></a> <br><a href="../files/exporting_graphs.htm"><b>exporting</b></a> <br><a href="../files/computation_nodes.htm"><b>exports</b></a> <br><a href="../files/computation_nodes.htm"><b>external</b></a> <br>\r
-<br><br>\r
-<nobr><a name="bm_F"></a><a name="subkey_FA"></a>fact <a href="../files/loop_nodes.htm"><b>1</b></a> <a href="../files/switch_nodes.htm"><b>2</b></a> </nobr><br><nobr>factory <a href="../files/editing_node_function.htm"><b>1</b></a> <a href="../files/computation_nodes.htm"><b>2</b></a> <a href="../files/adding_nodes.htm"><b>3</b></a> <a href="../files/adding_node_ports.htm"><b>4</b></a> <a href="../files/introduction_to_supervisor.htm"><b>5</b></a> </nobr><br><a href="../files/usage_of_supervisor_module.htm"><b>facultative</b></a> <br><a href="../files/loop_nodes.htm"><b>false</b></a> <br><nobr><a name="bms_FI"></a><a name="subkey_FI"></a>field <a href="../files/adding_nodes.htm"><b>1</b></a> <a href="../files/exporting_graphs.htm"><b>2</b></a> </nobr><br><a href="../files/adding_nodes.htm"><b>fields</b></a> <br><nobr>file <a href="../files/editing_imported_graphs.htm"><b>1</b></a> <a href="../files/adding_nodes.htm"><b>2</b></a> <a href="../files/introduction_to_supervisor.htm"><b>3</b></a> <a href="../files/inserting_graphs.htm"><b>4</b></a> <a href="../files/importing_graphs_from_file.htm"><b>5</b></a> <a href="../files/filtering_and_storing_output_messages.htm"><b>6</b></a> <a href="../files/exporting_graphs.htm"><b>7</b></a> <a href="../files/usage_of_supervisor_module.htm"><b>8</b></a> </nobr><br><a href="../files/importing_graphs_from_file.htm"><b>files</b></a> <br><a href="../files/switch_nodes.htm"><b>fill</b></a> <br><nobr>filter <a href="../files/introduction_to_supervisor.htm"><b>1</b></a> <a href="../files/filtering_and_storing_output_messages.htm"><b>2</b></a> <a href="../files/usage_of_supervisor_module.htm"><b>3</b></a> </nobr><br><a href="../files/filtering_and_storing_output_messages.htm"><b>filtering</b></a> <br><nobr>find <a href="../files/editing_imported_graphs.htm"><b>1</b></a> <a href="../files/exporting_graphs.htm"><b>2</b></a> </nobr><br><nobr>finished <a href="../files/computation_nodes.htm"><b>1</b></a> <a href="../files/running_dataflow.htm"><b>2</b></a> <a href="../files/loop_nodes.htm"><b>3</b></a> <a href="../files/switch_nodes.htm"><b>4</b></a> </nobr><br><nobr>first <a href="../files/adding_nodes.htm"><b>1</b></a> <a href="../files/adding_links_from_an_output_port.htm"><b>2</b></a> <a href="../files/running_dataflow.htm"><b>3</b></a> <a href="../files/reloading_dataflow.htm"><b>4</b></a> <a href="../files/loop_nodes.htm"><b>5</b></a> <a href="../files/goto_nodes.htm"><b>6</b></a> <a href="../files/switch_nodes.htm"><b>7</b></a> <a href="../files/step-by-step_execution.htm"><b>8</b></a> </nobr><br><nobr><a name="bms_FL"></a><a name="subkey_FL"></a>flow <a href="../files/directing_dataflow_between_nodes.htm"><b>1</b></a> <a href="../files/about_nodes.htm"><b>2</b></a> <a href="../files/introduction_to_supervisor.htm"><b>3</b></a> <a href="../files/goto_nodes.htm"><b>4</b></a> </nobr><br><nobr><a name="bms_FO"></a><a name="subkey_FO"></a>folder <a href="../files/referencing_output_values_in_the_study.htm"><b>1</b></a> <a href="../files/exporting_graphs.htm"><b>2</b></a> </nobr><br><a href="../files/modifying_links.htm"><b>follow</b></a> <br><a href="../files/adding_links_from_an_output_port.htm"><b>followed</b></a> <br><nobr>following <a href="../files/creating_a_new_graph.htm"><b>1</b></a> <a href="../files/computation_nodes.htm"><b>2</b></a> <a href="../files/changing_node_description.htm"><b>3</b></a> <a href="../files/adding_nodes.htm"><b>4</b></a> <a href="../files/adding_information_about_graphs.htm"><b>5</b></a> <a href="../files/about_nodes.htm"><b>6</b></a> <a href="../files/running_supervisor.htm"><b>7</b></a> <a href="../files/running_dataflow.htm"><b>8</b></a> <a href="../files/referencing_output_values_in_the_study.htm"><b>9</b></a> <a href="../files/opening_graphs_referenced_in_the_study.htm"><b>10</b></a> <a href="../files/loop_nodes.htm"><b>11</b></a> <a href="../files/filtering_and_storing_output_messages.htm"><b>12</b></a> <a href="../files/viewing_output_vaues.htm"><b>13</b></a> <a href="../files/usage_of_supervisor_module.htm"><b>14</b></a> <a href="../files/switch_nodes.htm"><b>15</b></a> <a href="../files/setting_input_parameters.htm"><b>16</b></a> </nobr><br><nobr>follows <a href="../files/loop_nodes.htm"><b>1</b></a> <a href="../files/switch_nodes.htm"><b>2</b></a> </nobr><br><nobr>four <a href="../files/creating_a_new_graph.htm"><b>1</b></a> <a href="../files/adding_links_from_an_output_port.htm"><b>2</b></a> </nobr><br><a href="../files/adding_nodes.htm"><b>fourth</b></a> <br><nobr><a name="bms_FR"></a><a name="subkey_FR"></a>frame <a href="../files/referencing_output_values_in_the_study.htm"><b>1</b></a> <a href="../files/setting_input_parameters.htm"><b>2</b></a> </nobr><br><a name="bms_FU"></a><a name="subkey_FU"></a><a href="../files/changing_view_mode.htm"><b>full</b></a> <br><nobr>function <a href="../files/editing_node_function.htm"><b>1</b></a> <a href="../files/computation_nodes.htm"><b>2</b></a> <a href="../files/adding_nodes.htm"><b>3</b></a> <a href="../files/loop_nodes.htm"><b>4</b></a> <a href="../files/introduction_to_supervisor.htm"><b>5</b></a> <a href="../files/goto_nodes.htm"><b>6</b></a> <a href="../files/switch_nodes.htm"><b>7</b></a> </nobr><br><a href="../files/running_supervisor.htm"><b>functionality</b></a> <br><a href="../files/loop_nodes.htm"><b>functioning</b></a> <br><nobr>functions <a href="../files/adding_nodes.htm"><b>1</b></a> <a href="../files/loop_nodes.htm"><b>2</b></a> </nobr><br><a href="../files/switch_nodes.htm"><b>further</b></a> <br><nobr>future <a href="../files/adding_nodes.htm"><b>1</b></a> <a href="../files/exporting_graphs.htm"><b>2</b></a> </nobr><br>\r
-<br><br>\r
-<a name="bm_G"></a><a name="subkey_GA"></a><a href="../files/directing_dataflow_between_nodes.htm"><b>gate</b></a> <br><nobr>gates <a href="../files/computation_nodes.htm"><b>1</b></a> <a href="../files/switch_nodes.htm"><b>2</b></a> </nobr><br><a name="bms_GE"></a><a name="subkey_GE"></a><a href="../files/about_nodes.htm"><b>general</b></a> <br><nobr>get <a href="../files/copying_graphs.htm"><b>1</b></a> <a href="../files/adding_links_from_an_output_port.htm"><b>2</b></a> <a href="../files/referencing_output_values_in_the_study.htm"><b>3</b></a> <a href="../files/loop_nodes.htm"><b>4</b></a> <a href="../files/switch_nodes.htm"><b>5</b></a> <a href="../files/setting_input_parameters.htm"><b>6</b></a> </nobr><br><a name="bms_GI"></a><a name="subkey_GI"></a><a href="../files/directing_dataflow_between_nodes.htm"><b>give</b></a> <br><a href="../files/setting_input_parameters.htm"><b>given</b></a> <br><a href="../files/adding_nodes.htm"><b>gives</b></a> <br><a name="bms_GO"></a><a name="subkey_GO"></a><a href="../files/adding_links_from_an_output_port.htm"><b>going</b></a> <br><nobr>goto <a href="../files/adding_nodes.htm"><b>1</b></a> <a href="../files/about_nodes.htm"><b>2</b></a> <a href="../files/goto_nodes.htm"><b>3</b></a> </nobr><br><br><br></p><p class="ftsbody" align="center"><a href="whlstf2.htm" target="_self" title="previous search group"><b>>></b></a>\r
-\r
-</body>\r
-\r
-</html>\r
-\r
+++ /dev/null
-<html>\r
-<head>\r
-<title>Search Words List</title>\r
-<meta http-equiv="content-type" content="text/html; charset=iso-8859-1">\r
-<meta name="generator" content="RoboHelp by eHelp Corporation www.ehelp.com">\r
-<meta name "description" content="WebHelp 2002">\r
-<base target="bsscright">\r
-<style>\r
-<!--\r
-body {margin-left:1pt; margin-top:1pt; margin-right:1pt;font-family:Arial; font-size:9pt;}\r
-\r
-A:link {font-family:Arial; font-size:9pt; color:#000000; font-style:normal; text-decoration:none; }\r
-A:visited {font-family:Arial; font-size:9pt; color:#000000; font-style:normal; text-decoration:none; }\r
-A:active {background-color:#cccccc;}\r
-A:hover {font-family:Arial; font-size:9pt; color:#007f00; font-style:normal; text-decoration:underline; }\r
-\r
-.tabs {background-color:#c0c0c0;}\r
-.ftsheader {margin-left:10pt; margin-top:0pt;}\r
-.ftsbody {margin-left:10pt; margin-top:0pt;}\r
-.inactive {color:#666666;}\r
-.ftsheader {background-color:White; } \r
-\r
-body {background-color:White; } \r
-p {color:Black; } p {font-family:Tahoma; } p {font-size:8pt; } p {font-style:Normal; } p {text-decoration:none; } \r
-A:link {color:Black; } A:link {font-family:Tahoma; } A:link {font-size:8pt; } A:link {font-style:Normal; } A:link {text-decoration:none; } \r
-A:visited {color:Black; } A:visited {font-family:Tahoma; } A:visited {font-size:8pt; } A:visited {font-style:Normal; } A:visited {text-decoration:none; } \r
-A:active {background-color:Silver; } \r
-A:hover {color:Navy; } A:hover {font-family:Tahoma; } A:hover {font-size:8pt; } A:hover {font-style:Normal; } A:hover {text-decoration:underline; } \r
-\r
--->\r
-</style>\r
-</head>\r
-<body marginheight="0" marginwidth="0">\r
-<p class="ftsbody" align="center"><a href="whlstf1.htm" target="_self" title="previous search group"><b><<</b></a><br><br></p>\r
-<p class="ftsbody">\r
-<nobr><a name="bms_GR"></a><a name="subkey_GR"></a>graph <a href="../files/editing_node_function.htm"><b>1</b></a> <a href="../files/editing_imported_graphs.htm"><b>2</b></a> <a href="../files/directing_dataflow_between_nodes.htm"><b>3</b></a> <a href="../files/deleting_nodes.htm"><b>4</b></a> <a href="../files/creating_a_new_graph.htm"><b>5</b></a> <a href="../files/copying_graphs.htm"><b>6</b></a> <a href="../files/controlling_execution_of_the_graphs.htm"><b>7</b></a> <a href="../files/computation_nodes.htm"><b>8</b></a> <a href="../files/changing_view_mode.htm"><b>9</b></a> <a href="../files/changing_node_description.htm"><b>10</b></a> <a href="../files/adding_nodes.htm"><b>11</b></a> <a href="../files/adding_node_ports.htm"><b>12</b></a> <a href="../files/adding_links_from_an_output_port.htm"><b>13</b></a> <a href="../files/adding_information_about_graphs.htm"><b>14</b></a> <a href="../files/about_nodes.htm"><b>15</b></a> <a href="../files/running_dataflow.htm"><b>16</b></a> <a href="../files/renaming_nodes.htm"><b>17</b></a> <a href="../files/reloading_dataflow.htm"><b>18</b></a> <a href="../files/referencing_output_values_in_the_study.htm"><b>19</b></a> <a href="../files/points_in_links.htm"><b>20</b></a> <a href="../files/placing_nodes_in_the_window.htm"><b>21</b></a> <a href="../files/opening_graphs_referenced_in_the_study.htm"><b>22</b></a> <a href="../files/modifying_links.htm"><b>23</b></a> <a href="../files/loop_nodes.htm"><b>24</b></a> <a href="../files/introduction_to_supervisor.htm"><b>25</b></a> <a href="../files/inserting_graphs.htm"><b>26</b></a> <a href="../files/importing_graphs_from_file.htm"><b>27</b></a> <a href="../files/filtering_and_storing_output_messages.htm"><b>28</b></a> <a href="../files/exporting_graphs.htm"><b>29</b></a> <a href="../files/usage_of_supervisor_module.htm"><b>30</b></a> <a href="../files/switch_nodes.htm"><b>31</b></a> <a href="../files/step-by-step_execution.htm"><b>32</b></a> <a href="../files/setting_input_parameters.htm"><b>33</b></a> </nobr><br><nobr>graphical <a href="../files/about_nodes.htm"><b>1</b></a> <a href="../files/reloading_dataflow.htm"><b>2</b></a> <a href="../files/introduction_to_supervisor.htm"><b>3</b></a> </nobr><br><nobr>graphs <a href="../files/editing_imported_graphs.htm"><b>1</b></a> <a href="../files/copying_graphs.htm"><b>2</b></a> <a href="../files/controlling_execution_of_the_graphs.htm"><b>3</b></a> <a href="../files/running_dataflow.htm"><b>4</b></a> <a href="../files/reloading_dataflow.htm"><b>5</b></a> <a href="../files/referencing_output_values_in_the_study.htm"><b>6</b></a> <a href="../files/introduction_to_supervisor.htm"><b>7</b></a> <a href="../files/inserting_graphs.htm"><b>8</b></a> <a href="../files/importing_graphs_from_file.htm"><b>9</b></a> <a href="../files/exporting_graphs.htm"><b>10</b></a> <a href="../files/usage_of_supervisor_module.htm"><b>11</b></a> </nobr><br><a name="bms_GU"></a><a name="subkey_GU"></a><a href="../files/reloading_dataflow.htm"><b>gui</b></a> <br>\r
-<br><br>\r
-<nobr><a name="bm_H"></a><a name="subkey_HA"></a>hasn <a href="../files/controlling_execution_of_the_graphs.htm"><b>1</b></a> <a href="../files/reloading_dataflow.htm"><b>2</b></a> </nobr><br><a href="../files/referencing_output_values_in_the_study.htm"><b>haven</b></a> <br><nobr>having <a href="../files/changing_view_mode.htm"><b>1</b></a> <a href="../files/adding_nodes.htm"><b>2</b></a> </nobr><br><a name="bms_HE"></a><a name="subkey_HE"></a><a href="../files/switch_nodes.htm"><b>head</b></a> <br><a href="../files/introduction_to_supervisor.htm"><b>help</b></a> <br><nobr>here <a href="../files/adding_nodes.htm"><b>1</b></a> <a href="../files/loop_nodes.htm"><b>2</b></a> </nobr><br><a name="bms_HI"></a><a name="subkey_HI"></a><a href="../files/changing_view_mode.htm"><b>hides</b></a> <br><nobr>highlighted <a href="../files/computation_nodes.htm"><b>1</b></a> <a href="../files/adding_links_from_an_output_port.htm"><b>2</b></a> </nobr><br><a href="../files/running_dataflow.htm"><b>him</b></a> <br>\r
-<br><br>\r
-<a name="bm_I"></a><a name="subkey_I{"></a><a href="../files/switch_nodes.htm"><b>i1</b></a> <br><a href="../files/switch_nodes.htm"><b>i2</b></a> <br><a href="../files/switch_nodes.htm"><b>i3</b></a> <br><nobr><a name="bms_IC"></a><a name="subkey_IC"></a>icon <a href="../files/editing_imported_graphs.htm"><b>1</b></a> <a href="../files/creating_a_new_graph.htm"><b>2</b></a> <a href="../files/adding_nodes.htm"><b>3</b></a> <a href="../files/running_supervisor.htm"><b>4</b></a> <a href="../files/running_dataflow.htm"><b>5</b></a> <a href="../files/reloading_dataflow.htm"><b>6</b></a> <a href="../files/importing_graphs_from_file.htm"><b>7</b></a> <a href="../files/exporting_graphs.htm"><b>8</b></a> <a href="../files/step-by-step_execution.htm"><b>9</b></a> </nobr><br><a href="../files/running_supervisor.htm"><b>icons</b></a> <br><nobr><a name="bms_IF"></a><a name="subkey_IF"></a>if <a href="../files/editing_node_function.htm"><b>1</b></a> <a href="../files/editing_imported_graphs.htm"><b>2</b></a> <a href="../files/directing_dataflow_between_nodes.htm"><b>3</b></a> <a href="../files/deleting_nodes.htm"><b>4</b></a> <a href="../files/controlling_execution_of_the_graphs.htm"><b>5</b></a> <a href="../files/computation_nodes.htm"><b>6</b></a> <a href="../files/changing_node_description.htm"><b>7</b></a> <a href="../files/adding_nodes.htm"><b>8</b></a> <a href="../files/adding_node_ports.htm"><b>9</b></a> <a href="../files/adding_information_about_graphs.htm"><b>10</b></a> <a href="../files/renaming_nodes.htm"><b>11</b></a> <a href="../files/reloading_dataflow.htm"><b>12</b></a> <a href="../files/referencing_output_values_in_the_study.htm"><b>13</b></a> <a href="../files/opening_graphs_referenced_in_the_study.htm"><b>14</b></a> <a href="../files/loop_nodes.htm"><b>15</b></a> <a href="../files/inserting_graphs.htm"><b>16</b></a> <a href="../files/exporting_graphs.htm"><b>17</b></a> <a href="../files/switch_nodes.htm"><b>18</b></a> <a href="../files/setting_input_parameters.htm"><b>19</b></a> </nobr><br><a name="bms_IG"></a><a name="subkey_IG"></a><a href="../files/directing_dataflow_between_nodes.htm"><b>ignored</b></a> <br><a name="bms_IL"></a><a name="subkey_IL"></a><a href="../files/running_dataflow.htm"><b>illegal</b></a> <br><a name="bms_IM"></a><a name="subkey_IM"></a><a href="../files/directing_dataflow_between_nodes.htm"><b>implementation</b></a> <br><nobr>import <a href="../files/importing_graphs_from_file.htm"><b>1</b></a> <a href="../files/usage_of_supervisor_module.htm"><b>2</b></a> </nobr><br><nobr>imported <a href="../files/editing_imported_graphs.htm"><b>1</b></a> <a href="../files/importing_graphs_from_file.htm"><b>2</b></a> </nobr><br><a href="../files/importing_graphs_from_file.htm"><b>importing</b></a> <br><a name="bms_IN"></a><a name="subkey_IN"></a><a href="../files/loop_nodes.htm"><b>incr</b></a> <br><a href="../files/adding_nodes.htm"><b>independent</b></a> <br><a href="../files/loop_nodes.htm"><b>index</b></a> <br><a href="../files/usage_of_supervisor_module.htm"><b>indicate</b></a> <br><a href="../files/computation_nodes.htm"><b>indicates</b></a> <br><a href="../files/adding_nodes.htm"><b>indications</b></a> <br><a href="../files/usage_of_supervisor_module.htm"><b>information</b></a> <br><nobr>informations <a href="../files/changing_node_description.htm"><b>1</b></a> <a href="../files/adding_information_about_graphs.htm"><b>2</b></a> <a href="../files/opening_graphs_referenced_in_the_study.htm"><b>3</b></a> </nobr><br><nobr>ingate <a href="../files/computation_nodes.htm"><b>1</b></a> <a href="../files/adding_links_from_an_output_port.htm"><b>2</b></a> <a href="../files/loop_nodes.htm"><b>3</b></a> <a href="../files/switch_nodes.htm"><b>4</b></a> </nobr><br><a href="../files/loop_nodes.htm"><b>init</b></a> <br><nobr>initial <a href="../files/about_nodes.htm"><b>1</b></a> <a href="../files/running_dataflow.htm"><b>2</b></a> <a href="../files/loop_nodes.htm"><b>3</b></a> <a href="../files/switch_nodes.htm"><b>4</b></a> </nobr><br><nobr>initialization <a href="../files/loop_nodes.htm"><b>1</b></a> <a href="../files/usage_of_supervisor_module.htm"><b>2</b></a> </nobr><br><a href="../files/importing_graphs_from_file.htm"><b>initialized</b></a> <br><a href="../files/loop_nodes.htm"><b>initloop</b></a> <br><nobr>inline <a href="../files/editing_node_function.htm"><b>1</b></a> <a href="../files/computation_nodes.htm"><b>2</b></a> <a href="../files/adding_nodes.htm"><b>3</b></a> <a href="../files/adding_node_ports.htm"><b>4</b></a> <a href="../files/loop_nodes.htm"><b>5</b></a> <a href="../files/introduction_to_supervisor.htm"><b>6</b></a> <a href="../files/goto_nodes.htm"><b>7</b></a> <a href="../files/switch_nodes.htm"><b>8</b></a> </nobr><br><nobr>input <a href="../files/directing_dataflow_between_nodes.htm"><b>1</b></a> <a href="../files/computation_nodes.htm"><b>2</b></a> <a href="../files/adding_nodes.htm"><b>3</b></a> <a href="../files/adding_node_ports.htm"><b>4</b></a> <a href="../files/adding_links_from_an_output_port.htm"><b>5</b></a> <a href="../files/about_nodes.htm"><b>6</b></a> <a href="../files/running_dataflow.htm"><b>7</b></a> <a href="../files/loop_nodes.htm"><b>8</b></a> <a href="../files/goto_nodes.htm"><b>9</b></a> <a href="../files/viewing_output_vaues.htm"><b>10</b></a> <a href="../files/usage_of_supervisor_module.htm"><b>11</b></a> <a href="../files/switch_nodes.htm"><b>12</b></a> <a href="../files/setting_input_parameters.htm"><b>13</b></a> </nobr><br><nobr>insert <a href="../files/inserting_graphs.htm"><b>1</b></a> <a href="../files/usage_of_supervisor_module.htm"><b>2</b></a> </nobr><br><a href="../files/inserting_graphs.htm"><b>inserting</b></a> <br><nobr>insertion <a href="../files/deleting_nodes.htm"><b>1</b></a> <a href="../files/renaming_nodes.htm"><b>2</b></a> <a href="../files/inserting_graphs.htm"><b>3</b></a> </nobr><br><nobr>inside <a href="../files/loop_nodes.htm"><b>1</b></a> <a href="../files/switch_nodes.htm"><b>2</b></a> </nobr><br><a href="../files/switch_nodes.htm"><b>integer</b></a> <br><a href="../files/adding_nodes.htm"><b>integrated</b></a> <br><nobr>interactive <a href="../files/introduction_to_supervisor.htm"><b>1</b></a> <a href="../files/usage_of_supervisor_module.htm"><b>2</b></a> </nobr><br><a href="../files/controlling_execution_of_the_graphs.htm"><b>interactively</b></a> <br><nobr>interface <a href="../files/adding_nodes.htm"><b>1</b></a> <a href="../files/reloading_dataflow.htm"><b>2</b></a> </nobr><br><a href="../files/adding_nodes.htm"><b>interfaces</b></a> <br><a href="../files/running_dataflow.htm"><b>intermediate</b></a> <br><a href="../files/directing_dataflow_between_nodes.htm"><b>internal</b></a> <br><a href="../files/introduction_to_supervisor.htm"><b>introduction</b></a> <br><nobr><a name="bms_IT"></a><a name="subkey_IT"></a>item <a href="../files/editing_node_function.htm"><b>1</b></a> <a href="../files/running_supervisor.htm"><b>2</b></a> <a href="../files/reloading_dataflow.htm"><b>3</b></a> </nobr><br><a href="../files/editing_imported_graphs.htm"><b>items</b></a> <br>\r
-<br><br>\r
-<nobr><a name="bm_J"></a><a name="subkey_JU"></a>just <a href="../files/changing_node_description.htm"><b>1</b></a> <a href="../files/adding_information_about_graphs.htm"><b>2</b></a> <a href="../files/opening_graphs_referenced_in_the_study.htm"><b>3</b></a> </nobr><br>\r
-<br><br>\r
-<nobr><a name="bm_K"></a><a name="subkey_KI"></a>kill <a href="../files/controlling_execution_of_the_graphs.htm"><b>1</b></a> <a href="../files/running_dataflow.htm"><b>2</b></a> </nobr><br><nobr>killed <a href="../files/controlling_execution_of_the_graphs.htm"><b>1</b></a> <a href="../files/computation_nodes.htm"><b>2</b></a> <a href="../files/running_dataflow.htm"><b>3</b></a> </nobr><br><nobr>kind <a href="../files/loop_nodes.htm"><b>1</b></a> <a href="../files/switch_nodes.htm"><b>2</b></a> </nobr><br><nobr>kinds <a href="../files/loop_nodes.htm"><b>1</b></a> <a href="../files/switch_nodes.htm"><b>2</b></a> </nobr><br>\r
-<br><br>\r
-<nobr><a name="bm_L"></a><a name="subkey_LA"></a>last <a href="../files/running_dataflow.htm"><b>1</b></a> <a href="../files/loop_nodes.htm"><b>2</b></a> <a href="../files/switch_nodes.htm"><b>3</b></a> </nobr><br><nobr>launch <a href="../files/controlling_execution_of_the_graphs.htm"><b>1</b></a> <a href="../files/running_supervisor.htm"><b>2</b></a> <a href="../files/running_dataflow.htm"><b>3</b></a> <a href="../files/usage_of_supervisor_module.htm"><b>4</b></a> <a href="../files/step-by-step_execution.htm"><b>5</b></a> </nobr><br><nobr>launched <a href="../files/computation_nodes.htm"><b>1</b></a> <a href="../files/referencing_output_values_in_the_study.htm"><b>2</b></a> <a href="../files/loop_nodes.htm"><b>3</b></a> </nobr><br><a href="../files/loop_nodes.htm"><b>launches</b></a> <br><a name="bms_LE"></a><a name="subkey_LE"></a><a href="../files/switch_nodes.htm"><b>least</b></a> <br><a href="../files/adding_nodes.htm"><b>level</b></a> <br><a href="../files/adding_nodes.htm"><b>levels</b></a> <br><nobr><a name="bms_LI"></a><a name="subkey_LI"></a>like <a href="../files/adding_nodes.htm"><b>1</b></a> <a href="../files/adding_links_from_an_output_port.htm"><b>2</b></a> <a href="../files/inserting_graphs.htm"><b>3</b></a> </nobr><br><nobr>line <a href="../files/adding_links_from_an_output_port.htm"><b>1</b></a> <a href="../files/modifying_links.htm"><b>2</b></a> </nobr><br><nobr>link <a href="../files/directing_dataflow_between_nodes.htm"><b>1</b></a> <a href="../files/deleting_links.htm"><b>2</b></a> <a href="../files/adding_links_from_an_output_port.htm"><b>3</b></a> <a href="../files/about_nodes.htm"><b>4</b></a> <a href="../files/modifying_links.htm"><b>5</b></a> <a href="../files/loop_nodes.htm"><b>6</b></a> <a href="../files/usage_of_supervisor_module.htm"><b>7</b></a> </nobr><br><nobr>linked <a href="../files/creating_a_new_graph.htm"><b>1</b></a> <a href="../files/adding_links_from_an_output_port.htm"><b>2</b></a> <a href="../files/loop_nodes.htm"><b>3</b></a> <a href="../files/introduction_to_supervisor.htm"><b>4</b></a> <a href="../files/setting_input_parameters.htm"><b>5</b></a> </nobr><br><nobr>linking <a href="../files/adding_links_from_an_output_port.htm"><b>1</b></a> <a href="../files/introduction_to_supervisor.htm"><b>2</b></a> </nobr><br><nobr>links <a href="../files/deleting_links.htm"><b>1</b></a> <a href="../files/adding_links_from_an_output_port.htm"><b>2</b></a> <a href="../files/about_nodes.htm"><b>3</b></a> <a href="../files/modifying_links.htm"><b>4</b></a> <a href="../files/loop_nodes.htm"><b>5</b></a> <a href="../files/importing_graphs_from_file.htm"><b>6</b></a> <a href="../files/usage_of_supervisor_module.htm"><b>7</b></a> <a href="../files/switch_nodes.htm"><b>8</b></a> </nobr><br><a href="../files/adding_nodes.htm"><b>list</b></a> <br><nobr><a name="bms_LL"></a><a name="subkey_LL"></a>ll <a href="../files/changing_node_description.htm"><b>1</b></a> <a href="../files/adding_information_about_graphs.htm"><b>2</b></a> <a href="../files/referencing_output_values_in_the_study.htm"><b>3</b></a> <a href="../files/opening_graphs_referenced_in_the_study.htm"><b>4</b></a> </nobr><br><a name="bms_LO"></a><a name="subkey_LO"></a><a href="../files/adding_nodes.htm"><b>load</b></a> <br><a href="../files/introduction_to_supervisor.htm"><b>loading</b></a> <br><nobr>locate <a href="../files/points_in_links.htm"><b>1</b></a> <a href="../files/placing_nodes_in_the_window.htm"><b>2</b></a> <a href="../files/usage_of_supervisor_module.htm"><b>3</b></a> </nobr><br><a href="../files/running_supervisor.htm"><b>located</b></a> <br><nobr>locating <a href="../files/points_in_links.htm"><b>1</b></a> <a href="../files/placing_nodes_in_the_window.htm"><b>2</b></a> </nobr><br><a href="../files/filtering_and_storing_output_messages.htm"><b>logging</b></a> <br><a href="../files/modifying_links.htm"><b>look</b></a> <br><nobr>loop <a href="../files/adding_nodes.htm"><b>1</b></a> <a href="../files/about_nodes.htm"><b>2</b></a> <a href="../files/loop_nodes.htm"><b>3</b></a> <a href="../files/switch_nodes.htm"><b>4</b></a> </nobr><br><a href="../files/loop_nodes.htm"><b>loopnode</b></a> <br><nobr>loops <a href="../files/running_dataflow.htm"><b>1</b></a> <a href="../files/loop_nodes.htm"><b>2</b></a> <a href="../files/usage_of_supervisor_module.htm"><b>3</b></a> </nobr><br>\r
-<br><br>\r
-<nobr><a name="bm_M"></a><a name="subkey_MA"></a>main <a href="../files/editing_imported_graphs.htm"><b>1</b></a> <a href="../files/deleting_nodes.htm"><b>2</b></a> <a href="../files/creating_a_new_graph.htm"><b>3</b></a> <a href="../files/adding_nodes.htm"><b>4</b></a> <a href="../files/running_dataflow.htm"><b>5</b></a> <a href="../files/renaming_nodes.htm"><b>6</b></a> <a href="../files/reloading_dataflow.htm"><b>7</b></a> <a href="../files/inserting_graphs.htm"><b>8</b></a> <a href="../files/importing_graphs_from_file.htm"><b>9</b></a> <a href="../files/exporting_graphs.htm"><b>10</b></a> <a href="../files/usage_of_supervisor_module.htm"><b>11</b></a> <a href="../files/step-by-step_execution.htm"><b>12</b></a> </nobr><br><nobr>make <a href="../files/modifying_links.htm"><b>1</b></a> <a href="../files/exporting_graphs.htm"><b>2</b></a> </nobr><br><a href="../files/loop_nodes.htm"><b>manage</b></a> <br><a href="../files/directing_dataflow_between_nodes.htm"><b>managed</b></a> <br><a href="../files/switch_nodes.htm"><b>management</b></a> <br><nobr>manually <a href="../files/adding_nodes.htm"><b>1</b></a> <a href="../files/reloading_dataflow.htm"><b>2</b></a> </nobr><br><a href="../files/modifying_links.htm"><b>mark</b></a> <br><a href="../files/loop_nodes.htm"><b>max</b></a> <br><a name="bms_ME"></a><a name="subkey_ME"></a><a href="../files/copying_graphs.htm"><b>mean</b></a> <br><a href="../files/about_nodes.htm"><b>means</b></a> <br><a href="../files/changing_view_mode.htm"><b>mentioned</b></a> <br><nobr>menu <a href="../files/editing_imported_graphs.htm"><b>1</b></a> <a href="../files/deleting_links.htm"><b>2</b></a> <a href="../files/creating_a_new_graph.htm"><b>3</b></a> <a href="../files/copying_graphs.htm"><b>4</b></a> <a href="../files/changing_view_mode.htm"><b>5</b></a> <a href="../files/changing_node_description.htm"><b>6</b></a> <a href="../files/adding_nodes.htm"><b>7</b></a> <a href="../files/adding_links_from_an_output_port.htm"><b>8</b></a> <a href="../files/adding_information_about_graphs.htm"><b>9</b></a> <a href="../files/running_dataflow.htm"><b>10</b></a> <a href="../files/reloading_dataflow.htm"><b>11</b></a> <a href="../files/referencing_output_values_in_the_study.htm"><b>12</b></a> <a href="../files/opening_graphs_referenced_in_the_study.htm"><b>13</b></a> <a href="../files/modifying_links.htm"><b>14</b></a> <a href="../files/inserting_graphs.htm"><b>15</b></a> <a href="../files/importing_graphs_from_file.htm"><b>16</b></a> <a href="../files/filtering_and_storing_output_messages.htm"><b>17</b></a> <a href="../files/exporting_graphs.htm"><b>18</b></a> <a href="../files/viewing_output_vaues.htm"><b>19</b></a> <a href="../files/step-by-step_execution.htm"><b>20</b></a> <a href="../files/setting_input_parameters.htm"><b>21</b></a> </nobr><br><a href="../files/running_supervisor.htm"><b>menus</b></a> <br><nobr>messages <a href="../files/introduction_to_supervisor.htm"><b>1</b></a> <a href="../files/filtering_and_storing_output_messages.htm"><b>2</b></a> <a href="../files/usage_of_supervisor_module.htm"><b>3</b></a> </nobr><br><nobr>method <a href="../files/changing_view_mode.htm"><b>1</b></a> <a href="../files/adding_nodes.htm"><b>2</b></a> <a href="../files/running_dataflow.htm"><b>3</b></a> </nobr><br><a href="../files/adding_nodes.htm"><b>methods</b></a> <br><a name="bms_MI"></a><a name="subkey_MI"></a><a href="../files/loop_nodes.htm"><b>min</b></a> <br><nobr><a name="bms_MO"></a><a name="subkey_MO"></a>mode <a href="../files/computation_nodes.htm"><b>1</b></a> <a href="../files/changing_view_mode.htm"><b>2</b></a> <a href="../files/modifying_links.htm"><b>3</b></a> <a href="../files/introduction_to_supervisor.htm"><b>4</b></a> </nobr><br><a href="../files/changing_view_mode.htm"><b>modes</b></a> <br><nobr>modifiable <a href="../files/editing_node_function.htm"><b>1</b></a> <a href="../files/editing_imported_graphs.htm"><b>2</b></a> <a href="../files/deleting_nodes.htm"><b>3</b></a> <a href="../files/changing_node_description.htm"><b>4</b></a> <a href="../files/adding_node_ports.htm"><b>5</b></a> <a href="../files/adding_information_about_graphs.htm"><b>6</b></a> <a href="../files/renaming_nodes.htm"><b>7</b></a> <a href="../files/opening_graphs_referenced_in_the_study.htm"><b>8</b></a> <a href="../files/inserting_graphs.htm"><b>9</b></a> <a href="../files/usage_of_supervisor_module.htm"><b>10</b></a> </nobr><br><nobr>modification <a href="../files/adding_nodes.htm"><b>1</b></a> <a href="../files/importing_graphs_from_file.htm"><b>2</b></a> </nobr><br><a href="../files/reloading_dataflow.htm"><b>modifications</b></a> <br><nobr>modify <a href="../files/editing_imported_graphs.htm"><b>1</b></a> <a href="../files/running_dataflow.htm"><b>2</b></a> <a href="../files/modifying_links.htm"><b>3</b></a> <a href="../files/importing_graphs_from_file.htm"><b>4</b></a> <a href="../files/usage_of_supervisor_module.htm"><b>5</b></a> </nobr><br><a href="../files/modifying_links.htm"><b>modifying</b></a> <br><nobr>module <a href="../files/editing_imported_graphs.htm"><b>1</b></a> <a href="../files/about_nodes.htm"><b>2</b></a> <a href="../files/running_supervisor.htm"><b>3</b></a> <a href="../files/introduction_to_supervisor.htm"><b>4</b></a> <a href="../files/usage_of_supervisor_module.htm"><b>5</b></a> </nobr><br><a href="../files/switch_nodes.htm"><b>moment</b></a> <br><nobr>mouse <a href="../files/deleting_links.htm"><b>1</b></a> <a href="../files/adding_links_from_an_output_port.htm"><b>2</b></a> <a href="../files/points_in_links.htm"><b>3</b></a> <a href="../files/placing_nodes_in_the_window.htm"><b>4</b></a> <a href="../files/modifying_links.htm"><b>5</b></a> </nobr><br><nobr>move <a href="../files/adding_nodes.htm"><b>1</b></a> <a href="../files/adding_links_from_an_output_port.htm"><b>2</b></a> <a href="../files/modifying_links.htm"><b>3</b></a> <a href="../files/usage_of_supervisor_module.htm"><b>4</b></a> </nobr><br><a href="../files/modifying_links.htm"><b>movements</b></a> <br><br><br></p><p class="ftsbody" align="center"><a href="whlstf3.htm" target="_self" title="previous search group"><b>>></b></a>\r
-\r
-</body>\r
-\r
-</html>\r
-\r
+++ /dev/null
-<html>\r
-<head>\r
-<title>Search Words List</title>\r
-<meta http-equiv="content-type" content="text/html; charset=iso-8859-1">\r
-<meta name="generator" content="RoboHelp by eHelp Corporation www.ehelp.com">\r
-<meta name "description" content="WebHelp 2002">\r
-<base target="bsscright">\r
-<style>\r
-<!--\r
-body {margin-left:1pt; margin-top:1pt; margin-right:1pt;font-family:Arial; font-size:9pt;}\r
-\r
-A:link {font-family:Arial; font-size:9pt; color:#000000; font-style:normal; text-decoration:none; }\r
-A:visited {font-family:Arial; font-size:9pt; color:#000000; font-style:normal; text-decoration:none; }\r
-A:active {background-color:#cccccc;}\r
-A:hover {font-family:Arial; font-size:9pt; color:#007f00; font-style:normal; text-decoration:underline; }\r
-\r
-.tabs {background-color:#c0c0c0;}\r
-.ftsheader {margin-left:10pt; margin-top:0pt;}\r
-.ftsbody {margin-left:10pt; margin-top:0pt;}\r
-.inactive {color:#666666;}\r
-.ftsheader {background-color:White; } \r
-\r
-body {background-color:White; } \r
-p {color:Black; } p {font-family:Tahoma; } p {font-size:8pt; } p {font-style:Normal; } p {text-decoration:none; } \r
-A:link {color:Black; } A:link {font-family:Tahoma; } A:link {font-size:8pt; } A:link {font-style:Normal; } A:link {text-decoration:none; } \r
-A:visited {color:Black; } A:visited {font-family:Tahoma; } A:visited {font-size:8pt; } A:visited {font-style:Normal; } A:visited {text-decoration:none; } \r
-A:active {background-color:Silver; } \r
-A:hover {color:Navy; } A:hover {font-family:Tahoma; } A:hover {font-size:8pt; } A:hover {font-style:Normal; } A:hover {text-decoration:underline; } \r
-\r
--->\r
-</style>\r
-</head>\r
-<body marginheight="0" marginwidth="0">\r
-<p class="ftsbody" align="center"><a href="whlstf2.htm" target="_self" title="previous search group"><b><<</b></a><br><br></p>\r
-<p class="ftsbody">\r
-<nobr><a name="bms_MU"></a><a name="subkey_MU"></a>must <a href="../files/loop_nodes.htm"><b>1</b></a> <a href="../files/switch_nodes.htm"><b>2</b></a> </nobr><br>\r
-<br><br>\r
-<nobr><a name="bm_N"></a><a name="subkey_NA"></a>name <a href="../files/computation_nodes.htm"><b>1</b></a> <a href="../files/changing_node_description.htm"><b>2</b></a> <a href="../files/adding_information_about_graphs.htm"><b>3</b></a> <a href="../files/renaming_nodes.htm"><b>4</b></a> <a href="../files/opening_graphs_referenced_in_the_study.htm"><b>5</b></a> <a href="../files/loop_nodes.htm"><b>6</b></a> <a href="../files/exporting_graphs.htm"><b>7</b></a> <a href="../files/switch_nodes.htm"><b>8</b></a> </nobr><br><nobr><a name="bms_NE"></a><a name="subkey_NE"></a>necessary <a href="../files/editing_imported_graphs.htm"><b>1</b></a> <a href="../files/computation_nodes.htm"><b>2</b></a> <a href="../files/adding_nodes.htm"><b>3</b></a> <a href="../files/referencing_output_values_in_the_study.htm"><b>4</b></a> <a href="../files/goto_nodes.htm"><b>5</b></a> <a href="../files/usage_of_supervisor_module.htm"><b>6</b></a> </nobr><br><nobr>new <a href="../files/editing_imported_graphs.htm"><b>1</b></a> <a href="../files/creating_a_new_graph.htm"><b>2</b></a> <a href="../files/copying_graphs.htm"><b>3</b></a> <a href="../files/adding_nodes.htm"><b>4</b></a> <a href="../files/running_supervisor.htm"><b>5</b></a> <a href="../files/running_dataflow.htm"><b>6</b></a> <a href="../files/renaming_nodes.htm"><b>7</b></a> <a href="../files/exporting_graphs.htm"><b>8</b></a> <a href="../files/usage_of_supervisor_module.htm"><b>9</b></a> <a href="../files/setting_input_parameters.htm"><b>10</b></a> </nobr><br><nobr>next <a href="../files/adding_nodes.htm"><b>1</b></a> <a href="../files/about_nodes.htm"><b>2</b></a> <a href="../files/referencing_output_values_in_the_study.htm"><b>3</b></a> <a href="../files/loop_nodes.htm"><b>4</b></a> <a href="../files/step-by-step_execution.htm"><b>5</b></a> </nobr><br><nobr><a name="bms_NO"></a><a name="subkey_NO"></a>node <a href="../files/editing_node_function.htm"><b>1</b></a> <a href="../files/directing_dataflow_between_nodes.htm"><b>2</b></a> <a href="../files/deleting_nodes.htm"><b>3</b></a> <a href="../files/controlling_execution_of_the_graphs.htm"><b>4</b></a> <a href="../files/computation_nodes.htm"><b>5</b></a> <a href="../files/changing_view_mode.htm"><b>6</b></a> <a href="../files/changing_node_description.htm"><b>7</b></a> <a href="../files/adding_nodes.htm"><b>8</b></a> <a href="../files/adding_node_ports.htm"><b>9</b></a> <a href="../files/adding_links_from_an_output_port.htm"><b>10</b></a> <a href="../files/about_nodes.htm"><b>11</b></a> <a href="../files/running_dataflow.htm"><b>12</b></a> <a href="../files/renaming_nodes.htm"><b>13</b></a> <a href="../files/referencing_output_values_in_the_study.htm"><b>14</b></a> <a href="../files/points_in_links.htm"><b>15</b></a> <a href="../files/placing_nodes_in_the_window.htm"><b>16</b></a> <a href="../files/loop_nodes.htm"><b>17</b></a> <a href="../files/introduction_to_supervisor.htm"><b>18</b></a> <a href="../files/goto_nodes.htm"><b>19</b></a> <a href="../files/filtering_and_storing_output_messages.htm"><b>20</b></a> <a href="../files/viewing_output_vaues.htm"><b>21</b></a> <a href="../files/usage_of_supervisor_module.htm"><b>22</b></a> <a href="../files/switch_nodes.htm"><b>23</b></a> <a href="../files/step-by-step_execution.htm"><b>24</b></a> <a href="../files/setting_input_parameters.htm"><b>25</b></a> </nobr><br><nobr>nodes <a href="../files/editing_node_function.htm"><b>1</b></a> <a href="../files/directing_dataflow_between_nodes.htm"><b>2</b></a> <a href="../files/deleting_nodes.htm"><b>3</b></a> <a href="../files/creating_a_new_graph.htm"><b>4</b></a> <a href="../files/computation_nodes.htm"><b>5</b></a> <a href="../files/changing_view_mode.htm"><b>6</b></a> <a href="../files/adding_nodes.htm"><b>7</b></a> <a href="../files/adding_node_ports.htm"><b>8</b></a> <a href="../files/adding_links_from_an_output_port.htm"><b>9</b></a> <a href="../files/about_nodes.htm"><b>10</b></a> <a href="../files/running_dataflow.htm"><b>11</b></a> <a href="../files/renaming_nodes.htm"><b>12</b></a> <a href="../files/referencing_output_values_in_the_study.htm"><b>13</b></a> <a href="../files/points_in_links.htm"><b>14</b></a> <a href="../files/placing_nodes_in_the_window.htm"><b>15</b></a> <a href="../files/loop_nodes.htm"><b>16</b></a> <a href="../files/introduction_to_supervisor.htm"><b>17</b></a> <a href="../files/importing_graphs_from_file.htm"><b>18</b></a> <a href="../files/goto_nodes.htm"><b>19</b></a> <a href="../files/viewing_output_vaues.htm"><b>20</b></a> <a href="../files/usage_of_supervisor_module.htm"><b>21</b></a> <a href="../files/switch_nodes.htm"><b>22</b></a> <a href="../files/setting_input_parameters.htm"><b>23</b></a> </nobr><br><nobr>normal <a href="../files/changing_view_mode.htm"><b>1</b></a> <a href="../files/modifying_links.htm"><b>2</b></a> </nobr><br><a href="../files/filtering_and_storing_output_messages.htm"><b>notification</b></a> <br><a name="bms_NU"></a><a name="subkey_NU"></a><a href="../files/introduction_to_supervisor.htm"><b>numeric</b></a> <br>\r
-<br><br>\r
-<nobr><a name="bm_O"></a><a name="subkey_OB"></a>object <a href="../files/referencing_output_values_in_the_study.htm"><b>1</b></a> <a href="../files/setting_input_parameters.htm"><b>2</b></a> </nobr><br><a href="../files/usage_of_supervisor_module.htm"><b>obtain</b></a> <br><nobr><a name="bms_OK"></a><a name="subkey_OK"></a>ok <a href="../files/changing_node_description.htm"><b>1</b></a> <a href="../files/adding_information_about_graphs.htm"><b>2</b></a> <a href="../files/renaming_nodes.htm"><b>3</b></a> <a href="../files/opening_graphs_referenced_in_the_study.htm"><b>4</b></a> <a href="../files/importing_graphs_from_file.htm"><b>5</b></a> <a href="../files/setting_input_parameters.htm"><b>6</b></a> </nobr><br><nobr><a name="bms_ON"></a><a name="subkey_ON"></a>one <a href="../files/editing_node_function.htm"><b>1</b></a> <a href="../files/deleting_nodes.htm"><b>2</b></a> <a href="../files/computation_nodes.htm"><b>3</b></a> <a href="../files/adding_nodes.htm"><b>4</b></a> <a href="../files/adding_node_ports.htm"><b>5</b></a> <a href="../files/adding_links_from_an_output_port.htm"><b>6</b></a> <a href="../files/about_nodes.htm"><b>7</b></a> <a href="../files/renaming_nodes.htm"><b>8</b></a> <a href="../files/introduction_to_supervisor.htm"><b>9</b></a> <a href="../files/inserting_graphs.htm"><b>10</b></a> <a href="../files/goto_nodes.htm"><b>11</b></a> <a href="../files/switch_nodes.htm"><b>12</b></a> </nobr><br><nobr><a name="bms_OP"></a><a name="subkey_OP"></a>open <a href="../files/editing_imported_graphs.htm"><b>1</b></a> <a href="../files/copying_graphs.htm"><b>2</b></a> <a href="../files/adding_nodes.htm"><b>3</b></a> <a href="../files/inserting_graphs.htm"><b>4</b></a> </nobr><br><a href="../files/adding_nodes.htm"><b>opens</b></a> <br><a href="../files/running_dataflow.htm"><b>operating</b></a> <br><nobr>operation <a href="../files/running_dataflow.htm"><b>1</b></a> <a href="../files/exporting_graphs.htm"><b>2</b></a> </nobr><br><nobr>operations <a href="../files/running_dataflow.htm"><b>1</b></a> <a href="../files/introduction_to_supervisor.htm"><b>2</b></a> <a href="../files/step-by-step_execution.htm"><b>3</b></a> </nobr><br><a href="../files/adding_nodes.htm"><b>opposite</b></a> <br><nobr>option <a href="../files/editing_node_function.htm"><b>1</b></a> <a href="../files/deleting_nodes.htm"><b>2</b></a> <a href="../files/deleting_links.htm"><b>3</b></a> <a href="../files/copying_graphs.htm"><b>4</b></a> <a href="../files/controlling_execution_of_the_graphs.htm"><b>5</b></a> <a href="../files/changing_node_description.htm"><b>6</b></a> <a href="../files/adding_nodes.htm"><b>7</b></a> <a href="../files/adding_node_ports.htm"><b>8</b></a> <a href="../files/adding_links_from_an_output_port.htm"><b>9</b></a> <a href="../files/adding_information_about_graphs.htm"><b>10</b></a> <a href="../files/renaming_nodes.htm"><b>11</b></a> <a href="../files/referencing_output_values_in_the_study.htm"><b>12</b></a> <a href="../files/points_in_links.htm"><b>13</b></a> <a href="../files/placing_nodes_in_the_window.htm"><b>14</b></a> <a href="../files/opening_graphs_referenced_in_the_study.htm"><b>15</b></a> <a href="../files/modifying_links.htm"><b>16</b></a> <a href="../files/inserting_graphs.htm"><b>17</b></a> <a href="../files/importing_graphs_from_file.htm"><b>18</b></a> <a href="../files/filtering_and_storing_output_messages.htm"><b>19</b></a> <a href="../files/viewing_output_vaues.htm"><b>20</b></a> <a href="../files/step-by-step_execution.htm"><b>21</b></a> <a href="../files/setting_input_parameters.htm"><b>22</b></a> </nobr><br><a href="../files/usage_of_supervisor_module.htm"><b>optional</b></a> <br><a href="../files/adding_nodes.htm"><b>options</b></a> <br><a name="bms_OR"></a><a name="subkey_OR"></a><a href="../files/modifying_links.htm"><b>ortho</b></a> <br><nobr><a name="bms_OT"></a><a name="subkey_OT"></a>otherwise <a href="../files/changing_node_description.htm"><b>1</b></a> <a href="../files/adding_information_about_graphs.htm"><b>2</b></a> <a href="../files/opening_graphs_referenced_in_the_study.htm"><b>3</b></a> <a href="../files/loop_nodes.htm"><b>4</b></a> </nobr><br><a name="bms_OU"></a><a name="subkey_OU"></a><a href="../files/switch_nodes.htm"><b>our</b></a> <br><nobr>outgate <a href="../files/computation_nodes.htm"><b>1</b></a> <a href="../files/adding_links_from_an_output_port.htm"><b>2</b></a> <a href="../files/loop_nodes.htm"><b>3</b></a> <a href="../files/switch_nodes.htm"><b>4</b></a> </nobr><br><nobr>output <a href="../files/directing_dataflow_between_nodes.htm"><b>1</b></a> <a href="../files/computation_nodes.htm"><b>2</b></a> <a href="../files/adding_nodes.htm"><b>3</b></a> <a href="../files/adding_node_ports.htm"><b>4</b></a> <a href="../files/adding_links_from_an_output_port.htm"><b>5</b></a> <a href="../files/about_nodes.htm"><b>6</b></a> <a href="../files/running_dataflow.htm"><b>7</b></a> <a href="../files/referencing_output_values_in_the_study.htm"><b>8</b></a> <a href="../files/loop_nodes.htm"><b>9</b></a> <a href="../files/introduction_to_supervisor.htm"><b>10</b></a> <a href="../files/goto_nodes.htm"><b>11</b></a> <a href="../files/filtering_and_storing_output_messages.htm"><b>12</b></a> <a href="../files/viewing_output_vaues.htm"><b>13</b></a> <a href="../files/usage_of_supervisor_module.htm"><b>14</b></a> <a href="../files/switch_nodes.htm"><b>15</b></a> <a href="../files/setting_input_parameters.htm"><b>16</b></a> </nobr><br>\r
-<br><br>\r
-<nobr><a name="bm_P"></a><a name="subkey_PA"></a>parallel <a href="../files/directing_dataflow_between_nodes.htm"><b>1</b></a> <a href="../files/introduction_to_supervisor.htm"><b>2</b></a> </nobr><br><a href="../files/switch_nodes.htm"><b>parallelism</b></a> <br><nobr>parameter <a href="../files/adding_nodes.htm"><b>1</b></a> <a href="../files/referencing_output_values_in_the_study.htm"><b>2</b></a> <a href="../files/switch_nodes.htm"><b>3</b></a> <a href="../files/setting_input_parameters.htm"><b>4</b></a> </nobr><br><nobr>parameters <a href="../files/computation_nodes.htm"><b>1</b></a> <a href="../files/adding_nodes.htm"><b>2</b></a> <a href="../files/about_nodes.htm"><b>3</b></a> <a href="../files/running_dataflow.htm"><b>4</b></a> <a href="../files/referencing_output_values_in_the_study.htm"><b>5</b></a> <a href="../files/filtering_and_storing_output_messages.htm"><b>6</b></a> <a href="../files/viewing_output_vaues.htm"><b>7</b></a> <a href="../files/switch_nodes.htm"><b>8</b></a> <a href="../files/setting_input_parameters.htm"><b>9</b></a> </nobr><br><nobr>part <a href="../files/editing_node_function.htm"><b>1</b></a> <a href="../files/editing_imported_graphs.htm"><b>2</b></a> <a href="../files/deleting_nodes.htm"><b>3</b></a> <a href="../files/controlling_execution_of_the_graphs.htm"><b>4</b></a> <a href="../files/changing_view_mode.htm"><b>5</b></a> <a href="../files/changing_node_description.htm"><b>6</b></a> <a href="../files/adding_node_ports.htm"><b>7</b></a> <a href="../files/renaming_nodes.htm"><b>8</b></a> <a href="../files/points_in_links.htm"><b>9</b></a> <a href="../files/placing_nodes_in_the_window.htm"><b>10</b></a> <a href="../files/viewing_output_vaues.htm"><b>11</b></a> </nobr><br><nobr>particular <a href="../files/changing_view_mode.htm"><b>1</b></a> <a href="../files/usage_of_supervisor_module.htm"><b>2</b></a> </nobr><br><nobr>particularities <a href="../files/loop_nodes.htm"><b>1</b></a> <a href="../files/switch_nodes.htm"><b>2</b></a> </nobr><br><a href="../files/adding_nodes.htm"><b>paste</b></a> <br><a name="bms_PE"></a><a name="subkey_PE"></a><a href="../files/switch_nodes.htm"><b>perform</b></a> <br><a href="../files/running_dataflow.htm"><b>performed</b></a> <br><a href="../files/running_dataflow.htm"><b>performing</b></a> <br><a name="bms_PH"></a><a name="subkey_PH"></a><a href="../files/usage_of_supervisor_module.htm"><b>phases</b></a> <br><nobr><a name="bms_PI"></a><a name="subkey_PI"></a>picture <a href="../files/creating_a_new_graph.htm"><b>1</b></a> <a href="../files/adding_links_from_an_output_port.htm"><b>2</b></a> </nobr><br><nobr><a name="bms_PL"></a><a name="subkey_PL"></a>place <a href="../files/points_in_links.htm"><b>1</b></a> <a href="../files/placing_nodes_in_the_window.htm"><b>2</b></a> <a href="../files/modifying_links.htm"><b>3</b></a> </nobr><br><nobr>platform <a href="../files/adding_nodes.htm"><b>1</b></a> <a href="../files/introduction_to_supervisor.htm"><b>2</b></a> </nobr><br><nobr><a name="bms_PO"></a><a name="subkey_PO"></a>point <a href="../files/modifying_links.htm"><b>1</b></a> <a href="../files/usage_of_supervisor_module.htm"><b>2</b></a> </nobr><br><a href="../files/modifying_links.htm"><b>points</b></a> <br><nobr>pop <a href="../files/editing_imported_graphs.htm"><b>1</b></a> <a href="../files/deleting_links.htm"><b>2</b></a> <a href="../files/copying_graphs.htm"><b>3</b></a> <a href="../files/controlling_execution_of_the_graphs.htm"><b>4</b></a> <a href="../files/changing_view_mode.htm"><b>5</b></a> <a href="../files/changing_node_description.htm"><b>6</b></a> <a href="../files/adding_nodes.htm"><b>7</b></a> <a href="../files/adding_links_from_an_output_port.htm"><b>8</b></a> <a href="../files/adding_information_about_graphs.htm"><b>9</b></a> <a href="../files/referencing_output_values_in_the_study.htm"><b>10</b></a> <a href="../files/opening_graphs_referenced_in_the_study.htm"><b>11</b></a> <a href="../files/modifying_links.htm"><b>12</b></a> <a href="../files/inserting_graphs.htm"><b>13</b></a> <a href="../files/filtering_and_storing_output_messages.htm"><b>14</b></a> <a href="../files/viewing_output_vaues.htm"><b>15</b></a> <a href="../files/setting_input_parameters.htm"><b>16</b></a> </nobr><br><nobr>port <a href="../files/directing_dataflow_between_nodes.htm"><b>1</b></a> <a href="../files/computation_nodes.htm"><b>2</b></a> <a href="../files/adding_nodes.htm"><b>3</b></a> <a href="../files/adding_node_ports.htm"><b>4</b></a> <a href="../files/adding_links_from_an_output_port.htm"><b>5</b></a> <a href="../files/about_nodes.htm"><b>6</b></a> <a href="../files/referencing_output_values_in_the_study.htm"><b>7</b></a> <a href="../files/modifying_links.htm"><b>8</b></a> <a href="../files/loop_nodes.htm"><b>9</b></a> <a href="../files/goto_nodes.htm"><b>10</b></a> <a href="../files/viewing_output_vaues.htm"><b>11</b></a> <a href="../files/switch_nodes.htm"><b>12</b></a> <a href="../files/setting_input_parameters.htm"><b>13</b></a> </nobr><br><nobr>ports <a href="../files/directing_dataflow_between_nodes.htm"><b>1</b></a> <a href="../files/deleting_links.htm"><b>2</b></a> <a href="../files/computation_nodes.htm"><b>3</b></a> <a href="../files/changing_view_mode.htm"><b>4</b></a> <a href="../files/adding_node_ports.htm"><b>5</b></a> <a href="../files/adding_links_from_an_output_port.htm"><b>6</b></a> <a href="../files/about_nodes.htm"><b>7</b></a> <a href="../files/loop_nodes.htm"><b>8</b></a> <a href="../files/importing_graphs_from_file.htm"><b>9</b></a> <a href="../files/goto_nodes.htm"><b>10</b></a> <a href="../files/viewing_output_vaues.htm"><b>11</b></a> <a href="../files/usage_of_supervisor_module.htm"><b>12</b></a> <a href="../files/switch_nodes.htm"><b>13</b></a> <a href="../files/setting_input_parameters.htm"><b>14</b></a> </nobr><br><a href="../files/modifying_links.htm"><b>positions</b></a> <br><nobr>possibility <a href="../files/editing_node_function.htm"><b>1</b></a> <a href="../files/directing_dataflow_between_nodes.htm"><b>2</b></a> </nobr><br><nobr>possible <a href="../files/editing_node_function.htm"><b>1</b></a> <a href="../files/deleting_nodes.htm"><b>2</b></a> <a href="../files/adding_node_ports.htm"><b>3</b></a> <a href="../files/renaming_nodes.htm"><b>4</b></a> <a href="../files/loop_nodes.htm"><b>5</b></a> <a href="../files/inserting_graphs.htm"><b>6</b></a> </nobr><br><a name="bms_PR"></a><a name="subkey_PR"></a><a href="../files/computation_nodes.htm"><b>predefined</b></a> <br><nobr>present <a href="../files/computation_nodes.htm"><b>1</b></a> <a href="../files/switch_nodes.htm"><b>2</b></a> </nobr><br><nobr>presentation <a href="../files/points_in_links.htm"><b>1</b></a> <a href="../files/placing_nodes_in_the_window.htm"><b>2</b></a> <a href="../files/introduction_to_supervisor.htm"><b>3</b></a> </nobr><br><a href="../files/directing_dataflow_between_nodes.htm"><b>problems</b></a> <br><a href="../files/usage_of_supervisor_module.htm"><b>procedure</b></a> <br><nobr>processed <a href="../files/loop_nodes.htm"><b>1</b></a> <a href="../files/goto_nodes.htm"><b>2</b></a> <a href="../files/switch_nodes.htm"><b>3</b></a> </nobr><br><a href="../files/filtering_and_storing_output_messages.htm"><b>produced</b></a> <br><a href="../files/introduction_to_supervisor.htm"><b>progress</b></a> <br><a href="../files/adding_nodes.htm"><b>provide</b></a> <br><a href="../files/introduction_to_supervisor.htm"><b>provided</b></a> <br><a href="../files/computation_nodes.htm"><b>provides</b></a> <br><a name="bms_PU"></a><a name="subkey_PU"></a><a href="../files/introduction_to_supervisor.htm"><b>publish</b></a> <br><nobr>put <a href="../files/referencing_output_values_in_the_study.htm"><b>1</b></a> <a href="../files/loop_nodes.htm"><b>2</b></a> <a href="../files/filtering_and_storing_output_messages.htm"><b>3</b></a> <a href="../files/usage_of_supervisor_module.htm"><b>4</b></a> <a href="../files/switch_nodes.htm"><b>5</b></a> </nobr><br><a name="bms_PY"></a><a name="subkey_PY"></a><a href="../files/adding_nodes.htm"><b>py</b></a> <br><nobr>python <a href="../files/computation_nodes.htm"><b>1</b></a> <a href="../files/adding_nodes.htm"><b>2</b></a> <a href="../files/reloading_dataflow.htm"><b>3</b></a> <a href="../files/loop_nodes.htm"><b>4</b></a> <a href="../files/switch_nodes.htm"><b>5</b></a> </nobr><br>\r
-<br><br>\r
-<a name="bm_R"></a><a name="subkey_RA"></a><a href="../files/modifying_links.htm"><b>random</b></a> <br><a href="../files/changing_view_mode.htm"><b>ranged</b></a> <br><nobr><a name="bms_RE"></a><a name="subkey_RE"></a>read <a href="../files/editing_node_function.htm"><b>1</b></a> <a href="../files/editing_imported_graphs.htm"><b>2</b></a> <a href="../files/deleting_nodes.htm"><b>3</b></a> <a href="../files/adding_node_ports.htm"><b>4</b></a> <a href="../files/renaming_nodes.htm"><b>5</b></a> <a href="../files/inserting_graphs.htm"><b>6</b></a> <a href="../files/importing_graphs_from_file.htm"><b>7</b></a> <a href="../files/usage_of_supervisor_module.htm"><b>8</b></a> </nobr><br><a href="../files/reloading_dataflow.htm"><b>realized</b></a> <br><a href="../files/goto_nodes.htm"><b>receive</b></a> <br><a href="../files/goto_nodes.htm"><b>received</b></a> <br><a href="../files/computation_nodes.htm"><b>rectangle</b></a> <br><a href="../files/adding_nodes.htm"><b>redo</b></a> <br><a href="../files/referencing_output_values_in_the_study.htm"><b>reference</b></a> <br><a href="../files/setting_input_parameters.htm"><b>referenced</b></a> <br><a href="../files/referencing_output_values_in_the_study.htm"><b>references</b></a> <br><a href="../files/referencing_output_values_in_the_study.htm"><b>referencing</b></a> <br><a href="../files/usage_of_supervisor_module.htm"><b>referred</b></a> <br><nobr>registered <a href="../files/computation_nodes.htm"><b>1</b></a> <a href="../files/reloading_dataflow.htm"><b>2</b></a> </nobr><br><a href="../files/reloading_dataflow.htm"><b>reload</b></a> <br><a href="../files/exporting_graphs.htm"><b>reloaded</b></a> <br><a href="../files/reloading_dataflow.htm"><b>reloading</b></a> <br><nobr>relocate <a href="../files/points_in_links.htm"><b>1</b></a> <a href="../files/placing_nodes_in_the_window.htm"><b>2</b></a> </nobr><br><a href="../files/referencing_output_values_in_the_study.htm"><b>remove</b></a> <br><nobr>rename <a href="../files/renaming_nodes.htm"><b>1</b></a> <a href="../files/usage_of_supervisor_module.htm"><b>2</b></a> </nobr><br><a href="../files/renaming_nodes.htm"><b>renaming</b></a> <br><nobr>replace <a href="../files/points_in_links.htm"><b>1</b></a> <a href="../files/placing_nodes_in_the_window.htm"><b>2</b></a> </nobr><br><a href="../files/loop_nodes.htm"><b>represent</b></a> <br><nobr>representation <a href="../files/changing_view_mode.htm"><b>1</b></a> <a href="../files/about_nodes.htm"><b>2</b></a> </nobr><br><a href="../files/loop_nodes.htm"><b>represented</b></a> <br><a href="../files/introduction_to_supervisor.htm"><b>representing</b></a> <br><nobr>represents <a href="../files/computation_nodes.htm"><b>1</b></a> <a href="../files/adding_nodes.htm"><b>2</b></a> <a href="../files/introduction_to_supervisor.htm"><b>3</b></a> <a href="../files/goto_nodes.htm"><b>4</b></a> </nobr><br><nobr>required <a href="../files/referencing_output_values_in_the_study.htm"><b>1</b></a> <a href="../files/points_in_links.htm"><b>2</b></a> <a href="../files/placing_nodes_in_the_window.htm"><b>3</b></a> <a href="../files/importing_graphs_from_file.htm"><b>4</b></a> </nobr><br><a href="../files/running_dataflow.htm"><b>restart</b></a> <br><a href="../files/running_dataflow.htm"><b>restarted</b></a> <br><a href="../files/switch_nodes.htm"><b>result</b></a> <br><nobr>resume <a href="../files/controlling_execution_of_the_graphs.htm"><b>1</b></a> <a href="../files/loop_nodes.htm"><b>2</b></a> <a href="../files/usage_of_supervisor_module.htm"><b>3</b></a> <a href="../files/step-by-step_execution.htm"><b>4</b></a> </nobr><br><nobr>resumed <a href="../files/controlling_execution_of_the_graphs.htm"><b>1</b></a> <a href="../files/running_dataflow.htm"><b>2</b></a> </nobr><br><nobr>return <a href="../files/modifying_links.htm"><b>1</b></a> <a href="../files/loop_nodes.htm"><b>2</b></a> <a href="../files/switch_nodes.htm"><b>3</b></a> </nobr><br><br><br></p><p class="ftsbody" align="center"><a href="whlstf4.htm" target="_self" title="previous search group"><b>>></b></a>\r
-\r
-</body>\r
-\r
-</html>\r
-\r
+++ /dev/null
-<html>\r
-<head>\r
-<title>Search Words List</title>\r
-<meta http-equiv="content-type" content="text/html; charset=iso-8859-1">\r
-<meta name="generator" content="RoboHelp by eHelp Corporation www.ehelp.com">\r
-<meta name "description" content="WebHelp 2002">\r
-<base target="bsscright">\r
-<style>\r
-<!--\r
-body {margin-left:1pt; margin-top:1pt; margin-right:1pt;font-family:Arial; font-size:9pt;}\r
-\r
-A:link {font-family:Arial; font-size:9pt; color:#000000; font-style:normal; text-decoration:none; }\r
-A:visited {font-family:Arial; font-size:9pt; color:#000000; font-style:normal; text-decoration:none; }\r
-A:active {background-color:#cccccc;}\r
-A:hover {font-family:Arial; font-size:9pt; color:#007f00; font-style:normal; text-decoration:underline; }\r
-\r
-.tabs {background-color:#c0c0c0;}\r
-.ftsheader {margin-left:10pt; margin-top:0pt;}\r
-.ftsbody {margin-left:10pt; margin-top:0pt;}\r
-.inactive {color:#666666;}\r
-.ftsheader {background-color:White; } \r
-\r
-body {background-color:White; } \r
-p {color:Black; } p {font-family:Tahoma; } p {font-size:8pt; } p {font-style:Normal; } p {text-decoration:none; } \r
-A:link {color:Black; } A:link {font-family:Tahoma; } A:link {font-size:8pt; } A:link {font-style:Normal; } A:link {text-decoration:none; } \r
-A:visited {color:Black; } A:visited {font-family:Tahoma; } A:visited {font-size:8pt; } A:visited {font-style:Normal; } A:visited {text-decoration:none; } \r
-A:active {background-color:Silver; } \r
-A:hover {color:Navy; } A:hover {font-family:Tahoma; } A:hover {font-size:8pt; } A:hover {font-style:Normal; } A:hover {text-decoration:underline; } \r
-\r
--->\r
-</style>\r
-</head>\r
-<body marginheight="0" marginwidth="0">\r
-<p class="ftsbody" align="center"><a href="whlstf3.htm" target="_self" title="previous search group"><b><<</b></a><br><br></p>\r
-<p class="ftsbody">\r
-<nobr><a name="bms_RI"></a><a name="subkey_RI"></a>right <a href="../files/editing_node_function.htm"><b>1</b></a> <a href="../files/deleting_nodes.htm"><b>2</b></a> <a href="../files/deleting_links.htm"><b>3</b></a> <a href="../files/copying_graphs.htm"><b>4</b></a> <a href="../files/controlling_execution_of_the_graphs.htm"><b>5</b></a> <a href="../files/changing_view_mode.htm"><b>6</b></a> <a href="../files/changing_node_description.htm"><b>7</b></a> <a href="../files/adding_nodes.htm"><b>8</b></a> <a href="../files/adding_node_ports.htm"><b>9</b></a> <a href="../files/adding_links_from_an_output_port.htm"><b>10</b></a> <a href="../files/adding_information_about_graphs.htm"><b>11</b></a> <a href="../files/renaming_nodes.htm"><b>12</b></a> <a href="../files/referencing_output_values_in_the_study.htm"><b>13</b></a> <a href="../files/opening_graphs_referenced_in_the_study.htm"><b>14</b></a> <a href="../files/modifying_links.htm"><b>15</b></a> <a href="../files/inserting_graphs.htm"><b>16</b></a> <a href="../files/filtering_and_storing_output_messages.htm"><b>17</b></a> <a href="../files/viewing_output_vaues.htm"><b>18</b></a> <a href="../files/setting_input_parameters.htm"><b>19</b></a> </nobr><br><a name="bms_RU"></a><a name="subkey_RU"></a><a href="../files/running_dataflow.htm"><b>run</b></a> <br><nobr>running <a href="../files/controlling_execution_of_the_graphs.htm"><b>1</b></a> <a href="../files/computation_nodes.htm"><b>2</b></a> <a href="../files/running_supervisor.htm"><b>3</b></a> <a href="../files/running_dataflow.htm"><b>4</b></a> <a href="../files/loop_nodes.htm"><b>5</b></a> <a href="../files/switch_nodes.htm"><b>6</b></a> </nobr><br>\r
-<br><br>\r
-<nobr><a name="bm_S"></a><a name="subkey_S{"></a>s <a href="../files/referencing_output_values_in_the_study.htm"><b>1</b></a> <a href="../files/loop_nodes.htm"><b>2</b></a> <a href="../files/introduction_to_supervisor.htm"><b>3</b></a> <a href="../files/goto_nodes.htm"><b>4</b></a> <a href="../files/switch_nodes.htm"><b>5</b></a> </nobr><br><a name="bms_SA"></a><a name="subkey_SA"></a><a href="../files/directing_dataflow_between_nodes.htm"><b>safe</b></a> <br><nobr>salome <a href="../files/adding_nodes.htm"><b>1</b></a> <a href="../files/running_supervisor.htm"><b>2</b></a> <a href="../files/introduction_to_supervisor.htm"><b>3</b></a> </nobr><br><nobr>same <a href="../files/editing_imported_graphs.htm"><b>1</b></a> <a href="../files/adding_nodes.htm"><b>2</b></a> <a href="../files/running_dataflow.htm"><b>3</b></a> <a href="../files/referencing_output_values_in_the_study.htm"><b>4</b></a> <a href="../files/modifying_links.htm"><b>5</b></a> <a href="../files/loop_nodes.htm"><b>6</b></a> </nobr><br><nobr>save <a href="../files/introduction_to_supervisor.htm"><b>1</b></a> <a href="../files/filtering_and_storing_output_messages.htm"><b>2</b></a> <a href="../files/exporting_graphs.htm"><b>3</b></a> </nobr><br><a href="../files/importing_graphs_from_file.htm"><b>saved</b></a> <br><a name="bms_SC"></a><a name="subkey_SC"></a><a href="../files/computation_nodes.htm"><b>script</b></a> <br><nobr><a name="bms_SE"></a><a name="subkey_SE"></a>search <a href="../files/inserting_graphs.htm"><b>1</b></a> <a href="../files/importing_graphs_from_file.htm"><b>2</b></a> <a href="../files/exporting_graphs.htm"><b>3</b></a> </nobr><br><a href="../files/adding_nodes.htm"><b>second</b></a> <br><nobr>see <a href="../files/editing_imported_graphs.htm"><b>1</b></a> <a href="../files/creating_a_new_graph.htm"><b>2</b></a> <a href="../files/adding_links_from_an_output_port.htm"><b>3</b></a> <a href="../files/referencing_output_values_in_the_study.htm"><b>4</b></a> <a href="../files/modifying_links.htm"><b>5</b></a> <a href="../files/loop_nodes.htm"><b>6</b></a> </nobr><br><a href="../files/editing_imported_graphs.htm"><b>seen</b></a> <br><nobr>select <a href="../files/editing_node_function.htm"><b>1</b></a> <a href="../files/editing_imported_graphs.htm"><b>2</b></a> <a href="../files/deleting_nodes.htm"><b>3</b></a> <a href="../files/controlling_execution_of_the_graphs.htm"><b>4</b></a> <a href="../files/adding_nodes.htm"><b>5</b></a> <a href="../files/adding_node_ports.htm"><b>6</b></a> <a href="../files/renaming_nodes.htm"><b>7</b></a> <a href="../files/importing_graphs_from_file.htm"><b>8</b></a> <a href="../files/exporting_graphs.htm"><b>9</b></a> </nobr><br><a href="../files/adding_nodes.htm"><b>selectall</b></a> <br><a href="../files/editing_imported_graphs.htm"><b>selection</b></a> <br><a href="../files/viewing_output_vaues.htm"><b>serves</b></a> <br><nobr>service <a href="../files/editing_node_function.htm"><b>1</b></a> <a href="../files/computation_nodes.htm"><b>2</b></a> <a href="../files/adding_nodes.htm"><b>3</b></a> <a href="../files/about_nodes.htm"><b>4</b></a> <a href="../files/loop_nodes.htm"><b>5</b></a> <a href="../files/introduction_to_supervisor.htm"><b>6</b></a> <a href="../files/goto_nodes.htm"><b>7</b></a> <a href="../files/switch_nodes.htm"><b>8</b></a> </nobr><br><nobr>services <a href="../files/directing_dataflow_between_nodes.htm"><b>1</b></a> <a href="../files/adding_nodes.htm"><b>2</b></a> <a href="../files/viewing_output_vaues.htm"><b>3</b></a> </nobr><br><nobr>set <a href="../files/changing_node_description.htm"><b>1</b></a> <a href="../files/running_dataflow.htm"><b>2</b></a> <a href="../files/modifying_links.htm"><b>3</b></a> <a href="../files/loop_nodes.htm"><b>4</b></a> <a href="../files/filtering_and_storing_output_messages.htm"><b>5</b></a> <a href="../files/viewing_output_vaues.htm"><b>6</b></a> <a href="../files/usage_of_supervisor_module.htm"><b>7</b></a> <a href="../files/setting_input_parameters.htm"><b>8</b></a> </nobr><br><nobr>setting <a href="../files/loop_nodes.htm"><b>1</b></a> <a href="../files/viewing_output_vaues.htm"><b>2</b></a> <a href="../files/setting_input_parameters.htm"><b>3</b></a> </nobr><br><a name="bms_SH"></a><a name="subkey_SH"></a><a href="../files/loop_nodes.htm"><b>shouldn</b></a> <br><a href="../files/changing_view_mode.htm"><b>show</b></a> <br><a href="../files/computation_nodes.htm"><b>shown</b></a> <br><nobr>shows <a href="../files/changing_view_mode.htm"><b>1</b></a> <a href="../files/loop_nodes.htm"><b>2</b></a> <a href="../files/switch_nodes.htm"><b>3</b></a> </nobr><br><a name="bms_SI"></a><a name="subkey_SI"></a><a href="../files/adding_nodes.htm"><b>signature</b></a> <br><nobr>simple <a href="../files/creating_a_new_graph.htm"><b>1</b></a> <a href="../files/loop_nodes.htm"><b>2</b></a> <a href="../files/goto_nodes.htm"><b>3</b></a> <a href="../files/switch_nodes.htm"><b>4</b></a> </nobr><br><a href="../files/adding_nodes.htm"><b>simultaneously</b></a> <br><a name="bms_SK"></a><a name="subkey_SK"></a><a href="../files/adding_links_from_an_output_port.htm"><b>sketch</b></a> <br><nobr><a name="bms_SO"></a><a name="subkey_SO"></a>so <a href="../files/adding_nodes.htm"><b>1</b></a> <a href="../files/about_nodes.htm"><b>2</b></a> <a href="../files/loop_nodes.htm"><b>3</b></a> <a href="../files/switch_nodes.htm"><b>4</b></a> <a href="../files/step-by-step_execution.htm"><b>5</b></a> </nobr><br><a href="../files/directing_dataflow_between_nodes.htm"><b>solve</b></a> <br><a href="../files/introduction_to_supervisor.htm"><b>solver</b></a> <br><nobr>solvers <a href="../files/introduction_to_supervisor.htm"><b>1</b></a> <a href="../files/usage_of_supervisor_module.htm"><b>2</b></a> </nobr><br><a href="../files/directing_dataflow_between_nodes.htm"><b>sometimes</b></a> <br><a name="bms_SP"></a><a name="subkey_SP"></a><a href="../files/directing_dataflow_between_nodes.htm"><b>special</b></a> <br><a href="../files/filtering_and_storing_output_messages.htm"><b>specify</b></a> <br><a href="../files/modifying_links.htm"><b>spervision</b></a> <br><nobr><a name="bms_ST"></a><a name="subkey_ST"></a>standard <a href="../files/adding_nodes.htm"><b>1</b></a> <a href="../files/renaming_nodes.htm"><b>2</b></a> <a href="../files/loop_nodes.htm"><b>3</b></a> <a href="../files/inserting_graphs.htm"><b>4</b></a> <a href="../files/importing_graphs_from_file.htm"><b>5</b></a> <a href="../files/exporting_graphs.htm"><b>6</b></a> </nobr><br><nobr>start <a href="../files/running_supervisor.htm"><b>1</b></a> <a href="../files/loop_nodes.htm"><b>2</b></a> <a href="../files/switch_nodes.htm"><b>3</b></a> <a href="../files/step-by-step_execution.htm"><b>4</b></a> </nobr><br><nobr>started <a href="../files/running_dataflow.htm"><b>1</b></a> <a href="../files/loop_nodes.htm"><b>2</b></a> <a href="../files/switch_nodes.htm"><b>3</b></a> </nobr><br><nobr>state <a href="../files/controlling_execution_of_the_graphs.htm"><b>1</b></a> <a href="../files/running_dataflow.htm"><b>2</b></a> <a href="../files/loop_nodes.htm"><b>3</b></a> <a href="../files/switch_nodes.htm"><b>4</b></a> </nobr><br><a href="../files/running_dataflow.htm"><b>states</b></a> <br><nobr>status <a href="../files/computation_nodes.htm"><b>1</b></a> <a href="../files/running_dataflow.htm"><b>2</b></a> <a href="../files/loop_nodes.htm"><b>3</b></a> <a href="../files/switch_nodes.htm"><b>4</b></a> </nobr><br><nobr>step <a href="../files/usage_of_supervisor_module.htm"><b>1</b></a> <a href="../files/step-by-step_execution.htm"><b>2</b></a> </nobr><br><nobr>stop <a href="../files/running_dataflow.htm"><b>1</b></a> <a href="../files/usage_of_supervisor_module.htm"><b>2</b></a> </nobr><br><a href="../files/running_dataflow.htm"><b>stopped</b></a> <br><a href="../files/exporting_graphs.htm"><b>storage</b></a> <br><a href="../files/referencing_output_values_in_the_study.htm"><b>store</b></a> <br><nobr>stored <a href="../files/about_nodes.htm"><b>1</b></a> <a href="../files/importing_graphs_from_file.htm"><b>2</b></a> </nobr><br><a href="../files/adding_links_from_an_output_port.htm"><b>straight</b></a> <br><a href="../files/computation_nodes.htm"><b>string</b></a> <br><nobr>structure <a href="../files/computation_nodes.htm"><b>1</b></a> <a href="../files/running_dataflow.htm"><b>2</b></a> <a href="../files/modifying_links.htm"><b>3</b></a> </nobr><br><nobr>study <a href="../files/about_nodes.htm"><b>1</b></a> <a href="../files/running_supervisor.htm"><b>2</b></a> <a href="../files/referencing_output_values_in_the_study.htm"><b>3</b></a> <a href="../files/usage_of_supervisor_module.htm"><b>4</b></a> <a href="../files/setting_input_parameters.htm"><b>5</b></a> </nobr><br><a name="bms_SU"></a><a name="subkey_SU"></a><a href="../files/adding_node_ports.htm"><b>submenu</b></a> <br><nobr>supervision <a href="../files/editing_node_function.htm"><b>1</b></a> <a href="../files/editing_imported_graphs.htm"><b>2</b></a> <a href="../files/directing_dataflow_between_nodes.htm"><b>3</b></a> <a href="../files/creating_a_new_graph.htm"><b>4</b></a> <a href="../files/copying_graphs.htm"><b>5</b></a> <a href="../files/controlling_execution_of_the_graphs.htm"><b>6</b></a> <a href="../files/computation_nodes.htm"><b>7</b></a> <a href="../files/changing_view_mode.htm"><b>8</b></a> <a href="../files/adding_nodes.htm"><b>9</b></a> <a href="../files/adding_links_from_an_output_port.htm"><b>10</b></a> <a href="../files/adding_information_about_graphs.htm"><b>11</b></a> <a href="../files/about_nodes.htm"><b>12</b></a> <a href="../files/running_supervisor.htm"><b>13</b></a> <a href="../files/running_dataflow.htm"><b>14</b></a> <a href="../files/reloading_dataflow.htm"><b>15</b></a> <a href="../files/referencing_output_values_in_the_study.htm"><b>16</b></a> <a href="../files/points_in_links.htm"><b>17</b></a> <a href="../files/placing_nodes_in_the_window.htm"><b>18</b></a> <a href="../files/opening_graphs_referenced_in_the_study.htm"><b>19</b></a> <a href="../files/modifying_links.htm"><b>20</b></a> <a href="../files/loop_nodes.htm"><b>21</b></a> <a href="../files/introduction_to_supervisor.htm"><b>22</b></a> <a href="../files/inserting_graphs.htm"><b>23</b></a> <a href="../files/importing_graphs_from_file.htm"><b>24</b></a> <a href="../files/filtering_and_storing_output_messages.htm"><b>25</b></a> <a href="../files/exporting_graphs.htm"><b>26</b></a> <a href="../files/usage_of_supervisor_module.htm"><b>27</b></a> <a href="../files/switch_nodes.htm"><b>28</b></a> <a href="../files/step-by-step_execution.htm"><b>29</b></a> </nobr><br><a href="../files/editing_imported_graphs.htm"><b>supplementary</b></a> <br><nobr>supply <a href="../files/loop_nodes.htm"><b>1</b></a> <a href="../files/switch_nodes.htm"><b>2</b></a> </nobr><br><nobr>suspend <a href="../files/controlling_execution_of_the_graphs.htm"><b>1</b></a> <a href="../files/usage_of_supervisor_module.htm"><b>2</b></a> </nobr><br><nobr>suspended <a href="../files/controlling_execution_of_the_graphs.htm"><b>1</b></a> <a href="../files/computation_nodes.htm"><b>2</b></a> <a href="../files/running_dataflow.htm"><b>3</b></a> <a href="../files/step-by-step_execution.htm"><b>4</b></a> </nobr><br><nobr><a name="bms_SW"></a><a name="subkey_SW"></a>switch <a href="../files/directing_dataflow_between_nodes.htm"><b>1</b></a> <a href="../files/adding_nodes.htm"><b>2</b></a> <a href="../files/about_nodes.htm"><b>3</b></a> <a href="../files/switch_nodes.htm"><b>4</b></a> </nobr><br><a href="../files/switch_nodes.htm"><b>switches</b></a> <br><a href="../files/switch_nodes.htm"><b>switching</b></a> <br><a href="../files/switch_nodes.htm"><b>switchport</b></a> <br>\r
-<br><br>\r
-<nobr><a name="bm_T"></a><a name="subkey_T{"></a>t <a href="../files/controlling_execution_of_the_graphs.htm"><b>1</b></a> <a href="../files/running_dataflow.htm"><b>2</b></a> <a href="../files/reloading_dataflow.htm"><b>3</b></a> <a href="../files/referencing_output_values_in_the_study.htm"><b>4</b></a> <a href="../files/loop_nodes.htm"><b>5</b></a> <a href="../files/goto_nodes.htm"><b>6</b></a> </nobr><br><a name="bms_TA"></a><a name="subkey_TA"></a><a href="../files/adding_nodes.htm"><b>tab</b></a> <br><a href="../files/changing_view_mode.htm"><b>table</b></a> <br><a href="../files/adding_nodes.htm"><b>tabs</b></a> <br><a href="../files/about_nodes.htm"><b>taken</b></a> <br><a name="bms_TE"></a><a name="subkey_TE"></a><a href="../files/switch_nodes.htm"><b>tests</b></a> <br><a href="../files/filtering_and_storing_output_messages.htm"><b>text</b></a> <br><a name="bms_TH"></a><a name="subkey_TH"></a><a href="../files/referencing_output_values_in_the_study.htm"><b>them</b></a> <br><a href="../files/adding_nodes.htm"><b>third</b></a> <br><a href="../files/directing_dataflow_between_nodes.htm"><b>thread</b></a> <br><a href="../files/changing_view_mode.htm"><b>threads</b></a> <br><nobr>three <a href="../files/adding_nodes.htm"><b>1</b></a> <a href="../files/loop_nodes.htm"><b>2</b></a> </nobr><br><nobr><a name="bms_TI"></a><a name="subkey_TI"></a>time <a href="../files/directing_dataflow_between_nodes.htm"><b>1</b></a> <a href="../files/computation_nodes.htm"><b>2</b></a> <a href="../files/referencing_output_values_in_the_study.htm"><b>3</b></a> <a href="../files/loop_nodes.htm"><b>4</b></a> <a href="../files/switch_nodes.htm"><b>5</b></a> </nobr><br><nobr>title <a href="../files/editing_node_function.htm"><b>1</b></a> <a href="../files/deleting_nodes.htm"><b>2</b></a> <a href="../files/controlling_execution_of_the_graphs.htm"><b>3</b></a> <a href="../files/computation_nodes.htm"><b>4</b></a> <a href="../files/changing_view_mode.htm"><b>5</b></a> <a href="../files/changing_node_description.htm"><b>6</b></a> <a href="../files/adding_node_ports.htm"><b>7</b></a> <a href="../files/renaming_nodes.htm"><b>8</b></a> <a href="../files/points_in_links.htm"><b>9</b></a> <a href="../files/placing_nodes_in_the_window.htm"><b>10</b></a> <a href="../files/viewing_output_vaues.htm"><b>11</b></a> </nobr><br><nobr>titles <a href="../files/loop_nodes.htm"><b>1</b></a> <a href="../files/switch_nodes.htm"><b>2</b></a> </nobr><br><nobr><a name="bms_TO"></a><a name="subkey_TO"></a>toolbar <a href="../files/editing_imported_graphs.htm"><b>1</b></a> <a href="../files/creating_a_new_graph.htm"><b>2</b></a> <a href="../files/adding_nodes.htm"><b>3</b></a> <a href="../files/running_supervisor.htm"><b>4</b></a> <a href="../files/running_dataflow.htm"><b>5</b></a> <a href="../files/reloading_dataflow.htm"><b>6</b></a> <a href="../files/importing_graphs_from_file.htm"><b>7</b></a> <a href="../files/exporting_graphs.htm"><b>8</b></a> <a href="../files/step-by-step_execution.htm"><b>9</b></a> </nobr><br><a name="bms_TR"></a><a name="subkey_TR"></a><a href="../files/goto_nodes.htm"><b>transfer</b></a> <br><nobr>transferred <a href="../files/loop_nodes.htm"><b>1</b></a> <a href="../files/goto_nodes.htm"><b>2</b></a> <a href="../files/switch_nodes.htm"><b>3</b></a> </nobr><br><a href="../files/about_nodes.htm"><b>transferring</b></a> <br><a href="../files/switch_nodes.htm"><b>transmit</b></a> <br><a href="../files/loop_nodes.htm"><b>transmits</b></a> <br><a href="../files/goto_nodes.htm"><b>transmitter</b></a> <br><a href="../files/adding_nodes.htm"><b>tree</b></a> <br><nobr>true <a href="../files/directing_dataflow_between_nodes.htm"><b>1</b></a> <a href="../files/loop_nodes.htm"><b>2</b></a> <a href="../files/switch_nodes.htm"><b>3</b></a> </nobr><br><a href="../files/referencing_output_values_in_the_study.htm"><b>try</b></a> <br><a href="../files/adding_nodes.htm"><b>trying</b></a> <br><nobr><a name="bms_TW"></a><a name="subkey_TW"></a>two <a href="../files/directing_dataflow_between_nodes.htm"><b>1</b></a> <a href="../files/deleting_links.htm"><b>2</b></a> <a href="../files/adding_nodes.htm"><b>3</b></a> <a href="../files/adding_links_from_an_output_port.htm"><b>4</b></a> <a href="../files/loop_nodes.htm"><b>5</b></a> <a href="../files/switch_nodes.htm"><b>6</b></a> </nobr><br><nobr><a name="bms_TY"></a><a name="subkey_TY"></a>type <a href="../files/directing_dataflow_between_nodes.htm"><b>1</b></a> <a href="../files/computation_nodes.htm"><b>2</b></a> <a href="../files/adding_nodes.htm"><b>3</b></a> <a href="../files/adding_node_ports.htm"><b>4</b></a> <a href="../files/loop_nodes.htm"><b>5</b></a> <a href="../files/filtering_and_storing_output_messages.htm"><b>6</b></a> <a href="../files/switch_nodes.htm"><b>7</b></a> <a href="../files/step-by-step_execution.htm"><b>8</b></a> <a href="../files/setting_input_parameters.htm"><b>9</b></a> </nobr><br><a href="../files/about_nodes.htm"><b>types</b></a> <br>\r
-<br><br>\r
-<nobr><a name="bm_U"></a><a name="subkey_UN"></a>underlying <a href="../files/loop_nodes.htm"><b>1</b></a> <a href="../files/switch_nodes.htm"><b>2</b></a> </nobr><br><a href="../files/adding_nodes.htm"><b>undo</b></a> <br><a href="../files/modifying_links.htm"><b>unmark</b></a> <br><nobr><a name="bms_UP"></a><a name="subkey_UP"></a>up <a href="../files/editing_imported_graphs.htm"><b>1</b></a> <a href="../files/deleting_links.htm"><b>2</b></a> <a href="../files/copying_graphs.htm"><b>3</b></a> <a href="../files/controlling_execution_of_the_graphs.htm"><b>4</b></a> <a href="../files/changing_view_mode.htm"><b>5</b></a> <a href="../files/changing_node_description.htm"><b>6</b></a> <a href="../files/adding_nodes.htm"><b>7</b></a> <a href="../files/adding_links_from_an_output_port.htm"><b>8</b></a> <a href="../files/adding_information_about_graphs.htm"><b>9</b></a> <a href="../files/referencing_output_values_in_the_study.htm"><b>10</b></a> <a href="../files/opening_graphs_referenced_in_the_study.htm"><b>11</b></a> <a href="../files/modifying_links.htm"><b>12</b></a> <a href="../files/inserting_graphs.htm"><b>13</b></a> <a href="../files/filtering_and_storing_output_messages.htm"><b>14</b></a> <a href="../files/viewing_output_vaues.htm"><b>15</b></a> <a href="../files/setting_input_parameters.htm"><b>16</b></a> </nobr><br><a href="../files/exporting_graphs.htm"><b>update</b></a> <br><nobr>updated <a href="../files/running_supervisor.htm"><b>1</b></a> <a href="../files/running_dataflow.htm"><b>2</b></a> </nobr><br><a href="../files/adding_nodes.htm"><b>upper</b></a> <br><a name="bms_US"></a><a name="subkey_US"></a><a href="../files/usage_of_supervisor_module.htm"><b>usage</b></a> <br><nobr>used <a href="../files/computation_nodes.htm"><b>1</b></a> <a href="../files/loop_nodes.htm"><b>2</b></a> <a href="../files/switch_nodes.htm"><b>3</b></a> </nobr><br><nobr>user <a href="../files/computation_nodes.htm"><b>1</b></a> <a href="../files/reloading_dataflow.htm"><b>2</b></a> <a href="../files/loop_nodes.htm"><b>3</b></a> <a href="../files/introduction_to_supervisor.htm"><b>4</b></a> <a href="../files/usage_of_supervisor_module.htm"><b>5</b></a> <a href="../files/switch_nodes.htm"><b>6</b></a> </nobr><br><nobr>using <a href="../files/changing_view_mode.htm"><b>1</b></a> <a href="../files/running_dataflow.htm"><b>2</b></a> <a href="../files/importing_graphs_from_file.htm"><b>3</b></a> <a href="../files/usage_of_supervisor_module.htm"><b>4</b></a> </nobr><br><a href="../files/step-by-step_execution.htm"><b>usual</b></a> <br>\r
-<br><br>\r
-<a name="bm_V"></a><a name="subkey_VA"></a><a href="../files/setting_input_parameters.htm"><b>validate</b></a> <br><nobr>value <a href="../files/directing_dataflow_between_nodes.htm"><b>1</b></a> <a href="../files/computation_nodes.htm"><b>2</b></a> <a href="../files/about_nodes.htm"><b>3</b></a> <a href="../files/referencing_output_values_in_the_study.htm"><b>4</b></a> <a href="../files/loop_nodes.htm"><b>5</b></a> <a href="../files/viewing_output_vaues.htm"><b>6</b></a> <a href="../files/switch_nodes.htm"><b>7</b></a> <a href="../files/setting_input_parameters.htm"><b>8</b></a> </nobr><br><nobr>values <a href="../files/about_nodes.htm"><b>1</b></a> <a href="../files/referencing_output_values_in_the_study.htm"><b>2</b></a> <a href="../files/loop_nodes.htm"><b>3</b></a> <a href="../files/viewing_output_vaues.htm"><b>4</b></a> <a href="../files/usage_of_supervisor_module.htm"><b>5</b></a> <a href="../files/switch_nodes.htm"><b>6</b></a> </nobr><br><a href="../files/switch_nodes.htm"><b>variable</b></a> <br><br><br></p><p class="ftsbody" align="center"><a href="whlstf5.htm" target="_self" title="previous search group"><b>>></b></a>\r
-\r
-</body>\r
-\r
-</html>\r
-\r
+++ /dev/null
-<html>\r
-<head>\r
-<title>Search Words List</title>\r
-<meta http-equiv="content-type" content="text/html; charset=iso-8859-1">\r
-<meta name="generator" content="RoboHelp by eHelp Corporation www.ehelp.com">\r
-<meta name "description" content="WebHelp 2002">\r
-<base target="bsscright">\r
-<style>\r
-<!--\r
-body {margin-left:1pt; margin-top:1pt; margin-right:1pt;font-family:Arial; font-size:9pt;}\r
-\r
-A:link {font-family:Arial; font-size:9pt; color:#000000; font-style:normal; text-decoration:none; }\r
-A:visited {font-family:Arial; font-size:9pt; color:#000000; font-style:normal; text-decoration:none; }\r
-A:active {background-color:#cccccc;}\r
-A:hover {font-family:Arial; font-size:9pt; color:#007f00; font-style:normal; text-decoration:underline; }\r
-\r
-.tabs {background-color:#c0c0c0;}\r
-.ftsheader {margin-left:10pt; margin-top:0pt;}\r
-.ftsbody {margin-left:10pt; margin-top:0pt;}\r
-.inactive {color:#666666;}\r
-.ftsheader {background-color:White; } \r
-\r
-body {background-color:White; } \r
-p {color:Black; } p {font-family:Tahoma; } p {font-size:8pt; } p {font-style:Normal; } p {text-decoration:none; } \r
-A:link {color:Black; } A:link {font-family:Tahoma; } A:link {font-size:8pt; } A:link {font-style:Normal; } A:link {text-decoration:none; } \r
-A:visited {color:Black; } A:visited {font-family:Tahoma; } A:visited {font-size:8pt; } A:visited {font-style:Normal; } A:visited {text-decoration:none; } \r
-A:active {background-color:Silver; } \r
-A:hover {color:Navy; } A:hover {font-family:Tahoma; } A:hover {font-size:8pt; } A:hover {font-style:Normal; } A:hover {text-decoration:underline; } \r
-\r
--->\r
-</style>\r
-</head>\r
-<body marginheight="0" marginwidth="0">\r
-<p class="ftsbody" align="center"><a href="whlstf4.htm" target="_self" title="previous search group"><b><<</b></a><br><br></p>\r
-<p class="ftsbody">\r
-<nobr><a name="bms_VI"></a><a name="subkey_VI"></a>view <a href="../files/changing_view_mode.htm"><b>1</b></a> <a href="../files/changing_node_description.htm"><b>2</b></a> <a href="../files/adding_information_about_graphs.htm"><b>3</b></a> <a href="../files/referencing_output_values_in_the_study.htm"><b>4</b></a> <a href="../files/opening_graphs_referenced_in_the_study.htm"><b>5</b></a> </nobr><br><nobr>viewer <a href="../files/creating_a_new_graph.htm"><b>1</b></a> <a href="../files/copying_graphs.htm"><b>2</b></a> <a href="../files/changing_view_mode.htm"><b>3</b></a> <a href="../files/adding_nodes.htm"><b>4</b></a> <a href="../files/adding_information_about_graphs.htm"><b>5</b></a> <a href="../files/reloading_dataflow.htm"><b>6</b></a> <a href="../files/points_in_links.htm"><b>7</b></a> <a href="../files/placing_nodes_in_the_window.htm"><b>8</b></a> <a href="../files/opening_graphs_referenced_in_the_study.htm"><b>9</b></a> <a href="../files/modifying_links.htm"><b>10</b></a> <a href="../files/inserting_graphs.htm"><b>11</b></a> <a href="../files/filtering_and_storing_output_messages.htm"><b>12</b></a> </nobr><br><a href="../files/usage_of_supervisor_module.htm"><b>views</b></a> <br><a href="../files/adding_links_from_an_output_port.htm"><b>violet</b></a> <br><nobr>visual <a href="../files/editing_imported_graphs.htm"><b>1</b></a> <a href="../files/points_in_links.htm"><b>2</b></a> <a href="../files/placing_nodes_in_the_window.htm"><b>3</b></a> </nobr><br><a href="../files/introduction_to_supervisor.htm"><b>visualize</b></a> <br>\r
-<br><br>\r
-<nobr><a name="bm_W"></a><a name="subkey_WA"></a>waiting <a href="../files/controlling_execution_of_the_graphs.htm"><b>1</b></a> <a href="../files/computation_nodes.htm"><b>2</b></a> <a href="../files/running_dataflow.htm"><b>3</b></a> </nobr><br><a href="../files/exporting_graphs.htm"><b>want</b></a> <br><nobr>way <a href="../files/adding_nodes.htm"><b>1</b></a> <a href="../files/referencing_output_values_in_the_study.htm"><b>2</b></a> <a href="../files/modifying_links.htm"><b>3</b></a> </nobr><br><nobr><a name="bms_WE"></a><a name="subkey_WE"></a>well <a href="../files/changing_view_mode.htm"><b>1</b></a> <a href="../files/introduction_to_supervisor.htm"><b>2</b></a> </nobr><br><a name="bms_WH"></a><a name="subkey_WH"></a><a href="../files/loop_nodes.htm"><b>whether</b></a> <br><nobr>while <a href="../files/deleting_links.htm"><b>1</b></a> <a href="../files/running_dataflow.htm"><b>2</b></a> <a href="../files/modifying_links.htm"><b>3</b></a> <a href="../files/loop_nodes.htm"><b>4</b></a> </nobr><br><nobr>whole <a href="../files/changing_view_mode.htm"><b>1</b></a> <a href="../files/running_dataflow.htm"><b>2</b></a> <a href="../files/modifying_links.htm"><b>3</b></a> </nobr><br><a href="../files/switch_nodes.htm"><b>why</b></a> <br><nobr><a name="bms_WI"></a><a name="subkey_WI"></a>will <a href="../files/editing_imported_graphs.htm"><b>1</b></a> <a href="../files/directing_dataflow_between_nodes.htm"><b>2</b></a> <a href="../files/deleting_nodes.htm"><b>3</b></a> <a href="../files/creating_a_new_graph.htm"><b>4</b></a> <a href="../files/copying_graphs.htm"><b>5</b></a> <a href="../files/computation_nodes.htm"><b>6</b></a> <a href="../files/changing_node_description.htm"><b>7</b></a> <a href="../files/adding_nodes.htm"><b>8</b></a> <a href="../files/adding_links_from_an_output_port.htm"><b>9</b></a> <a href="../files/adding_information_about_graphs.htm"><b>10</b></a> <a href="../files/running_supervisor.htm"><b>11</b></a> <a href="../files/running_dataflow.htm"><b>12</b></a> <a href="../files/renaming_nodes.htm"><b>13</b></a> <a href="../files/referencing_output_values_in_the_study.htm"><b>14</b></a> <a href="../files/opening_graphs_referenced_in_the_study.htm"><b>15</b></a> <a href="../files/modifying_links.htm"><b>16</b></a> <a href="../files/loop_nodes.htm"><b>17</b></a> <a href="../files/importing_graphs_from_file.htm"><b>18</b></a> <a href="../files/goto_nodes.htm"><b>19</b></a> <a href="../files/filtering_and_storing_output_messages.htm"><b>20</b></a> <a href="../files/viewing_output_vaues.htm"><b>21</b></a> <a href="../files/usage_of_supervisor_module.htm"><b>22</b></a> <a href="../files/switch_nodes.htm"><b>23</b></a> <a href="../files/step-by-step_execution.htm"><b>24</b></a> <a href="../files/setting_input_parameters.htm"><b>25</b></a> </nobr><br><nobr>window <a href="../files/editing_imported_graphs.htm"><b>1</b></a> <a href="../files/creating_a_new_graph.htm"><b>2</b></a> <a href="../files/copying_graphs.htm"><b>3</b></a> <a href="../files/changing_view_mode.htm"><b>4</b></a> <a href="../files/adding_nodes.htm"><b>5</b></a> <a href="../files/adding_information_about_graphs.htm"><b>6</b></a> <a href="../files/running_supervisor.htm"><b>7</b></a> <a href="../files/reloading_dataflow.htm"><b>8</b></a> <a href="../files/points_in_links.htm"><b>9</b></a> <a href="../files/placing_nodes_in_the_window.htm"><b>10</b></a> <a href="../files/opening_graphs_referenced_in_the_study.htm"><b>11</b></a> <a href="../files/modifying_links.htm"><b>12</b></a> <a href="../files/inserting_graphs.htm"><b>13</b></a> <a href="../files/filtering_and_storing_output_messages.htm"><b>14</b></a> <a href="../files/exporting_graphs.htm"><b>15</b></a> <a href="../files/viewing_output_vaues.htm"><b>16</b></a> </nobr><br><nobr>without <a href="../files/changing_view_mode.htm"><b>1</b></a> <a href="../files/goto_nodes.htm"><b>2</b></a> </nobr><br><a name="bms_WO"></a><a name="subkey_WO"></a><a href="../files/adding_nodes.htm"><b>works</b></a> <br><a href="../files/inserting_graphs.htm"><b>would</b></a> <br>\r
-<br><br>\r
-<a name="bm_X"></a><a name="subkey_X{"></a><a href="../files/switch_nodes.htm"><b>x</b></a> <br><nobr><a name="bms_XM"></a><a name="subkey_XM"></a>xml <a href="../files/inserting_graphs.htm"><b>1</b></a> <a href="../files/importing_graphs_from_file.htm"><b>2</b></a> <a href="../files/exporting_graphs.htm"><b>3</b></a> </nobr><br>\r
-<br><br>\r
-<nobr><a name="bm_Y"></a><a name="subkey_YE"></a>yet <a href="../files/controlling_execution_of_the_graphs.htm"><b>1</b></a> <a href="../files/referencing_output_values_in_the_study.htm"><b>2</b></a> </nobr><br><nobr><a name="bms_YO"></a><a name="subkey_YO"></a>your <a href="../files/deleting_nodes.htm"><b>1</b></a> <a href="../files/deleting_links.htm"><b>2</b></a> <a href="../files/creating_a_new_graph.htm"><b>3</b></a> <a href="../files/copying_graphs.htm"><b>4</b></a> <a href="../files/controlling_execution_of_the_graphs.htm"><b>5</b></a> <a href="../files/changing_view_mode.htm"><b>6</b></a> <a href="../files/changing_node_description.htm"><b>7</b></a> <a href="../files/adding_nodes.htm"><b>8</b></a> <a href="../files/adding_node_ports.htm"><b>9</b></a> <a href="../files/adding_links_from_an_output_port.htm"><b>10</b></a> <a href="../files/adding_information_about_graphs.htm"><b>11</b></a> <a href="../files/running_dataflow.htm"><b>12</b></a> <a href="../files/renaming_nodes.htm"><b>13</b></a> <a href="../files/reloading_dataflow.htm"><b>14</b></a> <a href="../files/referencing_output_values_in_the_study.htm"><b>15</b></a> <a href="../files/points_in_links.htm"><b>16</b></a> <a href="../files/placing_nodes_in_the_window.htm"><b>17</b></a> <a href="../files/opening_graphs_referenced_in_the_study.htm"><b>18</b></a> <a href="../files/modifying_links.htm"><b>19</b></a> <a href="../files/inserting_graphs.htm"><b>20</b></a> <a href="../files/importing_graphs_from_file.htm"><b>21</b></a> <a href="../files/filtering_and_storing_output_messages.htm"><b>22</b></a> <a href="../files/exporting_graphs.htm"><b>23</b></a> <a href="../files/step-by-step_execution.htm"><b>24</b></a> <a href="../files/setting_input_parameters.htm"><b>25</b></a> </nobr><br><br><br></p>\r
-</body>\r
-\r
-</html>\r
-\r
+++ /dev/null
-<html>\r
-<head>\r
-<title>Search Words letter</title>\r
-<meta http-equiv="content-type" content="text/html; charset=iso-8859-1">\r
-<meta name="generator" content="RoboHelp by eHelp Corporation www.ehelp.com">\r
-<meta name "description" content="WebHelp 2002">\r
-<base target="bsscright">\r
-<style>\r
-<!--\r
-body {margin-left:1pt; margin-top:1pt; margin-right:1pt;font-family:Arial; font-size:9pt;}\r
-\r
-A:link {font-family:Arial; font-size:9pt; color:#000000; font-style:normal; text-decoration:none; }\r
-A:visited {font-family:Arial; font-size:9pt; color:#000000; font-style:normal; text-decoration:none; }\r
-A:active {background-color:#cccccc;}\r
-A:hover {font-family:Arial; font-size:9pt; color:#007f00; font-style:normal; text-decoration:underline; }\r
-\r
-.tabs {background-color:#c0c0c0;}\r
-.ftsheader {margin-left:10pt; margin-top:0pt;}\r
-.ftsbody {margin-left:10pt; margin-top:0pt;}\r
-.inactive {color:#666666;}\r
-.ftsheader {background-color:White; } \r
-\r
-body {background-color:White; } \r
-p {color:Black; } p {font-family:Tahoma; } p {font-size:8pt; } p {font-style:Normal; } p {text-decoration:none; } \r
-A:link {color:Black; } A:link {font-family:Tahoma; } A:link {font-size:8pt; } A:link {font-style:Normal; } A:link {text-decoration:none; } \r
-A:visited {color:Black; } A:visited {font-family:Tahoma; } A:visited {font-size:8pt; } A:visited {font-style:Normal; } A:visited {text-decoration:none; } \r
-A:active {background-color:Silver; } \r
-A:hover {color:Navy; } A:hover {font-family:Tahoma; } A:hover {font-size:8pt; } A:hover {font-style:Normal; } A:hover {text-decoration:underline; } \r
-\r
--->\r
-</style>\r
-<style>\r
-<!--\r
-body {background-color:White; } \r
--->\r
-</style>\r
-</head>\r
-<body marginheight="0" marginwidth="0">\r
-\r
-<p class="ftsheader"><a name="subkey_A"></a> <a href="whnvl32.htm#home" target="_self" title="back to top level"><b>^</b></a> <a href="whlstf0.htm#bm_A" target="ftslist" title="search letter AB"><b>AB</b></a> <a href="whlstf0.htm#bms_AC" target="ftslist" title="search letter AC"><b>AC</b></a> <a href="whlstf0.htm#bms_AD" target="ftslist" title="search letter AD"><b>AD</b></a> <a href="whlstf0.htm#bms_AG" target="ftslist" title="search letter AG"><b>AG</b></a> <a href="whlstf0.htm#bms_AL" target="ftslist" title="search letter AL"><b>AL</b></a> <a href="whlstf0.htm#bms_AN" target="ftslist" title="search letter AN"><b>AN</b></a> <a href="whlstf0.htm#bms_AP" target="ftslist" title="search letter AP"><b>AP</b></a> <a href="whlstf0.htm#bms_AR" target="ftslist" title="search letter AR"><b>AR</b></a> <a href="whlstf0.htm#bms_AS" target="ftslist" title="search letter AS"><b>AS</b></a> <a href="whlstf0.htm#bms_AT" target="ftslist" title="search letter AT"><b>AT</b></a> <a href="whlstf0.htm#bms_AU" target="ftslist" title="search letter AU"><b>AU</b></a> <a href="whlstf0.htm#bms_AV" target="ftslist" title="search letter AV"><b>AV</b></a> <a href="whnvl32.htm#home" target="_self" title="back to top level"><b>^</b></a></p>\r
-\r
-</body>\r
-\r
-</html>\r
-\r
+++ /dev/null
-<html>\r
-<head>\r
-<title>Search Words letter</title>\r
-<meta http-equiv="content-type" content="text/html; charset=iso-8859-1">\r
-<meta name="generator" content="RoboHelp by eHelp Corporation www.ehelp.com">\r
-<meta name "description" content="WebHelp 2002">\r
-<base target="bsscright">\r
-<style>\r
-<!--\r
-body {margin-left:1pt; margin-top:1pt; margin-right:1pt;font-family:Arial; font-size:9pt;}\r
-\r
-A:link {font-family:Arial; font-size:9pt; color:#000000; font-style:normal; text-decoration:none; }\r
-A:visited {font-family:Arial; font-size:9pt; color:#000000; font-style:normal; text-decoration:none; }\r
-A:active {background-color:#cccccc;}\r
-A:hover {font-family:Arial; font-size:9pt; color:#007f00; font-style:normal; text-decoration:underline; }\r
-\r
-.tabs {background-color:#c0c0c0;}\r
-.ftsheader {margin-left:10pt; margin-top:0pt;}\r
-.ftsbody {margin-left:10pt; margin-top:0pt;}\r
-.inactive {color:#666666;}\r
-.ftsheader {background-color:White; } \r
-\r
-body {background-color:White; } \r
-p {color:Black; } p {font-family:Tahoma; } p {font-size:8pt; } p {font-style:Normal; } p {text-decoration:none; } \r
-A:link {color:Black; } A:link {font-family:Tahoma; } A:link {font-size:8pt; } A:link {font-style:Normal; } A:link {text-decoration:none; } \r
-A:visited {color:Black; } A:visited {font-family:Tahoma; } A:visited {font-size:8pt; } A:visited {font-style:Normal; } A:visited {text-decoration:none; } \r
-A:active {background-color:Silver; } \r
-A:hover {color:Navy; } A:hover {font-family:Tahoma; } A:hover {font-size:8pt; } A:hover {font-style:Normal; } A:hover {text-decoration:underline; } \r
-\r
--->\r
-</style>\r
-<style>\r
-<!--\r
-body {background-color:White; } \r
--->\r
-</style>\r
-</head>\r
-<body marginheight="0" marginwidth="0">\r
-\r
-<p class="ftsheader"><a name="subkey_B"></a> <a href="whnvl32.htm#home" target="_self" title="back to top level"><b>^</b></a> <a href="whlstf0.htm#bm_B" target="ftslist" title="search letter BA"><b>BA</b></a> <a href="whlstf0.htm#bms_BE" target="ftslist" title="search letter BE"><b>BE</b></a> <a href="whlstf0.htm#bms_BL" target="ftslist" title="search letter BL"><b>BL</b></a> <a href="whlstf0.htm#bms_BO" target="ftslist" title="search letter BO"><b>BO</b></a> <a href="whlstf0.htm#bms_BR" target="ftslist" title="search letter BR"><b>BR</b></a> <a href="whlstf0.htm#bms_BU" target="ftslist" title="search letter BU"><b>BU</b></a> <a href="whnvl32.htm#home" target="_self" title="back to top level"><b>^</b></a></p>\r
-\r
-</body>\r
-\r
-</html>\r
-\r
+++ /dev/null
-<html>\r
-<head>\r
-<title>Search Words letter</title>\r
-<meta http-equiv="content-type" content="text/html; charset=iso-8859-1">\r
-<meta name="generator" content="RoboHelp by eHelp Corporation www.ehelp.com">\r
-<meta name "description" content="WebHelp 2002">\r
-<base target="bsscright">\r
-<style>\r
-<!--\r
-body {margin-left:1pt; margin-top:1pt; margin-right:1pt;font-family:Arial; font-size:9pt;}\r
-\r
-A:link {font-family:Arial; font-size:9pt; color:#000000; font-style:normal; text-decoration:none; }\r
-A:visited {font-family:Arial; font-size:9pt; color:#000000; font-style:normal; text-decoration:none; }\r
-A:active {background-color:#cccccc;}\r
-A:hover {font-family:Arial; font-size:9pt; color:#007f00; font-style:normal; text-decoration:underline; }\r
-\r
-.tabs {background-color:#c0c0c0;}\r
-.ftsheader {margin-left:10pt; margin-top:0pt;}\r
-.ftsbody {margin-left:10pt; margin-top:0pt;}\r
-.inactive {color:#666666;}\r
-.ftsheader {background-color:White; } \r
-\r
-body {background-color:White; } \r
-p {color:Black; } p {font-family:Tahoma; } p {font-size:8pt; } p {font-style:Normal; } p {text-decoration:none; } \r
-A:link {color:Black; } A:link {font-family:Tahoma; } A:link {font-size:8pt; } A:link {font-style:Normal; } A:link {text-decoration:none; } \r
-A:visited {color:Black; } A:visited {font-family:Tahoma; } A:visited {font-size:8pt; } A:visited {font-style:Normal; } A:visited {text-decoration:none; } \r
-A:active {background-color:Silver; } \r
-A:hover {color:Navy; } A:hover {font-family:Tahoma; } A:hover {font-size:8pt; } A:hover {font-style:Normal; } A:hover {text-decoration:underline; } \r
-\r
--->\r
-</style>\r
-<style>\r
-<!--\r
-body {background-color:White; } \r
--->\r
-</style>\r
-</head>\r
-<body marginheight="0" marginwidth="0">\r
-\r
-<p class="ftsheader"><a name="subkey_M"></a> <a href="whnvl32.htm#home" target="_self" title="back to top level"><b>^</b></a> <a href="whlstf2.htm#bm_M" target="ftslist" title="search letter MA"><b>MA</b></a> <a href="whlstf2.htm#bms_ME" target="ftslist" title="search letter ME"><b>ME</b></a> <a href="whlstf2.htm#bms_MI" target="ftslist" title="search letter MI"><b>MI</b></a> <a href="whlstf2.htm#bms_MO" target="ftslist" title="search letter MO"><b>MO</b></a> <a href="whlstf3.htm#bms_MU" target="ftslist" title="search letter MU"><b>MU</b></a> <a href="whnvl32.htm#home" target="_self" title="back to top level"><b>^</b></a></p>\r
-\r
-</body>\r
-\r
-</html>\r
-\r
+++ /dev/null
-<html>\r
-<head>\r
-<title>Search Words letter</title>\r
-<meta http-equiv="content-type" content="text/html; charset=iso-8859-1">\r
-<meta name="generator" content="RoboHelp by eHelp Corporation www.ehelp.com">\r
-<meta name "description" content="WebHelp 2002">\r
-<base target="bsscright">\r
-<style>\r
-<!--\r
-body {margin-left:1pt; margin-top:1pt; margin-right:1pt;font-family:Arial; font-size:9pt;}\r
-\r
-A:link {font-family:Arial; font-size:9pt; color:#000000; font-style:normal; text-decoration:none; }\r
-A:visited {font-family:Arial; font-size:9pt; color:#000000; font-style:normal; text-decoration:none; }\r
-A:active {background-color:#cccccc;}\r
-A:hover {font-family:Arial; font-size:9pt; color:#007f00; font-style:normal; text-decoration:underline; }\r
-\r
-.tabs {background-color:#c0c0c0;}\r
-.ftsheader {margin-left:10pt; margin-top:0pt;}\r
-.ftsbody {margin-left:10pt; margin-top:0pt;}\r
-.inactive {color:#666666;}\r
-.ftsheader {background-color:White; } \r
-\r
-body {background-color:White; } \r
-p {color:Black; } p {font-family:Tahoma; } p {font-size:8pt; } p {font-style:Normal; } p {text-decoration:none; } \r
-A:link {color:Black; } A:link {font-family:Tahoma; } A:link {font-size:8pt; } A:link {font-style:Normal; } A:link {text-decoration:none; } \r
-A:visited {color:Black; } A:visited {font-family:Tahoma; } A:visited {font-size:8pt; } A:visited {font-style:Normal; } A:visited {text-decoration:none; } \r
-A:active {background-color:Silver; } \r
-A:hover {color:Navy; } A:hover {font-family:Tahoma; } A:hover {font-size:8pt; } A:hover {font-style:Normal; } A:hover {text-decoration:underline; } \r
-\r
--->\r
-</style>\r
-<style>\r
-<!--\r
-body {background-color:White; } \r
--->\r
-</style>\r
-</head>\r
-<body marginheight="0" marginwidth="0">\r
-\r
-<p class="ftsheader"><a name="subkey_N"></a> <a href="whnvl32.htm#home" target="_self" title="back to top level"><b>^</b></a> <a href="whlstf3.htm#bm_N" target="ftslist" title="search letter NA"><b>NA</b></a> <a href="whlstf3.htm#bms_NE" target="ftslist" title="search letter NE"><b>NE</b></a> <a href="whlstf3.htm#bms_NO" target="ftslist" title="search letter NO"><b>NO</b></a> <a href="whlstf3.htm#bms_NU" target="ftslist" title="search letter NU"><b>NU</b></a> <a href="whnvl32.htm#home" target="_self" title="back to top level"><b>^</b></a></p>\r
-\r
-</body>\r
-\r
-</html>\r
-\r
+++ /dev/null
-<html>\r
-<head>\r
-<title>Search Words letter</title>\r
-<meta http-equiv="content-type" content="text/html; charset=iso-8859-1">\r
-<meta name="generator" content="RoboHelp by eHelp Corporation www.ehelp.com">\r
-<meta name "description" content="WebHelp 2002">\r
-<base target="bsscright">\r
-<style>\r
-<!--\r
-body {margin-left:1pt; margin-top:1pt; margin-right:1pt;font-family:Arial; font-size:9pt;}\r
-\r
-A:link {font-family:Arial; font-size:9pt; color:#000000; font-style:normal; text-decoration:none; }\r
-A:visited {font-family:Arial; font-size:9pt; color:#000000; font-style:normal; text-decoration:none; }\r
-A:active {background-color:#cccccc;}\r
-A:hover {font-family:Arial; font-size:9pt; color:#007f00; font-style:normal; text-decoration:underline; }\r
-\r
-.tabs {background-color:#c0c0c0;}\r
-.ftsheader {margin-left:10pt; margin-top:0pt;}\r
-.ftsbody {margin-left:10pt; margin-top:0pt;}\r
-.inactive {color:#666666;}\r
-.ftsheader {background-color:White; } \r
-\r
-body {background-color:White; } \r
-p {color:Black; } p {font-family:Tahoma; } p {font-size:8pt; } p {font-style:Normal; } p {text-decoration:none; } \r
-A:link {color:Black; } A:link {font-family:Tahoma; } A:link {font-size:8pt; } A:link {font-style:Normal; } A:link {text-decoration:none; } \r
-A:visited {color:Black; } A:visited {font-family:Tahoma; } A:visited {font-size:8pt; } A:visited {font-style:Normal; } A:visited {text-decoration:none; } \r
-A:active {background-color:Silver; } \r
-A:hover {color:Navy; } A:hover {font-family:Tahoma; } A:hover {font-size:8pt; } A:hover {font-style:Normal; } A:hover {text-decoration:underline; } \r
-\r
--->\r
-</style>\r
-<style>\r
-<!--\r
-body {background-color:White; } \r
--->\r
-</style>\r
-</head>\r
-<body marginheight="0" marginwidth="0">\r
-\r
-<p class="ftsheader"><a name="subkey_O"></a> <a href="whnvl32.htm#home" target="_self" title="back to top level"><b>^</b></a> <a href="whlstf3.htm#bm_O" target="ftslist" title="search letter OB"><b>OB</b></a> <a href="whlstf3.htm#bms_OK" target="ftslist" title="search letter OK"><b>OK</b></a> <a href="whlstf3.htm#bms_ON" target="ftslist" title="search letter ON"><b>ON</b></a> <a href="whlstf3.htm#bms_OP" target="ftslist" title="search letter OP"><b>OP</b></a> <a href="whlstf3.htm#bms_OR" target="ftslist" title="search letter OR"><b>OR</b></a> <a href="whlstf3.htm#bms_OT" target="ftslist" title="search letter OT"><b>OT</b></a> <a href="whlstf3.htm#bms_OU" target="ftslist" title="search letter OU"><b>OU</b></a> <a href="whnvl32.htm#home" target="_self" title="back to top level"><b>^</b></a></p>\r
-\r
-</body>\r
-\r
-</html>\r
-\r
+++ /dev/null
-<html>\r
-<head>\r
-<title>Search Words letter</title>\r
-<meta http-equiv="content-type" content="text/html; charset=iso-8859-1">\r
-<meta name="generator" content="RoboHelp by eHelp Corporation www.ehelp.com">\r
-<meta name "description" content="WebHelp 2002">\r
-<base target="bsscright">\r
-<style>\r
-<!--\r
-body {margin-left:1pt; margin-top:1pt; margin-right:1pt;font-family:Arial; font-size:9pt;}\r
-\r
-A:link {font-family:Arial; font-size:9pt; color:#000000; font-style:normal; text-decoration:none; }\r
-A:visited {font-family:Arial; font-size:9pt; color:#000000; font-style:normal; text-decoration:none; }\r
-A:active {background-color:#cccccc;}\r
-A:hover {font-family:Arial; font-size:9pt; color:#007f00; font-style:normal; text-decoration:underline; }\r
-\r
-.tabs {background-color:#c0c0c0;}\r
-.ftsheader {margin-left:10pt; margin-top:0pt;}\r
-.ftsbody {margin-left:10pt; margin-top:0pt;}\r
-.inactive {color:#666666;}\r
-.ftsheader {background-color:White; } \r
-\r
-body {background-color:White; } \r
-p {color:Black; } p {font-family:Tahoma; } p {font-size:8pt; } p {font-style:Normal; } p {text-decoration:none; } \r
-A:link {color:Black; } A:link {font-family:Tahoma; } A:link {font-size:8pt; } A:link {font-style:Normal; } A:link {text-decoration:none; } \r
-A:visited {color:Black; } A:visited {font-family:Tahoma; } A:visited {font-size:8pt; } A:visited {font-style:Normal; } A:visited {text-decoration:none; } \r
-A:active {background-color:Silver; } \r
-A:hover {color:Navy; } A:hover {font-family:Tahoma; } A:hover {font-size:8pt; } A:hover {font-style:Normal; } A:hover {text-decoration:underline; } \r
-\r
--->\r
-</style>\r
-<style>\r
-<!--\r
-body {background-color:White; } \r
--->\r
-</style>\r
-</head>\r
-<body marginheight="0" marginwidth="0">\r
-\r
-<p class="ftsheader"><a name="subkey_P"></a> <a href="whnvl32.htm#home" target="_self" title="back to top level"><b>^</b></a> <a href="whlstf3.htm#bm_P" target="ftslist" title="search letter PA"><b>PA</b></a> <a href="whlstf3.htm#bms_PE" target="ftslist" title="search letter PE"><b>PE</b></a> <a href="whlstf3.htm#bms_PH" target="ftslist" title="search letter PH"><b>PH</b></a> <a href="whlstf3.htm#bms_PI" target="ftslist" title="search letter PI"><b>PI</b></a> <a href="whlstf3.htm#bms_PL" target="ftslist" title="search letter PL"><b>PL</b></a> <a href="whlstf3.htm#bms_PO" target="ftslist" title="search letter PO"><b>PO</b></a> <a href="whlstf3.htm#bms_PR" target="ftslist" title="search letter PR"><b>PR</b></a> <a href="whlstf3.htm#bms_PU" target="ftslist" title="search letter PU"><b>PU</b></a> <a href="whlstf3.htm#bms_PY" target="ftslist" title="search letter PY"><b>PY</b></a> <a href="whnvl32.htm#home" target="_self" title="back to top level"><b>^</b></a></p>\r
-\r
-</body>\r
-\r
-</html>\r
-\r
+++ /dev/null
-<html>\r
-<head>\r
-<title>Search Words letter</title>\r
-<meta http-equiv="content-type" content="text/html; charset=iso-8859-1">\r
-<meta name="generator" content="RoboHelp by eHelp Corporation www.ehelp.com">\r
-<meta name "description" content="WebHelp 2002">\r
-<base target="bsscright">\r
-<style>\r
-<!--\r
-body {margin-left:1pt; margin-top:1pt; margin-right:1pt;font-family:Arial; font-size:9pt;}\r
-\r
-A:link {font-family:Arial; font-size:9pt; color:#000000; font-style:normal; text-decoration:none; }\r
-A:visited {font-family:Arial; font-size:9pt; color:#000000; font-style:normal; text-decoration:none; }\r
-A:active {background-color:#cccccc;}\r
-A:hover {font-family:Arial; font-size:9pt; color:#007f00; font-style:normal; text-decoration:underline; }\r
-\r
-.tabs {background-color:#c0c0c0;}\r
-.ftsheader {margin-left:10pt; margin-top:0pt;}\r
-.ftsbody {margin-left:10pt; margin-top:0pt;}\r
-.inactive {color:#666666;}\r
-.ftsheader {background-color:White; } \r
-\r
-body {background-color:White; } \r
-p {color:Black; } p {font-family:Tahoma; } p {font-size:8pt; } p {font-style:Normal; } p {text-decoration:none; } \r
-A:link {color:Black; } A:link {font-family:Tahoma; } A:link {font-size:8pt; } A:link {font-style:Normal; } A:link {text-decoration:none; } \r
-A:visited {color:Black; } A:visited {font-family:Tahoma; } A:visited {font-size:8pt; } A:visited {font-style:Normal; } A:visited {text-decoration:none; } \r
-A:active {background-color:Silver; } \r
-A:hover {color:Navy; } A:hover {font-family:Tahoma; } A:hover {font-size:8pt; } A:hover {font-style:Normal; } A:hover {text-decoration:underline; } \r
-\r
--->\r
-</style>\r
-<style>\r
-<!--\r
-body {background-color:White; } \r
--->\r
-</style>\r
-</head>\r
-<body marginheight="0" marginwidth="0">\r
-\r
-<p class="ftsheader"><a name="subkey_R"></a> <a href="whnvl32.htm#home" target="_self" title="back to top level"><b>^</b></a> <a href="whlstf3.htm#bm_R" target="ftslist" title="search letter RA"><b>RA</b></a> <a href="whlstf3.htm#bms_RE" target="ftslist" title="search letter RE"><b>RE</b></a> <a href="whlstf4.htm#bms_RI" target="ftslist" title="search letter RI"><b>RI</b></a> <a href="whlstf4.htm#bms_RU" target="ftslist" title="search letter RU"><b>RU</b></a> <a href="whnvl32.htm#home" target="_self" title="back to top level"><b>^</b></a></p>\r
-\r
-</body>\r
-\r
-</html>\r
-\r
+++ /dev/null
-<html>\r
-<head>\r
-<title>Search Words letter</title>\r
-<meta http-equiv="content-type" content="text/html; charset=iso-8859-1">\r
-<meta name="generator" content="RoboHelp by eHelp Corporation www.ehelp.com">\r
-<meta name "description" content="WebHelp 2002">\r
-<base target="bsscright">\r
-<style>\r
-<!--\r
-body {margin-left:1pt; margin-top:1pt; margin-right:1pt;font-family:Arial; font-size:9pt;}\r
-\r
-A:link {font-family:Arial; font-size:9pt; color:#000000; font-style:normal; text-decoration:none; }\r
-A:visited {font-family:Arial; font-size:9pt; color:#000000; font-style:normal; text-decoration:none; }\r
-A:active {background-color:#cccccc;}\r
-A:hover {font-family:Arial; font-size:9pt; color:#007f00; font-style:normal; text-decoration:underline; }\r
-\r
-.tabs {background-color:#c0c0c0;}\r
-.ftsheader {margin-left:10pt; margin-top:0pt;}\r
-.ftsbody {margin-left:10pt; margin-top:0pt;}\r
-.inactive {color:#666666;}\r
-.ftsheader {background-color:White; } \r
-\r
-body {background-color:White; } \r
-p {color:Black; } p {font-family:Tahoma; } p {font-size:8pt; } p {font-style:Normal; } p {text-decoration:none; } \r
-A:link {color:Black; } A:link {font-family:Tahoma; } A:link {font-size:8pt; } A:link {font-style:Normal; } A:link {text-decoration:none; } \r
-A:visited {color:Black; } A:visited {font-family:Tahoma; } A:visited {font-size:8pt; } A:visited {font-style:Normal; } A:visited {text-decoration:none; } \r
-A:active {background-color:Silver; } \r
-A:hover {color:Navy; } A:hover {font-family:Tahoma; } A:hover {font-size:8pt; } A:hover {font-style:Normal; } A:hover {text-decoration:underline; } \r
-\r
--->\r
-</style>\r
-<style>\r
-<!--\r
-body {background-color:White; } \r
--->\r
-</style>\r
-</head>\r
-<body marginheight="0" marginwidth="0">\r
-\r
-<p class="ftsheader"><a name="subkey_S"></a> <a href="whnvl32.htm#home" target="_self" title="back to top level"><b>^</b></a> <a href="whlstf4.htm#bm_S" target="ftslist" title="search letter S "><b>S </b></a> <a href="whlstf4.htm#bms_SA" target="ftslist" title="search letter SA"><b>SA</b></a> <a href="whlstf4.htm#bms_SC" target="ftslist" title="search letter SC"><b>SC</b></a> <a href="whlstf4.htm#bms_SE" target="ftslist" title="search letter SE"><b>SE</b></a> <a href="whlstf4.htm#bms_SH" target="ftslist" title="search letter SH"><b>SH</b></a> <a href="whlstf4.htm#bms_SI" target="ftslist" title="search letter SI"><b>SI</b></a> <a href="whlstf4.htm#bms_SK" target="ftslist" title="search letter SK"><b>SK</b></a> <a href="whlstf4.htm#bms_SO" target="ftslist" title="search letter SO"><b>SO</b></a> <a href="whlstf4.htm#bms_SP" target="ftslist" title="search letter SP"><b>SP</b></a> <a href="whlstf4.htm#bms_ST" target="ftslist" title="search letter ST"><b>ST</b></a> <a href="whlstf4.htm#bms_SU" target="ftslist" title="search letter SU"><b>SU</b></a> <a href="whlstf4.htm#bms_SW" target="ftslist" title="search letter SW"><b>SW</b></a> <a href="whnvl32.htm#home" target="_self" title="back to top level"><b>^</b></a></p>\r
-\r
-</body>\r
-\r
-</html>\r
-\r
+++ /dev/null
-<html>\r
-<head>\r
-<title>Search Words letter</title>\r
-<meta http-equiv="content-type" content="text/html; charset=iso-8859-1">\r
-<meta name="generator" content="RoboHelp by eHelp Corporation www.ehelp.com">\r
-<meta name "description" content="WebHelp 2002">\r
-<base target="bsscright">\r
-<style>\r
-<!--\r
-body {margin-left:1pt; margin-top:1pt; margin-right:1pt;font-family:Arial; font-size:9pt;}\r
-\r
-A:link {font-family:Arial; font-size:9pt; color:#000000; font-style:normal; text-decoration:none; }\r
-A:visited {font-family:Arial; font-size:9pt; color:#000000; font-style:normal; text-decoration:none; }\r
-A:active {background-color:#cccccc;}\r
-A:hover {font-family:Arial; font-size:9pt; color:#007f00; font-style:normal; text-decoration:underline; }\r
-\r
-.tabs {background-color:#c0c0c0;}\r
-.ftsheader {margin-left:10pt; margin-top:0pt;}\r
-.ftsbody {margin-left:10pt; margin-top:0pt;}\r
-.inactive {color:#666666;}\r
-.ftsheader {background-color:White; } \r
-\r
-body {background-color:White; } \r
-p {color:Black; } p {font-family:Tahoma; } p {font-size:8pt; } p {font-style:Normal; } p {text-decoration:none; } \r
-A:link {color:Black; } A:link {font-family:Tahoma; } A:link {font-size:8pt; } A:link {font-style:Normal; } A:link {text-decoration:none; } \r
-A:visited {color:Black; } A:visited {font-family:Tahoma; } A:visited {font-size:8pt; } A:visited {font-style:Normal; } A:visited {text-decoration:none; } \r
-A:active {background-color:Silver; } \r
-A:hover {color:Navy; } A:hover {font-family:Tahoma; } A:hover {font-size:8pt; } A:hover {font-style:Normal; } A:hover {text-decoration:underline; } \r
-\r
--->\r
-</style>\r
-<style>\r
-<!--\r
-body {background-color:White; } \r
--->\r
-</style>\r
-</head>\r
-<body marginheight="0" marginwidth="0">\r
-\r
-<p class="ftsheader"><a name="subkey_T"></a> <a href="whnvl32.htm#home" target="_self" title="back to top level"><b>^</b></a> <a href="whlstf4.htm#bm_T" target="ftslist" title="search letter T "><b>T </b></a> <a href="whlstf4.htm#bms_TA" target="ftslist" title="search letter TA"><b>TA</b></a> <a href="whlstf4.htm#bms_TE" target="ftslist" title="search letter TE"><b>TE</b></a> <a href="whlstf4.htm#bms_TH" target="ftslist" title="search letter TH"><b>TH</b></a> <a href="whlstf4.htm#bms_TI" target="ftslist" title="search letter TI"><b>TI</b></a> <a href="whlstf4.htm#bms_TO" target="ftslist" title="search letter TO"><b>TO</b></a> <a href="whlstf4.htm#bms_TR" target="ftslist" title="search letter TR"><b>TR</b></a> <a href="whlstf4.htm#bms_TW" target="ftslist" title="search letter TW"><b>TW</b></a> <a href="whlstf4.htm#bms_TY" target="ftslist" title="search letter TY"><b>TY</b></a> <a href="whnvl32.htm#home" target="_self" title="back to top level"><b>^</b></a></p>\r
-\r
-</body>\r
-\r
-</html>\r
-\r
+++ /dev/null
-<html>\r
-<head>\r
-<title>Search Words letter</title>\r
-<meta http-equiv="content-type" content="text/html; charset=iso-8859-1">\r
-<meta name="generator" content="RoboHelp by eHelp Corporation www.ehelp.com">\r
-<meta name "description" content="WebHelp 2002">\r
-<base target="bsscright">\r
-<style>\r
-<!--\r
-body {margin-left:1pt; margin-top:1pt; margin-right:1pt;font-family:Arial; font-size:9pt;}\r
-\r
-A:link {font-family:Arial; font-size:9pt; color:#000000; font-style:normal; text-decoration:none; }\r
-A:visited {font-family:Arial; font-size:9pt; color:#000000; font-style:normal; text-decoration:none; }\r
-A:active {background-color:#cccccc;}\r
-A:hover {font-family:Arial; font-size:9pt; color:#007f00; font-style:normal; text-decoration:underline; }\r
-\r
-.tabs {background-color:#c0c0c0;}\r
-.ftsheader {margin-left:10pt; margin-top:0pt;}\r
-.ftsbody {margin-left:10pt; margin-top:0pt;}\r
-.inactive {color:#666666;}\r
-.ftsheader {background-color:White; } \r
-\r
-body {background-color:White; } \r
-p {color:Black; } p {font-family:Tahoma; } p {font-size:8pt; } p {font-style:Normal; } p {text-decoration:none; } \r
-A:link {color:Black; } A:link {font-family:Tahoma; } A:link {font-size:8pt; } A:link {font-style:Normal; } A:link {text-decoration:none; } \r
-A:visited {color:Black; } A:visited {font-family:Tahoma; } A:visited {font-size:8pt; } A:visited {font-style:Normal; } A:visited {text-decoration:none; } \r
-A:active {background-color:Silver; } \r
-A:hover {color:Navy; } A:hover {font-family:Tahoma; } A:hover {font-size:8pt; } A:hover {font-style:Normal; } A:hover {text-decoration:underline; } \r
-\r
--->\r
-</style>\r
-<style>\r
-<!--\r
-body {background-color:White; } \r
--->\r
-</style>\r
-</head>\r
-<body marginheight="0" marginwidth="0">\r
-\r
-<p class="ftsheader"><a name="subkey_U"></a> <a href="whnvl32.htm#home" target="_self" title="back to top level"><b>^</b></a> <a href="whlstf4.htm#bm_U" target="ftslist" title="search letter UN"><b>UN</b></a> <a href="whlstf4.htm#bms_UP" target="ftslist" title="search letter UP"><b>UP</b></a> <a href="whlstf4.htm#bms_US" target="ftslist" title="search letter US"><b>US</b></a> <a href="whnvl32.htm#home" target="_self" title="back to top level"><b>^</b></a></p>\r
-\r
-</body>\r
-\r
-</html>\r
-\r
+++ /dev/null
-<html>\r
-<head>\r
-<title>Search Words letter</title>\r
-<meta http-equiv="content-type" content="text/html; charset=iso-8859-1">\r
-<meta name="generator" content="RoboHelp by eHelp Corporation www.ehelp.com">\r
-<meta name "description" content="WebHelp 2002">\r
-<base target="bsscright">\r
-<style>\r
-<!--\r
-body {margin-left:1pt; margin-top:1pt; margin-right:1pt;font-family:Arial; font-size:9pt;}\r
-\r
-A:link {font-family:Arial; font-size:9pt; color:#000000; font-style:normal; text-decoration:none; }\r
-A:visited {font-family:Arial; font-size:9pt; color:#000000; font-style:normal; text-decoration:none; }\r
-A:active {background-color:#cccccc;}\r
-A:hover {font-family:Arial; font-size:9pt; color:#007f00; font-style:normal; text-decoration:underline; }\r
-\r
-.tabs {background-color:#c0c0c0;}\r
-.ftsheader {margin-left:10pt; margin-top:0pt;}\r
-.ftsbody {margin-left:10pt; margin-top:0pt;}\r
-.inactive {color:#666666;}\r
-.ftsheader {background-color:White; } \r
-\r
-body {background-color:White; } \r
-p {color:Black; } p {font-family:Tahoma; } p {font-size:8pt; } p {font-style:Normal; } p {text-decoration:none; } \r
-A:link {color:Black; } A:link {font-family:Tahoma; } A:link {font-size:8pt; } A:link {font-style:Normal; } A:link {text-decoration:none; } \r
-A:visited {color:Black; } A:visited {font-family:Tahoma; } A:visited {font-size:8pt; } A:visited {font-style:Normal; } A:visited {text-decoration:none; } \r
-A:active {background-color:Silver; } \r
-A:hover {color:Navy; } A:hover {font-family:Tahoma; } A:hover {font-size:8pt; } A:hover {font-style:Normal; } A:hover {text-decoration:underline; } \r
-\r
--->\r
-</style>\r
-<style>\r
-<!--\r
-body {background-color:White; } \r
--->\r
-</style>\r
-</head>\r
-<body marginheight="0" marginwidth="0">\r
-\r
-<p class="ftsheader"><a name="subkey_V"></a> <a href="whnvl32.htm#home" target="_self" title="back to top level"><b>^</b></a> <a href="whlstf4.htm#bm_V" target="ftslist" title="search letter VA"><b>VA</b></a> <a href="whlstf5.htm#bms_VI" target="ftslist" title="search letter VI"><b>VI</b></a> <a href="whnvl32.htm#home" target="_self" title="back to top level"><b>^</b></a></p>\r
-\r
-</body>\r
-\r
-</html>\r
-\r
+++ /dev/null
-<html>\r
-<head>\r
-<title>Search Words letter</title>\r
-<meta http-equiv="content-type" content="text/html; charset=iso-8859-1">\r
-<meta name="generator" content="RoboHelp by eHelp Corporation www.ehelp.com">\r
-<meta name "description" content="WebHelp 2002">\r
-<base target="bsscright">\r
-<style>\r
-<!--\r
-body {margin-left:1pt; margin-top:1pt; margin-right:1pt;font-family:Arial; font-size:9pt;}\r
-\r
-A:link {font-family:Arial; font-size:9pt; color:#000000; font-style:normal; text-decoration:none; }\r
-A:visited {font-family:Arial; font-size:9pt; color:#000000; font-style:normal; text-decoration:none; }\r
-A:active {background-color:#cccccc;}\r
-A:hover {font-family:Arial; font-size:9pt; color:#007f00; font-style:normal; text-decoration:underline; }\r
-\r
-.tabs {background-color:#c0c0c0;}\r
-.ftsheader {margin-left:10pt; margin-top:0pt;}\r
-.ftsbody {margin-left:10pt; margin-top:0pt;}\r
-.inactive {color:#666666;}\r
-.ftsheader {background-color:White; } \r
-\r
-body {background-color:White; } \r
-p {color:Black; } p {font-family:Tahoma; } p {font-size:8pt; } p {font-style:Normal; } p {text-decoration:none; } \r
-A:link {color:Black; } A:link {font-family:Tahoma; } A:link {font-size:8pt; } A:link {font-style:Normal; } A:link {text-decoration:none; } \r
-A:visited {color:Black; } A:visited {font-family:Tahoma; } A:visited {font-size:8pt; } A:visited {font-style:Normal; } A:visited {text-decoration:none; } \r
-A:active {background-color:Silver; } \r
-A:hover {color:Navy; } A:hover {font-family:Tahoma; } A:hover {font-size:8pt; } A:hover {font-style:Normal; } A:hover {text-decoration:underline; } \r
-\r
--->\r
-</style>\r
-<style>\r
-<!--\r
-body {background-color:White; } \r
--->\r
-</style>\r
-</head>\r
-<body marginheight="0" marginwidth="0">\r
-\r
-<p class="ftsheader"><a name="subkey_W"></a> <a href="whnvl32.htm#home" target="_self" title="back to top level"><b>^</b></a> <a href="whlstf5.htm#bm_W" target="ftslist" title="search letter WA"><b>WA</b></a> <a href="whlstf5.htm#bms_WE" target="ftslist" title="search letter WE"><b>WE</b></a> <a href="whlstf5.htm#bms_WH" target="ftslist" title="search letter WH"><b>WH</b></a> <a href="whlstf5.htm#bms_WI" target="ftslist" title="search letter WI"><b>WI</b></a> <a href="whlstf5.htm#bms_WO" target="ftslist" title="search letter WO"><b>WO</b></a> <a href="whnvl32.htm#home" target="_self" title="back to top level"><b>^</b></a></p>\r
-\r
-</body>\r
-\r
-</html>\r
-\r
+++ /dev/null
-<html>\r
-<head>\r
-<title>Search Words letter</title>\r
-<meta http-equiv="content-type" content="text/html; charset=iso-8859-1">\r
-<meta name="generator" content="RoboHelp by eHelp Corporation www.ehelp.com">\r
-<meta name "description" content="WebHelp 2002">\r
-<base target="bsscright">\r
-<style>\r
-<!--\r
-body {margin-left:1pt; margin-top:1pt; margin-right:1pt;font-family:Arial; font-size:9pt;}\r
-\r
-A:link {font-family:Arial; font-size:9pt; color:#000000; font-style:normal; text-decoration:none; }\r
-A:visited {font-family:Arial; font-size:9pt; color:#000000; font-style:normal; text-decoration:none; }\r
-A:active {background-color:#cccccc;}\r
-A:hover {font-family:Arial; font-size:9pt; color:#007f00; font-style:normal; text-decoration:underline; }\r
-\r
-.tabs {background-color:#c0c0c0;}\r
-.ftsheader {margin-left:10pt; margin-top:0pt;}\r
-.ftsbody {margin-left:10pt; margin-top:0pt;}\r
-.inactive {color:#666666;}\r
-.ftsheader {background-color:White; } \r
-\r
-body {background-color:White; } \r
-p {color:Black; } p {font-family:Tahoma; } p {font-size:8pt; } p {font-style:Normal; } p {text-decoration:none; } \r
-A:link {color:Black; } A:link {font-family:Tahoma; } A:link {font-size:8pt; } A:link {font-style:Normal; } A:link {text-decoration:none; } \r
-A:visited {color:Black; } A:visited {font-family:Tahoma; } A:visited {font-size:8pt; } A:visited {font-style:Normal; } A:visited {text-decoration:none; } \r
-A:active {background-color:Silver; } \r
-A:hover {color:Navy; } A:hover {font-family:Tahoma; } A:hover {font-size:8pt; } A:hover {font-style:Normal; } A:hover {text-decoration:underline; } \r
-\r
--->\r
-</style>\r
-<style>\r
-<!--\r
-body {background-color:White; } \r
--->\r
-</style>\r
-</head>\r
-<body marginheight="0" marginwidth="0">\r
-\r
-<p class="ftsheader"><a name="subkey_C"></a> <a href="whnvl32.htm#home" target="_self" title="back to top level"><b>^</b></a> <a href="whlstf0.htm#bm_C" target="ftslist" title="search letter CA"><b>CA</b></a> <a href="whlstf0.htm#bms_CH" target="ftslist" title="search letter CH"><b>CH</b></a> <a href="whlstf0.htm#bms_CL" target="ftslist" title="search letter CL"><b>CL</b></a> <a href="whlstf0.htm#bms_CO" target="ftslist" title="search letter CO"><b>CO</b></a> <a href="whlstf1.htm#bms_CR" target="ftslist" title="search letter CR"><b>CR</b></a> <a href="whlstf1.htm#bms_CU" target="ftslist" title="search letter CU"><b>CU</b></a> <a href="whnvl32.htm#home" target="_self" title="back to top level"><b>^</b></a></p>\r
-\r
-</body>\r
-\r
-</html>\r
-\r
+++ /dev/null
-<html>\r
-<head>\r
-<title>Search Words letter</title>\r
-<meta http-equiv="content-type" content="text/html; charset=iso-8859-1">\r
-<meta name="generator" content="RoboHelp by eHelp Corporation www.ehelp.com">\r
-<meta name "description" content="WebHelp 2002">\r
-<base target="bsscright">\r
-<style>\r
-<!--\r
-body {margin-left:1pt; margin-top:1pt; margin-right:1pt;font-family:Arial; font-size:9pt;}\r
-\r
-A:link {font-family:Arial; font-size:9pt; color:#000000; font-style:normal; text-decoration:none; }\r
-A:visited {font-family:Arial; font-size:9pt; color:#000000; font-style:normal; text-decoration:none; }\r
-A:active {background-color:#cccccc;}\r
-A:hover {font-family:Arial; font-size:9pt; color:#007f00; font-style:normal; text-decoration:underline; }\r
-\r
-.tabs {background-color:#c0c0c0;}\r
-.ftsheader {margin-left:10pt; margin-top:0pt;}\r
-.ftsbody {margin-left:10pt; margin-top:0pt;}\r
-.inactive {color:#666666;}\r
-.ftsheader {background-color:White; } \r
-\r
-body {background-color:White; } \r
-p {color:Black; } p {font-family:Tahoma; } p {font-size:8pt; } p {font-style:Normal; } p {text-decoration:none; } \r
-A:link {color:Black; } A:link {font-family:Tahoma; } A:link {font-size:8pt; } A:link {font-style:Normal; } A:link {text-decoration:none; } \r
-A:visited {color:Black; } A:visited {font-family:Tahoma; } A:visited {font-size:8pt; } A:visited {font-style:Normal; } A:visited {text-decoration:none; } \r
-A:active {background-color:Silver; } \r
-A:hover {color:Navy; } A:hover {font-family:Tahoma; } A:hover {font-size:8pt; } A:hover {font-style:Normal; } A:hover {text-decoration:underline; } \r
-\r
--->\r
-</style>\r
-<style>\r
-<!--\r
-body {background-color:White; } \r
--->\r
-</style>\r
-</head>\r
-<body marginheight="0" marginwidth="0">\r
-\r
-<p class="ftsheader"><a name="subkey_X"></a> <a href="whnvl32.htm#home" target="_self" title="back to top level"><b>^</b></a> <a href="whlstf5.htm#bm_X" target="ftslist" title="search letter X "><b>X </b></a> <a href="whlstf5.htm#bms_XM" target="ftslist" title="search letter XM"><b>XM</b></a> <a href="whnvl32.htm#home" target="_self" title="back to top level"><b>^</b></a></p>\r
-\r
-</body>\r
-\r
-</html>\r
-\r
+++ /dev/null
-<html>\r
-<head>\r
-<title>Search Words letter</title>\r
-<meta http-equiv="content-type" content="text/html; charset=iso-8859-1">\r
-<meta name="generator" content="RoboHelp by eHelp Corporation www.ehelp.com">\r
-<meta name "description" content="WebHelp 2002">\r
-<base target="bsscright">\r
-<style>\r
-<!--\r
-body {margin-left:1pt; margin-top:1pt; margin-right:1pt;font-family:Arial; font-size:9pt;}\r
-\r
-A:link {font-family:Arial; font-size:9pt; color:#000000; font-style:normal; text-decoration:none; }\r
-A:visited {font-family:Arial; font-size:9pt; color:#000000; font-style:normal; text-decoration:none; }\r
-A:active {background-color:#cccccc;}\r
-A:hover {font-family:Arial; font-size:9pt; color:#007f00; font-style:normal; text-decoration:underline; }\r
-\r
-.tabs {background-color:#c0c0c0;}\r
-.ftsheader {margin-left:10pt; margin-top:0pt;}\r
-.ftsbody {margin-left:10pt; margin-top:0pt;}\r
-.inactive {color:#666666;}\r
-.ftsheader {background-color:White; } \r
-\r
-body {background-color:White; } \r
-p {color:Black; } p {font-family:Tahoma; } p {font-size:8pt; } p {font-style:Normal; } p {text-decoration:none; } \r
-A:link {color:Black; } A:link {font-family:Tahoma; } A:link {font-size:8pt; } A:link {font-style:Normal; } A:link {text-decoration:none; } \r
-A:visited {color:Black; } A:visited {font-family:Tahoma; } A:visited {font-size:8pt; } A:visited {font-style:Normal; } A:visited {text-decoration:none; } \r
-A:active {background-color:Silver; } \r
-A:hover {color:Navy; } A:hover {font-family:Tahoma; } A:hover {font-size:8pt; } A:hover {font-style:Normal; } A:hover {text-decoration:underline; } \r
-\r
--->\r
-</style>\r
-<style>\r
-<!--\r
-body {background-color:White; } \r
--->\r
-</style>\r
-</head>\r
-<body marginheight="0" marginwidth="0">\r
-\r
-<p class="ftsheader"><a name="subkey_Y"></a> <a href="whnvl32.htm#home" target="_self" title="back to top level"><b>^</b></a> <a href="whlstf5.htm#bm_Y" target="ftslist" title="search letter YE"><b>YE</b></a> <a href="whlstf5.htm#bms_YO" target="ftslist" title="search letter YO"><b>YO</b></a> <a href="whnvl32.htm#home" target="_self" title="back to top level"><b>^</b></a></p>\r
-\r
-</body>\r
-\r
-</html>\r
-\r
+++ /dev/null
-<html>\r
-<head>\r
-<title>Search Words letter</title>\r
-<meta http-equiv="content-type" content="text/html; charset=iso-8859-1">\r
-<meta name="generator" content="RoboHelp by eHelp Corporation www.ehelp.com">\r
-<meta name "description" content="WebHelp 2002">\r
-<base target="bsscright">\r
-<style>\r
-<!--\r
-body {margin-left:1pt; margin-top:1pt; margin-right:1pt;font-family:Arial; font-size:9pt;}\r
-\r
-A:link {font-family:Arial; font-size:9pt; color:#000000; font-style:normal; text-decoration:none; }\r
-A:visited {font-family:Arial; font-size:9pt; color:#000000; font-style:normal; text-decoration:none; }\r
-A:active {background-color:#cccccc;}\r
-A:hover {font-family:Arial; font-size:9pt; color:#007f00; font-style:normal; text-decoration:underline; }\r
-\r
-.tabs {background-color:#c0c0c0;}\r
-.ftsheader {margin-left:10pt; margin-top:0pt;}\r
-.ftsbody {margin-left:10pt; margin-top:0pt;}\r
-.inactive {color:#666666;}\r
-.ftsheader {background-color:White; } \r
-\r
-body {background-color:White; } \r
-p {color:Black; } p {font-family:Tahoma; } p {font-size:8pt; } p {font-style:Normal; } p {text-decoration:none; } \r
-A:link {color:Black; } A:link {font-family:Tahoma; } A:link {font-size:8pt; } A:link {font-style:Normal; } A:link {text-decoration:none; } \r
-A:visited {color:Black; } A:visited {font-family:Tahoma; } A:visited {font-size:8pt; } A:visited {font-style:Normal; } A:visited {text-decoration:none; } \r
-A:active {background-color:Silver; } \r
-A:hover {color:Navy; } A:hover {font-family:Tahoma; } A:hover {font-size:8pt; } A:hover {font-style:Normal; } A:hover {text-decoration:underline; } \r
-\r
--->\r
-</style>\r
-<style>\r
-<!--\r
-body {background-color:White; } \r
--->\r
-</style>\r
-</head>\r
-<body marginheight="0" marginwidth="0">\r
-\r
-<p class="ftsheader"><a name="subkey_D"></a> <a href="whnvl32.htm#home" target="_self" title="back to top level"><b>^</b></a> <a href="whlstf1.htm#bm_D" target="ftslist" title="search letter D "><b>D </b></a> <a href="whlstf1.htm#bms_DA" target="ftslist" title="search letter DA"><b>DA</b></a> <a href="whlstf1.htm#bms_DE" target="ftslist" title="search letter DE"><b>DE</b></a> <a href="whlstf1.htm#bms_DI" target="ftslist" title="search letter DI"><b>DI</b></a> <a href="whlstf1.htm#bms_DO" target="ftslist" title="search letter DO"><b>DO</b></a> <a href="whlstf1.htm#bms_DR" target="ftslist" title="search letter DR"><b>DR</b></a> <a href="whlstf1.htm#bms_DU" target="ftslist" title="search letter DU"><b>DU</b></a> <a href="whnvl32.htm#home" target="_self" title="back to top level"><b>^</b></a></p>\r
-\r
-</body>\r
-\r
-</html>\r
-\r
+++ /dev/null
-<html>\r
-<head>\r
-<title>Search Words letter</title>\r
-<meta http-equiv="content-type" content="text/html; charset=iso-8859-1">\r
-<meta name="generator" content="RoboHelp by eHelp Corporation www.ehelp.com">\r
-<meta name "description" content="WebHelp 2002">\r
-<base target="bsscright">\r
-<style>\r
-<!--\r
-body {margin-left:1pt; margin-top:1pt; margin-right:1pt;font-family:Arial; font-size:9pt;}\r
-\r
-A:link {font-family:Arial; font-size:9pt; color:#000000; font-style:normal; text-decoration:none; }\r
-A:visited {font-family:Arial; font-size:9pt; color:#000000; font-style:normal; text-decoration:none; }\r
-A:active {background-color:#cccccc;}\r
-A:hover {font-family:Arial; font-size:9pt; color:#007f00; font-style:normal; text-decoration:underline; }\r
-\r
-.tabs {background-color:#c0c0c0;}\r
-.ftsheader {margin-left:10pt; margin-top:0pt;}\r
-.ftsbody {margin-left:10pt; margin-top:0pt;}\r
-.inactive {color:#666666;}\r
-.ftsheader {background-color:White; } \r
-\r
-body {background-color:White; } \r
-p {color:Black; } p {font-family:Tahoma; } p {font-size:8pt; } p {font-style:Normal; } p {text-decoration:none; } \r
-A:link {color:Black; } A:link {font-family:Tahoma; } A:link {font-size:8pt; } A:link {font-style:Normal; } A:link {text-decoration:none; } \r
-A:visited {color:Black; } A:visited {font-family:Tahoma; } A:visited {font-size:8pt; } A:visited {font-style:Normal; } A:visited {text-decoration:none; } \r
-A:active {background-color:Silver; } \r
-A:hover {color:Navy; } A:hover {font-family:Tahoma; } A:hover {font-size:8pt; } A:hover {font-style:Normal; } A:hover {text-decoration:underline; } \r
-\r
--->\r
-</style>\r
-<style>\r
-<!--\r
-body {background-color:White; } \r
--->\r
-</style>\r
-</head>\r
-<body marginheight="0" marginwidth="0">\r
-\r
-<p class="ftsheader"><a name="subkey_E"></a> <a href="whnvl32.htm#home" target="_self" title="back to top level"><b>^</b></a> <a href="whlstf1.htm#bm_E" target="ftslist" title="search letter ED"><b>ED</b></a> <a href="whlstf1.htm#bms_EL" target="ftslist" title="search letter EL"><b>EL</b></a> <a href="whlstf1.htm#bms_EN" target="ftslist" title="search letter EN"><b>EN</b></a> <a href="whlstf1.htm#bms_ET" target="ftslist" title="search letter ET"><b>ET</b></a> <a href="whlstf1.htm#bms_EV" target="ftslist" title="search letter EV"><b>EV</b></a> <a href="whlstf1.htm#bms_EX" target="ftslist" title="search letter EX"><b>EX</b></a> <a href="whnvl32.htm#home" target="_self" title="back to top level"><b>^</b></a></p>\r
-\r
-</body>\r
-\r
-</html>\r
-\r
+++ /dev/null
-<html>\r
-<head>\r
-<title>Search Words letter</title>\r
-<meta http-equiv="content-type" content="text/html; charset=iso-8859-1">\r
-<meta name="generator" content="RoboHelp by eHelp Corporation www.ehelp.com">\r
-<meta name "description" content="WebHelp 2002">\r
-<base target="bsscright">\r
-<style>\r
-<!--\r
-body {margin-left:1pt; margin-top:1pt; margin-right:1pt;font-family:Arial; font-size:9pt;}\r
-\r
-A:link {font-family:Arial; font-size:9pt; color:#000000; font-style:normal; text-decoration:none; }\r
-A:visited {font-family:Arial; font-size:9pt; color:#000000; font-style:normal; text-decoration:none; }\r
-A:active {background-color:#cccccc;}\r
-A:hover {font-family:Arial; font-size:9pt; color:#007f00; font-style:normal; text-decoration:underline; }\r
-\r
-.tabs {background-color:#c0c0c0;}\r
-.ftsheader {margin-left:10pt; margin-top:0pt;}\r
-.ftsbody {margin-left:10pt; margin-top:0pt;}\r
-.inactive {color:#666666;}\r
-.ftsheader {background-color:White; } \r
-\r
-body {background-color:White; } \r
-p {color:Black; } p {font-family:Tahoma; } p {font-size:8pt; } p {font-style:Normal; } p {text-decoration:none; } \r
-A:link {color:Black; } A:link {font-family:Tahoma; } A:link {font-size:8pt; } A:link {font-style:Normal; } A:link {text-decoration:none; } \r
-A:visited {color:Black; } A:visited {font-family:Tahoma; } A:visited {font-size:8pt; } A:visited {font-style:Normal; } A:visited {text-decoration:none; } \r
-A:active {background-color:Silver; } \r
-A:hover {color:Navy; } A:hover {font-family:Tahoma; } A:hover {font-size:8pt; } A:hover {font-style:Normal; } A:hover {text-decoration:underline; } \r
-\r
--->\r
-</style>\r
-<style>\r
-<!--\r
-body {background-color:White; } \r
--->\r
-</style>\r
-</head>\r
-<body marginheight="0" marginwidth="0">\r
-\r
-<p class="ftsheader"><a name="subkey_F"></a> <a href="whnvl32.htm#home" target="_self" title="back to top level"><b>^</b></a> <a href="whlstf1.htm#bm_F" target="ftslist" title="search letter FA"><b>FA</b></a> <a href="whlstf1.htm#bms_FI" target="ftslist" title="search letter FI"><b>FI</b></a> <a href="whlstf1.htm#bms_FL" target="ftslist" title="search letter FL"><b>FL</b></a> <a href="whlstf1.htm#bms_FO" target="ftslist" title="search letter FO"><b>FO</b></a> <a href="whlstf1.htm#bms_FR" target="ftslist" title="search letter FR"><b>FR</b></a> <a href="whlstf1.htm#bms_FU" target="ftslist" title="search letter FU"><b>FU</b></a> <a href="whnvl32.htm#home" target="_self" title="back to top level"><b>^</b></a></p>\r
-\r
-</body>\r
-\r
-</html>\r
-\r
+++ /dev/null
-<html>\r
-<head>\r
-<title>Search Words letter</title>\r
-<meta http-equiv="content-type" content="text/html; charset=iso-8859-1">\r
-<meta name="generator" content="RoboHelp by eHelp Corporation www.ehelp.com">\r
-<meta name "description" content="WebHelp 2002">\r
-<base target="bsscright">\r
-<style>\r
-<!--\r
-body {margin-left:1pt; margin-top:1pt; margin-right:1pt;font-family:Arial; font-size:9pt;}\r
-\r
-A:link {font-family:Arial; font-size:9pt; color:#000000; font-style:normal; text-decoration:none; }\r
-A:visited {font-family:Arial; font-size:9pt; color:#000000; font-style:normal; text-decoration:none; }\r
-A:active {background-color:#cccccc;}\r
-A:hover {font-family:Arial; font-size:9pt; color:#007f00; font-style:normal; text-decoration:underline; }\r
-\r
-.tabs {background-color:#c0c0c0;}\r
-.ftsheader {margin-left:10pt; margin-top:0pt;}\r
-.ftsbody {margin-left:10pt; margin-top:0pt;}\r
-.inactive {color:#666666;}\r
-.ftsheader {background-color:White; } \r
-\r
-body {background-color:White; } \r
-p {color:Black; } p {font-family:Tahoma; } p {font-size:8pt; } p {font-style:Normal; } p {text-decoration:none; } \r
-A:link {color:Black; } A:link {font-family:Tahoma; } A:link {font-size:8pt; } A:link {font-style:Normal; } A:link {text-decoration:none; } \r
-A:visited {color:Black; } A:visited {font-family:Tahoma; } A:visited {font-size:8pt; } A:visited {font-style:Normal; } A:visited {text-decoration:none; } \r
-A:active {background-color:Silver; } \r
-A:hover {color:Navy; } A:hover {font-family:Tahoma; } A:hover {font-size:8pt; } A:hover {font-style:Normal; } A:hover {text-decoration:underline; } \r
-\r
--->\r
-</style>\r
-<style>\r
-<!--\r
-body {background-color:White; } \r
--->\r
-</style>\r
-</head>\r
-<body marginheight="0" marginwidth="0">\r
-\r
-<p class="ftsheader"><a name="subkey_G"></a> <a href="whnvl32.htm#home" target="_self" title="back to top level"><b>^</b></a> <a href="whlstf1.htm#bm_G" target="ftslist" title="search letter GA"><b>GA</b></a> <a href="whlstf1.htm#bms_GE" target="ftslist" title="search letter GE"><b>GE</b></a> <a href="whlstf1.htm#bms_GI" target="ftslist" title="search letter GI"><b>GI</b></a> <a href="whlstf1.htm#bms_GO" target="ftslist" title="search letter GO"><b>GO</b></a> <a href="whlstf2.htm#bms_GR" target="ftslist" title="search letter GR"><b>GR</b></a> <a href="whlstf2.htm#bms_GU" target="ftslist" title="search letter GU"><b>GU</b></a> <a href="whnvl32.htm#home" target="_self" title="back to top level"><b>^</b></a></p>\r
-\r
-</body>\r
-\r
-</html>\r
-\r
+++ /dev/null
-<html>\r
-<head>\r
-<title>Search Words letter</title>\r
-<meta http-equiv="content-type" content="text/html; charset=iso-8859-1">\r
-<meta name="generator" content="RoboHelp by eHelp Corporation www.ehelp.com">\r
-<meta name "description" content="WebHelp 2002">\r
-<base target="bsscright">\r
-<style>\r
-<!--\r
-body {margin-left:1pt; margin-top:1pt; margin-right:1pt;font-family:Arial; font-size:9pt;}\r
-\r
-A:link {font-family:Arial; font-size:9pt; color:#000000; font-style:normal; text-decoration:none; }\r
-A:visited {font-family:Arial; font-size:9pt; color:#000000; font-style:normal; text-decoration:none; }\r
-A:active {background-color:#cccccc;}\r
-A:hover {font-family:Arial; font-size:9pt; color:#007f00; font-style:normal; text-decoration:underline; }\r
-\r
-.tabs {background-color:#c0c0c0;}\r
-.ftsheader {margin-left:10pt; margin-top:0pt;}\r
-.ftsbody {margin-left:10pt; margin-top:0pt;}\r
-.inactive {color:#666666;}\r
-.ftsheader {background-color:White; } \r
-\r
-body {background-color:White; } \r
-p {color:Black; } p {font-family:Tahoma; } p {font-size:8pt; } p {font-style:Normal; } p {text-decoration:none; } \r
-A:link {color:Black; } A:link {font-family:Tahoma; } A:link {font-size:8pt; } A:link {font-style:Normal; } A:link {text-decoration:none; } \r
-A:visited {color:Black; } A:visited {font-family:Tahoma; } A:visited {font-size:8pt; } A:visited {font-style:Normal; } A:visited {text-decoration:none; } \r
-A:active {background-color:Silver; } \r
-A:hover {color:Navy; } A:hover {font-family:Tahoma; } A:hover {font-size:8pt; } A:hover {font-style:Normal; } A:hover {text-decoration:underline; } \r
-\r
--->\r
-</style>\r
-<style>\r
-<!--\r
-body {background-color:White; } \r
--->\r
-</style>\r
-</head>\r
-<body marginheight="0" marginwidth="0">\r
-\r
-<p class="ftsheader"><a name="subkey_H"></a> <a href="whnvl32.htm#home" target="_self" title="back to top level"><b>^</b></a> <a href="whlstf2.htm#bm_H" target="ftslist" title="search letter HA"><b>HA</b></a> <a href="whlstf2.htm#bms_HE" target="ftslist" title="search letter HE"><b>HE</b></a> <a href="whlstf2.htm#bms_HI" target="ftslist" title="search letter HI"><b>HI</b></a> <a href="whnvl32.htm#home" target="_self" title="back to top level"><b>^</b></a></p>\r
-\r
-</body>\r
-\r
-</html>\r
-\r
+++ /dev/null
-<html>\r
-<head>\r
-<title>Search Words letter</title>\r
-<meta http-equiv="content-type" content="text/html; charset=iso-8859-1">\r
-<meta name="generator" content="RoboHelp by eHelp Corporation www.ehelp.com">\r
-<meta name "description" content="WebHelp 2002">\r
-<base target="bsscright">\r
-<style>\r
-<!--\r
-body {margin-left:1pt; margin-top:1pt; margin-right:1pt;font-family:Arial; font-size:9pt;}\r
-\r
-A:link {font-family:Arial; font-size:9pt; color:#000000; font-style:normal; text-decoration:none; }\r
-A:visited {font-family:Arial; font-size:9pt; color:#000000; font-style:normal; text-decoration:none; }\r
-A:active {background-color:#cccccc;}\r
-A:hover {font-family:Arial; font-size:9pt; color:#007f00; font-style:normal; text-decoration:underline; }\r
-\r
-.tabs {background-color:#c0c0c0;}\r
-.ftsheader {margin-left:10pt; margin-top:0pt;}\r
-.ftsbody {margin-left:10pt; margin-top:0pt;}\r
-.inactive {color:#666666;}\r
-.ftsheader {background-color:White; } \r
-\r
-body {background-color:White; } \r
-p {color:Black; } p {font-family:Tahoma; } p {font-size:8pt; } p {font-style:Normal; } p {text-decoration:none; } \r
-A:link {color:Black; } A:link {font-family:Tahoma; } A:link {font-size:8pt; } A:link {font-style:Normal; } A:link {text-decoration:none; } \r
-A:visited {color:Black; } A:visited {font-family:Tahoma; } A:visited {font-size:8pt; } A:visited {font-style:Normal; } A:visited {text-decoration:none; } \r
-A:active {background-color:Silver; } \r
-A:hover {color:Navy; } A:hover {font-family:Tahoma; } A:hover {font-size:8pt; } A:hover {font-style:Normal; } A:hover {text-decoration:underline; } \r
-\r
--->\r
-</style>\r
-<style>\r
-<!--\r
-body {background-color:White; } \r
--->\r
-</style>\r
-</head>\r
-<body marginheight="0" marginwidth="0">\r
-\r
-<p class="ftsheader"><a name="subkey_I"></a> <a href="whnvl32.htm#home" target="_self" title="back to top level"><b>^</b></a> <a href="whlstf2.htm#bm_I" target="ftslist" title="search letter I "><b>I </b></a> <a href="whlstf2.htm#bms_IC" target="ftslist" title="search letter IC"><b>IC</b></a> <a href="whlstf2.htm#bms_IF" target="ftslist" title="search letter IF"><b>IF</b></a> <a href="whlstf2.htm#bms_IG" target="ftslist" title="search letter IG"><b>IG</b></a> <a href="whlstf2.htm#bms_IL" target="ftslist" title="search letter IL"><b>IL</b></a> <a href="whlstf2.htm#bms_IM" target="ftslist" title="search letter IM"><b>IM</b></a> <a href="whlstf2.htm#bms_IN" target="ftslist" title="search letter IN"><b>IN</b></a> <a href="whlstf2.htm#bms_IT" target="ftslist" title="search letter IT"><b>IT</b></a> <a href="whnvl32.htm#home" target="_self" title="back to top level"><b>^</b></a></p>\r
-\r
-</body>\r
-\r
-</html>\r
-\r
+++ /dev/null
-<html>\r
-<head>\r
-<title>Search Words letter</title>\r
-<meta http-equiv="content-type" content="text/html; charset=iso-8859-1">\r
-<meta name="generator" content="RoboHelp by eHelp Corporation www.ehelp.com">\r
-<meta name "description" content="WebHelp 2002">\r
-<base target="bsscright">\r
-<style>\r
-<!--\r
-body {margin-left:1pt; margin-top:1pt; margin-right:1pt;font-family:Arial; font-size:9pt;}\r
-\r
-A:link {font-family:Arial; font-size:9pt; color:#000000; font-style:normal; text-decoration:none; }\r
-A:visited {font-family:Arial; font-size:9pt; color:#000000; font-style:normal; text-decoration:none; }\r
-A:active {background-color:#cccccc;}\r
-A:hover {font-family:Arial; font-size:9pt; color:#007f00; font-style:normal; text-decoration:underline; }\r
-\r
-.tabs {background-color:#c0c0c0;}\r
-.ftsheader {margin-left:10pt; margin-top:0pt;}\r
-.ftsbody {margin-left:10pt; margin-top:0pt;}\r
-.inactive {color:#666666;}\r
-.ftsheader {background-color:White; } \r
-\r
-body {background-color:White; } \r
-p {color:Black; } p {font-family:Tahoma; } p {font-size:8pt; } p {font-style:Normal; } p {text-decoration:none; } \r
-A:link {color:Black; } A:link {font-family:Tahoma; } A:link {font-size:8pt; } A:link {font-style:Normal; } A:link {text-decoration:none; } \r
-A:visited {color:Black; } A:visited {font-family:Tahoma; } A:visited {font-size:8pt; } A:visited {font-style:Normal; } A:visited {text-decoration:none; } \r
-A:active {background-color:Silver; } \r
-A:hover {color:Navy; } A:hover {font-family:Tahoma; } A:hover {font-size:8pt; } A:hover {font-style:Normal; } A:hover {text-decoration:underline; } \r
-\r
--->\r
-</style>\r
-<style>\r
-<!--\r
-body {background-color:White; } \r
--->\r
-</style>\r
-</head>\r
-<body marginheight="0" marginwidth="0">\r
-\r
-<p class="ftsheader"><a name="subkey_L"></a> <a href="whnvl32.htm#home" target="_self" title="back to top level"><b>^</b></a> <a href="whlstf2.htm#bm_L" target="ftslist" title="search letter LA"><b>LA</b></a> <a href="whlstf2.htm#bms_LE" target="ftslist" title="search letter LE"><b>LE</b></a> <a href="whlstf2.htm#bms_LI" target="ftslist" title="search letter LI"><b>LI</b></a> <a href="whlstf2.htm#bms_LL" target="ftslist" title="search letter LL"><b>LL</b></a> <a href="whlstf2.htm#bms_LO" target="ftslist" title="search letter LO"><b>LO</b></a> <a href="whnvl32.htm#home" target="_self" title="back to top level"><b>^</b></a></p>\r
-\r
-</body>\r
-\r
-</html>\r
-\r
+++ /dev/null
-<html>\r
-<head>\r
-<title>Glossary words list</title>\r
-<meta http-equiv="content-type" content="text/html; charset=iso-8859-1">\r
-<meta name="generator" content="RoboHelp by eHelp Corporation www.ehelp.com">\r
-<meta name "description" content="WebHelp 2002">\r
-<base target="bsscright">\r
-<style>\r
-<!--\r
-body {margin-left:1pt; margin-top:1pt; margin-right:1pt;font-family:Arial; font-size:9pt;}\r
-\r
-A:link {font-family:Arial; font-size:9pt; color:#000000; font-style:normal; text-decoration:none; }\r
-A:visited {font-family:Arial; font-size:9pt; color:#000000; font-style:normal; text-decoration:none; }\r
-A:active {background-color:#cccccc;}\r
-A:hover {font-family:Arial; font-size:9pt; color:#007f00; font-style:normal; text-decoration:underline; }\r
-\r
-.tabs {background-color:#c0c0c0;}\r
-.glsheader {margin-left:10pt; margin-top:0pt;}\r
-.glsbody {margin-left:10pt; margin-top:0pt;}\r
-.inactive {color:#666666;}\r
-.glsheader {background-color:White; } \r
-\r
-body {background-color:White; } \r
-p {color:Black; } p {font-family:Tahoma; } p {font-size:8pt; } p {font-style:Normal; } p {text-decoration:none; } \r
-A:link {color:Black; } A:link {font-family:Tahoma; } A:link {font-size:8pt; } A:link {font-style:Normal; } A:link {text-decoration:none; } \r
-A:visited {color:Black; } A:visited {font-family:Tahoma; }A:visited {font-size:8pt; } A:visited {font-style:Normal; } A:visited {text-decoration:none; } \r
-A:active {background-color:Silver; } \r
-A:hover {color:Navy; } A:hover {font-family:Tahoma; } A:hover {font-size:8pt; } A:hover {font-style:Normal; } A:hover {text-decoration:underline; } \r
-\r
--->\r
-</style>\r
-</head>\r
-<body marginheight="0" marginwidth="0">\r
-<p class="glsbody">\r
-\r
-<br><a name="bm_C"></a>\r
-<nobr><b>Cell</b></nobr><br>\r
-Element of a mesh. Cells are determined by their connectivity. They can have 0,1,2 or 3 dimension.<br>\r
-\r
-<br><a name=""></a>\r
-<nobr><b>Component</b></nobr><br>\r
-One integer or real value can correspond to each component of a field and to each entity of a mesh<br>\r
-\r
-<br><a name="bm_D"></a>\r
-<nobr><b>Descendant connectivity</b></nobr><br>\r
-It is a description of the entities of the mesh with dimension N. This description is made by an ordered list of geometrical entities (nodes, edges, or faces) with dimension N-1.<br>\r
-\r
-<br><a name="bm_E"></a>\r
-<nobr><b>Edge</b></nobr><br>\r
-An edge of a volumetric or surface mesh. It is composed of 2 or 3 nodes (2 vertex nodes and optionally one middle node).<br>\r
-\r
-<br><a name=""></a>\r
-<nobr><b>Entity of a mesh</b></nobr><br>\r
-Geometrical component of the mesh: node, cell, face and edge. Faces and edges are only intermediate entities allowing to define the cells in descendant connectivity.<br>\r
-\r
-<br><a name=""></a>\r
-<nobr><b>Equivalence</b></nobr><br>\r
-Equivalence represents a list of correspondance 2 by 2 of the entities of the same dimension.<br>\r
-\r
-<br><a name="bm_F"></a>\r
-<nobr><b>Face</b></nobr><br>\r
-Face of a volumetrical cell (triangle, quadrangle).<br>\r
-\r
-<br><a name=""></a>\r
-<nobr><b>Family</b></nobr><br>\r
-Entities of a mesh are described by a certain number of characteristics (boundary conditions, groups membership). Families represent classes equivalent to these characteristics (two entities of a mesh can belong to the same family if they have the same characteristics). Every family is determined by a set of attributes and a list of groups membership.<br>\r
-\r
-<br><a name=""></a>\r
-<nobr><b>Field</b></nobr><br>\r
-Field consists of one or several scalar components. One definite type is associated to the given field and the values corresponding to different components are all of the same type.<br>\r
-\r
-<br><a name=""></a>\r
-<nobr><b>Field profile</b></nobr><br>\r
-Fields can be defined only on one part of the mesh. Profile of the field or profile of the component of a field indicates which entities of the mesh contain values.<br>\r
-\r
-<br><a name="bm_G"></a>\r
-<nobr><b>Group</b></nobr><br>\r
-Unordered set of entities of a mesh. One entity can belong to several groups.<br>\r
-\r
-<br><a name="bm_M"></a>\r
-<nobr><b>Mesh</b></nobr><br>\r
-Mesh is described by its geometry: list of nodes and list of cells which constitute this mesh. Supplementary information is added with the help of families (initial, boundary conditions).<br>\r
-\r
-<br><a name="bm_N"></a>\r
-<nobr><b>Nodal connectivity</b></nobr><br>\r
-It is a description of an entity of the mesh by an ordered list of nodes constituting this entity.<br>\r
-\r
-<br><a name=""></a>\r
-<nobr><b>Node</b></nobr><br>\r
-Node can be an isolated node of a mesh, a vertex or middle node of an edge. A node is associated to a point.<br>\r
-\r
-<br><a name="bm_P"></a>\r
-<nobr><b>Point</b></nobr><br>\r
-Geometrical entity determined by its coordinates in the space.<br>\r
-\r
-<br><a name="bm_R"></a>\r
-<nobr><b>Reference connectivity</b></nobr><br>\r
-For each type of entity of a mesh, reference connectivity define the topology of an entity.<br>\r
-\r
-<br><a name=""></a>\r
-<nobr><b>Result</b></nobr><br>\r
-List of fields referring to one mesh.<br>\r
-\r
-<br><a name="bm_S"></a>\r
-<nobr><b>Study</b></nobr><br>\r
-Study represents a chain of sequences of calculations.<br>\r
-<br><br></p>\r
-\r
-</body>\r
-\r
-</html>\r
-\r
+++ /dev/null
-<html>\r
-<head>\r
-<!-- WebHelp version 2002 -->\r
-<title>Index words list</title>\r
-<base target="bsscright">\r
-<meta name="generator" content="RoboHELP by eHelp Corporation www.ehelp.com">\r
-<meta http-equiv="content-type" content="text/html; charset=iso-8859-1">\r
-<style>\r
-<!--\r
-body {margin-left:1pt; margin-top:1pt; margin-right:1pt;font-family:Arial; font-size:9pt;}\r
-\r
-A:link {font-family:Arial; font-size:9pt; color:#000000; font-style:normal; text-decoration:none; }\r
-A:visited {font-family:Arial; font-size:9pt; color:#000000; font-style:normal; text-decoration:none; }\r
-A:active {background-color:#cccccc;}\r
-A:hover {font-family:Arial; font-size:9pt; color:#007f00; font-style:normal; text-decoration:underline; }\r
-\r
-.tabs {background-color:#c0c0c0;}\r
-.ndxheader {margin-left:10pt; margin-top:0pt;}\r
-.ndxbody {margin-left:10pt; margin-top:0pt;}\r
-.inactive {color:#666666;}\r
-\r
-\r
-body {background-color:White; } \r
-p {color:Black; } p {font-family:Tahoma; } p {font-size:8pt; } p {font-style:Normal; } p {text-decoration:none; } \r
-A:link {color:Black; } A:link {font-family:Tahoma; } A:link {font-size:8pt; } A:link {font-style:Normal; } A:link {text-decoration:none; } \r
-A:visited {color:Black; } A:visited {font-family:Tahoma; } A:visited {font-size:8pt; } A:visited {font-style:Normal; } A:visited {text-decoration:none; } \r
-A:active {background-color:Silver; } \r
-A:hover {color:Navy; } A:hover {font-family:Tahoma; } A:hover {font-size:8pt; } A:hover {font-style:Normal; } A:hover {text-decoration:underline; } \r
-\r
--->\r
-</style>\r
-</head>\r
-<body marginheight="0" marginwidth="0">\r
-\r
-</body>\r
-\r
-</html>\r
-\r
+++ /dev/null
-<html>\r
-<head>\r
-<!-- WebHelp version 2002 -->\r
-<title>Content</title>\r
-<base target="bsscright">\r
-<meta name="generator" content="RoboHELP by eHelp Corporation www.ehelp.com">\r
-<meta http-equiv="content-type" content="text/html; charset=iso-8859-1">\r
-<style>\r
-<!--\r
-body {margin-left:1pt; margin-top:1pt; margin-right:1pt;font-family:Arial; font-size:9pt;}\r
-\r
-A:link {font-family:Arial; font-size:9pt; color:#000000; font-style:normal; text-decoration:none; }\r
-A:visited {font-family:Arial; font-size:9pt; color:#000000; font-style:normal; text-decoration:none; }\r
-A:active {background-color:#cccccc;}\r
-A:hover {font-family:Arial; font-size:9pt; color:#007f00; font-style:normal; text-decoration:underline; }\r
-\r
-\r
-.tabs {background-color:#c0c0c0;}\r
-.tocbody {margin-left:10pt; margin-top:0pt;}\r
-.bo {}\r
-.bc {}\r
-.pn {}\r
-.pr {}\r
-\r
-body {background-color:White; } \r
-p {color:Black; } p {font-family:Tahoma; } p {font-size:8pt; } p {font-style:Normal; } p {text-decoration:none; } \r
-A:link {color:Black; } A:link {font-family:Tahoma; } A:link {font-size:8pt; } A:link {font-style:Normal; } A:link {text-decoration:none; } \r
-A:visited {color:Black; } A:visited {font-family:Tahoma; } A:visited {font-size:8pt; } A:visited {font-style:Normal; } A:visited {text-decoration:none; } \r
-A:active {background-color:Silver; } \r
-A:hover {color:Navy; } A:hover {font-family:Tahoma; } A:hover {font-size:8pt; } A:hover {font-style:Normal; } A:hover {text-decoration:underline; } \r
-\r
--->\r
-</style>\r
-</head>\r
-<body marginheight="0" marginwidth="0">\r
-<table border=0>\r
-<tr><td>\r
-<p class="tocbody">\r
-<nobr><a name="1"></a><a href="whlstt1.htm#1" target="_self" title="closed book"><img src="../wht_toc1.gif" border="0" align="absmiddle"> SUPERVISION module</a></nobr><br>\r
-</p>\r
-\r
-</td></tr>\r
-<tr><td>\r
-<p><img src="whexpbar.gif" > <p>\r
-</td></tr>\r
-</table>\r
-</body>\r
-\r
-</html>\r
-\r
+++ /dev/null
-<html>\r
-<head>\r
-<!-- WebHelp version 2002 -->\r
-<title>Content</title>\r
-<base target="bsscright">\r
-<meta name="generator" content="RoboHELP by eHelp Corporation www.ehelp.com">\r
-<meta http-equiv="content-type" content="text/html; charset=iso-8859-1">\r
-<style>\r
-<!--\r
-body {margin-left:1pt; margin-top:1pt; margin-right:1pt;font-family:Arial; font-size:9pt;}\r
-\r
-A:link {font-family:Arial; font-size:9pt; color:#000000; font-style:normal; text-decoration:none; }\r
-A:visited {font-family:Arial; font-size:9pt; color:#000000; font-style:normal; text-decoration:none; }\r
-A:active {background-color:#cccccc;}\r
-A:hover {font-family:Arial; font-size:9pt; color:#007f00; font-style:normal; text-decoration:underline; }\r
-\r
-\r
-.tabs {background-color:#c0c0c0;}\r
-.tocbody {margin-left:10pt; margin-top:0pt;}\r
-.bo {}\r
-.bc {}\r
-.pn {}\r
-.pr {}\r
-\r
-body {background-color:White; } \r
-p {color:Black; } p {font-family:Tahoma; } p {font-size:8pt; } p {font-style:Normal; } p {text-decoration:none; } \r
-A:link {color:Black; } A:link {font-family:Tahoma; } A:link {font-size:8pt; } A:link {font-style:Normal; } A:link {text-decoration:none; } \r
-A:visited {color:Black; } A:visited {font-family:Tahoma; } A:visited {font-size:8pt; } A:visited {font-style:Normal; } A:visited {text-decoration:none; } \r
-A:active {background-color:Silver; } \r
-A:hover {color:Navy; } A:hover {font-family:Tahoma; } A:hover {font-size:8pt; } A:hover {font-style:Normal; } A:hover {text-decoration:underline; } \r
-\r
--->\r
-</style>\r
-</head>\r
-<body marginheight="0" marginwidth="0">\r
-<table border=0>\r
-<tr><td>\r
-<p class="tocbody">\r
-<nobr><a name="1"></a><a href="whlstt0.htm#1" target="_self"><img src="../wht_toc2.gif" border="0" align="absmiddle"> SUPERVISION module</a></nobr><br>\r
- <nobr><a href="../files/introduction_to_supervisor.htm"><img src="../wht_toc3.gif" border="0" align="absmiddle"> Introduction to SUPERVISION</a></nobr><br>\r
- <nobr><a href="../files/usage_of_supervisor_module.htm"><img src="../wht_toc3.gif" border="0" align="absmiddle"> Usage of SUPERVISION module</a></nobr><br>\r
- <nobr><a href="../files/running_supervisor.htm"><img src="../wht_toc3.gif" border="0" align="absmiddle"> Running SUPERVISION</a></nobr><br>\r
- <nobr><a name="2"></a><a href="whlstt2.htm#2" target="_self" title="closed book"><img src="../wht_toc1.gif" border="0" align="absmiddle"> Editing graphs</a></nobr><br>\r
- <nobr><a name="5"></a><a href="whlstt5.htm#5" target="_self" title="closed book"><img src="../wht_toc1.gif" border="0" align="absmiddle"> Initializing and executing graphs</a></nobr><br>\r
-</p>\r
-\r
-</td></tr>\r
-<tr><td>\r
-<p><img src="whexpbar.gif" > <p>\r
-</td></tr>\r
-</table>\r
-</body>\r
-\r
-</html>\r
-\r
+++ /dev/null
-<html>\r
-<head>\r
-<!-- WebHelp version 2002 -->\r
-<title>Content</title>\r
-<base target="bsscright">\r
-<meta name="generator" content="RoboHELP by eHelp Corporation www.ehelp.com">\r
-<meta http-equiv="content-type" content="text/html; charset=iso-8859-1">\r
-<style>\r
-<!--\r
-body {margin-left:1pt; margin-top:1pt; margin-right:1pt;font-family:Arial; font-size:9pt;}\r
-\r
-A:link {font-family:Arial; font-size:9pt; color:#000000; font-style:normal; text-decoration:none; }\r
-A:visited {font-family:Arial; font-size:9pt; color:#000000; font-style:normal; text-decoration:none; }\r
-A:active {background-color:#cccccc;}\r
-A:hover {font-family:Arial; font-size:9pt; color:#007f00; font-style:normal; text-decoration:underline; }\r
-\r
-\r
-.tabs {background-color:#c0c0c0;}\r
-.tocbody {margin-left:10pt; margin-top:0pt;}\r
-.bo {}\r
-.bc {}\r
-.pn {}\r
-.pr {}\r
-\r
-body {background-color:White; } \r
-p {color:Black; } p {font-family:Tahoma; } p {font-size:8pt; } p {font-style:Normal; } p {text-decoration:none; } \r
-A:link {color:Black; } A:link {font-family:Tahoma; } A:link {font-size:8pt; } A:link {font-style:Normal; } A:link {text-decoration:none; } \r
-A:visited {color:Black; } A:visited {font-family:Tahoma; } A:visited {font-size:8pt; } A:visited {font-style:Normal; } A:visited {text-decoration:none; } \r
-A:active {background-color:Silver; } \r
-A:hover {color:Navy; } A:hover {font-family:Tahoma; } A:hover {font-size:8pt; } A:hover {font-style:Normal; } A:hover {text-decoration:underline; } \r
-\r
--->\r
-</style>\r
-</head>\r
-<body marginheight="0" marginwidth="0">\r
-<table border=0>\r
-<tr><td>\r
-<p class="tocbody">\r
-<nobr><a name="1"></a><a href="whlstt0.htm#1" target="_self"><img src="../wht_toc2.gif" border="0" align="absmiddle"> SUPERVISION module</a></nobr><br>\r
- <nobr><a href="../files/introduction_to_supervisor.htm"><img src="../wht_toc3.gif" border="0" align="absmiddle"> Introduction to SUPERVISION</a></nobr><br>\r
- <nobr><a href="../files/usage_of_supervisor_module.htm"><img src="../wht_toc3.gif" border="0" align="absmiddle"> Usage of SUPERVISION module</a></nobr><br>\r
- <nobr><a href="../files/running_supervisor.htm"><img src="../wht_toc3.gif" border="0" align="absmiddle"> Running SUPERVISION</a></nobr><br>\r
- <nobr><a name="2"></a><a href="whlstt1.htm#2" target="_self"><img src="../wht_toc2.gif" border="0" align="absmiddle"> Editing graphs</a></nobr><br>\r
- <nobr><a href="../files/creating_a_new_graph.htm"><img src="../wht_toc3.gif" border="0" align="absmiddle"> Creating a new graph</a></nobr><br>\r
- <nobr><a href="../files/importing_graphs_from_file.htm"><img src="../wht_toc3.gif" border="0" align="absmiddle"> Importing graphs from file</a></nobr><br>\r
- <nobr><a href="../files/exporting_graphs.htm"><img src="../wht_toc3.gif" border="0" align="absmiddle"> Exporting graphs</a></nobr><br>\r
- <nobr><a href="../files/copying_graphs.htm"><img src="../wht_toc3.gif" border="0" align="absmiddle"> Copying graphs</a></nobr><br>\r
- <nobr><a href="../files/inserting_graphs.htm"><img src="../wht_toc3.gif" border="0" align="absmiddle"> Inserting graphs</a></nobr><br>\r
- <nobr><a href="../files/opening_graphs_referenced_in_the_study.htm"><img src="../wht_toc3.gif" border="0" align="absmiddle"> Referencing graphs in the study</a></nobr><br>\r
- <nobr><a href="../files/adding_information_about_graphs.htm"><img src="../wht_toc3.gif" border="0" align="absmiddle"> Changing graph description</a></nobr><br>\r
- <nobr><a href="../files/reloading_dataflow.htm"><img src="../wht_toc3.gif" border="0" align="absmiddle"> Reloading dataflow</a></nobr><br>\r
- <nobr><a name="3"></a><a href="whlstt3.htm#3" target="_self" title="closed book"><img src="../wht_toc1.gif" border="0" align="absmiddle"> Nodes in the graph</a></nobr><br>\r
- <nobr><a name="4"></a><a href="whlstt4.htm#4" target="_self" title="closed book"><img src="../wht_toc1.gif" border="0" align="absmiddle"> Linking nodes</a></nobr><br>\r
- <nobr><a href="../files/changing_view_mode.htm"><img src="../wht_toc3.gif" border="0" align="absmiddle"> Changing view mode</a></nobr><br>\r
- <nobr><a name="5"></a><a href="whlstt5.htm#5" target="_self" title="closed book"><img src="../wht_toc1.gif" border="0" align="absmiddle"> Initializing and executing graphs</a></nobr><br>\r
-</p>\r
-\r
-</td></tr>\r
-<tr><td>\r
-<p><img src="whexpbar.gif" > <p>\r
-</td></tr>\r
-</table>\r
-</body>\r
-\r
-</html>\r
-\r
+++ /dev/null
-<html>\r
-<head>\r
-<!-- WebHelp version 2002 -->\r
-<title>Content</title>\r
-<base target="bsscright">\r
-<meta name="generator" content="RoboHELP by eHelp Corporation www.ehelp.com">\r
-<meta http-equiv="content-type" content="text/html; charset=iso-8859-1">\r
-<style>\r
-<!--\r
-body {margin-left:1pt; margin-top:1pt; margin-right:1pt;font-family:Arial; font-size:9pt;}\r
-\r
-A:link {font-family:Arial; font-size:9pt; color:#000000; font-style:normal; text-decoration:none; }\r
-A:visited {font-family:Arial; font-size:9pt; color:#000000; font-style:normal; text-decoration:none; }\r
-A:active {background-color:#cccccc;}\r
-A:hover {font-family:Arial; font-size:9pt; color:#007f00; font-style:normal; text-decoration:underline; }\r
-\r
-\r
-.tabs {background-color:#c0c0c0;}\r
-.tocbody {margin-left:10pt; margin-top:0pt;}\r
-.bo {}\r
-.bc {}\r
-.pn {}\r
-.pr {}\r
-\r
-body {background-color:White; } \r
-p {color:Black; } p {font-family:Tahoma; } p {font-size:8pt; } p {font-style:Normal; } p {text-decoration:none; } \r
-A:link {color:Black; } A:link {font-family:Tahoma; } A:link {font-size:8pt; } A:link {font-style:Normal; } A:link {text-decoration:none; } \r
-A:visited {color:Black; } A:visited {font-family:Tahoma; } A:visited {font-size:8pt; } A:visited {font-style:Normal; } A:visited {text-decoration:none; } \r
-A:active {background-color:Silver; } \r
-A:hover {color:Navy; } A:hover {font-family:Tahoma; } A:hover {font-size:8pt; } A:hover {font-style:Normal; } A:hover {text-decoration:underline; } \r
-\r
--->\r
-</style>\r
-</head>\r
-<body marginheight="0" marginwidth="0">\r
-<table border=0>\r
-<tr><td>\r
-<p class="tocbody">\r
-<nobr><a name="1"></a><a href="whlstt0.htm#1" target="_self"><img src="../wht_toc2.gif" border="0" align="absmiddle"> SUPERVISION module</a></nobr><br>\r
- <nobr><a href="../files/introduction_to_supervisor.htm"><img src="../wht_toc3.gif" border="0" align="absmiddle"> Introduction to SUPERVISION</a></nobr><br>\r
- <nobr><a href="../files/usage_of_supervisor_module.htm"><img src="../wht_toc3.gif" border="0" align="absmiddle"> Usage of SUPERVISION module</a></nobr><br>\r
- <nobr><a href="../files/running_supervisor.htm"><img src="../wht_toc3.gif" border="0" align="absmiddle"> Running SUPERVISION</a></nobr><br>\r
- <nobr><a name="2"></a><a href="whlstt1.htm#2" target="_self"><img src="../wht_toc2.gif" border="0" align="absmiddle"> Editing graphs</a></nobr><br>\r
- <nobr><a href="../files/creating_a_new_graph.htm"><img src="../wht_toc3.gif" border="0" align="absmiddle"> Creating a new graph</a></nobr><br>\r
- <nobr><a href="../files/importing_graphs_from_file.htm"><img src="../wht_toc3.gif" border="0" align="absmiddle"> Importing graphs from file</a></nobr><br>\r
- <nobr><a href="../files/exporting_graphs.htm"><img src="../wht_toc3.gif" border="0" align="absmiddle"> Exporting graphs</a></nobr><br>\r
- <nobr><a href="../files/copying_graphs.htm"><img src="../wht_toc3.gif" border="0" align="absmiddle"> Copying graphs</a></nobr><br>\r
- <nobr><a href="../files/inserting_graphs.htm"><img src="../wht_toc3.gif" border="0" align="absmiddle"> Inserting graphs</a></nobr><br>\r
- <nobr><a href="../files/opening_graphs_referenced_in_the_study.htm"><img src="../wht_toc3.gif" border="0" align="absmiddle"> Referencing graphs in the study</a></nobr><br>\r
- <nobr><a href="../files/adding_information_about_graphs.htm"><img src="../wht_toc3.gif" border="0" align="absmiddle"> Changing graph description</a></nobr><br>\r
- <nobr><a href="../files/reloading_dataflow.htm"><img src="../wht_toc3.gif" border="0" align="absmiddle"> Reloading dataflow</a></nobr><br>\r
- <nobr><a name="3"></a><a href="whlstt2.htm#3" target="_self"><img src="../wht_toc2.gif" border="0" align="absmiddle"> Nodes in the graph</a></nobr><br>\r
- <nobr><a href="../files/about_nodes.htm"><img src="../wht_toc3.gif" border="0" align="absmiddle"> About nodes</a></nobr><br>\r
- <nobr><a href="../files/computation_nodes.htm"><img src="../wht_toc3.gif" border="0" align="absmiddle"> Computation nodes</a></nobr><br>\r
- <nobr><a href="../files/loop_nodes.htm"><img src="../wht_toc3.gif" border="0" align="absmiddle"> Loop nodes</a></nobr><br>\r
- <nobr><a href="../files/switch_nodes.htm"><img src="../wht_toc3.gif" border="0" align="absmiddle"> Switch nodes</a></nobr><br>\r
- <nobr><a href="../files/goto_nodes.htm"><img src="../wht_toc3.gif" border="0" align="absmiddle"> GOTO nodes</a></nobr><br>\r
- <nobr><a href="../files/adding_nodes.htm"><img src="../wht_toc3.gif" border="0" align="absmiddle"> Adding nodes</a></nobr><br>\r
- <nobr><a href="../files/directing_dataflow_between_nodes.htm"><img src="../wht_toc3.gif" border="0" align="absmiddle"> Directing dataflow between nodes</a></nobr><br>\r
- <nobr><a href="../files/placing_nodes_in_the_window.htm"><img src="../wht_toc3.gif" border="0" align="absmiddle"> Locating nodes in the window</a></nobr><br>\r
- <nobr><a href="../files/deleting_nodes.htm"><img src="../wht_toc3.gif" border="0" align="absmiddle"> Deleting nodes</a></nobr><br>\r
- <nobr><a href="../files/renaming_nodes.htm"><img src="../wht_toc3.gif" border="0" align="absmiddle"> Renaming nodes</a></nobr><br>\r
- <nobr><a href="../files/changing_node_description.htm"><img src="../wht_toc3.gif" border="0" align="absmiddle"> Changing node description</a></nobr><br>\r
- <nobr><a href="../files/editing_node_function.htm"><img src="../wht_toc3.gif" border="0" align="absmiddle"> Editing node function</a></nobr><br>\r
- <nobr><a href="../files/adding_node_ports.htm"><img src="../wht_toc3.gif" border="0" align="absmiddle"> Adding node ports</a></nobr><br>\r
- <nobr><a name="4"></a><a href="whlstt4.htm#4" target="_self" title="closed book"><img src="../wht_toc1.gif" border="0" align="absmiddle"> Linking nodes</a></nobr><br>\r
- <nobr><a href="../files/changing_view_mode.htm"><img src="../wht_toc3.gif" border="0" align="absmiddle"> Changing view mode</a></nobr><br>\r
- <nobr><a name="5"></a><a href="whlstt5.htm#5" target="_self" title="closed book"><img src="../wht_toc1.gif" border="0" align="absmiddle"> Initializing and executing graphs</a></nobr><br>\r
-</p>\r
-\r
-</td></tr>\r
-<tr><td>\r
-<p><img src="whexpbar.gif" > <p>\r
-</td></tr>\r
-</table>\r
-</body>\r
-\r
-</html>\r
-\r
+++ /dev/null
-<html>\r
-<head>\r
-<!-- WebHelp version 2002 -->\r
-<title>Content</title>\r
-<base target="bsscright">\r
-<meta name="generator" content="RoboHELP by eHelp Corporation www.ehelp.com">\r
-<meta http-equiv="content-type" content="text/html; charset=iso-8859-1">\r
-<style>\r
-<!--\r
-body {margin-left:1pt; margin-top:1pt; margin-right:1pt;font-family:Arial; font-size:9pt;}\r
-\r
-A:link {font-family:Arial; font-size:9pt; color:#000000; font-style:normal; text-decoration:none; }\r
-A:visited {font-family:Arial; font-size:9pt; color:#000000; font-style:normal; text-decoration:none; }\r
-A:active {background-color:#cccccc;}\r
-A:hover {font-family:Arial; font-size:9pt; color:#007f00; font-style:normal; text-decoration:underline; }\r
-\r
-\r
-.tabs {background-color:#c0c0c0;}\r
-.tocbody {margin-left:10pt; margin-top:0pt;}\r
-.bo {}\r
-.bc {}\r
-.pn {}\r
-.pr {}\r
-\r
-body {background-color:White; } \r
-p {color:Black; } p {font-family:Tahoma; } p {font-size:8pt; } p {font-style:Normal; } p {text-decoration:none; } \r
-A:link {color:Black; } A:link {font-family:Tahoma; } A:link {font-size:8pt; } A:link {font-style:Normal; } A:link {text-decoration:none; } \r
-A:visited {color:Black; } A:visited {font-family:Tahoma; } A:visited {font-size:8pt; } A:visited {font-style:Normal; } A:visited {text-decoration:none; } \r
-A:active {background-color:Silver; } \r
-A:hover {color:Navy; } A:hover {font-family:Tahoma; } A:hover {font-size:8pt; } A:hover {font-style:Normal; } A:hover {text-decoration:underline; } \r
-\r
--->\r
-</style>\r
-</head>\r
-<body marginheight="0" marginwidth="0">\r
-<table border=0>\r
-<tr><td>\r
-<p class="tocbody">\r
-<nobr><a name="1"></a><a href="whlstt0.htm#1" target="_self"><img src="../wht_toc2.gif" border="0" align="absmiddle"> SUPERVISION module</a></nobr><br>\r
- <nobr><a href="../files/introduction_to_supervisor.htm"><img src="../wht_toc3.gif" border="0" align="absmiddle"> Introduction to SUPERVISION</a></nobr><br>\r
- <nobr><a href="../files/usage_of_supervisor_module.htm"><img src="../wht_toc3.gif" border="0" align="absmiddle"> Usage of SUPERVISION module</a></nobr><br>\r
- <nobr><a href="../files/running_supervisor.htm"><img src="../wht_toc3.gif" border="0" align="absmiddle"> Running SUPERVISION</a></nobr><br>\r
- <nobr><a name="2"></a><a href="whlstt1.htm#2" target="_self"><img src="../wht_toc2.gif" border="0" align="absmiddle"> Editing graphs</a></nobr><br>\r
- <nobr><a href="../files/creating_a_new_graph.htm"><img src="../wht_toc3.gif" border="0" align="absmiddle"> Creating a new graph</a></nobr><br>\r
- <nobr><a href="../files/importing_graphs_from_file.htm"><img src="../wht_toc3.gif" border="0" align="absmiddle"> Importing graphs from file</a></nobr><br>\r
- <nobr><a href="../files/exporting_graphs.htm"><img src="../wht_toc3.gif" border="0" align="absmiddle"> Exporting graphs</a></nobr><br>\r
- <nobr><a href="../files/copying_graphs.htm"><img src="../wht_toc3.gif" border="0" align="absmiddle"> Copying graphs</a></nobr><br>\r
- <nobr><a href="../files/inserting_graphs.htm"><img src="../wht_toc3.gif" border="0" align="absmiddle"> Inserting graphs</a></nobr><br>\r
- <nobr><a href="../files/opening_graphs_referenced_in_the_study.htm"><img src="../wht_toc3.gif" border="0" align="absmiddle"> Referencing graphs in the study</a></nobr><br>\r
- <nobr><a href="../files/adding_information_about_graphs.htm"><img src="../wht_toc3.gif" border="0" align="absmiddle"> Changing graph description</a></nobr><br>\r
- <nobr><a href="../files/reloading_dataflow.htm"><img src="../wht_toc3.gif" border="0" align="absmiddle"> Reloading dataflow</a></nobr><br>\r
- <nobr><a name="3"></a><a href="whlstt3.htm#3" target="_self" title="closed book"><img src="../wht_toc1.gif" border="0" align="absmiddle"> Nodes in the graph</a></nobr><br>\r
- <nobr><a name="4"></a><a href="whlstt2.htm#4" target="_self"><img src="../wht_toc2.gif" border="0" align="absmiddle"> Linking nodes</a></nobr><br>\r
- <nobr><a href="../files/adding_links_from_an_output_port.htm"><img src="../wht_toc3.gif" border="0" align="absmiddle"> Linking node ports </a></nobr><br>\r
- <nobr><a href="../files/deleting_links.htm"><img src="../wht_toc3.gif" border="0" align="absmiddle"> Deleting links</a></nobr><br>\r
- <nobr><a href="../files/points_in_links.htm"><img src="../wht_toc3.gif" border="0" align="absmiddle"> Points in links</a></nobr><br>\r
- <nobr><a href="../files/modifying_links.htm"><img src="../wht_toc3.gif" border="0" align="absmiddle"> Modifying links</a></nobr><br>\r
- <nobr><a href="../files/changing_view_mode.htm"><img src="../wht_toc3.gif" border="0" align="absmiddle"> Changing view mode</a></nobr><br>\r
- <nobr><a name="5"></a><a href="whlstt5.htm#5" target="_self" title="closed book"><img src="../wht_toc1.gif" border="0" align="absmiddle"> Initializing and executing graphs</a></nobr><br>\r
-</p>\r
-\r
-</td></tr>\r
-<tr><td>\r
-<p><img src="whexpbar.gif" > <p>\r
-</td></tr>\r
-</table>\r
-</body>\r
-\r
-</html>\r
-\r
+++ /dev/null
-<html>\r
-<head>\r
-<!-- WebHelp version 2002 -->\r
-<title>Content</title>\r
-<base target="bsscright">\r
-<meta name="generator" content="RoboHELP by eHelp Corporation www.ehelp.com">\r
-<meta http-equiv="content-type" content="text/html; charset=iso-8859-1">\r
-<style>\r
-<!--\r
-body {margin-left:1pt; margin-top:1pt; margin-right:1pt;font-family:Arial; font-size:9pt;}\r
-\r
-A:link {font-family:Arial; font-size:9pt; color:#000000; font-style:normal; text-decoration:none; }\r
-A:visited {font-family:Arial; font-size:9pt; color:#000000; font-style:normal; text-decoration:none; }\r
-A:active {background-color:#cccccc;}\r
-A:hover {font-family:Arial; font-size:9pt; color:#007f00; font-style:normal; text-decoration:underline; }\r
-\r
-\r
-.tabs {background-color:#c0c0c0;}\r
-.tocbody {margin-left:10pt; margin-top:0pt;}\r
-.bo {}\r
-.bc {}\r
-.pn {}\r
-.pr {}\r
-\r
-body {background-color:White; } \r
-p {color:Black; } p {font-family:Tahoma; } p {font-size:8pt; } p {font-style:Normal; } p {text-decoration:none; } \r
-A:link {color:Black; } A:link {font-family:Tahoma; } A:link {font-size:8pt; } A:link {font-style:Normal; } A:link {text-decoration:none; } \r
-A:visited {color:Black; } A:visited {font-family:Tahoma; } A:visited {font-size:8pt; } A:visited {font-style:Normal; } A:visited {text-decoration:none; } \r
-A:active {background-color:Silver; } \r
-A:hover {color:Navy; } A:hover {font-family:Tahoma; } A:hover {font-size:8pt; } A:hover {font-style:Normal; } A:hover {text-decoration:underline; } \r
-\r
--->\r
-</style>\r
-</head>\r
-<body marginheight="0" marginwidth="0">\r
-<table border=0>\r
-<tr><td>\r
-<p class="tocbody">\r
-<nobr><a name="1"></a><a href="whlstt0.htm#1" target="_self"><img src="../wht_toc2.gif" border="0" align="absmiddle"> SUPERVISION module</a></nobr><br>\r
- <nobr><a href="../files/introduction_to_supervisor.htm"><img src="../wht_toc3.gif" border="0" align="absmiddle"> Introduction to SUPERVISION</a></nobr><br>\r
- <nobr><a href="../files/usage_of_supervisor_module.htm"><img src="../wht_toc3.gif" border="0" align="absmiddle"> Usage of SUPERVISION module</a></nobr><br>\r
- <nobr><a href="../files/running_supervisor.htm"><img src="../wht_toc3.gif" border="0" align="absmiddle"> Running SUPERVISION</a></nobr><br>\r
- <nobr><a name="2"></a><a href="whlstt2.htm#2" target="_self" title="closed book"><img src="../wht_toc1.gif" border="0" align="absmiddle"> Editing graphs</a></nobr><br>\r
- <nobr><a name="5"></a><a href="whlstt1.htm#5" target="_self"><img src="../wht_toc2.gif" border="0" align="absmiddle"> Initializing and executing graphs</a></nobr><br>\r
- <nobr><a href="../files/setting_input_parameters.htm"><img src="../wht_toc3.gif" border="0" align="absmiddle"> Setting input parameters</a></nobr><br>\r
- <nobr><a href="../files/referencing_output_values_in_the_study.htm"><img src="../wht_toc3.gif" border="0" align="absmiddle"> Referencing output values in the study</a></nobr><br>\r
- <nobr><a href="../files/running_dataflow.htm"><img src="../wht_toc3.gif" border="0" align="absmiddle"> Running dataflow</a></nobr><br>\r
- <nobr><a href="../files/controlling_execution_of_the_graphs.htm"><img src="../wht_toc3.gif" border="0" align="absmiddle"> Controlling execution of the graph</a></nobr><br>\r
- <nobr><a href="../files/step-by-step_execution.htm"><img src="../wht_toc3.gif" border="0" align="absmiddle"> Step-by-Step execution</a></nobr><br>\r
- <nobr><a href="../files/viewing_output_vaues.htm"><img src="../wht_toc3.gif" border="0" align="absmiddle"> Examining calculated data</a></nobr><br>\r
- <nobr><a href="../files/filtering_and_storing_output_messages.htm"><img src="../wht_toc3.gif" border="0" align="absmiddle"> Filtering and logging output messages</a></nobr><br>\r
-</p>\r
-\r
-</td></tr>\r
-<tr><td>\r
-<p><img src="whexpbar.gif" > <p>\r
-</td></tr>\r
-</table>\r
-</body>\r
-\r
-</html>\r
-\r
+++ /dev/null
-<html>\r
-<head>\r
-<!-- WebHelp version 2002 -->\r
-<title>toc frame</title>\r
-<meta name="generator" content="RoboHELP by eHelp Corporation www.ehelp.com">\r
-<meta http-equiv="content-type" content="text/html; charset=iso-8859-1">\r
-</head>\r
-<frameset rows="100%, *" border="0" frameborder="0">\r
- <frame name="toctree" title="toc tree frame" src="whlstt0.htm"></frame>\r
-</frameset>\r
-</html>\r
-\r
+++ /dev/null
-<html>\r
-<head>\r
-<!-- WebHelp version 2002 -->\r
-<title>Index frame</title>\r
-<base target="bsscright">\r
-<meta name="generator" content="RoboHELP by eHelp Corporation www.ehelp.com">\r
-<meta http-equiv="content-type" content="text/html; charset=iso-8859-1">\r
-</head>\r
-<frameset rows="40, *" border="0" frameborder="0">\r
- <frame name="ndxletter" title="index letter frame" src="whnvl31.htm" noresize frameborder="1" scrolling="no" border="0" marginheight="0" marginwidth="0" ></frame>\r
- <frame name="ndxlist" title="index list frame" src="whlsti0.htm"></frame>\r
-</frameset>\r
-</html>\r
-\r
+++ /dev/null
-<html>\r
-<head>\r
-<!-- WebHelp version 2002 -->\r
-<title>search frame</title>\r
-<base target="bsscright">\r
-<meta name="generator" content="RoboHELP by eHelp Corporation www.ehelp.com">\r
-<meta http-equiv="content-type" content="text/html; charset=iso-8859-1">\r
-</head>\r
-<frameset rows="40, *" border="0" frameborder="0">\r
- <frame name="ftsletter" title="search letter frame" src="whnvl32.htm" noresize frameborder="1" scrolling="no" border="0" marginheight="0" marginwidth="0" ></frame>\r
- <frame name="ftslist" title="seach word frame" src="whlstf0.htm"></frame>\r
-</frameset>\r
-</html>\r
-\r
+++ /dev/null
-<html>\r
-<head>\r
-<!-- WebHelp version 2002 -->\r
-<title>Glossary frame</title>\r
-<base target="bsscright">\r
-<meta name="generator" content="RoboHELP by eHelp Corporation www.ehelp.com">\r
-<meta http-equiv="content-type" content="text/html; charset=iso-8859-1">\r
-</head>\r
-<frameset rows="40, *" border="0" frameborder="0">\r
- <frame name="glsletter" title="glossary letter frame" src="whnvl33.htm" noresize frameborder="1" scrolling="no" border="0" marginheight="0" marginwidth="0" ></frame>\r
- <frame name="glslist" title="glossary defination frame" src="whlstg0.htm"></frame>\r
-</frameset>\r
-</html>\r
-\r
+++ /dev/null
-<html>\r
-<head>\r
-<!-- WebHelp version 2002 -->\r
-<title>Index Letters</title>\r
-<base target="bsscright">\r
-<meta name="generator" content="RoboHELP by eHelp Corporation www.ehelp.com">\r
-<meta http-equiv="content-type" content="text/html; charset=iso-8859-1">\r
-<style>\r
-<!--\r
-body {margin-left:1pt; margin-top:1pt; margin-right:1pt;font-family:Arial; font-size:9pt;}\r
-\r
-A:link {font-family:Arial; font-size:9pt; color:#000000; font-style:normal; text-decoration:none; }\r
-A:visited {font-family:Arial; font-size:9pt; color:#000000; font-style:normal; text-decoration:none; }\r
-A:active {background-color:#cccccc;}\r
-A:hover {font-family:Arial; font-size:9pt; color:#007f00; font-style:normal; text-decoration:underline; }\r
-\r
-.tabs {background-color:#c0c0c0;}\r
-.ndxheader {margin-left:10pt; margin-top:0pt;}\r
-.ndxbody {margin-left:10pt; margin-top:0pt;}\r
-.inactive {color:#666666;}\r
-\r
-\r
-body {background-color:White; } \r
-p {color:Black; } p {font-family:Tahoma; } p {font-size:8pt; } p {font-style:Normal; } p {text-decoration:none; } \r
-A:link {color:Black; } A:link {font-family:Tahoma; } A:link {font-size:8pt; } A:link {font-style:Normal; } A:link {text-decoration:none; } \r
-A:visited {color:Black; } A:visited {font-family:Tahoma; } A:visited {font-size:8pt; } A:visited {font-style:Normal; } A:visited {text-decoration:none; } \r
-A:active {background-color:Silver; } \r
-A:hover {color:Navy; } A:hover {font-family:Tahoma; } A:hover {font-size:8pt; } A:hover {font-style:Normal; } A:hover {text-decoration:underline; } \r
-\r
--->\r
-</style>\r
-<style>\r
-<!--\r
-body {background-color:White; } \r
--->\r
-</style>\r
-</head>\r
-<body marginheight="0" marginwidth="0">\r
-\r
-<body>\r
-</html>\r
-\r
+++ /dev/null
-<html>\r
-<head>\r
-<!-- WebHelp version 2002 -->\r
-<title>Search Letters</title>\r
-<base target="bsscright">\r
-<meta name="generator" content="RoboHELP by eHelp Corporation www.ehelp.com">\r
-<meta http-equiv="content-type" content="text/html; charset=iso-8859-1">\r
-<style>\r
-<!--\r
-body {margin-left:1pt; margin-top:1pt; margin-right:1pt;font-family:Arial; font-size:9pt;}\r
-\r
-A:link {font-family:Arial; font-size:9pt; color:#000000; font-style:normal; text-decoration:none; }\r
-A:visited {font-family:Arial; font-size:9pt; color:#000000; font-style:normal; text-decoration:none; }\r
-A:active {background-color:#cccccc;}\r
-A:hover {font-family:Arial; font-size:9pt; color:#007f00; font-style:normal; text-decoration:underline; }\r
-\r
-.tabs {background-color:#c0c0c0;}\r
-.ftsheader {margin-left:10pt; margin-top:0pt;}\r
-.ftsbody {margin-left:10pt; margin-top:0pt;}\r
-.inactive {color:#666666;}\r
-.ftsheader {background-color:White; } \r
-\r
-body {background-color:White; } \r
-p {color:Black; } p {font-family:Tahoma; } p {font-size:8pt; } p {font-style:Normal; } p {text-decoration:none; } \r
-A:link {color:Black; } A:link {font-family:Tahoma; } A:link {font-size:8pt; } A:link {font-style:Normal; } A:link {text-decoration:none; } \r
-A:visited {color:Black; } A:visited {font-family:Tahoma; } A:visited {font-size:8pt; } A:visited {font-style:Normal; } A:visited {text-decoration:none; } \r
-A:active {background-color:Silver; } \r
-A:hover {color:Navy; } A:hover {font-family:Tahoma; } A:hover {font-size:8pt; } A:hover {font-style:Normal; } A:hover {text-decoration:underline; } \r
-\r
--->\r
-</style>\r
-<style>\r
-<!--\r
-body {background-color:White; } \r
--->\r
-</style>\r
-</head>\r
-<body marginheight="0" marginwidth="0">\r
-<p class="ftsheader">\r
-<a name="home"></a> <font class="inactive">#</font> \r
- <a href="whlstfl0.htm#subkey_A" target="_self"title="search letter A"><b>A</b></a> \r
- <a href="whlstfl1.htm#subkey_B" target="_self"title="search letter B"><b>B</b></a> \r
- <a href="whlstfl2.htm#subkey_C" target="_self"title="search letter C"><b>C</b></a> \r
- <a href="whlstfl3.htm#subkey_D" target="_self"title="search letter D"><b>D</b></a> \r
- <a href="whlstfl4.htm#subkey_E" target="_self"title="search letter E"><b>E</b></a> \r
- <a href="whlstfl5.htm#subkey_F" target="_self"title="search letter F"><b>F</b></a> \r
- <a href="whlstfl6.htm#subkey_G" target="_self"title="search letter G"><b>G</b></a> \r
- <a href="whlstfl7.htm#subkey_H" target="_self"title="search letter H"><b>H</b></a> \r
- <a href="whlstfl8.htm#subkey_I" target="_self"title="search letter I"><b>I</b></a> \r
- <a href="whlstf2.htm#bm_J" target="ftslist"title="search letter J" ><b>J</b></a> \r
- <a href="whlstf2.htm#bm_K" target="ftslist"title="search letter K" ><b>K</b></a> \r
- <a href="whlstfl9.htm#subkey_L" target="_self"title="search letter L"><b>L</b></a> \r
- <a href="whlstfl10.htm#subkey_M" target="_self"title="search letter M"><b>M</b></a> \r
- <a href="whlstfl11.htm#subkey_N" target="_self"title="search letter N"><b>N</b></a> \r
- <a href="whlstfl12.htm#subkey_O" target="_self"title="search letter O"><b>O</b></a> \r
- <a href="whlstfl13.htm#subkey_P" target="_self"title="search letter P"><b>P</b></a> \r
- <font class="inactive">Q</font> \r
- <a href="whlstfl14.htm#subkey_R" target="_self"title="search letter R"><b>R</b></a> \r
- <a href="whlstfl15.htm#subkey_S" target="_self"title="search letter S"><b>S</b></a> \r
- <a href="whlstfl16.htm#subkey_T" target="_self"title="search letter T"><b>T</b></a> \r
- <a href="whlstfl17.htm#subkey_U" target="_self"title="search letter U"><b>U</b></a> \r
- <a href="whlstfl18.htm#subkey_V" target="_self"title="search letter V"><b>V</b></a> \r
- <a href="whlstfl19.htm#subkey_W" target="_self"title="search letter W"><b>W</b></a> \r
- <a href="whlstfl20.htm#subkey_X" target="_self"title="search letter X"><b>X</b></a> \r
- <a href="whlstfl21.htm#subkey_Y" target="_self"title="search letter Y"><b>Y</b></a> \r
- <font class="inactive">Z</font> \r
-</p>\r
-\r
-<body>\r
-</html>\r
-\r
+++ /dev/null
-<html>\r
-<head>\r
-<!-- WebHelp version 2002 -->\r
-<title>Glossary Letters</title>\r
-<base target="bsscright">\r
-<meta name="generator" content="RoboHELP by eHelp Corporation www.ehelp.com">\r
-<meta http-equiv="content-type" content="text/html; charset=iso-8859-1">\r
-<style>\r
-<!--\r
-body {margin-left:1pt; margin-top:1pt; margin-right:1pt;font-family:Arial; font-size:9pt;}\r
-\r
-A:link {font-family:Arial; font-size:9pt; color:#000000; font-style:normal; text-decoration:none; }\r
-A:visited {font-family:Arial; font-size:9pt; color:#000000; font-style:normal; text-decoration:none; }\r
-A:active {background-color:#cccccc;}\r
-A:hover {font-family:Arial; font-size:9pt; color:#007f00; font-style:normal; text-decoration:underline; }\r
-\r
-.tabs {background-color:#c0c0c0;}\r
-.glsheader {margin-left:10pt; margin-top:0pt;}\r
-.glsbody {margin-left:10pt; margin-top:0pt;}\r
-.inactive {color:#666666;}\r
-.glsheader {background-color:White; } \r
-\r
-body {background-color:White; } \r
-p {color:Black; } p {font-family:Tahoma; } p {font-size:8pt; } p {font-style:Normal; } p {text-decoration:none; } \r
-A:link {color:Black; } A:link {font-family:Tahoma; } A:link {font-size:8pt; } A:link {font-style:Normal; } A:link {text-decoration:none; } \r
-A:visited {color:Black; } A:visited {font-family:Tahoma; }A:visited {font-size:8pt; } A:visited {font-style:Normal; } A:visited {text-decoration:none; } \r
-A:active {background-color:Silver; } \r
-A:hover {color:Navy; } A:hover {font-family:Tahoma; } A:hover {font-size:8pt; } A:hover {font-style:Normal; } A:hover {text-decoration:underline; } \r
-\r
--->\r
-</style>\r
-<style>\r
-<!--\r
-body {background-color:White; } \r
--->\r
-</style>\r
-</head>\r
-<body marginheight="0" marginwidth="0">\r
-<p class="glsheader">\r
- <font class="inactive">#</font> \r
- <font class="inactive">A</font> \r
- <font class="inactive">B</font> \r
- <a href="whlstg0.htm#bm_C" target="glslist"title="glossary letter C"><b>C</b></a> \r
- <a href="whlstg0.htm#bm_D" target="glslist"title="glossary letter D"><b>D</b></a> \r
- <a href="whlstg0.htm#bm_E" target="glslist"title="glossary letter E"><b>E</b></a> \r
- <a href="whlstg0.htm#bm_F" target="glslist"title="glossary letter F"><b>F</b></a> \r
- <a href="whlstg0.htm#bm_G" target="glslist"title="glossary letter G"><b>G</b></a> \r
- <font class="inactive">H</font> \r
- <font class="inactive">I</font> \r
- <font class="inactive">J</font> \r
- <font class="inactive">K</font> \r
- <font class="inactive">L</font> \r
- <a href="whlstg0.htm#bm_M" target="glslist"title="glossary letter M"><b>M</b></a> \r
- <a href="whlstg0.htm#bm_N" target="glslist"title="glossary letter N"><b>N</b></a> \r
- <font class="inactive">O</font> \r
- <a href="whlstg0.htm#bm_P" target="glslist"title="glossary letter P"><b>P</b></a> \r
- <font class="inactive">Q</font> \r
- <a href="whlstg0.htm#bm_R" target="glslist"title="glossary letter R"><b>R</b></a> \r
- <a href="whlstg0.htm#bm_S" target="glslist"title="glossary letter S"><b>S</b></a> \r
- <font class="inactive">T</font> \r
- <font class="inactive">U</font> \r
- <font class="inactive">V</font> \r
- <font class="inactive">W</font> \r
- <font class="inactive">X</font> \r
- <font class="inactive">Y</font> \r
- <font class="inactive">Z</font> \r
-</p>\r
-\r
-<body>\r
-</html>\r
-\r
+++ /dev/null
-<!-- WebHelp version 2002 -->\r
-<html>\r
-<head>\r
-<title> Content Navigation Pane </title>\r
-<META HTTP-EQUIV="content-type" CONTENT="text/html; charset=iso-8859-1">\r
-<style>\r
-\r
-</style>\r
-</head>\r
-<frameset rows="36, *" border="0" frameborder="0">\r
- <frame name="toctabs" title="tab selection frame" src="whnvt30.htm" noresize frameborder="no" scrolling="no" border="0" marginheight="0" marginwidth="0" ></frame>\r
- <frame name="toclist" title="content frame" src="whlstt0.htm"></frame>\r
-</frameset>\r
-</html>
\ No newline at end of file
+++ /dev/null
-<!-- WebHelp version 2002 -->\r
-<html>\r
-<head>\r
-<title> Index Navigation Pane </title>\r
-<META HTTP-EQUIV="content-type" CONTENT="text/html; charset=iso-8859-1">\r
-<style>\r
-\r
-</style>\r
-</head>\r
-<frameset rows="36, *" border="0" frameborder="0">\r
- <frame name="ndxtabs" title="tab selection frame" src="whnvt31.htm" noresize frameborder="no" scrolling="no" border="0" marginheight="0" marginwidth="0" ></frame>\r
- <frame name="ndxdata" title="index frame" src="whnvf31.htm"></frame>\r
-</frameset>\r
-</html>
\ No newline at end of file
+++ /dev/null
-<!-- WebHelp version 2002 -->\r
-<html>\r
-<head>\r
-<title> Search Navigation Pane </title>\r
-<META HTTP-EQUIV="content-type" CONTENT="text/html; charset=iso-8859-1">\r
-<style>\r
-\r
-</style>\r
-<META HTTP-EQUIV="content-type" CONTENT="text/html; charset=iso-8859-1">\r
-</head>\r
-<frameset rows="36, *" border="0" frameborder="0">\r
- <frame name="ftstabs" title="tab selection frame" src="whnvt32.htm" noresize frameborder="no" scrolling="no" border="0" marginheight="0" marginwidth="0" ></frame>\r
- <frame name="ftsdata" title="search frame" src="whnvf32.htm"></frame>\r
-</frameset>\r
-</html>
\ No newline at end of file
+++ /dev/null
-<!-- WebHelp version 2002 -->\r
-<html>\r
-<head>\r
-<title> Glossary Navigation Pane </title>\r
-<META HTTP-EQUIV="content-type" CONTENT="text/html; charset=iso-8859-1">\r
-<style>\r
-\r
-</style>\r
-</head>\r
-<frameset rows="36, *" border="0" frameborder="0">\r
- <frame name="glstabs" title="tab selection frame" src="whnvt33.htm" noresize frameborder="no" scrolling="no" border="0" marginheight="0" marginwidth="0" ></frame>\r
- <frame name="glsdata" title="glossary frame" src="whnvf33.htm"></frame>\r
-</frameset>\r
-</html>
\ No newline at end of file
+++ /dev/null
-<html>\r
-<head>\r
-<!-- WebHelp version 2002 -->\r
-<title>Content Navigation Tab</title>\r
-<base target="bsscright">\r
-<meta name="generator" content="RoboHELP by eHelp Corporation www.ehelp.com">\r
-<meta http-equiv="content-type" content="text/html; charset=iso-8859-1">\r
-<style>\r
-<!--\r
-body {margin-left:1pt; margin-top:1pt; margin-right:1pt;font-family:Arial; font-size:9pt;}\r
-\r
-A:link {font-family:Arial; font-size:9pt; color:#000000; font-style:normal; text-decoration:none; }\r
-A:visited {font-family:Arial; font-size:9pt; color:#000000; font-style:normal; text-decoration:none; }\r
-A:active {background-color:#cccccc;}\r
-A:hover {font-family:Arial; font-size:9pt; color:#007f00; font-style:normal; text-decoration:underline; }\r
-\r
-\r
-.tabs {background-color:#c0c0c0;}\r
-.tocbody {margin-left:10pt; margin-top:0pt;}\r
-.bo {}\r
-.bc {}\r
-.pn {}\r
-.pr {}\r
-\r
-body {background-color:White; } \r
-p {color:Black; } p {font-family:Tahoma; } p {font-size:8pt; } p {font-style:Normal; } p {text-decoration:none; } \r
-A:link {color:Black; } A:link {font-family:Tahoma; } A:link {font-size:8pt; } A:link {font-style:Normal; } A:link {text-decoration:none; } \r
-A:visited {color:Black; } A:visited {font-family:Tahoma; } A:visited {font-size:8pt; } A:visited {font-style:Normal; } A:visited {text-decoration:none; } \r
-A:active {background-color:Silver; } \r
-A:hover {color:Navy; } A:hover {font-family:Tahoma; } A:hover {font-size:8pt; } A:hover {font-style:Normal; } A:hover {text-decoration:underline; } \r
-\r
--->\r
-</style>\r
-</head>\r
-<body class="tabs" marginheight="0" marginwidth="0">\r
-<table class="tabs" width="100%">\r
- <tr> \r
- <td class="tabs">\r
- <nobr><a href="javascript:void(0)"><img src="../wht_tab1.gif" border="0"></a><a href="whnvp32.htm" target="_parent"><img src="../wht_tab6.gif" border="0"></a><a href="whnvp33.htm" target="_parent"><img src="../wht_tab8.gif" border="0"></a></nobr>\r
- </td>\r
- </tr>\r
-</table>\r
-</body>\r
-\r
-</html>\r
-\r
+++ /dev/null
-<html>\r
-<head>\r
-<!-- WebHelp version 2002 -->\r
-<title>Index Navigation Tab</title>\r
-<base target="bsscright">\r
-<meta name="generator" content="RoboHELP by eHelp Corporation www.ehelp.com">\r
-<meta http-equiv="content-type" content="text/html; charset=iso-8859-1">\r
-<style>\r
-<!--\r
-body {margin-left:1pt; margin-top:1pt; margin-right:1pt;font-family:Arial; font-size:9pt;}\r
-\r
-A:link {font-family:Arial; font-size:9pt; color:#000000; font-style:normal; text-decoration:none; }\r
-A:visited {font-family:Arial; font-size:9pt; color:#000000; font-style:normal; text-decoration:none; }\r
-A:active {background-color:#cccccc;}\r
-A:hover {font-family:Arial; font-size:9pt; color:#007f00; font-style:normal; text-decoration:underline; }\r
-\r
-.tabs {background-color:#c0c0c0;}\r
-.ndxheader {margin-left:10pt; margin-top:0pt;}\r
-.ndxbody {margin-left:10pt; margin-top:0pt;}\r
-.inactive {color:#666666;}\r
-\r
-\r
-body {background-color:White; } \r
-p {color:Black; } p {font-family:Tahoma; } p {font-size:8pt; } p {font-style:Normal; } p {text-decoration:none; } \r
-A:link {color:Black; } A:link {font-family:Tahoma; } A:link {font-size:8pt; } A:link {font-style:Normal; } A:link {text-decoration:none; } \r
-A:visited {color:Black; } A:visited {font-family:Tahoma; } A:visited {font-size:8pt; } A:visited {font-style:Normal; } A:visited {text-decoration:none; } \r
-A:active {background-color:Silver; } \r
-A:hover {color:Navy; } A:hover {font-family:Tahoma; } A:hover {font-size:8pt; } A:hover {font-style:Normal; } A:hover {text-decoration:underline; } \r
-\r
--->\r
-</style>\r
-</head>\r
-<body class="tabs" marginheight="0" marginwidth="0">\r
-<table class="tabs" width="100%">\r
- <tr> \r
- <td class="tabs">\r
- <nobr><a href="whnvp30.htm" target="_parent"><img src="../wht_tab2.gif" border="0"></a><a href="whnvp32.htm" target="_parent"><img src="../wht_tab6.gif" border="0"></a><a href="whnvp33.htm" target="_parent"><img src="../wht_tab8.gif" border="0"></a></nobr>\r
- </td>\r
- </tr>\r
-</table>\r
-</body>\r
-\r
-</html>\r
-\r
+++ /dev/null
-<html>\r
-<head>\r
-<!-- WebHelp version 2002 -->\r
-<title>Search Navigation Tab</title>\r
-<base target="bsscright">\r
-<meta name="generator" content="RoboHELP by eHelp Corporation www.ehelp.com">\r
-<meta http-equiv="content-type" content="text/html; charset=iso-8859-1">\r
-<style>\r
-<!--\r
-body {margin-left:1pt; margin-top:1pt; margin-right:1pt;font-family:Arial; font-size:9pt;}\r
-\r
-A:link {font-family:Arial; font-size:9pt; color:#000000; font-style:normal; text-decoration:none; }\r
-A:visited {font-family:Arial; font-size:9pt; color:#000000; font-style:normal; text-decoration:none; }\r
-A:active {background-color:#cccccc;}\r
-A:hover {font-family:Arial; font-size:9pt; color:#007f00; font-style:normal; text-decoration:underline; }\r
-\r
-.tabs {background-color:#c0c0c0;}\r
-.ftsheader {margin-left:10pt; margin-top:0pt;}\r
-.ftsbody {margin-left:10pt; margin-top:0pt;}\r
-.inactive {color:#666666;}\r
-.ftsheader {background-color:White; } \r
-\r
-body {background-color:White; } \r
-p {color:Black; } p {font-family:Tahoma; } p {font-size:8pt; } p {font-style:Normal; } p {text-decoration:none; } \r
-A:link {color:Black; } A:link {font-family:Tahoma; } A:link {font-size:8pt; } A:link {font-style:Normal; } A:link {text-decoration:none; } \r
-A:visited {color:Black; } A:visited {font-family:Tahoma; } A:visited {font-size:8pt; } A:visited {font-style:Normal; } A:visited {text-decoration:none; } \r
-A:active {background-color:Silver; } \r
-A:hover {color:Navy; } A:hover {font-family:Tahoma; } A:hover {font-size:8pt; } A:hover {font-style:Normal; } A:hover {text-decoration:underline; } \r
-\r
--->\r
-</style>\r
-</head>\r
-<body class="tabs" marginheight="0" marginwidth="0">\r
-<table class="tabs" width="100%">\r
- <tr> \r
- <td class="tabs">\r
- <nobr><a href="whnvp30.htm" target="_parent"><img src="../wht_tab2.gif" border="0"></a><a href="javascript:void(0)"><img src="../wht_tab5.gif" border="0"></a><a href="whnvp33.htm" target="_parent"><img src="../wht_tab8.gif" border="0"></a></nobr>\r
- </td>\r
- </tr>\r
-</table>\r
-</body>\r
-\r
-</html>\r
-\r
+++ /dev/null
-<html>\r
-<head>\r
-<!-- WebHelp version 2002 -->\r
-<title>Glossary Navigation Tab</title>\r
-<base target="bsscright">\r
-<meta name="generator" content="RoboHELP by eHelp Corporation www.ehelp.com">\r
-<meta http-equiv="content-type" content="text/html; charset=iso-8859-1">\r
-<style>\r
-<!--\r
-body {margin-left:1pt; margin-top:1pt; margin-right:1pt;font-family:Arial; font-size:9pt;}\r
-\r
-A:link {font-family:Arial; font-size:9pt; color:#000000; font-style:normal; text-decoration:none; }\r
-A:visited {font-family:Arial; font-size:9pt; color:#000000; font-style:normal; text-decoration:none; }\r
-A:active {background-color:#cccccc;}\r
-A:hover {font-family:Arial; font-size:9pt; color:#007f00; font-style:normal; text-decoration:underline; }\r
-\r
-.tabs {background-color:#c0c0c0;}\r
-.glsheader {margin-left:10pt; margin-top:0pt;}\r
-.glsbody {margin-left:10pt; margin-top:0pt;}\r
-.inactive {color:#666666;}\r
-.glsheader {background-color:White; } \r
-\r
-body {background-color:White; } \r
-p {color:Black; } p {font-family:Tahoma; } p {font-size:8pt; } p {font-style:Normal; } p {text-decoration:none; } \r
-A:link {color:Black; } A:link {font-family:Tahoma; } A:link {font-size:8pt; } A:link {font-style:Normal; } A:link {text-decoration:none; } \r
-A:visited {color:Black; } A:visited {font-family:Tahoma; }A:visited {font-size:8pt; } A:visited {font-style:Normal; } A:visited {text-decoration:none; } \r
-A:active {background-color:Silver; } \r
-A:hover {color:Navy; } A:hover {font-family:Tahoma; } A:hover {font-size:8pt; } A:hover {font-style:Normal; } A:hover {text-decoration:underline; } \r
-\r
--->\r
-</style>\r
-</head>\r
-<body class="tabs" marginheight="0" marginwidth="0">\r
-<table class="tabs" width="100%">\r
- <tr> \r
- <td class="tabs">\r
- <nobr><a href="whnvp30.htm" target="_parent"><img src="../wht_tab2.gif" border="0"></a><a href="whnvp32.htm" target="_parent"><img src="../wht_tab6.gif" border="0"></a><a href="javascript:void(0)"><img src="../wht_tab7.gif" border="0"></a></nobr>\r
- </td>\r
- </tr>\r
-</table>\r
-</body>\r
-\r
-</html>\r
-\r
+++ /dev/null
-<html>\r
-<head>\r
-<title>Glossary Definition</title>\r
-<meta http-equiv="content-type" content="text/html; charset=iso-8859-1">\r
-<meta name="generator" content="RoboHelp by eHelp Corporation www.ehelp.com">\r
-<meta name "description" content="WebHelp 2002">\r
-<script language="javascript" src="whver.js"></script>\r
-<script language="javascript1.2" src="whmsg.js"></script>\r
-<script language="javascript1.2" src="whproxy.js"></script>\r
-<script language="javascript1.2" src="whutils.js"></script>\r
-<script language="javascript1.2">\r
-<!--\r
-var gsBgColor="#ffffff";\r
-var gsBgImage="";\r
-var goGloFont=null;\r
-\r
-function setBackground(sBgImage)\r
-{\r
- gsBgImage=sBgImage;\r
-}\r
-\r
-function setBackgroundcolor(sBgColor)\r
-{\r
- gsBgColor=sBgColor;\r
-}\r
-\r
-function window_Unload()\r
-{\r
- UnRegisterListener2(this, WH_MSG_SHOWGLODEF);\r
-}\r
-\r
-function window_OnLoad()\r
-{\r
- if(gsBgImage&&gsBgImage.length>0)\r
- document.body.background=gsBgImage;\r
- if(gsBgColor&&gsBgColor.length>0)\r
- document.body.bgColor=gsBgColor;\r
-}\r
-\r
-function setFont(sType, sFontName, sFontSize, sFontColor, sFontStyle, sFontWeight, sFontDecoration)\r
-{\r
- var vFont = new whFont(sFontName, sFontSize, sFontColor, sFontStyle, sFontWeight, sFontDecoration);\r
- if (sType == "Normal")\r
- goGloFont = vFont;\r
-}\r
-\r
-function textToHtml_nbsp_specialcare(sText)\r
-{\r
- if (sText == null) return null;\r
- var sHTML= sText;\r
- var re = new RegExp(" ","g");\r
- sHTML= sHTML.replace(re, " ");\r
- return sHTML;\r
-}\r
-\r
-function onSendMessage(oMsg)\r
-{\r
- var nMsgId = oMsg.nMessageId;\r
- if (nMsgId == WH_MSG_SHOWGLODEF)\r
- {\r
- document.body.innerHTML = sDefHead + textToHtml_nbsp_specialcare(oMsg.oParam.sDef) + sDefTail;\r
- return true;\r
- }\r
-}\r
-\r
-function GDefWriteClassStyle()\r
-{\r
- var sStyle="<STYLE TYPE='text/css'>\n";\r
- if (gsBgImage)\r
- sStyle+="body {border-top:"+gsBgColor+" 1px solid;}\n";\r
- else\r
- sStyle+="body {border-top:black 1px solid;}\n";\r
- sStyle+=".definition {"+getFontStyle(goGloFont)+"margin:2;}\n";\r
- sStyle+="</STYLE>";\r
- document.write(sStyle);\r
-}\r
-\r
-if (window.gbWhMsg&&window.gbWhUtil&&window.gbWhProxy&&window.gbWhVer)\r
-{\r
- window.onload=window_OnLoad;\r
- window.onunload = window_Unload;\r
- goGloFont=new whFont("Verdana", "8pt", "#000000", "normal", "normal", "none");\r
- setBackgroundcolor("White"); \r
- \r
- setFont("Normal", "Tahoma","8pt","Black","Normal","Normal","none");\r
- GDefWriteClassStyle();\r
- RegisterListener2(this, WH_MSG_SHOWGLODEF);\r
- var sDefHead = "<p class=\"definition\">";\r
- var sDefTail = "</p>";\r
-}\r
-else\r
- document.location.reload();\r
-//-->\r
-</script>\r
-</head>\r
-<body bgproperties="fixed" bgcolor="white">\r
-</body>\r
-</html>\r
+++ /dev/null
-<html>\r
-<head>\r
-<title>Glossary</title>\r
-<meta http-equiv="content-type" content="text/html; charset=iso-8859-1">\r
-<meta name="generator" content="RoboHelp by eHelp Corporation www.ehelp.com">\r
-<meta name "description" content="WebHelp 2002">\r
-</head>\r
-<body bgcolor=#c0c0c0 scroll=no RIGHTMARGIN=0 BOTTOMMARGIN=0 TOPMARGIN=0 LEFTMARGIN=0>\r
-<script language="javascript" src="whver.js"></script>\r
-<script language="javascript1.2" src="whmozemu.js"></script>\r
-<script language="javascript1.2" src="whmsg.js"></script>\r
-<script language="javascript1.2" src="whutils.js"></script>\r
-<script language="javascript1.2" src="whproxy.js"></script>\r
-<script language="javascript1.2">\r
-<!--\r
-var gsBgImage="";\r
-var gsBgColor="";\r
-var goTitleFont=null;\r
-\r
-function setBackground(sBgImage)\r
-{\r
- gsBgImage=sBgImage;\r
-}\r
-\r
-function setBackgroundcolor(sBgColor)\r
-{\r
- gsBgColor=sBgColor;\r
-}\r
-\r
-function setFont(sType, sFontName,sFontSize,sFontColor,sFontStyle,sFontWeight,sFontDecoration)\r
-{\r
- var vFont=new whFont(sFontName,sFontSize,sFontColor,sFontStyle,sFontWeight,sFontDecoration);\r
- if(sType=="Title")\r
- goTitleFont=vFont;\r
-}\r
-\r
-function getTermText()\r
-{\r
- var strString="Term:";\r
-strString = "Term:";\r
- return strString;\r
-}\r
-\r
-function getDefinitionText()\r
-{\r
- var strString="Definition for:";\r
-strString = "Definition:";\r
- return strString;\r
-}\r
-\r
-function getHTML()\r
-{\r
- var sHTML="";\r
- sHTML+="<P class=title><nobr> " + getTermText() + "</nobr></p>";\r
- sHTML+="<iframe id=glossaryIFrame title=\"glossary term\" src=\"whgbody.htm\" width=100% height=200 MARGINHEIGHT=0 MARGINWIDTH=0></iframe>";\r
- sHTML+="<P class=title><nobr> " + getDefinitionText() + " <b id=Name></b></nobr></p>";\r
- sHTML+="<iframe id=defIFrame title=\"glossary definition\" src=\"whgdef.htm\" width=100% height=100% MARGINHEIGHT=0 MARGINWIDTH=0></iframe>";\r
- return sHTML;\r
-}\r
-\r
-function writeStyle()\r
-{\r
- var sStyle="<style type='text/css'>";\r
- sStyle+="p.title {" + getFontStyle(goTitleFont) + "margin-top:4;margin-bottom:4}\n";\r
- if (gsBgImage)\r
- sStyle+="body {border-top:"+gsBgColor+" 1px solid;}\n";\r
- else\r
- sStyle+="body {border-top:black 1px solid;}\n";\r
- sStyle+="</style>";\r
- document.write(sStyle);\r
-}\r
-\r
-\r
-function window_OnResize()\r
-{\r
- setIFrameHeight();\r
-}\r
-\r
-function window_OnLoad()\r
-{\r
- if(gsBgImage&&gsBgImage.length>0)\r
- document.body.background=gsBgImage;\r
- if(gsBgColor&&gsBgColor.length>0)\r
- document.body.bgColor=gsBgColor;\r
- setIFrameHeight();\r
-}\r
-\r
-function setIFrameHeight()\r
-{\r
- var tH=0;\r
- if(gbNav6)\r
- {\r
- tH=parseInt(window.innerHeight)-30;\r
- }\r
- else\r
- {\r
- tH=parseInt(document.body.clientHeight)-4;\r
- }\r
- \r
- var oEle=getElement("glossaryIFrame");\r
- if(oEle)\r
- {\r
- tH=tH-2*parseInt(oEle.offsetTop);\r
- if(tH>0)\r
- {\r
- oEle.style.height=Math.floor(tH*.6);\r
- var oEleDef=getElement("defIFrame");\r
- if(oEleDef)\r
- {\r
- oEleDef.style.height=tH-parseInt(oEle.style.height);\r
- }\r
- }\r
- }\r
-}\r
-\r
-function window_Unload()\r
-{\r
- UnRegisterListener2(this,WH_MSG_SHOWGLODEF);\r
-}\r
-\r
-function onSendMessage(oMsg)\r
-{\r
- var nMsgId=oMsg.nMessageId;\r
- if(nMsgId==WH_MSG_SHOWGLODEF)\r
- {\r
- if(getElement("Name"))\r
- getElement("Name").innerHTML=oMsg.oParam.sName;\r
- return true;\r
- }\r
-}\r
-\r
-if(window.gbWhVer&&window.gbWhMsg&&window.gbWhUtil&&window.gbWhProxy)\r
-{\r
- goTitleFont=new whFont("Arial","9pt","#000000","normal","normal","none");\r
- setFont("Title", "Tahoma","8pt","Navy","Normal","Normal","none");\r
- \r
- setBackgroundcolor("White");\r
- window.onresize=window_OnResize;\r
- window.onload=window_OnLoad;\r
- window.onunload=window_Unload;\r
- RegisterListener2(this,WH_MSG_SHOWGLODEF);\r
- writeStyle();\r
- document.write(getHTML());\r
-}\r
-else\r
- document.location.reload();\r
-//-->\r
-</script>\r
-</body>\r
-</html>\r
+++ /dev/null
-var gbXML=false;\r
-var gaDef=new Array();\r
-var gsBgColor="#ffffff";\r
-var gsBgImage="";\r
-var goFont=null;\r
-var goHoverFont=null;\r
-var gsMargin="2pt";\r
-var gsIndent="2pt";\r
-var gsActiveBgColor="#cccccc";\r
-var gbWhGHost=false;\r
-\r
-function setBackground(sBgImage)\r
-{\r
- gsBgImage=sBgImage;\r
-}\r
-\r
-function setBackgroundcolor(sBgColor)\r
-{\r
- gsBgColor=sBgColor;\r
-}\r
-\r
-function setFont(sType,sFontName,sFontSize,sFontColor,sFontStyle,sFontWeight,sFontDecoration)\r
-{\r
- var vFont=new whFont(sFontName,sFontSize,sFontColor,sFontStyle,sFontWeight,sFontDecoration);\r
- if(sType=="Normal")\r
- goFont=vFont;\r
- else if(sType=="Hover")\r
- goHoverFont=vFont;\r
-}\r
-\r
-function setActiveBgColor(sBgColor)\r
-{\r
- gsActiveBgColor=sBgColor;\r
-}\r
-\r
-function setMargin(sMargin)\r
-{\r
- gsMargin=sMargin;\r
-}\r
-\r
-function setIndent(sIndent)\r
-{\r
- gsIndent=sIndent;\r
-}\r
-\r
-function writeOneItem(oHTML,bDown,aDataCon,aCurIdxSet,n,aPos,nLevel)\r
-{\r
-\r
- var sHTML="";\r
- var nIdxSet=aCurIdxSet[n];\r
- var nIIdx=aPos[nIdxSet];\r
- var sRawKName = getItemName(aDataCon,nIdxSet,nIIdx);\r
- var sKName=_textToHtml(sRawKName);\r
- var nIndex=insertDef(sKName,_textToHtml_nonbsp(getDef(aDataCon,nIdxSet,nIIdx)));\r
- if(nLevel==1){\r
- sHTML+="<p><nobr><a alt=\"" + sKName+"\" href=\"javascript:void(0);\" onclick=\"showDef("+nIndex;\r
- sHTML+=");return false;\">"+sKName+"</a></nobr></p>";\r
- }\r
- oHTML.addHTML(sHTML,1,bDown,true,sRawKName);\r
-}\r
-\r
-function insertDef(sKName,sDef)\r
-{\r
- var nLength=gaDef.length\r
- var oGlo=new nameDefPair(sKName,sDef);\r
- gaDef[nLength]=oGlo;\r
- return nLength;\r
-}\r
-\r
-function showDef(nDef)\r
-{\r
- if(nDef<gaDef.length)\r
- { \r
- var oParam=gaDef[nDef];\r
- var oMsg=new whMessage(WH_MSG_SHOWGLODEF,this,1,oParam);\r
- SendMessage(oMsg);\r
- }\r
-}\r
-\r
-function nameDefPair(sName,sDef)\r
-{\r
- this.sName=sName;\r
- this.sDef=sDef;\r
-}\r
-\r
-function mergeItems(oHTML,bDown,aDataCon,aCurIdxSet,nLength,aPos,nLevel)\r
-{\r
- for(var i=0;i<nLength;i++)\r
- writeOneItem(oHTML,bDown,aDataCon,aCurIdxSet,i,aPos,nLevel);\r
-}\r
-\r
-function adjustPosition(bDown,aDataCon,aCurIdxSet,nLength,aPos)\r
-{\r
- if(bDown)\r
- {\r
- for(var i=0;i<nLength;i++)\r
- aPos[aCurIdxSet[i]]++;\r
- }\r
- else{\r
- for(var i=0;i<nLength;i++)\r
- aPos[aCurIdxSet[i]]--;\r
- }\r
-}\r
-\r
-function getDef(aDataCon,nIdxSet,nIIdx)\r
-{\r
- if(nIdxSet<aDataCon.length&&aDataCon[nIdxSet].aKs.length>nIIdx)\r
- return aDataCon[nIdxSet].aKs[nIIdx].sDef;\r
- else\r
- return null;\r
-}\r
-\r
-function getItemName(aDataCon,nIdxSet,nIIdx)\r
-{\r
- if(nIdxSet<aDataCon.length&&aDataCon[nIdxSet].aKs.length>nIIdx)\r
- return aDataCon[nIdxSet].aKs[nIIdx].sName;\r
- else\r
- return null;\r
-}\r
-\r
-function window_OnLoad()\r
-{\r
- if(gsBgImage&&gsBgImage.length>0)\r
- document.body.background=gsBgImage;\r
- if(gsBgColor&&gsBgColor.length>0)\r
- document.body.bgColor=gsBgColor;\r
- document.body.insertAdjacentHTML("beforeEnd",writeLoadingDiv());\r
- loadGlo();\r
- var oMsg=new whMessage(WH_MSG_SHOWGLO,this,1,null)\r
- SendMessage(oMsg);\r
-}\r
-\r
-function loadGlo()\r
-{\r
- if(!gbReady)\r
- {\r
- var oResMsg=new whMessage(WH_MSG_GETPROJINFO,this,1,null);\r
- if(SendMessage(oResMsg)&&oResMsg.oParam)\r
- {\r
- gbReady=true;\r
- var oProj=oResMsg.oParam;\r
- var aProj=oProj.aProj;\r
- gbXML=oProj.bXML;\r
- if(aProj.length>0)\r
- {\r
- var sLangId=aProj[0].sLangId;\r
- for(var i=0;i<aProj.length;i++)\r
- {\r
- if(aProj[i].sGlo!=null&&aProj[i].sGlo!=""&&aProj[i].sLangId==sLangId)\r
- addProjInfo(aProj[i].sPPath,aProj[i].sDPath,aProj[i].sGlo);\r
- }\r
- }\r
- writeDataIFrame();\r
- enEvt();\r
- } \r
- }\r
-}\r
-\r
-function findCKInDom()\r
-{\r
- return true;\r
-}\r
-\r
-function GloWriteClassStyle()\r
-{\r
- var sStyle="<STYLE TYPE='text/css'>\n";\r
- if (gsBgImage)\r
- sStyle+="body {border-top:"+gsBgColor+" 1px solid;}\n";\r
- else\r
- sStyle+="body {border-top:black 1px solid;}\n";\r
- sStyle+="P {"+getFontStyle(goFont)+"margin-top:"+gsMargin+";margin-bottom:"+gsMargin+";margin-left:"+gsIndent+";}\n";\r
- sStyle+="A:link {"+getFontStyle(goFont)+"}\n";\r
- sStyle+="A:visited {"+getFontStyle(goFont)+"}\n";\r
- sStyle+="A:active {background-color:"+gsActiveBgColor+";}\n";\r
- sStyle+="A:hover {"+getFontStyle(goHoverFont)+"}\n";\r
- sStyle+="</STYLE>"; \r
- document.write(sStyle);\r
-}\r
-\r
-function window_Unload()\r
-{\r
- UnRegisterListener2(this,WH_MSG_PROJECTREADY);\r
- UnRegisterListener2(this,WH_MSG_SHOWGLO);\r
-}\r
-\r
-function onSendMessage(oMsg)\r
-{\r
- if(oMsg)\r
- {\r
- var nMsgId=oMsg.nMessageId;\r
- if(nMsgId==WH_MSG_SHOWGLO)\r
- {\r
- if(!gbNav6)\r
- document.body.focus();\r
- }\r
- else if(nMsgId==WH_MSG_PROJECTREADY)\r
- {\r
- loadGlo();\r
- }\r
- }\r
- return true;\r
-}\r
-\r
-if (window.gbWhUtil&&window.gbWhProxy&&window.gbWhVer&&window.gbWhLang&&window.gbWhMsg&&window.gbWhHost)\r
-{\r
- RegisterListener2(this,WH_MSG_PROJECTREADY);\r
- RegisterListener2(this,WH_MSG_SHOWGLO);\r
- goFont=new whFont("Verdana","8pt","#000000","normal","normal","none");\r
- goHoverFont=new whFont("Verdana","8pt","#007f00","normal","normal","underline");\r
- window.onload=window_OnLoad;\r
- window.onbeforeunload=window_BUnload;\r
- window.onunload=window_Unload;\r
- gbWhGHost=true;\r
-}\r
-else\r
- document.location.reload();\r
-\r
+++ /dev/null
-var gaChunks=new Array();\r
-var gaFakes=new Array();\r
-var gaDataCon=null;\r
-var gaData=new Array();\r
-\r
-var gbFindCK=false;;\r
-var gbNeedCalc=false;\r
-var gbScrl=false;\r
-var gbProcess=false;\r
-var gbReady=false;\r
-\r
-var gnCheck=0;\r
-var gnNum=0;\r
-var gnIns=-1;\r
-var gnLoad=0;\r
-var gnRef=-1;\r
-var gnMaxItems=0;\r
-var gnMaxMargin=32000;\r
-var gnNeeded=0;\r
-var gnNKI=-1;\r
-var gnRE=0;\r
-var gnScrlMgn=30;\r
-var gnSE=0;\r
-var gnVisible=0;\r
-var gnItems=0;\r
-var gnUHeight=1;\r
-\r
-var gsBCK=null;\r
-var gsChK=null;\r
-var gsCK=null;\r
-var gsLoadingDivID="LoadingDiv";\r
-var gsLoadingMsg="Loading data, please wait...";\r
-var gsSKA=null;\r
-var gsSKB=null;\r
-\r
-var gbLoadInfo=false;\r
-\r
-function putDataXML(xmlDoc,sDocPath)\r
-{\r
- if(gbLoadInfo)\r
- {\r
- var node=xmlDoc.lastChild;\r
- if(node)\r
- {\r
- var nTotal=0\r
- var aChunk=new Array();\r
- var oC=node.firstChild;\r
- while(oC)\r
- {\r
- if(oC.nodeName=="chunkinfo")\r
- {\r
- var item=new Object();\r
- item.sBK=oC.getAttribute("first");\r
- item.sEK=oC.getAttribute("last");\r
- item.sFileName=oC.getAttribute("url");\r
- item.nNum=parseInt(oC.getAttribute("num"));\r
- nTotal+=item.nNum;\r
- item.nTotal=nTotal;\r
- aChunk[aChunk.length]=item;\r
- }\r
- oC=oC.nextSibling;\r
- }\r
- projReady(aChunk);\r
- }\r
- }\r
- else\r
- {\r
- var node=xmlDoc.lastChild;\r
- if(node)\r
- {\r
- var aData=new Array();\r
- var nPrev=0;\r
- var nNext=0;\r
- var oC=node.firstChild;\r
- while(oC)\r
- {\r
- nPrev=nNext;\r
- if(oC.nodeName=="key")\r
- {\r
- var sName=oC.getAttribute("name");\r
- if(sName&&sName.length>0)\r
- {\r
- var sTarget=oC.getAttribute("target");\r
- var item=new Object();\r
- item.nType=2;\r
- item.sName=sName;\r
- if(sTarget)\r
- item.sTarget=sTarget;\r
- item.nPKOff=nPrev;\r
- aData[aData.length]=item;\r
- var nCurIndex=aData.length;\r
- processKey(oC,aData,item);\r
- nNext=aData.length-nCurIndex;\r
- item.nNKOff=nNext;\r
- }\r
- }\r
- else if(oC.nodeName=="letter")\r
- {\r
- var name=oC.getAttribute("name");\r
- if(name&&name.length>0)\r
- {\r
- var item=new Object();\r
- item.nType=1;\r
- item.sName=name;\r
- item.nPKOff=nPrev;\r
- nNext=0;\r
- item.nNKOff=nNext;\r
- aData[aData.length]=item;\r
- }\r
- }\r
- else if(oC.nodeName=="entry")\r
- {\r
- var name=oC.getAttribute("name");\r
- var def=oC.getAttribute("value");\r
- if(name&&name.length>0)\r
- {\r
- var item=new Object();\r
- item.sName=name;\r
- item.sDef=def;\r
- item.nPKOff=nPrev;\r
- nNext=0;\r
- item.nNKOff=nNext;\r
- aData[aData.length]=item;\r
- }\r
- }\r
- oC=oC.nextSibling;\r
- }\r
- putData(aData);\r
- }\r
- }\r
-}\r
-\r
-function processKey(element,aData,item)\r
-{\r
- var i=0;\r
- var nPrev=0;\r
- var nNext=0;\r
- var oC=element.firstChild;\r
- while(oC)\r
- {\r
- if(oC.nodeName=="topic")\r
- {\r
- var name=oC.getAttribute("name");\r
- var url=oC.getAttribute("url");\r
- if(url&&url.length!=0)\r
- {\r
- if(!name||name.length==0)\r
- name=url;\r
- var topic=new Object();\r
- topic.sName=name;\r
- topic.sURL=url;\r
- if(!item.aTopics)\r
- item.aTopics=new Array();\r
- item.aTopics[item.aTopics.length]=topic;\r
- }\r
- }\r
- else if(oC.nodeName=="key")\r
- {\r
- nPrev=nNext;\r
- var name=oC.getAttribute("name");\r
- if(name&&name.length!=0)\r
- {\r
- var subItem=new Object();\r
- subItem.sName=name;\r
- subItem.nType=3;\r
- subItem.nPKOff=nPrev;\r
- aData[aData.length]=subItem;\r
- var nCurIndex=aData.length;\r
- processKey(oC,aData,subItem);\r
- nNext=aData.length-nCurIndex;\r
- subItem.nNKOff=nNext;\r
- }\r
- }\r
- oC=oC.nextSibling;\r
- }\r
-}\r
-\r
-function putData(aData)\r
-{\r
- endLoading();\r
- var oCData=goCData;\r
- if(oCData)\r
- {\r
- oCData.aKs=aData;\r
- if(gnNKI==-1)\r
- setTimeout("checkReady();",1);\r
- else\r
- {\r
- gsSKA=getKByIdx(oCData,gnNKI);\r
- gbNeedCalc=true;\r
- gbScrl=true;\r
- gnNKI=-1;\r
- if(gsSKA)\r
- setTimeout("checkReady();",1);\r
- else\r
- {\r
- markEnd();\r
- setTimeout("checkAgain();",50);\r
- }\r
- }\r
- }\r
-}\r
-\r
-function markEnd()\r
-{\r
- if(gbProcess)\r
- gbProcess=false;\r
-}\r
-\r
-function endLoading()\r
-{\r
- var oDiv=getElement(gsLoadingDivID);\r
- if(oDiv)\r
- oDiv.style.visibility="hidden";\r
-}\r
-\r
-function markBegin()\r
-{\r
- gbProcess=true;\r
-}\r
-\r
-function beginLoading()\r
-{\r
- var oDiv=getElement(gsLoadingDivID);\r
- if(oDiv)\r
- {\r
- oDiv.style.top=document.body.scrollTop;\r
- oDiv.style.visibility="visible";\r
- }\r
-}\r
-\r
-function indexHTMLPart()\r
-{\r
- this.sHTML="";\r
- this.nNeeded=0;\r
- this.nCurrent=0;\r
- this.nConsumed=0;\r
- this.sFK=null;\r
- this.sLK=null;\r
- this.addHTML=function(sHTML,nConsumed,bDown,bK,sK){\r
- if(bDown)\r
- this.sHTML+=sHTML;\r
- else\r
- this.sHTML=sHTML+this.sHTML;\r
- this.nCurrent++; \r
- this.nConsumed+=nConsumed;\r
- if(bK)\r
- {\r
- if(!this.sFK)\r
- this.sFK=sK;\r
- if(!this.sLK)\r
- this.sLK=sK;\r
- if(bDown)\r
- this.sLK=sK;\r
- else\r
- this.sFK=sK;\r
- }\r
- }\r
- this.appendHTML=function(oHTML,bDown){\r
- this.addSubHTML(oHTML,bDown);\r
- if(!this.sFK)\r
- this.sFK=oHTML.sFK;\r
- if(!this.sLK)\r
- this.sLK=oHTML.sLK;\r
- if(bDown)\r
- this.sLK=oHTML.sLK;\r
- else\r
- this.sFK=oHTML.sFK;\r
- } \r
- \r
- this.addSubHTML=function(oHTML,bDown){\r
- if(bDown)\r
- this.sHTML+=oHTML.sHTML;\r
- else\r
- this.sHTML=oHTML.sHTML+this.sHTML;\r
- this.nCurrent+=oHTML.nCurrent;\r
- this.nConsumed+=oHTML.nConsumed; \r
- }\r
-}\r
-\r
-function getMaxUnits()\r
-{\r
- return Math.floor(gnMaxMargin/gnUHeight)+1;\r
-}\r
-\r
-function getFakeItemsHTMLbyCount(nB,nCount)\r
-{\r
- var nMU=getMaxUnits();\r
- var nNum=Math.floor(nCount/nMU);\r
- var sHTML="";\r
- for(var i=0;i<nNum;i++)\r
- sHTML+=getFakeItemHTML(nB,nMU-1);\r
- \r
- var nRest=nCount%nMU;\r
- sHTML+=getFakeItemHTML(nB,nRest-1);\r
- return sHTML;\r
-}\r
-\r
-function getFakeItemHTML(nB,nNum)\r
-{\r
- return "<h6 name=fk"+nB+" id=fk"+nB+" style=\"margin-top:"+gnUHeight*nNum+";margin-bottom:0\"> </h6>";\r
-}\r
-\r
-function fakeItemsArea(nB,n,sKA,sKB,obj)\r
-{\r
- this.nB=nB;\r
- this.nNum=n;\r
- this.sKA=sKA;\r
- this.sKB=sKB;\r
- this.obj=obj;\r
- this.nMargin=(n-1)*gnUHeight;\r
-\r
- this.setNum=function(n)\r
- {\r
- var nLastobj=-1;\r
- var nDelta=this.nMargin;\r
- this.nMargin=(n-1)*gnUHeight;\r
- nDelta=nDelta-this.nMargin;\r
- if(n>0)\r
- {\r
- this.nNum=n;\r
- var nMU=getMaxUnits();\r
- nLastobj=Math.floor((n-1)/nMU);\r
- if(this.obj.length)\r
- this.obj[nLastobj].style.marginTop=((n-1)%nMU)*gnUHeight;\r
- else\r
- this.obj.style.marginTop=((n-1)%nMU)*gnUHeight;\r
- }\r
- if(this.obj.length)\r
- {\r
- for(var i=this.obj.length-1;i>nLastobj;i--)\r
- removeThis(this.obj[i]);\r
- }\r
- else\r
- {\r
- if(nLastobj==-1)\r
- removeThis(this.obj);\r
- }\r
- return nDelta;\r
- }\r
- this.insertAdjacentHTML=function(sWhere,sHTML)\r
- {\r
- if(sWhere=="beforeBegin")\r
- {\r
- if(this.obj.length)\r
- this.obj[0].insertAdjacentHTML(sWhere,sHTML);\r
- else\r
- this.obj.insertAdjacentHTML(sWhere,sHTML);\r
- }\r
- else if(sWhere=="afterEnd")\r
- {\r
- if(this.obj.length)\r
- {\r
- if(gbMac&&gbIE5&&this.obj[this.obj.length-1].nextSibling)\r
- this.obj[this.obj.length-1].nextSibling.insertAdjacentHTML("beforeBegin",sHTML);\r
- else\r
- this.obj[this.obj.length-1].insertAdjacentHTML(sWhere,sHTML);\r
- }\r
- else\r
- {\r
- if(gbMac&&gbIE5&&this.obj.nextSibling)\r
- this.obj.nextSibling.insertAdjacentHTML("beforeBegin",sHTML);\r
- else\r
- this.obj.insertAdjacentHTML(sWhere,sHTML);\r
- }\r
- }\r
- }\r
- this.getBtm=function()\r
- {\r
- if(this.obj.length)\r
- return this.obj[this.obj.length-1].offsetTop;\r
- else\r
- return this.obj.offsetTop;\r
- }\r
- this.getTop=function()\r
- {\r
- return this.getBtm()-this.nMargin;\r
- }\r
-}\r
-\r
-function usedItems(nB,nE)\r
-{\r
- this.nB=nB;\r
- this.nE=nE;\r
- this.oN=null;\r
-}\r
-\r
-function checkReady()\r
-{\r
- var len=gaChunks.length;\r
- var bNeedLoad=false;\r
- var aDataCon;\r
- var s=0;\r
- var bDown=(gsSKB==null);\r
- var sK=bDown?gsSKA:gsSKB;\r
- if(sK==null)\r
- {\r
- markEnd();\r
- setTimeout("checkAgain();",50);\r
- return;\r
- }\r
- if(!gsChK||sK!=gsChK||gnNum==0)\r
- {\r
- gnCheck=0;\r
- gsChK=sK;\r
- aDataCon=new Array();\r
- }\r
- else{\r
- s=gnNum;\r
- aDataCon=gaDataCon;\r
- }\r
- for(var i=gnCheck;i<len;i++)\r
- {\r
- var oCData=getChunkedData(i,bDown,sK);\r
- if(oCData)\r
- {\r
- if(!oCData.aKs&&oCData.sFileName!=null)\r
- {\r
- bNeedLoad=true;\r
- goCData=oCData;\r
- gnNum=s;\r
- gnCheck=i;\r
- gaDataCon=aDataCon;\r
- oCData.nProjId=i;\r
- gbLoadInfo=false;\r
- beginLoading();\r
- loadData2(gaData[i].sPPath+gaData[i].sDPath+oCData.sFileName);\r
- return;\r
- }\r
- else{\r
- aDataCon[s++]=oCData;\r
- }\r
- }\r
- }\r
- if(!bNeedLoad)\r
- {\r
- gnNum=0;\r
- gsSKA=gsSKB=gsShowK=null;\r
- \r
- var oHTML=new indexHTMLPart();\r
- var aPos=new Array();\r
- var aOriPos=new Array();\r
- var aMaxPos=new Array();\r
- var aMinPos=new Array();\r
- \r
- if(gbNeedCalc||gbFindCK) gnIns=0;\r
- for(i=0;i<aDataCon.length;i++)\r
- {\r
- aPos[i]=getIdxPos(aDataCon[i],bDown,sK);\r
- if(gbNeedCalc||gbFindCK)\r
- {\r
- gnIns+=aPos[i]+aDataCon[i].nTotal-aDataCon[i].nNum;\r
- if(!bDown)\r
- {\r
- if(aPos[i]!=-1)\r
- {\r
- if(aDataCon[i].aKs)\r
- gnIns+=aDataCon[i].aKs[aPos[i]].nNKOff;\r
- else\r
- {\r
- var n=aPos[i]+1;\r
- while(n<aDataCon[i].aKsOnly.length&&!aDataCon[i].aKsOnly[n])\r
- n++;\r
- n=n-aPos[i]-1;\r
- gnIns+=n;\r
- }\r
- }\r
- }\r
- }\r
- aOriPos[i]=aPos[i];\r
- getLimit(aDataCon,aPos,aMaxPos,aMinPos,i);\r
- }\r
- if((gbNeedCalc||gbFindCK)&&!bDown&&gnIns!=-1)\r
- {\r
- gnIns+=(aDataCon.length-1)\r
- }\r
- if(gnIns!=-1||gbFindCK)\r
- {\r
- oHTML.nNeeded=gnNeeded;\r
- var bDone=writeItems(oHTML,aDataCon,aPos,aMinPos,aMaxPos,bDown,1);\r
- if(oHTML.nConsumed!=0)\r
- {\r
- var nB;\r
- if(!bDown)\r
- nB=gnIns-oHTML.nConsumed+1;\r
- else\r
- nB=gnIns;\r
- \r
- var oldScrollPos=document.body.scrollTop;\r
- if(insertIdxKs(nB,oHTML,gbScrl))\r
- {\r
- updateUsedK(aDataCon,aOriPos,aPos,bDown);\r
- if(!gbScrl&&gbMac)\r
- {\r
- while(document.body.scrollTop!=oldScrollPos)\r
- document.body.scrollTop=oldScrollPos;\r
- }\r
- gbScrl=false;\r
- }\r
- if(gbFindCK)\r
- {\r
- gbFindCK=false;\r
- gbNeedCalc=true;\r
- gsSKB=oHTML.sFK;\r
- gnIns=-1;\r
- setTimeout("checkReady();",50);\r
- return;\r
- }\r
- }\r
- else if(gbFindCK)\r
- {\r
- gbFindCK=false;\r
- gbNeedCalc=true;\r
- gsSKB=getFirstKeyFromPos(aDataCon,aPos);\r
- gnIns=-1;\r
- setTimeout("checkReady();",50);\r
- return;\r
- }\r
- if(!findCKInDom()) return;\r
-\r
- gnNeeded=gnNeeded-oHTML.nCurrent;\r
- gnIns=-1;\r
- markEnd();\r
- setTimeout("checkAgain();",50);\r
- gbNeedCalc=false;\r
- }\r
- else\r
- {\r
- if(!findCKInDom()) return;\r
- markEnd();\r
- setTimeout("checkAgain();",50);\r
- }\r
- }\r
-}\r
-\r
-function getFirstKeyFromPos(aDataCon,aPos)\r
-{\r
- var sCurrentK=getBiggestChar();\r
- for(var i=0;i<aPos.length;i++)\r
- {\r
- if(aDataCon[i].aKs&&aDataCon[i].aKs.length>0&&aPos[i]>=0&&aPos[i]<aDataCon[i].aKs.length)\r
- {\r
- if(sCurrentK==""||\r
- compare(sCurrentK,aDataCon[i].aKs[aPos[i]].sName)>0)\r
- {\r
- sCurrentK=aDataCon[i].aKs[aPos[i]].sName;\r
- }\r
- }\r
- }\r
- return sCurrentK;\r
-}\r
-\r
-function checkAgain()\r
-{\r
- if(!gbProcess)\r
- {\r
- if(gsBCK!=null)\r
- {\r
- gsCK=gsBCK;\r
- gsBCK=null;\r
- findCK();\r
- }\r
- else\r
- {\r
- markBegin();\r
- getUnitIdx(document.body.scrollTop,document.body.clientHeight);\r
- }\r
- }\r
- else\r
- setTimeout("checkAgain()",50);\r
-}\r
-\r
-function getLimit(aDataCon,aPos,aMaxPos,aMinPos,i)\r
-{\r
- aMaxPos[i]=aDataCon[i].nNum;\r
- aMinPos[i]=-1;\r
- var oPNode=null;\r
- if(aDataCon[i].oUsedItems)\r
- {\r
- var oUsedItems=aDataCon[i].oUsedItems;\r
- do{\r
- if(oUsedItems.nB>aPos[i])\r
- {\r
- aMaxPos[i]=oUsedItems.nB;\r
- break;\r
- }\r
- oPNode=oUsedItems;\r
- oUsedItems=oUsedItems.oN;\r
- }while(oUsedItems!=null);\r
- if(oPNode)\r
- aMinPos[i]=oPNode.nE;\r
- }\r
- else if(aDataCon[i].aKs==null)\r
- {\r
- aMaxPos[i]=aMinPos[i]=aPos[i];\r
- }\r
- if(aMinPos[i]>=aPos[i]||aMaxPos[i]<=aPos[i])\r
- {\r
- aMaxPos[i]=aMinPos[i]=aPos[i];\r
- }\r
-}\r
-\r
-function getIdxPos(oIdx,bDown,sK)\r
-{\r
- var aKs=oIdx.aKs;\r
- var nIdx;\r
- if(bDown)\r
- nIdx=oIdx.nNum;\r
- else\r
- nIdx=-1;\r
- if(aKs!=null)\r
- {\r
- for(var i=0;i<aKs.length;i++)\r
- { \r
- if(bDown)\r
- {\r
- if(compare(aKs[i].sName,sK)>0)\r
- {\r
- nIdx=i;\r
- break;\r
- }\r
- }\r
- else\r
- {\r
- if(compare(aKs[i].sName,sK)<0)\r
- nIdx=i;\r
- else\r
- break;\r
- }\r
- i+=aKs[i].nNKOff;\r
- }\r
- }\r
- else if(oIdx.aKsOnly)\r
- {\r
- var aKsOnly=oIdx.aKsOnly;\r
- for(var i=0;i<aKsOnly.length;i++)\r
- { \r
- if(aKsOnly[i])\r
- {\r
- if(bDown)\r
- {\r
- if(compare(aKsOnly[i],sK)>0)\r
- {\r
- nIdx=i;\r
- break;\r
- }\r
- }\r
- else\r
- {\r
- if(compare(aKsOnly[i],sK)<0)\r
- nIdx=i;\r
- else\r
- break;\r
- }\r
- }\r
- }\r
- }\r
- return nIdx;\r
-}\r
-\r
-function writeItems(oHTML,aDataCon,aPos,aMinPos,aMaxPos,bDown,nLevel)\r
-{\r
- var aOldPos=new Array();\r
- for(var i=0;i<aPos.length;i++)\r
- {\r
- aOldPos[i]=aPos[i];\r
- }\r
- var p;\r
- do{\r
- var sCurrentK="";\r
- var aCurIdxSet=new Array();\r
- p=0;\r
- for(i=0;i<aDataCon.length;i++)\r
- {\r
- if(aDataCon[i].aKs&&aDataCon[i].aKs.length&&aPos[i]!=-1&&\r
- (bDown&&aPos[i]<aMaxPos[i])||(!bDown&&aPos[i]>aMinPos[i]))\r
- {\r
- if(sCurrentK==""||\r
- (bDown&&compare(sCurrentK,aDataCon[i].aKs[aPos[i]].sName)>0)||\r
- (!bDown&&compare(sCurrentK,aDataCon[i].aKs[aPos[i]].sName)<0))\r
- {\r
- sCurrentK=aDataCon[i].aKs[aPos[i]].sName;\r
- p=0;\r
- aCurIdxSet[p++]=i;\r
- }\r
- else if(sCurrentK==aDataCon[i].aKs[aPos[i]].sName){\r
- aCurIdxSet[p++]=i;\r
- }\r
- }\r
- else if(nLevel==1&&aMaxPos[i]!=aMinPos[i]){\r
- if(bDown&&aPos[i]==aMaxPos[i])\r
- {\r
- if(aDataCon[i].aKs)\r
- {\r
- gsSKA=aDataCon[i].aKs[aOldPos[i]].sName;\r
- return false;\r
- }\r
- }\r
- else if(!bDown&&aPos[i]==aMinPos[i])\r
- {\r
- if(aDataCon[i].aKs)\r
- {\r
- gsSKB=aDataCon[i].aKs[aOldPos[i]].sName;\r
- return false;\r
- }\r
- }\r
- }\r
- }\r
- if(p>=1){\r
- for(var s=0;s<p;s++)\r
- {\r
- aOldPos[aCurIdxSet[s]]=aPos[aCurIdxSet[s]];\r
- }\r
- mergeItems(oHTML,bDown,aDataCon,aCurIdxSet,p,aPos,nLevel);\r
- adjustPosition(bDown,aDataCon,aCurIdxSet,p,aPos);\r
- \r
- if(nLevel==1&&oHTML.nNeeded<=oHTML.nCurrent){\r
- return true;\r
- }\r
- }\r
- }while(p>0);\r
- return true;\r
-}\r
-\r
-function updateUsedK(aDataCon,aOriPos,aOldPos,bDown)\r
-{\r
- for(var i=0;i<aDataCon.length;i++)\r
- {\r
- if (aOldPos[i]!=aOriPos[i])\r
- {\r
- var nBP=0;\r
- var nEP=0;\r
- if(bDown)\r
- {\r
- nBP=aOriPos[i];\r
- nEP=aOldPos[i]-1;\r
- }\r
- else\r
- {\r
- if (aOldPos[i]!=-1)\r
- nBP=aOldPos[i]+aDataCon[i].aKs[aOldPos[i]].nNKOff+1;\r
- else\r
- nBP=0;\r
- nEP=aOriPos[i]+aDataCon[i].aKs[aOriPos[i]].nNKOff;\r
- }\r
- if(nBP<=nEP)\r
- {\r
- setContentsUsed(aDataCon[i],nBP,nEP);\r
- \r
- var oFirstPair=aDataCon[i].oUsedItems;\r
- if(oFirstPair.oN==null&&oFirstPair.nB==0&&oFirstPair.nE==aDataCon[i].nNum-1)\r
- {\r
- storeKeysOnly(aDataCon[i]);\r
- aDataCon[i].oUsedItems=aDataCon[i].aKs=aDataCon[i].sFileName=null;\r
- }\r
- }\r
- }\r
- }\r
-}\r
-\r
-function storeKeysOnly(oCData)\r
-{\r
- oCData.aKsOnly=new Array();\r
- for(var i=0;i<oCData.aKs.length;i++)\r
- {\r
- oCData.aKsOnly[i]=oCData.aKs[i].sName;\r
- i+=oCData.aKs[i].nNKOff;\r
- }\r
-}\r
-\r
-function setContentsUsed(oIdx,nB,nE)\r
-{\r
- if(!oIdx.oUsedItems)\r
- oIdx.oUsedItems=new usedItems(nB,nE);\r
- else\r
- {\r
- var oUsedItems=oIdx.oUsedItems;\r
- var oPNode=null;\r
- do{\r
- if(oUsedItems.nB>nB)\r
- {\r
- if(oUsedItems.nB==nE+1)\r
- {\r
- oUsedItems.nB=nB;\r
- }\r
- else{\r
- var oNewNode=new usedItems(oUsedItems.nB,oUsedItems.nE);\r
- oNewNode.oN=oUsedItems.oN;\r
- oUsedItems.nB=nB;\r
- oUsedItems.nE=nE;\r
- oUsedItems.oN=oNewNode;\r
- }\r
- break;\r
- }\r
- oPNode=oUsedItems;\r
- oUsedItems=oUsedItems.oN;\r
- }while(oUsedItems);\r
- if(!oUsedItems)\r
- {\r
- if(oPNode!=null)\r
- oPNode.oN=new usedItems(nB,nE);\r
- }\r
- if(oPNode!=null){\r
- if(oPNode.nE==oPNode.oN.nB-1)\r
- {\r
- oPNode.nE=oPNode.oN.nE;\r
- oPNode.oN=oPNode.oN.oN;\r
- }\r
- }\r
- }\r
-}\r
-\r
-function projInfo(sPPath,sDPath,sFile)\r
-{\r
- this.sPPath=sPPath;\r
- this.sDPath=sDPath;\r
- this.sFile=sFile;\r
-}\r
-\r
-function addProjInfo(sPPath,sDPath,sFile)\r
-{\r
- var oIdxInfo=new projInfo(sPPath,sDPath,sFile);\r
- gaData[gaData.length]=oIdxInfo;\r
- return oIdxInfo;\r
-}\r
-\r
-function writeDataIFrame()\r
-{\r
- if(gnLoad<gaData.length)\r
- {\r
- gbLoadInfo=true;\r
- loadData2(gaData[gnLoad].sPPath+gaData[gnLoad].sDPath+gaData[gnLoad].sFile);\r
- }\r
- else{\r
- if(gnItems!=0)\r
- {\r
- markBegin();\r
- writeFakeItems();\r
- gsSKA="";\r
- gnNeeded=gnVisible;\r
- gnIns=0;\r
- checkReady();\r
- }\r
- }\r
-}\r
-\r
-function getH6ById(nPos)\r
-{\r
- if(document.all)\r
- return document.all("fk"+nPos);\r
- else if(document.getElementsByName)\r
- return document.getElementsByName("fk"+nPos);\r
- return null; \r
-}\r
-\r
-function showItemsInEvaluation(nBP)\r
-{\r
- var bRtn=true;\r
- var fPer=nBP/gnItems;\r
- var nB=Math.floor(fPer*gnMaxItems);\r
- var oCData=getChunkByIdx(gnRef,nB);\r
- if(oCData)\r
- {\r
- if(!oCData.aKs&&oCData.sFileName!=null)\r
- {\r
- gnNKI=nB;\r
- goCData=oCData;\r
- oCData.nProjId=gnRef;\r
- gbLoadInfo=false;\r
- beginLoading();\r
- loadData2(gaData[gnRef].sPPath+gaData[gnRef].sDPath+oCData.sFileName);\r
- }\r
- else{\r
- gsSKA=getKByIdx(oCData,nB);\r
- if(gsSKA)\r
- {\r
- gsSKB=null;\r
- gbNeedCalc=true;\r
- gbScrl=true;\r
- checkReady()\r
- }\r
- else\r
- {\r
- markEnd();\r
- bRtn=false;\r
- }\r
- }\r
- }\r
- else\r
- {\r
- markEnd();\r
- bRtn=false;\r
- }\r
- return bRtn;\r
-}\r
-\r
-function isUsed(oCData,nPos)\r
-{\r
- var oUsed=oCData.oUsedItems;\r
- while(oUsed&&oUsed.nB<=nPos)\r
- {\r
- if(oUsed.nE>=nPos) return true;\r
- oUsed=oUsed.oN;\r
- }\r
- return false;\r
-}\r
-\r
-function getKByIdx(oCData,nB)\r
-{\r
- var nRelPos=nB-(oCData.nTotal-oCData.nNum);\r
- var aIKs=oCData.aKs;\r
- if(nRelPos>=0&&aIKs&&nRelPos<aIKs.length)\r
- {\r
- var oK=null;\r
- do{\r
- oK=aIKs[nRelPos++];\r
- } \r
- while((oK.nType==3||isUsed(oCData,nRelPos-1))&&nRelPos<aIKs.length);\r
- if(oK.nType!=3)\r
- {\r
- return oK.sName;\r
- }\r
- else{\r
- nRelPos=nB-(oCData.nTotal-oCData.nNum)-1;\r
- if(nRelPos>=0)\r
- {\r
- do{\r
- oK=aIKs[nRelPos--];\r
- }\r
- while((oK.nType==3||isUsed(oCData,nRelPos+1))&&nRelPos>=0);\r
- }\r
- if(oK.nType!=3)\r
- {\r
- return oK.sName;\r
- }\r
- }\r
- }\r
- return null;\r
-}\r
-\r
-function loadData2(sFileName)\r
-{\r
- disEvt();\r
- if(gbXML)\r
- loadDataXML(sFileName);\r
- else\r
- loadData(sFileName);\r
- enEvt();\r
-}\r
-\r
-function projReady(aChunk)\r
-{\r
- gaChunks[gnLoad++]=aChunk;\r
- var len=aChunk.length;\r
- var nTotal=0;\r
- if(len>0)\r
- nTotal=aChunk[len-1].nTotal;\r
- gnItems+=nTotal;\r
- if(nTotal>gnMaxItems)\r
- {\r
- gnMaxItems=nTotal;\r
- gnRef=gnLoad-1;\r
- }\r
- setTimeout("writeDataIFrame();",1);\r
-}\r
-\r
-function writeFakeItems()\r
-{\r
- disEvt();\r
- gnUHeight=15;\r
- var sHTML=getFakeItemsHTMLbyCount(0,gnItems);\r
- document.body.insertAdjacentHTML("beforeEnd",sHTML);\r
- var obj=getH6ById(0);\r
- if (document.body != null)\r
- {\r
- gnVisible=Math.ceil(document.body.clientHeight/gnUHeight);\r
- }\r
- gaFakes[0]=new fakeItemsArea(0,gnItems,"",getEndString(),obj);\r
- enEvt();\r
-}\r
-\r
-function getEndString()\r
-{\r
- var sBC=getBiggestChar();\r
- return sBC+sBC+sBC+sBC+sBC+sBC+sBC+sBC;\r
-}\r
-\r
-function getUnitIdx(nScrl,nHeight)\r
-{\r
- if(gaFakes.length==0)\r
- {\r
- markEnd();\r
- return;\r
- }\r
- var nB=0;\r
- var nE=gaFakes.length-1;\r
- var nM=-1;\r
- var nTop=0;\r
- var nBtm=0;\r
- var bF=false;\r
- do{\r
- nM=(nB+nE)>>1;\r
- nBtm=gaFakes[nM].getBtm();\r
- nTop=gaFakes[nM].getTop();\r
- \r
- if(nTop>=nScrl+nHeight)\r
- nE=nM-1;\r
- else if(nBtm<nScrl)\r
- nB=nM+1;\r
- else{\r
- bF=true;\r
- break;\r
- }\r
- }while(nE>=nB);\r
- if(bF)\r
- {\r
- if(nTop>=nScrl){\r
- gsSKA=gaFakes[nM].sKA;\r
- gsSKB=null;\r
- gnNeeded=Math.ceil((nHeight-nTop+nScrl)/gnUHeight);\r
- gnIns=gaFakes[nM].nB;\r
- checkReady();\r
- }\r
- else if(nBtm<=nScrl+nHeight){\r
- gsSKB=gaFakes[nM].sKB;\r
- gsSKA=null;\r
- gnNeeded=Math.ceil((nBtm-nScrl+gnScrlMgn)/gnUHeight);\r
- gbNeedCalc=true;\r
- checkReady();\r
- }\r
- else{\r
- gnNeeded=gnVisible;\r
- var nUnitIdx=gaFakes[nM].nB+Math.floor((nScrl-nTop)/gnUHeight);\r
- if (!showItemsInEvaluation(nUnitIdx))\r
- {\r
- gsSKA=gaFakes[nM].sKA;\r
- gsSKB=null;\r
- gnNeeded=Math.ceil(nHeight/gnUHeight);\r
- gnIns=gaFakes[nM].nB;\r
- checkReady();\r
- }\r
- }\r
- }\r
- else\r
- markEnd();\r
-}\r
-\r
-function disEvt()\r
-{\r
- window.onscroll=null;\r
- window.onresize=null;\r
-}\r
-\r
-function enEvt()\r
-{\r
- window.onscroll=window_OnScroll;\r
- window.onresize=window_OnResize;\r
-}\r
-\r
-function insertIdxKs(nIns,oHTML,bScrl)\r
-{\r
- var bRtn=true;\r
- disEvt();\r
- var nCount=oHTML.nConsumed;\r
- var nB=0;\r
- var nE=gaFakes.length-1;\r
- var nM=-1;\r
- var bF=false;\r
- do{\r
- nM=(nB+nE)>>1;\r
- if(gaFakes[nM].nB>nIns)\r
- nE=nM-1;\r
- else if(gaFakes[nM].nB+gaFakes[nM].nNum<=nIns)\r
- nB=nM+1;\r
- else{\r
- bF=true;\r
- break;\r
- }\r
- }while(nE>=nB);\r
- if(bF)\r
- {\r
- var oFIA=gaFakes[nM];\r
- var nOffsetTop=oFIA.getTop();\r
- var nOffsetBottom=oFIA.getBtm();\r
- var nDelta=0;\r
- var nHDiff=nIns-oFIA.nB;\r
- var nTDiff=oFIA.nNum+oFIA.nB-(nIns+nCount);\r
- if(nHDiff>0)\r
- {\r
- nDelta=oFIA.setNum(nHDiff);\r
- var sOldKBefore=oFIA.sKB;\r
- oFIA.sKB=oHTML.sFK;\r
- if(nTDiff>0)\r
- {\r
- var sHTML=getFakeItemsHTMLbyCount(nIns,nTDiff);\r
- oFIA.insertAdjacentHTML("afterEnd",sHTML);\r
- var obj=getH6ById(nIns);\r
- insertItemIntoArray(gaFakes,nM+1,new fakeItemsArea(nIns+nCount,nTDiff,oHTML.sLK,sOldKBefore,obj));\r
- }\r
- oFIA.insertAdjacentHTML("afterEnd",oHTML.sHTML); \r
- if(bScrl)\r
- {\r
- if(gbMac&&gbIE4)\r
- {\r
- var nScrollPos=nOffsetBottom-nDelta;\r
- while(document.body.scrollTop!=nScrollPos)\r
- document.body.scrollTop=nScrollPos;\r
- }\r
- else\r
- window.scrollTo(0,nOffsetBottom-nDelta);\r
- }\r
- }\r
- else{\r
- oFIA.insertAdjacentHTML("beforeBegin",oHTML.sHTML);\r
- if(bScrl){\r
- if(gbMac&&gbIE4)\r
- {\r
- var nScrollPos=nOffsetTop;\r
- while(document.body.scrollTop!=nScrollPos)\r
- document.body.scrollTop=nScrollPos;\r
- }\r
- else\r
- window.scrollTo(0,nOffsetTop);\r
- }\r
- \r
- if(nTDiff>0)\r
- {\r
- oFIA.nB=nIns+nCount;\r
- nDelta=oFIA.setNum(nTDiff);\r
- oFIA.sKA=oHTML.sLK;\r
- } \r
- else{\r
- gaFakes[nM].setNum(0);\r
- removeItemFromArray(gaFakes,nM);\r
- }\r
- }\r
- }\r
- else\r
- bRtn=false;\r
- enEvt();\r
- return bRtn;\r
-}\r
-\r
-function window_OnScroll()\r
-{\r
- gnSE++;\r
- setTimeout("procScroll();",50); \r
-}\r
-\r
-function procScroll()\r
-{\r
- if(gnSE==1&&!gbProcess)\r
- {\r
- markBegin();\r
- getUnitIdx(document.body.scrollTop,document.body.clientHeight);\r
- }\r
- gnSE--;\r
-}\r
-\r
-function window_OnResize()\r
-{\r
- gnRE++;\r
- setTimeout("procResize();",50);\r
-}\r
-\r
-function procResize()\r
-{\r
- if(gnRE==1&&!gbProcess)\r
- {\r
- markBegin();\r
- gnVisible=Math.ceil(document.body.clientHeight/gnUHeight);\r
- if(gnIns==-1)\r
- getUnitIdx(document.body.scrollTop,document.body.clientHeight);\r
- }\r
- gnRE--;\r
-}\r
-\r
-function getChunkByIdx(nIdx,nPosition)\r
-{\r
- var oCData=null;\r
- if(nIdx<gaChunks.length)\r
- {\r
- var len=gaChunks[nIdx].length;\r
- if(len>0)\r
- {\r
- var nB=0;\r
- var nE=len-1;\r
- var bF=false;\r
- do{\r
- var nM=(nB+nE)>>1;\r
- if(nPosition<gaChunks[nIdx][nM].nTotal)\r
- {\r
- bF=true;\r
- nE=nM;\r
- }\r
- else\r
- nB=nM+1;\r
- }while(nE>nB);\r
- if(bF)\r
- oCData=gaChunks[nIdx][nE];\r
- else if(nPosition<gaChunks[nIdx][nB].nTotal)\r
- oCData=gaChunks[nIdx][nB];\r
- }\r
- }\r
- return oCData;\r
-}\r
-\r
-function getChunkedData(nIdx,bDown,sK)\r
-{\r
- var oCData=null;\r
- var nCandId=-1;\r
- if(nIdx<gaChunks.length)\r
- {\r
- var len=gaChunks[nIdx].length;\r
- if(len>0)\r
- {\r
- var nB=0;\r
- var nE=len-1;\r
- var bF=false;\r
- do{\r
- var nM=(nB+nE+(bDown?0:1))>>1;\r
- if(bDown)\r
- {\r
- if(compare(sK,gaChunks[nIdx][nM].sEK)<0)\r
- {\r
- bF=true;\r
- nE=nM;\r
- }\r
- else\r
- nB=nM+1;\r
- }\r
- else\r
- {\r
- if(compare(sK,gaChunks[nIdx][nM].sBK)>0)\r
- {\r
- bF=true;\r
- nB=nM;\r
- }\r
- else\r
- nE=nM-1;\r
- }\r
- }while(nE>nB);\r
- if(bF)\r
- {\r
- if(bDown)\r
- nCandId=nE;\r
- else\r
- nCandId=nB;\r
- }\r
- else\r
- {\r
- if(bDown)\r
- {\r
- if(gaChunks[nIdx].length>nB&&compare(sK,gaChunks[nIdx][nB].sEK)<0)\r
- nCandId=nB;\r
- else\r
- nCandId=gaChunks[nIdx].length-1;\r
- }\r
- else\r
- {\r
- if(0<=nE&&compare(sK,gaChunks[nIdx][nE].sBK)>0)\r
- nCandId=nE;\r
- else\r
- nCandId=0;\r
- }\r
- }\r
- return gaChunks[nIdx][nCandId];\r
- }\r
- }\r
- return null;\r
-}\r
-\r
-function findCK()\r
-{\r
- if(gsCK!=null)\r
- {\r
- gsSKA=gsCK;\r
- gbFindCK=true;\r
- gnNeeded=1;\r
- markBegin();\r
- checkReady();\r
- }\r
-}\r
-\r
-function writeLoadingDiv(nIIdx)\r
-{\r
- return "<div id=\""+gsLoadingDivID+"\" style=\"position:absolute;top:0;left:0;z-index:600;visibility:hidden;padding-left:4px;background-color:ivory;border-width:1;border-style:solid;border-color:black;width:150px;\">"+gsLoadingMsg+"</div>";\r
-}\r
-\r
-var gbWhHost=true;
\ No newline at end of file
+++ /dev/null
-<html>\r
-<head>\r
-<title>Index content</title>\r
-<meta http-equiv="content-type" content="text/html; charset=iso-8859-1">\r
-<meta name="generator" content="RoboHelp by eHelp Corporation www.ehelp.com">\r
-<meta name "description" content="WebHelp 2002">\r
-<base target="bsscright">\r
-<script language="javascript" src="whver.js"></script>\r
-<script language="javascript1.2" src="whmozemu.js"></script>\r
-<script language="javascript1.2" src="whmsg.js"></script>\r
-<script language="javascript1.2" src="whproxy.js"></script>\r
-<script language="javascript1.2" src="whlang.js"></script>\r
-<script language="javascript1.2" src="whutils.js"></script>\r
-<script language="javascript1.2" src="whhost.js"></script>\r
-<script language="javascript1.2" src="whihost.js"></script>\r
-<script language="javascript1.2">\r
-<!--\r
-var gnPageWidth = 0;\r
-var gnPageHeight = 0;\r
-var goPopup = null;\r
-var gITE = new Array();\r
-var gIndexLetterArray = new Array();\r
-var gbPopupMenuTimeoutExpired=false;\r
-var gBsClientWidth=640;\r
-var gBsClientHeight=480;\r
-var g_bIsPopupMenuInit=false;\r
-\r
-function WritePopupMenuLayer()\r
-{\r
- if (!g_bIsPopupMenuInit)\r
- {\r
- document.write("<DIV ID='PopupMenu' STYLE='position:absolute; left:0px; top:0px; z-index:4; visibility:hidden;'></DIV>");\r
- document.write("<STYLE TYPE='text/css'>");\r
- if (gbMac && gbIE4) {\r
- document.write(".PopupOver {font-family:'Arial'; color:white; background:navy; font-size:10pt; text-decoration:none;}");\r
- document.write(".PopupNotOver {font-family:'Arial'; color:black; background:#c0c0c0; font-size:10pt; text-decoration:none;}");\r
- } else {\r
- document.write(".PopupOver {font-family:'Arial'; color:white; background:navy; font-size:8pt; text-decoration:none;}");\r
- document.write(".PopupNotOver {font-family:'Arial'; color:black; background:#c0c0c0; font-size:8pt; text-decoration:none;}");\r
- }\r
- document.write("</STYLE>");\r
- }\r
- g_bIsPopupMenuInit = true;\r
-}\r
-\r
-function PopupMenu_Invoke()\r
-{\r
- if (gbNav6)\r
- resetHighLight();\r
- \r
- if (!gbNav6 && document.readyState != "complete")\r
- return false;\r
- var fn_arguments = PopupMenu_Invoke.arguments; \r
- // Make sure we have reasonable arguments\r
- var argLen = fn_arguments.length;\r
- if (argLen < 3) {\r
- return false;\r
- }\r
-\r
- // Check to see if we only have one target\r
- var strTarget = "";\r
- \r
- strTarget = "TARGET='" + fn_arguments[1] + "'";\r
- \r
- if (argLen < 5) {\r
- // Get the place that we will be putting the topic into\r
- var strURL = fn_arguments[3];\r
-\r
- if (fn_arguments[1] != null && typeof(fn_arguments[1]) != "undefined")\r
- window.open(strURL, fn_arguments[1]);\r
- else\r
- window.open(strURL);\r
- \r
- return false;\r
- }\r
- \r
- var strMenu = '<TABLE STYLE="border:2px outset white;" CELLSPACING=0';\r
- if (gbMac && gbIE4) {\r
- strMenu += ' CELLPADDING=4';\r
- } else {\r
- strMenu += ' CELLPADDING=2';\r
- } \r
- strMenu += ' BGCOLOR=#c0c0c0>';\r
-\r
- // Add each of the items\r
- if (gbIE55)\r
- {\r
- var i = 2;\r
- while (i <= argLen - 1) {\r
- strMenu += '<TR><TD><NOBR>'\r
- strMenu += '<DIV STYLE="padding-left:3pt; padding-right:3pt;"><A ';\r
- strMenu += ' onclick="parent.PopupMenu_2HandleClick(\'' + fn_arguments[i + 1] + '\', \'' + fn_arguments[1] + '\');"';\r
- strMenu += ' onmouseover="parent.PopupMenu_Over(event);"';\r
- strMenu += ' onmouseout="parent.PopupMenu_Out(event);"';\r
- strMenu += '>';\r
- strMenu += '<SPAN CLASS="PopupNotOver">' + fn_arguments[i] + '</SPAN>';\r
- strMenu += '</A></DIV></NOBR></TD></TR>';\r
- i += 2;\r
- }\r
- }\r
- else\r
- {\r
- var i = 2;\r
- while (i <= argLen - 1) {\r
- strMenu += '<TR><TD><NOBR>'\r
- strMenu += '<DIV STYLE="padding-left:3pt; padding-right:3pt;"><A HREF="' + fn_arguments[i + 1] + '" ' + strTarget;\r
- strMenu += ' onclick="PopupMenu_HandleClick(event);"';\r
- strMenu += ' onmouseover="PopupMenu_Over(event);"';\r
- strMenu += ' onmouseout="PopupMenu_Out(event);"';\r
- strMenu += '>';\r
- strMenu += '<SPAN CLASS="PopupNotOver">' + fn_arguments[i] + '</SPAN>';\r
- strMenu += '</A></DIV></NOBR></TD></TR>';\r
- i += 2;\r
- }\r
- }\r
- strMenu += "</TABLE>";\r
-\r
- if (gbMac && gbIE4) {\r
- // ie5 in mac need something. </TABLE> is one of them.\r
- strMenu +="<TABLE></TABLE>";\r
- }\r
-\r
- var layerPopup = null;\r
- var stylePopup = null;\r
- var nEventX = 0;\r
- var nEventY = 0;\r
- var nWindowWidth = 0;\r
- if (gbIE4)\r
- {\r
- layerPopup = document.all["PopupMenu"];\r
- layerPopup.innerHTML = strMenu;\r
- stylePopup = layerPopup.style;\r
-\r
- _BSPSGetClientSize();\r
-\r
- // Get the position of the item causing the event (relative to its parent)\r
- nEventX = window.event.clientX;\r
- nEventY = window.event.clientY;\r
- \r
- if (nEventY + layerPopup.scrollHeight + 10 < gBsClientHeight) {\r
- nEventY += document.body.scrollTop + 10;\r
- } else {\r
- nEventY = (document.body.scrollTop + gBsClientHeight) - layerPopup.scrollHeight - 20;\r
- }\r
- stylePopup.top = nEventY;\r
-\r
- if (nEventX + layerPopup.scrollWidth + 20 > gBsClientWidth) {\r
- if (gBsClientWidth - layerPopup.scrollWidth < 5) {\r
- stylePopup.left = 5;\r
- } else {\r
- stylePopup.left = gBsClientWidth - layerPopup.scrollWidth - 5;\r
- }\r
- } else {\r
- stylePopup.left = nEventX + document.body.scrollLeft + 20;\r
- }\r
-\r
- if (gbIE55) {\r
- var nPosX = window.event.clientX;\r
- var nPosY = window.event.clientY;\r
- if (window.event.srcElement)\r
- {\r
- nPosX = window.event.srcElement.offsetLeft + window.event.srcElement.offsetWidth - document.body.scrollLeft;\r
- nPosY = window.event.srcElement.offsetTop + window.event.srcElement.offsetHeight - document.body.scrollTop;\r
- }\r
- goPopup = window.createPopup();\r
- var oPopupBody = goPopup.document.body;\r
- goPopup.document.createStyleSheet();\r
- goPopup.document.styleSheets[0].addRule(".PopupOver", "{font-family:\"Arial\"; cursor: hand;color:white; background:navy; font-size:8pt; text-decoration:none;}");\r
- goPopup.document.styleSheets[0].addRule(".PopupNotOver", "{font-family:\"Arial\"; color:black; background:#c0c0c0; font-size:8pt; text-decoration:none;}");\r
- oPopupBody.insertAdjacentHTML("afterBegin", strMenu);\r
- goPopup.show(nPosX, nPosY, layerPopup.scrollWidth, layerPopup.scrollHeight, document.body);\r
- }\r
- else \r
- {\r
- stylePopup.visibility = "visible";\r
- document.onclick = PopupMenu_HandleClick;\r
- }\r
- } else if (gbNav6) {\r
- layerPopup = document.getElementById("PopupMenu");\r
- layerPopup.style.visibility = "hidden";\r
- \r
- var e = fn_arguments[0];\r
- nEventX = e.pageX;\r
- nEventY = e.pageY;\r
- _BSPSGetClientSize();\r
- layerPopup.innerHTML = strMenu;\r
-\r
- if (nEventY + layerPopup.offsetHeight + 20 < window.pageYOffset + gBsClientHeight) {\r
- nEventY += 20;\r
- } else {\r
- nEventY = gBsClientHeight + window.pageYOffset - layerPopup.offsetHeight - 20;\r
- }\r
-\r
- if (nEventX + layerPopup.offsetWidth + 20 > gBsClientWidth + window.pageXOffset) {\r
- if (gBsClientWidth + window.pageXOffset - layerPopup.offsetWidth < 20) {\r
- nEventX = 5;\r
- } else {\r
- nEventX = gBsClientWidth + window.pageXOffset - layerPopup.offsetWidth - 20;\r
- }\r
- } else {\r
- nEventX += 20;\r
- }\r
- layerPopup.style.top = nEventY;\r
- layerPopup.style.left = nEventX;\r
-\r
- // set again to avoid the frash in netscape 6.\r
- layerPopup.innerHTML = strMenu;\r
- layerPopup.style.visibility = "visible";\r
- window.onclick = PopupMenu_HandleClick;\r
- } \r
-\r
- window.gbPopupMenuTimeoutExpired = false;\r
- setTimeout("PopupMenu_Timeout();", 100);\r
- return false;\r
-}\r
-\r
-function PopupMenu_Timeout()\r
-{\r
- window.gbPopupMenuTimeoutExpired = true;\r
-}\r
-\r
-function PopupMenu_Over(e)\r
-{\r
- if (gbIE4)\r
- e.srcElement.className = "PopupOver";\r
- else if (gbNav6)\r
- e.target.parentNode.className = "PopupOver";\r
-}\r
-\r
-function PopupMenu_Out(e)\r
-{\r
- if (gbIE4)\r
- e.srcElement.className = "PopupNotOver";\r
- else if (gbNav6)\r
- e.target.parentNode.className = "PopupNotOver";\r
-}\r
-\r
-function PopupMenu_2HandleClick(surl, starget)\r
-{\r
- window.open(surl, starget);\r
- goPopup.hide();\r
-}\r
-\r
-function PopupMenu_HandleClick(e)\r
-{\r
- if (!window.gbPopupMenuTimeoutExpired) {\r
- return;\r
- }\r
-\r
- var layerPopup = getElement("PopupMenu");\r
- layerPopup.style.visibility = "hidden";\r
-\r
- return;\r
-}\r
-\r
-//Get client size info\r
-function _BSPSGetClientSize()\r
-{\r
- gBsClientWidth = document.body.clientWidth;\r
- gBsClientHeight = document.body.clientHeight;\r
-}\r
-\r
-if (window.gbWhIHost)\r
-{\r
- setBackgroundcolor("White");\r
- \r
- setFont("Normal", "Tahoma","8pt","Black","Normal","Normal","none");\r
- setFont("Empty", "Tahoma","8pt","Black","Normal","Normal","none");\r
- setFont("Hover", "Tahoma","8pt","Navy","Normal","Normal","underline");\r
- setActiveBgColor("Silver");\r
- \r
- \r
- IndexWriteClassStyle();\r
-}\r
-else\r
- document.location.reload();\r
-//-->\r
-</script>\r
-</head>\r
-<body topmargin="2" leftmargin="2" marginwidth="0" marginheight="0" bgproperties="fixed" scroll="auto" bgcolor="white">\r
-<script languageE="JavaScript">\r
-<!--\r
-WritePopupMenuLayer();\r
-//-->\r
-</script>\r
-</body>\r
-</html>\r
-\r
+++ /dev/null
-<html>\r
-<head>\r
-<title>Index</title>\r
-<meta http-equiv="content-type" content="text/html; charset=iso-8859-1">\r
-<meta name="generator" content="RoboHelp by eHelp Corporation www.ehelp.com">\r
-<meta name "description" content="WebHelp 2002">\r
-</head>\r
-<script language="javascript" src="whver.js"></script>\r
-<script language="javascript1.2" src="whproxy.js"></script>\r
-<script language="javascript1.2" src="whmsg.js"></script>\r
-<script language="javascript1.2">\r
-<!--\r
-var gbIndexLayerInit = false;\r
-if (window.gbWhProxy&&window.gbWhMsg&&window.gbWhVer)\r
-{\r
- var strWrite;\r
- if (gbMac)\r
- strWrite="<FRAMESET ROWS='45,100%' framespacing=0 frameborder=0>";\r
- else\r
- strWrite="<FRAMESET ROWS='60,100%' framespacing=0 frameborder=0>";\r
- strWrite +="<FRAME SRC='whiform.htm' title='index form frame' name='idxform' noresize='yes' scrolling='no'>";\r
- strWrite +="<FRAME SRC='whibody.htm' title='index content frame' name='idxbody' scrolling='yes'>";\r
- strWrite +="</FRAMESET>";\r
- document.write(strWrite);\r
-}\r
-else\r
- document.location.reload();\r
-//-->\r
-</script>\r
-</html>\r
+++ /dev/null
-<html>\r
-<head>\r
-<title>Index form</title>\r
-<meta http-equiv="content-type" content="text/html; charset=iso-8859-1">\r
-<meta name="generator" content="RoboHelp by eHelp Corporation www.ehelp.com">\r
-<meta name "description" content="WebHelp 2002">\r
-</head>\r
-<style>\r
-<!--\r
-body {margin:0;}\r
--->\r
-</style>\r
-<body bgcolor="#c0c0c0">\r
-<script language="javascript" src="whver.js"></script>\r
-<script language="javascript1.2" src="whmsg.js"></script>\r
-<script language="javascript1.2" src="whproxy.js"></script>\r
-<script language="javascript1.2" src="whutils.js"></script>\r
-<script language="javascript1.2" src="whform.js"></script>\r
-<script language="javascript1.2">\r
-<!--\r
-function indexLookup(bCR)\r
-{\r
- var strInput = document.IndexInputForm.keywordField.value.toUpperCase();\r
- if (strInput != "") {\r
- var oParam = new Object();\r
- oParam.sInput = strInput;\r
- oParam.bCR = bCR;\r
- var oMessage = new whMessage(WH_MSG_SEARCHINDEXKEY, this, 1, oParam);\r
- SendMessage(oMessage);\r
- }\r
- if (gbMac) {\r
- document.IndexInputForm.keywordField.focus();\r
- }\r
-}\r
-\r
-function window_Unload()\r
-{\r
- UnRegisterListener2(this, WH_MSG_SHOWTOC);\r
- UnRegisterListener2(this, WH_MSG_SHOWIDX);\r
- UnRegisterListener2(this, WH_MSG_SHOWFTS);\r
- UnRegisterListener2(this, WH_MSG_SHOWGLO);\r
-}\r
-\r
-function onSendMessage(oMessage)\r
-{\r
- if (oMessage.nMessageId == WH_MSG_SHOWIDX)\r
- {\r
- document.IndexInputForm.keywordField.focus();\r
- }\r
- else if (oMessage.nMessageId == WH_MSG_SHOWFTS ||\r
- oMessage.nMessageId == WH_MSG_SHOWTOC || \r
- oMessage.nMessageId == WH_MSG_SHOWGLO)\r
- {\r
- document.IndexInputForm.keywordField.blur();\r
- }\r
- return true;\r
-}\r
-\r
-if (window.gbWhForm)\r
-{\r
- RegisterListener2(this, WH_MSG_SHOWTOC);\r
- RegisterListener2(this, WH_MSG_SHOWIDX);\r
- RegisterListener2(this, WH_MSG_SHOWFTS);\r
- RegisterListener2(this, WH_MSG_SHOWGLO);\r
- window.onunload=window_Unload;\r
- window.onload = init;\r
- gfunLookUp = indexLookup;\r
- gfunInit = null;\r
- gstrFormName = "IndexInputForm"\r
- gsTitle = "Type in the keyword to find:";\r
- gsTitle = "Type in the keyword to find:";\r
-\r
- setBackgroundcolor("White");\r
- \r
- setBtnType("none");\r
- \r
- \r
- \r
- setGoText("Go");\r
- setFont("Title", "Tahoma","8pt","Navy","Normal","Normal","none");\r
- \r
- \r
- document.write(getFormHTML());\r
- writeFormStyle();\r
-}\r
-else\r
- document.location.reload();\r
-//-->\r
-</script>\r
-</body>\r
-</html>
\ No newline at end of file
+++ /dev/null
-var gsDefaultTarget="bsscright";\r
-var gsBgColor="#ffffff";\r
-var gsBgImage="";\r
-var goIdxFont=null;\r
-var goIdxEmptyFont=null;\r
-var goIdxHoverFont=null;\r
-var gsIdxMargin="0pt";\r
-var gsIdxIndent="8pt";\r
-var gsIdxActiveBgColor="#cccccc";\r
-var gsCK = null;\r
-var gsBCK = null;\r
-var gbCR = false;\r
-var gbBCR = false;\r
-var gbWhIHost=true;\r
-\r
-function myEvent()\r
-{\r
- this.pageX = 0;\r
- this.pageY = 0;\r
-}\r
-var _event=new myEvent();\r
-\r
-function setBackgroundcolor(sBgColor)\r
-{\r
- gsBgColor=sBgColor;\r
-}\r
-\r
-function setBackground(sBgImage)\r
-{\r
- gsBgImage=sBgImage;\r
-}\r
-\r
-function setFont(sType,sFontName,sFontSize,sFontColor,sFontStyle,sFontWeight,sFontDecoration)\r
-{\r
- var vFont=new whFont(sFontName,sFontSize,sFontColor,sFontStyle,sFontWeight,sFontDecoration);\r
- if(sType=="Normal")\r
- goIdxFont=vFont;\r
- else if(sType=="Empty")\r
- goIdxEmptyFont=vFont;\r
- else if(sType=="Hover")\r
- goIdxHoverFont=vFont;\r
-}\r
-\r
-function setActiveBgColor(sBgColor)\r
-{\r
- gsIdxActiveBgColor=sBgColor;\r
-}\r
-\r
-function setMargin(sMargin)\r
-{\r
- gsIdxMargin=sMargin;\r
-}\r
-\r
-function setIndent(sIndent)\r
-{\r
- gsIdxIndent=sIndent;\r
-}\r
-\r
-function writeOneItem(oHTML,bDown,aDataCon,aCurIdxSet,nLength,aPos,nLevel)\r
-{\r
- var sHTML="";\r
- var nIdxSet=aCurIdxSet[0];\r
- var nIIdx=aPos[nIdxSet];\r
- var sKOriName=getItemName(aDataCon,nIdxSet,nIIdx);\r
- var sKName=_textToHtml(sKOriName);\r
-\r
- var nIdxIndent=parseInt(gsIdxIndent);\r
- var sTopics="";\r
- if(nLevel==1){\r
- if(getItemType(aDataCon,nIdxSet,nIIdx)==1)\r
- {\r
- sHTML+="<H6><nobr>";\r
- sHTML+="<b>"+sKName+"</b></nobr></H6>";\r
- }\r
- else{\r
- for(var i=0;i<nLength;i++)\r
- sTopics+=getIdxTopics(aDataCon,aCurIdxSet[i],aPos[aCurIdxSet[i]]);\r
- sHTML+="<p style=\"margin-left:"+gsIdxIndent+"\"><nobr>";\r
- sHTML+="<a alt=\"" + sKName + "\" href=\"javascript:void(0);\" onfocus=\"clearHighLight();\" onclick=\"PopupMenu_Invoke(event,'"+getTargetName(aDataCon,nIdxSet,nIIdx)+"'";\r
- if(sTopics.length>0)\r
- sHTML+=sTopics+");return false;\">"+sKName+"</a></nobr></p>";\r
- else\r
- sHTML+=");return false;\" style=\""+getFontStyle(goIdxEmptyFont)+"\">"+sKName+"</a></nobr></p>";\r
- }\r
- }\r
- else if(nLevel>=2){\r
- var nIndent=nIdxIndent*nLevel;\r
- for(var i=0;i<nLength;i++)\r
- sTopics+=getIdxTopics(aDataCon,aCurIdxSet[i],aPos[aCurIdxSet[i]]);\r
- if (nLevel==2)\r
- sHTML+="<h6 class=\"firstsub\" style=\"margin-left:"+nIndent+"pt\"><nobr>";\r
- else\r
- sHTML+="<h6 style=\"margin-left:"+nIndent+"pt\"><nobr>";\r
- sHTML+="<a alt=\"" + sKName + "\" href=\"javascript:void(0);\" onfocus=\"clearHighLight();\" onclick=\"PopupMenu_Invoke(event,'"+getTargetName(aDataCon,nIdxSet,nIIdx)+"'";\r
- if(sTopics.length>0)\r
- sHTML+=sTopics+");return false;\">"+sKName+"</a></nobr></h6>";\r
- else\r
- sHTML+=");return false;\" style=\""+getFontStyle(goIdxEmptyFont)+"\">"+sKName+"</a></nobr></h6>";\r
- }\r
- oHTML.addHTML(sHTML,nLength,bDown,(nLevel==1),sKOriName);\r
-}\r
-\r
-function getTargetName(aDataCon,nIdxSet,nIIdx)\r
-{\r
- if(nIdxSet<aDataCon.length&&aDataCon[nIdxSet].aKs.length>nIIdx)\r
- if(aDataCon[nIdxSet].aKs[nIIdx].sTarget)\r
- return aDataCon[nIdxSet].aKs[nIIdx].sTarget;\r
- return gsDefaultTarget;\r
-}\r
-\r
-function mergeItems(oHTML,bDown,aDataCon,aCurIdxSet,nLength,aPos,nLevel)\r
-{\r
- var oLocalHTML=new indexHTMLPart();\r
- writeOneItem(oLocalHTML,bDown,aDataCon,aCurIdxSet,nLength,aPos,nLevel);\r
- \r
- var aLocalPos=new Array();\r
- var aMaxPos=new Array();\r
- for(var i=0;i<aPos.length;i++)\r
- {\r
- aLocalPos[i]=aPos[i];\r
- aMaxPos[i]=-1;\r
- }\r
- \r
- for(i=0;i<nLength;i++)\r
- {\r
- var nNKOff=getNKOff(aDataCon,aCurIdxSet[i],aLocalPos[aCurIdxSet[i]]);\r
- aLocalPos[aCurIdxSet[i]]++;\r
- if(nNKOff>0)\r
- aMaxPos[aCurIdxSet[i]]=aLocalPos[aCurIdxSet[i]]+nNKOff;\r
- }\r
- var oSubHTML=new indexHTMLPart();\r
- writeItems(oSubHTML,aDataCon,aLocalPos,null,aMaxPos,true,nLevel+1);\r
- oLocalHTML.addSubHTML(oSubHTML,true);\r
- oHTML.appendHTML(oLocalHTML,bDown);\r
-}\r
-\r
-function adjustPosition(bDown,aDataCon,aCurIdxSet,nLength,aPos)\r
-{\r
- if(bDown)\r
- {\r
- for(var i=0;i<nLength;i++)\r
- {\r
- var nNKOff=getNKOff(aDataCon,aCurIdxSet[i],aPos[aCurIdxSet[i]]);\r
- aPos[aCurIdxSet[i]]+=(1+nNKOff);\r
- }\r
- }\r
- else{\r
- for(var i=0;i<nLength;i++)\r
- {\r
- var nPKOff=getPKOff(aDataCon,aCurIdxSet[i],aPos[aCurIdxSet[i]]);\r
- aPos[aCurIdxSet[i]]-=(1+nPKOff);\r
- }\r
- }\r
-}\r
-\r
-function getItemName(aDataCon,nIdxSet,nIIdx)\r
-{\r
- if(nIdxSet<aDataCon.length&&aDataCon[nIdxSet].aKs.length>nIIdx)\r
- return aDataCon[nIdxSet].aKs[nIIdx].sName;\r
- else\r
- return null;\r
-}\r
-\r
-function getItemType(aDataCon,nIdxSet,nIIdx)\r
-{\r
- if(nIdxSet<aDataCon.length&&aDataCon[nIdxSet].aKs.length>nIIdx)\r
- return aDataCon[nIdxSet].aKs[nIIdx].nType;\r
- else\r
- return 0;\r
-}\r
-\r
-function getNKOff(aDataCon,nIdxSet,nIIdx)\r
-{\r
- if(nIdxSet<aDataCon.length&&aDataCon[nIdxSet].aKs.length>nIIdx)\r
- return aDataCon[nIdxSet].aKs[nIIdx].nNKOff;\r
- else\r
- return null;\r
-}\r
-\r
-function getPKOff(aDataCon,nIdxSet,nIIdx)\r
-{\r
- if(nIdxSet<aDataCon.length&&aDataCon[nIdxSet].aKs.length>nIIdx)\r
- return aDataCon[nIdxSet].aKs[nIIdx].nPKOff;\r
- else\r
- return null;\r
-}\r
-\r
-function window_OnLoad()\r
-{\r
- if(gsBgImage&&gsBgImage.length>0)\r
- {\r
- document.body.background=gsBgImage;\r
- }\r
- if(gsBgColor&&gsBgColor.length>0)\r
- {\r
- document.body.bgColor=gsBgColor;\r
- }\r
- document.body.insertAdjacentHTML("beforeEnd",writeLoadingDiv());\r
- loadIdx();\r
- var oMsg=new whMessage(WH_MSG_SHOWIDX,this,1,null)\r
- SendMessage(oMsg);\r
-}\r
-\r
-function loadIdx()\r
-{\r
- if(!gbReady)\r
- {\r
- var oResMsg=new whMessage(WH_MSG_GETPROJINFO,this,1,null);\r
- if(SendMessage(oResMsg)&&oResMsg.oParam)\r
- {\r
- gbReady=true;\r
- var oProj=oResMsg.oParam;\r
- var aProj=oProj.aProj;\r
- gbXML=oProj.bXML;\r
- if(aProj.length>0)\r
- {\r
- var sLangId=aProj[0].sLangId;\r
- for(var i=0;i<aProj.length;i++)\r
- {\r
- if(aProj[i].sIdx!=null&&aProj[i].sIdx!=""&&aProj[i].sLangId==sLangId)\r
- {\r
- addProjInfo(aProj[i].sPPath,aProj[i].sDPath,aProj[i].sIdx);\r
- }\r
- }\r
- }\r
- writeDataIFrame();\r
- enEvt();\r
- } \r
- }\r
-}\r
-\r
-function getIdxTopics(aDataCon,nIdxSet,nIIdx)\r
-{\r
- var sTopics="";\r
- if(nIdxSet<aDataCon.length&&aDataCon[nIdxSet].aKs.length>nIIdx)\r
- {\r
- if(aDataCon[nIdxSet].aKs[nIIdx].aTopics)\r
- {\r
- var nLen=aDataCon[nIdxSet].aKs[nIIdx].aTopics.length;\r
- var nProj=aDataCon[nIdxSet].nProjId;\r
- var sPath=gaData[nProj].sPPath;\r
- for(var i=0;i<nLen;i++)\r
- {\r
- var sURL=aDataCon[nIdxSet].aKs[nIIdx].aTopics[i].sURL;\r
- var sFullPath=_getFullPath(sPath,sURL);\r
- sTopics+=",'"+excapeSingleQuot(_textToHtml(aDataCon[nIdxSet].aKs[nIIdx].aTopics[i].sName))+"','"+_textToHtml_nonbsp(sFullPath)+"'";\r
- }\r
- }\r
- }\r
- return sTopics; \r
-}\r
-\r
-function excapeSingleQuot(str)\r
-{\r
- if(str==null) return null;\r
- var sRes=str;\r
- var re=new RegExp("'","g");\r
- sRes=sRes.replace(re,"\\'");\r
- return sRes;\r
-}\r
-\r
-function findCKInDom()\r
-{\r
- if(gsCK!=null)\r
- {\r
- var sK=gsCK;\r
- var oP=getElementsByTag(document,"P");\r
- if(!oP) return false;\r
- var len=oP.length;\r
- var nB=0;\r
- var nE=len-1;\r
- var nM=0;\r
- var sItem="";\r
- var bF=false;\r
- while(nB<nE){\r
- nM=(nB+nE+1)>>1;\r
- sItem=getInnerText(oP[nM]);\r
- \r
- if(compare(sItem,sK)==0)\r
- {\r
- bF=true;\r
- break;\r
- }\r
- else if(compare(sItem,sK)>0)\r
- nE=nM-1;\r
- else if(compare(sItem,sK)<0)\r
- nB=nM;\r
- }\r
- if(!bF)\r
- {\r
- if(nB==nE) nM=nB;\r
- \r
- if(nM+1<len)\r
- {\r
- sItem=getInnerText(oP[nM+1]);\r
- if(compare(sItem,sK)<=0) nM++;\r
- } \r
- if(nM+1<len)\r
- {\r
- sItem=getInnerText(oP[nM+1]);\r
- if(compare(sItem.substring(0,sK.length),sK)==0) nM++;\r
- } \r
- }\r
- \r
- var oMatch=oP[nM];\r
- if(oMatch)\r
- {\r
- window.scrollTo(0,oMatch.offsetTop);\r
- var tempColl=getElementsByTag(oMatch,"A");\r
- if(tempColl&&tempColl.length>0){\r
- var nbTag=getElementsByTag(oMatch,"NOBR");\r
- if(nbTag&&nbTag.length>0)\r
- HighLightElement(nbTag[0], gsIdxActiveBgColor, "transparent");\r
- if (gbCR)\r
- {\r
- if (gbIE4)\r
- tempColl(0).click();\r
- else\r
- {\r
- var strCommand = tempColl[0].getAttribute("onClick");\r
- var nstrCommand = strCommand.indexOf(";");\r
- strCommand = strCommand.substring(0, nstrCommand);\r
- strCommand = strCommand.replace("event", "_event");\r
- window._event.pageX = oMatch.offsetLeft ;\r
- window._event.pageY = oMatch.offsetTop + 20;\r
- window.setTimeout(strCommand, 100);\r
- }\r
- }\r
- }\r
- }\r
- gsCK=gsBCK;\r
- gbCR=gbBCR;\r
- if(gsBCK!=null)\r
- {\r
- gsBCK=null;\r
- gbBCR=false;\r
- findCK();\r
- return false;\r
- }\r
- \r
- }\r
- return true;\r
-}\r
-\r
-function clearHighLight()\r
-{\r
- resetHighLight(gsBgColor);\r
-}\r
-\r
-function IndexWriteClassStyle()\r
-{\r
- var sStyle="";\r
- sStyle+="<STYLE TYPE='text/css'>";\r
- if (gsBgImage)\r
- sStyle+="body {border-top:"+gsBgColor+" 1px solid;}\n";\r
- else\r
- sStyle+="body {border-top:black 1px solid;}\n";\r
- if(gbIE4&&gbMac&&!gbIE5)\r
- {\r
- var nMargin=parseInt(gsIdxMargin);\r
- nMargin-=10;\r
- sStyle+="P {"+getFontStyle(goIdxFont)+"margin-top:"+gsIdxMargin+";margin-bottom:"+gsIdxMargin+";}\n";\r
- sStyle+="H6 {"+getFontStyle(goIdxFont)+"margin-top:"+gsIdxMargin+";margin-bottom:"+gsIdxMargin+";}\n";\r
- sStyle+="H6.firstsub {"+getFontStyle(goIdxFont)+"margin-top:"+nMargin+"pt;margin-bottom:"+gsIdxMargin+";}\n";\r
- }\r
- else\r
- {\r
- sStyle+="P {"+getFontStyle(goIdxFont)+"margin-top:"+gsIdxMargin+";margin-bottom:"+gsIdxMargin+";}\n";\r
- sStyle+="H6 {"+getFontStyle(goIdxFont)+"margin-top:"+gsIdxMargin+";margin-bottom:"+gsIdxMargin+";}\n";\r
- }\r
- sStyle+="DIV {margin-top:"+gsIdxMargin+";margin-bottom:"+gsIdxMargin+";}\n";\r
- sStyle+="A:link {"+getFontStyle(goIdxFont)+"}\n";\r
- sStyle+="A:visited {"+getFontStyle(goIdxFont)+"}\n";\r
- sStyle+="A:active {background-color:"+gsIdxActiveBgColor+";}\n";\r
- sStyle+="A:hover {"+getFontStyle(goIdxHoverFont)+"}\n";\r
- sStyle+="</STYLE>"; \r
- document.write(sStyle);\r
- return;\r
-}\r
-\r
-function window_Unload()\r
-{\r
- UnRegisterListener2(this,WH_MSG_PROJECTREADY);\r
- UnRegisterListener2(this,WH_MSG_SEARCHINDEXKEY);\r
-}\r
-\r
-function onSendMessage(oMsg)\r
-{\r
- if(oMsg)\r
- {\r
- var nMsgId=oMsg.nMessageId;\r
- if(nMsgId==WH_MSG_SEARCHINDEXKEY)\r
- {\r
- if(oMsg.oParam && oMsg.oParam.sInput)\r
- {\r
- if(gsCK==null)\r
- {\r
- gsCK=oMsg.oParam.sInput;\r
- gbCR = oMsg.oParam.bCR;\r
- findCK();\r
- }\r
- else\r
- {\r
- gsBCK=oMsg.oParam.sInput;\r
- gbBCR = oMsg.oParam.bCR;\r
- }\r
- }\r
- }\r
- else if(nMsgId==WH_MSG_PROJECTREADY)\r
- {\r
- loadIdx();\r
- }\r
- }\r
- return true;\r
-}\r
-\r
-if(window.gbWhVer&&window.gbWhLang&&window.gbWhMsg&&window.gbWhUtil&&window.gbWhHost&&window.gbWhProxy)\r
-{\r
- RegisterListener2(this,WH_MSG_PROJECTREADY);\r
- RegisterListener2(this,WH_MSG_SEARCHINDEXKEY);\r
- goIdxFont=new whFont("Verdana","8pt","#000000","normal","normal","none");\r
- goIdxEmptyFont=new whFont("Verdana","8pt","#666666","normal","normal","none");\r
- goIdxHoverFont=new whFont("Verdana","8pt","#007f00","normal","normal","underline");\r
-\r
- window.onload=window_OnLoad;\r
- window.onbeforeunload=window_BUnload;\r
- window.onunload=window_Unload;\r
- gbWhIHost=true;\r
-}\r
-else\r
- document.location.reload();\r
-\r
+++ /dev/null
-var garrSortChar=new Array();\r
-var gaFtsStop=new Array();\r
-var gaFtsStem=new Array();\r
-var gbWhLang=false;\r
-\r
-garrSortChar[0] = 0;\r
-garrSortChar[1] = 1;\r
-garrSortChar[2] = 2;\r
-garrSortChar[3] = 3;\r
-garrSortChar[4] = 4;\r
-garrSortChar[5] = 5;\r
-garrSortChar[6] = 6;\r
-garrSortChar[7] = 7;\r
-garrSortChar[8] = 8;\r
-garrSortChar[9] = 40;\r
-garrSortChar[10] = 41;\r
-garrSortChar[11] = 42;\r
-garrSortChar[12] = 43;\r
-garrSortChar[13] = 44;\r
-garrSortChar[14] = 9;\r
-garrSortChar[15] = 10;\r
-garrSortChar[16] = 11;\r
-garrSortChar[17] = 12;\r
-garrSortChar[18] = 13;\r
-garrSortChar[19] = 14;\r
-garrSortChar[20] = 15;\r
-garrSortChar[21] = 16;\r
-garrSortChar[22] = 17;\r
-garrSortChar[23] = 18;\r
-garrSortChar[24] = 19;\r
-garrSortChar[25] = 20;\r
-garrSortChar[26] = 21;\r
-garrSortChar[27] = 22;\r
-garrSortChar[28] = 23;\r
-garrSortChar[29] = 24;\r
-garrSortChar[30] = 25;\r
-garrSortChar[31] = 26;\r
-garrSortChar[32] = 38;\r
-garrSortChar[33] = 45;\r
-garrSortChar[34] = 46;\r
-garrSortChar[35] = 47;\r
-garrSortChar[36] = 48;\r
-garrSortChar[37] = 49;\r
-garrSortChar[38] = 50;\r
-garrSortChar[39] = 33;\r
-garrSortChar[40] = 51;\r
-garrSortChar[41] = 52;\r
-garrSortChar[42] = 53;\r
-garrSortChar[43] = 88;\r
-garrSortChar[44] = 54;\r
-garrSortChar[45] = 34;\r
-garrSortChar[46] = 55;\r
-garrSortChar[47] = 56;\r
-garrSortChar[48] = 115;\r
-garrSortChar[49] = 119;\r
-garrSortChar[50] = 121;\r
-garrSortChar[51] = 123;\r
-garrSortChar[52] = 125;\r
-garrSortChar[53] = 126;\r
-garrSortChar[54] = 127;\r
-garrSortChar[55] = 128;\r
-garrSortChar[56] = 129;\r
-garrSortChar[57] = 130;\r
-garrSortChar[58] = 57;\r
-garrSortChar[59] = 58;\r
-garrSortChar[60] = 89;\r
-garrSortChar[61] = 90;\r
-garrSortChar[62] = 91;\r
-garrSortChar[63] = 59;\r
-garrSortChar[64] = 60;\r
-garrSortChar[65] = 131;\r
-garrSortChar[66] = 148;\r
-garrSortChar[67] = 150;\r
-garrSortChar[68] = 154;\r
-garrSortChar[69] = 158;\r
-garrSortChar[70] = 168;\r
-garrSortChar[71] = 171;\r
-garrSortChar[72] = 173;\r
-garrSortChar[73] = 175;\r
-garrSortChar[74] = 185;\r
-garrSortChar[75] = 187;\r
-garrSortChar[76] = 189;\r
-garrSortChar[77] = 191;\r
-garrSortChar[78] = 193;\r
-garrSortChar[79] = 197;\r
-garrSortChar[80] = 214;\r
-garrSortChar[81] = 216;\r
-garrSortChar[82] = 218;\r
-garrSortChar[83] = 220;\r
-garrSortChar[84] = 225;\r
-garrSortChar[85] = 230;\r
-garrSortChar[86] = 240;\r
-garrSortChar[87] = 242;\r
-garrSortChar[88] = 244;\r
-garrSortChar[89] = 246;\r
-garrSortChar[90] = 252;\r
-garrSortChar[91] = 61;\r
-garrSortChar[92] = 62;\r
-garrSortChar[93] = 63;\r
-garrSortChar[94] = 64;\r
-garrSortChar[95] = 66;\r
-garrSortChar[96] = 67;\r
-garrSortChar[97] = 131;\r
-garrSortChar[98] = 148;\r
-garrSortChar[99] = 150;\r
-garrSortChar[100] = 154;\r
-garrSortChar[101] = 158;\r
-garrSortChar[102] = 168;\r
-garrSortChar[103] = 171;\r
-garrSortChar[104] = 173;\r
-garrSortChar[105] = 175;\r
-garrSortChar[106] = 185;\r
-garrSortChar[107] = 187;\r
-garrSortChar[108] = 189;\r
-garrSortChar[109] = 191;\r
-garrSortChar[110] = 193;\r
-garrSortChar[111] = 197;\r
-garrSortChar[112] = 214;\r
-garrSortChar[113] = 216;\r
-garrSortChar[114] = 218;\r
-garrSortChar[115] = 220;\r
-garrSortChar[116] = 225;\r
-garrSortChar[117] = 230;\r
-garrSortChar[118] = 240;\r
-garrSortChar[119] = 242;\r
-garrSortChar[120] = 244;\r
-garrSortChar[121] = 246;\r
-garrSortChar[122] = 252;\r
-garrSortChar[123] = 68;\r
-garrSortChar[124] = 69;\r
-garrSortChar[125] = 70;\r
-garrSortChar[126] = 71;\r
-garrSortChar[127] = 27;\r
-garrSortChar[128] = 114;\r
-garrSortChar[129] = 28;\r
-garrSortChar[130] = 82;\r
-garrSortChar[131] = 170;\r
-garrSortChar[132] = 85;\r
-garrSortChar[133] = 112;\r
-garrSortChar[134] = 109;\r
-garrSortChar[135] = 110;\r
-garrSortChar[136] = 65;\r
-garrSortChar[137] = 113;\r
-garrSortChar[138] = 223;\r
-garrSortChar[139] = 86;\r
-garrSortChar[140] = 213;\r
-garrSortChar[141] = 29;\r
-garrSortChar[142] = 255;\r
-garrSortChar[143] = 30;\r
-garrSortChar[144] = 31;\r
-garrSortChar[145] = 80;\r
-garrSortChar[146] = 81;\r
-garrSortChar[147] = 83;\r
-garrSortChar[148] = 84;\r
-garrSortChar[149] = 111;\r
-garrSortChar[150] = 36;\r
-garrSortChar[151] = 37;\r
-garrSortChar[152] = 79;\r
-garrSortChar[153] = 229;\r
-garrSortChar[154] = 222;\r
-garrSortChar[155] = 87;\r
-garrSortChar[156] = 212;\r
-garrSortChar[157] = 32;\r
-garrSortChar[158] = 254;\r
-garrSortChar[159] = 251;\r
-garrSortChar[160] = 39;\r
-garrSortChar[161] = 72;\r
-garrSortChar[162] = 97;\r
-garrSortChar[163] = 98;\r
-garrSortChar[164] = 99;\r
-garrSortChar[165] = 100;\r
-garrSortChar[166] = 73;\r
-garrSortChar[167] = 101;\r
-garrSortChar[168] = 74;\r
-garrSortChar[169] = 102;\r
-garrSortChar[170] = 133;\r
-garrSortChar[171] = 93;\r
-garrSortChar[172] = 103;\r
-garrSortChar[173] = 35;\r
-garrSortChar[174] = 104;\r
-garrSortChar[175] = 75;\r
-garrSortChar[176] = 105;\r
-garrSortChar[177] = 92;\r
-garrSortChar[178] = 122;\r
-garrSortChar[179] = 124;\r
-garrSortChar[180] = 76;\r
-garrSortChar[181] = 106;\r
-garrSortChar[182] = 107;\r
-garrSortChar[183] = 108;\r
-garrSortChar[184] = 77;\r
-garrSortChar[185] = 120;\r
-garrSortChar[186] = 199;\r
-garrSortChar[187] = 94;\r
-garrSortChar[188] = 116;\r
-garrSortChar[189] = 117;\r
-garrSortChar[190] = 118;\r
-garrSortChar[191] = 78;\r
-garrSortChar[192] = 131;\r
-garrSortChar[193] = 131;\r
-garrSortChar[194] = 131;\r
-garrSortChar[195] = 131;\r
-garrSortChar[196] = 131;\r
-garrSortChar[197] = 131;\r
-garrSortChar[198] = 131;\r
-garrSortChar[199] = 150;\r
-garrSortChar[200] = 158;\r
-garrSortChar[201] = 158;\r
-garrSortChar[202] = 158;\r
-garrSortChar[203] = 158;\r
-garrSortChar[204] = 175;\r
-garrSortChar[205] = 175;\r
-garrSortChar[206] = 175;\r
-garrSortChar[207] = 175;\r
-garrSortChar[208] = 154;\r
-garrSortChar[209] = 193;\r
-garrSortChar[210] = 197;\r
-garrSortChar[211] = 197;\r
-garrSortChar[212] = 197;\r
-garrSortChar[213] = 197;\r
-garrSortChar[214] = 197;\r
-garrSortChar[215] = 95;\r
-garrSortChar[216] = 197;\r
-garrSortChar[217] = 230;\r
-garrSortChar[218] = 230;\r
-garrSortChar[219] = 230;\r
-garrSortChar[220] = 230;\r
-garrSortChar[221] = 246;\r
-garrSortChar[222] = 227;\r
-garrSortChar[223] = 224;\r
-garrSortChar[224] = 131;\r
-garrSortChar[225] = 131;\r
-garrSortChar[226] = 131;\r
-garrSortChar[227] = 131;\r
-garrSortChar[228] = 131;\r
-garrSortChar[229] = 131;\r
-garrSortChar[230] = 131;\r
-garrSortChar[231] = 150;\r
-garrSortChar[232] = 158;\r
-garrSortChar[233] = 158;\r
-garrSortChar[234] = 158;\r
-garrSortChar[235] = 158;\r
-garrSortChar[236] = 175;\r
-garrSortChar[237] = 175;\r
-garrSortChar[238] = 175;\r
-garrSortChar[239] = 175;\r
-garrSortChar[240] = 154;\r
-garrSortChar[241] = 193;\r
-garrSortChar[242] = 197;\r
-garrSortChar[243] = 197;\r
-garrSortChar[244] = 197;\r
-garrSortChar[245] = 197;\r
-garrSortChar[246] = 197;\r
-garrSortChar[247] = 96;\r
-garrSortChar[248] = 197;\r
-garrSortChar[249] = 230;\r
-garrSortChar[250] = 230;\r
-garrSortChar[251] = 230;\r
-garrSortChar[252] = 230;\r
-garrSortChar[253] = 246;\r
-garrSortChar[254] = 227;\r
-garrSortChar[255] = 250;\r
-\r
-gaFtsStop[0] = "a";\r
-gaFtsStop[1] = "about";\r
-gaFtsStop[2] = "after";\r
-gaFtsStop[3] = "against";\r
-gaFtsStop[4] = "all";\r
-gaFtsStop[5] = "also";\r
-gaFtsStop[6] = "among";\r
-gaFtsStop[7] = "an";\r
-gaFtsStop[8] = "and";\r
-gaFtsStop[9] = "are";\r
-gaFtsStop[10] = "as";\r
-gaFtsStop[11] = "at";\r
-gaFtsStop[12] = "be";\r
-gaFtsStop[13] = "became";\r
-gaFtsStop[14] = "because";\r
-gaFtsStop[15] = "been";\r
-gaFtsStop[16] = "between";\r
-gaFtsStop[17] = "but";\r
-gaFtsStop[18] = "by";\r
-gaFtsStop[19] = "can";\r
-gaFtsStop[20] = "come";\r
-gaFtsStop[21] = "do";\r
-gaFtsStop[22] = "during";\r
-gaFtsStop[23] = "each";\r
-gaFtsStop[24] = "early";\r
-gaFtsStop[25] = "for";\r
-gaFtsStop[26] = "form";\r
-gaFtsStop[27] = "found";\r
-gaFtsStop[28] = "from";\r
-gaFtsStop[29] = "had";\r
-gaFtsStop[30] = "has";\r
-gaFtsStop[31] = "have";\r
-gaFtsStop[32] = "he";\r
-gaFtsStop[33] = "her";\r
-gaFtsStop[34] = "his";\r
-gaFtsStop[35] = "however";\r
-gaFtsStop[36] = "in";\r
-gaFtsStop[37] = "include";\r
-gaFtsStop[38] = "into";\r
-gaFtsStop[39] = "is";\r
-gaFtsStop[40] = "it";\r
-gaFtsStop[41] = "its";\r
-gaFtsStop[42] = "late";\r
-gaFtsStop[43] = "later";\r
-gaFtsStop[44] = "made";\r
-gaFtsStop[45] = "many";\r
-gaFtsStop[46] = "may";\r
-gaFtsStop[47] = "me";\r
-gaFtsStop[48] = "med";\r
-gaFtsStop[49] = "more";\r
-gaFtsStop[50] = "most";\r
-gaFtsStop[51] = "near";\r
-gaFtsStop[52] = "no";\r
-gaFtsStop[53] = "non";\r
-gaFtsStop[54] = "not";\r
-gaFtsStop[55] = "of";\r
-gaFtsStop[56] = "on";\r
-gaFtsStop[57] = "only";\r
-gaFtsStop[58] = "or";\r
-gaFtsStop[59] = "other";\r
-gaFtsStop[60] = "over";\r
-gaFtsStop[61] = "several";\r
-gaFtsStop[62] = "she";\r
-gaFtsStop[63] = "some";\r
-gaFtsStop[64] = "such";\r
-gaFtsStop[65] = "than";\r
-gaFtsStop[66] = "that";\r
-gaFtsStop[67] = "the";\r
-gaFtsStop[68] = "their";\r
-gaFtsStop[69] = "then";\r
-gaFtsStop[70] = "there";\r
-gaFtsStop[71] = "these";\r
-gaFtsStop[72] = "they";\r
-gaFtsStop[73] = "this";\r
-gaFtsStop[74] = "through";\r
-gaFtsStop[75] = "to";\r
-gaFtsStop[76] = "under";\r
-gaFtsStop[77] = "until";\r
-gaFtsStop[78] = "use";\r
-gaFtsStop[79] = "was";\r
-gaFtsStop[80] = "we";\r
-gaFtsStop[81] = "were";\r
-gaFtsStop[82] = "when";\r
-gaFtsStop[83] = "where";\r
-gaFtsStop[84] = "which";\r
-gaFtsStop[85] = "who";\r
-gaFtsStop[86] = "with";\r
-gaFtsStop[87] = "you";\r
-\r
-gaFtsStem[0] = "s";\r
-gaFtsStem[1] = "e";\r
-gaFtsStem[2] = "ed";\r
-gaFtsStem[3] = "es";\r
-gaFtsStem[4] = "er";\r
-gaFtsStem[5] = "ly";\r
-gaFtsStem[6] = "ing";\r
-gaFtsStem[7] = "ingly";\r
-\r
-\r
-// as javascript 1.3 support unicode instead of ISO-Latin-1\r
-// need to transfer come code back to ISO-Latin-1 for compare purpose\r
-// Note: Different Language(Code page) maybe need different array:\r
-var gaUToC=new Array();\r
-gaUToC[8364]=128;\r
-gaUToC[8218]=130;\r
-gaUToC[402]=131;\r
-gaUToC[8222]=132;\r
-gaUToC[8230]=133;\r
-gaUToC[8224]=134;\r
-gaUToC[8225]=135;\r
-gaUToC[710]=136;\r
-gaUToC[8240]=137;\r
-gaUToC[352]=138;\r
-gaUToC[8249]=139;\r
-gaUToC[338]=140;\r
-gaUToC[381]=142;\r
-gaUToC[8216]=145;\r
-gaUToC[8217]=146;\r
-gaUToC[8220]=147;\r
-gaUToC[8221]=148;\r
-gaUToC[8226]=149;\r
-gaUToC[8211]=150;\r
-gaUToC[8212]=151;\r
-gaUToC[732]=152;\r
-gaUToC[8482]=153;\r
-gaUToC[353]=154;\r
-gaUToC[8250]=155;\r
-gaUToC[339]=156;\r
-gaUToC[382]=158;\r
-gaUToC[376]=159;\r
-\r
-var gsBiggestChar="";\r
-function getBiggestChar()\r
-{\r
- if(gsBiggestChar.length==0)\r
- {\r
- if(garrSortChar.length<256)\r
- gsBiggestChar=String.fromCharCode(255);\r
- else\r
- {\r
- var nBiggest=0;\r
- var nBigChar=0;\r
- for(var i=0;i<=255;i++)\r
- {\r
- if(garrSortChar[i]>nBiggest)\r
- {\r
- nBiggest=garrSortChar[i];\r
- nBigChar=i;\r
- }\r
- }\r
- gsBiggestChar=String.fromCharCode(nBigChar);\r
- }\r
-\r
- } \r
- return gsBiggestChar;\r
-}\r
-\r
-function getCharCode(str,i)\r
-{\r
- var code=str.charCodeAt(i)\r
- if(code>256)\r
- {\r
- code=gaUToC[code];\r
- }\r
- return code;\r
-}\r
-\r
-function compare(strText1,strText2)\r
-{\r
- if(garrSortChar.length<256)\r
- {\r
- var strt1=strText1.toLowerCase();\r
- var strt2=strText2.toLowerCase();\r
- if(strt1<strt2) return -1;\r
- if(strt1>strt2) return 1;\r
- return 0;\r
- }\r
- else\r
- {\r
- for(var i=0;i<strText1.length&&i<strText2.length;i++)\r
- {\r
- if(garrSortChar[getCharCode(strText1,i)]<garrSortChar[getCharCode(strText2,i)]) return -1;\r
- if(garrSortChar[getCharCode(strText1,i)]>garrSortChar[getCharCode(strText2,i)]) return 1;\r
- }\r
- if(strText1.length<strText2.length) return -1;\r
- if(strText1.length>strText2.length) return 1;\r
- return 0;\r
- }\r
-}\r
-gbWhLang=true;
\ No newline at end of file
+++ /dev/null
-if (! window.gbIE4 && window.gbNav6 && !document.childNodes[0].insertAdjacentHTML){\r
-\r
-HTMLElement.prototype.insertAdjacentElement = function(where,parsedNode)\r
-{\r
- switch (where){\r
- case 'beforeBegin':\r
- this.parentNode.insertBefore(parsedNode,this)\r
- break;\r
- case 'afterBegin':\r
- this.insertBefore(parsedNode,this.firstChild);\r
- break;\r
- case 'beforeEnd':\r
- this.appendChild(parsedNode);\r
- break;\r
- case 'afterEnd':\r
- if (this.nextSibling){\r
- this.parentNode.insertBefore\r
-(parsedNode,this.nextSibling);\r
- } else {\r
- this.parentNode.appendChild(parsedNode)\r
- }\r
- break;\r
- }\r
-}\r
-\r
-HTMLElement.prototype.insertAdjacentHTML = function(where,htmlStr){\r
-\r
- var r = this.ownerDocument.createRange();\r
- r.setStartBefore(this);\r
- var parsedHTML = r.createContextualFragment(htmlStr);\r
- this.insertAdjacentElement(where,parsedHTML)\r
-}\r
-\r
-\r
-HTMLElement.prototype.insertAdjacentText = function(where,txtStr){\r
-\r
- var parsedText = document.createTextNode(txtStr)\r
- this.insertAdjacentElement(where,parsedText)\r
-}\r
-}\r
-\r
-function testScroll() {\r
- // Initialize scrollbar cache if necessary\r
- if (window._pageXOffset==null) {\r
- window._pageXOffset = window.pageXOffset\r
- window._pageYOffset = window.pageYOffset\r
- }\r
- // Expose Internet Explorer compatible object model\r
- document.body.scrollTop = window.pageYOffset\r
- document.body.scrollLeft = window.pageXOffset\r
- window.document.body.scrollHeight = document.height\r
- window.document.body.scrollWidth = document.width\r
- window.document.body.clientWidth = window.innerWidth;\r
- window.document.body.clientHeight = window.innerHeight;\r
-\r
- // If cache!=current values, call the onscroll event\r
- if (((window.pageXOffset!=window._pageXOffset) || \r
- (window.pageYOffset!=window._pageYOffset)) && (window.onscroll)) \r
- window.onscroll()\r
- // Cache new values\r
- window._pageXOffset = window.pageXOffset\r
- window._pageYOffset = window.pageYOffset\r
- }\r
-\r
-// Create compatibility layer for Netscape\r
-if (window.gbNav6) {\r
- setInterval("testScroll()",50)\r
-}
\ No newline at end of file
+++ /dev/null
-var WH_MSG_RESIZEPANE =0x0100;\r
-var WH_MSG_SHOWPANE =0x0101;\r
-var WH_MSG_HIDEPANE =0x0102;\r
-var WH_MSG_SYNCTOC =0x0103;\r
-var WH_MSG_NEXT =0x0104;\r
-var WH_MSG_PREV =0x0105;\r
-var WH_MSG_ENABLEPREV =0x0106;\r
-var WH_MSG_ENABLESYNC =0x0107;\r
-var WH_MSG_ENABLEWEBSEARCH =0x0108;\r
-\r
-var WH_MSG_ISPANEVISIBLE =0x0109;\r
-var WH_MSG_PANESTATUE =0x010a;\r
-\r
-var WH_MSG_SYNCINFO =0x010b;\r
-var WH_MSG_PANEINFO =0x010c;\r
-var WH_MSG_WEBSEARCH =0x010d;\r
-\r
-var WH_MSG_SEARCHINDEXKEY =0x0201;\r
-\r
-var WH_MSG_SEARCHFTSKEY =0x020a;\r
-\r
-var WH_MSG_PROJECTREADY =0x0301;\r
-var WH_MSG_GETPROJINFO =0x0302;\r
-\r
-var WH_MSG_SHOWTOC =0x0401;\r
-var WH_MSG_SHOWIDX =0x0402;\r
-var WH_MSG_SHOWFTS =0x0403;\r
-var WH_MSG_SHOWGLO =0x0404;\r
-\r
-var WH_MSG_SHOWGLODEF =0x0500;\r
-\r
-var WH_MSG_GETTOCPATHS =0x0600;\r
-var WH_MSG_GETAVIAVENUES =0x0601;\r
-var WH_MSG_GETCURRENTAVENUE =0x0602;\r
-var WH_MSG_GETPANEINFO =0x0603;\r
-var WH_MSG_AVENUEINFO =0x0604;\r
-\r
-var WH_MSG_GETSTARTFRAME =0x0701;\r
-var WH_MSG_GETDEFAULTTOPIC =0x0702;\r
-\r
-var WH_MSG_SEARCHTHIS =0x0801;\r
-var WH_MSG_GETSEARCHS =0x0802;\r
-\r
-var WH_MSG_ISINFRAMESET =0x0900;\r
-\r
-var WH_MSG_TOOLBARORDER =0x0a00;\r
-var WH_MSG_MINIBARORDER =0x0a01;\r
-var WH_MSG_ISSYNCSSUPPORT =0x0a02;\r
-var WH_MSG_ISSEARCHSUPPORT =0x0a03;\r
-var WH_MSG_GETPANETYPE =0x0a04;\r
-var WH_MSG_BACKUPSEARCH =0x0a05;\r
-var WH_MSG_GETPANES =0x0a06;\r
-var WH_MSG_INITSEARCHSTRING =0x0a07;\r
-var WH_MSG_RELOADNS6 =0x0a08;\r
-var WH_MSG_ISAVENUESUPPORT =0x0a09;\r
-\r
-function whMessage(nMessageId,wSender,nVersion,oParam)\r
-{\r
- this.nMessageId=nMessageId;\r
- this.wSender=wSender;\r
- this.nVersion=nVersion;\r
- this.oParam=oParam;\r
-}\r
-var gbWhMsg=true;
\ No newline at end of file
+++ /dev/null
-<html>\r
-<head>\r
-<title>SUPERVISION reference manual</title>\r
-<meta http-equiv="content-type" content="text/html; charset=iso-8859-1">\r
-<meta name="generator" content="RoboHelp by eHelp Corporation www.ehelp.com">\r
-<meta name "description" content="WebHelp 2002">\r
-<script language="javascript1.2" src="whutils.js"></script>\r
-<script language="javascript1.2" src="whmsg.js"></script>\r
-<script language="javascript1.2" src="whstub.js"></script>\r
-<script language="javascript" src="whver.js"></script>\r
-<script language="javascript1.2" src="whstart.js"></script>\r
-</head>\r
-\r
-<frameset id="whPfset" cols="260,*"><noframes><p>Your browser does not support frames. We recommend that you update your browser to a version that supports frames.</p><p>To view the Help system without frames click on this<a href="whgdata/whnvp30.htm">hyperlink.</a></p></noframes><frame src="whgdata/whnvp30.htm" title="navigation pane" name="navigation pane" scrolling="no"><frame src="files/introduction_to_supervisor.htm" title="topic pane" name="bsscright" scrolling="yes"></frameset>\r
-</html>
\ No newline at end of file
+++ /dev/null
-var gaProj=new Array();\r
-var gnChecked=0;\r
-var gsProjName="";\r
-var gbReady=false;\r
-var goMan=null;\r
-var gbXML=false;\r
-var gsFirstPane="";\r
-var gServerEnabled=false;\r
-var gsPath="";\r
-var gbWhPHost=false;\r
-var goDiv = null;\r
-var gsHTML = "";\r
-\r
-if (navigator.currentNavPen)\r
- gsFirstPane = navigator.currentNavPen;\r
-\r
-\r
-function delayLoad()\r
-{\r
- if (goDiv&&gsHTML)\r
- {\r
- goDiv.innerHTML=gsHTML;\r
- goDiv=null;\r
- gsHTML="";\r
- }\r
-}\r
-\r
-function whCom(sName,sComFile)\r
-{\r
- this.msName=sName;\r
- this.msDivId=sName+"Div";\r
- this.msIFrameId=sName+"IFrame";\r
- this.msComFile=sComFile;\r
- this.mbloaded=false;\r
- this.mbShow=false;\r
- this.show=function(bShow)\r
- {\r
- if(this.mbShow!=bShow)\r
- {\r
- if(bShow&&!this.mbloaded)\r
- {\r
- this.load();\r
- }\r
-\r
- var oDiv=getElement(this.msDivId);\r
- if(oDiv)\r
- {\r
- if(gbIE55||(gbIE5&&gbMac))\r
- {\r
- var oIframe=getElement(this.msIFrameId);\r
- if(oIframe)\r
- {\r
- if(bShow)\r
- {\r
- oDiv.style.zIndex=3;\r
- if(oIframe!=null)\r
- {\r
- oIframe.style.zIndex=3;\r
- if (!gbIE55)\r
- oIframe.style.visibility="visible";\r
- }\r
- }\r
- else\r
- {\r
- oDiv.style.zIndex=2;\r
- if(oIframe!=null)\r
- {\r
- oIframe.style.zIndex=2;\r
- if (!gbIE55)\r
- oIframe.style.visibility="hidden";\r
- }\r
- }\r
- }\r
- }\r
- if (!gbIE55)\r
- oDiv.style.visibility=(bShow==true)?'visible':'hidden';\r
- this.mbShow=bShow;\r
- }\r
-\r
- }\r
- }\r
- this.load=function()\r
- {\r
- if(!this.mbloaded)\r
- {\r
- if(this.msComFile.length>0){\r
- var strFile= _getFullPath(getPath(), this.msComFile);\r
- var oDiv=getElement(this.msDivId);\r
- if(oDiv){\r
- if(gbIE4){\r
- var nIFrameHeight=oDiv.style.pixelHeight;\r
- var nIFrameWidth=oDiv.style.pixelWidth;\r
- var sHTML="<IFRAME ID="+this.msIFrameId+" title=\"" + this.msName + "\" SRC=\""+strFile+"\" BORDER=0 FRAMEBORDER=no STYLE=\"width:";\r
- if(gbMac){\r
- sHTML+=nIFrameWidth+"px;height:"+nIFrameHeight+"px;\"></IFRAME>";\r
- }else{\r
- sHTML+="100%; height:100%;\"></IFRAME>";\r
- }\r
- oDiv.innerHTML=sHTML;\r
- }else if(gbNav6){\r
- gsHTML="<IFRAME ID="+this.msIFrameId+" title=\"" + this.msName + "\" SRC=\""+strFile+"\" BORDER=0 FRAMEBORDER=no STYLE=\"width:100%;border:0;height:";\r
- gsHTML+="100%;\"></IFRAME>";\r
- goDiv = oDiv;\r
- setTimeout("delayLoad()", 100);\r
- }\r
- this.mbloaded=true;\r
- }\r
- }\r
- }\r
- }\r
- this.unload=function()\r
- {\r
- var oDiv=getElement(this.msDivId);\r
- if(oDiv)\r
- oDiv.innerHTML="";\r
- }\r
- this.getDivHTML=function()\r
- {\r
- var sHTML="";\r
- if(gbMac&&gbIE4)\r
- sHTML+="<DIV ID="+this.msDivId+" ALIGN=left STYLE=\"position:absolute;z-index:1;left:0;top:0;width:100%;height:100%;margin:0;padding:0;border:0;\">";\r
- else\r
- if (gbIE5)\r
- sHTML+="<DIV ID="+this.msDivId+" ALIGN=left STYLE=\"position:absolute;z-index:1;left:0;top:0;width:100%;height:100%;\">";\r
- else\r
- sHTML+="<DIV ID="+this.msDivId+" ALIGN=left STYLE=\"position:absolute;z-index:1;left:0;top:0;width:100%;height:100%;visibility:hidden\">";\r
- sHTML+="</DIV>";\r
- return sHTML;\r
- }\r
-} \r
-\r
-function whComMan()\r
-{\r
- this.sName="";\r
- this.maCom=new Array();\r
- this.addCom=function(sName,sComFile)\r
- {\r
- var owhCom=new whCom(sName,sComFile);\r
- this.maCom[this.maCom.length]=owhCom;\r
- }\r
- this.init=function()\r
- {\r
- var sHTML="";\r
- for(var i=0;i<this.maCom.length;i++)\r
- {\r
- sHTML+=this.maCom[i].getDivHTML();\r
- }\r
- document.body.insertAdjacentHTML("beforeEnd",sHTML);\r
-\r
- }\r
- this.showById=function(nId)\r
- {\r
- for(var s=0;s<this.maCom.length;s++)\r
- {\r
- if(s!==nId)\r
- this.maCom[s].show(false);\r
- }\r
- this.maCom[nId].show(true);\r
- }\r
- this.show=function(sName)\r
- {\r
- navigator.currentNavPen = sName;\r
- var bFound=false;\r
- for(var i=0;i<this.maCom.length;i++)\r
- {\r
- if(sName==this.maCom[i].msName)\r
- {\r
- bFound=true;\r
- break;\r
- }\r
- }\r
- if(bFound)\r
- {\r
- this.showById(i);\r
- this.sName=sName;\r
- }\r
- }\r
- this.unload=function()\r
- {\r
- for(var i=0;i<this.maCom.length;i++)\r
- {\r
- this.maCom[i].unload();\r
- } \r
- }\r
- this.getCurrent=function()\r
- {\r
- return this.sName;\r
- }\r
-}\r
-\r
-function getPath()\r
-{\r
- if(gsPath=="")\r
- {\r
- gsPath=location.href;\r
- gsPath=_replaceSlash(gsPath);\r
- var nPosFile=gsPath.lastIndexOf("/");\r
- gsPath=gsPath.substring(0,nPosFile+1);\r
- }\r
- return gsPath;\r
-}\r
-\r
-goMan=new whComMan();\r
-function addPane(sName,sFileName)\r
-{\r
- goMan.addCom(sName,sFileName); \r
-}\r
-\r
-function setShowPane(sName, bForce)\r
-{\r
- if ((gsFirstPane == "") || bForce)\r
- gsFirstPane=sName;\r
-}\r
-\r
-function window_OnLoad()\r
-{\r
- if(gsProjName!="")\r
- {\r
- goMan.init();\r
- if(gsFirstPane!="")\r
- goMan.show(gsFirstPane);\r
- else\r
- goMan.showById(0);\r
- loadData2(gsProjName);\r
- }\r
- else if (gServerEnabled)\r
- {\r
- goMan.init();\r
- if(gsFirstPane!="")\r
- goMan.show(gsFirstPane);\r
- else\r
- goMan.showById(0);\r
- }\r
-}\r
-\r
-function setServerEnabled()\r
-{\r
- gServerEnabled = true;\r
-}\r
-\r
-function loadData2(strFile)\r
-{\r
- if(gbXML)\r
- loadDataXML(strFile);\r
- else\r
- loadData(strFile);\r
-}\r
-\r
-function addProject(bPreferXML,sXMLName,sHTMLName)\r
-{\r
- var bLoadXML=bPreferXML;\r
- if(!gbIE4&&!gbNav6)\r
- return;\r
- if(gbIE4&&!gbIE5)\r
- bLoadXML=false;\r
- if (gbIE5&&!gbMac)\r
- bLoadXML=true;\r
- if(gbIE55||gbNav6)\r
- bLoadXML=true;\r
- if(bLoadXML)\r
- addProjectXML(sXMLName);\r
- else\r
- addProjectHTML(sHTMLName);\r
-}\r
-\r
-function addProjectHTML(sName)\r
-{\r
- gbXML=false;\r
- gsProjName=sName;\r
-}\r
-\r
-function addProjectXML(sName)\r
-{\r
- gbXML=true;\r
- gsProjName=sName;\r
-}\r
-\r
-function window_MyBunload()\r
-{\r
- goMan.unload();\r
- window_BUnload();\r
-}\r
-\r
-function putDataXML(xmlDoc,sdocPath)\r
-{\r
- if(xmlDoc!=null)\r
- {\r
- var projectNode=xmlDoc.getElementsByTagName("project")[0];\r
- if(projectNode)\r
- {\r
- var aRProj=new Array();\r
- aRProj[0]=new Object();\r
- aRProj[0].sPPath=_getPath(sdocPath);\r
- var sLangId=projectNode.getAttribute("langid");\r
- if(sLangId)\r
- {\r
- aRProj[0].sLangId=sLangId;\r
- }\r
- var sDPath=projectNode.getAttribute("datapath");\r
- if(sDPath)\r
- {\r
- if(sDPath.lastIndexOf("/")!=sDPath.length-1)\r
- sDPath+="/";\r
- aRProj[0].sDPath=sDPath;\r
- }\r
- else\r
- aRProj[0].sDPath="";\r
- aRProj[0].sToc=projectNode.getAttribute("toc");\r
- aRProj[0].sIdx=projectNode.getAttribute("index");\r
- aRProj[0].sFts=projectNode.getAttribute("fts");\r
- aRProj[0].sGlo=projectNode.getAttribute("glossary");\r
- var RmtProject=projectNode.getElementsByTagName("remote");\r
- var nCount=1;\r
- for (var i=0;i<RmtProject.length;i++)\r
- {\r
- var sURL=RmtProject[i].getAttribute("url");\r
- if(sURL)\r
- {\r
- aRProj[nCount]=new Object();\r
- aRProj[nCount++].sPPath=_getFullPath(aRProj[0].sPPath,sURL);\r
- }\r
- }\r
- putProjectInfo(aRProj);\r
- }\r
- else\r
- {\r
- // on Netscape 6.0 under some situation the xml file cannot be loaded.\r
- // so we use pure html instead.\r
- setTimeout("redirectToList();",100);\r
- }\r
- }\r
-}\r
-\r
-function redirectToList()\r
-{\r
- if(gbReDirectThis)\r
- document.location=gsNavReDirect;\r
- else\r
- parent.document.location=gsNavReDirect;\r
-}\r
-\r
-function putProjectInfo(aRProj)\r
-{\r
- if(gnChecked==0||isSamePath(gaProj[gnChecked].sPPath,aRProj[0].sPPath))\r
- {\r
- if(gnChecked!=0)\r
- {\r
- if(aRProj[0].sLangId!=gaProj[0].sLangId)\r
- alert("The project: "+aRProj[0].sPPath+" is using a different language to the main project, which will cause the index and full text search functionality to be disabled for this remote project.");\r
- }\r
- gaProj[gnChecked]=aRProj[0];\r
- for(var i=1;i<aRProj.length;i++)\r
- {\r
- var bFound=false;\r
- for(var j=0;j<gaProj.length;j++)\r
- {\r
- if(isSamePath(gaProj[j].sPPath,aRProj[i].sPPath))\r
- {\r
- bFound=true;\r
- break;\r
- }\r
- }\r
- if(!bFound)\r
- {\r
- gaProj[gaProj.length]=aRProj[i];\r
- }\r
- }\r
- gnChecked++;\r
- checkRemoteProject();\r
- }\r
- else\r
- alert("Could not load correctly, please click Refresh.");\r
-}\r
-\r
-function isSamePath(sPath1,sPath2)\r
-{\r
- return (sPath1.toLowerCase()==sPath2.toLowerCase());\r
-}\r
-\r
-function checkRemoteProject()\r
-{\r
- if(gaProj.length!=gnChecked)\r
- {\r
- setTimeout("cancelProj("+gnChecked+");",10000);\r
- loadData2(gaProj[gnChecked].sPPath+gsProjName);\r
- }\r
- else{\r
- var oMsg=new whMessage(WH_MSG_PROJECTREADY,this,1,null);\r
- gbReady=true;\r
- SendMessage(oMsg);\r
- }\r
-}\r
-\r
-function cancelProj(i)\r
-{\r
- if(i==gnChecked)\r
- {\r
- alert("Can't load project::"+gaProj[i].sPPath);\r
- gnChecked++;\r
- checkRemoteProject();\r
- } \r
-}\r
-\r
-function window_resize()\r
-{\r
- for(var i=0;i<goMan.maCom.length;i++)\r
- {\r
- var oFrame=getElement(goMan.maCom[i].msIFrameId);\r
- if(oFrame)\r
- {\r
- oFrame.style.height=document.body.clientHeight;\r
- oFrame.style.width=document.body.clientWidth;\r
- }\r
- }\r
- window_resize2();\r
-}\r
-\r
-function window_resize2()\r
-{\r
- if(document.body)\r
- {\r
- if(document.body.clientWidth > 1 && document.body.clientHeight>1)\r
- {\r
- var oMsg = new whMessage(WH_MSG_RESIZEPANE, this, 1, null);\r
- SendMessage(oMsg);\r
- }\r
- }\r
-}\r
-\r
-function window_unload()\r
-{\r
- UnRegisterListener2(this,WH_MSG_GETPROJINFO);\r
- UnRegisterListener2(this,WH_MSG_SHOWTOC);\r
- UnRegisterListener2(this,WH_MSG_SHOWIDX);\r
- UnRegisterListener2(this,WH_MSG_SHOWFTS);\r
- UnRegisterListener2(this,WH_MSG_SHOWGLO);\r
- UnRegisterListener2(this,WH_MSG_GETPANEINFO);\r
-}\r
-\r
-function onSendMessage(oMsg)\r
-{\r
- if(oMsg)\r
- {\r
- var nMsgId=oMsg.nMessageId;\r
- if(nMsgId==WH_MSG_GETPROJINFO)\r
- {\r
- if(gbReady)\r
- {\r
- var oProj=new Object();\r
- oProj.aProj=gaProj;\r
- oProj.bXML=gbXML;\r
- oMsg.oParam=oProj;\r
- }\r
- else\r
- return false;\r
- }\r
- else if(nMsgId==WH_MSG_SHOWTOC)\r
- {\r
- if(goMan)\r
- goMan.show("toc");\r
- var onMsg=new whMessage(WH_MSG_PANEINFO, this, 1, "toc");\r
- SendMessage(onMsg);\r
- onMsg = new whMessage(WH_MSG_SHOWPANE, this, 1, null);\r
- SendMessage(onMsg);\r
- }\r
- else if(nMsgId==WH_MSG_SHOWIDX)\r
- {\r
- if(goMan)\r
- goMan.show("idx");\r
- var onMsg=new whMessage(WH_MSG_PANEINFO, this, 1, "idx");\r
- SendMessage(onMsg);\r
- onMsg = new whMessage(WH_MSG_SHOWPANE, this, 1, null);\r
- SendMessage(onMsg);\r
- }\r
- else if(nMsgId==WH_MSG_SHOWFTS)\r
- {\r
- if(goMan)\r
- goMan.show("fts");\r
- var onMsg=new whMessage(WH_MSG_PANEINFO, this, 1, "fts");\r
- SendMessage(onMsg);\r
- onMsg = new whMessage(WH_MSG_SHOWPANE, this, 1, null);\r
- SendMessage(onMsg);\r
- }\r
- else if(nMsgId==WH_MSG_SHOWGLO)\r
- {\r
- if(goMan)\r
- goMan.show("glo");\r
- var onMsg=new whMessage(WH_MSG_PANEINFO, this, 1, "glo");\r
- SendMessage(onMsg);\r
- onMsg = new whMessage(WH_MSG_SHOWPANE, this, 1, null);\r
- SendMessage(onMsg);\r
- }\r
- else if(nMsgId==WH_MSG_GETPANEINFO)\r
- {\r
- oMsg.oParam=goMan.getCurrent();\r
- return false;\r
- }\r
- }\r
- return true;\r
-}\r
-\r
-if(window.gbWhUtil&&window.gbWhMsg&&window.gbWhVer&&window.gbWhProxy)\r
-{\r
- RegisterListener2(this,WH_MSG_GETPROJINFO);\r
- RegisterListener2(this,WH_MSG_SHOWTOC);\r
- RegisterListener2(this,WH_MSG_SHOWIDX);\r
- RegisterListener2(this,WH_MSG_SHOWFTS);\r
- RegisterListener2(this,WH_MSG_SHOWGLO);\r
- RegisterListener2(this,WH_MSG_GETPANEINFO);\r
-\r
- if((gbMac&&gbIE4)||(gbSunOS&&gbIE5))\r
- {\r
- window.onresize=window_resize;\r
- }\r
- else if(gbIE4)\r
- {\r
- window.onresize=window_resize2;\r
- }\r
- window.onload=window_OnLoad;\r
- window.onbeforeunload=window_MyBunload;\r
- window.onunload=window_unload;\r
- gbWhPHost=true;\r
-}\r
-else\r
- document.location.reload();\r
-\r
+++ /dev/null
-<html>\r
-<head>\r
-<title>project description</title>\r
-<meta http-equiv="content-type" content="text/html; charset=iso-8859-1">\r
-<meta name="generator" content="RoboHelp by eHelp Corporation www.ehelp.com">\r
-<meta name "description" content="WebHelp 2002">\r
-</head>\r
-<body>\r
-<script language="javascript" src="whver.js"></script>\r
-<script language="javascript1.2" src="whutils.js"></script>\r
-<script language="javascript1.2" src="whproj.js"></script>\r
-<script language="javascript1.2">\r
-<!--\r
- setLangId("1033");\r
- setDataPath("whdata");\r
- addToc("whtoc.htm");\r
-\r
- addFts("whfts.htm");\r
- addGlo("whglo.htm");\r
-\r
-//-->\r
-</script>\r
-</body>\r
-</html>
\ No newline at end of file
+++ /dev/null
-var gaProj=new Array();\r
-\r
-gaProj[0]=new project("");\r
-\r
-function setLangId(sLangId)\r
-{\r
- gaProj[0].sLangId=sLangId;\r
-}\r
-\r
-function setDataPath(sPath)\r
-{\r
- if(sPath.length!=0)\r
- {\r
- if(sPath.lastIndexOf("/")!=sPath.length-1)\r
- sPath+="/";\r
- gaProj[0].sDPath=sPath; \r
- }\r
- else\r
- gaProj[0].sDPath="";\r
-}\r
-\r
-function addToc(sFile)\r
-{\r
- gaProj[0].sToc=sFile;\r
-}\r
-\r
-function addIdx(sFile)\r
-{\r
- gaProj[0].sIdx=sFile;\r
-}\r
-\r
-function addFts(sFile)\r
-{\r
- gaProj[0].sFts=sFile;\r
-}\r
-\r
-function addGlo(sFile)\r
-{\r
- gaProj[0].sGlo=sFile;\r
-}\r
-\r
-function addRemoteProject(sProjRelPath)\r
-{\r
- gaProj[gaProj.length]=new project(sProjRelPath);\r
-}\r
-\r
-function project(sPPath)\r
-{\r
- this.sPPath=sPPath;\r
- this.sLangId="";\r
- this.sDPath="";\r
- this.sToc="";\r
- this.sIdx="";\r
- this.sFts="";\r
- this.sGlo="";\r
-}\r
-\r
-window.onload=window_OnLoad;\r
-\r
-function window_OnLoad()\r
-{\r
- gsName=document.location.href;\r
- gsName=_replaceSlash(gsName);\r
- var nPos=gsName.lastIndexOf("/");\r
- if(nPos!=-1)\r
- gaProj[0].sPPath=gsName.substring(0,nPos+1);\r
- else\r
- alert("Error in Loading navigation component. Please regenerate WebHelp.");\r
- patchPath(gaProj);\r
- if(parent&&parent!=this&& typeof(parent.putProjectInfo)=="function")\r
- {\r
- parent.putProjectInfo(gaProj);\r
- }\r
-}\r
-\r
-function patchPath(aProj)\r
-{\r
- for(var i=1;i<aProj.length;i++)\r
- {\r
- aProj[i].sPPath=_getFullPath(gaProj[0].sPPath,aProj[i].sPPath);\r
- }\r
-}
\ No newline at end of file
+++ /dev/null
-<?xml version='1.0' encoding='ISO-8859-1' ?>\r
-<project langid="1033" datapath="whdata" toc="whtoc.xml" fts="whfts.xml" glossary="whglo.xml" >\r
-</project>\r
+++ /dev/null
-var gbInited=false;\r
-var gWndStubPage=null;\r
-function getStubPage()\r
-{\r
- if(!gbInited)\r
- {\r
- gWndStubPage=getStubPage_inter(window);\r
- gbInited=true;\r
- }\r
- return gWndStubPage;\r
-}\r
-\r
-function getStubPage_inter(wCurrent)\r
-{\r
- if(null==wCurrent.parent||wCurrent.parent==wCurrent)\r
- return null;\r
-\r
- if(typeof(wCurrent.parent.whname)=="string"&&"wh_stub"==wCurrent.parent.whname)\r
- return wCurrent.parent;\r
- else\r
- if(wCurrent.parent.frames.length!=0&&wCurrent.parent!=wCurrent)\r
- return getStubPage_inter(wCurrent.parent);\r
- else\r
- return null;\r
-}\r
-\r
-function RegisterListener(framename,nMessageId)\r
-{\r
- var wSP=getStubPage();\r
- if(wSP&&wSP!=this)\r
- return wSP.RegisterListener(framename,nMessageId);\r
- else\r
- return false;\r
-}\r
-\r
-function RegisterListener2(oframe,nMessageId)\r
-{\r
- var wSP=getStubPage();\r
- if(wSP&&wSP!=this)\r
- return wSP.RegisterListener2(oframe,nMessageId);\r
- else\r
- return false;\r
-}\r
-\r
-function UnRegisterListener2(oframe,nMessageId)\r
-{\r
- var wSP=getStubPage();\r
- if(wSP&&wSP!=this&&wSP.UnRegisterListener2)\r
- return wSP.UnRegisterListener2(oframe,nMessageId);\r
- else\r
- return false;\r
-}\r
-\r
-function SendMessage(oMessage)\r
-{\r
- var wSP=getStubPage();\r
- if(wSP&&wSP!=this&&wSP.SendMessage)\r
- return wSP.SendMessage(oMessage);\r
- else\r
- return false;\r
-}\r
-\r
-var gbWhProxy=true;
\ No newline at end of file
+++ /dev/null
-<?xml version='1.0' encoding='ISO-8859-1' ?>\r
-<resource>\r
-<item name="Prev" value="<<" />\r
-<item name="Hide" value="Hide" />\r
-<item name="SyncTocTooltip" value="Sync TOC" />\r
-<item name="InTopicSearchBtnText" value="Go" />\r
-<item name="FtsInputPrompt" value="Type in the word(s) to search for:" />\r
-<item name="Done" value="Done" />\r
-<item name="JS_alert_cantLoadProject" value="Can't load project:" />\r
-<item name="Next" value=">>" />\r
-<item name="SyncToc" value="SyncToc" />\r
-<item name="ToolBarSearchBtnText" value="Go" />\r
-<item name="SuggestViewNoFrameMessage" value="To view the Help system without frames click on this" />\r
-<item name="Hide_Navigation_Component" value="Hide Navigation Component" />\r
-<item name="FtsBtnText" value="Go" />\r
-<item name="TopicsFound" value="Topics Found" />\r
-<item name="LoadingContentsData" value="Loading, click here to cancel..." />\r
-<item name="Definition" value="Definition:" />\r
-<item name="CompletingContents" value="Completing Contents..." />\r
-<item name="Seperate" value="|" />\r
-<item name="Contents" value="Contents" />\r
-<item name="Disabled Prev" value="<<" />\r
-<item name="Glossary" value="Glossary" />\r
-<item name="Search" value="Search" />\r
-<item name="CantSearch" value="Cannot search for that phrase." />\r
-<item name="LoadingIndex" value="Loading Index..." />\r
-<item name="LoadingData" value="Loading data, please wait..." />\r
-<item name="Show_Navigation_Component" value="Show Navigation Component" />\r
-<item name="Book" value="Book" />\r
-<item name="Disabled Next" value=">>" />\r
-<item name="Find" value="Find" />\r
-<item name="CantOpenURLorFile" value="Can't open URL or file" />\r
-<item name="Blank_topic_text" value="This topic was created by WinHelp Project Conversion Wizard, and is the destination of a missing topic or broken hyperlink." />\r
-<item name="BrowserLimitedMessage" value="Your browser does not support frames. We recommend that you update your browser to a version that supports frames." />\r
-<item name="LoadingTOCItem" value="Loading Table of Contents:" />\r
-<item name="Display" value="Display" />\r
-<item name="Cancel" value="Cancel" />\r
-<item name="SearchLabel" value="Search" />\r
-<item name="RelateTopicListPrompt" value="Click a topic, then click Display." />\r
-<item name="NextTooltip" value="Next Topic" />\r
-<item name="JS_alert_colorlimitation" value="WebHelp has detected that your display is set to 16 colors. For full WebHelp support, please set your display to use 256 or more colors." />\r
-<item name="TopicsNotFound" value="No Topics Found." />\r
-<item name="Show" value="Show" />\r
-<item name="PreTooltip" value="Previous Topic" />\r
-<item name="SearchPrompt" value="- Search -" />\r
-<item name="IndexBtnText" value="Go" />\r
-<item name="JS_alert_ProjectLoadingFail" value="Could not load correctly, please click Refresh." />\r
-<item name="LoadingContents" value="Loading contents, please wait..." />\r
-<item name="Term" value="Term:" />\r
-<item name="WebSearchButton" value="WebSearch" />\r
-<item name="Remote_Page" value="Remote Page" />\r
-<item name="WebSearch" value="WebSearch" />\r
-<item name="LoadingFTS" value="Reading Search Data..." />\r
-<item name="Index" value="Index" />\r
-<item name="JS_alert_ErrorInLoading" value="Error in Loading navigation component. Please regenerate WebHelp." />\r
-<item name="JS_alert_appletNotLoad" value="Unable to load applet. If you are using an old version of Netscape, the prefs.js file needs to be edited." />\r
-<item name="IndexInputPrompt" value="Type in the keyword to find:" />\r
-<item name="Page" value="Page" />\r
-<item name="SuggestViewNoFrameMsg2" value="hyperlink." />\r
-<item name="Searching" value="Searching..." />\r
-\r
- <item name="English" value="" />\r
- <item name="langorder" value="0,1,2,3,4,5,6,7,8,40,41,42,43,44,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,38,45,46,47,48,49,50,33,51,52,53,88,54,34,55,56,115,119,121,123,125,126,127,128,129,130,57,58,89,90,91,59,60,131,148,150,154,158,168,171,173,175,185,187,189,191,193,197,214,216,218,220,225,230,240,242,244,246,252,61,62,63,64,66,67,131,148,150,154,158,168,171,173,175,185,187,189,191,193,197,214,216,218,220,225,230,240,242,244,246,252,68,69,70,71,27,114,28,82,170,85,112,109,110,65,113,223,86,213,29,255,30,31,80,81,83,84,111,36,37,79,229,222,87,212,32,254,251,39,72,97,98,99,100,73,101,74,102,133,93,103,35,104,75,105,92,122,124,76,106,107,108,77,120,199,94,116,117,118,78,131,131,131,131,131,131,131,150,158,158,158,158,175,175,175,175,154,193,197,197,197,197,197,95,197,230,230,230,230,246,227,224,131,131,131,131,131,131,131,150,158,158,158,158,175,175,175,175,154,193,197,197,197,197,197,96,197,230,230,230,230,246,227,250," />\r
-\r
- <panes show="0">\r
- <toc />\r
- <fts />\r
- <glossary />\r
- </panes>\r
-\r
- <stopwords>\r
- <word name="a" />\r
- <word name="about" />\r
- <word name="after" />\r
- <word name="against" />\r
- <word name="all" />\r
- <word name="also" />\r
- <word name="among" />\r
- <word name="an" />\r
- <word name="and" />\r
- <word name="are" />\r
- <word name="as" />\r
- <word name="at" />\r
- <word name="be" />\r
- <word name="became" />\r
- <word name="because" />\r
- <word name="been" />\r
- <word name="between" />\r
- <word name="but" />\r
- <word name="by" />\r
- <word name="can" />\r
- <word name="come" />\r
- <word name="do" />\r
- <word name="during" />\r
- <word name="each" />\r
- <word name="early" />\r
- <word name="for" />\r
- <word name="form" />\r
- <word name="found" />\r
- <word name="from" />\r
- <word name="had" />\r
- <word name="has" />\r
- <word name="have" />\r
- <word name="he" />\r
- <word name="her" />\r
- <word name="his" />\r
- <word name="however" />\r
- <word name="in" />\r
- <word name="include" />\r
- <word name="into" />\r
- <word name="is" />\r
- <word name="it" />\r
- <word name="its" />\r
- <word name="late" />\r
- <word name="later" />\r
- <word name="made" />\r
- <word name="many" />\r
- <word name="may" />\r
- <word name="me" />\r
- <word name="med" />\r
- <word name="more" />\r
- <word name="most" />\r
- <word name="near" />\r
- <word name="no" />\r
- <word name="non" />\r
- <word name="not" />\r
- <word name="of" />\r
- <word name="on" />\r
- <word name="only" />\r
- <word name="or" />\r
- <word name="other" />\r
- <word name="over" />\r
- <word name="several" />\r
- <word name="she" />\r
- <word name="some" />\r
- <word name="such" />\r
- <word name="than" />\r
- <word name="that" />\r
- <word name="the" />\r
- <word name="their" />\r
- <word name="then" />\r
- <word name="there" />\r
- <word name="these" />\r
- <word name="they" />\r
- <word name="this" />\r
- <word name="through" />\r
- <word name="to" />\r
- <word name="under" />\r
- <word name="until" />\r
- <word name="use" />\r
- <word name="was" />\r
- <word name="we" />\r
- <word name="were" />\r
- <word name="when" />\r
- <word name="where" />\r
- <word name="which" />\r
- <word name="who" />\r
- <word name="with" />\r
- <word name="you" />\r
- </stopwords>\r
-\r
- <stems>\r
- <stem name="s" />\r
- <stem name="e" />\r
- <stem name="ed" />\r
- <stem name="es" />\r
- <stem name="er" />\r
- <stem name="ly" />\r
- <stem name="ing" />\r
- <stem name="ingly" />\r
- </stems>\r
-\r
- <paneskin>\r
- <background color="#ffffff" img="" />\r
- <font name="Tahoma" size="8pt" color="#000080" style="Normal" weight="Normal" decoration="none" />\r
- <toc>\r
- <background color="#ffffff" img="" />\r
- <icons>\r
- <book open="wht_toc2.gif" close="wht_toc1.gif" />\r
- <item local="wht_toc3.gif" remote="wht_toc4.gif" />\r
- <newbook open="" close="" />\r
- <newitem local="" remote="" />\r
- </icons>\r
- <fonts>\r
- <normal name="Tahoma" size="8pt" color="#000000" style="Normal" weight="Normal" decoration="none" />\r
- <hover name="Tahoma" size="8pt" color="#000080" style="Normal" weight="Normal" decoration="underline" />\r
- </fonts>\r
- <activebackgroundcolor attr="#c0c0c0" />\r
- <margin attr="" />\r
- <indent attr="" />\r
- </toc>\r
- <index>\r
- <form>\r
- <fonts>\r
- <title name="Tahoma" size="8pt" color="#000080" style="Normal" weight="Normal" decoration="none" />\r
- </fonts>\r
- <button normal="" hover="" />\r
- <editwith value="20" />\r
- </form>\r
- <background color="#ffffff" img="" />\r
- <fonts>\r
- <normal name="Tahoma" size="8pt" color="#000000" style="Normal" weight="Normal" decoration="none" />\r
- <hover name="Tahoma" size="8pt" color="#000080" style="Normal" weight="Normal" decoration="underline" />\r
- <empty name="" size="8pt" color="" style="" weight="" decoration="" />\r
- </fonts>\r
- <activebackgroundcolor attr="#c0c0c0" />\r
- <margin attr="" />\r
- <indent attr="" />\r
- </index>\r
- <fts>\r
- <form>\r
- <fonts>\r
- <title name="Tahoma" size="8pt" color="#000080" style="Normal" weight="Normal" decoration="none" />\r
- </fonts>\r
- <button normal="" hover="" />\r
- <editwith value="20" />\r
- </form>\r
- <background color="#ffffff" img="" />\r
- <fonts>\r
- <normal name="Tahoma" size="8pt" color="#000000" style="Normal" weight="Normal" decoration="none" />\r
- <hover name="Tahoma" size="8pt" color="#000080" style="Normal" weight="Normal" decoration="underline" />\r
- <error name="Tahoma" size="8pt" color="#000000" style="Normal" weight="Normal" decoration="none" />\r
- </fonts>\r
- <activebackgroundcolor attr="#c0c0c0" />\r
- <margin attr="" />\r
- <indent attr="" />\r
- </fts>\r
- <glossary>\r
- <background color="#ffffff" img="" />\r
- <fonts>\r
- <normal name="Tahoma" size="8pt" color="#000000" style="Normal" weight="Normal" decoration="none" />\r
- <hover name="Tahoma" size="8pt" color="#000080" style="Normal" weight="Normal" decoration="underline" />\r
- </fonts>\r
- <activebackgroundcolor attr="#c0c0c0" />\r
- <margin attr="" />\r
- <indent attr="" />\r
- </glossary>\r
- </paneskin>\r
-</resource>
\ No newline at end of file
+++ /dev/null
-<html>\r
-<head>\r
-<title>About WebHelp </title>\r
-<meta http-equiv="content-type" content="text/html; charset=iso-8859-1">\r
-<meta name="generator" content="RoboHelp by eHelp Corporation www.ehelp.com">\r
-<meta name "description" content="WebHelp 2002">\r
-</head>\r
-<style type="text/css">\r
-<!--\r
-P {margin-left:10pt;font-size:8pt;font-family:Verdana,sans-serif;}\r
-//-->\r
-</style>\r
-<script>\r
-<!--\r
-// this block fix: HTML Dialog Ignores Size Parameters Without SCRIPT Block\r
-//-->\r
-</script> \r
-<body bgcolor="white" scroll=no RIGHTMARGIN=0 BOTTOMMARGIN=0 TOPMARGIN=0 LEFTMARGIN=0>\r
-<table border="0" cellpadding="0" cellspacing="0" width="350">\r
- <tr>\r
- <td><img src="wht_spac.gif" width="99" height="1" border="0"></td>\r
- <td><img src="wht_spac.gif" width="251" height="1" border="0"></td>\r
- <td><img src="wht_spac.gif" width="1" height="1" border="0"></td>\r
- </tr>\r
- <tr>\r
- <td rowspan="2"><img src="wht_abgw.jpg" width="99" height="190" border="0"></td>\r
- <td><img src="wht_abtw.jpg" width="211" height="86" border="0"></td>\r
- <td><img src="wht_spac.gif" width="1" height="86" border="0"></td>\r
- </tr>\r
- <tr>\r
- <td valign="top">\r
- <p>Author: eHelp Corporation</p>\r
- <p>Powered by: WebHelp 5.00\r
- <br>Generated by: RoboHelp 2002</p>\r
- <p><a class="tail" href="http://www.ehelp.com/webhelp1" target="_blank">www.ehelp.com</a></p>\r
- </td>\r
- <td><img src="wht_spac.gif" width="1" height="104" border="0"></td>\r
- </tr>\r
-</table>\r
-</body>\r
-</html>
\ No newline at end of file
+++ /dev/null
-<html>\r
-<head>\r
-<title>Blank Page</title>\r
-<meta http-equiv="content-type" content="text/html; charset=iso-8859-1">\r
-<meta name="generator" content="RoboHelp by eHelp Corporation www.ehelp.com">\r
-<meta name "description" content="WebHelp 2002">\r
-</head>\r
-<body>\r
-</body>\r
-</html>\r
+++ /dev/null
-\r
-<html>\r
-<head>\r
-</head>\r
-<script type="text/javascript" language="javascript" src="whver.js"></script>\r
-<script type="text/javascript" language="javascript" src="whutils.js"></script>\r
-<script type="text/javascript" language="javascript" src="whmsg.js"></script>\r
-<script type="text/javascript" language="javascript" >\r
-<!--\r
-if (!window.gbWhVer||!window.gbWhUtil||!window.gbWhMsg)\r
- document.location.reload();\r
-//-->\r
-</script>\r
-\r
-<script type="text/javascript" language="javascript" src="whproxy.js"></script>\r
-<script type="text/javascript" language="javascript">\r
-<!--\r
-if (!window.gbWhProxy)\r
- document.location.reload();\r
-//-->\r
-</script>\r
-\r
-\r
-<script language="javascript">\r
-<!--\r
-var gsPane="";\r
-var gnType=3;\r
-\r
-var oMsgPane = new whMessage(WH_MSG_GETPANETYPE, this, 1, null);\r
-if (SendMessage(oMsgPane))\r
-{\r
- gsPane = oMsgPane.oParam.sPaneURL;\r
- gnType = oMsgPane.oParam.nType;\r
-}\r
-\r
- var strDefaultTopic = "about:blank";\r
- var oParam = new Object();\r
- oParam.sTopic = "";\r
- var oMsg = new whMessage(WH_MSG_GETDEFAULTTOPIC, this, 1, oParam);\r
- if (SendMessage(oMsg) && oParam.sTopic != "")\r
- strDefaultTopic = oParam.sTopic;\r
-var strHTML = "";\r
-if (gnType == 4)\r
-{\r
- //no navipane at all\r
- strHTML += "<frameset border=\"0\" cols=\"100%,*\">";\r
- strHTML += "<frame src=\"" + strDefaultTopic + "\" name=\"bsscright\" framespacing=\"0\" frameborder=\"0\" border=\"0\" scrolling=\"auto\">";\r
- strHTML += "<frame src=\"whskin_blank.htm\" noresize>";\r
- strHTML += "</frameset>";\r
-}\r
-else\r
- strHTML += "<frameset cols=\"220,*\" hostof=\"parent:minibar_navpane|topic!startpage:no\" frameborder=\"yes\" id=\"whPfset\"><frame src=\"whskin_frmset010.htm\" id=\"minibar_navpane\" frameborder=\"no\" border=\"0\" scrolling=\"auto\" marginheight=\"0\" marginwidth=\"0\"></frame><frame src=\""+strDefaultTopic+"\" id=\"topic\" frameborder=\"yes\" border=\"1\" scrolling=\"auto\" title=\"Topic\" name=\"bsscright\"></frame></frameset>";\r
-document.write(strHTML);\r
-// handle show pane, hide pane and query pane status message.\r
-RegisterListener2(this, WH_MSG_RESIZEPANE);\r
-RegisterListener2(this, WH_MSG_SHOWPANE);\r
-RegisterListener2(this, WH_MSG_HIDEPANE);\r
-RegisterListener2(this, WH_MSG_ISPANEVISIBLE);\r
-\r
-function window_unload()\r
-{\r
- UnRegisterListener2(this, WH_MSG_RESIZEPANE);\r
- UnRegisterListener2(this, WH_MSG_SHOWPANE);\r
- UnRegisterListener2(this, WH_MSG_HIDEPANE);\r
- UnRegisterListener2(this, WH_MSG_ISPANEVISIBLE);\r
-}\r
-\r
-window.onunload=window_unload;\r
-\r
-var gbShow=false;\r
-var gstrFrameLastSetting="";\r
-function onSendMessage(oMsg)\r
-{\r
- var oMsgout = null;\r
- var nMsgId = oMsg.nMessageId;\r
- var oFrameset = null;\r
- if (nMsgId == WH_MSG_SHOWPANE)\r
- {\r
- if (!gbShow)\r
- {\r
- oFrameset = getElement("whPfset");\r
- if (oFrameset)\r
- {\r
- if (gstrFrameLastSetting)\r
- oFrameset.cols= gstrFrameLastSetting;\r
- else\r
- oFrameset.cols= "220,*";\r
- }\r
- gbShow=true;\r
- oMsgout = new whMessage(WH_MSG_PANESTATUE, this, 1, "visible");\r
- SendMessage(oMsgout);\r
- }\r
- return false;\r
- }\r
- else if (nMsgId == WH_MSG_HIDEPANE)\r
- {\r
- oFrameset = getElement("whPfset");\r
- if (oFrameset)\r
- {\r
- gstrFrameLastSetting=oFrameset.cols; \r
- var oWnd=frames[0];\r
- if (oWnd && oWnd.document && oWnd.document.body)\r
- {\r
- var nPos=0;\r
- if ("cols"=="cols")\r
- nPos=oWnd.document.body.offsetWidth;\r
- else\r
- nPos=oWnd.document.body.offsetHeight;\r
- if(0==0)\r
- gstrFrameLastSetting=nPos+",*";\r
- else\r
- gstrFrameLastSetting="*,"+nPos;\r
- }\r
- oFrameset.cols = "0,*";\r
- }\r
- gbShow=false;\r
- oMsgout = new whMessage(WH_MSG_PANESTATUE, this, 1, "invisible");\r
- SendMessage(oMsgout);\r
- return false;\r
- }\r
- else if (nMsgId == WH_MSG_RESIZEPANE)\r
- {\r
- if (!gbShow)\r
- {\r
- gbShow=true;\r
- oMsgout = new whMessage(WH_MSG_PANESTATUE, this, 1, "visible");\r
- SendMessage(oMsgout);\r
- }\r
- return false;\r
- }\r
- else if (nMsgId == WH_MSG_ISPANEVISIBLE)\r
- {\r
- oMsg.oParam.bVisible = isNavPaneVisible();\r
- return false;\r
- }\r
- return true;\r
-}\r
-\r
-function isNavPaneVisible()\r
-{\r
- var bVisible = false;\r
- var sSplit = getElement("whPfset").cols;\r
- var nSplit = sSplit.indexOf(",");\r
- if (nSplit != -1)\r
- {\r
- var sPart1 = sSplit.substring(0, nSplit);\r
- var sPart2 = sSplit.substring(nSplit + 1);\r
- if ("minibar_navpane" == "navpane")\r
- {\r
- var sTemp = sPart1;\r
- sPart1 = sPart2;\r
- sPart2 = sTemp;\r
- }\r
-\r
- if (sPart2 != "*")\r
- {\r
- var n = parseInt(sPart2);\r
- if (n>0)\r
- bVisible = true;\r
- }\r
- else\r
- {\r
- if (sPart1 != "100%")\r
- bVisible = true;\r
- }\r
- }\r
- return bVisible;\r
-}\r
-//-->\r
-</script>\r
-\r
-</html>
\ No newline at end of file
+++ /dev/null
-\r
-<html>\r
-<head>\r
-</head>\r
-<script type="text/javascript" language="javascript" src="whver.js"></script>\r
-<script type="text/javascript" language="javascript" src="whutils.js"></script>\r
-<script type="text/javascript" language="javascript" src="whmsg.js"></script>\r
-<script type="text/javascript" language="javascript" >\r
-<!--\r
-if (!window.gbWhVer||!window.gbWhUtil||!window.gbWhMsg)\r
- document.location.reload();\r
-//-->\r
-</script>\r
-\r
-<script type="text/javascript" language="javascript" src="whproxy.js"></script>\r
-<script type="text/javascript" language="javascript">\r
-<!--\r
-if (!window.gbWhProxy)\r
- document.location.reload();\r
-//-->\r
-</script>\r
-\r
-\r
-<script language="javascript">\r
-<!--\r
-var gsPane="";\r
-var gnType=3;\r
-\r
-var oMsgPane = new whMessage(WH_MSG_GETPANETYPE, this, 1, null);\r
-if (SendMessage(oMsgPane))\r
-{\r
- gsPane = oMsgPane.oParam.sPaneURL;\r
- gnType = oMsgPane.oParam.nType;\r
-}\r
-var strHTML = "";\r
-if (gnType == 4)\r
-{\r
- //no navipane at all\r
- strHTML += "<frameset border=\"0\" cols=\"100%,*\">";\r
- strHTML += "<frame src='whskin_mbars.htm' id='minibar' frameborder='no' border='0' scrolling='no' marginheight='0' title='Mini Toolbar'></frame>";\r
- strHTML += "<frame src=\"whskin_blank.htm\" noresize>";\r
- strHTML += "</frameset>";\r
-}\r
-else\r
- strHTML += "<frameset rows=\"24,*\" hostof=\"parent:minibar|navpane!startpage:no\" frameborder=\"no\" border=\"0\"><frame src=\"whskin_mbars.htm\" id=\"minibar\" frameborder=\"no\" border=\"0\" scrolling=\"no\" marginheight=\"0\" title=\"Mini Toolbar\"></frame><frame src=\""+gsPane+"\" id=\"navpane\" frameborder=\"no\" border=\"0\" scrolling=\"no\" marginheight=\"0\" marginwidth=\"0\" title=\"Navigator Pane\"></frame></frameset>";\r
-\r
-document.write(strHTML);\r
-//-->\r
-</script>\r
-</html>
\ No newline at end of file
+++ /dev/null
-<html>\r
-<head>\r
-<title>WebHelp 5.00 </title>\r
-<meta name="description" content="output from robohelp">\r
-<meta name="keywords" content="robohelp,webhelp,webhelp 2002,webhelp enterprise,webehelp enterprise 2002,roboinfo,roboinfo 2002">\r
-</head>\r
-<body>\r
-<h1> WebHelp 5.00 System Info </h1>\r
-<table>\r
-<tr><td> Start Page </td><td>supervision.html</td></tr>\r
-<tr><td> Skin Name </td><td>Default</td></tr>\r
-<tr><td> Generating Time </td><td>11:30 02/18/2004</td></tr>\r
-<tr><td> Language ID </td><td>1033</td></tr>\r
-<tr><td> Compile Script </td><td>webhelp5_compile_script.xml</td></tr>\r
-<tr><td> Compile Build Version </td><td>10.00.949</td></tr>\r
-<tr><td> Product Name </td><td>WebHelp 5.00</td></tr>\r
-<tr><td> Authoring Tool Name </td><td>RoboHelp 2002</td></tr>\r
-<table>\r
-</body>\r
-</html>
\ No newline at end of file
+++ /dev/null
-<html>\r
-<head>\r
-<META HTTP-EQUIV="content-type" CONTENT="text/html; charset=iso-8859-1">\r
-</head>\r
-<style>\r
-<!--\r
-body {margin:0;}\r
--->\r
-</style>\r
-<script language="javascript" src="whver.js"></script>\r
-<script language="javascript1.2" src="whutils.js"></script>\r
-<script language="javascript1.2" src="whmsg.js"></script>\r
-<script language="javascript1.2" src="whproxy.js"></script>\r
-<script language="javascript1.2" src="whmozemu.js"></script>\r
-<script language="javascript1.2" src="whtbar.js"></script>\r
-<body marginheight="0" marginwidth="0" bgcolor="#99ccff" scroll="no">\r
-<script language="javascript1.2">\r
-<!--\r
-if (window.gbWhTBar)\r
-{\r
- setButtonFont("avprev","Tahoma","8pt","Black","Normal","Normal","none");\r
-setButtonFont("avnext","Tahoma","8pt","Black","Normal","Normal","none");\r
-setButtonFont("synctoc","Tahoma","8pt","Black","Normal","Normal","none");\r
-setButtonFont("hide2","Tahoma","8pt","Black","Normal","Normal","none");\r
-\r
- gsIPrev = "wht_prev.gif";\r
- gsIPrevD = "wht_prev_g.gif";\r
- gsINext = "wht_next.gif";\r
- gsINextD = "wht_next_g.gif";\r
- gsISync = "wht_sync.gif";\r
- gsIHide = "wht_hide.gif";\r
- setBackgroundcolor("#99ccff");\r
- \r
- \r
- addButton("avprev",BTN_TEXT|BTN_IMG,"","","","","",0,0,"","","","","","");\r
-addButton("avnext",BTN_TEXT|BTN_IMG,"","","","","",0,0,"","","","","","");\r
-addButton("synctoc",BTN_TEXT|BTN_IMG,"","","","","",0,0,"","","","","","");\r
-addButton("hide2",BTN_TEXT|BTN_IMG,"","","","","",0,0,"","","","","","");\r
-\r
- addButton("blankblock");\r
- writeStyle(true);\r
- ReSortMinibarButtons();\r
- writeToolBar();\r
-}\r
-else\r
- document.location.reload();\r
-\r
-if (window.gbNav6)\r
-{\r
- var oMsg=new whMessage(WH_MSG_RELOADNS6,this, 1,null);\r
- SendMessage(oMsg);\r
-}\r
-//-->\r
-</script>\r
-</body>\r
-</html>
\ No newline at end of file
+++ /dev/null
-<html>\r
-<head>\r
-<title>Navigation Pane</title>\r
-<meta http-equiv="content-type" content="text/html; charset=iso-8859-1">\r
-<meta name="generator" content="RoboHelp by eHelp Corporation www.ehelp.com">\r
-<meta name "description" content="WebHelp 2002">\r
-<SCRIPT LANGUAGE="JavaScript1.2" ARCHIVE="nsdnsfix.jar" ID="ChangeProfileScriptinNavPane2"> var sd_strAgent = navigator.userAgent.toLowerCase(); var sd_strVersion = navigator.appVersion.toLowerCase(); var sd_nVerMajor = parseInt(sd_strVersion); var sd_nVerMinor = parseFloat(sd_strVersion); var sd_bNS = ((sd_strAgent.indexOf("mozilla") != -1) && ((sd_strAgent.indexOf('spoofer') == -1) && (sd_strAgent.indexOf('compatible') == -1))); var sd_bNS4 = ((sd_bNS) && (sd_nVerMajor >= 4)); if (sd_nVerMinor == 4.60) { netscape.security.PrivilegeManager.enablePrivilege("UniversalPreferencesRead"); var sd_prefValue = navigator.preference("security.lower_java_network_security_by_trusting_proxies"); if (!sd_prefValue) { alert("There are some limitations in Netscape 4.6. Please download and install the latest version of Netscape. Your current Netscape profile needs to be modified. Select 'Remember this decision' and click 'Grant' when prompted to allow the modifications. Click OK to proceed."); netscape.security.PrivilegeManager.enablePrivilege("UniversalPreferencesWrite"); navigator.preference("security.lower_java_network_security_by_trusting_proxies", true); alert("Please restart Netscape"); window.close(); } } </SCRIPT>\r
-<script language="javascript" src="whver.js"></script>\r
-<script language="javascript1.2" src="whmsg.js"></script>\r
-<script language="javascript1.2" src="whproxy.js"></script>\r
-<script language="javascript1.2" src="whutils.js"></script>\r
-<script language="javascript1.2">\r
-<!--\r
-var gsInitPane="toc";\r
-var gsCurrentPane="";\r
-var gbLoading = "unknown";\r
-var gbTryTime = 0;\r
-var gbMaxTryTime = 6;\r
-var gbPassPhase0 = 0;\r
-var gbretried = 0;\r
-var gbmaxretry = 3;\r
-var gbretrytime = new Array();\r
-\r
-var origWidth = 0;\r
-var origHeight = 0;\r
-\r
-gbretrytime[0]= 5000;\r
-gbretrytime[1]= 30000;\r
-gbretrytime[2]= 60000;\r
-\r
-function addPane(sName, sFile)\r
-{\r
-}\r
-\r
-function setShowPane(sName)\r
-{\r
- gsInitPane=sName;\r
-}\r
- addPane("toc","whtdhtml.htm");\r
- addPane("fts","whfdhtml.htm");\r
- addPane("glo","whgdhtml.htm");\r
- setShowPane("toc");\r
-\r
-\r
-function window_unload()\r
-{\r
- if (!gbNav4 || gbNav6) // resize will call unload, but the register code will never be called on Netscape 4.\r
- {\r
- UnRegisterListener2(this, WH_MSG_SHOWTOC);\r
- UnRegisterListener2(this, WH_MSG_SHOWIDX);\r
- UnRegisterListener2(this, WH_MSG_SHOWFTS);\r
- UnRegisterListener2(this, WH_MSG_SHOWGLO);\r
- UnRegisterListener2(this, WH_MSG_SYNCTOC);\r
- UnRegisterListener2(this, WH_MSG_SEARCHTHIS);\r
- UnRegisterListener2(this, WH_MSG_GETPANEINFO);\r
- }\r
-}\r
-\r
-function window_OnLoad()\r
-{\r
- if (gsInitPane == "toc")\r
- {\r
- var oMsg=new whMessage(WH_MSG_SHOWTOC,this,1,null)\r
- SendMessage(oMsg); \r
- }\r
- else if (gsInitPane=="idx")\r
- {\r
- var oMsg=new whMessage(WH_MSG_SHOWIDX,this,1,null)\r
- SendMessage(oMsg); \r
- }\r
- else if (gsInitPane=="fts")\r
- {\r
- var oMsg=new whMessage(WH_MSG_SHOWFTS,this,1,null)\r
- SendMessage(oMsg); \r
- }\r
- else if (gsInitPane=="glo")\r
- {\r
- var oMsg=new whMessage(WH_MSG_SHOWGLO,this,1,null)\r
- SendMessage(oMsg); \r
- }\r
- \r
-}\r
-\r
-function onResize()\r
-{\r
- if (gbIE4)\r
- {\r
- if(document.body)\r
- {\r
- if(document.body.clientWidth > 1 && document.body.clientHeight>1)\r
- {\r
- var oMsg = new whMessage(WH_MSG_RESIZEPANE, this, 1, null);\r
- SendMessage(oMsg);\r
- }\r
- }\r
- }\r
- else \r
- {\r
- if (window.innerWidth != 0 && window.innerHeight != 0)\r
- {\r
- var oMsg = new whMessage(WH_MSG_RESIZEPANE, this, 1, null);\r
- SendMessage(oMsg);\r
- }\r
- }\r
-}\r
-\r
-function CheckLoadingPhase0()\r
-{\r
- if (!gbPassPhase0) {\r
- setTimeout("CheckLoadingPhase0()", 1000);\r
- document.applets[0];\r
- gbPassPhase0 = 1;\r
- }\r
- else {\r
- CheckLoadingPhase1();\r
- }\r
-}\r
-\r
-function CheckLoadingPhase1()\r
-{\r
- if (gbNav4) {\r
- if ("unknown" == gbLoading && document.readystate < 4) {\r
- setTimeout("CheckLoadingPhase1()", 1000);\r
- }\r
- else if ("unknown" == gbLoading) {\r
- CheckLoadingPhase2();\r
- }\r
- }\r
-}\r
-\r
-function CheckLoadingPhase2()\r
-{\r
- if (gbNav4) {\r
- gbTryTime ++;\r
- if ("unknown" == gbLoading) {\r
- if (gbTryTime <= gbMaxTryTime )\r
- setTimeout("CheckLoadingPhase2()", 1000);\r
- else {\r
- if (gnVerMinor != 4.60) {\r
- if (gnVerMinor >= 4.06)\r
- document.location.href = "nsdnsfix.htm"\r
- else {\r
- alert("Unable to load applet. If you are using an old version of Netscape, the prefs.js file needs to be edited.");\r
- }\r
- }\r
- } \r
- }\r
- }\r
-}\r
-\r
-function CheckAppletLoaded()\r
-{\r
- if (typeof(document.WebHelp) == "undefined")\r
- {\r
- document.location.reload();\r
- if (gbretried < gbmaxretry)\r
- {\r
- gbretried ++;\r
- setTimeout("CheckAppletLoaded();", gbretrytime[gbretried]);\r
- }\r
- }\r
-}\r
-\r
-function reDo() \r
-{\r
- if (innerWidth != origWidth || innerHeight != origHeight) \r
- {\r
- //reloaded applet if nessary\r
- gbretried = 0;\r
-\r
- if (gnVerMinor == 4.60) \r
- {\r
- //reload the applet again.\r
- document.location.reload();\r
- gbretried ++;\r
- }\r
- setTimeout("CheckAppletLoaded();", gbretrytime[gbretried]);\r
- }\r
-}\r
-\r
-function onSendMessage(oMsg)\r
-{\r
- if (oMsg)\r
- { \r
- var nMsgId = oMsg.nMessageId;\r
- var WebHelpApplet = null;\r
- if (gbNav4)\r
- {\r
- WebHelpApplet = document.applets["WebHelp"];\r
- if (!WebHelpApplet.Command)\r
- document.location="whskin_plist.htm";\r
- }\r
- else\r
- WebHelpApplet = window.WebHelp;\r
-\r
- if (nMsgId == WH_MSG_SHOWTOC)\r
- {\r
- gsCurrentPane="toc";\r
- WebHelpApplet.Command("Contents",null);\r
- var onMsg=new whMessage(WH_MSG_PANEINFO,this,1,"toc");\r
- SendMessage(onMsg);\r
- onMsg=new whMessage(WH_MSG_SHOWPANE,this,1,null);\r
- SendMessage(onMsg);\r
- }\r
- else if(nMsgId==WH_MSG_SHOWIDX)\r
- {\r
- gsCurrentPane="idx";\r
- WebHelpApplet.Command("Index",null);\r
- var onMsg=new whMessage(WH_MSG_PANEINFO,this,1,"idx");\r
- SendMessage(onMsg);\r
- onMsg=new whMessage(WH_MSG_SHOWPANE,this,1,null);\r
- SendMessage(onMsg);\r
- }\r
- else if(nMsgId==WH_MSG_SHOWFTS)\r
- {\r
- gsCurrentPane="fts";\r
- WebHelpApplet.Command("Search",null);\r
- var onMsg=new whMessage(WH_MSG_PANEINFO,this,1,"fts");\r
- SendMessage(onMsg);\r
- onMsg=new whMessage(WH_MSG_SHOWPANE,this,1,null);\r
- SendMessage(onMsg);\r
- }\r
- else if(nMsgId==WH_MSG_SHOWGLO)\r
- {\r
- gsCurrentPane="glo";\r
- WebHelpApplet.Command("Glossary",null);\r
- var onMsg=new whMessage(WH_MSG_PANEINFO,this,1,"glo");\r
- SendMessage(onMsg);\r
- onMsg=new whMessage(WH_MSG_SHOWPANE,this,1,null);\r
- SendMessage(onMsg);\r
- }\r
- else if(nMsgId==WH_MSG_SYNCTOC)\r
- {\r
- gsCurrentPane="toc";\r
- var oTopicParam=oMsg.oParam;\r
- if(oTopicParam&&oTopicParam.aPaths&&oTopicParam.aPaths.length>0&&oTopicParam.sPPath)\r
- {\r
- var sPPath=_browserURLToAppletURL(oTopicParam.sPPath);\r
- var sParam="";\r
- for(var i=0;i<oTopicParam.aPaths.length;i++)\r
- {\r
- sParam+=oTopicParam.aPaths[i]+"\r\r";\r
- }\r
- if(gbLoading!="unknown")\r
- WebHelpApplet.Command("SyncToc",sPPath,sParam);\r
- }\r
- }\r
- else if(nMsgId==WH_MSG_SEARCHTHIS)\r
- {\r
- gsCurrentPane="fts";\r
- WebHelpApplet.Command("Search",oMsg.oParam);\r
- var onMsg=new whMessage(WH_MSG_PANEINFO,this,1,"fts");\r
- SendMessage(onMsg);\r
- onMsg=new whMessage(WH_MSG_SHOWPANE,this,1,null);\r
- SendMessage(onMsg);\r
- }\r
- else if(nMsgId==WH_MSG_GETPANEINFO)\r
- {\r
- oMsg.oParam=gsCurrentPane;\r
- return false;\r
- }\r
- }\r
- return true;\r
-}\r
-\r
-function _browserURLToAppletURL(sBURL)\r
-{\r
- var sAURL="";\r
- var nPos=sBURL.indexOf('%');\r
- while(nPos!=-1)\r
- {\r
- sAURL+=sBURL.substring(0,nPos);\r
- sBURL=sBURL.substring(nPos+1);\r
- var sNum="";\r
- var i=0;\r
- while(sBURL.charAt(i)>='0'&&sBURL.charAt(i)<='9')\r
- {\r
- sNum+=sBURL.charAt(i++); \r
- }\r
- if(sNum!="")\r
- {\r
- var nNum=parseInt(sNum,16);\r
- sAURL+=String.fromCharCode(nNum);\r
- sBURL=sBURL.substring(i);\r
- }\r
- nPos=sBURL.indexOf('%');\r
- }\r
- sAURL+=sBURL;\r
- return sAURL;\r
-}\r
-\r
-function getInitTocInfo()\r
-{\r
- var oParam=new Object();\r
- oParam.oTocInfo=null;\r
- var oMsg=new whMessage(WH_MSG_GETTOCPATHS,this,1,oParam);\r
- if(SendMessage(oMsg))\r
- {\r
- var oTopicParam=oMsg.oParam.oTocInfo;\r
- if(oTopicParam&&oTopicParam.aPaths&&oTopicParam.aPaths.length>0&&oTopicParam.sPPath)\r
- {\r
- var sPPath=_browserURLToAppletURL(oTopicParam.sPPath);\r
- var sParam="";\r
- for(var i=0;i<oTopicParam.aPaths.length;i++)\r
- {\r
- sParam+=oTopicParam.aPaths[i]+"\r\r";\r
- }\r
- var WebHelpApplet;\r
- if(gbNav4)\r
- WebHelpApplet=document.applets["WebHelp"];\r
- else\r
- WebHelpApplet=WebHelp;\r
- WebHelpApplet.Command("SyncToc",sPPath,sParam);\r
- }\r
- }\r
-}\r
-\r
-if(window.gbWhUtil&&window.gbWhMsg&&window.gbWhVer&&window.gbWhProxy)\r
-{\r
- RegisterListener2(this, WH_MSG_SHOWTOC);\r
- RegisterListener2(this, WH_MSG_SHOWIDX);\r
- RegisterListener2(this, WH_MSG_SHOWFTS);\r
- RegisterListener2(this, WH_MSG_SHOWGLO);\r
- RegisterListener2(this, WH_MSG_SYNCTOC);\r
- RegisterListener2(this, WH_MSG_SEARCHTHIS);\r
- RegisterListener2(this, WH_MSG_GETPANEINFO);\r
-\r
- window.onresize=onResize;\r
- window.onunload = window_unload;\r
- window.onload=window_OnLoad;\r
- window.onerror = null;\r
- var gbWindows = ((gAgent.indexOf("win") != -1) || (gAgent.indexOf("16bit") != -1));\r
-\r
- if (gbNav4 && !gbNav6 && gbWindows) {\r
- setTimeout("CheckLoadingPhase0()", 1000);\r
- }\r
- if (gbNav4)\r
- {\r
- origWidth = innerWidth;\r
- origHeight = innerHeight;\r
- onresize = reDo;\r
- }\r
-}\r
-else\r
- document.location.reload();\r
-//-->\r
-</script>\r
-</head>\r
-<body topmargin="0" leftmargin="0" rightmargin="0" bottommargin="0" bgcolor="c0c0c0">\r
-<applet code=WebHelp.class name=WebHelp archive=webhelp.jar width=100% height=100% MAYSCRIPT hspace=0 vspace=0>\r
-<PARAM name=ProjectFile value=whproj.xml><PARAM name=ResourceFile value=whres.xml>\r
-<PARAM name=HideTabs value=true>\r
-<PARAM name=Frame value=bsscright>\r
-<PARAM name=cabbase value=webhelp.cab>\r
-</applet>\r
-</body>\r
-</html>\r
+++ /dev/null
-<html>\r
-<head>\r
-<title> Navigation Pane </title>\r
-<meta http-equiv="content-type" content="text/html; charset=iso-8859-1">\r
-<meta name="generator" content="RoboHelp by eHelp Corporation www.ehelp.com">\r
-<meta name "description" content="WebHelp 2002">\r
-</head>\r
-<body border=0 topmargin=0 bottommargin=0 rightmargin=0 leftmargin=0 scroll=no>\r
-<script language="javascript" src="whver.js"></script>\r
-<script language="javascript1.2" src="whmozemu.js"></script>\r
-<script language="javascript1.2" src="whmsg.js"></script>\r
-<script language="javascript1.2" src="whproxy.js"></script>\r
-<script language="javascript1.2" src="whutils.js"></script>\r
-<script language="javascript1.2" src="whphost.js"></script>\r
-<script language="javascript1.2">\r
-<!--\r
-if (window.gbWhPHost)\r
-{\r
- var gsNavReDirect="whskin_plist.htm";\r
- var gbReDirectThis=true;\r
- var oMsg = new whMessage(WH_MSG_GETPANES, this, 1, null);\r
- if (SendMessage(oMsg))\r
- {\r
- if (oMsg.oParam)\r
- {\r
- for (var i=0;i<oMsg.oParam.aPanes.length;i++)\r
- {\r
- addPane(oMsg.oParam.aPanes[i].sPaneName, oMsg.oParam.aPanes[i].sPaneURL);\r
- }\r
- setShowPane(oMsg.oParam.sDefault);\r
- setServerEnabled();\r
- }\r
- else\r
- writeWebHelpPane();\r
- }\r
- else\r
- writeWebHelpPane();\r
-}\r
-else\r
- document.location.reload();\r
-\r
-function writeWebHelpPane()\r
-{\r
- var bPreferXML = false;\r
- var strProjectFileXML = "whproj.xml";\r
- var strProjectFileHTM = "whproj.htm"; \r
- addProject(bPreferXML, strProjectFileXML, strProjectFileHTM);\r
- addPane("toc","whtdhtml.htm");\r
- addPane("fts","whfdhtml.htm");\r
- addPane("glo","whgdhtml.htm");\r
- setShowPane("toc");\r
-\r
-}\r
-//-->\r
-</script>\r
-</body>\r
-</html>
\ No newline at end of file
+++ /dev/null
-<html>\r
-<head>\r
-<title> Navigation Pane </title>\r
-<meta http-equiv="content-type" content="text/html; charset=iso-8859-1">\r
-<meta name="generator" content="RoboHelp by eHelp Corporation www.ehelp.com">\r
-<meta name "description" content="WebHelp 2002">\r
-<script language="javascript" src="whver.js"></script>\r
-<script language="javascript1.2" src="whmsg.js"></script>\r
-<script language="javascript1.2" src="whproxy.js"></script>\r
-</head>\r
-<script language="javascript">\r
-<!--\r
-var strFrmToc = "";\r
-var strFrmNdx = "";\r
-var strFrmFts = "";\r
-var strFrmGls = "";\r
-var strFrmDft = "";\r
-var gstrName = "";\r
-\r
-//set overwrite here\r
-function setListFrames(strToc,strNdx,strFts,strGls,strDefault)\r
-{\r
- strFrmToc = strToc;\r
- strFrmNdx = strNdx;\r
- strFrmFts = strFts;\r
- strFrmGls = strGls;\r
- strFrmDft = strDefault;\r
- if (strFrmDft == strFrmToc)\r
- {\r
- gstrName = "toc";\r
- }\r
- else if (strFrmDft == strFrmNdx) \r
- {\r
- gstrName = "idx";\r
-\r
- }\r
- else if (strFrmDft == strFrmFts) \r
- {\r
- gstrName = "fts";\r
- }\r
- else if (strFrmDft == strFrmGls) \r
- {\r
- gstrName = "glo";\r
- }\r
-}\r
-\r
-function setWebHelpPane()\r
-{\r
- setListFrames("whgdata/whnvf30.htm","whgdata/whnvf31.htm","whgdata/whnvf32.htm","whgdata/whnvf33.htm","whgdata/whnvf30.htm");\r
-}\r
-\r
-function window_unload()\r
-{\r
- if (!gbNav4 || gbNav6) // resize will call unload, but the register code will never be called on Netscape 4.\r
- {\r
- UnRegisterListener2(this,WH_MSG_SHOWTOC);\r
- UnRegisterListener2(this,WH_MSG_SHOWIDX);\r
- UnRegisterListener2(this,WH_MSG_SHOWFTS);\r
- UnRegisterListener2(this,WH_MSG_SHOWGLO);\r
- UnRegisterListener2(this, WH_MSG_GETPANEINFO);\r
- }\r
-}\r
-\r
-function window_onload()\r
-{\r
- if (gstrName)\r
- {\r
- var onMsg=new whMessage(WH_MSG_PANEINFO, this, 1, gstrName);\r
- SendMessage(onMsg);\r
- }\r
-}\r
-\r
-function switchNvp(strName)\r
-{\r
- var strFile = "";\r
- if (strName == "toc") strFile = strFrmToc;\r
- else if (strName == "idx") strFile = strFrmNdx;\r
- else if (strName == "fts") strFile = strFrmFts;\r
- else if (strName == "glo") strFile = strFrmGls;\r
-\r
- gstrName = strName;\r
- frames[0].location = strFile; \r
-}\r
-\r
-function onSendMessage(oMsg)\r
-{\r
- if(oMsg)\r
- {\r
- var nMsgId=oMsg.nMessageId;\r
- if (nMsgId==WH_MSG_SHOWTOC)\r
- {\r
- switchNvp("toc");\r
- var onMsg=new whMessage(WH_MSG_PANEINFO, this, 1, "toc");\r
- SendMessage(onMsg);\r
- onMsg = new whMessage(WH_MSG_SHOWPANE, this, 1, null);\r
- SendMessage(onMsg);\r
- }\r
- else if(nMsgId==WH_MSG_SHOWIDX)\r
- {\r
- switchNvp("idx");\r
- var onMsg=new whMessage(WH_MSG_PANEINFO, this, 1, "idx");\r
- SendMessage(onMsg);\r
- onMsg = new whMessage(WH_MSG_SHOWPANE, this, 1, null);\r
- SendMessage(onMsg);\r
- }\r
- else if(nMsgId==WH_MSG_SHOWFTS)\r
- {\r
- switchNvp("fts");\r
- var onMsg=new whMessage(WH_MSG_PANEINFO, this, 1, "fts");\r
- SendMessage(onMsg);\r
- onMsg = new whMessage(WH_MSG_SHOWPANE, this, 1, null);\r
- SendMessage(onMsg);\r
- }\r
- else if(nMsgId==WH_MSG_SHOWGLO)\r
- {\r
- switchNvp("glo");\r
- var onMsg=new whMessage(WH_MSG_PANEINFO, this, 1, "glo");\r
- SendMessage(onMsg);\r
- onMsg = new whMessage(WH_MSG_SHOWPANE, this, 1, null);\r
- SendMessage(onMsg);\r
- }\r
- else if (nMsgId==WH_MSG_GETPANEINFO)\r
- {\r
- oMsg.oParam = gstrName;\r
- return false;\r
- }\r
- }\r
- return true;\r
-}\r
-\r
-function onResize()\r
-{\r
- if (gbIE4)\r
- {\r
- if(document.body)\r
- {\r
- if(document.body.clientWidth > 1 && document.body.clientHeight>1)\r
- {\r
- var oMsg = new whMessage(WH_MSG_RESIZEPANE, this, 1, null);\r
- SendMessage(oMsg);\r
- }\r
- }\r
- }\r
- else \r
- {\r
- if (window.innerWidth != 0 && window.innerHeight != 0)\r
- {\r
- var oMsg = new whMessage(WH_MSG_RESIZEPANE, this, 1, null);\r
- SendMessage(oMsg);\r
- }\r
- }\r
-}\r
-\r
-if (window.gbWhMsg&&window.gbWhVer&&window.gbWhProxy)\r
-{\r
- var oMsg = new whMessage(WH_MSG_GETPANES, this, 1, null);\r
- if (SendMessage(oMsg))\r
- {\r
- if (oMsg.oParam)\r
- {\r
- for (var i=0;i<oMsg.oParam.aPanes.length;i++)\r
- {\r
- if (oMsg.oParam.aPanes[i].sPaneName == "toc")\r
- strFrmToc = oMsg.oParam.aPanes[i].sPaneURL;\r
- else if (oMsg.oParam.aPanes[i].sPaneName == "idx")\r
- strFrmNdx = oMsg.oParam.aPanes[i].sPaneURL;\r
- else if (oMsg.oParam.aPanes[i].sPaneName == "fts")\r
- strFrmFts = oMsg.oParam.aPanes[i].sPaneURL;\r
- else if (oMsg.oParam.aPanes[i].sPaneName == "glo")\r
- strFrmGls = oMsg.oParam.aPanes[i].sPaneURL;\r
- if (oMsg.oParam.sDefault == oMsg.oParam.aPanes[i].sPaneName)\r
- {\r
- strFrmDft = oMsg.oParam.aPanes[i].sPaneURL;\r
- }\r
- }\r
- }\r
- else\r
- setWebHelpPane();\r
- }\r
- else\r
- setWebHelpPane();\r
-\r
- RegisterListener2(this,WH_MSG_SHOWTOC);\r
- RegisterListener2(this,WH_MSG_SHOWIDX);\r
- RegisterListener2(this,WH_MSG_SHOWFTS);\r
- RegisterListener2(this,WH_MSG_SHOWGLO);\r
- RegisterListener2(this, WH_MSG_GETPANEINFO);\r
-\r
- window.onresize=onResize;\r
- window.onunload=window_unload;\r
- window.onload=window_onload;\r
-\r
- var strHtml = "";\r
- strHtml += "<frameset rows=\'100%,*\'>";\r
- strHtml += "<frame name=\'nvplist\' title=\'navpane frame\' src=\'" + strFrmDft +"\'></frame>";\r
- strHtml += "<frame src=\'whskin_blank.htm\' noresize></frame>";\r
- strHtml += "</frameset>";\r
- document.write(strHtml);\r
-}\r
-else\r
- document.location.reload();\r
-//-->\r
-</script>\r
-</html>
\ No newline at end of file
+++ /dev/null
-<html>\r
-<head>\r
-<META HTTP-EQUIV="content-type" CONTENT="text/html; charset=iso-8859-1">\r
-</head>\r
-<style>\r
-<!--\r
-body {margin:0;}\r
--->\r
-</style>\r
-<script language="javascript" src="whver.js"></script>\r
-<script language="javascript1.2" src="whutils.js"></script>\r
-<script language="javascript1.2" src="whmsg.js"></script>\r
-<script language="javascript1.2" src="whproxy.js"></script>\r
-<script language="javascript1.2" src="whmozemu.js"></script>\r
-<script language="javascript1.2" src="whtbar.js"></script>\r
-\r
-\r
-<body marginheight="0" marginwidth="0" bgcolor="#99ccff" scroll="no">\r
-<script language="javascript1.2">\r
-<!--\r
-if (window.gbWhTBar)\r
-{\r
- setButtonFont("toc","Tahoma","8pt","Black","Normal","Normal","none");\r
-setButtonFont("toc","Tahoma","8pt","White","Normal","Normal","none", true);\r
-setButtonFont("idx","Tahoma","8pt","Black","Normal","Normal","none");\r
-setButtonFont("idx","Tahoma","8pt","White","Normal","Normal","none", true);\r
-setButtonFont("fts","Tahoma","8pt","Black","Normal","Normal","none");\r
-setButtonFont("fts","Tahoma","8pt","White","Normal","Normal","none", true);\r
-setButtonFont("glo","Tahoma","8pt","Black","Normal","Normal","none");\r
-setButtonFont("glo","Tahoma","8pt","White","Normal","Normal","none", true);\r
-setButtonFont("websearch","Tahoma","8pt","Black","Normal","Normal","none");\r
-setButtonFont("websearch","Tahoma","8pt","White","Normal","Normal","none", true);\r
-setButtonFont("searchform","Tahoma","8pt","Black","Normal","Normal","none");\r
-setButtonFont("searchform","","","","","","", true);\r
-setButtonFont("banner","","","","","","");\r
-setButtonFont("banner","","","","","","", true);\r
-\r
- gsIToc = "wht_toc_n.gif";\r
- gsITocS = "wht_toc_h.gif";\r
- gsIIndex = "wht_idx_n.gif";\r
- gsIIndexS = "wht_idx_h.gif";\r
- gsISearch = "wht_fts_n.gif";\r
- gsISearchS = "wht_fts_h.gif";\r
- gsIGlossary = "wht_glo_n.gif";\r
- gsIGlossaryS = "wht_glo_h.gif";\r
- gsIWebSearch = "wht_ws.gif";\r
- gsIWebSearchD = "wht_ws_g.gif";\r
- gsIBanner = "wht_logo1.gif";\r
- gsIGo = "wht_go.gif";\r
- setBackgroundcolor("#99ccff");\r
- \r
- setAlignment("left");\r
- \r
- \r
- if (!gsBgImage)\r
- {\r
- setButtonBgColor("toc", gsBgColor);\r
- setButtonBgColor("idx", gsBgColor);\r
- setButtonBgColor("fts", gsBgColor);\r
- setButtonBgColor("glo", gsBgColor);\r
- setButtonBgColor("toc", gsTBSelectedBgColor, true);\r
- setButtonBgColor("idx", gsTBSelectedBgColor, true);\r
- setButtonBgColor("fts", gsTBSelectedBgColor, true);\r
- setButtonBgColor("glo", gsTBSelectedBgColor, true);\r
- setButtonBgColor("toc","#99ccff");\r
-setButtonBgColor("idx","#99ccff");\r
-setButtonBgColor("fts","#99ccff");\r
-setButtonBgColor("glo","#99ccff");\r
-setButtonBgColor("websearch","#99ccff");\r
-setButtonBgColor("searchform","");\r
-setButtonBgColor("banner","");\r
-\r
- }\r
- setButtonBgColor("toc","#639ace", true);\r
-setButtonBgColor("idx","#639ace", true);\r
-setButtonBgColor("fts","#639ace", true);\r
-setButtonBgColor("glo","#639ace", true);\r
-setButtonBgColor("websearch","#639ace", true);\r
-setButtonBgColor("searchform","", true);\r
-setButtonBgColor("banner","", true);\r
-\r
- addButton("toc",BTN_TEXT|BTN_IMG,"Contents","","","","",0,0,"","","","","","");\r
-addButton("fts",BTN_TEXT|BTN_IMG,"Search","","","","",0,0,"","","","","","");\r
-addButton("glo",BTN_TEXT|BTN_IMG,"Glossary","","","","",0,0,"","","","","","");\r
-addButton("searchform",BTN_TEXT,"","","","","",0,0,"","","","","","");\r
-addButton("banner",BTN_IMG,"eHelp Corporation","","","","",0,0,"","","","","","");\r
-\r
- addButton("blankblock");\r
- writeStyle(false);\r
- ReSortToolbarButtons();\r
- writeToolBar();\r
-}\r
-else\r
- document.location.reload();\r
-//-->\r
-</script>\r
-</body>\r
-</html>
\ No newline at end of file
+++ /dev/null
-<?xml version='1.0' encoding='ISO-8859-1' ?>\r
-<topictemplate>\r
- <topic type="normal">\r
- <add tag="head" pos="endbefore" >\r
- <![CDATA["<script type=\"text/javascript\" language=\"javascript1.2\" src=\"";SF_MESSAGE_JS;"\"></script>\r
-<script type=\"text/javascript\" language=\"javascript\" src=\"";SF_VERSION_JS;"\"></script>\r
-<script type=\"text/javascript\" language=\"javascript1.2\" src=\"";SF_PROXY_JS ;"\"></script>\r
-<script type=\"text/javascript\" language=\"javascript1.2\" src=\"";SF_UTILS_JS;"\"></script>\r
-<script type=\"text/javascript\" language=\"javascript1.2\" src=\"";SF_TOPIC_JS;"\"></script>\r
-";]]>\r
- </add>\r
- <add tag="body" pos="beginafter">\r
- <![CDATA["<script type=\"text/javascript\" language=\"javascript1.2\">\r
-<!--\r
-if (window.gbWhTopic)\r
-{\r
- if (window.addTocInfo)\r
- {\r
- ";\r
- OutputInTopicNavBarDataToc("addTocInfo(\"%s\");\r\n");\r
- OutputInTopicNavBarDataBrowse("addAvenueInfo(\"%s\",\"%s\",\"%s\");\r\n");\r
- OutputInTopicNavBarDataButtons("addButton(%s);\r\n");\r
- "\r
- }\r
- if (window.writeBtnStyle)\r
- writeBtnStyle();\r
-\r
- if (window.writeIntopicBar)\r
- writeIntopicBar(";WH_WEBSKIN.topic.bar.top.pos;");\r
-\r
- if (window.setRelStartPage)\r
- {\r
- ";\r
- OutputInTopicNavBarDataHomePage("setRelStartPage(\"%s\");\r\n");\r
- OutputInTopicNavBarDataWebSearch.href("addSearchFormHref(\"%s\");\r\n");\r
- "\r
- autoSync(";WH_USER_OPTIONS.autosync_toc;");\r
- sendSyncInfo();\r
- sendAveInfoOut();\r
- }\r
-}\r
-else\r
- document.location.reload();\r
-//-->\r
-</script>"]]> \r
- </add>\r
- <add tag="body" pos="endbefore">\r
- <![CDATA["<script type=\"text/javascript\" language=\"javascript1.2\">\r
-<!--\r
-if (window.writeIntopicBar)\r
- writeIntopicBar(";WH_WEBSKIN.topic.bar.bottom.pos;");\r
-//-->\r
-</script>";\r
-OutputInTopicNavBarDataWebSearch.form();]]> \r
- </add>\r
- </topic>\r
- <topic type="frameset">\r
- <add tag="head" pos="endbefore" >\r
- <![CDATA["<script type=\"text/javascript1.2\" language=\"javascript\" src=\"";SF_MESSAGE_JS;"\"></script>\r
-<script type=\"text/javascript\" language=\"javascript\" src=\"";SF_VERSION_JS;"\"></script>\r
-<script type=\"text/javascript\" language=\"javascript1.2\" src=\"";SF_PROXY_JS ;"\"></script>\r
-<script type=\"text/javascript\" language=\"javascript1.2\" src=\"";SF_UTILS_JS;"\"></script>\r
-<script type=\"text/javascript\" language=\"javascript1.2\" src=\"";SF_FRAMESET_JS;"\"></script>\r
-<script type=\"text/javascript\" language=\"javascript1.2\">\r
-<!--\r
-if (window.setRelStartPage)\r
-{\r
-";\r
- OutputInTopicNavBarDataHomePage("setRelStartPage(\"%s\");\r\n");\r
- OutputInTopicNavBarDataToc("addTocInfo(\"%s\");\r\n");\r
- OutputInTopicNavBarDataBrowse("addAvenueInfo(\"%s\",\"%s\",\"%s\");\r\n");\r
-"\r
-}\r
-if (window.autoSync)\r
- autoSync(";WH_USER_OPTIONS.autosync_toc;");\r
-//-->\r
-</script>\r
-";]]>\r
- </add>\r
- </topic>\r
-</topictemplate>\r
+++ /dev/null
-RegisterListener2(this, WH_MSG_GETSTARTFRAME);\r
-RegisterListener2(this, WH_MSG_GETDEFAULTTOPIC);\r
-RegisterListener2(this, WH_MSG_MINIBARORDER);\r
-RegisterListener2(this, WH_MSG_TOOLBARORDER);\r
-RegisterListener2(this, WH_MSG_ISSEARCHSUPPORT);\r
-RegisterListener2(this, WH_MSG_ISSYNCSSUPPORT);\r
-RegisterListener2(this, WH_MSG_ISAVENUESUPPORT);\r
-RegisterListener2(this, WH_MSG_GETPANETYPE);\r
-RegisterListener2(this, WH_MSG_GETPANES);\r
-RegisterListener2(this, WH_MSG_RELOADNS6);\r
-\r
-if (gbNav6)\r
-{\r
- var gnReload=0;\r
- setTimeout("delayReload();",5000);\r
-}\r
-\r
-function delayReload()\r
-{\r
- if(!gnReload)\r
- {\r
- if(nViewFrameType&&nViewFrameType==1)\r
- document.location=document.location;\r
- }\r
-}\r
-\r
-var gsToolbarOrder = "toc|fts|glo|blankblock|banner";\r
-var gsMinibarOrder = "blankblock|hide2|";\r
-\r
-var gsTopic = "files/introduction_to_supervisor.htm";\r
-\r
-if (location.hash.length > 1)\r
- gsTopic = location.hash.substring(1);\r
-\r
-function setToolbarOrder(sOrder)\r
-{\r
- gsToolbarOrder = sOrder;\r
-}\r
-\r
-function setMinibarOrder(sOrder)\r
-{\r
- gsMinibarOrder = sOrder;\r
-}\r
-\r
-function onSendMessageX(oMsg)\r
-{\r
- var nMsgId = oMsg.nMessageId;\r
- if (nMsgId == WH_MSG_GETSTARTFRAME)\r
- {\r
- oMsg.oParam.oFrame = this;\r
- return false;\r
- }\r
- else if (nMsgId == WH_MSG_GETDEFAULTTOPIC)\r
- {\r
- if (this.cMRServer && cMRServer.m_strVersion)\r
- {\r
- if (cMRServer.m_strURLTopic);\r
- {\r
- oMsg.oParam.sTopic = cMRServer.m_strURLTopic;\r
- return false;\r
- }\r
-\r
- }\r
- oMsg.oParam.sTopic = gsTopic;\r
- return false;\r
- }\r
- else if (nMsgId == WH_MSG_TOOLBARORDER)\r
- {\r
- var oMsg1 = new whMessage(WH_MSG_GETPANES, this, 1, null);\r
- if (SendMessage(oMsg1))\r
- {\r
- if (oMsg1.oParam)\r
- {\r
- if (this.cMRServer && cMRServer.m_strVersion)\r
- {\r
- var aToolbarOrder=cMRServer.m_strAgentList.split(";");\r
- var i=0;\r
- for (i=0;i<aToolbarOrder.length;i++)\r
- aToolbarOrder[i]=transferANToPN2(aToolbarOrder[i]);\r
- aToolbarOrder[aToolbarOrder.length] = "blankblock";\r
- if (cMRServer.m_bShowSearchInput)\r
- {\r
- aToolbarOrder[aToolbarOrder.length] = "searchform";\r
- }\r
- aToolbarOrder[aToolbarOrder.length] = "banner";\r
- var aToolbarOrderNew = new Array();\r
- for (i=0;i<aToolbarOrder.length;i++)\r
- {\r
- if (isAPane(aToolbarOrder[i]))\r
- {\r
- if (oMsg1.oParam.aPanes && oMsg1.oParam.aPanes.length)\r
- {\r
- for (var j=0;j<oMsg1.oParam.aPanes.length;j++)\r
- {\r
- if (aToolbarOrder[i] == oMsg1.oParam.aPanes[j].sPaneName)\r
- {\r
- aToolbarOrderNew[aToolbarOrderNew.length] = aToolbarOrder[i];\r
- break;\r
- }\r
- }\r
- }\r
- }\r
- else\r
- aToolbarOrderNew[aToolbarOrderNew.length] = aToolbarOrder[i];\r
- }\r
- oMsg.oParam = aToolbarOrderNew.join("|");\r
- return false;\r
- }\r
- }\r
- }\r
- oMsg.oParam = gsToolbarOrder;\r
- return false;\r
- }\r
- else if (nMsgId == WH_MSG_MINIBARORDER)\r
- {\r
- oMsg.oParam = gsMinibarOrder;\r
- return false;\r
- }\r
- else if (nMsgId == WH_MSG_ISSYNCSSUPPORT)\r
- {\r
- if (this.cMRServer && cMRServer.m_strVersion)\r
- {\r
- if (cMRServer.m_bShowSync)\r
- oMsg.oParam=true;\r
- else\r
- oMsg.oParam=false;\r
- return false;\r
- }\r
- else\r
- {\r
- if(nViewFrameType)\r
- {\r
- oMsg.oParam= (nViewFrameType < 3);\r
- return false;\r
- }\r
- }\r
- }\r
- else if (nMsgId == WH_MSG_ISAVENUESUPPORT)\r
- {\r
- if (this.cMRServer && cMRServer.m_strVersion)\r
- {\r
- if (cMRServer.m_bShowBrowseSequences)\r
- oMsg.oParam=true;\r
- else\r
- oMsg.oParam=false;\r
- }\r
- else\r
- {\r
- oMsg.oParam=true;\r
- }\r
- return false;\r
- }\r
- else if (nMsgId == WH_MSG_ISSEARCHSUPPORT)\r
- {\r
- if(nViewFrameType)\r
- {\r
- oMsg.oParam= (nViewFrameType < 3);\r
- return false;\r
- }\r
- }\r
- else if (nMsgId == WH_MSG_GETPANETYPE)\r
- {\r
- if(nViewFrameType)\r
- {\r
- var oPaneInfo = new Object();\r
- oPaneInfo.nType = nViewFrameType;\r
- oPaneInfo.sPaneURL = strPane;\r
- oMsg.oParam = oPaneInfo;\r
- return false;\r
- }\r
- }\r
- else if (nMsgId == WH_MSG_GETPANES)\r
- {\r
- if (this.cMRServer && cMRServer.m_strVersion)\r
- {\r
- var oPanes = new Object();\r
- var aAgentNames = null;\r
- if (cMRServer.m_strDefAgent)\r
- oPanes.sDefault = transferAgentNameToPaneName(cMRServer.m_strDefAgent);\r
-\r
- aPanes = new Array();\r
- for(var i=0; i< cMRServer.m_cAgents.length; i++)\r
- {\r
- var nCur = aPanes.length;\r
- aPanes[nCur] = new Object();\r
- aPanes[nCur].sPaneName = transferAgentNameToPaneName(cMRServer.m_cAgents[i].m_strID);\r
- aPanes[nCur].sPaneURL = cMRServer.m_cAgents[i].m_strURL;\r
- }\r
- oPanes.aPanes = aPanes;\r
- oMsg.oParam = oPanes;\r
- return false;\r
- }\r
- else\r
- {\r
- oMsg.oParam = null;\r
- return false;\r
- }\r
- }\r
- else if(nMsgId==WH_MSG_RELOADNS6)\r
- {\r
- if(gbNav6)\r
- gnReload=1;\r
- return false;\r
- }\r
- return true;\r
-}\r
-\r
-function transferANToPN2(sAN)\r
-{\r
- if (sAN =="toc")\r
- return "toc";\r
- else if (sAN =="ndx")\r
- return "idx";\r
- else if (sAN =="nls")\r
- return "fts";\r
- else if (sAN =="Glossary")\r
- return "glo";\r
- else if (sAN =="WebSearch")\r
- return "websearch";\r
- else if (sAN.indexOf("custom_")==0);\r
- return "custom" + sAN.substring(7);\r
- return sAN;\r
-}\r
-\r
-function transferAgentNameToPaneName(sAgentName)\r
-{\r
- if (sAgentName =="toc")\r
- return "toc";\r
- else if (sAgentName =="ndx")\r
- return "idx";\r
- else if (sAgentName =="nls")\r
- return "fts";\r
- else if (sAgentName =="gls")\r
- return "glo";\r
- return "";\r
-}\r
-\r
-function isAPane(sPaneName)\r
-{\r
- if (sPaneName == "toc" || sPaneName == "idx" || sPaneName == "fts" || sPaneName == "glo")\r
- return true;\r
- else\r
- return false;\r
-}
\ No newline at end of file
+++ /dev/null
-window.whname="wh_stub";\r
-function getframehandle(frames,framename)\r
-{\r
- var frame=null;\r
- if(null==frames) return null;\r
- for(var i=0;i<frames.length;i++)\r
- {\r
- if(typeof(frames[i].name)!="unknown")\r
- {\r
- if(frames[i].name==framename)\r
- return frames[i];\r
- if(frames[i].frames.length>0)\r
- frame=getframehandle(frames[i].frames,framename);\r
- if(null!=frame)\r
- return frame;\r
- }\r
- }\r
- return frame;\r
-}\r
-\r
-function AddToArray(arr,obj)\r
-{\r
- var bFound=false;\r
- for(var i=0;i<arr.length;i++){\r
- if(arr[i]==obj){\r
- bFound=true;\r
- break;\r
- }\r
- else if(arr[i]==null){\r
- break;\r
- }\r
- }\r
- if(!bFound) arr[i]=obj;\r
-}\r
-\r
-var gArrayRegistedMessage=new Array();\r
-var gArrayCompoentsArray=new Array();\r
-\r
-function GetComponentsArray(nMessageId)\r
-{\r
- var len=gArrayRegistedMessage.length;\r
- for(var i=0;i<len;i++)\r
- {\r
- if(gArrayRegistedMessage[i]==nMessageId){\r
- if(gArrayCompoentsArray.length>i)\r
- return gArrayCompoentsArray[i];\r
- else\r
- return null;\r
- }\r
- }\r
- return null;\r
-}\r
-\r
-function CreateComponentsArray(nMessageId)\r
-{\r
- var len=gArrayRegistedMessage.length;\r
- gArrayRegistedMessage[len]=nMessageId;\r
- gArrayCompoentsArray[len]=new Array();\r
- return gArrayCompoentsArray[len];\r
-}\r
-\r
-function listener(sName,oWindow)\r
-{\r
- this.sName=sName;\r
- this.oWindow=oWindow;\r
-}\r
-\r
-function RegisterListener(windowName,nMessageId)\r
-{\r
- var arrayComponents=GetComponentsArray(nMessageId);\r
- if(arrayComponents==null)\r
- arrayComponents=CreateComponentsArray(nMessageId);\r
- \r
- if(arrayComponents!=null)\r
- {\r
- for (var i=0;i<arrayComponents.length;i++)\r
- {\r
- if (arrayComponents[i].sName == windowName)\r
- return false;\r
- }\r
- var oListener=new listener(windowName,null);\r
- AddToArray(arrayComponents,oListener);\r
- return true;\r
- }\r
- else\r
- return false;\r
-}\r
-\r
-function RegisterListener2(oWindow,nMessageId)\r
-{\r
- var arrayComponents=GetComponentsArray(nMessageId);\r
- if(arrayComponents==null)\r
- arrayComponents=CreateComponentsArray(nMessageId);\r
- \r
- if(arrayComponents!=null)\r
- {\r
- var oListener=new listener("",oWindow);\r
- AddToArray(arrayComponents,oListener);\r
- return true;\r
- }\r
- else\r
- return false;\r
-}\r
-\r
-function UnRegisterListener2(oWindow,nMessageId)\r
-{\r
- var arrayComponents=GetComponentsArray(nMessageId);\r
- if(arrayComponents!=null)\r
- {\r
- for(var i=0;i<arrayComponents.length;i++)\r
- {\r
- if(arrayComponents[i].oWindow==oWindow)\r
- {\r
- removeItemFromArray(arrayComponents,i);\r
- return true;\r
- }\r
- }\r
- }\r
- else\r
- return false;\r
-}\r
-\r
-function SendMessage(oMessage)\r
-{\r
- var bDelivered=false;\r
- var arrayComponents=GetComponentsArray(oMessage.nMessageId);\r
- if(arrayComponents!=null&&arrayComponents.length>0){\r
- for(var i=0;i<arrayComponents.length;i++)\r
- {\r
- if(null!=arrayComponents[i])\r
- {\r
- var pFrame;\r
- if(arrayComponents[i].oWindow==null)\r
- pFrame=getframehandle(frames,arrayComponents[i].sName);\r
- else\r
- pFrame=arrayComponents[i].oWindow;\r
- if(null!=pFrame)\r
- {\r
- if(pFrame.onSendMessageX)\r
- {\r
- bDelivered=true;\r
- if(!pFrame.onSendMessageX(oMessage))\r
- break;\r
- }\r
- if(pFrame.onSendMessage)\r
- {\r
- bDelivered=true;\r
- if(!pFrame.onSendMessage(oMessage))\r
- break;\r
- }\r
- }\r
- }\r
- }\r
- }\r
- return bDelivered;\r
-}
\ No newline at end of file
+++ /dev/null
-var gaButtons=new Array();\r
-var gaTypes=new Array();\r
-var gaBtnBgColor=new Array();\r
-var gaSelBtnBgColor=new Array();\r
-var gaOrders=null;\r
-var gaObjBtns=new Array();\r
-var BTN_TEXT=1;\r
-var BTN_IMG=2;\r
-var BTN_IMG_TOP=4\r
-var BTN_IMG_BOTTOM=8;\r
-var BTN_IMG_LEFT=16;\r
-var BTN_IMG_RIGHT=32;\r
-var gsAlign="left";\r
-var gsBgImage="";\r
-var gsBgColor="#99ccff";\r
-var gsShadow="#cccccc";\r
-var gsTBBgImage="";\r
-var gnShowHideStyle=0;\r
-var goTocInfo=null;\r
-var gbTocInfoInited=false;\r
-var goWebSearch=null;\r
-var gsTBFontFamily="Arial";\r
-var gsTBFontSize="xx-small";\r
-var gsTBFontColor="#003063";\r
-var gsTBDarkColor="#808080";\r
-var gsTBLightColor="#FFFAFA";\r
-var gsTBSelectedBgColor="#639ace";\r
-var gsTBFontSelectedColor="#ffffff";\r
-var gaOnLoads=new Array();\r
-var goWebSearchEnable=true;\r
-\r
-var goShow=null;\r
-var goHide=null;\r
-var goHide2=null;\r
-var goSync=null;\r
-\r
-var goToc=null;\r
-var goIdx=null;\r
-var goFts=null;\r
-var goGlo=null;\r
-var goNext=null;\r
-var goPrev=null;\r
-\r
-var LAYOUT=1;\r
-var HLAYOUT=0;\r
-var VLAYOUT=1;\r
-var ALIGN=2;\r
-var BALIGN=0;\r
-var EALIGN=2;\r
-var goEl=null;\r
-var gnRE=0;\r
-\r
-var gnButtonLayout=0;\r
-var gnShowHide=-1;\r
-\r
-var gbEqualSize=false;\r
-var goCusButton=new Array();\r
-var gsBtnStyle="";\r
-var gaAvenues=null;\r
-var gsCurAveName="";\r
-\r
-var gsIToc=null;\r
-var gsITocS=null;\r
-var gsIIndex=null;\r
-var gsIIndexS=null;\r
-var gsISearch=null;\r
-var gsISearchS=null;\r
-var gsIGlossary=null;\r
-var gsIGlossaryS=null;\r
-var gsIBanner=null;\r
-var gsIGo=null;\r
-\r
-var gsIHide=null;\r
-var gsIPrev=null;\r
-var gsINext=null;\r
-var gsISync=null;\r
-var gsINextD=null;\r
-var gsIPrevD=null;\r
-var gsIWebSearch=null;\r
-var gsIWebSearchD=null;\r
-\r
-var gbAveButttnInited=false;\r
-var goNextParent=null;\r
-var goPrevParent=null;\r
-var gsSearchPrompt="- Search -";\r
-\r
-var gstrSearch="";\r
-var gbPreview=false;\r
-gbPreview=false; \r
-var gsSearchFormTitle="";\r
-var gnHasNavPane=-1;\r
-var gbInitBtn=false;\r
-var gaBtns=new Array();\r
-var gbWhTBar=false;\r
-var goTextFont=null;\r
-var goSelTextFont=null;\r
-var gsPane="";\r
-var gbNeedUpdateAve=false;\r
-var gbUpdateTimerCount=0;\r
-\r
-function setGoImage(sGoImage)\r
-{\r
- if(sGoImage)\r
- {\r
- gsIGo=sGoImage;\r
- }\r
-}\r
-\r
-function btnBgColor(sType,sColor)\r
-{\r
- this.sType=sType;\r
- this.sColor=sColor;\r
-}\r
-\r
-function setBackground(sBgImage)\r
-{\r
- gsBgImage=sBgImage;\r
-}\r
-\r
-function setBackgroundcolor(sBgColor)\r
-{\r
- gsBgColor=sBgColor;\r
-}\r
-\r
-function setAlignment(strAlignment)\r
-{\r
- gnButtonLayout=0;\r
- if(strAlignment=="left")\r
- {\r
- gnButtonLayout=HLAYOUT|BALIGN;\r
- }\r
- else if(strAlignment=="right")\r
- {\r
- gnButtonLayout=HLAYOUT|EALIGN;\r
- }\r
- else if(strAlignment=="top")\r
- {\r
- gnButtonLayout=VLAYOUT|BALIGN;\r
- }\r
- else if(strAlignment=="bottom")\r
- {\r
- gnButtonLayout=VLAYOUT|EALIGN;\r
- }\r
-}\r
-\r
-function writeStyle(bMiniBar)\r
-{\r
- var sStyle="";\r
- sStyle+="<style type='text/css'>\n";\r
- sStyle+="<!--\n";\r
- sStyle+=".clsBtnNormal {\n";\r
- if(!(gbNav4&&!gbNav6))\r
- if (bMiniBar)\r
- sStyle+="padding:2px;\n";\r
- else\r
- sStyle+="padding:5px;\n";\r
- sStyle+="cursor:hand;\n";\r
- sStyle+="font-family:"+gsTBFontFamily+";\n";\r
- sStyle+="font-size:"+gsTBFontSize+";\n";\r
- sStyle+="color:"+gsTBFontColor+";}\n";\r
-\r
- sStyle+=".clsNoBNormal {\n";\r
- sStyle+="padding-left:2px;padding-right:2px;\n";\r
- sStyle+="cursor:hand;\n";\r
- sStyle+="font-family:"+gsTBFontFamily+";\n";\r
- sStyle+="font-size:"+gsTBFontSize+";\n";\r
- sStyle+="color:"+gsTBFontColor+";}\n";\r
-\r
- sStyle+=".clsNotBtn {\n";\r
- if(!(gbNav4&&!gbNav6))\r
- if (bMiniBar)\r
- sStyle+="padding:2px;\n";\r
- else\r
- sStyle+="padding:5px;\n";\r
- sStyle+="font-family:"+gsTBFontFamily+";\n";\r
- sStyle+="font-size:"+gsTBFontSize+";\n";\r
- sStyle+="color:"+gsTBFontColor+";}\n";\r
-\r
- sStyle+=".clsBtnUp{\n";\r
- if(!(gbNav4&&!gbNav6))\r
- if (bMiniBar)\r
- sStyle+="padding:1px;\n";\r
- else\r
- sStyle+="padding:4px;\n";\r
- sStyle+="border-bottom:"+gsTBDarkColor+" 1px solid;\n";\r
- sStyle+="border-left:"+gsTBLightColor+" 1px solid;\n";\r
- sStyle+="border-right:"+gsTBDarkColor+" 1px solid;\n";\r
- sStyle+="border-top:"+gsTBLightColor+" 1px solid;\n";\r
- sStyle+="cursor:hand;";\r
- sStyle+="font-family:"+gsTBFontFamily+";\n";\r
- sStyle+="font-size:"+gsTBFontSize+";\n";\r
- sStyle+="color:"+gsTBFontColor+";}\n";\r
-\r
- sStyle+=".clsNoBUp{\n";\r
- sStyle+="padding-left:2px;padding-right:2px;\n";\r
- sStyle+="cursor:hand;";\r
- sStyle+="font-family:"+gsTBFontFamily+";\n";\r
- sStyle+="font-size:"+gsTBFontSize+";\n";\r
- sStyle+="color:"+gsTBFontColor+";}\n";\r
-\r
- sStyle+=".clsBtnDown{\n";\r
- if(!(gbNav4&&!gbNav6))\r
- if (bMiniBar)\r
- sStyle+="padding:1px;\n";\r
- else\r
- sStyle+="padding:4px;\n";\r
- sStyle+="border-bottom:"+gsTBLightColor+" 1px solid;\n";\r
- sStyle+="border-left:"+gsTBDarkColor+" 1px solid;\n";\r
- sStyle+="border-right:"+gsTBLightColor+" 1px solid;\n";\r
- sStyle+="border-top:"+gsTBDarkColor+" 1px solid;\n";\r
- sStyle+="color:"+gsTBFontColor+";\n";\r
- sStyle+="cursor:hand;\n";\r
- sStyle+="font-family:"+gsTBFontFamily+";\n";\r
- sStyle+="font-size:"+gsTBFontSize+";}\n";\r
-\r
- sStyle+=".clsNoBDown{\n";\r
- sStyle+="padding-left:2px;padding-right:2px;\n";\r
- sStyle+="cursor:hand;";\r
- sStyle+="font-family:"+gsTBFontFamily+";\n";\r
- sStyle+="font-size:"+gsTBFontSize+";\n";\r
- sStyle+="color:"+gsTBFontColor+";}\n";\r
-\r
- sStyle+=getDefaultButtonFont();\r
- sStyle+=gsBtnStyle;\r
- sStyle+=".clsToolbarBackground{\n";\r
- sStyle+="margin:2px;}\n";\r
- sStyle+="-->\n";\r
- sStyle+=" body {\n";\r
- if (gsBgImage)\r
- sStyle+="border-top:"+gsBgColor+" 1px solid;}\n";\r
- else\r
- sStyle+="border-top:black 1px solid;}\n";\r
- sStyle+="-->\n";\r
- sStyle+="</style>\n";\r
- document.write(sStyle);\r
-}\r
-\r
-function button(sType,sText,nWidth,nHeight)\r
-{\r
- this.sType=sType;\r
- this.sText=sText;\r
- this.nWidth=nWidth;\r
- this.nHeight=nHeight;\r
- \r
- this.aIs=new Array();\r
- var i=0;\r
- while(button.arguments.length>i+4)\r
- {\r
- if (button.arguments[4+i])\r
- this.aIs[i]=_getFullPath(_getPath(document.location.href),button.arguments[4+i]);\r
- else\r
- this.aIs[i]="";\r
- i++;\r
- }\r
-}\r
-\r
-function getImage(oImage,sTitle)\r
-{\r
- if(oImage.aIs[0])\r
- {\r
- var sI="";\r
- if(sTitle=="")\r
- sTitle=oImage.sText;\r
- sI+="<img alt=\""+sTitle+"\" src=\""+oImage.aIs[0]+"\"";\r
- if(oImage.nWidth>0)\r
- sI+=" width="+oImage.nWidth;\r
- if(oImage.nHeight>0)\r
- sI+=" height="+oImage.nHeight;\r
- sI+=" border=no align=\"absmiddle\">";\r
- return sI;\r
- }\r
- return "";\r
-}\r
-\r
-function getCurrentAveName()\r
-{\r
- var oSelect=getElement("avenue");\r
- if(oSelect)\r
- return oSelect.value;\r
- else\r
- return "";\r
-}\r
-\r
-function updateWebSearch(bEnable)\r
-{\r
- var oWebSearch=getElement("btnwebsearch");\r
- var oWebSearchParent=null;\r
- if(oWebSearch)\r
- oWebSearchParent=getParentNode(oWebSearch);\r
- goWebSearchEnable=bEnable;\r
- if(oWebSearchParent)\r
- {\r
- if(bEnable)\r
- enableButton(oWebSearchParent,goWebSearch);\r
- else\r
- disableButton(oWebSearchParent,goWebSearch);\r
- }\r
-\r
-}\r
-\r
-function setState(oEL,sState)\r
-{\r
- if(gbNav6)\r
- oEL.setAttribute("state",sState);\r
- else\r
- oEL.state=sState; \r
-}\r
-\r
-function updateAvenueIfNeeded()\r
-{\r
- gbUpdateTimerCount--;\r
- if (gbNeedUpdateAve&&gbUpdateTimerCount==0)\r
- {\r
- updateAvenue();\r
- }\r
-}\r
-\r
-function updateAvenue()\r
-{\r
- var sSelect=getAvenueHTML(gaAvenues);\r
- var oSelect=getElement("avenue");\r
- if(oSelect)\r
- {\r
- if(gbNav6)\r
- {\r
- var oParent=getParentNode(oSelect);\r
- \r
- if(oParent)\r
- {\r
- removeThis(oSelect);\r
- oParent.insertAdjacentHTML("afterBegin",sSelect);\r
- }\r
- }\r
- else\r
- oSelect.outerHTML=sSelect; \r
- oSelect=getElement("avenue");\r
- if(isValidAvenue(gaAvenues,gsCurAveName))\r
- oSelect.value=gsCurAveName;\r
- }\r
- updateAveButton();\r
-}\r
-\r
-function initAveButtonObj()\r
-{\r
- if(!gbAveButttnInited)\r
- {\r
- var oNext=getElement("btnavnext");\r
- if(oNext)\r
- goNextParent=getParentNode(oNext);\r
-\r
- var oPrev=getElement("btnavprev");\r
- if(oPrev)\r
- goPrevParent=getParentNode(oPrev);\r
- }\r
- gbAveButttnInited=true;\r
-}\r
-\r
-function disableAveButton()\r
-{\r
- initAveButtonObj();\r
- if(goNextParent)\r
- disableButton(goNextParent,goNext);\r
- if(goPrevParent)\r
- disableButton(goPrevParent,goPrev);\r
-}\r
-\r
-function disableButton(oEl,oBtn)\r
-{\r
- setState(oEl,"disable");\r
- var sPF=oEl.className.substring(0,6);\r
- oEl.className=sPF+"Normal";\r
- var oIs=getElementsByTag(oEl,"img");\r
- if(oIs.length>0&&oBtn&&oBtn.aIs&&oBtn.aIs.length>3)\r
- {\r
- if(oBtn.aIs[3])\r
- oIs[0].src=oBtn.aIs[3];\r
- }\r
- else\r
- oEl.style.visibility="hidden";\r
-}\r
-\r
-function enableButton(oEl,oBtn)\r
-{\r
- setState(oEl,"normal");\r
- if(oEl==goEl)\r
- {\r
- var sPF=oEl.className.substring(0,6);\r
- oEl.className=sPF+"Up";\r
- }\r
- var oIs=getElementsByTag(oEl,"img");\r
- if(oIs.length>0&&oBtn&&oBtn.aIs&&oBtn.aIs.length>0)\r
- {\r
- if(oBtn.aIs[0])\r
- oIs[0].src=oBtn.aIs[0];\r
- }\r
- oEl.style.visibility="visible";\r
-}\r
-\r
-function updateAveButton()\r
-{\r
- initAveButtonObj(); \r
- var strAveName=getCurrentAvenue();\r
- if(strAveName!="")\r
- {\r
- if(gaAvenues)\r
- {\r
- for(var i=0;i<gaAvenues.length;i++)\r
- if(gaAvenues[i].sName==strAveName)\r
- {\r
- if(goNextParent)\r
- {\r
- if(gaAvenues[i].sNext!=null&&gaAvenues[i].sNext!="")\r
- enableButton(goNextParent,goNext);\r
- else\r
- disableButton(goNextParent,goNext);\r
- }\r
- if(goPrevParent)\r
- {\r
- if(gaAvenues[i].sPrev!=null&&gaAvenues[i].sPrev!="")\r
- enableButton(goPrevParent,goPrev);\r
- else\r
- disableButton(goPrevParent,goPrev);\r
- } \r
- break;\r
- }\r
- }\r
- }\r
- else\r
- {\r
- var bNext=false;\r
- var bPrev=false;\r
- if(gaAvenues&&gaAvenues.length>0)\r
- {\r
- for(var i=0;i<gaAvenues.length&&(!bNext||!bPrev);i++)\r
- {\r
- if(!bNext)\r
- if(gaAvenues[i].sNext!=null&&gaAvenues[i].sNext!="")\r
- bNext=true; \r
- if(!bPrev)\r
- if(gaAvenues[i].sPrev!=null&&gaAvenues[i].sPrev!="")\r
- bPrev=true; \r
- }\r
- }\r
- if(goNextParent)\r
- {\r
- if(bNext)\r
- enableButton(goNextParent,goNext);\r
- else\r
- disableButton(goNextParent,goNext);\r
- }\r
- \r
- if(goPrevParent)\r
- {\r
- if(bPrev)\r
- enableButton(goPrevParent,goPrev);\r
- else\r
- disableButton(goPrevParent,goPrev);\r
- }\r
- }\r
- \r
-}\r
-\r
-function isValidAvenue(aAvenues,sValue)\r
-{\r
- if(aAvenues)\r
- {\r
- for(var i=0;i<aAvenues.length;i++)\r
- {\r
- if(aAvenues[i].sName==sValue)\r
- return true;\r
- }\r
- }\r
- return false;\r
-}\r
-\r
-function getAvenueHTML(aAvenues)\r
-{\r
- var sSelect="<select id=\"avenue\" size=\"1\" name=\"avenue\" onchange=\"updateAveButton();\">";\r
- sSelect+="<option value=\"\" selected> - Select Avenue - </option>";\r
- if(aAvenues)\r
- {\r
- for(var i=0;i<aAvenues.length;i++)\r
- {\r
- sSelect+="<option value=\""+aAvenues[i].sName+"\">"+aAvenues[i].sName+"</option>";\r
- }\r
- }\r
- sSelect+="</select>";\r
- return sSelect;\r
-}\r
-\r
-function addAvenueSelection()\r
-{\r
- var oMsg=new whMessage(WH_MSG_GETAVIAVENUES,this,1,new Object());\r
- var sButton="";\r
- if(SendMessage(oMsg))\r
- {\r
- sButton=getAvenueHTML(oMsg.oParam.aAvenues);\r
- }\r
- else\r
- {\r
- sButton=getAvenueHTML(null);\r
- }\r
- gaButtons[gaButtons.length]="<td NOWRAP align=\"center\" valign=\"middle\">"+sButton+"</td>";\r
-}\r
-\r
-function setSearchFormTitle(sTitle)\r
-{\r
- gsSearchFormTitle=sTitle;\r
-}\r
-\r
-function highLightIfNeeded()\r
-{\r
- if(document.searchForm.searchString.value==gsSearchPrompt)\r
- {\r
- document.searchForm.searchString.select();\r
- }\r
-}\r
-\r
-function addSearchForm()\r
-{\r
- var sPropmptString=gsSearchPrompt;\r
-\r
- var nWidth=20;\r
- if(!nWidth) nWidth=20;\r
- if(gbNav4) nWidth=nWidth*.6;\r
-\r
- if(gsSearchFormTitle)\r
- sPropmptString="";\r
- var sButton="<table CELLSPACING=0 CELLPADDING=1><tr><td valign=\"middle\" NOWRAP class=\"clsNotBtn\"><span class=\"btnsearchform\">"+_textToHtml(gsSearchFormTitle)+"</span></td><td NOWRAP valign=\"middle\"><input class=\"inputsearchform\" type=\"text\" onfocus=\"highLightIfNeeded();\" name=\"searchString\" value=\""+sPropmptString+"\" size=\""+nWidth+"\"></td>";\r
- if(gbNav6)\r
- sButton="<form name=\"searchForm\" method=\"POST\" action=\"javascript:searchB()\">"+sButton;\r
- if("image"=="text")\r
- {\r
- sButton+="<td NOWRAP valign=\"middle\"><a class=\"searchbtn\" href=\"javascript:void(0);\" onclick=\"searchForm.submit(); return false;\"></a></td>";\r
- }\r
- else if("image"=="image"&&gsIGo)\r
- {\r
- sButton+="<td NOWRAP valign=\"middle\"><a class=\"searchbtn\" href=\"javascript:void(0);\" onclick=\"searchForm.submit(); return false;\">"\r
- sButton+="<img alt=\"Go\" src=\""+gsIGo+"\" border=0 align=\"absmiddle\"></a></td>";\r
- }\r
- sButton+="</tr></table>";\r
- if(gbNav6)\r
- sButton+="</form>";\r
- var nBtn=gaButtons.length;\r
- gaButtons[nBtn]="<td NOWRAP align=\"center\" valign=\"middle\">"+sButton+"</td>";\r
- gaTypes[nBtn]="searchform";\r
-}\r
-\r
-function getShowHide()\r
-{\r
- var sText="";\r
- var sI="";\r
- if(hasNavPane())\r
- {\r
- if(goHide)\r
- {\r
- if(gnShowHideStyle&BTN_TEXT)\r
- sText=goHide.sText;\r
- if(gnShowHideStyle&BTN_IMG)\r
- sI=getImage(goHide,"Hide");\r
- }\r
- }\r
- else\r
- {\r
- if(goShow)\r
- {\r
- if(gnShowHideStyle&BTN_TEXT)\r
- sText=goShow.sText;\r
- if(gnShowHideStyle&BTN_IMG)\r
- sI=getImage(goShow,"Show");\r
- }\r
- }\r
- var sButton=genButton(sText,sI,gnShowHideStyle);\r
- return sButton;\r
-}\r
-\r
-function addBanner(sImage)\r
-{\r
- if(sImage)\r
- {\r
- var nBtn=gaButtons.length;\r
- gaButtons[nBtn]="<td NOWRAP align=\"center\" valign=\"middle\"> <a href=\"javascript:void(0);\" onclick=\"showBanner();return false;\"><img alt=\"About WebHelp\"src=\""+sImage+"\" border=no align=\"absmiddle\"></a></td>";\r
- gaTypes[nBtn]="banner";\r
- }\r
-}\r
-\r
-function showBanner()\r
-{\r
- if (!gbPreview)\r
- {\r
- var nWidth=360;\r
- var nHeight=240;\r
- var nScreenWidth=screen.width;\r
- var nScreenHeight=screen.height;\r
- var nLeft=(nScreenWidth-nWidth)/2;\r
- var nTop=(nScreenHeight-nHeight)/2;\r
- if (gbIE4)\r
- {\r
- if (gbIE5)\r
- nHeight+=20;\r
- else\r
- nHeight+=40;\r
- window.showModalDialog("whskin_banner.htm","","dialogHeight:"+nHeight+"px;dialogWidth:"+nWidth+"px;resizable:no;status:no;scroll:no;help:no;center:yes;");\r
- }\r
- else\r
- window.open("whskin_banner.htm","banner","dependent,innerHeight="+nHeight+",innerWidth="+nWidth+",height="+nHeight+",width="+nWidth+",resizable=no,menubar=no,location=no,personalbar=no,status=no,scrollbar=no,toolbar=no,screenX="+nLeft+",screenY="+nTop);\r
- }\r
-}\r
-\r
-function addButton(sType,nStyle,sTitle,sHref,sOnClick,sOnMouseOver,sOnLoad,nWidth,nHeight,sI1,sI2,sI3,sI4,sI5,sI6)\r
-{\r
- var sButton="";\r
- var bMini=false;\r
- var sText="";\r
- var sI="";\r
- var bState=false;\r
- var nBtn=gaButtons.length;\r
- var bHref=false;\r
- if(sType=="show"&&isShowHideEnable())\r
- {\r
- var svTitle="Show Navigation Component";\r
- sButton="<a title=\""+svTitle+"\" id=\"btnshowhide\" class=\"btnshow\" href=\"javascript:void(0);\" onclick=\"showHidePane();return false;\">";\r
- gnShowHideStyle=nStyle;\r
- goShow=new button(sType,sTitle,nWidth,nHeight,sI1,sI2,sI3);\r
- gaObjBtns[nBtn]=goShow;\r
- if(gnShowHide!=-1)\r
- {\r
- nBtn=gnShowHide;\r
- }\r
- else\r
- {\r
- gnShowHide=nBtn;\r
- }\r
- sButton+=getShowHide();\r
- sButton+="</a>";\r
- bState=true;\r
- }\r
- else if(sType=="hide"&&isShowHideEnable())\r
- {\r
- var svTitle="Hide Navigation Component";\r
- sButton="<a title=\""+svTitle+"\" id=\"btnshowhide\" class=\"btnhide\" href=\"javascript:void(0);\" onclick=\"showHidePane();return false;\">";\r
- gnShowHideStyle=nStyle;\r
- goHide=new button(sType,sTitle,nWidth,nHeight,sI1,sI2,sI3);\r
- gaObjBtns[nBtn]=goHide;\r
- if(gnShowHide!=-1)\r
- {\r
- nBtn=gnShowHide;\r
- }\r
- else\r
- {\r
- gnShowHide=nBtn;\r
- }\r
- sButton+=getShowHide();\r
- sButton+="</a>";\r
- bState=true;\r
- }\r
- else if(sType=="hide2"&&(!gbNav4))\r
- {\r
- var svTitle="Hide Navigation Component";\r
- sButton="<a title=\""+svTitle+"\" id=\"btnhide\" class=\"btnhide\" href=\"javascript:void(0);\" onclick=\"showHidePane();return false;\">";\r
- gnShowHideStyle=nStyle;\r
- if(!sI1)\r
- sI1=gsIHide;\r
- goHide2=new button(sType,sTitle,nWidth,nHeight,sI1,sI2,sI3);\r
- gaObjBtns[nBtn]=goHide2;\r
- if(nStyle&BTN_TEXT)\r
- sText=goHide2.sText\r
- \r
- if(nStyle&BTN_IMG)\r
- sI=getImage(goHide2,svTitle);\r
- sButton+=genButton(sText,sI,nStyle);\r
- sButton+="</a>";\r
- bMini=true;\r
- }\r
- else if(sType=="synctoc")\r
- {\r
- var svTitle="Sync TOC";\r
- sButton="<a title=\""+svTitle+"\" id=\"btnsynctoc\" class=\"btnsynctoc\" href=\"javascript:void(0);\" onclick=\"syncWithShow();return false;\">";\r
- if(!sI1)\r
- sI1=gsISync;\r
- goSync=new button(sType,sTitle,nWidth,nHeight,sI1,sI2,sI3);\r
- gaObjBtns[nBtn]=goSync;\r
- if(nStyle&BTN_TEXT)\r
- sText=goSync.sText\r
- \r
- if(nStyle&BTN_IMG)\r
- sI=getImage(goSync,svTitle);\r
- sButton+=genButton(sText,sI,nStyle);\r
- sButton+="</a>";\r
- bMini=true;\r
- }\r
- else if(sType=="toc")\r
- {\r
- var svTitle="Contents";\r
- sButton="<a title=\""+svTitle+"\" id=\"btntoc\" class=\"btntoc\" href=\"javascript:void(0);\" onclick=\"showToc();return false;\">";\r
- if(!sI1)\r
- sI1=gsIToc;\r
- if(!sI2)\r
- sI2=gsITocS;\r
- if(!sI4)\r
- sI4=gsITocS;\r
- goToc=new button(sType,sTitle,nWidth,nHeight,sI1,sI2,sI3,sI4,sI5,sI6);\r
- gaObjBtns[nBtn]=goToc;\r
- if(nStyle&BTN_TEXT)\r
- sText=goToc.sText\r
- \r
- if(nStyle&BTN_IMG)\r
- sI=getImage(goToc,svTitle);\r
- sButton+=genButton(sText,sI,nStyle);\r
- sButton+="</a>";\r
- bState=true;\r
- }\r
- else if(sType=="idx")\r
- {\r
- var svTitle="Index";\r
- sButton="<a title=\""+svTitle+"\" id=\"btnidx\" class=\"btnidx\" href=\"javascript:void(0);\" onclick=\"showIndex();return false;\">";\r
- if(!sI1)\r
- sI1=gsIIndex;\r
- if(!sI2)\r
- sI2=gsIIndexS;\r
- if(!sI4)\r
- sI4=gsIIndexS;\r
- goIdx=new button(sType,sTitle,nWidth,nHeight,sI1,sI2,sI3,sI4,sI5,sI6);\r
- gaObjBtns[nBtn]=goIdx;\r
- if(nStyle&BTN_TEXT)\r
- sText=goIdx.sText\r
- \r
- if(nStyle&BTN_IMG)\r
- sI=getImage(goIdx,svTitle);\r
- sButton+=genButton(sText,sI,nStyle);\r
- sButton+="</a>";\r
- bState=true;\r
- }\r
- else if(sType=="fts")\r
- {\r
- var svTitle="Search";\r
- sButton="<a title=\""+svTitle+"\" id=\"btnfts\" class=\"btnfts\" href=\"javascript:void(0);\" onclick=\"showFts();return false;\">";\r
- if(!sI1)\r
- sI1=gsISearch;\r
- if(!sI2)\r
- sI2=gsISearchS;\r
- if(!sI4)\r
- sI4=gsISearchS;\r
- goFts=new button(sType,sTitle,nWidth,nHeight,sI1,sI2,sI3,sI4,sI5,sI6);\r
- gaObjBtns[nBtn]=goFts;\r
- if(nStyle&BTN_TEXT)\r
- sText=goFts.sText\r
- \r
- if(nStyle&BTN_IMG)\r
- sI=getImage(goFts,svTitle);\r
- sButton+=genButton(sText,sI,nStyle);\r
- sButton+="</a>";\r
- bState=true;\r
- }\r
- else if(sType=="glo")\r
- {\r
- var svTitle="Glossary";\r
- sButton="<a title=\""+svTitle+"\" id=\"btnglo\" class=\"btnglo\" href=\"javascript:void(0);\" onclick=\"showGlossary();return false;\">";\r
- if(!sI1)\r
- sI1=gsIGlossary;\r
- if(!sI2)\r
- sI2=gsIGlossaryS;\r
- if(!sI4)\r
- sI4=gsIGlossaryS;\r
- goGlo=new button(sType,sTitle,nWidth,nHeight,sI1,sI2,sI3,sI4,sI5,sI6);\r
- gaObjBtns[nBtn]=goGlo;\r
- if(nStyle&BTN_TEXT)\r
- sText=goGlo.sText\r
- \r
- if(nStyle&BTN_IMG)\r
- sI=getImage(goGlo,svTitle);\r
- sButton+=genButton(sText,sI,nStyle);\r
- sButton+="</a>";\r
- bState=true;\r
- }\r
- else if(sType=="avnext")\r
- {\r
- var svTitle="Next Topic";\r
- sButton="<a title=\""+svTitle+"\" id=\"btnavnext\" class=\"btnavnext\" href=\"javascript:void(0);\" onclick=\"goAveNext();return false;\">";\r
- if(!sI1)\r
- sI1=gsINext;\r
- if(!sI4)\r
- sI4=gsINextD;\r
- goNext=new button(sType,sTitle,nWidth,nHeight,sI1,sI2,sI3,sI4,sI5,sI6);\r
- gaObjBtns[nBtn]=goNext;\r
- if(nStyle&BTN_TEXT)\r
- sText=goNext.sText\r
- \r
- if(nStyle&BTN_IMG)\r
- sI=getImage(goNext,svTitle);\r
- sButton+=genButton(sText,sI,nStyle);\r
- sButton+="</a>";\r
- bMini=true;\r
- }\r
- else if(sType=="avprev")\r
- {\r
- var svTitle="Previous Topic";\r
- sButton="<a title=\""+svTitle+"\" id=\"btnavprev\" class=\"btnavprev\" href=\"javascript:void(0);\" onclick=\"goAvePrev();return false;\">";\r
- if(!sI1)\r
- sI1=gsIPrev;\r
- if(!sI4)\r
- sI4=gsIPrevD;\r
- goPrev=new button(sType,sTitle,nWidth,nHeight,sI1,sI2,sI3,sI4,sI5,sI6);\r
- gaObjBtns[nBtn]=goPrev;\r
- if(nStyle&BTN_TEXT)\r
- sText=goPrev.sText\r
- \r
- if(nStyle&BTN_IMG)\r
- sI=getImage(goPrev,svTitle);\r
- sButton+=genButton(sText,sI,nStyle);\r
- sButton+="</a>";\r
- bMini=true;\r
- }\r
- else if(sType=="blankblock")\r
- {\r
- gaButtons[nBtn]=null;\r
- gaTypes[nBtn]=sType;\r
- }\r
- else if(sType=="websearch")\r
- {\r
- var svTitle="WebSearch";\r
- sButton="<a title=\""+svTitle+"\" id=\"btnwebsearch\" class=\"btnwebsearch\" href=\"javascript:void(0);\" onclick=\"doWebSearch();return false;\">";\r
- if(!sI1)\r
- sI1=gsIWebSearch;\r
- if(!sI4)\r
- sI4=gsIWebSearchD;\r
- goWebSearch=new button(sType,sTitle,nWidth,nHeight,sI1,sI2,sI3,sI4,sI5,sI6);\r
- gaObjBtns[nBtn]=goWebSearch;\r
- if(nStyle&BTN_TEXT)\r
- sText=goWebSearch.sText\r
- \r
- if(nStyle&BTN_IMG)\r
- sI=getImage(goWebSearch,svTitle);\r
- sButton+=genButton(sText,sI,nStyle);\r
- sButton+="</a>";\r
- }\r
- else if(sType.indexOf("custom")==0)\r
- {\r
- var nCusBtnIdx=goCusButton.length;\r
- goCusButton[nCusBtnIdx]=new cusButton(sType,sTitle,sOnClick,sOnMouseOver,sOnLoad,nWidth,nHeight,sI1,sI2,sI3);\r
- gaObjBtns[nBtn]=goCusButton[nCusBtnIdx];\r
- var re=new RegExp("\"","g");\r
- var svTitle=sTitle.replace(re, """);\r
- if(sHref&&sHref.length!=0)\r
- {\r
- sButton="<a title=\""+svTitle+"\" id=\"btn"+sType+"\" class=\"btn"+sType+"\" target=\"bsscright\" href=\""+sHref+"\" onclick=\"cusOnClick("+nCusBtnIdx+");";\r
- bHref=true;\r
- }\r
- else\r
- sButton="<a title=\""+svTitle+"\" id=\"btn"+sType+"\" class=\"btn"+sType+"\" href=\"javascript:void(0);\" onclick=\"cusOnClick("+nCusBtnIdx+");return false;";\r
- sButton+="\" onmouseover=\"cusOnMouseOver("+nCusBtnIdx+");\" title=\""+sType+"\">";\r
- if(nStyle&BTN_TEXT)\r
- sText=sTitle;\r
- if(nStyle&BTN_IMG)\r
- sI+=getImage(goCusButton[nCusBtnIdx],sTitle);\r
- sButton+=genButton(sText,sI,nStyle);\r
- sButton+="</a>";\r
- }\r
- if(sButton.length!=0)\r
- {\r
- var btnClass="";\r
- if(sText||bMini)\r
- btnClass="clsBtnNormal";\r
- else\r
- btnClass="clsNoBNormal";\r
-\r
- if(!bState)\r
- {\r
- if(bHref)\r
- gaButtons[nBtn]="<td NOWRAP valign=\"middle\" align=\"center\" class="+btnClass+" onclick=\"onBtnClick(event);\" onmousedown=\"onBtnMouseDown(event, "+nBtn+");\" onmouseup=\"onBtnMouseUp(event, "+nBtn+");\" onmouseover=\"onBtnMouseOver(event, "+nBtn+");\" onmouseout=\"onBtnMouseOut(event, "+nBtn+");\">"+sButton+"</td>";\r
- else\r
- gaButtons[nBtn]="<td NOWRAP valign=\"middle\" align=\"center\" class="+btnClass+" onclick=\"onBtnClick(event);return false;\" onmousedown=\"onBtnMouseDown(event, "+nBtn+");\" onmouseup=\"onBtnMouseUp(event, "+nBtn+");\" onmouseover=\"onBtnMouseOver(event, "+nBtn+");\" onmouseout=\"onBtnMouseOut(event, "+nBtn+");\">"+sButton+"</td>";\r
- }\r
- else\r
- gaButtons[nBtn]="<td NOWRAP valign=\"middle\" align=\"center\" class="+btnClass+" state=\"up\" onclick=\"onBtnClick(event);return false;\" onmousedown=\"onBtnMouseDown(event, "+nBtn+");\" onmouseup=\"onBtnMouseUp(event, "+nBtn+");\" onmouseover=\"onBtnMouseOver(event, "+nBtn+");\" onmouseout=\"onBtnMouseOut(event, "+nBtn+");\">"+sButton+"</td>";\r
- gaTypes[nBtn]=sType;\r
- }\r
-\r
- if(sType=="avenuesel")\r
- addAvenueSelection();\r
- else if(sType=="searchform")\r
- addSearchForm();\r
- else if(sType=="banner")\r
- {\r
- if(!sI1)\r
- sI1=gsIBanner;\r
- addBanner(sI1);\r
- }\r
-}\r
-\r
-function isShowHideEnable()\r
-{\r
- if(gbIE4)\r
- return true;\r
- else\r
- return false;\r
-}\r
-\r
-function genButton(sText,sI,nStyle)\r
-{\r
- var sButton="";\r
- var sShowText=_textToHtml(sText);\r
- if (gbNav4 && !gbNav6)\r
- sShowText += " ";\r
- if(sText!=""&&sI!="")\r
- {\r
- if(nStyle&BTN_IMG_TOP)\r
- sButton+=sI+"<br>"+ sShowText;\r
- else if(nStyle&BTN_IMG_BOTTOM)\r
- sButton+=sText+"<br>"+sI;\r
- else if(nStyle&BTN_IMG_RIGHT)\r
- sButton+=sText+" "+sI;\r
- else\r
- sButton+=sI+" "+sShowText;\r
- }\r
- else if(sText!="")\r
- {\r
- sButton+=sShowText;\r
- }\r
- else if(sI!="")\r
- {\r
- sButton+=sI;\r
- }\r
- return sButton;\r
-}\r
-\r
-function searchB()\r
-{\r
- var onMsg=new whMessage(WH_MSG_SHOWFTS,this,1,null);\r
- SendMessage(onMsg);\r
-\r
- var oMsg=new whMessage(WH_MSG_SEARCHTHIS,this,1,document.searchForm.searchString.value);\r
- if(!SendMessage(oMsg))\r
- gstrSearch=document.searchForm.searchString.value;\r
- else\r
- gstrSearch="";\r
-}\r
-\r
-function ReSortToolbarButtons()\r
-{\r
- var bSearchEnabled=isSearchEnabled();\r
- var strOrder="";\r
- var oMsg=new whMessage(WH_MSG_TOOLBARORDER,this,1,null);\r
- if(SendMessage(oMsg))\r
- {\r
- strOrder=oMsg.oParam;\r
- }\r
- if(strOrder.length>0)\r
- {\r
- gaOrders=strOrder.split("|");\r
- var aTempButtons=new Array();\r
- var ti=0;\r
- for(var si=0;si<gaOrders.length;si++)\r
- {\r
- if(gaOrders[si]!="searchform"||bSearchEnabled)\r
- {\r
- var sb=-1;\r
- for(var st=0;st<gaTypes.length;st++)\r
- {\r
- if(gaOrders[si]==gaTypes[st])\r
- {\r
- sb=st;\r
- break;\r
- }\r
- }\r
- if(sb!=-1)\r
- {\r
- aTempButtons[aTempButtons.length]=gaButtons[sb];\r
- }\r
- }\r
- }\r
- gaButtons=aTempButtons;\r
- }\r
-}\r
-\r
-function isSyncEnabled()\r
-{\r
- var bEnabled=false;\r
- var oMsg=new whMessage(WH_MSG_ISSYNCSSUPPORT,this,1,null);\r
- if(SendMessage(oMsg))\r
- {\r
- bEnabled=oMsg.oParam;\r
- }\r
- return bEnabled;\r
-}\r
-\r
-function isAvenueEnabled()\r
-{\r
- var bEnabled=false;\r
- var oMsg=new whMessage(WH_MSG_ISAVENUESUPPORT,this,1,null);\r
- if(SendMessage(oMsg))\r
- {\r
- bEnabled=oMsg.oParam;\r
- }\r
- return bEnabled;\r
-}\r
-\r
-function isSearchEnabled()\r
-{\r
- var bEnabled=false;\r
- var oMsg=new whMessage(WH_MSG_ISSEARCHSUPPORT,this,1,null);\r
- if(SendMessage(oMsg))\r
- {\r
- bEnabled=oMsg.oParam;\r
- }\r
- return bEnabled;\r
-}\r
-\r
-function ReSortMinibarButtons()\r
-{\r
- var bSyncEnabled=isSyncEnabled();\r
- var bAvenueEnabled=isAvenueEnabled();\r
- var strOrder="";\r
- var oMsg=new whMessage(WH_MSG_MINIBARORDER,this,1,null);\r
- if(SendMessage(oMsg))\r
- {\r
- strOrder=oMsg.oParam;\r
- }\r
- if(strOrder.length>0)\r
- {\r
- gaOrders=strOrder.split("|");\r
- var aTempButtons=new Array();\r
- var ti=0;\r
- for(var si=0;si<gaOrders.length;si++)\r
- {\r
- if((gaOrders[si]!="synctoc"||bSyncEnabled)&&\r
- ((gaOrders[si]!="avnext"&&gaOrders[si]!="avprev")||bAvenueEnabled))\r
- {\r
- var sb=-1;\r
- for(var st=0;st<gaTypes.length;st++)\r
- {\r
- if(gaOrders[si]==gaTypes[st])\r
- {\r
- sb=st;\r
- break;\r
- }\r
- }\r
- if(sb!=-1)\r
- {\r
- aTempButtons[aTempButtons.length]=gaButtons[sb];\r
- }\r
- }\r
- }\r
- gaButtons=aTempButtons;\r
- }\r
-}\r
-\r
-function writeToolBar()\r
-{\r
- var sHTML="";\r
- if(gaButtons.length>0)\r
- {\r
- var strHeight="100%";\r
- var strWidth="100%";\r
- if (gbNav4)\r
- {\r
- strHeight=window.innerHeight-4;\r
- strWidth=window.innerWidth-4;\r
- }\r
- if (gbIE4)\r
- {\r
- strHeight=document.body.clientHeight-4;\r
- strWidth=document.body.clientWidth-4;\r
- }\r
- if(gbNav6)\r
- sHTML="<table class=\"clsToolbarBackground\" cellpadding=\"0\" cellspacing=\"0\" border=\"0\" height=\""+strHeight+"\" width=\""+strWidth+"\">";\r
- else\r
- sHTML="<form name=\"searchForm\" method=\"POST\" action=\"javascript:searchB()\"><table class=\"clsToolbarBackground\" cellpadding=\"0\" cellspacing=\"0\" border=\"0\" height=\""+strHeight+"\" width=\""+strWidth+"\">";\r
- if((gnButtonLayout&LAYOUT)==HLAYOUT)\r
- {\r
- sHTML+="<tr>";\r
- for(var i=0;i<gaButtons.length;i++)\r
- {\r
- if(gaButtons[i])\r
- sHTML+=gaButtons[i];\r
- else\r
- sHTML+="<td width=\"100%\"></td>";\r
- }\r
- sHTML+="</tr>";\r
- }\r
- else\r
- {\r
- for(var i=0;i<gaButtons.length;i++)\r
- {\r
- if(gaButtons[i])\r
- sHTML+="<tr width=\"100%\">"+gaButtons[i]+"</tr>";\r
- else\r
- sHTML+="<tr height=\"100%\"><td></td></tr>";\r
- }\r
- }\r
- if(gbNav6)\r
- sHTML+="</table>";\r
- else\r
- sHTML+="</table></form>";\r
- }\r
- document.write(sHTML);\r
- if(document.body)\r
- document.body.onselectstart=onSelect;\r
- updateAveButton();\r
-}\r
-\r
-function hasNavPane()\r
-{\r
- if(gnHasNavPane==-1)\r
- {\r
- gnHasNavPane=0;\r
- var oParam=new Object();\r
- oParam.bVisible=false;\r
- var oMsg=new whMessage(WH_MSG_ISPANEVISIBLE,this,1,oParam);\r
- if(SendMessage(oMsg))\r
- {\r
- if(oParam.bVisible)\r
- gnHasNavPane=1;\r
- }\r
- \r
- }\r
- if(gnHasNavPane==1)\r
- return true;\r
- else\r
- return false;\r
-}\r
-\r
-function getTocInfo()\r
-{\r
- var oParam=new Object();\r
- oParam.oTocInfo=null;\r
- var oMsg=new whMessage(WH_MSG_GETTOCPATHS,this,1,oParam);\r
- if(SendMessage(oMsg))\r
- {\r
- goTocInfo=oParam.oTocInfo;\r
- gbTocInfoInited=true;\r
- }\r
-}\r
-\r
-function onBtnClick(e)\r
-{\r
- var oEl=null;\r
- var oElo=null;\r
- if(gbNav6)\r
- {\r
- oElo=e.target;\r
- while(oElo&&oElo.nodeName.indexOf("#")==0) oElo=getParentNode(oElo);\r
- oEl=oElo;\r
- }\r
- else\r
- {\r
- oElo=event.srcElement;\r
- oEl=oElo;\r
- event.cancelBubble=true;\r
- }\r
- while(-1==oEl.className.indexOf("clsBtn")&&-1==oEl.className.indexOf("clsNoB"))\r
- {\r
- oEl=getParentNode(oEl);\r
- if(!oEl) return;\r
- }\r
- if(oElo.tagName=="A"||oElo.tagName=="IMG") return true;\r
- var oaA=getElementsByTag(oElo,"A");\r
- if(oaA&&oaA.length)\r
- {\r
- var oA=oaA[0];\r
- if(gbNav6)\r
- {\r
- var sCmd=oA.getAttribute("onclick");\r
- var nCmd=sCmd.indexOf("return false;");\r
- if(nCmd!=-1);\r
- sCmd=sCmd.substring(0,nCmd);\r
- setTimeout(sCmd,1);\r
- }\r
- else\r
- oA.onclick();\r
- }\r
-}\r
-\r
-function onBtnMouseDown(e,nBtn)\r
-{\r
- var oEl=null;\r
- if(gbNav6)\r
- {\r
- var oElo=e.target;\r
- while(oElo&&oElo.nodeName.indexOf("#")==0) oElo=getParentNode(oElo);\r
- oEl=oElo;\r
- }\r
- else\r
- {\r
- oEl=event.srcElement;\r
- event.cancelBubble=true;\r
- }\r
- while(-1==oEl.className.indexOf("clsBtn")&&-1==oEl.className.indexOf("clsNoB"))\r
- {\r
- oEl=getParentNode(oEl);\r
- if(!oEl) return;\r
- }\r
- var sPF=oEl.className.substring(0,6);\r
- var oIs=getElementsByTag(oEl,"img");\r
- if(oIs.length>0&&gaObjBtns[nBtn]&&gaObjBtns[nBtn].aIs&&gaObjBtns[nBtn].aIs.length>2)\r
- {\r
- if(gaObjBtns[nBtn].aIs[2])\r
- oIs[0].src=gaObjBtns[nBtn].aIs[2];\r
- }\r
- var sState=getState(oEl);\r
- if(sState!="disable")\r
- {\r
- oEl.className=sPF+"Down";\r
- }\r
-}\r
-\r
-function onBtnMouseUp(e,nBtn)\r
-{\r
- var oEl=null;\r
- if(gbNav6)\r
- {\r
- var oElo=e.target;\r
- while(oElo&&oElo.nodeName.indexOf("#")==0) oElo=getParentNode(oElo);\r
- oEl=oElo;\r
- }\r
- else\r
- {\r
- oEl=event.srcElement;\r
- event.cancelBubble=true;\r
- }\r
- while(-1==oEl.className.indexOf("clsBtn")&&-1==oEl.className.indexOf("clsNoB"))\r
- {\r
- oEl=getParentNode(oEl);\r
- if(!oEl) return;\r
- }\r
- var sPF=oEl.className.substring(0,6);\r
- var sState=getState(oEl);\r
- if(sState=="down"||sState=="disable")\r
- {\r
- var oIs=getElementsByTag(oEl,"img");\r
- if(oIs.length>0&&gaObjBtns[nBtn]&&gaObjBtns[nBtn].aIs&&gaObjBtns[nBtn].aIs.length>3)\r
- {\r
- if(gaObjBtns[nBtn].aIs[3])\r
- oIs[0].src=gaObjBtns[nBtn].aIs[3];\r
- }\r
- }\r
- else\r
- {\r
- var oIs=getElementsByTag(oEl,"img");\r
- if(oIs.length>0&&gaObjBtns[nBtn]&&gaObjBtns[nBtn].aIs&&gaObjBtns[nBtn].aIs.length>0)\r
- {\r
- if(gaObjBtns[nBtn].aIs[0])\r
- oIs[0].src=gaObjBtns[nBtn].aIs[0];\r
- }\r
- }\r
- if(goEl==oEl)\r
- {\r
- if(sState!="down"&&sState!="disable")\r
- {\r
- oEl.className=sPF+"Up";\r
- }\r
- }\r
-}\r
-\r
-function getState(oEl)\r
-{\r
- var sState="";\r
- if(gbNav6)\r
- sState=oEl.getAttribute("state");\r
- else\r
- if(oEl.state)\r
- sState=oEl.state;\r
- return sState;\r
-}\r
-\r
-function onBtnMouseOver(e,nBtn)\r
-{\r
- markButton(e);\r
- var oEl=null;\r
- if(gbNav6)\r
- {\r
- var oElo=e.target;\r
- while(oElo&&oElo.nodeName.indexOf("#")==0) oElo=getParentNode(oElo);\r
- oEl=oElo;\r
- }\r
- else\r
- {\r
- oEl=event.srcElement;\r
- event.cancelBubble=true;\r
- }\r
- while(-1==oEl.className.indexOf("clsBtn")&&-1==oEl.className.indexOf("clsNoB"))\r
- {\r
- oEl=getParentNode(oEl);\r
- if(!oEl) return;\r
- }\r
- var sPF=oEl.className.substring(0,6);\r
- var sState=getState(oEl);\r
- if(sState=="down"||sState=="disable")\r
- {\r
- if(sState=="down")\r
- oEl.className=sPF+"Down";\r
- var oIs=getElementsByTag(oEl,"img");\r
- if(oIs.length>0&&gaObjBtns[nBtn]&&gaObjBtns[nBtn].aIs&&gaObjBtns[nBtn].aIs.length>4)\r
- {\r
- if(gaObjBtns[nBtn].aIs[4])\r
- oIs[0].src=gaObjBtns[nBtn].aIs[4];\r
- }\r
- }\r
- else\r
- {\r
- oEl.className=sPF+"Up";\r
- var oIs=getElementsByTag(oEl,"img");\r
- if(oIs.length>0&&gaObjBtns[nBtn]&&gaObjBtns[nBtn].aIs&&gaObjBtns[nBtn].aIs.length>1)\r
- {\r
- if(gaObjBtns[nBtn].aIs[1])\r
- oIs[0].src=gaObjBtns[nBtn].aIs[1];\r
- }\r
- }\r
-}\r
-\r
-function onBtnMouseOut(e,nBtn)\r
-{\r
- goEl=null;\r
- var oEl=null;\r
- if(gbNav6)\r
- {\r
- var oElo=e.target;\r
- while(oElo&&oElo.nodeName.indexOf("#")==0) oElo=getParentNode(oElo);\r
- oEl=oElo;\r
- }\r
- else\r
- {\r
- oEl=event.srcElement;\r
- event.cancelBubble=true;\r
- }\r
- while(-1==oEl.className.indexOf("clsBtn")&&-1==oEl.className.indexOf("clsNoB"))\r
- {\r
- oEl=getParentNode(oEl);\r
- if(!oEl) return;\r
- }\r
- var sPF=oEl.className.substring(0,6);\r
- var sState=getState(oEl);\r
- if(sState=="down"||sState=="disable")\r
- {\r
- var oIs=getElementsByTag(oEl,"img");\r
- if(oIs.length>0&&gaObjBtns[nBtn]&&gaObjBtns[nBtn].aIs&&gaObjBtns[nBtn].aIs.length>3)\r
- {\r
- if(gaObjBtns[nBtn].aIs[3])\r
- oIs[0].src=gaObjBtns[nBtn].aIs[3];\r
- }\r
- if(sState=="down")\r
- oEl.className=sPF+"Down";\r
- }\r
- else\r
- {\r
- var oIs=getElementsByTag(oEl,"img");\r
- if(oIs.length>0&&gaObjBtns[nBtn]&&gaObjBtns[nBtn].aIs&&gaObjBtns[nBtn].aIs.length>0)\r
- {\r
- if(gaObjBtns[nBtn].aIs[0])\r
- oIs[0].src=gaObjBtns[nBtn].aIs[0];\r
- }\r
- oEl.className=sPF+"Normal";\r
- }\r
-}\r
-\r
-function showToc()\r
-{\r
- var oMsg=new whMessage(WH_MSG_SHOWTOC,this,1,null)\r
- SendMessage(oMsg);\r
-}\r
-\r
-function showIndex()\r
-{\r
- var oMsg=new whMessage(WH_MSG_SHOWIDX,this,1,null)\r
- SendMessage(oMsg);\r
-}\r
-\r
-function showFts()\r
-{\r
- var oMsg=new whMessage(WH_MSG_SHOWFTS,this,1,null)\r
- SendMessage(oMsg);\r
-}\r
-\r
-function showGlossary()\r
-{\r
- var oMsg=new whMessage(WH_MSG_SHOWGLO,this,1,null)\r
- SendMessage(oMsg);\r
-}\r
-\r
-function syncWithShow()\r
-{\r
- if(!gbTocInfoInited)\r
- {\r
- getTocInfo();\r
- }\r
- if(goTocInfo)\r
- {\r
- showToc();\r
- var oParam=goTocInfo;\r
- var oMsg=new whMessage(WH_MSG_SYNCTOC,this,1,oParam);\r
- SendMessage(oMsg);\r
- }\r
-}\r
-\r
-function markButton(e)\r
-{\r
- var oEl=null;\r
- if(gbNav6)\r
- {\r
- var oElo=e.target;\r
- while(oElo&&oElo.nodeName.indexOf("#")==0) oElo=getParentNode(oElo);\r
- oEl=oElo;\r
- }\r
- else\r
- oEl=event.srcElement;\r
- while(oEl&&oEl.tagName!="TD") oEl=getParentNode(oEl);\r
- if(oEl)\r
- goEl=oEl;\r
-}\r
-\r
-function showHidePane()\r
-{\r
- var oMsg=null;\r
- if(hasNavPane())\r
- oMsg=new whMessage(WH_MSG_HIDEPANE,this,1,null);\r
- else\r
- oMsg=new whMessage(WH_MSG_SHOWPANE,this,1,null);\r
- SendMessage(oMsg);\r
-}\r
-\r
-function goAveNext()\r
-{\r
- goAvenue(true);\r
-}\r
-\r
-function goAvePrev()\r
-{\r
- goAvenue(false);\r
-}\r
-\r
-function doWebSearch()\r
-{\r
- if (goWebSearchEnable)\r
- {\r
- var oMsg=new whMessage(WH_MSG_WEBSEARCH,this,1,null);\r
- SendMessage(oMsg);\r
- }\r
-}\r
-\r
-function goAvenue(bNext)\r
-{\r
- var oMsg=null;\r
- initAveButtonObj();\r
- gsCurAveName=getCurrentAveName();\r
- if(gbNav4&&!gbNav6)\r
- {\r
- if(bNext)\r
- {\r
- gaAvenues=null;\r
- updateAvenue();\r
- oMsg=new whMessage(WH_MSG_NEXT,this,1,null);\r
- SendMessage(oMsg);\r
- }\r
- else if(!bNext)\r
- {\r
- gaAvenues=null;\r
- updateAvenue();\r
- oMsg=new whMessage(WH_MSG_PREV,this,1,null);\r
- SendMessage(oMsg);\r
- }\r
- }\r
- else\r
- {\r
- if(bNext&&goNextParent)\r
- {\r
- var sState=getState(goNextParent);\r
- if(sState!="disable")\r
- {\r
- gaAvenues=null;\r
- gbNeedUpdateAve=true;\r
- gbUpdateTimerCount++;\r
- setTimeout("updateAvenueIfNeeded();", 2000);\r
- oMsg=new whMessage(WH_MSG_NEXT,this,1,null);\r
- SendMessage(oMsg);\r
- }\r
- }\r
- else if(!bNext&&goPrevParent)\r
- {\r
- var sState=getState(goPrevParent);\r
- if(sState!="disable")\r
- {\r
- gaAvenues=null;\r
- gbNeedUpdateAve=true;\r
- gbUpdateTimerCount++;\r
- setTimeout("updateAvenueIfNeeded();", 2000);\r
- oMsg=new whMessage(WH_MSG_PREV,this,1,null);\r
- SendMessage(oMsg);\r
- }\r
- }\r
- }\r
-}\r
-\r
-function window_Unload()\r
-{\r
- if(!gbNav4||gbNav6)\r
- {\r
- UnRegisterListener2(this,WH_MSG_GETSEARCHS);\r
- UnRegisterListener2(this,WH_MSG_PANESTATUE);\r
- UnRegisterListener2(this,WH_MSG_SYNCINFO);\r
- UnRegisterListener2(this,WH_MSG_PANEINFO);\r
- UnRegisterListener2(this,WH_MSG_AVENUEINFO);\r
- UnRegisterListener2(this,WH_MSG_GETCURRENTAVENUE);\r
- UnRegisterListener2(this,WH_MSG_ENABLEWEBSEARCH);\r
- UnRegisterListener2(this,WH_MSG_INITSEARCHSTRING);\r
- }\r
-}\r
-\r
-function window_OnLoad()\r
-{\r
- if(document.body)\r
- {\r
- if(gsBgImage&&gsBgImage.length>0)\r
- {\r
- document.body.background=gsBgImage;\r
- }\r
- if(gsBgColor&&gsBgColor.length>0)\r
- {\r
- document.body.bgColor=gsBgColor;\r
- }\r
- }\r
- doCusOnLoad();\r
- var oMsg=new whMessage(WH_MSG_GETPANEINFO,this,1,null);\r
- if(SendMessage(oMsg))\r
- {\r
- setTimeout("flipPaneButton(\""+oMsg.oParam+"\");",1);\r
- }\r
- if (!gaAvenues)\r
- {\r
- var oMsg2=new whMessage(WH_MSG_GETAVIAVENUES,this,1,new Object());\r
- if(SendMessage(oMsg2))\r
- {\r
- gaAvenues=oMsg2.oParam.aAvenues;\r
- gbNeedUpdateAve=false;\r
- setTimeout("updateAvenue();",1);\r
- }\r
- }\r
-}\r
-\r
-function onSendMessage(oMsg)\r
-{\r
- var nMsgId=oMsg.nMessageId;\r
- if(nMsgId==WH_MSG_GETSEARCHS)\r
- {\r
- if(document.searchForm&&document.searchForm.searchString)\r
- {\r
- oMsg.oParam.sValue=document.searchForm.searchString.value;\r
- return false;\r
- }\r
- }\r
- else if(nMsgId==WH_MSG_PANESTATUE)\r
- {\r
- if(oMsg.oParam=="visible")\r
- {\r
- if(isShowHideEnable())\r
- setTimeout("flipShowHide(true);",1);\r
- setTimeout("showPaneButton();",1);\r
- }\r
- else\r
- {\r
- if(isShowHideEnable())\r
- setTimeout("flipShowHide(false);",1);\r
- setTimeout("hidePaneButton();",1);\r
- }\r
- }\r
- else if(nMsgId==WH_MSG_PANEINFO)\r
- {\r
- if(oMsg.oParam)\r
- setTimeout("flipPaneButton(\""+oMsg.oParam+"\");",1);\r
- else\r
- setTimeout("hidePaneButton();",1);\r
- }\r
- else if(nMsgId==WH_MSG_SYNCINFO)\r
- {\r
- if(oMsg.oParam)\r
- goTocInfo=oMsg.oParam;\r
- else\r
- goTocInfo=null;\r
- gbTocInfoInited=true;\r
- }\r
- else if(nMsgId==WH_MSG_AVENUEINFO)\r
- {\r
- gaAvenues=oMsg.oParam;\r
- gbNeedUpdateAve=false;\r
- setTimeout("updateAvenue();",1);\r
- }\r
- else if(nMsgId==WH_MSG_GETCURRENTAVENUE)\r
- {\r
- var sAveName=getCurrentAvenue();\r
- if(sAveName!="")\r
- {\r
- oMsg.oParam.sAvenue=sAveName;\r
- return false;\r
- }\r
- else\r
- return true;\r
- }\r
- else if(nMsgId==WH_MSG_ENABLEWEBSEARCH)\r
- {\r
- setTimeout("updateWebSearch("+oMsg.oParam+");",1);\r
- }\r
- else if(nMsgId==WH_MSG_INITSEARCHSTRING)\r
- {\r
- if(gstrSearch!="")\r
- {\r
- oMsg.oParam=gstrSearch;\r
- gstrSearch="";\r
- return false;\r
- }\r
- }\r
- return true;\r
-}\r
-\r
-function getCurrentAvenue()\r
-{\r
- var strAveName="";\r
- var oSelect=getElement("avenue");\r
- if(oSelect)\r
- {\r
- strAveName=oSelect.value;\r
- }\r
- return strAveName;\r
-}\r
-\r
-function initBtn()\r
-{\r
- var oBtn=null;\r
- oBtn=getElement("btntoc");\r
- if(oBtn)\r
- gaBtns[gaBtns.length]=oBtn;\r
- oBtn=getElement("btnidx");\r
- if(oBtn)\r
- gaBtns[gaBtns.length]=oBtn;\r
- oBtn=getElement("btnfts");\r
- if(oBtn)\r
- gaBtns[gaBtns.length]=oBtn;\r
- oBtn=getElement("btnglo");\r
- if(oBtn)\r
- gaBtns[gaBtns.length]=oBtn;\r
- gbInitBtn=true;\r
-}\r
-\r
-function showPaneButton()\r
-{\r
- flipPaneButton(gsPane);\r
-}\r
-\r
-function hidePaneButton()\r
-{\r
- flipPaneButton("");\r
-}\r
-\r
-function flipPaneButton(sPane)\r
-{\r
- if (sPane)\r
- gsPane=sPane;\r
- if(!gbInitBtn)\r
- initBtn();\r
-\r
- var oUp=null;\r
- if(sPane)\r
- {\r
- oUp=getElement("btn"+sPane);\r
- }\r
- for(var i=0;i<gaBtns.length;i++)\r
- {\r
- if(gaBtns[i])\r
- {\r
- if(gaBtns[i]==oUp)\r
- {\r
- var oEl=getParentNode(oUp);\r
- var sPF=oEl.className.substring(0,6);\r
- var sState=getState(oEl);\r
- if(sState=="up")\r
- {\r
- setState(oEl,"down");\r
- oEl.className=sPF+"Down";\r
- if(sPF=="clsBtn")\r
- {\r
- if(gaBtns[i].id)\r
- {\r
- var sColor=getBtnColor(gaBtns[i].id.substring(3),true);\r
- if(sColor)\r
- {\r
- oEl.style.backgroundColor=sColor\r
- }\r
- else\r
- {\r
- oEl.style.backgroundColor="";\r
- }\r
- }\r
- var oaA=getElementsByTag(oEl,"A");\r
- if(oaA.length>0)\r
- {\r
- var strClassName=oaA[0].className;\r
- oaA[0].className="btnsel"+strClassName.substring(3);\r
- }\r
- }\r
- var oIs=getElementsByTag(oEl,"img");\r
- var oBtn=getButtonObjByType(gaBtns[i].id.substring(3));\r
- if(oIs.length>0&&oBtn&&oBtn.aIs&&oBtn.aIs.length>3)\r
- {\r
- if(oBtn.aIs[3])\r
- oIs[0].src=oBtn.aIs[3];\r
- }\r
- }\r
- }\r
- else\r
- {\r
- var oEl=getParentNode(gaBtns[i]);\r
- var sState=getState(oEl);\r
- var sPF=oEl.className.substring(0,6);\r
- if(sState=="down")\r
- {\r
- setState(oEl,"up");\r
- if(oEl==goEl)\r
- oEl.className=sPF+"Up";\r
- else\r
- oEl.className=sPF+"Normal";\r
-\r
- if(sPF=="clsBtn")\r
- {\r
- if(gaBtns[i].id)\r
- {\r
- var sColor=getBtnColor(gaBtns[i].id.substring(3),false);\r
- if(sColor)\r
- {\r
- oEl.style.backgroundColor=sColor\r
- }\r
- else\r
- {\r
- oEl.style.backgroundColor="";\r
- }\r
- }\r
-\r
- var oaA=getElementsByTag(oEl,"A");\r
- if(oaA.length>0)\r
- {\r
- var strClassName=oaA[0].className;\r
- oaA[0].className="btn"+strClassName.substring(6);\r
- }\r
- }\r
- var oIs=getElementsByTag(oEl,"img");\r
- var oBtn=getButtonObjByType(gaBtns[i].id.substring(3));\r
- if(oIs.length>0&&oBtn&&oBtn.aIs&&oBtn.aIs.length>0)\r
- {\r
- if(oBtn.aIs[0])\r
- oIs[0].src=oBtn.aIs[0];\r
- }\r
- }\r
- }\r
- }\r
- }\r
-}\r
-\r
-function flipShowHide(bShow)\r
-{\r
- gnHasNavPane=-1; \r
- var oA=getElement("btnshowhide");\r
- if(oA)\r
- {\r
- var oEl=getParentNode(oA);\r
- var sPF=oEl.className.substring(0,6);\r
- if(oEl&&oEl.state)\r
- {\r
- if(bShow)\r
- {\r
- oEl.state="down";\r
- oEl.className=sPF+"Down";\r
- }\r
- else\r
- {\r
- oEl.state="up";\r
- \r
- if(oEl==goEl)\r
- oEl.className=sPF+"Up";\r
- else\r
- oEl.className=sPF+"Normal";\r
- }\r
- }\r
- oA.innerHTML=getShowHide();\r
- }\r
-}\r
-\r
-function cusOnClick(nIdx)\r
-{\r
- if(goCusButton.length>nIdx)\r
- {\r
- var sOnClick=goCusButton[nIdx].sOnClick;\r
- if(sOnClick&&sOnClick.length>0)\r
- {\r
- if(!gbPreview)\r
- eval(sOnClick);\r
- return false;\r
- }\r
- }\r
- return true;\r
-}\r
-\r
-function cusOnMouseOver(nIdx)\r
-{\r
- if(goCusButton.length>nIdx)\r
- {\r
- var sOnMouseOver=goCusButton[nIdx].sOnMouseOver;\r
- if(sOnMouseOver&&sOnMouseOver.length>0)\r
- {\r
- if(!gbPreview)\r
- eval(sOnMouseOver);\r
- return false;\r
- }\r
- }\r
- return true;\r
-}\r
-\r
-function doCusOnLoad()\r
-{\r
- if(!gbPreview&&gaOrders)\r
- {\r
- for(var i=0;i<gaOrders.length;i++)\r
- {\r
- for(var j=0;j<gaOnLoads.length;j++)\r
- {\r
- if(gaOrders[i]==gaOnLoads[j].sType)\r
- {\r
- eval(gaOnLoads[j].sOnLoad);\r
- break;\r
- }\r
- }\r
- }\r
- }\r
-}\r
-\r
-function registerOnLoad(sOnLoad,sType)\r
-{\r
- gaOnLoads[gaOnLoads.length]=new cusOnLoad(sType,sOnLoad); \r
-}\r
-\r
-function cusOnLoad(sType,sOnLoad)\r
-{\r
- this.sType=sType;\r
- this.sOnLoad=sOnLoad;\r
-}\r
-\r
-function cusButton(sType,sText,sOnClick,sOnMouseOver,sOnLoad,nWidth,nHeight)\r
-{\r
- this.sType=sType;\r
- this.sText=sText;\r
- this.sOnClick=sOnClick;\r
- this.sOnMouseOver=sOnMouseOver;\r
- this.sOnLoad=sOnLoad;\r
- this.nWidth=nWidth;\r
- this.nHeight=nHeight;\r
- this.aIs=new Array();\r
- var i=0;\r
- while(cusButton.arguments.length>i+7)\r
- {\r
- if (cusButton.arguments[7+i])\r
- this.aIs[i]=_getFullPath(_getPath(document.location.href),cusButton.arguments[7+i]);\r
- else\r
- this.aIs[i]="";\r
- i++;\r
- }\r
- if(sOnLoad)\r
- {\r
- registerOnLoad(sOnLoad,sType);\r
- }\r
-}\r
-\r
-function getBtnColor(sType,bSel)\r
-{\r
- var aBtnColors=null;\r
- if(bSel)\r
- aBtnColors=gaSelBtnBgColor;\r
- else\r
- aBtnColors=gaBtnBgColor;\r
- if(aBtnColors)\r
- {\r
- for(var i=0;i<aBtnColors.length;i++)\r
- {\r
- if(aBtnColors[i].sType==sType)\r
- return aBtnColors[i].sColor;\r
- }\r
- }\r
- return "";\r
-}\r
-\r
-function setButtonBgColor(sType,sColor,bSel)\r
-{\r
- if(sColor)\r
- {\r
- var aBtnColors=null;\r
- if(bSel)\r
- aBtnColors=gaSelBtnBgColor;\r
- else\r
- aBtnColors=gaBtnBgColor;\r
- if(aBtnColors!=null)\r
- {\r
- for(var i=0;i<aBtnColors.length;i++)\r
- {\r
- if(aBtnColors[i].sType==sType)\r
- {\r
- aBtnColors[i].sColor=sColor;\r
- return;\r
- }\r
- }\r
- aBtnColors[aBtnColors.length]=new btnBgColor(sType,sColor);\r
- }\r
- }\r
-}\r
-\r
-function getDefaultButtonFont()\r
-{\r
- var strFontStyle="";\r
- for(var i=0;i<gaTypes.length;i++)\r
- {\r
- strFontStyle+=".btnsel"+gaTypes[i]+"{"+getFontStyle(goSelTextFont)+"}";\r
- strFontStyle+=".btn"+gaTypes[i]+"{"+getFontStyle(goTextFont)+"}";\r
- }\r
- return strFontStyle;\r
-}\r
-\r
-function setButtonFont(sType,sFontName,sFontSize,sFontColor,sFontStyle,sFontWeight,sFontDecoration,bSel)\r
-{\r
- if(sFontName)\r
- {\r
- var vFont=new whFont(sFontName,sFontSize,sFontColor,sFontStyle,sFontWeight,sFontDecoration);\r
- if(bSel)\r
- gsBtnStyle+=".btnsel"+sType+"{"+getFontStyle(vFont)+"}\n";\r
- else\r
- gsBtnStyle+=".btn"+sType+"{"+getFontStyle(vFont)+"}\n";\r
- }\r
- if (sType=="searchform"&&!bSel)\r
- {\r
- var vFont1=new whFont(sFontName,sFontSize,"black",sFontStyle,sFontWeight,sFontDecoration);\r
- gsBtnStyle+=".inputsearchform {" + getFontStyle(vFont1)+"}\n";\r
- }\r
-}\r
-\r
-function getButtonObjByType(sType)\r
-{\r
- for(var i=0;i<gaObjBtns.length;i++)\r
- {\r
- if(gaObjBtns[i].sType==sType)\r
- return gaObjBtns[i];\r
- }\r
- return null;\r
-}\r
-\r
-function onSelect()\r
-{\r
- if (event.srcElement&&event.srcElement.name)\r
- {\r
- if (event.srcElement.name=="searchString")\r
- return true;\r
- }\r
- return false;\r
-}\r
-\r
-function window_onResize()\r
-{\r
- gnRE++;\r
- setTimeout("tryReload();", 100);\r
-}\r
-\r
-function tryReload()\r
-{\r
- if (gnRE==1)\r
- document.location.reload();\r
- gnRE--;\r
-}\r
-\r
-if(window.gbWhUtil&&window.gbWhMsg&&window.gbWhVer&&window.gbWhProxy)\r
-{\r
- RegisterListener2(this,WH_MSG_GETSEARCHS);\r
- RegisterListener2(this,WH_MSG_PANESTATUE);\r
- RegisterListener2(this,WH_MSG_SYNCINFO);\r
- RegisterListener2(this,WH_MSG_PANEINFO);\r
- RegisterListener2(this,WH_MSG_AVENUEINFO);\r
- RegisterListener2(this,WH_MSG_GETCURRENTAVENUE);\r
- RegisterListener2(this,WH_MSG_ENABLEWEBSEARCH);\r
- RegisterListener2(this,WH_MSG_INITSEARCHSTRING);\r
- window.onload=window_OnLoad;\r
- window.onunload=window_Unload;\r
- window.onresize=window_onResize;\r
- goTextFont=new whFont("Verdana","8pt","#003063","normal","normal","none");\r
- goSelTextFont=new whFont("Verdana","8pt","white","normal","normal","none");\r
- gbWhTBar=true;\r
-}\r
-else\r
- document.location.reload();\r
-\r
+++ /dev/null
-<html>\r
-<head>\r
-<title>Table of contents</title>\r
-<meta http-equiv="content-type" content="text/html; charset=iso-8859-1">\r
-<meta name="generator" content="RoboHelp by eHelp Corporation www.ehelp.com">\r
-<meta name "description" content="WebHelp 2002">\r
-<base target="bsscright">\r
-</head>\r
-<script language="javascript" src="whver.js"></script>\r
-<script language="javascript1.2" src="whmozemu.js"></script>\r
-<script language="javascript1.2" src="whutils.js"></script>\r
-<script language="javascript1.2" src="whmsg.js"></script>\r
-<script language="javascript1.2" src="whproxy.js"></script>\r
-<script language="javascript1.2" src="whthost.js"></script>\r
-<script LANGUAGE="javascript1.2">\r
-<!--\r
-if (window.gbWhTHost)\r
-{\r
- setBackgroundcolor( "White"); \r
- \r
- setFont("Normal", "Tahoma","8pt","Black","Normal","Normal","none");\r
- setFont("Hover", "Tahoma","8pt","Navy","Normal","Normal","underline");\r
- setActiveBgColor("Silver");\r
- \r
- \r
- setIcon("BookOpen","wht_toc2.gif");\r
- setIcon("BookClose","wht_toc1.gif");\r
- setIcon("Item","wht_toc3.gif");\r
- setIcon("RemoteItem","wht_toc4.gif");\r
- \r
- \r
- \r
- \r
- TocWriteClassStyle();\r
- TocWriteFixedWidth(true,400);\r
-}\r
-else\r
- document.location.reload();\r
-//-->\r
-</script>\r
-<body topmargin="2" leftmargin="2" marginwidth="0" marginheight="0" bgproperties="fixed" bgcolor="white" scroll="auto">\r
-<script LANGUAGE="javascript1.2">\r
-<!--\r
-TocWriteFixedWidth(false,400);\r
-TocInitPage();\r
-//-->\r
-</script>\r
-</body>\r
-</html>
\ No newline at end of file
+++ /dev/null
-var gaHSLoad=new Array();\r
-var gnMinIdx=0;\r
-var gnInsIdx=-1;\r
-var gsLoadingDivID="LoadingDiv";\r
-var gsLoadingMsg="Loading, click here to cancel...";\r
-var gaProj=null;\r
-var gaTocs=new Array();\r
-var goChunk=null;\r
-var gbReady=false;\r
-var gbLoadToc=false;\r
-var gbXML=false;\r
-var gaRoot=new Array();\r
-var gnCC=-1;\r
-var gsTP="";\r
-var gaBTPs="";\r
-var gsCTPath="";\r
-var gnLT=-1;\r
-var gsPathSplit="\n";\r
-var gsBgColor="#ffffff";\r
-var gsBgImage="";\r
-var goFont=null;\r
-var goHFont=null;\r
-\r
-var gsMargin="0pt";\r
-var gsIndent="15pt";\r
-var gsABgColor="#cccccc";\r
-\r
-var giBookClose="";\r
-var giBookOpen="";\r
-var giBookItem="";\r
-var giURLItem="";\r
-var giNewBookClose="";\r
-var giNewBookOpen="";\r
-var giNewBookItem="";\r
-var giNewURLItem="";\r
-var gnImages=0;\r
-var gnLoadedImages=0;\r
-var gaImgs=new Array();\r
-var gbLoadData=false;\r
-var gobj=null;\r
-var gaTocsNs61Fix=null;\r
-var gbWhTHost=false;\r
-var gBookItems=new Array();\r
-var gInSync=false;\r
-\r
-function setBackground(sBgImage)\r
-{\r
- gsBgImage=sBgImage;\r
-}\r
-\r
-function setBackgroundcolor(sBgColor)\r
-{\r
- gsBgColor=sBgColor;\r
-}\r
-\r
-function setFont(sType,sFontName,sFontSize,sFontColor,sFontStyle,sFontWeight,sFontDecoration)\r
-{\r
- var vFont=new whFont(sFontName,sFontSize,sFontColor,sFontStyle,sFontWeight,sFontDecoration);\r
- if(sType=="Normal") goFont=vFont;\r
- else if(sType=="Hover") goHFont=vFont;\r
-}\r
-\r
-function setActiveBgColor(sBgColor){gsABgColor=sBgColor;}\r
-\r
-function setMargin(sMargin){gsMargin=sMargin;}\r
-\r
-function setIndent(sIndent){gsIndent=sIndent;}\r
-\r
-function setIcon(sType,sURL)\r
-{\r
- if(sType=="BookOpen")\r
- giBookOpen=sURL;\r
- else if(sType=="BookClose")\r
- giBookClose=sURL;\r
- else if(sType=="Item")\r
- giBookItem=sURL;\r
- else if(sType=="RemoteItem")\r
- giURLItem=sURL;\r
- else if(sType=="NewBookClose")\r
- giNewBookClose=sURL;\r
- else if(sType=="NewBookOpen")\r
- giNewBookOpen=sURL;\r
- else if(sType=="NewItem")\r
- giNewBookItem=sURL;\r
- else if(sType=="NewRemoteItem")\r
- giNewURLItem=sURL; \r
-}\r
-\r
-function bookItem(sTarget, sURL)\r
-{\r
- if (sTarget)\r
- this.sTarget=sTarget;\r
- else\r
- this.sTarget="bsscright";\r
- this.sURL=sURL;\r
-}\r
-\r
-function addBookItem(sBookId, sTarget, sURL)\r
-{\r
- gBookItems[sBookId] = new bookItem(sTarget, sURL); \r
-}\r
-\r
-function tocChunk(sPPath,sDPath)\r
-{\r
- this.sPPath=sPPath;\r
- this.sDPath=sDPath;\r
- this.nMI=-1;\r
- this.aTocs=null;\r
-}\r
-\r
-function addTocChunk(sPPath,sDPath)\r
-{\r
- var oChunk=new tocChunk(sPPath,sDPath);\r
- gaTocs[gaTocs.length]=oChunk;\r
- return oChunk;\r
-}\r
-\r
-function isHSLoad(nIdx)\r
-{\r
- for(var i=0;i<gaHSLoad.length;i++){\r
- if(gaHSLoad[i]==nIdx)\r
- return true;\r
- }\r
- return false;\r
-}\r
-\r
-function setHSLoad(nIdx)\r
-{\r
- if(!isHSLoad(nIdx))\r
- {\r
- var len=gaHSLoad.length;\r
- for(var i=0;i<len;i++){\r
- if(gaHSLoad[i]==-1)\r
- {\r
- gaHSLoad[i]=nIdx;\r
- return;\r
- }\r
- }\r
- gaHSLoad[len]=nIdx;\r
- }\r
-}\r
-\r
-function setHSUnLoad(nIdx)\r
-{\r
- if(isHSLoad(nIdx))\r
- {\r
- for(var i=0;i<gaHSLoad.length;i++){\r
- if(gaHSLoad[i]==nIdx)\r
- {\r
- gaHSLoad[i]=-1;\r
- return;\r
- }\r
- }\r
- }\r
-}\r
-\r
-function cancelLoading(nIdx)\r
-{\r
- var oObj=getElement(getCBId(nIdx));\r
- if(oObj)\r
- {\r
- oObj.innerHTML="";\r
- setHSUnLoad(nIdx)\r
- ExpandIt(nIdx);\r
- }\r
-}\r
-\r
-function cancelAll()\r
-{\r
- var eLoadingDivs=getElement(gsLoadingDivID);\r
- if(eLoadingDivs)\r
- cancelHSLoading(eLoadingDivs);\r
-}\r
-\r
-function cancelHSLoading(eLoadingDiv)\r
-{\r
- var eParent=eLoadingDiv.parentElement;\r
- if(eParent){\r
- var sId=eParent.id;\r
- sId=sId.substring(5);\r
- var nIdx=parseInt(sId);\r
- if(!isNaN(nIdx))\r
- cancelLoading(nIdx)\r
- }\r
-}\r
-\r
-function checkBookItem(nIdx)\r
-{\r
- if(!gInSync)\r
- {\r
- var sBookId=getBookId(nIdx);\r
- if(gBookItems[sBookId])\r
- {\r
- window.open(gBookItems[sBookId].sURL,gBookItems[sBookId].sTarget);\r
- }\r
- }\r
-}\r
-\r
-function insertBookItems(nIdx,num)\r
-{\r
- checkBookItem(nIdx);\r
- var sChildBookId=getCBId(nIdx);\r
- var eChildDiv=getElement(sChildBookId);\r
- if(eChildDiv){\r
- if((eChildDiv.childNodes&&eChildDiv.childNodes.length==0)||\r
- (eChildDiv.all&&eChildDiv.all.length==0)){\r
- var sHTML=writeBookItems(nIdx,num);\r
- eChildDiv.innerHTML=sHTML;\r
- setTimeout("syncInit()",1);\r
- }\r
- }\r
- ExpandIt(nIdx);\r
-}\r
-\r
-function writeBook(nIdx,bLocal)\r
-{\r
- var sIcon=getBookImage(nIdx,true);\r
- var sName=_textToHtml(getItemName(nIdx));\r
- sIcon=_textToHtml_nonbsp(sIcon);\r
- \r
- var sHTML="<div id=\""+getPBId(nIdx)+"\" class=parent>";\r
- sHTML+="<p><nobr><a id=\""+getBookId(nIdx)+"\" href=\"javascript:void(0);\" onfocus=\"markBook("+nIdx+");\" onclick=\"";\r
-\r
- if(getItemType(nIdx)==1)\r
- sHTML+="insertBookItems("+nIdx+", "+getItemContentsNum(nIdx);\r
- else\r
- sHTML+="tocExpandHelpSet("+nIdx+","+bLocal;\r
- sHTML+=");return false;\" title=\""+sName+"\"><img alt=\"Book\" name=\""+getBId(nIdx)+"\" src=\""+sIcon+"\" border=0 align=\"absmiddle\">";\r
- var sURL=_textToHtml_nonbsp(getItemURL(nIdx));\r
- if(sURL!="")\r
- addBookItem(getBookId(nIdx),_textToHtml_nonbsp(getTopicTarget(nIdx)),sURL);\r
- sHTML+=" "+sName+"</a></nobr></p></div><div id=\""+getCBId(nIdx)+"\" class=child></div>";\r
- return sHTML;\r
-}\r
-\r
-function getBookId(nIdx){return "B_"+nIdx;}\r
-\r
-function getItemId(nIdx){return "I_"+nIdx;}\r
-\r
-function markBook(nIdx)\r
-{\r
- var obj=getElement(getItemId(nIdx));\r
- if(obj==null)\r
- obj=getElement(getBookId(nIdx));\r
- if(gbNav6)\r
- {\r
- gobj=obj;\r
- setTimeout("delayMarkObj();",1);\r
- }\r
- else\r
- markObj(obj);\r
-}\r
-\r
-function delayMarkObj()\r
-{\r
- if(gobj)\r
- {\r
- markObj(gobj);\r
- gobj=null;\r
- }\r
-}\r
-\r
-function markObj(obj)\r
-{\r
- if(obj!=null)\r
- {\r
- HighLightElement(obj,gsABgColor,"transparent");\r
- var sPath=calTocPath(obj);\r
- if(gsCTPath!=sPath)\r
- gsCTPath=sPath;\r
- }\r
-}\r
-\r
-function markItem(nIdx)\r
-{\r
- var obj=getElement(getItemId(nIdx));\r
- if(gbNav6)\r
- {\r
- gobj=obj;\r
- setTimeout("delayMarkObj();",1);\r
- }\r
- else\r
- markObj(getElement(getItemId(nIdx)));\r
-}\r
-\r
-function calTocPath(obj)\r
-{\r
- var sPath=getInnerText(obj).substring(1);\r
- var pObj=getParentNode(obj);\r
- do\r
- {\r
- while(pObj!=null&&!isCBId(pObj.id)) pObj=getParentNode(pObj);\r
- if(pObj!=null)\r
- {\r
- var nId=getIdByCBId(pObj.id);\r
- var sObj=getElement(getPBId(nId));\r
- if(sObj!=null)\r
- {\r
- var objs=getItemsByBook(sObj);\r
- for(var i=0;i<objs.length;i++)\r
- {\r
- var sText=getInnerText(objs[i]);\r
- \r
- if(sText.length!=0)\r
- {\r
- sPath=sText.substring(1)+gsPathSplit+sPath;\r
- break;\r
- }\r
- }\r
- }\r
- pObj=getParentNode(pObj);\r
- }\r
- }while(pObj!=null);\r
- return sPath;\r
-}\r
-\r
-function writeAnItem(nIdx)\r
-{\r
- var sTarget=_textToHtml_nonbsp(getTopicTarget(nIdx));\r
- var sIcon=getItemIcon(nIdx,0);\r
- if(sIcon=="")\r
- {\r
- var nItemType=getItemType(nIdx);\r
- if(nItemType&2)\r
- sIcon=getItemImage(nIdx,false);\r
- else\r
- sIcon=getItemImage(nIdx,true);\r
- }\r
- sIcon=_textToHtml_nonbsp(sIcon);\r
- var sName=_textToHtml(getItemName(nIdx));\r
- var sHTML="<p><nobr><a id=\""+getItemId(nIdx)+"\" onfocus=\"markItem("+nIdx+");\""\r
- var sAltString="";\r
- if (nItemType&2)\r
- sAltString="Page";\r
- else\r
- sAltString="Remote Page";\r
- if(sTarget!="")\r
- sHTML+="target=\""+sTarget+"\" ";\r
- sHTML+="href=\""+_textToHtml_nonbsp(getItemURL(nIdx))+"\" title=\""+sName+"\"><img alt=\""+sAltString+"\" src=\""+sIcon+"\" border=0 align=\"absmiddle\"> "+sName+"</a></nobr></p>";\r
- return sHTML;\r
-}\r
-\r
-function writeBookItems(nIdx,num)\r
-{\r
- var sHTML="";\r
- if(num>0){\r
- var nCIdx=0;\r
- do{\r
- nCIdx++;\r
- var i=nIdx+nCIdx;\r
- var nItemType=getItemType(i);\r
- if(nItemType==1){\r
- sHTML+=writeBook(i); \r
- nCIdx+=getItemContentsNum(i); \r
- }\r
- else if(nItemType==2||nItemType==16){\r
- sHTML+=writeAnItem(i);\r
- }else if(nItemType==4){\r
- sHTML+=writeBook(i,false);\r
- }else if(nItemType==8){\r
- sHTML+=writeBook(i,true);\r
- }\r
- }\r
- while(nCIdx<num);\r
- }\r
- return sHTML;\r
-}\r
-\r
-function tocExpandHelpSet(nIdx,bLocal)\r
-{\r
- checkBookItem(nIdx);\r
- cancelAll();\r
- if(isHSLoad(nIdx))\r
- ExpandIt(nIdx);\r
- else{\r
- setHSLoad(nIdx);\r
- var sSrc="";\r
- if(bLocal){\r
- var oChunk=getChunk(nIdx);\r
- if(oChunk)\r
- {\r
- goChunk=addTocChunk(oChunk.sPPath,oChunk.sDPath);\r
- sSrc=oChunk.aTocs[nIdx-oChunk.nMI].sRefURL;\r
- }\r
- }\r
- else{\r
- sSrc=getRefURL(nIdx);\r
- var nProj=getProject(sSrc);\r
- if(nProj!=-1)\r
- {\r
- goChunk=addTocChunk(gaProj[nProj].sPPath,gaProj[nProj].sDPath);\r
- sSrc=gaRoot[nProj].sToc;\r
- }\r
- else\r
- goChunk=null;\r
- }\r
- if(goChunk)\r
- {\r
- PrepareLoading(nIdx);\r
- ExpandIt(nIdx);\r
- gbLoadToc=false;\r
- loadData2(goChunk.sPPath+goChunk.sDPath+sSrc);\r
- }\r
- }\r
-}\r
-\r
-function getProject(sSrc)\r
-{\r
- for(var i=0;i<gaProj.length;i++)\r
- {\r
- if(isSamePath(getPath(sSrc),gaProj[i].sPPath))\r
- {\r
- return i;\r
- }\r
- }\r
- return -1;\r
-}\r
-\r
-function getPath(sPath)\r
-{\r
- if(sPath!="")\r
- {\r
- sPath=_replaceSlash(sPath);\r
- var nPosFile=sPath.lastIndexOf("/");\r
- sPath=sPath.substring(0,nPosFile+1);\r
- }\r
- return sPath;\r
-}\r
-\r
-function isSamePath(sPath1,sPath2)\r
-{\r
- return (sPath1.toLowerCase()==sPath2.toLowerCase());\r
-}\r
-\r
-function PrepareLoading(nIdx)\r
-{\r
- gnInsIdx=nIdx;\r
- if(!gsTP)\r
- {\r
- var oObj=getElement(getCBId(gnInsIdx));\r
- if(oObj)\r
- oObj.innerHTML=writeLoadingDiv(nIdx);\r
- }\r
-}\r
-\r
-function writeLoadingDiv(nIdx)\r
-{\r
- return"<div id=\""+gsLoadingDivID+"\" class=parent onclick=\"cancelLoading("+nIdx+");\" style=\"padding-left:4px;background-color:ivory;border-width:1;border-style:solid;border-color:black;width:150px;\">"+gsLoadingMsg+"</div>";\r
-}\r
-\r
-function getItemName(nIdx)\r
-{\r
- var oChunk=getChunk(nIdx);\r
- if(oChunk)\r
- return oChunk.aTocs[nIdx-oChunk.nMI].sItemName;\r
- else\r
- return null;\r
-}\r
-\r
-function getItemContentsNum(nIdx)\r
-{\r
- var oChunk=getChunk(nIdx);\r
- if(oChunk)\r
- return oChunk.aTocs[nIdx-oChunk.nMI].nContents;\r
- else\r
- return null;\r
-}\r
-\r
-function getItemType(nIdx)\r
-{\r
- var oChunk=getChunk(nIdx);\r
- if(oChunk)\r
- return oChunk.aTocs[nIdx-oChunk.nMI].nType;\r
- else\r
- return 0;\r
-}\r
-\r
-function getItemURL(nIdx)\r
-{\r
- var oChunk=getChunk(nIdx);\r
- if(oChunk)\r
- {\r
- var sPath=oChunk.aTocs[nIdx-oChunk.nMI].sItemURL;\r
- if(!(sPath==null||sPath==""))\r
- {\r
- return _getFullPath(oChunk.sPPath,sPath);\r
- }\r
- }\r
- return "";\r
-}\r
-\r
-function getRefURL(nIdx)\r
-{\r
- var oChunk=getChunk(nIdx);\r
- if(oChunk)\r
- {\r
- var sPath=oChunk.aTocs[nIdx-oChunk.nMI].sRefURL;\r
- if(!(sPath==null||sPath==""))\r
- {\r
- return _getFullPath(oChunk.sPPath,sPath)\r
- }\r
- }\r
- return "";\r
-}\r
-\r
-function getTopicTarget(nIdx)\r
-{\r
- var oChunk=getChunk(nIdx);\r
- if(oChunk)\r
- {\r
- if(typeof(oChunk.aTocs[nIdx-oChunk.nMI].sTarget)!="undefined")\r
- return oChunk.aTocs[nIdx-oChunk.nMI].sTarget;\r
- }\r
- return "";\r
-}\r
-\r
-function getItemIcon(nIdx,nIconIdx)\r
-{\r
- var oChunk=getChunk(nIdx);\r
- if(oChunk)\r
- {\r
- if(typeof(oChunk.aTocs[nIdx-oChunk.nMI].sIconRef)!="undefined")\r
- {\r
- var sIconRef=oChunk.aTocs[nIdx-oChunk.nMI].sIconRef;\r
- var nIndex=sIconRef.indexOf(";");\r
- while(nIconIdx-->0&&nIndex!=-1)\r
- {\r
- sIconRef=sIconRef.substring(nIndex+1);\r
- nIndex=sIconRef.indexOf(";");\r
- }\r
- if(nIconIdx<0)\r
- {\r
- if(nIndex!=-1)\r
- sIconRef=sIconRef.substring(0,nIndex);\r
- return _getFullPath(oChunk.sPPath,sIconRef)\r
- }\r
- }\r
- }\r
- return "";\r
-}\r
-\r
-function TocWriteClassStyle()\r
-{\r
- var sStyle="<STYLE TYPE='text/css'>\n";\r
- if (gsBgImage)\r
- sStyle+="body {border-top:"+gsBgColor+" 1px solid;}\n";\r
- else\r
- sStyle+="body {border-top:black 1px solid;}\n";\r
- sStyle+="P {"+getFontStyle(goFont)+"margin-top:"+gsMargin+";margin-bottom:"+gsMargin+";}\n";\r
- sStyle+="DIV {margin-top:"+gsMargin+";margin-bottom:"+gsMargin+";}\n";\r
- sStyle+=".parent {margin-left:0pt;}\n";\r
- sStyle+=".child {display:none;margin-left:"+gsIndent+";}\n";\r
- sStyle+="A:link {"+getFontStyle(goFont)+"}\n";\r
- sStyle+="A:visited {"+getFontStyle(goFont)+"}\n";\r
- sStyle+="A:active {background-color:"+gsABgColor+";}\n";\r
- sStyle +="A:hover {"+getFontStyle(goHFont)+"}\n";\r
- sStyle+="</STYLE>";\r
- document.write(sStyle);\r
-}\r
-\r
-function TocWriteFixedWidth(bBegin,nWidth)\r
-{\r
- if((gbIE4)&&(gbMac)&&(!gbIE5)){\r
- if(bBegin)\r
- document.write("<table width="+nWidth+" border=0><tr><td>");\r
- else\r
- document.write("</td></tr></table>");\r
- }\r
-}\r
-\r
-function TocInitPage()\r
-{\r
- var tempColl=getItemsByBook(document.body);\r
- if(tempColl.length>0)\r
- tempColl[0].focus();\r
-}\r
-\r
-function getItemsFromObj(obj)\r
-{\r
- var aAnchor=new Array();\r
- var tempColl=getChildrenByTag(obj,"P");\r
- if(tempColl&&tempColl.length>0)\r
- {\r
- var anobr=new Array();\r
- for(var i=0;i<tempColl.length;i++)\r
- {\r
- var tempNobr=getChildrenByTag(tempColl[i],"NOBR");\r
- if(tempNobr&&tempNobr.length>0)\r
- {\r
- for(var j=0;j<tempNobr.length;j++)\r
- anobr[anobr.length]=tempNobr[j];\r
- }\r
- }\r
- for(var s=0;s<anobr.length;s++)\r
- {\r
- var tempAnchor=getChildrenByTag(anobr[s],"A");\r
- if(tempAnchor&&tempAnchor.length>0)\r
- {\r
- for(var u=0;u<tempAnchor.length;u++)\r
- aAnchor[aAnchor.length]=tempAnchor[u];\r
- }\r
- }\r
- }\r
- return aAnchor;\r
-}\r
-\r
-function getItemsByBook(obj)\r
-{\r
- var aAnchor=new Array();\r
- var aTAnchor=getItemsFromObj(obj);\r
- for(var i=0;i<aTAnchor.length;i++)\r
- {\r
- aAnchor[aAnchor.length]=aTAnchor[i];\r
- }\r
- var tempBook=getChildrenByTag(obj,"DIV");\r
- if(tempBook&&tempBook.length>0)\r
- {\r
- for(var j=0;j<tempBook.length;j++)\r
- {\r
- var aTAnchorDiv=getItemsFromObj(tempBook[j]);\r
- for(var s=0;s<aTAnchorDiv.length;s++)\r
- {\r
- aAnchor[aAnchor.length]=aTAnchorDiv[s];\r
- }\r
- }\r
- } \r
- return aAnchor;\r
-}\r
-\r
-function ExpandIt(nId)\r
-{\r
- if(!gsTP)\r
- ExpandIt2(nId,false);\r
-}\r
-\r
-function ExpandIt2(nId,bForceOpen)\r
-{\r
- if(gbIE4||gbNav6){\r
- var oC=TocExpand(nId,true,bForceOpen);\r
- var nNewScroll=document.body.scrollTop;\r
- if(oC.style.display=="block"){\r
- var nTop=oC.offsetTop;\r
- var nBottom=nTop+oC.offsetHeight;\r
- if(document.body.scrollTop+document.body.clientHeight<nBottom){\r
- nNewScroll=nBottom-document.body.clientHeight;\r
- }\r
- if(nBottom-nTop>document.body.clientHeight){\r
- nNewScroll=nTop-20;\r
- }\r
- }\r
- document.body.scrollTop=nNewScroll;\r
- }\r
-}\r
-\r
-function TocExpand(nId,bChangeImg,bForceOpen)\r
-{\r
- var oDiv=getElement(getCBId(nId));\r
- if(oDiv==null) return null;\r
-\r
- var whichIm=document.images[getBId(nId)];\r
- if((oDiv.style.display!="block")||bForceOpen){\r
- oDiv.style.display="block";\r
- if(bChangeImg){\r
- var sPath=getPath(whichIm.src);\r
- sPath=_getFullPath(sPath,getBookImage(nId,false));\r
- whichIm.src=sPath; \r
- }\r
- }else{\r
- oDiv.style.display="none";\r
- if(bChangeImg){\r
- var sPath=getPath(whichIm.src);\r
- sPath=_getFullPath(sPath,getBookImage(nId,true));\r
- whichIm.src=sPath;\r
- }\r
- if(gbMac&&gbIE5){\r
- this.parent.document.getElementById("tocIFrame").style.width="101%";\r
- this.parent.document.getElementById("tocIFrame").style.width="100%";\r
- }\r
- }\r
- return oDiv;\r
-}\r
-\r
-function getChunkId(n)\r
-{\r
- var nCandidate=-1;\r
- for(var i=0;i<gaTocs.length;i++){\r
- if(gaTocs[i].nMI<=n){\r
- nCandidate=i;\r
- }\r
- else\r
- break;\r
- }\r
- if(nCandidate!=-1&&gaTocs[nCandidate].nMI!=-1)\r
- return nCandidate;\r
- else\r
- return -1;\r
-}\r
-\r
-function getChunk(n)\r
-{\r
- if(gnCC!=-1&&gaTocs[gnCC].nMI<=n&&(gnCC==gaTocs.length-1||\r
- gaTocs[gnCC+1].nMI>n))\r
- { \r
- return gaTocs[gnCC];\r
- }\r
- else{\r
- gnCC=getChunkId(n);\r
- if(gnCC!=-1)\r
- return gaTocs[gnCC];\r
- else\r
- return null;\r
- }\r
-}\r
-\r
-function getBookImage(nIdx,bClosed)\r
-{\r
- var nIdx=bClosed?0:1;\r
- var sIcon=getItemIcon(nIdx,nIdx);\r
- if(sIcon=="")\r
- if(bClosed)\r
- sIcon=giBookClose;\r
- else\r
- sIcon=giBookOpen;\r
- return _getFullPath(gaProj[0].sPPath,sIcon);\r
-}\r
-\r
-function getItemImage(nIdx,bRemote)\r
-{\r
- var sIcon=getItemIcon(nIdx,0);\r
- if(sIcon=="")\r
- if(bRemote)\r
- sIcon=giURLItem;\r
- else\r
- sIcon=giBookItem;\r
- return _getFullPath(gaProj[0].sPPath,sIcon);\r
-}\r
-\r
-function expandToc(oObj,sRest,aIdList)\r
-{\r
- var len=aIdList.length;\r
- var nPos=sRest.indexOf(gsPathSplit);\r
- if(nPos!=-1)\r
- {\r
- sPart=sRest.substring(0,nPos);\r
- sRest=sRest.substring(nPos+1);\r
- }\r
- else\r
- {\r
- sPart=sRest;\r
- var aTagAs=getItemsByBook(oObj);\r
- for(var s=0;s<aTagAs.length;s++)\r
- {\r
- var sText=getInnerText(aTagAs[s]);\r
- if(sText.length>0)\r
- sText=sText.substring(1);\r
- if(sText==sPart)\r
- {\r
- aIdList[len]=aTagAs[s];\r
- return 1;\r
- }\r
- }\r
- return 0;\r
- }\r
- \r
- var aChildren=getChildrenByTag(oObj,"DIV");\r
- for(var i=0;i<aChildren.length;i++)\r
- {\r
- var sPId=aChildren[i].id;\r
- if(!isPBId(sPId))\r
- continue;\r
- var sText=getInnerText(aChildren[i]);\r
- if(sText.substring(1)!=sPart)\r
- continue;\r
- aIdList[len]=getIdByPBId(sPId);\r
- var sCId=getCBId(aIdList[len]);\r
- var oCObj=getElement(sCId);\r
- if(oCObj)\r
- {\r
- if(oCObj.innerHTML=="")\r
- {\r
- var obj=getItemsByBook(aChildren[i]);\r
- if(obj.length>0)\r
- {\r
- if(gbNav6)\r
- {\r
- var sCommand=obj[0].getAttribute("onClick");\r
- var nCommand=sCommand.indexOf(";");\r
- sCommand=sCommand.substring(0,nCommand);\r
- setTimeout(sCommand,1);\r
- }\r
- else\r
- obj[0].click();\r
- }\r
- return -1;\r
- }\r
- var nRet=expandToc(oCObj,sRest,aIdList);\r
- if(nRet)\r
- return nRet;\r
- }\r
- }\r
- aIdList.length=len;\r
- return 0;\r
-}\r
-\r
-function getIdByPBId(sPId)\r
-{\r
- return parseInt(sPId.substring(5,sPId.length-6));\r
-}\r
-\r
-function getIdByCBId(sCId)\r
-{\r
- return parseInt(sCId.substring(5,sCId.length-5));\r
-}\r
-\r
-function isPBId(sId)\r
-{\r
- return (sId&&sId.indexOf("Book_")==0&&sId.lastIndexOf("Parent")==sId.length-6);\r
-}\r
-\r
-function isCBId(sId)\r
-{\r
- return (sId&&sId.indexOf("Book_")==0&&sId.lastIndexOf("Child")==sId.length-5);\r
-}\r
-\r
-function getBId(nIdx)\r
-{\r
- return "Book_"+nIdx;\r
-}\r
-\r
-function getPBId(nIdx)\r
-{\r
- return getBId(nIdx)+"Parent";\r
-}\r
-\r
-function getCBId(nIdx)\r
-{\r
- return getBId(nIdx)+"Child";\r
-}\r
-\r
-function getClosestTocPath(aPaths)\r
-{\r
- var nMaxSimilarity=0;\r
- var nThatIndex=-1;\r
- var sPath=null;\r
- if(aPaths.length==0) return sPath;\r
- for(var i=0;i<aPaths.length;i++)\r
- {\r
- var nSimilarity=comparePath(gsCTPath,aPaths[i]);\r
- if(nSimilarity>nMaxSimilarity)\r
- {\r
- nMaxSimilarity=nSimilarity;\r
- nThatIndex=i;\r
- }\r
- }\r
- if(nThatIndex!=-1)\r
- {\r
- sPath=aPaths[nThatIndex];\r
- }\r
- else\r
- {\r
- sPath=aPaths[0];\r
- }\r
- return sPath;\r
-}\r
-\r
-function comparePath(sPath1,sPath2)\r
-{\r
- var nMaxSimilarity=0;\r
- var nStartPos1=0;\r
- var nPos1=-1;\r
- var nStartPos2=0;\r
- var nPos2=-1;\r
- do{\r
- var sCheck1=null;\r
- var sCheck2=null;\r
- nPos1=sPath1.indexOf(gsPathSplit,nStartPos1);\r
- if(nPos1!=-1)\r
- {\r
- sCheck1=sPath1.substring(nStartPos1,nPos1);\r
- nStartPos1=nPos1+1;\r
- }\r
- else\r
- {\r
- sCheck1=sPath1.substring(nStartPos1);\r
- nStartPos1=-1;\r
- }\r
- nPos2=sPath2.indexOf(gsPathSplit,nStartPos2);\r
- if(nPos1!=-1)\r
- {\r
- sCheck2=sPath2.substring(nStartPos2,nPos2);\r
- nStartPos2=nPos2+1;\r
- }\r
- else\r
- {\r
- sCheck2=sPath2.substring(nStartPos2);\r
- nStartPos2=-1;\r
- }\r
- if(sCheck1==sCheck2)\r
- nMaxSimilarity++;\r
- else\r
- break;\r
- }while(nStartPos1!=-1&&nStartPos2!=-1);\r
- return nMaxSimilarity;\r
-}\r
-\r
-function getTocPaths(oTopicParam)\r
-{\r
- var aRelTocPaths=oTopicParam.aPaths;\r
- var aPaths=new Array();\r
- for(var i=0;i<gaProj.length;i++)\r
- {\r
- if(isSamePath(gaProj[i].sPPath,oTopicParam.sPPath))\r
- {\r
- for(var j=0;j<aRelTocPaths.length;j++)\r
- {\r
- aPaths[j]=gaRoot[i].sRPath+aRelTocPaths[j];\r
- aPaths[j]=aPaths[j].substring(1);\r
- }\r
- break;\r
- }\r
- }\r
- return aPaths;\r
-}\r
-\r
-function syncInit()\r
-{\r
- if(gsTP)\r
- {\r
- gInSync=true;\r
- var obj=document.body;\r
- var aIdList=new Array();\r
- var nRet=expandToc(obj,gsTP,aIdList);\r
- if(nRet!=-1)\r
- {\r
- if(nRet==1)\r
- {\r
- if(aIdList.length)\r
- for(var i=0;i<aIdList.length-1;i++)\r
- {\r
- ExpandIt2(aIdList[i],true);\r
- }\r
- gsCTPath=gsTP;\r
- if(!gbIE55)\r
- aIdList[aIdList.length-1].focus();\r
- else\r
- HighLightElement(aIdList[aIdList.length-1],gsABgColor,"transparent");\r
- }\r
- var aPaths=gaBTPs;\r
- gsTP=null;\r
- gaBTPs=null;\r
- if(aPaths!=null)\r
- {\r
- var sPath=getClosestTocPath(aPaths);\r
- if(sPath!=null)\r
- { \r
- gsTP=sPath; \r
- setTimeout("syncInit()",1);\r
- }\r
- }\r
- }\r
- gInSync=false;\r
- }\r
-}\r
-\r
-function loadToc()\r
-{\r
- if(!gbReady)\r
- {\r
- var oResMsg=new whMessage(WH_MSG_GETPROJINFO,this,1,null);\r
- if(SendMessage(oResMsg)&&oResMsg.oParam)\r
- {\r
- var oProj=oResMsg.oParam;\r
- gaProj=oProj.aProj;\r
- gbXML=oProj.bXML;\r
- load1B1();\r
- }\r
- }\r
-}\r
-\r
-function load1B1()\r
-{\r
- if(gnLT+1<gaProj.length)\r
- {\r
- for(var i=gnLT+1;i<gaProj.length;i++)\r
- {\r
- if(gaProj[i].sToc!=null&&gaProj[i].sToc!="")\r
- {\r
- gbLoadToc=true;\r
- gnLT=i;\r
- setTimeout("loadTocInfo()",1);\r
- return true;\r
- }\r
- }\r
- }\r
- return false;\r
-}\r
-\r
-function loadTocInfo()\r
-{\r
- loadData2(gaProj[gnLT].sPPath+gaProj[gnLT].sDPath+gaProj[gnLT].sToc);\r
-}\r
-\r
-function loadData2(sFile)\r
-{\r
- if(gbXML)\r
- loadDataXML(sFile);\r
- else\r
- loadData(sFile);\r
-}\r
-\r
-function projReady(sRoot,aProj)\r
-{\r
- if(gaRoot.length<=gnLT||!gaRoot[gnLT])\r
- gaRoot[gnLT]=new Object();\r
- gaRoot[gnLT].sToc=sRoot;\r
- \r
- if(gnLT==0)\r
- gaRoot[gnLT].sRPath=gsPathSplit;\r
-\r
- updatePTPath(gnLT,aProj);\r
-\r
- if(!((gnLT+1<gaProj.length)&&load1B1()))\r
- {\r
- gbReady=true;\r
- if(gbIE4)\r
- setTimeout("loadImages();",1);\r
- else\r
- setTimeout("loadTData();",1);\r
- }\r
-}\r
-\r
-function loadTData()\r
-{\r
- if(gaProj[0].sToc!="")\r
- {\r
- goChunk=addTocChunk(gaProj[0].sPPath,gaProj[0].sDPath);\r
- gbLoadToc=false;\r
- loadData2(gaProj[0].sPPath+gaProj[0].sDPath+gaRoot[0].sToc);\r
- }\r
-}\r
-\r
-function updatePTPath(n,aProj)\r
-{\r
- if(aProj)\r
- {\r
- for(var i=0;i<aProj.length;i++)\r
- {\r
- var sFullPath=_getFullPath(gaProj[n].sPPath,aProj[i].sPPath);\r
- for(var j=0;j<gaProj.length;j++)\r
- {\r
- if(isSamePath(sFullPath,gaProj[j].sPPath))\r
- {\r
- if(gaRoot.length<=j||!gaRoot[j])\r
- gaRoot[j]=new Object();\r
- if(!gaRoot[j].sRPath)\r
- {\r
- if(gaRoot[n].sRPath)\r
- gaRoot[j].sRPath=gaRoot[n].sRPath+aProj[i].sRPath;\r
- else\r
- gaRoot[j].sRPath=aProj[i].sRPath;\r
- }\r
- break;\r
- }\r
- }\r
- }\r
- }\r
-}\r
-\r
-function putDataXML(xmlDoc,sDocPath)\r
-{\r
- if(gbLoadToc)\r
- {\r
- var tocNode=xmlDoc.getElementsByTagName("toc")[0];\r
- if(tocNode)\r
- {\r
- var sRoot=tocNode.getAttribute("root");\r
- var rmtProject=tocNode.getElementsByTagName("project");\r
- var aRProj=new Array();\r
- if(rmtProject.length>0)\r
- {\r
- for(var i=0;i<rmtProject.length;i++)\r
- {\r
- aRProj[i]=new Object();\r
- aRProj[i].sPPath=rmtProject[i].getAttribute("url");\r
- aRProj[i].sRPath=rmtProject[i].getAttribute("path");\r
- }\r
- }\r
- projReady(sRoot,aRProj);\r
- }\r
- }\r
- else\r
- {\r
- var chunkNode=xmlDoc.getElementsByTagName("tocdata")[0];\r
- if(chunkNode)\r
- {\r
- var aToc=new Array();\r
- processBook(chunkNode,aToc);\r
- putData(aToc);\r
- }\r
- }\r
-}\r
-\r
-function processBook(node,aToc)\r
-{\r
- var i=0;\r
- var entry=null;\r
- var prevEntry=null;\r
- var oChild=node.firstChild;\r
- do{\r
- if(oChild)\r
- {\r
- if(oChild.nodeName.indexOf("#")!=0)\r
- {\r
- var sName=oChild.getAttribute("name");\r
- var sURL=oChild.getAttribute("url");\r
- var sRef=oChild.getAttribute("ref");\r
- var sTarget=oChild.getAttribute("target");\r
- var sIcons=oChild.getAttribute("images");\r
- var item=new Object();\r
- item.sItemName=sName;\r
- if(sTarget)\r
- item.sTarget=sTarget;\r
- if(sIcons)\r
- item.sIconRef=sIcons;\r
- if(sURL==null) sURL="";\r
- item.sItemURL=sURL;\r
- \r
- if(oChild.nodeName=="book")\r
- {\r
- item.nType=1;\r
- aToc[aToc.length]=item;\r
- var nCurrPos=aToc.length;\r
- processBook(oChild,aToc);\r
- item.nContents=aToc.length-nCurrPos;\r
- }\r
- else if(oChild.nodeName=="item")\r
- {\r
- item.nType=2;\r
- item.nContents=0;\r
- aToc[aToc.length]=item;\r
- }\r
- else if(oChild.nodeName=="remoteitem")\r
- {\r
- item.nType=16;\r
- item.nContents=0;\r
- aToc[aToc.length]=item;\r
- }\r
- else if(oChild.nodeName=="project")\r
- {\r
- item.nType=4;\r
- item.sRefURL=sRef;\r
- item.nContents=0;\r
- aToc[aToc.length]=item;\r
- }\r
- else if(oChild.nodeName=="chunk")\r
- {\r
- item.nType=8;\r
- item.sRefURL=sRef;\r
- item.nContents=0;\r
- aToc[aToc.length]=item;\r
- }\r
- }\r
- }\r
- else\r
- break;\r
- oChild=oChild.nextSibling;\r
- }while(true);\r
-}\r
-\r
-function putData(aTocs)\r
-{\r
- gaTocsNs61Fix=aTocs;\r
- setTimeout("realPutData();",1);\r
-}\r
-\r
-function realPutData()\r
-{\r
- var aTocs=gaTocsNs61Fix;\r
- if(!aTocs) return;\r
- if(goChunk)\r
- {\r
- var n=gnMinIdx;\r
- goChunk.nMI=gnMinIdx;\r
- goChunk.aTocs=aTocs;\r
- gnMinIdx+=aTocs.length;\r
- if(gnInsIdx!=-1)\r
- {\r
- var oObj=getElement(getCBId(gnInsIdx));\r
- if(oObj)\r
- {\r
- oObj.innerHTML=writeBookItems(n-1,aTocs.length);\r
- setTimeout("syncInit()",1);\r
- }\r
- }\r
- else{\r
- document.body.insertAdjacentHTML("beforeEnd",writeBookItems(n-1,aTocs.length));\r
- var oParam=new Object();\r
- oParam.oTocInfo=null;\r
- var oMsg=new whMessage(WH_MSG_GETTOCPATHS,this,1,oParam);\r
- if(SendMessage(oMsg))\r
- {\r
- if (oMsg.oParam.oTocInfo)\r
- syncWithPaths(oMsg.oParam.oTocInfo);\r
- }\r
- } \r
- }\r
-}\r
-\r
-function syncWithPaths(oTopicParam)\r
-{\r
- var aPaths=getTocPaths(oTopicParam);\r
- if(gsTP)\r
- gaBTPs=aPaths;\r
- else{\r
- var sPath=getClosestTocPath(aPaths);\r
- if(sPath!=null)\r
- {\r
- gsTP=sPath;\r
- setTimeout("syncInit()",1);\r
- }\r
- }\r
-}\r
-\r
-function window_OnLoad()\r
-{\r
- if(gsBgImage&&gsBgImage.length>0)\r
- {\r
- document.body.background=gsBgImage;\r
- }\r
- if(gsBgColor&&gsBgColor.length>0)\r
- {\r
- document.body.bgColor=gsBgColor;\r
- }\r
- loadToc();\r
- var oMsg=new whMessage(WH_MSG_SHOWTOC,this,1,null)\r
- SendMessage(oMsg);\r
-}\r
-\r
-function loadImages()\r
-{\r
- if(giBookClose)\r
- {\r
- gaImgs[gnImages]=giBookClose;\r
- gnImages++;\r
- } \r
- if(giBookOpen)\r
- {\r
- gaImgs[gnImages]=giBookOpen;\r
- gnImages++;\r
- } \r
- if(giBookItem)\r
- {\r
- gaImgs[gnImages]=giBookItem;\r
- gnImages++;\r
- } \r
- if(giURLItem)\r
- {\r
- gaImgs[gnImages]=giURLItem;\r
- gnImages++;\r
- } \r
- if(giNewBookClose)\r
- {\r
- gaImgs[gnImages]=giNewBookClose;\r
- gnImages++;\r
- } \r
- if(giNewBookOpen)\r
- {\r
- gaImgs[gnImages]=giNewBookOpen;\r
- gnImages++;\r
- } \r
- if(giNewBookItem)\r
- {\r
- gaImgs[gnImages]=giNewBookItem;\r
- gnImages++;\r
- } \r
- if(giNewURLItem)\r
- {\r
- gaImgs[gnImages]=giNewURLItem;\r
- gnImages++;\r
- }\r
- if(gnImages>0)\r
- {\r
- setTimeout("loadDataAfter();",1000);\r
- loadImage(gaImgs[0]);\r
- }\r
- else\r
- loadDataAfter();\r
-}\r
-\r
-function loadImage(sURL)\r
-{\r
- var oImg=new Image();\r
- oImg.onload=checkImageLoading;\r
- oImg.onerror=errorImageLoading;\r
- oImg.src=_getFullPath(gaProj[0].sPPath,sURL);\r
-}\r
-\r
-function loadDataAfter()\r
-{\r
- if(!gbLoadData)\r
- {\r
- gbLoadData=true;\r
- loadTData();\r
- }\r
-}\r
-\r
-function errorImageLoading()\r
-{\r
- gnLoadedImages++;\r
- if(gnImages==gnLoadedImages)\r
- loadDataAfter();\r
- else\r
- loadImage(gaImgs[gnLoadedImages]); \r
-}\r
-\r
-function checkImageLoading()\r
-{\r
- gnLoadedImages++;\r
- if(gnImages==gnLoadedImages)\r
- loadDataAfter();\r
- else\r
- loadImage(gaImgs[gnLoadedImages]); \r
-}\r
-\r
-function window_unload()\r
-{\r
- UnRegisterListener2(this,WH_MSG_PROJECTREADY);\r
- UnRegisterListener2(this,WH_MSG_SYNCTOC);\r
- UnRegisterListener2(this,WH_MSG_SHOWTOC);\r
-}\r
-\r
-function onSendMessage(oMsg)\r
-{\r
- if(oMsg)\r
- {\r
- var nMsgId=oMsg.nMessageId;\r
- if(nMsgId==WH_MSG_PROJECTREADY)\r
- {\r
- loadToc();\r
- }\r
- else if(nMsgId==WH_MSG_SYNCTOC)\r
- {\r
- if(gbReady)\r
- {\r
- syncWithPaths(oMsg.oParam);\r
- }\r
- }\r
- else if(nMsgId==WH_MSG_SHOWTOC)\r
- {\r
- if(!gbNav6)\r
- document.body.focus();\r
- }\r
- }\r
- return true;\r
-}\r
-\r
-if (window.gbWhUtil&&window.gbWhVer&&window.gbWhMsg&&window.gbWhProxy)\r
-{\r
- RegisterListener2(this,WH_MSG_PROJECTREADY);\r
- RegisterListener2(this,WH_MSG_SYNCTOC);\r
- RegisterListener2(this,WH_MSG_SHOWTOC);\r
- goFont=new whFont("Verdana","8pt","#000000","normal","normal","none");\r
- goHFont=new whFont("Verdana","8pt","#007f00","normal","normal","underline");\r
-\r
- window.onload=window_OnLoad;\r
- window.onbeforeunload=window_BUnload;\r
- window.onunload=window_unload;\r
- gbWhTHost=true;\r
-}\r
-else\r
- document.location.reload();\r
-\r
+++ /dev/null
-var gsPPath = "";\r
-var gaPaths = new Array();\r
-var gaAvenues = new Array();\r
-\r
-var goFrame = null;\r
-var gsStartPage = "";\r
-var gsRelCurPagePath = "";\r
-var gsSearchFormHref = "";\r
-var gnTopicOnly = -1;\r
-var gnOutmostTopic = -1;\r
-\r
-var BTN_TEXT=1;\r
-var BTN_IMG=2;\r
-\r
-var goSync = null;\r
-\r
-var goShow = null;\r
-var goHide = null;\r
-\r
-var goPrev = null;\r
-var goNext = null;\r
-var gnForm = 0;\r
-var goShowNav = null;\r
-var goHideNav = null;\r
-\r
-var goWebSearch = null;\r
-\r
-var gsBtnStyle = "";\r
-var gaButtons = new Array();\r
-var gaTypes = new Array();\r
-var whtopic_foldUnload = null;\r
-var gbWhTopic=false;\r
-var gbCheckSync=false;\r
-var gbSyncEnabled=false;\r
-\r
-function setButtonFont(sType, sFontName,sFontSize,sFontColor,sFontStyle,sFontWeight,sFontDecoration)\r
-{\r
- var vFont=new whFont(sFontName,sFontSize,sFontColor,sFontStyle,sFontWeight,sFontDecoration);\r
- gsBtnStyle += ".whtbtn" + sType + "{"+getFontStyle(vFont) + "}";\r
-}\r
-\r
-function writeBtnStyle()\r
-{\r
- if (gaButtons.length > 0)\r
- {\r
- if (gsBtnStyle.length > 0)\r
- {\r
- var sStyle = "<style type='text/css'>";\r
- sStyle+= gsBtnStyle + "</style>";\r
- document.write(sStyle);\r
- }\r
- }\r
-}\r
-\r
-function button(sText, nWidth, nHeight)\r
-{\r
- this.sText = sText;\r
- this.nWidth = nWidth;\r
- this.nHeight = nHeight;\r
- \r
- this.aImgs = new Array();\r
- var i = 0;\r
- while (button.arguments.length > i + 3)\r
- {\r
- this.aImgs[i] = button.arguments[3 + i];\r
- i ++;\r
- }\r
-}\r
-\r
-// project info\r
-function setRelStartPage(sPath)\r
-{\r
- if (gsPPath.length == 0)\r
- {\r
- gsPPath = _getFullPath(_getPath(document.location.href), _getPath(sPath));\r
- gsStartPage = _getFullPath(_getPath(document.location.href), sPath);\r
- gsRelCurPagePath = _getRelativeFileName(gsStartPage, document.location.href);\r
- }\r
-}\r
-\r
-function getImage(oImage, sType)\r
-{\r
- var sImg="";\r
- if (oImage && oImage.aImgs && (oImage.aImgs.length > 0))\r
- {\r
- sImg+="<img alt=\""+ sType + "\" src=\"" + oImage.aImgs[0] + "\"";\r
- if (oImage.nWidth > 0)\r
- sImg+=" width=" + oImage.nWidth;\r
- if (oImage.nHeight > 0)\r
- sImg+=" height=" + oImage.nHeight;\r
- sImg+=" border=no>";\r
- }\r
- return sImg;\r
-}\r
-\r
-function addTocInfo(sTocPath)\r
-{\r
- gaPaths[gaPaths.length] = sTocPath;\r
-}\r
-\r
-function addAvenueInfo(sName, sPrev, sNext)\r
-{\r
- gaAvenues[gaAvenues.length] = new avenueInfo(sName, sPrev, sNext); \r
-}\r
-\r
-function addButton(sType, nStyle, sText, sHref, sOnClick, sOnMouseOver, sOnLoad, nWidth, nHeight, sImg1, sImg2, sImg3)\r
-{\r
- var sButton = "";\r
- var nBtn=gaButtons.length;\r
- if (sType == "prev")\r
- {\r
- if (canGo(false))\r
- {\r
- var sTitle = "Previous Topic";\r
- goPrev = new button(sText, nWidth, nHeight, sImg1, sImg2, sImg3);\r
- sButton = "<a title=\"" + sTitle + "\" class=\"whtbtnprev\" href=\"javascript:void(0);\" onclick=\"goAvenue(false);return false;\">";\r
- if (nStyle == BTN_TEXT)\r
- sButton += goPrev.sText;\r
- else\r
- sButton += getImage(goPrev, sTitle);\r
- sButton += "</a>";\r
- }\r
- }\r
- else if (sType == "next")\r
- {\r
- if (canGo(true))\r
- {\r
- var sTitle = "Next Topic";\r
- goNext = new button(sText, nWidth, nHeight, sImg1, sImg2, sImg3);\r
- sButton = "<a title=\"" + sTitle + "\" class=\"whtbtnnext\" href=\"javascript:void(0);\" onclick=\"goAvenue(true);return false;\">";\r
- if (nStyle == BTN_TEXT)\r
- sButton += goNext.sText;\r
- else\r
- sButton += getImage(goNext, sTitle);\r
- sButton += "</a>";\r
- }\r
- }\r
- else if (sType == "show")\r
- {\r
- if (isTopicOnly())\r
- {\r
- var sTitle = "Show Navigation Component";\r
- goShow = new button(sText, nWidth, nHeight, sImg1, sImg2, sImg3);\r
- sButton = "<a title=\"" + sTitle + "\" class=\"whtbtnshow\" href=\"javascript:void(0);\" onclick=\"show();return false;\">";\r
- if (nStyle == BTN_TEXT)\r
- sButton += goShow.sText;\r
- else\r
- sButton += getImage(goShow, sTitle);\r
- sButton += "</a>";\r
- }\r
- }\r
- else if (sType == "hide")\r
- {\r
- if (!isTopicOnly())\r
- {\r
- var sTitle = "Hide Navigation Component";\r
- goHide = new button(sText, nWidth, nHeight, sImg1, sImg2, sImg3);\r
- sButton = "<a title=\"" + sTitle + "\" class=\"whtbtnhide\" href=\"javascript:void(0);\" onclick=\"hide();return false;\">";\r
- if (nStyle == BTN_TEXT)\r
- sButton += goHide.sText;\r
- else\r
- sButton += getImage(goHide, sTitle);\r
- sButton += "</a>";\r
- }\r
- }\r
- else if (sType == "shownav")\r
- {\r
- \r
- if (isShowHideEnable())\r
- {\r
- var sTitle = "Show Navigation Component";\r
- goShowNav = new button(sText, nWidth, nHeight, sImg1, sImg2, sImg3);\r
- sButton = "<a title=\"" + sTitle + "\" class=\"whtbtnshownav\" href=\"javascript:void(0);\" onclick=\"showHidePane(true);return false;\">";\r
- if (nStyle == BTN_TEXT)\r
- sButton += goShowNav.sText;\r
- else\r
- sButton += getImage(goShowNav, sTitle);\r
- sButton += "</a>";\r
- }\r
- }\r
- else if (sType == "hidenav")\r
- {\r
- if (isShowHideEnable())\r
- {\r
- var sTitle = "Hide Navigation Component";\r
- goHideNav = new button(sText, nWidth, nHeight, sImg1, sImg2, sImg3);\r
- sButton = "<a title=\"" + sTitle + "\" class=\"whtbtnhidenav\" href=\"javascript:void(0);\" onclick=\"showHidePane(false);return false;\">";\r
- if (nStyle == BTN_TEXT)\r
- sButton += goHideNav.sText;\r
- else\r
- sButton += getImage(goHideNav, sTitle);\r
- sButton += "</a>";\r
- }\r
- }\r
- else if (sType == "synctoc")\r
- {\r
- if (gaPaths.length > 0)\r
- {\r
- var sTitle = "Sync TOC";\r
- goSync = new button(sText, nWidth, nHeight, sImg1, sImg2, sImg3);\r
- sButton = "<a title=\""+ sTitle + "\" class=\"whtbtnsynctoc\" href=\"javascript:void(0);\" onclick=\"syncWithShow();return false;\">";\r
- if (nStyle == BTN_TEXT)\r
- sButton += goSync.sText;\r
- else\r
- sButton += getImage(goSync, sTitle);\r
- sButton += "</a>";\r
- }\r
- }\r
- else if (sType == "websearch")\r
- {\r
- if (gsSearchFormHref.length > 0)\r
- {\r
- var sTitle = "WebSearch";\r
- goWebSearch = new button(sText, nWidth, nHeight, sImg1, sImg2, sImg3);\r
- sButton = "<a title=\""+ sTitle + "\" class=\"whtbtnwebsearch\" href=\"" + gsSearchFormHref + "\">";\r
- if (nStyle == BTN_TEXT)\r
- sButton += goWebSearch.sText;\r
- else\r
- sButton += getImage(goWebSearch, sTitle);\r
- sButton += "</a>";\r
- }\r
- }\r
- else if (sType == "searchform")\r
- {\r
- gaButtons[nBtn] = "NeedSearchForm";\r
- gaTypes[nBtn] = sType;\r
- }\r
- if (sButton.length != 0)\r
- {\r
- if (nStyle == BTN_TEXT)\r
- sButton += " ";\r
- gaButtons[nBtn] = "<td>" + sButton + "</td>";\r
- gaTypes[nBtn] = sType;\r
- }\r
-}\r
-\r
-function isSyncEnabled()\r
-{\r
- if (!gbCheckSync)\r
- {\r
- var oMsg=new whMessage(WH_MSG_ISSYNCSSUPPORT,this,1,null);\r
- if(SendMessage(oMsg))\r
- {\r
- gbSyncEnabled=oMsg.oParam;\r
- }\r
- gbCheckSync=true;\r
- }\r
- return gbSyncEnabled;\r
-}\r
-\r
-function isInPopup()\r
-{\r
- return (window.name.indexOf("BSSCPopup") != -1);\r
-}\r
-\r
-function getIntopicBar(sAlign)\r
-{\r
- var sHTML = "";\r
- if (gaButtons.length > 0)\r
- {\r
- sHTML += "<div align="+ sAlign + ">";\r
-\r
- sHTML += "<table cellpadding=\"2\" cellspacing=\"0\" border=\"0\"><tr>";\r
- for (var i = 0; i < gaButtons.length; i++)\r
- {\r
- if (gaTypes[i]!="synctoc" || isSyncEnabled())\r
- {\r
- if (gaButtons[i] == "NeedSearchForm")\r
- sHTML += getSearchFormHTML();\r
- else\r
- sHTML += gaButtons[i];\r
- }\r
- }\r
- sHTML += "</tr></table>";\r
-\r
- sHTML += "</div>";\r
- }\r
- return sHTML;\r
-}\r
-\r
-\r
-function writeIntopicBar(nAligns)\r
-{\r
- if (isInPopup()) return;\r
- if (gaButtons.length > 0)\r
- {\r
- var sHTML = "";\r
- if (nAligns != 0)\r
- {\r
- sHTML += "<table width=100%><tr>"\r
- if (nAligns & 1)\r
- sHTML += "<td width=33%>" + getIntopicBar("left") + "</td>";\r
- if (nAligns & 2)\r
- sHTML += "<td width=34%>" + getIntopicBar("center") + "</td>";\r
- if (nAligns & 4)\r
- sHTML += "<td width=33%>" + getIntopicBar("right") + "</td>";\r
- sHTML += "</tr></table>";\r
- document.write(sHTML);\r
- }\r
- }\r
-}\r
-\r
-function sendAveInfoOut()\r
-{\r
- if (!isInPopup())\r
- setTimeout("sendAveInfo();", 100);\r
-}\r
-\r
-function sendAveInfo()\r
-{\r
- var oMsg = new whMessage(WH_MSG_AVENUEINFO, this, 1, gaAvenues);\r
- SendMessage(oMsg);\r
-}\r
-\r
-\r
-function onNext()\r
-{\r
- var oMsg = new whMessage(WH_MSG_NEXT, this, 1, null);\r
- SendMessage(oMsg);\r
-}\r
-\r
-function onPrev()\r
-{\r
- var oMsg = new whMessage(WH_MSG_PREV, this, 1, null);\r
- SendMessage(oMsg);\r
-}\r
-\r
-function createSyncInfo()\r
-{\r
- var oParam = new Object();\r
- if (gsPPath.length == 0)\r
- gsPPath = _getPath(document.location.href);\r
- oParam.sPPath = gsPPath;\r
- oParam.sTPath = document.location.href;\r
- oParam.aPaths = gaPaths;\r
- return oParam;\r
-}\r
-\r
-function syncWithShow()\r
-{\r
- if (isTopicOnly())\r
- show();\r
- else \r
- {\r
- sync();\r
- showTocPane();\r
- }\r
-}\r
-\r
-function showTocPane()\r
-{\r
- var oMsg = new whMessage(WH_MSG_SHOWTOC, this, 1, null);\r
- SendMessage(oMsg);\r
-}\r
-\r
-function sendSyncInfo()\r
-{\r
- if (!isInPopup())\r
- {\r
- var oParam = null;\r
- if (gaPaths.length > 0)\r
- {\r
- oParam = createSyncInfo();\r
- }\r
- var oMsg = new whMessage(WH_MSG_SYNCINFO, this, 1, oParam);\r
- SendMessage(oMsg);\r
- }\r
-}\r
-\r
-function sendInvalidSyncInfo()\r
-{\r
- if (!isInPopup())\r
- {\r
- var oMsg = new whMessage(WH_MSG_SYNCINFO, this, 1, null);\r
- SendMessage(oMsg);\r
- }\r
-}\r
-\r
-function enableWebSearch(bEnable)\r
-{\r
- if (!isInPopup())\r
- {\r
- var oMsg = new whMessage(WH_MSG_ENABLEWEBSEARCH, this, 1, bEnable);\r
- SendMessage(oMsg);\r
- }\r
-}\r
-\r
-function autoSync(nSync)\r
-{\r
- if (nSync == 0) return;\r
- if (isInPopup()) return;\r
- if (isOutMostTopic())\r
- sync();\r
-}\r
-\r
-function isOutMostTopic()\r
-{\r
- if (gnOutmostTopic == -1)\r
- {\r
- var oMessage = new whMessage(WH_MSG_ISINFRAMESET, this, 1 , null);\r
- if (SendMessage(oMessage))\r
- gnOutmostTopic = 0;\r
- else\r
- gnOutmostTopic = 1;\r
- }\r
- return (gnOutmostTopic == 1);\r
-}\r
-\r
-function sync()\r
-{\r
- if (gaPaths.length > 0)\r
- {\r
- var oParam = createSyncInfo();\r
- var oMessage = new whMessage(WH_MSG_SYNCTOC, this, 1, oParam);\r
- SendMessage(oMessage);\r
- }\r
-}\r
-\r
-\r
-function avenueInfo(sName, sPrev, sNext)\r
-{\r
- this.sName = sName;\r
- this.sPrev = sPrev;\r
- this.sNext = sNext;\r
-}\r
-\r
-function getCurrentAvenue()\r
-{\r
- var oParam = new Object();\r
- oParam.sAvenue = null;\r
- var oMessage = new whMessage(WH_MSG_GETCURRENTAVENUE, this, 1, oParam);\r
- SendMessage(oMessage);\r
- return oParam.sAvenue;\r
-}\r
-\r
-function unRegisterListener()\r
-{\r
- sendInvalidSyncInfo();\r
- enableWebSearch(false);\r
- if (whtopic_foldUnload)\r
- whtopic_foldUnload();\r
-}\r
-\r
-function onSendMessage(oMsg)\r
-{\r
- var nMsgId = oMsg.nMessageId;\r
- if (nMsgId == WH_MSG_GETAVIAVENUES)\r
- {\r
- oMsg.oParam.aAvenues = gaAvenues;\r
- return false;\r
- }\r
- else if (nMsgId == WH_MSG_GETTOCPATHS)\r
- {\r
- if (isOutMostTopic())\r
- {\r
- oMsg.oParam.oTocInfo = createSyncInfo();\r
- return false; \r
- }\r
- else\r
- return true;\r
- }\r
- else if (nMsgId == WH_MSG_NEXT)\r
- {\r
- goAvenue(true);\r
- }\r
- else if (nMsgId == WH_MSG_PREV)\r
- {\r
- goAvenue(false);\r
- }\r
- else if (nMsgId == WH_MSG_WEBSEARCH)\r
- {\r
- websearch();\r
- }\r
- return true;\r
-}\r
-\r
-function goAvenue(bNext)\r
-{\r
- var sTopic = null;\r
- var sAvenue = getCurrentAvenue();\r
- var nAvenue = -1;\r
- if (sAvenue != null && sAvenue != "")\r
- {\r
- for (var i = 0; i < gaAvenues.length ; i ++)\r
- {\r
- if (gaAvenues[i].sName == sAvenue)\r
- {\r
- nAvenue = i;\r
- break;\r
- }\r
- }\r
- if (nAvenue != -1)\r
- {\r
- if (bNext)\r
- sTopic = gaAvenues[nAvenue].sNext;\r
- else\r
- sTopic = gaAvenues[nAvenue].sPrev;\r
- }\r
- }\r
- else\r
- { \r
- for (var i = 0; i < gaAvenues.length ; i ++)\r
- {\r
- if (gaAvenues[i].sNext != null && gaAvenues[i].sNext.length > 0 && bNext)\r
- {\r
- sTopic = gaAvenues[i].sNext;\r
- break;\r
- }\r
- else if (gaAvenues[i].sPrev != null && gaAvenues[i].sPrev.length > 0 && !bNext)\r
- {\r
- sTopic = gaAvenues[i].sPrev;\r
- break;\r
- }\r
- }\r
- }\r
- \r
- if (sTopic != null && sTopic != "")\r
- {\r
- if (gsPPath != null && gsPPath != "")\r
- {\r
- sFullTopicPath = _getFullPath(gsPPath, sTopic);\r
- document.location = sFullTopicPath;\r
- }\r
- }\r
-}\r
-\r
-function canGo(bNext)\r
-{\r
- for (var i = 0; i < gaAvenues.length ; i ++)\r
- {\r
- if ((gaAvenues[i].sNext != null && gaAvenues[i].sNext.length > 0 && bNext) ||\r
- (gaAvenues[i].sPrev != null && gaAvenues[i].sPrev.length > 0 && !bNext))\r
- return true;\r
- }\r
- return false;\r
-}\r
-\r
-function show()\r
-{\r
- if (gsStartPage != "")\r
- window.location = gsStartPage + "#" + gsRelCurPagePath;\r
-}\r
-\r
-function hide()\r
-{\r
- if (goFrame != null)\r
- {\r
- goFrame.location = window.location;\r
- }\r
-}\r
-\r
-function isTopicOnly()\r
-{\r
- if (gnTopicOnly == -1)\r
- {\r
- var oParam = new Object();\r
- oParam.oFrame = null;\r
- var oMsg = new whMessage(WH_MSG_GETSTARTFRAME, this, 1, oParam);\r
- if (SendMessage(oMsg))\r
- {\r
- goFrame = oParam.oFrame;\r
- gnTopicOnly = 0;\r
- }\r
- else\r
- gnTopicOnly = 1;\r
- }\r
- if (gnTopicOnly == 1)\r
- return true;\r
- else\r
- return false;\r
-}\r
-\r
-function websearch()\r
-{\r
- if (gbNav4)\r
- {\r
- if (document.ehelpform)\r
- document.ehelpform.submit();\r
- }\r
- else\r
- {\r
- if (window.ehelpform)\r
- window.ehelpform.submit();\r
- }\r
-}\r
-\r
-function addSearchFormHref(sHref)\r
-{\r
- gsSearchFormHref = sHref;\r
- enableWebSearch(true);\r
-}\r
-\r
-function searchB(nForm)\r
-{\r
- var sValue = eval("document.searchForm" + nForm + ".searchString.value");\r
- var oMsg = new whMessage(WH_MSG_SEARCHTHIS, this, 1, sValue);\r
- SendMessage(oMsg);\r
-}\r
-\r
-function getSearchFormHTML()\r
-{\r
- var sHTML = "";\r
- gnForm ++;\r
- var sFormName = "searchForm" + gnForm;\r
- var sButton = "<form name=\"" + sFormName + "\" method=\"POST\" action=\"javascript:searchB("+ gnForm + ")\">"\r
- sButton += "<input type=\"text\" name=\"searchString\" value=\"- Full Text search -\" size=\"20\"/>";\r
- if ("" == "text")\r
- {\r
- sButton+="<a class=\"searchbtn\" href=\"javascript:void(0);\" onclick=\"" + sFormName + ".submit(); return false;\"></a>";\r
- }\r
- else if ("" == "image")\r
- {\r
- sButton+="<a class=\"searchbtn\" href=\"javascript:void(0);\" onclick=\"" + sFormName + ".submit(); return false;\">"\r
- sButton+="<img src=\"\" border=0></a>";\r
- }\r
- sButton += "</form>";\r
- sHTML ="<td align=\"center\">" + sButton + "</td>";\r
- return sHTML;\r
-}\r
-\r
-function showHidePane(bShow)\r
-{\r
- var oMsg=null;\r
- if (bShow)\r
- oMsg=new whMessage(WH_MSG_SHOWPANE, this, 1, null);\r
- else\r
- oMsg=new whMessage(WH_MSG_HIDEPANE, this, 1, null);\r
- SendMessage(oMsg);\r
-}\r
-\r
-function isShowHideEnable()\r
-{\r
- if (gbIE4)\r
- return true;\r
- else\r
- return false;\r
-}\r
-\r
-if(window.gbWhUtil&&window.gbWhMsg&&window.gbWhVer&&window.gbWhProxy)\r
-{\r
- RegisterListener("bsscright", WH_MSG_GETAVIAVENUES);\r
- RegisterListener("bsscright", WH_MSG_GETTOCPATHS);\r
- RegisterListener("bsscright", WH_MSG_NEXT);\r
- RegisterListener("bsscright", WH_MSG_PREV);\r
- RegisterListener("bsscright", WH_MSG_WEBSEARCH);\r
- if (gbMac && gbIE4)\r
- {\r
- if (typeof(window.onunload) != "unknown")\r
- whtopic_foldUnload = window.onunload;\r
- }\r
- else\r
- {\r
- if (window.onunload)\r
- whtopic_foldUnload = window.onunload;\r
- }\r
- window.onunload = unRegisterListener;\r
- setButtonFont("show","","10pt","","","","");\r
-\r
- gbWhTopic=true;\r
-}\r
-else\r
- document.location.reload();
\ No newline at end of file
+++ /dev/null
-var gsFileName="";\r
-var xmlDoc=null;\r
-var sdocPath=null;\r
-var gsInsertBeforeEndHTML="";\r
-var sReplaceStringsSrc=new Array();\r
-sReplaceStringsSrc[0]="&";\r
-sReplaceStringsSrc[1]=">";\r
-sReplaceStringsSrc[2]="<";\r
-sReplaceStringsSrc[3]=""";\r
-sReplaceStringsSrc[4]=" ";\r
-var sReplaceStringsDst=new Array();\r
-sReplaceStringsDst[0]="&";\r
-sReplaceStringsDst[1]=">";\r
-sReplaceStringsDst[2]="<";\r
-sReplaceStringsDst[3]="\"";\r
-sReplaceStringsDst[4]=" ";\r
-var goHighLighted=null;\r
-\r
-function _getRelativePath(strParentPath,strCurrentPath)\r
-{\r
- if(_isAbsPath(strCurrentPath)) return _getPath(strCurrentPath);\r
- strParentPath=_replaceSlash(strParentPath);\r
- strParentPath=_getPath(strParentPath);\r
- strCurrentPath=_replaceSlash(strCurrentPath);\r
- strCurrentPath=_getPath(strCurrentPath);\r
- for(var i=0;i<strParentPath.length&&i<strCurrentPath.length;i++)\r
- {\r
- if(strParentPath.charAt(i)!=strCurrentPath.charAt(i))\r
- break;\r
- }\r
- \r
- strParentPath=strParentPath.substring(i);\r
- strCurrentPath=strCurrentPath.substring(i); \r
- \r
- var nPathPos=0;\r
- while(nPathPos!=-1)\r
- {\r
- nPathPos=strParentPath.indexOf("/");\r
- if(nPathPos!=-1)\r
- {\r
- strParentPath=strParentPath.substring(nPathPos+1);\r
- strCurrentPath="../"+strCurrentPath;\r
- }\r
- }\r
- return strCurrentPath;\r
-}\r
-\r
-function _getRelativeFileName(strParentPath, strCurrentPath)\r
-{\r
- strParentPath=_replaceSlash(strParentPath);\r
- strParentPath=_getPath(strParentPath);\r
- strCurrentPath=_replaceSlash(strCurrentPath);\r
- for(var i=0;i<strParentPath.length&&i<strCurrentPath.length;i++)\r
- {\r
- if(strParentPath.charAt(i)!=strCurrentPath.charAt(i))\r
- break;\r
- }\r
- \r
- strParentPath=strParentPath.substring(i);\r
- strCurrentPath=strCurrentPath.substring(i); \r
- \r
- var nPathPos=0;\r
- while(nPathPos!=-1)\r
- {\r
- nPathPos=strParentPath.indexOf("/");\r
- if(nPathPos!=-1)\r
- {\r
- strParentPath=strParentPath.substring(nPathPos+1);\r
- strCurrentPath="../"+strCurrentPath;\r
- }\r
- }\r
- return strCurrentPath;\r
-}\r
-\r
-function _isAbsPathToHost(sPath)\r
-{\r
- return (sPath.indexOf("/")==0);\r
-}\r
-\r
-function _getHost(sPath)\r
-{\r
- var nPos=sPath.indexOf("//");\r
- if(nPos>0)\r
- {\r
- var nPosx=sPath.indexOf("/",nPos+2);\r
- if(nPosx>0)\r
- return sPath.substring(0,nPosx);\r
- else\r
- return sPath;\r
- }\r
- return sPath;\r
-}\r
-\r
-function _getFullPath(sPath,sRelPath)\r
-{\r
- if(_isAbsPath(sRelPath))\r
- return sRelPath;\r
- else if(_isAbsPathToHost(sRelPath))\r
- return _getHost(sPath)+sRelPath;\r
- else\r
- {\r
- var sFullPath=sPath;\r
- var nPathPos=0;\r
- while(nPathPos!=-1)\r
- {\r
- var nPathPos=sRelPath.indexOf("../");\r
- if(nPathPos!=-1)\r
- {\r
- sRelPath=sRelPath.substring(nPathPos+3);\r
- sFullPath=sFullPath.substring(0,sFullPath.length-1);\r
- var nPos2 = sFullPath.lastIndexOf("/");\r
- if(nPos2!=-1)\r
- sFullPath=sFullPath.substring(0,nPos2+1);\r
- else\r
- break;\r
- }\r
- }\r
- sFullPath+=sRelPath;\r
- return sFullPath;\r
- } \r
-}\r
-\r
-function _isAbsPath(strPath)\r
-{\r
- var strUpper=strPath.toUpperCase();\r
- return (strUpper.indexOf(":")!=-1);\r
-}\r
-\r
-function _replaceSlash(strURL)\r
-{ \r
- var re=new RegExp("\\\\","g");\r
- var strReplacedURL=strURL.replace(re,"/");\r
- return strReplacedURL;\r
-}\r
-\r
-function _getPath(strURL)\r
-{\r
- pathpos=strURL.lastIndexOf("/");\r
- if(pathpos>0)\r
- return strURL.substring(0,pathpos+1);\r
- else\r
- return "";\r
-}\r
-\r
-function removeItemFromArray(oArray,i)\r
-{\r
- if(oArray.length&&i>=0&&i<oArray.length)\r
- {\r
- var len=oArray.length;\r
- for(var s=i;s<len-1;s++)\r
- oArray[s]=oArray[s+1];\r
- oArray.length=len-1;\r
- }\r
-}\r
-\r
-function insertItemIntoArray(oArray,i,obj)\r
-{\r
- if(oArray.length&&i>=0&&i<=oArray.length)\r
- {\r
- var len=oArray.length;\r
- for(var s=len;s>i;s--)\r
- oArray[s]=oArray[s-1];\r
- oArray[i]=obj; \r
- }\r
-}\r
-\r
-function loadData(sFileName)\r
-{\r
- if(!getElement("dataDiv"))\r
- {\r
- if(!insertDataDiv())\r
- {\r
- gsFileName=sFileName;\r
- return;\r
- }\r
- }\r
- var sHTML="";\r
- if(gbMac)\r
- sHTML+="<iframe src="+sFileName+"></iframe>";\r
- else\r
- sHTML+="<iframe style=\"visibility:hidden;width:0;height:0\" src="+sFileName+"></iframe>";\r
- \r
- var oDivCon=getElement("dataDiv");\r
- if(oDivCon)\r
- {\r
- if(gbNav6)\r
- {\r
- if(oDivCon.getElementsByTagName&&oDivCon.getElementsByTagName("iFrame").length>0)\r
- {\r
- oDivCon.getElementsByTagName("iFrame")[0].src=sFileName;\r
- }\r
- else\r
- oDivCon.innerHTML=sHTML;\r
- }\r
- else\r
- oDivCon.innerHTML=sHTML;\r
- }\r
-}\r
-\r
-function loadDataXML(sFileName)\r
-{\r
- var sCurrentDocPath=_getPath(document.location.href);\r
- sdocPath=_getFullPath(sCurrentDocPath,sFileName);\r
- if(gbIE5)\r
- {\r
- xmlDoc=new ActiveXObject("Microsoft.XMLDOM");\r
- xmlDoc.async=true;\r
- xmlDoc.onreadystatechange=checkState;\r
- if(document.body!=null)\r
- xmlDoc.load(sdocPath);\r
- }\r
- else if(gbNav6)\r
- {\r
- xmlDoc=document.implementation.createDocument("","",null);\r
- xmlDoc.addEventListener("load",initializeData,false);\r
- xmlDoc.load(sdocPath,"text/xml");\r
- }\r
-}\r
-\r
-function initializeData()\r
-{\r
- if(xmlDoc!=null)\r
- putDataXML(xmlDoc,sdocPath);\r
-}\r
-\r
-function checkState()\r
-{\r
- if(xmlDoc!=null)\r
- {\r
- var state=xmlDoc.readyState;\r
- if(state==4)\r
- {\r
- var err=xmlDoc.parseError;\r
- if(err.errorCode!=0)\r
- alert(err.reason);\r
- else\r
- putDataXML(xmlDoc,sdocPath);\r
- }\r
- }\r
-}\r
-\r
-function insertDataDiv()\r
-{\r
- var sHTML="";\r
- if(gbMac)\r
- sHTML+="<div id=dataDiv style=\"display:none;\"></div>";\r
- else\r
- sHTML+="<div id=dataDiv style=\"visibility:hidden\"></div>";\r
- if((gbIE5||gbNav6)&&document.body)\r
- document.body.insertAdjacentHTML("beforeEnd",sHTML);\r
- else\r
- {\r
- gsInsertBeforeEndHTML=sHTML;\r
- setTimeout("insertWhenBodyReady();",100);\r
- return false;\r
- }\r
- return true;\r
-}\r
-\r
-function insertWhenBodyReady()\r
-{\r
- if(gsInsertBeforeEndHTML=="") return;\r
- if(document.body)\r
- {\r
- document.body.insertAdjacentHTML("beforeEnd",gsInsertBeforeEndHTML);\r
- gsInsertBeforeEndHTML="";\r
- loadData(gsFileName);\r
- }\r
- else\r
- {\r
- setTimeout("insertWhenBodyReady();",100);\r
- }\r
-}\r
-\r
-function window_BUnload()\r
-{\r
- var oDivCon=getElement("dataDiv");\r
- if(oDivCon)\r
- oDivCon.innerHTML="";\r
-}\r
-\r
-function removeThis(obj)\r
-{\r
- if(obj.parentNode)\r
- obj.parentNode.removeChild(obj);\r
- else\r
- obj.outerHTML="";\r
-}\r
-\r
-function getParentNode(obj)\r
-{\r
- if(obj.parentNode)\r
- return obj.parentNode;\r
- else if(obj.parentElement)\r
- return obj.parentElement;\r
- return null;\r
-}\r
-\r
-function getElement(sID)\r
-{\r
- if(document.getElementById)\r
- return document.getElementById(sID);\r
- else if(document.all)\r
- return document.all(sID);\r
- return null;\r
-}\r
-\r
-function getChildrenByTag(obj,sTagName)\r
-{\r
- if(obj.getElementsByTagName)\r
- {\r
- var aChildren=new Array();\r
- var aElements=getElementsByTag(obj,sTagName);\r
- if(aElements!=null)\r
- {\r
- for(var i=0;i<aElements.length;i++)\r
- {\r
- if(aElements[i].parentNode==obj)\r
- aChildren[aChildren.length]=aElements[i];\r
- }\r
- return aChildren;\r
- }\r
- else\r
- return new Array();\r
- }\r
- else if(obj.children)\r
- return obj.children.tags(sTagName);\r
-}\r
-\r
-function getElementsByTag(obj,sTagName)\r
-{\r
- if(obj.getElementsByTagName)\r
- return obj.getElementsByTagName(sTagName);\r
- else if(obj.all)\r
- return obj.all.tags(sTagName);\r
- return null;\r
-}\r
-\r
-function _htmlToText(sHTML)\r
-{\r
- if(sHTML==null) return null;\r
- var sText=sHTML;\r
- for(var i=0;i<sReplaceStringsSrc.length;i++)\r
- {\r
- var re=new RegExp(sReplaceStringsSrc[i],"g");\r
- sText=sText.replace(re,sReplaceStringsDst[i]);\r
- } \r
- return sText;\r
-}\r
-\r
-function _textToHtml_nonbsp(sText)\r
-{\r
- if(sText==null) return null;\r
- var sHTML=sText;\r
- for(var i=0;i<sReplaceStringsSrc.length-1;i++)\r
- {\r
- var re=new RegExp(sReplaceStringsDst[i],"g");\r
- sHTML=sHTML.replace(re,sReplaceStringsSrc[i]);\r
- } \r
- return sHTML;\r
-}\r
-\r
-function _textToHtml(sText)\r
-{\r
- if(sText==null) return null;\r
- var sHTML=sText;\r
- for(var i=0;i<sReplaceStringsSrc.length;i++)\r
- {\r
- var re=new RegExp(sReplaceStringsDst[i],"g");\r
- sHTML=sHTML.replace(re,sReplaceStringsSrc[i]);\r
- } \r
- return sHTML;\r
-}\r
-\r
-\r
-function getInnerText(obj)\r
-{\r
- var renbsp2sp=new RegExp("\xa0","g");\r
- if(obj.innerText)\r
- {\r
- var sText=obj.innerText;\r
- sText=sText.replace(renbsp2sp," ");\r
- return sText;\r
- }\r
- else\r
- {\r
- if(obj.nodeValue)\r
- {\r
- var sValue=obj.nodeValue;\r
- sValue=sValue.replace(renbsp2sp," ");\r
- return sValue;\r
- }\r
- else\r
- {\r
- var sText="";\r
- var oChild=obj.firstChild;\r
- while(oChild!=null)\r
- {\r
- sText+=getInnerText(oChild);\r
- oChild=oChild.nextSibling;\r
- }\r
- return sText;\r
- }\r
- }\r
- \r
-}\r
-\r
-function HighLightElement(obj,sHighLightColor,sNormalColor)\r
-{\r
- if(obj!=null)\r
- {\r
- resetHighLight(sNormalColor);\r
- obj.style.backgroundColor=sHighLightColor;\r
- goHighLighted=obj;\r
- }\r
-}\r
-\r
-function resetHighLight(sNormalColor)\r
-{\r
- if(goHighLighted!=null)\r
- {\r
- goHighLighted.style.backgroundColor=sNormalColor;\r
- goHighLighted=null;\r
- }\r
-}\r
-\r
-function whFont(sName,sSize,sColor,sStyle,sWeight,sDecoration)\r
-{\r
- this.sName=sName;\r
- this.sSize=sSize;\r
- this.sColor=sColor;\r
- this.sStyle=sStyle;\r
- this.sWeight=sWeight;\r
- this.sDecoration=sDecoration;\r
-}\r
-\r
-function getFontStyle(oFont)\r
-{\r
- var sStyle="";\r
- if(oFont)\r
- {\r
- sStyle+="font-family:"+oFont.sName+";";\r
- if(gbMac)\r
- {\r
- var nSize=parseInt(oFont.sSize);\r
- if(gbIE5)\r
- nSize+=2;\r
- else\r
- nSize+=4;\r
- sStyle+="font-size:"+nSize+"pt;";\r
- }\r
- else\r
- sStyle+="font-size:"+oFont.sSize+";";\r
- \r
- sStyle+="font-style:"+oFont.sStyle+";";\r
- sStyle+="font-weight:"+oFont.sWeight+";";\r
- sStyle+="text-decoration:"+oFont.sDecoration+";";\r
- sStyle+="color:"+oFont.sColor+";";\r
- }\r
- return sStyle;\r
-}\r
-\r
-var gbWhUtil=true;
\ No newline at end of file
+++ /dev/null
-var gbNav6=false;\r
-var gbNav61=false;\r
-var gbNav4=false;\r
-var gbIE4=false;\r
-var gbIE=false;\r
-var gbIE5=false;\r
-var gbIE55=false;\r
-\r
-var gAgent=navigator.userAgent.toLowerCase();\r
-var gbMac=(gAgent.indexOf("mac")!=-1);\r
-var gbSunOS=(gAgent.indexOf("sunos")!=-1);\r
-var gbOpera=(gAgent.indexOf("opera")!=-1);\r
-\r
-var gVersion=navigator.appVersion.toLowerCase();\r
-\r
-var gnVerMajor=parseInt(gVersion);\r
-var gnVerMinor=parseFloat(gVersion);\r
-\r
-gbIE=(navigator.appName.indexOf("Microsoft")!=-1);\r
-if(gnVerMajor>=4)\r
-{\r
- if(navigator.appName=="Netscape")\r
- {\r
- gbNav4=true;\r
- if(gnVerMajor>=5)\r
- gbNav6=true;\r
- }\r
- gbIE4=(navigator.appName.indexOf("Microsoft")!=-1);\r
-}\r
-if(gbNav6)\r
-{\r
- document.gnPageWidth=innerWidth;\r
- document.gnPageHeight=innerHeight;\r
- var nPos=gAgent.indexOf("netscape");\r
- if(nPos!=-1)\r
- {\r
- var nVersion=parseFloat(gAgent.substring(nPos+10));\r
- if(nVersion>=6.1)\r
- gbNav61=true;\r
- }\r
-}else if(gbIE4)\r
-{\r
- var nPos=gAgent.indexOf("msie");\r
- if(nPos!=-1)\r
- {\r
- var nVersion=parseFloat(gAgent.substring(nPos+5));\r
- if(nVersion>=5)\r
- gbIE5=true;\r
- if(nVersion>=5.5)\r
- gbIE55=true;\r
- }\r
-}\r
-\r
-var gbWhVer=true;
\ No newline at end of file
+++ /dev/null
-# Copyright (C) 2003 CEA/DEN, EDF R&D
-#
-#
-#
-# File : Makefile.in
-# Author : Vasily Rusyaev (Open Cascade NN)
-# Module : doc
-# $Header:
-
-top_srcdir=@top_srcdir@
-top_builddir=../../..
-root_srcdir=@ROOT_SRCDIR@
-srcdir=@srcdir@
-VPATH=.:@srcdir@
-doxygen=@DOXYGEN@
-
-@COMMENCE@
-
-docs:
- cp -fr $(srcdir)/SUPERV ./INPUT; \
- cd INPUT; \
- sed 's|../../../share/salome|$(root_srcdir)|' ./doxyfile > ./doxyfile1; \
- mv -f doxyfile1 doxyfile; \
- $(doxygen) ./doxyfile; \
- cd ..; \
- cp -fr $(srcdir)/SUPERV/sources/static/*.* ./SUPERV/
- cp -fr $(srcdir)/SUPERV/sources/ SUPERV/
- cp -fr $(srcdir)/SUPERV/HTML/ SUPERV/
- rm -fr INPUT
-
-clean:
- rm -fr SUPERV
-
-distclean: clean
- rm -fr INPUT
-
-install:
- $(INSTALL) -d $(docdir); \
- mkdir -p $(docdir)/tui
- cp -fr SUPERV $(docdir)/tui
-
-uninstall:
- rm -fr $(docdir)/tui/SUPERV
+++ /dev/null
-<HTML><b>
-<table width="100%" BORDER>
-<tr bgcolor="#FFFFCC">
-<td colspan="11"><font size="+3"><b><div align="center"><i>interface AddComponent</i></div></b></font></td>
-</tr>
-<td width="50%" bgcolor= "lightgreen" ><font size="+2"><div align="center"><b><i>IDL file</i></b></div></font></td>
-<td width="50%" bgcolor= "lightgreen"><font size="+2"><div align="center"><b><i>Python</i></b></div></font></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>Adder Addition ( )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = Addition ( )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>double Add ( in double x, in double y, out double z )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>[ return_value, z ] = Add ( x, y )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>double LastResult ( )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = LastResult ( )</b></div></td>
-</tr>
-</table><br>
-<table width="100%" BORDER>
-<tr bgcolor="#FFFFCC">
-<td colspan="11"><font size="+3"><b><div align="center"><i>interface Adder</i></div></b></font></td>
-</tr>
-<td width="50%" bgcolor= "lightgreen" ><font size="+2"><div align="center"><b><i>IDL file</i></b></div></font></td>
-<td width="50%" bgcolor= "lightgreen"><font size="+2"><div align="center"><b><i>Python</i></b></div></font></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>double Add ( in double x, in double y, out double z )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>[ return_value, z ] = Add ( x, y )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>double AddAndCompare ( in double x, in double y, in Adder anOtherAdder, out double z )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>[ return_value, z ] = AddAndCompare ( x, y, anOtherAdder )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>void SetLastResult ( in double z )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>SetLastResult ( z )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>void LastResult ( out double z )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>z = LastResult ( )</b></div></td>
-</tr>
-</table><br>
-</b></HTML>
+++ /dev/null
-<HTML><b>
-<table width="100%" BORDER>
-<tr bgcolor="#FFFFCC">
-<td colspan="11"><font size="+3"><b><div align="center"><i>interface DivComponent</i></div></b></font></td>
-</tr>
-<td width="50%" bgcolor= "lightgreen" ><font size="+2"><div align="center"><b><i>IDL file</i></b></div></font></td>
-<td width="50%" bgcolor= "lightgreen"><font size="+2"><div align="center"><b><i>Python</i></b></div></font></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>void Div ( in double x, in double y, out double z )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>z = Div ( x, y )</b></div></td>
-</tr>
-</table><br>
-</b></HTML>
+++ /dev/null
-<HTML><b>
-<table width="100%" BORDER>
-<tr bgcolor="#FFFFCC">
-<td colspan="11"><font size="+3"><b><div align="center"><i>interface FactorialComponent</i></div></b></font></td>
-</tr>
-<td width="50%" bgcolor= "lightgreen" ><font size="+2"><div align="center"><b><i>IDL file</i></b></div></font></td>
-<td width="50%" bgcolor= "lightgreen"><font size="+2"><div align="center"><b><i>Python</i></b></div></font></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>long eval ( in long n )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = eval ( n )</b></div></td>
-</tr>
-</table><br>
-</b></HTML>
+++ /dev/null
-<HTML><b>
-<table width="100%" BORDER>
-<tr bgcolor="#FFFFCC">
-<td colspan="11"><font size="+3"><b><div align="center"><i>interface MulComponent</i></div></b></font></td>
-</tr>
-<td width="50%" bgcolor= "lightgreen" ><font size="+2"><div align="center"><b><i>IDL file</i></b></div></font></td>
-<td width="50%" bgcolor= "lightgreen"><font size="+2"><div align="center"><b><i>Python</i></b></div></font></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>void Mul ( in double x, in double y, out double z )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>z = Mul ( x, y )</b></div></td>
-</tr>
-</table><br>
-</b></HTML>
+++ /dev/null
-<HTML><b>
-<table width="100%" BORDER>
-<tr bgcolor="#FFFFCC">
-<td colspan="11"><font size="+3"><b><div align="center"><i>interface PCSRMat</i></div></b></font></td>
-</tr>
-<td width="50%" bgcolor= "lightgreen" ><font size="+2"><div align="center"><b><i>IDL file</i></b></div></font></td>
-<td width="50%" bgcolor= "lightgreen"><font size="+2"><div align="center"><b><i>Python</i></b></div></font></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>unsigned long NbRows ( )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = NbRows ( )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>unsigned long NbCols ( )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = NbCols ( )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>void LMat ( out unsigned long start, out unsigned long end )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>[ start, end ] = LMat ( )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>CSRMatStruct ncsrmat ( in unsigned long start, in unsigned long end )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = ncsrmat ( start, end )</b></div></td>
-</tr>
-</table><br>
-<table width="100%" BORDER>
-<tr bgcolor="#FFFFCC">
-<td colspan="11"><font size="+3"><b><div align="center"><i>interface NPMatComponent</i></div></b></font></td>
-</tr>
-<td width="50%" bgcolor= "lightgreen" ><font size="+2"><div align="center"><b><i>IDL file</i></b></div></font></td>
-<td width="50%" bgcolor= "lightgreen"><font size="+2"><div align="center"><b><i>Python</i></b></div></font></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>void SetFileName ( in string filename )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>SetFileName ( filename )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>void ReadDataFromFile ( in string id_callback )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>ReadDataFromFile ( id_callback )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>void SaveDataToFile ( in string id_callback )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>SaveDataToFile ( id_callback )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>void SPGetData ( in string id_callback )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>SPGetData ( id_callback )</b></div></td>
-</tr>
-</table><br>
-</b></HTML>
+++ /dev/null
-<HTML><b>
-<table width="100%" BORDER>
-<tr bgcolor="#FFFFCC">
-<td colspan="11"><font size="+3"><b><div align="center"><i>interface NPSolveComponent</i></div></b></font></td>
-</tr>
-<td width="50%" bgcolor= "lightgreen" ><font size="+2"><div align="center"><b><i>IDL file</i></b></div></font></td>
-<td width="50%" bgcolor= "lightgreen"><font size="+2"><div align="center"><b><i>Python</i></b></div></font></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>void Solve ( in PCSRMat A, in PVec b, out PVec x )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>x = Solve ( A, b )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>void SPSolve ( in PCSRMat A, in PVec b, in string id_callback )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>SPSolve ( A, b, id_callback )</b></div></td>
-</tr>
-</table><br>
-</b></HTML>
+++ /dev/null
-<HTML><b>
-<table width="100%" BORDER>
-<tr bgcolor="#FFFFCC">
-<td colspan="11"><font size="+3"><b><div align="center"><i>interface PVec</i></div></b></font></td>
-</tr>
-<td width="50%" bgcolor= "lightgreen" ><font size="+2"><div align="center"><b><i>IDL file</i></b></div></font></td>
-<td width="50%" bgcolor= "lightgreen"><font size="+2"><div align="center"><b><i>Python</i></b></div></font></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>unsigned long Size ( )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = Size ( )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>void LVec ( out unsigned long start, out unsigned long end )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>[ start, end ] = LVec ( )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>DoubleVec nvec ( in unsigned long start, in unsigned long end )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = nvec ( start, end )</b></div></td>
-</tr>
-</table><br>
-<table width="100%" BORDER>
-<tr bgcolor="#FFFFCC">
-<td colspan="11"><font size="+3"><b><div align="center"><i>interface NPVecComponent</i></div></b></font></td>
-</tr>
-<td width="50%" bgcolor= "lightgreen" ><font size="+2"><div align="center"><b><i>IDL file</i></b></div></font></td>
-<td width="50%" bgcolor= "lightgreen"><font size="+2"><div align="center"><b><i>Python</i></b></div></font></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>void SetFileName ( in string filename )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>SetFileName ( filename )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>void ReadDataFromFile ( in string id_callback )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>ReadDataFromFile ( id_callback )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>void SaveDataToFile ( in string id_callback )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>SaveDataToFile ( id_callback )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>void SPGetData ( in string id_callback )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>SPGetData ( id_callback )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>void SPPutData ( in PVec vec, in string id_callback )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>SPPutData ( vec, id_callback )</b></div></td>
-</tr>
-</table><br>
-</b></HTML>
+++ /dev/null
-<HTML><b>
-<table width="100%" BORDER>
-<tr bgcolor="#FFFFCC">
-<td colspan="11"><font size="+3"><b><div align="center"><i>interface SuperG</i></div></b></font></td>
-</tr>
-<td width="50%" bgcolor= "lightgreen" ><font size="+2"><div align="center"><b><i>IDL file</i></b></div></font></td>
-<td width="50%" bgcolor= "lightgreen"><font size="+2"><div align="center"><b><i>Python</i></b></div></font></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>Graph Graph ( in string aGraph )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = Graph ( aGraph )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>Graph GraphE ( in string aGraph )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = GraphE ( aGraph )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>Value StringValue ( in string aString )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = StringValue ( aString )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>Value AnyValue ( in any anAny )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = AnyValue ( anAny )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>Graph getGraph ( in string ior )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = getGraph ( ior )</b></div></td>
-</tr>
-</table><br>
-<table width="100%" BORDER>
-<tr bgcolor="#FFFFCC">
-<td colspan="11"><font size="+3"><b><div align="center"><i>interface CNode</i></div></b></font></td>
-</tr>
-<td width="50%" bgcolor= "lightgreen" ><font size="+2"><div align="center"><b><i>IDL file</i></b></div></font></td>
-<td width="50%" bgcolor= "lightgreen"><font size="+2"><div align="center"><b><i>Python</i></b></div></font></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>string Name ( )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = Name ( )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>Service Service ( )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = Service ( )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>KindOfNode Kind ( )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = Kind ( )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>SDate CreationDate ( )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = CreationDate ( )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>SDate LastUpdateDate ( )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = LastUpdateDate ( )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>string Version ( )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = Version ( )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>string Author ( )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = Author ( )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>string Comment ( )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = Comment ( )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>boolean SetName ( in string aNewName )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = SetName ( aNewName )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>boolean SetAuthor ( in string anAuthor )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = SetAuthor ( anAuthor )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>boolean SetComment ( in string aComment )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = SetComment ( aComment )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>Port Port ( in string aParameterName )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = Port ( aParameterName )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>Port Input ( in string InputParameterName, in Value aValue )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = Input ( InputParameterName, aValue )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>ListOfPorts Ports ( )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = Ports ( )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>ListOfLinks Links ( )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = Links ( )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>boolean IsGraph ( )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = IsGraph ( )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>boolean IsComputing ( )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = IsComputing ( )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>boolean IsFactory ( )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = IsFactory ( )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>boolean IsInLine ( )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = IsInLine ( )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>boolean IsGOTO ( )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = IsGOTO ( )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>boolean IsLoop ( )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = IsLoop ( )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>boolean IsEndLoop ( )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = IsEndLoop ( )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>boolean IsSwitch ( )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = IsSwitch ( )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>boolean IsEndSwitch ( )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = IsEndSwitch ( )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>long SubGraph ( )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = SubGraph ( )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>long Thread ( )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = Thread ( )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>boolean IsWaiting ( )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = IsWaiting ( )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>boolean IsReady ( )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = IsReady ( )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>boolean IsRunning ( )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = IsRunning ( )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>boolean IsDone ( )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = IsDone ( )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>boolean IsSuspended ( )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = IsSuspended ( )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>GraphState State ( )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = State ( )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>boolean ReadyW ( )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = ReadyW ( )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>boolean RunningW ( )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = RunningW ( )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>boolean DoneW ( )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = DoneW ( )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>boolean SuspendedW ( )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = SuspendedW ( )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>boolean Kill ( )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = Kill ( )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>boolean KillDone ( )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = KillDone ( )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>boolean Stop ( )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = Stop ( )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>boolean Suspend ( )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = Suspend ( )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>boolean SuspendDone ( )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = SuspendDone ( )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>boolean Resume ( )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = Resume ( )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>boolean ReRun ( )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = ReRun ( )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>boolean ReRunAt ( in string aNodeName )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = ReRunAt ( aNodeName )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>boolean ReStart ( )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = ReStart ( )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>boolean ReStartAt ( in string aNodeName )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = ReStartAt ( aNodeName )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>AutomatonState AutoState ( )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = AutoState ( )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>ControlState Control ( )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = Control ( )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>void ControlClear ( )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>ControlClear ( )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>boolean ContainerKill ( )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = ContainerKill ( )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>void Coords ( in long X, in long Y )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>Coords ( X, Y )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>long X ( )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = X ( )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>long Y ( )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = Y ( )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>long CpuUsed ( )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = CpuUsed ( )</b></div></td>
-</tr>
-</table><br>
-<table width="100%" BORDER>
-<tr bgcolor="#FFFFCC">
-<td colspan="11"><font size="+3"><b><div align="center"><i>interface FNode</i></div></b></font></td>
-</tr>
-<td width="50%" bgcolor= "lightgreen" ><font size="+2"><div align="center"><b><i>IDL file</i></b></div></font></td>
-<td width="50%" bgcolor= "lightgreen"><font size="+2"><div align="center"><b><i>Python</i></b></div></font></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>string GetComponentName ( )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = GetComponentName ( )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>string GetInterfaceName ( )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = GetInterfaceName ( )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>string GetContainer ( )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = GetContainer ( )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>boolean SetComponentName ( in string aComponentName )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = SetComponentName ( aComponentName )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>boolean SetInterfaceName ( in string anInterfaceName )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = SetInterfaceName ( anInterfaceName )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>boolean SetContainer ( in string aContainer )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = SetContainer ( aContainer )</b></div></td>
-</tr>
-</table><br>
-<table width="100%" BORDER>
-<tr bgcolor="#FFFFCC">
-<td colspan="11"><font size="+3"><b><div align="center"><i>interface INode</i></div></b></font></td>
-</tr>
-<td width="50%" bgcolor= "lightgreen" ><font size="+2"><div align="center"><b><i>IDL file</i></b></div></font></td>
-<td width="50%" bgcolor= "lightgreen"><font size="+2"><div align="center"><b><i>Python</i></b></div></font></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>void SetPyFunction ( in string FuncName, in ListOfStrings aPyInitFunction )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>SetPyFunction ( FuncName, aPyInitFunction )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>ListOfStrings PyFunction ( )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = PyFunction ( )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>string PyFuncName ( )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = PyFuncName ( )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>Port InPort ( in string aParameterName, in string aParameterType )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = InPort ( aParameterName, aParameterType )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>Port OutPort ( in string aParameterName, in string aParameterType )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = OutPort ( aParameterName, aParameterType )</b></div></td>
-</tr>
-</table><br>
-<table width="100%" BORDER>
-<tr bgcolor="#FFFFCC">
-<td colspan="11"><font size="+3"><b><div align="center"><i>interface GNode</i></div></b></font></td>
-</tr>
-<td width="50%" bgcolor= "lightgreen" ><font size="+2"><div align="center"><b><i>IDL file</i></b></div></font></td>
-<td width="50%" bgcolor= "lightgreen"><font size="+2"><div align="center"><b><i>Python</i></b></div></font></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>boolean SetCoupled ( in string anInLineNode )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = SetCoupled ( anInLineNode )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>INode Coupled ( )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = Coupled ( )</b></div></td>
-</tr>
-</table><br>
-<table width="100%" BORDER>
-<tr bgcolor="#FFFFCC">
-<td colspan="11"><font size="+3"><b><div align="center"><i>interface LNode</i></div></b></font></td>
-</tr>
-<td width="50%" bgcolor= "lightgreen" ><font size="+2"><div align="center"><b><i>IDL file</i></b></div></font></td>
-<td width="50%" bgcolor= "lightgreen"><font size="+2"><div align="center"><b><i>Python</i></b></div></font></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>void SetPyInit ( in string MoreName, in ListOfStrings aPyMoreFunction )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>SetPyInit ( MoreName, aPyMoreFunction )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>ListOfStrings PyInit ( )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = PyInit ( )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>string PyInitName ( )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = PyInitName ( )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>void SetPyMore ( in string MoreName, in ListOfStrings aPyMoreFunction )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>SetPyMore ( MoreName, aPyMoreFunction )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>ListOfStrings PyMore ( )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = PyMore ( )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>string PyMoreName ( )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = PyMoreName ( )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>void SetPyNext ( in string NextName, in ListOfStrings aPyNextFunction )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>SetPyNext ( NextName, aPyNextFunction )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>ListOfStrings PyNext ( )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = PyNext ( )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>string PyNextName ( )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = PyNextName ( )</b></div></td>
-</tr>
-</table><br>
-<table width="100%" BORDER>
-<tr bgcolor="#FFFFCC">
-<td colspan="11"><font size="+3"><b><div align="center"><i>interface ELNode</i></div></b></font></td>
-</tr>
-<td width="50%" bgcolor= "lightgreen" ><font size="+2"><div align="center"><b><i>IDL file</i></b></div></font></td>
-<td width="50%" bgcolor= "lightgreen"><font size="+2"><div align="center"><b><i>Python</i></b></div></font></td>
-</tr>
-</table><br>
-<table width="100%" BORDER>
-<tr bgcolor="#FFFFCC">
-<td colspan="11"><font size="+3"><b><div align="center"><i>interface SNode</i></div></b></font></td>
-</tr>
-<td width="50%" bgcolor= "lightgreen" ><font size="+2"><div align="center"><b><i>IDL file</i></b></div></font></td>
-<td width="50%" bgcolor= "lightgreen"><font size="+2"><div align="center"><b><i>Python</i></b></div></font></td>
-</tr>
-</table><br>
-<table width="100%" BORDER>
-<tr bgcolor="#FFFFCC">
-<td colspan="11"><font size="+3"><b><div align="center"><i>interface ESNode</i></div></b></font></td>
-</tr>
-<td width="50%" bgcolor= "lightgreen" ><font size="+2"><div align="center"><b><i>IDL file</i></b></div></font></td>
-<td width="50%" bgcolor= "lightgreen"><font size="+2"><div align="center"><b><i>Python</i></b></div></font></td>
-</tr>
-</table><br>
-<table width="100%" BORDER>
-<tr bgcolor="#FFFFCC">
-<td colspan="11"><font size="+3"><b><div align="center"><i>interface Graph</i></div></b></font></td>
-</tr>
-<td width="50%" bgcolor= "lightgreen" ><font size="+2"><div align="center"><b><i>IDL file</i></b></div></font></td>
-<td width="50%" bgcolor= "lightgreen"><font size="+2"><div align="center"><b><i>Python</i></b></div></font></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>CNode CNode ( in Service aService )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = CNode ( aService )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>FNode FNode ( in string aComponentName, in string anInterfaceName, in Service aService )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = FNode ( aComponentName, anInterfaceName, aService )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>INode INode ( in string FuncName, in ListOfStrings aPythonFunction )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = INode ( FuncName, aPythonFunction )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>GNode GNode ( in string FuncName, in ListOfStrings aPythonFunction, in string anINode )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = GNode ( FuncName, aPythonFunction, anINode )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>LNode LNode ( in string InitName, in ListOfStrings InitFunction, in string MoreName, in ListOfStrings MoreFunction, in string NextName, in ListOfStrings NextFunction, out INode anEndOfLoop )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>[ return_value, anEndOfLoop ] = LNode ( InitName, InitFunction, MoreName, MoreFunction, NextName, NextFunction )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>SNode SNode ( in string FuncName, in ListOfStrings aPythonFunction, out INode anEndOfSwitch )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>[ return_value, anEndOfSwitch ] = SNode ( FuncName, aPythonFunction )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>Component ComponentRef ( in string aComputerContainer, in string aComponentName )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = ComponentRef ( aComputerContainer, aComponentName )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>Link Link ( in Port OutputPort, in Port InputPort )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = Link ( OutputPort, InputPort )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>boolean Import ( in string anXmlFile )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = Import ( anXmlFile )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>boolean Export ( in string anXmlFile )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = Export ( anXmlFile )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>boolean IsReadOnly ( )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = IsReadOnly ( )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>boolean Run ( )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = Run ( )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>boolean EventNoW ( out CNode aNode, out GraphEvent anEvent, out GraphState aState )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>[ return_value, aNode, anEvent, aState ] = EventNoW ( )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>boolean Event ( out CNode aNode, out GraphEvent anEvent, out GraphState aState )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>[ return_value, aNode, anEvent, aState ] = Event ( )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>boolean EventW ( out CNode aNode, out GraphEvent anEvent, out GraphState aState )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>[ return_value, aNode, anEvent, aState ] = EventW ( )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>long LevelMax ( )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = LevelMax ( )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>ListOfNodes LevelNodes ( in long aLevel )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = LevelNodes ( aLevel )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>long ThreadsMax ( )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = ThreadsMax ( )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>long GraphsNumber ( )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = GraphsNumber ( )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>long Threads ( )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = Threads ( )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>long SuspendedThreads ( )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = SuspendedThreads ( )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>boolean IsValid ( )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = IsValid ( )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>boolean IsExecutable ( )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = IsExecutable ( )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>boolean IsDataFlow ( )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = IsDataFlow ( )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>boolean IsEditing ( )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = IsEditing ( )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>boolean IsExecuting ( )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = IsExecuting ( )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>long LastLevelDone ( )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = LastLevelDone ( )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>boolean Start ( )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = Start ( )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>Graph Copy ( )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = Copy ( )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>boolean Merge ( in Graph aGraph )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = Merge ( aGraph )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>ListOfNodes Nodes ( )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = Nodes ( )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>ListOfLinks GLinks ( )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = GLinks ( )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>string getIOR ( )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = getIOR ( )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>ListOfGraphs Graphs ( )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = Graphs ( )</b></div></td>
-</tr>
-</table><br>
-<table width="100%" BORDER>
-<tr bgcolor="#FFFFCC">
-<td colspan="11"><font size="+3"><b><div align="center"><i>interface Link</i></div></b></font></td>
-</tr>
-<td width="50%" bgcolor= "lightgreen" ><font size="+2"><div align="center"><b><i>IDL file</i></b></div></font></td>
-<td width="50%" bgcolor= "lightgreen"><font size="+2"><div align="center"><b><i>Python</i></b></div></font></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>Port OutPort ( )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = OutPort ( )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>Port InPort ( )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = InPort ( )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>long CoordsSize ( )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = CoordsSize ( )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>boolean AddCoord ( in long index, in long X, in long Y )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = AddCoord ( index, X, Y )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>boolean ChangeCoord ( in long index, in long X, in long Y )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = ChangeCoord ( index, X, Y )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>boolean RemoveCoord ( in long index )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = RemoveCoord ( index )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>boolean Coords ( in long index, out long X, out long Y )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>[ return_value, X, Y ] = Coords ( index )</b></div></td>
-</tr>
-</table><br>
-<table width="100%" BORDER>
-<tr bgcolor="#FFFFCC">
-<td colspan="11"><font size="+3"><b><div align="center"><i>interface Value</i></div></b></font></td>
-</tr>
-<td width="50%" bgcolor= "lightgreen" ><font size="+2"><div align="center"><b><i>IDL file</i></b></div></font></td>
-<td width="50%" bgcolor= "lightgreen"><font size="+2"><div align="center"><b><i>Python</i></b></div></font></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>string ToString ( )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = ToString ( )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>any ToAny ( )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = ToAny ( )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>boolean IsIOR ( )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = IsIOR ( )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>string ComponentDataType ( )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = ComponentDataType ( )</b></div></td>
-</tr>
-</table><br>
-<table width="100%" BORDER>
-<tr bgcolor="#FFFFCC">
-<td colspan="11"><font size="+3"><b><div align="center"><i>interface Port</i></div></b></font></td>
-</tr>
-<td width="50%" bgcolor= "lightgreen" ><font size="+2"><div align="center"><b><i>IDL file</i></b></div></font></td>
-<td width="50%" bgcolor= "lightgreen"><font size="+2"><div align="center"><b><i>Python</i></b></div></font></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>boolean Input ( in Value aValue )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = Input ( aValue )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>CNode Node ( )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = Node ( )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>string Name ( )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = Name ( )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>string Type ( )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = Type ( )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>Link Link ( )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = Link ( )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>ListOfLinks Links ( )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = Links ( )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>boolean IsInput ( )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = IsInput ( )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>boolean HasInput ( )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = HasInput ( )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>boolean IsLinked ( )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = IsLinked ( )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>KindOfPort Kind ( )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = Kind ( )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>boolean IsParam ( )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = IsParam ( )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>boolean IsGate ( )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = IsGate ( )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>boolean IsInLine ( )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = IsInLine ( )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>boolean IsLoop ( )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = IsLoop ( )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>boolean IsSwitch ( )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = IsSwitch ( )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>boolean IsEndSwitch ( )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = IsEndSwitch ( )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>GraphState State ( )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = State ( )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>boolean IsDone ( )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = IsDone ( )</b></div></td>
-</tr>
-</table><br>
-</b></HTML>
+++ /dev/null
-<HTML><b>
-<table width="100%" BORDER>
-<tr bgcolor="#FFFFCC">
-<td colspan="11"><font size="+3"><b><div align="center"><i>interface SubComponent</i></div></b></font></td>
-</tr>
-<td width="50%" bgcolor= "lightgreen" ><font size="+2"><div align="center"><b><i>IDL file</i></b></div></font></td>
-<td width="50%" bgcolor= "lightgreen"><font size="+2"><div align="center"><b><i>Python</i></b></div></font></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>void Sub ( in double x, in double y, out double z )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>z = Sub ( x, y )</b></div></td>
-</tr>
-</table><br>
-</b></HTML>
+++ /dev/null
-<HTML><b>
-<table width="100%" BORDER>
-<tr bgcolor="#FFFFCC">
-<td colspan="11"><font size="+3"><b><div align="center"><i>interface SyrComponent</i></div></b></font></td>
-</tr>
-<td width="50%" bgcolor= "lightgreen" ><font size="+2"><div align="center"><b><i>IDL file</i></b></div></font></td>
-<td width="50%" bgcolor= "lightgreen"><font size="+2"><div align="center"><b><i>Python</i></b></div></font></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>long C_ISEVEN ( in long anInteger )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = C_ISEVEN ( anInteger )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>long C_ISONE ( in long anOddInteger )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = C_ISONE ( anOddInteger )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>long C_M3 ( in long anOddInteger )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = C_M3 ( anOddInteger )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>long C_M3P1 ( in long anOddInteger )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = C_M3P1 ( anOddInteger )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>long C_DIV2 ( in long anEvenInteger )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = C_DIV2 ( anEvenInteger )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>long C_INCR ( in long aCount )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = C_INCR ( aCount )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>long C_MIN ( in long aMinVal, in long anInteger )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = C_MIN ( aMinVal, anInteger )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>long C_MAX ( in long aMaxVal, in long anInteger )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = C_MAX ( aMaxVal, anInteger )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>ListOfSyr C_LISTOFSYR ( )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = C_LISTOFSYR ( )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>ListOfSyr C_AVERAGE ( in ListOfSyr aListOfSyr, in long anInteger, in long aCount, out double anAverage )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>[ return_value, anAverage ] = C_AVERAGE ( aListOfSyr, anInteger, aCount )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>Syr Init ( in long anOddInteger )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = Init ( anOddInteger )</b></div></td>
-</tr>
-</table><br>
-<table width="100%" BORDER>
-<tr bgcolor="#FFFFCC">
-<td colspan="11"><font size="+3"><b><div align="center"><i>interface ListOfSyr</i></div></b></font></td>
-</tr>
-<td width="50%" bgcolor= "lightgreen" ><font size="+2"><div align="center"><b><i>IDL file</i></b></div></font></td>
-<td width="50%" bgcolor= "lightgreen"><font size="+2"><div align="center"><b><i>Python</i></b></div></font></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>SeqOfSyr GetSeqOfSyr ( )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = GetSeqOfSyr ( )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>void SetSeqOfSyr ( in SeqOfSyr aSeqOfSyr )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>SetSeqOfSyr ( aSeqOfSyr )</b></div></td>
-</tr>
-</table><br>
-<table width="100%" BORDER>
-<tr bgcolor="#FFFFCC">
-<td colspan="11"><font size="+3"><b><div align="center"><i>interface Syr</i></div></b></font></td>
-</tr>
-<td width="50%" bgcolor= "lightgreen" ><font size="+2"><div align="center"><b><i>IDL file</i></b></div></font></td>
-<td width="50%" bgcolor= "lightgreen"><font size="+2"><div align="center"><b><i>Python</i></b></div></font></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>long Initial ( )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = Initial ( )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>long Current ( )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = Current ( )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>long IsEven ( )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = IsEven ( )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>long IsOne ( )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = IsOne ( )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>long Count ( )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = Count ( )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>void M3p1 ( )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>M3p1 ( )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>void Div2 ( )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>Div2 ( )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>void Incr ( )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>Incr ( )</b></div></td>
-</tr>
-</table><br>
-</b></HTML>
+++ /dev/null
-<HTML><b>
-<table width="100%" BORDER>
-<tr bgcolor="#FFFFCC">
-<td colspan="11"><font size="+3"><b><div align="center"><i>interface SyrControlComponent</i></div></b></font></td>
-</tr>
-<td width="50%" bgcolor= "lightgreen" ><font size="+2"><div align="center"><b><i>IDL file</i></b></div></font></td>
-<td width="50%" bgcolor= "lightgreen"><font size="+2"><div align="center"><b><i>Python</i></b></div></font></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>void L_OneEven ( in long ValOne, in long ValEven, out long Finished, out long Incr, out long Even, out long Odd )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>[ Finished, Incr, Even, Odd ] = L_OneEven ( ValOne, ValEven )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>void C_NotOneIsEven ( out long ValOne, out long ValEven )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>[ ValOne, ValEven ] = C_NotOneIsEven ( )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>void LOOPN ( in long InLoop, in long NN, in long KK, in long min, in long max, out long OutLoop, out long N, out long K )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>[ OutLoop, N, K ] = LOOPN ( InLoop, NN, KK, min, max )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>void WHILENOTONE ( in long N, out long OutLoop )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>OutLoop = WHILENOTONE ( N )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>void IFNOTEVEN ( in long N, out long Odd, out long Even )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>[ Odd, Even ] = IFNOTEVEN ( N )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>void LOOPi ( in long InLoop, in long ii, out long OutLoop, out long i )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>[ OutLoop, i ] = LOOPi ( InLoop, ii )</b></div></td>
-</tr>
-<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>void WHILEEVEN ( in long N, out long OutLoop )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>OutLoop = WHILEEVEN ( N )</b></div></td>
-</tr>
-</table><br>
-</b></HTML>
+++ /dev/null
-# Doxyfile 1.3-rc1
-
-#---------------------------------------------------------------------------
-# General configuration options
-#---------------------------------------------------------------------------
-PROJECT_NAME = "SALOME - SUPERV - v.1.4.1"
-PROJECT_NUMBER = id#1.0
-OUTPUT_DIRECTORY = ../
-OUTPUT_LANGUAGE = English
-EXTRACT_ALL = YES
-EXTRACT_PRIVATE = YES
-EXTRACT_STATIC = YES
-EXTRACT_LOCAL_CLASSES = YES
-HIDE_UNDOC_MEMBERS = NO
-HIDE_UNDOC_CLASSES = NO
-HIDE_FRIEND_COMPOUNDS = NO
-HIDE_IN_BODY_DOCS = NO
-BRIEF_MEMBER_DESC = YES
-REPEAT_BRIEF = NO
-ALWAYS_DETAILED_SEC = YES
-INLINE_INHERITED_MEMB = YES
-FULL_PATH_NAMES = NO
-STRIP_FROM_PATH =
-INTERNAL_DOCS = YES
-CASE_SENSE_NAMES = YES
-SHORT_NAMES = NO
-HIDE_SCOPE_NAMES = NO
-VERBATIM_HEADERS = YES
-SHOW_INCLUDE_FILES = YES
-JAVADOC_AUTOBRIEF = YES
-MULTILINE_CPP_IS_BRIEF = NO
-DETAILS_AT_TOP = NO
-INHERIT_DOCS = YES
-INLINE_INFO = YES
-SORT_MEMBER_DOCS = NO
-DISTRIBUTE_GROUP_DOC = NO
-TAB_SIZE = 5
-GENERATE_TODOLIST = YES
-GENERATE_TESTLIST = YES
-GENERATE_BUGLIST = YES
-GENERATE_DEPRECATEDLIST= YES
-ALIASES =
-ENABLED_SECTIONS =
-MAX_INITIALIZER_LINES = 25
-OPTIMIZE_OUTPUT_FOR_C = YES
-OPTIMIZE_OUTPUT_JAVA = YES
-SHOW_USED_FILES = NO
-#---------------------------------------------------------------------------
-# configuration options related to warning and progress messages
-#---------------------------------------------------------------------------
-QUIET = NO
-WARNINGS = YES
-WARN_IF_UNDOCUMENTED = YES
-WARN_FORMAT = "$file:$line: $text"
-WARN_LOGFILE = log.txt
-#---------------------------------------------------------------------------
-# configuration options related to the input files
-#---------------------------------------------------------------------------
-INPUT = ../../../share/salome/idl/SUPERV.idl
-FILE_PATTERNS =
-RECURSIVE = NO
-EXCLUDE =
-EXCLUDE_SYMLINKS = NO
-EXCLUDE_PATTERNS =
-EXAMPLE_PATH =
-EXAMPLE_PATTERNS =
-EXAMPLE_RECURSIVE = NO
-IMAGE_PATH = sources/
-INPUT_FILTER =
-FILTER_SOURCE_FILES = YES
-#---------------------------------------------------------------------------
-# configuration options related to source browsing
-#---------------------------------------------------------------------------
-SOURCE_BROWSER = NO
-INLINE_SOURCES = NO
-STRIP_CODE_COMMENTS = YES
-REFERENCED_BY_RELATION = NO
-REFERENCES_RELATION = YES
-#---------------------------------------------------------------------------
-# configuration options related to the alphabetical class index
-#---------------------------------------------------------------------------
-ALPHABETICAL_INDEX = NO
-COLS_IN_ALPHA_INDEX = 5
-IGNORE_PREFIX =
-#---------------------------------------------------------------------------
-# configuration options related to the HTML output
-#---------------------------------------------------------------------------
-GENERATE_HTML = YES
-HTML_OUTPUT = SUPERV
-HTML_FILE_EXTENSION = .html
-HTML_HEADER = sources/myheader.html
-HTML_FOOTER =
-HTML_STYLESHEET =
-HTML_ALIGN_MEMBERS = YES
-GENERATE_HTMLHELP = NO
-CHM_FILE =
-HHC_LOCATION =
-GENERATE_CHI = NO
-BINARY_TOC = YES
-TOC_EXPAND = YES
-DISABLE_INDEX = YES
-ENUM_VALUES_PER_LINE = 4
-GENERATE_TREEVIEW = YES
-TREEVIEW_WIDTH = 250
-#---------------------------------------------------------------------------
-# configuration options related to the LaTeX output
-#---------------------------------------------------------------------------
-GENERATE_LATEX = NO
-LATEX_OUTPUT = latex
-LATEX_CMD_NAME = latex
-MAKEINDEX_CMD_NAME = makeindex
-COMPACT_LATEX = NO
-PAPER_TYPE = a4wide
-EXTRA_PACKAGES =
-LATEX_HEADER =
-PDF_HYPERLINKS = NO
-USE_PDFLATEX = NO
-LATEX_BATCHMODE = NO
-#---------------------------------------------------------------------------
-# configuration options related to the RTF output
-#---------------------------------------------------------------------------
-GENERATE_RTF = NO
-RTF_OUTPUT = rtf
-COMPACT_RTF = NO
-RTF_HYPERLINKS = NO
-RTF_STYLESHEET_FILE =
-RTF_EXTENSIONS_FILE =
-#---------------------------------------------------------------------------
-# configuration options related to the man page output
-#---------------------------------------------------------------------------
-GENERATE_MAN = NO
-MAN_OUTPUT = man
-MAN_EXTENSION = .3
-MAN_LINKS = NO
-#---------------------------------------------------------------------------
-# configuration options related to the XML output
-#---------------------------------------------------------------------------
-GENERATE_XML = NO
-XML_SCHEMA =
-XML_DTD =
-#---------------------------------------------------------------------------
-# configuration options for the AutoGen Definitions output
-#---------------------------------------------------------------------------
-GENERATE_AUTOGEN_DEF = NO
-#---------------------------------------------------------------------------
-# configuration options related to the Perl module output
-#---------------------------------------------------------------------------
-GENERATE_PERLMOD = NO
-PERLMOD_LATEX = NO
-PERLMOD_PRETTY = YES
-PERLMOD_MAKEVAR_PREFIX =
-#---------------------------------------------------------------------------
-# Configuration options related to the preprocessor
-#---------------------------------------------------------------------------
-ENABLE_PREPROCESSING = YES
-MACRO_EXPANSION = YES
-EXPAND_ONLY_PREDEF = NO
-SEARCH_INCLUDES = YES
-INCLUDE_PATH =
-INCLUDE_FILE_PATTERNS =
-PREDEFINED =
-EXPAND_AS_DEFINED =
-SKIP_FUNCTION_MACROS = NO
-#---------------------------------------------------------------------------
-# Configuration::addtions related to external references
-#---------------------------------------------------------------------------
-TAGFILES =
-GENERATE_TAGFILE =
-ALLEXTERNALS = NO
-EXTERNAL_GROUPS = YES
-PERL_PATH = /usr/bin/perl
-#---------------------------------------------------------------------------
-# Configuration options related to the dot tool
-#---------------------------------------------------------------------------
-CLASS_DIAGRAMS = YES
-HIDE_UNDOC_RELATIONS = NO
-HAVE_DOT = YES
-CLASS_GRAPH = YES
-COLLABORATION_GRAPH = NO
-TEMPLATE_RELATIONS = YES
-INCLUDE_GRAPH = YES
-INCLUDED_BY_GRAPH = NO
-GRAPHICAL_HIERARCHY = YES
-DOT_IMAGE_FORMAT = jpg
-DOT_PATH =
-DOTFILE_DIRS =
-MAX_DOT_GRAPH_WIDTH = 1024
-MAX_DOT_GRAPH_HEIGHT = 1200
-GENERATE_LEGEND = NO
-DOT_CLEANUP = YES
-#---------------------------------------------------------------------------
-# Configuration::addtions related to the search engine
-#---------------------------------------------------------------------------
-SEARCHENGINE = NO
-CGI_NAME = search.cgi
-CGI_URL =
-DOC_URL =
-DOC_ABSPATH =
-BIN_ABSPATH = /usr/local/bin/
-EXT_DOC_PATHS =
+++ /dev/null
-<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
-<html>
-<head>
- <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
- <meta name="GENERATOR" content="Mozilla/4.73 [en] (WinNT; I) [Netscape]">
- <title>Main Page</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-</head>
-<body>
-
-<center><table WIDTH="96%" >
-<tr>
-<td><a href="http://www.opencascade.com"><img src="sources/logocorp.gif" BORDER=0 height=46 width=122></a></td>
-
-
-<td>
-<div align=right><a href="http://www.opencascade.org/SALOME/"><img src="sources/application.gif" BORDER=0 height=46 width=108></a></div>
-</td>
-</tr>
-</table></center>
-
-
-</body>
-</html>
+++ /dev/null
-H1 { text-align: center; }
-CAPTION { font-weight: bold }
-A.qindex {}
-A.qindexRef {}
-A.el { text-decoration: none; font-weight: bold }
-A.elRef { font-weight: bold }
-A.code { text-decoration: none; font-weight: normal; color: #4444ee }
-A.codeRef { font-weight: normal; color: #4444ee }
-A:hover { text-decoration: none; background-color: lightblue }
-DL.el { margin-left: -1cm }
-DIV.fragment { width: 100%; border: none; background-color: #CCCCCC }
-DIV.ah { background-color: #CCCCCC; font-weight: bold; color: #ffffff; margin-bottom: 3px; margin-top: 3px }
-TD.md { background-color: lightblue; font-weight: bold; }
-TD.mdname1 { background-color: lightblue; font-weight: bold; color: #602020; }
-TD.mdname { background-color: lightblue; font-weight: bold; color: #602020; width: 600px; }
-DIV.groupHeader { margin-left: 16px; margin-top: 12px; margin-bottom: 6px; font-weight: bold }
-DIV.groupText { margin-left: 16px; font-style: italic; font-size: smaller }
-BODY { background: url(sources/bg_salome.gif) }
-TD.indexkey {
- background-color: #CCCCCC;
- font-weight: bold;
- padding-right : 10px;
- padding-top : 2px;
- padding-left : 10px;
- padding-bottom : 2px;
- margin-left : 0px;
- margin-right : 0px;
- margin-top : 2px;
- margin-bottom : 2px
-}
-TD.indexvalue {
- background-color: #CCCCCC;
- font-style: italic;
- padding-right : 10px;
- padding-top : 2px;
- padding-left : 10px;
- padding-bottom : 2px;
- margin-left : 0px;
- margin-right : 0px;
- margin-top : 2px;
- margin-bottom : 2px
-}
-span.keyword { color: #008000 }
-span.keywordtype { color: #604020 }
-span.keywordflow { color: #e08000 }
-span.comment { color: #800000 }
-span.preprocessor { color: #806020 }
-span.stringliteral { color: #002080 }
-span.charliteral { color: #008080 }
+++ /dev/null
-<!DOCTYPE doctype PUBLIC "-//w3c//dtd html 4.0 transitional//en">\r
-<html>\r
-<head>\r
- \r
- <meta http-equiv="Content-Type"\r
- content="text/html; charset=iso-8859-1">\r
- \r
- <meta name="GENERATOR"\r
- content="Mozilla/4.73 [en] (WinNT; I) [Netscape]">\r
- <title>Main Page</title>\r
- \r
- <link href="doxygen.css" rel="stylesheet" type="text/css">\r
-</head>\r
- <body>\r
- \r
-<center>\r
-<table width="96%">\r
- <tbody>\r
- <tr>\r
- <td><a href="http://www.opencascade.com"><img\r
- src="sources/logocorp.gif" border="0" height="46" width="122">\r
- </a></td>\r
- <td> \r
- <div align="right"><a href="http://www.opencascade.org/SALOME/"><img\r
- src="sources/application.gif" border="0" height="46" width="108">\r
- </a></div>\r
- </td>\r
- </tr>\r
- \r
- </tbody>\r
-</table>\r
-</center>\r
- \r
-<h1><a name="page2">Examples</a> </h1>\r
- \r
-<h3><big><i><b>Interfaces:</b></i></big></h3>\r
-<br>\r
-<a href="#Graph"><big>SUPERV::Graph</big></a><br>\r
-<a href="#CNode"><big>SUPERV::CNode</big></a><br>\r
-<a href="#FNode"><big>SUPERV::FNode</big></a><big><br>\r
-<a href="#INode">SUPERV::INode</a></big><br>\r
-<a href="#LNode"><big>SUPERV::LNode</big></a><br>\r
-<a href="#Port"><big>SUPERV::Port</big></a><br>\r
-<a href="#Link"><big>SUPERV::Link</big></a><br>\r
-<b><br>\r
-<br>\r
-<br>\r
-</b><br>\r
-<div align="center"><big><big><b><u><br>\r
-</u></b></big></big></div>\r
-<div align="center"><big><u><b><big><a name="Graph"></a>SUPERV::Graph<br>\r
-</big></b></u></big><br>\r
-<div align="left"><big><b><a href="#CNode">CNode</a> CNode( in SALOME_ModuleCatalog::Service\r
-<i>aService</i> ) </b></big><br>\r
-<br>\r
-<u><i><big>Create a Computing Node in a Graph</big></i></u><br>\r
-<br>\r
-<a name="CreateCNode"></a>GraphEssai = Graph( 'GraphEssai' )<br>\r
-<br>\r
-AddAndCompare_ServiceinParameter = []<br>\r
-AddAndCompare_ServiceinParameter.append( SALOME_ModuleCatalog.ServicesParameter(\r
-'Adder' , 'Adder' ) )<br>\r
-AddAndCompare_ServiceinParameter.append( SALOME_ModuleCatalog.ServicesParameter(\r
-'double' , 'x' ) )<br>\r
-AddAndCompare_ServiceinParameter.append( SALOME_ModuleCatalog.ServicesParameter(\r
-'double' , 'y' ) )<br>\r
-AddAndCompare_ServiceinParameter.append( SALOME_ModuleCatalog.ServicesParameter(\r
-'Adder' , 'anOtherAdder' ) )<br>\r
-<br>\r
-AddAndCompare_ServiceoutParameter = []<br>\r
-AddAndCompare_ServiceoutParameter.append( SALOME_ModuleCatalog.ServicesParameter(\r
-'double' , 'FuncValue' ) )<br>\r
-AddAndCompare_ServiceoutParameter.append( SALOME_ModuleCatalog.ServicesParameter(\r
-'double' , 'z' ) )<br>\r
-AddAndCompare_Service = SALOME_ModuleCatalog.Service( 'AddAndCompare' , AddAndCompare_ServiceinParameter\r
-, AddAndCompare_ServiceoutParameter , 0 )<br>\r
-<br>\r
-AddAndCompare = GraphEssai.CNode( AddAndCompare_Service )<br>\r
-<br>\r
-<br>\r
-<br>\r
-</div>\r
-<div align="left"><big><b><a href="#FNode">FNode</a> FNode( in string <i>aComponentName</i>, \r
-in string <i>anInterfaceName</i>, in SALOME_ModuleCatalog::Service\r
-<i>aService</i> ) </b></big><br>\r
-<br>\r
-<u><i><big>Create a Factory Node in a Graph</big></i></u><br>\r
-<br>\r
-<a name="CreateFNode"></a>GraphEssai = Graph( 'GraphEssai' )<br>\r
-Add = GraphEssai.FNode( 'AddComponent' , 'AddComponent' , 'Add' )<br>\r
-<br>\r
-<br>\r
-<br>\r
-<b><big>INode INode( in string <i>FuncName</i>, in ListOfStrings <i>aPythonFunction</i>\r
-)</big></b><br>\r
-<br>\r
-<u><i><big>Create an InLine Node in a Graph</big></i></u><br>\r
-<br>\r
-<a name="CreateINode"></a>GraphEssai = Graph( 'GraphEssai' )<br>\r
-PyAdd = []<br>\r
-PyAdd.append( 'from time import * ' )<br>\r
-PyAdd.append( 'def Add(a,b) : \r
-' )<br>\r
-PyAdd.append( ' print "Add will wait 5 seconds" \r
-' )<br>\r
-PyAdd.append( ' d = dir() \r
-' )<br>\r
-PyAdd.append( ' print "Add",d \r
-' )<br>\r
-PyAdd.append( ' d = dir(sleep) \r
-' )<br>\r
-PyAdd.append( ' print "Add",d \r
-' )<br>\r
-PyAdd.append( ' sleep(5) \r
-' )<br>\r
-PyAdd.append( ' print "Add waited" \r
-' )<br>\r
-PyAdd.append( ' n = 0 ' )<br>\r
-PyAdd.append( ' while n < 10000 : \r
-' )<br>\r
-PyAdd.append( ' i = 0 \r
-' )<br>\r
-PyAdd.append( ' s = 0 \r
-' )<br>\r
-PyAdd.append( ' while i <= b\r
-: ' )<br>\r
-PyAdd.append( ' \r
-s = s + i ' )<br>\r
-PyAdd.append( ' \r
-i = i + 1 ' )<br>\r
-PyAdd.append( ' n = n + 1 \r
-' )<br>\r
-PyAdd.append( ' return s \r
-' )<br>\r
-PyAdd.append( '' )<br>\r
-Add = GraphEssai.INode( 'Add' , PyAdd )<br>\r
-<br>\r
-<br>\r
-<br>\r
-<b><big>GNode GNode( in string <i>FuncName</i> , in ListOfStrings <i>aPythonFunction</i>,\r
-in string <i>anINode</i> )</big></b><br>\r
-<br>\r
-<u><i><big>Create a GOTO node and link to the corresponding InLine node</big></i></u><br>\r
-<br>\r
-GraphEssai = Graph( 'GraphEssai' )<br>\r
-Pylabel_test = []<br>\r
-Pylabel_test.append( 'def label_test( ValEven , ValOne , NB , KB ):' )<br>\r
-Pylabel_test.append( ' print "label_begin",ValEven,ValOne,NB,KB'\r
-)<br>\r
-Pylabel_test.append( ' return ValEven,ValOne,NB,KB' )<br>\r
-label_test = GraphEssai.INode( 'label_test' , Pylabel_test )<br>\r
-Pycontrol = []<br>\r
-Pycontrol.append( 'def control_m3p1( N , K ):' )<br>\r
-Pycontrol.append( ' return 0,1,N,K' )<br>\r
-control = GraphEssai.GNode( 'control_m3p1' , Pycontrol , 'label_test' )<br>\r
-<br>\r
-<br>\r
-<br>\r
-<big><b>LNode LNode( in string <i>InitName</i> , in ListOfStrings <i>InitFunction</i>\r
-, in string <i>MoreName</i> , in ListOfStrings <i>MoreFunction</i> , in string\r
-<i>NextName</i> , in ListOfStrings <i>NextFunction</i> , out INode <i>anEndOfLoop</i>\r
-)</b></big><br>\r
-<br>\r
-<u><i><big>Create a "for" or "while" node and the corresponding end of loop\r
-node</big></i></u><br>\r
-<br>\r
-<a name="CreateLNode"></a>GraphEssai = Graph( 'GraphEssai' )<br>\r
-<br>\r
-PyforN = []<br>\r
-PyforN.append( 'def InitN( NN , K , SyrComponent , min , max ) :' )<br>\r
-PyforN.append( ' N = max' )<br>\r
-PyforN.append( ' if min > 0 :' )<br>\r
-PyforN.append( ' if max >= min\r
-:' )<br>\r
-PyforN.append( ' \r
-N = min' )<br>\r
-PyforN.append( ' return N,K,SyrComponent,min,max' )<br>\r
-<br>\r
-PyMoreforN = []<br>\r
-PyMoreforN.append( 'def MoreN( NN , KK , SyrComponent , min , max ) :' )<br>\r
-PyMoreforN.append( ' N = 0' )<br>\r
-PyMoreforN.append( ' OutLoop = 0' )<br>\r
-PyMoreforN.append( ' if max > NN :' )<br>\r
-PyMoreforN.append( ' N = NN' )<br>\r
-PyMoreforN.append( ' OutLoop =\r
-1' )<br>\r
-PyMoreforN.append( ' return OutLoop,N,0,SyrComponent,min,max'\r
-)<br>\r
-<br>\r
-PyNextforN = []<br>\r
-PyNextforN.append( 'def NextN( NN , KK , SyrComponent , min , max ) :' )<br>\r
-PyNextforN.append( ' N = NN + 1' )<br>\r
-PyNextforN.append( ' K = KK' )<br>\r
-PyNextforN.append( ' return N,K,SyrComponent,min,max' )<br>\r
-<br>\r
-forN,endforN = GraphEssai.LNode( 'InitN' , PyforN , 'MoreN' , PyMoreforN\r
-, 'NextN' , PyNextforN )<br>\r
-<br>\r
-<br>\r
-<b><big>SNode SNode( in string <i>FuncName,</i> in ListOfStrings <i>aPythonFunction,</i>\r
-out INode <i>anEndOfSwitch</i> )</big></b><br>\r
-<br>\r
-<u><i><big>Create a "if / elseif / else" or "switch" node and the corresponding\r
-end node</big></i></u><br>\r
-<br>\r
-GraphEssai = Graph( 'GraphEssai' )<br>\r
- <br>\r
-PyifNotEven = []<br>\r
-PyifNotEven.append( 'import SyrComponent_idl' )<br>\r
-PyifNotEven.append( 'def ifNotEven( SyrComponent , N , K ) :' )<br>\r
-PyifNotEven.append( ' Even = SyrComponent.C_ISEVEN( N )'\r
-)<br>\r
-PyifNotEven.append( ' Odd = 1 - Even' )<br>\r
-PyifNotEven.append( ' return Odd,Even,SyrComponent,N,K'\r
-)<br>\r
-<br>\r
-ifNotEven,endifNotEven = GraphEssai.SNode( 'ifNotEven' , PyifNotEven )<br>\r
-<br>\r
-<br>\r
-<big><b>Link Link( in Port <i>OutputPort</i> , in Port <i>InputPort</i>\r
-)</b></big><br>\r
-<br>\r
-<u><i><big>Creates a link connecting two ports of the nodes in a Graph</big></i></u><br>\r
-<br>\r
-GraphEssai = Graph( 'GraphEssai' )<br>\r
-Add = GraphEssai.FNode( 'AddComponent' , 'AddComponent' , 'Add' )<br>\r
-Mul = GraphEssai.FNode( 'MulComponent' , 'MulComponent' , 'Mul' )<br>\r
-Link = GraphEssai.Link( Add.Port( 'FuncValue' ), Mul.Port( 'x' ) )<br>\r
-<br>\r
-<br>\r
-<b><big>boolean Run()</big></b><br>\r
-<br>\r
-<u><i><big>Starts asynchronous execution of the graph</big></i></u><br>\r
-<br>\r
-...<br>\r
-GraphEssai.Run()<br>\r
-<br>\r
-<br>\r
-<b><big>boolean Event( out CNode <i>aNode</i> , out GraphEvent <i>anEvent</i>\r
-, out GraphState <i>aState</i> )</big></b><br>\r
-<br>\r
-<u><i><big>Runs Graph and prints information about Graph performance</big></i></u><br>\r
-<br>\r
-...<br>\r
-<a name="RunandWait"></a>GraphEssai.Run()<br>\r
-aStatus,aNode,anEvent,aState = GraphEssai.Event()<br>\r
-while aStatus :<br>\r
- print aNode.Thread(),aNode.SubGraph(),aNode.Name(),anEvent,aState<br>\r
- aStatus,aNode,anEvent,aState = GraphEssai.Event()<br>\r
-<br>\r
-<br>\r
-<br>\r
-<br>\r
-<div align="center"><big><b><big><a name="CNode"></a>SUPERV::CNode</big></b></big><br>\r
-</div>\r
-<br>\r
-<big><b>string Name() <br>\r
-string Author()<br>\r
-string Comment()<br>\r
-boolean SetName(in string <i>aNewName</i> ) <br>\r
-boolean SetAuthor(in string <i>anAuthor</i> ) <br>\r
-boolean SetComment(in string <i>aComment</i> ) <br>\r
-<br>\r
-</b><u><i>Get / Set methods for Name, Author and Comment strings of the node.</i></u><br>\r
-<b><br>\r
-</b><a href="#CreateCNode"><small>#Create CNode</small></a><b><br>\r
-</b></big>AddAndCompare.SetName( 'AddAndCompare' )<br>\r
-AddAndCompare.SetAuthor( 'NoBody' )<br>\r
-AddAndCompare.SetComment( 'Python function' )<br>\r
-print "Name:", AddAndCompare.Name(), " Author:", AddAndCompare.Author(),\r
-" Comment:", AddAndCompare.Comment()<br>\r
-<br>\r
-<br>\r
-<br>\r
-<big><b>Port Port( in string <i>aParameterName</i> )</b></big><br>\r
-<br>\r
-<big><u><i>Returns Port instance from created node</i></u></big><br>\r
-<br>\r
-<a href="#CreateFNode">#Create FNode</a><br>\r
-Addz = Add.Port('z')<br>\r
-<br>\r
-<br>\r
-<big><b>Port Input( in string <i>InputParameterName</i> , in Value\r
-<i>aValue</i> ) </b></big><br>\r
-<br>\r
-<i><u><big>Sets value into Port by its name and returs correspondent port\r
-instance</big></u></i><br>\r
-<br>\r
-<a href="#CreateFNode">#Create FNode</a><br>\r
-Addx = Add.Input("x",3.)<br>\r
-<br>\r
-<br>\r
-<br>\r
-<b><big>void Coords( in long <i>X</i> , in long <i>Y</i> )<br>\r
-</big><big>long X()</big></b><br>\r
-<b><big>long Y()</big></b><br>\r
-<br>\r
-<big><u><i>Methods to sets position of the node and getting current coordinates</i></u></big><br>\r
-<br>\r
-<a\r
- href="file:///vsv/salome/build/doc/html/html/examples_SUPERV.html#CreateFNode">#Create\r
-FNode</a><br>\r
-Add.Coords( 1 , 152 )<br>\r
-print "X=", Add.X(), " Y=", Add.Y()<br>\r
-<br>\r
-<br>\r
-<b><big>long CpuUsed()</big></b><br>\r
-<br>\r
-<u><i><big>Returns the Cpu used by a node in seconds</big></i></u><br>\r
-<br>\r
-<a href="#RunandWait">#Run Graph and wait for its finish</a><br>\r
-print "CPU used: ", Add.CpuUsed(), " sec"<br>\r
-<br>\r
-<br>\r
-<br>\r
-<br>\r
-<br>\r
-<div align="center"><big><b><big><a name="FNode"></a>SUPERV::FNode</big><br>\r
-</b></big></div>\r
-<br>\r
-<b><big>string GetContainer() <br>\r
-boolean SetContainer(in string <i>aContainer</i> ) <br>\r
-</big></b><br>\r
-<big><u><i>Get / Set method for container name</i></u></big><br>\r
-<br>\r
-<a\r
- href="file:///vsv/salome/build/doc/html/html/examples_SUPERV.html#CreateFNode">#Create\r
-FNode</a><br>\r
-Add.SetContainer( 'localhost/FactoryServer' )<br>\r
-print "Container: ", Add.GetContainer()<br>\r
-<br>\r
-<br>\r
-<br>\r
-<div align="center"><big><b><big><a name="INode"></a>SUPERV::INode</big></b></big><br>\r
-</div>\r
-<br>\r
-<br>\r
-<big><b>void SetPyFunction( in string <i>FuncName</i> , in ListOfStrings\r
-<i>aPyInitFunction</i> )</b></big><br>\r
-<br>\r
-<u><i><big>Replaces Python function of inline node by new one</big></i></u><br>\r
-<br>\r
-<a href="#CreateINode">#Create INode</a><br>\r
-PyIsOdd = []<br>\r
-PyIsOdd.append( 'def IsOdd(a) : ' )<br>\r
-PyIsOdd.append( ' print a,"IsOdd" ' )<br>\r
-PyIsOdd.append( ' return a ' )<br>\r
-Add.SetPyFunction("IsOdd", PyIsOdd)<br>\r
-<br>\r
-<br>\r
-<b><big>string PyFuncName()</big></b><br>\r
-<br>\r
-<div align="left"><u><i><big>Returns Name of the Python function</big></i></u><br>\r
-<br>\r
-<a\r
- href="file:///vsv/salome/build/doc/html/html/examples_SUPERV.html#CreateINode">#Create\r
-INode</a><br>\r
-print "Name:", Add.PyFuncName()<br>\r
-<br>\r
-<br>\r
- </div>\r
- <b><big>ListOfStrings PyFunction()<br>\r
-<br>\r
-</big></b><u><i><big>Returns Python function as a list of strings</big></i></u><br>\r
-<br>\r
-<a\r
- href="file:///vsv/salome/build/doc/html/html/examples_SUPERV.html#CreateINode">#Create\r
-INode</a><br>\r
-PyFunc = Add.PyFunction()<br>\r
-<br>\r
-<br>\r
-<b><big>SUPERV::Port InPort( in string <i>aParameterName</i> , in string\r
-<i>aParameterType</i> ) <br>\r
-SUPERV::Port OutPort( in string <i>aParameterName</i> , in string <i>aParameterType</i>\r
-) <br>\r
-</big></b><br>\r
-<u><i><big>Creation of In and Out ports of Inline Node</big></i></u><br>\r
-<br>\r
-<a name="CreatePorts"></a><a\r
- href="file:///vsv/salome/build/doc/html/html/examples_SUPERV.html#CreateINode">#Create\r
-INode</a><br>\r
-Add.InPort('a', 'long')<br>\r
-<div align="left">Add.InPort('b', 'long')<br>\r
- \r
-<div align="left">Add.OutPort('s', 'long')<br>\r
- <br>\r
- </div>\r
- <br>\r
- </div>\r
- <br>\r
-<div align="center"><big><b><big><a name="LNode"></a>SUPERV::LNode</big></b></big><br>\r
-</div>\r
-<br>\r
-<br>\r
-<b><big>void SetPyInit( in string <i>InitName</i> , in ListOfStrings\r
-<i>aPyInitFunction</i> )</big></b><br>\r
-<b><big>void SetPyMore( in string <i>MoreName</i> , in ListOfStrings\r
-<i>aPyMoreFunction</i> )<br>\r
-void SetPyNext( in string <i>NextName</i> , in ListOfStrings <i>aPyNextFunction</i>\r
-)<br>\r
-</big></b><br>\r
-<i><u><big>Sets (replaces) Python fonction of according clause (Init, More,\r
-Next) in Loop Node</big></u></i><br>\r
-<br>\r
-<a href="#CreateLNode">#Create Loop Node</a><br>\r
-Pyfori = []<br>\r
-Pyfori.append( 'def Initfori( ii , K ) :' )<br>\r
-Pyfori.append( ' return 1,0,K' )<br>\r
-PyMorefori = []<br>\r
-PyMorefori.append( 'def Morefori( ii , K ) :' )<br>\r
-PyMorefori.append( ' OutLoop = 0' )<br>\r
-PyMorefori.append( ' if 2 > ii :' )<br>\r
-PyMorefori.append( ' OutLoop =\r
-1' )<br>\r
-PyMorefori.append( ' return OutLoop,ii,K' )<br>\r
-PyNextfori = []<br>\r
-PyNextfori.append( 'def Nextfori( ii , K ) :' )<br>\r
-PyNextfori.append( ' ii = ii + 1' )<br>\r
-PyNextfori.append( ' return ii,K' )<br>\r
-forN.SetPyInit('Initfori', Pyfori)<br>\r
-<div align="left">forN.SetPyMore('Morefori', PyMorefori)<br>\r
- \r
-<div align="left">forN.SetPyNext('Nextfori', PyNextfori)<br>\r
- <br>\r
-<br>\r
-<br>\r
-<b><big>string PyInitName() <br>\r
-</big></b></div>\r
-<b><big>string PyMoreName()<br>\r
-string PyNextName()<br>\r
-</big></b> </div>\r
- <b><big><br>\r
-</big></b><u><i><big>Returns Python function name of according clause</big></i></u><br>\r
-<br>\r
-<a\r
- href="file:///vsv/salome/build/doc/html/html/examples_SUPERV.html#CreateLNode">#Create\r
-Loop Node</a><br>\r
-print "Init Name:", forN.PyInitName()<br>\r
-print "More Name:", forN.PyMoreName()<br>\r
-print "Next Name:", forN.PyNextName()<br>\r
-<br>\r
-<br>\r
-<b><big>ListOfStrings PyInit()<br>\r
-ListOfStrings PyMore()<br>\r
-ListOfStrings PyNext()<br>\r
-</big></b><br>\r
-<u><i><big>Returns Python function as a list of strings</big></i><i><big>\r
-from according clause</big></i></u><br>\r
-<br>\r
-<a\r
- href="file:///vsv/salome/build/doc/html/html/examples_SUPERV.html#CreateLNode">#Create\r
-Loop Node</a><br>\r
-InitFunc = forN.PyInit()<br>\r
-<div align="left">MoreFunc = forN.PyMoret()<br>\r
- \r
-<div align="left">NextFunc = forN.PyNext()<br>\r
- <br>\r
- <br>\r
- </div>\r
- <br>\r
- \r
-<div align="center"><big><b><big><a name="Port"></a>SUPERV::Port</big></b></big><br>\r
-</div>\r
-<br>\r
-<b><big>boolean Input( in Value <i>aValue</i> )</big></b><br>\r
-<br>\r
-<u><i><big>Sets value to the input port instance</big></i></u><br>\r
-<br>\r
-<a href="#CreatePorts">#CreatePorts</a><br>\r
-aPort = Add.Port('a')<br>\r
-aPort.Input(10)<br>\r
-<br>\r
-<br>\r
-<b><big>CNode Node()</big></b><br>\r
-<br>\r
-<u><i><big>Returns Node - owner of the port</big></i></u><br>\r
-<br>\r
-Add = aPort.Node()<br>\r
-<br>\r
-<br>\r
-<b><big>string Name()</big></b><br>\r
-<br>\r
-<u><i><big>Returns Name of the Port</big></i></u><br>\r
-<br>\r
-print "Port Name:", aPort.Name()<br>\r
-<br>\r
-<br>\r
-<br>\r
- \r
- </div>\r
-</div>\r
- </div>\r
-</div>\r
-</body>\r
-</html>\r
+++ /dev/null
-<!doctype html public "-//w3c//dtd html 4.0 transitional//en">\r
-<html>\r
-<head>\r
- <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">\r
- <meta name="GENERATOR" content="Mozilla/4.73 [en] (WinNT; I) [Netscape]">\r
- <title>Main Page</title>\r
-<link href="doxygen.css" rel="stylesheet" type="text/css">\r
-</head>\r
-<body>\r
- \r
-<center>\r
- <table WIDTH="96%" >\r
- <tr> \r
- <td><a href="http://www.opencascade.com"><img src="sources/logocorp.gif" BORDER=0 height=46 width=122></a></td>\r
- <td> \r
- <div align=right><a href="http://www.opencascade.org/SALOME/"><img src="sources/application.gif" BORDER=0 height=46 width=108></a></div>\r
- </td>\r
- </tr>\r
- </table>\r
-</center>\r
-<h1><a name="page2">General overview</a> </h1>\r
-<a name="cont"></a><h2>Table of contents </h2>\r
-<b><i>\r
-<ul>\r
- <li><a href="#1">1. Introduction</a></li>\r
- <li><a href="#2">2. Definitions </a></li>\r
- <ul>\r
- <li><a href="#2_1">2.1 Computing scheme of type DataFlow</a></li>\r
- <li><a href="#2_2">2.2 Types of nodes </a></li>\r
- <ul>\r
- <li><a href="#2_2_1">2.2.1 Computation node </a></li>\r
- <li><a href="#2_2_2">2.2.2 Loop node </a></li>\r
- <li><a href="#2_2_3">2.2.3 Switch node </a></li>\r
- <li><a href="#2_2_4">2.2.4 GOTO node </a></li>\r
- </ul>\r
- </ul>\r
- <li><a href="#3">3. Services and features of the SUPERVISION component</a></li>\r
- <ul>\r
- <li><a href="#3_1">3.1 CNode class</a></li>\r
- <li><a href="#3_2">3.2 FNode class </a></li>\r
- <li><a href="#3_3">3.3 INode class </a></li>\r
- <li><a href="#3_4">3.4 GNode class </a></li>\r
- <li><a href="#3_5">3.5 LNode class </a></li>\r
- <li><a href="#3_6">3.6 ELNode class </a></li>\r
- <li><a href="#3_7">3.7 SNode class </a></li>\r
- <li><a href="#3_8">3.8 ESNode class </a></li>\r
- <li><a href="#3_9">3.9 Graph class </a></li>\r
- <li><a href="#3_10">3.10 Link class </a></li>\r
- <li><a href="#3_11">3.11 Value class </a></li>\r
- <li><a href="#3_12">3.12 Port class </a></li>\r
- <li><a href="#3_13">3.13 SuperG class </a></li>\r
- </ul>\r
-</ul>\r
-</i> </b> <br>\r
-<a name="1"></a><h2>1. Introduction </h2>\r
-<p>The Supervision module of the SALOME platform allows to define and execute \r
- a chain of distributed numeric components, as well as to control the progress \r
- of this chain. The various calculations to be chained and the exchanged data \r
- are specified in a computing scheme, which can be of two types : </p>\r
-<ul>\r
- <li>Data flow computing schemes. <br>\r
- These schemes are represented by graphs without loops, conditional branches \r
- or any operation of control. The execution of theses schemes can be automatically \r
- optimized by the supervision engine by detecting and executing simultaneously \r
- independant branches and by managing in a optimal way the life cycle of components.</li>\r
- <br>\r
- <br>\r
- <li>Script type computing schemes.<br>\r
- These schemes allow to define chainings or complex couplings of components \r
- using loops, conditional execution and control flow breaks by leaning on a \r
- scripting language (parametric studies, multi-physical coupling). Contrary \r
- in data flows, the specification of these schemes must define the sequence \r
- of execution of components. Notably, the simultaneous execution of components \r
- should be explicitly defined.</li>\r
-</ul>\r
-<p>Of simple conception, the data flow schemes can be built in a graphic way and \r
- validated automatically by the supervision engine.</p>\r
-<p>The script type computing schemes, which offer the possibility of building \r
- complex chains, should be conceived by warned users (developers) who master \r
- the syntax and the use of the scripting language.</p>\r
-<p>Once specified and validated, certain computing schemes defined by scripts \r
- can be made customizable (input and output data, parameter sets) and integrated \r
- into the platform to form components. These components can be used to build \r
- schemes of higher level. </p>\r
-<p>Besides the definition of computing schemes, the Supervision module must also \r
- take care of their execution and follow-up (complete execution or step by step) \r
- : </p>\r
-<ul>\r
- <li> Asking of instanciation of the components (kernel calls) and data (data \r
- servers calls),</li>\r
- <li>Launching computations specified in the computing scheme, </li>\r
- <li>Managing the events emitted or received by the supervision engine and the \r
- component,</li>\r
- <li> Recovering the results of computations and demand of filing for the data \r
- service. </li>\r
-</ul>\r
-<p>The user can visualize the progress of the scheme and the exchanged data, be \r
- informed about the evolution of the execution of a component (errors, warning, \r
- tracks, ...), to intervene by stopping, pausing or by resuming the execution \r
- of the scheme or a particular component. </p>\r
- <i><a href="#cont">Back to the contents</a></i>\r
-<a name="2"></a><h2>2. Defintions </h2>\r
-<a name="2_1"></a><h3>2.1 Computing scheme of type DataFlow</h3>\r
-<p>The computing schemes of type dataflow, feasible by the Supervision module, \r
- are directed acyclic graphs, described by a set of nodes and of directed links. \r
- A node represents a service of an instance of a computation component.</p>\r
-<p>A node is provided with input port(s) and/or output port(s). The input port(s) \r
- (resp. output port(s)) represent the input argument(s) (resp. output argument(s)) \r
- of the service. Certain services can possibly require the use of parameters \r
- which will be grouped together in configuration files (defined in the Data/Properties \r
- module, and recorded in the study).</p>\r
-<p>The computing schemes of type data flow do not contain either loops, conditional \r
- branches or any operation of control. They can thus be built easily in a graphic \r
- way, by connecting output ports to input ports of nodes. Although the graphic \r
- construction is the simplest way, these computing schemes can also be defined \r
- in the language of script.</p>\r
-<p>A node represents a service (function, method) of an instance of a component. \r
- If the component possesses a unique service (\93Run\94 method), one will omit the \r
- term \93service of\94. Various services of the same component can be used in various \r
- nodes of the graph, or the same service can be used several times.</p>\r
-<a name="2_2"></a><h3>2.2 Types of nodes </h3>\r
-<p>In the SUPERVISION module there are the following types of nodes: </p>\r
-<b>\r
-<ul>\r
- <li>computation node,</li>\r
- <li> loop node,</li>\r
- <li> switch node,</li>\r
- <li> GOTO node. </li>\r
-</ul>\r
-</b> \r
-<p>The dependance between different types of nodes is shown on the following picture: \r
-</p>\r
-<div align="center"><img src="nodestypes.jpg"> </div>\r
-<a name="2_2_1"></a><h4>2.2.1 Computation node </h4>\r
-<p>This node represents a computation algorithm in the graph structure. Nodes \r
- of such type can present a service registered in the Component Catalog (<b>Factory \r
- Node</b>) or an external service defined in Python script by user (<b>InLine node</b>). \r
- Python function of InLine node can be edited in Supervision Graph edit mode. \r
-</p>\r
-<a name="2_2_2"></a><h4><b>2.2.2 Loop node</b> </h4>\r
-<p>Loop node is a kind of Control nodes. In fact two nodes represent Loop: \r
-<b>start</b> loop and <b>end</b> loop nodes. Nodes of such type are always InLine nodes. \r
-User have to supply this type of node by service, which will check conditions of end of loop. </p>\r
-\r
-<p>With that kind of nodes may be defined all kinds of loops:<br><br>\r
-\r
-\93for( initial condition(s) ; end condition(s) ; end loop code )\94 or <br><br>\r
-\r
-\93while( end condition )\94<br><br>\r
-\r
-etc\85</p>\r
-<p>Here you can see a simple example of Python functions set in a Loop node:</p>\r
-<pre><code>\r
-def Init(Index,Min,Max,Incr) : \r
-\r
- if Min <= Max : \r
-\r
- Index = Min \r
-\r
- else : \r
-\r
- Index = Max \r
-\r
- return Index,Min,Max,Incr \r
-\r
- \r
-\r
-def More(Index,Min,Max,Incr) : \r
-\r
- if Index < Max : \r
-\r
- DoLoop = 1 \r
-\r
- else : \r
-\r
- DoLoop = 0 \r
-\r
- return DoLoop,Index,Min,Max,Incr \r
-\r
- \r
-\r
-def Next(Index,Min,Max,Incr) : \r
-\r
- Index = Index + Incr \r
-\r
- return Index,Min,Max,Incr\r
-</code></pre>\r
-\r
-<a name="2_2_3"></a><h4>2.2.3 Switch node </h4>\r
-<p>Switch node is a kind of Control node. In fact two nodes present Switch: <b>start</b> Switch and <b>end</b> Switch.\r
- Nodes of such type are always InLine nodes. You have to supply this type of node by service, which will perform switching. That's why nodes of such type can have at least two or more switch ports (Boolean), but only one switch port can have "True" value at a definite moment of graph execution.</p>\r
- \r
- <p> With that kind of node you can define all kinds of tests or switches :</p>\r
-\r
-<p>\93if( condition ) ; else if( condition ) \85 ; else\94 or<br><br>\r
-\r
-\93switch( variable ) ; case value \85; default\94.<br><br>\r
-\r
-Etc\85</p>\r
-<p>The associated Python function will have all input ports of the Switch node \r
- as input arguments. And that function must return a value for all output ports. \r
- A simple example of this Python function: </p>\r
- <pre><code>\r
- \r
-def Switch(x): \r
-\r
- i1=0 \r
-\r
- i2=0 \r
-\r
- i3=0 \r
-\r
- if x>13: \r
-\r
- i1=1 \r
-\r
- elif x==13: \r
-\r
- i2=1 \r
-\r
- else: \r
-\r
- i3=1 \r
-\r
- return i1,i2,i3 \r
- </code></pre>\r
-<p>In this example <b>i1</b>, <b>i2</b>, <b>i3</b> parameters of the function correspond to Switch \r
- ports of the node. So, depending on the result of execution of the initial condition \r
- (in our case it's a comparison of the input parameter with an integer 13), one \r
- of the switch ports will get the value 1. And this port will transmit further \r
- dataflow to the corresponding node. </p>\r
-<a name="2_2_4"></a><h4>2.2.4 GOTO node </h4>\r
-<p>GOTO node represents a simple transmitter of data from one port into another. \r
- This InLine node can be with service or without it. In the first case the data \r
- received by a GOTO node will be processed by this function and only after that \r
- it will be transferred to another node. GOTO nodes may have as many Input and \r
- Output ports as it's necessary. </p>\r
- <i><a href="#cont">Back to the contents</a></i>\r
-<a name="3"></a><h2>3. SUPERVISION module features and services </h2>\r
-<p>The functionality of the SUPERVISION module is provided by a set of classes which are combined into \r
-the <b>SUPERV</b> package.\r
-<p>The API reference of the SUPERVISION component can be found <a href="namespaceSUPERV.html">here</a>.</p>\r
-<a name="3_1"></a><h3>3.1 CNode class </h3>\r
-<p>This is a base class of the SUPERVISION module. It contains a set of methods allowing:</p>\r
-\r
-<ul>\r
- <li>creating a <b>Computation node </b>and setting its parameters (Name, Author, Comments \r
- etc.)</li>\r
- <li>checking the current state of the node in the data flow</li>\r
- <li>node execution follow-up</li>\r
- <li>management of the components, which can be initialized for execution of calculations in the data flow. (For that purpose\r
- CNode class inherits the methods of the <b>Engines:Container</b> class)</li>\r
-</ul>\r
-<p>The API reference for this class can be found <a href="interfaceSUPERV_1_1CNode.html">here</a>.</p>\r
-\r
-<a name="3_2"></a><h3>3.2 FNode class </h3>\r
-\r
-<p>This class is necessary for management of <b>Factory nodes</b> in the data flow. Besides the inherited methods it contains some methods allowing\r
-to define the component from the container, which will be called for execution of the calculation.</p>\r
-<p>The API reference for this class can be found <a href="interfaceSUPERV_1_1FNode.html">here</a>.</p>\r
-<a name="3_3"></a>\r
-<h3>3.3 INode class </h3>\r
-<p>This class is necessary for management of <b>Inline nodes</b> in the data flow. Besides the inherited methods it contains some methods allowing to set\r
-the Python function, which will be executed for performing calculations, as well as input and output parameters for the node.</p>\r
-<p>The API reference for this class can be found <a href="interfaceSUPERV_1_1INode.html">here</a>.</p>\r
-\r
-<a name="3_4"></a><h3>3.4 GNode class </h3>\r
-<p>This class is necessary for management of <b>GOTO nodes</b> in the data flow. Besides the inherited methods it contains some methods allowing to define\r
-the couple node, which will be linked to this one.</p>\r
-<p>The API reference for this class can be found <a href="interfaceSUPERV_1_1GNode.html">here</a>.</p>\r
-\r
-<a name="3_5"></a><h3>3.5 LNode class </h3>\r
-<p>This class is necessary for management of <b>Loop nodes</b> (or <b>Start Loop nodes</b>) in the data flow. Besides the inherited methods it contains some methods allowing to define\r
-the Python function, which will control the loop.</p>\r
-<p>The API reference for this class can be found <a href="interfaceSUPERV_1_1LNode.html">here</a>.</p>\r
-\r
-<a name="3_6"></a><h3>3.6 ELNode class </h3>\r
-<p>This class is necessary for management of <b>End Loop nodes</b> (or <b>start</b> Loop nodes) in the data flow.</p>\r
-<p>The API reference for this class can be found <a href="interfaceSUPERV_1_1ELNode.html">here</a>.</p>\r
-\r
-<a name="3_7"></a><h3>3.7 SNode class </h3>\r
-<p>This class is necessary for management of <b>Switch nodes</b> (or <b>Start Switch nodes</b>) in the data flow. </p>\r
-<p>The API reference for this class can be found <a href="interfaceSUPERV_1_1SNode.html">here</a>.</p>\r
-\r
-<a name="3_8"></a><h3>3.8 ESNode class </h3>\r
-<p>This class is necessary for management of <b>End Switch nodes</b> in the data flow. </p>\r
-<p>The API reference for this class can be found <a href="interfaceSUPERV_1_1ESNode.html">here</a>.</p>\r
-\r
-<a name="3_9"></a><h3>3.9 Graph class </h3>\r
-<p>This class is used for management of a data flow. It contains a set of methods, which allows:</p>\r
-<ul>\r
- <li>creation of a data flow consisting of one or several different nodes</li>\r
- <li>import/export of an existing data flow</li>\r
- <li>execution of the data flow </li>\r
- <li>follow-up of data flow execution</li>\r
- <li>checking the state of the data flow</li>\r
-</ul>\r
-<p>The API reference for this class can be found <a href="interfaceSUPERV_1_1Graph.html">here</a>.</p>\r
-<a name="3_10"></a><h3>3.10 Link class </h3>\r
-<p>This class contains a set of methods used for representation and management of the links connecting nodes in a data flow. </p>\r
-<p>The API reference for this class can be found <a href="interfaceSUPERV_1_1Link.html">here</a>.</p>\r
-\r
-<a name="3_11"></a><h3>3.11 Value class </h3>\r
-<p>This class contains a set of methods used for management of the values which can be set in the ports of nodes. </p>\r
-<p>The API reference for this class can be found <a href="interfaceSUPERV_1_1Value.html">here</a>.</p>\r
-\r
-<a name="3_12"></a><h3>3.12 Port class </h3>\r
-<p>This class contains a set of methods used for management of the ports of the nodes in a data flow: </p>\r
-\r
-<ul>\r
- <li>setting the attributes of a port</li>\r
- <li>initialization of input ports with initial values</li>\r
- <li>linking ports of different nodes</li>\r
-</ul>\r
-<p>The API reference for this class can be found <a href="interfaceSUPERV_1_1Port.html">here</a>.</p>\r
-\r
-<a name="3_13"></a><h3>3.13 SuperG class </h3>\r
-<p>The main class of the SUPERVISION ccomponent which is used for construction and initialization of a data flow. </p>\r
-<p>The API reference for this class can be found <a href="interfaceSUPERV_1_1SuperG.html">here</a>.</p>\r
-\r
-\r
-<i><a href="#cont">Back to the contents</a></i>\r
-</body>\r
-</html>\r
+++ /dev/null
-<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
-<html>
-<head>
- <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
- <meta name="GENERATOR" content="Mozilla/4.73 [en] (WinNT; I) [Netscape]">
- <title>Main Page</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-</head>
-<body>
-
-<center><table WIDTH="96%" >
-<tr>
-<td><a href="http://www.opencascade.com"><img src="sources/logocorp.gif" BORDER=0 height=46 width=122></a></td>
-
-
-<td>
-<div align=right><a href="http://www.opencascade.org/SALOME/"><img src="sources/application.gif" BORDER=0 height=46 width=108></a></div>
-</td>
-</tr>
-</table></center>
-
-
-</body>
-</html>
-<!-- Generated by Doxygen 1.3-rc2 -->
-<ul>
-<li><b>SALOME SUPERVISION module</b><ul>
-<li><a href="HTML/SUPERV.html">Mapping of SUPERV functions</a></li></ul>
-</li></ul>
-</body>
-</html>
+++ /dev/null
-foldersTree = gFld("<b>SALOME v.1.4.1 </b>", "", "")
- insDoc(foldersTree, gLnk("Main Page", "", "main.html"))
-
-aux1 = insFld(foldersTree, gFld("TUI Reference Guide", ""))
- aux2 = insFld(aux1, gFld("Modules", ""))
- aux3 = insFld(aux2, gFld("SALOME SUPERVISION module", ""))
- insDoc(aux3, gLnk("Overview", "", "overview_Supervision.html"))
- aux4 = insFld(aux3, gFld("Packages", ""))
- insDoc(aux4, gLnk("SUPERV", "", "namespaceSUPERV.html"))
- insDoc(aux3, gLnk("Examples", "", "examples_SUPERV.html"))
-
-
-/*! Data structures
-*/
- insDoc(aux1, gLnk("Data Structures", "", "annotated.html"))
-
-/*! insDoc(aux1, gLnk("SUPERV::CNode", "", "interfaceSUPERV_1_1CNode.html"))
- insDoc(aux1, gLnk("SUPERV::ELNode", "", "interfaceSUPERV_1_1ELNode.html"))
- insDoc(aux1, gLnk("SUPERV::ESNode", "", "interfaceSUPERV_1_1ESNode.html"))
- insDoc(aux1, gLnk("SUPERV::FNode", "", "interfaceSUPERV_1_1FNode.html"))
- insDoc(aux1, gLnk("SUPERV::GNode", "", "interfaceSUPERV_1_1GNode.html"))
- insDoc(aux1, gLnk("SUPERV::Graph", "", "interfaceSUPERV_1_1Graph.html"))
- insDoc(aux1, gLnk("SUPERV::INode", "", "interfaceSUPERV_1_1INode.html"))
- insDoc(aux1, gLnk("SUPERV::Link", "", "interfaceSUPERV_1_1Link.html"))
- insDoc(aux1, gLnk("SUPERV::ListOfNodes", "", "structSUPERV_1_1ListOfNodes.html"))
- insDoc(aux1, gLnk("SUPERV::LNode", "", "interfaceSUPERV_1_1LNode.html"))
- insDoc(aux1, gLnk("SUPERV::Port", "", "interfaceSUPERV_1_1Port.html"))
- insDoc(aux1, gLnk("SUPERV::SDate", "", "structSUPERV_1_1SDate.html"))
- insDoc(aux1, gLnk("SUPERV::SNode", "", "interfaceSUPERV_1_1SNode.html"))
- insDoc(aux1, gLnk("SUPERV::SuperG", "", "interfaceSUPERV_1_1SuperG.html"))
-*/
- insDoc(aux1, gLnk("Class Hierarchy", "", "hierarchy.html"))
-
-/*!
- aux3 = insFld(aux2, gFld("SUPERV::CNode", "", "interfaceSUPERV_1_1CNode.html"))
- insDoc(aux3, gLnk("SUPERV::FNode", "", "interfaceSUPERV_1_1FNode.html"))
- aux4 = insFld(aux3, gFld("SUPERV::INode", "", "interfaceSUPERV_1_1INode.html"))
- aux5 = insFld(aux4, gFld("SUPERV::GNode", "", "interfaceSUPERV_1_1GNode.html"))
- insDoc(aux5, gLnk("SUPERV::ELNode", "", "interfaceSUPERV_1_1ELNode.html"))
- insDoc(aux5, gLnk("SUPERV::ESNode", "", "interfaceSUPERV_1_1ESNode.html"))
- insDoc(aux5, gLnk("SUPERV::LNode", "", "interfaceSUPERV_1_1LNode.html"))
- insDoc(aux5, gLnk("SUPERV::SNode", "", "interfaceSUPERV_1_1SNode.html"))
- insDoc(aux4, gLnk("SUPERV::Graph", "", "interfaceSUPERV_1_1Graph.html"))
- insDoc(aux2, gLnk("SUPERV::Link", "", "interfaceSUPERV_1_1Link.html"))
- insDoc(aux2, gLnk("SUPERV::SuperG", "", "interfaceSUPERV_1_1SuperG.html"))
- aux3 = insFld(aux2, gFld("SUPERV::Value", "", "interfaceSUPERV_1_1Value.html"))
- insDoc(aux3, gLnk("SUPERV::Port", "", "interfaceSUPERV_1_1Port.html"))
- insDoc(aux2, gLnk("SUPERV::SuperG", "", "interfaceSUPERV_1_1SuperG.html"))
- insDoc(aux1, gLnk("SUPERV::ListOfNodes", "", "structSUPERV_1_1ListOfNodes.html"))
- insDoc(aux1, gLnk("SUPERV::SDate", "", "structSUPERV_1_1SDate.html"))
-*/
- insDoc(aux1, gLnk("Class methods list", "", "functions.html"))
-/*!
-aux1 = insFld(foldersTree, gFld("Namespace List", "", "namespaces.html"))
- insDoc(aux1, gLnk("SUPERV", "", "namespaceSUPERV.html"))
-*/
- insDoc(aux1, gLnk("Namespace Members", "", "namespacemembers.html"))
-
- insDoc(aux1, gLnk("File List", "", "files.html"))
-
-/*!
-
- insDoc(aux1, gLnk("SUPERV.idl", "", "SUPERV_8idl.html"))
-*/
-
-
-aux1 = insFld(foldersTree, gFld("IDL/Python mapping", ""))
- insDoc(aux1, gLnk("Mapping of SUPERVISION IDL definitions to Python language", "", "page2.html"))
-
-/*! insDoc(foldersTree, gLnk("Graphical Class Hierarchy", "", "inherits.html"))
-*/
+++ /dev/null
-//****************************************************************
-// You are free to copy the "Folder-Tree" script as long as you
-// keep this copyright notice:
-// Script found in: http://www.geocities.com/Paris/LeftBank/2178/
-// Author: Marcelino Alves Martins (martins@hks.com) December '97.
-//****************************************************************
-
-//Log of changes:
-// 17 Feb 98 - Fix initialization flashing problem with Netscape
-//
-// 27 Jan 98 - Root folder starts open; support for USETEXTLINKS;
-// make the ftien4 a js file
-//
-// DvH: Dec 2000 - Made some minor changes to support external
-// references
-
-// Definition of class Folder
-// *****************************************************************
-
-function Folder(folderDescription, tagName, hreference) //constructor
-{
- //constant data
- this.desc = folderDescription
- this.tagName = tagName
- this.hreference = hreference
- this.id = -1
- this.navObj = 0
- this.iconImg = 0
- this.nodeImg = 0
- this.isLastNode = 0
-
- //dynamic data
- this.isOpen = true
- this.iconSrc = "ftv2folderopen.png"
- this.children = new Array
- this.nChildren = 0
-
- //methods
- this.initialize = initializeFolder
- this.setState = setStateFolder
- this.addChild = addChild
- this.createIndex = createEntryIndex
- this.hide = hideFolder
- this.display = display
- this.renderOb = drawFolder
- this.totalHeight = totalHeight
- this.subEntries = folderSubEntries
- this.outputLink = outputFolderLink
-}
-
-function setStateFolder(isOpen)
-{
- var subEntries
- var totalHeight
- var fIt = 0
- var i=0
-
- if (isOpen == this.isOpen)
- return
-
- if (browserVersion == 2)
- {
- totalHeight = 0
- for (i=0; i < this.nChildren; i++)
- totalHeight = totalHeight + this.children[i].navObj.clip.height
- subEntries = this.subEntries()
- if (this.isOpen)
- totalHeight = 0 - totalHeight
- for (fIt = this.id + subEntries + 1; fIt < nEntries; fIt++)
- indexOfEntries[fIt].navObj.moveBy(0, totalHeight)
- }
- this.isOpen = isOpen
- propagateChangesInState(this)
-}
-
-function propagateChangesInState(folder)
-{
- var i=0
-
- if (folder.isOpen)
- {
- if (folder.nodeImg)
- if (folder.isLastNode)
- folder.nodeImg.src = "ftv2mlastnode.png"
- else
- folder.nodeImg.src = "ftv2mnode.png"
- folder.iconImg.src = "ftv2folderopen.png"
- for (i=0; i<folder.nChildren; i++)
- folder.children[i].display()
- }
- else
- {
- if (folder.nodeImg)
- if (folder.isLastNode)
- folder.nodeImg.src = "ftv2plastnode.png"
- else
- folder.nodeImg.src = "ftv2pnode.png"
- folder.iconImg.src = "ftv2folderclosed.png"
- for (i=0; i<folder.nChildren; i++)
- folder.children[i].hide()
- }
-}
-
-function hideFolder()
-{
- if (browserVersion == 1 || browserVersion == 3) {
- if (this.navObj.style.display == "none")
- return
- this.navObj.style.display = "none"
- } else {
- if (this.navObj.visibility == "hidden")
- return
- this.navObj.visibility = "hidden"
- }
-
- this.setState(0)
-}
-
-function initializeFolder(level, lastNode, leftSide)
-{
-var j=0
-var i=0
-var numberOfFolders
-var numberOfDocs
-var nc
-
- nc = this.nChildren
-
- this.createIndex()
-
- var auxEv = ""
-
- if (browserVersion > 0)
- auxEv = "<a href='javascript:clickOnNode("+this.id+")'>"
- else
- auxEv = "<a>"
-
- if (level>0)
- if (lastNode) //the last 'brother' in the children array
- {
- this.renderOb(leftSide + auxEv + "<img name='nodeIcon" + this.id + "' src='ftv2mlastnode.png' width=16 height=22 border=0></a>")
-// leftSide = leftSide + "<img src='ftv2blank.png' width=16 height=22>"
- this.isLastNode = 1
- }
- else
- {
- this.renderOb(leftSide + auxEv + "<img name='nodeIcon" + this.id + "' src='ftv2mnode.png' width=16 height=22 border=0></a>")
- leftSide = leftSide + "<img src='ftv2vertline.png' width=16 height=22>"
- this.isLastNode = 0
- }
- else
- this.renderOb("")
-
- if (nc > 0)
- {
- level = level + 1
- for (i=0 ; i < this.nChildren; i++)
- {
- if (i == this.nChildren-1)
- this.children[i].initialize(level, 1, leftSide)
- else
- this.children[i].initialize(level, 0, leftSide)
- }
- }
-}
-
-function drawFolder(leftSide)
-{
- if (browserVersion == 2) {
- if (!doc.yPos)
- doc.yPos=8
- doc.write("<layer id='folder" + this.id + "' top=" + doc.yPos + " visibility=hidden>")
- }
- if (browserVersion == 3)
- {
- doc.write("<div id='folder" + this.id + "' style='visibility:hide;'>")
- }
-
- doc.write("\n<table ")
- if (browserVersion == 1)
- doc.write(" id='folder" + this.id + "' style='position:block;' ")
- doc.write(" border=0 cellspacing=0 cellpadding=0>")
- doc.write("\n<tr><td>")
- doc.write(leftSide)
- this.outputLink()
- doc.write("<img name='folderIcon" + this.id + "' ")
- doc.write("src='" + this.iconSrc+"' border=0></a>")
- doc.write("</td>\n<td valign=middle nowrap>")
- if (USETEXTLINKS)
- {
- this.outputLink()
- doc.write(this.desc + "</a>")
- }
- else
- doc.write(this.desc)
-
-/*!
- if (this.tagName!="")
- {
- doc.write(" [external]")
- }
-*/
- doc.write("</td>")
- doc.write("\n</table>\n")
-
- if (browserVersion == 2) {
- doc.write("</layer>")
- }
- if (browserVersion == 3) {
- doc.write("</div>")
- }
-
- if (browserVersion == 1) {
- this.navObj = doc.all["folder"+this.id]
- this.iconImg = doc.all["folderIcon"+this.id]
- this.nodeImg = doc.all["nodeIcon"+this.id]
- } else if (browserVersion == 2) {
- this.navObj = doc.layers["folder"+this.id]
- this.iconImg = this.navObj.document.images["folderIcon"+this.id]
- this.nodeImg = this.navObj.document.images["nodeIcon"+this.id]
- doc.yPos=doc.yPos+this.navObj.clip.height
- } else if (browserVersion == 3) {
- this.navObj = doc.getElementById("folder"+this.id)
- this.iconImg = doc.images.namedItem("folderIcon"+this.id)
- this.nodeImg = doc.images.namedItem("nodeIcon"+this.id)
- }
-}
-
-function outputFolderLink()
-{
- if (this.hreference)
- {
- doc.write("<a ")
- if (this.tagName)
- {
- doc.write("doxygen='" + this.tagName + "' ");
- }
- doc.write("href='" + this.hreference + "' TARGET=\"basefrm\" ")
- if (browserVersion > 0)
- doc.write("onClick='javascript:clickOnFolder("+this.id+")'")
- doc.write(">")
- }
- else
- doc.write("<a>")
-}
-
-function addChild(childNode)
-{
- this.children[this.nChildren] = childNode
- this.nChildren++
- return childNode
-}
-
-function folderSubEntries()
-{
- var i = 0
- var se = this.nChildren
-
- for (i=0; i < this.nChildren; i++){
- if (this.children[i].children) //is a folder
- se = se + this.children[i].subEntries()
- }
-
- return se
-}
-
-
-// Definition of class Item (a document or link inside a Folder)
-// *************************************************************
-
-function Item(itemDescription, tagName, itemLink) // Constructor
-{
- // constant data
- this.desc = itemDescription
- this.tagName = tagName
- this.link = itemLink
- this.id = -1 //initialized in initalize()
- this.navObj = 0 //initialized in render()
- this.iconImg = 0 //initialized in render()
- this.iconSrc = "ftv2doc.png"
-
- // methods
- this.initialize = initializeItem
- this.createIndex = createEntryIndex
- this.hide = hideItem
- this.display = display
- this.renderOb = drawItem
- this.totalHeight = totalHeight
-}
-
-function hideItem()
-{
- if (browserVersion == 1 || browserVersion == 3) {
- if (this.navObj.style.display == "none")
- return
- this.navObj.style.display = "none"
- } else {
- if (this.navObj.visibility == "hidden")
- return
- this.navObj.visibility = "hidden"
- }
-}
-
-function initializeItem(level, lastNode, leftSide)
-{
- this.createIndex()
-
- if (level>0)
- if (lastNode) //the last 'brother' in the children array
- {
- this.renderOb(leftSide + "<img src='ftv2lastnode.png' width=16 height=22>")
- leftSide = leftSide + "<img src='ftv2blank.png' width=16 height=22>"
- }
- else
- {
- this.renderOb(leftSide + "<img src='ftv2node.png' width=16 height=22>")
- leftSide = leftSide + "<img src='ftv2vertline.png' width=16 height=22>"
- }
- else
- this.renderOb("")
-}
-
-function drawItem(leftSide)
-{
- if (browserVersion == 2)
- doc.write("<layer id='item" + this.id + "' top=" + doc.yPos + " visibility=hidden>")
- if (browserVersion == 3)
- doc.write("<div id='item" + this.id + "' style='display:block;'>")
-
- doc.write("\n<table ")
- if (browserVersion == 1)
- doc.write(" id='item" + this.id + "' style='position:block;' ")
- doc.write(" border=0 cellspacing=0 cellpadding=0>\n")
- doc.write("<tr><td>")
- doc.write(leftSide)
- if (this.link!="")
- {
- doc.write("<a href=" + this.link + ">")
- }
- doc.write("<img id='itemIcon"+this.id+"' ")
- doc.write("src='"+this.iconSrc+"' border=0>")
- if (this.link!="")
- {
- doc.write("</a>")
- }
- doc.write("</td>\n<td valign=middle nowrap>")
- if (USETEXTLINKS && this.link!="")
- doc.write("<a href=" + this.link + ">" + this.desc + "</a>")
- else
- doc.write(this.desc)
-/*!
- if (this.tagName!="")
- {
- doc.write(" [external]");
- }
-*/
- doc.write("\n</table>\n")
-
- if (browserVersion == 2)
- doc.write("</layer>")
- if (browserVersion == 3)
- doc.write("</div>")
-
- if (browserVersion == 1) {
- this.navObj = doc.all["item"+this.id]
- this.iconImg = doc.all["itemIcon"+this.id]
- } else if (browserVersion == 2) {
- this.navObj = doc.layers["item"+this.id]
- this.iconImg = this.navObj.document.images["itemIcon"+this.id]
- doc.yPos=doc.yPos+this.navObj.clip.height
- } else if (browserVersion == 3) {
- this.navObj = doc.getElementById("item"+this.id)
- this.iconImg = doc.images.namedItem("itemIcon"+this.id)
- }
-}
-
-
-// Methods common to both objects (pseudo-inheritance)
-// ********************************************************
-
-function display()
-{
- if (browserVersion == 1 || browserVersion == 3)
- this.navObj.style.display = "block"
- else
- this.navObj.visibility = "show"
-}
-
-function createEntryIndex()
-{
- this.id = nEntries
- indexOfEntries[nEntries] = this
- nEntries++
-}
-
-// total height of subEntries open
-function totalHeight() //used with browserVersion == 2
-{
- var h = this.navObj.clip.height
- var i = 0
-
- if (this.isOpen) //is a folder and _is_ open
- for (i=0 ; i < this.nChildren; i++)
- h = h + this.children[i].totalHeight()
-
- return h
-}
-
-
-// Events
-// *********************************************************
-
-function clickOnFolder(folderId)
-{
- var clicked = indexOfEntries[folderId]
-
- if (!clicked.isOpen)
- clickOnNode(folderId)
-
- return
-
- if (clicked.isSelected)
- return
-}
-
-function clickOnNode(folderId)
-{
- var clickedFolder = 0
- var state = 0
-
- clickedFolder = indexOfEntries[folderId]
- state = clickedFolder.isOpen
-
- clickedFolder.setState(!state) //open<->close
-}
-
-function initializeDocument()
-{
- doc = document;
- if (doc.all)
- browserVersion = 1 //IE4
- else
- if (doc.layers)
- browserVersion = 2 //NS4
- else if(navigator.userAgent.toLowerCase().indexOf('gecko') != -1)
- browserVersion = 3 //mozilla
- else
- browserVersion = 0 //other
-
- foldersTree.initialize(0, 1, "")
- foldersTree.display()
-
- if (browserVersion > 0)
- {
- if(browserVersion != 3)
- doc.write("<layer top="+indexOfEntries[nEntries-1].navObj.top+"> </layer>")
-
- // close the whole tree
- clickOnNode(0)
- // open the root folder
- clickOnNode(0)
- }
-}
-
-// Auxiliary Functions for Folder-Treee backward compatibility
-// *********************************************************
-
-function gFld(description, tagName, hreference)
-{
- folder = new Folder(description, tagName, hreference)
- return folder
-}
-
-function gLnk(description, tagName, linkData)
-{
- fullLink = ""
-
- if (linkData!="")
- {
- fullLink = "'"+linkData+"' target=\"basefrm\""
- }
-
- linkItem = new Item(description, tagName, fullLink)
- return linkItem
-}
-
-function insFld(parentFolder, childFolder)
-{
- return parentFolder.addChild(childFolder)
-}
-
-function insDoc(parentFolder, document)
-{
- parentFolder.addChild(document)
-}
-
-// Global variables
-// ****************
-
-USETEXTLINKS = 1
-indexOfEntries = new Array
-nEntries = 0
-doc = document
-browserVersion = 0
-selectedFolder=0
+++ /dev/null
-
-# Generated python file of Graph GeomGraph
-
-from SuperV import *
-# Graph creation
-GeomGraph = Graph( 'GeomGraph' )
-GeomGraph.SetName( 'GeomGraph' )
-GeomGraph.SetAuthor( '' )
-GeomGraph.SetComment( '' )
-GeomGraph.Coords( 0 , 0 )
-
-# Creation of Factory Nodes
-MakeBox = GeomGraph.FNode( 'GEOM' , 'GEOM' , 'MakeBox' )
-MakeBox.SetName( 'MakeBox' )
-MakeBox.SetAuthor( '' )
-MakeBox.SetContainer( 'localhost/FactoryServer' )
-MakeBox.SetComment( 'MakeBox from Geometry' )
-MakeBox.Coords( 5 , 101 )
-MakeCopy = GeomGraph.FNode( 'GEOM' , 'GEOM' , 'MakeCopy' )
-MakeCopy.SetName( 'MakeCopy' )
-MakeCopy.SetAuthor( '' )
-MakeCopy.SetContainer( 'localhost/FactoryServer' )
-MakeCopy.SetComment( 'MakeCopy from Geometry' )
-MakeCopy.Coords( 235 , 77 )
-MakeCopy_1 = GeomGraph.FNode( 'GEOM' , 'GEOM' , 'MakeCopy' )
-MakeCopy_1.SetName( 'MakeCopy_1' )
-MakeCopy_1.SetAuthor( '' )
-MakeCopy_1.SetContainer( 'localhost/FactoryServer' )
-MakeCopy_1.SetComment( 'MakeCopy from Geometry' )
-MakeCopy_1.Coords( 232 , 332 )
-MakeTranslation = GeomGraph.FNode( 'GEOM' , 'GEOM' , 'MakeTranslation' )
-MakeTranslation.SetName( 'MakeTranslation' )
-MakeTranslation.SetAuthor( '' )
-MakeTranslation.SetContainer( 'localhost/FactoryServer' )
-MakeTranslation.SetComment( 'MakeTranslation from Geometry' )
-MakeTranslation.Coords( 449 , 86 )
-MakeFuse = GeomGraph.FNode( 'GEOM' , 'GEOM' , 'MakeFuse' )
-MakeFuse.SetName( 'MakeFuse' )
-MakeFuse.SetAuthor( '' )
-MakeFuse.SetContainer( 'localhost/FactoryServer' )
-MakeFuse.SetComment( 'MakeFuse from Geometry' )
-MakeFuse.Coords( 678 , 224 )
-MakeFuse_1 = GeomGraph.FNode( 'GEOM' , 'GEOM' , 'MakeFuse' )
-MakeFuse_1.SetName( 'MakeFuse_1' )
-MakeFuse_1.SetAuthor( '' )
-MakeFuse_1.SetContainer( 'localhost/FactoryServer' )
-MakeFuse_1.SetComment( 'MakeFuse from Geometry' )
-MakeFuse_1.Coords( 909 , 340 )
-MakeSphere = GeomGraph.FNode( 'GEOM' , 'GEOM' , 'MakeSphere' )
-MakeSphere.SetName( 'MakeSphere' )
-MakeSphere.SetAuthor( '' )
-MakeSphere.SetContainer( 'localhost/FactoryServer' )
-MakeSphere.SetComment( 'MakeSphere from Geometry' )
-MakeSphere.Coords( 5 , 449 )
-
-# Creation of intermediate Output variables and of Control Links
-MakeBoxshape = MakeBox.Port( 'shape' )
-MakeCopyshape1 = GeomGraph.Link( MakeBoxshape , MakeCopy.Port( 'shape1' ) )
-MakeCopyshape1.AddCoord( 1 , 198 , 184 )
-MakeCopyshape1.AddCoord( 2 , 199 , 209 )
-MakeCopy_1shape1 = GeomGraph.Link( MakeBoxshape , MakeCopy_1.Port( 'shape1' ) )
-MakeCopy_1shape1.AddCoord( 1 , 198 , 441 )
-MakeCopy_1shape1.AddCoord( 2 , 198 , 209 )
-MakeCopyshape = MakeCopy.Port( 'shape' )
-MakeTranslationshape1 = GeomGraph.Link( MakeCopyshape , MakeTranslation.Port( 'shape1' ) )
-MakeCopy_1shape = MakeCopy_1.Port( 'shape' )
-MakeFuseshape2 = GeomGraph.Link( MakeCopy_1shape , MakeFuse.Port( 'shape2' ) )
-MakeFuseshape2.AddCoord( 1 , 642 , 362 )
-MakeFuseshape2.AddCoord( 2 , 642 , 442 )
-MakeTranslationshape = MakeTranslation.Port( 'shape' )
-MakeFuseshape1 = GeomGraph.Link( MakeTranslationshape , MakeFuse.Port( 'shape1' ) )
-MakeFuseshape1.AddCoord( 1 , 643 , 330 )
-MakeFuseshape1.AddCoord( 2 , 644 , 195 )
-MakeFuseshape = MakeFuse.Port( 'shape' )
-MakeFuse_1shape1 = GeomGraph.Link( MakeFuseshape , MakeFuse_1.Port( 'shape1' ) )
-MakeFuse_1shape1.AddCoord( 1 , 872 , 445 )
-MakeFuse_1shape1.AddCoord( 2 , 874 , 333 )
-MakeSphereshape = MakeSphere.Port( 'shape' )
-MakeFuse_1shape2 = GeomGraph.Link( MakeSphereshape , MakeFuse_1.Port( 'shape2' ) )
-MakeFuse_1shape2.AddCoord( 1 , 872 , 474 )
-MakeFuse_1shape2.AddCoord( 2 , 871 , 552 )
-
-# Creation of Input datas
-MakeBoxx1 = MakeBox.Input( 'x1' , 0)
-MakeBoxy1 = MakeBox.Input( 'y1' , 0)
-MakeBoxz1 = MakeBox.Input( 'z1' , 0)
-MakeBoxx2 = MakeBox.Input( 'x2' , 50)
-MakeBoxy2 = MakeBox.Input( 'y2' , 50)
-MakeBoxz2 = MakeBox.Input( 'z2' , 50)
-MakeTranslationx1 = MakeTranslation.Input( 'x1' , 25)
-MakeTranslationy1 = MakeTranslation.Input( 'y1' , 25)
-MakeTranslationz1 = MakeTranslation.Input( 'z1' , 25)
-MakeSpherex1 = MakeSphere.Input( 'x1' , 0)
-MakeSpherey1 = MakeSphere.Input( 'y1' , 0)
-MakeSpherez1 = MakeSphere.Input( 'z1' , 0)
-MakeSphereradius = MakeSphere.Input( 'radius' , 12)
-
-# Creation of Output variables
-MakeFuse_1shape = MakeFuse_1.Port( 'shape' )
-
-GeomGraph.Run()
-
-GeomGraph.DoneW()
-
-GeomGraph.PrintPorts()
-
+++ /dev/null
-<?xml version='1.0' encoding='us-ascii' ?>
-
-<!-- XML Dataflow -->
-
-<!-- Dataflow information -->
-<dataflow>
- <info-list>
- <node>
- <component-name>?</component-name>
- <interface-name>?</interface-name>
- <node-name>GeomGraph</node-name>
- <kind>1</kind>
- <coupled-node>?</coupled-node>
- <service>
- <service-name>GeomGraph</service-name>
- <inParameter-list>
- <inParameter>
- <inParameter-type>double</inParameter-type>
- <inParameter-name>MakeBox\x1</inParameter-name>
- </inParameter>
- <inParameter>
- <inParameter-type>double</inParameter-type>
- <inParameter-name>MakeBox\y1</inParameter-name>
- </inParameter>
- <inParameter>
- <inParameter-type>double</inParameter-type>
- <inParameter-name>MakeBox\z1</inParameter-name>
- </inParameter>
- <inParameter>
- <inParameter-type>double</inParameter-type>
- <inParameter-name>MakeBox\x2</inParameter-name>
- </inParameter>
- <inParameter>
- <inParameter-type>double</inParameter-type>
- <inParameter-name>MakeBox\y2</inParameter-name>
- </inParameter>
- <inParameter>
- <inParameter-type>double</inParameter-type>
- <inParameter-name>MakeBox\z2</inParameter-name>
- </inParameter>
- <inParameter>
- <inParameter-type>double</inParameter-type>
- <inParameter-name>MakeTranslation\x1</inParameter-name>
- </inParameter>
- <inParameter>
- <inParameter-type>double</inParameter-type>
- <inParameter-name>MakeTranslation\y1</inParameter-name>
- </inParameter>
- <inParameter>
- <inParameter-type>double</inParameter-type>
- <inParameter-name>MakeTranslation\z1</inParameter-name>
- </inParameter>
- <inParameter>
- <inParameter-type>double</inParameter-type>
- <inParameter-name>MakeSphere\x1</inParameter-name>
- </inParameter>
- <inParameter>
- <inParameter-type>double</inParameter-type>
- <inParameter-name>MakeSphere\y1</inParameter-name>
- </inParameter>
- <inParameter>
- <inParameter-type>double</inParameter-type>
- <inParameter-name>MakeSphere\z1</inParameter-name>
- </inParameter>
- <inParameter>
- <inParameter-type>double</inParameter-type>
- <inParameter-name>MakeSphere\radius</inParameter-name>
- </inParameter>
- </inParameter-list>
- <outParameter-list>
- <outParameter>
- <outParameter-type>GEOM_Shape</outParameter-type>
- <outParameter-name>MakeFuse_1\shape</outParameter-name>
- </outParameter>
- </outParameter-list>
- </service>
- <Parameter-list>
- </Parameter-list>
- <PyFunction-list>
- </PyFunction-list>
- <creation-date>13/3/2003 - 11:46:34</creation-date>
- <lastmodification-date>13/3/2003 - 13:49:29</lastmodification-date>
- <editor-release>1.04</editor-release>
- <author>?</author>
- <container>?</container>
- <comment>?</comment>
- <x-position>0</x-position>
- <y-position>0</y-position>
- </node>
- </info-list>
-
- <node-list>
- <node>
- <component-name>GEOM</component-name>
- <interface-name>GEOM</interface-name>
- <node-name>MakeBox</node-name>
- <kind>0</kind>
- <coupled-node>?</coupled-node>
- <service>
- <service-name>MakeBox</service-name>
- <inParameter-list>
- <inParameter>
- <inParameter-type>double</inParameter-type>
- <inParameter-name>x1</inParameter-name>
- </inParameter>
- <inParameter>
- <inParameter-type>double</inParameter-type>
- <inParameter-name>y1</inParameter-name>
- </inParameter>
- <inParameter>
- <inParameter-type>double</inParameter-type>
- <inParameter-name>z1</inParameter-name>
- </inParameter>
- <inParameter>
- <inParameter-type>double</inParameter-type>
- <inParameter-name>x2</inParameter-name>
- </inParameter>
- <inParameter>
- <inParameter-type>double</inParameter-type>
- <inParameter-name>y2</inParameter-name>
- </inParameter>
- <inParameter>
- <inParameter-type>double</inParameter-type>
- <inParameter-name>z2</inParameter-name>
- </inParameter>
- </inParameter-list>
- <outParameter-list>
- <outParameter>
- <outParameter-type>GEOM_Shape</outParameter-type>
- <outParameter-name>shape</outParameter-name>
- </outParameter>
- </outParameter-list>
- </service>
- <Parameter-list>
- </Parameter-list>
- <PyFunction-list>
- </PyFunction-list>
- <creation-date>13/3/2003 - 11:46:45</creation-date>
- <lastmodification-date>13/3/2003 - 11:46:45</lastmodification-date>
- <editor-release>1.04</editor-release>
- <author>?</author>
- <container>localhost/FactoryServer</container>
- <comment>MakeBox from Geometry</comment>
- <x-position>5</x-position>
- <y-position>101</y-position>
- </node>
- <node>
- <component-name>GEOM</component-name>
- <interface-name>GEOM</interface-name>
- <node-name>MakeCopy</node-name>
- <kind>0</kind>
- <coupled-node>?</coupled-node>
- <service>
- <service-name>MakeCopy</service-name>
- <inParameter-list>
- <inParameter>
- <inParameter-type>GEOM_Shape</inParameter-type>
- <inParameter-name>shape1</inParameter-name>
- </inParameter>
- </inParameter-list>
- <outParameter-list>
- <outParameter>
- <outParameter-type>GEOM_Shape</outParameter-type>
- <outParameter-name>shape</outParameter-name>
- </outParameter>
- </outParameter-list>
- </service>
- <Parameter-list>
- </Parameter-list>
- <PyFunction-list>
- </PyFunction-list>
- <creation-date>13/3/2003 - 11:46:48</creation-date>
- <lastmodification-date>13/3/2003 - 11:46:48</lastmodification-date>
- <editor-release>1.04</editor-release>
- <author>?</author>
- <container>localhost/FactoryServer</container>
- <comment>MakeCopy from Geometry</comment>
- <x-position>235</x-position>
- <y-position>77</y-position>
- </node>
- <node>
- <component-name>GEOM</component-name>
- <interface-name>GEOM</interface-name>
- <node-name>MakeCopy_1</node-name>
- <kind>0</kind>
- <coupled-node>?</coupled-node>
- <service>
- <service-name>MakeCopy</service-name>
- <inParameter-list>
- <inParameter>
- <inParameter-type>GEOM_Shape</inParameter-type>
- <inParameter-name>shape1</inParameter-name>
- </inParameter>
- </inParameter-list>
- <outParameter-list>
- <outParameter>
- <outParameter-type>GEOM_Shape</outParameter-type>
- <outParameter-name>shape</outParameter-name>
- </outParameter>
- </outParameter-list>
- </service>
- <Parameter-list>
- </Parameter-list>
- <PyFunction-list>
- </PyFunction-list>
- <creation-date>13/3/2003 - 11:46:49</creation-date>
- <lastmodification-date>13/3/2003 - 11:46:49</lastmodification-date>
- <editor-release>1.04</editor-release>
- <author>?</author>
- <container>localhost/FactoryServer</container>
- <comment>MakeCopy from Geometry</comment>
- <x-position>232</x-position>
- <y-position>332</y-position>
- </node>
- <node>
- <component-name>GEOM</component-name>
- <interface-name>GEOM</interface-name>
- <node-name>MakeTranslation</node-name>
- <kind>0</kind>
- <coupled-node>?</coupled-node>
- <service>
- <service-name>MakeTranslation</service-name>
- <inParameter-list>
- <inParameter>
- <inParameter-type>GEOM_Shape</inParameter-type>
- <inParameter-name>shape1</inParameter-name>
- </inParameter>
- <inParameter>
- <inParameter-type>double</inParameter-type>
- <inParameter-name>x1</inParameter-name>
- </inParameter>
- <inParameter>
- <inParameter-type>double</inParameter-type>
- <inParameter-name>y1</inParameter-name>
- </inParameter>
- <inParameter>
- <inParameter-type>double</inParameter-type>
- <inParameter-name>z1</inParameter-name>
- </inParameter>
- </inParameter-list>
- <outParameter-list>
- <outParameter>
- <outParameter-type>GEOM_Shape</outParameter-type>
- <outParameter-name>shape</outParameter-name>
- </outParameter>
- </outParameter-list>
- </service>
- <Parameter-list>
- </Parameter-list>
- <PyFunction-list>
- </PyFunction-list>
- <creation-date>13/3/2003 - 11:46:51</creation-date>
- <lastmodification-date>13/3/2003 - 11:46:51</lastmodification-date>
- <editor-release>1.04</editor-release>
- <author>?</author>
- <container>localhost/FactoryServer</container>
- <comment>MakeTranslation from Geometry</comment>
- <x-position>449</x-position>
- <y-position>86</y-position>
- </node>
- <node>
- <component-name>GEOM</component-name>
- <interface-name>GEOM</interface-name>
- <node-name>MakeFuse</node-name>
- <kind>0</kind>
- <coupled-node>?</coupled-node>
- <service>
- <service-name>MakeFuse</service-name>
- <inParameter-list>
- <inParameter>
- <inParameter-type>GEOM_Shape</inParameter-type>
- <inParameter-name>shape1</inParameter-name>
- </inParameter>
- <inParameter>
- <inParameter-type>GEOM_Shape</inParameter-type>
- <inParameter-name>shape2</inParameter-name>
- </inParameter>
- </inParameter-list>
- <outParameter-list>
- <outParameter>
- <outParameter-type>GEOM_Shape</outParameter-type>
- <outParameter-name>shape</outParameter-name>
- </outParameter>
- </outParameter-list>
- </service>
- <Parameter-list>
- </Parameter-list>
- <PyFunction-list>
- </PyFunction-list>
- <creation-date>13/3/2003 - 11:46:55</creation-date>
- <lastmodification-date>13/3/2003 - 11:46:55</lastmodification-date>
- <editor-release>1.04</editor-release>
- <author>?</author>
- <container>localhost/FactoryServer</container>
- <comment>MakeFuse from Geometry</comment>
- <x-position>678</x-position>
- <y-position>224</y-position>
- </node>
- <node>
- <component-name>GEOM</component-name>
- <interface-name>GEOM</interface-name>
- <node-name>MakeFuse_1</node-name>
- <kind>0</kind>
- <coupled-node>?</coupled-node>
- <service>
- <service-name>MakeFuse</service-name>
- <inParameter-list>
- <inParameter>
- <inParameter-type>GEOM_Shape</inParameter-type>
- <inParameter-name>shape1</inParameter-name>
- </inParameter>
- <inParameter>
- <inParameter-type>GEOM_Shape</inParameter-type>
- <inParameter-name>shape2</inParameter-name>
- </inParameter>
- </inParameter-list>
- <outParameter-list>
- <outParameter>
- <outParameter-type>GEOM_Shape</outParameter-type>
- <outParameter-name>shape</outParameter-name>
- </outParameter>
- </outParameter-list>
- </service>
- <Parameter-list>
- </Parameter-list>
- <PyFunction-list>
- </PyFunction-list>
- <creation-date>13/3/2003 - 11:46:58</creation-date>
- <lastmodification-date>13/3/2003 - 11:46:58</lastmodification-date>
- <editor-release>1.04</editor-release>
- <author>?</author>
- <container>localhost/FactoryServer</container>
- <comment>MakeFuse from Geometry</comment>
- <x-position>909</x-position>
- <y-position>340</y-position>
- </node>
- <node>
- <component-name>GEOM</component-name>
- <interface-name>GEOM</interface-name>
- <node-name>MakeSphere</node-name>
- <kind>0</kind>
- <coupled-node>?</coupled-node>
- <service>
- <service-name>MakeSphere</service-name>
- <inParameter-list>
- <inParameter>
- <inParameter-type>double</inParameter-type>
- <inParameter-name>x1</inParameter-name>
- </inParameter>
- <inParameter>
- <inParameter-type>double</inParameter-type>
- <inParameter-name>y1</inParameter-name>
- </inParameter>
- <inParameter>
- <inParameter-type>double</inParameter-type>
- <inParameter-name>z1</inParameter-name>
- </inParameter>
- <inParameter>
- <inParameter-type>double</inParameter-type>
- <inParameter-name>radius</inParameter-name>
- </inParameter>
- </inParameter-list>
- <outParameter-list>
- <outParameter>
- <outParameter-type>GEOM_Shape</outParameter-type>
- <outParameter-name>shape</outParameter-name>
- </outParameter>
- </outParameter-list>
- </service>
- <Parameter-list>
- </Parameter-list>
- <PyFunction-list>
- </PyFunction-list>
- <creation-date>13/3/2003 - 11:47:0</creation-date>
- <lastmodification-date>13/3/2003 - 11:47:0</lastmodification-date>
- <editor-release>1.04</editor-release>
- <author>?</author>
- <container>localhost/FactoryServer</container>
- <comment>MakeSphere from Geometry</comment>
- <x-position>5</x-position>
- <y-position>449</y-position>
- </node>
- </node-list>
-
- <link-list>
- <link>
- <fromnode-name>MakeBox</fromnode-name>
- <fromserviceparameter-name>shape</fromserviceparameter-name>
- <tonode-name>MakeCopy</tonode-name>
- <toserviceparameter-name>shape1</toserviceparameter-name>
- <coord-list>
- <coord>
- <x>198</x>
- <y>184</y>
- </coord>
- <coord>
- <x>199</x>
- <y>209</y>
- </coord>
- </coord-list>
- </link>
- <link>
- <fromnode-name>MakeBox</fromnode-name>
- <fromserviceparameter-name>shape</fromserviceparameter-name>
- <tonode-name>MakeCopy_1</tonode-name>
- <toserviceparameter-name>shape1</toserviceparameter-name>
- <coord-list>
- <coord>
- <x>198</x>
- <y>441</y>
- </coord>
- <coord>
- <x>198</x>
- <y>209</y>
- </coord>
- </coord-list>
- </link>
- <link>
- <fromnode-name>MakeCopy</fromnode-name>
- <fromserviceparameter-name>shape</fromserviceparameter-name>
- <tonode-name>MakeTranslation</tonode-name>
- <toserviceparameter-name>shape1</toserviceparameter-name>
- <coord-list>
- </coord-list>
- </link>
- <link>
- <fromnode-name>MakeCopy_1</fromnode-name>
- <fromserviceparameter-name>shape</fromserviceparameter-name>
- <tonode-name>MakeFuse</tonode-name>
- <toserviceparameter-name>shape2</toserviceparameter-name>
- <coord-list>
- <coord>
- <x>642</x>
- <y>362</y>
- </coord>
- <coord>
- <x>642</x>
- <y>442</y>
- </coord>
- </coord-list>
- </link>
- <link>
- <fromnode-name>MakeTranslation</fromnode-name>
- <fromserviceparameter-name>shape</fromserviceparameter-name>
- <tonode-name>MakeFuse</tonode-name>
- <toserviceparameter-name>shape1</toserviceparameter-name>
- <coord-list>
- <coord>
- <x>643</x>
- <y>330</y>
- </coord>
- <coord>
- <x>644</x>
- <y>195</y>
- </coord>
- </coord-list>
- </link>
- <link>
- <fromnode-name>MakeFuse</fromnode-name>
- <fromserviceparameter-name>shape</fromserviceparameter-name>
- <tonode-name>MakeFuse_1</tonode-name>
- <toserviceparameter-name>shape1</toserviceparameter-name>
- <coord-list>
- <coord>
- <x>872</x>
- <y>445</y>
- </coord>
- <coord>
- <x>874</x>
- <y>333</y>
- </coord>
- </coord-list>
- </link>
- <link>
- <fromnode-name>MakeSphere</fromnode-name>
- <fromserviceparameter-name>shape</fromserviceparameter-name>
- <tonode-name>MakeFuse_1</tonode-name>
- <toserviceparameter-name>shape2</toserviceparameter-name>
- <coord-list>
- <coord>
- <x>872</x>
- <y>474</y>
- </coord>
- <coord>
- <x>871</x>
- <y>552</y>
- </coord>
- </coord-list>
- </link>
- </link-list>
-
- <data-list>
- <data>
- <fromnode-name>GeomGraph</fromnode-name>
- <fromserviceparameter-name>MakeBox\x1</fromserviceparameter-name>
- <tonode-name>MakeBox</tonode-name>
- <toserviceparameter-name>x1</toserviceparameter-name>
- <data-value>
- <value-type>3</value-type>
- <value>0</value>
- </data-value>
- <coord-list>
- </coord-list>
- </data>
- <data>
- <fromnode-name>GeomGraph</fromnode-name>
- <fromserviceparameter-name>MakeBox\y1</fromserviceparameter-name>
- <tonode-name>MakeBox</tonode-name>
- <toserviceparameter-name>y1</toserviceparameter-name>
- <data-value>
- <value-type>3</value-type>
- <value>0</value>
- </data-value>
- <coord-list>
- </coord-list>
- </data>
- <data>
- <fromnode-name>GeomGraph</fromnode-name>
- <fromserviceparameter-name>MakeBox\z1</fromserviceparameter-name>
- <tonode-name>MakeBox</tonode-name>
- <toserviceparameter-name>z1</toserviceparameter-name>
- <data-value>
- <value-type>3</value-type>
- <value>0</value>
- </data-value>
- <coord-list>
- </coord-list>
- </data>
- <data>
- <fromnode-name>GeomGraph</fromnode-name>
- <fromserviceparameter-name>MakeBox\x2</fromserviceparameter-name>
- <tonode-name>MakeBox</tonode-name>
- <toserviceparameter-name>x2</toserviceparameter-name>
- <data-value>
- <value-type>3</value-type>
- <value>50</value>
- </data-value>
- <coord-list>
- </coord-list>
- </data>
- <data>
- <fromnode-name>GeomGraph</fromnode-name>
- <fromserviceparameter-name>MakeBox\y2</fromserviceparameter-name>
- <tonode-name>MakeBox</tonode-name>
- <toserviceparameter-name>y2</toserviceparameter-name>
- <data-value>
- <value-type>3</value-type>
- <value>50</value>
- </data-value>
- <coord-list>
- </coord-list>
- </data>
- <data>
- <fromnode-name>GeomGraph</fromnode-name>
- <fromserviceparameter-name>MakeBox\z2</fromserviceparameter-name>
- <tonode-name>MakeBox</tonode-name>
- <toserviceparameter-name>z2</toserviceparameter-name>
- <data-value>
- <value-type>3</value-type>
- <value>50</value>
- </data-value>
- <coord-list>
- </coord-list>
- </data>
- <data>
- <fromnode-name>GeomGraph</fromnode-name>
- <fromserviceparameter-name>MakeTranslation\x1</fromserviceparameter-name>
- <tonode-name>MakeTranslation</tonode-name>
- <toserviceparameter-name>x1</toserviceparameter-name>
- <data-value>
- <value-type>3</value-type>
- <value>25</value>
- </data-value>
- <coord-list>
- </coord-list>
- </data>
- <data>
- <fromnode-name>GeomGraph</fromnode-name>
- <fromserviceparameter-name>MakeTranslation\y1</fromserviceparameter-name>
- <tonode-name>MakeTranslation</tonode-name>
- <toserviceparameter-name>y1</toserviceparameter-name>
- <data-value>
- <value-type>3</value-type>
- <value>25</value>
- </data-value>
- <coord-list>
- </coord-list>
- </data>
- <data>
- <fromnode-name>GeomGraph</fromnode-name>
- <fromserviceparameter-name>MakeTranslation\z1</fromserviceparameter-name>
- <tonode-name>MakeTranslation</tonode-name>
- <toserviceparameter-name>z1</toserviceparameter-name>
- <data-value>
- <value-type>3</value-type>
- <value>25</value>
- </data-value>
- <coord-list>
- </coord-list>
- </data>
- <data>
- <fromnode-name>GeomGraph</fromnode-name>
- <fromserviceparameter-name>MakeSphere\x1</fromserviceparameter-name>
- <tonode-name>MakeSphere</tonode-name>
- <toserviceparameter-name>x1</toserviceparameter-name>
- <data-value>
- <value-type>3</value-type>
- <value>0</value>
- </data-value>
- <coord-list>
- </coord-list>
- </data>
- <data>
- <fromnode-name>GeomGraph</fromnode-name>
- <fromserviceparameter-name>MakeSphere\y1</fromserviceparameter-name>
- <tonode-name>MakeSphere</tonode-name>
- <toserviceparameter-name>y1</toserviceparameter-name>
- <data-value>
- <value-type>3</value-type>
- <value>0</value>
- </data-value>
- <coord-list>
- </coord-list>
- </data>
- <data>
- <fromnode-name>GeomGraph</fromnode-name>
- <fromserviceparameter-name>MakeSphere\z1</fromserviceparameter-name>
- <tonode-name>MakeSphere</tonode-name>
- <toserviceparameter-name>z1</toserviceparameter-name>
- <data-value>
- <value-type>3</value-type>
- <value>0</value>
- </data-value>
- <coord-list>
- </coord-list>
- </data>
- <data>
- <fromnode-name>GeomGraph</fromnode-name>
- <fromserviceparameter-name>MakeSphere\radius</fromserviceparameter-name>
- <tonode-name>MakeSphere</tonode-name>
- <toserviceparameter-name>radius</toserviceparameter-name>
- <data-value>
- <value-type>3</value-type>
- <value>12</value>
- </data-value>
- <coord-list>
- </coord-list>
- </data>
- </data-list>
-
-</dataflow>
+++ /dev/null
-
-# Generated python file of Graph GraphEssai
-
-from SuperV import *
-# Graph creation
-GraphEssai = Graph( 'GraphEssai' )
-GraphEssai.SetName( 'GraphEssai' )
-GraphEssai.SetAuthor( '' )
-GraphEssai.SetComment( '' )
-GraphEssai.Coords( 0 , 0 )
-
-# Creation of Factory Nodes
-
-Add = GraphEssai.FNode( 'AddComponent' , 'AddComponent' , 'Add' )
-Add.SetName( 'Add' )
-Add.SetAuthor( '' )
-Add.SetContainer( 'FactoryServer' )
-Add.SetComment( 'Add from AddComponent' )
-Add.Coords( 15 , 241 )
-
-Sub = GraphEssai.FNode( 'SubComponent' , 'SubComponent' , 'Sub' )
-Sub.SetName( 'Sub' )
-Sub.SetAuthor( '' )
-Sub.SetContainer( 'FactoryServer' )
-Sub.SetComment( 'Sub from SubComponent' )
-Sub.Coords( 227 , 96 )
-
-Mul = GraphEssai.FNode( 'MulComponent' , 'MulComponent' , 'Mul' )
-Mul.SetName( 'Mul' )
-Mul.SetAuthor( '' )
-Mul.SetContainer( 'FactoryServer' )
-Mul.SetComment( 'Mul from MulComponent' )
-Mul.Coords( 435 , 242 )
-
-Div = GraphEssai.FNode( 'DivComponent' , 'DivComponent' , 'Div' )
-Div.SetName( 'Div' )
-Div.SetAuthor( '' )
-Div.SetContainer( 'FactoryServer' )
-Div.SetComment( 'Div from DivComponent' )
-Div.Coords( 634 , 97 )
-
-# Creation of Links
-Addz = Add.Port( 'z' )
-Muly = GraphEssai.Link( Addz , Mul.Port( 'y' ) )
-
-Suby = GraphEssai.Link( Addz , Sub.Port( 'y' ) )
-Suby.AddCoord( 1 , 197 , 204 )
-Suby.AddCoord( 2 , 198 , 351 )
-
-Subz = Sub.Port( 'z' )
-Divx = GraphEssai.Link( Subz , Div.Port( 'x' ) )
-
-Mulx = GraphEssai.Link( Subz , Mul.Port( 'x' ) )
-Mulx.AddCoord( 1 , 411 , 323 )
-Mulx.AddCoord( 2 , 411 , 177 )
-
-Mulz = Mul.Port( 'z' )
-Divy = GraphEssai.Link( Mulz , Div.Port( 'y' ) )
-Divy.AddCoord( 1 , 612 , 207 )
-Divy.AddCoord( 2 , 612 , 322 )
-
-# Creation of Input datas
-Addx = Add.Input( 'x' , 3)
-Addy = Add.Input( 'y' , 4.5)
-Subx = Sub.Input( 'x' , 1.5)
-
-# Creation of Output variables
-AddFuncValue = Add.Port( 'FuncValue' )
-Divz = Div.Port( 'z' )
-
-Add.Print()
-Sub.Print()
-Mul.Print()
-Div.Print()
-
-GraphEssai.PrintPorts()
-
-nodes = GraphEssai.LevelNodes( 0 )
-i = 0
-while i < len( nodes ) :
- print 'Nodes of level 0',nodes[i].Name()
- i = i + 1
-
-GraphEssai.Run()
-
-GraphEssai.DoneW()
-
-GraphEssai.State()
-
-GraphEssai.PrintPorts()
-
+++ /dev/null
-<!DOCTYPE Dataflow>
-<dataflow>
-<info-list>
-<node>
-<component-name>?</component-name>
- <interface-name>?</interface-name>
- <node-name>GraphContainer</node-name>
- <kind>1</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>GraphContainer</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>double</inParameter-type>
- <inParameter-name>Add\x</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>double</inParameter-type>
- <inParameter-name>Add\y</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>double</inParameter-type>
- <inParameter-name>Sub\y</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>double</inParameter-type>
- <inParameter-name>Mul\y</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>double</outParameter-type>
- <outParameter-name>Div\z</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>double</outParameter-type>
- <outParameter-name>AddAndCompare\FuncValue</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>double</outParameter-type>
- <outParameter-name>AddAndCompare\z</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list/>
- <creation-date>11/3/2003 - 10:59:37</creation-date>
- <lastmodification-date>13/11/2003 - 14:33:24</lastmodification-date>
- <editor-release>1.04</editor-release>
- <author>?</author>
- <container>?</container>
- <comment>?</comment>
- <x-position>0</x-position>
- <y-position>0</y-position> </node> </info-list>
- <node-list>
-<node>
-<component-name>AddComponent</component-name>
- <interface-name>AddComponent</interface-name>
- <node-name>Add</node-name>
- <kind>0</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>Add</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>double</inParameter-type>
- <inParameter-name>x</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>double</inParameter-type>
- <inParameter-name>y</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>double</outParameter-type>
- <outParameter-name>FuncValue</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>double</outParameter-type>
- <outParameter-name>z</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list/>
- <creation-date>13/11/2003 - 14:29:5</creation-date>
- <lastmodification-date>13/11/2003 - 14:29:5</lastmodification-date>
- <editor-release>1.04</editor-release>
- <author>?</author>
- <container>SuperVisionContainer</container>
- <comment>Add from AddComponent</comment>
- <x-position>1</x-position>
- <y-position>152</y-position> </node>
- <node>
-<component-name>SubComponent</component-name>
- <interface-name>SubComponent</interface-name>
- <node-name>Sub</node-name>
- <kind>0</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>Sub</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>double</inParameter-type>
- <inParameter-name>x</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>double</inParameter-type>
- <inParameter-name>y</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>double</outParameter-type>
- <outParameter-name>z</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list/>
- <creation-date>13/11/2003 - 14:29:5</creation-date>
- <lastmodification-date>13/11/2003 - 14:29:5</lastmodification-date>
- <editor-release>1.04</editor-release>
- <author>?</author>
- <container>localhost/FactoryServer</container>
- <comment>Sub from SubComponent</comment>
- <x-position>412</x-position>
- <y-position>377</y-position> </node>
- <node>
-<component-name>MulComponent</component-name>
- <interface-name>MulComponent</interface-name>
- <node-name>Mul</node-name>
- <kind>0</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>Mul</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>double</inParameter-type>
- <inParameter-name>x</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>double</inParameter-type>
- <inParameter-name>y</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>double</outParameter-type>
- <outParameter-name>z</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list/>
- <creation-date>13/11/2003 - 14:29:5</creation-date>
- <lastmodification-date>13/11/2003 - 14:29:5</lastmodification-date>
- <editor-release>1.04</editor-release>
- <author>?</author>
- <container>localhost/FactoryServer</container>
- <comment>Mul from MulComponent</comment>
- <x-position>412</x-position>
- <y-position>152</y-position> </node>
- <node>
-<component-name>DivComponent</component-name>
- <interface-name>DivComponent</interface-name>
- <node-name>Div</node-name>
- <kind>0</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>Div</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>double</inParameter-type>
- <inParameter-name>x</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>double</inParameter-type>
- <inParameter-name>y</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>double</outParameter-type>
- <outParameter-name>z</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list/>
- <creation-date>13/11/2003 - 14:29:5</creation-date>
- <lastmodification-date>13/11/2003 - 14:29:5</lastmodification-date>
- <editor-release>1.04</editor-release>
- <author>?</author>
- <container>localhost/FactoryServer</container>
- <comment>Div from DivComponent</comment>
- <x-position>622</x-position>
- <y-position>124</y-position> </node>
- <node>
-<component-name>AddComponent</component-name>
- <interface-name>AddComponent</interface-name>
- <node-name>Addition</node-name>
- <kind>0</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>Addition</service-name>
- <inParameter-list/>
- <outParameter-list>
-<outParameter>
-<outParameter-type>Adder</outParameter-type>
- <outParameter-name>Adder</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list/>
- <creation-date>13/11/2003 - 14:29:5</creation-date>
- <lastmodification-date>13/11/2003 - 14:29:5</lastmodification-date>
- <editor-release>1.04</editor-release>
- <author>?</author>
- <container>SuperVisionContainer</container>
- <comment>Addition from AddComponent</comment>
- <x-position>0</x-position>
- <y-position>0</y-position> </node>
- <node>
-<component-name>AddComponent</component-name>
- <interface-name>AddComponent</interface-name>
- <node-name>Addition_1</node-name>
- <kind>0</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>Addition</service-name>
- <inParameter-list/>
- <outParameter-list>
-<outParameter>
-<outParameter-type>Adder</outParameter-type>
- <outParameter-name>Adder</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list/>
- <creation-date>13/11/2003 - 14:29:5</creation-date>
- <lastmodification-date>13/11/2003 - 14:29:5</lastmodification-date>
- <editor-release>1.04</editor-release>
- <author>?</author>
- <container>SuperVisionContainer</container>
- <comment>Addition from AddComponent</comment>
- <x-position>4</x-position>
- <y-position>327</y-position> </node>
- <node>
-<component-name>?</component-name>
- <interface-name>?</interface-name>
- <node-name>AddAndCompare</node-name>
- <kind>2</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>AddAndCompare</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>Adder</inParameter-type>
- <inParameter-name>Adder</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>double</inParameter-type>
- <inParameter-name>x</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>double</inParameter-type>
- <inParameter-name>y</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>Adder</inParameter-type>
- <inParameter-name>anOtherAdder</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>double</outParameter-type>
- <outParameter-name>FuncValue</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>double</outParameter-type>
- <outParameter-name>z</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list/>
- <creation-date>13/11/2003 - 14:29:5</creation-date>
- <lastmodification-date>13/11/2003 - 14:29:5</lastmodification-date>
- <editor-release>1.04</editor-release>
- <author>?</author>
- <container>?</container>
- <comment>?</comment>
- <x-position>233</x-position>
- <y-position>0</y-position> </node> </node-list>
- <link-list>
-<link>
-<fromnode-name>Add</fromnode-name>
- <fromserviceparameter-name>FuncValue</fromserviceparameter-name>
- <tonode-name>Mul</tonode-name>
- <toserviceparameter-name>x</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>Add</fromnode-name>
- <fromserviceparameter-name>FuncValue</fromserviceparameter-name>
- <tonode-name>AddAndCompare</tonode-name>
- <toserviceparameter-name>x</toserviceparameter-name>
- <coord-list>
-<coord>
-<x>195</x>
- <y>108</y> </coord>
- <coord>
-<x>195</x>
- <y>233</y> </coord> </coord-list> </link>
- <link>
-<fromnode-name>Add</fromnode-name>
- <fromserviceparameter-name>z</fromserviceparameter-name>
- <tonode-name>Sub</tonode-name>
- <toserviceparameter-name>x</toserviceparameter-name>
- <coord-list>
-<coord>
-<x>187</x>
- <y>459</y> </coord>
- <coord>
-<x>186</x>
- <y>262</y> </coord> </coord-list> </link>
- <link>
-<fromnode-name>Add</fromnode-name>
- <fromserviceparameter-name>z</fromserviceparameter-name>
- <tonode-name>AddAndCompare</tonode-name>
- <toserviceparameter-name>y</toserviceparameter-name>
- <coord-list>
-<coord>
-<x>187</x>
- <y>139</y> </coord>
- <coord>
-<x>186</x>
- <y>261</y> </coord> </coord-list> </link>
- <link>
-<fromnode-name>Sub</fromnode-name>
- <fromserviceparameter-name>z</fromserviceparameter-name>
- <tonode-name>Div</tonode-name>
- <toserviceparameter-name>x</toserviceparameter-name>
- <coord-list>
-<coord>
-<x>598</x>
- <y>203</y> </coord>
- <coord>
-<x>598</x>
- <y>457</y> </coord> </coord-list> </link>
- <link>
-<fromnode-name>Mul</fromnode-name>
- <fromserviceparameter-name>z</fromserviceparameter-name>
- <tonode-name>Div</tonode-name>
- <toserviceparameter-name>y</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>Addition</fromnode-name>
- <fromserviceparameter-name>Adder</fromserviceparameter-name>
- <tonode-name>AddAndCompare</tonode-name>
- <toserviceparameter-name>Adder</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>Addition_1</fromnode-name>
- <fromserviceparameter-name>Adder</fromserviceparameter-name>
- <tonode-name>AddAndCompare</tonode-name>
- <toserviceparameter-name>anOtherAdder</toserviceparameter-name>
- <coord-list>
-<coord>
-<x>215</x>
- <y>168</y> </coord>
- <coord>
-<x>214</x>
- <y>407</y> </coord> </coord-list> </link> </link-list>
- <data-list>
-<data>
-<fromnode-name>GraphContainer</fromnode-name>
- <fromserviceparameter-name>Add\x</fromserviceparameter-name>
- <tonode-name>Add</tonode-name>
- <toserviceparameter-name>x</toserviceparameter-name>
- <data-value>
-<value-type>7</value-type>
- <value>1</value> </data-value>
- <coord-list/> </data>
- <data>
-<fromnode-name>GraphContainer</fromnode-name>
- <fromserviceparameter-name>Add\y</fromserviceparameter-name>
- <tonode-name>Add</tonode-name>
- <toserviceparameter-name>y</toserviceparameter-name>
- <data-value>
-<value-type>7</value-type>
- <value>2</value> </data-value>
- <coord-list/> </data>
- <data>
-<fromnode-name>GraphContainer</fromnode-name>
- <fromserviceparameter-name>Sub\y</fromserviceparameter-name>
- <tonode-name>Sub</tonode-name>
- <toserviceparameter-name>y</toserviceparameter-name>
- <data-value>
-<value-type>7</value-type>
- <value>3</value> </data-value>
- <coord-list/> </data>
- <data>
-<fromnode-name>GraphContainer</fromnode-name>
- <fromserviceparameter-name>Mul\y</fromserviceparameter-name>
- <tonode-name>Mul</tonode-name>
- <toserviceparameter-name>y</toserviceparameter-name>
- <data-value>
-<value-type>7</value-type>
- <value>4</value> </data-value>
- <coord-list/> </data> </data-list></dataflow>
+++ /dev/null
-
-# Generated python file of Graph GraphConvertBoolCheck
-
-from SuperV import *
-# Graph creation
-GraphConvertBoolCheck = Graph( 'GraphConvertBoolCheck' )
-GraphConvertBoolCheck.SetName( 'GraphConvertBoolCheck' )
-GraphConvertBoolCheck.SetAuthor( 'JR' )
-GraphConvertBoolCheck.SetComment( 'Check conversions of Bool' )
-GraphConvertBoolCheck.Coords( 0 , 0 )
-
-# Creation of Factory Nodes
-
-MiscTypes = GraphConvertBoolCheck.FNode( 'TypesCheck' , 'TypesCheck' , 'MiscTypes' )
-MiscTypes.SetName( 'MiscTypes' )
-MiscTypes.SetAuthor( '' )
-MiscTypes.SetContainer( 'localhost/FactoryServer' )
-MiscTypes.SetComment( 'MiscTypes from TypesCheck' )
-MiscTypes.Coords( 284 , 28 )
-
-# Creation of InLine Nodes
-PyBool = []
-PyBool.append( 'def Bool() : ' )
-PyBool.append( ' aBool = 1 ' )
-PyBool.append( ' return aBool ' )
-PyBool.append( ' ' )
-Bool = GraphConvertBoolCheck.INode( 'Bool' , PyBool )
-Bool.OutPort( 'OutBool' , 'boolean' )
-Bool.SetName( 'Bool' )
-Bool.SetAuthor( 'JR' )
-Bool.SetComment( 'InLine Node' )
-Bool.Coords( 14 , 114 )
-
-# Creation of Links
-BoolOutBool = Bool.Port( 'OutBool' )
-MiscTypesInString = GraphConvertBoolCheck.Link( BoolOutBool , MiscTypes.Port( 'InString' ) )
-
-MiscTypesInBool = GraphConvertBoolCheck.Link( BoolOutBool , MiscTypes.Port( 'InBool' ) )
-
-MiscTypesInChar = GraphConvertBoolCheck.Link( BoolOutBool , MiscTypes.Port( 'InChar' ) )
-
-MiscTypesInShort = GraphConvertBoolCheck.Link( BoolOutBool , MiscTypes.Port( 'InShort' ) )
-
-MiscTypesInLong = GraphConvertBoolCheck.Link( BoolOutBool , MiscTypes.Port( 'InLong' ) )
-
-MiscTypesInFloat = GraphConvertBoolCheck.Link( BoolOutBool , MiscTypes.Port( 'InFloat' ) )
-
-MiscTypesInDouble = GraphConvertBoolCheck.Link( BoolOutBool , MiscTypes.Port( 'InDouble' ) )
-
-MiscTypesInObjRef = GraphConvertBoolCheck.Link( BoolOutBool , MiscTypes.Port( 'InObjRef' ) )
-
-# Creation of Output variables
-MiscTypesOutString = MiscTypes.Port( 'OutString' )
-MiscTypesOutBool = MiscTypes.Port( 'OutBool' )
-MiscTypesOutChar = MiscTypes.Port( 'OutChar' )
-MiscTypesOutShort = MiscTypes.Port( 'OutShort' )
-MiscTypesOutLong = MiscTypes.Port( 'OutLong' )
-MiscTypesOutFloat = MiscTypes.Port( 'OutFloat' )
-MiscTypesOutDouble = MiscTypes.Port( 'OutDouble' )
-MiscTypesOutObjRef = MiscTypes.Port( 'OutObjRef' )
-
-GraphConvertBoolCheck.Run()
-GraphConvertBoolCheck.DoneW()
-GraphConvertBoolCheck.PrintPorts()
+++ /dev/null
-<!DOCTYPE Dataflow>
-<dataflow>
-<info-list>
-<node>
-<component-name>?</component-name>
- <interface-name>?</interface-name>
- <node-name>GraphConvertBoolCheck</node-name>
- <kind>1</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>GraphConvertStringCheck</service-name>
- <inParameter-list/>
- <outParameter-list>
-<outParameter>
-<outParameter-type>string</outParameter-type>
- <outParameter-name>MiscTypes\OutString</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>boolean</outParameter-type>
- <outParameter-name>MiscTypes\OutBool</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>char</outParameter-type>
- <outParameter-name>MiscTypes\OutChar</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>short</outParameter-type>
- <outParameter-name>MiscTypes\OutShort</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>MiscTypes\OutLong</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>float</outParameter-type>
- <outParameter-name>MiscTypes\OutFloat</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>double</outParameter-type>
- <outParameter-name>MiscTypes\OutDouble</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>SuperVisionTest::Adder</outParameter-type>
- <outParameter-name>MiscTypes\OutObjRef</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list/>
- <creation-date>30/7/2003 - 14:23:52</creation-date>
- <lastmodification-date>11/9/2003 - 17:12:56</lastmodification-date>
- <editor-release>1.04</editor-release>
- <author>JR</author>
- <container>?</container>
- <comment>Check conversions of Bool</comment>
- <x-position>0</x-position>
- <y-position>0</y-position> </node> </info-list>
- <node-list>
-<node>
-<component-name>?</component-name>
- <interface-name>?</interface-name>
- <node-name>Bool</node-name>
- <kind>3</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>StringString</service-name>
- <inParameter-list/>
- <outParameter-list>
-<outParameter>
-<outParameter-type>boolean</outParameter-type>
- <outParameter-name>OutBool</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list>
-<PyFunction>
-<FuncName>Bool</FuncName>
- <PyFunc><![CDATA[def Bool() : ]]></PyFunc>
- <PyFunc><![CDATA[ aBool = 1 ]]></PyFunc>
- <PyFunc><![CDATA[ return aBool ]]></PyFunc>
- <PyFunc><![CDATA[?]]></PyFunc> </PyFunction> </PyFunction-list>
- <creation-date>11/9/2003 - 17:10:57</creation-date>
- <lastmodification-date>11/9/2003 - 17:10:57</lastmodification-date>
- <editor-release>1.04</editor-release>
- <author>JR</author>
- <container>?</container>
- <comment>InLine Node</comment>
- <x-position>14</x-position>
- <y-position>114</y-position> </node>
- <node>
-<component-name>TypesCheck</component-name>
- <interface-name>TypesCheck</interface-name>
- <node-name>MiscTypes</node-name>
- <kind>0</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>MiscTypes</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>string</inParameter-type>
- <inParameter-name>InString</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>boolean</inParameter-type>
- <inParameter-name>InBool</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>char</inParameter-type>
- <inParameter-name>InChar</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>short</inParameter-type>
- <inParameter-name>InShort</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>InLong</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>float</inParameter-type>
- <inParameter-name>InFloat</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>double</inParameter-type>
- <inParameter-name>InDouble</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>SuperVisionTest::Adder</inParameter-type>
- <inParameter-name>InObjRef</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>string</outParameter-type>
- <outParameter-name>OutString</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>boolean</outParameter-type>
- <outParameter-name>OutBool</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>char</outParameter-type>
- <outParameter-name>OutChar</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>short</outParameter-type>
- <outParameter-name>OutShort</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>OutLong</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>float</outParameter-type>
- <outParameter-name>OutFloat</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>double</outParameter-type>
- <outParameter-name>OutDouble</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>SuperVisionTest::Adder</outParameter-type>
- <outParameter-name>OutObjRef</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list/>
- <creation-date>11/9/2003 - 17:10:57</creation-date>
- <lastmodification-date>11/9/2003 - 17:10:57</lastmodification-date>
- <editor-release>1.05</editor-release>
- <author>?</author>
- <container>localhost/FactoryServer</container>
- <comment>MiscTypes from TypesCheck</comment>
- <x-position>284</x-position>
- <y-position>28</y-position> </node> </node-list>
- <link-list>
-<link>
-<fromnode-name>Bool</fromnode-name>
- <fromserviceparameter-name>OutBool</fromserviceparameter-name>
- <tonode-name>MiscTypes</tonode-name>
- <toserviceparameter-name>InString</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>Bool</fromnode-name>
- <fromserviceparameter-name>OutBool</fromserviceparameter-name>
- <tonode-name>MiscTypes</tonode-name>
- <toserviceparameter-name>InBool</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>Bool</fromnode-name>
- <fromserviceparameter-name>OutBool</fromserviceparameter-name>
- <tonode-name>MiscTypes</tonode-name>
- <toserviceparameter-name>InChar</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>Bool</fromnode-name>
- <fromserviceparameter-name>OutBool</fromserviceparameter-name>
- <tonode-name>MiscTypes</tonode-name>
- <toserviceparameter-name>InShort</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>Bool</fromnode-name>
- <fromserviceparameter-name>OutBool</fromserviceparameter-name>
- <tonode-name>MiscTypes</tonode-name>
- <toserviceparameter-name>InLong</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>Bool</fromnode-name>
- <fromserviceparameter-name>OutBool</fromserviceparameter-name>
- <tonode-name>MiscTypes</tonode-name>
- <toserviceparameter-name>InFloat</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>Bool</fromnode-name>
- <fromserviceparameter-name>OutBool</fromserviceparameter-name>
- <tonode-name>MiscTypes</tonode-name>
- <toserviceparameter-name>InDouble</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>Bool</fromnode-name>
- <fromserviceparameter-name>OutBool</fromserviceparameter-name>
- <tonode-name>MiscTypes</tonode-name>
- <toserviceparameter-name>InObjRef</toserviceparameter-name>
- <coord-list/> </link> </link-list>
- <data-list/></dataflow>
+++ /dev/null
-
-# Generated python file of Graph GraphConvertBoolStringCheck
-
-from SuperV import *
-# Graph creation
-GraphConvertBoolStringCheck = Graph( 'GraphConvertBoolStringCheck' )
-GraphConvertBoolStringCheck.SetName( 'GraphConvertBoolStringCheck' )
-GraphConvertBoolStringCheck.SetAuthor( 'JR' )
-GraphConvertBoolStringCheck.SetComment( 'Check conversions of String' )
-GraphConvertBoolStringCheck.Coords( 0 , 0 )
-
-# Creation of Factory Nodes
-
-MiscTypes = GraphConvertBoolStringCheck.FNode( 'TypesCheck' , 'TypesCheck' , 'MiscTypes' )
-MiscTypes.SetName( 'MiscTypes' )
-MiscTypes.SetAuthor( '' )
-MiscTypes.SetContainer( 'localhost/FactoryServer' )
-MiscTypes.SetComment( 'MiscTypes from TypesCheck' )
-MiscTypes.Coords( 284 , 28 )
-
-# Creation of InLine Nodes
-PyBoolString = []
-PyBoolString.append( 'def StringString() : ' )
-PyBoolString.append( ' string = "1" ' )
-PyBoolString.append( ' return string ' )
-PyBoolString.append( ' ' )
-BoolString = GraphConvertBoolStringCheck.INode( 'StringString' , PyBoolString )
-BoolString.OutPort( 'OutString' , 'string' )
-BoolString.SetName( 'BoolString' )
-BoolString.SetAuthor( 'JR' )
-BoolString.SetComment( 'InLine Node' )
-BoolString.Coords( 14 , 114 )
-
-# Creation of Links
-BoolStringOutString = BoolString.Port( 'OutString' )
-MiscTypesInString = GraphConvertBoolStringCheck.Link( BoolStringOutString , MiscTypes.Port( 'InString' ) )
-
-MiscTypesInBool = GraphConvertBoolStringCheck.Link( BoolStringOutString , MiscTypes.Port( 'InBool' ) )
-
-MiscTypesInChar = GraphConvertBoolStringCheck.Link( BoolStringOutString , MiscTypes.Port( 'InChar' ) )
-
-MiscTypesInShort = GraphConvertBoolStringCheck.Link( BoolStringOutString , MiscTypes.Port( 'InShort' ) )
-
-MiscTypesInLong = GraphConvertBoolStringCheck.Link( BoolStringOutString , MiscTypes.Port( 'InLong' ) )
-
-MiscTypesInFloat = GraphConvertBoolStringCheck.Link( BoolStringOutString , MiscTypes.Port( 'InFloat' ) )
-
-MiscTypesInDouble = GraphConvertBoolStringCheck.Link( BoolStringOutString , MiscTypes.Port( 'InDouble' ) )
-
-MiscTypesInObjRef = GraphConvertBoolStringCheck.Link( BoolStringOutString , MiscTypes.Port( 'InObjRef' ) )
-
-# Creation of Output variables
-MiscTypesOutString = MiscTypes.Port( 'OutString' )
-MiscTypesOutBool = MiscTypes.Port( 'OutBool' )
-MiscTypesOutChar = MiscTypes.Port( 'OutChar' )
-MiscTypesOutShort = MiscTypes.Port( 'OutShort' )
-MiscTypesOutLong = MiscTypes.Port( 'OutLong' )
-MiscTypesOutFloat = MiscTypes.Port( 'OutFloat' )
-MiscTypesOutDouble = MiscTypes.Port( 'OutDouble' )
-MiscTypesOutObjRef = MiscTypes.Port( 'OutObjRef' )
-
-GraphConvertBoolStringCheck.Run()
-GraphConvertBoolStringCheck.DoneW()
-GraphConvertBoolStringCheck.PrintPorts()
+++ /dev/null
-<!DOCTYPE Dataflow>
-<dataflow>
-<info-list>
-<node>
-<component-name>?</component-name>
- <interface-name>?</interface-name>
- <node-name>GraphConvertBoolStringCheck</node-name>
- <kind>1</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>GraphConvertBoolStringCheck</service-name>
- <inParameter-list/>
- <outParameter-list>
-<outParameter>
-<outParameter-type>string</outParameter-type>
- <outParameter-name>MiscTypes\OutString</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>boolean</outParameter-type>
- <outParameter-name>MiscTypes\OutBool</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>char</outParameter-type>
- <outParameter-name>MiscTypes\OutChar</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>short</outParameter-type>
- <outParameter-name>MiscTypes\OutShort</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>MiscTypes\OutLong</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>float</outParameter-type>
- <outParameter-name>MiscTypes\OutFloat</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>double</outParameter-type>
- <outParameter-name>MiscTypes\OutDouble</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>SuperVisionTest::Adder</outParameter-type>
- <outParameter-name>MiscTypes\OutObjRef</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list/>
- <creation-date>30/7/2003 - 14:23:52</creation-date>
- <lastmodification-date>11/9/2003 - 16:51:13</lastmodification-date>
- <editor-release>1.04</editor-release>
- <author>JR</author>
- <container>?</container>
- <comment>Check conversions of String</comment>
- <x-position>0</x-position>
- <y-position>0</y-position> </node> </info-list>
- <node-list>
-<node>
-<component-name>?</component-name>
- <interface-name>?</interface-name>
- <node-name>BoolString</node-name>
- <kind>3</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>StringString</service-name>
- <inParameter-list/>
- <outParameter-list>
-<outParameter>
-<outParameter-type>string</outParameter-type>
- <outParameter-name>OutString</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list>
-<PyFunction>
-<FuncName>StringString</FuncName>
- <PyFunc><![CDATA[def StringString() : ]]></PyFunc>
- <PyFunc><![CDATA[ string = "1" ]]></PyFunc>
- <PyFunc><![CDATA[ return string ]]></PyFunc>
- <PyFunc><![CDATA[?]]></PyFunc> </PyFunction> </PyFunction-list>
- <creation-date>11/9/2003 - 16:49:52</creation-date>
- <lastmodification-date>11/9/2003 - 16:49:52</lastmodification-date>
- <editor-release>1.04</editor-release>
- <author>JR</author>
- <container>?</container>
- <comment>InLine Node</comment>
- <x-position>14</x-position>
- <y-position>114</y-position> </node>
- <node>
-<component-name>TypesCheck</component-name>
- <interface-name>TypesCheck</interface-name>
- <node-name>MiscTypes</node-name>
- <kind>0</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>MiscTypes</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>string</inParameter-type>
- <inParameter-name>InString</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>boolean</inParameter-type>
- <inParameter-name>InBool</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>char</inParameter-type>
- <inParameter-name>InChar</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>short</inParameter-type>
- <inParameter-name>InShort</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>InLong</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>float</inParameter-type>
- <inParameter-name>InFloat</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>double</inParameter-type>
- <inParameter-name>InDouble</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>SuperVisionTest::Adder</inParameter-type>
- <inParameter-name>InObjRef</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>string</outParameter-type>
- <outParameter-name>OutString</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>boolean</outParameter-type>
- <outParameter-name>OutBool</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>char</outParameter-type>
- <outParameter-name>OutChar</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>short</outParameter-type>
- <outParameter-name>OutShort</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>OutLong</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>float</outParameter-type>
- <outParameter-name>OutFloat</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>double</outParameter-type>
- <outParameter-name>OutDouble</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>SuperVisionTest::Adder</outParameter-type>
- <outParameter-name>OutObjRef</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list/>
- <creation-date>11/9/2003 - 16:49:52</creation-date>
- <lastmodification-date>11/9/2003 - 16:49:52</lastmodification-date>
- <editor-release>1.05</editor-release>
- <author>?</author>
- <container>localhost/FactoryServer</container>
- <comment>MiscTypes from TypesCheck</comment>
- <x-position>284</x-position>
- <y-position>28</y-position> </node> </node-list>
- <link-list>
-<link>
-<fromnode-name>BoolString</fromnode-name>
- <fromserviceparameter-name>OutString</fromserviceparameter-name>
- <tonode-name>MiscTypes</tonode-name>
- <toserviceparameter-name>InString</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>BoolString</fromnode-name>
- <fromserviceparameter-name>OutString</fromserviceparameter-name>
- <tonode-name>MiscTypes</tonode-name>
- <toserviceparameter-name>InBool</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>BoolString</fromnode-name>
- <fromserviceparameter-name>OutString</fromserviceparameter-name>
- <tonode-name>MiscTypes</tonode-name>
- <toserviceparameter-name>InChar</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>BoolString</fromnode-name>
- <fromserviceparameter-name>OutString</fromserviceparameter-name>
- <tonode-name>MiscTypes</tonode-name>
- <toserviceparameter-name>InShort</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>BoolString</fromnode-name>
- <fromserviceparameter-name>OutString</fromserviceparameter-name>
- <tonode-name>MiscTypes</tonode-name>
- <toserviceparameter-name>InLong</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>BoolString</fromnode-name>
- <fromserviceparameter-name>OutString</fromserviceparameter-name>
- <tonode-name>MiscTypes</tonode-name>
- <toserviceparameter-name>InFloat</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>BoolString</fromnode-name>
- <fromserviceparameter-name>OutString</fromserviceparameter-name>
- <tonode-name>MiscTypes</tonode-name>
- <toserviceparameter-name>InDouble</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>BoolString</fromnode-name>
- <fromserviceparameter-name>OutString</fromserviceparameter-name>
- <tonode-name>MiscTypes</tonode-name>
- <toserviceparameter-name>InObjRef</toserviceparameter-name>
- <coord-list/> </link> </link-list>
- <data-list/></dataflow>
+++ /dev/null
-
-# Generated python file of Graph GraphConvertCharCheck
-
-from SuperV import *
-# Graph creation
-GraphConvertCharCheck = Graph( 'GraphConvertCharCheck' )
-GraphConvertCharCheck.SetName( 'GraphConvertCharCheck' )
-GraphConvertCharCheck.SetAuthor( 'JR' )
-GraphConvertCharCheck.SetComment( 'Check conversions of Char' )
-GraphConvertCharCheck.Coords( 0 , 0 )
-
-# Creation of Factory Nodes
-
-MiscTypes = GraphConvertCharCheck.FNode( 'TypesCheck' , 'TypesCheck' , 'MiscTypes' )
-MiscTypes.SetName( 'MiscTypes' )
-MiscTypes.SetAuthor( '' )
-MiscTypes.SetContainer( 'localhost/FactoryServer' )
-MiscTypes.SetComment( 'MiscTypes from TypesCheck' )
-MiscTypes.Coords( 284 , 28 )
-
-# Creation of InLine Nodes
-PyChar = []
-PyChar.append( 'def Char() : ' )
-PyChar.append( ' aChar = 255 ' )
-PyChar.append( ' return aChar ' )
-PyChar.append( ' ' )
-Char = GraphConvertCharCheck.INode( 'Char' , PyChar )
-Char.OutPort( 'OutChar' , 'char' )
-Char.SetName( 'Char' )
-Char.SetAuthor( 'JR' )
-Char.SetComment( 'InLine Node' )
-Char.Coords( 14 , 114 )
-
-# Creation of Links
-CharOutChar = Char.Port( 'OutChar' )
-MiscTypesInString = GraphConvertCharCheck.Link( CharOutChar , MiscTypes.Port( 'InString' ) )
-
-MiscTypesInBool = GraphConvertCharCheck.Link( CharOutChar , MiscTypes.Port( 'InBool' ) )
-
-MiscTypesInChar = GraphConvertCharCheck.Link( CharOutChar , MiscTypes.Port( 'InChar' ) )
-
-MiscTypesInShort = GraphConvertCharCheck.Link( CharOutChar , MiscTypes.Port( 'InShort' ) )
-
-MiscTypesInLong = GraphConvertCharCheck.Link( CharOutChar , MiscTypes.Port( 'InLong' ) )
-
-MiscTypesInFloat = GraphConvertCharCheck.Link( CharOutChar , MiscTypes.Port( 'InFloat' ) )
-
-MiscTypesInDouble = GraphConvertCharCheck.Link( CharOutChar , MiscTypes.Port( 'InDouble' ) )
-
-MiscTypesInObjRef = GraphConvertCharCheck.Link( CharOutChar , MiscTypes.Port( 'InObjRef' ) )
-
-# Creation of Output variables
-MiscTypesOutString = MiscTypes.Port( 'OutString' )
-MiscTypesOutBool = MiscTypes.Port( 'OutBool' )
-MiscTypesOutChar = MiscTypes.Port( 'OutChar' )
-MiscTypesOutShort = MiscTypes.Port( 'OutShort' )
-MiscTypesOutLong = MiscTypes.Port( 'OutLong' )
-MiscTypesOutFloat = MiscTypes.Port( 'OutFloat' )
-MiscTypesOutDouble = MiscTypes.Port( 'OutDouble' )
-MiscTypesOutObjRef = MiscTypes.Port( 'OutObjRef' )
-
-GraphConvertCharCheck.Run()
-GraphConvertCharCheck.DoneW()
-GraphConvertCharCheck.PrintPorts()
+++ /dev/null
-<!DOCTYPE Dataflow>
-<dataflow>
-<info-list>
-<node>
-<component-name>?</component-name>
- <interface-name>?</interface-name>
- <node-name>GraphConvertCharCheck</node-name>
- <kind>1</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>GraphConvertCharCheck</service-name>
- <inParameter-list/>
- <outParameter-list>
-<outParameter>
-<outParameter-type>string</outParameter-type>
- <outParameter-name>MiscTypes\OutString</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>boolean</outParameter-type>
- <outParameter-name>MiscTypes\OutBool</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>char</outParameter-type>
- <outParameter-name>MiscTypes\OutChar</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>short</outParameter-type>
- <outParameter-name>MiscTypes\OutShort</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>MiscTypes\OutLong</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>float</outParameter-type>
- <outParameter-name>MiscTypes\OutFloat</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>double</outParameter-type>
- <outParameter-name>MiscTypes\OutDouble</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>SuperVisionTest::Adder</outParameter-type>
- <outParameter-name>MiscTypes\OutObjRef</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list/>
- <creation-date>30/7/2003 - 14:23:52</creation-date>
- <lastmodification-date>11/9/2003 - 17:20:24</lastmodification-date>
- <editor-release>1.04</editor-release>
- <author>JR</author>
- <container>?</container>
- <comment>Check conversions of Char</comment>
- <x-position>0</x-position>
- <y-position>0</y-position> </node> </info-list>
- <node-list>
-<node>
-<component-name>?</component-name>
- <interface-name>?</interface-name>
- <node-name>Char</node-name>
- <kind>3</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>Char</service-name>
- <inParameter-list/>
- <outParameter-list>
-<outParameter>
-<outParameter-type>char</outParameter-type>
- <outParameter-name>OutChar</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list>
-<PyFunction>
-<FuncName>Char</FuncName>
- <PyFunc><![CDATA[def Char() : ]]></PyFunc>
- <PyFunc><![CDATA[ aChar = 255 ]]></PyFunc>
- <PyFunc><![CDATA[ return aChar ]]></PyFunc>
- <PyFunc><![CDATA[?]]></PyFunc> </PyFunction> </PyFunction-list>
- <creation-date>11/9/2003 - 17:20:24</creation-date>
- <lastmodification-date>11/9/2003 - 17:20:24</lastmodification-date>
- <editor-release>1.04</editor-release>
- <author>JR</author>
- <container>?</container>
- <comment>InLine Node</comment>
- <x-position>14</x-position>
- <y-position>114</y-position> </node>
- <node>
-<component-name>TypesCheck</component-name>
- <interface-name>TypesCheck</interface-name>
- <node-name>MiscTypes</node-name>
- <kind>0</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>MiscTypes</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>string</inParameter-type>
- <inParameter-name>InString</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>boolean</inParameter-type>
- <inParameter-name>InBool</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>char</inParameter-type>
- <inParameter-name>InChar</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>short</inParameter-type>
- <inParameter-name>InShort</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>InLong</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>float</inParameter-type>
- <inParameter-name>InFloat</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>double</inParameter-type>
- <inParameter-name>InDouble</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>SuperVisionTest::Adder</inParameter-type>
- <inParameter-name>InObjRef</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>string</outParameter-type>
- <outParameter-name>OutString</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>boolean</outParameter-type>
- <outParameter-name>OutBool</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>char</outParameter-type>
- <outParameter-name>OutChar</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>short</outParameter-type>
- <outParameter-name>OutShort</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>OutLong</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>float</outParameter-type>
- <outParameter-name>OutFloat</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>double</outParameter-type>
- <outParameter-name>OutDouble</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>SuperVisionTest::Adder</outParameter-type>
- <outParameter-name>OutObjRef</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list/>
- <creation-date>11/9/2003 - 17:20:24</creation-date>
- <lastmodification-date>11/9/2003 - 17:20:24</lastmodification-date>
- <editor-release>1.05</editor-release>
- <author>?</author>
- <container>localhost/FactoryServer</container>
- <comment>MiscTypes from TypesCheck</comment>
- <x-position>284</x-position>
- <y-position>28</y-position> </node> </node-list>
- <link-list>
-<link>
-<fromnode-name>Char</fromnode-name>
- <fromserviceparameter-name>OutChar</fromserviceparameter-name>
- <tonode-name>MiscTypes</tonode-name>
- <toserviceparameter-name>InString</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>Char</fromnode-name>
- <fromserviceparameter-name>OutChar</fromserviceparameter-name>
- <tonode-name>MiscTypes</tonode-name>
- <toserviceparameter-name>InBool</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>Char</fromnode-name>
- <fromserviceparameter-name>OutChar</fromserviceparameter-name>
- <tonode-name>MiscTypes</tonode-name>
- <toserviceparameter-name>InChar</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>Char</fromnode-name>
- <fromserviceparameter-name>OutChar</fromserviceparameter-name>
- <tonode-name>MiscTypes</tonode-name>
- <toserviceparameter-name>InShort</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>Char</fromnode-name>
- <fromserviceparameter-name>OutChar</fromserviceparameter-name>
- <tonode-name>MiscTypes</tonode-name>
- <toserviceparameter-name>InLong</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>Char</fromnode-name>
- <fromserviceparameter-name>OutChar</fromserviceparameter-name>
- <tonode-name>MiscTypes</tonode-name>
- <toserviceparameter-name>InFloat</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>Char</fromnode-name>
- <fromserviceparameter-name>OutChar</fromserviceparameter-name>
- <tonode-name>MiscTypes</tonode-name>
- <toserviceparameter-name>InDouble</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>Char</fromnode-name>
- <fromserviceparameter-name>OutChar</fromserviceparameter-name>
- <tonode-name>MiscTypes</tonode-name>
- <toserviceparameter-name>InObjRef</toserviceparameter-name>
- <coord-list/> </link> </link-list>
- <data-list/></dataflow>
+++ /dev/null
-
-# Generated python file of Graph GraphConvertCharStringCheck
-
-from SuperV import *
-# Graph creation
-GraphConvertCharStringCheck = Graph( 'GraphConvertCharStringCheck' )
-GraphConvertCharStringCheck.SetName( 'GraphConvertCharStringCheck' )
-GraphConvertCharStringCheck.SetAuthor( 'JR' )
-GraphConvertCharStringCheck.SetComment( 'Check conversions of String' )
-GraphConvertCharStringCheck.Coords( 0 , 0 )
-
-# Creation of Factory Nodes
-
-MiscTypes = GraphConvertCharStringCheck.FNode( 'TypesCheck' , 'TypesCheck' , 'MiscTypes' )
-MiscTypes.SetName( 'MiscTypes' )
-MiscTypes.SetAuthor( '' )
-MiscTypes.SetContainer( 'localhost/FactoryServer' )
-MiscTypes.SetComment( 'MiscTypes from TypesCheck' )
-MiscTypes.Coords( 284 , 28 )
-
-# Creation of InLine Nodes
-PyCharString = []
-PyCharString.append( 'def StringString() : ' )
-PyCharString.append( ' string = "255" ' )
-PyCharString.append( ' return string ' )
-PyCharString.append( ' ' )
-CharString = GraphConvertCharStringCheck.INode( 'StringString' , PyCharString )
-CharString.OutPort( 'OutString' , 'string' )
-CharString.SetName( 'CharString' )
-CharString.SetAuthor( 'JR' )
-CharString.SetComment( 'InLine Node' )
-CharString.Coords( 14 , 114 )
-
-# Creation of Links
-CharStringOutString = CharString.Port( 'OutString' )
-MiscTypesInString = GraphConvertCharStringCheck.Link( CharStringOutString , MiscTypes.Port( 'InString' ) )
-
-MiscTypesInBool = GraphConvertCharStringCheck.Link( CharStringOutString , MiscTypes.Port( 'InBool' ) )
-
-MiscTypesInChar = GraphConvertCharStringCheck.Link( CharStringOutString , MiscTypes.Port( 'InChar' ) )
-
-MiscTypesInShort = GraphConvertCharStringCheck.Link( CharStringOutString , MiscTypes.Port( 'InShort' ) )
-
-MiscTypesInLong = GraphConvertCharStringCheck.Link( CharStringOutString , MiscTypes.Port( 'InLong' ) )
-
-MiscTypesInFloat = GraphConvertCharStringCheck.Link( CharStringOutString , MiscTypes.Port( 'InFloat' ) )
-
-MiscTypesInDouble = GraphConvertCharStringCheck.Link( CharStringOutString , MiscTypes.Port( 'InDouble' ) )
-
-MiscTypesInObjRef = GraphConvertCharStringCheck.Link( CharStringOutString , MiscTypes.Port( 'InObjRef' ) )
-
-# Creation of Output variables
-MiscTypesOutString = MiscTypes.Port( 'OutString' )
-MiscTypesOutBool = MiscTypes.Port( 'OutBool' )
-MiscTypesOutChar = MiscTypes.Port( 'OutChar' )
-MiscTypesOutShort = MiscTypes.Port( 'OutShort' )
-MiscTypesOutLong = MiscTypes.Port( 'OutLong' )
-MiscTypesOutFloat = MiscTypes.Port( 'OutFloat' )
-MiscTypesOutDouble = MiscTypes.Port( 'OutDouble' )
-MiscTypesOutObjRef = MiscTypes.Port( 'OutObjRef' )
-
-GraphConvertCharStringCheck.Run()
-GraphConvertCharStringCheck.DoneW()
-GraphConvertCharStringCheck.PrintPorts()
+++ /dev/null
-<!DOCTYPE Dataflow>
-<dataflow>
-<info-list>
-<node>
-<component-name>?</component-name>
- <interface-name>?</interface-name>
- <node-name>GraphConvertCharStringCheck</node-name>
- <kind>1</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>GraphConvertStringCheck</service-name>
- <inParameter-list/>
- <outParameter-list>
-<outParameter>
-<outParameter-type>string</outParameter-type>
- <outParameter-name>MiscTypes\OutString</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>boolean</outParameter-type>
- <outParameter-name>MiscTypes\OutBool</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>char</outParameter-type>
- <outParameter-name>MiscTypes\OutChar</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>short</outParameter-type>
- <outParameter-name>MiscTypes\OutShort</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>MiscTypes\OutLong</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>float</outParameter-type>
- <outParameter-name>MiscTypes\OutFloat</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>double</outParameter-type>
- <outParameter-name>MiscTypes\OutDouble</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>SuperVisionTest::Adder</outParameter-type>
- <outParameter-name>MiscTypes\OutObjRef</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list/>
- <creation-date>30/7/2003 - 14:23:52</creation-date>
- <lastmodification-date>11/9/2003 - 16:52:50</lastmodification-date>
- <editor-release>1.04</editor-release>
- <author>JR</author>
- <container>?</container>
- <comment>Check conversions of String</comment>
- <x-position>0</x-position>
- <y-position>0</y-position> </node> </info-list>
- <node-list>
-<node>
-<component-name>?</component-name>
- <interface-name>?</interface-name>
- <node-name>CharString</node-name>
- <kind>3</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>StringString</service-name>
- <inParameter-list/>
- <outParameter-list>
-<outParameter>
-<outParameter-type>string</outParameter-type>
- <outParameter-name>OutString</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list>
-<PyFunction>
-<FuncName>StringString</FuncName>
- <PyFunc><![CDATA[def StringString() : ]]></PyFunc>
- <PyFunc><![CDATA[ string = "255" ]]></PyFunc>
- <PyFunc><![CDATA[ return string ]]></PyFunc>
- <PyFunc><![CDATA[?]]></PyFunc> </PyFunction> </PyFunction-list>
- <creation-date>11/9/2003 - 16:52:29</creation-date>
- <lastmodification-date>11/9/2003 - 16:52:29</lastmodification-date>
- <editor-release>1.04</editor-release>
- <author>JR</author>
- <container>?</container>
- <comment>InLine Node</comment>
- <x-position>14</x-position>
- <y-position>114</y-position> </node>
- <node>
-<component-name>TypesCheck</component-name>
- <interface-name>TypesCheck</interface-name>
- <node-name>MiscTypes</node-name>
- <kind>0</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>MiscTypes</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>string</inParameter-type>
- <inParameter-name>InString</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>boolean</inParameter-type>
- <inParameter-name>InBool</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>char</inParameter-type>
- <inParameter-name>InChar</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>short</inParameter-type>
- <inParameter-name>InShort</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>InLong</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>float</inParameter-type>
- <inParameter-name>InFloat</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>double</inParameter-type>
- <inParameter-name>InDouble</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>SuperVisionTest::Adder</inParameter-type>
- <inParameter-name>InObjRef</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>string</outParameter-type>
- <outParameter-name>OutString</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>boolean</outParameter-type>
- <outParameter-name>OutBool</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>char</outParameter-type>
- <outParameter-name>OutChar</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>short</outParameter-type>
- <outParameter-name>OutShort</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>OutLong</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>float</outParameter-type>
- <outParameter-name>OutFloat</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>double</outParameter-type>
- <outParameter-name>OutDouble</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>SuperVisionTest::Adder</outParameter-type>
- <outParameter-name>OutObjRef</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list/>
- <creation-date>11/9/2003 - 16:52:29</creation-date>
- <lastmodification-date>11/9/2003 - 16:52:29</lastmodification-date>
- <editor-release>1.05</editor-release>
- <author>?</author>
- <container>localhost/FactoryServer</container>
- <comment>MiscTypes from TypesCheck</comment>
- <x-position>284</x-position>
- <y-position>28</y-position> </node> </node-list>
- <link-list>
-<link>
-<fromnode-name>CharString</fromnode-name>
- <fromserviceparameter-name>OutString</fromserviceparameter-name>
- <tonode-name>MiscTypes</tonode-name>
- <toserviceparameter-name>InString</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>CharString</fromnode-name>
- <fromserviceparameter-name>OutString</fromserviceparameter-name>
- <tonode-name>MiscTypes</tonode-name>
- <toserviceparameter-name>InBool</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>CharString</fromnode-name>
- <fromserviceparameter-name>OutString</fromserviceparameter-name>
- <tonode-name>MiscTypes</tonode-name>
- <toserviceparameter-name>InChar</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>CharString</fromnode-name>
- <fromserviceparameter-name>OutString</fromserviceparameter-name>
- <tonode-name>MiscTypes</tonode-name>
- <toserviceparameter-name>InShort</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>CharString</fromnode-name>
- <fromserviceparameter-name>OutString</fromserviceparameter-name>
- <tonode-name>MiscTypes</tonode-name>
- <toserviceparameter-name>InLong</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>CharString</fromnode-name>
- <fromserviceparameter-name>OutString</fromserviceparameter-name>
- <tonode-name>MiscTypes</tonode-name>
- <toserviceparameter-name>InFloat</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>CharString</fromnode-name>
- <fromserviceparameter-name>OutString</fromserviceparameter-name>
- <tonode-name>MiscTypes</tonode-name>
- <toserviceparameter-name>InDouble</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>CharString</fromnode-name>
- <fromserviceparameter-name>OutString</fromserviceparameter-name>
- <tonode-name>MiscTypes</tonode-name>
- <toserviceparameter-name>InObjRef</toserviceparameter-name>
- <coord-list/> </link> </link-list>
- <data-list/></dataflow>
+++ /dev/null
-
-# Generated python file of Graph GraphConvertDoubleCheck
-
-from SuperV import *
-# Graph creation
-GraphConvertDoubleCheck = Graph( 'GraphConvertDoubleCheck' )
-GraphConvertDoubleCheck.SetName( 'GraphConvertDoubleCheck' )
-GraphConvertDoubleCheck.SetAuthor( 'JR' )
-GraphConvertDoubleCheck.SetComment( 'Check conversions of Double' )
-GraphConvertDoubleCheck.Coords( 0 , 0 )
-
-# Creation of Factory Nodes
-
-MiscTypes = GraphConvertDoubleCheck.FNode( 'TypesCheck' , 'TypesCheck' , 'MiscTypes' )
-MiscTypes.SetName( 'MiscTypes' )
-MiscTypes.SetAuthor( '' )
-MiscTypes.SetContainer( 'localhost/FactoryServer' )
-MiscTypes.SetComment( 'MiscTypes from TypesCheck' )
-MiscTypes.Coords( 217 , 0 )
-
-MiscTypes_1 = GraphConvertDoubleCheck.FNode( 'TypesCheck' , 'TypesCheck' , 'MiscTypes' )
-MiscTypes_1.SetName( 'MiscTypes_1' )
-MiscTypes_1.SetAuthor( '' )
-MiscTypes_1.SetContainer( 'localhost/FactoryServer' )
-MiscTypes_1.SetComment( 'MiscTypes from TypesCheck' )
-MiscTypes_1.Coords( 433 , 131 )
-
-# Creation of InLine Nodes
-PyDouble = []
-PyDouble.append( 'def Double() : ' )
-PyDouble.append( ' aDouble = 3.1415926535 ' )
-PyDouble.append( ' print type(aDouble),"aDouble",aDouble,"NO double in python !!! Use Strings ?" ' )
-PyDouble.append( ' return aDouble ' )
-PyDouble.append( '' )
-Double = GraphConvertDoubleCheck.INode( 'Double' , PyDouble )
-Double.OutPort( 'OutDouble' , 'double' )
-Double.SetName( 'Double' )
-Double.SetAuthor( 'JR' )
-Double.SetComment( 'InLine Node' )
-Double.Coords( 9 , 87 )
-
-PyDoubleString = []
-PyDoubleString.append( 'def DoubleString() : ' )
-PyDoubleString.append( ' aDouble = 3.1415926535 ' )
-PyDoubleString.append( ' print type(aDouble),"aDouble",aDouble,"NO double in python !!! Use Strings ?" ' )
-PyDoubleString.append( ' aDoubleString = str( aDouble ) ' )
-PyDoubleString.append( ' print type(aDoubleString),"aDoubleString",aDoubleString ' )
-PyDoubleString.append( ' return aDoubleString ' )
-PyDoubleString.append( ' ' )
-DoubleString = GraphConvertDoubleCheck.INode( 'DoubleString' , PyDoubleString )
-DoubleString.OutPort( 'OutDoubleString' , 'string' )
-DoubleString.SetName( 'DoubleString' )
-DoubleString.SetAuthor( 'JR' )
-DoubleString.SetComment( 'InLine Node' )
-DoubleString.Coords( 217 , 334 )
-
-# Creation of Links
-DoubleOutDouble = Double.Port( 'OutDouble' )
-MiscTypesInString = GraphConvertDoubleCheck.Link( DoubleOutDouble , MiscTypes.Port( 'InString' ) )
-
-MiscTypesInBool = GraphConvertDoubleCheck.Link( DoubleOutDouble , MiscTypes.Port( 'InBool' ) )
-
-MiscTypesInChar = GraphConvertDoubleCheck.Link( DoubleOutDouble , MiscTypes.Port( 'InChar' ) )
-
-MiscTypesInShort = GraphConvertDoubleCheck.Link( DoubleOutDouble , MiscTypes.Port( 'InShort' ) )
-
-MiscTypesInLong = GraphConvertDoubleCheck.Link( DoubleOutDouble , MiscTypes.Port( 'InLong' ) )
-
-MiscTypesInFloat = GraphConvertDoubleCheck.Link( DoubleOutDouble , MiscTypes.Port( 'InFloat' ) )
-
-MiscTypesInDouble = GraphConvertDoubleCheck.Link( DoubleOutDouble , MiscTypes.Port( 'InDouble' ) )
-
-MiscTypesInObjRef = GraphConvertDoubleCheck.Link( DoubleOutDouble , MiscTypes.Port( 'InObjRef' ) )
-
-DoubleStringOutDoubleString = DoubleString.Port( 'OutDoubleString' )
-MiscTypes_1InString = GraphConvertDoubleCheck.Link( DoubleStringOutDoubleString , MiscTypes_1.Port( 'InString' ) )
-
-MiscTypes_1InBool = GraphConvertDoubleCheck.Link( DoubleStringOutDoubleString , MiscTypes_1.Port( 'InBool' ) )
-
-MiscTypes_1InChar = GraphConvertDoubleCheck.Link( DoubleStringOutDoubleString , MiscTypes_1.Port( 'InChar' ) )
-
-MiscTypes_1InShort = GraphConvertDoubleCheck.Link( DoubleStringOutDoubleString , MiscTypes_1.Port( 'InShort' ) )
-
-MiscTypes_1InLong = GraphConvertDoubleCheck.Link( DoubleStringOutDoubleString , MiscTypes_1.Port( 'InLong' ) )
-
-MiscTypes_1InFloat = GraphConvertDoubleCheck.Link( DoubleStringOutDoubleString , MiscTypes_1.Port( 'InFloat' ) )
-
-MiscTypes_1InDouble = GraphConvertDoubleCheck.Link( DoubleStringOutDoubleString , MiscTypes_1.Port( 'InDouble' ) )
-
-MiscTypes_1InObjRef = GraphConvertDoubleCheck.Link( DoubleStringOutDoubleString , MiscTypes_1.Port( 'InObjRef' ) )
-
-# Creation of Output variables
-MiscTypesOutString = MiscTypes.Port( 'OutString' )
-MiscTypesOutBool = MiscTypes.Port( 'OutBool' )
-MiscTypesOutChar = MiscTypes.Port( 'OutChar' )
-MiscTypesOutShort = MiscTypes.Port( 'OutShort' )
-MiscTypesOutLong = MiscTypes.Port( 'OutLong' )
-MiscTypesOutFloat = MiscTypes.Port( 'OutFloat' )
-MiscTypesOutDouble = MiscTypes.Port( 'OutDouble' )
-MiscTypesOutObjRef = MiscTypes.Port( 'OutObjRef' )
-MiscTypes_1OutString = MiscTypes_1.Port( 'OutString' )
-MiscTypes_1OutBool = MiscTypes_1.Port( 'OutBool' )
-MiscTypes_1OutChar = MiscTypes_1.Port( 'OutChar' )
-MiscTypes_1OutShort = MiscTypes_1.Port( 'OutShort' )
-MiscTypes_1OutLong = MiscTypes_1.Port( 'OutLong' )
-MiscTypes_1OutFloat = MiscTypes_1.Port( 'OutFloat' )
-MiscTypes_1OutDouble = MiscTypes_1.Port( 'OutDouble' )
-MiscTypes_1OutObjRef = MiscTypes_1.Port( 'OutObjRef' )
-
-GraphConvertDoubleCheck.Run()
-GraphConvertDoubleCheck.DoneW()
-GraphConvertDoubleCheck.PrintPorts()
+++ /dev/null
-<!DOCTYPE Dataflow>
-<dataflow>
-<info-list>
-<node>
-<component-name>?</component-name>
- <interface-name>?</interface-name>
- <node-name>GraphConvertDoubleCheck</node-name>
- <kind>1</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>GraphConvertDoubleCheck</service-name>
- <inParameter-list/>
- <outParameter-list>
-<outParameter>
-<outParameter-type>string</outParameter-type>
- <outParameter-name>MiscTypes\OutString</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>boolean</outParameter-type>
- <outParameter-name>MiscTypes\OutBool</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>char</outParameter-type>
- <outParameter-name>MiscTypes\OutChar</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>short</outParameter-type>
- <outParameter-name>MiscTypes\OutShort</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>MiscTypes\OutLong</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>float</outParameter-type>
- <outParameter-name>MiscTypes\OutFloat</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>double</outParameter-type>
- <outParameter-name>MiscTypes\OutDouble</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>SuperVisionTest::Adder</outParameter-type>
- <outParameter-name>MiscTypes\OutObjRef</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>string</outParameter-type>
- <outParameter-name>MiscTypes_1\OutString</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>boolean</outParameter-type>
- <outParameter-name>MiscTypes_1\OutBool</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>char</outParameter-type>
- <outParameter-name>MiscTypes_1\OutChar</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>short</outParameter-type>
- <outParameter-name>MiscTypes_1\OutShort</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>MiscTypes_1\OutLong</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>float</outParameter-type>
- <outParameter-name>MiscTypes_1\OutFloat</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>double</outParameter-type>
- <outParameter-name>MiscTypes_1\OutDouble</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>SuperVisionTest::Adder</outParameter-type>
- <outParameter-name>MiscTypes_1\OutObjRef</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list/>
- <creation-date>30/7/2003 - 14:23:52</creation-date>
- <lastmodification-date>12/9/2003 - 17:49:39</lastmodification-date>
- <editor-release>1.04</editor-release>
- <author>JR</author>
- <container>?</container>
- <comment>Check conversions of Double</comment>
- <x-position>0</x-position>
- <y-position>0</y-position> </node> </info-list>
- <node-list>
-<node>
-<component-name>?</component-name>
- <interface-name>?</interface-name>
- <node-name>Double</node-name>
- <kind>3</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>Double</service-name>
- <inParameter-list/>
- <outParameter-list>
-<outParameter>
-<outParameter-type>double</outParameter-type>
- <outParameter-name>OutDouble</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list>
-<PyFunction>
-<FuncName>Double</FuncName>
- <PyFunc><![CDATA[def Double() : ]]></PyFunc>
- <PyFunc><![CDATA[ aDouble = 3.1415926535 ]]></PyFunc>
- <PyFunc><![CDATA[ print type(aDouble),"aDouble",aDouble,"NO double in python !!! Use Strings ?" ]]></PyFunc>
- <PyFunc><![CDATA[ return aDouble ]]></PyFunc>
- <PyFunc><![CDATA[?]]></PyFunc> </PyFunction> </PyFunction-list>
- <creation-date>12/9/2003 - 17:49:39</creation-date>
- <lastmodification-date>12/9/2003 - 17:49:39</lastmodification-date>
- <editor-release>1.04</editor-release>
- <author>JR</author>
- <container>?</container>
- <comment>InLine Node</comment>
- <x-position>9</x-position>
- <y-position>87</y-position> </node>
- <node>
-<component-name>TypesCheck</component-name>
- <interface-name>TypesCheck</interface-name>
- <node-name>MiscTypes</node-name>
- <kind>0</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>MiscTypes</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>string</inParameter-type>
- <inParameter-name>InString</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>boolean</inParameter-type>
- <inParameter-name>InBool</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>char</inParameter-type>
- <inParameter-name>InChar</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>short</inParameter-type>
- <inParameter-name>InShort</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>InLong</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>float</inParameter-type>
- <inParameter-name>InFloat</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>double</inParameter-type>
- <inParameter-name>InDouble</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>SuperVisionTest::Adder</inParameter-type>
- <inParameter-name>InObjRef</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>string</outParameter-type>
- <outParameter-name>OutString</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>boolean</outParameter-type>
- <outParameter-name>OutBool</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>char</outParameter-type>
- <outParameter-name>OutChar</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>short</outParameter-type>
- <outParameter-name>OutShort</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>OutLong</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>float</outParameter-type>
- <outParameter-name>OutFloat</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>double</outParameter-type>
- <outParameter-name>OutDouble</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>SuperVisionTest::Adder</outParameter-type>
- <outParameter-name>OutObjRef</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list/>
- <creation-date>12/9/2003 - 17:49:39</creation-date>
- <lastmodification-date>12/9/2003 - 17:49:39</lastmodification-date>
- <editor-release>1.05</editor-release>
- <author>?</author>
- <container>localhost/FactoryServer</container>
- <comment>MiscTypes from TypesCheck</comment>
- <x-position>217</x-position>
- <y-position>0</y-position> </node>
- <node>
-<component-name>?</component-name>
- <interface-name>?</interface-name>
- <node-name>DoubleString</node-name>
- <kind>3</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>DoubleString</service-name>
- <inParameter-list/>
- <outParameter-list>
-<outParameter>
-<outParameter-type>string</outParameter-type>
- <outParameter-name>OutDoubleString</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list>
-<PyFunction>
-<FuncName>DoubleString</FuncName>
- <PyFunc><![CDATA[def DoubleString() : ]]></PyFunc>
- <PyFunc><![CDATA[ aDouble = 3.1415926535 ]]></PyFunc>
- <PyFunc><![CDATA[ print type(aDouble),"aDouble",aDouble,"NO double in python !!! Use Strings ?" ]]></PyFunc>
- <PyFunc><![CDATA[ aDoubleString = str( aDouble ) ]]></PyFunc>
- <PyFunc><![CDATA[ print type(aDoubleString),"aDoubleString",aDoubleString ]]></PyFunc>
- <PyFunc><![CDATA[ return aDoubleString ]]></PyFunc>
- <PyFunc><![CDATA[?]]></PyFunc> </PyFunction> </PyFunction-list>
- <creation-date>12/9/2003 - 17:49:39</creation-date>
- <lastmodification-date>12/9/2003 - 17:49:39</lastmodification-date>
- <editor-release>1.04</editor-release>
- <author>JR</author>
- <container>?</container>
- <comment>InLine Node</comment>
- <x-position>217</x-position>
- <y-position>334</y-position> </node>
- <node>
-<component-name>TypesCheck</component-name>
- <interface-name>TypesCheck</interface-name>
- <node-name>MiscTypes_1</node-name>
- <kind>0</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>MiscTypes</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>string</inParameter-type>
- <inParameter-name>InString</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>boolean</inParameter-type>
- <inParameter-name>InBool</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>char</inParameter-type>
- <inParameter-name>InChar</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>short</inParameter-type>
- <inParameter-name>InShort</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>InLong</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>float</inParameter-type>
- <inParameter-name>InFloat</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>double</inParameter-type>
- <inParameter-name>InDouble</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>SuperVisionTest::Adder</inParameter-type>
- <inParameter-name>InObjRef</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>string</outParameter-type>
- <outParameter-name>OutString</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>boolean</outParameter-type>
- <outParameter-name>OutBool</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>char</outParameter-type>
- <outParameter-name>OutChar</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>short</outParameter-type>
- <outParameter-name>OutShort</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>OutLong</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>float</outParameter-type>
- <outParameter-name>OutFloat</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>double</outParameter-type>
- <outParameter-name>OutDouble</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>SuperVisionTest::Adder</outParameter-type>
- <outParameter-name>OutObjRef</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list/>
- <creation-date>12/9/2003 - 17:49:39</creation-date>
- <lastmodification-date>12/9/2003 - 17:49:39</lastmodification-date>
- <editor-release>1.05</editor-release>
- <author>?</author>
- <container>localhost/FactoryServer</container>
- <comment>MiscTypes from TypesCheck</comment>
- <x-position>433</x-position>
- <y-position>131</y-position> </node> </node-list>
- <link-list>
-<link>
-<fromnode-name>Double</fromnode-name>
- <fromserviceparameter-name>OutDouble</fromserviceparameter-name>
- <tonode-name>MiscTypes</tonode-name>
- <toserviceparameter-name>InString</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>Double</fromnode-name>
- <fromserviceparameter-name>OutDouble</fromserviceparameter-name>
- <tonode-name>MiscTypes</tonode-name>
- <toserviceparameter-name>InBool</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>Double</fromnode-name>
- <fromserviceparameter-name>OutDouble</fromserviceparameter-name>
- <tonode-name>MiscTypes</tonode-name>
- <toserviceparameter-name>InChar</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>Double</fromnode-name>
- <fromserviceparameter-name>OutDouble</fromserviceparameter-name>
- <tonode-name>MiscTypes</tonode-name>
- <toserviceparameter-name>InShort</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>Double</fromnode-name>
- <fromserviceparameter-name>OutDouble</fromserviceparameter-name>
- <tonode-name>MiscTypes</tonode-name>
- <toserviceparameter-name>InLong</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>Double</fromnode-name>
- <fromserviceparameter-name>OutDouble</fromserviceparameter-name>
- <tonode-name>MiscTypes</tonode-name>
- <toserviceparameter-name>InFloat</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>Double</fromnode-name>
- <fromserviceparameter-name>OutDouble</fromserviceparameter-name>
- <tonode-name>MiscTypes</tonode-name>
- <toserviceparameter-name>InDouble</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>Double</fromnode-name>
- <fromserviceparameter-name>OutDouble</fromserviceparameter-name>
- <tonode-name>MiscTypes</tonode-name>
- <toserviceparameter-name>InObjRef</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>DoubleString</fromnode-name>
- <fromserviceparameter-name>OutDoubleString</fromserviceparameter-name>
- <tonode-name>MiscTypes_1</tonode-name>
- <toserviceparameter-name>InString</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>DoubleString</fromnode-name>
- <fromserviceparameter-name>OutDoubleString</fromserviceparameter-name>
- <tonode-name>MiscTypes_1</tonode-name>
- <toserviceparameter-name>InBool</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>DoubleString</fromnode-name>
- <fromserviceparameter-name>OutDoubleString</fromserviceparameter-name>
- <tonode-name>MiscTypes_1</tonode-name>
- <toserviceparameter-name>InChar</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>DoubleString</fromnode-name>
- <fromserviceparameter-name>OutDoubleString</fromserviceparameter-name>
- <tonode-name>MiscTypes_1</tonode-name>
- <toserviceparameter-name>InShort</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>DoubleString</fromnode-name>
- <fromserviceparameter-name>OutDoubleString</fromserviceparameter-name>
- <tonode-name>MiscTypes_1</tonode-name>
- <toserviceparameter-name>InLong</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>DoubleString</fromnode-name>
- <fromserviceparameter-name>OutDoubleString</fromserviceparameter-name>
- <tonode-name>MiscTypes_1</tonode-name>
- <toserviceparameter-name>InFloat</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>DoubleString</fromnode-name>
- <fromserviceparameter-name>OutDoubleString</fromserviceparameter-name>
- <tonode-name>MiscTypes_1</tonode-name>
- <toserviceparameter-name>InDouble</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>DoubleString</fromnode-name>
- <fromserviceparameter-name>OutDoubleString</fromserviceparameter-name>
- <tonode-name>MiscTypes_1</tonode-name>
- <toserviceparameter-name>InObjRef</toserviceparameter-name>
- <coord-list/> </link> </link-list>
- <data-list/></dataflow>
+++ /dev/null
-
-# Generated python file of Graph GraphConvertDoubleStringCheck
-
-from SuperV import *
-# Graph creation
-GraphConvertDoubleStringCheck = Graph( 'GraphConvertDoubleStringCheck' )
-GraphConvertDoubleStringCheck.SetName( 'GraphConvertDoubleStringCheck' )
-GraphConvertDoubleStringCheck.SetAuthor( 'JR' )
-GraphConvertDoubleStringCheck.SetComment( 'Check conversions of String' )
-GraphConvertDoubleStringCheck.Coords( 0 , 0 )
-
-# Creation of Factory Nodes
-
-MiscTypes = GraphConvertDoubleStringCheck.FNode( 'TypesCheck' , 'TypesCheck' , 'MiscTypes' )
-MiscTypes.SetName( 'MiscTypes' )
-MiscTypes.SetAuthor( '' )
-MiscTypes.SetContainer( 'localhost/FactoryServer' )
-MiscTypes.SetComment( 'MiscTypes from TypesCheck' )
-MiscTypes.Coords( 284 , 28 )
-
-# Creation of InLine Nodes
-PyDoubleString = []
-PyDoubleString.append( 'def DoubleString() : ' )
-PyDoubleString.append( ' string = "3.1415926535" ' )
-PyDoubleString.append( ' return string ' )
-PyDoubleString.append( ' ' )
-DoubleString = GraphConvertDoubleStringCheck.INode( 'DoubleString' , PyDoubleString )
-DoubleString.OutPort( 'OutString' , 'string' )
-DoubleString.SetName( 'DoubleString' )
-DoubleString.SetAuthor( 'JR' )
-DoubleString.SetComment( 'InLine Node' )
-DoubleString.Coords( 14 , 114 )
-
-# Creation of Links
-DoubleStringOutString = DoubleString.Port( 'OutString' )
-MiscTypesInString = GraphConvertDoubleStringCheck.Link( DoubleStringOutString , MiscTypes.Port( 'InString' ) )
-
-MiscTypesInBool = GraphConvertDoubleStringCheck.Link( DoubleStringOutString , MiscTypes.Port( 'InBool' ) )
-
-MiscTypesInChar = GraphConvertDoubleStringCheck.Link( DoubleStringOutString , MiscTypes.Port( 'InChar' ) )
-
-MiscTypesInShort = GraphConvertDoubleStringCheck.Link( DoubleStringOutString , MiscTypes.Port( 'InShort' ) )
-
-MiscTypesInLong = GraphConvertDoubleStringCheck.Link( DoubleStringOutString , MiscTypes.Port( 'InLong' ) )
-
-MiscTypesInFloat = GraphConvertDoubleStringCheck.Link( DoubleStringOutString , MiscTypes.Port( 'InFloat' ) )
-
-MiscTypesInDouble = GraphConvertDoubleStringCheck.Link( DoubleStringOutString , MiscTypes.Port( 'InDouble' ) )
-
-MiscTypesInObjRef = GraphConvertDoubleStringCheck.Link( DoubleStringOutString , MiscTypes.Port( 'InObjRef' ) )
-
-# Creation of Output variables
-MiscTypesOutString = MiscTypes.Port( 'OutString' )
-MiscTypesOutBool = MiscTypes.Port( 'OutBool' )
-MiscTypesOutChar = MiscTypes.Port( 'OutChar' )
-MiscTypesOutShort = MiscTypes.Port( 'OutShort' )
-MiscTypesOutLong = MiscTypes.Port( 'OutLong' )
-MiscTypesOutFloat = MiscTypes.Port( 'OutFloat' )
-MiscTypesOutDouble = MiscTypes.Port( 'OutDouble' )
-MiscTypesOutObjRef = MiscTypes.Port( 'OutObjRef' )
-
-GraphConvertDoubleStringCheck.Run()
-GraphConvertDoubleStringCheck.DoneW()
-GraphConvertDoubleStringCheck.PrintPorts()
+++ /dev/null
-<!DOCTYPE Dataflow>
-<dataflow>
-<info-list>
-<node>
-<component-name>?</component-name>
- <interface-name>?</interface-name>
- <node-name>GraphConvertDoubleStringCheck</node-name>
- <kind>1</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>GraphConvertDoubleStringCheck</service-name>
- <inParameter-list/>
- <outParameter-list>
-<outParameter>
-<outParameter-type>string</outParameter-type>
- <outParameter-name>MiscTypes\OutString</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>boolean</outParameter-type>
- <outParameter-name>MiscTypes\OutBool</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>char</outParameter-type>
- <outParameter-name>MiscTypes\OutChar</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>short</outParameter-type>
- <outParameter-name>MiscTypes\OutShort</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>MiscTypes\OutLong</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>float</outParameter-type>
- <outParameter-name>MiscTypes\OutFloat</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>double</outParameter-type>
- <outParameter-name>MiscTypes\OutDouble</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>SuperVisionTest::Adder</outParameter-type>
- <outParameter-name>MiscTypes\OutObjRef</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list/>
- <creation-date>30/7/2003 - 14:23:52</creation-date>
- <lastmodification-date>12/9/2003 - 15:10:45</lastmodification-date>
- <editor-release>1.04</editor-release>
- <author>JR</author>
- <container>?</container>
- <comment>Check conversions of String</comment>
- <x-position>0</x-position>
- <y-position>0</y-position> </node> </info-list>
- <node-list>
-<node>
-<component-name>?</component-name>
- <interface-name>?</interface-name>
- <node-name>DoubleString</node-name>
- <kind>3</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>StringString</service-name>
- <inParameter-list/>
- <outParameter-list>
-<outParameter>
-<outParameter-type>string</outParameter-type>
- <outParameter-name>OutString</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list>
-<PyFunction>
-<FuncName>DoubleString</FuncName>
- <PyFunc><![CDATA[def DoubleString() : ]]></PyFunc>
- <PyFunc><![CDATA[ string = "3.1415926535" ]]></PyFunc>
- <PyFunc><![CDATA[ return string ]]></PyFunc>
- <PyFunc><![CDATA[?]]></PyFunc> </PyFunction> </PyFunction-list>
- <creation-date>12/9/2003 - 15:9:48</creation-date>
- <lastmodification-date>12/9/2003 - 15:9:48</lastmodification-date>
- <editor-release>1.04</editor-release>
- <author>JR</author>
- <container>?</container>
- <comment>InLine Node</comment>
- <x-position>14</x-position>
- <y-position>114</y-position> </node>
- <node>
-<component-name>TypesCheck</component-name>
- <interface-name>TypesCheck</interface-name>
- <node-name>MiscTypes</node-name>
- <kind>0</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>MiscTypes</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>string</inParameter-type>
- <inParameter-name>InString</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>boolean</inParameter-type>
- <inParameter-name>InBool</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>char</inParameter-type>
- <inParameter-name>InChar</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>short</inParameter-type>
- <inParameter-name>InShort</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>InLong</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>float</inParameter-type>
- <inParameter-name>InFloat</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>double</inParameter-type>
- <inParameter-name>InDouble</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>SuperVisionTest::Adder</inParameter-type>
- <inParameter-name>InObjRef</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>string</outParameter-type>
- <outParameter-name>OutString</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>boolean</outParameter-type>
- <outParameter-name>OutBool</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>char</outParameter-type>
- <outParameter-name>OutChar</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>short</outParameter-type>
- <outParameter-name>OutShort</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>OutLong</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>float</outParameter-type>
- <outParameter-name>OutFloat</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>double</outParameter-type>
- <outParameter-name>OutDouble</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>SuperVisionTest::Adder</outParameter-type>
- <outParameter-name>OutObjRef</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list/>
- <creation-date>12/9/2003 - 15:9:48</creation-date>
- <lastmodification-date>12/9/2003 - 15:9:48</lastmodification-date>
- <editor-release>1.05</editor-release>
- <author>?</author>
- <container>localhost/FactoryServer</container>
- <comment>MiscTypes from TypesCheck</comment>
- <x-position>284</x-position>
- <y-position>28</y-position> </node> </node-list>
- <link-list>
-<link>
-<fromnode-name>DoubleString</fromnode-name>
- <fromserviceparameter-name>OutString</fromserviceparameter-name>
- <tonode-name>MiscTypes</tonode-name>
- <toserviceparameter-name>InString</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>DoubleString</fromnode-name>
- <fromserviceparameter-name>OutString</fromserviceparameter-name>
- <tonode-name>MiscTypes</tonode-name>
- <toserviceparameter-name>InBool</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>DoubleString</fromnode-name>
- <fromserviceparameter-name>OutString</fromserviceparameter-name>
- <tonode-name>MiscTypes</tonode-name>
- <toserviceparameter-name>InChar</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>DoubleString</fromnode-name>
- <fromserviceparameter-name>OutString</fromserviceparameter-name>
- <tonode-name>MiscTypes</tonode-name>
- <toserviceparameter-name>InShort</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>DoubleString</fromnode-name>
- <fromserviceparameter-name>OutString</fromserviceparameter-name>
- <tonode-name>MiscTypes</tonode-name>
- <toserviceparameter-name>InLong</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>DoubleString</fromnode-name>
- <fromserviceparameter-name>OutString</fromserviceparameter-name>
- <tonode-name>MiscTypes</tonode-name>
- <toserviceparameter-name>InFloat</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>DoubleString</fromnode-name>
- <fromserviceparameter-name>OutString</fromserviceparameter-name>
- <tonode-name>MiscTypes</tonode-name>
- <toserviceparameter-name>InDouble</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>DoubleString</fromnode-name>
- <fromserviceparameter-name>OutString</fromserviceparameter-name>
- <tonode-name>MiscTypes</tonode-name>
- <toserviceparameter-name>InObjRef</toserviceparameter-name>
- <coord-list/> </link> </link-list>
- <data-list/></dataflow>
+++ /dev/null
-
-# Generated python file of Graph GraphConvertFloatCheck
-
-from SuperV import *
-# Graph creation
-GraphConvertFloatCheck = Graph( 'GraphConvertFloatCheck' )
-GraphConvertFloatCheck.SetName( 'GraphConvertFloatCheck' )
-GraphConvertFloatCheck.SetAuthor( 'JR' )
-GraphConvertFloatCheck.SetComment( 'Check conversions of Float' )
-GraphConvertFloatCheck.Coords( 0 , 0 )
-
-# Creation of Factory Nodes
-
-MiscTypes = GraphConvertFloatCheck.FNode( 'TypesCheck' , 'TypesCheck' , 'MiscTypes' )
-MiscTypes.SetName( 'MiscTypes' )
-MiscTypes.SetAuthor( '' )
-MiscTypes.SetContainer( 'localhost/FactoryServer' )
-MiscTypes.SetComment( 'MiscTypes from TypesCheck' )
-MiscTypes.Coords( 284 , 28 )
-
-# Creation of InLine Nodes
-PyFloat = []
-PyFloat.append( 'def Float() : ' )
-PyFloat.append( ' aFloat = 3.1415926535 ' )
-PyFloat.append( ' print type(aFloat),"aFloat",aFloat ' )
-PyFloat.append( ' return aFloat ' )
-PyFloat.append( ' ' )
-Float = GraphConvertFloatCheck.INode( 'Float' , PyFloat )
-Float.OutPort( 'OutFloat' , 'float' )
-Float.SetName( 'Float' )
-Float.SetAuthor( 'JR' )
-Float.SetComment( 'InLine Node' )
-Float.Coords( 14 , 114 )
-
-# Creation of Links
-FloatOutFloat = Float.Port( 'OutFloat' )
-MiscTypesInString = GraphConvertFloatCheck.Link( FloatOutFloat , MiscTypes.Port( 'InString' ) )
-
-MiscTypesInBool = GraphConvertFloatCheck.Link( FloatOutFloat , MiscTypes.Port( 'InBool' ) )
-
-MiscTypesInChar = GraphConvertFloatCheck.Link( FloatOutFloat , MiscTypes.Port( 'InChar' ) )
-
-MiscTypesInShort = GraphConvertFloatCheck.Link( FloatOutFloat , MiscTypes.Port( 'InShort' ) )
-
-MiscTypesInLong = GraphConvertFloatCheck.Link( FloatOutFloat , MiscTypes.Port( 'InLong' ) )
-
-MiscTypesInFloat = GraphConvertFloatCheck.Link( FloatOutFloat , MiscTypes.Port( 'InFloat' ) )
-
-MiscTypesInDouble = GraphConvertFloatCheck.Link( FloatOutFloat , MiscTypes.Port( 'InDouble' ) )
-
-MiscTypesInObjRef = GraphConvertFloatCheck.Link( FloatOutFloat , MiscTypes.Port( 'InObjRef' ) )
-
-# Creation of Output variables
-MiscTypesOutString = MiscTypes.Port( 'OutString' )
-MiscTypesOutBool = MiscTypes.Port( 'OutBool' )
-MiscTypesOutChar = MiscTypes.Port( 'OutChar' )
-MiscTypesOutShort = MiscTypes.Port( 'OutShort' )
-MiscTypesOutLong = MiscTypes.Port( 'OutLong' )
-MiscTypesOutFloat = MiscTypes.Port( 'OutFloat' )
-MiscTypesOutDouble = MiscTypes.Port( 'OutDouble' )
-MiscTypesOutObjRef = MiscTypes.Port( 'OutObjRef' )
-
-GraphConvertFloatCheck.Run()
-GraphConvertFloatCheck.DoneW()
-GraphConvertFloatCheck.PrintPorts()
+++ /dev/null
-<!DOCTYPE Dataflow>
-<dataflow>
-<info-list>
-<node>
-<component-name>?</component-name>
- <interface-name>?</interface-name>
- <node-name>GraphConvertFloatCheck</node-name>
- <kind>1</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>GraphConvertFloatCheck</service-name>
- <inParameter-list/>
- <outParameter-list>
-<outParameter>
-<outParameter-type>string</outParameter-type>
- <outParameter-name>MiscTypes\OutString</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>boolean</outParameter-type>
- <outParameter-name>MiscTypes\OutBool</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>char</outParameter-type>
- <outParameter-name>MiscTypes\OutChar</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>short</outParameter-type>
- <outParameter-name>MiscTypes\OutShort</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>MiscTypes\OutLong</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>float</outParameter-type>
- <outParameter-name>MiscTypes\OutFloat</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>double</outParameter-type>
- <outParameter-name>MiscTypes\OutDouble</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>SuperVisionTest::Adder</outParameter-type>
- <outParameter-name>MiscTypes\OutObjRef</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list/>
- <creation-date>30/7/2003 - 14:23:52</creation-date>
- <lastmodification-date>12/9/2003 - 15:12:6</lastmodification-date>
- <editor-release>1.04</editor-release>
- <author>JR</author>
- <container>?</container>
- <comment>Check conversions of Float</comment>
- <x-position>0</x-position>
- <y-position>0</y-position> </node> </info-list>
- <node-list>
-<node>
-<component-name>?</component-name>
- <interface-name>?</interface-name>
- <node-name>Float</node-name>
- <kind>3</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>Float</service-name>
- <inParameter-list/>
- <outParameter-list>
-<outParameter>
-<outParameter-type>float</outParameter-type>
- <outParameter-name>OutFloat</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list>
-<PyFunction>
-<FuncName>Float</FuncName>
- <PyFunc><![CDATA[def Float() : ]]></PyFunc>
- <PyFunc><![CDATA[ aFloat = 3.1415926535 ]]></PyFunc>
- <PyFunc><![CDATA[ print type(aFloat),"aFloat",aFloat ]]></PyFunc>
- <PyFunc><![CDATA[ return aFloat ]]></PyFunc>
- <PyFunc><![CDATA[?]]></PyFunc> </PyFunction> </PyFunction-list>
- <creation-date>12/9/2003 - 15:12:6</creation-date>
- <lastmodification-date>12/9/2003 - 15:12:6</lastmodification-date>
- <editor-release>1.04</editor-release>
- <author>JR</author>
- <container>?</container>
- <comment>InLine Node</comment>
- <x-position>14</x-position>
- <y-position>114</y-position> </node>
- <node>
-<component-name>TypesCheck</component-name>
- <interface-name>TypesCheck</interface-name>
- <node-name>MiscTypes</node-name>
- <kind>0</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>MiscTypes</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>string</inParameter-type>
- <inParameter-name>InString</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>boolean</inParameter-type>
- <inParameter-name>InBool</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>char</inParameter-type>
- <inParameter-name>InChar</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>short</inParameter-type>
- <inParameter-name>InShort</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>InLong</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>float</inParameter-type>
- <inParameter-name>InFloat</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>double</inParameter-type>
- <inParameter-name>InDouble</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>SuperVisionTest::Adder</inParameter-type>
- <inParameter-name>InObjRef</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>string</outParameter-type>
- <outParameter-name>OutString</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>boolean</outParameter-type>
- <outParameter-name>OutBool</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>char</outParameter-type>
- <outParameter-name>OutChar</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>short</outParameter-type>
- <outParameter-name>OutShort</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>OutLong</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>float</outParameter-type>
- <outParameter-name>OutFloat</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>double</outParameter-type>
- <outParameter-name>OutDouble</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>SuperVisionTest::Adder</outParameter-type>
- <outParameter-name>OutObjRef</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list/>
- <creation-date>12/9/2003 - 15:12:6</creation-date>
- <lastmodification-date>12/9/2003 - 15:12:6</lastmodification-date>
- <editor-release>1.05</editor-release>
- <author>?</author>
- <container>localhost/FactoryServer</container>
- <comment>MiscTypes from TypesCheck</comment>
- <x-position>284</x-position>
- <y-position>28</y-position> </node> </node-list>
- <link-list>
-<link>
-<fromnode-name>Float</fromnode-name>
- <fromserviceparameter-name>OutFloat</fromserviceparameter-name>
- <tonode-name>MiscTypes</tonode-name>
- <toserviceparameter-name>InString</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>Float</fromnode-name>
- <fromserviceparameter-name>OutFloat</fromserviceparameter-name>
- <tonode-name>MiscTypes</tonode-name>
- <toserviceparameter-name>InBool</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>Float</fromnode-name>
- <fromserviceparameter-name>OutFloat</fromserviceparameter-name>
- <tonode-name>MiscTypes</tonode-name>
- <toserviceparameter-name>InChar</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>Float</fromnode-name>
- <fromserviceparameter-name>OutFloat</fromserviceparameter-name>
- <tonode-name>MiscTypes</tonode-name>
- <toserviceparameter-name>InShort</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>Float</fromnode-name>
- <fromserviceparameter-name>OutFloat</fromserviceparameter-name>
- <tonode-name>MiscTypes</tonode-name>
- <toserviceparameter-name>InLong</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>Float</fromnode-name>
- <fromserviceparameter-name>OutFloat</fromserviceparameter-name>
- <tonode-name>MiscTypes</tonode-name>
- <toserviceparameter-name>InFloat</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>Float</fromnode-name>
- <fromserviceparameter-name>OutFloat</fromserviceparameter-name>
- <tonode-name>MiscTypes</tonode-name>
- <toserviceparameter-name>InDouble</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>Float</fromnode-name>
- <fromserviceparameter-name>OutFloat</fromserviceparameter-name>
- <tonode-name>MiscTypes</tonode-name>
- <toserviceparameter-name>InObjRef</toserviceparameter-name>
- <coord-list/> </link> </link-list>
- <data-list/></dataflow>
+++ /dev/null
-
-# Generated python file of Graph GraphConvertFloatStringCheck
-
-from SuperV import *
-# Graph creation
-GraphConvertFloatStringCheck = Graph( 'GraphConvertFloatStringCheck' )
-GraphConvertFloatStringCheck.SetName( 'GraphConvertFloatStringCheck' )
-GraphConvertFloatStringCheck.SetAuthor( 'JR' )
-GraphConvertFloatStringCheck.SetComment( 'Check conversions of String' )
-GraphConvertFloatStringCheck.Coords( 0 , 0 )
-
-# Creation of Factory Nodes
-
-MiscTypes = GraphConvertFloatStringCheck.FNode( 'TypesCheck' , 'TypesCheck' , 'MiscTypes' )
-MiscTypes.SetName( 'MiscTypes' )
-MiscTypes.SetAuthor( '' )
-MiscTypes.SetContainer( 'localhost/FactoryServer' )
-MiscTypes.SetComment( 'MiscTypes from TypesCheck' )
-MiscTypes.Coords( 284 , 28 )
-
-# Creation of InLine Nodes
-PyFloatString = []
-PyFloatString.append( 'def FloatString() : ' )
-PyFloatString.append( ' string = "3.1415926535" ' )
-PyFloatString.append( ' return string ' )
-PyFloatString.append( ' ' )
-FloatString = GraphConvertFloatStringCheck.INode( 'FloatString' , PyFloatString )
-FloatString.OutPort( 'OutString' , 'string' )
-FloatString.SetName( 'FloatString' )
-FloatString.SetAuthor( 'JR' )
-FloatString.SetComment( 'InLine Node' )
-FloatString.Coords( 14 , 114 )
-
-# Creation of Links
-FloatStringOutString = FloatString.Port( 'OutString' )
-MiscTypesInString = GraphConvertFloatStringCheck.Link( FloatStringOutString , MiscTypes.Port( 'InString' ) )
-
-MiscTypesInBool = GraphConvertFloatStringCheck.Link( FloatStringOutString , MiscTypes.Port( 'InBool' ) )
-
-MiscTypesInChar = GraphConvertFloatStringCheck.Link( FloatStringOutString , MiscTypes.Port( 'InChar' ) )
-
-MiscTypesInShort = GraphConvertFloatStringCheck.Link( FloatStringOutString , MiscTypes.Port( 'InShort' ) )
-
-MiscTypesInLong = GraphConvertFloatStringCheck.Link( FloatStringOutString , MiscTypes.Port( 'InLong' ) )
-
-MiscTypesInFloat = GraphConvertFloatStringCheck.Link( FloatStringOutString , MiscTypes.Port( 'InFloat' ) )
-
-MiscTypesInDouble = GraphConvertFloatStringCheck.Link( FloatStringOutString , MiscTypes.Port( 'InDouble' ) )
-
-MiscTypesInObjRef = GraphConvertFloatStringCheck.Link( FloatStringOutString , MiscTypes.Port( 'InObjRef' ) )
-
-# Creation of Output variables
-MiscTypesOutString = MiscTypes.Port( 'OutString' )
-MiscTypesOutBool = MiscTypes.Port( 'OutBool' )
-MiscTypesOutChar = MiscTypes.Port( 'OutChar' )
-MiscTypesOutShort = MiscTypes.Port( 'OutShort' )
-MiscTypesOutLong = MiscTypes.Port( 'OutLong' )
-MiscTypesOutFloat = MiscTypes.Port( 'OutFloat' )
-MiscTypesOutDouble = MiscTypes.Port( 'OutDouble' )
-MiscTypesOutObjRef = MiscTypes.Port( 'OutObjRef' )
-
-GraphConvertFloatStringCheck.Run()
-GraphConvertFloatStringCheck.DoneW()
-GraphConvertFloatStringCheck.PrintPorts()
+++ /dev/null
-<!DOCTYPE Dataflow>
-<dataflow>
-<info-list>
-<node>
-<component-name>?</component-name>
- <interface-name>?</interface-name>
- <node-name>GraphConvertFloatStringCheck</node-name>
- <kind>1</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>GraphConvertFloatStringCheck</service-name>
- <inParameter-list/>
- <outParameter-list>
-<outParameter>
-<outParameter-type>string</outParameter-type>
- <outParameter-name>MiscTypes\OutString</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>boolean</outParameter-type>
- <outParameter-name>MiscTypes\OutBool</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>char</outParameter-type>
- <outParameter-name>MiscTypes\OutChar</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>short</outParameter-type>
- <outParameter-name>MiscTypes\OutShort</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>MiscTypes\OutLong</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>float</outParameter-type>
- <outParameter-name>MiscTypes\OutFloat</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>double</outParameter-type>
- <outParameter-name>MiscTypes\OutDouble</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>SuperVisionTest::Adder</outParameter-type>
- <outParameter-name>MiscTypes\OutObjRef</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list/>
- <creation-date>30/7/2003 - 14:23:52</creation-date>
- <lastmodification-date>11/9/2003 - 17:7:31</lastmodification-date>
- <editor-release>1.04</editor-release>
- <author>JR</author>
- <container>?</container>
- <comment>Check conversions of String</comment>
- <x-position>0</x-position>
- <y-position>0</y-position> </node> </info-list>
- <node-list>
-<node>
-<component-name>?</component-name>
- <interface-name>?</interface-name>
- <node-name>FloatString</node-name>
- <kind>3</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>StringString</service-name>
- <inParameter-list/>
- <outParameter-list>
-<outParameter>
-<outParameter-type>string</outParameter-type>
- <outParameter-name>OutString</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list>
-<PyFunction>
-<FuncName>FloatString</FuncName>
- <PyFunc><![CDATA[def FloatString() : ]]></PyFunc>
- <PyFunc><![CDATA[ string = "3.1415926535" ]]></PyFunc>
- <PyFunc><![CDATA[ return string ]]></PyFunc>
- <PyFunc><![CDATA[?]]></PyFunc> </PyFunction> </PyFunction-list>
- <creation-date>11/9/2003 - 17:7:14</creation-date>
- <lastmodification-date>11/9/2003 - 17:7:14</lastmodification-date>
- <editor-release>1.04</editor-release>
- <author>JR</author>
- <container>?</container>
- <comment>InLine Node</comment>
- <x-position>14</x-position>
- <y-position>114</y-position> </node>
- <node>
-<component-name>TypesCheck</component-name>
- <interface-name>TypesCheck</interface-name>
- <node-name>MiscTypes</node-name>
- <kind>0</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>MiscTypes</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>string</inParameter-type>
- <inParameter-name>InString</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>boolean</inParameter-type>
- <inParameter-name>InBool</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>char</inParameter-type>
- <inParameter-name>InChar</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>short</inParameter-type>
- <inParameter-name>InShort</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>InLong</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>float</inParameter-type>
- <inParameter-name>InFloat</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>double</inParameter-type>
- <inParameter-name>InDouble</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>SuperVisionTest::Adder</inParameter-type>
- <inParameter-name>InObjRef</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>string</outParameter-type>
- <outParameter-name>OutString</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>boolean</outParameter-type>
- <outParameter-name>OutBool</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>char</outParameter-type>
- <outParameter-name>OutChar</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>short</outParameter-type>
- <outParameter-name>OutShort</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>OutLong</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>float</outParameter-type>
- <outParameter-name>OutFloat</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>double</outParameter-type>
- <outParameter-name>OutDouble</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>SuperVisionTest::Adder</outParameter-type>
- <outParameter-name>OutObjRef</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list/>
- <creation-date>11/9/2003 - 17:7:14</creation-date>
- <lastmodification-date>11/9/2003 - 17:7:14</lastmodification-date>
- <editor-release>1.05</editor-release>
- <author>?</author>
- <container>localhost/FactoryServer</container>
- <comment>MiscTypes from TypesCheck</comment>
- <x-position>284</x-position>
- <y-position>28</y-position> </node> </node-list>
- <link-list>
-<link>
-<fromnode-name>FloatString</fromnode-name>
- <fromserviceparameter-name>OutString</fromserviceparameter-name>
- <tonode-name>MiscTypes</tonode-name>
- <toserviceparameter-name>InString</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>FloatString</fromnode-name>
- <fromserviceparameter-name>OutString</fromserviceparameter-name>
- <tonode-name>MiscTypes</tonode-name>
- <toserviceparameter-name>InBool</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>FloatString</fromnode-name>
- <fromserviceparameter-name>OutString</fromserviceparameter-name>
- <tonode-name>MiscTypes</tonode-name>
- <toserviceparameter-name>InChar</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>FloatString</fromnode-name>
- <fromserviceparameter-name>OutString</fromserviceparameter-name>
- <tonode-name>MiscTypes</tonode-name>
- <toserviceparameter-name>InShort</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>FloatString</fromnode-name>
- <fromserviceparameter-name>OutString</fromserviceparameter-name>
- <tonode-name>MiscTypes</tonode-name>
- <toserviceparameter-name>InLong</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>FloatString</fromnode-name>
- <fromserviceparameter-name>OutString</fromserviceparameter-name>
- <tonode-name>MiscTypes</tonode-name>
- <toserviceparameter-name>InFloat</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>FloatString</fromnode-name>
- <fromserviceparameter-name>OutString</fromserviceparameter-name>
- <tonode-name>MiscTypes</tonode-name>
- <toserviceparameter-name>InDouble</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>FloatString</fromnode-name>
- <fromserviceparameter-name>OutString</fromserviceparameter-name>
- <tonode-name>MiscTypes</tonode-name>
- <toserviceparameter-name>InObjRef</toserviceparameter-name>
- <coord-list/> </link> </link-list>
- <data-list/></dataflow>
+++ /dev/null
-
-# Generated python file of Graph GraphConvertIORCheck
-
-from SuperV import *
-# Graph creation
-GraphConvertIORCheck = Graph( 'GraphConvertIORCheck' )
-GraphConvertIORCheck.SetName( 'GraphConvertIORCheck' )
-GraphConvertIORCheck.SetAuthor( 'JR' )
-GraphConvertIORCheck.SetComment( 'Check conversions of IOR' )
-GraphConvertIORCheck.Coords( 0 , 0 )
-
-# Creation of Factory Nodes
-
-MiscTypes = GraphConvertIORCheck.FNode( 'TypesCheck' , 'TypesCheck' , 'MiscTypes' )
-MiscTypes.SetName( 'MiscTypes' )
-MiscTypes.SetAuthor( '' )
-MiscTypes.SetContainer( 'localhost/FactoryServer' )
-MiscTypes.SetComment( 'MiscTypes from TypesCheck' )
-MiscTypes.Coords( 284 , 28 )
-
-# Creation of InLine Nodes
-PySyrComponent = []
-PySyrComponent.append( 'from LifeCycleCORBA import * ' )
-PySyrComponent.append( 'def SyrComponent( aContainer , aComponent ) : ' )
-PySyrComponent.append( ' print "SyrComponent(",aContainer,",",aComponent,")" ' )
-PySyrComponent.append( ' orb = CORBA.ORB_init([], CORBA.ORB_ID) ' )
-PySyrComponent.append( ' print "SyrComponent orb",orb ' )
-PySyrComponent.append( ' lcc = LifeCycleCORBA(orb) ' )
-PySyrComponent.append( ' print "SyrComponent lcc",lcc ' )
-PySyrComponent.append( ' print "SyrComponent(",aContainer,",",aComponent,")" ' )
-PySyrComponent.append( ' ComponentRef = lcc.FindOrLoadComponent( aContainer , aComponent ) ' )
-PySyrComponent.append( ' print "SyrComponent(",aContainer,",",aComponent,") --> ",ComponentRef ' )
-PySyrComponent.append( ' IOR = orb.object_to_string( ComponentRef ) ' )
-PySyrComponent.append( ' return IOR ' )
-PySyrComponent.append( ' ' )
-SyrComponent = GraphConvertIORCheck.INode( 'SyrComponent' , PySyrComponent )
-SyrComponent.InPort( 'aContainer' , 'string' )
-SyrComponent.InPort( 'aComponent' , 'string' )
-SyrComponent.OutPort( 'anIOR' , 'string' )
-SyrComponent.SetName( 'SyrComponent' )
-SyrComponent.SetAuthor( 'JR' )
-SyrComponent.SetComment( 'InLine Node' )
-SyrComponent.Coords( 14 , 114 )
-
-# Creation of Links
-SyrComponentanIOR = SyrComponent.Port( 'anIOR' )
-MiscTypesInShort = GraphConvertIORCheck.Link( SyrComponentanIOR , MiscTypes.Port( 'InShort' ) )
-
-MiscTypesInString = GraphConvertIORCheck.Link( SyrComponentanIOR , MiscTypes.Port( 'InString' ) )
-
-MiscTypesInBool = GraphConvertIORCheck.Link( SyrComponentanIOR , MiscTypes.Port( 'InBool' ) )
-
-MiscTypesInChar = GraphConvertIORCheck.Link( SyrComponentanIOR , MiscTypes.Port( 'InChar' ) )
-
-MiscTypesInLong = GraphConvertIORCheck.Link( SyrComponentanIOR , MiscTypes.Port( 'InLong' ) )
-
-MiscTypesInFloat = GraphConvertIORCheck.Link( SyrComponentanIOR , MiscTypes.Port( 'InFloat' ) )
-
-MiscTypesInDouble = GraphConvertIORCheck.Link( SyrComponentanIOR , MiscTypes.Port( 'InDouble' ) )
-
-MiscTypesInObjRef = GraphConvertIORCheck.Link( SyrComponentanIOR , MiscTypes.Port( 'InObjRef' ) )
-
-# Creation of Input datas
-SyrComponentaContainer = SyrComponent.Input( 'aContainer' , 'FactoryServerPy')
-SyrComponentaComponent = SyrComponent.Input( 'aComponent' , 'SyrControlComponent')
-
-# Creation of Output variables
-MiscTypesOutString = MiscTypes.Port( 'OutString' )
-MiscTypesOutBool = MiscTypes.Port( 'OutBool' )
-MiscTypesOutChar = MiscTypes.Port( 'OutChar' )
-MiscTypesOutShort = MiscTypes.Port( 'OutShort' )
-MiscTypesOutLong = MiscTypes.Port( 'OutLong' )
-MiscTypesOutFloat = MiscTypes.Port( 'OutFloat' )
-MiscTypesOutDouble = MiscTypes.Port( 'OutDouble' )
-MiscTypesOutObjRef = MiscTypes.Port( 'OutObjRef' )
-
-GraphConvertIORCheck.Run()
-GraphConvertIORCheck.DoneW()
-GraphConvertIORCheck.PrintPorts()
+++ /dev/null
-<!DOCTYPE Dataflow>
-<dataflow>
-<info-list>
-<node>
-<component-name>?</component-name>
- <interface-name>?</interface-name>
- <node-name>GraphConvertIORCheck</node-name>
- <kind>1</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>GraphConvertIORCheck</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>string</inParameter-type>
- <inParameter-name>SyrComponent\aContainer</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>string</inParameter-type>
- <inParameter-name>SyrComponent\aComponent</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>string</outParameter-type>
- <outParameter-name>MiscTypes\OutString</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>boolean</outParameter-type>
- <outParameter-name>MiscTypes\OutBool</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>char</outParameter-type>
- <outParameter-name>MiscTypes\OutChar</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>short</outParameter-type>
- <outParameter-name>MiscTypes\OutShort</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>MiscTypes\OutLong</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>float</outParameter-type>
- <outParameter-name>MiscTypes\OutFloat</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>double</outParameter-type>
- <outParameter-name>MiscTypes\OutDouble</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>SuperVisionTest::Adder</outParameter-type>
- <outParameter-name>MiscTypes\OutObjRef</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list/>
- <creation-date>30/7/2003 - 14:23:52</creation-date>
- <lastmodification-date>11/9/2003 - 15:45:18</lastmodification-date>
- <editor-release>1.04</editor-release>
- <author>JR</author>
- <container>?</container>
- <comment>Check conversions of IOR</comment>
- <x-position>0</x-position>
- <y-position>0</y-position> </node> </info-list>
- <node-list>
-<node>
-<component-name>?</component-name>
- <interface-name>?</interface-name>
- <node-name>SyrComponent</node-name>
- <kind>3</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>SyrComponent</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>string</inParameter-type>
- <inParameter-name>aContainer</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>string</inParameter-type>
- <inParameter-name>aComponent</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>string</outParameter-type>
- <outParameter-name>anIOR</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list>
-<PyFunction>
-<FuncName>SyrComponent</FuncName>
- <PyFunc><![CDATA[from LifeCycleCORBA import * ]]></PyFunc>
- <PyFunc><![CDATA[def SyrComponent( aContainer , aComponent ) : ]]></PyFunc>
- <PyFunc><![CDATA[ print "SyrComponent(",aContainer,",",aComponent,")" ]]></PyFunc>
- <PyFunc><![CDATA[ orb = CORBA.ORB_init([], CORBA.ORB_ID) ]]></PyFunc>
- <PyFunc><![CDATA[ print "SyrComponent orb",orb ]]></PyFunc>
- <PyFunc><![CDATA[ lcc = LifeCycleCORBA(orb) ]]></PyFunc>
- <PyFunc><![CDATA[ print "SyrComponent lcc",lcc ]]></PyFunc>
- <PyFunc><![CDATA[ print "SyrComponent(",aContainer,",",aComponent,")" ]]></PyFunc>
- <PyFunc><![CDATA[ ComponentRef = lcc.FindOrLoadComponent( aContainer , aComponent ) ]]></PyFunc>
- <PyFunc><![CDATA[ print "SyrComponent(",aContainer,",",aComponent,") --> ",ComponentRef ]]></PyFunc>
- <PyFunc><![CDATA[ IOR = orb.object_to_string( ComponentRef ) ]]></PyFunc>
- <PyFunc><![CDATA[ return IOR ]]></PyFunc>
- <PyFunc><![CDATA[?]]></PyFunc> </PyFunction> </PyFunction-list>
- <creation-date>11/9/2003 - 15:45:18</creation-date>
- <lastmodification-date>11/9/2003 - 15:45:18</lastmodification-date>
- <editor-release>1.04</editor-release>
- <author>JR</author>
- <container>?</container>
- <comment>InLine Node</comment>
- <x-position>14</x-position>
- <y-position>114</y-position> </node>
- <node>
-<component-name>TypesCheck</component-name>
- <interface-name>TypesCheck</interface-name>
- <node-name>MiscTypes</node-name>
- <kind>0</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>MiscTypes</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>string</inParameter-type>
- <inParameter-name>InString</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>boolean</inParameter-type>
- <inParameter-name>InBool</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>char</inParameter-type>
- <inParameter-name>InChar</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>short</inParameter-type>
- <inParameter-name>InShort</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>InLong</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>float</inParameter-type>
- <inParameter-name>InFloat</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>double</inParameter-type>
- <inParameter-name>InDouble</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>SuperVisionTest::Adder</inParameter-type>
- <inParameter-name>InObjRef</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>string</outParameter-type>
- <outParameter-name>OutString</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>boolean</outParameter-type>
- <outParameter-name>OutBool</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>char</outParameter-type>
- <outParameter-name>OutChar</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>short</outParameter-type>
- <outParameter-name>OutShort</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>OutLong</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>float</outParameter-type>
- <outParameter-name>OutFloat</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>double</outParameter-type>
- <outParameter-name>OutDouble</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>SuperVisionTest::Adder</outParameter-type>
- <outParameter-name>OutObjRef</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list/>
- <creation-date>11/9/2003 - 15:45:18</creation-date>
- <lastmodification-date>11/9/2003 - 15:45:18</lastmodification-date>
- <editor-release>1.05</editor-release>
- <author>?</author>
- <container>localhost/FactoryServer</container>
- <comment>MiscTypes from TypesCheck</comment>
- <x-position>284</x-position>
- <y-position>28</y-position> </node> </node-list>
- <link-list>
-<link>
-<fromnode-name>SyrComponent</fromnode-name>
- <fromserviceparameter-name>anIOR</fromserviceparameter-name>
- <tonode-name>MiscTypes</tonode-name>
- <toserviceparameter-name>InShort</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>SyrComponent</fromnode-name>
- <fromserviceparameter-name>anIOR</fromserviceparameter-name>
- <tonode-name>MiscTypes</tonode-name>
- <toserviceparameter-name>InString</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>SyrComponent</fromnode-name>
- <fromserviceparameter-name>anIOR</fromserviceparameter-name>
- <tonode-name>MiscTypes</tonode-name>
- <toserviceparameter-name>InBool</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>SyrComponent</fromnode-name>
- <fromserviceparameter-name>anIOR</fromserviceparameter-name>
- <tonode-name>MiscTypes</tonode-name>
- <toserviceparameter-name>InChar</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>SyrComponent</fromnode-name>
- <fromserviceparameter-name>anIOR</fromserviceparameter-name>
- <tonode-name>MiscTypes</tonode-name>
- <toserviceparameter-name>InLong</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>SyrComponent</fromnode-name>
- <fromserviceparameter-name>anIOR</fromserviceparameter-name>
- <tonode-name>MiscTypes</tonode-name>
- <toserviceparameter-name>InFloat</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>SyrComponent</fromnode-name>
- <fromserviceparameter-name>anIOR</fromserviceparameter-name>
- <tonode-name>MiscTypes</tonode-name>
- <toserviceparameter-name>InDouble</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>SyrComponent</fromnode-name>
- <fromserviceparameter-name>anIOR</fromserviceparameter-name>
- <tonode-name>MiscTypes</tonode-name>
- <toserviceparameter-name>InObjRef</toserviceparameter-name>
- <coord-list/> </link> </link-list>
- <data-list>
-<data>
-<fromnode-name>GraphConvertIORCheck</fromnode-name>
- <fromserviceparameter-name>SyrComponent\aContainer</fromserviceparameter-name>
- <tonode-name>SyrComponent</tonode-name>
- <toserviceparameter-name>aContainer</toserviceparameter-name>
- <data-value>
-<value-type>18</value-type>
- <value>FactoryServerPy</value> </data-value>
- <coord-list/> </data>
- <data>
-<fromnode-name>GraphConvertIORCheck</fromnode-name>
- <fromserviceparameter-name>SyrComponent\aComponent</fromserviceparameter-name>
- <tonode-name>SyrComponent</tonode-name>
- <toserviceparameter-name>aComponent</toserviceparameter-name>
- <data-value>
-<value-type>18</value-type>
- <value>SyrControlComponent</value> </data-value>
- <coord-list/> </data> </data-list></dataflow>
+++ /dev/null
-
-# Generated python file of Graph GraphConvertLongCheck
-
-from SuperV import *
-# Graph creation
-GraphConvertLongCheck = Graph( 'GraphConvertLongCheck' )
-GraphConvertLongCheck.SetName( 'GraphConvertLongCheck' )
-GraphConvertLongCheck.SetAuthor( 'JR' )
-GraphConvertLongCheck.SetComment( 'Check conversions of Long' )
-GraphConvertLongCheck.Coords( 0 , 0 )
-
-# Creation of Factory Nodes
-
-MiscTypes = GraphConvertLongCheck.FNode( 'TypesCheck' , 'TypesCheck' , 'MiscTypes' )
-MiscTypes.SetName( 'MiscTypes' )
-MiscTypes.SetAuthor( '' )
-MiscTypes.SetContainer( 'localhost/FactoryServer' )
-MiscTypes.SetComment( 'MiscTypes from TypesCheck' )
-MiscTypes.Coords( 284 , 28 )
-
-# Creation of InLine Nodes
-PyLong = []
-PyLong.append( 'def Long() : ' )
-PyLong.append( ' aLong = 2147483647 ' )
-PyLong.append( ' print type( aLong ),"aLong",aLong ' )
-PyLong.append( ' return aLong ' )
-PyLong.append( ' ' )
-Long = GraphConvertLongCheck.INode( 'Long' , PyLong )
-Long.OutPort( 'OutLong' , 'long' )
-Long.SetName( 'Long' )
-Long.SetAuthor( 'JR' )
-Long.SetComment( 'InLine Node' )
-Long.Coords( 14 , 114 )
-
-# Creation of Links
-LongOutLong = Long.Port( 'OutLong' )
-MiscTypesInString = GraphConvertLongCheck.Link( LongOutLong , MiscTypes.Port( 'InString' ) )
-
-MiscTypesInBool = GraphConvertLongCheck.Link( LongOutLong , MiscTypes.Port( 'InBool' ) )
-
-MiscTypesInChar = GraphConvertLongCheck.Link( LongOutLong , MiscTypes.Port( 'InChar' ) )
-
-MiscTypesInShort = GraphConvertLongCheck.Link( LongOutLong , MiscTypes.Port( 'InShort' ) )
-
-MiscTypesInLong = GraphConvertLongCheck.Link( LongOutLong , MiscTypes.Port( 'InLong' ) )
-
-MiscTypesInFloat = GraphConvertLongCheck.Link( LongOutLong , MiscTypes.Port( 'InFloat' ) )
-
-MiscTypesInDouble = GraphConvertLongCheck.Link( LongOutLong , MiscTypes.Port( 'InDouble' ) )
-
-MiscTypesInObjRef = GraphConvertLongCheck.Link( LongOutLong , MiscTypes.Port( 'InObjRef' ) )
-
-# Creation of Output variables
-MiscTypesOutString = MiscTypes.Port( 'OutString' )
-MiscTypesOutBool = MiscTypes.Port( 'OutBool' )
-MiscTypesOutChar = MiscTypes.Port( 'OutChar' )
-MiscTypesOutShort = MiscTypes.Port( 'OutShort' )
-MiscTypesOutLong = MiscTypes.Port( 'OutLong' )
-MiscTypesOutFloat = MiscTypes.Port( 'OutFloat' )
-MiscTypesOutDouble = MiscTypes.Port( 'OutDouble' )
-MiscTypesOutObjRef = MiscTypes.Port( 'OutObjRef' )
-
-GraphConvertLongCheck.Run()
-GraphConvertLongCheck.DoneW()
-GraphConvertLongCheck.PrintPorts()
+++ /dev/null
-<!DOCTYPE Dataflow>
-<dataflow>
-<info-list>
-<node>
-<component-name>?</component-name>
- <interface-name>?</interface-name>
- <node-name>GraphConvertLongCheck</node-name>
- <kind>1</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>GraphConvertLongCheck</service-name>
- <inParameter-list/>
- <outParameter-list>
-<outParameter>
-<outParameter-type>string</outParameter-type>
- <outParameter-name>MiscTypes\OutString</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>boolean</outParameter-type>
- <outParameter-name>MiscTypes\OutBool</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>char</outParameter-type>
- <outParameter-name>MiscTypes\OutChar</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>short</outParameter-type>
- <outParameter-name>MiscTypes\OutShort</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>MiscTypes\OutLong</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>float</outParameter-type>
- <outParameter-name>MiscTypes\OutFloat</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>double</outParameter-type>
- <outParameter-name>MiscTypes\OutDouble</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>SuperVisionTest::Adder</outParameter-type>
- <outParameter-name>MiscTypes\OutObjRef</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list/>
- <creation-date>30/7/2003 - 14:23:52</creation-date>
- <lastmodification-date>12/9/2003 - 10:31:19</lastmodification-date>
- <editor-release>1.04</editor-release>
- <author>JR</author>
- <container>?</container>
- <comment>Check conversions of Long</comment>
- <x-position>0</x-position>
- <y-position>0</y-position> </node> </info-list>
- <node-list>
-<node>
-<component-name>?</component-name>
- <interface-name>?</interface-name>
- <node-name>Long</node-name>
- <kind>3</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>Long</service-name>
- <inParameter-list/>
- <outParameter-list>
-<outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>OutLong</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list>
-<PyFunction>
-<FuncName>Long</FuncName>
- <PyFunc><![CDATA[def Long() : ]]></PyFunc>
- <PyFunc><![CDATA[ aLong = 2147483647 ]]></PyFunc>
- <PyFunc><![CDATA[ print type( aLong ),"aLong",aLong ]]></PyFunc>
- <PyFunc><![CDATA[ return aLong ]]></PyFunc>
- <PyFunc><![CDATA[?]]></PyFunc> </PyFunction> </PyFunction-list>
- <creation-date>12/9/2003 - 10:31:19</creation-date>
- <lastmodification-date>12/9/2003 - 10:31:19</lastmodification-date>
- <editor-release>1.04</editor-release>
- <author>JR</author>
- <container>?</container>
- <comment>InLine Node</comment>
- <x-position>14</x-position>
- <y-position>114</y-position> </node>
- <node>
-<component-name>TypesCheck</component-name>
- <interface-name>TypesCheck</interface-name>
- <node-name>MiscTypes</node-name>
- <kind>0</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>MiscTypes</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>string</inParameter-type>
- <inParameter-name>InString</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>boolean</inParameter-type>
- <inParameter-name>InBool</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>char</inParameter-type>
- <inParameter-name>InChar</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>short</inParameter-type>
- <inParameter-name>InShort</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>InLong</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>float</inParameter-type>
- <inParameter-name>InFloat</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>double</inParameter-type>
- <inParameter-name>InDouble</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>SuperVisionTest::Adder</inParameter-type>
- <inParameter-name>InObjRef</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>string</outParameter-type>
- <outParameter-name>OutString</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>boolean</outParameter-type>
- <outParameter-name>OutBool</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>char</outParameter-type>
- <outParameter-name>OutChar</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>short</outParameter-type>
- <outParameter-name>OutShort</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>OutLong</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>float</outParameter-type>
- <outParameter-name>OutFloat</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>double</outParameter-type>
- <outParameter-name>OutDouble</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>SuperVisionTest::Adder</outParameter-type>
- <outParameter-name>OutObjRef</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list/>
- <creation-date>12/9/2003 - 10:31:19</creation-date>
- <lastmodification-date>12/9/2003 - 10:31:19</lastmodification-date>
- <editor-release>1.05</editor-release>
- <author>?</author>
- <container>localhost/FactoryServer</container>
- <comment>MiscTypes from TypesCheck</comment>
- <x-position>284</x-position>
- <y-position>28</y-position> </node> </node-list>
- <link-list>
-<link>
-<fromnode-name>Long</fromnode-name>
- <fromserviceparameter-name>OutLong</fromserviceparameter-name>
- <tonode-name>MiscTypes</tonode-name>
- <toserviceparameter-name>InString</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>Long</fromnode-name>
- <fromserviceparameter-name>OutLong</fromserviceparameter-name>
- <tonode-name>MiscTypes</tonode-name>
- <toserviceparameter-name>InBool</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>Long</fromnode-name>
- <fromserviceparameter-name>OutLong</fromserviceparameter-name>
- <tonode-name>MiscTypes</tonode-name>
- <toserviceparameter-name>InChar</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>Long</fromnode-name>
- <fromserviceparameter-name>OutLong</fromserviceparameter-name>
- <tonode-name>MiscTypes</tonode-name>
- <toserviceparameter-name>InShort</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>Long</fromnode-name>
- <fromserviceparameter-name>OutLong</fromserviceparameter-name>
- <tonode-name>MiscTypes</tonode-name>
- <toserviceparameter-name>InLong</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>Long</fromnode-name>
- <fromserviceparameter-name>OutLong</fromserviceparameter-name>
- <tonode-name>MiscTypes</tonode-name>
- <toserviceparameter-name>InFloat</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>Long</fromnode-name>
- <fromserviceparameter-name>OutLong</fromserviceparameter-name>
- <tonode-name>MiscTypes</tonode-name>
- <toserviceparameter-name>InDouble</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>Long</fromnode-name>
- <fromserviceparameter-name>OutLong</fromserviceparameter-name>
- <tonode-name>MiscTypes</tonode-name>
- <toserviceparameter-name>InObjRef</toserviceparameter-name>
- <coord-list/> </link> </link-list>
- <data-list/></dataflow>
+++ /dev/null
-
-# Generated python file of Graph GraphConvertLongStringCheck
-
-from SuperV import *
-# Graph creation
-GraphConvertLongStringCheck = Graph( 'GraphConvertLongStringCheck' )
-GraphConvertLongStringCheck.SetName( 'GraphConvertLongStringCheck' )
-GraphConvertLongStringCheck.SetAuthor( 'JR' )
-GraphConvertLongStringCheck.SetComment( 'Check conversions of String' )
-GraphConvertLongStringCheck.Coords( 0 , 0 )
-
-# Creation of Factory Nodes
-
-MiscTypes = GraphConvertLongStringCheck.FNode( 'TypesCheck' , 'TypesCheck' , 'MiscTypes' )
-MiscTypes.SetName( 'MiscTypes' )
-MiscTypes.SetAuthor( '' )
-MiscTypes.SetContainer( 'localhost/FactoryServer' )
-MiscTypes.SetComment( 'MiscTypes from TypesCheck' )
-MiscTypes.Coords( 284 , 28 )
-
-# Creation of InLine Nodes
-PyLongString = []
-PyLongString.append( 'def LongString() : ' )
-PyLongString.append( ' string = "9223372036854775807" ' )
-PyLongString.append( ' return string ' )
-PyLongString.append( ' ' )
-LongString = GraphConvertLongStringCheck.INode( 'LongString' , PyLongString )
-LongString.OutPort( 'OutString' , 'string' )
-LongString.SetName( 'LongString' )
-LongString.SetAuthor( 'JR' )
-LongString.SetComment( 'InLine Node' )
-LongString.Coords( 14 , 114 )
-
-# Creation of Links
-LongStringOutString = LongString.Port( 'OutString' )
-MiscTypesInString = GraphConvertLongStringCheck.Link( LongStringOutString , MiscTypes.Port( 'InString' ) )
-
-MiscTypesInBool = GraphConvertLongStringCheck.Link( LongStringOutString , MiscTypes.Port( 'InBool' ) )
-
-MiscTypesInChar = GraphConvertLongStringCheck.Link( LongStringOutString , MiscTypes.Port( 'InChar' ) )
-
-MiscTypesInShort = GraphConvertLongStringCheck.Link( LongStringOutString , MiscTypes.Port( 'InShort' ) )
-
-MiscTypesInLong = GraphConvertLongStringCheck.Link( LongStringOutString , MiscTypes.Port( 'InLong' ) )
-
-MiscTypesInFloat = GraphConvertLongStringCheck.Link( LongStringOutString , MiscTypes.Port( 'InFloat' ) )
-
-MiscTypesInDouble = GraphConvertLongStringCheck.Link( LongStringOutString , MiscTypes.Port( 'InDouble' ) )
-
-MiscTypesInObjRef = GraphConvertLongStringCheck.Link( LongStringOutString , MiscTypes.Port( 'InObjRef' ) )
-
-# Creation of Output variables
-MiscTypesOutString = MiscTypes.Port( 'OutString' )
-MiscTypesOutBool = MiscTypes.Port( 'OutBool' )
-MiscTypesOutChar = MiscTypes.Port( 'OutChar' )
-MiscTypesOutShort = MiscTypes.Port( 'OutShort' )
-MiscTypesOutLong = MiscTypes.Port( 'OutLong' )
-MiscTypesOutFloat = MiscTypes.Port( 'OutFloat' )
-MiscTypesOutDouble = MiscTypes.Port( 'OutDouble' )
-MiscTypesOutObjRef = MiscTypes.Port( 'OutObjRef' )
-
-GraphConvertLongStringCheck.Run()
-GraphConvertLongStringCheck.DoneW()
-GraphConvertLongStringCheck.PrintPorts()
+++ /dev/null
-<!DOCTYPE Dataflow>
-<dataflow>
-<info-list>
-<node>
-<component-name>?</component-name>
- <interface-name>?</interface-name>
- <node-name>GraphConvertLongStringCheck</node-name>
- <kind>1</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>GraphConvertLongStringCheck</service-name>
- <inParameter-list/>
- <outParameter-list>
-<outParameter>
-<outParameter-type>string</outParameter-type>
- <outParameter-name>MiscTypes\OutString</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>boolean</outParameter-type>
- <outParameter-name>MiscTypes\OutBool</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>char</outParameter-type>
- <outParameter-name>MiscTypes\OutChar</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>short</outParameter-type>
- <outParameter-name>MiscTypes\OutShort</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>MiscTypes\OutLong</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>float</outParameter-type>
- <outParameter-name>MiscTypes\OutFloat</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>double</outParameter-type>
- <outParameter-name>MiscTypes\OutDouble</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>SuperVisionTest::Adder</outParameter-type>
- <outParameter-name>MiscTypes\OutObjRef</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list/>
- <creation-date>30/7/2003 - 14:23:52</creation-date>
- <lastmodification-date>12/9/2003 - 10:51:28</lastmodification-date>
- <editor-release>1.04</editor-release>
- <author>JR</author>
- <container>?</container>
- <comment>Check conversions of String</comment>
- <x-position>0</x-position>
- <y-position>0</y-position> </node> </info-list>
- <node-list>
-<node>
-<component-name>?</component-name>
- <interface-name>?</interface-name>
- <node-name>LongString</node-name>
- <kind>3</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>LongString</service-name>
- <inParameter-list/>
- <outParameter-list>
-<outParameter>
-<outParameter-type>string</outParameter-type>
- <outParameter-name>OutString</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list>
-<PyFunction>
-<FuncName>LongString</FuncName>
- <PyFunc><![CDATA[def LongString() : ]]></PyFunc>
- <PyFunc><![CDATA[ string = "9223372036854775807" ]]></PyFunc>
- <PyFunc><![CDATA[ return string ]]></PyFunc>
- <PyFunc><![CDATA[?]]></PyFunc> </PyFunction> </PyFunction-list>
- <creation-date>12/9/2003 - 10:51:28</creation-date>
- <lastmodification-date>12/9/2003 - 10:51:28</lastmodification-date>
- <editor-release>1.04</editor-release>
- <author>JR</author>
- <container>?</container>
- <comment>InLine Node</comment>
- <x-position>14</x-position>
- <y-position>114</y-position> </node>
- <node>
-<component-name>TypesCheck</component-name>
- <interface-name>TypesCheck</interface-name>
- <node-name>MiscTypes</node-name>
- <kind>0</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>MiscTypes</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>string</inParameter-type>
- <inParameter-name>InString</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>boolean</inParameter-type>
- <inParameter-name>InBool</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>char</inParameter-type>
- <inParameter-name>InChar</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>short</inParameter-type>
- <inParameter-name>InShort</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>InLong</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>float</inParameter-type>
- <inParameter-name>InFloat</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>double</inParameter-type>
- <inParameter-name>InDouble</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>SuperVisionTest::Adder</inParameter-type>
- <inParameter-name>InObjRef</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>string</outParameter-type>
- <outParameter-name>OutString</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>boolean</outParameter-type>
- <outParameter-name>OutBool</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>char</outParameter-type>
- <outParameter-name>OutChar</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>short</outParameter-type>
- <outParameter-name>OutShort</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>OutLong</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>float</outParameter-type>
- <outParameter-name>OutFloat</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>double</outParameter-type>
- <outParameter-name>OutDouble</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>SuperVisionTest::Adder</outParameter-type>
- <outParameter-name>OutObjRef</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list/>
- <creation-date>12/9/2003 - 10:51:28</creation-date>
- <lastmodification-date>12/9/2003 - 10:51:28</lastmodification-date>
- <editor-release>1.05</editor-release>
- <author>?</author>
- <container>localhost/FactoryServer</container>
- <comment>MiscTypes from TypesCheck</comment>
- <x-position>284</x-position>
- <y-position>28</y-position> </node> </node-list>
- <link-list>
-<link>
-<fromnode-name>LongString</fromnode-name>
- <fromserviceparameter-name>OutString</fromserviceparameter-name>
- <tonode-name>MiscTypes</tonode-name>
- <toserviceparameter-name>InString</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>LongString</fromnode-name>
- <fromserviceparameter-name>OutString</fromserviceparameter-name>
- <tonode-name>MiscTypes</tonode-name>
- <toserviceparameter-name>InBool</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>LongString</fromnode-name>
- <fromserviceparameter-name>OutString</fromserviceparameter-name>
- <tonode-name>MiscTypes</tonode-name>
- <toserviceparameter-name>InChar</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>LongString</fromnode-name>
- <fromserviceparameter-name>OutString</fromserviceparameter-name>
- <tonode-name>MiscTypes</tonode-name>
- <toserviceparameter-name>InShort</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>LongString</fromnode-name>
- <fromserviceparameter-name>OutString</fromserviceparameter-name>
- <tonode-name>MiscTypes</tonode-name>
- <toserviceparameter-name>InLong</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>LongString</fromnode-name>
- <fromserviceparameter-name>OutString</fromserviceparameter-name>
- <tonode-name>MiscTypes</tonode-name>
- <toserviceparameter-name>InFloat</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>LongString</fromnode-name>
- <fromserviceparameter-name>OutString</fromserviceparameter-name>
- <tonode-name>MiscTypes</tonode-name>
- <toserviceparameter-name>InDouble</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>LongString</fromnode-name>
- <fromserviceparameter-name>OutString</fromserviceparameter-name>
- <tonode-name>MiscTypes</tonode-name>
- <toserviceparameter-name>InObjRef</toserviceparameter-name>
- <coord-list/> </link> </link-list>
- <data-list/></dataflow>
+++ /dev/null
-
-# Generated python file of Graph GraphConvertObjRefCheck
-
-from SuperV import *
-# Graph creation
-GraphConvertObjRefCheck = Graph( 'GraphConvertObjRefCheck' )
-GraphConvertObjRefCheck.SetName( 'GraphConvertObjRefCheck' )
-GraphConvertObjRefCheck.SetAuthor( 'JR' )
-GraphConvertObjRefCheck.SetComment( 'Check conversions of ObjRef' )
-GraphConvertObjRefCheck.Coords( 0 , 0 )
-
-# Creation of Factory Nodes
-
-MiscTypes = GraphConvertObjRefCheck.FNode( 'TypesCheck' , 'TypesCheck' , 'MiscTypes' )
-MiscTypes.SetName( 'MiscTypes' )
-MiscTypes.SetAuthor( '' )
-MiscTypes.SetContainer( 'localhost/FactoryServer' )
-MiscTypes.SetComment( 'MiscTypes from TypesCheck' )
-MiscTypes.Coords( 284 , 28 )
-
-# Creation of InLine Nodes
-PySyrComponent = []
-PySyrComponent.append( 'from LifeCycleCORBA import * ' )
-PySyrComponent.append( 'def SyrComponent( aContainer , aComponent ) : ' )
-PySyrComponent.append( ' print "SyrComponent(",aContainer,",",aComponent,")" ' )
-PySyrComponent.append( ' orb = CORBA.ORB_init([], CORBA.ORB_ID) ' )
-PySyrComponent.append( ' print "SyrComponent orb",orb ' )
-PySyrComponent.append( ' lcc = LifeCycleCORBA(orb) ' )
-PySyrComponent.append( ' print "SyrComponent lcc",lcc ' )
-PySyrComponent.append( ' print "SyrComponent(",aContainer,",",aComponent,")" ' )
-PySyrComponent.append( ' ComponentRef = lcc.FindOrLoadComponent( aContainer , aComponent ) ' )
-PySyrComponent.append( ' print "SyrComponent(",aContainer,",",aComponent,") --> ",ComponentRef ' )
-PySyrComponent.append( ' return ComponentRef ' )
-PySyrComponent.append( '' )
-SyrComponent = GraphConvertObjRefCheck.INode( 'SyrComponent' , PySyrComponent )
-SyrComponent.InPort( 'aContainer' , 'string' )
-SyrComponent.InPort( 'aComponent' , 'string' )
-SyrComponent.OutPort( 'anObjRef' , 'objref' )
-SyrComponent.SetName( 'SyrComponent' )
-SyrComponent.SetAuthor( 'JR' )
-SyrComponent.SetComment( 'InLine Node' )
-SyrComponent.Coords( 14 , 114 )
-
-# Creation of Links
-SyrComponentanObjRef = SyrComponent.Port( 'anObjRef' )
-MiscTypesInShort = GraphConvertObjRefCheck.Link( SyrComponentanObjRef , MiscTypes.Port( 'InShort' ) )
-
-MiscTypesInString = GraphConvertObjRefCheck.Link( SyrComponentanObjRef , MiscTypes.Port( 'InString' ) )
-
-MiscTypesInBool = GraphConvertObjRefCheck.Link( SyrComponentanObjRef , MiscTypes.Port( 'InBool' ) )
-
-MiscTypesInChar = GraphConvertObjRefCheck.Link( SyrComponentanObjRef , MiscTypes.Port( 'InChar' ) )
-
-MiscTypesInLong = GraphConvertObjRefCheck.Link( SyrComponentanObjRef , MiscTypes.Port( 'InLong' ) )
-
-MiscTypesInFloat = GraphConvertObjRefCheck.Link( SyrComponentanObjRef , MiscTypes.Port( 'InFloat' ) )
-
-MiscTypesInDouble = GraphConvertObjRefCheck.Link( SyrComponentanObjRef , MiscTypes.Port( 'InDouble' ) )
-
-MiscTypesInObjRef = GraphConvertObjRefCheck.Link( SyrComponentanObjRef , MiscTypes.Port( 'InObjRef' ) )
-
-# Creation of Input datas
-SyrComponentaContainer = SyrComponent.Input( 'aContainer' , 'FactoryServerPy')
-SyrComponentaComponent = SyrComponent.Input( 'aComponent' , 'SyrControlComponent')
-
-# Creation of Output variables
-MiscTypesOutString = MiscTypes.Port( 'OutString' )
-MiscTypesOutBool = MiscTypes.Port( 'OutBool' )
-MiscTypesOutChar = MiscTypes.Port( 'OutChar' )
-MiscTypesOutShort = MiscTypes.Port( 'OutShort' )
-MiscTypesOutLong = MiscTypes.Port( 'OutLong' )
-MiscTypesOutFloat = MiscTypes.Port( 'OutFloat' )
-MiscTypesOutDouble = MiscTypes.Port( 'OutDouble' )
-MiscTypesOutObjRef = MiscTypes.Port( 'OutObjRef' )
-
-GraphConvertObjRefCheck.Run()
-GraphConvertObjRefCheck.DoneW()
-GraphConvertObjRefCheck.PrintPorts()
+++ /dev/null
-<!DOCTYPE Dataflow>
-<dataflow>
-<info-list>
-<node>
-<component-name>?</component-name>
- <interface-name>?</interface-name>
- <node-name>GraphConvertObjRefCheck</node-name>
- <kind>1</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>GraphConvertObjRefCheck</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>string</inParameter-type>
- <inParameter-name>SyrComponent\aContainer</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>string</inParameter-type>
- <inParameter-name>SyrComponent\aComponent</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>string</outParameter-type>
- <outParameter-name>MiscTypes\OutString</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>boolean</outParameter-type>
- <outParameter-name>MiscTypes\OutBool</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>char</outParameter-type>
- <outParameter-name>MiscTypes\OutChar</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>short</outParameter-type>
- <outParameter-name>MiscTypes\OutShort</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>MiscTypes\OutLong</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>float</outParameter-type>
- <outParameter-name>MiscTypes\OutFloat</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>double</outParameter-type>
- <outParameter-name>MiscTypes\OutDouble</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>SuperVisionTest::Adder</outParameter-type>
- <outParameter-name>MiscTypes\OutObjRef</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list/>
- <creation-date>30/7/2003 - 14:23:52</creation-date>
- <lastmodification-date>11/9/2003 - 15:18:16</lastmodification-date>
- <editor-release>1.04</editor-release>
- <author>JR</author>
- <container>?</container>
- <comment>Check conversions of ObjRef</comment>
- <x-position>0</x-position>
- <y-position>0</y-position> </node> </info-list>
- <node-list>
-<node>
-<component-name>?</component-name>
- <interface-name>?</interface-name>
- <node-name>SyrComponent</node-name>
- <kind>3</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>SyrComponent</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>string</inParameter-type>
- <inParameter-name>aContainer</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>string</inParameter-type>
- <inParameter-name>aComponent</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>objref</outParameter-type>
- <outParameter-name>anObjRef</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list>
-<PyFunction>
-<FuncName>SyrComponent</FuncName>
- <PyFunc><![CDATA[from LifeCycleCORBA import * ]]></PyFunc>
- <PyFunc><![CDATA[def SyrComponent( aContainer , aComponent ) : ]]></PyFunc>
- <PyFunc><![CDATA[ print "SyrComponent(",aContainer,",",aComponent,")" ]]></PyFunc>
- <PyFunc><![CDATA[ orb = CORBA.ORB_init([], CORBA.ORB_ID) ]]></PyFunc>
- <PyFunc><![CDATA[ print "SyrComponent orb",orb ]]></PyFunc>
- <PyFunc><![CDATA[ lcc = LifeCycleCORBA(orb) ]]></PyFunc>
- <PyFunc><![CDATA[ print "SyrComponent lcc",lcc ]]></PyFunc>
- <PyFunc><![CDATA[ print "SyrComponent(",aContainer,",",aComponent,")" ]]></PyFunc>
- <PyFunc><![CDATA[ ComponentRef = lcc.FindOrLoadComponent( aContainer , aComponent ) ]]></PyFunc>
- <PyFunc><![CDATA[ print "SyrComponent(",aContainer,",",aComponent,") --> ",ComponentRef ]]></PyFunc>
- <PyFunc><![CDATA[ return ComponentRef ]]></PyFunc>
- <PyFunc><![CDATA[?]]></PyFunc> </PyFunction> </PyFunction-list>
- <creation-date>11/9/2003 - 15:16:43</creation-date>
- <lastmodification-date>11/9/2003 - 15:16:43</lastmodification-date>
- <editor-release>1.04</editor-release>
- <author>JR</author>
- <container>?</container>
- <comment>InLine Node</comment>
- <x-position>14</x-position>
- <y-position>114</y-position> </node>
- <node>
-<component-name>TypesCheck</component-name>
- <interface-name>TypesCheck</interface-name>
- <node-name>MiscTypes</node-name>
- <kind>0</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>MiscTypes</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>string</inParameter-type>
- <inParameter-name>InString</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>boolean</inParameter-type>
- <inParameter-name>InBool</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>char</inParameter-type>
- <inParameter-name>InChar</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>short</inParameter-type>
- <inParameter-name>InShort</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>InLong</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>float</inParameter-type>
- <inParameter-name>InFloat</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>double</inParameter-type>
- <inParameter-name>InDouble</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>SuperVisionTest::Adder</inParameter-type>
- <inParameter-name>InObjRef</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>string</outParameter-type>
- <outParameter-name>OutString</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>boolean</outParameter-type>
- <outParameter-name>OutBool</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>char</outParameter-type>
- <outParameter-name>OutChar</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>short</outParameter-type>
- <outParameter-name>OutShort</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>OutLong</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>float</outParameter-type>
- <outParameter-name>OutFloat</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>double</outParameter-type>
- <outParameter-name>OutDouble</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>SuperVisionTest::Adder</outParameter-type>
- <outParameter-name>OutObjRef</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list/>
- <creation-date>11/9/2003 - 15:16:43</creation-date>
- <lastmodification-date>11/9/2003 - 15:16:43</lastmodification-date>
- <editor-release>1.05</editor-release>
- <author>?</author>
- <container>localhost/FactoryServer</container>
- <comment>MiscTypes from TypesCheck</comment>
- <x-position>284</x-position>
- <y-position>28</y-position> </node> </node-list>
- <link-list>
-<link>
-<fromnode-name>SyrComponent</fromnode-name>
- <fromserviceparameter-name>anObjRef</fromserviceparameter-name>
- <tonode-name>MiscTypes</tonode-name>
- <toserviceparameter-name>InShort</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>SyrComponent</fromnode-name>
- <fromserviceparameter-name>anObjRef</fromserviceparameter-name>
- <tonode-name>MiscTypes</tonode-name>
- <toserviceparameter-name>InString</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>SyrComponent</fromnode-name>
- <fromserviceparameter-name>anObjRef</fromserviceparameter-name>
- <tonode-name>MiscTypes</tonode-name>
- <toserviceparameter-name>InBool</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>SyrComponent</fromnode-name>
- <fromserviceparameter-name>anObjRef</fromserviceparameter-name>
- <tonode-name>MiscTypes</tonode-name>
- <toserviceparameter-name>InChar</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>SyrComponent</fromnode-name>
- <fromserviceparameter-name>anObjRef</fromserviceparameter-name>
- <tonode-name>MiscTypes</tonode-name>
- <toserviceparameter-name>InLong</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>SyrComponent</fromnode-name>
- <fromserviceparameter-name>anObjRef</fromserviceparameter-name>
- <tonode-name>MiscTypes</tonode-name>
- <toserviceparameter-name>InFloat</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>SyrComponent</fromnode-name>
- <fromserviceparameter-name>anObjRef</fromserviceparameter-name>
- <tonode-name>MiscTypes</tonode-name>
- <toserviceparameter-name>InDouble</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>SyrComponent</fromnode-name>
- <fromserviceparameter-name>anObjRef</fromserviceparameter-name>
- <tonode-name>MiscTypes</tonode-name>
- <toserviceparameter-name>InObjRef</toserviceparameter-name>
- <coord-list/> </link> </link-list>
- <data-list>
-<data>
-<fromnode-name>GraphConvertObjRefCheck</fromnode-name>
- <fromserviceparameter-name>SyrComponent\aContainer</fromserviceparameter-name>
- <tonode-name>SyrComponent</tonode-name>
- <toserviceparameter-name>aContainer</toserviceparameter-name>
- <data-value>
-<value-type>18</value-type>
- <value>FactoryServerPy</value> </data-value>
- <coord-list/> </data>
- <data>
-<fromnode-name>GraphConvertObjRefCheck</fromnode-name>
- <fromserviceparameter-name>SyrComponent\aComponent</fromserviceparameter-name>
- <tonode-name>SyrComponent</tonode-name>
- <toserviceparameter-name>aComponent</toserviceparameter-name>
- <data-value>
-<value-type>18</value-type>
- <value>SyrControlComponent</value> </data-value>
- <coord-list/> </data> </data-list></dataflow>
+++ /dev/null
-
-# Generated python file of Graph GraphConvertShortCheck
-
-from SuperV import *
-# Graph creation
-GraphConvertShortCheck = Graph( 'GraphConvertShortCheck' )
-GraphConvertShortCheck.SetName( 'GraphConvertShortCheck' )
-GraphConvertShortCheck.SetAuthor( 'JR' )
-GraphConvertShortCheck.SetComment( 'Check conversions of Short' )
-GraphConvertShortCheck.Coords( 0 , 0 )
-
-# Creation of Factory Nodes
-
-MiscTypes = GraphConvertShortCheck.FNode( 'TypesCheck' , 'TypesCheck' , 'MiscTypes' )
-MiscTypes.SetName( 'MiscTypes' )
-MiscTypes.SetAuthor( '' )
-MiscTypes.SetContainer( 'localhost/FactoryServer' )
-MiscTypes.SetComment( 'MiscTypes from TypesCheck' )
-MiscTypes.Coords( 284 , 28 )
-
-# Creation of InLine Nodes
-PyShort = []
-PyShort.append( 'def Short() : ' )
-PyShort.append( ' aShort = 32767 ' )
-PyShort.append( ' print type( aShort ),"aShort",aShort ' )
-PyShort.append( ' return aShort ' )
-PyShort.append( ' ' )
-Short = GraphConvertShortCheck.INode( 'Short' , PyShort )
-Short.OutPort( 'OutShort' , 'short' )
-Short.SetName( 'Short' )
-Short.SetAuthor( 'JR' )
-Short.SetComment( 'InLine Node' )
-Short.Coords( 14 , 114 )
-
-# Creation of Links
-ShortOutShort = Short.Port( 'OutShort' )
-MiscTypesInString = GraphConvertShortCheck.Link( ShortOutShort , MiscTypes.Port( 'InString' ) )
-
-MiscTypesInBool = GraphConvertShortCheck.Link( ShortOutShort , MiscTypes.Port( 'InBool' ) )
-
-MiscTypesInChar = GraphConvertShortCheck.Link( ShortOutShort , MiscTypes.Port( 'InChar' ) )
-
-MiscTypesInShort = GraphConvertShortCheck.Link( ShortOutShort , MiscTypes.Port( 'InShort' ) )
-
-MiscTypesInLong = GraphConvertShortCheck.Link( ShortOutShort , MiscTypes.Port( 'InLong' ) )
-
-MiscTypesInFloat = GraphConvertShortCheck.Link( ShortOutShort , MiscTypes.Port( 'InFloat' ) )
-
-MiscTypesInDouble = GraphConvertShortCheck.Link( ShortOutShort , MiscTypes.Port( 'InDouble' ) )
-
-MiscTypesInObjRef = GraphConvertShortCheck.Link( ShortOutShort , MiscTypes.Port( 'InObjRef' ) )
-
-# Creation of Output variables
-MiscTypesOutString = MiscTypes.Port( 'OutString' )
-MiscTypesOutBool = MiscTypes.Port( 'OutBool' )
-MiscTypesOutChar = MiscTypes.Port( 'OutChar' )
-MiscTypesOutShort = MiscTypes.Port( 'OutShort' )
-MiscTypesOutLong = MiscTypes.Port( 'OutLong' )
-MiscTypesOutFloat = MiscTypes.Port( 'OutFloat' )
-MiscTypesOutDouble = MiscTypes.Port( 'OutDouble' )
-MiscTypesOutObjRef = MiscTypes.Port( 'OutObjRef' )
-
-GraphConvertShortCheck.Run()
-GraphConvertShortCheck.DoneW()
-GraphConvertShortCheck.PrintPorts()
+++ /dev/null
-<!DOCTYPE Dataflow>
-<dataflow>
-<info-list>
-<node>
-<component-name>?</component-name>
- <interface-name>?</interface-name>
- <node-name>GraphConvertShortCheck</node-name>
- <kind>1</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>GraphConvertShortCheck</service-name>
- <inParameter-list/>
- <outParameter-list>
-<outParameter>
-<outParameter-type>string</outParameter-type>
- <outParameter-name>MiscTypes\OutString</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>boolean</outParameter-type>
- <outParameter-name>MiscTypes\OutBool</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>char</outParameter-type>
- <outParameter-name>MiscTypes\OutChar</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>short</outParameter-type>
- <outParameter-name>MiscTypes\OutShort</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>MiscTypes\OutLong</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>float</outParameter-type>
- <outParameter-name>MiscTypes\OutFloat</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>double</outParameter-type>
- <outParameter-name>MiscTypes\OutDouble</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>SuperVisionTest::Adder</outParameter-type>
- <outParameter-name>MiscTypes\OutObjRef</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list/>
- <creation-date>30/7/2003 - 14:23:52</creation-date>
- <lastmodification-date>12/9/2003 - 10:35:33</lastmodification-date>
- <editor-release>1.04</editor-release>
- <author>JR</author>
- <container>?</container>
- <comment>Check conversions of Short</comment>
- <x-position>0</x-position>
- <y-position>0</y-position> </node> </info-list>
- <node-list>
-<node>
-<component-name>?</component-name>
- <interface-name>?</interface-name>
- <node-name>Short</node-name>
- <kind>3</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>Short</service-name>
- <inParameter-list/>
- <outParameter-list>
-<outParameter>
-<outParameter-type>short</outParameter-type>
- <outParameter-name>OutShort</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list>
-<PyFunction>
-<FuncName>Short</FuncName>
- <PyFunc><![CDATA[def Short() : ]]></PyFunc>
- <PyFunc><![CDATA[ aShort = 32767 ]]></PyFunc>
- <PyFunc><![CDATA[ print type( aShort ),"aShort",aShort ]]></PyFunc>
- <PyFunc><![CDATA[ return aShort ]]></PyFunc>
- <PyFunc><![CDATA[?]]></PyFunc> </PyFunction> </PyFunction-list>
- <creation-date>12/9/2003 - 10:35:33</creation-date>
- <lastmodification-date>12/9/2003 - 10:35:33</lastmodification-date>
- <editor-release>1.04</editor-release>
- <author>JR</author>
- <container>?</container>
- <comment>InLine Node</comment>
- <x-position>14</x-position>
- <y-position>114</y-position> </node>
- <node>
-<component-name>TypesCheck</component-name>
- <interface-name>TypesCheck</interface-name>
- <node-name>MiscTypes</node-name>
- <kind>0</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>MiscTypes</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>string</inParameter-type>
- <inParameter-name>InString</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>boolean</inParameter-type>
- <inParameter-name>InBool</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>char</inParameter-type>
- <inParameter-name>InChar</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>short</inParameter-type>
- <inParameter-name>InShort</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>InLong</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>float</inParameter-type>
- <inParameter-name>InFloat</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>double</inParameter-type>
- <inParameter-name>InDouble</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>SuperVisionTest::Adder</inParameter-type>
- <inParameter-name>InObjRef</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>string</outParameter-type>
- <outParameter-name>OutString</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>boolean</outParameter-type>
- <outParameter-name>OutBool</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>char</outParameter-type>
- <outParameter-name>OutChar</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>short</outParameter-type>
- <outParameter-name>OutShort</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>OutLong</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>float</outParameter-type>
- <outParameter-name>OutFloat</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>double</outParameter-type>
- <outParameter-name>OutDouble</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>SuperVisionTest::Adder</outParameter-type>
- <outParameter-name>OutObjRef</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list/>
- <creation-date>12/9/2003 - 10:35:33</creation-date>
- <lastmodification-date>12/9/2003 - 10:35:33</lastmodification-date>
- <editor-release>1.05</editor-release>
- <author>?</author>
- <container>localhost/FactoryServer</container>
- <comment>MiscTypes from TypesCheck</comment>
- <x-position>284</x-position>
- <y-position>28</y-position> </node> </node-list>
- <link-list>
-<link>
-<fromnode-name>Short</fromnode-name>
- <fromserviceparameter-name>OutShort</fromserviceparameter-name>
- <tonode-name>MiscTypes</tonode-name>
- <toserviceparameter-name>InString</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>Short</fromnode-name>
- <fromserviceparameter-name>OutShort</fromserviceparameter-name>
- <tonode-name>MiscTypes</tonode-name>
- <toserviceparameter-name>InBool</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>Short</fromnode-name>
- <fromserviceparameter-name>OutShort</fromserviceparameter-name>
- <tonode-name>MiscTypes</tonode-name>
- <toserviceparameter-name>InChar</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>Short</fromnode-name>
- <fromserviceparameter-name>OutShort</fromserviceparameter-name>
- <tonode-name>MiscTypes</tonode-name>
- <toserviceparameter-name>InShort</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>Short</fromnode-name>
- <fromserviceparameter-name>OutShort</fromserviceparameter-name>
- <tonode-name>MiscTypes</tonode-name>
- <toserviceparameter-name>InLong</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>Short</fromnode-name>
- <fromserviceparameter-name>OutShort</fromserviceparameter-name>
- <tonode-name>MiscTypes</tonode-name>
- <toserviceparameter-name>InFloat</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>Short</fromnode-name>
- <fromserviceparameter-name>OutShort</fromserviceparameter-name>
- <tonode-name>MiscTypes</tonode-name>
- <toserviceparameter-name>InDouble</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>Short</fromnode-name>
- <fromserviceparameter-name>OutShort</fromserviceparameter-name>
- <tonode-name>MiscTypes</tonode-name>
- <toserviceparameter-name>InObjRef</toserviceparameter-name>
- <coord-list/> </link> </link-list>
- <data-list/></dataflow>
+++ /dev/null
-
-# Generated python file of Graph GraphConvertShortStringCheck
-
-from SuperV import *
-# Graph creation
-GraphConvertShortStringCheck = Graph( 'GraphConvertShortStringCheck' )
-GraphConvertShortStringCheck.SetName( 'GraphConvertShortStringCheck' )
-GraphConvertShortStringCheck.SetAuthor( 'JR' )
-GraphConvertShortStringCheck.SetComment( 'Check conversions of String' )
-GraphConvertShortStringCheck.Coords( 0 , 0 )
-
-# Creation of Factory Nodes
-
-MiscTypes = GraphConvertShortStringCheck.FNode( 'TypesCheck' , 'TypesCheck' , 'MiscTypes' )
-MiscTypes.SetName( 'MiscTypes' )
-MiscTypes.SetAuthor( '' )
-MiscTypes.SetContainer( 'localhost/FactoryServer' )
-MiscTypes.SetComment( 'MiscTypes from TypesCheck' )
-MiscTypes.Coords( 284 , 28 )
-
-# Creation of InLine Nodes
-PyShortString = []
-PyShortString.append( 'def ShortString() : ' )
-PyShortString.append( ' string = "32767" ' )
-PyShortString.append( ' return string ' )
-PyShortString.append( ' ' )
-ShortString = GraphConvertShortStringCheck.INode( 'ShortString' , PyShortString )
-ShortString.OutPort( 'OutString' , 'string' )
-ShortString.SetName( 'ShortString' )
-ShortString.SetAuthor( 'JR' )
-ShortString.SetComment( 'InLine Node' )
-ShortString.Coords( 14 , 114 )
-
-# Creation of Links
-ShortStringOutString = ShortString.Port( 'OutString' )
-MiscTypesInString = GraphConvertShortStringCheck.Link( ShortStringOutString , MiscTypes.Port( 'InString' ) )
-
-MiscTypesInBool = GraphConvertShortStringCheck.Link( ShortStringOutString , MiscTypes.Port( 'InBool' ) )
-
-MiscTypesInChar = GraphConvertShortStringCheck.Link( ShortStringOutString , MiscTypes.Port( 'InChar' ) )
-
-MiscTypesInShort = GraphConvertShortStringCheck.Link( ShortStringOutString , MiscTypes.Port( 'InShort' ) )
-
-MiscTypesInLong = GraphConvertShortStringCheck.Link( ShortStringOutString , MiscTypes.Port( 'InLong' ) )
-
-MiscTypesInFloat = GraphConvertShortStringCheck.Link( ShortStringOutString , MiscTypes.Port( 'InFloat' ) )
-
-MiscTypesInDouble = GraphConvertShortStringCheck.Link( ShortStringOutString , MiscTypes.Port( 'InDouble' ) )
-
-MiscTypesInObjRef = GraphConvertShortStringCheck.Link( ShortStringOutString , MiscTypes.Port( 'InObjRef' ) )
-
-# Creation of Output variables
-MiscTypesOutString = MiscTypes.Port( 'OutString' )
-MiscTypesOutBool = MiscTypes.Port( 'OutBool' )
-MiscTypesOutChar = MiscTypes.Port( 'OutChar' )
-MiscTypesOutShort = MiscTypes.Port( 'OutShort' )
-MiscTypesOutLong = MiscTypes.Port( 'OutLong' )
-MiscTypesOutFloat = MiscTypes.Port( 'OutFloat' )
-MiscTypesOutDouble = MiscTypes.Port( 'OutDouble' )
-MiscTypesOutObjRef = MiscTypes.Port( 'OutObjRef' )
-
-GraphConvertShortStringCheck.Run()
-GraphConvertShortStringCheck.DoneW()
-GraphConvertShortStringCheck.PrintPorts()
+++ /dev/null
-<!DOCTYPE Dataflow>
-<dataflow>
-<info-list>
-<node>
-<component-name>?</component-name>
- <interface-name>?</interface-name>
- <node-name>GraphConvertShortStringCheck</node-name>
- <kind>1</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>GraphConvertShortStringCheck</service-name>
- <inParameter-list/>
- <outParameter-list>
-<outParameter>
-<outParameter-type>string</outParameter-type>
- <outParameter-name>MiscTypes\OutString</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>boolean</outParameter-type>
- <outParameter-name>MiscTypes\OutBool</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>char</outParameter-type>
- <outParameter-name>MiscTypes\OutChar</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>short</outParameter-type>
- <outParameter-name>MiscTypes\OutShort</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>MiscTypes\OutLong</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>float</outParameter-type>
- <outParameter-name>MiscTypes\OutFloat</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>double</outParameter-type>
- <outParameter-name>MiscTypes\OutDouble</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>SuperVisionTest::Adder</outParameter-type>
- <outParameter-name>MiscTypes\OutObjRef</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list/>
- <creation-date>30/7/2003 - 14:23:52</creation-date>
- <lastmodification-date>12/9/2003 - 10:37:59</lastmodification-date>
- <editor-release>1.04</editor-release>
- <author>JR</author>
- <container>?</container>
- <comment>Check conversions of String</comment>
- <x-position>0</x-position>
- <y-position>0</y-position> </node> </info-list>
- <node-list>
-<node>
-<component-name>?</component-name>
- <interface-name>?</interface-name>
- <node-name>ShortString</node-name>
- <kind>3</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>ShortString</service-name>
- <inParameter-list/>
- <outParameter-list>
-<outParameter>
-<outParameter-type>string</outParameter-type>
- <outParameter-name>OutString</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list>
-<PyFunction>
-<FuncName>ShortString</FuncName>
- <PyFunc><![CDATA[def ShortString() : ]]></PyFunc>
- <PyFunc><![CDATA[ string = "32767" ]]></PyFunc>
- <PyFunc><![CDATA[ return string ]]></PyFunc>
- <PyFunc><![CDATA[?]]></PyFunc> </PyFunction> </PyFunction-list>
- <creation-date>12/9/2003 - 10:37:59</creation-date>
- <lastmodification-date>12/9/2003 - 10:37:59</lastmodification-date>
- <editor-release>1.04</editor-release>
- <author>JR</author>
- <container>?</container>
- <comment>InLine Node</comment>
- <x-position>14</x-position>
- <y-position>114</y-position> </node>
- <node>
-<component-name>TypesCheck</component-name>
- <interface-name>TypesCheck</interface-name>
- <node-name>MiscTypes</node-name>
- <kind>0</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>MiscTypes</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>string</inParameter-type>
- <inParameter-name>InString</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>boolean</inParameter-type>
- <inParameter-name>InBool</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>char</inParameter-type>
- <inParameter-name>InChar</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>short</inParameter-type>
- <inParameter-name>InShort</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>InLong</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>float</inParameter-type>
- <inParameter-name>InFloat</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>double</inParameter-type>
- <inParameter-name>InDouble</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>SuperVisionTest::Adder</inParameter-type>
- <inParameter-name>InObjRef</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>string</outParameter-type>
- <outParameter-name>OutString</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>boolean</outParameter-type>
- <outParameter-name>OutBool</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>char</outParameter-type>
- <outParameter-name>OutChar</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>short</outParameter-type>
- <outParameter-name>OutShort</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>OutLong</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>float</outParameter-type>
- <outParameter-name>OutFloat</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>double</outParameter-type>
- <outParameter-name>OutDouble</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>SuperVisionTest::Adder</outParameter-type>
- <outParameter-name>OutObjRef</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list/>
- <creation-date>12/9/2003 - 10:37:59</creation-date>
- <lastmodification-date>12/9/2003 - 10:37:59</lastmodification-date>
- <editor-release>1.05</editor-release>
- <author>?</author>
- <container>localhost/FactoryServer</container>
- <comment>MiscTypes from TypesCheck</comment>
- <x-position>284</x-position>
- <y-position>28</y-position> </node> </node-list>
- <link-list>
-<link>
-<fromnode-name>ShortString</fromnode-name>
- <fromserviceparameter-name>OutString</fromserviceparameter-name>
- <tonode-name>MiscTypes</tonode-name>
- <toserviceparameter-name>InString</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>ShortString</fromnode-name>
- <fromserviceparameter-name>OutString</fromserviceparameter-name>
- <tonode-name>MiscTypes</tonode-name>
- <toserviceparameter-name>InBool</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>ShortString</fromnode-name>
- <fromserviceparameter-name>OutString</fromserviceparameter-name>
- <tonode-name>MiscTypes</tonode-name>
- <toserviceparameter-name>InChar</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>ShortString</fromnode-name>
- <fromserviceparameter-name>OutString</fromserviceparameter-name>
- <tonode-name>MiscTypes</tonode-name>
- <toserviceparameter-name>InShort</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>ShortString</fromnode-name>
- <fromserviceparameter-name>OutString</fromserviceparameter-name>
- <tonode-name>MiscTypes</tonode-name>
- <toserviceparameter-name>InLong</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>ShortString</fromnode-name>
- <fromserviceparameter-name>OutString</fromserviceparameter-name>
- <tonode-name>MiscTypes</tonode-name>
- <toserviceparameter-name>InFloat</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>ShortString</fromnode-name>
- <fromserviceparameter-name>OutString</fromserviceparameter-name>
- <tonode-name>MiscTypes</tonode-name>
- <toserviceparameter-name>InDouble</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>ShortString</fromnode-name>
- <fromserviceparameter-name>OutString</fromserviceparameter-name>
- <tonode-name>MiscTypes</tonode-name>
- <toserviceparameter-name>InObjRef</toserviceparameter-name>
- <coord-list/> </link> </link-list>
- <data-list/></dataflow>
+++ /dev/null
-
-# Generated python file of Graph GraphConvertStringStringCheck
-
-from SuperV import *
-# Graph creation
-GraphConvertStringStringCheck = Graph( 'GraphConvertStringStringCheck' )
-GraphConvertStringStringCheck.SetName( 'GraphConvertStringStringCheck' )
-GraphConvertStringStringCheck.SetAuthor( 'JR' )
-GraphConvertStringStringCheck.SetComment( 'Check conversions of String' )
-GraphConvertStringStringCheck.Coords( 0 , 0 )
-
-# Creation of Factory Nodes
-
-MiscTypes = GraphConvertStringStringCheck.FNode( 'TypesCheck' , 'TypesCheck' , 'MiscTypes' )
-MiscTypes.SetName( 'MiscTypes' )
-MiscTypes.SetAuthor( '' )
-MiscTypes.SetContainer( 'localhost/FactoryServer' )
-MiscTypes.SetComment( 'MiscTypes from TypesCheck' )
-MiscTypes.Coords( 284 , 28 )
-
-# Creation of InLine Nodes
-PyStringString = []
-PyStringString.append( 'def StringString() : ' )
-PyStringString.append( ' string = "The sentence that you are reading cannot be demonstrated" ' )
-PyStringString.append( ' return string ' )
-PyStringString.append( '' )
-StringString = GraphConvertStringStringCheck.INode( 'StringString' , PyStringString )
-StringString.OutPort( 'OutString' , 'string' )
-StringString.SetName( 'StringString' )
-StringString.SetAuthor( 'JR' )
-StringString.SetComment( 'InLine Node' )
-StringString.Coords( 14 , 114 )
-
-# Creation of Links
-StringStringOutString = StringString.Port( 'OutString' )
-MiscTypesInString = GraphConvertStringStringCheck.Link( StringStringOutString , MiscTypes.Port( 'InString' ) )
-
-MiscTypesInBool = GraphConvertStringStringCheck.Link( StringStringOutString , MiscTypes.Port( 'InBool' ) )
-
-MiscTypesInChar = GraphConvertStringStringCheck.Link( StringStringOutString , MiscTypes.Port( 'InChar' ) )
-
-MiscTypesInShort = GraphConvertStringStringCheck.Link( StringStringOutString , MiscTypes.Port( 'InShort' ) )
-
-MiscTypesInLong = GraphConvertStringStringCheck.Link( StringStringOutString , MiscTypes.Port( 'InLong' ) )
-
-MiscTypesInFloat = GraphConvertStringStringCheck.Link( StringStringOutString , MiscTypes.Port( 'InFloat' ) )
-
-MiscTypesInDouble = GraphConvertStringStringCheck.Link( StringStringOutString , MiscTypes.Port( 'InDouble' ) )
-
-MiscTypesInObjRef = GraphConvertStringStringCheck.Link( StringStringOutString , MiscTypes.Port( 'InObjRef' ) )
-
-# Creation of Output variables
-MiscTypesOutString = MiscTypes.Port( 'OutString' )
-MiscTypesOutBool = MiscTypes.Port( 'OutBool' )
-MiscTypesOutChar = MiscTypes.Port( 'OutChar' )
-MiscTypesOutShort = MiscTypes.Port( 'OutShort' )
-MiscTypesOutLong = MiscTypes.Port( 'OutLong' )
-MiscTypesOutFloat = MiscTypes.Port( 'OutFloat' )
-MiscTypesOutDouble = MiscTypes.Port( 'OutDouble' )
-MiscTypesOutObjRef = MiscTypes.Port( 'OutObjRef' )
-
-GraphConvertStringStringCheck.Run()
-GraphConvertStringStringCheck.DoneW()
-GraphConvertStringStringCheck.PrintPorts()
+++ /dev/null
-<!DOCTYPE Dataflow>
-<dataflow>
-<info-list>
-<node>
-<component-name>?</component-name>
- <interface-name>?</interface-name>
- <node-name>GraphConvertStringStringCheck</node-name>
- <kind>1</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>GraphConvertStringCheck</service-name>
- <inParameter-list/>
- <outParameter-list>
-<outParameter>
-<outParameter-type>string</outParameter-type>
- <outParameter-name>MiscTypes\OutString</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>boolean</outParameter-type>
- <outParameter-name>MiscTypes\OutBool</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>char</outParameter-type>
- <outParameter-name>MiscTypes\OutChar</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>short</outParameter-type>
- <outParameter-name>MiscTypes\OutShort</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>MiscTypes\OutLong</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>float</outParameter-type>
- <outParameter-name>MiscTypes\OutFloat</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>double</outParameter-type>
- <outParameter-name>MiscTypes\OutDouble</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>SuperVisionTest::Adder</outParameter-type>
- <outParameter-name>MiscTypes\OutObjRef</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list/>
- <creation-date>30/7/2003 - 14:23:52</creation-date>
- <lastmodification-date>11/9/2003 - 16:43:51</lastmodification-date>
- <editor-release>1.04</editor-release>
- <author>JR</author>
- <container>?</container>
- <comment>Check conversions of String</comment>
- <x-position>0</x-position>
- <y-position>0</y-position> </node> </info-list>
- <node-list>
-<node>
-<component-name>?</component-name>
- <interface-name>?</interface-name>
- <node-name>StringString</node-name>
- <kind>3</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>StringString</service-name>
- <inParameter-list/>
- <outParameter-list>
-<outParameter>
-<outParameter-type>string</outParameter-type>
- <outParameter-name>OutString</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list>
-<PyFunction>
-<FuncName>StringString</FuncName>
- <PyFunc><![CDATA[def StringString() : ]]></PyFunc>
- <PyFunc><![CDATA[ string = "The sentence that you are reading cannot be demonstrated" ]]></PyFunc>
- <PyFunc><![CDATA[ return string ]]></PyFunc>
- <PyFunc><![CDATA[?]]></PyFunc> </PyFunction> </PyFunction-list>
- <creation-date>11/9/2003 - 16:43:51</creation-date>
- <lastmodification-date>11/9/2003 - 16:43:51</lastmodification-date>
- <editor-release>1.04</editor-release>
- <author>JR</author>
- <container>?</container>
- <comment>InLine Node</comment>
- <x-position>14</x-position>
- <y-position>114</y-position> </node>
- <node>
-<component-name>TypesCheck</component-name>
- <interface-name>TypesCheck</interface-name>
- <node-name>MiscTypes</node-name>
- <kind>0</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>MiscTypes</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>string</inParameter-type>
- <inParameter-name>InString</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>boolean</inParameter-type>
- <inParameter-name>InBool</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>char</inParameter-type>
- <inParameter-name>InChar</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>short</inParameter-type>
- <inParameter-name>InShort</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>InLong</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>float</inParameter-type>
- <inParameter-name>InFloat</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>double</inParameter-type>
- <inParameter-name>InDouble</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>SuperVisionTest::Adder</inParameter-type>
- <inParameter-name>InObjRef</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>string</outParameter-type>
- <outParameter-name>OutString</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>boolean</outParameter-type>
- <outParameter-name>OutBool</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>char</outParameter-type>
- <outParameter-name>OutChar</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>short</outParameter-type>
- <outParameter-name>OutShort</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>OutLong</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>float</outParameter-type>
- <outParameter-name>OutFloat</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>double</outParameter-type>
- <outParameter-name>OutDouble</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>SuperVisionTest::Adder</outParameter-type>
- <outParameter-name>OutObjRef</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list/>
- <creation-date>11/9/2003 - 16:43:51</creation-date>
- <lastmodification-date>11/9/2003 - 16:43:51</lastmodification-date>
- <editor-release>1.05</editor-release>
- <author>?</author>
- <container>localhost/FactoryServer</container>
- <comment>MiscTypes from TypesCheck</comment>
- <x-position>284</x-position>
- <y-position>28</y-position> </node> </node-list>
- <link-list>
-<link>
-<fromnode-name>StringString</fromnode-name>
- <fromserviceparameter-name>OutString</fromserviceparameter-name>
- <tonode-name>MiscTypes</tonode-name>
- <toserviceparameter-name>InString</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>StringString</fromnode-name>
- <fromserviceparameter-name>OutString</fromserviceparameter-name>
- <tonode-name>MiscTypes</tonode-name>
- <toserviceparameter-name>InBool</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>StringString</fromnode-name>
- <fromserviceparameter-name>OutString</fromserviceparameter-name>
- <tonode-name>MiscTypes</tonode-name>
- <toserviceparameter-name>InChar</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>StringString</fromnode-name>
- <fromserviceparameter-name>OutString</fromserviceparameter-name>
- <tonode-name>MiscTypes</tonode-name>
- <toserviceparameter-name>InShort</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>StringString</fromnode-name>
- <fromserviceparameter-name>OutString</fromserviceparameter-name>
- <tonode-name>MiscTypes</tonode-name>
- <toserviceparameter-name>InLong</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>StringString</fromnode-name>
- <fromserviceparameter-name>OutString</fromserviceparameter-name>
- <tonode-name>MiscTypes</tonode-name>
- <toserviceparameter-name>InFloat</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>StringString</fromnode-name>
- <fromserviceparameter-name>OutString</fromserviceparameter-name>
- <tonode-name>MiscTypes</tonode-name>
- <toserviceparameter-name>InDouble</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>StringString</fromnode-name>
- <fromserviceparameter-name>OutString</fromserviceparameter-name>
- <tonode-name>MiscTypes</tonode-name>
- <toserviceparameter-name>InObjRef</toserviceparameter-name>
- <coord-list/> </link> </link-list>
- <data-list/></dataflow>
+++ /dev/null
-
-# Generated python file of Graph GraphCpuUsed
-
-from SuperV import *
-# Graph creation
-GraphCpuUsed = Graph( 'GraphCpuUsed' )
-GraphCpuUsed.SetName( 'GraphCpuUsed' )
-GraphCpuUsed.SetAuthor( '' )
-GraphCpuUsed.SetComment( '' )
-GraphCpuUsed.Coords( 0 , 0 )
-
-# Creation of Factory Nodes
-
-sigma = GraphCpuUsed.FNode( 'FactorialComponent' , 'FactorialComponent' , 'sigma' )
-sigma.SetName( 'sigma' )
-sigma.SetAuthor( 'JR' )
-sigma.SetContainer( 'localhost/FactoryServerPy' )
-sigma.SetComment( 'sigma from FactorialComponent' )
-sigma.Coords( 214 , 172 )
-
-Sigma = GraphCpuUsed.FNode( 'AddComponent' , 'AddComponent' , 'Sigma' )
-Sigma.SetName( 'Sigma' )
-Sigma.SetAuthor( '' )
-Sigma.SetContainer( 'localhost/FactoryServer' )
-Sigma.SetComment( 'Sigma from AddComponent' )
-Sigma.Coords( 418 , 21 )
-
-# Creation of InLine Nodes
-PyAdd = []
-PyAdd.append( 'from time import * ' )
-PyAdd.append( 'def Add(a,b) : ' )
-PyAdd.append( ' print "Add will wait 5 seconds" ' )
-PyAdd.append( ' d = dir() ' )
-PyAdd.append( ' print "Add",d ' )
-PyAdd.append( ' d = dir(sleep) ' )
-PyAdd.append( ' print "Add",d ' )
-PyAdd.append( ' sleep(5) ' )
-PyAdd.append( ' print "Add waited" ' )
-PyAdd.append( ' n = 0 ' )
-PyAdd.append( ' while n < 10000 : ' )
-PyAdd.append( ' i = 0 ' )
-PyAdd.append( ' s = 0 ' )
-PyAdd.append( ' while i <= b : ' )
-PyAdd.append( ' s = s + i ' )
-PyAdd.append( ' i = i + 1 ' )
-PyAdd.append( ' n = n + 1 ' )
-PyAdd.append( ' return s ' )
-PyAdd.append( '' )
-Add = GraphCpuUsed.INode( 'Add' , PyAdd )
-Add.InPort( 'a' , 'long' )
-Add.InPort( 'b' , 'long' )
-Add.OutPort( 'f' , 'long' )
-Add.SetName( 'Add' )
-Add.SetAuthor( '' )
-Add.SetComment( 'Python function' )
-Add.Coords( 214 , 0 )
-
-PySub = []
-PySub.append( 'def Sub(a,b) : ' )
-PySub.append( ' return a-b ' )
-PySub.append( '' )
-Sub = GraphCpuUsed.INode( 'Sub' , PySub )
-Sub.InPort( 'a' , 'long' )
-Sub.InPort( 'b' , 'long' )
-Sub.OutPort( 'f' , 'long' )
-Sub.SetName( 'Sub' )
-Sub.SetAuthor( '' )
-Sub.SetComment( 'Python function' )
-Sub.Coords( 0 , 139 )
-
-PyCompare = []
-PyCompare.append( 'def Compare( Add , sigma , Sigma ) : ' )
-PyCompare.append( ' Result = "Good" ' )
-PyCompare.append( ' if Add != sigma : ' )
-PyCompare.append( ' Result = "Bad" ' )
-PyCompare.append( ' if Add != Sigma : ' )
-PyCompare.append( ' Result = "Bad" ' )
-PyCompare.append( ' return Result ' )
-PyCompare.append( '' )
-Compare = GraphCpuUsed.INode( 'Compare' , PyCompare )
-Compare.InPort( 'Add' , 'long' )
-Compare.InPort( 'Sigma' , 'long' )
-Compare.InPort( 'sigma' , 'long' )
-Compare.OutPort( 'Result' , 'string' )
-Compare.SetName( 'Compare' )
-Compare.SetAuthor( '' )
-Compare.SetComment( 'Compute Node' )
-Compare.Coords( 419 , 184 )
-
-# Creation of Links
-Addf = Add.Port( 'f' )
-CompareAdd = GraphCpuUsed.Link( Addf , Compare.Port( 'Add' ) )
-CompareAdd.AddCoord( 1 , 411 , 265 )
-CompareAdd.AddCoord( 2 , 411 , 169 )
-CompareAdd.AddCoord( 3 , 617 , 169 )
-CompareAdd.AddCoord( 4 , 618 , 8 )
-CompareAdd.AddCoord( 5 , 401 , 8 )
-CompareAdd.AddCoord( 6 , 400 , 80 )
-
-Subf = Sub.Port( 'f' )
-Addb = GraphCpuUsed.Link( Subf , Add.Port( 'b' ) )
-Addb.AddCoord( 1 , 189 , 108 )
-Addb.AddCoord( 2 , 191 , 220 )
-
-sigman = GraphCpuUsed.Link( Subf , sigma.Port( 'n' ) )
-sigman.AddCoord( 1 , 206 , 254 )
-sigman.AddCoord( 2 , 206 , 220 )
-
-Sigman = GraphCpuUsed.Link( Subf , Sigma.Port( 'n' ) )
-Sigman.AddCoord( 1 , 389 , 101 )
-Sigman.AddCoord( 2 , 390 , 160 )
-Sigman.AddCoord( 3 , 190 , 161 )
-Sigman.AddCoord( 4 , 190 , 220 )
-
-sigmaf = sigma.Port( 'f' )
-Comparesigma = GraphCpuUsed.Link( sigmaf , Compare.Port( 'sigma' ) )
-Comparesigma.AddCoord( 1 , 386 , 323 )
-Comparesigma.AddCoord( 2 , 385 , 253 )
-
-Sigmaf = Sigma.Port( 'f' )
-CompareSigma = GraphCpuUsed.Link( Sigmaf , Compare.Port( 'Sigma' ) )
-CompareSigma.AddCoord( 1 , 400 , 295 )
-CompareSigma.AddCoord( 2 , 400 , 153 )
-CompareSigma.AddCoord( 3 , 595 , 153 )
-CompareSigma.AddCoord( 4 , 595 , 102 )
-
-# Creation of Input datas
-Adda = Add.Input( 'a' , 1)
-Suba = Sub.Input( 'a' , 1000)
-Subb = Sub.Input( 'b' , 1)
-
-# Creation of Output variables
-CompareResult = Compare.Port( 'Result' )
-
-GraphCpuUsed.Run()
-GraphCpuUsed.DoneW()
-GraphCpuUsed.PrintPorts()
-print "sigma",sigma.CpuUsed(),"seconds"
-print "Sigma",Sigma.CpuUsed(),"seconds"
-print "Add",Add.CpuUsed(),"seconds"
-print "Sub",Sub.CpuUsed(),"seconds"
-print "Compare",Compare.CpuUsed(),"seconds"
+++ /dev/null
-<!DOCTYPE Dataflow>
-<dataflow>
-<info-list>
-<node>
-<component-name>?</component-name>
- <interface-name>?</interface-name>
- <node-name>GraphCpuUsed</node-name>
- <kind>1</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>GraphCpuUsed</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>Add\a</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>Sub\a</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>Sub\b</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>string</outParameter-type>
- <outParameter-name>Compare\Result</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list/>
- <creation-date>24/3/2003 - 10:58:41</creation-date>
- <lastmodification-date>6/8/2003 - 11:44:4</lastmodification-date>
- <editor-release>1.04</editor-release>
- <author>?</author>
- <container>?</container>
- <comment>?</comment>
- <x-position>0</x-position>
- <y-position>0</y-position> </node> </info-list>
- <node-list>
-<node>
-<component-name>?</component-name>
- <interface-name>?</interface-name>
- <node-name>Add</node-name>
- <kind>3</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>Add</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>a</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>b</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>f</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list>
-<PyFunction>
-<FuncName>Add</FuncName>
- <PyFunc><![CDATA[from time import * ]]></PyFunc>
- <PyFunc><![CDATA[def Add(a,b) : ]]></PyFunc>
- <PyFunc><![CDATA[ print "Add will wait 5 seconds" ]]></PyFunc>
- <PyFunc><![CDATA[ d = dir() ]]></PyFunc>
- <PyFunc><![CDATA[ print "Add",d ]]></PyFunc>
- <PyFunc><![CDATA[ d = dir(sleep) ]]></PyFunc>
- <PyFunc><![CDATA[ print "Add",d ]]></PyFunc>
- <PyFunc><![CDATA[ sleep(5) ]]></PyFunc>
- <PyFunc><![CDATA[ print "Add waited" ]]></PyFunc>
- <PyFunc><![CDATA[ n = 0 ]]></PyFunc>
- <PyFunc><![CDATA[ while n < 10000 : ]]></PyFunc>
- <PyFunc><![CDATA[ i = 0 ]]></PyFunc>
- <PyFunc><![CDATA[ s = 0 ]]></PyFunc>
- <PyFunc><![CDATA[ while i <= b : ]]></PyFunc>
- <PyFunc><![CDATA[ s = s + i ]]></PyFunc>
- <PyFunc><![CDATA[ i = i + 1 ]]></PyFunc>
- <PyFunc><![CDATA[ n = n + 1 ]]></PyFunc>
- <PyFunc><![CDATA[ return s ]]></PyFunc>
- <PyFunc><![CDATA[?]]></PyFunc> </PyFunction> </PyFunction-list>
- <creation-date>6/8/2003 - 11:44:4</creation-date>
- <lastmodification-date>6/8/2003 - 11:44:4</lastmodification-date>
- <editor-release>1.04</editor-release>
- <author>?</author>
- <container>?</container>
- <comment>Python function</comment>
- <x-position>214</x-position>
- <y-position>0</y-position> </node>
- <node>
-<component-name>?</component-name>
- <interface-name>?</interface-name>
- <node-name>Sub</node-name>
- <kind>3</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>Sub</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>a</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>b</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>f</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list>
-<PyFunction>
-<FuncName>Sub</FuncName>
- <PyFunc><![CDATA[def Sub(a,b) : ]]></PyFunc>
- <PyFunc><![CDATA[ return a-b ]]></PyFunc>
- <PyFunc><![CDATA[?]]></PyFunc> </PyFunction> </PyFunction-list>
- <creation-date>6/8/2003 - 11:44:4</creation-date>
- <lastmodification-date>6/8/2003 - 11:44:4</lastmodification-date>
- <editor-release>1.04</editor-release>
- <author>?</author>
- <container>?</container>
- <comment>Python function</comment>
- <x-position>0</x-position>
- <y-position>139</y-position> </node>
- <node>
-<component-name>FactorialComponent</component-name>
- <interface-name>FactorialComponent</interface-name>
- <node-name>sigma</node-name>
- <kind>0</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>sigma</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>n</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>f</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list/>
- <creation-date>6/8/2003 - 11:44:4</creation-date>
- <lastmodification-date>6/8/2003 - 11:44:4</lastmodification-date>
- <editor-release>1.04</editor-release>
- <author>JR</author>
- <container>localhost/FactoryServerPy</container>
- <comment>sigma from FactorialComponent</comment>
- <x-position>214</x-position>
- <y-position>172</y-position> </node>
- <node>
-<component-name>AddComponent</component-name>
- <interface-name>AddComponent</interface-name>
- <node-name>Sigma</node-name>
- <kind>0</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>Sigma</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>n</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>f</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list/>
- <creation-date>6/8/2003 - 11:44:4</creation-date>
- <lastmodification-date>6/8/2003 - 11:44:4</lastmodification-date>
- <editor-release>1.04</editor-release>
- <author>?</author>
- <container>localhost/FactoryServer</container>
- <comment>Sigma from AddComponent</comment>
- <x-position>418</x-position>
- <y-position>21</y-position> </node>
- <node>
-<component-name>?</component-name>
- <interface-name>?</interface-name>
- <node-name>Compare</node-name>
- <kind>3</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>Compare</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>Add</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>Sigma</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>sigma</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>string</outParameter-type>
- <outParameter-name>Result</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list>
-<PyFunction>
-<FuncName>Compare</FuncName>
- <PyFunc><![CDATA[def Compare( Add , sigma , Sigma ) : ]]></PyFunc>
- <PyFunc><![CDATA[ Result = "Good" ]]></PyFunc>
- <PyFunc><![CDATA[ if Add != sigma : ]]></PyFunc>
- <PyFunc><![CDATA[ Result = "Bad" ]]></PyFunc>
- <PyFunc><![CDATA[ if Add != Sigma : ]]></PyFunc>
- <PyFunc><![CDATA[ Result = "Bad" ]]></PyFunc>
- <PyFunc><![CDATA[ return Result ]]></PyFunc>
- <PyFunc><![CDATA[?]]></PyFunc> </PyFunction> </PyFunction-list>
- <creation-date>6/8/2003 - 11:44:4</creation-date>
- <lastmodification-date>6/8/2003 - 11:44:4</lastmodification-date>
- <editor-release>1.04</editor-release>
- <author>?</author>
- <container>?</container>
- <comment>Compute Node</comment>
- <x-position>419</x-position>
- <y-position>184</y-position> </node> </node-list>
- <link-list>
-<link>
-<fromnode-name>Add</fromnode-name>
- <fromserviceparameter-name>f</fromserviceparameter-name>
- <tonode-name>Compare</tonode-name>
- <toserviceparameter-name>Add</toserviceparameter-name>
- <coord-list>
-<coord>
-<x>411</x>
- <y>265</y> </coord>
- <coord>
-<x>411</x>
- <y>169</y> </coord>
- <coord>
-<x>617</x>
- <y>169</y> </coord>
- <coord>
-<x>618</x>
- <y>8</y> </coord>
- <coord>
-<x>401</x>
- <y>8</y> </coord>
- <coord>
-<x>400</x>
- <y>80</y> </coord> </coord-list> </link>
- <link>
-<fromnode-name>Sub</fromnode-name>
- <fromserviceparameter-name>f</fromserviceparameter-name>
- <tonode-name>Add</tonode-name>
- <toserviceparameter-name>b</toserviceparameter-name>
- <coord-list>
-<coord>
-<x>189</x>
- <y>108</y> </coord>
- <coord>
-<x>191</x>
- <y>220</y> </coord> </coord-list> </link>
- <link>
-<fromnode-name>Sub</fromnode-name>
- <fromserviceparameter-name>f</fromserviceparameter-name>
- <tonode-name>sigma</tonode-name>
- <toserviceparameter-name>n</toserviceparameter-name>
- <coord-list>
-<coord>
-<x>206</x>
- <y>254</y> </coord>
- <coord>
-<x>206</x>
- <y>220</y> </coord> </coord-list> </link>
- <link>
-<fromnode-name>Sub</fromnode-name>
- <fromserviceparameter-name>f</fromserviceparameter-name>
- <tonode-name>Sigma</tonode-name>
- <toserviceparameter-name>n</toserviceparameter-name>
- <coord-list>
-<coord>
-<x>389</x>
- <y>101</y> </coord>
- <coord>
-<x>390</x>
- <y>160</y> </coord>
- <coord>
-<x>190</x>
- <y>161</y> </coord>
- <coord>
-<x>190</x>
- <y>220</y> </coord> </coord-list> </link>
- <link>
-<fromnode-name>sigma</fromnode-name>
- <fromserviceparameter-name>f</fromserviceparameter-name>
- <tonode-name>Compare</tonode-name>
- <toserviceparameter-name>sigma</toserviceparameter-name>
- <coord-list>
-<coord>
-<x>386</x>
- <y>323</y> </coord>
- <coord>
-<x>385</x>
- <y>253</y> </coord> </coord-list> </link>
- <link>
-<fromnode-name>Sigma</fromnode-name>
- <fromserviceparameter-name>f</fromserviceparameter-name>
- <tonode-name>Compare</tonode-name>
- <toserviceparameter-name>Sigma</toserviceparameter-name>
- <coord-list>
-<coord>
-<x>400</x>
- <y>295</y> </coord>
- <coord>
-<x>400</x>
- <y>153</y> </coord>
- <coord>
-<x>595</x>
- <y>153</y> </coord>
- <coord>
-<x>595</x>
- <y>102</y> </coord> </coord-list> </link> </link-list>
- <data-list>
-<data>
-<fromnode-name>GraphCpuUsed</fromnode-name>
- <fromserviceparameter-name>Add\a</fromserviceparameter-name>
- <tonode-name>Add</tonode-name>
- <toserviceparameter-name>a</toserviceparameter-name>
- <data-value>
-<value-type>3</value-type>
- <value>1</value> </data-value>
- <coord-list/> </data>
- <data>
-<fromnode-name>GraphCpuUsed</fromnode-name>
- <fromserviceparameter-name>Sub\a</fromserviceparameter-name>
- <tonode-name>Sub</tonode-name>
- <toserviceparameter-name>a</toserviceparameter-name>
- <data-value>
-<value-type>3</value-type>
- <value>1000</value> </data-value>
- <coord-list/> </data>
- <data>
-<fromnode-name>GraphCpuUsed</fromnode-name>
- <fromserviceparameter-name>Sub\b</fromserviceparameter-name>
- <tonode-name>Sub</tonode-name>
- <toserviceparameter-name>b</toserviceparameter-name>
- <data-value>
-<value-type>3</value-type>
- <value>1</value> </data-value>
- <coord-list/> </data> </data-list></dataflow>
+++ /dev/null
-
-# Generated python file of Graph GraphEmptyInLinesConvertCheck
-
-from SuperV import *
-# Graph creation
-GraphEmptyInLinesConvertCheck = Graph( 'GraphEmptyInLinesConvertCheck' )
-GraphEmptyInLinesConvertCheck.SetName( 'GraphEmptyInLinesConvertCheck' )
-GraphEmptyInLinesConvertCheck.SetAuthor( 'JR' )
-GraphEmptyInLinesConvertCheck.SetComment( '' )
-GraphEmptyInLinesConvertCheck.Coords( 0 , 0 )
-
-# Creation of Factory Nodes
-
-Addition = GraphEmptyInLinesConvertCheck.FNode( 'AddComponent' , 'AddComponent' , 'Addition' )
-Addition.SetName( 'Addition' )
-Addition.SetAuthor( '' )
-Addition.SetContainer( 'localhost/FactoryServer' )
-Addition.SetComment( 'Addition from AddComponent' )
-Addition.Coords( 232 , 514 )
-
-# Creation of InLine Nodes
-PyBoolCheck = []
-PyBoolCheck.append( ' ' )
-BoolCheck = GraphEmptyInLinesConvertCheck.INode( '' , PyBoolCheck )
-BoolCheck.InPort( 'InBool' , 'boolean' )
-BoolCheck.OutPort( 'OutBool' , 'boolean' )
-BoolCheck.SetName( 'BoolCheck' )
-BoolCheck.SetAuthor( '' )
-BoolCheck.SetComment( 'Empty InLine Node' )
-BoolCheck.Coords( 234 , 92 )
-
-PyCharCheck = []
-PyCharCheck.append( ' ' )
-CharCheck = GraphEmptyInLinesConvertCheck.INode( '' , PyCharCheck )
-CharCheck.InPort( 'InChar' , 'char' )
-CharCheck.OutPort( 'OutChar' , 'char' )
-CharCheck.SetName( 'CharCheck' )
-CharCheck.SetAuthor( '' )
-CharCheck.SetComment( 'Empty InLine Node' )
-CharCheck.Coords( 30 , 142 )
-
-PyShortCheck = []
-PyShortCheck.append( ' ' )
-ShortCheck = GraphEmptyInLinesConvertCheck.INode( '' , PyShortCheck )
-ShortCheck.InPort( 'InShort' , 'short' )
-ShortCheck.OutPort( 'OutShort' , 'short' )
-ShortCheck.SetName( 'ShortCheck' )
-ShortCheck.SetAuthor( '' )
-ShortCheck.SetComment( 'Empty InLine Node' )
-ShortCheck.Coords( 234 , 230 )
-
-PyFloatCheck = []
-PyFloatCheck.append( ' ' )
-FloatCheck = GraphEmptyInLinesConvertCheck.INode( '' , PyFloatCheck )
-FloatCheck.InPort( 'InFloat' , 'float' )
-FloatCheck.OutPort( 'OutFloat' , 'float' )
-FloatCheck.SetName( 'FloatCheck' )
-FloatCheck.SetAuthor( '' )
-FloatCheck.SetComment( 'Empty InLine Node' )
-FloatCheck.Coords( 230 , 375 )
-
-PyLongCheck = []
-PyLongCheck.append( ' ' )
-LongCheck = GraphEmptyInLinesConvertCheck.INode( '' , PyLongCheck )
-LongCheck.InPort( 'InLong' , 'long' )
-LongCheck.OutPort( 'OutLong' , 'long' )
-LongCheck.SetName( 'LongCheck' )
-LongCheck.SetAuthor( '' )
-LongCheck.SetComment( 'Empty InLine Node' )
-LongCheck.Coords( 30 , 282 )
-
-PyStringCheck = []
-PyStringCheck.append( ' ' )
-StringCheck = GraphEmptyInLinesConvertCheck.INode( '' , PyStringCheck )
-StringCheck.InPort( 'InString' , 'string' )
-StringCheck.OutPort( 'OutString' , 'string' )
-StringCheck.SetName( 'StringCheck' )
-StringCheck.SetAuthor( '' )
-StringCheck.SetComment( 'Empty InLine Node' )
-StringCheck.Coords( 30 , 6 )
-
-PyDoubleCheck = []
-PyDoubleCheck.append( ' ' )
-DoubleCheck = GraphEmptyInLinesConvertCheck.INode( '' , PyDoubleCheck )
-DoubleCheck.InPort( 'InDouble' , 'double' )
-DoubleCheck.OutPort( 'OutDouble' , 'double' )
-DoubleCheck.SetName( 'DoubleCheck' )
-DoubleCheck.SetAuthor( '' )
-DoubleCheck.SetComment( 'Empty InLine Node' )
-DoubleCheck.Coords( 29 , 428 )
-
-PyMiscTypes = []
-PyMiscTypes.append( ' ' )
-MiscTypes = GraphEmptyInLinesConvertCheck.INode( '' , PyMiscTypes )
-MiscTypes.InPort( 'InString' , 'string' )
-MiscTypes.InPort( 'InBool' , 'boolean' )
-MiscTypes.InPort( 'InChar' , 'char' )
-MiscTypes.InPort( 'InShort' , 'short' )
-MiscTypes.InPort( 'InLong' , 'long' )
-MiscTypes.InPort( 'InFloat' , 'float' )
-MiscTypes.InPort( 'InDouble' , 'double' )
-MiscTypes.InPort( 'InObjRef' , 'SuperVision::Adder' )
-MiscTypes.OutPort( 'OutString' , 'string' )
-MiscTypes.OutPort( 'OutBool' , 'boolean' )
-MiscTypes.OutPort( 'OutChar' , 'char' )
-MiscTypes.OutPort( 'OutShort' , 'short' )
-MiscTypes.OutPort( 'OutLong' , 'long' )
-MiscTypes.OutPort( 'OutFloat' , 'float' )
-MiscTypes.OutPort( 'OutDouble' , 'double' )
-MiscTypes.OutPort( 'OutObjRef' , 'SuperVisionTest::Addre' )
-MiscTypes.SetName( 'MiscTypes' )
-MiscTypes.SetAuthor( '' )
-MiscTypes.SetComment( 'Empty InLine Node' )
-MiscTypes.Coords( 477 , 231 )
-
-# Creation of Links
-BoolCheckOutBool = BoolCheck.Port( 'OutBool' )
-MiscTypesInBool = GraphEmptyInLinesConvertCheck.Link( BoolCheckOutBool , MiscTypes.Port( 'InBool' ) )
-MiscTypesInBool.AddCoord( 1 , 446 , 341 )
-MiscTypesInBool.AddCoord( 2 , 446 , 172 )
-
-CharCheckOutChar = CharCheck.Port( 'OutChar' )
-MiscTypesInChar = GraphEmptyInLinesConvertCheck.Link( CharCheckOutChar , MiscTypes.Port( 'InChar' ) )
-MiscTypesInChar.AddCoord( 1 , 431 , 368 )
-MiscTypesInChar.AddCoord( 2 , 431 , 223 )
-
-ShortCheckOutShort = ShortCheck.Port( 'OutShort' )
-MiscTypesInShort = GraphEmptyInLinesConvertCheck.Link( ShortCheckOutShort , MiscTypes.Port( 'InShort' ) )
-MiscTypesInShort.AddCoord( 1 , 415 , 397 )
-MiscTypesInShort.AddCoord( 2 , 414 , 310 )
-
-FloatCheckOutFloat = FloatCheck.Port( 'OutFloat' )
-MiscTypesInFloat = GraphEmptyInLinesConvertCheck.Link( FloatCheckOutFloat , MiscTypes.Port( 'InFloat' ) )
-
-AdditionAdder = Addition.Port( 'Adder' )
-MiscTypesInObjRef = GraphEmptyInLinesConvertCheck.Link( AdditionAdder , MiscTypes.Port( 'InObjRef' ) )
-MiscTypesInObjRef.AddCoord( 1 , 462 , 514 )
-MiscTypesInObjRef.AddCoord( 2 , 461 , 593 )
-
-LongCheckOutLong = LongCheck.Port( 'OutLong' )
-MiscTypesInLong = GraphEmptyInLinesConvertCheck.Link( LongCheckOutLong , MiscTypes.Port( 'InLong' ) )
-MiscTypesInLong.AddCoord( 1 , 406 , 426 )
-MiscTypesInLong.AddCoord( 2 , 405 , 363 )
-
-StringCheckOutString = StringCheck.Port( 'OutString' )
-MiscTypesInString = GraphEmptyInLinesConvertCheck.Link( StringCheckOutString , MiscTypes.Port( 'InString' ) )
-MiscTypesInString.AddCoord( 1 , 462 , 312 )
-MiscTypesInString.AddCoord( 2 , 461 , 87 )
-
-DoubleCheckOutDouble = DoubleCheck.Port( 'OutDouble' )
-MiscTypesInDouble = GraphEmptyInLinesConvertCheck.Link( DoubleCheckOutDouble , MiscTypes.Port( 'InDouble' ) )
-MiscTypesInDouble.AddCoord( 1 , 445 , 485 )
-MiscTypesInDouble.AddCoord( 2 , 445 , 508 )
-
-# Creation of Input datas
-BoolCheckInBool = BoolCheck.Input( 'InBool' , 1)
-CharCheckInChar = CharCheck.Input( 'InChar' , 255)
-ShortCheckInShort = ShortCheck.Input( 'InShort' , 16383)
-FloatCheckInFloat = FloatCheck.Input( 'InFloat' , 3.14159)
-LongCheckInLong = LongCheck.Input( 'InLong' , 1234567890)
-StringCheckInString = StringCheck.Input( 'InString' , 'aString')
-DoubleCheckInDouble = DoubleCheck.Input( 'InDouble' , 1.23457)
-
-# Creation of Output variables
-MiscTypesOutString = MiscTypes.Port( 'OutString' )
-MiscTypesOutBool = MiscTypes.Port( 'OutBool' )
-MiscTypesOutChar = MiscTypes.Port( 'OutChar' )
-MiscTypesOutShort = MiscTypes.Port( 'OutShort' )
-MiscTypesOutLong = MiscTypes.Port( 'OutLong' )
-MiscTypesOutFloat = MiscTypes.Port( 'OutFloat' )
-MiscTypesOutDouble = MiscTypes.Port( 'OutDouble' )
-MiscTypesOutObjRef = MiscTypes.Port( 'OutObjRef' )
-
-GraphEmptyInLinesConvertCheck.Run()
-GraphEmptyInLinesConvertCheck.DoneW()
-GraphEmptyInLinesConvertCheck.PrintPorts()
+++ /dev/null
-<!DOCTYPE Dataflow>
-<dataflow>
-<info-list>
-<node>
-<component-name>?</component-name>
- <interface-name>?</interface-name>
- <node-name>GraphEmptyInLinesConvertCheck</node-name>
- <kind>1</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>GraphInLinesConvertCheck</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>boolean</inParameter-type>
- <inParameter-name>BoolCheck\InBool</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>char</inParameter-type>
- <inParameter-name>CharCheck\InChar</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>short</inParameter-type>
- <inParameter-name>ShortCheck\InShort</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>float</inParameter-type>
- <inParameter-name>FloatCheck\InFloat</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>LongCheck\InLong</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>string</inParameter-type>
- <inParameter-name>StringCheck\InString</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>double</inParameter-type>
- <inParameter-name>DoubleCheck\InDouble</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>string</outParameter-type>
- <outParameter-name>MiscTypes\OutString</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>boolean</outParameter-type>
- <outParameter-name>MiscTypes\OutBool</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>char</outParameter-type>
- <outParameter-name>MiscTypes\OutChar</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>short</outParameter-type>
- <outParameter-name>MiscTypes\OutShort</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>MiscTypes\OutLong</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>float</outParameter-type>
- <outParameter-name>MiscTypes\OutFloat</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>double</outParameter-type>
- <outParameter-name>MiscTypes\OutDouble</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>SuperVisionTest::Addre</outParameter-type>
- <outParameter-name>MiscTypes\OutObjRef</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list/>
- <creation-date>1/9/2003 - 17:28:48</creation-date>
- <lastmodification-date>11/9/2003 - 14:24:29</lastmodification-date>
- <editor-release>1.04</editor-release>
- <author>JR</author>
- <container>?</container>
- <comment>?</comment>
- <x-position>0</x-position>
- <y-position>0</y-position> </node> </info-list>
- <node-list>
-<node>
-<component-name>?</component-name>
- <interface-name>?</interface-name>
- <node-name>BoolCheck</node-name>
- <kind>3</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>BoolCheck</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>boolean</inParameter-type>
- <inParameter-name>InBool</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>boolean</outParameter-type>
- <outParameter-name>OutBool</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list>
-<PyFunction>
-<FuncName>?</FuncName>
- <PyFunc><![CDATA[?]]></PyFunc> </PyFunction> </PyFunction-list>
- <creation-date>11/9/2003 - 14:21:42</creation-date>
- <lastmodification-date>11/9/2003 - 14:21:42</lastmodification-date>
- <editor-release>1.04</editor-release>
- <author>?</author>
- <container>?</container>
- <comment>Empty InLine Node</comment>
- <x-position>234</x-position>
- <y-position>92</y-position> </node>
- <node>
-<component-name>?</component-name>
- <interface-name>?</interface-name>
- <node-name>CharCheck</node-name>
- <kind>3</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>CharCheck</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>char</inParameter-type>
- <inParameter-name>InChar</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>char</outParameter-type>
- <outParameter-name>OutChar</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list>
-<PyFunction>
-<FuncName>?</FuncName>
- <PyFunc><![CDATA[?]]></PyFunc> </PyFunction> </PyFunction-list>
- <creation-date>11/9/2003 - 14:21:42</creation-date>
- <lastmodification-date>11/9/2003 - 14:21:42</lastmodification-date>
- <editor-release>1.04</editor-release>
- <author>?</author>
- <container>?</container>
- <comment>Empty InLine Node</comment>
- <x-position>30</x-position>
- <y-position>142</y-position> </node>
- <node>
-<component-name>?</component-name>
- <interface-name>?</interface-name>
- <node-name>ShortCheck</node-name>
- <kind>3</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>ShortCheck</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>short</inParameter-type>
- <inParameter-name>InShort</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>short</outParameter-type>
- <outParameter-name>OutShort</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list>
-<PyFunction>
-<FuncName>?</FuncName>
- <PyFunc><![CDATA[?]]></PyFunc> </PyFunction> </PyFunction-list>
- <creation-date>11/9/2003 - 14:21:42</creation-date>
- <lastmodification-date>11/9/2003 - 14:21:42</lastmodification-date>
- <editor-release>1.04</editor-release>
- <author>?</author>
- <container>?</container>
- <comment>Empty InLine Node</comment>
- <x-position>234</x-position>
- <y-position>230</y-position> </node>
- <node>
-<component-name>?</component-name>
- <interface-name>?</interface-name>
- <node-name>FloatCheck</node-name>
- <kind>3</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>FloatCheck</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>float</inParameter-type>
- <inParameter-name>InFloat</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>float</outParameter-type>
- <outParameter-name>OutFloat</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list>
-<PyFunction>
-<FuncName>?</FuncName>
- <PyFunc><![CDATA[?]]></PyFunc> </PyFunction> </PyFunction-list>
- <creation-date>11/9/2003 - 14:21:42</creation-date>
- <lastmodification-date>11/9/2003 - 14:21:42</lastmodification-date>
- <editor-release>1.04</editor-release>
- <author>?</author>
- <container>?</container>
- <comment>Empty InLine Node</comment>
- <x-position>230</x-position>
- <y-position>375</y-position> </node>
- <node>
-<component-name>AddComponent</component-name>
- <interface-name>AddComponent</interface-name>
- <node-name>Addition</node-name>
- <kind>0</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>Addition</service-name>
- <inParameter-list/>
- <outParameter-list>
-<outParameter>
-<outParameter-type>objref</outParameter-type>
- <outParameter-name>Adder</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list/>
- <creation-date>11/9/2003 - 14:21:42</creation-date>
- <lastmodification-date>11/9/2003 - 14:21:42</lastmodification-date>
- <editor-release>1.05</editor-release>
- <author>?</author>
- <container>localhost/FactoryServer</container>
- <comment>Addition from AddComponent</comment>
- <x-position>232</x-position>
- <y-position>514</y-position> </node>
- <node>
-<component-name>?</component-name>
- <interface-name>?</interface-name>
- <node-name>LongCheck</node-name>
- <kind>3</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>LongCheck</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>InLong</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>OutLong</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list>
-<PyFunction>
-<FuncName>?</FuncName>
- <PyFunc><![CDATA[?]]></PyFunc> </PyFunction> </PyFunction-list>
- <creation-date>11/9/2003 - 14:21:42</creation-date>
- <lastmodification-date>11/9/2003 - 14:21:42</lastmodification-date>
- <editor-release>1.05</editor-release>
- <author>?</author>
- <container>?</container>
- <comment>Empty InLine Node</comment>
- <x-position>30</x-position>
- <y-position>282</y-position> </node>
- <node>
-<component-name>?</component-name>
- <interface-name>?</interface-name>
- <node-name>StringCheck</node-name>
- <kind>3</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>StringCheck</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>string</inParameter-type>
- <inParameter-name>InString</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>string</outParameter-type>
- <outParameter-name>OutString</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list>
-<PyFunction>
-<FuncName>?</FuncName>
- <PyFunc><![CDATA[?]]></PyFunc> </PyFunction> </PyFunction-list>
- <creation-date>11/9/2003 - 14:21:42</creation-date>
- <lastmodification-date>11/9/2003 - 14:21:42</lastmodification-date>
- <editor-release>1.05</editor-release>
- <author>?</author>
- <container>?</container>
- <comment>Empty InLine Node</comment>
- <x-position>30</x-position>
- <y-position>6</y-position> </node>
- <node>
-<component-name>?</component-name>
- <interface-name>?</interface-name>
- <node-name>DoubleCheck</node-name>
- <kind>3</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>DoubleCheck</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>double</inParameter-type>
- <inParameter-name>InDouble</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>double</outParameter-type>
- <outParameter-name>OutDouble</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list>
-<PyFunction>
-<FuncName>?</FuncName>
- <PyFunc><![CDATA[?]]></PyFunc> </PyFunction> </PyFunction-list>
- <creation-date>11/9/2003 - 14:21:42</creation-date>
- <lastmodification-date>11/9/2003 - 14:21:42</lastmodification-date>
- <editor-release>1.05</editor-release>
- <author>?</author>
- <container>?</container>
- <comment>Empty InLine Node</comment>
- <x-position>29</x-position>
- <y-position>428</y-position> </node>
- <node>
-<component-name>?</component-name>
- <interface-name>?</interface-name>
- <node-name>MiscTypes</node-name>
- <kind>3</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>MiscTypes</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>string</inParameter-type>
- <inParameter-name>InString</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>boolean</inParameter-type>
- <inParameter-name>InBool</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>char</inParameter-type>
- <inParameter-name>InChar</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>short</inParameter-type>
- <inParameter-name>InShort</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>InLong</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>float</inParameter-type>
- <inParameter-name>InFloat</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>double</inParameter-type>
- <inParameter-name>InDouble</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>SuperVision::Adder</inParameter-type>
- <inParameter-name>InObjRef</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>string</outParameter-type>
- <outParameter-name>OutString</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>boolean</outParameter-type>
- <outParameter-name>OutBool</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>char</outParameter-type>
- <outParameter-name>OutChar</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>short</outParameter-type>
- <outParameter-name>OutShort</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>OutLong</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>float</outParameter-type>
- <outParameter-name>OutFloat</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>double</outParameter-type>
- <outParameter-name>OutDouble</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>SuperVisionTest::Addre</outParameter-type>
- <outParameter-name>OutObjRef</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list>
-<PyFunction>
-<FuncName>?</FuncName>
- <PyFunc><![CDATA[?]]></PyFunc> </PyFunction> </PyFunction-list>
- <creation-date>11/9/2003 - 14:21:42</creation-date>
- <lastmodification-date>11/9/2003 - 14:21:42</lastmodification-date>
- <editor-release>1.05</editor-release>
- <author>?</author>
- <container>?</container>
- <comment>Empty InLine Node</comment>
- <x-position>477</x-position>
- <y-position>231</y-position> </node> </node-list>
- <link-list>
-<link>
-<fromnode-name>BoolCheck</fromnode-name>
- <fromserviceparameter-name>OutBool</fromserviceparameter-name>
- <tonode-name>MiscTypes</tonode-name>
- <toserviceparameter-name>InBool</toserviceparameter-name>
- <coord-list>
-<coord>
-<x>446</x>
- <y>341</y> </coord>
- <coord>
-<x>446</x>
- <y>172</y> </coord> </coord-list> </link>
- <link>
-<fromnode-name>CharCheck</fromnode-name>
- <fromserviceparameter-name>OutChar</fromserviceparameter-name>
- <tonode-name>MiscTypes</tonode-name>
- <toserviceparameter-name>InChar</toserviceparameter-name>
- <coord-list>
-<coord>
-<x>431</x>
- <y>368</y> </coord>
- <coord>
-<x>431</x>
- <y>223</y> </coord> </coord-list> </link>
- <link>
-<fromnode-name>ShortCheck</fromnode-name>
- <fromserviceparameter-name>OutShort</fromserviceparameter-name>
- <tonode-name>MiscTypes</tonode-name>
- <toserviceparameter-name>InShort</toserviceparameter-name>
- <coord-list>
-<coord>
-<x>415</x>
- <y>397</y> </coord>
- <coord>
-<x>414</x>
- <y>310</y> </coord> </coord-list> </link>
- <link>
-<fromnode-name>FloatCheck</fromnode-name>
- <fromserviceparameter-name>OutFloat</fromserviceparameter-name>
- <tonode-name>MiscTypes</tonode-name>
- <toserviceparameter-name>InFloat</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>Addition</fromnode-name>
- <fromserviceparameter-name>Adder</fromserviceparameter-name>
- <tonode-name>MiscTypes</tonode-name>
- <toserviceparameter-name>InObjRef</toserviceparameter-name>
- <coord-list>
-<coord>
-<x>462</x>
- <y>514</y> </coord>
- <coord>
-<x>461</x>
- <y>593</y> </coord> </coord-list> </link>
- <link>
-<fromnode-name>LongCheck</fromnode-name>
- <fromserviceparameter-name>OutLong</fromserviceparameter-name>
- <tonode-name>MiscTypes</tonode-name>
- <toserviceparameter-name>InLong</toserviceparameter-name>
- <coord-list>
-<coord>
-<x>406</x>
- <y>426</y> </coord>
- <coord>
-<x>405</x>
- <y>363</y> </coord> </coord-list> </link>
- <link>
-<fromnode-name>StringCheck</fromnode-name>
- <fromserviceparameter-name>OutString</fromserviceparameter-name>
- <tonode-name>MiscTypes</tonode-name>
- <toserviceparameter-name>InString</toserviceparameter-name>
- <coord-list>
-<coord>
-<x>462</x>
- <y>312</y> </coord>
- <coord>
-<x>461</x>
- <y>87</y> </coord> </coord-list> </link>
- <link>
-<fromnode-name>DoubleCheck</fromnode-name>
- <fromserviceparameter-name>OutDouble</fromserviceparameter-name>
- <tonode-name>MiscTypes</tonode-name>
- <toserviceparameter-name>InDouble</toserviceparameter-name>
- <coord-list>
-<coord>
-<x>445</x>
- <y>485</y> </coord>
- <coord>
-<x>445</x>
- <y>508</y> </coord> </coord-list> </link> </link-list>
- <data-list>
-<data>
-<fromnode-name>GraphEmptyInLinesConvertCheck</fromnode-name>
- <fromserviceparameter-name>BoolCheck\InBool</fromserviceparameter-name>
- <tonode-name>BoolCheck</tonode-name>
- <toserviceparameter-name>InBool</toserviceparameter-name>
- <data-value>
-<value-type>3</value-type>
- <value>1</value> </data-value>
- <coord-list/> </data>
- <data>
-<fromnode-name>GraphEmptyInLinesConvertCheck</fromnode-name>
- <fromserviceparameter-name>CharCheck\InChar</fromserviceparameter-name>
- <tonode-name>CharCheck</tonode-name>
- <toserviceparameter-name>InChar</toserviceparameter-name>
- <data-value>
-<value-type>3</value-type>
- <value>255</value> </data-value>
- <coord-list/> </data>
- <data>
-<fromnode-name>GraphEmptyInLinesConvertCheck</fromnode-name>
- <fromserviceparameter-name>ShortCheck\InShort</fromserviceparameter-name>
- <tonode-name>ShortCheck</tonode-name>
- <toserviceparameter-name>InShort</toserviceparameter-name>
- <data-value>
-<value-type>3</value-type>
- <value>16383</value> </data-value>
- <coord-list/> </data>
- <data>
-<fromnode-name>GraphEmptyInLinesConvertCheck</fromnode-name>
- <fromserviceparameter-name>FloatCheck\InFloat</fromserviceparameter-name>
- <tonode-name>FloatCheck</tonode-name>
- <toserviceparameter-name>InFloat</toserviceparameter-name>
- <data-value>
-<value-type>7</value-type>
- <value>3.14159</value> </data-value>
- <coord-list/> </data>
- <data>
-<fromnode-name>GraphEmptyInLinesConvertCheck</fromnode-name>
- <fromserviceparameter-name>LongCheck\InLong</fromserviceparameter-name>
- <tonode-name>LongCheck</tonode-name>
- <toserviceparameter-name>InLong</toserviceparameter-name>
- <data-value>
-<value-type>3</value-type>
- <value>1234567890</value> </data-value>
- <coord-list/> </data>
- <data>
-<fromnode-name>GraphEmptyInLinesConvertCheck</fromnode-name>
- <fromserviceparameter-name>StringCheck\InString</fromserviceparameter-name>
- <tonode-name>StringCheck</tonode-name>
- <toserviceparameter-name>InString</toserviceparameter-name>
- <data-value>
-<value-type>18</value-type>
- <value>aString</value> </data-value>
- <coord-list/> </data>
- <data>
-<fromnode-name>GraphEmptyInLinesConvertCheck</fromnode-name>
- <fromserviceparameter-name>DoubleCheck\InDouble</fromserviceparameter-name>
- <tonode-name>DoubleCheck</tonode-name>
- <toserviceparameter-name>InDouble</toserviceparameter-name>
- <data-value>
-<value-type>7</value-type>
- <value>1.23457</value> </data-value>
- <coord-list/> </data> </data-list></dataflow>
+++ /dev/null
-
-# Generated python file of Graph GraphEssai
-
-from SuperV import *
-# Graph creation
-GraphEssai = Graph( 'GraphEssai' )
-GraphEssai.SetName( 'GraphEssai' )
-GraphEssai.SetAuthor( '' )
-GraphEssai.SetComment( '' )
-GraphEssai.Coords( 0 , 0 )
-
-# Creation of Factory Nodes
-
-Add = GraphEssai.FNode( 'AddComponent' , 'AddComponent' , 'Add' )
-Add.SetName( 'Add' )
-Add.SetAuthor( '' )
-Add.SetContainer( 'FactoryServer' )
-Add.SetComment( 'Add from AddComponent' )
-Add.Coords( 15 , 241 )
-
-Sub = GraphEssai.FNode( 'SubComponent' , 'SubComponent' , 'Sub' )
-Sub.SetName( 'Sub' )
-Sub.SetAuthor( '' )
-Sub.SetContainer( 'FactoryServer' )
-Sub.SetComment( 'Sub from SubComponent' )
-Sub.Coords( 227 , 96 )
-
-Mul = GraphEssai.FNode( 'MulComponent' , 'MulComponent' , 'Mul' )
-Mul.SetName( 'Mul' )
-Mul.SetAuthor( '' )
-Mul.SetContainer( 'FactoryServer' )
-Mul.SetComment( 'Mul from MulComponent' )
-Mul.Coords( 435 , 242 )
-
-Div = GraphEssai.FNode( 'DivComponent' , 'DivComponent' , 'Div' )
-Div.SetName( 'Div' )
-Div.SetAuthor( '' )
-Div.SetContainer( 'FactoryServer' )
-Div.SetComment( 'Div from DivComponent' )
-Div.Coords( 634 , 97 )
-
-# Creation of Links
-Addz = Add.Port( 'z' )
-Muly = GraphEssai.Link( Addz , Mul.Port( 'y' ) )
-
-Suby = GraphEssai.Link( Addz , Sub.Port( 'y' ) )
-Suby.AddCoord( 1 , 197 , 204 )
-Suby.AddCoord( 2 , 198 , 351 )
-
-Subz = Sub.Port( 'z' )
-Divx = GraphEssai.Link( Subz , Div.Port( 'x' ) )
-
-Mulx = GraphEssai.Link( Subz , Mul.Port( 'x' ) )
-Mulx.AddCoord( 1 , 411 , 323 )
-Mulx.AddCoord( 2 , 411 , 177 )
-
-Mulz = Mul.Port( 'z' )
-Divy = GraphEssai.Link( Mulz , Div.Port( 'y' ) )
-Divy.AddCoord( 1 , 612 , 207 )
-Divy.AddCoord( 2 , 612 , 322 )
-
-# Creation of Input datas
-Addx = Add.Input( 'x' , 3)
-Addy = Add.Input( 'y' , 4.5)
-Subx = Sub.Input( 'x' , 1.5)
-
-# Creation of Output variables
-AddFuncValue = Add.Port( 'FuncValue' )
-Divz = Div.Port( 'z' )
-
-Add.Print()
-Sub.Print()
-Mul.Print()
-Div.Print()
-
-GraphEssai.PrintPorts()
-
-nodes = GraphEssai.LevelNodes( 0 )
-i = 0
-while i < len( nodes ) :
- print 'Nodes of level 0',nodes[i].Name()
- i = i + 1
-
-GraphEssai.Run()
-
-GraphEssai.DoneW()
-
-GraphEssai.State()
-
-GraphEssai.PrintPorts()
-
+++ /dev/null
-<?xml version='1.0' encoding='us-ascii' ?>
-
-<!-- XML Dataflow -->
-
-<!-- Dataflow information -->
-<dataflow>
- <info-list>
- <node>
- <component-name>?</component-name>
- <interface-name>?</interface-name>
- <node-name>GraphEssai</node-name>
- <kind>1</kind>
- <coupled-node>?</coupled-node>
- <service>
- <service-name>GraphEssai</service-name>
- <inParameter-list>
- <inParameter>
- <inParameter-type>double</inParameter-type>
- <inParameter-name>Add\x</inParameter-name>
- </inParameter>
- <inParameter>
- <inParameter-type>double</inParameter-type>
- <inParameter-name>Add\y</inParameter-name>
- </inParameter>
- <inParameter>
- <inParameter-type>double</inParameter-type>
- <inParameter-name>Sub\x</inParameter-name>
- </inParameter>
- </inParameter-list>
- <outParameter-list>
- <outParameter>
- <outParameter-type>double</outParameter-type>
- <outParameter-name>Add\FuncValue</outParameter-name>
- </outParameter>
- <outParameter>
- <outParameter-type>double</outParameter-type>
- <outParameter-name>Div\z</outParameter-name>
- </outParameter>
- </outParameter-list>
- </service>
- <Parameter-list>
- </Parameter-list>
- <PyFunction-list>
- </PyFunction-list>
- <creation-date>11/3/2003 - 9:58:58</creation-date>
- <lastmodification-date>11/3/2003 - 9:58:59</lastmodification-date>
- <editor-release>1.04</editor-release>
- <author>?</author>
- <container>?</container>
- <comment>?</comment>
- <x-position>0</x-position>
- <y-position>0</y-position>
- </node>
- </info-list>
-
- <node-list>
- <node>
- <component-name>AddComponent</component-name>
- <interface-name>AddComponent</interface-name>
- <node-name>Add</node-name>
- <kind>0</kind>
- <coupled-node>?</coupled-node>
- <service>
- <service-name>Add</service-name>
- <inParameter-list>
- <inParameter>
- <inParameter-type>double</inParameter-type>
- <inParameter-name>x</inParameter-name>
- </inParameter>
- <inParameter>
- <inParameter-type>double</inParameter-type>
- <inParameter-name>y</inParameter-name>
- </inParameter>
- </inParameter-list>
- <outParameter-list>
- <outParameter>
- <outParameter-type>double</outParameter-type>
- <outParameter-name>FuncValue</outParameter-name>
- </outParameter>
- <outParameter>
- <outParameter-type>double</outParameter-type>
- <outParameter-name>z</outParameter-name>
- </outParameter>
- </outParameter-list>
- </service>
- <Parameter-list>
- </Parameter-list>
- <PyFunction-list>
- </PyFunction-list>
- <creation-date>11/3/2003 - 9:58:58</creation-date>
- <lastmodification-date>11/3/2003 - 9:58:58</lastmodification-date>
- <editor-release>1.04</editor-release>
- <author>?</author>
- <container>FactoryServer</container>
- <comment>?</comment>
- <x-position>15</x-position>
- <y-position>241</y-position>
- </node>
- <node>
- <component-name>SubComponent</component-name>
- <interface-name>SubComponent</interface-name>
- <node-name>Sub</node-name>
- <kind>0</kind>
- <coupled-node>?</coupled-node>
- <service>
- <service-name>Sub</service-name>
- <inParameter-list>
- <inParameter>
- <inParameter-type>double</inParameter-type>
- <inParameter-name>x</inParameter-name>
- </inParameter>
- <inParameter>
- <inParameter-type>double</inParameter-type>
- <inParameter-name>y</inParameter-name>
- </inParameter>
- </inParameter-list>
- <outParameter-list>
- <outParameter>
- <outParameter-type>double</outParameter-type>
- <outParameter-name>z</outParameter-name>
- </outParameter>
- </outParameter-list>
- </service>
- <Parameter-list>
- </Parameter-list>
- <PyFunction-list>
- </PyFunction-list>
- <creation-date>11/3/2003 - 9:58:58</creation-date>
- <lastmodification-date>11/3/2003 - 9:58:58</lastmodification-date>
- <editor-release>1.04</editor-release>
- <author>?</author>
- <container>FactoryServer</container>
- <comment>?</comment>
- <x-position>227</x-position>
- <y-position>99</y-position>
- </node>
- <node>
- <component-name>MulComponent</component-name>
- <interface-name>MulComponent</interface-name>
- <node-name>Mul</node-name>
- <kind>0</kind>
- <coupled-node>?</coupled-node>
- <service>
- <service-name>Mul</service-name>
- <inParameter-list>
- <inParameter>
- <inParameter-type>double</inParameter-type>
- <inParameter-name>x</inParameter-name>
- </inParameter>
- <inParameter>
- <inParameter-type>double</inParameter-type>
- <inParameter-name>y</inParameter-name>
- </inParameter>
- </inParameter-list>
- <outParameter-list>
- <outParameter>
- <outParameter-type>double</outParameter-type>
- <outParameter-name>z</outParameter-name>
- </outParameter>
- </outParameter-list>
- </service>
- <Parameter-list>
- </Parameter-list>
- <PyFunction-list>
- </PyFunction-list>
- <creation-date>11/3/2003 - 9:58:58</creation-date>
- <lastmodification-date>11/3/2003 - 9:58:58</lastmodification-date>
- <editor-release>1.04</editor-release>
- <author>?</author>
- <container>FactoryServer</container>
- <comment>?</comment>
- <x-position>443</x-position>
- <y-position>278</y-position>
- </node>
- <node>
- <component-name>DivComponent</component-name>
- <interface-name>DivComponent</interface-name>
- <node-name>Div</node-name>
- <kind>0</kind>
- <coupled-node>?</coupled-node>
- <service>
- <service-name>Div</service-name>
- <inParameter-list>
- <inParameter>
- <inParameter-type>double</inParameter-type>
- <inParameter-name>x</inParameter-name>
- </inParameter>
- <inParameter>
- <inParameter-type>double</inParameter-type>
- <inParameter-name>y</inParameter-name>
- </inParameter>
- </inParameter-list>
- <outParameter-list>
- <outParameter>
- <outParameter-type>double</outParameter-type>
- <outParameter-name>z</outParameter-name>
- </outParameter>
- </outParameter-list>
- </service>
- <Parameter-list>
- </Parameter-list>
- <PyFunction-list>
- </PyFunction-list>
- <creation-date>11/3/2003 - 9:58:58</creation-date>
- <lastmodification-date>11/3/2003 - 9:58:58</lastmodification-date>
- <editor-release>1.04</editor-release>
- <author>?</author>
- <container>FactoryServer</container>
- <comment>?</comment>
- <x-position>634</x-position>
- <y-position>97</y-position>
- </node>
- </node-list>
-
- <link-list>
- <link>
- <fromnode-name>Add</fromnode-name>
- <fromserviceparameter-name>z</fromserviceparameter-name>
- <tonode-name>Sub</tonode-name>
- <toserviceparameter-name>y</toserviceparameter-name>
- <coord-list>
- </coord-list>
- </link>
- <link>
- <fromnode-name>Add</fromnode-name>
- <fromserviceparameter-name>z</fromserviceparameter-name>
- <tonode-name>Mul</tonode-name>
- <toserviceparameter-name>y</toserviceparameter-name>
- <coord-list>
- </coord-list>
- </link>
- <link>
- <fromnode-name>Sub</fromnode-name>
- <fromserviceparameter-name>z</fromserviceparameter-name>
- <tonode-name>Mul</tonode-name>
- <toserviceparameter-name>x</toserviceparameter-name>
- <coord-list>
- </coord-list>
- </link>
- <link>
- <fromnode-name>Sub</fromnode-name>
- <fromserviceparameter-name>z</fromserviceparameter-name>
- <tonode-name>Div</tonode-name>
- <toserviceparameter-name>x</toserviceparameter-name>
- <coord-list>
- </coord-list>
- </link>
- <link>
- <fromnode-name>Mul</fromnode-name>
- <fromserviceparameter-name>z</fromserviceparameter-name>
- <tonode-name>Div</tonode-name>
- <toserviceparameter-name>y</toserviceparameter-name>
- <coord-list>
- </coord-list>
- </link>
- </link-list>
-
- <data-list>
- <data>
- <fromnode-name>GraphEssai</fromnode-name>
- <fromserviceparameter-name>Add\x</fromserviceparameter-name>
- <tonode-name>Add</tonode-name>
- <toserviceparameter-name>x</toserviceparameter-name>
- <data-value>
- <value-type>3</value-type>
- <value>3</value>
- </data-value>
- <coord-list>
- </coord-list>
- </data>
- <data>
- <fromnode-name>GraphEssai</fromnode-name>
- <fromserviceparameter-name>Add\y</fromserviceparameter-name>
- <tonode-name>Add</tonode-name>
- <toserviceparameter-name>y</toserviceparameter-name>
- <data-value>
- <value-type>7</value-type>
- <value>4.5</value>
- </data-value>
- <coord-list>
- </coord-list>
- </data>
- <data>
- <fromnode-name>GraphEssai</fromnode-name>
- <fromserviceparameter-name>Sub\x</fromserviceparameter-name>
- <tonode-name>Sub</tonode-name>
- <toserviceparameter-name>x</toserviceparameter-name>
- <data-value>
- <value-type>7</value-type>
- <value>1.5</value>
- </data-value>
- <coord-list>
- </coord-list>
- </data>
- </data-list>
-
-</dataflow>
+++ /dev/null
-
-# Generated python file of Graph GraphEssai1
-
-from SuperV import *
-# Graph creation
-GraphEssai1 = Graph( 'GraphEssai1' )
-GraphEssai1.SetName( 'GraphEssai1' )
-GraphEssai1.SetAuthor( '' )
-GraphEssai1.SetComment( '' )
-GraphEssai1.Coords( 0 , 0 )
-
-# Creation of Factory Nodes
-
-Add = GraphEssai1.FNode( 'AddComponent' , 'AddComponent' , 'Add' )
-Add.SetName( 'Add' )
-Add.SetAuthor( '' )
-Add.SetContainer( 'localhost/FactoryServer' )
-Add.SetComment( 'Add from AddComponent' )
-Add.Coords( 16 , 262 )
-
-Sub = GraphEssai1.FNode( 'SubComponent' , 'SubComponent' , 'Sub' )
-Sub.SetName( 'Sub' )
-Sub.SetAuthor( '' )
-Sub.SetContainer( 'localhost/FactoryServer' )
-Sub.SetComment( 'Sub from SubComponent' )
-Sub.Coords( 219 , 54 )
-
-Mul = GraphEssai1.FNode( 'MulComponent' , 'MulComponent' , 'Mul' )
-Mul.SetName( 'Mul' )
-Mul.SetAuthor( '' )
-Mul.SetContainer( 'localhost/FactoryServer' )
-Mul.SetComment( 'Mul from MulComponent' )
-Mul.Coords( 419 , 262 )
-
-Div = GraphEssai1.FNode( 'DivComponent' , 'DivComponent' , 'Div' )
-Div.SetName( 'Div' )
-Div.SetAuthor( '' )
-Div.SetContainer( 'localhost/FactoryServer' )
-Div.SetComment( 'Div from DivComponent' )
-Div.Coords( 623 , 55 )
-
-# Creation of Links
-Addz = Add.Port( 'z' )
-Subx = GraphEssai1.Link( Addz , Sub.Port( 'x' ) )
-Subx.AddCoord( 1 , 193 , 135 )
-Subx.AddCoord( 2 , 193 , 372 )
-
-Subz = Sub.Port( 'z' )
-Divx = GraphEssai1.Link( Subz , Div.Port( 'x' ) )
-
-Mulx = GraphEssai1.Link( Subz , Mul.Port( 'x' ) )
-Mulx.AddCoord( 1 , 396 , 343 )
-Mulx.AddCoord( 2 , 397 , 136 )
-
-Mulz = Mul.Port( 'z' )
-Divy = GraphEssai1.Link( Mulz , Div.Port( 'y' ) )
-Divy.AddCoord( 1 , 598 , 163 )
-Divy.AddCoord( 2 , 598 , 343 )
-
-# Creation of Input datas
-Addx = Add.Input( 'x' , 3)
-Addy = Add.Input( 'y' , 5)
-Suby = Sub.Input( 'y' , 7)
-Muly = Mul.Input( 'y' , 11)
-
-# Creation of Output variables
-AddFuncValue = Add.Port( 'FuncValue' )
-Divz = Div.Port( 'z' )
-
-GraphEssai1.Run()
-
-GraphEssai1.DoneW()
-
-GraphEssai1.State()
-
-GraphEssai1.PrintPorts()
-
+++ /dev/null
-<!DOCTYPE Dataflow>
-<dataflow>
-<info-list>
-<node>
-<component-name>?</component-name>
- <interface-name>?</interface-name>
- <node-name>GraphEssai1</node-name>
- <kind>1</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>GraphEssai1</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>double</inParameter-type>
- <inParameter-name>Add\x</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>double</inParameter-type>
- <inParameter-name>Add\y</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>double</inParameter-type>
- <inParameter-name>Sub\y</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>double</inParameter-type>
- <inParameter-name>Mul\y</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>double</outParameter-type>
- <outParameter-name>Add\FuncValue</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>double</outParameter-type>
- <outParameter-name>Div\z</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list/>
- <creation-date>11/3/2003 - 10:3:19</creation-date>
- <lastmodification-date>18/9/2003 - 17:14:2</lastmodification-date>
- <editor-release>1.04</editor-release>
- <author>?</author>
- <container>?</container>
- <comment>?</comment>
- <x-position>0</x-position>
- <y-position>0</y-position> </node> </info-list>
- <node-list>
-<node>
-<component-name>AddComponent</component-name>
- <interface-name>AddComponent</interface-name>
- <node-name>Add</node-name>
- <kind>0</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>Add</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>double</inParameter-type>
- <inParameter-name>x</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>double</inParameter-type>
- <inParameter-name>y</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>double</outParameter-type>
- <outParameter-name>FuncValue</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>double</outParameter-type>
- <outParameter-name>z</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list/>
- <creation-date>18/9/2003 - 17:14:2</creation-date>
- <lastmodification-date>18/9/2003 - 17:14:2</lastmodification-date>
- <editor-release>1.04</editor-release>
- <author>?</author>
- <container>localhost/FactoryServer</container>
- <comment>Add from AddComponent</comment>
- <x-position>16</x-position>
- <y-position>262</y-position> </node>
- <node>
-<component-name>SubComponent</component-name>
- <interface-name>SubComponent</interface-name>
- <node-name>Sub</node-name>
- <kind>0</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>Sub</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>double</inParameter-type>
- <inParameter-name>x</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>double</inParameter-type>
- <inParameter-name>y</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>double</outParameter-type>
- <outParameter-name>z</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list/>
- <creation-date>18/9/2003 - 17:14:2</creation-date>
- <lastmodification-date>18/9/2003 - 17:14:2</lastmodification-date>
- <editor-release>1.04</editor-release>
- <author>?</author>
- <container>localhost/FactoryServer</container>
- <comment>Sub from SubComponent</comment>
- <x-position>219</x-position>
- <y-position>54</y-position> </node>
- <node>
-<component-name>MulComponent</component-name>
- <interface-name>MulComponent</interface-name>
- <node-name>Mul</node-name>
- <kind>0</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>Mul</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>double</inParameter-type>
- <inParameter-name>x</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>double</inParameter-type>
- <inParameter-name>y</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>double</outParameter-type>
- <outParameter-name>z</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list/>
- <creation-date>18/9/2003 - 17:14:2</creation-date>
- <lastmodification-date>18/9/2003 - 17:14:2</lastmodification-date>
- <editor-release>1.04</editor-release>
- <author>?</author>
- <container>localhost/FactoryServer</container>
- <comment>Mul from MulComponent</comment>
- <x-position>419</x-position>
- <y-position>262</y-position> </node>
- <node>
-<component-name>DivComponent</component-name>
- <interface-name>DivComponent</interface-name>
- <node-name>Div</node-name>
- <kind>0</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>Div</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>double</inParameter-type>
- <inParameter-name>x</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>double</inParameter-type>
- <inParameter-name>y</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>double</outParameter-type>
- <outParameter-name>z</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list/>
- <creation-date>18/9/2003 - 17:14:2</creation-date>
- <lastmodification-date>18/9/2003 - 17:14:2</lastmodification-date>
- <editor-release>1.04</editor-release>
- <author>?</author>
- <container>localhost/FactoryServer</container>
- <comment>Div from DivComponent</comment>
- <x-position>623</x-position>
- <y-position>55</y-position> </node> </node-list>
- <link-list>
-<link>
-<fromnode-name>Add</fromnode-name>
- <fromserviceparameter-name>z</fromserviceparameter-name>
- <tonode-name>Sub</tonode-name>
- <toserviceparameter-name>x</toserviceparameter-name>
- <coord-list>
-<coord>
-<x>193</x>
- <y>135</y> </coord>
- <coord>
-<x>193</x>
- <y>372</y> </coord> </coord-list> </link>
- <link>
-<fromnode-name>Sub</fromnode-name>
- <fromserviceparameter-name>z</fromserviceparameter-name>
- <tonode-name>Div</tonode-name>
- <toserviceparameter-name>x</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>Sub</fromnode-name>
- <fromserviceparameter-name>z</fromserviceparameter-name>
- <tonode-name>Mul</tonode-name>
- <toserviceparameter-name>x</toserviceparameter-name>
- <coord-list>
-<coord>
-<x>396</x>
- <y>343</y> </coord>
- <coord>
-<x>397</x>
- <y>136</y> </coord> </coord-list> </link>
- <link>
-<fromnode-name>Mul</fromnode-name>
- <fromserviceparameter-name>z</fromserviceparameter-name>
- <tonode-name>Div</tonode-name>
- <toserviceparameter-name>y</toserviceparameter-name>
- <coord-list>
-<coord>
-<x>598</x>
- <y>163</y> </coord>
- <coord>
-<x>598</x>
- <y>343</y> </coord> </coord-list> </link> </link-list>
- <data-list>
-<data>
-<fromnode-name>GraphEssai1</fromnode-name>
- <fromserviceparameter-name>Add\x</fromserviceparameter-name>
- <tonode-name>Add</tonode-name>
- <toserviceparameter-name>x</toserviceparameter-name>
- <data-value>
-<value-type>7</value-type>
- <value>3</value> </data-value>
- <coord-list/> </data>
- <data>
-<fromnode-name>GraphEssai1</fromnode-name>
- <fromserviceparameter-name>Add\y</fromserviceparameter-name>
- <tonode-name>Add</tonode-name>
- <toserviceparameter-name>y</toserviceparameter-name>
- <data-value>
-<value-type>7</value-type>
- <value>5</value> </data-value>
- <coord-list/> </data>
- <data>
-<fromnode-name>GraphEssai1</fromnode-name>
- <fromserviceparameter-name>Sub\y</fromserviceparameter-name>
- <tonode-name>Sub</tonode-name>
- <toserviceparameter-name>y</toserviceparameter-name>
- <data-value>
-<value-type>7</value-type>
- <value>7</value> </data-value>
- <coord-list/> </data>
- <data>
-<fromnode-name>GraphEssai1</fromnode-name>
- <fromserviceparameter-name>Mul\y</fromserviceparameter-name>
- <tonode-name>Mul</tonode-name>
- <toserviceparameter-name>y</toserviceparameter-name>
- <data-value>
-<value-type>7</value-type>
- <value>11</value> </data-value>
- <coord-list/> </data> </data-list></dataflow>
+++ /dev/null
-
-# Generated python file of Graph GraphEssai2
-
-from SuperV import *
-# Graph creation
-GraphEssai2 = Graph( 'GraphEssai2' )
-GraphEssai2.SetName( 'GraphEssai2' )
-GraphEssai2.SetAuthor( '' )
-GraphEssai2.SetComment( '' )
-GraphEssai2.Coords( 0 , 0 )
-
-# Creation of Factory Nodes
-
-Add = GraphEssai2.FNode( 'AddComponent' , 'AddComponent' , 'Add' )
-Add.SetName( 'Add' )
-Add.SetAuthor( '' )
-Add.SetContainer( 'localhost/FactoryServer' )
-Add.SetComment( 'Add from AddComponent' )
-Add.Coords( 18 , 239 )
-
-Sub = GraphEssai2.FNode( 'SubComponent' , 'SubComponent' , 'Sub' )
-Sub.SetName( 'Sub' )
-Sub.SetAuthor( '' )
-Sub.SetContainer( 'localhost/FactoryServer' )
-Sub.SetComment( 'Sub from SubComponent' )
-Sub.Coords( 232 , 269 )
-
-Mul = GraphEssai2.FNode( 'MulComponent' , 'MulComponent' , 'Mul' )
-Mul.SetName( 'Mul' )
-Mul.SetAuthor( '' )
-Mul.SetContainer( 'localhost/FactoryServer' )
-Mul.SetComment( 'Mul from MulComponent' )
-Mul.Coords( 431 , 22 )
-
-Div = GraphEssai2.FNode( 'DivComponent' , 'DivComponent' , 'Div' )
-Div.SetName( 'Div' )
-Div.SetAuthor( '' )
-Div.SetContainer( 'localhost/FactoryServer' )
-Div.SetComment( 'Div from DivComponent' )
-Div.Coords( 645 , 268 )
-
-# Creation of Links
-AddFuncValue = Add.Port( 'FuncValue' )
-Mulx = GraphEssai2.Link( AddFuncValue , Mul.Port( 'x' ) )
-Mulx.AddCoord( 1 , 199 , 102 )
-Mulx.AddCoord( 2 , 198 , 319 )
-
-Addz = Add.Port( 'z' )
-Subx = GraphEssai2.Link( Addz , Sub.Port( 'x' ) )
-
-Subz = Sub.Port( 'z' )
-Divx = GraphEssai2.Link( Subz , Div.Port( 'x' ) )
-
-SubOutGate = Sub.Port( 'OutGate' )
-MulInGate = GraphEssai2.Link( SubOutGate , Mul.Port( 'InGate' ) )
-MulInGate.AddCoord( 1 , 405 , 165 )
-MulInGate.AddCoord( 2 , 405 , 412 )
-
-Mulz = Mul.Port( 'z' )
-Divy = GraphEssai2.Link( Mulz , Div.Port( 'y' ) )
-Divy.AddCoord( 1 , 612 , 377 )
-Divy.AddCoord( 2 , 612 , 103 )
-
-# Creation of Input datas
-Addx = Add.Input( 'x' , 1)
-Addy = Add.Input( 'y' , 2)
-Suby = Sub.Input( 'y' , 3)
-Muly = Mul.Input( 'y' , 4)
-
-# Creation of Output variables
-Divz = Div.Port( 'z' )
-
-GraphEssai2.Run()
-
-GraphEssai2.DoneW()
-
-GraphEssai2.State()
-
-GraphEssai2.PrintPorts()
-
+++ /dev/null
-<!DOCTYPE Dataflow>
-<dataflow>
-<info-list>
-<node>
-<component-name>?</component-name>
- <interface-name>?</interface-name>
- <node-name>GraphEssai2</node-name>
- <kind>1</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>GraphEssai2</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>double</inParameter-type>
- <inParameter-name>Add\x</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>double</inParameter-type>
- <inParameter-name>Add\y</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>double</inParameter-type>
- <inParameter-name>Sub\y</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>double</inParameter-type>
- <inParameter-name>Mul\y</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>double</outParameter-type>
- <outParameter-name>Div\z</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list/>
- <creation-date>11/3/2003 - 10:6:28</creation-date>
- <lastmodification-date>23/10/2003 - 16:11:44</lastmodification-date>
- <editor-release>1.04</editor-release>
- <author>?</author>
- <container>?</container>
- <comment>?</comment>
- <x-position>0</x-position>
- <y-position>0</y-position> </node> </info-list>
- <node-list>
-<node>
-<component-name>AddComponent</component-name>
- <interface-name>AddComponent</interface-name>
- <node-name>Add</node-name>
- <kind>0</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>Add</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>double</inParameter-type>
- <inParameter-name>x</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>double</inParameter-type>
- <inParameter-name>y</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>double</outParameter-type>
- <outParameter-name>FuncValue</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>double</outParameter-type>
- <outParameter-name>z</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list/>
- <creation-date>23/10/2003 - 16:11:44</creation-date>
- <lastmodification-date>23/10/2003 - 16:11:44</lastmodification-date>
- <editor-release>1.04</editor-release>
- <author>?</author>
- <container>localhost/FactoryServer</container>
- <comment>Add from AddComponent</comment>
- <x-position>18</x-position>
- <y-position>239</y-position> </node>
- <node>
-<component-name>SubComponent</component-name>
- <interface-name>SubComponent</interface-name>
- <node-name>Sub</node-name>
- <kind>0</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>Sub</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>double</inParameter-type>
- <inParameter-name>x</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>double</inParameter-type>
- <inParameter-name>y</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>double</outParameter-type>
- <outParameter-name>z</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list/>
- <creation-date>23/10/2003 - 16:11:44</creation-date>
- <lastmodification-date>23/10/2003 - 16:11:44</lastmodification-date>
- <editor-release>1.04</editor-release>
- <author>?</author>
- <container>localhost/FactoryServer</container>
- <comment>Sub from SubComponent</comment>
- <x-position>232</x-position>
- <y-position>269</y-position> </node>
- <node>
-<component-name>MulComponent</component-name>
- <interface-name>MulComponent</interface-name>
- <node-name>Mul</node-name>
- <kind>0</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>Mul</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>double</inParameter-type>
- <inParameter-name>x</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>double</inParameter-type>
- <inParameter-name>y</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>double</outParameter-type>
- <outParameter-name>z</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list/>
- <creation-date>23/10/2003 - 16:11:44</creation-date>
- <lastmodification-date>23/10/2003 - 16:11:44</lastmodification-date>
- <editor-release>1.04</editor-release>
- <author>?</author>
- <container>localhost/FactoryServer</container>
- <comment>Mul from MulComponent</comment>
- <x-position>431</x-position>
- <y-position>22</y-position> </node>
- <node>
-<component-name>DivComponent</component-name>
- <interface-name>DivComponent</interface-name>
- <node-name>Div</node-name>
- <kind>0</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>Div</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>double</inParameter-type>
- <inParameter-name>x</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>double</inParameter-type>
- <inParameter-name>y</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>double</outParameter-type>
- <outParameter-name>z</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list/>
- <creation-date>23/10/2003 - 16:11:44</creation-date>
- <lastmodification-date>23/10/2003 - 16:11:44</lastmodification-date>
- <editor-release>1.04</editor-release>
- <author>?</author>
- <container>localhost/FactoryServer</container>
- <comment>Div from DivComponent</comment>
- <x-position>645</x-position>
- <y-position>268</y-position> </node> </node-list>
- <link-list>
-<link>
-<fromnode-name>Add</fromnode-name>
- <fromserviceparameter-name>FuncValue</fromserviceparameter-name>
- <tonode-name>Mul</tonode-name>
- <toserviceparameter-name>x</toserviceparameter-name>
- <coord-list>
-<coord>
-<x>199</x>
- <y>102</y> </coord>
- <coord>
-<x>198</x>
- <y>319</y> </coord> </coord-list> </link>
- <link>
-<fromnode-name>Add</fromnode-name>
- <fromserviceparameter-name>z</fromserviceparameter-name>
- <tonode-name>Sub</tonode-name>
- <toserviceparameter-name>x</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>Sub</fromnode-name>
- <fromserviceparameter-name>z</fromserviceparameter-name>
- <tonode-name>Div</tonode-name>
- <toserviceparameter-name>x</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>Sub</fromnode-name>
- <fromserviceparameter-name>OutGate</fromserviceparameter-name>
- <tonode-name>Mul</tonode-name>
- <toserviceparameter-name>InGate</toserviceparameter-name>
- <coord-list>
-<coord>
-<x>405</x>
- <y>165</y> </coord>
- <coord>
-<x>405</x>
- <y>412</y> </coord> </coord-list> </link>
- <link>
-<fromnode-name>Mul</fromnode-name>
- <fromserviceparameter-name>z</fromserviceparameter-name>
- <tonode-name>Div</tonode-name>
- <toserviceparameter-name>y</toserviceparameter-name>
- <coord-list>
-<coord>
-<x>612</x>
- <y>377</y> </coord>
- <coord>
-<x>612</x>
- <y>103</y> </coord> </coord-list> </link> </link-list>
- <data-list>
-<data>
-<fromnode-name>GraphEssai2</fromnode-name>
- <fromserviceparameter-name>Add\x</fromserviceparameter-name>
- <tonode-name>Add</tonode-name>
- <toserviceparameter-name>x</toserviceparameter-name>
- <data-value>
-<value-type>7</value-type>
- <value>1</value> </data-value>
- <coord-list/> </data>
- <data>
-<fromnode-name>GraphEssai2</fromnode-name>
- <fromserviceparameter-name>Add\y</fromserviceparameter-name>
- <tonode-name>Add</tonode-name>
- <toserviceparameter-name>y</toserviceparameter-name>
- <data-value>
-<value-type>7</value-type>
- <value>2</value> </data-value>
- <coord-list/> </data>
- <data>
-<fromnode-name>GraphEssai2</fromnode-name>
- <fromserviceparameter-name>Sub\y</fromserviceparameter-name>
- <tonode-name>Sub</tonode-name>
- <toserviceparameter-name>y</toserviceparameter-name>
- <data-value>
-<value-type>7</value-type>
- <value>3</value> </data-value>
- <coord-list/> </data>
- <data>
-<fromnode-name>GraphEssai2</fromnode-name>
- <fromserviceparameter-name>Mul\y</fromserviceparameter-name>
- <tonode-name>Mul</tonode-name>
- <toserviceparameter-name>y</toserviceparameter-name>
- <data-value>
-<value-type>7</value-type>
- <value>4</value> </data-value>
- <coord-list/> </data> </data-list></dataflow>
+++ /dev/null
-
-# Generated python file of Graph GraphEssai3
-
-from SuperV import *
-# Graph creation
-GraphEssai3 = Graph( 'GraphEssai3' )
-GraphEssai3.SetName( 'GraphEssai3' )
-GraphEssai3.SetAuthor( '' )
-GraphEssai3.SetComment( '' )
-GraphEssai3.Coords( 0 , 0 )
-
-# Creation of Factory Nodes
-
-Add = GraphEssai3.FNode( 'AddComponent' , 'AddComponent' , 'Add' )
-Add.SetName( 'Add' )
-Add.SetAuthor( '' )
-Add.SetContainer( 'localhost/FactoryServer' )
-Add.SetComment( 'Add from AddComponent' )
-Add.Coords( 1 , 152 )
-
-Sub = GraphEssai3.FNode( 'SubComponent' , 'SubComponent' , 'Sub' )
-Sub.SetName( 'Sub' )
-Sub.SetAuthor( '' )
-Sub.SetContainer( 'localhost/FactoryServer' )
-Sub.SetComment( 'Sub from SubComponent' )
-Sub.Coords( 412 , 377 )
-
-Mul = GraphEssai3.FNode( 'MulComponent' , 'MulComponent' , 'Mul' )
-Mul.SetName( 'Mul' )
-Mul.SetAuthor( '' )
-Mul.SetContainer( 'localhost/FactoryServer' )
-Mul.SetComment( 'Mul from MulComponent' )
-Mul.Coords( 412 , 152 )
-
-Div = GraphEssai3.FNode( 'DivComponent' , 'DivComponent' , 'Div' )
-Div.SetName( 'Div' )
-Div.SetAuthor( '' )
-Div.SetContainer( 'localhost/FactoryServer' )
-Div.SetComment( 'Div from DivComponent' )
-Div.Coords( 622 , 124 )
-
-Addition = GraphEssai3.FNode( 'AddComponent' , 'AddComponent' , 'Addition' )
-Addition.SetName( 'Addition' )
-Addition.SetAuthor( '' )
-Addition.SetContainer( 'localhost/AdditionServer' )
-Addition.SetComment( 'Addition from AddComponent' )
-Addition.Coords( 0 , 0 )
-
-Addition_1 = GraphEssai3.FNode( 'AddComponent' , 'AddComponent' , 'Addition' )
-Addition_1.SetName( 'Addition_1' )
-Addition_1.SetAuthor( '' )
-Addition_1.SetContainer( 'localhost/Addition_1Server' )
-Addition_1.SetComment( 'Addition from AddComponent' )
-Addition_1.Coords( 4 , 327 )
-
-# Creation of Computing Nodes
-AddAndCompare_ServiceinParameter = []
-AddAndCompare_ServiceinParameter.append( SALOME_ModuleCatalog.ServicesParameter( 'Adder' , 'Adder' ) )
-AddAndCompare_ServiceinParameter.append( SALOME_ModuleCatalog.ServicesParameter( 'double' , 'x' ) )
-AddAndCompare_ServiceinParameter.append( SALOME_ModuleCatalog.ServicesParameter( 'double' , 'y' ) )
-AddAndCompare_ServiceinParameter.append( SALOME_ModuleCatalog.ServicesParameter( 'Adder' , 'anOtherAdder' ) )
-AddAndCompare_ServiceoutParameter = []
-AddAndCompare_ServiceoutParameter.append( SALOME_ModuleCatalog.ServicesParameter( 'double' , 'FuncValue' ) )
-AddAndCompare_ServiceoutParameter.append( SALOME_ModuleCatalog.ServicesParameter( 'double' , 'z' ) )
-AddAndCompare_Service = SALOME_ModuleCatalog.Service( 'AddAndCompare' , AddAndCompare_ServiceinParameter , AddAndCompare_ServiceoutParameter , 0 )
-AddAndCompare = GraphEssai3.CNode( AddAndCompare_Service )
-AddAndCompare.SetName( 'AddAndCompare' )
-AddAndCompare.SetAuthor( '' )
-AddAndCompare.SetComment( 'Python function' )
-AddAndCompare.Coords( 233 , 0 )
-
-# Creation of Links
-AddFuncValue = Add.Port( 'FuncValue' )
-Mulx = GraphEssai3.Link( AddFuncValue , Mul.Port( 'x' ) )
-
-AddAndComparex = GraphEssai3.Link( AddFuncValue , AddAndCompare.Port( 'x' ) )
-AddAndComparex.AddCoord( 1 , 195 , 108 )
-AddAndComparex.AddCoord( 2 , 195 , 233 )
-
-Addz = Add.Port( 'z' )
-Subx = GraphEssai3.Link( Addz , Sub.Port( 'x' ) )
-Subx.AddCoord( 1 , 187 , 459 )
-Subx.AddCoord( 2 , 186 , 262 )
-
-AddAndComparey = GraphEssai3.Link( Addz , AddAndCompare.Port( 'y' ) )
-AddAndComparey.AddCoord( 1 , 187 , 139 )
-AddAndComparey.AddCoord( 2 , 186 , 261 )
-
-Subz = Sub.Port( 'z' )
-Divx = GraphEssai3.Link( Subz , Div.Port( 'x' ) )
-Divx.AddCoord( 1 , 598 , 203 )
-Divx.AddCoord( 2 , 598 , 457 )
-
-Mulz = Mul.Port( 'z' )
-Divy = GraphEssai3.Link( Mulz , Div.Port( 'y' ) )
-
-AdditionAdder = Addition.Port( 'Adder' )
-AddAndCompareAdder = GraphEssai3.Link( AdditionAdder , AddAndCompare.Port( 'Adder' ) )
-
-Addition_1Adder = Addition_1.Port( 'Adder' )
-AddAndCompareanOtherAdder = GraphEssai3.Link( Addition_1Adder , AddAndCompare.Port( 'anOtherAdder' ) )
-AddAndCompareanOtherAdder.AddCoord( 1 , 215 , 168 )
-AddAndCompareanOtherAdder.AddCoord( 2 , 214 , 407 )
-
-# Creation of Input datas
-Addx = Add.Input( 'x' , 1)
-Addy = Add.Input( 'y' , 2)
-Suby = Sub.Input( 'y' , 3)
-Muly = Mul.Input( 'y' , 4)
-
-# Creation of Output variables
-Divz = Div.Port( 'z' )
-AddAndCompareFuncValue = AddAndCompare.Port( 'FuncValue' )
-AddAndComparez = AddAndCompare.Port( 'z' )
-
-GraphEssai3.Run()
-
-GraphEssai3.DoneW()
-
-GraphEssai3.State()
-
-GraphEssai3.PrintPorts()
-
+++ /dev/null
-<!DOCTYPE Dataflow>
-<dataflow>
-<info-list>
-<node>
-<component-name>?</component-name>
- <interface-name>?</interface-name>
- <node-name>GraphEssai3</node-name>
- <kind>1</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>GraphEssai3</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>double</inParameter-type>
- <inParameter-name>Add\x</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>double</inParameter-type>
- <inParameter-name>Add\y</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>double</inParameter-type>
- <inParameter-name>Sub\y</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>double</inParameter-type>
- <inParameter-name>Mul\y</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>double</outParameter-type>
- <outParameter-name>Div\z</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>double</outParameter-type>
- <outParameter-name>AddAndCompare\FuncValue</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>double</outParameter-type>
- <outParameter-name>AddAndCompare\z</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list/>
- <creation-date>11/3/2003 - 10:59:37</creation-date>
- <lastmodification-date>18/9/2003 - 17:23:8</lastmodification-date>
- <editor-release>1.04</editor-release>
- <author>?</author>
- <container>?</container>
- <comment>?</comment>
- <x-position>0</x-position>
- <y-position>0</y-position> </node> </info-list>
- <node-list>
-<node>
-<component-name>AddComponent</component-name>
- <interface-name>AddComponent</interface-name>
- <node-name>Add</node-name>
- <kind>0</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>Add</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>double</inParameter-type>
- <inParameter-name>x</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>double</inParameter-type>
- <inParameter-name>y</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>double</outParameter-type>
- <outParameter-name>FuncValue</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>double</outParameter-type>
- <outParameter-name>z</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list/>
- <creation-date>18/9/2003 - 17:23:8</creation-date>
- <lastmodification-date>18/9/2003 - 17:23:8</lastmodification-date>
- <editor-release>1.04</editor-release>
- <author>?</author>
- <container>localhost/FactoryServer</container>
- <comment>Add from AddComponent</comment>
- <x-position>1</x-position>
- <y-position>152</y-position> </node>
- <node>
-<component-name>SubComponent</component-name>
- <interface-name>SubComponent</interface-name>
- <node-name>Sub</node-name>
- <kind>0</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>Sub</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>double</inParameter-type>
- <inParameter-name>x</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>double</inParameter-type>
- <inParameter-name>y</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>double</outParameter-type>
- <outParameter-name>z</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list/>
- <creation-date>18/9/2003 - 17:23:8</creation-date>
- <lastmodification-date>18/9/2003 - 17:23:8</lastmodification-date>
- <editor-release>1.04</editor-release>
- <author>?</author>
- <container>localhost/FactoryServer</container>
- <comment>Sub from SubComponent</comment>
- <x-position>412</x-position>
- <y-position>377</y-position> </node>
- <node>
-<component-name>MulComponent</component-name>
- <interface-name>MulComponent</interface-name>
- <node-name>Mul</node-name>
- <kind>0</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>Mul</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>double</inParameter-type>
- <inParameter-name>x</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>double</inParameter-type>
- <inParameter-name>y</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>double</outParameter-type>
- <outParameter-name>z</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list/>
- <creation-date>18/9/2003 - 17:23:8</creation-date>
- <lastmodification-date>18/9/2003 - 17:23:8</lastmodification-date>
- <editor-release>1.04</editor-release>
- <author>?</author>
- <container>localhost/FactoryServer</container>
- <comment>Mul from MulComponent</comment>
- <x-position>412</x-position>
- <y-position>152</y-position> </node>
- <node>
-<component-name>DivComponent</component-name>
- <interface-name>DivComponent</interface-name>
- <node-name>Div</node-name>
- <kind>0</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>Div</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>double</inParameter-type>
- <inParameter-name>x</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>double</inParameter-type>
- <inParameter-name>y</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>double</outParameter-type>
- <outParameter-name>z</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list/>
- <creation-date>18/9/2003 - 17:23:8</creation-date>
- <lastmodification-date>18/9/2003 - 17:23:8</lastmodification-date>
- <editor-release>1.04</editor-release>
- <author>?</author>
- <container>localhost/FactoryServer</container>
- <comment>Div from DivComponent</comment>
- <x-position>622</x-position>
- <y-position>124</y-position> </node>
- <node>
-<component-name>AddComponent</component-name>
- <interface-name>AddComponent</interface-name>
- <node-name>Addition</node-name>
- <kind>0</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>Addition</service-name>
- <inParameter-list/>
- <outParameter-list>
-<outParameter>
-<outParameter-type>Adder</outParameter-type>
- <outParameter-name>Adder</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list/>
- <creation-date>18/9/2003 - 17:23:8</creation-date>
- <lastmodification-date>18/9/2003 - 17:23:8</lastmodification-date>
- <editor-release>1.04</editor-release>
- <author>?</author>
- <container>localhost/AdditionServer</container>
- <comment>Addition from AddComponent</comment>
- <x-position>0</x-position>
- <y-position>0</y-position> </node>
- <node>
-<component-name>AddComponent</component-name>
- <interface-name>AddComponent</interface-name>
- <node-name>Addition_1</node-name>
- <kind>0</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>Addition</service-name>
- <inParameter-list/>
- <outParameter-list>
-<outParameter>
-<outParameter-type>Adder</outParameter-type>
- <outParameter-name>Adder</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list/>
- <creation-date>18/9/2003 - 17:23:8</creation-date>
- <lastmodification-date>18/9/2003 - 17:23:8</lastmodification-date>
- <editor-release>1.04</editor-release>
- <author>?</author>
- <container>localhost/Addition_1Server</container>
- <comment>Addition from AddComponent</comment>
- <x-position>4</x-position>
- <y-position>327</y-position> </node>
- <node>
-<component-name>?</component-name>
- <interface-name>?</interface-name>
- <node-name>AddAndCompare</node-name>
- <kind>2</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>AddAndCompare</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>Adder</inParameter-type>
- <inParameter-name>Adder</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>double</inParameter-type>
- <inParameter-name>x</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>double</inParameter-type>
- <inParameter-name>y</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>Adder</inParameter-type>
- <inParameter-name>anOtherAdder</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>double</outParameter-type>
- <outParameter-name>FuncValue</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>double</outParameter-type>
- <outParameter-name>z</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list/>
- <creation-date>18/9/2003 - 17:23:8</creation-date>
- <lastmodification-date>18/9/2003 - 17:23:8</lastmodification-date>
- <editor-release>1.04</editor-release>
- <author>?</author>
- <container>?</container>
- <comment>Python function</comment>
- <x-position>233</x-position>
- <y-position>0</y-position> </node> </node-list>
- <link-list>
-<link>
-<fromnode-name>Add</fromnode-name>
- <fromserviceparameter-name>FuncValue</fromserviceparameter-name>
- <tonode-name>Mul</tonode-name>
- <toserviceparameter-name>x</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>Add</fromnode-name>
- <fromserviceparameter-name>FuncValue</fromserviceparameter-name>
- <tonode-name>AddAndCompare</tonode-name>
- <toserviceparameter-name>x</toserviceparameter-name>
- <coord-list>
-<coord>
-<x>195</x>
- <y>108</y> </coord>
- <coord>
-<x>195</x>
- <y>233</y> </coord> </coord-list> </link>
- <link>
-<fromnode-name>Add</fromnode-name>
- <fromserviceparameter-name>z</fromserviceparameter-name>
- <tonode-name>Sub</tonode-name>
- <toserviceparameter-name>x</toserviceparameter-name>
- <coord-list>
-<coord>
-<x>187</x>
- <y>459</y> </coord>
- <coord>
-<x>186</x>
- <y>262</y> </coord> </coord-list> </link>
- <link>
-<fromnode-name>Add</fromnode-name>
- <fromserviceparameter-name>z</fromserviceparameter-name>
- <tonode-name>AddAndCompare</tonode-name>
- <toserviceparameter-name>y</toserviceparameter-name>
- <coord-list>
-<coord>
-<x>187</x>
- <y>139</y> </coord>
- <coord>
-<x>186</x>
- <y>261</y> </coord> </coord-list> </link>
- <link>
-<fromnode-name>Sub</fromnode-name>
- <fromserviceparameter-name>z</fromserviceparameter-name>
- <tonode-name>Div</tonode-name>
- <toserviceparameter-name>x</toserviceparameter-name>
- <coord-list>
-<coord>
-<x>598</x>
- <y>203</y> </coord>
- <coord>
-<x>598</x>
- <y>457</y> </coord> </coord-list> </link>
- <link>
-<fromnode-name>Mul</fromnode-name>
- <fromserviceparameter-name>z</fromserviceparameter-name>
- <tonode-name>Div</tonode-name>
- <toserviceparameter-name>y</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>Addition</fromnode-name>
- <fromserviceparameter-name>Adder</fromserviceparameter-name>
- <tonode-name>AddAndCompare</tonode-name>
- <toserviceparameter-name>Adder</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>Addition_1</fromnode-name>
- <fromserviceparameter-name>Adder</fromserviceparameter-name>
- <tonode-name>AddAndCompare</tonode-name>
- <toserviceparameter-name>anOtherAdder</toserviceparameter-name>
- <coord-list>
-<coord>
-<x>215</x>
- <y>168</y> </coord>
- <coord>
-<x>214</x>
- <y>407</y> </coord> </coord-list> </link> </link-list>
- <data-list>
-<data>
-<fromnode-name>GraphEssai3</fromnode-name>
- <fromserviceparameter-name>Add\x</fromserviceparameter-name>
- <tonode-name>Add</tonode-name>
- <toserviceparameter-name>x</toserviceparameter-name>
- <data-value>
-<value-type>7</value-type>
- <value>1</value> </data-value>
- <coord-list/> </data>
- <data>
-<fromnode-name>GraphEssai3</fromnode-name>
- <fromserviceparameter-name>Add\y</fromserviceparameter-name>
- <tonode-name>Add</tonode-name>
- <toserviceparameter-name>y</toserviceparameter-name>
- <data-value>
-<value-type>7</value-type>
- <value>2</value> </data-value>
- <coord-list/> </data>
- <data>
-<fromnode-name>GraphEssai3</fromnode-name>
- <fromserviceparameter-name>Sub\y</fromserviceparameter-name>
- <tonode-name>Sub</tonode-name>
- <toserviceparameter-name>y</toserviceparameter-name>
- <data-value>
-<value-type>7</value-type>
- <value>3</value> </data-value>
- <coord-list/> </data>
- <data>
-<fromnode-name>GraphEssai3</fromnode-name>
- <fromserviceparameter-name>Mul\y</fromserviceparameter-name>
- <tonode-name>Mul</tonode-name>
- <toserviceparameter-name>y</toserviceparameter-name>
- <data-value>
-<value-type>7</value-type>
- <value>4</value> </data-value>
- <coord-list/> </data> </data-list></dataflow>
+++ /dev/null
-#! /usr/bin/env python
-
-#==============================================================================
-# File : GraphExample.py
-# Created : 18 déc 2001
-# Author : Jean Rahuel
-# Project : SALOME
-# Copyright : CEA
-#==============================================================================
-
-#from GraphExample import *
-
-from SuperV import *
-
-myGraph = Graph( "myDataFlow" )
-print myGraph.SetContainer('FactoryServer')
-
-Add = myGraph.Node( "AddComponent" , "AddInterface" , "Add" )
-print Add.SetContainer('dm2s0017')
-Sub = myGraph.Node( "SubComponent" , "SubInterface" , "Sub" )
-print Sub.SetContainer('dm2s0018')
-Mul = myGraph.Node( "MulComponent" , "MulInterface" , "Mul" )
-print Mul.SetContainer('dm2s0019')
-Div = myGraph.Node( "DivComponent" , "DivInterface" , "Div" )
-print Div.SetContainer('dm2s0020')
-
-PAddz = Add.Port("z")
-PSuby = Sub.Port("y")
-Suby = myGraph.Link( PAddz , PSuby )
-Muly = myGraph.Link( Add.Port("z") , Mul.Port("y") )
-Mulx = myGraph.Link( Sub.Port( "z" ) , Mul.Port("x") )
-Divx = myGraph.Link( Sub.Port( "z" ) , Div.Port("x") )
-Divy = myGraph.Link( Mul.Port( "z" ) , Div.Port("y") )
-
-Addx = Add.Input( "x" , 3 )
-Addy = Add.Input( "y" , 4.5 )
-Subx = Sub.Input( "x" , "1.5" )
-
-print "Add(x) input value : ",Addx.ToString()
-print "Add(y) input value : ",Addy.ToString()
-print "Sub(x) input value : ",Subx.ToString()
-
-Divz = Div.Port("z")
-
-print Divz.ToString()
-
-print myGraph.IsValid()
-print myGraph.IsExecutable()
-
-print myGraph.Run()
-
-Addz = Add.Port( "z" )
-AddFuncValue = Add.Port( "FuncValue" )
-Subz = Sub.Port( "z" )
-Mulz = Mul.Port( "z" )
-Divz = Div.Port( "z" )
-
-print AddFuncValue.Done()
-print Addz.Done()
-print Subz.Done()
-print Mulz.Done()
-print Divz.Done()
-print Add.Done()
-print Sub.Done()
-print Mul.Done()
-print Div.Done()
-print myGraph.Done()
-print myGraph.State()
-
-print AddFuncValue.ToString()
-print Addz.ToString()
-print Subz.ToString()
-print Mulz.ToString()
-print Divz.ToString()
-print Divz.ToAny()
-
+++ /dev/null
-# Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
-# CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
-#
-# This library is free software; you can redistribute it and/or
-# modify it under the terms of the GNU Lesser General Public
-# License as published by the Free Software Foundation; either
-# version 2.1 of the License.
-#
-# This library is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-# Lesser General Public License for more details.
-#
-# You should have received a copy of the GNU Lesser General Public
-# License along with this library; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-#
-# See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
-#
-#
-#
-# File : GraphFactorial.py
-# Module : SuperVisionTest
-
-from SuperV import *
-
-GraphFactorial = Graph('GraphFactorial')
-
-eval = GraphFactorial.Node('FactorialComponent','FactorialComponent','eval')
-eval.SetContainer('Server3Py')
-
-GraphFactorial.IsValid()
-
-GraphFactorial.Run( 3 )
-GraphFactorial.DoneW()
-GraphFactorial.State()
-eval.GetComponentName()
-eval.GetContainer()
-GraphFactorial.PrintPorts()
-eval.CpuUsed()
-
-eval.SetContainer('Server4Py')
-GraphFactorial.Run( 4 )
-GraphFactorial.DoneW()
-GraphFactorial.State()
-eval.GetComponentName()
-eval.GetContainer()
-GraphFactorial.PrintPorts()
-eval.CpuUsed()
-
-eval.SetContainer('Server5Py')
-GraphFactorial.Run( 5 )
-GraphFactorial.DoneW()
-GraphFactorial.State()
-eval.GetComponentName()
-eval.GetContainer()
-GraphFactorial.PrintPorts()
-eval.CpuUsed()
+++ /dev/null
-<?xml version='1.0' encoding='us-ascii' ?>
-
-<!-- XML Dataflow -->
-
-<!-- Dataflow information -->
-<dataflow>
- <info-list>
- <node>
- <component-name>?</component-name>
- <interface-name>?</interface-name>
- <node-name>GraphFactorial</node-name>
- <kind>1</kind>
- <coupled-node>?</coupled-node>
- <service>
- <service-name>GraphFactorial</service-name>
- <inParameter-list>
- <inParameter>
- <inParameter-type>long</inParameter-type>
- <inParameter-name>eval\n</inParameter-name>
- </inParameter>
- </inParameter-list>
- <outParameter-list>
- <outParameter>
- <outParameter-type>long</outParameter-type>
- <outParameter-name>eval\f</outParameter-name>
- </outParameter>
- </outParameter-list>
- </service>
- <Parameter-list>
- </Parameter-list>
- <PyFunction-list>
- </PyFunction-list>
- <creation-date>11/3/2003 - 11:3:56</creation-date>
- <lastmodification-date>11/3/2003 - 11:3:56</lastmodification-date>
- <editor-release>1.04</editor-release>
- <author>?</author>
- <container>?</container>
- <comment>?</comment>
- <x-position>0</x-position>
- <y-position>0</y-position>
- </node>
- </info-list>
-
- <node-list>
- <node>
- <component-name>FactorialComponent</component-name>
- <interface-name>FactorialComponent</interface-name>
- <node-name>eval</node-name>
- <kind>0</kind>
- <coupled-node>?</coupled-node>
- <service>
- <service-name>eval</service-name>
- <inParameter-list>
- <inParameter>
- <inParameter-type>long</inParameter-type>
- <inParameter-name>n</inParameter-name>
- </inParameter>
- </inParameter-list>
- <outParameter-list>
- <outParameter>
- <outParameter-type>long</outParameter-type>
- <outParameter-name>f</outParameter-name>
- </outParameter>
- </outParameter-list>
- </service>
- <Parameter-list>
- </Parameter-list>
- <PyFunction-list>
- </PyFunction-list>
- <creation-date>11/3/2003 - 11:3:56</creation-date>
- <lastmodification-date>11/3/2003 - 11:3:56</lastmodification-date>
- <editor-release>1.04</editor-release>
- <author>?</author>
- <container>ServerPy</container>
- <comment>?</comment>
- <x-position>0</x-position>
- <y-position>0</y-position>
- </node>
- </node-list>
-
- <link-list>
- </link-list>
-
- <data-list>
- <data>
- <fromnode-name>GraphFactorial</fromnode-name>
- <fromserviceparameter-name>eval\n</fromserviceparameter-name>
- <tonode-name>eval</tonode-name>
- <toserviceparameter-name>n</toserviceparameter-name>
- <data-value>
- <value-type>3</value-type>
- <value>5</value>
- </data-value>
- <coord-list>
- </coord-list>
- </data>
- </data-list>
-
-</dataflow>
+++ /dev/null
-# Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
-# CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
-#
-# This library is free software; you can redistribute it and/or
-# modify it under the terms of the GNU Lesser General Public
-# License as published by the Free Software Foundation; either
-# version 2.1 of the License.
-#
-# This library is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-# Lesser General Public License for more details.
-#
-# You should have received a copy of the GNU Lesser General Public
-# License along with this library; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-#
-# See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
-#
-#
-#
-# File : GraphFactorialLcc.py
-# Module : SuperVisionTest
-
-# That test runs only with python but NOT in the TUI ...
-
-from SuperV import *
-
-from FactorialComponent import *
-
-Factorial = lcc.FindOrLoadComponent('ServerPy','FactorialComponent')
-
-dir (Factorial)
-
-fact3 = Factorial.eval(3)
-
-if fact3 != 6 :
- print "Error",fact3,"!= 6 !"
-
-print Factorial.CpuUsed_impl()
-
+++ /dev/null
-
-# Generated python file of Graph GraphGOTO
-
-from SuperV import *
-# Graph creation
-GraphGOTO = Graph( 'GraphGOTO' )
-GraphGOTO.SetName( 'GraphGOTO' )
-GraphGOTO.SetAuthor( 'JR' )
-GraphGOTO.SetComment( 'Syracuse algorithm' )
-GraphGOTO.Coords( 0 , 0 )
-
-# Creation of Factory Nodes
-
-test_ISEVEN = GraphGOTO.FNode( 'SyrComponent' , 'SyrComponent' , 'C_ISEVEN' )
-test_ISEVEN.SetName( 'test_ISEVEN' )
-test_ISEVEN.SetAuthor( '' )
-test_ISEVEN.SetContainer( 'localhost/FactoryServer' )
-test_ISEVEN.SetComment( 'C_ISEVEN from SyrComponent' )
-test_ISEVEN.Coords( 195 , 417 )
-
-test_ISONE = GraphGOTO.FNode( 'SyrComponent' , 'SyrComponent' , 'C_ISONE' )
-test_ISONE.SetName( 'test_ISONE' )
-test_ISONE.SetAuthor( '' )
-test_ISONE.SetContainer( 'localhost/FactoryServer' )
-test_ISONE.SetComment( 'C_ISONE from SyrComponent' )
-test_ISONE.Coords( 201 , 145 )
-
-m3p1 = GraphGOTO.FNode( 'SyrComponent' , 'SyrComponent' , 'C_M3P1' )
-m3p1.SetName( 'm3p1' )
-m3p1.SetAuthor( '' )
-m3p1.SetContainer( 'localhost/FactoryServer' )
-m3p1.SetComment( 'C_M3P1 from SyrComponent' )
-m3p1.Coords( 784 , 36 )
-
-div2 = GraphGOTO.FNode( 'SyrComponent' , 'SyrComponent' , 'C_DIV2' )
-div2.SetName( 'div2' )
-div2.SetAuthor( '' )
-div2.SetContainer( 'localhost/FactoryServer' )
-div2.SetComment( 'C_DIV2 from SyrComponent' )
-div2.Coords( 788 , 409 )
-
-incr = GraphGOTO.FNode( 'SyrComponent' , 'SyrComponent' , 'C_INCR' )
-incr.SetName( 'incr' )
-incr.SetAuthor( '' )
-incr.SetContainer( 'localhost/FactoryServer' )
-incr.SetComment( 'C_INCR from SyrComponent' )
-incr.Coords( 788 , 230 )
-
-# Creation of InLine Nodes
-Pylabel_begin = []
-Pylabel_begin.append( 'def label_begin( NB , KB ):' )
-Pylabel_begin.append( ' print "label_begin",NB,KB' )
-Pylabel_begin.append( ' return NB,KB' )
-label_begin = GraphGOTO.INode( 'label_begin' , Pylabel_begin )
-label_begin.InPort( 'NB' , 'long' )
-label_begin.InPort( 'KB' , 'long' )
-label_begin.OutPort( 'NT' , 'long' )
-label_begin.OutPort( 'KT' , 'long' )
-label_begin.SetName( 'label_begin' )
-label_begin.SetAuthor( '' )
-label_begin.SetComment( 'Python function' )
-label_begin.Coords( 9 , 250 )
-
-Pylabel_test = []
-Pylabel_test.append( 'def label_test( ValEven , ValOne , NB , KB ):' )
-Pylabel_test.append( ' print "label_begin",ValEven,ValOne,NB,KB' )
-Pylabel_test.append( ' return ValEven,ValOne,NB,KB' )
-label_test = GraphGOTO.INode( 'label_test' , Pylabel_test )
-label_test.InPort( 'ValEven' , 'long' )
-label_test.InPort( 'ValOne' , 'long' )
-label_test.InPort( 'NT' , 'long' )
-label_test.InPort( 'KT' , 'long' )
-label_test.OutPort( 'ValEven' , 'long' )
-label_test.OutPort( 'ValOne' , 'long' )
-label_test.OutPort( 'NT' , 'long' )
-label_test.OutPort( 'KT' , 'long' )
-label_test.SetName( 'label_test' )
-label_test.SetAuthor( '' )
-label_test.SetComment( 'Python function' )
-label_test.Coords( 396 , 193 )
-
-# Creation of Switch Nodes
-Pytest = []
-Pytest.append( 'def Switch_OneEven( ValOne , ValEven , NT , KT ) :' )
-Pytest.append( ' Finished = ValOne' )
-Pytest.append( ' if Finished == 0 :' )
-Pytest.append( ' Incr = 1' )
-Pytest.append( ' Even = ValEven' )
-Pytest.append( ' if Even == 0 :' )
-Pytest.append( ' Odd = 1' )
-Pytest.append( ' else :' )
-Pytest.append( ' Odd = 0' )
-Pytest.append( ' else :' )
-Pytest.append( ' Incr = 0' )
-Pytest.append( ' Even = 0' )
-Pytest.append( ' Odd = 0' )
-Pytest.append( ' Even = ValEven' )
-Pytest.append( ' return Finished,Incr,Even,Odd,NT,KT' )
-test,EndSwitch_OneEven = GraphGOTO.SNode( 'Switch_OneEven' , Pytest )
-EndSwitch_OneEven.SetName( 'EndSwitch_OneEven' )
-EndSwitch_OneEven.SetAuthor( '' )
-EndSwitch_OneEven.SetComment( '' )
-EndSwitch_OneEven.Coords( 1152 , 292 )
-PyEndSwitch_OneEven = []
-PyEndSwitch_OneEven.append( 'def EndSwitch_OneEven( Finished , K ):' )
-PyEndSwitch_OneEven.append( ' print "label_begin",Finished,K' )
-PyEndSwitch_OneEven.append( ' return Finished,K' )
-EndSwitch_OneEven.SetPyFunction( 'EndSwitch_OneEven' , PyEndSwitch_OneEven )
-EndSwitch_OneEven.InPort( 'Finished' , 'long' )
-EndSwitch_OneEven.InPort( 'K' , 'long' )
-EndSwitch_OneEven.OutPort( 'Finished' , 'long' )
-EndSwitch_OneEven.OutPort( 'K' , 'long' )
-test.InPort( 'ValOne' , 'long' )
-test.InPort( 'ValEven' , 'long' )
-test.InPort( 'NT' , 'long' )
-test.InPort( 'KT' , 'long' )
-test.OutPort( 'Finished' , 'long' )
-test.OutPort( 'Incr' , 'long' )
-test.OutPort( 'Even' , 'long' )
-test.OutPort( 'Odd' , 'long' )
-test.OutPort( 'N' , 'long' )
-test.OutPort( 'K' , 'long' )
-test.SetName( 'test' )
-test.SetAuthor( '' )
-test.SetComment( '' )
-test.Coords( 595 , 239 )
-
-# Creation of GOTO Nodes
-Pycontrol_m3p1 = []
-Pycontrol_m3p1.append( 'def control_m3p1( N , K ):' )
-Pycontrol_m3p1.append( ' return 0,1,N,K' )
-control_m3p1 = GraphGOTO.GNode( 'control_m3p1' , Pycontrol_m3p1 , 'label_test' )
-control_m3p1.InPort( 'N' , 'long' )
-control_m3p1.InPort( 'K' , 'long' )
-control_m3p1.OutPort( 'ValOne' , 'long' )
-control_m3p1.OutPort( 'ValEven' , 'long' )
-control_m3p1.OutPort( 'NT' , 'long' )
-control_m3p1.OutPort( 'KT' , 'long' )
-control_m3p1.SetName( 'control_m3p1' )
-control_m3p1.SetAuthor( '' )
-control_m3p1.SetComment( '' )
-control_m3p1.Coords( 980 , 81 )
-
-Pycontrol_div2 = []
-Pycontrol_div2.append( 'def control_div2( N , NB ) :' )
-Pycontrol_div2.append( ' return N,NB' )
-control_div2 = GraphGOTO.GNode( 'control_div2' , Pycontrol_div2 , 'label_begin' )
-control_div2.InPort( 'N' , 'long' )
-control_div2.InPort( 'K' , 'long' )
-control_div2.OutPort( 'NB' , 'long' )
-control_div2.OutPort( 'KB' , 'long' )
-control_div2.SetName( 'control_div2' )
-control_div2.SetAuthor( '' )
-control_div2.SetComment( '' )
-control_div2.Coords( 1039 , 454 )
-
-# Creation of Links
-test_ISEVENBoolEven = test_ISEVEN.Port( 'BoolEven' )
-label_testValEven = GraphGOTO.Link( test_ISEVENBoolEven , label_test.Port( 'ValEven' ) )
-label_testValEven.AddCoord( 1 , 369 , 273 )
-label_testValEven.AddCoord( 2 , 370 , 498 )
-
-test_ISONEBoolOne = test_ISONE.Port( 'BoolOne' )
-label_testValOne = GraphGOTO.Link( test_ISONEBoolOne , label_test.Port( 'ValOne' ) )
-label_testValOne.AddCoord( 1 , 385 , 303 )
-label_testValOne.AddCoord( 2 , 384 , 225 )
-
-m3p1anEvenInteger = m3p1.Port( 'anEvenInteger' )
-control_m3p1N = GraphGOTO.Link( m3p1anEvenInteger , control_m3p1.Port( 'N' ) )
-
-div2anInteger = div2.Port( 'anInteger' )
-control_div2N = GraphGOTO.Link( div2anInteger , control_div2.Port( 'N' ) )
-
-incraNewCount = incr.Port( 'aNewCount' )
-control_m3p1K = GraphGOTO.Link( incraNewCount , control_m3p1.Port( 'K' ) )
-control_m3p1K.AddCoord( 1 , 964 , 145 )
-control_m3p1K.AddCoord( 2 , 964 , 309 )
-
-control_div2K = GraphGOTO.Link( incraNewCount , control_div2.Port( 'K' ) )
-control_div2K.AddCoord( 1 , 963 , 518 )
-control_div2K.AddCoord( 2 , 964 , 312 )
-
-label_beginNT = label_begin.Port( 'NT' )
-label_testNT = GraphGOTO.Link( label_beginNT , label_test.Port( 'NT' ) )
-
-test_ISONEanInteger = GraphGOTO.Link( label_beginNT , test_ISONE.Port( 'anInteger' ) )
-test_ISONEanInteger.AddCoord( 1 , 192 , 226 )
-test_ISONEanInteger.AddCoord( 2 , 191 , 331 )
-
-test_ISEVENanInteger = GraphGOTO.Link( label_beginNT , test_ISEVEN.Port( 'anInteger' ) )
-test_ISEVENanInteger.AddCoord( 1 , 191 , 494 )
-test_ISEVENanInteger.AddCoord( 2 , 192 , 331 )
-
-label_beginKT = label_begin.Port( 'KT' )
-label_testKT = GraphGOTO.Link( label_beginKT , label_test.Port( 'KT' ) )
-
-label_testValEven = label_test.Port( 'ValEven' )
-testValEven = GraphGOTO.Link( label_testValEven , test.Port( 'ValEven' ) )
-testValEven.AddCoord( 1 , 587 , 318 )
-testValEven.AddCoord( 2 , 570 , 318 )
-testValEven.AddCoord( 3 , 569 , 272 )
-
-label_testValOne = label_test.Port( 'ValOne' )
-testValOne = GraphGOTO.Link( label_testValOne , test.Port( 'ValOne' ) )
-testValOne.AddCoord( 1 , 585 , 273 )
-testValOne.AddCoord( 2 , 586 , 303 )
-
-label_testNT = label_test.Port( 'NT' )
-testNT = GraphGOTO.Link( label_testNT , test.Port( 'NT' ) )
-
-label_testKT = label_test.Port( 'KT' )
-testKT = GraphGOTO.Link( label_testKT , test.Port( 'KT' ) )
-
-testFinished = test.Port( 'Finished' )
-EndSwitch_OneEvenFinished = GraphGOTO.Link( testFinished , EndSwitch_OneEven.Port( 'Finished' ) )
-
-testIncr = test.Port( 'Incr' )
-incrInGate = GraphGOTO.Link( testIncr , incr.Port( 'InGate' ) )
-incrInGate.AddCoord( 1 , 783 , 341 )
-incrInGate.AddCoord( 2 , 782 , 302 )
-
-testEven = test.Port( 'Even' )
-div2InGate = GraphGOTO.Link( testEven , div2.Port( 'InGate' ) )
-div2InGate.AddCoord( 1 , 754 , 518 )
-div2InGate.AddCoord( 2 , 753 , 330 )
-
-testOdd = test.Port( 'Odd' )
-m3p1InGate = GraphGOTO.Link( testOdd , m3p1.Port( 'InGate' ) )
-m3p1InGate.AddCoord( 1 , 758 , 145 )
-m3p1InGate.AddCoord( 2 , 760 , 359 )
-
-testN = test.Port( 'N' )
-m3p1anOddInteger = GraphGOTO.Link( testN , m3p1.Port( 'anOddInteger' ) )
-m3p1anOddInteger.AddCoord( 1 , 767 , 116 )
-m3p1anOddInteger.AddCoord( 2 , 767 , 116 )
-m3p1anOddInteger.AddCoord( 3 , 767 , 390 )
-
-div2anEvenInteger = GraphGOTO.Link( testN , div2.Port( 'anEvenInteger' ) )
-div2anEvenInteger.AddCoord( 1 , 767 , 489 )
-div2anEvenInteger.AddCoord( 2 , 766 , 389 )
-
-testK = test.Port( 'K' )
-EndSwitch_OneEvenK = GraphGOTO.Link( testK , EndSwitch_OneEven.Port( 'K' ) )
-
-incraCount = GraphGOTO.Link( testK , incr.Port( 'aCount' ) )
-incraCount.AddCoord( 1 , 772 , 311 )
-incraCount.AddCoord( 2 , 772 , 417 )
-incraCount.AddCoord( 3 , 772 , 417 )
-
-testDefault = test.Port( 'Default' )
-EndSwitch_OneEvenDefault = GraphGOTO.Link( testDefault , EndSwitch_OneEven.Port( 'Default' ) )
-EndSwitch_OneEvenDefault.AddCoord( 1 , 778 , 384 )
-EndSwitch_OneEvenDefault.AddCoord( 2 , 778 , 448 )
-
-control_m3p1OutGate = control_m3p1.Port( 'OutGate' )
-label_testInGate = GraphGOTO.Link( control_m3p1OutGate , label_test.Port( 'InGate' ) )
-label_testInGate.AddCoord( 1 , 388 , 388 )
-label_testInGate.AddCoord( 2 , 389 , 597 )
-label_testInGate.AddCoord( 3 , 1319 , 597 )
-label_testInGate.AddCoord( 4 , 1318 , 231 )
-
-control_div2OutGate = control_div2.Port( 'OutGate' )
-label_beginInGate = GraphGOTO.Link( control_div2OutGate , label_begin.Port( 'InGate' ) )
-label_beginInGate.AddCoord( 1 , 4 , 388 )
-label_beginInGate.AddCoord( 2 , 3 , 587 )
-label_beginInGate.AddCoord( 3 , 1214 , 588 )
-label_beginInGate.AddCoord( 4 , 1213 , 546 )
-
-# Creation of Input datas
-label_beginNB = label_begin.Input( 'NB' , 7)
-label_beginKB = label_begin.Input( 'KB' , 0)
-
-# Creation of Output variables
-EndSwitch_OneEvenFinished = EndSwitch_OneEven.Port( 'Finished' )
-EndSwitch_OneEvenK = EndSwitch_OneEven.Port( 'K' )
-
-GraphGOTO.Run()
-
-GraphGOTO.DoneW()
-
-GraphGOTO.PrintPorts()
-
+++ /dev/null
-<!DOCTYPE Dataflow>
-<dataflow>
-<info-list>
-<node>
-<component-name>?</component-name>
- <interface-name>?</interface-name>
- <node-name>GraphSyrControl</node-name>
- <kind>1</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>GraphSyrControl</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>label_begin\NB</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>label_begin\KB</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>EndSwitch_OneEven\Finished</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>EndSwitch_OneEven\K</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list/>
- <creation-date>11/3/2003 - 18:34:21</creation-date>
- <lastmodification-date>18/9/2003 - 17:27:23</lastmodification-date>
- <editor-release>1.04</editor-release>
- <author>JR</author>
- <container>?</container>
- <comment>Syracuse algorithm</comment>
- <x-position>0</x-position>
- <y-position>0</y-position> </node> </info-list>
- <node-list>
-<node>
-<component-name>SyrComponent</component-name>
- <interface-name>SyrComponent</interface-name>
- <node-name>test_ISEVEN</node-name>
- <kind>0</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>C_ISEVEN</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>anInteger</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>BoolEven</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list/>
- <creation-date>18/9/2003 - 17:27:22</creation-date>
- <lastmodification-date>18/9/2003 - 17:27:22</lastmodification-date>
- <editor-release>1.04</editor-release>
- <author>?</author>
- <container>localhost/FactoryServer</container>
- <comment>C_ISEVEN from SyrComponent</comment>
- <x-position>195</x-position>
- <y-position>417</y-position> </node>
- <node>
-<component-name>SyrComponent</component-name>
- <interface-name>SyrComponent</interface-name>
- <node-name>test_ISONE</node-name>
- <kind>0</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>C_ISONE</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>anInteger</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>BoolOne</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list/>
- <creation-date>18/9/2003 - 17:27:22</creation-date>
- <lastmodification-date>18/9/2003 - 17:27:22</lastmodification-date>
- <editor-release>1.04</editor-release>
- <author>?</author>
- <container>localhost/FactoryServer</container>
- <comment>C_ISONE from SyrComponent</comment>
- <x-position>201</x-position>
- <y-position>145</y-position> </node>
- <node>
-<component-name>SyrComponent</component-name>
- <interface-name>SyrComponent</interface-name>
- <node-name>m3p1</node-name>
- <kind>0</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>C_M3P1</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>anOddInteger</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>anEvenInteger</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list/>
- <creation-date>18/9/2003 - 17:27:22</creation-date>
- <lastmodification-date>18/9/2003 - 17:27:22</lastmodification-date>
- <editor-release>1.04</editor-release>
- <author>?</author>
- <container>localhost/FactoryServer</container>
- <comment>C_M3P1 from SyrComponent</comment>
- <x-position>784</x-position>
- <y-position>36</y-position> </node>
- <node>
-<component-name>SyrComponent</component-name>
- <interface-name>SyrComponent</interface-name>
- <node-name>div2</node-name>
- <kind>0</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>C_DIV2</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>anEvenInteger</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>anInteger</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list/>
- <creation-date>18/9/2003 - 17:27:22</creation-date>
- <lastmodification-date>18/9/2003 - 17:27:22</lastmodification-date>
- <editor-release>1.04</editor-release>
- <author>?</author>
- <container>localhost/FactoryServer</container>
- <comment>C_DIV2 from SyrComponent</comment>
- <x-position>788</x-position>
- <y-position>409</y-position> </node>
- <node>
-<component-name>SyrComponent</component-name>
- <interface-name>SyrComponent</interface-name>
- <node-name>incr</node-name>
- <kind>0</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>C_INCR</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>aCount</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>aNewCount</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list/>
- <creation-date>18/9/2003 - 17:27:23</creation-date>
- <lastmodification-date>18/9/2003 - 17:27:23</lastmodification-date>
- <editor-release>1.04</editor-release>
- <author>?</author>
- <container>localhost/FactoryServer</container>
- <comment>C_INCR from SyrComponent</comment>
- <x-position>788</x-position>
- <y-position>230</y-position> </node>
- <node>
-<component-name>?</component-name>
- <interface-name>?</interface-name>
- <node-name>label_begin</node-name>
- <kind>3</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>label_begin</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>NB</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>KB</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>NT</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>KT</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list>
-<PyFunction>
-<FuncName>label_begin</FuncName>
- <PyFunc><![CDATA[def label_begin( NB , KB ):]]></PyFunc>
- <PyFunc><![CDATA[ print "label_begin",NB,KB]]></PyFunc>
- <PyFunc><![CDATA[ return NB,KB]]></PyFunc> </PyFunction> </PyFunction-list>
- <creation-date>18/9/2003 - 17:27:23</creation-date>
- <lastmodification-date>18/9/2003 - 17:27:23</lastmodification-date>
- <editor-release>1.04</editor-release>
- <author>?</author>
- <container>?</container>
- <comment>Python function</comment>
- <x-position>9</x-position>
- <y-position>250</y-position> </node>
- <node>
-<component-name>?</component-name>
- <interface-name>?</interface-name>
- <node-name>label_test</node-name>
- <kind>3</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>label_test</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>ValEven</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>ValOne</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>NT</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>KT</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>ValEven</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>ValOne</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>NT</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>KT</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list>
-<PyFunction>
-<FuncName>label_test</FuncName>
- <PyFunc><![CDATA[def label_test( ValEven , ValOne , NB , KB ):]]></PyFunc>
- <PyFunc><![CDATA[ print "label_begin",ValEven,ValOne,NB,KB]]></PyFunc>
- <PyFunc><![CDATA[ return ValEven,ValOne,NB,KB]]></PyFunc> </PyFunction> </PyFunction-list>
- <creation-date>18/9/2003 - 17:27:23</creation-date>
- <lastmodification-date>18/9/2003 - 17:27:23</lastmodification-date>
- <editor-release>1.04</editor-release>
- <author>?</author>
- <container>?</container>
- <comment>Python function</comment>
- <x-position>396</x-position>
- <y-position>193</y-position> </node>
- <node>
-<component-name>?</component-name>
- <interface-name>?</interface-name>
- <node-name>test</node-name>
- <kind>6</kind>
- <coupled-node>EndSwitch_OneEven</coupled-node>
- <service>
-<service-name>test</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>ValOne</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>ValEven</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>NT</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>KT</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>Finished</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>Incr</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>Even</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>Odd</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>N</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>K</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list>
-<PyFunction>
-<FuncName>Switch_OneEven</FuncName>
- <PyFunc><![CDATA[def Switch_OneEven( ValOne , ValEven , NT , KT ) :]]></PyFunc>
- <PyFunc><![CDATA[ Finished = ValOne]]></PyFunc>
- <PyFunc><![CDATA[ if Finished == 0 :]]></PyFunc>
- <PyFunc><![CDATA[ Incr = 1]]></PyFunc>
- <PyFunc><![CDATA[ Even = ValEven]]></PyFunc>
- <PyFunc><![CDATA[ if Even == 0 :]]></PyFunc>
- <PyFunc><![CDATA[ Odd = 1]]></PyFunc>
- <PyFunc><![CDATA[ else :]]></PyFunc>
- <PyFunc><![CDATA[ Odd = 0]]></PyFunc>
- <PyFunc><![CDATA[ else :]]></PyFunc>
- <PyFunc><![CDATA[ Incr = 0]]></PyFunc>
- <PyFunc><![CDATA[ Even = 0]]></PyFunc>
- <PyFunc><![CDATA[ Odd = 0]]></PyFunc>
- <PyFunc><![CDATA[ Even = ValEven]]></PyFunc>
- <PyFunc><![CDATA[ return Finished,Incr,Even,Odd,NT,KT]]></PyFunc> </PyFunction> </PyFunction-list>
- <creation-date>18/9/2003 - 17:27:23</creation-date>
- <lastmodification-date>18/9/2003 - 17:27:23</lastmodification-date>
- <editor-release>1.04</editor-release>
- <author>?</author>
- <container>?</container>
- <comment>?</comment>
- <x-position>595</x-position>
- <y-position>239</y-position> </node>
- <node>
-<component-name>?</component-name>
- <interface-name>?</interface-name>
- <node-name>EndSwitch_OneEven</node-name>
- <kind>7</kind>
- <coupled-node>test</coupled-node>
- <service>
-<service-name>EndSwitch_OneEven</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>Finished</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>K</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>Finished</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>K</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list>
-<PyFunction>
-<FuncName>EndSwitch_OneEven</FuncName>
- <PyFunc><![CDATA[def EndSwitch_OneEven( Finished , K ):]]></PyFunc>
- <PyFunc><![CDATA[ print "label_begin",Finished,K]]></PyFunc>
- <PyFunc><![CDATA[ return Finished,K]]></PyFunc> </PyFunction> </PyFunction-list>
- <creation-date>18/9/2003 - 17:27:23</creation-date>
- <lastmodification-date>18/9/2003 - 17:27:23</lastmodification-date>
- <editor-release>1.04</editor-release>
- <author>?</author>
- <container>?</container>
- <comment>?</comment>
- <x-position>1152</x-position>
- <y-position>292</y-position> </node>
- <node>
-<component-name>?</component-name>
- <interface-name>?</interface-name>
- <node-name>control_m3p1</node-name>
- <kind>8</kind>
- <coupled-node>label_test</coupled-node>
- <service>
-<service-name>control_m3p1</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>N</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>K</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>ValOne</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>ValEven</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>NT</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>KT</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list>
-<PyFunction>
-<FuncName>control_m3p1</FuncName>
- <PyFunc><![CDATA[def control_m3p1( N , K ):]]></PyFunc>
- <PyFunc><![CDATA[ return 0,1,N,K]]></PyFunc> </PyFunction> </PyFunction-list>
- <creation-date>18/9/2003 - 17:27:23</creation-date>
- <lastmodification-date>18/9/2003 - 17:27:23</lastmodification-date>
- <editor-release>1.04</editor-release>
- <author>?</author>
- <container>?</container>
- <comment>?</comment>
- <x-position>980</x-position>
- <y-position>81</y-position> </node>
- <node>
-<component-name>?</component-name>
- <interface-name>?</interface-name>
- <node-name>control_div2</node-name>
- <kind>8</kind>
- <coupled-node>label_begin</coupled-node>
- <service>
-<service-name>control_div2</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>N</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>K</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>NB</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>KB</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list>
-<PyFunction>
-<FuncName>control_div2</FuncName>
- <PyFunc><![CDATA[def control_div2( N , NB ) :]]></PyFunc>
- <PyFunc><![CDATA[ return N,NB]]></PyFunc> </PyFunction> </PyFunction-list>
- <creation-date>18/9/2003 - 17:27:23</creation-date>
- <lastmodification-date>18/9/2003 - 17:27:23</lastmodification-date>
- <editor-release>1.04</editor-release>
- <author>?</author>
- <container>?</container>
- <comment>?</comment>
- <x-position>1039</x-position>
- <y-position>454</y-position> </node> </node-list>
- <link-list>
-<link>
-<fromnode-name>test_ISEVEN</fromnode-name>
- <fromserviceparameter-name>BoolEven</fromserviceparameter-name>
- <tonode-name>label_test</tonode-name>
- <toserviceparameter-name>ValEven</toserviceparameter-name>
- <coord-list>
-<coord>
-<x>369</x>
- <y>273</y> </coord>
- <coord>
-<x>370</x>
- <y>498</y> </coord> </coord-list> </link>
- <link>
-<fromnode-name>test_ISONE</fromnode-name>
- <fromserviceparameter-name>BoolOne</fromserviceparameter-name>
- <tonode-name>label_test</tonode-name>
- <toserviceparameter-name>ValOne</toserviceparameter-name>
- <coord-list>
-<coord>
-<x>385</x>
- <y>303</y> </coord>
- <coord>
-<x>384</x>
- <y>225</y> </coord> </coord-list> </link>
- <link>
-<fromnode-name>m3p1</fromnode-name>
- <fromserviceparameter-name>anEvenInteger</fromserviceparameter-name>
- <tonode-name>control_m3p1</tonode-name>
- <toserviceparameter-name>N</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>div2</fromnode-name>
- <fromserviceparameter-name>anInteger</fromserviceparameter-name>
- <tonode-name>control_div2</tonode-name>
- <toserviceparameter-name>N</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>incr</fromnode-name>
- <fromserviceparameter-name>aNewCount</fromserviceparameter-name>
- <tonode-name>control_m3p1</tonode-name>
- <toserviceparameter-name>K</toserviceparameter-name>
- <coord-list>
-<coord>
-<x>964</x>
- <y>145</y> </coord>
- <coord>
-<x>964</x>
- <y>309</y> </coord> </coord-list> </link>
- <link>
-<fromnode-name>incr</fromnode-name>
- <fromserviceparameter-name>aNewCount</fromserviceparameter-name>
- <tonode-name>control_div2</tonode-name>
- <toserviceparameter-name>K</toserviceparameter-name>
- <coord-list>
-<coord>
-<x>963</x>
- <y>518</y> </coord>
- <coord>
-<x>964</x>
- <y>312</y> </coord> </coord-list> </link>
- <link>
-<fromnode-name>label_begin</fromnode-name>
- <fromserviceparameter-name>NT</fromserviceparameter-name>
- <tonode-name>label_test</tonode-name>
- <toserviceparameter-name>NT</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>label_begin</fromnode-name>
- <fromserviceparameter-name>NT</fromserviceparameter-name>
- <tonode-name>test_ISONE</tonode-name>
- <toserviceparameter-name>anInteger</toserviceparameter-name>
- <coord-list>
-<coord>
-<x>192</x>
- <y>226</y> </coord>
- <coord>
-<x>191</x>
- <y>331</y> </coord> </coord-list> </link>
- <link>
-<fromnode-name>label_begin</fromnode-name>
- <fromserviceparameter-name>NT</fromserviceparameter-name>
- <tonode-name>test_ISEVEN</tonode-name>
- <toserviceparameter-name>anInteger</toserviceparameter-name>
- <coord-list>
-<coord>
-<x>191</x>
- <y>494</y> </coord>
- <coord>
-<x>192</x>
- <y>331</y> </coord> </coord-list> </link>
- <link>
-<fromnode-name>label_begin</fromnode-name>
- <fromserviceparameter-name>KT</fromserviceparameter-name>
- <tonode-name>label_test</tonode-name>
- <toserviceparameter-name>KT</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>label_test</fromnode-name>
- <fromserviceparameter-name>ValEven</fromserviceparameter-name>
- <tonode-name>test</tonode-name>
- <toserviceparameter-name>ValEven</toserviceparameter-name>
- <coord-list>
-<coord>
-<x>587</x>
- <y>318</y> </coord>
- <coord>
-<x>570</x>
- <y>318</y> </coord>
- <coord>
-<x>569</x>
- <y>272</y> </coord> </coord-list> </link>
- <link>
-<fromnode-name>label_test</fromnode-name>
- <fromserviceparameter-name>ValOne</fromserviceparameter-name>
- <tonode-name>test</tonode-name>
- <toserviceparameter-name>ValOne</toserviceparameter-name>
- <coord-list>
-<coord>
-<x>585</x>
- <y>273</y> </coord>
- <coord>
-<x>586</x>
- <y>303</y> </coord> </coord-list> </link>
- <link>
-<fromnode-name>label_test</fromnode-name>
- <fromserviceparameter-name>NT</fromserviceparameter-name>
- <tonode-name>test</tonode-name>
- <toserviceparameter-name>NT</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>label_test</fromnode-name>
- <fromserviceparameter-name>KT</fromserviceparameter-name>
- <tonode-name>test</tonode-name>
- <toserviceparameter-name>KT</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>test</fromnode-name>
- <fromserviceparameter-name>Finished</fromserviceparameter-name>
- <tonode-name>EndSwitch_OneEven</tonode-name>
- <toserviceparameter-name>Finished</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>test</fromnode-name>
- <fromserviceparameter-name>Incr</fromserviceparameter-name>
- <tonode-name>incr</tonode-name>
- <toserviceparameter-name>InGate</toserviceparameter-name>
- <coord-list>
-<coord>
-<x>783</x>
- <y>341</y> </coord>
- <coord>
-<x>782</x>
- <y>302</y> </coord> </coord-list> </link>
- <link>
-<fromnode-name>test</fromnode-name>
- <fromserviceparameter-name>Even</fromserviceparameter-name>
- <tonode-name>div2</tonode-name>
- <toserviceparameter-name>InGate</toserviceparameter-name>
- <coord-list>
-<coord>
-<x>754</x>
- <y>518</y> </coord>
- <coord>
-<x>753</x>
- <y>330</y> </coord> </coord-list> </link>
- <link>
-<fromnode-name>test</fromnode-name>
- <fromserviceparameter-name>Odd</fromserviceparameter-name>
- <tonode-name>m3p1</tonode-name>
- <toserviceparameter-name>InGate</toserviceparameter-name>
- <coord-list>
-<coord>
-<x>758</x>
- <y>145</y> </coord>
- <coord>
-<x>760</x>
- <y>359</y> </coord> </coord-list> </link>
- <link>
-<fromnode-name>test</fromnode-name>
- <fromserviceparameter-name>N</fromserviceparameter-name>
- <tonode-name>m3p1</tonode-name>
- <toserviceparameter-name>anOddInteger</toserviceparameter-name>
- <coord-list>
-<coord>
-<x>767</x>
- <y>116</y> </coord>
- <coord>
-<x>767</x>
- <y>116</y> </coord>
- <coord>
-<x>767</x>
- <y>390</y> </coord> </coord-list> </link>
- <link>
-<fromnode-name>test</fromnode-name>
- <fromserviceparameter-name>N</fromserviceparameter-name>
- <tonode-name>div2</tonode-name>
- <toserviceparameter-name>anEvenInteger</toserviceparameter-name>
- <coord-list>
-<coord>
-<x>767</x>
- <y>489</y> </coord>
- <coord>
-<x>766</x>
- <y>389</y> </coord> </coord-list> </link>
- <link>
-<fromnode-name>test</fromnode-name>
- <fromserviceparameter-name>K</fromserviceparameter-name>
- <tonode-name>EndSwitch_OneEven</tonode-name>
- <toserviceparameter-name>K</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>test</fromnode-name>
- <fromserviceparameter-name>K</fromserviceparameter-name>
- <tonode-name>incr</tonode-name>
- <toserviceparameter-name>aCount</toserviceparameter-name>
- <coord-list>
-<coord>
-<x>772</x>
- <y>311</y> </coord>
- <coord>
-<x>772</x>
- <y>417</y> </coord>
- <coord>
-<x>772</x>
- <y>417</y> </coord> </coord-list> </link>
- <link>
-<fromnode-name>test</fromnode-name>
- <fromserviceparameter-name>Default</fromserviceparameter-name>
- <tonode-name>EndSwitch_OneEven</tonode-name>
- <toserviceparameter-name>Default</toserviceparameter-name>
- <coord-list>
-<coord>
-<x>778</x>
- <y>384</y> </coord>
- <coord>
-<x>778</x>
- <y>448</y> </coord> </coord-list> </link>
- <link>
-<fromnode-name>control_m3p1</fromnode-name>
- <fromserviceparameter-name>OutGate</fromserviceparameter-name>
- <tonode-name>label_test</tonode-name>
- <toserviceparameter-name>InGate</toserviceparameter-name>
- <coord-list>
-<coord>
-<x>388</x>
- <y>388</y> </coord>
- <coord>
-<x>389</x>
- <y>597</y> </coord>
- <coord>
-<x>1319</x>
- <y>597</y> </coord>
- <coord>
-<x>1318</x>
- <y>231</y> </coord> </coord-list> </link>
- <link>
-<fromnode-name>control_div2</fromnode-name>
- <fromserviceparameter-name>OutGate</fromserviceparameter-name>
- <tonode-name>label_begin</tonode-name>
- <toserviceparameter-name>InGate</toserviceparameter-name>
- <coord-list>
-<coord>
-<x>4</x>
- <y>388</y> </coord>
- <coord>
-<x>3</x>
- <y>587</y> </coord>
- <coord>
-<x>1214</x>
- <y>588</y> </coord>
- <coord>
-<x>1213</x>
- <y>546</y> </coord> </coord-list> </link> </link-list>
- <data-list>
-<data>
-<fromnode-name>GraphSyrControl</fromnode-name>
- <fromserviceparameter-name>label_begin\NB</fromserviceparameter-name>
- <tonode-name>label_begin</tonode-name>
- <toserviceparameter-name>NB</toserviceparameter-name>
- <data-value>
-<value-type>3</value-type>
- <value>7</value> </data-value>
- <coord-list/> </data>
- <data>
-<fromnode-name>GraphSyrControl</fromnode-name>
- <fromserviceparameter-name>label_begin\KB</fromserviceparameter-name>
- <tonode-name>label_begin</tonode-name>
- <toserviceparameter-name>KB</toserviceparameter-name>
- <data-value>
-<value-type>3</value-type>
- <value>0</value> </data-value>
- <coord-list/> </data> </data-list></dataflow>
+++ /dev/null
-<!DOCTYPE Dataflow>
-<dataflow>
-<info-list>
-<node>
-<component-name>?</component-name>
- <interface-name>?</interface-name>
- <node-name>GraphGeomEssai</node-name>
- <kind>1</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>GraphGeomEssai</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>double</inParameter-type>
- <inParameter-name>MakeSphere\x1</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>double</inParameter-type>
- <inParameter-name>MakeSphere\y1</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>double</inParameter-type>
- <inParameter-name>MakeSphere\z1</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>double</inParameter-type>
- <inParameter-name>MakeSphere\radius</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>double</inParameter-type>
- <inParameter-name>MakeTranslation\x1</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>double</inParameter-type>
- <inParameter-name>MakeTranslation\y1</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>double</inParameter-type>
- <inParameter-name>MakeTranslation\z1</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>GEOM_Shape</outParameter-type>
- <outParameter-name>MakeFuse\shape</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list/>
- <creation-date>10/7/2002 - 14:53:2</creation-date>
- <lastmodification-date>24/9/2003 - 16:13:48</lastmodification-date>
- <editor-release>1.03</editor-release>
- <author>?</author>
- <container>?</container>
- <comment>?</comment>
- <x-position>0</x-position>
- <y-position>0</y-position> </node> </info-list>
- <node-list>
-<node>
-<component-name>GEOM</component-name>
- <interface-name>GEOM</interface-name>
- <node-name>MakeCopy</node-name>
- <kind>0</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>MakeCopy</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>GEOM_Shape</inParameter-type>
- <inParameter-name>shape1</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>GEOM_Shape</outParameter-type>
- <outParameter-name>shape</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list/>
- <creation-date>24/9/2003 - 16:13:48</creation-date>
- <lastmodification-date>24/9/2003 - 16:13:48</lastmodification-date>
- <editor-release>1.03</editor-release>
- <author>?</author>
- <container>localhost/FactoryServer</container>
- <comment>MakeCopy from GEOM</comment>
- <x-position>269</x-position>
- <y-position>85</y-position> </node>
- <node>
-<component-name>GEOM</component-name>
- <interface-name>GEOM</interface-name>
- <node-name>MakeFuse</node-name>
- <kind>0</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>MakeFuse</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>GEOM_Shape</inParameter-type>
- <inParameter-name>shape1</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>GEOM_Shape</inParameter-type>
- <inParameter-name>shape2</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>GEOM_Shape</outParameter-type>
- <outParameter-name>shape</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list/>
- <creation-date>24/9/2003 - 16:13:48</creation-date>
- <lastmodification-date>24/9/2003 - 16:13:48</lastmodification-date>
- <editor-release>1.03</editor-release>
- <author>?</author>
- <container>localhost/FactoryServer</container>
- <comment>MakeFuse from GEOM</comment>
- <x-position>725</x-position>
- <y-position>179</y-position> </node>
- <node>
-<component-name>GEOM</component-name>
- <interface-name>GEOM</interface-name>
- <node-name>MakeSphere</node-name>
- <kind>0</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>MakeSphere</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>double</inParameter-type>
- <inParameter-name>x1</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>double</inParameter-type>
- <inParameter-name>y1</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>double</inParameter-type>
- <inParameter-name>z1</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>double</inParameter-type>
- <inParameter-name>radius</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>GEOM_Shape</outParameter-type>
- <outParameter-name>shape</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list/>
- <creation-date>24/9/2003 - 16:13:48</creation-date>
- <lastmodification-date>24/9/2003 - 16:13:48</lastmodification-date>
- <editor-release>1.03</editor-release>
- <author>?</author>
- <container>localhost/FactoryServer</container>
- <comment>MakeSphere from GEOM</comment>
- <x-position>28</x-position>
- <y-position>188</y-position> </node>
- <node>
-<component-name>GEOM</component-name>
- <interface-name>GEOM</interface-name>
- <node-name>MakeTranslation</node-name>
- <kind>0</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>MakeTranslation</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>GEOM_Shape</inParameter-type>
- <inParameter-name>shape1</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>double</inParameter-type>
- <inParameter-name>x1</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>double</inParameter-type>
- <inParameter-name>y1</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>double</inParameter-type>
- <inParameter-name>z1</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>GEOM_Shape</outParameter-type>
- <outParameter-name>shape</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list/>
- <creation-date>24/9/2003 - 16:13:48</creation-date>
- <lastmodification-date>24/9/2003 - 16:13:48</lastmodification-date>
- <editor-release>1.03</editor-release>
- <author>?</author>
- <container>localhost/FactoryServer</container>
- <comment>MakeTranslation from GEOM</comment>
- <x-position>493</x-position>
- <y-position>85</y-position> </node>
- <node>
-<component-name>GEOM</component-name>
- <interface-name>GEOM</interface-name>
- <node-name>MakeCopy_1</node-name>
- <kind>0</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>MakeCopy</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>GEOM_Shape</inParameter-type>
- <inParameter-name>shape1</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>GEOM_Shape</outParameter-type>
- <outParameter-name>shape</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list/>
- <creation-date>24/9/2003 - 16:13:48</creation-date>
- <lastmodification-date>24/9/2003 - 16:13:48</lastmodification-date>
- <editor-release>1.03</editor-release>
- <author>?</author>
- <container>localhost/FactoryServer</container>
- <comment>MakeCopy from GEOM</comment>
- <x-position>283</x-position>
- <y-position>391</y-position> </node> </node-list>
- <link-list>
-<link>
-<fromnode-name>MakeCopy</fromnode-name>
- <fromserviceparameter-name>shape</fromserviceparameter-name>
- <tonode-name>MakeTranslation</tonode-name>
- <toserviceparameter-name>shape1</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>MakeSphere</fromnode-name>
- <fromserviceparameter-name>shape</fromserviceparameter-name>
- <tonode-name>MakeCopy</tonode-name>
- <toserviceparameter-name>shape1</toserviceparameter-name>
- <coord-list>
-<coord>
-<x>225</x>
- <y>165</y> </coord>
- <coord>
-<x>224</x>
- <y>269</y> </coord> </coord-list> </link>
- <link>
-<fromnode-name>MakeSphere</fromnode-name>
- <fromserviceparameter-name>shape</fromserviceparameter-name>
- <tonode-name>MakeCopy_1</tonode-name>
- <toserviceparameter-name>shape1</toserviceparameter-name>
- <coord-list>
-<coord>
-<x>223</x>
- <y>472</y> </coord>
- <coord>
-<x>224</x>
- <y>270</y> </coord> </coord-list> </link>
- <link>
-<fromnode-name>MakeTranslation</fromnode-name>
- <fromserviceparameter-name>shape</fromserviceparameter-name>
- <tonode-name>MakeFuse</tonode-name>
- <toserviceparameter-name>shape1</toserviceparameter-name>
- <coord-list>
-<coord>
-<x>688</x>
- <y>259</y> </coord>
- <coord>
-<x>687</x>
- <y>165</y> </coord> </coord-list> </link>
- <link>
-<fromnode-name>MakeCopy_1</fromnode-name>
- <fromserviceparameter-name>shape</fromserviceparameter-name>
- <tonode-name>MakeFuse</tonode-name>
- <toserviceparameter-name>shape2</toserviceparameter-name>
- <coord-list>
-<coord>
-<x>689</x>
- <y>289</y> </coord>
- <coord>
-<x>690</x>
- <y>471</y> </coord> </coord-list> </link> </link-list>
- <data-list>
-<data>
-<fromnode-name>GraphGeomEssai</fromnode-name>
- <fromserviceparameter-name>MakeSphere\x1</fromserviceparameter-name>
- <tonode-name>MakeSphere</tonode-name>
- <toserviceparameter-name>x1</toserviceparameter-name>
- <data-value>
-<value-type>7</value-type>
- <value>0</value> </data-value>
- <coord-list/> </data>
- <data>
-<fromnode-name>GraphGeomEssai</fromnode-name>
- <fromserviceparameter-name>MakeSphere\y1</fromserviceparameter-name>
- <tonode-name>MakeSphere</tonode-name>
- <toserviceparameter-name>y1</toserviceparameter-name>
- <data-value>
-<value-type>7</value-type>
- <value>0</value> </data-value>
- <coord-list/> </data>
- <data>
-<fromnode-name>GraphGeomEssai</fromnode-name>
- <fromserviceparameter-name>MakeSphere\z1</fromserviceparameter-name>
- <tonode-name>MakeSphere</tonode-name>
- <toserviceparameter-name>z1</toserviceparameter-name>
- <data-value>
-<value-type>7</value-type>
- <value>0</value> </data-value>
- <coord-list/> </data>
- <data>
-<fromnode-name>GraphGeomEssai</fromnode-name>
- <fromserviceparameter-name>MakeSphere\radius</fromserviceparameter-name>
- <tonode-name>MakeSphere</tonode-name>
- <toserviceparameter-name>radius</toserviceparameter-name>
- <data-value>
-<value-type>7</value-type>
- <value>20</value> </data-value>
- <coord-list/> </data>
- <data>
-<fromnode-name>GraphGeomEssai</fromnode-name>
- <fromserviceparameter-name>MakeTranslation\x1</fromserviceparameter-name>
- <tonode-name>MakeTranslation</tonode-name>
- <toserviceparameter-name>x1</toserviceparameter-name>
- <data-value>
-<value-type>7</value-type>
- <value>10</value> </data-value>
- <coord-list/> </data>
- <data>
-<fromnode-name>GraphGeomEssai</fromnode-name>
- <fromserviceparameter-name>MakeTranslation\y1</fromserviceparameter-name>
- <tonode-name>MakeTranslation</tonode-name>
- <toserviceparameter-name>y1</toserviceparameter-name>
- <data-value>
-<value-type>7</value-type>
- <value>10</value> </data-value>
- <coord-list/> </data>
- <data>
-<fromnode-name>GraphGeomEssai</fromnode-name>
- <fromserviceparameter-name>MakeTranslation\z1</fromserviceparameter-name>
- <tonode-name>MakeTranslation</tonode-name>
- <toserviceparameter-name>z1</toserviceparameter-name>
- <data-value>
-<value-type>7</value-type>
- <value>10</value> </data-value>
- <coord-list/> </data> </data-list></dataflow>
+++ /dev/null
-
-# Generated python file of Graph GraphInLines
-
-from SuperV import *
-# Graph creation
-GraphInLines = Graph( 'GraphInLines' )
-GraphInLines.SetName( 'GraphInLines' )
-GraphInLines.SetAuthor( '' )
-GraphInLines.SetComment( '' )
-GraphInLines.Coords( 0 , 0 )
-
-# Creation of Factory Nodes
-
-# Creation of InLine Nodes
-PyAdd = []
-PyAdd.append( 'def Add(a,b) : ' )
-PyAdd.append( ' return a+b ' )
-PyAdd.append( '' )
-Add = GraphInLines.INode( 'Add' , PyAdd )
-Add.InPort( 'a' , 'long' )
-Add.InPort( 'b' , 'long' )
-Add.OutPort( 'f' , 'long' )
-Add.SetName( 'Add' )
-Add.SetAuthor( '' )
-Add.SetComment( 'Python function' )
-Add.Coords( 351 , 77 )
-
-PySub = []
-PySub.append( 'def Sub(a,b) : ' )
-PySub.append( ' return a-b ' )
-PySub.append( '' )
-Sub = GraphInLines.INode( 'Sub' , PySub )
-Sub.InPort( 'a' , 'long' )
-Sub.InPort( 'b' , 'long' )
-Sub.OutPort( 'f' , 'long' )
-Sub.SetName( 'Sub' )
-Sub.SetAuthor( '' )
-Sub.SetComment( 'Python function' )
-Sub.Coords( 86 , 333 )
-
-PyMul = []
-PyMul.append( 'def Mul(a,b) : ' )
-PyMul.append( ' return a*b ' )
-Mul = GraphInLines.INode( 'Mul' , PyMul )
-Mul.InPort( 'a' , 'long' )
-Mul.InPort( 'b' , 'long' )
-Mul.OutPort( 'Result' , 'long' )
-Mul.SetName( 'Mul' )
-Mul.SetAuthor( '' )
-Mul.SetComment( 'Python function' )
-Mul.Coords( 616 , 247 )
-
-# Creation of Links
-Addf = Add.Port( 'f' )
-Mula = GraphInLines.Link( Addf , Mul.Port( 'a' ) )
-Mula.AddCoord( 1 , 569 , 326 )
-Mula.AddCoord( 2 , 569 , 158 )
-
-Subf = Sub.Port( 'f' )
-Mulb = GraphInLines.Link( Subf , Mul.Port( 'b' ) )
-Mulb.AddCoord( 1 , 283 , 358 )
-Mulb.AddCoord( 2 , 281 , 413 )
-
-Addb = GraphInLines.Link( Subf , Add.Port( 'b' ) )
-Addb.AddCoord( 1 , 283 , 187 )
-Addb.AddCoord( 2 , 282 , 356 )
-Addb.AddCoord( 3 , 281 , 414 )
-
-# Creation of Input datas
-Adda = Add.Input( 'a' , 1)
-Suba = Sub.Input( 'a' , 3)
-Subb = Sub.Input( 'b' , 4)
-
-# Creation of Output variables
-MulResult = Mul.Port( 'Result' )
-
-GraphInLines.Run()
-
-GraphInLines.DoneW()
-
-GraphInLines.PrintPorts()
-
+++ /dev/null
-<!DOCTYPE Dataflow>
-<dataflow>
-<info-list>
-<node>
-<component-name>?</component-name>
- <interface-name>?</interface-name>
- <node-name>GraphInLines</node-name>
- <kind>1</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>GraphInLines</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>Add\a</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>Sub\a</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>Sub\b</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>Mul\Result</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list/>
- <creation-date>24/3/2003 - 10:58:41</creation-date>
- <lastmodification-date>18/9/2003 - 17:30:7</lastmodification-date>
- <editor-release>1.04</editor-release>
- <author>?</author>
- <container>?</container>
- <comment>?</comment>
- <x-position>0</x-position>
- <y-position>0</y-position> </node> </info-list>
- <node-list>
-<node>
-<component-name>?</component-name>
- <interface-name>?</interface-name>
- <node-name>Add</node-name>
- <kind>3</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>Add</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>a</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>b</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>f</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list>
-<PyFunction>
-<FuncName>Add</FuncName>
- <PyFunc><![CDATA[def Add(a,b) : ]]></PyFunc>
- <PyFunc><![CDATA[ return a+b ]]></PyFunc>
- <PyFunc><![CDATA[?]]></PyFunc> </PyFunction> </PyFunction-list>
- <creation-date>18/9/2003 - 17:30:7</creation-date>
- <lastmodification-date>18/9/2003 - 17:30:7</lastmodification-date>
- <editor-release>1.04</editor-release>
- <author>?</author>
- <container>?</container>
- <comment>Python function</comment>
- <x-position>351</x-position>
- <y-position>77</y-position> </node>
- <node>
-<component-name>?</component-name>
- <interface-name>?</interface-name>
- <node-name>Sub</node-name>
- <kind>3</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>Sub</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>a</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>b</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>f</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list>
-<PyFunction>
-<FuncName>Sub</FuncName>
- <PyFunc><![CDATA[def Sub(a,b) : ]]></PyFunc>
- <PyFunc><![CDATA[ return a-b ]]></PyFunc>
- <PyFunc><![CDATA[?]]></PyFunc> </PyFunction> </PyFunction-list>
- <creation-date>18/9/2003 - 17:30:7</creation-date>
- <lastmodification-date>18/9/2003 - 17:30:7</lastmodification-date>
- <editor-release>1.04</editor-release>
- <author>?</author>
- <container>?</container>
- <comment>Python function</comment>
- <x-position>86</x-position>
- <y-position>333</y-position> </node>
- <node>
-<component-name>?</component-name>
- <interface-name>?</interface-name>
- <node-name>Mul</node-name>
- <kind>3</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>Mul</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>a</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>b</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>Result</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list>
-<PyFunction>
-<FuncName>Mul</FuncName>
- <PyFunc><![CDATA[def Mul(a,b) : ]]></PyFunc>
- <PyFunc><![CDATA[ return a*b ]]></PyFunc> </PyFunction> </PyFunction-list>
- <creation-date>18/9/2003 - 17:30:7</creation-date>
- <lastmodification-date>18/9/2003 - 17:30:7</lastmodification-date>
- <editor-release>1.04</editor-release>
- <author>?</author>
- <container>?</container>
- <comment>Python function</comment>
- <x-position>616</x-position>
- <y-position>247</y-position> </node> </node-list>
- <link-list>
-<link>
-<fromnode-name>Add</fromnode-name>
- <fromserviceparameter-name>f</fromserviceparameter-name>
- <tonode-name>Mul</tonode-name>
- <toserviceparameter-name>a</toserviceparameter-name>
- <coord-list>
-<coord>
-<x>569</x>
- <y>326</y> </coord>
- <coord>
-<x>569</x>
- <y>158</y> </coord> </coord-list> </link>
- <link>
-<fromnode-name>Sub</fromnode-name>
- <fromserviceparameter-name>f</fromserviceparameter-name>
- <tonode-name>Mul</tonode-name>
- <toserviceparameter-name>b</toserviceparameter-name>
- <coord-list>
-<coord>
-<x>283</x>
- <y>358</y> </coord>
- <coord>
-<x>281</x>
- <y>413</y> </coord> </coord-list> </link>
- <link>
-<fromnode-name>Sub</fromnode-name>
- <fromserviceparameter-name>f</fromserviceparameter-name>
- <tonode-name>Add</tonode-name>
- <toserviceparameter-name>b</toserviceparameter-name>
- <coord-list>
-<coord>
-<x>283</x>
- <y>187</y> </coord>
- <coord>
-<x>282</x>
- <y>356</y> </coord>
- <coord>
-<x>281</x>
- <y>414</y> </coord> </coord-list> </link> </link-list>
- <data-list>
-<data>
-<fromnode-name>GraphInLines</fromnode-name>
- <fromserviceparameter-name>Add\a</fromserviceparameter-name>
- <tonode-name>Add</tonode-name>
- <toserviceparameter-name>a</toserviceparameter-name>
- <data-value>
-<value-type>3</value-type>
- <value>1</value> </data-value>
- <coord-list/> </data>
- <data>
-<fromnode-name>GraphInLines</fromnode-name>
- <fromserviceparameter-name>Sub\a</fromserviceparameter-name>
- <tonode-name>Sub</tonode-name>
- <toserviceparameter-name>a</toserviceparameter-name>
- <data-value>
-<value-type>3</value-type>
- <value>3</value> </data-value>
- <coord-list/> </data>
- <data>
-<fromnode-name>GraphInLines</fromnode-name>
- <fromserviceparameter-name>Sub\b</fromserviceparameter-name>
- <tonode-name>Sub</tonode-name>
- <toserviceparameter-name>b</toserviceparameter-name>
- <data-value>
-<value-type>3</value-type>
- <value>4</value> </data-value>
- <coord-list/> </data> </data-list></dataflow>
+++ /dev/null
-
-# Generated python file of Graph GraphInLines
-
-from SuperV import *
-# Graph creation
-GraphInLinesParall = Graph( 'GraphInLinesParall' )
-GraphInLinesParall.SetName( 'GraphInLinesParall' )
-GraphInLinesParall.SetAuthor( '' )
-GraphInLinesParall.SetComment( '' )
-GraphInLinesParall.Coords( 0 , 0 )
-
-# Creation of Factory Nodes
-
-# Creation of InLine Nodes
-PyAdd = []
-PyAdd.append( 'import time ' )
-PyAdd.append( 'def Add(a,b) : ' )
-PyAdd.append( ' print "Add will wait 5 seconds" ' )
-PyAdd.append( ' time.sleep(5) ' )
-PyAdd.append( ' print "Add waited" ' )
-PyAdd.append( ' return a+b ' )
-PyAdd.append( '' )
-Add = GraphInLinesParall.INode( 'Add' , PyAdd )
-Add.InPort( 'a' , 'long' )
-Add.InPort( 'b' , 'long' )
-Add.OutPort( 'f' , 'long' )
-Add.SetName( 'Add' )
-Add.SetAuthor( '' )
-Add.SetComment( 'Python function' )
-Add.Coords( 351 , 77 )
-
-PySub = []
-PySub.append( 'def Sub(a,b) : ' )
-PySub.append( ' return a-b ' )
-PySub.append( '' )
-Sub = GraphInLinesParall.INode( 'Sub' , PySub )
-Sub.InPort( 'a' , 'long' )
-Sub.InPort( 'b' , 'long' )
-Sub.OutPort( 'f' , 'long' )
-Sub.SetName( 'Sub' )
-Sub.SetAuthor( '' )
-Sub.SetComment( 'Python function' )
-Sub.Coords( 86 , 333 )
-
-PyMul = []
-PyMul.append( 'import time ' )
-PyMul.append( 'def Mul(a,b) : ' )
-PyMul.append( ' print "Mul will wait 5 seconds" ' )
-PyMul.append( ' time.sleep(5) ' )
-PyMul.append( ' print "Mul waited" ' )
-PyMul.append( ' return a*b ' )
-Mul = GraphInLinesParall.INode( 'Mul' , PyMul )
-Mul.InPort( 'a' , 'long' )
-Mul.InPort( 'b' , 'long' )
-Mul.OutPort( 'Result' , 'long' )
-Mul.SetName( 'Mul' )
-Mul.SetAuthor( '' )
-Mul.SetComment( 'Python function' )
-Mul.Coords( 616 , 247 )
-
-# Creation of Links
-Subf = Sub.Port( 'f' )
-Mulb = GraphInLinesParall.Link( Subf , Mul.Port( 'b' ) )
-Mulb.AddCoord( 1 , 583 , 357 )
-Mulb.AddCoord( 2 , 583 , 413 )
-Mulb.AddCoord( 3 , 282 , 413 )
-
-Addb = GraphInLinesParall.Link( Subf , Add.Port( 'b' ) )
-Addb.AddCoord( 1 , 282 , 186 )
-Addb.AddCoord( 2 , 283 , 413 )
-
-Mula = GraphInLinesParall.Link( Subf , Mul.Port( 'a' ) )
-Mula.AddCoord( 1 , 583 , 328 )
-Mula.AddCoord( 2 , 583 , 412 )
-
-# Creation of Input datas
-Adda = Add.Input( 'a' , 1)
-Suba = Sub.Input( 'a' , 3)
-Subb = Sub.Input( 'b' , 4)
-
-# Creation of Output variables
-Addf = Add.Port( 'f' )
-MulResult = Mul.Port( 'Result' )
-
-GraphInLinesParall.Run()
-GraphInLinesParall.DoneW()
-GraphInLinesParall.PrintPorts()
+++ /dev/null
-<!DOCTYPE Dataflow>
-<dataflow>
-<info-list>
-<node>
-<component-name>?</component-name>
- <interface-name>?</interface-name>
- <node-name>GraphInLinesParall</node-name>
- <kind>1</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>GraphInLinesParall</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>Add\a</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>Sub\a</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>Sub\b</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>Add\f</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>Mul\Result</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list/>
- <creation-date>24/3/2003 - 10:58:41</creation-date>
- <lastmodification-date>18/9/2003 - 17:31:28</lastmodification-date>
- <editor-release>1.04</editor-release>
- <author>?</author>
- <container>?</container>
- <comment>?</comment>
- <x-position>0</x-position>
- <y-position>0</y-position> </node> </info-list>
- <node-list>
-<node>
-<component-name>?</component-name>
- <interface-name>?</interface-name>
- <node-name>Add</node-name>
- <kind>3</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>Add</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>a</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>b</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>f</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list>
-<PyFunction>
-<FuncName>Add</FuncName>
- <PyFunc><![CDATA[import time ]]></PyFunc>
- <PyFunc><![CDATA[def Add(a,b) : ]]></PyFunc>
- <PyFunc><![CDATA[ print "Add will wait 5 seconds" ]]></PyFunc>
- <PyFunc><![CDATA[ time.sleep(5) ]]></PyFunc>
- <PyFunc><![CDATA[ print "Add waited" ]]></PyFunc>
- <PyFunc><![CDATA[ return a+b ]]></PyFunc>
- <PyFunc><![CDATA[?]]></PyFunc> </PyFunction> </PyFunction-list>
- <creation-date>18/9/2003 - 17:31:28</creation-date>
- <lastmodification-date>18/9/2003 - 17:31:28</lastmodification-date>
- <editor-release>1.04</editor-release>
- <author>?</author>
- <container>?</container>
- <comment>Python function</comment>
- <x-position>351</x-position>
- <y-position>77</y-position> </node>
- <node>
-<component-name>?</component-name>
- <interface-name>?</interface-name>
- <node-name>Sub</node-name>
- <kind>3</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>Sub</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>a</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>b</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>f</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list>
-<PyFunction>
-<FuncName>Sub</FuncName>
- <PyFunc><![CDATA[def Sub(a,b) : ]]></PyFunc>
- <PyFunc><![CDATA[ return a-b ]]></PyFunc>
- <PyFunc><![CDATA[?]]></PyFunc> </PyFunction> </PyFunction-list>
- <creation-date>18/9/2003 - 17:31:28</creation-date>
- <lastmodification-date>18/9/2003 - 17:31:28</lastmodification-date>
- <editor-release>1.04</editor-release>
- <author>?</author>
- <container>?</container>
- <comment>Python function</comment>
- <x-position>86</x-position>
- <y-position>333</y-position> </node>
- <node>
-<component-name>?</component-name>
- <interface-name>?</interface-name>
- <node-name>Mul</node-name>
- <kind>3</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>Mul</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>a</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>b</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>Result</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list>
-<PyFunction>
-<FuncName>Mul</FuncName>
- <PyFunc><![CDATA[import time ]]></PyFunc>
- <PyFunc><![CDATA[def Mul(a,b) : ]]></PyFunc>
- <PyFunc><![CDATA[ print "Mul will wait 5 seconds" ]]></PyFunc>
- <PyFunc><![CDATA[ time.sleep(5) ]]></PyFunc>
- <PyFunc><![CDATA[ print "Mul waited" ]]></PyFunc>
- <PyFunc><![CDATA[ return a*b ]]></PyFunc> </PyFunction> </PyFunction-list>
- <creation-date>18/9/2003 - 17:31:28</creation-date>
- <lastmodification-date>18/9/2003 - 17:31:28</lastmodification-date>
- <editor-release>1.04</editor-release>
- <author>?</author>
- <container>?</container>
- <comment>Python function</comment>
- <x-position>616</x-position>
- <y-position>247</y-position> </node> </node-list>
- <link-list>
-<link>
-<fromnode-name>Sub</fromnode-name>
- <fromserviceparameter-name>f</fromserviceparameter-name>
- <tonode-name>Mul</tonode-name>
- <toserviceparameter-name>b</toserviceparameter-name>
- <coord-list>
-<coord>
-<x>583</x>
- <y>357</y> </coord>
- <coord>
-<x>583</x>
- <y>413</y> </coord>
- <coord>
-<x>282</x>
- <y>413</y> </coord> </coord-list> </link>
- <link>
-<fromnode-name>Sub</fromnode-name>
- <fromserviceparameter-name>f</fromserviceparameter-name>
- <tonode-name>Add</tonode-name>
- <toserviceparameter-name>b</toserviceparameter-name>
- <coord-list>
-<coord>
-<x>282</x>
- <y>186</y> </coord>
- <coord>
-<x>283</x>
- <y>413</y> </coord> </coord-list> </link>
- <link>
-<fromnode-name>Sub</fromnode-name>
- <fromserviceparameter-name>f</fromserviceparameter-name>
- <tonode-name>Mul</tonode-name>
- <toserviceparameter-name>a</toserviceparameter-name>
- <coord-list>
-<coord>
-<x>583</x>
- <y>328</y> </coord>
- <coord>
-<x>583</x>
- <y>412</y> </coord> </coord-list> </link> </link-list>
- <data-list>
-<data>
-<fromnode-name>GraphInLinesParall</fromnode-name>
- <fromserviceparameter-name>Add\a</fromserviceparameter-name>
- <tonode-name>Add</tonode-name>
- <toserviceparameter-name>a</toserviceparameter-name>
- <data-value>
-<value-type>3</value-type>
- <value>1</value> </data-value>
- <coord-list/> </data>
- <data>
-<fromnode-name>GraphInLinesParall</fromnode-name>
- <fromserviceparameter-name>Sub\a</fromserviceparameter-name>
- <tonode-name>Sub</tonode-name>
- <toserviceparameter-name>a</toserviceparameter-name>
- <data-value>
-<value-type>3</value-type>
- <value>3</value> </data-value>
- <coord-list/> </data>
- <data>
-<fromnode-name>GraphInLinesParall</fromnode-name>
- <fromserviceparameter-name>Sub\b</fromserviceparameter-name>
- <tonode-name>Sub</tonode-name>
- <toserviceparameter-name>b</toserviceparameter-name>
- <data-value>
-<value-type>3</value-type>
- <value>4</value> </data-value>
- <coord-list/> </data> </data-list></dataflow>
+++ /dev/null
-
-# Generated python file of Graph GraphInLinesConvertCheck
-
-from SuperV import *
-# Graph creation
-GraphInLinesConvertCheck = Graph( 'GraphInLinesConvertCheck' )
-GraphInLinesConvertCheck.SetName( 'GraphInLinesConvertCheck' )
-GraphInLinesConvertCheck.SetAuthor( 'JR' )
-GraphInLinesConvertCheck.SetComment( '' )
-GraphInLinesConvertCheck.Coords( 0 , 0 )
-
-# Creation of Factory Nodes
-
-Addition = GraphInLinesConvertCheck.FNode( 'AddComponent' , 'AddComponent' , 'Addition' )
-Addition.SetName( 'Addition' )
-Addition.SetAuthor( '' )
-Addition.SetContainer( 'localhost/FactoryServer' )
-Addition.SetComment( 'Addition from AddComponent' )
-Addition.Coords( 232 , 514 )
-
-# Creation of InLine Nodes
-PyBoolCheck = []
-PyBoolCheck.append( 'def BoolCheck( InBool ) : ' )
-PyBoolCheck.append( ' return InBool ' )
-PyBoolCheck.append( '' )
-BoolCheck = GraphInLinesConvertCheck.INode( 'BoolCheck' , PyBoolCheck )
-BoolCheck.InPort( 'InBool' , 'boolean' )
-BoolCheck.OutPort( 'OutBool' , 'boolean' )
-BoolCheck.SetName( 'BoolCheck' )
-BoolCheck.SetAuthor( '' )
-BoolCheck.SetComment( 'InLine Node' )
-BoolCheck.Coords( 234 , 92 )
-
-PyCharCheck = []
-PyCharCheck.append( 'def CharCheck( InChar ) : ' )
-PyCharCheck.append( ' return InChar ' )
-PyCharCheck.append( '' )
-CharCheck = GraphInLinesConvertCheck.INode( 'CharCheck' , PyCharCheck )
-CharCheck.InPort( 'InChar' , 'char' )
-CharCheck.OutPort( 'OutChar' , 'char' )
-CharCheck.SetName( 'CharCheck' )
-CharCheck.SetAuthor( '' )
-CharCheck.SetComment( 'InLine Node' )
-CharCheck.Coords( 30 , 142 )
-
-PyShortCheck = []
-PyShortCheck.append( 'def ShortCheck( InShort ) : ' )
-PyShortCheck.append( ' return InShort ' )
-PyShortCheck.append( '' )
-ShortCheck = GraphInLinesConvertCheck.INode( 'ShortCheck' , PyShortCheck )
-ShortCheck.InPort( 'InShort' , 'short' )
-ShortCheck.OutPort( 'OutShort' , 'short' )
-ShortCheck.SetName( 'ShortCheck' )
-ShortCheck.SetAuthor( '' )
-ShortCheck.SetComment( 'InLine Node' )
-ShortCheck.Coords( 234 , 230 )
-
-PyFloatCheck = []
-PyFloatCheck.append( 'def FloatCheck( InFloat ) : ' )
-PyFloatCheck.append( ' return InFloat ' )
-PyFloatCheck.append( '' )
-FloatCheck = GraphInLinesConvertCheck.INode( 'FloatCheck' , PyFloatCheck )
-FloatCheck.InPort( 'InFloat' , 'float' )
-FloatCheck.OutPort( 'OutFloat' , 'float' )
-FloatCheck.SetName( 'FloatCheck' )
-FloatCheck.SetAuthor( '' )
-FloatCheck.SetComment( 'InLine Node' )
-FloatCheck.Coords( 230 , 375 )
-
-PyLongCheck = []
-PyLongCheck.append( 'def LongCheck( InLong ) : ' )
-PyLongCheck.append( ' return InLong ' )
-PyLongCheck.append( '' )
-LongCheck = GraphInLinesConvertCheck.INode( 'LongCheck' , PyLongCheck )
-LongCheck.InPort( 'InLong' , 'long' )
-LongCheck.OutPort( 'OutLong' , 'long' )
-LongCheck.SetName( 'LongCheck' )
-LongCheck.SetAuthor( '' )
-LongCheck.SetComment( 'InLine Node' )
-LongCheck.Coords( 30 , 282 )
-
-PyStringCheck = []
-PyStringCheck.append( 'def StringCheck( aString ) : ' )
-PyStringCheck.append( ' return aString ' )
-PyStringCheck.append( '' )
-StringCheck = GraphInLinesConvertCheck.INode( 'StringCheck' , PyStringCheck )
-StringCheck.InPort( 'InString' , 'string' )
-StringCheck.OutPort( 'OutString' , 'string' )
-StringCheck.SetName( 'StringCheck' )
-StringCheck.SetAuthor( '' )
-StringCheck.SetComment( 'InLine Node' )
-StringCheck.Coords( 30 , 6 )
-
-PyDoubleCheck = []
-PyDoubleCheck.append( 'def DoubleCheck( InDouble ) : ' )
-PyDoubleCheck.append( ' return InDouble ' )
-PyDoubleCheck.append( '' )
-DoubleCheck = GraphInLinesConvertCheck.INode( 'DoubleCheck' , PyDoubleCheck )
-DoubleCheck.InPort( 'InDouble' , 'double' )
-DoubleCheck.OutPort( 'OutDouble' , 'double' )
-DoubleCheck.SetName( 'DoubleCheck' )
-DoubleCheck.SetAuthor( '' )
-DoubleCheck.SetComment( 'Compute Node' )
-DoubleCheck.Coords( 23 , 427 )
-
-PyMiscTypes = []
-PyMiscTypes.append( 'def MiscTypes( InString , InBool , InChar , InShort , InLong , InFloat , InDouble , InObjRef ) : ' )
-PyMiscTypes.append( ' return InString,InBool,InChar,InShort,InLong,InFloat,InDouble,InObjRef ' )
-MiscTypes = GraphInLinesConvertCheck.INode( 'MiscTypes' , PyMiscTypes )
-MiscTypes.InPort( 'InString' , 'string' )
-MiscTypes.InPort( 'InBool' , 'boolean' )
-MiscTypes.InPort( 'InChar' , 'char' )
-MiscTypes.InPort( 'InShort' , 'short' )
-MiscTypes.InPort( 'InLong' , 'long' )
-MiscTypes.InPort( 'InFloat' , 'float' )
-MiscTypes.InPort( 'InDouble' , 'double' )
-MiscTypes.InPort( 'InObjRef' , 'SuperVision::Adder' )
-MiscTypes.OutPort( 'OutString' , 'string' )
-MiscTypes.OutPort( 'OutBool' , 'boolean' )
-MiscTypes.OutPort( 'OutChar' , 'char' )
-MiscTypes.OutPort( 'OutShort' , 'short' )
-MiscTypes.OutPort( 'OutLong' , 'long' )
-MiscTypes.OutPort( 'OutFloat' , 'float' )
-MiscTypes.OutPort( 'OutDouble' , 'double' )
-MiscTypes.OutPort( 'OutObjRef' , 'SuperVisionTest::Addre' )
-MiscTypes.SetName( 'MiscTypes' )
-MiscTypes.SetAuthor( '' )
-MiscTypes.SetComment( 'InLine Node' )
-MiscTypes.Coords( 477 , 231 )
-
-# Creation of Links
-BoolCheckOutBool = BoolCheck.Port( 'OutBool' )
-MiscTypesInBool = GraphInLinesConvertCheck.Link( BoolCheckOutBool , MiscTypes.Port( 'InBool' ) )
-MiscTypesInBool.AddCoord( 1 , 446 , 341 )
-MiscTypesInBool.AddCoord( 2 , 446 , 172 )
-
-CharCheckOutChar = CharCheck.Port( 'OutChar' )
-MiscTypesInChar = GraphInLinesConvertCheck.Link( CharCheckOutChar , MiscTypes.Port( 'InChar' ) )
-MiscTypesInChar.AddCoord( 1 , 431 , 368 )
-MiscTypesInChar.AddCoord( 2 , 431 , 223 )
-
-ShortCheckOutShort = ShortCheck.Port( 'OutShort' )
-MiscTypesInShort = GraphInLinesConvertCheck.Link( ShortCheckOutShort , MiscTypes.Port( 'InShort' ) )
-MiscTypesInShort.AddCoord( 1 , 415 , 397 )
-MiscTypesInShort.AddCoord( 2 , 414 , 310 )
-
-FloatCheckOutFloat = FloatCheck.Port( 'OutFloat' )
-MiscTypesInFloat = GraphInLinesConvertCheck.Link( FloatCheckOutFloat , MiscTypes.Port( 'InFloat' ) )
-
-AdditionAdder = Addition.Port( 'Adder' )
-MiscTypesInObjRef = GraphInLinesConvertCheck.Link( AdditionAdder , MiscTypes.Port( 'InObjRef' ) )
-MiscTypesInObjRef.AddCoord( 1 , 462 , 514 )
-MiscTypesInObjRef.AddCoord( 2 , 461 , 593 )
-
-LongCheckOutLong = LongCheck.Port( 'OutLong' )
-MiscTypesInLong = GraphInLinesConvertCheck.Link( LongCheckOutLong , MiscTypes.Port( 'InLong' ) )
-MiscTypesInLong.AddCoord( 1 , 406 , 426 )
-MiscTypesInLong.AddCoord( 2 , 405 , 363 )
-
-StringCheckOutString = StringCheck.Port( 'OutString' )
-MiscTypesInString = GraphInLinesConvertCheck.Link( StringCheckOutString , MiscTypes.Port( 'InString' ) )
-MiscTypesInString.AddCoord( 1 , 462 , 312 )
-MiscTypesInString.AddCoord( 2 , 461 , 87 )
-
-DoubleCheckOutDouble = DoubleCheck.Port( 'OutDouble' )
-MiscTypesInDouble = GraphInLinesConvertCheck.Link( DoubleCheckOutDouble , MiscTypes.Port( 'InDouble' ) )
-MiscTypesInDouble.AddCoord( 1 , 445 , 485 )
-MiscTypesInDouble.AddCoord( 2 , 445 , 508 )
-
-# Creation of Input datas
-BoolCheckInBool = BoolCheck.Input( 'InBool' , 1)
-CharCheckInChar = CharCheck.Input( 'InChar' , 255)
-ShortCheckInShort = ShortCheck.Input( 'InShort' , 16383)
-FloatCheckInFloat = FloatCheck.Input( 'InFloat' , 3.14159)
-LongCheckInLong = LongCheck.Input( 'InLong' , 1234567890)
-StringCheckInString = StringCheck.Input( 'InString' , 'aString')
-DoubleCheckInDouble = DoubleCheck.Input( 'InDouble' , 1.23457)
-
-# Creation of Output variables
-MiscTypesOutString = MiscTypes.Port( 'OutString' )
-MiscTypesOutBool = MiscTypes.Port( 'OutBool' )
-MiscTypesOutChar = MiscTypes.Port( 'OutChar' )
-MiscTypesOutShort = MiscTypes.Port( 'OutShort' )
-MiscTypesOutLong = MiscTypes.Port( 'OutLong' )
-MiscTypesOutFloat = MiscTypes.Port( 'OutFloat' )
-MiscTypesOutDouble = MiscTypes.Port( 'OutDouble' )
-MiscTypesOutObjRef = MiscTypes.Port( 'OutObjRef' )
-
-GraphInLinesConvertCheck.Run()
-GraphInLinesConvertCheck.DoneW()
-GraphInLinesConvertCheck.PrintPorts()
+++ /dev/null
-<!DOCTYPE Dataflow>
-<dataflow>
-<info-list>
-<node>
-<component-name>?</component-name>
- <interface-name>?</interface-name>
- <node-name>GraphInLinesConvertCheck</node-name>
- <kind>1</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>GraphInLinesConvertCheck</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>boolean</inParameter-type>
- <inParameter-name>BoolCheck\InBool</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>char</inParameter-type>
- <inParameter-name>CharCheck\InChar</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>short</inParameter-type>
- <inParameter-name>ShortCheck\InShort</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>float</inParameter-type>
- <inParameter-name>FloatCheck\InFloat</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>LongCheck\InLong</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>string</inParameter-type>
- <inParameter-name>StringCheck\InString</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>double</inParameter-type>
- <inParameter-name>DoubleCheck\InDouble</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>string</outParameter-type>
- <outParameter-name>MiscTypes\OutString</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>boolean</outParameter-type>
- <outParameter-name>MiscTypes\OutBool</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>char</outParameter-type>
- <outParameter-name>MiscTypes\OutChar</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>short</outParameter-type>
- <outParameter-name>MiscTypes\OutShort</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>MiscTypes\OutLong</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>float</outParameter-type>
- <outParameter-name>MiscTypes\OutFloat</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>double</outParameter-type>
- <outParameter-name>MiscTypes\OutDouble</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>SuperVisionTest::Addre</outParameter-type>
- <outParameter-name>MiscTypes\OutObjRef</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list/>
- <creation-date>1/9/2003 - 17:28:48</creation-date>
- <lastmodification-date>11/9/2003 - 14:10:54</lastmodification-date>
- <editor-release>1.04</editor-release>
- <author>JR</author>
- <container>?</container>
- <comment>?</comment>
- <x-position>0</x-position>
- <y-position>0</y-position> </node> </info-list>
- <node-list>
-<node>
-<component-name>?</component-name>
- <interface-name>?</interface-name>
- <node-name>BoolCheck</node-name>
- <kind>3</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>BoolCheck</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>boolean</inParameter-type>
- <inParameter-name>InBool</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>boolean</outParameter-type>
- <outParameter-name>OutBool</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list>
-<PyFunction>
-<FuncName>BoolCheck</FuncName>
- <PyFunc><![CDATA[def BoolCheck( InBool ) : ]]></PyFunc>
- <PyFunc><![CDATA[ return InBool ]]></PyFunc>
- <PyFunc><![CDATA[?]]></PyFunc> </PyFunction> </PyFunction-list>
- <creation-date>11/9/2003 - 14:10:54</creation-date>
- <lastmodification-date>11/9/2003 - 14:10:54</lastmodification-date>
- <editor-release>1.04</editor-release>
- <author>?</author>
- <container>?</container>
- <comment>InLine Node</comment>
- <x-position>234</x-position>
- <y-position>92</y-position> </node>
- <node>
-<component-name>?</component-name>
- <interface-name>?</interface-name>
- <node-name>CharCheck</node-name>
- <kind>3</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>CharCheck</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>char</inParameter-type>
- <inParameter-name>InChar</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>char</outParameter-type>
- <outParameter-name>OutChar</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list>
-<PyFunction>
-<FuncName>CharCheck</FuncName>
- <PyFunc><![CDATA[def CharCheck( InChar ) : ]]></PyFunc>
- <PyFunc><![CDATA[ return InChar ]]></PyFunc>
- <PyFunc><![CDATA[?]]></PyFunc> </PyFunction> </PyFunction-list>
- <creation-date>11/9/2003 - 14:10:54</creation-date>
- <lastmodification-date>11/9/2003 - 14:10:54</lastmodification-date>
- <editor-release>1.04</editor-release>
- <author>?</author>
- <container>?</container>
- <comment>InLine Node</comment>
- <x-position>30</x-position>
- <y-position>142</y-position> </node>
- <node>
-<component-name>?</component-name>
- <interface-name>?</interface-name>
- <node-name>ShortCheck</node-name>
- <kind>3</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>ShortCheck</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>short</inParameter-type>
- <inParameter-name>InShort</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>short</outParameter-type>
- <outParameter-name>OutShort</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list>
-<PyFunction>
-<FuncName>ShortCheck</FuncName>
- <PyFunc><![CDATA[def ShortCheck( InShort ) : ]]></PyFunc>
- <PyFunc><![CDATA[ return InShort ]]></PyFunc>
- <PyFunc><![CDATA[?]]></PyFunc> </PyFunction> </PyFunction-list>
- <creation-date>11/9/2003 - 14:10:54</creation-date>
- <lastmodification-date>11/9/2003 - 14:10:54</lastmodification-date>
- <editor-release>1.04</editor-release>
- <author>?</author>
- <container>?</container>
- <comment>InLine Node</comment>
- <x-position>234</x-position>
- <y-position>230</y-position> </node>
- <node>
-<component-name>?</component-name>
- <interface-name>?</interface-name>
- <node-name>FloatCheck</node-name>
- <kind>3</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>FloatCheck</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>float</inParameter-type>
- <inParameter-name>InFloat</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>float</outParameter-type>
- <outParameter-name>OutFloat</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list>
-<PyFunction>
-<FuncName>FloatCheck</FuncName>
- <PyFunc><![CDATA[def FloatCheck( InFloat ) : ]]></PyFunc>
- <PyFunc><![CDATA[ return InFloat ]]></PyFunc>
- <PyFunc><![CDATA[?]]></PyFunc> </PyFunction> </PyFunction-list>
- <creation-date>11/9/2003 - 14:10:54</creation-date>
- <lastmodification-date>11/9/2003 - 14:10:54</lastmodification-date>
- <editor-release>1.04</editor-release>
- <author>?</author>
- <container>?</container>
- <comment>InLine Node</comment>
- <x-position>230</x-position>
- <y-position>375</y-position> </node>
- <node>
-<component-name>AddComponent</component-name>
- <interface-name>AddComponent</interface-name>
- <node-name>Addition</node-name>
- <kind>0</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>Addition</service-name>
- <inParameter-list/>
- <outParameter-list>
-<outParameter>
-<outParameter-type>objref</outParameter-type>
- <outParameter-name>Adder</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list/>
- <creation-date>11/9/2003 - 14:10:54</creation-date>
- <lastmodification-date>11/9/2003 - 14:10:54</lastmodification-date>
- <editor-release>1.05</editor-release>
- <author>?</author>
- <container>localhost/FactoryServer</container>
- <comment>Addition from AddComponent</comment>
- <x-position>232</x-position>
- <y-position>514</y-position> </node>
- <node>
-<component-name>?</component-name>
- <interface-name>?</interface-name>
- <node-name>LongCheck</node-name>
- <kind>3</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>LongCheck</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>InLong</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>OutLong</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list>
-<PyFunction>
-<FuncName>LongCheck</FuncName>
- <PyFunc><![CDATA[def LongCheck( InLong ) : ]]></PyFunc>
- <PyFunc><![CDATA[ return InLong ]]></PyFunc>
- <PyFunc><![CDATA[?]]></PyFunc> </PyFunction> </PyFunction-list>
- <creation-date>11/9/2003 - 14:10:54</creation-date>
- <lastmodification-date>11/9/2003 - 14:10:54</lastmodification-date>
- <editor-release>1.05</editor-release>
- <author>?</author>
- <container>?</container>
- <comment>InLine Node</comment>
- <x-position>30</x-position>
- <y-position>282</y-position> </node>
- <node>
-<component-name>?</component-name>
- <interface-name>?</interface-name>
- <node-name>StringCheck</node-name>
- <kind>3</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>StringCheck</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>string</inParameter-type>
- <inParameter-name>InString</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>string</outParameter-type>
- <outParameter-name>OutString</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list>
-<PyFunction>
-<FuncName>StringCheck</FuncName>
- <PyFunc><![CDATA[def StringCheck( aString ) : ]]></PyFunc>
- <PyFunc><![CDATA[ return aString ]]></PyFunc>
- <PyFunc><![CDATA[?]]></PyFunc> </PyFunction> </PyFunction-list>
- <creation-date>11/9/2003 - 14:10:54</creation-date>
- <lastmodification-date>11/9/2003 - 14:10:54</lastmodification-date>
- <editor-release>1.05</editor-release>
- <author>?</author>
- <container>?</container>
- <comment>InLine Node</comment>
- <x-position>30</x-position>
- <y-position>6</y-position> </node>
- <node>
-<component-name>?</component-name>
- <interface-name>?</interface-name>
- <node-name>DoubleCheck</node-name>
- <kind>3</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>DoubleCheck</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>double</inParameter-type>
- <inParameter-name>InDouble</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>double</outParameter-type>
- <outParameter-name>OutDouble</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list>
-<PyFunction>
-<FuncName>DoubleCheck</FuncName>
- <PyFunc><![CDATA[def DoubleCheck( InDouble ) : ]]></PyFunc>
- <PyFunc><![CDATA[ return InDouble ]]></PyFunc>
- <PyFunc><![CDATA[?]]></PyFunc> </PyFunction> </PyFunction-list>
- <creation-date>11/9/2003 - 14:10:54</creation-date>
- <lastmodification-date>11/9/2003 - 14:10:54</lastmodification-date>
- <editor-release>1.05</editor-release>
- <author>?</author>
- <container>?</container>
- <comment>Compute Node</comment>
- <x-position>23</x-position>
- <y-position>427</y-position> </node>
- <node>
-<component-name>?</component-name>
- <interface-name>?</interface-name>
- <node-name>MiscTypes</node-name>
- <kind>3</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>MiscTypes</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>string</inParameter-type>
- <inParameter-name>InString</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>boolean</inParameter-type>
- <inParameter-name>InBool</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>char</inParameter-type>
- <inParameter-name>InChar</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>short</inParameter-type>
- <inParameter-name>InShort</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>InLong</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>float</inParameter-type>
- <inParameter-name>InFloat</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>double</inParameter-type>
- <inParameter-name>InDouble</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>SuperVision::Adder</inParameter-type>
- <inParameter-name>InObjRef</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>string</outParameter-type>
- <outParameter-name>OutString</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>boolean</outParameter-type>
- <outParameter-name>OutBool</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>char</outParameter-type>
- <outParameter-name>OutChar</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>short</outParameter-type>
- <outParameter-name>OutShort</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>OutLong</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>float</outParameter-type>
- <outParameter-name>OutFloat</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>double</outParameter-type>
- <outParameter-name>OutDouble</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>SuperVisionTest::Addre</outParameter-type>
- <outParameter-name>OutObjRef</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list>
-<PyFunction>
-<FuncName>MiscTypes</FuncName>
- <PyFunc><![CDATA[def MiscTypes( InString , InBool , InChar , InShort , InLong , InFloat , InDouble , InObjRef ) : ]]></PyFunc>
- <PyFunc><![CDATA[ return InString,InBool,InChar,InShort,InLong,InFloat,InDouble,InObjRef ]]></PyFunc> </PyFunction> </PyFunction-list>
- <creation-date>11/9/2003 - 14:10:54</creation-date>
- <lastmodification-date>11/9/2003 - 14:10:54</lastmodification-date>
- <editor-release>1.05</editor-release>
- <author>?</author>
- <container>?</container>
- <comment>InLine Node</comment>
- <x-position>477</x-position>
- <y-position>231</y-position> </node> </node-list>
- <link-list>
-<link>
-<fromnode-name>BoolCheck</fromnode-name>
- <fromserviceparameter-name>OutBool</fromserviceparameter-name>
- <tonode-name>MiscTypes</tonode-name>
- <toserviceparameter-name>InBool</toserviceparameter-name>
- <coord-list>
-<coord>
-<x>446</x>
- <y>341</y> </coord>
- <coord>
-<x>446</x>
- <y>172</y> </coord> </coord-list> </link>
- <link>
-<fromnode-name>CharCheck</fromnode-name>
- <fromserviceparameter-name>OutChar</fromserviceparameter-name>
- <tonode-name>MiscTypes</tonode-name>
- <toserviceparameter-name>InChar</toserviceparameter-name>
- <coord-list>
-<coord>
-<x>431</x>
- <y>368</y> </coord>
- <coord>
-<x>431</x>
- <y>223</y> </coord> </coord-list> </link>
- <link>
-<fromnode-name>ShortCheck</fromnode-name>
- <fromserviceparameter-name>OutShort</fromserviceparameter-name>
- <tonode-name>MiscTypes</tonode-name>
- <toserviceparameter-name>InShort</toserviceparameter-name>
- <coord-list>
-<coord>
-<x>415</x>
- <y>397</y> </coord>
- <coord>
-<x>414</x>
- <y>310</y> </coord> </coord-list> </link>
- <link>
-<fromnode-name>FloatCheck</fromnode-name>
- <fromserviceparameter-name>OutFloat</fromserviceparameter-name>
- <tonode-name>MiscTypes</tonode-name>
- <toserviceparameter-name>InFloat</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>Addition</fromnode-name>
- <fromserviceparameter-name>Adder</fromserviceparameter-name>
- <tonode-name>MiscTypes</tonode-name>
- <toserviceparameter-name>InObjRef</toserviceparameter-name>
- <coord-list>
-<coord>
-<x>462</x>
- <y>514</y> </coord>
- <coord>
-<x>461</x>
- <y>593</y> </coord> </coord-list> </link>
- <link>
-<fromnode-name>LongCheck</fromnode-name>
- <fromserviceparameter-name>OutLong</fromserviceparameter-name>
- <tonode-name>MiscTypes</tonode-name>
- <toserviceparameter-name>InLong</toserviceparameter-name>
- <coord-list>
-<coord>
-<x>406</x>
- <y>426</y> </coord>
- <coord>
-<x>405</x>
- <y>363</y> </coord> </coord-list> </link>
- <link>
-<fromnode-name>StringCheck</fromnode-name>
- <fromserviceparameter-name>OutString</fromserviceparameter-name>
- <tonode-name>MiscTypes</tonode-name>
- <toserviceparameter-name>InString</toserviceparameter-name>
- <coord-list>
-<coord>
-<x>462</x>
- <y>312</y> </coord>
- <coord>
-<x>461</x>
- <y>87</y> </coord> </coord-list> </link>
- <link>
-<fromnode-name>DoubleCheck</fromnode-name>
- <fromserviceparameter-name>OutDouble</fromserviceparameter-name>
- <tonode-name>MiscTypes</tonode-name>
- <toserviceparameter-name>InDouble</toserviceparameter-name>
- <coord-list>
-<coord>
-<x>445</x>
- <y>485</y> </coord>
- <coord>
-<x>445</x>
- <y>508</y> </coord> </coord-list> </link> </link-list>
- <data-list>
-<data>
-<fromnode-name>GraphInLinesConvertCheck</fromnode-name>
- <fromserviceparameter-name>BoolCheck\InBool</fromserviceparameter-name>
- <tonode-name>BoolCheck</tonode-name>
- <toserviceparameter-name>InBool</toserviceparameter-name>
- <data-value>
-<value-type>3</value-type>
- <value>1</value> </data-value>
- <coord-list/> </data>
- <data>
-<fromnode-name>GraphInLinesConvertCheck</fromnode-name>
- <fromserviceparameter-name>CharCheck\InChar</fromserviceparameter-name>
- <tonode-name>CharCheck</tonode-name>
- <toserviceparameter-name>InChar</toserviceparameter-name>
- <data-value>
-<value-type>3</value-type>
- <value>255</value> </data-value>
- <coord-list/> </data>
- <data>
-<fromnode-name>GraphInLinesConvertCheck</fromnode-name>
- <fromserviceparameter-name>ShortCheck\InShort</fromserviceparameter-name>
- <tonode-name>ShortCheck</tonode-name>
- <toserviceparameter-name>InShort</toserviceparameter-name>
- <data-value>
-<value-type>3</value-type>
- <value>16383</value> </data-value>
- <coord-list/> </data>
- <data>
-<fromnode-name>GraphInLinesConvertCheck</fromnode-name>
- <fromserviceparameter-name>FloatCheck\InFloat</fromserviceparameter-name>
- <tonode-name>FloatCheck</tonode-name>
- <toserviceparameter-name>InFloat</toserviceparameter-name>
- <data-value>
-<value-type>7</value-type>
- <value>3.14159</value> </data-value>
- <coord-list/> </data>
- <data>
-<fromnode-name>GraphInLinesConvertCheck</fromnode-name>
- <fromserviceparameter-name>LongCheck\InLong</fromserviceparameter-name>
- <tonode-name>LongCheck</tonode-name>
- <toserviceparameter-name>InLong</toserviceparameter-name>
- <data-value>
-<value-type>3</value-type>
- <value>1234567890</value> </data-value>
- <coord-list/> </data>
- <data>
-<fromnode-name>GraphInLinesConvertCheck</fromnode-name>
- <fromserviceparameter-name>StringCheck\InString</fromserviceparameter-name>
- <tonode-name>StringCheck</tonode-name>
- <toserviceparameter-name>InString</toserviceparameter-name>
- <data-value>
-<value-type>18</value-type>
- <value>aString</value> </data-value>
- <coord-list/> </data>
- <data>
-<fromnode-name>GraphInLinesConvertCheck</fromnode-name>
- <fromserviceparameter-name>DoubleCheck\InDouble</fromserviceparameter-name>
- <tonode-name>DoubleCheck</tonode-name>
- <toserviceparameter-name>InDouble</toserviceparameter-name>
- <data-value>
-<value-type>7</value-type>
- <value>1.23457</value> </data-value>
- <coord-list/> </data> </data-list></dataflow>
+++ /dev/null
-
-# Generated python file of Graph GraphInLinesUnValid
-
-from SuperV import *
-# Graph creation
-GraphInLinesUnValid = Graph( 'GraphInLinesUnValid' )
-GraphInLinesUnValid.SetName( 'GraphInLinesUnValid' )
-GraphInLinesUnValid.SetAuthor( '' )
-GraphInLinesUnValid.SetComment( '' )
-GraphInLinesUnValid.Coords( 0 , 0 )
-
-# Creation of Factory Nodes
-
-# Creation of InLine Nodes
-PyAdd = []
-PyAdd.append( 'def Add(a,b) : ' )
-PyAdd.append( ' return a+b ' )
-PyAdd.append( '' )
-Add = GraphInLinesUnValid.INode( 'Add' , PyAdd )
-Add.InPort( 'a' , 'long' )
-Add.InPort( 'b' , 'long' )
-Add.OutPort( 'f' , 'long' )
-Add.SetName( 'Add' )
-Add.SetAuthor( '' )
-Add.SetComment( 'Python function' )
-Add.Coords( 257 , 13 )
-
-PySub = []
-PySub.append( 'def Sub(a,b) : ' )
-PySub.append( ' return a-b ' )
-PySub.append( '' )
-Sub = GraphInLinesUnValid.INode( 'Sub' , PySub )
-Sub.InPort( 'a' , 'long' )
-Sub.InPort( 'b' , 'long' )
-Sub.OutPort( 'f' , 'long' )
-Sub.SetName( 'Sub' )
-Sub.SetAuthor( '' )
-Sub.SetComment( 'Python function' )
-Sub.Coords( 20 , 152 )
-
-PyMul = []
-PyMul.append( 'def Mul(a,b) : ' )
-PyMul.append( ' return a*b ' )
-Mul = GraphInLinesUnValid.INode( 'Mul' , PyMul )
-Mul.InPort( 'a' , 'long' )
-Mul.InPort( 'b' , 'long' )
-Mul.OutPort( 'Result' , 'long' )
-Mul.SetName( 'Mul' )
-Mul.SetAuthor( '' )
-Mul.SetComment( 'Python function' )
-Mul.Coords( 469 , 125 )
-
-# Creation of Links
-Addf = Add.Port( 'f' )
-Mula = GraphInLinesUnValid.Link( Addf , Mul.Port( 'a' ) )
-Mula.AddCoord( 1 , 451 , 205 )
-Mula.AddCoord( 2 , 450 , 93 )
-
-Subf = Sub.Port( 'f' )
-Mulb = GraphInLinesUnValid.Link( Subf , Mul.Port( 'b' ) )
-
-Addb = GraphInLinesUnValid.Link( Subf , Add.Port( 'b' ) )
-Addb.AddCoord( 1 , 235 , 122 )
-Addb.AddCoord( 2 , 236 , 232 )
-
-MulResult = Mul.Port( 'Result' )
-Adda = GraphInLinesUnValid.Link( MulResult , Add.Port( 'a' ) )
-Adda.AddCoord( 1 , 8 , 92 )
-Adda.AddCoord( 2 , 7 , 332 )
-Adda.AddCoord( 3 , 645 , 334 )
-Adda.AddCoord( 4 , 645 , 204 )
-
-GraphInLinesUnValid.IsValid()
-
-# Creation of Output variables
-GraphInLinesUnValid.Run()
-
-GraphInLinesUnValid.IsDone()
-
-GraphInLinesUnValid.State()
-
-GraphInLinesUnValid.PrintPorts()
-
+++ /dev/null
-<!DOCTYPE Dataflow>
-<dataflow>
-<info-list>
-<node>
-<component-name>?</component-name>
- <interface-name>?</interface-name>
- <node-name>GraphInLinesUnValid</node-name>
- <kind>1</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>GraphInLinesUnValid</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>Sub\a</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>Sub\b</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list/> </service>
- <Parameter-list/>
- <PyFunction-list/>
- <creation-date>24/3/2003 - 10:58:41</creation-date>
- <lastmodification-date>8/8/2003 - 15:31:37</lastmodification-date>
- <editor-release>1.04</editor-release>
- <author>?</author>
- <container>?</container>
- <comment>?</comment>
- <x-position>0</x-position>
- <y-position>0</y-position> </node> </info-list>
- <node-list>
-<node>
-<component-name>?</component-name>
- <interface-name>?</interface-name>
- <node-name>Add</node-name>
- <kind>3</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>Add</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>a</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>b</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>f</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list>
-<PyFunction>
-<FuncName>Add</FuncName>
- <PyFunc><![CDATA[def Add(a,b) : ]]></PyFunc>
- <PyFunc><![CDATA[ return a+b ]]></PyFunc>
- <PyFunc><![CDATA[?]]></PyFunc> </PyFunction> </PyFunction-list>
- <creation-date>8/8/2003 - 15:30:23</creation-date>
- <lastmodification-date>8/8/2003 - 15:30:23</lastmodification-date>
- <editor-release>1.04</editor-release>
- <author>?</author>
- <container>?</container>
- <comment>Python function</comment>
- <x-position>257</x-position>
- <y-position>13</y-position> </node>
- <node>
-<component-name>?</component-name>
- <interface-name>?</interface-name>
- <node-name>Sub</node-name>
- <kind>3</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>Sub</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>a</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>b</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>f</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list>
-<PyFunction>
-<FuncName>Sub</FuncName>
- <PyFunc><![CDATA[def Sub(a,b) : ]]></PyFunc>
- <PyFunc><![CDATA[ return a-b ]]></PyFunc>
- <PyFunc><![CDATA[?]]></PyFunc> </PyFunction> </PyFunction-list>
- <creation-date>8/8/2003 - 15:30:23</creation-date>
- <lastmodification-date>8/8/2003 - 15:30:23</lastmodification-date>
- <editor-release>1.04</editor-release>
- <author>?</author>
- <container>?</container>
- <comment>Python function</comment>
- <x-position>20</x-position>
- <y-position>152</y-position> </node>
- <node>
-<component-name>?</component-name>
- <interface-name>?</interface-name>
- <node-name>Mul</node-name>
- <kind>3</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>Mul</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>a</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>b</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>Result</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list>
-<PyFunction>
-<FuncName>Mul</FuncName>
- <PyFunc><![CDATA[def Mul(a,b) : ]]></PyFunc>
- <PyFunc><![CDATA[ return a*b ]]></PyFunc> </PyFunction> </PyFunction-list>
- <creation-date>8/8/2003 - 15:30:23</creation-date>
- <lastmodification-date>8/8/2003 - 15:30:23</lastmodification-date>
- <editor-release>1.04</editor-release>
- <author>?</author>
- <container>?</container>
- <comment>Python function</comment>
- <x-position>469</x-position>
- <y-position>125</y-position> </node> </node-list>
- <link-list>
-<link>
-<fromnode-name>Add</fromnode-name>
- <fromserviceparameter-name>f</fromserviceparameter-name>
- <tonode-name>Mul</tonode-name>
- <toserviceparameter-name>a</toserviceparameter-name>
- <coord-list>
-<coord>
-<x>451</x>
- <y>205</y> </coord>
- <coord>
-<x>450</x>
- <y>93</y> </coord> </coord-list> </link>
- <link>
-<fromnode-name>Sub</fromnode-name>
- <fromserviceparameter-name>f</fromserviceparameter-name>
- <tonode-name>Mul</tonode-name>
- <toserviceparameter-name>b</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>Sub</fromnode-name>
- <fromserviceparameter-name>f</fromserviceparameter-name>
- <tonode-name>Add</tonode-name>
- <toserviceparameter-name>b</toserviceparameter-name>
- <coord-list>
-<coord>
-<x>235</x>
- <y>122</y> </coord>
- <coord>
-<x>236</x>
- <y>232</y> </coord> </coord-list> </link>
- <link>
-<fromnode-name>Mul</fromnode-name>
- <fromserviceparameter-name>Result</fromserviceparameter-name>
- <tonode-name>Add</tonode-name>
- <toserviceparameter-name>a</toserviceparameter-name>
- <coord-list>
-<coord>
-<x>8</x>
- <y>92</y> </coord>
- <coord>
-<x>7</x>
- <y>332</y> </coord>
- <coord>
-<x>645</x>
- <y>334</y> </coord>
- <coord>
-<x>645</x>
- <y>204</y> </coord> </coord-list> </link> </link-list>
- <data-list>
-<data>
-<fromnode-name>GraphInLinesUnValid</fromnode-name>
- <fromserviceparameter-name>Sub\a</fromserviceparameter-name>
- <tonode-name>Sub</tonode-name>
- <toserviceparameter-name>a</toserviceparameter-name>
- <data-value>
-<value-type>3</value-type>
- <value>3</value> </data-value>
- <coord-list/> </data>
- <data>
-<fromnode-name>GraphInLinesUnValid</fromnode-name>
- <fromserviceparameter-name>Sub\b</fromserviceparameter-name>
- <tonode-name>Sub</tonode-name>
- <toserviceparameter-name>b</toserviceparameter-name>
- <data-value>
-<value-type>3</value-type>
- <value>4</value> </data-value>
- <coord-list/> </data> </data-list></dataflow>
+++ /dev/null
-
-# Generated python file of Graph GraphLoop
-
-from SuperV import *
-# Graph creation
-GraphLoop = Graph( 'GraphLoop' )
-GraphLoop.SetName( 'GraphLoop' )
-GraphLoop.SetAuthor( '' )
-GraphLoop.SetComment( '' )
-GraphLoop.Coords( 0 , 0 )
-
-# Creation of Factory Nodes
-
-# Creation of Loop Nodes
-PyInit = []
-PyInit.append( 'def Init(Index,Min,Max,Incr) : ' )
-PyInit.append( ' if Min <= Max : ' )
-PyInit.append( ' Index = Min ' )
-PyInit.append( ' else : ' )
-PyInit.append( ' Index = Max ' )
-PyInit.append( ' return Index,Min,Max,Incr ' )
-PyMoreInit = []
-PyMoreInit.append( 'def More(Index,Min,Max,Incr) : ' )
-PyMoreInit.append( ' if Index < Max : ' )
-PyMoreInit.append( ' DoLoop = 1 ' )
-PyMoreInit.append( ' else : ' )
-PyMoreInit.append( ' DoLoop = 0 ' )
-PyMoreInit.append( ' return DoLoop,Index,Min,Max,Incr ' )
-PyNextInit = []
-PyNextInit.append( 'def Next(Index,Min,Max,Incr) : ' )
-PyNextInit.append( ' Index = Index + Incr ' )
-PyNextInit.append( ' return Index,Min,Max,Incr ' )
-Init,EndInit = GraphLoop.LNode( 'Init' , PyInit , 'More' , PyMoreInit , 'Next' , PyNextInit )
-EndInit.SetName( 'EndInit' )
-EndInit.SetAuthor( '' )
-EndInit.SetComment( '' )
-EndInit.Coords( 314 , 91 )
-Init.InPort( 'Index' , 'long' )
-Init.InPort( 'Min' , 'long' )
-Init.InPort( 'Max' , 'long' )
-Init.InPort( 'Incr' , 'long' )
-Init.OutPort( 'Index' , 'long' )
-Init.OutPort( 'Min' , 'long' )
-Init.OutPort( 'Max' , 'long' )
-Init.OutPort( 'Incr' , 'long' )
-Init.SetName( 'Init' )
-Init.SetAuthor( '' )
-Init.SetComment( '' )
-Init.Coords( 31 , 74 )
-
-# Creation of Links
-InitIndex = Init.Port( 'Index' )
-EndInitIndex = GraphLoop.Link( InitIndex , EndInit.Port( 'Index' ) )
-
-InitMin = Init.Port( 'Min' )
-EndInitMin = GraphLoop.Link( InitMin , EndInit.Port( 'Min' ) )
-
-InitMax = Init.Port( 'Max' )
-EndInitMax = GraphLoop.Link( InitMax , EndInit.Port( 'Max' ) )
-
-InitIncr = Init.Port( 'Incr' )
-EndInitIncr = GraphLoop.Link( InitIncr , EndInit.Port( 'Incr' ) )
-
-# Creation of Input datas
-InitIndex = Init.Input( 'Index' , 0)
-InitMin = Init.Input( 'Min' , 0)
-InitMax = Init.Input( 'Max' , 1000)
-InitIncr = Init.Input( 'Incr' , 1)
-
-# Creation of Output variables
-EndInitIndex = EndInit.Port( 'Index' )
-EndInitMin = EndInit.Port( 'Min' )
-EndInitMax = EndInit.Port( 'Max' )
-EndInitIncr = EndInit.Port( 'Incr' )
-
-GraphLoop.Run()
-
-GraphLoop.DoneW()
-
-GraphLoop.PrintPorts()
-
+++ /dev/null
-<!DOCTYPE Dataflow>
-<dataflow>
-<info-list>
-<node>
-<component-name>?</component-name>
- <interface-name>?</interface-name>
- <node-name>GraphLoop</node-name>
- <kind>1</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>GraphLoop</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>Init\Index</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>Init\Min</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>Init\Max</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>Init\Incr</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>EndInit\Index</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>EndInit\Min</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>EndInit\Max</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>EndInit\Incr</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list/>
- <creation-date>24/3/2003 - 14:44:35</creation-date>
- <lastmodification-date>25/3/2003 - 9:50:2</lastmodification-date>
- <editor-release>1.04</editor-release>
- <author>?</author>
- <container>?</container>
- <comment>?</comment>
- <x-position>0</x-position>
- <y-position>0</y-position> </node> </info-list>
- <node-list>
-<node>
-<component-name>?</component-name>
- <interface-name>?</interface-name>
- <node-name>Init</node-name>
- <kind>4</kind>
- <coupled-node>EndInit</coupled-node>
- <service>
-<service-name>Init</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>Index</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>Min</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>Max</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>Incr</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>Index</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>Min</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>Max</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>Incr</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list>
-<PyFunction>
-<FuncName>Init</FuncName>
- <PyFunc><![CDATA[def Init(Index,Min,Max,Incr) : ]]></PyFunc>
- <PyFunc><![CDATA[ if Min <= Max : ]]></PyFunc>
- <PyFunc><![CDATA[ Index = Min ]]></PyFunc>
- <PyFunc><![CDATA[ else : ]]></PyFunc>
- <PyFunc><![CDATA[ Index = Max ]]></PyFunc>
- <PyFunc><![CDATA[ return Index,Min,Max,Incr ]]></PyFunc> </PyFunction>
- <PyFunction>
-<FuncName>More</FuncName>
- <PyFunc><![CDATA[def More(Index,Min,Max,Incr) : ]]></PyFunc>
- <PyFunc><![CDATA[ if Index < Max : ]]></PyFunc>
- <PyFunc><![CDATA[ DoLoop = 1 ]]></PyFunc>
- <PyFunc><![CDATA[ else : ]]></PyFunc>
- <PyFunc><![CDATA[ DoLoop = 0 ]]></PyFunc>
- <PyFunc><![CDATA[ return DoLoop,Index,Min,Max,Incr ]]></PyFunc> </PyFunction>
- <PyFunction>
-<FuncName>Next</FuncName>
- <PyFunc><![CDATA[def Next(Index,Min,Max,Incr) : ]]></PyFunc>
- <PyFunc><![CDATA[ Index = Index + Incr ]]></PyFunc>
- <PyFunc><![CDATA[ return Index,Min,Max,Incr ]]></PyFunc> </PyFunction> </PyFunction-list>
- <creation-date>25/3/2003 - 9:50:2</creation-date>
- <lastmodification-date>25/3/2003 - 9:50:2</lastmodification-date>
- <editor-release>1.04</editor-release>
- <author>?</author>
- <container>?</container>
- <comment>?</comment>
- <x-position>17</x-position>
- <y-position>257</y-position> </node>
- <node>
-<component-name>?</component-name>
- <interface-name>?</interface-name>
- <node-name>EndInit</node-name>
- <kind>5</kind>
- <coupled-node>Init</coupled-node>
- <service>
-<service-name>EndInit</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>Index</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>Min</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>Max</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>Incr</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>Index</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>Min</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>Max</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>Incr</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list>
-<PyFunction/> </PyFunction-list>
- <creation-date>25/3/2003 - 9:50:2</creation-date>
- <lastmodification-date>25/3/2003 - 9:50:2</lastmodification-date>
- <editor-release>1.04</editor-release>
- <author>?</author>
- <container>?</container>
- <comment>?</comment>
- <x-position>626</x-position>
- <y-position>259</y-position> </node> </node-list>
- <link-list>
-<link>
-<fromnode-name>Init</fromnode-name>
- <fromserviceparameter-name>DoLoop</fromserviceparameter-name>
- <tonode-name>EndInit</tonode-name>
- <toserviceparameter-name>DoLoop</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>Init</fromnode-name>
- <fromserviceparameter-name>Index</fromserviceparameter-name>
- <tonode-name>EndInit</tonode-name>
- <toserviceparameter-name>Index</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>Init</fromnode-name>
- <fromserviceparameter-name>Min</fromserviceparameter-name>
- <tonode-name>EndInit</tonode-name>
- <toserviceparameter-name>Min</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>Init</fromnode-name>
- <fromserviceparameter-name>Max</fromserviceparameter-name>
- <tonode-name>EndInit</tonode-name>
- <toserviceparameter-name>Max</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>Init</fromnode-name>
- <fromserviceparameter-name>Incr</fromserviceparameter-name>
- <tonode-name>EndInit</tonode-name>
- <toserviceparameter-name>Incr</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>EndInit</fromnode-name>
- <fromserviceparameter-name>DoLoop</fromserviceparameter-name>
- <tonode-name>Init</tonode-name>
- <toserviceparameter-name>InitLoop</toserviceparameter-name>
- <coord-list/> </link> </link-list>
- <data-list>
-<data>
-<fromnode-name>GraphLoop</fromnode-name>
- <fromserviceparameter-name>Init\Index</fromserviceparameter-name>
- <tonode-name>Init</tonode-name>
- <toserviceparameter-name>Index</toserviceparameter-name>
- <data-value>
-<value-type>3</value-type>
- <value>0</value> </data-value>
- <coord-list/> </data>
- <data>
-<fromnode-name>GraphLoop</fromnode-name>
- <fromserviceparameter-name>Init\Min</fromserviceparameter-name>
- <tonode-name>Init</tonode-name>
- <toserviceparameter-name>Min</toserviceparameter-name>
- <data-value>
-<value-type>3</value-type>
- <value>0</value> </data-value>
- <coord-list/> </data>
- <data>
-<fromnode-name>GraphLoop</fromnode-name>
- <fromserviceparameter-name>Init\Max</fromserviceparameter-name>
- <tonode-name>Init</tonode-name>
- <toserviceparameter-name>Max</toserviceparameter-name>
- <data-value>
-<value-type>3</value-type>
- <value>10</value> </data-value>
- <coord-list/> </data>
- <data>
-<fromnode-name>GraphLoop</fromnode-name>
- <fromserviceparameter-name>Init\Incr</fromserviceparameter-name>
- <tonode-name>Init</tonode-name>
- <toserviceparameter-name>Incr</toserviceparameter-name>
- <data-value>
-<value-type>3</value-type>
- <value>1</value> </data-value>
- <coord-list/> </data> </data-list></dataflow>
+++ /dev/null
-
-# Generated python file of Graph GraphLoopSwitch
-
-from SuperV import *
-# Graph creation
-GraphLoopSwitch = Graph( 'GraphLoopSwitch' )
-GraphLoopSwitch.SetName( 'GraphLoopSwitch' )
-GraphLoopSwitch.SetAuthor( '' )
-GraphLoopSwitch.SetComment( '' )
-GraphLoopSwitch.Coords( 0 , 0 )
-
-# Creation of Factory Nodes
-
-# Creation of InLine Nodes
-PyIsOdd = []
-PyIsOdd.append( 'from time import * ' )
-PyIsOdd.append( 'def IsOdd(a,Even) : ' )
-PyIsOdd.append( ' print a,"IsOdd (GraphLoopSwitch1)" ' )
-PyIsOdd.append( ' sleep( 1 ) ' )
-PyIsOdd.append( ' return a ' )
-IsOdd = GraphLoopSwitch.INode( 'IsOdd' , PyIsOdd )
-IsOdd.SetName( 'IsOdd' )
-IsOdd.SetAuthor( '' )
-IsOdd.SetComment( 'Python function' )
-IsOdd.Coords( 397 , 1 )
-IsOdd.InPort( 'a' , 'long' )
-IsOdd.InPort( 'Even' , 'boolean' )
-IsOdd.OutPort( 'a' , 'long' )
-
-# Creation of Loop Nodes
-PyInitLoop = []
-PyInitLoop.append( ' ' )
-PyMoreInitLoop = []
-PyMoreInitLoop.append( ' ' )
-PyNextInitLoop = []
-PyNextInitLoop.append( ' ' )
-InitLoop,EndOfInitLoop = GraphLoopSwitch.LNode( '' , PyInitLoop , '' , PyMoreInitLoop , '' , PyNextInitLoop )
-EndOfInitLoop.SetName( 'EndOfInitLoop' )
-EndOfInitLoop.SetAuthor( '' )
-EndOfInitLoop.SetComment( '' )
-EndOfInitLoop.Coords( 767 , 102 )
-PyEndOfInitLoop = []
-PyEndOfInitLoop.append( 'def EndOfInitLoop( DoLoop , Index , Min , Max ) :' )
-PyEndOfInitLoop.append( ' Index = Index + 1 ' )
-PyEndOfInitLoop.append( ' if Index <= Max : ' )
-PyEndOfInitLoop.append( ' DoLoop = 1 ' )
-PyEndOfInitLoop.append( ' else : ' )
-PyEndOfInitLoop.append( ' DoLoop = 0 ' )
-PyEndOfInitLoop.append( ' return DoLoop,Index,Min,Max ' )
-EndOfInitLoop.SetPyFunction( 'EndOfInitLoop' , PyEndOfInitLoop )
-InitLoop.SetName( 'InitLoop' )
-InitLoop.SetAuthor( '' )
-InitLoop.SetComment( '' )
-InitLoop.Coords( 10 , 108 )
-InitLoop.InPort( 'Index' , 'long' )
-InitLoop.InPort( 'Min' , 'long' )
-InitLoop.InPort( 'Max' , 'long' )
-InitLoop.OutPort( 'Index' , 'long' )
-InitLoop.OutPort( 'Min' , 'long' )
-InitLoop.OutPort( 'Max' , 'long' )
-
-# Creation of Switch Nodes
-PySwitch = []
-PySwitch.append( 'from time import * ' )
-PySwitch.append( 'def Switch(a) : ' )
-PySwitch.append( ' if ( a & 1 ) == 0 : ' )
-PySwitch.append( ' sleep(1) ' )
-PySwitch.append( ' return a & 1,1-(a&1),a ' )
-Switch,EndSwitch = GraphLoopSwitch.SNode( 'Switch' , PySwitch )
-EndSwitch.SetName( 'EndSwitch' )
-EndSwitch.SetAuthor( '' )
-EndSwitch.SetComment( '' )
-EndSwitch.Coords( 587 , 103 )
-PyEndSwitch = []
-PyEndSwitch.append( 'def EndSwitch(a) : ' )
-PyEndSwitch.append( ' if ( a & 1 ) == 0 : ' )
-PyEndSwitch.append( ' sleep(1) ' )
-PyEndSwitch.append( ' return a ' )
-EndSwitch.SetPyFunction( 'EndSwitch' , PyEndSwitch )
-EndSwitch.InPort( 'a' , 'long' )
-EndSwitch.OutPort( 'a' , 'long' )
-Switch.SetName( 'Switch' )
-Switch.SetAuthor( '' )
-Switch.SetComment( '' )
-Switch.Coords( 194 , 109 )
-Switch.InPort( 'a' , 'long' )
-Switch.OutPort( 'Odd' , 'long' )
-Switch.OutPort( 'Even' , 'int' )
-Switch.OutPort( 'a' , 'int' )
-
-# Creation of Links
-IsOdda = IsOdd.Port( 'a' )
-EndSwitcha = GraphLoopSwitch.Link( IsOdda , EndSwitch.Port( 'a' ) )
-EndSwitcha.AddCoord( 1 , 576 , 136 )
-EndSwitcha.AddCoord( 2 , 575 , 81 )
-
-InitLoopIndex = InitLoop.Port( 'Index' )
-Switcha = GraphLoopSwitch.Link( InitLoopIndex , Switch.Port( 'a' ) )
-
-InitLoopMin = InitLoop.Port( 'Min' )
-EndOfInitLoopMin = GraphLoopSwitch.Link( InitLoopMin , EndOfInitLoop.Port( 'Min' ) )
-
-InitLoopMax = InitLoop.Port( 'Max' )
-EndOfInitLoopMax = GraphLoopSwitch.Link( InitLoopMax , EndOfInitLoop.Port( 'Max' ) )
-
-SwitchOdd = Switch.Port( 'Odd' )
-IsOddInGate = GraphLoopSwitch.Link( SwitchOdd , IsOdd.Port( 'InGate' ) )
-
-SwitchEven = Switch.Port( 'Even' )
-EndSwitchDefault = GraphLoopSwitch.Link( SwitchEven , EndSwitch.Port( 'Default' ) )
-
-IsOddEven = GraphLoopSwitch.Link( SwitchEven , IsOdd.Port( 'Even' ) )
-IsOddEven.AddCoord( 1 , 375 , 111 )
-IsOddEven.AddCoord( 2 , 375 , 172 )
-
-Switcha = Switch.Port( 'a' )
-IsOdda = GraphLoopSwitch.Link( Switcha , IsOdd.Port( 'a' ) )
-IsOdda.AddCoord( 1 , 362 , 82 )
-IsOdda.AddCoord( 2 , 360 , 201 )
-
-EndSwitcha = EndSwitch.Port( 'a' )
-EndOfInitLoopIndex = GraphLoopSwitch.Link( EndSwitcha , EndOfInitLoop.Port( 'Index' ) )
-
-# Creation of Input datas
-InitLoopIndex = InitLoop.Input( 'Index' , 0)
-InitLoopMin = InitLoop.Input( 'Min' , 0)
-InitLoopMax = InitLoop.Input( 'Max' , 100)
-
-# Creation of Output variables
-EndOfInitLoopIndex = EndOfInitLoop.Port( 'Index' )
-EndOfInitLoopMin = EndOfInitLoop.Port( 'Min' )
-EndOfInitLoopMax = EndOfInitLoop.Port( 'Max' )
-
-GraphLoopSwitch.Run()
-GraphLoopSwitch.DoneW()
-GraphLoopSwitch.State()
-GraphLoopSwitch.PrintPorts()
+++ /dev/null
-<!DOCTYPE Dataflow>
-<dataflow>
-<info-list>
-<node>
-<component-name>?</component-name>
- <interface-name>?</interface-name>
- <node-name>GraphLoopSwitch</node-name>
- <kind>1</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>GraphLoopSwitch</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>InitLoop\Index</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>InitLoop\Min</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>InitLoop\Max</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>EndOfInitLoop\Index</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>EndOfInitLoop\Min</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>EndOfInitLoop\Max</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list/>
- <creation-date>22/10/2003 - 10:36:39</creation-date>
- <lastmodification-date>22/10/2003 - 10:37:20</lastmodification-date>
- <editor-release>1.05</editor-release>
- <author>?</author>
- <container>?</container>
- <comment>?</comment>
- <x-position>0</x-position>
- <y-position>0</y-position> </node> </info-list>
- <node-list>
-<node>
-<component-name>?</component-name>
- <interface-name>?</interface-name>
- <node-name>IsOdd</node-name>
- <kind>3</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>IsOdd</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>a</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>boolean</inParameter-type>
- <inParameter-name>Even</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>a</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list>
-<PyFunction>
-<FuncName>IsOdd</FuncName>
- <PyFunc><![CDATA[from time import * ]]></PyFunc>
- <PyFunc><![CDATA[def IsOdd(a,Even) : ]]></PyFunc>
- <PyFunc><![CDATA[ print a,"IsOdd (GraphLoopSwitch1)" ]]></PyFunc>
- <PyFunc><![CDATA[ sleep( 1 ) ]]></PyFunc>
- <PyFunc><![CDATA[ return a ]]></PyFunc> </PyFunction> </PyFunction-list>
- <creation-date>22/10/2003 - 10:36:39</creation-date>
- <lastmodification-date>22/10/2003 - 10:36:39</lastmodification-date>
- <editor-release>1.05</editor-release>
- <author>?</author>
- <container>?</container>
- <comment>Python function</comment>
- <x-position>397</x-position>
- <y-position>1</y-position> </node>
- <node>
-<component-name>?</component-name>
- <interface-name>?</interface-name>
- <node-name>InitLoop</node-name>
- <kind>4</kind>
- <coupled-node>EndOfInitLoop</coupled-node>
- <service>
-<service-name>Loop</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>Index</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>Min</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>Max</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>Index</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>Min</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>Max</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list>
-<PyFunction>
-<FuncName>?</FuncName>
- <PyFunc><![CDATA[?]]></PyFunc> </PyFunction>
- <PyFunction>
-<FuncName>?</FuncName>
- <PyFunc><![CDATA[?]]></PyFunc> </PyFunction>
- <PyFunction>
-<FuncName>?</FuncName>
- <PyFunc><![CDATA[?]]></PyFunc> </PyFunction> </PyFunction-list>
- <creation-date>22/10/2003 - 10:36:40</creation-date>
- <lastmodification-date>22/10/2003 - 10:36:40</lastmodification-date>
- <editor-release>1.05</editor-release>
- <author>?</author>
- <container>?</container>
- <comment>?</comment>
- <x-position>10</x-position>
- <y-position>108</y-position> </node>
- <node>
-<component-name>?</component-name>
- <interface-name>?</interface-name>
- <node-name>EndOfInitLoop</node-name>
- <kind>5</kind>
- <coupled-node>InitLoop</coupled-node>
- <service>
-<service-name>EndLoop</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>Index</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>Min</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>Max</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>Index</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>Min</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>Max</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list>
-<PyFunction>
-<FuncName>EndOfInitLoop</FuncName>
- <PyFunc><![CDATA[def EndOfInitLoop( DoLoop , Index , Min , Max ) :]]></PyFunc>
- <PyFunc><![CDATA[ Index = Index + 1 ]]></PyFunc>
- <PyFunc><![CDATA[ if Index <= Max : ]]></PyFunc>
- <PyFunc><![CDATA[ DoLoop = 1 ]]></PyFunc>
- <PyFunc><![CDATA[ else : ]]></PyFunc>
- <PyFunc><![CDATA[ DoLoop = 0 ]]></PyFunc>
- <PyFunc><![CDATA[ return DoLoop,Index,Min,Max ]]></PyFunc> </PyFunction> </PyFunction-list>
- <creation-date>22/10/2003 - 10:36:40</creation-date>
- <lastmodification-date>22/10/2003 - 10:36:40</lastmodification-date>
- <editor-release>1.05</editor-release>
- <author>?</author>
- <container>?</container>
- <comment>?</comment>
- <x-position>767</x-position>
- <y-position>102</y-position> </node>
- <node>
-<component-name>?</component-name>
- <interface-name>?</interface-name>
- <node-name>Switch</node-name>
- <kind>6</kind>
- <coupled-node>EndSwitch</coupled-node>
- <service>
-<service-name>Switch</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>a</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>Odd</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>int</outParameter-type>
- <outParameter-name>Even</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>int</outParameter-type>
- <outParameter-name>a</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list>
-<PyFunction>
-<FuncName>Switch</FuncName>
- <PyFunc><![CDATA[from time import * ]]></PyFunc>
- <PyFunc><![CDATA[def Switch(a) : ]]></PyFunc>
- <PyFunc><![CDATA[ if ( a & 1 ) == 0 : ]]></PyFunc>
- <PyFunc><![CDATA[ sleep(1) ]]></PyFunc>
- <PyFunc><![CDATA[ return a & 1,1-(a&1),a ]]></PyFunc> </PyFunction> </PyFunction-list>
- <creation-date>22/10/2003 - 10:36:59</creation-date>
- <lastmodification-date>22/10/2003 - 10:36:59</lastmodification-date>
- <editor-release>1.05</editor-release>
- <author>?</author>
- <container>?</container>
- <comment>?</comment>
- <x-position>194</x-position>
- <y-position>109</y-position> </node>
- <node>
-<component-name>?</component-name>
- <interface-name>?</interface-name>
- <node-name>EndSwitch</node-name>
- <kind>7</kind>
- <coupled-node>Switch</coupled-node>
- <service>
-<service-name>EndSwitch</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>a</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>a</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list>
-<PyFunction>
-<FuncName>EndSwitch</FuncName>
- <PyFunc><![CDATA[def EndSwitch(a) : ]]></PyFunc>
- <PyFunc><![CDATA[ if ( a & 1 ) == 0 : ]]></PyFunc>
- <PyFunc><![CDATA[ sleep(1) ]]></PyFunc>
- <PyFunc><![CDATA[ return a ]]></PyFunc> </PyFunction> </PyFunction-list>
- <creation-date>22/10/2003 - 10:36:59</creation-date>
- <lastmodification-date>22/10/2003 - 10:36:59</lastmodification-date>
- <editor-release>1.05</editor-release>
- <author>?</author>
- <container>?</container>
- <comment>?</comment>
- <x-position>587</x-position>
- <y-position>103</y-position> </node> </node-list>
- <link-list>
-<link>
-<fromnode-name>IsOdd</fromnode-name>
- <fromserviceparameter-name>a</fromserviceparameter-name>
- <tonode-name>EndSwitch</tonode-name>
- <toserviceparameter-name>a</toserviceparameter-name>
- <coord-list>
-<coord>
-<x>576</x>
- <y>136</y> </coord>
- <coord>
-<x>575</x>
- <y>81</y> </coord> </coord-list> </link>
- <link>
-<fromnode-name>InitLoop</fromnode-name>
- <fromserviceparameter-name>DoLoop</fromserviceparameter-name>
- <tonode-name>EndOfInitLoop</tonode-name>
- <toserviceparameter-name>DoLoop</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>InitLoop</fromnode-name>
- <fromserviceparameter-name>Index</fromserviceparameter-name>
- <tonode-name>Switch</tonode-name>
- <toserviceparameter-name>a</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>InitLoop</fromnode-name>
- <fromserviceparameter-name>Min</fromserviceparameter-name>
- <tonode-name>EndOfInitLoop</tonode-name>
- <toserviceparameter-name>Min</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>InitLoop</fromnode-name>
- <fromserviceparameter-name>Max</fromserviceparameter-name>
- <tonode-name>EndOfInitLoop</tonode-name>
- <toserviceparameter-name>Max</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>EndOfInitLoop</fromnode-name>
- <fromserviceparameter-name>DoLoop</fromserviceparameter-name>
- <tonode-name>InitLoop</tonode-name>
- <toserviceparameter-name>InitLoop</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>Switch</fromnode-name>
- <fromserviceparameter-name>Odd</fromserviceparameter-name>
- <tonode-name>IsOdd</tonode-name>
- <toserviceparameter-name>InGate</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>Switch</fromnode-name>
- <fromserviceparameter-name>Even</fromserviceparameter-name>
- <tonode-name>EndSwitch</tonode-name>
- <toserviceparameter-name>Default</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>Switch</fromnode-name>
- <fromserviceparameter-name>Even</fromserviceparameter-name>
- <tonode-name>IsOdd</tonode-name>
- <toserviceparameter-name>Even</toserviceparameter-name>
- <coord-list>
-<coord>
-<x>375</x>
- <y>111</y> </coord>
- <coord>
-<x>375</x>
- <y>172</y> </coord> </coord-list> </link>
- <link>
-<fromnode-name>Switch</fromnode-name>
- <fromserviceparameter-name>a</fromserviceparameter-name>
- <tonode-name>IsOdd</tonode-name>
- <toserviceparameter-name>a</toserviceparameter-name>
- <coord-list>
-<coord>
-<x>362</x>
- <y>82</y> </coord>
- <coord>
-<x>360</x>
- <y>201</y> </coord> </coord-list> </link>
- <link>
-<fromnode-name>EndSwitch</fromnode-name>
- <fromserviceparameter-name>a</fromserviceparameter-name>
- <tonode-name>EndOfInitLoop</tonode-name>
- <toserviceparameter-name>Index</toserviceparameter-name>
- <coord-list/> </link> </link-list>
- <data-list>
-<data>
-<fromnode-name>GraphLoopSwitch</fromnode-name>
- <fromserviceparameter-name>InitLoop\Index</fromserviceparameter-name>
- <tonode-name>InitLoop</tonode-name>
- <toserviceparameter-name>Index</toserviceparameter-name>
- <data-value>
-<value-type>3</value-type>
- <value>0</value> </data-value>
- <coord-list/> </data>
- <data>
-<fromnode-name>GraphLoopSwitch</fromnode-name>
- <fromserviceparameter-name>InitLoop\Min</fromserviceparameter-name>
- <tonode-name>InitLoop</tonode-name>
- <toserviceparameter-name>Min</toserviceparameter-name>
- <data-value>
-<value-type>3</value-type>
- <value>0</value> </data-value>
- <coord-list/> </data>
- <data>
-<fromnode-name>GraphLoopSwitch</fromnode-name>
- <fromserviceparameter-name>InitLoop\Max</fromserviceparameter-name>
- <tonode-name>InitLoop</tonode-name>
- <toserviceparameter-name>Max</toserviceparameter-name>
- <data-value>
-<value-type>3</value-type>
- <value>100</value> </data-value>
- <coord-list/> </data> </data-list></dataflow>
+++ /dev/null
-
-# Check the Merge of two graphs
-
-# Creation of GraphSwitch
-from GraphSwitch import *
-
-# Creation of GraphSwitch1
-from GraphSwitch1 import *
-
-# Merge of GraphSwitch1 in GraphSwitch
-GraphSwitch.Merge( GraphSwitch1 )
-
-# Create a variable for each node of GraphSwitch :
-# IsOdd,IsOdd_1,InitLoopSwitch,InitLoop,EndOfInitLoopSwitch,EndOfInitLoop,Switch,Switch_1,EndOfSwitch,EndSwitch
-exec GraphSwitch.ListNodes()
-
-# Print Input and Output Ports values of InitLoopSwitch
-InitLoopSwitch.PrintPorts()
-
-# Print Input and Output Ports values of InitLoop
-InitLoop.PrintPorts()
-
-# Print Input and Output Ports values of GraphSwitch
-GraphSwitch.PrintPorts()
-
-# Start asynchronous execution of GraphSwitch
-GraphSwitch.Run()
-
-# Wait for completion of GraphSwitch
-GraphSwitch.DoneW()
-
-# Print the state of GraphSwitch
-GraphSwitch.State()
-
-# Print the results of GraphSwitch
-GraphSwitch.PrintPorts()
-
-# Start asynchronous execution of GraphSwitch
-GraphSwitch.Run()
-
-# Start asynchronous execution of GraphSwitch1 (parallel to the execution of GraphSwitch)
-GraphSwitch1.Run()
-
-# Wait for completion of GraphSwitch1
-GraphSwitch1.DoneW()
-
-# Print the state of GraphSwitch1
-GraphSwitch.State()
-
-# Wait for completion of GraphSwitch
-GraphSwitch.DoneW()
-
-# Print the state of GraphSwitch
-GraphSwitch.State()
-
-# Print the results of GraphSwitch
-GraphSwitch.PrintPorts()
-
-# Print the results of GraphSwitch1
-GraphSwitch1.PrintPorts()
-
+++ /dev/null
-
-# Check the Merge of two graphs and python functions definitions
-
-# Creation of GraphSwitch
-from GraphSwitch import *
-
-# Creation of GraphSwitch1
-from GraphSwitch1 import *
-
-# Merge of GraphSwitch1 in GraphSwitch
-GraphSwitch.Merge( GraphSwitch1 )
-
-# Create a variable for each node of GraphSwitch :
-# IsOdd,IsOdd_1,InitLoopSwitch,InitLoop,EndOfInitLoopSwitch,EndOfInitLoop,Switch,Switch_1,EndOfSwitch,EndSwitch
-exec GraphSwitch.ListNodes()
-
-funcname = InitLoopSwitch.PyInitName()
-funcname1 = InitLoop.PyInitName()
-print "Init python function names of InitLoopSwitch and InitLoop :",funcname,funcname1
-InitLoop.PyInit()
-# Erase python functions of InitLoop
-InitLoop.SetPyInit( funcname , [] )
-InitLoop.PyInit()
-InitLoop.SetPyMore( InitLoop.PyMoreName() , [] )
-InitLoop.PyMore()
-InitLoop.SetPyNext( InitLoop.PyNextName() , [] )
-InitLoop.PyNext()
-
-IsOdd.SetPyFunction( IsOdd.PyFuncName() , [] )
-IsOdd.PyFunction()
-
-# Print Input and Output Ports values of InitLoopSwitch
-InitLoopSwitch.PrintPorts()
-
-# Print Input and Output Ports values of InitLoop
-InitLoop.PrintPorts()
-
-# Print Input and Output Ports values of GraphSwitch
-GraphSwitch.PrintPorts()
-
-# Start asynchronous execution of GraphSwitch
-GraphSwitch.Run()
-
-# Wait for completion of GraphSwitch
-GraphSwitch.DoneW()
-
-# Print the state of GraphSwitch
-GraphSwitch.State()
-
-# Print the results of GraphSwitch
-GraphSwitch.PrintPorts()
-
-GraphSwitch.Export( "../GraphPyFunctions.xml" )
-
+++ /dev/null
-
-# Generated python file of Graph GraphObjRef
-
-from SuperV import *
-# Graph creation
-GraphObjRef = Graph( 'GraphObjRef' )
-GraphObjRef.SetName( 'GraphObjRef' )
-GraphObjRef.SetAuthor( '' )
-GraphObjRef.SetComment( '' )
-GraphObjRef.Coords( 0 , 0 )
-
-# Creation of Factory Nodes
-
-Addition = GraphObjRef.FNode( 'AddComponent' , 'AddComponent' , 'Addition' )
-Addition.SetName( 'Addition' )
-Addition.SetAuthor( '' )
-Addition.SetContainer( 'localhost/AdditionServer' )
-Addition.SetComment( 'Addition from AddComponent' )
-Addition.Coords( 10 , 15 )
-
-# Creation of InLine Nodes
-PySyrComponent = []
-PySyrComponent.append( 'from LifeCycleCORBA import * ' )
-PySyrComponent.append( 'def SyrComponent( aContainer , aComponent ) : ' )
-PySyrComponent.append( ' print "SyrComponent(",aContainer,",",aComponent,")" ' )
-PySyrComponent.append( ' orb = CORBA.ORB_init([], CORBA.ORB_ID) ' )
-PySyrComponent.append( ' print "SyrComponent orb",orb ' )
-PySyrComponent.append( ' lcc = LifeCycleCORBA(orb) ' )
-PySyrComponent.append( ' print "SyrComponent lcc",lcc ' )
-PySyrComponent.append( ' print "SyrComponent(",aContainer,",",aComponent,")" ' )
-PySyrComponent.append( ' ComponentRef = lcc.FindOrLoadComponent( aContainer , aComponent ) ' )
-PySyrComponent.append( ' print "SyrComponent(",aContainer,",",aComponent,") --> ",ComponentRef ' )
-PySyrComponent.append( ' return ComponentRef ' )
-PySyrComponent.append( '' )
-SyrComponent = GraphObjRef.INode( 'SyrComponent' , PySyrComponent )
-SyrComponent.InPort( 'aContainer' , 'string' )
-SyrComponent.InPort( 'aComponent' , 'string' )
-SyrComponent.OutPort( 'anObjRef' , 'objref' )
-SyrComponent.SetName( 'SyrComponent' )
-SyrComponent.SetAuthor( '' )
-SyrComponent.SetComment( 'Compute Node' )
-SyrComponent.Coords( 26 , 209 )
-
-# Creation of Loop Nodes
-PyInit = []
-PyInit.append( 'def Init( Adder , anObjRef , Index ) : ' )
-PyInit.append( ' return Adder,anObjRef,0 ' )
-PyInit.append( '' )
-PyMoreInit = []
-PyMoreInit.append( 'def More( Adder , anObjRef , Index ) : ' )
-PyMoreInit.append( ' OutLoop = 0 ' )
-PyMoreInit.append( ' if 10 > Index : ' )
-PyMoreInit.append( ' OutLoop = 1 ' )
-PyMoreInit.append( ' return OutLoop,Adder,anObjRef,Index ' )
-PyMoreInit.append( '' )
-PyNextInit = []
-PyNextInit.append( 'def Nextfori( Adder , anObjRef , Index ) : ' )
-PyNextInit.append( ' Index = Index + 1 ' )
-PyNextInit.append( ' return Adder,anObjRef,Index ' )
-PyNextInit.append( '' )
-Init,EndInit = GraphObjRef.LNode( 'Init' , PyInit , 'More' , PyMoreInit , 'Nextfori' , PyNextInit )
-EndInit.SetName( 'EndInit' )
-EndInit.SetAuthor( '' )
-EndInit.SetComment( '' )
-EndInit.Coords( 441 , 177 )
-Init.InPort( 'Addder' , 'objref' )
-Init.InPort( 'anObjRef' , 'objref' )
-Init.InPort( 'Index' , 'long' )
-Init.OutPort( 'Addder' , 'objref' )
-Init.OutPort( 'anObjRef' , 'objref' )
-Init.OutPort( 'Index' , 'long' )
-Init.SetName( 'Init' )
-Init.SetAuthor( '' )
-Init.SetComment( '' )
-Init.Coords( 236 , 161 )
-
-# Creation of Links
-AdditionAdder = Addition.Port( 'Adder' )
-InitAddder = GraphObjRef.Link( AdditionAdder , Init.Port( 'Addder' ) )
-InitAddder.AddCoord( 1 , 202 , 194 )
-InitAddder.AddCoord( 2 , 201 , 95 )
-
-SyrComponentanObjRef = SyrComponent.Port( 'anObjRef' )
-InitanObjRef = GraphObjRef.Link( SyrComponentanObjRef , Init.Port( 'anObjRef' ) )
-InitanObjRef.AddCoord( 1 , 209 , 224 )
-InitanObjRef.AddCoord( 2 , 208 , 289 )
-
-InitAddder = Init.Port( 'Addder' )
-EndInitAddder = GraphObjRef.Link( InitAddder , EndInit.Port( 'Addder' ) )
-
-InitanObjRef = Init.Port( 'anObjRef' )
-EndInitanObjRef = GraphObjRef.Link( InitanObjRef , EndInit.Port( 'anObjRef' ) )
-
-InitIndex = Init.Port( 'Index' )
-EndInitIndex = GraphObjRef.Link( InitIndex , EndInit.Port( 'Index' ) )
-
-# Creation of Input datas
-SyrComponentaContainer = SyrComponent.Input( 'aContainer' , 'FactoryServer')
-SyrComponentaComponent = SyrComponent.Input( 'aComponent' , 'SyrComponent')
-InitIndex = Init.Input( 'Index' , 0)
-
-# Creation of Output variables
-EndInitAddder = EndInit.Port( 'Addder' )
-EndInitanObjRef = EndInit.Port( 'anObjRef' )
-EndInitIndex = EndInit.Port( 'Index' )
-
-GraphObjRef.Run()
-GraphObjRef.DoneW()
-GraphObjRef.State()
-GraphObjRef.PrintPorts()
+++ /dev/null
-<!DOCTYPE Dataflow>
-<dataflow>
-<info-list>
-<node>
-<component-name>?</component-name>
- <interface-name>?</interface-name>
- <node-name>GraphObjRef</node-name>
- <kind>1</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>GraphObjRef</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>string</inParameter-type>
- <inParameter-name>SyrComponent\aContainer</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>string</inParameter-type>
- <inParameter-name>SyrComponent\aComponent</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>Init\Index</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>objref</outParameter-type>
- <outParameter-name>EndInit\Addder</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>objref</outParameter-type>
- <outParameter-name>EndInit\anObjRef</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>EndInit\Index</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list/>
- <creation-date>1/7/2003 - 19:4:59</creation-date>
- <lastmodification-date>18/9/2003 - 17:38:33</lastmodification-date>
- <editor-release>1.04</editor-release>
- <author>?</author>
- <container>?</container>
- <comment>?</comment>
- <x-position>0</x-position>
- <y-position>0</y-position> </node> </info-list>
- <node-list>
-<node>
-<component-name>AddComponent</component-name>
- <interface-name>AddComponent</interface-name>
- <node-name>Addition</node-name>
- <kind>0</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>Addition</service-name>
- <inParameter-list/>
- <outParameter-list>
-<outParameter>
-<outParameter-type>Adder</outParameter-type>
- <outParameter-name>Adder</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list/>
- <creation-date>18/9/2003 - 17:38:33</creation-date>
- <lastmodification-date>18/9/2003 - 17:38:33</lastmodification-date>
- <editor-release>1.04</editor-release>
- <author>?</author>
- <container>localhost/AdditionServer</container>
- <comment>Addition from AddComponent</comment>
- <x-position>10</x-position>
- <y-position>15</y-position> </node>
- <node>
-<component-name>?</component-name>
- <interface-name>?</interface-name>
- <node-name>SyrComponent</node-name>
- <kind>3</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>SyrComponent</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>string</inParameter-type>
- <inParameter-name>aContainer</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>string</inParameter-type>
- <inParameter-name>aComponent</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>objref</outParameter-type>
- <outParameter-name>anObjRef</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list>
-<PyFunction>
-<FuncName>SyrComponent</FuncName>
- <PyFunc><![CDATA[from LifeCycleCORBA import * ]]></PyFunc>
- <PyFunc><![CDATA[def SyrComponent( aContainer , aComponent ) : ]]></PyFunc>
- <PyFunc><![CDATA[ print "SyrComponent(",aContainer,",",aComponent,")" ]]></PyFunc>
- <PyFunc><![CDATA[ orb = CORBA.ORB_init([], CORBA.ORB_ID) ]]></PyFunc>
- <PyFunc><![CDATA[ print "SyrComponent orb",orb ]]></PyFunc>
- <PyFunc><![CDATA[ lcc = LifeCycleCORBA(orb) ]]></PyFunc>
- <PyFunc><![CDATA[ print "SyrComponent lcc",lcc ]]></PyFunc>
- <PyFunc><![CDATA[ print "SyrComponent(",aContainer,",",aComponent,")" ]]></PyFunc>
- <PyFunc><![CDATA[ ComponentRef = lcc.FindOrLoadComponent( aContainer , aComponent ) ]]></PyFunc>
- <PyFunc><![CDATA[ print "SyrComponent(",aContainer,",",aComponent,") --> ",ComponentRef ]]></PyFunc>
- <PyFunc><![CDATA[ return ComponentRef ]]></PyFunc>
- <PyFunc><![CDATA[?]]></PyFunc> </PyFunction> </PyFunction-list>
- <creation-date>18/9/2003 - 17:38:33</creation-date>
- <lastmodification-date>18/9/2003 - 17:38:33</lastmodification-date>
- <editor-release>1.04</editor-release>
- <author>?</author>
- <container>?</container>
- <comment>Compute Node</comment>
- <x-position>26</x-position>
- <y-position>209</y-position> </node>
- <node>
-<component-name>?</component-name>
- <interface-name>?</interface-name>
- <node-name>Init</node-name>
- <kind>4</kind>
- <coupled-node>EndInit</coupled-node>
- <service>
-<service-name>Init</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>objref</inParameter-type>
- <inParameter-name>Addder</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>objref</inParameter-type>
- <inParameter-name>anObjRef</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>Index</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>objref</outParameter-type>
- <outParameter-name>Addder</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>objref</outParameter-type>
- <outParameter-name>anObjRef</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>Index</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list>
-<PyFunction>
-<FuncName>Init</FuncName>
- <PyFunc><![CDATA[def Init( Adder , anObjRef , Index ) : ]]></PyFunc>
- <PyFunc><![CDATA[ return Adder,anObjRef,0 ]]></PyFunc>
- <PyFunc><![CDATA[?]]></PyFunc> </PyFunction>
- <PyFunction>
-<FuncName>More</FuncName>
- <PyFunc><![CDATA[def More( Adder , anObjRef , Index ) : ]]></PyFunc>
- <PyFunc><![CDATA[ OutLoop = 0 ]]></PyFunc>
- <PyFunc><![CDATA[ if 10 > Index : ]]></PyFunc>
- <PyFunc><![CDATA[ OutLoop = 1 ]]></PyFunc>
- <PyFunc><![CDATA[ return OutLoop,Adder,anObjRef,Index ]]></PyFunc>
- <PyFunc><![CDATA[?]]></PyFunc> </PyFunction>
- <PyFunction>
-<FuncName>Nextfori</FuncName>
- <PyFunc><![CDATA[def Nextfori( Adder , anObjRef , Index ) : ]]></PyFunc>
- <PyFunc><![CDATA[ Index = Index + 1 ]]></PyFunc>
- <PyFunc><![CDATA[ return Adder,anObjRef,Index ]]></PyFunc>
- <PyFunc><![CDATA[?]]></PyFunc> </PyFunction> </PyFunction-list>
- <creation-date>18/9/2003 - 17:38:33</creation-date>
- <lastmodification-date>18/9/2003 - 17:38:33</lastmodification-date>
- <editor-release>1.04</editor-release>
- <author>?</author>
- <container>?</container>
- <comment>?</comment>
- <x-position>236</x-position>
- <y-position>161</y-position> </node>
- <node>
-<component-name>?</component-name>
- <interface-name>?</interface-name>
- <node-name>EndInit</node-name>
- <kind>5</kind>
- <coupled-node>Init</coupled-node>
- <service>
-<service-name>EndInit</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>objref</inParameter-type>
- <inParameter-name>Addder</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>objref</inParameter-type>
- <inParameter-name>anObjRef</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>Index</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>objref</outParameter-type>
- <outParameter-name>Addder</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>objref</outParameter-type>
- <outParameter-name>anObjRef</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>Index</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list>
-<PyFunction/> </PyFunction-list>
- <creation-date>18/9/2003 - 17:38:33</creation-date>
- <lastmodification-date>18/9/2003 - 17:38:33</lastmodification-date>
- <editor-release>1.04</editor-release>
- <author>?</author>
- <container>?</container>
- <comment>?</comment>
- <x-position>441</x-position>
- <y-position>177</y-position> </node> </node-list>
- <link-list>
-<link>
-<fromnode-name>Addition</fromnode-name>
- <fromserviceparameter-name>Adder</fromserviceparameter-name>
- <tonode-name>Init</tonode-name>
- <toserviceparameter-name>Addder</toserviceparameter-name>
- <coord-list>
-<coord>
-<x>202</x>
- <y>194</y> </coord>
- <coord>
-<x>201</x>
- <y>95</y> </coord> </coord-list> </link>
- <link>
-<fromnode-name>SyrComponent</fromnode-name>
- <fromserviceparameter-name>anObjRef</fromserviceparameter-name>
- <tonode-name>Init</tonode-name>
- <toserviceparameter-name>anObjRef</toserviceparameter-name>
- <coord-list>
-<coord>
-<x>209</x>
- <y>224</y> </coord>
- <coord>
-<x>208</x>
- <y>289</y> </coord> </coord-list> </link>
- <link>
-<fromnode-name>Init</fromnode-name>
- <fromserviceparameter-name>DoLoop</fromserviceparameter-name>
- <tonode-name>EndInit</tonode-name>
- <toserviceparameter-name>DoLoop</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>Init</fromnode-name>
- <fromserviceparameter-name>Addder</fromserviceparameter-name>
- <tonode-name>EndInit</tonode-name>
- <toserviceparameter-name>Addder</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>Init</fromnode-name>
- <fromserviceparameter-name>anObjRef</fromserviceparameter-name>
- <tonode-name>EndInit</tonode-name>
- <toserviceparameter-name>anObjRef</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>Init</fromnode-name>
- <fromserviceparameter-name>Index</fromserviceparameter-name>
- <tonode-name>EndInit</tonode-name>
- <toserviceparameter-name>Index</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>EndInit</fromnode-name>
- <fromserviceparameter-name>DoLoop</fromserviceparameter-name>
- <tonode-name>Init</tonode-name>
- <toserviceparameter-name>InitLoop</toserviceparameter-name>
- <coord-list/> </link> </link-list>
- <data-list>
-<data>
-<fromnode-name>GraphObjRef</fromnode-name>
- <fromserviceparameter-name>SyrComponent\aContainer</fromserviceparameter-name>
- <tonode-name>SyrComponent</tonode-name>
- <toserviceparameter-name>aContainer</toserviceparameter-name>
- <data-value>
-<value-type>18</value-type>
- <value>FactoryServer</value> </data-value>
- <coord-list/> </data>
- <data>
-<fromnode-name>GraphObjRef</fromnode-name>
- <fromserviceparameter-name>SyrComponent\aComponent</fromserviceparameter-name>
- <tonode-name>SyrComponent</tonode-name>
- <toserviceparameter-name>aComponent</toserviceparameter-name>
- <data-value>
-<value-type>18</value-type>
- <value>SyrComponent</value> </data-value>
- <coord-list/> </data>
- <data>
-<fromnode-name>GraphObjRef</fromnode-name>
- <fromserviceparameter-name>Init\Index</fromserviceparameter-name>
- <tonode-name>Init</tonode-name>
- <toserviceparameter-name>Index</toserviceparameter-name>
- <data-value>
-<value-type>3</value-type>
- <value>0</value> </data-value>
- <coord-list/> </data> </data-list></dataflow>
+++ /dev/null
-
-# Generated python file of Graph GraphSwitch
-
-from SuperV import *
-# Graph creation
-GraphPyFunctions = Graph( 'GraphPyFunctions' )
-GraphPyFunctions.SetName( 'GraphPyFunctions' )
-GraphPyFunctions.SetAuthor( '' )
-GraphPyFunctions.SetComment( '' )
-GraphPyFunctions.Coords( 0 , 0 )
-
-# Creation of Factory Nodes
-
-# Creation of InLine Nodes
-PyIsOdd = []
-IsOdd = GraphPyFunctions.INode( 'IsOdd' , PyIsOdd )
-IsOdd.SetName( 'IsOdd' )
-IsOdd.SetAuthor( '' )
-IsOdd.SetComment( 'Python function' )
-IsOdd.Coords( 388 , 50 )
-IsOdd.InPort( 'a' , 'long' )
-IsOdd.OutPort( 'a' , 'long' )
-
-PyIsOdd_1 = []
-PyIsOdd_1.append( 'from time import * ' )
-PyIsOdd_1.append( 'def IsOdd(a) : ' )
-PyIsOdd_1.append( ' print a,"IsOdd" ' )
-PyIsOdd_1.append( ' sleep( 1 ) ' )
-PyIsOdd_1.append( ' return a ' )
-IsOdd_1 = GraphPyFunctions.INode( 'IsOdd' , PyIsOdd_1 )
-IsOdd_1.SetName( 'IsOdd_1' )
-IsOdd_1.SetAuthor( '' )
-IsOdd_1.SetComment( 'Python function' )
-IsOdd_1.Coords( 391 , 288 )
-IsOdd_1.InPort( 'a' , 'long' )
-IsOdd_1.OutPort( 'a' , 'long' )
-
-# Creation of Loop Nodes
-PyInitLoop = []
-PyInitLoop.append( 'def InitLoop(Index,Min,Max) : ' )
-PyInitLoop.append( ' return Index,Min,Max ' )
-PyMoreInitLoop = []
-PyMoreInitLoop.append( 'def MoreLoop(Index,Min,Max) : ' )
-PyMoreInitLoop.append( ' if Index <= Max : ' )
-PyMoreInitLoop.append( ' DoLoop = 1 ' )
-PyMoreInitLoop.append( ' else : ' )
-PyMoreInitLoop.append( ' DoLoop = 0 ' )
-PyMoreInitLoop.append( ' return DoLoop,Index,Min,Max ' )
-PyNextInitLoop = []
-PyNextInitLoop.append( 'def NextLoop(Index,Min,Max) : ' )
-PyNextInitLoop.append( ' Index = Index + 1 ' )
-PyNextInitLoop.append( ' return Index,Min,Max ' )
-InitLoop,EndOfInitLoop = GraphPyFunctions.LNode( 'InitLoop' , PyInitLoop , 'MoreLoop' , PyMoreInitLoop , 'NextLoop' , PyNextInitLoop )
-EndOfInitLoop.SetName( 'EndOfInitLoop' )
-EndOfInitLoop.SetAuthor( '' )
-EndOfInitLoop.SetComment( '' )
-EndOfInitLoop.Coords( 766 , 127 )
-PyEndOfInitLoop = []
-EndOfInitLoop.SetPyFunction( 'EndInitLoop' , PyEndOfInitLoop )
-InitLoop.SetName( 'InitLoop' )
-InitLoop.SetAuthor( '' )
-InitLoop.SetComment( '' )
-InitLoop.Coords( 10 , 129 )
-InitLoop.InPort( 'Index' , 'long' )
-InitLoop.InPort( 'Min' , 'long' )
-InitLoop.InPort( 'Max' , 'long' )
-InitLoop.OutPort( 'Index' , 'long' )
-InitLoop.OutPort( 'Min' , 'long' )
-InitLoop.OutPort( 'Max' , 'long' )
-
-PyInitLoop_1 = []
-PyMoreInitLoop_1 = []
-PyMoreInitLoop_1.append( '' )
-PyNextInitLoop_1 = []
-PyNextInitLoop_1.append( '' )
-InitLoop_1,EndOfInitLoop_1 = GraphPyFunctions.LNode( 'InitLoop' , PyInitLoop_1 , 'MoreLoop' , PyMoreInitLoop_1 , 'NextLoop' , PyNextInitLoop_1 )
-EndOfInitLoop_1.SetName( 'EndOfInitLoop_1' )
-EndOfInitLoop_1.SetAuthor( '' )
-EndOfInitLoop_1.SetComment( '' )
-EndOfInitLoop_1.Coords( 784 , 361 )
-PyEndOfInitLoop_1 = []
-EndOfInitLoop_1.SetPyFunction( 'EndInitLoop' , PyEndOfInitLoop_1 )
-InitLoop_1.SetName( 'InitLoop_1' )
-InitLoop_1.SetAuthor( '' )
-InitLoop_1.SetComment( '' )
-InitLoop_1.Coords( 12 , 369 )
-InitLoop_1.InPort( 'Index' , 'long' )
-InitLoop_1.InPort( 'Min' , 'long' )
-InitLoop_1.InPort( 'Max' , 'long' )
-InitLoop_1.OutPort( 'Index' , 'long' )
-InitLoop_1.OutPort( 'Min' , 'long' )
-InitLoop_1.OutPort( 'Max' , 'long' )
-
-# Creation of Switch Nodes
-PySwitch = []
-Switch,EndOfSwitch = GraphPyFunctions.SNode( 'Switch' , PySwitch )
-EndOfSwitch.SetName( 'EndOfSwitch' )
-EndOfSwitch.SetAuthor( '' )
-EndOfSwitch.SetComment( '' )
-EndOfSwitch.Coords( 587 , 126 )
-PyEndOfSwitch = []
-EndOfSwitch.SetPyFunction( 'EndOfSwitch_1' , PyEndOfSwitch )
-EndOfSwitch.InPort( 'a' , 'long' )
-EndOfSwitch.OutPort( 'a' , 'long' )
-Switch.SetName( 'Switch' )
-Switch.SetAuthor( '' )
-Switch.SetComment( '' )
-Switch.Coords( 186 , 130 )
-Switch.InPort( 'a' , 'long' )
-Switch.OutPort( 'Odd' , 'long' )
-Switch.OutPort( 'Even' , 'int' )
-Switch.OutPort( 'a' , 'int' )
-
-PySwitch_1 = []
-PySwitch_1.append( 'from time import * ' )
-PySwitch_1.append( 'def Switch(a) : ' )
-PySwitch_1.append( ' if ( a & 1 ) == 0 : ' )
-PySwitch_1.append( ' sleep(1) ' )
-PySwitch_1.append( ' return a & 1,1-(a&1),a ' )
-Switch_1,EndOfSwitch_1 = GraphPyFunctions.SNode( 'Switch' , PySwitch_1 )
-EndOfSwitch_1.SetName( 'EndOfSwitch_1' )
-EndOfSwitch_1.SetAuthor( '' )
-EndOfSwitch_1.SetComment( '' )
-EndOfSwitch_1.Coords( 594 , 362 )
-PyEndOfSwitch_1 = []
-EndOfSwitch_1.SetPyFunction( 'EndOfSwitch_1' , PyEndOfSwitch_1 )
-EndOfSwitch_1.InPort( 'a' , 'long' )
-EndOfSwitch_1.OutPort( 'a' , 'long' )
-Switch_1.SetName( 'Switch_1' )
-Switch_1.SetAuthor( '' )
-Switch_1.SetComment( '' )
-Switch_1.Coords( 185 , 368 )
-Switch_1.InPort( 'a' , 'long' )
-Switch_1.OutPort( 'Odd' , 'long' )
-Switch_1.OutPort( 'Even' , 'int' )
-Switch_1.OutPort( 'a' , 'int' )
-
-# Creation of Links
-IsOdda = IsOdd.Port( 'a' )
-EndOfSwitcha = GraphPyFunctions.Link( IsOdda , EndOfSwitch.Port( 'a' ) )
-EndOfSwitcha.AddCoord( 1 , 571 , 160 )
-EndOfSwitcha.AddCoord( 2 , 571 , 129 )
-
-InitLoopIndex = InitLoop.Port( 'Index' )
-Switcha = GraphPyFunctions.Link( InitLoopIndex , Switch.Port( 'a' ) )
-
-InitLoopMin = InitLoop.Port( 'Min' )
-EndOfInitLoopMin = GraphPyFunctions.Link( InitLoopMin , EndOfInitLoop.Port( 'Min' ) )
-
-InitLoopMax = InitLoop.Port( 'Max' )
-EndOfInitLoopMax = GraphPyFunctions.Link( InitLoopMax , EndOfInitLoop.Port( 'Max' ) )
-
-SwitchOdd = Switch.Port( 'Odd' )
-IsOddInGate = GraphPyFunctions.Link( SwitchOdd , IsOdd.Port( 'InGate' ) )
-
-Switcha = Switch.Port( 'a' )
-IsOdda = GraphPyFunctions.Link( Switcha , IsOdd.Port( 'a' ) )
-IsOdda.AddCoord( 1 , 366 , 131 )
-IsOdda.AddCoord( 2 , 365 , 223 )
-
-SwitchDefault = Switch.Port( 'Default' )
-EndOfSwitchDefault = GraphPyFunctions.Link( SwitchDefault , EndOfSwitch.Port( 'Default' ) )
-EndOfSwitchDefault.AddCoord( 1 , 572 , 194 )
-EndOfSwitchDefault.AddCoord( 2 , 571 , 257 )
-
-EndOfSwitcha = EndOfSwitch.Port( 'a' )
-EndOfInitLoopIndex = GraphPyFunctions.Link( EndOfSwitcha , EndOfInitLoop.Port( 'Index' ) )
-
-IsOdd_1a = IsOdd_1.Port( 'a' )
-EndOfSwitch_1a = GraphPyFunctions.Link( IsOdd_1a , EndOfSwitch_1.Port( 'a' ) )
-EndOfSwitch_1a.AddCoord( 1 , 580 , 396 )
-EndOfSwitch_1a.AddCoord( 2 , 580 , 368 )
-
-InitLoop_1Index = InitLoop_1.Port( 'Index' )
-Switch_1a = GraphPyFunctions.Link( InitLoop_1Index , Switch_1.Port( 'a' ) )
-
-InitLoop_1Min = InitLoop_1.Port( 'Min' )
-EndOfInitLoop_1Min = GraphPyFunctions.Link( InitLoop_1Min , EndOfInitLoop_1.Port( 'Min' ) )
-
-InitLoop_1Max = InitLoop_1.Port( 'Max' )
-EndOfInitLoop_1Max = GraphPyFunctions.Link( InitLoop_1Max , EndOfInitLoop_1.Port( 'Max' ) )
-
-Switch_1Odd = Switch_1.Port( 'Odd' )
-IsOdd_1InGate = GraphPyFunctions.Link( Switch_1Odd , IsOdd_1.Port( 'InGate' ) )
-
-Switch_1Even = Switch_1.Port( 'Even' )
-EndOfSwitch_1Default = GraphPyFunctions.Link( Switch_1Even , EndOfSwitch_1.Port( 'Default' ) )
-
-Switch_1a = Switch_1.Port( 'a' )
-IsOdd_1a = GraphPyFunctions.Link( Switch_1a , IsOdd_1.Port( 'a' ) )
-IsOdd_1a.AddCoord( 1 , 368 , 368 )
-IsOdd_1a.AddCoord( 2 , 367 , 460 )
-
-EndOfSwitch_1a = EndOfSwitch_1.Port( 'a' )
-EndOfInitLoop_1Index = GraphPyFunctions.Link( EndOfSwitch_1a , EndOfInitLoop_1.Port( 'Index' ) )
-
-# Creation of Input datas
-InitLoopIndex = InitLoop.Input( 'Index' , 0)
-InitLoopMin = InitLoop.Input( 'Min' , 0)
-InitLoopMax = InitLoop.Input( 'Max' , 100)
-InitLoop_1Index = InitLoop_1.Input( 'Index' , 0)
-InitLoop_1Min = InitLoop_1.Input( 'Min' , 0)
-InitLoop_1Max = InitLoop_1.Input( 'Max' , 100)
-
-# Creation of Output variables
-EndOfInitLoopIndex = EndOfInitLoop.Port( 'Index' )
-EndOfInitLoopMin = EndOfInitLoop.Port( 'Min' )
-EndOfInitLoopMax = EndOfInitLoop.Port( 'Max' )
-SwitchEven = Switch.Port( 'Even' )
-EndOfInitLoop_1Index = EndOfInitLoop_1.Port( 'Index' )
-EndOfInitLoop_1Min = EndOfInitLoop_1.Port( 'Min' )
-EndOfInitLoop_1Max = EndOfInitLoop_1.Port( 'Max' )
-
-GraphPyFunctions.Run()
-GraphPyFunctions.DoneW()
-GraphPyFunctions.State()
-GraphPyFunctions.PrintPorts()
+++ /dev/null
-<!DOCTYPE Dataflow>
-<dataflow>
-<info-list>
-<node>
-<component-name>?</component-name>
- <interface-name>?</interface-name>
- <node-name>GraphPyFunctions</node-name>
- <kind>1</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>GraphPyFunctions</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>InitLoop\Index</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>InitLoop\Min</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>InitLoop\Max</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>InitLoop_1\Index</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>InitLoop_1\Min</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>InitLoop_1\Max</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>EndOfInitLoop\Index</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>EndOfInitLoop\Min</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>EndOfInitLoop\Max</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>EndOfInitLoop_1\Index</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>EndOfInitLoop_1\Min</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>EndOfInitLoop_1\Max</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>int</outParameter-type>
- <outParameter-name>Switch\Even</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list/>
- <creation-date>23/10/2003 - 17:46:20</creation-date>
- <lastmodification-date>23/10/2003 - 17:47:28</lastmodification-date>
- <editor-release>1.05</editor-release>
- <author>?</author>
- <container>?</container>
- <comment>?</comment>
- <x-position>0</x-position>
- <y-position>0</y-position> </node> </info-list>
- <node-list>
-<node>
-<component-name>?</component-name>
- <interface-name>?</interface-name>
- <node-name>IsOdd</node-name>
- <kind>3</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>IsOdd</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>a</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>a</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list>
-<PyFunction>
-<FuncName>IsOdd</FuncName>
- <PyFunc><![CDATA[?]]></PyFunc> </PyFunction> </PyFunction-list>
- <creation-date>23/10/2003 - 17:46:20</creation-date>
- <lastmodification-date>23/10/2003 - 17:46:20</lastmodification-date>
- <editor-release>1.05</editor-release>
- <author>?</author>
- <container>?</container>
- <comment>Python function</comment>
- <x-position>388</x-position>
- <y-position>50</y-position> </node>
- <node>
-<component-name>?</component-name>
- <interface-name>?</interface-name>
- <node-name>IsOdd_1</node-name>
- <kind>3</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>IsOdd_1</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>a</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>a</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list>
-<PyFunction>
-<FuncName>IsOdd</FuncName>
- <PyFunc><![CDATA[from time import * ]]></PyFunc>
- <PyFunc><![CDATA[def IsOdd(a) : ]]></PyFunc>
- <PyFunc><![CDATA[ print a,"IsOdd" ]]></PyFunc>
- <PyFunc><![CDATA[ sleep( 1 ) ]]></PyFunc>
- <PyFunc><![CDATA[ return a ]]></PyFunc> </PyFunction> </PyFunction-list>
- <creation-date>23/10/2003 - 17:46:21</creation-date>
- <lastmodification-date>23/10/2003 - 17:46:21</lastmodification-date>
- <editor-release>1.05</editor-release>
- <author>?</author>
- <container>?</container>
- <comment>Python function</comment>
- <x-position>391</x-position>
- <y-position>288</y-position> </node>
- <node>
-<component-name>?</component-name>
- <interface-name>?</interface-name>
- <node-name>InitLoop</node-name>
- <kind>4</kind>
- <coupled-node>EndOfInitLoop</coupled-node>
- <service>
-<service-name>InitLoop</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>Index</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>Min</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>Max</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>Index</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>Min</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>Max</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list>
-<PyFunction>
-<FuncName>InitLoop</FuncName>
- <PyFunc><![CDATA[def InitLoop(Index,Min,Max) : ]]></PyFunc>
- <PyFunc><![CDATA[ return Index,Min,Max ]]></PyFunc> </PyFunction>
- <PyFunction>
-<FuncName>MoreLoop</FuncName>
- <PyFunc><![CDATA[def MoreLoop(Index,Min,Max) : ]]></PyFunc>
- <PyFunc><![CDATA[ if Index <= Max : ]]></PyFunc>
- <PyFunc><![CDATA[ DoLoop = 1 ]]></PyFunc>
- <PyFunc><![CDATA[ else : ]]></PyFunc>
- <PyFunc><![CDATA[ DoLoop = 0 ]]></PyFunc>
- <PyFunc><![CDATA[ return DoLoop,Index,Min,Max ]]></PyFunc> </PyFunction>
- <PyFunction>
-<FuncName>NextLoop</FuncName>
- <PyFunc><![CDATA[def NextLoop(Index,Min,Max) : ]]></PyFunc>
- <PyFunc><![CDATA[ Index = Index + 1 ]]></PyFunc>
- <PyFunc><![CDATA[ return Index,Min,Max ]]></PyFunc> </PyFunction> </PyFunction-list>
- <creation-date>23/10/2003 - 17:46:23</creation-date>
- <lastmodification-date>23/10/2003 - 17:46:23</lastmodification-date>
- <editor-release>1.05</editor-release>
- <author>?</author>
- <container>?</container>
- <comment>?</comment>
- <x-position>10</x-position>
- <y-position>129</y-position> </node>
- <node>
-<component-name>?</component-name>
- <interface-name>?</interface-name>
- <node-name>EndOfInitLoop</node-name>
- <kind>5</kind>
- <coupled-node>InitLoop</coupled-node>
- <service>
-<service-name>EndInitLoop</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>Index</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>Min</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>Max</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>Index</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>Min</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>Max</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list>
-<PyFunction>
-<FuncName>EndInitLoop</FuncName>
- <PyFunc><![CDATA[?]]></PyFunc> </PyFunction> </PyFunction-list>
- <creation-date>23/10/2003 - 17:46:23</creation-date>
- <lastmodification-date>23/10/2003 - 17:46:23</lastmodification-date>
- <editor-release>1.05</editor-release>
- <author>?</author>
- <container>?</container>
- <comment>?</comment>
- <x-position>766</x-position>
- <y-position>127</y-position> </node>
- <node>
-<component-name>?</component-name>
- <interface-name>?</interface-name>
- <node-name>InitLoop_1</node-name>
- <kind>4</kind>
- <coupled-node>EndOfInitLoop_1</coupled-node>
- <service>
-<service-name>InitLoop_1</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>Index</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>Min</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>Max</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>Index</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>Min</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>Max</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list>
-<PyFunction>
-<FuncName>InitLoop</FuncName>
- <PyFunc><![CDATA[?]]></PyFunc> </PyFunction>
- <PyFunction>
-<FuncName>MoreLoop</FuncName>
- <PyFunc><![CDATA[?]]></PyFunc> </PyFunction>
- <PyFunction>
-<FuncName>NextLoop</FuncName>
- <PyFunc><![CDATA[?]]></PyFunc> </PyFunction> </PyFunction-list>
- <creation-date>23/10/2003 - 17:46:24</creation-date>
- <lastmodification-date>23/10/2003 - 17:46:24</lastmodification-date>
- <editor-release>1.05</editor-release>
- <author>?</author>
- <container>?</container>
- <comment>?</comment>
- <x-position>12</x-position>
- <y-position>369</y-position> </node>
- <node>
-<component-name>?</component-name>
- <interface-name>?</interface-name>
- <node-name>EndOfInitLoop_1</node-name>
- <kind>5</kind>
- <coupled-node>InitLoop_1</coupled-node>
- <service>
-<service-name>EndInitLoop</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>Index</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>Min</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>Max</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>Index</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>Min</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>Max</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list>
-<PyFunction>
-<FuncName>EndInitLoop</FuncName>
- <PyFunc><![CDATA[?]]></PyFunc> </PyFunction> </PyFunction-list>
- <creation-date>23/10/2003 - 17:46:24</creation-date>
- <lastmodification-date>23/10/2003 - 17:46:24</lastmodification-date>
- <editor-release>1.05</editor-release>
- <author>?</author>
- <container>?</container>
- <comment>?</comment>
- <x-position>784</x-position>
- <y-position>361</y-position> </node>
- <node>
-<component-name>?</component-name>
- <interface-name>?</interface-name>
- <node-name>Switch</node-name>
- <kind>6</kind>
- <coupled-node>EndOfSwitch</coupled-node>
- <service>
-<service-name>Switch</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>a</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>Odd</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>int</outParameter-type>
- <outParameter-name>Even</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>int</outParameter-type>
- <outParameter-name>a</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list>
-<PyFunction>
-<FuncName>Switch</FuncName>
- <PyFunc><![CDATA[?]]></PyFunc> </PyFunction> </PyFunction-list>
- <creation-date>23/10/2003 - 17:46:26</creation-date>
- <lastmodification-date>23/10/2003 - 17:46:26</lastmodification-date>
- <editor-release>1.05</editor-release>
- <author>?</author>
- <container>?</container>
- <comment>?</comment>
- <x-position>186</x-position>
- <y-position>130</y-position> </node>
- <node>
-<component-name>?</component-name>
- <interface-name>?</interface-name>
- <node-name>EndOfSwitch</node-name>
- <kind>7</kind>
- <coupled-node>Switch</coupled-node>
- <service>
-<service-name>EndSwitch</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>a</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>a</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list>
-<PyFunction>
-<FuncName>EndOfSwitch_1</FuncName>
- <PyFunc><![CDATA[?]]></PyFunc> </PyFunction> </PyFunction-list>
- <creation-date>23/10/2003 - 17:46:26</creation-date>
- <lastmodification-date>23/10/2003 - 17:46:26</lastmodification-date>
- <editor-release>1.05</editor-release>
- <author>?</author>
- <container>?</container>
- <comment>?</comment>
- <x-position>587</x-position>
- <y-position>126</y-position> </node>
- <node>
-<component-name>?</component-name>
- <interface-name>?</interface-name>
- <node-name>Switch_1</node-name>
- <kind>6</kind>
- <coupled-node>EndOfSwitch_1</coupled-node>
- <service>
-<service-name>Switch_1</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>a</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>Odd</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>int</outParameter-type>
- <outParameter-name>Even</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>int</outParameter-type>
- <outParameter-name>a</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list>
-<PyFunction>
-<FuncName>Switch</FuncName>
- <PyFunc><![CDATA[from time import * ]]></PyFunc>
- <PyFunc><![CDATA[def Switch(a) : ]]></PyFunc>
- <PyFunc><![CDATA[ if ( a & 1 ) == 0 : ]]></PyFunc>
- <PyFunc><![CDATA[ sleep(1) ]]></PyFunc>
- <PyFunc><![CDATA[ return a & 1,1-(a&1),a ]]></PyFunc> </PyFunction> </PyFunction-list>
- <creation-date>23/10/2003 - 17:46:27</creation-date>
- <lastmodification-date>23/10/2003 - 17:46:27</lastmodification-date>
- <editor-release>1.05</editor-release>
- <author>?</author>
- <container>?</container>
- <comment>?</comment>
- <x-position>185</x-position>
- <y-position>368</y-position> </node>
- <node>
-<component-name>?</component-name>
- <interface-name>?</interface-name>
- <node-name>EndOfSwitch_1</node-name>
- <kind>7</kind>
- <coupled-node>Switch_1</coupled-node>
- <service>
-<service-name>EndSwitch</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>a</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>a</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list>
-<PyFunction>
-<FuncName>EndOfSwitch_1</FuncName>
- <PyFunc><![CDATA[?]]></PyFunc> </PyFunction> </PyFunction-list>
- <creation-date>23/10/2003 - 17:46:27</creation-date>
- <lastmodification-date>23/10/2003 - 17:46:27</lastmodification-date>
- <editor-release>1.05</editor-release>
- <author>?</author>
- <container>?</container>
- <comment>?</comment>
- <x-position>594</x-position>
- <y-position>362</y-position> </node> </node-list>
- <link-list>
-<link>
-<fromnode-name>IsOdd</fromnode-name>
- <fromserviceparameter-name>a</fromserviceparameter-name>
- <tonode-name>EndOfSwitch</tonode-name>
- <toserviceparameter-name>a</toserviceparameter-name>
- <coord-list>
-<coord>
-<x>571</x>
- <y>160</y> </coord>
- <coord>
-<x>571</x>
- <y>129</y> </coord> </coord-list> </link>
- <link>
-<fromnode-name>IsOdd_1</fromnode-name>
- <fromserviceparameter-name>a</fromserviceparameter-name>
- <tonode-name>EndOfSwitch_1</tonode-name>
- <toserviceparameter-name>a</toserviceparameter-name>
- <coord-list>
-<coord>
-<x>580</x>
- <y>396</y> </coord>
- <coord>
-<x>580</x>
- <y>368</y> </coord> </coord-list> </link>
- <link>
-<fromnode-name>InitLoop</fromnode-name>
- <fromserviceparameter-name>DoLoop</fromserviceparameter-name>
- <tonode-name>EndOfInitLoop</tonode-name>
- <toserviceparameter-name>DoLoop</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>InitLoop</fromnode-name>
- <fromserviceparameter-name>Index</fromserviceparameter-name>
- <tonode-name>Switch</tonode-name>
- <toserviceparameter-name>a</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>InitLoop</fromnode-name>
- <fromserviceparameter-name>Min</fromserviceparameter-name>
- <tonode-name>EndOfInitLoop</tonode-name>
- <toserviceparameter-name>Min</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>InitLoop</fromnode-name>
- <fromserviceparameter-name>Max</fromserviceparameter-name>
- <tonode-name>EndOfInitLoop</tonode-name>
- <toserviceparameter-name>Max</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>EndOfInitLoop</fromnode-name>
- <fromserviceparameter-name>DoLoop</fromserviceparameter-name>
- <tonode-name>InitLoop</tonode-name>
- <toserviceparameter-name>InitLoop</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>InitLoop_1</fromnode-name>
- <fromserviceparameter-name>DoLoop</fromserviceparameter-name>
- <tonode-name>EndOfInitLoop_1</tonode-name>
- <toserviceparameter-name>DoLoop</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>InitLoop_1</fromnode-name>
- <fromserviceparameter-name>Index</fromserviceparameter-name>
- <tonode-name>Switch_1</tonode-name>
- <toserviceparameter-name>a</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>InitLoop_1</fromnode-name>
- <fromserviceparameter-name>Min</fromserviceparameter-name>
- <tonode-name>EndOfInitLoop_1</tonode-name>
- <toserviceparameter-name>Min</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>InitLoop_1</fromnode-name>
- <fromserviceparameter-name>Max</fromserviceparameter-name>
- <tonode-name>EndOfInitLoop_1</tonode-name>
- <toserviceparameter-name>Max</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>EndOfInitLoop_1</fromnode-name>
- <fromserviceparameter-name>DoLoop</fromserviceparameter-name>
- <tonode-name>InitLoop_1</tonode-name>
- <toserviceparameter-name>InitLoop</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>Switch</fromnode-name>
- <fromserviceparameter-name>Odd</fromserviceparameter-name>
- <tonode-name>IsOdd</tonode-name>
- <toserviceparameter-name>InGate</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>Switch</fromnode-name>
- <fromserviceparameter-name>a</fromserviceparameter-name>
- <tonode-name>IsOdd</tonode-name>
- <toserviceparameter-name>a</toserviceparameter-name>
- <coord-list>
-<coord>
-<x>366</x>
- <y>131</y> </coord>
- <coord>
-<x>365</x>
- <y>223</y> </coord> </coord-list> </link>
- <link>
-<fromnode-name>Switch</fromnode-name>
- <fromserviceparameter-name>Default</fromserviceparameter-name>
- <tonode-name>EndOfSwitch</tonode-name>
- <toserviceparameter-name>Default</toserviceparameter-name>
- <coord-list>
-<coord>
-<x>572</x>
- <y>194</y> </coord>
- <coord>
-<x>571</x>
- <y>257</y> </coord> </coord-list> </link>
- <link>
-<fromnode-name>EndOfSwitch</fromnode-name>
- <fromserviceparameter-name>a</fromserviceparameter-name>
- <tonode-name>EndOfInitLoop</tonode-name>
- <toserviceparameter-name>Index</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>Switch_1</fromnode-name>
- <fromserviceparameter-name>Odd</fromserviceparameter-name>
- <tonode-name>IsOdd_1</tonode-name>
- <toserviceparameter-name>InGate</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>Switch_1</fromnode-name>
- <fromserviceparameter-name>Even</fromserviceparameter-name>
- <tonode-name>EndOfSwitch_1</tonode-name>
- <toserviceparameter-name>Default</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>Switch_1</fromnode-name>
- <fromserviceparameter-name>a</fromserviceparameter-name>
- <tonode-name>IsOdd_1</tonode-name>
- <toserviceparameter-name>a</toserviceparameter-name>
- <coord-list>
-<coord>
-<x>368</x>
- <y>368</y> </coord>
- <coord>
-<x>367</x>
- <y>460</y> </coord> </coord-list> </link>
- <link>
-<fromnode-name>EndOfSwitch_1</fromnode-name>
- <fromserviceparameter-name>a</fromserviceparameter-name>
- <tonode-name>EndOfInitLoop_1</tonode-name>
- <toserviceparameter-name>Index</toserviceparameter-name>
- <coord-list/> </link> </link-list>
- <data-list>
-<data>
-<fromnode-name>GraphPyFunctions</fromnode-name>
- <fromserviceparameter-name>InitLoop\Index</fromserviceparameter-name>
- <tonode-name>InitLoop</tonode-name>
- <toserviceparameter-name>Index</toserviceparameter-name>
- <data-value>
-<value-type>3</value-type>
- <value>0</value> </data-value>
- <coord-list/> </data>
- <data>
-<fromnode-name>GraphPyFunctions</fromnode-name>
- <fromserviceparameter-name>InitLoop\Min</fromserviceparameter-name>
- <tonode-name>InitLoop</tonode-name>
- <toserviceparameter-name>Min</toserviceparameter-name>
- <data-value>
-<value-type>3</value-type>
- <value>0</value> </data-value>
- <coord-list/> </data>
- <data>
-<fromnode-name>GraphPyFunctions</fromnode-name>
- <fromserviceparameter-name>InitLoop\Max</fromserviceparameter-name>
- <tonode-name>InitLoop</tonode-name>
- <toserviceparameter-name>Max</toserviceparameter-name>
- <data-value>
-<value-type>3</value-type>
- <value>100</value> </data-value>
- <coord-list/> </data>
- <data>
-<fromnode-name>GraphPyFunctions</fromnode-name>
- <fromserviceparameter-name>InitLoop_1\Index</fromserviceparameter-name>
- <tonode-name>InitLoop_1</tonode-name>
- <toserviceparameter-name>Index</toserviceparameter-name>
- <data-value>
-<value-type>3</value-type>
- <value>0</value> </data-value>
- <coord-list/> </data>
- <data>
-<fromnode-name>GraphPyFunctions</fromnode-name>
- <fromserviceparameter-name>InitLoop_1\Min</fromserviceparameter-name>
- <tonode-name>InitLoop_1</tonode-name>
- <toserviceparameter-name>Min</toserviceparameter-name>
- <data-value>
-<value-type>3</value-type>
- <value>0</value> </data-value>
- <coord-list/> </data>
- <data>
-<fromnode-name>GraphPyFunctions</fromnode-name>
- <fromserviceparameter-name>InitLoop_1\Max</fromserviceparameter-name>
- <tonode-name>InitLoop_1</tonode-name>
- <toserviceparameter-name>Max</toserviceparameter-name>
- <data-value>
-<value-type>3</value-type>
- <value>100</value> </data-value>
- <coord-list/> </data> </data-list></dataflow>
+++ /dev/null
-# Copyright (C) 2003 CEA/DEN, EDF R&D
-#
-#
-#
-# File : GraphRunSyr.py
-# Module : SuperVisionTest
-
-from SuperV import *
-
-# Warning this script has an IOR (object reference) as Input :
-# You may have to redefine it with the result of :
-# SyrStruct.ComponentRef( 'FactoryServer' , 'SyrComponent' )
-# See the Input Port forN.InPort( 'SyrComponent' , 'ComponentRef' )
-
-#SyrStruct = Graph('../share/salome/resources/SyrStruct.xml')
-SyrStruct = Graph('/home/data/jr_HEAD/build/share/salome/resources/SyrStruct.xml')
-
-exec SyrStruct.ListNodes()
-
-forN.Input('min',5)
-forN.Input('max',8)
-
-SyrStruct.Start()
-
-endforN.State()
-
-SyrStruct.State()
-
-endforN.Suspend()
-
-forN.State()
-
-N = forN.Port( 'N' )
-EndN = endwhileNotOne.Port( 'N' )
-K = endforN.Port( 'K' )
-
-forN.Resume()
-
-while SyrStruct.IsDone() == 0 :
- endforN.SuspendedW()
- if SyrStruct.IsDone() == 0 :
- print N.ToString(),'-->',EndN.ToString(),'with',K.ToString(),'steps'
- endforN.Resume()
-
-SyrStruct.State()
-
-SyrStruct.PrintPorts()
+++ /dev/null
-
-# Generated python file of Graph GraphStream
-
-from SuperV import *
-# Graph creation
-GraphStream = StreamGraph( 'GraphStream' )
-GraphStream.SetStreamParams( 0 , SUPERV.WithoutTrace , 0 )
-GraphStream.SetName( 'GraphStream' )
-GraphStream.SetAuthor( '' )
-GraphStream.SetComment( 'Test of DataStreamPorts in FactoryNodes' )
-GraphStream.Coords( 0 , 0 )
-
-# Creation of Factory Nodes
-
-NewDataStream = GraphStream.FNode( 'DataStreamFactory' , 'DataStreamFactory' , 'NewDataStream' )
-NewDataStream.SetName( 'NewDataStream' )
-NewDataStream.SetAuthor( '' )
-NewDataStream.SetContainer( 'FactoryServer' )
-NewDataStream.SetComment( 'NewDataStream from DataStreamFactory' )
-NewDataStream.Coords( 4 , 10 )
-INewDataStreamGate = NewDataStream.GetInPort( 'Gate' )
-ONewDataStreamDataStream = NewDataStream.GetOutPort( 'DataStream' )
-ONewDataStreamGate = NewDataStream.GetOutPort( 'Gate' )
-
-Add = GraphStream.FNode( 'DataStreamFactory' , 'DataStreamFactory' , 'Add' )
-Add.SetName( 'Add' )
-Add.SetAuthor( '' )
-Add.SetContainer( 'FactoryServer' )
-Add.SetComment( 'Add from DataStreamFactory from DataStreamComponent' )
-Add.Coords( 6 , 370 )
-IAddx = Add.GetInPort( 'x' )
-IAddy = Add.GetInPort( 'y' )
-IAddGate = Add.GetInPort( 'Gate' )
-OAddz = Add.GetOutPort( 'z' )
-OAddGate = Add.GetOutPort( 'Gate' )
-IAddistream = Add.GetInStreamPort( 'istream' )
-IAddistream.SetParams( SUPERV.SCHENULL , SUPERV.INTERNULL , SUPERV.EXTRANULL )
-OAddostream = Add.GetOutStreamPort( 'ostream' )
-OAddostream.SetNumberOfValues( 0 )
-OAddOStream = Add.GetOutStreamPort( 'OStream' )
-OAddOStream.SetNumberOfValues( 0 )
-
-Sub = GraphStream.FNode( 'DataStreamFactory' , 'DataStreamFactory' , 'Sub' )
-Sub.SetName( 'Sub' )
-Sub.SetAuthor( '' )
-Sub.SetContainer( 'FactoryServer' )
-Sub.SetComment( 'Sub from DataStreamFactory from DataStreamComponent' )
-Sub.Coords( 234 , 216 )
-ISubx = Sub.GetInPort( 'x' )
-ISuby = Sub.GetInPort( 'y' )
-ISubGate = Sub.GetInPort( 'Gate' )
-OSubz = Sub.GetOutPort( 'z' )
-OSubGate = Sub.GetOutPort( 'Gate' )
-ISubistream = Sub.GetInStreamPort( 'istream' )
-ISubistream.SetParams( SUPERV.SCHENULL , SUPERV.INTERNULL , SUPERV.EXTRANULL )
-ISubIstream = Sub.GetInStreamPort( 'Istream' )
-ISubIstream.SetParams( SUPERV.SCHENULL , SUPERV.INTERNULL , SUPERV.EXTRANULL )
-
-Mul = GraphStream.FNode( 'DataStreamFactory' , 'DataStreamFactory' , 'Mul' )
-Mul.SetName( 'Mul' )
-Mul.SetAuthor( '' )
-Mul.SetContainer( 'FactoryServer' )
-Mul.SetComment( 'Mul from DataStreamFactory from DataStreamComponent' )
-Mul.Coords( 448 , 342 )
-IMulx = Mul.GetInPort( 'x' )
-IMuly = Mul.GetInPort( 'y' )
-IMulGate = Mul.GetInPort( 'Gate' )
-OMulz = Mul.GetOutPort( 'z' )
-OMulGate = Mul.GetOutPort( 'Gate' )
-
-Div = GraphStream.FNode( 'DataStreamFactory' , 'DataStreamFactory' , 'Div' )
-Div.SetName( 'Div' )
-Div.SetAuthor( '' )
-Div.SetContainer( 'FactoryServer' )
-Div.SetComment( 'Div from DataStreamFactory from DataStreamComponent' )
-Div.Coords( 678 , 214 )
-IDivx = Div.GetInPort( 'x' )
-IDivy = Div.GetInPort( 'y' )
-IDivGate = Div.GetInPort( 'Gate' )
-ODivz = Div.GetOutPort( 'z' )
-ODivGate = Div.GetOutPort( 'Gate' )
-ODivostream = Div.GetOutStreamPort( 'ostream' )
-ODivostream.SetNumberOfValues( 0 )
-
-# Creation of Computing Nodes
-StreamAdd_ServiceinParameter = []
-StreamAdd_ServiceinParameter.append( SALOME_ModuleCatalog.ServicesParameter( 'objref' , 'this' ) )
-StreamAdd_ServiceinParameter.append( SALOME_ModuleCatalog.ServicesParameter( 'long' , 'x' ) )
-StreamAdd_ServiceinParameter.append( SALOME_ModuleCatalog.ServicesParameter( 'long' , 'y' ) )
-StreamAdd_ServiceoutParameter = []
-StreamAdd_ServiceoutParameter.append( SALOME_ModuleCatalog.ServicesParameter( 'long' , 'z' ) )
-StreamAdd_ServiceinStreamParameter = []
-StreamAdd_ServiceinStreamParameter.append( SALOME_ModuleCatalog.ServicesDataStreamParameter( SALOME_ModuleCatalog.DATASTREAM_INTEGER , 'istream' , SALOME_ModuleCatalog.DATASTREAM_ITERATIVE ) )
-StreamAdd_ServiceoutStreamParameter = []
-StreamAdd_ServiceoutStreamParameter.append( SALOME_ModuleCatalog.ServicesDataStreamParameter( SALOME_ModuleCatalog.DATASTREAM_INTEGER , 'ostream' , SALOME_ModuleCatalog.DATASTREAM_ITERATIVE ) )
-StreamAdd_ServiceoutStreamParameter.append( SALOME_ModuleCatalog.ServicesDataStreamParameter( SALOME_ModuleCatalog.DATASTREAM_INTEGER , 'OStream' , SALOME_ModuleCatalog.DATASTREAM_ITERATIVE ) )
-StreamAdd_Service = SALOME_ModuleCatalog.Service( 'StreamAdd' , StreamAdd_ServiceinParameter , StreamAdd_ServiceoutParameter , StreamAdd_ServiceinStreamParameter , StreamAdd_ServiceoutStreamParameter , 0 , 0 )
-StreamAdd = GraphStream.CNode( StreamAdd_Service )
-StreamAdd.SetName( 'StreamAdd' )
-StreamAdd.SetAuthor( '' )
-StreamAdd.SetComment( 'Compute Node' )
-StreamAdd.Coords( 448 , 9 )
-IStreamAddthis = StreamAdd.GetInPort( 'this' )
-IStreamAddx = StreamAdd.GetInPort( 'x' )
-IStreamAddy = StreamAdd.GetInPort( 'y' )
-IStreamAddGate = StreamAdd.GetInPort( 'Gate' )
-OStreamAddz = StreamAdd.GetOutPort( 'z' )
-OStreamAddGate = StreamAdd.GetOutPort( 'Gate' )
-IStreamAddistream = StreamAdd.GetInStreamPort( 'istream' )
-IStreamAddistream.SetParams( SUPERV.SCHENULL , SUPERV.INTERNULL , SUPERV.EXTRANULL )
-OStreamAddostream = StreamAdd.GetOutStreamPort( 'ostream' )
-OStreamAddostream.SetNumberOfValues( 0 )
-OStreamAddOStream = StreamAdd.GetOutStreamPort( 'OStream' )
-OStreamAddOStream.SetNumberOfValues( 0 )
-
-# Creation of Links
-LNewDataStreamDataStreamStreamAddthis = GraphStream.Link( ONewDataStreamDataStream , IStreamAddthis )
-
-LAddzSuby = GraphStream.Link( OAddz , ISuby )
-LAddzSuby.AddCoord( 1 , 185 , 310 )
-LAddzSuby.AddCoord( 2 , 185 , 437 )
-
-LAddzMuly = GraphStream.Link( OAddz , IMuly )
-
-LAddostreamSubistream = GraphStream.StreamLink( OAddostream , ISubistream )
-LAddostreamSubistream.AddCoord( 1 , 199 , 343 )
-LAddostreamSubistream.AddCoord( 2 , 200 , 497 )
-
-LAddOStreamSubIstream = GraphStream.StreamLink( OAddOStream , ISubIstream )
-LAddOStreamSubIstream.AddCoord( 1 , 219 , 374 )
-LAddOStreamSubIstream.AddCoord( 2 , 218 , 529 )
-
-LSubzMulx = GraphStream.Link( OSubz , IMulx )
-LSubzMulx.AddCoord( 1 , 426 , 408 )
-LSubzMulx.AddCoord( 2 , 427 , 282 )
-
-LSubzDivx = GraphStream.Link( OSubz , IDivx )
-
-LMulzDivy = GraphStream.Link( OMulz , IDivy )
-LMulzDivy.AddCoord( 1 , 648 , 309 )
-LMulzDivy.AddCoord( 2 , 648 , 406 )
-
-# Input datas
-IAddx.Input( 3 )
-IAddy.Input( 7 )
-ISubx.Input( 1 )
-IStreamAddx.Input( 1 )
-IStreamAddy.Input( 2 )
-IAddistream.Input( 1 )
-IStreamAddistream.Input( 136159896 )
-
-# Output Ports of the graph
-#ODivz = Div.GetOutPort( 'z' )
-#OStreamAddz = StreamAdd.GetOutPort( 'z' )
-
-GraphStream.PrintPorts()
-GraphStream.IsValid()
-status = GraphStream.IsExecutable()
-if status == 0 :
- print 'Input of port IStreamAddistream is required : Ok'
-else :
- print 'Input of port IStreamAddistream is required : ERROR'
-# Following input is required :
-IStreamAddistream.Input( 1 )
-GraphStream.IsExecutable()
-
-GraphStream.Run()
-GraphStream.DoneW()
-GraphStream.PrintPorts()
-GraphStream.State()
-
-subgraphs = GraphStream.SubGraphsNumber()
-i = 1
-while i <= subgraphs :
- nodes = GraphStream.SubGraphsNodes( i )
- j = 0
- while j < len(nodes) :
- print 'SubGraph',i,nodes[j].Name()
- j = j + 1
- i = i + 1
-
-
-substreamgraphs = GraphStream.SubStreamGraphsNumber()
-i = 1
-while i <= substreamgraphs :
- nodes = GraphStream.SubStreamGraphsNodes( i )
- j = 0
- while j < len(nodes) :
- print 'SubStreamGraph',i,nodes[j].Name()
- j = j + 1
- i = i + 1
-
-GraphStream.Export('/tmp/GraphStream.xml')
-
-GraphStream = StreamGraph( '/tmp/GraphStream.xml' )
-GraphStream.Run()
-GraphStream.DoneW()
-GraphStream.PrintPorts()
-print GraphStream.State()
-
-subgraphs = GraphStream.SubGraphsNumber()
-i = 1
-while i <= subgraphs :
- nodes = GraphStream.SubGraphsNodes( i )
- j = 0
- while j < len(nodes) :
- print 'SubGraph',i,nodes[j].Name()
- j = j + 1
- i = i + 1
-
-
-substreamgraphs = GraphStream.SubStreamGraphsNumber()
-i = 1
-while i <= substreamgraphs :
- nodes = GraphStream.SubStreamGraphsNodes( i )
- j = 0
- while j < len(nodes) :
- print 'SubStreamGraph',i,nodes[j].Name()
- j = j + 1
- i = i + 1
-
+++ /dev/null
-<!DOCTYPE Dataflow>
-<dataflow>
-<info-list>
-<node>
-<component-name>?</component-name>
- <interface-name>?</interface-name>
- <node-name>GraphStream</node-name>
- <kind>9</kind>
- <streamgraph-timeout>0</streamgraph-timeout>
- <streamgraph-datastreamtrace>0</streamgraph-datastreamtrace>
- <streamgraph-deltatime>0</streamgraph-deltatime>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>GraphStream</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>Add\x</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>Add\y</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>Sub\x</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>StreamAdd\x</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>StreamAdd\y</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>Div\z</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>StreamAdd\z</outParameter-name> </outParameter> </outParameter-list> </service>
- <DataStream-list>
-<inParameter>
-<inParameter-type>1</inParameter-type>
- <inParameter-name>Add\istream</inParameter-name>
- <inParameter-dependency>2</inParameter-dependency>
- <inParameter-schema>0</inParameter-schema>
- <inParameter-interpolation>0</inParameter-interpolation>
- <inParameter-extrapolation>0</inParameter-extrapolation> </inParameter>
- <inParameter>
-<inParameter-type>1</inParameter-type>
- <inParameter-name>StreamAdd\istream</inParameter-name>
- <inParameter-dependency>2</inParameter-dependency>
- <inParameter-schema>0</inParameter-schema>
- <inParameter-interpolation>0</inParameter-interpolation>
- <inParameter-extrapolation>0</inParameter-extrapolation> </inParameter>
- <outParameter>
-<outParameter-type>1</outParameter-type>
- <outParameter-name>Div\ostream</outParameter-name>
- <outParameter-dependency>2</outParameter-dependency>
- <outParameter-values>0</outParameter-values> </outParameter>
- <outParameter>
-<outParameter-type>1</outParameter-type>
- <outParameter-name>StreamAdd\ostream</outParameter-name>
- <outParameter-dependency>2</outParameter-dependency>
- <outParameter-values>0</outParameter-values> </outParameter>
- <outParameter>
-<outParameter-type>1</outParameter-type>
- <outParameter-name>StreamAdd\OStream</outParameter-name>
- <outParameter-dependency>2</outParameter-dependency>
- <outParameter-values>0</outParameter-values> </outParameter> </DataStream-list>
- <PyFunction-list/>
- <creation-date>23/4/2004 - 17:0:10</creation-date>
- <lastmodification-date>12/5/2004 - 10:38:33</lastmodification-date>
- <editor-release>2.0</editor-release>
- <author>?</author>
- <container>?</container>
- <comment>Test of DataStreamPorts in FactoryNodes</comment>
- <x-position>0</x-position>
- <y-position>0</y-position> </node> </info-list>
- <node-list>
-<node>
-<component-name>DataStreamFactory</component-name>
- <interface-name>DataStreamFactory</interface-name>
- <node-name>NewDataStream</node-name>
- <kind>0</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>NewDataStream</service-name>
- <inParameter-list/>
- <outParameter-list>
-<outParameter>
-<outParameter-type>DataStream</outParameter-type>
- <outParameter-name>DataStream</outParameter-name> </outParameter> </outParameter-list> </service>
- <DataStream-list/>
- <PyFunction-list/>
- <creation-date>12/5/2004 - 10:38:32</creation-date>
- <lastmodification-date>12/5/2004 - 10:38:32</lastmodification-date>
- <editor-release>2.0</editor-release>
- <author>?</author>
- <container>FactoryServer</container>
- <comment>NewDataStream from DataStreamFactory</comment>
- <x-position>4</x-position>
- <y-position>10</y-position> </node>
- <node>
-<component-name>DataStreamFactory</component-name>
- <interface-name>DataStreamFactory</interface-name>
- <node-name>Add</node-name>
- <kind>0</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>Add</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>x</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>y</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>z</outParameter-name> </outParameter> </outParameter-list> </service>
- <DataStream-list>
-<inParameter>
-<inParameter-type>1</inParameter-type>
- <inParameter-name>istream</inParameter-name>
- <inParameter-dependency>2</inParameter-dependency>
- <inParameter-schema>0</inParameter-schema>
- <inParameter-interpolation>0</inParameter-interpolation>
- <inParameter-extrapolation>0</inParameter-extrapolation> </inParameter>
- <outParameter>
-<outParameter-type>1</outParameter-type>
- <outParameter-name>ostream</outParameter-name>
- <outParameter-dependency>2</outParameter-dependency>
- <outParameter-values>0</outParameter-values> </outParameter>
- <outParameter>
-<outParameter-type>1</outParameter-type>
- <outParameter-name>OStream</outParameter-name>
- <outParameter-dependency>2</outParameter-dependency>
- <outParameter-values>0</outParameter-values> </outParameter> </DataStream-list>
- <PyFunction-list/>
- <creation-date>12/5/2004 - 10:38:33</creation-date>
- <lastmodification-date>12/5/2004 - 10:38:33</lastmodification-date>
- <editor-release>2.0</editor-release>
- <author>?</author>
- <container>FactoryServer</container>
- <comment>Add from DataStreamFactory from DataStreamComponent</comment>
- <x-position>6</x-position>
- <y-position>370</y-position> </node>
- <node>
-<component-name>DataStreamFactory</component-name>
- <interface-name>DataStreamFactory</interface-name>
- <node-name>Sub</node-name>
- <kind>0</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>Sub</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>x</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>y</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>z</outParameter-name> </outParameter> </outParameter-list> </service>
- <DataStream-list>
-<inParameter>
-<inParameter-type>1</inParameter-type>
- <inParameter-name>istream</inParameter-name>
- <inParameter-dependency>2</inParameter-dependency>
- <inParameter-schema>0</inParameter-schema>
- <inParameter-interpolation>0</inParameter-interpolation>
- <inParameter-extrapolation>0</inParameter-extrapolation> </inParameter>
- <inParameter>
-<inParameter-type>1</inParameter-type>
- <inParameter-name>Istream</inParameter-name>
- <inParameter-dependency>2</inParameter-dependency>
- <inParameter-schema>0</inParameter-schema>
- <inParameter-interpolation>0</inParameter-interpolation>
- <inParameter-extrapolation>0</inParameter-extrapolation> </inParameter> </DataStream-list>
- <PyFunction-list/>
- <creation-date>12/5/2004 - 10:38:33</creation-date>
- <lastmodification-date>12/5/2004 - 10:38:33</lastmodification-date>
- <editor-release>2.0</editor-release>
- <author>?</author>
- <container>FactoryServer</container>
- <comment>Sub from DataStreamFactory from DataStreamComponent</comment>
- <x-position>234</x-position>
- <y-position>216</y-position> </node>
- <node>
-<component-name>DataStreamFactory</component-name>
- <interface-name>DataStreamFactory</interface-name>
- <node-name>Mul</node-name>
- <kind>0</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>Mul</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>x</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>y</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>z</outParameter-name> </outParameter> </outParameter-list> </service>
- <DataStream-list/>
- <PyFunction-list/>
- <creation-date>12/5/2004 - 10:38:33</creation-date>
- <lastmodification-date>12/5/2004 - 10:38:33</lastmodification-date>
- <editor-release>2.0</editor-release>
- <author>?</author>
- <container>FactoryServer</container>
- <comment>Mul from DataStreamFactory from DataStreamComponent</comment>
- <x-position>448</x-position>
- <y-position>342</y-position> </node>
- <node>
-<component-name>DataStreamFactory</component-name>
- <interface-name>DataStreamFactory</interface-name>
- <node-name>Div</node-name>
- <kind>0</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>Div</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>x</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>y</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>z</outParameter-name> </outParameter> </outParameter-list> </service>
- <DataStream-list>
-<outParameter>
-<outParameter-type>1</outParameter-type>
- <outParameter-name>ostream</outParameter-name>
- <outParameter-dependency>2</outParameter-dependency>
- <outParameter-values>0</outParameter-values> </outParameter> </DataStream-list>
- <PyFunction-list/>
- <creation-date>12/5/2004 - 10:38:33</creation-date>
- <lastmodification-date>12/5/2004 - 10:38:33</lastmodification-date>
- <editor-release>2.0</editor-release>
- <author>?</author>
- <container>FactoryServer</container>
- <comment>Div from DataStreamFactory from DataStreamComponent</comment>
- <x-position>678</x-position>
- <y-position>214</y-position> </node>
- <node>
-<component-name>?</component-name>
- <interface-name>?</interface-name>
- <node-name>StreamAdd</node-name>
- <kind>2</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>StreamAdd</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>objref</inParameter-type>
- <inParameter-name>this</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>x</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>y</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>z</outParameter-name> </outParameter> </outParameter-list> </service>
- <DataStream-list>
-<inParameter>
-<inParameter-type>1</inParameter-type>
- <inParameter-name>istream</inParameter-name>
- <inParameter-dependency>2</inParameter-dependency>
- <inParameter-schema>0</inParameter-schema>
- <inParameter-interpolation>0</inParameter-interpolation>
- <inParameter-extrapolation>0</inParameter-extrapolation> </inParameter>
- <outParameter>
-<outParameter-type>1</outParameter-type>
- <outParameter-name>ostream</outParameter-name>
- <outParameter-dependency>2</outParameter-dependency>
- <outParameter-values>0</outParameter-values> </outParameter>
- <outParameter>
-<outParameter-type>1</outParameter-type>
- <outParameter-name>OStream</outParameter-name>
- <outParameter-dependency>2</outParameter-dependency>
- <outParameter-values>0</outParameter-values> </outParameter> </DataStream-list>
- <PyFunction-list/>
- <creation-date>12/5/2004 - 10:38:33</creation-date>
- <lastmodification-date>12/5/2004 - 10:38:33</lastmodification-date>
- <editor-release>2.0</editor-release>
- <author>?</author>
- <container>?</container>
- <comment>Compute Node</comment>
- <x-position>448</x-position>
- <y-position>9</y-position> </node> </node-list>
- <link-list>
-<link>
-<fromnode-name>NewDataStream</fromnode-name>
- <fromserviceparameter-name>DataStream</fromserviceparameter-name>
- <tonode-name>StreamAdd</tonode-name>
- <toserviceparameter-name>this</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>Add</fromnode-name>
- <fromserviceparameter-name>z</fromserviceparameter-name>
- <tonode-name>Sub</tonode-name>
- <toserviceparameter-name>y</toserviceparameter-name>
- <coord-list>
-<coord>
-<x>185</x>
- <y>310</y> </coord>
- <coord>
-<x>185</x>
- <y>437</y> </coord> </coord-list> </link>
- <link>
-<fromnode-name>Add</fromnode-name>
- <fromserviceparameter-name>z</fromserviceparameter-name>
- <tonode-name>Mul</tonode-name>
- <toserviceparameter-name>y</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>Add</fromnode-name>
- <fromserviceparameter-name>ostream</fromserviceparameter-name>
- <tonode-name>Sub</tonode-name>
- <toserviceparameter-name>istream</toserviceparameter-name>
- <coord-list>
-<coord>
-<x>199</x>
- <y>343</y> </coord>
- <coord>
-<x>200</x>
- <y>497</y> </coord> </coord-list> </link>
- <link>
-<fromnode-name>Add</fromnode-name>
- <fromserviceparameter-name>OStream</fromserviceparameter-name>
- <tonode-name>Sub</tonode-name>
- <toserviceparameter-name>Istream</toserviceparameter-name>
- <coord-list>
-<coord>
-<x>219</x>
- <y>374</y> </coord>
- <coord>
-<x>218</x>
- <y>529</y> </coord> </coord-list> </link>
- <link>
-<fromnode-name>Sub</fromnode-name>
- <fromserviceparameter-name>z</fromserviceparameter-name>
- <tonode-name>Mul</tonode-name>
- <toserviceparameter-name>x</toserviceparameter-name>
- <coord-list>
-<coord>
-<x>426</x>
- <y>408</y> </coord>
- <coord>
-<x>427</x>
- <y>282</y> </coord> </coord-list> </link>
- <link>
-<fromnode-name>Sub</fromnode-name>
- <fromserviceparameter-name>z</fromserviceparameter-name>
- <tonode-name>Div</tonode-name>
- <toserviceparameter-name>x</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>Mul</fromnode-name>
- <fromserviceparameter-name>z</fromserviceparameter-name>
- <tonode-name>Div</tonode-name>
- <toserviceparameter-name>y</toserviceparameter-name>
- <coord-list>
-<coord>
-<x>648</x>
- <y>309</y> </coord>
- <coord>
-<x>648</x>
- <y>406</y> </coord> </coord-list> </link> </link-list>
- <data-list>
-<data>
-<fromnode-name>GraphStream</fromnode-name>
- <fromserviceparameter-name>Add\x</fromserviceparameter-name>
- <tonode-name>Add</tonode-name>
- <toserviceparameter-name>x</toserviceparameter-name>
- <data-value>
-<value-type>3</value-type>
- <value>3</value> </data-value>
- <coord-list/> </data>
- <data>
-<fromnode-name>GraphStream</fromnode-name>
- <fromserviceparameter-name>Add\y</fromserviceparameter-name>
- <tonode-name>Add</tonode-name>
- <toserviceparameter-name>y</toserviceparameter-name>
- <data-value>
-<value-type>3</value-type>
- <value>7</value> </data-value>
- <coord-list/> </data>
- <data>
-<fromnode-name>GraphStream</fromnode-name>
- <fromserviceparameter-name>Sub\x</fromserviceparameter-name>
- <tonode-name>Sub</tonode-name>
- <toserviceparameter-name>x</toserviceparameter-name>
- <data-value>
-<value-type>3</value-type>
- <value>1</value> </data-value>
- <coord-list/> </data>
- <data>
-<fromnode-name>GraphStream</fromnode-name>
- <fromserviceparameter-name>StreamAdd\x</fromserviceparameter-name>
- <tonode-name>StreamAdd</tonode-name>
- <toserviceparameter-name>x</toserviceparameter-name>
- <data-value>
-<value-type>3</value-type>
- <value>1</value> </data-value>
- <coord-list/> </data>
- <data>
-<fromnode-name>GraphStream</fromnode-name>
- <fromserviceparameter-name>StreamAdd\y</fromserviceparameter-name>
- <tonode-name>StreamAdd</tonode-name>
- <toserviceparameter-name>y</toserviceparameter-name>
- <data-value>
-<value-type>3</value-type>
- <value>2</value> </data-value>
- <coord-list/> </data>
- <data>
-<fromnode-name>GraphStream</fromnode-name>
- <fromserviceparameter-name>Add\istream</fromserviceparameter-name>
- <tonode-name>Add</tonode-name>
- <toserviceparameter-name>istream</toserviceparameter-name>
- <data-value>
-<value-type>3</value-type>
- <value>1</value> </data-value>
- <coord-list/> </data>
- <data>
-<fromnode-name>GraphStream</fromnode-name>
- <fromserviceparameter-name>StreamAdd\istream</fromserviceparameter-name>
- <tonode-name>StreamAdd</tonode-name>
- <toserviceparameter-name>istream</toserviceparameter-name>
- <data-value>
-<value-type>3</value-type>
- <value>136159896</value> </data-value>
- <coord-list/> </data> </data-list></dataflow>
+++ /dev/null
-
-# Generated python file of Graph GraphStreamInLines
-
-from SuperV import *
-# Graph creation
-GraphStreamInLines = StreamGraph( 'GraphStreamInLines' )
-GraphStreamInLines.SetStreamParams( 300 , SUPERV.WithoutTrace , 0 )
-GraphStreamInLines.SetName( 'GraphStreamInLines' )
-GraphStreamInLines.SetAuthor( '' )
-GraphStreamInLines.SetComment( '' )
-GraphStreamInLines.Coords( 0 , 0 )
-
-# Creation of Factory Nodes
-
-# Creation of InLine Nodes
-PyIsOdd = []
-PyIsOdd.append( 'from time import * ' )
-PyIsOdd.append( 'def IsOdd(a,Even) : ' )
-PyIsOdd.append( ' print a,"IsOdd (GraphStreamInLines1)" ' )
-PyIsOdd.append( ' sleep( 1 ) ' )
-PyIsOdd.append( ' return a ' )
-IsOdd = GraphStreamInLines.INode( 'IsOdd' , PyIsOdd )
-IsOdd.SetName( 'IsOdd' )
-IsOdd.SetAuthor( '' )
-IsOdd.SetComment( 'Python function' )
-IsOdd.Coords( 394 , 59 )
-IIsOdda = IsOdd.InPort( 'a' , 'long' )
-IIsOddEven = IsOdd.InPort( 'Even' , 'boolean' )
-IIsOddGate = IsOdd.GetInPort( 'Gate' )
-OIsOdda = IsOdd.OutPort( 'a' , 'long' )
-OIsOddGate = IsOdd.GetOutPort( 'Gate' )
-IIsOddistream = IsOdd.InStreamPort( 'istream' , SALOME_ModuleCatalog.DATASTREAM_INTEGER , SALOME_ModuleCatalog.DATASTREAM_TEMPORAL )
-IIsOddistream.SetParams( SUPERV.TI , SUPERV.L1 , SUPERV.EXTRANULL )
-OIsOddostream = IsOdd.OutStreamPort( 'ostream' , SALOME_ModuleCatalog.DATASTREAM_INTEGER , SALOME_ModuleCatalog.DATASTREAM_ITERATIVE )
-OIsOddostream.SetNumberOfValues( 0 )
-
-# Creation of Loop Nodes
-PyInitLoop = []
-PyMoreInitLoop = []
-PyMoreInitLoop.append( '' )
-PyNextInitLoop = []
-PyNextInitLoop.append( '' )
-InitLoop,EndOfInitLoop = GraphStreamInLines.LNode( '' , PyInitLoop , '' , PyMoreInitLoop , '' , PyNextInitLoop )
-EndOfInitLoop.SetName( 'EndOfInitLoop' )
-EndOfInitLoop.SetAuthor( '' )
-EndOfInitLoop.SetComment( '' )
-EndOfInitLoop.Coords( 776 , 105 )
-PyEndOfInitLoop = []
-PyEndOfInitLoop.append( 'def EndOfInitLoop( DoLoop , Index , Min , Max ) :' )
-PyEndOfInitLoop.append( ' Index = Index + 1 ' )
-PyEndOfInitLoop.append( ' if Index <= Max : ' )
-PyEndOfInitLoop.append( ' DoLoop = 1 ' )
-PyEndOfInitLoop.append( ' else : ' )
-PyEndOfInitLoop.append( ' DoLoop = 0 ' )
-PyEndOfInitLoop.append( ' return DoLoop,Index,Min,Max ' )
-EndOfInitLoop.SetPyFunction( 'EndOfInitLoop' , PyEndOfInitLoop )
-IInitLoopInitLoop = InitLoop.GetInPort( 'InitLoop' )
-IInitLoopIndex = InitLoop.InPort( 'Index' , 'long' )
-IInitLoopMin = InitLoop.InPort( 'Min' , 'long' )
-IInitLoopMax = InitLoop.InPort( 'Max' , 'long' )
-IInitLoopistream = InitLoop.InStreamPort( 'istream' , SALOME_ModuleCatalog.DATASTREAM_INTEGER , SALOME_ModuleCatalog.DATASTREAM_TEMPORAL )
-IInitLoopistream.SetParams( SUPERV.TI , SUPERV.L1 , SUPERV.EXTRANULL )
-IInitLoopGate = InitLoop.GetInPort( 'Gate' )
-OInitLoopDoLoop = InitLoop.GetOutPort( 'DoLoop' )
-OInitLoopIndex = InitLoop.GetOutPort( 'Index' )
-OInitLoopMin = InitLoop.GetOutPort( 'Min' )
-OInitLoopMax = InitLoop.GetOutPort( 'Max' )
-OInitLoopostream = InitLoop.OutStreamPort( 'ostream' , SALOME_ModuleCatalog.DATASTREAM_INTEGER , SALOME_ModuleCatalog.DATASTREAM_ITERATIVE )
-OInitLoopostream.SetNumberOfValues( 0 )
-IEndOfInitLoopDoLoop = EndOfInitLoop.GetInPort( 'DoLoop' )
-IEndOfInitLoopIndex = EndOfInitLoop.GetInPort( 'Index' )
-IEndOfInitLoopMin = EndOfInitLoop.GetInPort( 'Min' )
-IEndOfInitLoopMax = EndOfInitLoop.GetInPort( 'Max' )
-IEndOfInitLoopistream = EndOfInitLoop.InStreamPort( 'istream' , SALOME_ModuleCatalog.DATASTREAM_INTEGER , SALOME_ModuleCatalog.DATASTREAM_ITERATIVE )
-IEndOfInitLoopistream.SetParams( SUPERV.SCHENULL , SUPERV.INTERNULL , SUPERV.EXTRANULL )
-IEndOfInitLoopGate = EndOfInitLoop.GetInPort( 'Gate' )
-OEndOfInitLoopDoLoop = EndOfInitLoop.GetOutPort( 'DoLoop' )
-OEndOfInitLoopIndex = EndOfInitLoop.GetOutPort( 'Index' )
-OEndOfInitLoopMin = EndOfInitLoop.GetOutPort( 'Min' )
-OEndOfInitLoopMax = EndOfInitLoop.GetOutPort( 'Max' )
-OEndOfInitLoopostream = EndOfInitLoop.OutStreamPort( 'ostream' , SALOME_ModuleCatalog.DATASTREAM_INTEGER , SALOME_ModuleCatalog.DATASTREAM_TEMPORAL )
-OEndOfInitLoopostream.SetNumberOfValues( 0 )
-InitLoop.SetName( 'InitLoop' )
-InitLoop.SetAuthor( '' )
-InitLoop.SetComment( '' )
-InitLoop.Coords( 11 , 119 )
-IInitLoopistream = InitLoop.InStreamPort( 'istream' , SALOME_ModuleCatalog.DATASTREAM_INTEGER , SALOME_ModuleCatalog.DATASTREAM_TEMPORAL )
-IInitLoopistream.SetParams( SUPERV.TI , SUPERV.L1 , SUPERV.EXTRANULL )
-OInitLoopostream = InitLoop.OutStreamPort( 'ostream' , SALOME_ModuleCatalog.DATASTREAM_INTEGER , SALOME_ModuleCatalog.DATASTREAM_ITERATIVE )
-OInitLoopostream.SetNumberOfValues( 0 )
-
-# Creation of Switch Nodes
-PySwitch = []
-PySwitch.append( 'from time import * ' )
-PySwitch.append( 'def Switch(a) : ' )
-PySwitch.append( ' if ( a & 1 ) == 0 : ' )
-PySwitch.append( ' sleep(1) ' )
-PySwitch.append( ' return a & 1,1-(a&1),a ' )
-Switch,EndSwitch = GraphStreamInLines.SNode( 'Switch' , PySwitch )
-EndSwitch.SetName( 'EndSwitch' )
-EndSwitch.SetAuthor( '' )
-EndSwitch.SetComment( '' )
-EndSwitch.Coords( 587 , 104 )
-PyEndSwitch = []
-PyEndSwitch.append( 'def EndOfSwitch(a) : ' )
-PyEndSwitch.append( ' if ( a & 1 ) == 0 : ' )
-PyEndSwitch.append( ' sleep(1) ' )
-PyEndSwitch.append( ' return a ' )
-EndSwitch.SetPyFunction( 'EndOfSwitch' , PyEndSwitch )
-IEndSwitcha = EndSwitch.InPort( 'a' , 'long' )
-IEndSwitchistream = EndSwitch.InStreamPort( 'istream' , SALOME_ModuleCatalog.DATASTREAM_INTEGER , SALOME_ModuleCatalog.DATASTREAM_TEMPORAL )
-IEndSwitchistream.SetParams( SUPERV.TI , SUPERV.L1 , SUPERV.EXTRANULL )
-IEndSwitchDefault = EndSwitch.GetInPort( 'Default' )
-OEndSwitcha = EndSwitch.OutPort( 'a' , 'long' )
-OEndSwitchostream = EndSwitch.OutStreamPort( 'ostream' , SALOME_ModuleCatalog.DATASTREAM_INTEGER , SALOME_ModuleCatalog.DATASTREAM_TEMPORAL )
-OEndSwitchostream.SetNumberOfValues( 0 )
-OEndSwitchGate = EndSwitch.GetOutPort( 'Gate' )
-Switch.SetName( 'Switch' )
-Switch.SetAuthor( '' )
-Switch.SetComment( '' )
-Switch.Coords( 197 , 119 )
-ISwitcha = Switch.InPort( 'a' , 'long' )
-ISwitchGate = Switch.GetInPort( 'Gate' )
-OSwitchOdd = Switch.OutPort( 'Odd' , 'long' )
-OSwitchEven = Switch.OutPort( 'Even' , 'int' )
-OSwitcha = Switch.OutPort( 'a' , 'int' )
-OSwitchDefault = Switch.GetOutPort( 'Default' )
-ISwitchistream = Switch.InStreamPort( 'istream' , SALOME_ModuleCatalog.DATASTREAM_INTEGER , SALOME_ModuleCatalog.DATASTREAM_TEMPORAL )
-ISwitchistream.SetParams( SUPERV.TI , SUPERV.L1 , SUPERV.EXTRANULL )
-OSwitchostream = Switch.OutStreamPort( 'ostream' , SALOME_ModuleCatalog.DATASTREAM_INTEGER , SALOME_ModuleCatalog.DATASTREAM_ITERATIVE )
-OSwitchostream.SetNumberOfValues( 0 )
-
-# Creation of Links
-LIsOddaEndSwitcha = GraphStreamInLines.Link( OIsOdda , IEndSwitcha )
-
-LIsOddostreamInitLoopistream = GraphStreamInLines.StreamLink( OIsOddostream , IInitLoopistream )
-LIsOddostreamInitLoopistream.AddCoord( 1 , 3 , 240 )
-LIsOddostreamInitLoopistream.AddCoord( 2 , 3 , 395 )
-LIsOddostreamInitLoopistream.AddCoord( 3 , 571 , 394 )
-LIsOddostreamInitLoopistream.AddCoord( 4 , 571 , 187 )
-
-LInitLoopIndexSwitcha = GraphStreamInLines.Link( OInitLoopIndex , ISwitcha )
-
-LInitLoopMinEndOfInitLoopMin = GraphStreamInLines.Link( OInitLoopMin , IEndOfInitLoopMin )
-
-LInitLoopMaxEndOfInitLoopMax = GraphStreamInLines.Link( OInitLoopMax , IEndOfInitLoopMax )
-
-LInitLoopostreamEndSwitchistream = GraphStreamInLines.StreamLink( OInitLoopostream , IEndSwitchistream )
-LInitLoopostreamEndSwitchistream.AddCoord( 1 , 584 , 167 )
-LInitLoopostreamEndSwitchistream.AddCoord( 2 , 584 , 369 )
-LInitLoopostreamEndSwitchistream.AddCoord( 3 , 184 , 368 )
-LInitLoopostreamEndSwitchistream.AddCoord( 4 , 185 , 240 )
-
-LSwitchOddIsOddGate = GraphStreamInLines.Link( OSwitchOdd , IIsOddGate )
-LSwitchOddIsOddGate.AddCoord( 1 , 373 , 222 )
-LSwitchOddIsOddGate.AddCoord( 2 , 373 , 147 )
-
-LSwitchEvenEndSwitchDefault = GraphStreamInLines.Link( OSwitchEven , IEndSwitchDefault )
-
-LSwitchEvenIsOddEven = GraphStreamInLines.Link( OSwitchEven , IIsOddEven )
-LSwitchEvenIsOddEven.AddCoord( 1 , 363 , 154 )
-LSwitchEvenIsOddEven.AddCoord( 2 , 362 , 177 )
-
-LSwitchaIsOdda = GraphStreamInLines.Link( OSwitcha , IIsOdda )
-LSwitchaIsOdda.AddCoord( 1 , 385 , 123 )
-LSwitchaIsOdda.AddCoord( 2 , 386 , 206 )
-
-LSwitchostreamIsOddistream = GraphStreamInLines.StreamLink( OSwitchostream , IIsOddistream )
-LSwitchostreamIsOddistream.AddCoord( 1 , 360 , 185 )
-LSwitchostreamIsOddistream.AddCoord( 2 , 361 , 240 )
-
-LSwitchostreamEndOfInitLoopistream = GraphStreamInLines.StreamLink( OSwitchostream , IEndOfInitLoopistream )
-LSwitchostreamEndOfInitLoopistream.AddCoord( 1 , 775 , 226 )
-LSwitchostreamEndOfInitLoopistream.AddCoord( 2 , 775 , 261 )
-LSwitchostreamEndOfInitLoopistream.AddCoord( 3 , 361 , 261 )
-LSwitchostreamEndOfInitLoopistream.AddCoord( 4 , 361 , 240 )
-
-LEndSwitchaEndOfInitLoopIndex = GraphStreamInLines.Link( OEndSwitcha , IEndOfInitLoopIndex )
-
-LEndSwitchostreamSwitchistream = GraphStreamInLines.StreamLink( OEndSwitchostream , ISwitchistream )
-LEndSwitchostreamSwitchistream.AddCoord( 1 , 186 , 240 )
-LEndSwitchostreamSwitchistream.AddCoord( 2 , 186 , 331 )
-LEndSwitchostreamSwitchistream.AddCoord( 3 , 766 , 330 )
-LEndSwitchostreamSwitchistream.AddCoord( 4 , 766 , 167 )
-
-# Input datas
-IInitLoopIndex.Input( 0 )
-IInitLoopMin.Input( 0 )
-IInitLoopMax.Input( 100 )
-
-# Output Ports of the graph
-#OEndOfInitLoopIndex = EndOfInitLoop.GetOutPort( 'Index' )
-#OEndOfInitLoopMin = EndOfInitLoop.GetOutPort( 'Min' )
-#OEndOfInitLoopMax = EndOfInitLoop.GetOutPort( 'Max' )
-
-
-
-GraphStreamInLines.Run()
-GraphStreamInLines.DoneW()
-print GraphStreamInLines.State()
-
-GraphStreamInLines.PrintPorts()
-
-
-subgraphs = GraphStreamInLines.SubGraphsNumber()
-i = 1
-while i <= subgraphs :
- nodes = GraphStreamInLines.SubGraphsNodes( i )
- j = 0
- while j < len(nodes) :
- print 'SubGraph',i,nodes[j].Name()
- j = j + 1
- i = i + 1
-
-
-substreamgraphs = GraphStreamInLines.SubStreamGraphsNumber()
-i = 1
-while i <= substreamgraphs :
- nodes = GraphStreamInLines.SubStreamGraphsNodes( i )
- j = 0
- while j < len(nodes) :
- print 'SubStreamGraph',i,nodes[j].Name()
- j = j + 1
- i = i + 1
-
-GraphStreamInLines.Export('/tmp/GraphStreamInLines.xml')
-
-from SuperV import *
-GraphStreamInLines = StreamGraph('/tmp/GraphStreamInLines.xml')
-
-
-GraphStreamInLines.Run()
-GraphStreamInLines.DoneW()
-print GraphStreamInLines.State()
-
-subgraphs = GraphStreamInLines.SubGraphsNumber()
-i = 1
-while i <= subgraphs :
- nodes = GraphStreamInLines.SubGraphsNodes( i )
- j = 0
- while j < len(nodes) :
- print 'SubGraph',i,nodes[j].Name()
- j = j + 1
- i = i + 1
-
-
-substreamgraphs = GraphStreamInLines.SubStreamGraphsNumber()
-i = 1
-while i <= substreamgraphs :
- nodes = GraphStreamInLines.SubStreamGraphsNodes( i )
- j = 0
- while j < len(nodes) :
- print 'SubStreamGraph',i,nodes[j].Name()
- j = j + 1
- i = i + 1
-
+++ /dev/null
-<!DOCTYPE Dataflow>
-<dataflow>
-<info-list>
-<node>
-<component-name>?</component-name>
- <interface-name>?</interface-name>
- <node-name>GraphStreamInLines</node-name>
- <kind>9</kind>
- <streamgraph-timeout>300</streamgraph-timeout>
- <streamgraph-datastreamtrace>0</streamgraph-datastreamtrace>
- <streamgraph-deltatime>0</streamgraph-deltatime>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>GraphStreamInLines</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>InitLoop\Index</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>InitLoop\Min</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>InitLoop\Max</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>EndOfInitLoop\Index</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>EndOfInitLoop\Min</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>EndOfInitLoop\Max</outParameter-name> </outParameter> </outParameter-list> </service>
- <DataStream-list>
-<outParameter>
-<outParameter-type>1</outParameter-type>
- <outParameter-name>EndOfInitLoop\ostream</outParameter-name>
- <outParameter-dependency>1</outParameter-dependency>
- <outParameter-values>0</outParameter-values> </outParameter> </DataStream-list>
- <PyFunction-list/>
- <creation-date>27/4/2004 - 15:5:25</creation-date>
- <lastmodification-date>21/5/2004 - 10:45:38</lastmodification-date>
- <editor-release>2.0</editor-release>
- <author>?</author>
- <container>?</container>
- <comment>?</comment>
- <x-position>0</x-position>
- <y-position>0</y-position> </node> </info-list>
- <node-list>
-<node>
-<component-name>?</component-name>
- <interface-name>?</interface-name>
- <node-name>IsOdd</node-name>
- <kind>3</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>IsOdd</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>a</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>boolean</inParameter-type>
- <inParameter-name>Even</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>a</outParameter-name> </outParameter> </outParameter-list> </service>
- <DataStream-list>
-<inParameter>
-<inParameter-type>1</inParameter-type>
- <inParameter-name>istream</inParameter-name>
- <inParameter-dependency>1</inParameter-dependency>
- <inParameter-schema>1</inParameter-schema>
- <inParameter-interpolation>2</inParameter-interpolation>
- <inParameter-extrapolation>0</inParameter-extrapolation> </inParameter>
- <outParameter>
-<outParameter-type>1</outParameter-type>
- <outParameter-name>ostream</outParameter-name>
- <outParameter-dependency>2</outParameter-dependency>
- <outParameter-values>0</outParameter-values> </outParameter> </DataStream-list>
- <PyFunction-list>
-<PyFunction>
-<FuncName>IsOdd</FuncName>
- <PyFunc><![CDATA[from time import * ]]></PyFunc>
- <PyFunc><![CDATA[def IsOdd(a,Even) : ]]></PyFunc>
- <PyFunc><![CDATA[ print a,"IsOdd (GraphStreamInLines1)" ]]></PyFunc>
- <PyFunc><![CDATA[ sleep( 1 ) ]]></PyFunc>
- <PyFunc><![CDATA[ return a ]]></PyFunc> </PyFunction> </PyFunction-list>
- <creation-date>21/5/2004 - 10:45:38</creation-date>
- <lastmodification-date>21/5/2004 - 10:45:38</lastmodification-date>
- <editor-release>2.0</editor-release>
- <author>?</author>
- <container>?</container>
- <comment>Python function</comment>
- <x-position>394</x-position>
- <y-position>59</y-position> </node>
- <node>
-<component-name>?</component-name>
- <interface-name>?</interface-name>
- <node-name>InitLoop</node-name>
- <kind>4</kind>
- <coupled-node>EndOfInitLoop</coupled-node>
- <service>
-<service-name>InitLoop</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>Index</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>Min</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>Max</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>Index</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>Min</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>Max</outParameter-name> </outParameter> </outParameter-list> </service>
- <DataStream-list>
-<inParameter>
-<inParameter-type>1</inParameter-type>
- <inParameter-name>istream</inParameter-name>
- <inParameter-dependency>1</inParameter-dependency>
- <inParameter-schema>1</inParameter-schema>
- <inParameter-interpolation>2</inParameter-interpolation>
- <inParameter-extrapolation>0</inParameter-extrapolation> </inParameter>
- <outParameter>
-<outParameter-type>1</outParameter-type>
- <outParameter-name>ostream</outParameter-name>
- <outParameter-dependency>2</outParameter-dependency>
- <outParameter-values>0</outParameter-values> </outParameter> </DataStream-list>
- <PyFunction-list>
-<PyFunction>
-<FuncName>?</FuncName>
- <PyFunc><![CDATA[?]]></PyFunc> </PyFunction>
- <PyFunction>
-<FuncName>?</FuncName>
- <PyFunc><![CDATA[?]]></PyFunc> </PyFunction>
- <PyFunction>
-<FuncName>?</FuncName>
- <PyFunc><![CDATA[?]]></PyFunc> </PyFunction> </PyFunction-list>
- <creation-date>21/5/2004 - 10:45:38</creation-date>
- <lastmodification-date>21/5/2004 - 10:45:38</lastmodification-date>
- <editor-release>2.0</editor-release>
- <author>?</author>
- <container>?</container>
- <comment>?</comment>
- <x-position>11</x-position>
- <y-position>119</y-position> </node>
- <node>
-<component-name>?</component-name>
- <interface-name>?</interface-name>
- <node-name>EndOfInitLoop</node-name>
- <kind>5</kind>
- <coupled-node>InitLoop</coupled-node>
- <service>
-<service-name>EndOfInitLoop</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>Index</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>Min</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>Max</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>Index</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>Min</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>Max</outParameter-name> </outParameter> </outParameter-list> </service>
- <DataStream-list>
-<inParameter>
-<inParameter-type>1</inParameter-type>
- <inParameter-name>istream</inParameter-name>
- <inParameter-dependency>2</inParameter-dependency>
- <inParameter-schema>0</inParameter-schema>
- <inParameter-interpolation>0</inParameter-interpolation>
- <inParameter-extrapolation>0</inParameter-extrapolation> </inParameter>
- <outParameter>
-<outParameter-type>1</outParameter-type>
- <outParameter-name>ostream</outParameter-name>
- <outParameter-dependency>1</outParameter-dependency>
- <outParameter-values>0</outParameter-values> </outParameter> </DataStream-list>
- <PyFunction-list>
-<PyFunction>
-<FuncName>EndOfInitLoop</FuncName>
- <PyFunc><![CDATA[def EndOfInitLoop( DoLoop , Index , Min , Max ) :]]></PyFunc>
- <PyFunc><![CDATA[ Index = Index + 1 ]]></PyFunc>
- <PyFunc><![CDATA[ if Index <= Max : ]]></PyFunc>
- <PyFunc><![CDATA[ DoLoop = 1 ]]></PyFunc>
- <PyFunc><![CDATA[ else : ]]></PyFunc>
- <PyFunc><![CDATA[ DoLoop = 0 ]]></PyFunc>
- <PyFunc><![CDATA[ return DoLoop,Index,Min,Max ]]></PyFunc> </PyFunction> </PyFunction-list>
- <creation-date>21/5/2004 - 10:45:38</creation-date>
- <lastmodification-date>21/5/2004 - 10:45:38</lastmodification-date>
- <editor-release>2.0</editor-release>
- <author>?</author>
- <container>?</container>
- <comment>?</comment>
- <x-position>776</x-position>
- <y-position>105</y-position> </node>
- <node>
-<component-name>?</component-name>
- <interface-name>?</interface-name>
- <node-name>Switch</node-name>
- <kind>6</kind>
- <coupled-node>EndSwitch</coupled-node>
- <service>
-<service-name>Switch</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>a</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>Odd</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>int</outParameter-type>
- <outParameter-name>Even</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>int</outParameter-type>
- <outParameter-name>a</outParameter-name> </outParameter> </outParameter-list> </service>
- <DataStream-list>
-<inParameter>
-<inParameter-type>1</inParameter-type>
- <inParameter-name>istream</inParameter-name>
- <inParameter-dependency>1</inParameter-dependency>
- <inParameter-schema>1</inParameter-schema>
- <inParameter-interpolation>2</inParameter-interpolation>
- <inParameter-extrapolation>0</inParameter-extrapolation> </inParameter>
- <outParameter>
-<outParameter-type>1</outParameter-type>
- <outParameter-name>ostream</outParameter-name>
- <outParameter-dependency>2</outParameter-dependency>
- <outParameter-values>0</outParameter-values> </outParameter> </DataStream-list>
- <PyFunction-list>
-<PyFunction>
-<FuncName>Switch</FuncName>
- <PyFunc><![CDATA[from time import * ]]></PyFunc>
- <PyFunc><![CDATA[def Switch(a) : ]]></PyFunc>
- <PyFunc><![CDATA[ if ( a & 1 ) == 0 : ]]></PyFunc>
- <PyFunc><![CDATA[ sleep(1) ]]></PyFunc>
- <PyFunc><![CDATA[ return a & 1,1-(a&1),a ]]></PyFunc> </PyFunction> </PyFunction-list>
- <creation-date>21/5/2004 - 10:45:38</creation-date>
- <lastmodification-date>21/5/2004 - 10:45:38</lastmodification-date>
- <editor-release>2.0</editor-release>
- <author>?</author>
- <container>?</container>
- <comment>?</comment>
- <x-position>197</x-position>
- <y-position>119</y-position> </node>
- <node>
-<component-name>?</component-name>
- <interface-name>?</interface-name>
- <node-name>EndSwitch</node-name>
- <kind>7</kind>
- <coupled-node>Switch</coupled-node>
- <service>
-<service-name>EndSwitch</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>a</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>a</outParameter-name> </outParameter> </outParameter-list> </service>
- <DataStream-list>
-<inParameter>
-<inParameter-type>1</inParameter-type>
- <inParameter-name>istream</inParameter-name>
- <inParameter-dependency>1</inParameter-dependency>
- <inParameter-schema>1</inParameter-schema>
- <inParameter-interpolation>2</inParameter-interpolation>
- <inParameter-extrapolation>0</inParameter-extrapolation> </inParameter>
- <outParameter>
-<outParameter-type>1</outParameter-type>
- <outParameter-name>ostream</outParameter-name>
- <outParameter-dependency>1</outParameter-dependency>
- <outParameter-values>0</outParameter-values> </outParameter> </DataStream-list>
- <PyFunction-list>
-<PyFunction>
-<FuncName>EndOfSwitch</FuncName>
- <PyFunc><![CDATA[def EndOfSwitch(a) : ]]></PyFunc>
- <PyFunc><![CDATA[ if ( a & 1 ) == 0 : ]]></PyFunc>
- <PyFunc><![CDATA[ sleep(1) ]]></PyFunc>
- <PyFunc><![CDATA[ return a ]]></PyFunc> </PyFunction> </PyFunction-list>
- <creation-date>21/5/2004 - 10:45:38</creation-date>
- <lastmodification-date>21/5/2004 - 10:45:38</lastmodification-date>
- <editor-release>2.0</editor-release>
- <author>?</author>
- <container>?</container>
- <comment>?</comment>
- <x-position>587</x-position>
- <y-position>104</y-position> </node> </node-list>
- <link-list>
-<link>
-<fromnode-name>IsOdd</fromnode-name>
- <fromserviceparameter-name>a</fromserviceparameter-name>
- <tonode-name>EndSwitch</tonode-name>
- <toserviceparameter-name>a</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>IsOdd</fromnode-name>
- <fromserviceparameter-name>ostream</fromserviceparameter-name>
- <tonode-name>InitLoop</tonode-name>
- <toserviceparameter-name>istream</toserviceparameter-name>
- <coord-list>
-<coord>
-<x>3</x>
- <y>240</y> </coord>
- <coord>
-<x>3</x>
- <y>395</y> </coord>
- <coord>
-<x>571</x>
- <y>394</y> </coord>
- <coord>
-<x>571</x>
- <y>187</y> </coord> </coord-list> </link>
- <link>
-<fromnode-name>InitLoop</fromnode-name>
- <fromserviceparameter-name>DoLoop</fromserviceparameter-name>
- <tonode-name>EndOfInitLoop</tonode-name>
- <toserviceparameter-name>DoLoop</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>InitLoop</fromnode-name>
- <fromserviceparameter-name>Index</fromserviceparameter-name>
- <tonode-name>Switch</tonode-name>
- <toserviceparameter-name>a</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>InitLoop</fromnode-name>
- <fromserviceparameter-name>Min</fromserviceparameter-name>
- <tonode-name>EndOfInitLoop</tonode-name>
- <toserviceparameter-name>Min</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>InitLoop</fromnode-name>
- <fromserviceparameter-name>Max</fromserviceparameter-name>
- <tonode-name>EndOfInitLoop</tonode-name>
- <toserviceparameter-name>Max</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>InitLoop</fromnode-name>
- <fromserviceparameter-name>ostream</fromserviceparameter-name>
- <tonode-name>EndSwitch</tonode-name>
- <toserviceparameter-name>istream</toserviceparameter-name>
- <coord-list>
-<coord>
-<x>584</x>
- <y>167</y> </coord>
- <coord>
-<x>584</x>
- <y>369</y> </coord>
- <coord>
-<x>184</x>
- <y>368</y> </coord>
- <coord>
-<x>185</x>
- <y>240</y> </coord> </coord-list> </link>
- <link>
-<fromnode-name>EndOfInitLoop</fromnode-name>
- <fromserviceparameter-name>DoLoop</fromserviceparameter-name>
- <tonode-name>InitLoop</tonode-name>
- <toserviceparameter-name>InitLoop</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>Switch</fromnode-name>
- <fromserviceparameter-name>Odd</fromserviceparameter-name>
- <tonode-name>IsOdd</tonode-name>
- <toserviceparameter-name>Gate</toserviceparameter-name>
- <coord-list>
-<coord>
-<x>373</x>
- <y>222</y> </coord>
- <coord>
-<x>373</x>
- <y>147</y> </coord> </coord-list> </link>
- <link>
-<fromnode-name>Switch</fromnode-name>
- <fromserviceparameter-name>Even</fromserviceparameter-name>
- <tonode-name>EndSwitch</tonode-name>
- <toserviceparameter-name>Default</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>Switch</fromnode-name>
- <fromserviceparameter-name>Even</fromserviceparameter-name>
- <tonode-name>IsOdd</tonode-name>
- <toserviceparameter-name>Even</toserviceparameter-name>
- <coord-list>
-<coord>
-<x>363</x>
- <y>154</y> </coord>
- <coord>
-<x>362</x>
- <y>177</y> </coord> </coord-list> </link>
- <link>
-<fromnode-name>Switch</fromnode-name>
- <fromserviceparameter-name>a</fromserviceparameter-name>
- <tonode-name>IsOdd</tonode-name>
- <toserviceparameter-name>a</toserviceparameter-name>
- <coord-list>
-<coord>
-<x>385</x>
- <y>123</y> </coord>
- <coord>
-<x>386</x>
- <y>206</y> </coord> </coord-list> </link>
- <link>
-<fromnode-name>Switch</fromnode-name>
- <fromserviceparameter-name>ostream</fromserviceparameter-name>
- <tonode-name>IsOdd</tonode-name>
- <toserviceparameter-name>istream</toserviceparameter-name>
- <coord-list>
-<coord>
-<x>360</x>
- <y>185</y> </coord>
- <coord>
-<x>361</x>
- <y>240</y> </coord> </coord-list> </link>
- <link>
-<fromnode-name>Switch</fromnode-name>
- <fromserviceparameter-name>ostream</fromserviceparameter-name>
- <tonode-name>EndOfInitLoop</tonode-name>
- <toserviceparameter-name>istream</toserviceparameter-name>
- <coord-list>
-<coord>
-<x>775</x>
- <y>226</y> </coord>
- <coord>
-<x>775</x>
- <y>261</y> </coord>
- <coord>
-<x>361</x>
- <y>261</y> </coord>
- <coord>
-<x>361</x>
- <y>240</y> </coord> </coord-list> </link>
- <link>
-<fromnode-name>EndSwitch</fromnode-name>
- <fromserviceparameter-name>a</fromserviceparameter-name>
- <tonode-name>EndOfInitLoop</tonode-name>
- <toserviceparameter-name>Index</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>EndSwitch</fromnode-name>
- <fromserviceparameter-name>ostream</fromserviceparameter-name>
- <tonode-name>Switch</tonode-name>
- <toserviceparameter-name>istream</toserviceparameter-name>
- <coord-list>
-<coord>
-<x>186</x>
- <y>240</y> </coord>
- <coord>
-<x>186</x>
- <y>331</y> </coord>
- <coord>
-<x>766</x>
- <y>330</y> </coord>
- <coord>
-<x>766</x>
- <y>167</y> </coord> </coord-list> </link> </link-list>
- <data-list>
-<data>
-<fromnode-name>GraphStreamInLines</fromnode-name>
- <fromserviceparameter-name>InitLoop\Index</fromserviceparameter-name>
- <tonode-name>InitLoop</tonode-name>
- <toserviceparameter-name>Index</toserviceparameter-name>
- <data-value>
-<value-type>3</value-type>
- <value>0</value> </data-value>
- <coord-list/> </data>
- <data>
-<fromnode-name>GraphStreamInLines</fromnode-name>
- <fromserviceparameter-name>InitLoop\Min</fromserviceparameter-name>
- <tonode-name>InitLoop</tonode-name>
- <toserviceparameter-name>Min</toserviceparameter-name>
- <data-value>
-<value-type>3</value-type>
- <value>0</value> </data-value>
- <coord-list/> </data>
- <data>
-<fromnode-name>GraphStreamInLines</fromnode-name>
- <fromserviceparameter-name>InitLoop\Max</fromserviceparameter-name>
- <tonode-name>InitLoop</tonode-name>
- <toserviceparameter-name>Max</toserviceparameter-name>
- <data-value>
-<value-type>3</value-type>
- <value>100</value> </data-value>
- <coord-list/> </data> </data-list></dataflow>
+++ /dev/null
-DEBUT GraphStreamInLines_1
- TIMEOUT 300
- TRACE SANS
- DELTA_T 0
-
-
-# Liste des codes
-
- CODE EndOfInitLoop
- istream I IN ENTIER
- ostream T OUT ENTIER
- FIN #EndOfInitLoop
-
-
- CODE EndSwitch
- istream T IN ENTIER
- ostream T OUT ENTIER
- FIN #EndSwitch
-
-
- CODE InitLoop
- istream T IN ENTIER
- ostream I OUT ENTIER
- FIN #InitLoop
-
-
- CODE IsOdd
- istream T IN ENTIER
- ostream I OUT ENTIER
- FIN #IsOdd
-
-
- CODE Switch
- istream T IN ENTIER
- ostream I OUT ENTIER
- FIN #Switch
-
-
-
-
-# Liste des instances
-
- INSTANCE IsOdd
- CODE IsOdd
- FIN
-
- INSTANCE InitLoop
- CODE InitLoop
- FIN
-
- INSTANCE EndOfInitLoop
- CODE EndOfInitLoop
- FIN
-
- INSTANCE Switch
- CODE Switch
- FIN
-
- INSTANCE EndSwitch
- CODE EndSwitch
- FIN
-
-
-
-
-
-# Liste des liens
-
- LIEN
- IsOdd.ostream 0 => InitLoop.istream TI L1 EXTRANULL ;
- InitLoop.ostream 0 => EndSwitch.istream TI L1 EXTRANULL ;
- Switch.ostream 0 => IsOdd.istream TI L1 EXTRANULL ;
- Switch.ostream 0 => EndOfInitLoop.istream SCHENULL INTERNULL EXTRANULL ;
- EndSwitch.ostream 0 => Switch.istream TI L1 EXTRANULL ;
- FIN
-
-FIN
+++ /dev/null
-
-# Generated python file of Graph GraphStreamTopologies
-
-from SuperV import *
-# Graph creation
-GraphStreamTopologies = StreamGraph( 'GraphStreamTopologies' )
-GraphStreamTopologies.SetStreamParams( 300 , SUPERV.WithoutTrace , 0 )
-GraphStreamTopologies.SetName( 'GraphStreamTopologies' )
-GraphStreamTopologies.SetAuthor( 'JR' )
-GraphStreamTopologies.SetComment( 'Test of SubStreamGraphs of a StreamGraph' )
-GraphStreamTopologies.Coords( 0 , 0 )
-
-# Creation of Factory Nodes
-
-# Creation of InLine Nodes
-PyNode_A_1 = []
-PyNode_A_1.append( 'def Node_A_1() : ' )
-PyNode_A_1.append( ' return 1 ' )
-Node_A_1 = GraphStreamTopologies.INode( 'Node_A_1' , PyNode_A_1 )
-Node_A_1.SetName( 'Node_A_1' )
-Node_A_1.SetAuthor( '' )
-Node_A_1.SetComment( 'Python function' )
-Node_A_1.Coords( 29 , 66 )
-INode_A_1Gate = Node_A_1.GetInPort( 'Gate' )
-ONode_A_1a_1 = Node_A_1.OutPort( 'a_1' , 'long' )
-ONode_A_1Gate = Node_A_1.GetOutPort( 'Gate' )
-INode_A_1istream_A_1_1 = Node_A_1.InStreamPort( 'istream_A_1_1' , SALOME_ModuleCatalog.DATASTREAM_INTEGER , SALOME_ModuleCatalog.DATASTREAM_TEMPORAL )
-INode_A_1istream_A_1_1.SetParams( SUPERV.TI , SUPERV.L1 , SUPERV.EXTRANULL )
-INode_A_1istream_A_1_2 = Node_A_1.InStreamPort( 'istream_A_1_2' , SALOME_ModuleCatalog.DATASTREAM_INTEGER , SALOME_ModuleCatalog.DATASTREAM_TEMPORAL )
-INode_A_1istream_A_1_2.SetParams( SUPERV.TI , SUPERV.L1 , SUPERV.EXTRANULL )
-INode_A_1istream_A_1_3 = Node_A_1.InStreamPort( 'istream_A_1_3' , SALOME_ModuleCatalog.DATASTREAM_INTEGER , SALOME_ModuleCatalog.DATASTREAM_TEMPORAL )
-INode_A_1istream_A_1_3.SetParams( SUPERV.TI , SUPERV.L1 , SUPERV.EXTRANULL )
-
-PyNode_A_2 = []
-PyNode_A_2.append( 'def Node_A_2() : ' )
-PyNode_A_2.append( ' return 1 ' )
-Node_A_2 = GraphStreamTopologies.INode( 'Node_A_2' , PyNode_A_2 )
-Node_A_2.SetName( 'Node_A_2' )
-Node_A_2.SetAuthor( '' )
-Node_A_2.SetComment( 'Python function' )
-Node_A_2.Coords( 23 , 309 )
-INode_A_2Gate = Node_A_2.GetInPort( 'Gate' )
-ONode_A_2a_2 = Node_A_2.OutPort( 'a_2' , 'long' )
-ONode_A_2Gate = Node_A_2.GetOutPort( 'Gate' )
-INode_A_2istream_A_2_1 = Node_A_2.InStreamPort( 'istream_A_2_1' , SALOME_ModuleCatalog.DATASTREAM_INTEGER , SALOME_ModuleCatalog.DATASTREAM_TEMPORAL )
-INode_A_2istream_A_2_1.SetParams( SUPERV.TI , SUPERV.L1 , SUPERV.EXTRANULL )
-ONode_A_2ostream_A_2_1 = Node_A_2.OutStreamPort( 'ostream_A_2_1' , SALOME_ModuleCatalog.DATASTREAM_INTEGER , SALOME_ModuleCatalog.DATASTREAM_TEMPORAL )
-ONode_A_2ostream_A_2_1.SetNumberOfValues( 0 )
-
-PyNode_B_1 = []
-PyNode_B_1.append( 'def Node_B_1( n ) : ' )
-PyNode_B_1.append( ' return n ' )
-Node_B_1 = GraphStreamTopologies.INode( 'Node_B_1' , PyNode_B_1 )
-Node_B_1.SetName( 'Node_B_1' )
-Node_B_1.SetAuthor( '' )
-Node_B_1.SetComment( 'Python function' )
-Node_B_1.Coords( 249 , 66 )
-INode_B_1b_1 = Node_B_1.InPort( 'b_1' , 'long' )
-INode_B_1Gate = Node_B_1.GetInPort( 'Gate' )
-ONode_B_1b_1 = Node_B_1.OutPort( 'b_1' , 'long' )
-ONode_B_1Gate = Node_B_1.GetOutPort( 'Gate' )
-INode_B_1istream_B_1_1 = Node_B_1.InStreamPort( 'istream_B_1_1' , SALOME_ModuleCatalog.DATASTREAM_INTEGER , SALOME_ModuleCatalog.DATASTREAM_TEMPORAL )
-INode_B_1istream_B_1_1.SetParams( SUPERV.TI , SUPERV.L1 , SUPERV.EXTRANULL )
-
-PyNode_B_2 = []
-PyNode_B_2.append( 'def Node_B_2( n ) : ' )
-PyNode_B_2.append( ' return n ' )
-Node_B_2 = GraphStreamTopologies.INode( 'Node_B_2' , PyNode_B_2 )
-Node_B_2.SetName( 'Node_B_2' )
-Node_B_2.SetAuthor( '' )
-Node_B_2.SetComment( 'Python function' )
-Node_B_2.Coords( 245 , 308 )
-INode_B_2b_2 = Node_B_2.InPort( 'b_2' , 'long' )
-INode_B_2Gate = Node_B_2.GetInPort( 'Gate' )
-ONode_B_2b_2 = Node_B_2.OutPort( 'b_2' , 'long' )
-ONode_B_2Gate = Node_B_2.GetOutPort( 'Gate' )
-INode_B_2istream_B_2_1 = Node_B_2.InStreamPort( 'istream_B_2_1' , SALOME_ModuleCatalog.DATASTREAM_INTEGER , SALOME_ModuleCatalog.DATASTREAM_TEMPORAL )
-INode_B_2istream_B_2_1.SetParams( SUPERV.TI , SUPERV.L1 , SUPERV.EXTRANULL )
-ONode_B_2ostream_B_2_1 = Node_B_2.OutStreamPort( 'ostream_B_2_1' , SALOME_ModuleCatalog.DATASTREAM_INTEGER , SALOME_ModuleCatalog.DATASTREAM_TEMPORAL )
-ONode_B_2ostream_B_2_1.SetNumberOfValues( 0 )
-ONode_B_2ostream_B_2_2 = Node_B_2.OutStreamPort( 'ostream_B_2_2' , SALOME_ModuleCatalog.DATASTREAM_INTEGER , SALOME_ModuleCatalog.DATASTREAM_TEMPORAL )
-ONode_B_2ostream_B_2_2.SetNumberOfValues( 0 )
-
-PyNode_C_1 = []
-PyNode_C_1.append( 'def Node_C_1( n ) : ' )
-PyNode_C_1.append( ' return ' )
-Node_C_1 = GraphStreamTopologies.INode( 'Node_C_1' , PyNode_C_1 )
-Node_C_1.SetName( 'Node_C_1' )
-Node_C_1.SetAuthor( '' )
-Node_C_1.SetComment( 'Python function' )
-Node_C_1.Coords( 481 , 67 )
-INode_C_1c_1 = Node_C_1.InPort( 'c_1' , 'long' )
-INode_C_1Gate = Node_C_1.GetInPort( 'Gate' )
-ONode_C_1Gate = Node_C_1.GetOutPort( 'Gate' )
-ONode_C_1ostream_C_1_1 = Node_C_1.OutStreamPort( 'ostream_C_1_1' , SALOME_ModuleCatalog.DATASTREAM_INTEGER , SALOME_ModuleCatalog.DATASTREAM_TEMPORAL )
-ONode_C_1ostream_C_1_1.SetNumberOfValues( 0 )
-
-PyNode_C_2 = []
-PyNode_C_2.append( 'def Node_C_2( n ) : ' )
-PyNode_C_2.append( ' return n ' )
-Node_C_2 = GraphStreamTopologies.INode( 'Node_C_2' , PyNode_C_2 )
-Node_C_2.SetName( 'Node_C_2' )
-Node_C_2.SetAuthor( '' )
-Node_C_2.SetComment( 'Python function' )
-Node_C_2.Coords( 476 , 307 )
-INode_C_2c_2 = Node_C_2.InPort( 'c_2' , 'long' )
-INode_C_2Gate = Node_C_2.GetInPort( 'Gate' )
-ONode_C_2c_2 = Node_C_2.OutPort( 'c_2' , 'long' )
-ONode_C_2Gate = Node_C_2.GetOutPort( 'Gate' )
-INode_C_2istream_C_2_1 = Node_C_2.InStreamPort( 'istream_C_2_1' , SALOME_ModuleCatalog.DATASTREAM_INTEGER , SALOME_ModuleCatalog.DATASTREAM_TEMPORAL )
-INode_C_2istream_C_2_1.SetParams( SUPERV.TI , SUPERV.L1 , SUPERV.EXTRANULL )
-
-PyNode_D_1 = []
-PyNode_D_1.append( 'def Node_D_1( n ) : ' )
-PyNode_D_1.append( ' return ' )
-Node_D_1 = GraphStreamTopologies.INode( 'Node_D_1' , PyNode_D_1 )
-Node_D_1.SetName( 'Node_D_1' )
-Node_D_1.SetAuthor( '' )
-Node_D_1.SetComment( 'Python function' )
-Node_D_1.Coords( 703 , 306 )
-INode_D_1d_1 = Node_D_1.InPort( 'd_1' , 'long' )
-INode_D_1Gate = Node_D_1.GetInPort( 'Gate' )
-ONode_D_1Gate = Node_D_1.GetOutPort( 'Gate' )
-ONode_D_1ostream_D_1_1 = Node_D_1.OutStreamPort( 'ostream_D_1_1' , SALOME_ModuleCatalog.DATASTREAM_INTEGER , SALOME_ModuleCatalog.DATASTREAM_TEMPORAL )
-ONode_D_1ostream_D_1_1.SetNumberOfValues( 0 )
-
-# Creation of Links
-LNode_A_1a_1Node_B_1b_1 = GraphStreamTopologies.Link( ONode_A_1a_1 , INode_B_1b_1 )
-
-LNode_A_2a_2Node_B_2b_2 = GraphStreamTopologies.Link( ONode_A_2a_2 , INode_B_2b_2 )
-
-LNode_A_2ostream_A_2_1Node_A_1istream_A_1_1 = GraphStreamTopologies.StreamLink( ONode_A_2ostream_A_2_1 , INode_A_1istream_A_1_1 )
-LNode_A_2ostream_A_2_1Node_A_1istream_A_1_1.AddCoord( 1 , 13 , 164 )
-LNode_A_2ostream_A_2_1Node_A_1istream_A_1_1.AddCoord( 2 , 13 , 44 )
-LNode_A_2ostream_A_2_1Node_A_1istream_A_1_1.AddCoord( 3 , 207 , 44 )
-LNode_A_2ostream_A_2_1Node_A_1istream_A_1_1.AddCoord( 4 , 207 , 409 )
-
-LNode_B_1b_1Node_C_1c_1 = GraphStreamTopologies.Link( ONode_B_1b_1 , INode_C_1c_1 )
-
-LNode_B_2b_2Node_C_2c_2 = GraphStreamTopologies.Link( ONode_B_2b_2 , INode_C_2c_2 )
-
-LNode_B_2ostream_B_2_1Node_A_1istream_A_1_2 = GraphStreamTopologies.StreamLink( ONode_B_2ostream_B_2_1 , INode_A_1istream_A_1_2 )
-LNode_B_2ostream_B_2_1Node_A_1istream_A_1_2.AddCoord( 1 , 14 , 195 )
-LNode_B_2ostream_B_2_1Node_A_1istream_A_1_2.AddCoord( 2 , 13 , 299 )
-LNode_B_2ostream_B_2_1Node_A_1istream_A_1_2.AddCoord( 3 , 428 , 300 )
-LNode_B_2ostream_B_2_1Node_A_1istream_A_1_2.AddCoord( 4 , 428 , 407 )
-
-LNode_B_2ostream_B_2_2Node_A_2istream_A_2_1 = GraphStreamTopologies.StreamLink( ONode_B_2ostream_B_2_2 , INode_A_2istream_A_2_1 )
-LNode_B_2ostream_B_2_2Node_A_2istream_A_2_1.AddCoord( 1 , 12 , 406 )
-LNode_B_2ostream_B_2_2Node_A_2istream_A_2_1.AddCoord( 2 , 11 , 525 )
-LNode_B_2ostream_B_2_2Node_A_2istream_A_2_1.AddCoord( 3 , 427 , 525 )
-LNode_B_2ostream_B_2_2Node_A_2istream_A_2_1.AddCoord( 4 , 426 , 438 )
-
-LNode_C_1ostream_C_1_1Node_A_1istream_A_1_3 = GraphStreamTopologies.StreamLink( ONode_C_1ostream_C_1_1 , INode_A_1istream_A_1_3 )
-LNode_C_1ostream_C_1_1Node_A_1istream_A_1_3.AddCoord( 1 , 5 , 227 )
-LNode_C_1ostream_C_1_1Node_A_1istream_A_1_3.AddCoord( 2 , 5 , 16 )
-LNode_C_1ostream_C_1_1Node_A_1istream_A_1_3.AddCoord( 3 , 672 , 16 )
-LNode_C_1ostream_C_1_1Node_A_1istream_A_1_3.AddCoord( 4 , 671 , 166 )
-
-LNode_C_2c_2Node_D_1d_1 = GraphStreamTopologies.Link( ONode_C_2c_2 , INode_D_1d_1 )
-
-LNode_D_1ostream_D_1_1Node_C_2istream_C_2_1 = GraphStreamTopologies.StreamLink( ONode_D_1ostream_D_1_1 , INode_C_2istream_C_2_1 )
-LNode_D_1ostream_D_1_1Node_C_2istream_C_2_1.AddCoord( 1 , 453 , 406 )
-LNode_D_1ostream_D_1_1Node_C_2istream_C_2_1.AddCoord( 2 , 454 , 499 )
-LNode_D_1ostream_D_1_1Node_C_2istream_C_2_1.AddCoord( 3 , 903 , 500 )
-LNode_D_1ostream_D_1_1Node_C_2istream_C_2_1.AddCoord( 4 , 903 , 404 )
-
-LNode_D_1ostream_D_1_1Node_B_1istream_B_1_1 = GraphStreamTopologies.StreamLink( ONode_D_1ostream_D_1_1 , INode_B_1istream_B_1_1 )
-LNode_D_1ostream_D_1_1Node_B_1istream_B_1_1.AddCoord( 1 , 229 , 163 )
-LNode_D_1ostream_D_1_1Node_B_1istream_B_1_1.AddCoord( 2 , 229 , 282 )
-LNode_D_1ostream_D_1_1Node_B_1istream_B_1_1.AddCoord( 3 , 902 , 282 )
-LNode_D_1ostream_D_1_1Node_B_1istream_B_1_1.AddCoord( 4 , 903 , 404 )
-
-# Input datas
-INode_B_2istream_B_2_1.Input( 1 )
-
-# Output Ports of the graph
-
-GraphStreamTopologies.Run()
-GraphStreamTopologies.DoneW()
-GraphStreamTopologies.State()
-
-subgraphs = GraphStreamTopologies.SubGraphsNumber()
-i = 1
-while i <= subgraphs :
- nodes = GraphStreamTopologies.SubGraphsNodes( i )
- j = 0
- while j < len(nodes) :
- print 'SubGraph',i,nodes[j].Name()
- j = j + 1
- i = i + 1
-
-
-substreamgraphs = GraphStreamTopologies.SubStreamGraphsNumber()
-i = 1
-while i <= substreamgraphs :
- nodes = GraphStreamTopologies.SubStreamGraphsNodes( i )
- j = 0
- while j < len(nodes) :
- print 'SubStreamGraph',i,nodes[j].Name()
- j = j + 1
- i = i + 1
-
-
-GraphStreamTopologies.Export( '/tmp/GraphStreamTopologies.xml' )
-
-GraphStreamTopologies = StreamGraph( '/tmp/GraphStreamTopologies.xml' )
-
-GraphStreamTopologies.PrintPorts()
-
-GraphStreamTopologies.Run()
-GraphStreamTopologies.DoneW()
-GraphStreamTopologies.State()
-
-subgraphs = GraphStreamTopologies.SubGraphsNumber()
-i = 1
-while i <= subgraphs :
- nodes = GraphStreamTopologies.SubGraphsNodes( i )
- j = 0
- while j < len(nodes) :
- print 'SubGraph',i,nodes[j].Name()
- j = j + 1
- i = i + 1
-
-
-substreamgraphs = GraphStreamTopologies.SubStreamGraphsNumber()
-i = 1
-while i <= substreamgraphs :
- nodes = GraphStreamTopologies.SubStreamGraphsNodes( i )
- j = 0
- while j < len(nodes) :
- print 'SubStreamGraph',i,nodes[j].Name()
- j = j + 1
- i = i + 1
-
+++ /dev/null
-<!DOCTYPE Dataflow>
-<dataflow>
-<info-list>
-<node>
-<component-name>?</component-name>
- <interface-name>?</interface-name>
- <node-name>GraphStreamTopologies</node-name>
- <kind>9</kind>
- <streamgraph-timeout>300</streamgraph-timeout>
- <streamgraph-datastreamtrace>0</streamgraph-datastreamtrace>
- <streamgraph-deltatime>0</streamgraph-deltatime>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>GraphStreamTopologies</service-name>
- <inParameter-list/>
- <outParameter-list/> </service>
- <DataStream-list>
-<inParameter>
-<inParameter-type>1</inParameter-type>
- <inParameter-name>Node_B_2\istream_B_2_1</inParameter-name>
- <inParameter-dependency>1</inParameter-dependency>
- <inParameter-schema>1</inParameter-schema>
- <inParameter-interpolation>2</inParameter-interpolation>
- <inParameter-extrapolation>0</inParameter-extrapolation> </inParameter> </DataStream-list>
- <PyFunction-list/>
- <creation-date>4/5/2004 - 10:13:53</creation-date>
- <lastmodification-date>21/5/2004 - 9:18:58</lastmodification-date>
- <editor-release>2.0</editor-release>
- <author>JR</author>
- <container>?</container>
- <comment>Test of SubStreamGraphs of a StreamGraph</comment>
- <x-position>0</x-position>
- <y-position>0</y-position> </node> </info-list>
- <node-list>
-<node>
-<component-name>?</component-name>
- <interface-name>?</interface-name>
- <node-name>Node_A_1</node-name>
- <kind>3</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>Node_A_1</service-name>
- <inParameter-list/>
- <outParameter-list>
-<outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>a_1</outParameter-name> </outParameter> </outParameter-list> </service>
- <DataStream-list>
-<inParameter>
-<inParameter-type>1</inParameter-type>
- <inParameter-name>istream_A_1_1</inParameter-name>
- <inParameter-dependency>1</inParameter-dependency>
- <inParameter-schema>1</inParameter-schema>
- <inParameter-interpolation>2</inParameter-interpolation>
- <inParameter-extrapolation>0</inParameter-extrapolation> </inParameter>
- <inParameter>
-<inParameter-type>1</inParameter-type>
- <inParameter-name>istream_A_1_2</inParameter-name>
- <inParameter-dependency>1</inParameter-dependency>
- <inParameter-schema>1</inParameter-schema>
- <inParameter-interpolation>2</inParameter-interpolation>
- <inParameter-extrapolation>0</inParameter-extrapolation> </inParameter>
- <inParameter>
-<inParameter-type>1</inParameter-type>
- <inParameter-name>istream_A_1_3</inParameter-name>
- <inParameter-dependency>1</inParameter-dependency>
- <inParameter-schema>1</inParameter-schema>
- <inParameter-interpolation>2</inParameter-interpolation>
- <inParameter-extrapolation>0</inParameter-extrapolation> </inParameter> </DataStream-list>
- <PyFunction-list>
-<PyFunction>
-<FuncName>Node_A_1</FuncName>
- <PyFunc><![CDATA[def Node_A_1() : ]]></PyFunc>
- <PyFunc><![CDATA[ return 1 ]]></PyFunc> </PyFunction> </PyFunction-list>
- <creation-date>21/5/2004 - 9:18:58</creation-date>
- <lastmodification-date>21/5/2004 - 9:18:58</lastmodification-date>
- <editor-release>2.0</editor-release>
- <author>?</author>
- <container>?</container>
- <comment>Python function</comment>
- <x-position>29</x-position>
- <y-position>66</y-position> </node>
- <node>
-<component-name>?</component-name>
- <interface-name>?</interface-name>
- <node-name>Node_A_2</node-name>
- <kind>3</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>Node_A_2</service-name>
- <inParameter-list/>
- <outParameter-list>
-<outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>a_2</outParameter-name> </outParameter> </outParameter-list> </service>
- <DataStream-list>
-<inParameter>
-<inParameter-type>1</inParameter-type>
- <inParameter-name>istream_A_2_1</inParameter-name>
- <inParameter-dependency>1</inParameter-dependency>
- <inParameter-schema>1</inParameter-schema>
- <inParameter-interpolation>2</inParameter-interpolation>
- <inParameter-extrapolation>0</inParameter-extrapolation> </inParameter>
- <outParameter>
-<outParameter-type>1</outParameter-type>
- <outParameter-name>ostream_A_2_1</outParameter-name>
- <outParameter-dependency>1</outParameter-dependency>
- <outParameter-values>0</outParameter-values> </outParameter> </DataStream-list>
- <PyFunction-list>
-<PyFunction>
-<FuncName>Node_A_2</FuncName>
- <PyFunc><![CDATA[def Node_A_2() : ]]></PyFunc>
- <PyFunc><![CDATA[ return 1 ]]></PyFunc> </PyFunction> </PyFunction-list>
- <creation-date>21/5/2004 - 9:18:58</creation-date>
- <lastmodification-date>21/5/2004 - 9:18:58</lastmodification-date>
- <editor-release>2.0</editor-release>
- <author>?</author>
- <container>?</container>
- <comment>Python function</comment>
- <x-position>23</x-position>
- <y-position>309</y-position> </node>
- <node>
-<component-name>?</component-name>
- <interface-name>?</interface-name>
- <node-name>Node_B_1</node-name>
- <kind>3</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>Node_B_1</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>b_1</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>b_1</outParameter-name> </outParameter> </outParameter-list> </service>
- <DataStream-list>
-<inParameter>
-<inParameter-type>1</inParameter-type>
- <inParameter-name>istream_B_1_1</inParameter-name>
- <inParameter-dependency>1</inParameter-dependency>
- <inParameter-schema>1</inParameter-schema>
- <inParameter-interpolation>2</inParameter-interpolation>
- <inParameter-extrapolation>0</inParameter-extrapolation> </inParameter> </DataStream-list>
- <PyFunction-list>
-<PyFunction>
-<FuncName>Node_B_1</FuncName>
- <PyFunc><![CDATA[def Node_B_1( n ) : ]]></PyFunc>
- <PyFunc><![CDATA[ return n ]]></PyFunc> </PyFunction> </PyFunction-list>
- <creation-date>21/5/2004 - 9:18:58</creation-date>
- <lastmodification-date>21/5/2004 - 9:18:58</lastmodification-date>
- <editor-release>2.0</editor-release>
- <author>?</author>
- <container>?</container>
- <comment>Python function</comment>
- <x-position>249</x-position>
- <y-position>66</y-position> </node>
- <node>
-<component-name>?</component-name>
- <interface-name>?</interface-name>
- <node-name>Node_B_2</node-name>
- <kind>3</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>Node_B_2</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>b_2</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>b_2</outParameter-name> </outParameter> </outParameter-list> </service>
- <DataStream-list>
-<inParameter>
-<inParameter-type>1</inParameter-type>
- <inParameter-name>istream_B_2_1</inParameter-name>
- <inParameter-dependency>1</inParameter-dependency>
- <inParameter-schema>1</inParameter-schema>
- <inParameter-interpolation>2</inParameter-interpolation>
- <inParameter-extrapolation>0</inParameter-extrapolation> </inParameter>
- <outParameter>
-<outParameter-type>1</outParameter-type>
- <outParameter-name>ostream_B_2_1</outParameter-name>
- <outParameter-dependency>1</outParameter-dependency>
- <outParameter-values>0</outParameter-values> </outParameter>
- <outParameter>
-<outParameter-type>1</outParameter-type>
- <outParameter-name>ostream_B_2_2</outParameter-name>
- <outParameter-dependency>1</outParameter-dependency>
- <outParameter-values>0</outParameter-values> </outParameter> </DataStream-list>
- <PyFunction-list>
-<PyFunction>
-<FuncName>Node_B_2</FuncName>
- <PyFunc><![CDATA[def Node_B_2( n ) : ]]></PyFunc>
- <PyFunc><![CDATA[ return n ]]></PyFunc> </PyFunction> </PyFunction-list>
- <creation-date>21/5/2004 - 9:18:58</creation-date>
- <lastmodification-date>21/5/2004 - 9:18:58</lastmodification-date>
- <editor-release>2.0</editor-release>
- <author>?</author>
- <container>?</container>
- <comment>Python function</comment>
- <x-position>245</x-position>
- <y-position>308</y-position> </node>
- <node>
-<component-name>?</component-name>
- <interface-name>?</interface-name>
- <node-name>Node_C_1</node-name>
- <kind>3</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>Node_C_1</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>c_1</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list/> </service>
- <DataStream-list>
-<outParameter>
-<outParameter-type>1</outParameter-type>
- <outParameter-name>ostream_C_1_1</outParameter-name>
- <outParameter-dependency>1</outParameter-dependency>
- <outParameter-values>0</outParameter-values> </outParameter> </DataStream-list>
- <PyFunction-list>
-<PyFunction>
-<FuncName>Node_C_1</FuncName>
- <PyFunc><![CDATA[def Node_C_1( n ) : ]]></PyFunc>
- <PyFunc><![CDATA[ return ]]></PyFunc> </PyFunction> </PyFunction-list>
- <creation-date>21/5/2004 - 9:18:58</creation-date>
- <lastmodification-date>21/5/2004 - 9:18:58</lastmodification-date>
- <editor-release>2.0</editor-release>
- <author>?</author>
- <container>?</container>
- <comment>Python function</comment>
- <x-position>481</x-position>
- <y-position>67</y-position> </node>
- <node>
-<component-name>?</component-name>
- <interface-name>?</interface-name>
- <node-name>Node_C_2</node-name>
- <kind>3</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>Node_C_2</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>c_2</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>c_2</outParameter-name> </outParameter> </outParameter-list> </service>
- <DataStream-list>
-<inParameter>
-<inParameter-type>1</inParameter-type>
- <inParameter-name>istream_C_2_1</inParameter-name>
- <inParameter-dependency>1</inParameter-dependency>
- <inParameter-schema>1</inParameter-schema>
- <inParameter-interpolation>2</inParameter-interpolation>
- <inParameter-extrapolation>0</inParameter-extrapolation> </inParameter> </DataStream-list>
- <PyFunction-list>
-<PyFunction>
-<FuncName>Node_C_2</FuncName>
- <PyFunc><![CDATA[def Node_C_2( n ) : ]]></PyFunc>
- <PyFunc><![CDATA[ return n ]]></PyFunc> </PyFunction> </PyFunction-list>
- <creation-date>21/5/2004 - 9:18:58</creation-date>
- <lastmodification-date>21/5/2004 - 9:18:58</lastmodification-date>
- <editor-release>2.0</editor-release>
- <author>?</author>
- <container>?</container>
- <comment>Python function</comment>
- <x-position>476</x-position>
- <y-position>307</y-position> </node>
- <node>
-<component-name>?</component-name>
- <interface-name>?</interface-name>
- <node-name>Node_D_1</node-name>
- <kind>3</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>Node_D_1</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>d_1</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list/> </service>
- <DataStream-list>
-<outParameter>
-<outParameter-type>1</outParameter-type>
- <outParameter-name>ostream_D_1_1</outParameter-name>
- <outParameter-dependency>1</outParameter-dependency>
- <outParameter-values>0</outParameter-values> </outParameter> </DataStream-list>
- <PyFunction-list>
-<PyFunction>
-<FuncName>Node_D_1</FuncName>
- <PyFunc><![CDATA[def Node_D_1( n ) : ]]></PyFunc>
- <PyFunc><![CDATA[ return ]]></PyFunc> </PyFunction> </PyFunction-list>
- <creation-date>21/5/2004 - 9:18:58</creation-date>
- <lastmodification-date>21/5/2004 - 9:18:58</lastmodification-date>
- <editor-release>2.0</editor-release>
- <author>?</author>
- <container>?</container>
- <comment>Python function</comment>
- <x-position>703</x-position>
- <y-position>306</y-position> </node> </node-list>
- <link-list>
-<link>
-<fromnode-name>Node_A_1</fromnode-name>
- <fromserviceparameter-name>a_1</fromserviceparameter-name>
- <tonode-name>Node_B_1</tonode-name>
- <toserviceparameter-name>b_1</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>Node_A_2</fromnode-name>
- <fromserviceparameter-name>a_2</fromserviceparameter-name>
- <tonode-name>Node_B_2</tonode-name>
- <toserviceparameter-name>b_2</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>Node_A_2</fromnode-name>
- <fromserviceparameter-name>ostream_A_2_1</fromserviceparameter-name>
- <tonode-name>Node_A_1</tonode-name>
- <toserviceparameter-name>istream_A_1_1</toserviceparameter-name>
- <coord-list>
-<coord>
-<x>13</x>
- <y>164</y> </coord>
- <coord>
-<x>13</x>
- <y>44</y> </coord>
- <coord>
-<x>207</x>
- <y>44</y> </coord>
- <coord>
-<x>207</x>
- <y>409</y> </coord> </coord-list> </link>
- <link>
-<fromnode-name>Node_B_1</fromnode-name>
- <fromserviceparameter-name>b_1</fromserviceparameter-name>
- <tonode-name>Node_C_1</tonode-name>
- <toserviceparameter-name>c_1</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>Node_B_2</fromnode-name>
- <fromserviceparameter-name>b_2</fromserviceparameter-name>
- <tonode-name>Node_C_2</tonode-name>
- <toserviceparameter-name>c_2</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>Node_B_2</fromnode-name>
- <fromserviceparameter-name>ostream_B_2_1</fromserviceparameter-name>
- <tonode-name>Node_A_1</tonode-name>
- <toserviceparameter-name>istream_A_1_2</toserviceparameter-name>
- <coord-list>
-<coord>
-<x>14</x>
- <y>195</y> </coord>
- <coord>
-<x>13</x>
- <y>299</y> </coord>
- <coord>
-<x>428</x>
- <y>300</y> </coord>
- <coord>
-<x>428</x>
- <y>407</y> </coord> </coord-list> </link>
- <link>
-<fromnode-name>Node_B_2</fromnode-name>
- <fromserviceparameter-name>ostream_B_2_2</fromserviceparameter-name>
- <tonode-name>Node_A_2</tonode-name>
- <toserviceparameter-name>istream_A_2_1</toserviceparameter-name>
- <coord-list>
-<coord>
-<x>12</x>
- <y>406</y> </coord>
- <coord>
-<x>11</x>
- <y>525</y> </coord>
- <coord>
-<x>427</x>
- <y>525</y> </coord>
- <coord>
-<x>426</x>
- <y>438</y> </coord> </coord-list> </link>
- <link>
-<fromnode-name>Node_C_1</fromnode-name>
- <fromserviceparameter-name>ostream_C_1_1</fromserviceparameter-name>
- <tonode-name>Node_A_1</tonode-name>
- <toserviceparameter-name>istream_A_1_3</toserviceparameter-name>
- <coord-list>
-<coord>
-<x>5</x>
- <y>227</y> </coord>
- <coord>
-<x>5</x>
- <y>16</y> </coord>
- <coord>
-<x>672</x>
- <y>16</y> </coord>
- <coord>
-<x>671</x>
- <y>166</y> </coord> </coord-list> </link>
- <link>
-<fromnode-name>Node_C_2</fromnode-name>
- <fromserviceparameter-name>c_2</fromserviceparameter-name>
- <tonode-name>Node_D_1</tonode-name>
- <toserviceparameter-name>d_1</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>Node_D_1</fromnode-name>
- <fromserviceparameter-name>ostream_D_1_1</fromserviceparameter-name>
- <tonode-name>Node_C_2</tonode-name>
- <toserviceparameter-name>istream_C_2_1</toserviceparameter-name>
- <coord-list>
-<coord>
-<x>453</x>
- <y>406</y> </coord>
- <coord>
-<x>454</x>
- <y>499</y> </coord>
- <coord>
-<x>903</x>
- <y>500</y> </coord>
- <coord>
-<x>903</x>
- <y>404</y> </coord> </coord-list> </link>
- <link>
-<fromnode-name>Node_D_1</fromnode-name>
- <fromserviceparameter-name>ostream_D_1_1</fromserviceparameter-name>
- <tonode-name>Node_B_1</tonode-name>
- <toserviceparameter-name>istream_B_1_1</toserviceparameter-name>
- <coord-list>
-<coord>
-<x>229</x>
- <y>163</y> </coord>
- <coord>
-<x>229</x>
- <y>282</y> </coord>
- <coord>
-<x>902</x>
- <y>282</y> </coord>
- <coord>
-<x>903</x>
- <y>404</y> </coord> </coord-list> </link> </link-list>
- <data-list>
-<data>
-<fromnode-name>GraphStreamTopologies</fromnode-name>
- <fromserviceparameter-name>Node_B_2\istream_B_2_1</fromserviceparameter-name>
- <tonode-name>Node_B_2</tonode-name>
- <toserviceparameter-name>istream_B_2_1</toserviceparameter-name>
- <data-value>
-<value-type>3</value-type>
- <value>1</value> </data-value>
- <coord-list/> </data> </data-list></dataflow>
+++ /dev/null
-DEBUT GraphStreamTopologies_1
- TIMEOUT 300
- TRACE SANS
- DELTA_T 0
-
-
-# Liste des codes
-
- CODE Node_A_1
- istream_A_1_1 T IN ENTIER
- istream_A_1_2 T IN ENTIER
- istream_A_1_3 T IN ENTIER
- FIN #Node_A_1
-
-
- CODE Node_A_2
- istream_A_2_1 T IN ENTIER
- ostream_A_2_1 T OUT ENTIER
- FIN #Node_A_2
-
-
- CODE Node_B_2
- istream_B_2_1 T IN ENTIER
- ostream_B_2_1 T OUT ENTIER
- ostream_B_2_2 T OUT ENTIER
- FIN #Node_B_2
-
-
- CODE Node_C_1
- istream_B_2_1 T IN ENTIER
- ostream_C_1_1 T OUT ENTIER
- FIN #Node_C_1
-
-
-
-
-# Liste des instances
-
- INSTANCE Node_A_1
- CODE Node_A_1
- FIN
-
- INSTANCE Node_A_2
- CODE Node_A_2
- FIN
-
- INSTANCE Node_B_2
- CODE Node_B_2
- FIN
-
- INSTANCE Node_C_1
- CODE Node_C_1
- FIN
-
-
-
-
-
-# Liste des liens
-
- LIEN
- Node_A_2.ostream_A_2_1 0 => Node_A_1.istream_A_1_1 TI L1 EXTRANULL ;
- Node_B_2.ostream_B_2_1 0 => Node_A_1.istream_A_1_2 TI L1 EXTRANULL ;
- Node_B_2.ostream_B_2_2 0 => Node_A_2.istream_A_2_1 TI L1 EXTRANULL ;
- Node_C_1.ostream_C_1_1 0 => Node_A_1.istream_A_1_3 TI L1 EXTRANULL ;
- FIN
-
-FIN
+++ /dev/null
-DEBUT GraphStreamTopologies_2
- TIMEOUT 300
- TRACE SANS
- DELTA_T 0
-
-
-# Liste des codes
-
- CODE Node_B_1
- istream_B_1_1 T IN ENTIER
- ostream_A_2_1 T OUT ENTIER
- FIN #Node_B_1
-
-
- CODE Node_C_2
- istream_C_2_1 T IN ENTIER
- ostream_C_1_1 T OUT ENTIER
- FIN #Node_C_2
-
-
- CODE Node_D_1
- istream_C_2_1 T IN ENTIER
- ostream_D_1_1 T OUT ENTIER
- FIN #Node_D_1
-
-
-
-
-# Liste des instances
-
- INSTANCE Node_B_1
- CODE Node_B_1
- FIN
-
- INSTANCE Node_C_2
- CODE Node_C_2
- FIN
-
- INSTANCE Node_D_1
- CODE Node_D_1
- FIN
-
-
-
-
-
-# Liste des liens
-
- LIEN
- Node_D_1.ostream_D_1_1 0 => Node_C_2.istream_C_2_1 TI L1 EXTRANULL ;
- Node_D_1.ostream_D_1_1 0 => Node_B_1.istream_B_1_1 TI L1 EXTRANULL ;
- FIN
-
-FIN
+++ /dev/null
-
-# Generated python file of Graph GraphStreamTopology
-
-from SuperV import *
-# Graph creation
-GraphStreamTopology = StreamGraph( 'GraphStreamTopology' )
-GraphStreamTopology.SetStreamParams( 300 , SUPERV.WithoutTrace , 0 )
-GraphStreamTopology.SetName( 'GraphStreamTopology' )
-GraphStreamTopology.SetAuthor( 'JR' )
-GraphStreamTopology.SetComment( 'Test of SubStreamGraphs of a StreamGraph' )
-GraphStreamTopology.Coords( 0 , 0 )
-
-# Creation of Factory Nodes
-
-# Creation of InLine Nodes
-PyNode_A_1 = []
-PyNode_A_1.append( 'def Node_A_1() : ' )
-PyNode_A_1.append( ' return 1 ' )
-Node_A_1 = GraphStreamTopology.INode( 'Node_A_1' , PyNode_A_1 )
-Node_A_1.SetName( 'Node_A_1' )
-Node_A_1.SetAuthor( '' )
-Node_A_1.SetComment( 'Python function' )
-Node_A_1.Coords( 32 , 65 )
-INode_A_1Gate = Node_A_1.GetInPort( 'Gate' )
-ONode_A_1a_1 = Node_A_1.OutPort( 'a_1' , 'long' )
-ONode_A_1Gate = Node_A_1.GetOutPort( 'Gate' )
-INode_A_1istream_A_1_1 = Node_A_1.InStreamPort( 'istream_A_1_1' , SALOME_ModuleCatalog.DATASTREAM_INTEGER , SALOME_ModuleCatalog.DATASTREAM_TEMPORAL )
-INode_A_1istream_A_1_1.SetParams( SUPERV.TI , SUPERV.L1 , SUPERV.EXTRANULL )
-INode_A_1istream_A_1_2 = Node_A_1.InStreamPort( 'istream_A_1_2' , SALOME_ModuleCatalog.DATASTREAM_INTEGER , SALOME_ModuleCatalog.DATASTREAM_TEMPORAL )
-INode_A_1istream_A_1_2.SetParams( SUPERV.TI , SUPERV.L1 , SUPERV.EXTRANULL )
-INode_A_1istream_A_1_3 = Node_A_1.InStreamPort( 'istream_A_1_3' , SALOME_ModuleCatalog.DATASTREAM_INTEGER , SALOME_ModuleCatalog.DATASTREAM_TEMPORAL )
-INode_A_1istream_A_1_3.SetParams( SUPERV.TI , SUPERV.L1 , SUPERV.EXTRANULL )
-
-PyNode_A_2 = []
-PyNode_A_2.append( 'def Node_A_2() : ' )
-PyNode_A_2.append( ' return 1 ' )
-Node_A_2 = GraphStreamTopology.INode( 'Node_A_2' , PyNode_A_2 )
-Node_A_2.SetName( 'Node_A_2' )
-Node_A_2.SetAuthor( '' )
-Node_A_2.SetComment( 'Python function' )
-Node_A_2.Coords( 31 , 336 )
-INode_A_2Gate = Node_A_2.GetInPort( 'Gate' )
-ONode_A_2a_2 = Node_A_2.OutPort( 'a_2' , 'long' )
-ONode_A_2Gate = Node_A_2.GetOutPort( 'Gate' )
-INode_A_2istream_A_2_1 = Node_A_2.InStreamPort( 'istream_A_2_1' , SALOME_ModuleCatalog.DATASTREAM_INTEGER , SALOME_ModuleCatalog.DATASTREAM_TEMPORAL )
-INode_A_2istream_A_2_1.SetParams( SUPERV.TI , SUPERV.L1 , SUPERV.EXTRANULL )
-ONode_A_2ostream_A_2_1 = Node_A_2.OutStreamPort( 'ostream_A_2_1' , SALOME_ModuleCatalog.DATASTREAM_INTEGER , SALOME_ModuleCatalog.DATASTREAM_TEMPORAL )
-ONode_A_2ostream_A_2_1.SetNumberOfValues( 0 )
-
-PyNode_B_1 = []
-PyNode_B_1.append( 'def Node_B_1( n ) : ' )
-PyNode_B_1.append( ' return n ' )
-Node_B_1 = GraphStreamTopology.INode( 'Node_B_1' , PyNode_B_1 )
-Node_B_1.SetName( 'Node_B_1' )
-Node_B_1.SetAuthor( '' )
-Node_B_1.SetComment( 'Python function' )
-Node_B_1.Coords( 254 , 64 )
-INode_B_1b_1 = Node_B_1.InPort( 'b_1' , 'long' )
-INode_B_1Gate = Node_B_1.GetInPort( 'Gate' )
-ONode_B_1b_1 = Node_B_1.OutPort( 'b_1' , 'long' )
-ONode_B_1Gate = Node_B_1.GetOutPort( 'Gate' )
-INode_B_1istream_B_1_1 = Node_B_1.InStreamPort( 'istream_B_1_1' , SALOME_ModuleCatalog.DATASTREAM_INTEGER , SALOME_ModuleCatalog.DATASTREAM_TEMPORAL )
-INode_B_1istream_B_1_1.SetParams( SUPERV.TI , SUPERV.L1 , SUPERV.EXTRANULL )
-
-PyNode_B_2 = []
-PyNode_B_2.append( 'def Node_B_2( n ) : ' )
-PyNode_B_2.append( ' return n ' )
-Node_B_2 = GraphStreamTopology.INode( 'Node_B_2' , PyNode_B_2 )
-Node_B_2.SetName( 'Node_B_2' )
-Node_B_2.SetAuthor( '' )
-Node_B_2.SetComment( 'Python function' )
-Node_B_2.Coords( 255 , 336 )
-INode_B_2b_2 = Node_B_2.InPort( 'b_2' , 'long' )
-INode_B_2Gate = Node_B_2.GetInPort( 'Gate' )
-ONode_B_2b_2 = Node_B_2.OutPort( 'b_2' , 'long' )
-ONode_B_2Gate = Node_B_2.GetOutPort( 'Gate' )
-INode_B_2istream_B_2_1 = Node_B_2.InStreamPort( 'istream_B_2_1' , SALOME_ModuleCatalog.DATASTREAM_INTEGER , SALOME_ModuleCatalog.DATASTREAM_TEMPORAL )
-INode_B_2istream_B_2_1.SetParams( SUPERV.TI , SUPERV.L1 , SUPERV.EXTRANULL )
-ONode_B_2ostream_B_2_1 = Node_B_2.OutStreamPort( 'ostream_B_2_1' , SALOME_ModuleCatalog.DATASTREAM_INTEGER , SALOME_ModuleCatalog.DATASTREAM_TEMPORAL )
-ONode_B_2ostream_B_2_1.SetNumberOfValues( 0 )
-ONode_B_2ostream_B_2_2 = Node_B_2.OutStreamPort( 'ostream_B_2_2' , SALOME_ModuleCatalog.DATASTREAM_INTEGER , SALOME_ModuleCatalog.DATASTREAM_TEMPORAL )
-ONode_B_2ostream_B_2_2.SetNumberOfValues( 0 )
-
-PyNode_C_1 = []
-PyNode_C_1.append( 'def Node_C_1( n ) : ' )
-PyNode_C_1.append( ' return ' )
-Node_C_1 = GraphStreamTopology.INode( 'Node_C_1' , PyNode_C_1 )
-Node_C_1.SetName( 'Node_C_1' )
-Node_C_1.SetAuthor( '' )
-Node_C_1.SetComment( 'Python function' )
-Node_C_1.Coords( 478 , 63 )
-INode_C_1c_1 = Node_C_1.InPort( 'c_1' , 'long' )
-INode_C_1Gate = Node_C_1.GetInPort( 'Gate' )
-ONode_C_1Gate = Node_C_1.GetOutPort( 'Gate' )
-ONode_C_1ostream_C_1_1 = Node_C_1.OutStreamPort( 'ostream_C_1_1' , SALOME_ModuleCatalog.DATASTREAM_INTEGER , SALOME_ModuleCatalog.DATASTREAM_TEMPORAL )
-ONode_C_1ostream_C_1_1.SetNumberOfValues( 0 )
-
-PyNode_C_2 = []
-PyNode_C_2.append( 'def Node_C_2( n ) : ' )
-PyNode_C_2.append( ' return n ' )
-Node_C_2 = GraphStreamTopology.INode( 'Node_C_2' , PyNode_C_2 )
-Node_C_2.SetName( 'Node_C_2' )
-Node_C_2.SetAuthor( '' )
-Node_C_2.SetComment( 'Python function' )
-Node_C_2.Coords( 477 , 337 )
-INode_C_2c_2 = Node_C_2.InPort( 'c_2' , 'long' )
-INode_C_2Gate = Node_C_2.GetInPort( 'Gate' )
-ONode_C_2c_2 = Node_C_2.OutPort( 'c_2' , 'long' )
-ONode_C_2Gate = Node_C_2.GetOutPort( 'Gate' )
-INode_C_2istream_C_2_1 = Node_C_2.InStreamPort( 'istream_C_2_1' , SALOME_ModuleCatalog.DATASTREAM_INTEGER , SALOME_ModuleCatalog.DATASTREAM_TEMPORAL )
-INode_C_2istream_C_2_1.SetParams( SUPERV.TI , SUPERV.L1 , SUPERV.EXTRANULL )
-
-PyNode_D_1 = []
-PyNode_D_1.append( 'def Node_D_1( n ) : ' )
-PyNode_D_1.append( ' return ' )
-Node_D_1 = GraphStreamTopology.INode( 'Node_D_1' , PyNode_D_1 )
-Node_D_1.SetName( 'Node_D_1' )
-Node_D_1.SetAuthor( '' )
-Node_D_1.SetComment( 'Python function' )
-Node_D_1.Coords( 702 , 336 )
-INode_D_1d_1 = Node_D_1.InPort( 'd_1' , 'long' )
-INode_D_1Gate = Node_D_1.GetInPort( 'Gate' )
-ONode_D_1Gate = Node_D_1.GetOutPort( 'Gate' )
-ONode_D_1ostream_D_1_1 = Node_D_1.OutStreamPort( 'ostream_D_1_1' , SALOME_ModuleCatalog.DATASTREAM_INTEGER , SALOME_ModuleCatalog.DATASTREAM_TEMPORAL )
-ONode_D_1ostream_D_1_1.SetNumberOfValues( 0 )
-
-# Creation of Links
-LNode_A_1a_1Node_B_1b_1 = GraphStreamTopology.Link( ONode_A_1a_1 , INode_B_1b_1 )
-
-LNode_A_2a_2Node_B_2b_2 = GraphStreamTopology.Link( ONode_A_2a_2 , INode_B_2b_2 )
-
-LNode_A_2ostream_A_2_1Node_A_1istream_A_1_1 = GraphStreamTopology.StreamLink( ONode_A_2ostream_A_2_1 , INode_A_1istream_A_1_1 )
-LNode_A_2ostream_A_2_1Node_A_1istream_A_1_1.AddCoord( 1 , 14 , 162 )
-LNode_A_2ostream_A_2_1Node_A_1istream_A_1_1.AddCoord( 2 , 13 , 37 )
-LNode_A_2ostream_A_2_1Node_A_1istream_A_1_1.AddCoord( 3 , 211 , 36 )
-LNode_A_2ostream_A_2_1Node_A_1istream_A_1_1.AddCoord( 4 , 210 , 435 )
-
-LNode_B_1b_1Node_C_1c_1 = GraphStreamTopology.Link( ONode_B_1b_1 , INode_C_1c_1 )
-
-LNode_B_2b_2Node_C_2c_2 = GraphStreamTopology.Link( ONode_B_2b_2 , INode_C_2c_2 )
-
-LNode_B_2ostream_B_2_1Node_A_1istream_A_1_2 = GraphStreamTopology.StreamLink( ONode_B_2ostream_B_2_1 , INode_A_1istream_A_1_2 )
-LNode_B_2ostream_B_2_1Node_A_1istream_A_1_2.AddCoord( 1 , 8 , 195 )
-LNode_B_2ostream_B_2_1Node_A_1istream_A_1_2.AddCoord( 2 , 7 , 324 )
-LNode_B_2ostream_B_2_1Node_A_1istream_A_1_2.AddCoord( 3 , 443 , 323 )
-LNode_B_2ostream_B_2_1Node_A_1istream_A_1_2.AddCoord( 4 , 442 , 434 )
-
-LNode_B_2ostream_B_2_2Node_A_2istream_A_2_1 = GraphStreamTopology.StreamLink( ONode_B_2ostream_B_2_2 , INode_A_2istream_A_2_1 )
-LNode_B_2ostream_B_2_2Node_A_2istream_A_2_1.AddCoord( 1 , 16 , 433 )
-LNode_B_2ostream_B_2_2Node_A_2istream_A_2_1.AddCoord( 2 , 15 , 583 )
-LNode_B_2ostream_B_2_2Node_A_2istream_A_2_1.AddCoord( 3 , 434 , 584 )
-LNode_B_2ostream_B_2_2Node_A_2istream_A_2_1.AddCoord( 4 , 434 , 467 )
-
-LNode_C_1ostream_C_1_1Node_A_1istream_A_1_3 = GraphStreamTopology.StreamLink( ONode_C_1ostream_C_1_1 , INode_A_1istream_A_1_3 )
-LNode_C_1ostream_C_1_1Node_A_1istream_A_1_3.AddCoord( 1 , 21 , 226 )
-LNode_C_1ostream_C_1_1Node_A_1istream_A_1_3.AddCoord( 2 , 20 , 296 )
-LNode_C_1ostream_C_1_1Node_A_1istream_A_1_3.AddCoord( 3 , 663 , 295 )
-LNode_C_1ostream_C_1_1Node_A_1istream_A_1_3.AddCoord( 4 , 662 , 161 )
-
-LNode_C_2c_2Node_D_1d_1 = GraphStreamTopology.Link( ONode_C_2c_2 , INode_D_1d_1 )
-
-LNode_D_1ostream_D_1_1Node_B_2istream_B_2_1 = GraphStreamTopology.StreamLink( ONode_D_1ostream_D_1_1 , INode_B_2istream_B_2_1 )
-LNode_D_1ostream_D_1_1Node_B_2istream_B_2_1.AddCoord( 1 , 232 , 433 )
-LNode_D_1ostream_D_1_1Node_B_2istream_B_2_1.AddCoord( 2 , 231 , 553 )
-LNode_D_1ostream_D_1_1Node_B_2istream_B_2_1.AddCoord( 3 , 903 , 553 )
-LNode_D_1ostream_D_1_1Node_B_2istream_B_2_1.AddCoord( 4 , 902 , 434 )
-
-LNode_D_1ostream_D_1_1Node_C_2istream_C_2_1 = GraphStreamTopology.StreamLink( ONode_D_1ostream_D_1_1 , INode_C_2istream_C_2_1 )
-LNode_D_1ostream_D_1_1Node_C_2istream_C_2_1.AddCoord( 1 , 461 , 434 )
-LNode_D_1ostream_D_1_1Node_C_2istream_C_2_1.AddCoord( 2 , 461 , 524 )
-LNode_D_1ostream_D_1_1Node_C_2istream_C_2_1.AddCoord( 3 , 889 , 525 )
-LNode_D_1ostream_D_1_1Node_C_2istream_C_2_1.AddCoord( 4 , 888 , 434 )
-
-LNode_D_1ostream_D_1_1Node_B_1istream_B_1_1 = GraphStreamTopology.StreamLink( ONode_D_1ostream_D_1_1 , INode_B_1istream_B_1_1 )
-LNode_D_1ostream_D_1_1Node_B_1istream_B_1_1.AddCoord( 1 , 236 , 162 )
-LNode_D_1ostream_D_1_1Node_B_1istream_B_1_1.AddCoord( 2 , 236 , 249 )
-LNode_D_1ostream_D_1_1Node_B_1istream_B_1_1.AddCoord( 3 , 887 , 249 )
-LNode_D_1ostream_D_1_1Node_B_1istream_B_1_1.AddCoord( 4 , 888 , 432 )
-
-# Output Ports of the graph
-
-
-
-
-GraphStreamTopology.Run()
-GraphStreamTopology.DoneW()
-print GraphStreamTopology.State()
-
-GraphStreamTopology.PrintPorts()
-
-subgraphs = GraphStreamTopology.SubGraphsNumber()
-i = 1
-while i <= subgraphs :
- nodes = GraphStreamTopology.SubGraphsNodes( i )
- j = 0
- while j < len(nodes) :
- print 'SubGraph',i,nodes[j].Name()
- j = j + 1
- i = i + 1
-
-
-substreamgraphs = GraphStreamTopology.SubStreamGraphsNumber()
-i = 1
-while i <= substreamgraphs :
- nodes = GraphStreamTopology.SubStreamGraphsNodes( i )
- j = 0
- while j < len(nodes) :
- print 'SubStreamGraph',i,nodes[j].Name()
- j = j + 1
- i = i + 1
-
-
-
-GraphStreamTopology.Export( '/tmp/GraphStreamTopology.xml' )
-
-GraphStreamTopology = StreamGraph( '/tmp/GraphStreamTopology.xml' )
-
-GraphStreamTopology.PrintPorts()
-
-GraphStreamTopology.Run()
-GraphStreamTopology.DoneW()
-GraphStreamTopology.State()
-
-subgraphs = GraphStreamTopology.SubGraphsNumber()
-i = 1
-while i <= subgraphs :
- nodes = GraphStreamTopology.SubGraphsNodes( i )
- j = 0
- while j < len(nodes) :
- print 'SubGraph',i,nodes[j].Name()
- j = j + 1
- i = i + 1
-
-
-substreamgraphs = GraphStreamTopology.SubStreamGraphsNumber()
-i = 1
-while i <= substreamgraphs :
- nodes = GraphStreamTopology.SubStreamGraphsNodes( i )
- j = 0
- while j < len(nodes) :
- print 'SubStreamGraph',i,nodes[j].Name()
- j = j + 1
- i = i + 1
-
+++ /dev/null
-<!DOCTYPE Dataflow>
-<dataflow>
-<info-list>
-<node>
-<component-name>?</component-name>
- <interface-name>?</interface-name>
- <node-name>GraphStreamTopology</node-name>
- <kind>9</kind>
- <streamgraph-timeout>300</streamgraph-timeout>
- <streamgraph-datastreamtrace>0</streamgraph-datastreamtrace>
- <streamgraph-deltatime>0</streamgraph-deltatime>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>GraphStreamTopology</service-name>
- <inParameter-list/>
- <outParameter-list/> </service>
- <DataStream-list/>
- <PyFunction-list/>
- <creation-date>4/5/2004 - 10:4:18</creation-date>
- <lastmodification-date>21/5/2004 - 10:17:39</lastmodification-date>
- <editor-release>2.0</editor-release>
- <author>JR</author>
- <container>?</container>
- <comment>Test of SubStreamGraphs of a StreamGraph</comment>
- <x-position>0</x-position>
- <y-position>0</y-position> </node> </info-list>
- <node-list>
-<node>
-<component-name>?</component-name>
- <interface-name>?</interface-name>
- <node-name>Node_A_1</node-name>
- <kind>3</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>Node_A_1</service-name>
- <inParameter-list/>
- <outParameter-list>
-<outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>a_1</outParameter-name> </outParameter> </outParameter-list> </service>
- <DataStream-list>
-<inParameter>
-<inParameter-type>1</inParameter-type>
- <inParameter-name>istream_A_1_1</inParameter-name>
- <inParameter-dependency>1</inParameter-dependency>
- <inParameter-schema>1</inParameter-schema>
- <inParameter-interpolation>2</inParameter-interpolation>
- <inParameter-extrapolation>0</inParameter-extrapolation> </inParameter>
- <inParameter>
-<inParameter-type>1</inParameter-type>
- <inParameter-name>istream_A_1_2</inParameter-name>
- <inParameter-dependency>1</inParameter-dependency>
- <inParameter-schema>1</inParameter-schema>
- <inParameter-interpolation>2</inParameter-interpolation>
- <inParameter-extrapolation>0</inParameter-extrapolation> </inParameter>
- <inParameter>
-<inParameter-type>1</inParameter-type>
- <inParameter-name>istream_A_1_3</inParameter-name>
- <inParameter-dependency>1</inParameter-dependency>
- <inParameter-schema>1</inParameter-schema>
- <inParameter-interpolation>2</inParameter-interpolation>
- <inParameter-extrapolation>0</inParameter-extrapolation> </inParameter> </DataStream-list>
- <PyFunction-list>
-<PyFunction>
-<FuncName>Node_A_1</FuncName>
- <PyFunc><![CDATA[def Node_A_1() : ]]></PyFunc>
- <PyFunc><![CDATA[ return 1 ]]></PyFunc> </PyFunction> </PyFunction-list>
- <creation-date>21/5/2004 - 10:17:39</creation-date>
- <lastmodification-date>21/5/2004 - 10:17:39</lastmodification-date>
- <editor-release>2.0</editor-release>
- <author>?</author>
- <container>?</container>
- <comment>Python function</comment>
- <x-position>32</x-position>
- <y-position>65</y-position> </node>
- <node>
-<component-name>?</component-name>
- <interface-name>?</interface-name>
- <node-name>Node_A_2</node-name>
- <kind>3</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>Node_A_2</service-name>
- <inParameter-list/>
- <outParameter-list>
-<outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>a_2</outParameter-name> </outParameter> </outParameter-list> </service>
- <DataStream-list>
-<inParameter>
-<inParameter-type>1</inParameter-type>
- <inParameter-name>istream_A_2_1</inParameter-name>
- <inParameter-dependency>1</inParameter-dependency>
- <inParameter-schema>1</inParameter-schema>
- <inParameter-interpolation>2</inParameter-interpolation>
- <inParameter-extrapolation>0</inParameter-extrapolation> </inParameter>
- <outParameter>
-<outParameter-type>1</outParameter-type>
- <outParameter-name>ostream_A_2_1</outParameter-name>
- <outParameter-dependency>1</outParameter-dependency>
- <outParameter-values>0</outParameter-values> </outParameter> </DataStream-list>
- <PyFunction-list>
-<PyFunction>
-<FuncName>Node_A_2</FuncName>
- <PyFunc><![CDATA[def Node_A_2() : ]]></PyFunc>
- <PyFunc><![CDATA[ return 1 ]]></PyFunc> </PyFunction> </PyFunction-list>
- <creation-date>21/5/2004 - 10:17:39</creation-date>
- <lastmodification-date>21/5/2004 - 10:17:39</lastmodification-date>
- <editor-release>2.0</editor-release>
- <author>?</author>
- <container>?</container>
- <comment>Python function</comment>
- <x-position>31</x-position>
- <y-position>336</y-position> </node>
- <node>
-<component-name>?</component-name>
- <interface-name>?</interface-name>
- <node-name>Node_B_1</node-name>
- <kind>3</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>Node_B_1</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>b_1</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>b_1</outParameter-name> </outParameter> </outParameter-list> </service>
- <DataStream-list>
-<inParameter>
-<inParameter-type>1</inParameter-type>
- <inParameter-name>istream_B_1_1</inParameter-name>
- <inParameter-dependency>1</inParameter-dependency>
- <inParameter-schema>1</inParameter-schema>
- <inParameter-interpolation>2</inParameter-interpolation>
- <inParameter-extrapolation>0</inParameter-extrapolation> </inParameter> </DataStream-list>
- <PyFunction-list>
-<PyFunction>
-<FuncName>Node_B_1</FuncName>
- <PyFunc><![CDATA[def Node_B_1( n ) : ]]></PyFunc>
- <PyFunc><![CDATA[ return n ]]></PyFunc> </PyFunction> </PyFunction-list>
- <creation-date>21/5/2004 - 10:17:39</creation-date>
- <lastmodification-date>21/5/2004 - 10:17:39</lastmodification-date>
- <editor-release>2.0</editor-release>
- <author>?</author>
- <container>?</container>
- <comment>Python function</comment>
- <x-position>254</x-position>
- <y-position>64</y-position> </node>
- <node>
-<component-name>?</component-name>
- <interface-name>?</interface-name>
- <node-name>Node_B_2</node-name>
- <kind>3</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>Node_B_2</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>b_2</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>b_2</outParameter-name> </outParameter> </outParameter-list> </service>
- <DataStream-list>
-<inParameter>
-<inParameter-type>1</inParameter-type>
- <inParameter-name>istream_B_2_1</inParameter-name>
- <inParameter-dependency>1</inParameter-dependency>
- <inParameter-schema>1</inParameter-schema>
- <inParameter-interpolation>2</inParameter-interpolation>
- <inParameter-extrapolation>0</inParameter-extrapolation> </inParameter>
- <outParameter>
-<outParameter-type>1</outParameter-type>
- <outParameter-name>ostream_B_2_1</outParameter-name>
- <outParameter-dependency>1</outParameter-dependency>
- <outParameter-values>0</outParameter-values> </outParameter>
- <outParameter>
-<outParameter-type>1</outParameter-type>
- <outParameter-name>ostream_B_2_2</outParameter-name>
- <outParameter-dependency>1</outParameter-dependency>
- <outParameter-values>0</outParameter-values> </outParameter> </DataStream-list>
- <PyFunction-list>
-<PyFunction>
-<FuncName>Node_B_2</FuncName>
- <PyFunc><![CDATA[def Node_B_2( n ) : ]]></PyFunc>
- <PyFunc><![CDATA[ return n ]]></PyFunc> </PyFunction> </PyFunction-list>
- <creation-date>21/5/2004 - 10:17:39</creation-date>
- <lastmodification-date>21/5/2004 - 10:17:39</lastmodification-date>
- <editor-release>2.0</editor-release>
- <author>?</author>
- <container>?</container>
- <comment>Python function</comment>
- <x-position>255</x-position>
- <y-position>336</y-position> </node>
- <node>
-<component-name>?</component-name>
- <interface-name>?</interface-name>
- <node-name>Node_C_1</node-name>
- <kind>3</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>Node_C_1</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>c_1</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list/> </service>
- <DataStream-list>
-<outParameter>
-<outParameter-type>1</outParameter-type>
- <outParameter-name>ostream_C_1_1</outParameter-name>
- <outParameter-dependency>1</outParameter-dependency>
- <outParameter-values>0</outParameter-values> </outParameter> </DataStream-list>
- <PyFunction-list>
-<PyFunction>
-<FuncName>Node_C_1</FuncName>
- <PyFunc><![CDATA[def Node_C_1( n ) : ]]></PyFunc>
- <PyFunc><![CDATA[ return ]]></PyFunc> </PyFunction> </PyFunction-list>
- <creation-date>21/5/2004 - 10:17:39</creation-date>
- <lastmodification-date>21/5/2004 - 10:17:39</lastmodification-date>
- <editor-release>2.0</editor-release>
- <author>?</author>
- <container>?</container>
- <comment>Python function</comment>
- <x-position>478</x-position>
- <y-position>63</y-position> </node>
- <node>
-<component-name>?</component-name>
- <interface-name>?</interface-name>
- <node-name>Node_C_2</node-name>
- <kind>3</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>Node_C_2</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>c_2</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>c_2</outParameter-name> </outParameter> </outParameter-list> </service>
- <DataStream-list>
-<inParameter>
-<inParameter-type>1</inParameter-type>
- <inParameter-name>istream_C_2_1</inParameter-name>
- <inParameter-dependency>1</inParameter-dependency>
- <inParameter-schema>1</inParameter-schema>
- <inParameter-interpolation>2</inParameter-interpolation>
- <inParameter-extrapolation>0</inParameter-extrapolation> </inParameter> </DataStream-list>
- <PyFunction-list>
-<PyFunction>
-<FuncName>Node_C_2</FuncName>
- <PyFunc><![CDATA[def Node_C_2( n ) : ]]></PyFunc>
- <PyFunc><![CDATA[ return n ]]></PyFunc> </PyFunction> </PyFunction-list>
- <creation-date>21/5/2004 - 10:17:39</creation-date>
- <lastmodification-date>21/5/2004 - 10:17:39</lastmodification-date>
- <editor-release>2.0</editor-release>
- <author>?</author>
- <container>?</container>
- <comment>Python function</comment>
- <x-position>477</x-position>
- <y-position>337</y-position> </node>
- <node>
-<component-name>?</component-name>
- <interface-name>?</interface-name>
- <node-name>Node_D_1</node-name>
- <kind>3</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>Node_D_1</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>d_1</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list/> </service>
- <DataStream-list>
-<outParameter>
-<outParameter-type>1</outParameter-type>
- <outParameter-name>ostream_D_1_1</outParameter-name>
- <outParameter-dependency>1</outParameter-dependency>
- <outParameter-values>0</outParameter-values> </outParameter> </DataStream-list>
- <PyFunction-list>
-<PyFunction>
-<FuncName>Node_D_1</FuncName>
- <PyFunc><![CDATA[def Node_D_1( n ) : ]]></PyFunc>
- <PyFunc><![CDATA[ return ]]></PyFunc> </PyFunction> </PyFunction-list>
- <creation-date>21/5/2004 - 10:17:39</creation-date>
- <lastmodification-date>21/5/2004 - 10:17:39</lastmodification-date>
- <editor-release>2.0</editor-release>
- <author>?</author>
- <container>?</container>
- <comment>Python function</comment>
- <x-position>702</x-position>
- <y-position>336</y-position> </node> </node-list>
- <link-list>
-<link>
-<fromnode-name>Node_A_1</fromnode-name>
- <fromserviceparameter-name>a_1</fromserviceparameter-name>
- <tonode-name>Node_B_1</tonode-name>
- <toserviceparameter-name>b_1</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>Node_A_2</fromnode-name>
- <fromserviceparameter-name>a_2</fromserviceparameter-name>
- <tonode-name>Node_B_2</tonode-name>
- <toserviceparameter-name>b_2</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>Node_A_2</fromnode-name>
- <fromserviceparameter-name>ostream_A_2_1</fromserviceparameter-name>
- <tonode-name>Node_A_1</tonode-name>
- <toserviceparameter-name>istream_A_1_1</toserviceparameter-name>
- <coord-list>
-<coord>
-<x>14</x>
- <y>162</y> </coord>
- <coord>
-<x>13</x>
- <y>37</y> </coord>
- <coord>
-<x>211</x>
- <y>36</y> </coord>
- <coord>
-<x>210</x>
- <y>435</y> </coord> </coord-list> </link>
- <link>
-<fromnode-name>Node_B_1</fromnode-name>
- <fromserviceparameter-name>b_1</fromserviceparameter-name>
- <tonode-name>Node_C_1</tonode-name>
- <toserviceparameter-name>c_1</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>Node_B_2</fromnode-name>
- <fromserviceparameter-name>b_2</fromserviceparameter-name>
- <tonode-name>Node_C_2</tonode-name>
- <toserviceparameter-name>c_2</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>Node_B_2</fromnode-name>
- <fromserviceparameter-name>ostream_B_2_1</fromserviceparameter-name>
- <tonode-name>Node_A_1</tonode-name>
- <toserviceparameter-name>istream_A_1_2</toserviceparameter-name>
- <coord-list>
-<coord>
-<x>8</x>
- <y>195</y> </coord>
- <coord>
-<x>7</x>
- <y>324</y> </coord>
- <coord>
-<x>443</x>
- <y>323</y> </coord>
- <coord>
-<x>442</x>
- <y>434</y> </coord> </coord-list> </link>
- <link>
-<fromnode-name>Node_B_2</fromnode-name>
- <fromserviceparameter-name>ostream_B_2_2</fromserviceparameter-name>
- <tonode-name>Node_A_2</tonode-name>
- <toserviceparameter-name>istream_A_2_1</toserviceparameter-name>
- <coord-list>
-<coord>
-<x>16</x>
- <y>433</y> </coord>
- <coord>
-<x>15</x>
- <y>583</y> </coord>
- <coord>
-<x>434</x>
- <y>584</y> </coord>
- <coord>
-<x>434</x>
- <y>467</y> </coord> </coord-list> </link>
- <link>
-<fromnode-name>Node_C_1</fromnode-name>
- <fromserviceparameter-name>ostream_C_1_1</fromserviceparameter-name>
- <tonode-name>Node_A_1</tonode-name>
- <toserviceparameter-name>istream_A_1_3</toserviceparameter-name>
- <coord-list>
-<coord>
-<x>21</x>
- <y>226</y> </coord>
- <coord>
-<x>20</x>
- <y>296</y> </coord>
- <coord>
-<x>663</x>
- <y>295</y> </coord>
- <coord>
-<x>662</x>
- <y>161</y> </coord> </coord-list> </link>
- <link>
-<fromnode-name>Node_C_2</fromnode-name>
- <fromserviceparameter-name>c_2</fromserviceparameter-name>
- <tonode-name>Node_D_1</tonode-name>
- <toserviceparameter-name>d_1</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>Node_D_1</fromnode-name>
- <fromserviceparameter-name>ostream_D_1_1</fromserviceparameter-name>
- <tonode-name>Node_B_2</tonode-name>
- <toserviceparameter-name>istream_B_2_1</toserviceparameter-name>
- <coord-list>
-<coord>
-<x>232</x>
- <y>433</y> </coord>
- <coord>
-<x>231</x>
- <y>553</y> </coord>
- <coord>
-<x>903</x>
- <y>553</y> </coord>
- <coord>
-<x>902</x>
- <y>434</y> </coord> </coord-list> </link>
- <link>
-<fromnode-name>Node_D_1</fromnode-name>
- <fromserviceparameter-name>ostream_D_1_1</fromserviceparameter-name>
- <tonode-name>Node_C_2</tonode-name>
- <toserviceparameter-name>istream_C_2_1</toserviceparameter-name>
- <coord-list>
-<coord>
-<x>461</x>
- <y>434</y> </coord>
- <coord>
-<x>461</x>
- <y>524</y> </coord>
- <coord>
-<x>889</x>
- <y>525</y> </coord>
- <coord>
-<x>888</x>
- <y>434</y> </coord> </coord-list> </link>
- <link>
-<fromnode-name>Node_D_1</fromnode-name>
- <fromserviceparameter-name>ostream_D_1_1</fromserviceparameter-name>
- <tonode-name>Node_B_1</tonode-name>
- <toserviceparameter-name>istream_B_1_1</toserviceparameter-name>
- <coord-list>
-<coord>
-<x>236</x>
- <y>162</y> </coord>
- <coord>
-<x>236</x>
- <y>249</y> </coord>
- <coord>
-<x>887</x>
- <y>249</y> </coord>
- <coord>
-<x>888</x>
- <y>432</y> </coord> </coord-list> </link> </link-list>
- <data-list/></dataflow>
+++ /dev/null
-DEBUT GraphStreamTopology_1
- TIMEOUT 300
- TRACE SANS
- DELTA_T 0
-
-
-# Liste des codes
-
- CODE Node_A_1
- istream_A_1_1 T IN ENTIER
- istream_A_1_2 T IN ENTIER
- istream_A_1_3 T IN ENTIER
- FIN #Node_A_1
-
-
- CODE Node_A_2
- istream_A_2_1 T IN ENTIER
- ostream_A_2_1 T OUT ENTIER
- FIN #Node_A_2
-
-
- CODE Node_B_1
- istream_B_1_1 T IN ENTIER
- ostream_A_2_1 T OUT ENTIER
- FIN #Node_B_1
-
-
- CODE Node_B_2
- istream_B_2_1 T IN ENTIER
- ostream_B_2_1 T OUT ENTIER
- ostream_B_2_2 T OUT ENTIER
- FIN #Node_B_2
-
-
- CODE Node_C_1
- istream_B_2_1 T IN ENTIER
- ostream_C_1_1 T OUT ENTIER
- FIN #Node_C_1
-
-
- CODE Node_C_2
- istream_C_2_1 T IN ENTIER
- ostream_C_1_1 T OUT ENTIER
- FIN #Node_C_2
-
-
- CODE Node_D_1
- istream_C_2_1 T IN ENTIER
- ostream_D_1_1 T OUT ENTIER
- FIN #Node_D_1
-
-
-
-
-# Liste des instances
-
- INSTANCE Node_A_1
- CODE Node_A_1
- FIN
-
- INSTANCE Node_A_2
- CODE Node_A_2
- FIN
-
- INSTANCE Node_B_1
- CODE Node_B_1
- FIN
-
- INSTANCE Node_B_2
- CODE Node_B_2
- FIN
-
- INSTANCE Node_C_1
- CODE Node_C_1
- FIN
-
- INSTANCE Node_C_2
- CODE Node_C_2
- FIN
-
- INSTANCE Node_D_1
- CODE Node_D_1
- FIN
-
-
-
-
-
-# Liste des liens
-
- LIEN
- Node_A_2.ostream_A_2_1 0 => Node_A_1.istream_A_1_1 TI L1 EXTRANULL ;
- Node_B_2.ostream_B_2_1 0 => Node_A_1.istream_A_1_2 TI L1 EXTRANULL ;
- Node_B_2.ostream_B_2_2 0 => Node_A_2.istream_A_2_1 TI L1 EXTRANULL ;
- Node_C_1.ostream_C_1_1 0 => Node_A_1.istream_A_1_3 TI L1 EXTRANULL ;
- Node_D_1.ostream_D_1_1 0 => Node_B_2.istream_B_2_1 TI L1 EXTRANULL ;
- Node_D_1.ostream_D_1_1 0 => Node_C_2.istream_C_2_1 TI L1 EXTRANULL ;
- Node_D_1.ostream_D_1_1 0 => Node_B_1.istream_B_1_1 TI L1 EXTRANULL ;
- FIN
-
-FIN
+++ /dev/null
-DEBUT GraphStream_1
- TIMEOUT 300
- TRACE SANS
- DELTA_T 0
-
-
-# Liste des codes
-
- CODE Add
- istream I IN ENTIER
- ostream I OUT ENTIER
- OStream I OUT ENTIER
- FIN #Add
-
-
- CODE Sub
- istream I IN ENTIER
- Istream I IN ENTIER
- FIN #Sub
-
-
-
-
-# Liste des instances
-
- INSTANCE Add
- CODE Add
- FIN
-
- INSTANCE Sub
- CODE Sub
- FIN
-
-
-
-
-
-# Liste des liens
-
- LIEN
- Add.ostream 0 => Sub.istream SCHENULL INTERNULL EXTRANULL ;
- Add.OStream 0 => Sub.Istream SCHENULL INTERNULL EXTRANULL ;
- FIN
-
-FIN
+++ /dev/null
-DEBUT GraphStream_2
- TIMEOUT 300
- TRACE SANS
- DELTA_T 0
-
-
-# Liste des codes
-
- CODE StreamAdd
- istream I IN ENTIER
- ostream I OUT ENTIER
- OStream I OUT ENTIER
- FIN #StreamAdd
-
-
-
-
-# Liste des instances
-
- INSTANCE StreamAdd
- CODE StreamAdd
- FIN
-
-
-
-
-
-# Liste des liens
-
- LIEN
- FIN
-
-FIN
+++ /dev/null
-DEBUT GraphStream_3
- TIMEOUT 300
- TRACE SANS
- DELTA_T 0
-
-
-# Liste des codes
-
- CODE Div
- ostream I OUT ENTIER
- FIN #Div
-
-
-
-
-# Liste des instances
-
- INSTANCE Div
- CODE Div
- FIN
-
-
-
-
-
-# Liste des liens
-
- LIEN
- FIN
-
-FIN
+++ /dev/null
-
-# Generated python file of Graph GraphStreams
-
-from SuperV import *
-# Graph creation
-GraphStreams = StreamGraph( 'GraphStreams' )
-GraphStreams.SetStreamParams( 1000 , SUPERV.SummaryTrace , 1.5 )
-GraphStreams.SetName( 'GraphStreams' )
-GraphStreams.SetAuthor( 'JR' )
-GraphStreams.SetComment( 'Graph with DataStreamPorts CEA/EDF : Calcium' )
-GraphStreams.Coords( 0 , 0 )
-
-# Creation of Factory Nodes
-
-Add = GraphStreams.FNode( 'DataStreamFactory' , 'DataStreamFactory' , 'Add' )
-Add.SetName( 'Add' )
-Add.SetAuthor( '' )
-Add.SetContainer( 'FactoryServer' )
-Add.SetComment( 'Add from DataStreamFactory' )
-Add.Coords( 255 , 171 )
-IAddx = Add.GetInPort( 'x' )
-IAddy = Add.GetInPort( 'y' )
-IAddGate = Add.GetInPort( 'Gate' )
-OAddz = Add.GetOutPort( 'z' )
-OAddGate = Add.GetOutPort( 'Gate' )
-IAddistream = Add.GetInStreamPort( 'istream' )
-IAddistream.SetParams( SUPERV.SCHENULL , SUPERV.INTERNULL , SUPERV.EXTRANULL )
-OAddostream = Add.GetOutStreamPort( 'ostream' )
-OAddostream.SetNumberOfValues( 0 )
-OAddOStream = Add.GetOutStreamPort( 'OStream' )
-OAddOStream.SetNumberOfValues( 10 )
-
-Sub = GraphStreams.FNode( 'DataStreamFactory' , 'DataStreamFactory' , 'Sub' )
-Sub.SetName( 'Sub' )
-Sub.SetAuthor( '' )
-Sub.SetContainer( 'FactoryServer' )
-Sub.SetComment( 'Sub from DataStreamFactory' )
-Sub.Coords( 519 , 48 )
-ISubx = Sub.GetInPort( 'x' )
-ISuby = Sub.GetInPort( 'y' )
-ISubGate = Sub.GetInPort( 'Gate' )
-OSubz = Sub.GetOutPort( 'z' )
-OSubGate = Sub.GetOutPort( 'Gate' )
-ISubistream = Sub.GetInStreamPort( 'istream' )
-ISubistream.SetParams( SUPERV.SCHENULL , SUPERV.INTERNULL , SUPERV.EXTRANULL )
-ISubIstream = Sub.GetInStreamPort( 'Istream' )
-ISubIstream.SetParams( SUPERV.SCHENULL , SUPERV.INTERNULL , SUPERV.EXTRANULL )
-
-Mul = GraphStreams.FNode( 'DataStreamFactory' , 'DataStreamFactory' , 'Mul' )
-Mul.SetName( 'Mul' )
-Mul.SetAuthor( '' )
-Mul.SetContainer( 'FactoryServer' )
-Mul.SetComment( 'Mul from DataStreamFactory' )
-Mul.Coords( 724 , 142 )
-IMulx = Mul.GetInPort( 'x' )
-IMuly = Mul.GetInPort( 'y' )
-IMulGate = Mul.GetInPort( 'Gate' )
-OMulz = Mul.GetOutPort( 'z' )
-OMulGate = Mul.GetOutPort( 'Gate' )
-
-Div = GraphStreams.FNode( 'DataStreamFactory' , 'DataStreamFactory' , 'Div' )
-Div.SetName( 'Div' )
-Div.SetAuthor( '' )
-Div.SetContainer( 'FactoryServer' )
-Div.SetComment( 'Div from DataStreamFactory' )
-Div.Coords( 935 , 48 )
-IDivx = Div.GetInPort( 'x' )
-IDivy = Div.GetInPort( 'y' )
-IDivGate = Div.GetInPort( 'Gate' )
-ODivz = Div.GetOutPort( 'z' )
-ODivGate = Div.GetOutPort( 'Gate' )
-ODivostream = Div.GetOutStreamPort( 'ostream' )
-ODivostream.SetNumberOfValues( 0 )
-
-Add_1 = GraphStreams.FNode( 'DataStreamFactory' , 'DataStreamFactory' , 'Add' )
-Add_1.SetName( 'Add_1' )
-Add_1.SetAuthor( '' )
-Add_1.SetContainer( 'localhost/FactoryServer' )
-Add_1.SetComment( 'Add from DataStreamFactory' )
-Add_1.Coords( 252 , 499 )
-IAdd_1x = Add_1.GetInPort( 'x' )
-IAdd_1y = Add_1.GetInPort( 'y' )
-IAdd_1Gate = Add_1.GetInPort( 'Gate' )
-OAdd_1z = Add_1.GetOutPort( 'z' )
-OAdd_1Gate = Add_1.GetOutPort( 'Gate' )
-IAdd_1istream = Add_1.GetInStreamPort( 'istream' )
-IAdd_1istream.SetParams( SUPERV.SCHENULL , SUPERV.INTERNULL , SUPERV.EXTRANULL )
-OAdd_1ostream = Add_1.GetOutStreamPort( 'ostream' )
-OAdd_1ostream.SetNumberOfValues( 0 )
-OAdd_1OStream = Add_1.GetOutStreamPort( 'OStream' )
-OAdd_1OStream.SetNumberOfValues( 0 )
-
-Sub_1 = GraphStreams.FNode( 'DataStreamFactory' , 'DataStreamFactory' , 'Sub' )
-Sub_1.SetName( 'Sub_1' )
-Sub_1.SetAuthor( '' )
-Sub_1.SetContainer( 'localhost/FactoryServer' )
-Sub_1.SetComment( 'Sub from DataStreamFactory' )
-Sub_1.Coords( 516 , 385 )
-ISub_1x = Sub_1.GetInPort( 'x' )
-ISub_1y = Sub_1.GetInPort( 'y' )
-ISub_1Gate = Sub_1.GetInPort( 'Gate' )
-OSub_1z = Sub_1.GetOutPort( 'z' )
-OSub_1Gate = Sub_1.GetOutPort( 'Gate' )
-ISub_1istream = Sub_1.GetInStreamPort( 'istream' )
-ISub_1istream.SetParams( SUPERV.SCHENULL , SUPERV.INTERNULL , SUPERV.EXTRANULL )
-ISub_1Istream = Sub_1.GetInStreamPort( 'Istream' )
-ISub_1Istream.SetParams( SUPERV.SCHENULL , SUPERV.INTERNULL , SUPERV.EXTRANULL )
-
-Mul_1 = GraphStreams.FNode( 'DataStreamFactory' , 'DataStreamFactory' , 'Mul' )
-Mul_1.SetName( 'Mul_1' )
-Mul_1.SetAuthor( '' )
-Mul_1.SetContainer( 'localhost/FactoryServer' )
-Mul_1.SetComment( 'Mul from DataStreamFactory' )
-Mul_1.Coords( 731 , 487 )
-IMul_1x = Mul_1.GetInPort( 'x' )
-IMul_1y = Mul_1.GetInPort( 'y' )
-IMul_1Gate = Mul_1.GetInPort( 'Gate' )
-OMul_1z = Mul_1.GetOutPort( 'z' )
-OMul_1Gate = Mul_1.GetOutPort( 'Gate' )
-
-Div_1 = GraphStreams.FNode( 'DataStreamFactory' , 'DataStreamFactory' , 'Div' )
-Div_1.SetName( 'Div_1' )
-Div_1.SetAuthor( '' )
-Div_1.SetContainer( 'localhost/FactoryServer' )
-Div_1.SetComment( 'Div from DataStreamFactory' )
-Div_1.Coords( 931 , 385 )
-IDiv_1x = Div_1.GetInPort( 'x' )
-IDiv_1y = Div_1.GetInPort( 'y' )
-IDiv_1Gate = Div_1.GetInPort( 'Gate' )
-ODiv_1z = Div_1.GetOutPort( 'z' )
-ODiv_1Gate = Div_1.GetOutPort( 'Gate' )
-ODiv_1ostream = Div_1.GetOutStreamPort( 'ostream' )
-ODiv_1ostream.SetNumberOfValues( 0 )
-
-# Creation of Loop Nodes
-PyLoop = []
-PyLoop.append( 'import time ' )
-PyLoop.append( 'def Init(Index,Min,Max,Incr,Z_Div,Z_Div_1,y_Add,x_Sub) : ' )
-PyLoop.append( ' if Min <= Max : ' )
-PyLoop.append( ' Index = Min ' )
-PyLoop.append( ' else : ' )
-PyLoop.append( ' Index = Max ' )
-PyLoop.append( ' time.sleep( 1 ) ' )
-PyLoop.append( ' return Index,Min,Max,Incr,Z_Div,Z_Div_1,y_Add,x_Sub ' )
-PyMoreLoop = []
-PyMoreLoop.append( 'import time ' )
-PyMoreLoop.append( 'def More(Index,Min,Max,Incr,Z_Div,Z_Div_1,y_Add,x_Sub) : ' )
-PyMoreLoop.append( ' if Index < Max : ' )
-PyMoreLoop.append( ' DoLoop = 1 ' )
-PyMoreLoop.append( ' else : ' )
-PyMoreLoop.append( ' DoLoop = 0 ' )
-PyMoreLoop.append( ' time.sleep( 1 ) ' )
-PyMoreLoop.append( ' return DoLoop,Index,Min,Max,Incr,Z_Div,Z_Div_1,y_Add,x_Sub ' )
-PyNextLoop = []
-PyNextLoop.append( 'import time ' )
-PyNextLoop.append( 'def Next(Index,Min,Max,Incr,Z_Div,Z_Div_1,y_Add,x_Sub) : ' )
-PyNextLoop.append( ' Index = Index + Incr ' )
-PyNextLoop.append( ' time.sleep( 1 ) ' )
-PyNextLoop.append( ' return Index,Min,Max,Incr,Z_Div,Z_Div_1,y_Add,x_Sub ' )
-Loop,EndLoop = GraphStreams.LNode( 'Init' , PyLoop , 'More' , PyMoreLoop , 'Next' , PyNextLoop )
-EndLoop.SetName( 'EndLoop' )
-EndLoop.SetAuthor( '' )
-EndLoop.SetComment( '' )
-EndLoop.Coords( 1158 , 393 )
-PyEndLoop = []
-EndLoop.SetPyFunction( 'EndInit' , PyEndLoop )
-ILoopInitLoop = Loop.GetInPort( 'InitLoop' )
-ILoopIndex = Loop.InPort( 'Index' , 'long' )
-ILoopMin = Loop.InPort( 'Min' , 'long' )
-ILoopMax = Loop.InPort( 'Max' , 'long' )
-ILoopIncr = Loop.InPort( 'Incr' , 'long' )
-ILoopz_Div = Loop.InPort( 'z_Div' , 'double' )
-ILoopz_Div_1 = Loop.InPort( 'z_Div_1' , 'double' )
-ILoopy_Add = Loop.InPort( 'y_Add' , 'double' )
-ILoopx_Sub = Loop.InPort( 'x_Sub' , 'double' )
-ILoopGate = Loop.GetInPort( 'Gate' )
-OLoopDoLoop = Loop.GetOutPort( 'DoLoop' )
-OLoopIndex = Loop.GetOutPort( 'Index' )
-OLoopMin = Loop.GetOutPort( 'Min' )
-OLoopMax = Loop.GetOutPort( 'Max' )
-OLoopIncr = Loop.GetOutPort( 'Incr' )
-OLoopz_Div = Loop.GetOutPort( 'z_Div' )
-OLoopz_Div_1 = Loop.GetOutPort( 'z_Div_1' )
-OLoopy_Add = Loop.GetOutPort( 'y_Add' )
-OLoopx_Sub = Loop.GetOutPort( 'x_Sub' )
-IEndLoopDoLoop = EndLoop.GetInPort( 'DoLoop' )
-IEndLoopIndex = EndLoop.GetInPort( 'Index' )
-IEndLoopMin = EndLoop.GetInPort( 'Min' )
-IEndLoopMax = EndLoop.GetInPort( 'Max' )
-IEndLoopIncr = EndLoop.GetInPort( 'Incr' )
-IEndLoopz_Div = EndLoop.GetInPort( 'z_Div' )
-IEndLoopz_Div_1 = EndLoop.GetInPort( 'z_Div_1' )
-IEndLoopy_Add = EndLoop.GetInPort( 'y_Add' )
-IEndLoopx_Sub = EndLoop.GetInPort( 'x_Sub' )
-IEndLoopGate = EndLoop.GetInPort( 'Gate' )
-OEndLoopDoLoop = EndLoop.GetOutPort( 'DoLoop' )
-OEndLoopIndex = EndLoop.GetOutPort( 'Index' )
-OEndLoopMin = EndLoop.GetOutPort( 'Min' )
-OEndLoopMax = EndLoop.GetOutPort( 'Max' )
-OEndLoopIncr = EndLoop.GetOutPort( 'Incr' )
-OEndLoopz_Div = EndLoop.GetOutPort( 'z_Div' )
-OEndLoopz_Div_1 = EndLoop.GetOutPort( 'z_Div_1' )
-OEndLoopy_Add = EndLoop.GetOutPort( 'y_Add' )
-OEndLoopx_Sub = EndLoop.GetOutPort( 'x_Sub' )
-Loop.SetName( 'Loop' )
-Loop.SetAuthor( '' )
-Loop.SetComment( '' )
-Loop.Coords( 5 , 391 )
-
-# Creation of Links
-LAddzSuby = GraphStreams.Link( OAddz , ISuby )
-LAddzSuby.AddCoord( 1 , 448 , 143 )
-LAddzSuby.AddCoord( 2 , 449 , 237 )
-
-LAddzMuly = GraphStreams.Link( OAddz , IMuly )
-LAddzMuly.AddCoord( 1 , 708 , 237 )
-LAddzMuly.AddCoord( 2 , 708 , 270 )
-LAddzMuly.AddCoord( 3 , 449 , 270 )
-LAddzMuly.AddCoord( 4 , 448 , 238 )
-
-LAddostreamSubistream = GraphStreams.StreamLink( OAddostream , ISubistream )
-LAddostreamSubistream.AddCoord( 1 , 474 , 175 )
-LAddostreamSubistream.AddCoord( 2 , 474 , 297 )
-
-LAddOStreamSubIstream = GraphStreams.StreamLink( OAddOStream , ISubIstream )
-LAddOStreamSubIstream.AddCoord( 1 , 497 , 207 )
-LAddOStreamSubIstream.AddCoord( 2 , 498 , 328 )
-
-LSubzMulx = GraphStreams.Link( OSubz , IMulx )
-LSubzMulx.AddCoord( 1 , 706 , 207 )
-LSubzMulx.AddCoord( 2 , 706 , 114 )
-
-LSubzDivx = GraphStreams.Link( OSubz , IDivx )
-
-LMulzDivy = GraphStreams.Link( OMulz , IDivy )
-LMulzDivy.AddCoord( 1 , 912 , 143 )
-LMulzDivy.AddCoord( 2 , 911 , 208 )
-
-LDivzEndLoopz_Div = GraphStreams.Link( ODivz , IEndLoopz_Div )
-LDivzEndLoopz_Div.AddCoord( 1 , 1147 , 537 )
-LDivzEndLoopz_Div.AddCoord( 2 , 1148 , 113 )
-
-LDivostreamAdd_1istream = GraphStreams.StreamLink( ODivostream , IAdd_1istream )
-LDivostreamAdd_1istream.AddCoord( 1 , 233 , 626 )
-LDivostreamAdd_1istream.AddCoord( 2 , 232 , 763 )
-LDivostreamAdd_1istream.AddCoord( 3 , 1126 , 763 )
-LDivostreamAdd_1istream.AddCoord( 4 , 1125 , 175 )
-
-LAdd_1zSub_1y = GraphStreams.Link( OAdd_1z , ISub_1y )
-LAdd_1zSub_1y.AddCoord( 1 , 445 , 478 )
-LAdd_1zSub_1y.AddCoord( 2 , 444 , 566 )
-
-LAdd_1zMul_1y = GraphStreams.Link( OAdd_1z , IMul_1y )
-LAdd_1zMul_1y.AddCoord( 1 , 703 , 582 )
-LAdd_1zMul_1y.AddCoord( 2 , 703 , 677 )
-LAdd_1zMul_1y.AddCoord( 3 , 445 , 678 )
-LAdd_1zMul_1y.AddCoord( 4 , 444 , 567 )
-
-LAdd_1ostreamSub_1istream = GraphStreams.StreamLink( OAdd_1ostream , ISub_1istream )
-LAdd_1ostreamSub_1istream.AddCoord( 1 , 473 , 511 )
-LAdd_1ostreamSub_1istream.AddCoord( 2 , 473 , 627 )
-
-LAdd_1OStreamSub_1Istream = GraphStreams.StreamLink( OAdd_1OStream , ISub_1Istream )
-LAdd_1OStreamSub_1Istream.AddCoord( 1 , 498 , 543 )
-LAdd_1OStreamSub_1Istream.AddCoord( 2 , 497 , 658 )
-
-LSub_1zMul_1x = GraphStreams.Link( OSub_1z , IMul_1x )
-LSub_1zMul_1x.AddCoord( 1 , 708 , 552 )
-LSub_1zMul_1x.AddCoord( 2 , 707 , 450 )
-
-LSub_1zDiv_1x = GraphStreams.Link( OSub_1z , IDiv_1x )
-
-LMul_1zDiv_1y = GraphStreams.Link( OMul_1z , IDiv_1y )
-LMul_1zDiv_1y.AddCoord( 1 , 913 , 479 )
-LMul_1zDiv_1y.AddCoord( 2 , 913 , 551 )
-
-LDiv_1zEndLoopz_Div_1 = GraphStreams.Link( ODiv_1z , IEndLoopz_Div_1 )
-LDiv_1zEndLoopz_Div_1.AddCoord( 1 , 1138 , 567 )
-LDiv_1zEndLoopz_Div_1.AddCoord( 2 , 1138 , 449 )
-
-LDiv_1ostreamAddistream = GraphStreams.StreamLink( ODiv_1ostream , IAddistream )
-LDiv_1ostreamAddistream.AddCoord( 1 , 229 , 297 )
-LDiv_1ostreamAddistream.AddCoord( 2 , 229 , 426 )
-LDiv_1ostreamAddistream.AddCoord( 3 , 475 , 425 )
-LDiv_1ostreamAddistream.AddCoord( 4 , 475 , 352 )
-LDiv_1ostreamAddistream.AddCoord( 5 , 1110 , 352 )
-LDiv_1ostreamAddistream.AddCoord( 6 , 1111 , 512 )
-
-LLoopIndexEndLoopIndex = GraphStreams.Link( OLoopIndex , IEndLoopIndex )
-
-LLoopIndexAddx = GraphStreams.Link( OLoopIndex , IAddx )
-LLoopIndexAddx.AddCoord( 1 , 201 , 236 )
-LLoopIndexAddx.AddCoord( 2 , 202 , 420 )
-
-LLoopIndexAdd_1x = GraphStreams.Link( OLoopIndex , IAdd_1x )
-LLoopIndexAdd_1x.AddCoord( 1 , 201 , 562 )
-LLoopIndexAdd_1x.AddCoord( 2 , 202 , 422 )
-
-LLoopMinEndLoopMin = GraphStreams.Link( OLoopMin , IEndLoopMin )
-
-LLoopMaxEndLoopMax = GraphStreams.Link( OLoopMax , IEndLoopMax )
-
-LLoopIncrEndLoopIncr = GraphStreams.Link( OLoopIncr , IEndLoopIncr )
-
-LLoopy_AddEndLoopy_Add = GraphStreams.Link( OLoopy_Add , IEndLoopy_Add )
-
-LLoopy_AddAddy = GraphStreams.Link( OLoopy_Add , IAddy )
-LLoopy_AddAddy.AddCoord( 1 , 183 , 266 )
-LLoopy_AddAddy.AddCoord( 2 , 182 , 593 )
-
-LLoopy_AddAdd_1y = GraphStreams.Link( OLoopy_Add , IAdd_1y )
-
-LLoopx_SubEndLoopx_Sub = GraphStreams.Link( OLoopx_Sub , IEndLoopx_Sub )
-
-LLoopx_SubSubx = GraphStreams.Link( OLoopx_Sub , ISubx )
-LLoopx_SubSubx.AddCoord( 1 , 167 , 113 )
-LLoopx_SubSubx.AddCoord( 2 , 167 , 625 )
-
-LLoopx_SubSub_1x = GraphStreams.Link( OLoopx_Sub , ISub_1x )
-LLoopx_SubSub_1x.AddCoord( 1 , 167 , 450 )
-LLoopx_SubSub_1x.AddCoord( 2 , 168 , 624 )
-
-# Input datas
-ILoopIndex.Input( 0 )
-ILoopMin.Input( 1 )
-ILoopMax.Input( 10 )
-ILoopIncr.Input( 1 )
-ILoopz_Div.Input( 0 )
-ILoopz_Div_1.Input( 0 )
-ILoopy_Add.Input( 4.5 )
-ILoopx_Sub.Input( 1.5 )
-
-# Output Ports of the graph
-#OLoopz_Div = Loop.GetOutPort( 'z_Div' )
-#OLoopz_Div_1 = Loop.GetOutPort( 'z_Div_1' )
-#OEndLoopIndex = EndLoop.GetOutPort( 'Index' )
-#OEndLoopMin = EndLoop.GetOutPort( 'Min' )
-#OEndLoopMax = EndLoop.GetOutPort( 'Max' )
-#OEndLoopIncr = EndLoop.GetOutPort( 'Incr' )
-#OEndLoopz_Div = EndLoop.GetOutPort( 'z_Div' )
-#OEndLoopz_Div_1 = EndLoop.GetOutPort( 'z_Div_1' )
-#OEndLoopy_Add = EndLoop.GetOutPort( 'y_Add' )
-#OEndLoopx_Sub = EndLoop.GetOutPort( 'x_Sub' )
-
-
-GraphStreams.Run()
-GraphStreams.DoneW()
-GraphStreams.State()
-
-GraphStreams.PrintPorts()
-
-subgraphs = GraphStreams.SubGraphsNumber()
-i = 1
-while i <= subgraphs :
- nodes = GraphStreams.SubGraphsNodes( i )
- j = 0
- while j < len(nodes) :
- print 'SubGraph',i,nodes[j].Name()
- j = j + 1
- i = i + 1
-
-
-substreamgraphs = GraphStreams.SubStreamGraphsNumber()
-i = 1
-while i <= substreamgraphs :
- nodes = GraphStreams.SubStreamGraphsNodes( i )
- j = 0
- while j < len(nodes) :
- print 'SubStreamGraph',i,nodes[j].Name()
- j = j + 1
- i = i + 1
-
-
-GraphStreams.Export('/tmp/GraphStreams.xml')
-
-GraphStreams = StreamGraph( '/tmp/GraphStreams.xml' )
-GraphStreams.Run()
-GraphStreams.DoneW()
-GraphStreams.PrintPorts()
-print GraphStreams.State()
-
-GraphStreams.IsExecutable()
-
-subgraphs = GraphStreams.SubGraphsNumber()
-i = 1
-while i <= subgraphs :
- nodes = GraphStreams.SubGraphsNodes( i )
- j = 0
- while j < len(nodes) :
- print 'SubGraph',i,nodes[j].Name()
- j = j + 1
- i = i + 1
-
-
-substreamgraphs = GraphStreams.SubStreamGraphsNumber()
-i = 1
-while i <= substreamgraphs :
- nodes = GraphStreams.SubStreamGraphsNodes( i )
- j = 0
- while j < len(nodes) :
- print 'SubStreamGraph',i,nodes[j].Name()
- j = j + 1
- i = i + 1
-
+++ /dev/null
-<!DOCTYPE Dataflow>
-<dataflow>
-<info-list>
-<node>
-<component-name>?</component-name>
- <interface-name>?</interface-name>
- <node-name>GraphStreams</node-name>
- <kind>9</kind>
- <streamgraph-timeout>1000</streamgraph-timeout>
- <streamgraph-datastreamtrace>1</streamgraph-datastreamtrace>
- <streamgraph-deltatime>1.5</streamgraph-deltatime>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>GraphStreams</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>Loop\Index</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>Loop\Min</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>Loop\Max</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>Loop\Incr</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>double</inParameter-type>
- <inParameter-name>Loop\z_Div</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>double</inParameter-type>
- <inParameter-name>Loop\z_Div_1</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>double</inParameter-type>
- <inParameter-name>Loop\y_Add</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>double</inParameter-type>
- <inParameter-name>Loop\x_Sub</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>double</outParameter-type>
- <outParameter-name>Loop\z_Div</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>double</outParameter-type>
- <outParameter-name>Loop\z_Div_1</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>EndLoop\Index</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>EndLoop\Min</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>EndLoop\Max</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>EndLoop\Incr</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>double</outParameter-type>
- <outParameter-name>EndLoop\z_Div</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>double</outParameter-type>
- <outParameter-name>EndLoop\z_Div_1</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>double</outParameter-type>
- <outParameter-name>EndLoop\y_Add</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>double</outParameter-type>
- <outParameter-name>EndLoop\x_Sub</outParameter-name> </outParameter> </outParameter-list> </service>
- <DataStream-list/>
- <PyFunction-list/>
- <creation-date>23/4/2004 - 18:20:13</creation-date>
- <lastmodification-date>21/5/2004 - 10:32:29</lastmodification-date>
- <editor-release>2.0</editor-release>
- <author>JR</author>
- <container>?</container>
- <comment>Graph with DataStreamPorts CEA/EDF : Calcium</comment>
- <x-position>0</x-position>
- <y-position>0</y-position> </node> </info-list>
- <node-list>
-<node>
-<component-name>DataStreamFactory</component-name>
- <interface-name>DataStreamFactory</interface-name>
- <node-name>Add</node-name>
- <kind>0</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>Add</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>x</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>y</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>z</outParameter-name> </outParameter> </outParameter-list> </service>
- <DataStream-list>
-<inParameter>
-<inParameter-type>1</inParameter-type>
- <inParameter-name>istream</inParameter-name>
- <inParameter-dependency>2</inParameter-dependency>
- <inParameter-schema>0</inParameter-schema>
- <inParameter-interpolation>0</inParameter-interpolation>
- <inParameter-extrapolation>0</inParameter-extrapolation> </inParameter>
- <outParameter>
-<outParameter-type>1</outParameter-type>
- <outParameter-name>ostream</outParameter-name>
- <outParameter-dependency>2</outParameter-dependency>
- <outParameter-values>0</outParameter-values> </outParameter>
- <outParameter>
-<outParameter-type>1</outParameter-type>
- <outParameter-name>OStream</outParameter-name>
- <outParameter-dependency>2</outParameter-dependency>
- <outParameter-values>10</outParameter-values> </outParameter> </DataStream-list>
- <PyFunction-list/>
- <creation-date>21/5/2004 - 10:32:29</creation-date>
- <lastmodification-date>21/5/2004 - 10:32:29</lastmodification-date>
- <editor-release>2.0</editor-release>
- <author>?</author>
- <container>FactoryServer</container>
- <comment>Add from DataStreamFactory</comment>
- <x-position>255</x-position>
- <y-position>171</y-position> </node>
- <node>
-<component-name>DataStreamFactory</component-name>
- <interface-name>DataStreamFactory</interface-name>
- <node-name>Sub</node-name>
- <kind>0</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>Sub</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>x</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>y</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>z</outParameter-name> </outParameter> </outParameter-list> </service>
- <DataStream-list>
-<inParameter>
-<inParameter-type>1</inParameter-type>
- <inParameter-name>istream</inParameter-name>
- <inParameter-dependency>2</inParameter-dependency>
- <inParameter-schema>0</inParameter-schema>
- <inParameter-interpolation>0</inParameter-interpolation>
- <inParameter-extrapolation>0</inParameter-extrapolation> </inParameter>
- <inParameter>
-<inParameter-type>1</inParameter-type>
- <inParameter-name>Istream</inParameter-name>
- <inParameter-dependency>2</inParameter-dependency>
- <inParameter-schema>0</inParameter-schema>
- <inParameter-interpolation>0</inParameter-interpolation>
- <inParameter-extrapolation>0</inParameter-extrapolation> </inParameter> </DataStream-list>
- <PyFunction-list/>
- <creation-date>21/5/2004 - 10:32:29</creation-date>
- <lastmodification-date>21/5/2004 - 10:32:29</lastmodification-date>
- <editor-release>2.0</editor-release>
- <author>?</author>
- <container>FactoryServer</container>
- <comment>Sub from DataStreamFactory</comment>
- <x-position>519</x-position>
- <y-position>48</y-position> </node>
- <node>
-<component-name>DataStreamFactory</component-name>
- <interface-name>DataStreamFactory</interface-name>
- <node-name>Mul</node-name>
- <kind>0</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>Mul</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>x</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>y</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>z</outParameter-name> </outParameter> </outParameter-list> </service>
- <DataStream-list/>
- <PyFunction-list/>
- <creation-date>21/5/2004 - 10:32:29</creation-date>
- <lastmodification-date>21/5/2004 - 10:32:29</lastmodification-date>
- <editor-release>2.0</editor-release>
- <author>?</author>
- <container>FactoryServer</container>
- <comment>Mul from DataStreamFactory</comment>
- <x-position>724</x-position>
- <y-position>142</y-position> </node>
- <node>
-<component-name>DataStreamFactory</component-name>
- <interface-name>DataStreamFactory</interface-name>
- <node-name>Div</node-name>
- <kind>0</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>Div</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>x</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>y</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>z</outParameter-name> </outParameter> </outParameter-list> </service>
- <DataStream-list>
-<outParameter>
-<outParameter-type>1</outParameter-type>
- <outParameter-name>ostream</outParameter-name>
- <outParameter-dependency>2</outParameter-dependency>
- <outParameter-values>0</outParameter-values> </outParameter> </DataStream-list>
- <PyFunction-list/>
- <creation-date>21/5/2004 - 10:32:29</creation-date>
- <lastmodification-date>21/5/2004 - 10:32:29</lastmodification-date>
- <editor-release>2.0</editor-release>
- <author>?</author>
- <container>FactoryServer</container>
- <comment>Div from DataStreamFactory</comment>
- <x-position>935</x-position>
- <y-position>48</y-position> </node>
- <node>
-<component-name>DataStreamFactory</component-name>
- <interface-name>DataStreamFactory</interface-name>
- <node-name>Add_1</node-name>
- <kind>0</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>Add</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>x</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>y</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>z</outParameter-name> </outParameter> </outParameter-list> </service>
- <DataStream-list>
-<inParameter>
-<inParameter-type>1</inParameter-type>
- <inParameter-name>istream</inParameter-name>
- <inParameter-dependency>2</inParameter-dependency>
- <inParameter-schema>0</inParameter-schema>
- <inParameter-interpolation>0</inParameter-interpolation>
- <inParameter-extrapolation>0</inParameter-extrapolation> </inParameter>
- <outParameter>
-<outParameter-type>1</outParameter-type>
- <outParameter-name>ostream</outParameter-name>
- <outParameter-dependency>2</outParameter-dependency>
- <outParameter-values>0</outParameter-values> </outParameter>
- <outParameter>
-<outParameter-type>1</outParameter-type>
- <outParameter-name>OStream</outParameter-name>
- <outParameter-dependency>2</outParameter-dependency>
- <outParameter-values>0</outParameter-values> </outParameter> </DataStream-list>
- <PyFunction-list/>
- <creation-date>21/5/2004 - 10:32:29</creation-date>
- <lastmodification-date>21/5/2004 - 10:32:29</lastmodification-date>
- <editor-release>2.0</editor-release>
- <author>?</author>
- <container>localhost/FactoryServer</container>
- <comment>Add from DataStreamFactory</comment>
- <x-position>252</x-position>
- <y-position>499</y-position> </node>
- <node>
-<component-name>DataStreamFactory</component-name>
- <interface-name>DataStreamFactory</interface-name>
- <node-name>Sub_1</node-name>
- <kind>0</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>Sub</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>x</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>y</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>z</outParameter-name> </outParameter> </outParameter-list> </service>
- <DataStream-list>
-<inParameter>
-<inParameter-type>1</inParameter-type>
- <inParameter-name>istream</inParameter-name>
- <inParameter-dependency>2</inParameter-dependency>
- <inParameter-schema>0</inParameter-schema>
- <inParameter-interpolation>0</inParameter-interpolation>
- <inParameter-extrapolation>0</inParameter-extrapolation> </inParameter>
- <inParameter>
-<inParameter-type>1</inParameter-type>
- <inParameter-name>Istream</inParameter-name>
- <inParameter-dependency>2</inParameter-dependency>
- <inParameter-schema>0</inParameter-schema>
- <inParameter-interpolation>0</inParameter-interpolation>
- <inParameter-extrapolation>0</inParameter-extrapolation> </inParameter> </DataStream-list>
- <PyFunction-list/>
- <creation-date>21/5/2004 - 10:32:29</creation-date>
- <lastmodification-date>21/5/2004 - 10:32:29</lastmodification-date>
- <editor-release>2.0</editor-release>
- <author>?</author>
- <container>localhost/FactoryServer</container>
- <comment>Sub from DataStreamFactory</comment>
- <x-position>516</x-position>
- <y-position>385</y-position> </node>
- <node>
-<component-name>DataStreamFactory</component-name>
- <interface-name>DataStreamFactory</interface-name>
- <node-name>Mul_1</node-name>
- <kind>0</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>Mul</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>x</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>y</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>z</outParameter-name> </outParameter> </outParameter-list> </service>
- <DataStream-list/>
- <PyFunction-list/>
- <creation-date>21/5/2004 - 10:32:29</creation-date>
- <lastmodification-date>21/5/2004 - 10:32:29</lastmodification-date>
- <editor-release>2.0</editor-release>
- <author>?</author>
- <container>localhost/FactoryServer</container>
- <comment>Mul from DataStreamFactory</comment>
- <x-position>731</x-position>
- <y-position>487</y-position> </node>
- <node>
-<component-name>DataStreamFactory</component-name>
- <interface-name>DataStreamFactory</interface-name>
- <node-name>Div_1</node-name>
- <kind>0</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>Div</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>x</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>y</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>z</outParameter-name> </outParameter> </outParameter-list> </service>
- <DataStream-list>
-<outParameter>
-<outParameter-type>1</outParameter-type>
- <outParameter-name>ostream</outParameter-name>
- <outParameter-dependency>2</outParameter-dependency>
- <outParameter-values>0</outParameter-values> </outParameter> </DataStream-list>
- <PyFunction-list/>
- <creation-date>21/5/2004 - 10:32:29</creation-date>
- <lastmodification-date>21/5/2004 - 10:32:29</lastmodification-date>
- <editor-release>2.0</editor-release>
- <author>?</author>
- <container>localhost/FactoryServer</container>
- <comment>Div from DataStreamFactory</comment>
- <x-position>931</x-position>
- <y-position>385</y-position> </node>
- <node>
-<component-name>?</component-name>
- <interface-name>?</interface-name>
- <node-name>Loop</node-name>
- <kind>4</kind>
- <coupled-node>EndLoop</coupled-node>
- <service>
-<service-name>Loop</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>Index</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>Min</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>Max</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>Incr</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>double</inParameter-type>
- <inParameter-name>z_Div</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>double</inParameter-type>
- <inParameter-name>z_Div_1</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>double</inParameter-type>
- <inParameter-name>y_Add</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>double</inParameter-type>
- <inParameter-name>x_Sub</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>Index</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>Min</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>Max</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>Incr</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>double</outParameter-type>
- <outParameter-name>z_Div</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>double</outParameter-type>
- <outParameter-name>z_Div_1</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>double</outParameter-type>
- <outParameter-name>y_Add</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>double</outParameter-type>
- <outParameter-name>x_Sub</outParameter-name> </outParameter> </outParameter-list> </service>
- <DataStream-list/>
- <PyFunction-list>
-<PyFunction>
-<FuncName>Init</FuncName>
- <PyFunc><![CDATA[import time ]]></PyFunc>
- <PyFunc><![CDATA[def Init(Index,Min,Max,Incr,Z_Div,Z_Div_1,y_Add,x_Sub) : ]]></PyFunc>
- <PyFunc><![CDATA[ if Min <= Max : ]]></PyFunc>
- <PyFunc><![CDATA[ Index = Min ]]></PyFunc>
- <PyFunc><![CDATA[ else : ]]></PyFunc>
- <PyFunc><![CDATA[ Index = Max ]]></PyFunc>
- <PyFunc><![CDATA[ time.sleep( 1 ) ]]></PyFunc>
- <PyFunc><![CDATA[ return Index,Min,Max,Incr,Z_Div,Z_Div_1,y_Add,x_Sub ]]></PyFunc> </PyFunction>
- <PyFunction>
-<FuncName>More</FuncName>
- <PyFunc><![CDATA[import time ]]></PyFunc>
- <PyFunc><![CDATA[def More(Index,Min,Max,Incr,Z_Div,Z_Div_1,y_Add,x_Sub) : ]]></PyFunc>
- <PyFunc><![CDATA[ if Index < Max : ]]></PyFunc>
- <PyFunc><![CDATA[ DoLoop = 1 ]]></PyFunc>
- <PyFunc><![CDATA[ else : ]]></PyFunc>
- <PyFunc><![CDATA[ DoLoop = 0 ]]></PyFunc>
- <PyFunc><![CDATA[ time.sleep( 1 ) ]]></PyFunc>
- <PyFunc><![CDATA[ return DoLoop,Index,Min,Max,Incr,Z_Div,Z_Div_1,y_Add,x_Sub ]]></PyFunc> </PyFunction>
- <PyFunction>
-<FuncName>Next</FuncName>
- <PyFunc><![CDATA[import time ]]></PyFunc>
- <PyFunc><![CDATA[def Next(Index,Min,Max,Incr,Z_Div,Z_Div_1,y_Add,x_Sub) : ]]></PyFunc>
- <PyFunc><![CDATA[ Index = Index + Incr ]]></PyFunc>
- <PyFunc><![CDATA[ time.sleep( 1 ) ]]></PyFunc>
- <PyFunc><![CDATA[ return Index,Min,Max,Incr,Z_Div,Z_Div_1,y_Add,x_Sub ]]></PyFunc> </PyFunction> </PyFunction-list>
- <creation-date>21/5/2004 - 10:32:29</creation-date>
- <lastmodification-date>21/5/2004 - 10:32:29</lastmodification-date>
- <editor-release>2.0</editor-release>
- <author>?</author>
- <container>?</container>
- <comment>?</comment>
- <x-position>5</x-position>
- <y-position>391</y-position> </node>
- <node>
-<component-name>?</component-name>
- <interface-name>?</interface-name>
- <node-name>EndLoop</node-name>
- <kind>5</kind>
- <coupled-node>Loop</coupled-node>
- <service>
-<service-name>EndLoop</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>Index</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>Min</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>Max</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>Incr</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>double</inParameter-type>
- <inParameter-name>z_Div</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>double</inParameter-type>
- <inParameter-name>z_Div_1</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>double</inParameter-type>
- <inParameter-name>y_Add</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>double</inParameter-type>
- <inParameter-name>x_Sub</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>Index</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>Min</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>Max</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>Incr</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>double</outParameter-type>
- <outParameter-name>z_Div</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>double</outParameter-type>
- <outParameter-name>z_Div_1</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>double</outParameter-type>
- <outParameter-name>y_Add</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>double</outParameter-type>
- <outParameter-name>x_Sub</outParameter-name> </outParameter> </outParameter-list> </service>
- <DataStream-list/>
- <PyFunction-list>
-<PyFunction>
-<FuncName>EndInit</FuncName>
- <PyFunc><![CDATA[?]]></PyFunc> </PyFunction> </PyFunction-list>
- <creation-date>21/5/2004 - 10:32:29</creation-date>
- <lastmodification-date>21/5/2004 - 10:32:29</lastmodification-date>
- <editor-release>2.0</editor-release>
- <author>?</author>
- <container>?</container>
- <comment>?</comment>
- <x-position>1158</x-position>
- <y-position>393</y-position> </node> </node-list>
- <link-list>
-<link>
-<fromnode-name>Add</fromnode-name>
- <fromserviceparameter-name>z</fromserviceparameter-name>
- <tonode-name>Sub</tonode-name>
- <toserviceparameter-name>y</toserviceparameter-name>
- <coord-list>
-<coord>
-<x>448</x>
- <y>143</y> </coord>
- <coord>
-<x>449</x>
- <y>237</y> </coord> </coord-list> </link>
- <link>
-<fromnode-name>Add</fromnode-name>
- <fromserviceparameter-name>z</fromserviceparameter-name>
- <tonode-name>Mul</tonode-name>
- <toserviceparameter-name>y</toserviceparameter-name>
- <coord-list>
-<coord>
-<x>708</x>
- <y>237</y> </coord>
- <coord>
-<x>708</x>
- <y>270</y> </coord>
- <coord>
-<x>449</x>
- <y>270</y> </coord>
- <coord>
-<x>448</x>
- <y>238</y> </coord> </coord-list> </link>
- <link>
-<fromnode-name>Add</fromnode-name>
- <fromserviceparameter-name>ostream</fromserviceparameter-name>
- <tonode-name>Sub</tonode-name>
- <toserviceparameter-name>istream</toserviceparameter-name>
- <coord-list>
-<coord>
-<x>474</x>
- <y>175</y> </coord>
- <coord>
-<x>474</x>
- <y>297</y> </coord> </coord-list> </link>
- <link>
-<fromnode-name>Add</fromnode-name>
- <fromserviceparameter-name>OStream</fromserviceparameter-name>
- <tonode-name>Sub</tonode-name>
- <toserviceparameter-name>Istream</toserviceparameter-name>
- <coord-list>
-<coord>
-<x>497</x>
- <y>207</y> </coord>
- <coord>
-<x>498</x>
- <y>328</y> </coord> </coord-list> </link>
- <link>
-<fromnode-name>Sub</fromnode-name>
- <fromserviceparameter-name>z</fromserviceparameter-name>
- <tonode-name>Mul</tonode-name>
- <toserviceparameter-name>x</toserviceparameter-name>
- <coord-list>
-<coord>
-<x>706</x>
- <y>207</y> </coord>
- <coord>
-<x>706</x>
- <y>114</y> </coord> </coord-list> </link>
- <link>
-<fromnode-name>Sub</fromnode-name>
- <fromserviceparameter-name>z</fromserviceparameter-name>
- <tonode-name>Div</tonode-name>
- <toserviceparameter-name>x</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>Mul</fromnode-name>
- <fromserviceparameter-name>z</fromserviceparameter-name>
- <tonode-name>Div</tonode-name>
- <toserviceparameter-name>y</toserviceparameter-name>
- <coord-list>
-<coord>
-<x>912</x>
- <y>143</y> </coord>
- <coord>
-<x>911</x>
- <y>208</y> </coord> </coord-list> </link>
- <link>
-<fromnode-name>Div</fromnode-name>
- <fromserviceparameter-name>z</fromserviceparameter-name>
- <tonode-name>EndLoop</tonode-name>
- <toserviceparameter-name>z_Div</toserviceparameter-name>
- <coord-list>
-<coord>
-<x>1147</x>
- <y>537</y> </coord>
- <coord>
-<x>1148</x>
- <y>113</y> </coord> </coord-list> </link>
- <link>
-<fromnode-name>Div</fromnode-name>
- <fromserviceparameter-name>ostream</fromserviceparameter-name>
- <tonode-name>Add_1</tonode-name>
- <toserviceparameter-name>istream</toserviceparameter-name>
- <coord-list>
-<coord>
-<x>233</x>
- <y>626</y> </coord>
- <coord>
-<x>232</x>
- <y>763</y> </coord>
- <coord>
-<x>1126</x>
- <y>763</y> </coord>
- <coord>
-<x>1125</x>
- <y>175</y> </coord> </coord-list> </link>
- <link>
-<fromnode-name>Add_1</fromnode-name>
- <fromserviceparameter-name>z</fromserviceparameter-name>
- <tonode-name>Sub_1</tonode-name>
- <toserviceparameter-name>y</toserviceparameter-name>
- <coord-list>
-<coord>
-<x>445</x>
- <y>478</y> </coord>
- <coord>
-<x>444</x>
- <y>566</y> </coord> </coord-list> </link>
- <link>
-<fromnode-name>Add_1</fromnode-name>
- <fromserviceparameter-name>z</fromserviceparameter-name>
- <tonode-name>Mul_1</tonode-name>
- <toserviceparameter-name>y</toserviceparameter-name>
- <coord-list>
-<coord>
-<x>703</x>
- <y>582</y> </coord>
- <coord>
-<x>703</x>
- <y>677</y> </coord>
- <coord>
-<x>445</x>
- <y>678</y> </coord>
- <coord>
-<x>444</x>
- <y>567</y> </coord> </coord-list> </link>
- <link>
-<fromnode-name>Add_1</fromnode-name>
- <fromserviceparameter-name>ostream</fromserviceparameter-name>
- <tonode-name>Sub_1</tonode-name>
- <toserviceparameter-name>istream</toserviceparameter-name>
- <coord-list>
-<coord>
-<x>473</x>
- <y>511</y> </coord>
- <coord>
-<x>473</x>
- <y>627</y> </coord> </coord-list> </link>
- <link>
-<fromnode-name>Add_1</fromnode-name>
- <fromserviceparameter-name>OStream</fromserviceparameter-name>
- <tonode-name>Sub_1</tonode-name>
- <toserviceparameter-name>Istream</toserviceparameter-name>
- <coord-list>
-<coord>
-<x>498</x>
- <y>543</y> </coord>
- <coord>
-<x>497</x>
- <y>658</y> </coord> </coord-list> </link>
- <link>
-<fromnode-name>Sub_1</fromnode-name>
- <fromserviceparameter-name>z</fromserviceparameter-name>
- <tonode-name>Mul_1</tonode-name>
- <toserviceparameter-name>x</toserviceparameter-name>
- <coord-list>
-<coord>
-<x>708</x>
- <y>552</y> </coord>
- <coord>
-<x>707</x>
- <y>450</y> </coord> </coord-list> </link>
- <link>
-<fromnode-name>Sub_1</fromnode-name>
- <fromserviceparameter-name>z</fromserviceparameter-name>
- <tonode-name>Div_1</tonode-name>
- <toserviceparameter-name>x</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>Mul_1</fromnode-name>
- <fromserviceparameter-name>z</fromserviceparameter-name>
- <tonode-name>Div_1</tonode-name>
- <toserviceparameter-name>y</toserviceparameter-name>
- <coord-list>
-<coord>
-<x>913</x>
- <y>479</y> </coord>
- <coord>
-<x>913</x>
- <y>551</y> </coord> </coord-list> </link>
- <link>
-<fromnode-name>Div_1</fromnode-name>
- <fromserviceparameter-name>z</fromserviceparameter-name>
- <tonode-name>EndLoop</tonode-name>
- <toserviceparameter-name>z_Div_1</toserviceparameter-name>
- <coord-list>
-<coord>
-<x>1138</x>
- <y>567</y> </coord>
- <coord>
-<x>1138</x>
- <y>449</y> </coord> </coord-list> </link>
- <link>
-<fromnode-name>Div_1</fromnode-name>
- <fromserviceparameter-name>ostream</fromserviceparameter-name>
- <tonode-name>Add</tonode-name>
- <toserviceparameter-name>istream</toserviceparameter-name>
- <coord-list>
-<coord>
-<x>229</x>
- <y>297</y> </coord>
- <coord>
-<x>229</x>
- <y>426</y> </coord>
- <coord>
-<x>475</x>
- <y>425</y> </coord>
- <coord>
-<x>475</x>
- <y>352</y> </coord>
- <coord>
-<x>1110</x>
- <y>352</y> </coord>
- <coord>
-<x>1111</x>
- <y>512</y> </coord> </coord-list> </link>
- <link>
-<fromnode-name>Loop</fromnode-name>
- <fromserviceparameter-name>DoLoop</fromserviceparameter-name>
- <tonode-name>EndLoop</tonode-name>
- <toserviceparameter-name>DoLoop</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>Loop</fromnode-name>
- <fromserviceparameter-name>Index</fromserviceparameter-name>
- <tonode-name>EndLoop</tonode-name>
- <toserviceparameter-name>Index</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>Loop</fromnode-name>
- <fromserviceparameter-name>Index</fromserviceparameter-name>
- <tonode-name>Add</tonode-name>
- <toserviceparameter-name>x</toserviceparameter-name>
- <coord-list>
-<coord>
-<x>201</x>
- <y>236</y> </coord>
- <coord>
-<x>202</x>
- <y>420</y> </coord> </coord-list> </link>
- <link>
-<fromnode-name>Loop</fromnode-name>
- <fromserviceparameter-name>Index</fromserviceparameter-name>
- <tonode-name>Add_1</tonode-name>
- <toserviceparameter-name>x</toserviceparameter-name>
- <coord-list>
-<coord>
-<x>201</x>
- <y>562</y> </coord>
- <coord>
-<x>202</x>
- <y>422</y> </coord> </coord-list> </link>
- <link>
-<fromnode-name>Loop</fromnode-name>
- <fromserviceparameter-name>Min</fromserviceparameter-name>
- <tonode-name>EndLoop</tonode-name>
- <toserviceparameter-name>Min</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>Loop</fromnode-name>
- <fromserviceparameter-name>Max</fromserviceparameter-name>
- <tonode-name>EndLoop</tonode-name>
- <toserviceparameter-name>Max</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>Loop</fromnode-name>
- <fromserviceparameter-name>Incr</fromserviceparameter-name>
- <tonode-name>EndLoop</tonode-name>
- <toserviceparameter-name>Incr</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>Loop</fromnode-name>
- <fromserviceparameter-name>y_Add</fromserviceparameter-name>
- <tonode-name>EndLoop</tonode-name>
- <toserviceparameter-name>y_Add</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>Loop</fromnode-name>
- <fromserviceparameter-name>y_Add</fromserviceparameter-name>
- <tonode-name>Add</tonode-name>
- <toserviceparameter-name>y</toserviceparameter-name>
- <coord-list>
-<coord>
-<x>183</x>
- <y>266</y> </coord>
- <coord>
-<x>182</x>
- <y>593</y> </coord> </coord-list> </link>
- <link>
-<fromnode-name>Loop</fromnode-name>
- <fromserviceparameter-name>y_Add</fromserviceparameter-name>
- <tonode-name>Add_1</tonode-name>
- <toserviceparameter-name>y</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>Loop</fromnode-name>
- <fromserviceparameter-name>x_Sub</fromserviceparameter-name>
- <tonode-name>EndLoop</tonode-name>
- <toserviceparameter-name>x_Sub</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>Loop</fromnode-name>
- <fromserviceparameter-name>x_Sub</fromserviceparameter-name>
- <tonode-name>Sub</tonode-name>
- <toserviceparameter-name>x</toserviceparameter-name>
- <coord-list>
-<coord>
-<x>167</x>
- <y>113</y> </coord>
- <coord>
-<x>167</x>
- <y>625</y> </coord> </coord-list> </link>
- <link>
-<fromnode-name>Loop</fromnode-name>
- <fromserviceparameter-name>x_Sub</fromserviceparameter-name>
- <tonode-name>Sub_1</tonode-name>
- <toserviceparameter-name>x</toserviceparameter-name>
- <coord-list>
-<coord>
-<x>167</x>
- <y>450</y> </coord>
- <coord>
-<x>168</x>
- <y>624</y> </coord> </coord-list> </link>
- <link>
-<fromnode-name>EndLoop</fromnode-name>
- <fromserviceparameter-name>DoLoop</fromserviceparameter-name>
- <tonode-name>Loop</tonode-name>
- <toserviceparameter-name>InitLoop</toserviceparameter-name>
- <coord-list/> </link> </link-list>
- <data-list>
-<data>
-<fromnode-name>GraphStreams</fromnode-name>
- <fromserviceparameter-name>Loop\Index</fromserviceparameter-name>
- <tonode-name>Loop</tonode-name>
- <toserviceparameter-name>Index</toserviceparameter-name>
- <data-value>
-<value-type>3</value-type>
- <value>0</value> </data-value>
- <coord-list/> </data>
- <data>
-<fromnode-name>GraphStreams</fromnode-name>
- <fromserviceparameter-name>Loop\Min</fromserviceparameter-name>
- <tonode-name>Loop</tonode-name>
- <toserviceparameter-name>Min</toserviceparameter-name>
- <data-value>
-<value-type>3</value-type>
- <value>1</value> </data-value>
- <coord-list/> </data>
- <data>
-<fromnode-name>GraphStreams</fromnode-name>
- <fromserviceparameter-name>Loop\Max</fromserviceparameter-name>
- <tonode-name>Loop</tonode-name>
- <toserviceparameter-name>Max</toserviceparameter-name>
- <data-value>
-<value-type>3</value-type>
- <value>10</value> </data-value>
- <coord-list/> </data>
- <data>
-<fromnode-name>GraphStreams</fromnode-name>
- <fromserviceparameter-name>Loop\Incr</fromserviceparameter-name>
- <tonode-name>Loop</tonode-name>
- <toserviceparameter-name>Incr</toserviceparameter-name>
- <data-value>
-<value-type>3</value-type>
- <value>1</value> </data-value>
- <coord-list/> </data>
- <data>
-<fromnode-name>GraphStreams</fromnode-name>
- <fromserviceparameter-name>Loop\z_Div</fromserviceparameter-name>
- <tonode-name>Loop</tonode-name>
- <toserviceparameter-name>z_Div</toserviceparameter-name>
- <data-value>
-<value-type>7</value-type>
- <value>0</value> </data-value>
- <coord-list/> </data>
- <data>
-<fromnode-name>GraphStreams</fromnode-name>
- <fromserviceparameter-name>Loop\z_Div_1</fromserviceparameter-name>
- <tonode-name>Loop</tonode-name>
- <toserviceparameter-name>z_Div_1</toserviceparameter-name>
- <data-value>
-<value-type>7</value-type>
- <value>0</value> </data-value>
- <coord-list/> </data>
- <data>
-<fromnode-name>GraphStreams</fromnode-name>
- <fromserviceparameter-name>Loop\y_Add</fromserviceparameter-name>
- <tonode-name>Loop</tonode-name>
- <toserviceparameter-name>y_Add</toserviceparameter-name>
- <data-value>
-<value-type>7</value-type>
- <value>4.5</value> </data-value>
- <coord-list/> </data>
- <data>
-<fromnode-name>GraphStreams</fromnode-name>
- <fromserviceparameter-name>Loop\x_Sub</fromserviceparameter-name>
- <tonode-name>Loop</tonode-name>
- <toserviceparameter-name>x_Sub</toserviceparameter-name>
- <data-value>
-<value-type>7</value-type>
- <value>1.5</value> </data-value>
- <coord-list/> </data> </data-list></dataflow>
+++ /dev/null
-from SuperV import *
-
-FlowGraph = Graph( 'FlowGraph' )
-Add = FlowGraph.FNode( 'AddComponent' , 'AddComponent' , 'Add' )
-
-Sub = FlowGraph.FNode( 'SubComponent' , 'SubComponent' , 'Sub' )
-Addz = Add.GetOutStreamPort( 'z' )
-if Addz != None :
- print "Error : GetOutStreamPort of a FlowPort in a FlowGraph"
-else :
- print 'None : Ok'
-
-Addz = Add.Port( 'z' )
-try :
- Suby = FlowGraph.StreamLink( Addz , Sub.Port( 'y' ) )
- print "Error : creation of a StreamLink in a FlowGraph"
-except :
- print "Ok"
-
-links = FlowGraph.StreamLinks()
-if len(links) != 0 :
- print "Error : StreamLinks in a FlowGraph"
-
-ports = FlowGraph.StreamPorts()
-if len( ports ) != 0 :
- print "Error : StreamPorts in a FlowGraph"
-
-links = Add.StreamLinks()
-if len(links) != 0 :
- print "Error : StreamLinks in a FlowNode"
-
-ports = Add.StreamPorts()
-if len( ports ) != 0 :
- print "Error : StreamPorts in a FlowNode"
-
-try :
- FlowGraph.SetStreamParams( 100 , SUPERV.WithoutTrace , 10. )
-except :
- print "No SetStreamParams Ok"
-
-try :
- Timeout,DataStreamTrace,DeltaTime = FlowGraph.StreamParams()
-except :
- print "No StreamParams Ok"
-
-
-
-
-from SuperV import *
-GraphStreams = StreamGraph( '/home/Salome2/SUPERV_DataStream/SUPERV_SRC/examples/GraphStreams.xml')
-
-GraphStreams.PrintPorts()
-GraphStreams.PrintLinks()
-
-exec GraphStreams.ListNodes()
-Add.PrintPorts()
-Add.PrintLinks()
-
-exec Loop.ListPorts()
-ILoopIndex.Print()
-OLoopIndex.Print()
-exec EndLoop.ListPorts()
-IEndLoopGate.Print()
-OEndLoopx_Sub.Print()
-exec Add.ListPorts()
-IAddx.Print()
-IAddistream.Print()
-OAddOStream.Print()
-exec Sub.ListPorts()
-exec Mul.ListPorts()
-exec Div.ListPorts()
-exec Add_1.ListPorts()
-exec Sub_1.ListPorts()
-exec Mul_1.ListPorts()
-exec Div_1.ListPorts()
-exec Add.ListLinks()
-LLoopIndexAddx.Print()
-LAddzMuly.Print()
-LDiv_1ostreamAddistream.Print()
-LAddOStreamSubIstream.Print()
-
-
-GraphStreams.IsExecutable()
-
-GraphStreams.Run()
-GraphStreams.DoneW()
-GraphStreams.PrintPorts()
-
-
-
-subgraphs = GraphStreams.SubGraphsNumber()
-i = 1
-while i <= subgraphs :
- nodes = GraphStreams.SubGraphsNodes( i )
- j = 0
- while j < len(nodes) :
- print 'SubGraph',i,nodes[j].Name()
- j = j + 1
- i = i + 1
-
-
-substreamgraphs = GraphStreams.SubStreamGraphsNumber()
-i = 1
-while i <= substreamgraphs :
- nodes = GraphStreams.SubStreamGraphsNodes( i )
- j = 0
- while j < len(nodes) :
- print 'SubStreamGraph',i,nodes[j].Name()
- j = j + 1
- i = i + 1
-
+++ /dev/null
-DEBUT GraphStreams_1
- TIMEOUT 1000
- TRACE SUCCINT
- DELTA_T 1.5
-
-
-# Liste des codes
-
- CODE Add
- istream I IN ENTIER
- ostream I OUT ENTIER
- OStream I OUT ENTIER
- FIN #Add
-
-
- CODE Div
- ostream I OUT ENTIER
- FIN #Div
-
-
- CODE Sub
- istream I IN ENTIER
- Istream I IN ENTIER
- FIN #Sub
-
-
-
-
-# Liste des instances
-
- INSTANCE Add
- CODE Add
- FIN
-
- INSTANCE Sub
- CODE Sub
- FIN
-
- INSTANCE Div_1
- CODE Div
- FIN
-
-
-
-
-
-# Liste des liens
-
- LIEN
- Add.ostream 0 => Sub.istream SCHENULL INTERNULL EXTRANULL ;
- Add.OStream 10 => Sub.Istream SCHENULL INTERNULL EXTRANULL ;
- Div_1.ostream 0 => Add.istream SCHENULL INTERNULL EXTRANULL ;
- FIN
-
-FIN
+++ /dev/null
-DEBUT GraphStreams_2
- TIMEOUT 1000
- TRACE SUCCINT
- DELTA_T 1.5
-
-
-# Liste des codes
-
- CODE Add
- istream I IN ENTIER
- ostream I OUT ENTIER
- OStream I OUT ENTIER
- FIN #Add
-
-
- CODE Div
- ostream I OUT ENTIER
- FIN #Div
-
-
- CODE Sub
- istream I IN ENTIER
- Istream I IN ENTIER
- FIN #Sub
-
-
-
-
-# Liste des instances
-
- INSTANCE Div
- CODE Div
- FIN
-
- INSTANCE Add_1
- CODE Add
- FIN
-
- INSTANCE Sub_1
- CODE Sub
- FIN
-
-
-
-
-
-# Liste des liens
-
- LIEN
- Div.ostream 0 => Add_1.istream SCHENULL INTERNULL EXTRANULL ;
- Add_1.ostream 0 => Sub_1.istream SCHENULL INTERNULL EXTRANULL ;
- Add_1.OStream 0 => Sub_1.Istream SCHENULL INTERNULL EXTRANULL ;
- FIN
-
-FIN
+++ /dev/null
-
-# Generated python file of Graph GraphSwitch
-
-from SuperV import *
-# Graph creation
-GraphSwitch = Graph( 'GraphSwitch' )
-GraphSwitch.SetName( 'GraphSwitch' )
-GraphSwitch.SetAuthor( '' )
-GraphSwitch.SetComment( '' )
-GraphSwitch.Coords( 0 , 0 )
-
-# Creation of Factory Nodes
-
-# Creation of InLine Nodes
-PyIsOdd = []
-PyIsOdd.append( 'from time import * ' )
-PyIsOdd.append( 'def IsOdd(a) : ' )
-PyIsOdd.append( ' print a,"IsOdd (GraphSwitch)" ' )
-PyIsOdd.append( ' sleep( 1 ) ' )
-PyIsOdd.append( ' return a ' )
-IsOdd = GraphSwitch.INode( 'IsOdd' , PyIsOdd )
-IsOdd.SetName( 'IsOdd' )
-IsOdd.SetAuthor( '' )
-IsOdd.SetComment( 'Python function' )
-IsOdd.Coords( 388 , 50 )
-IsOdd.InPort( 'a' , 'long' )
-IsOdd.OutPort( 'a' , 'long' )
-
-# Creation of Loop Nodes
-PyInitLoopSwitch = []
-PyInitLoopSwitch.append( 'def InitLoop(Index,Min,Max) : ' )
-PyInitLoopSwitch.append( ' return Index,Min,Max ' )
-PyMoreInitLoopSwitch = []
-PyMoreInitLoopSwitch.append( 'def MoreLoop(Index,Min,Max) : ' )
-PyMoreInitLoopSwitch.append( ' if Index <= Max : ' )
-PyMoreInitLoopSwitch.append( ' DoLoop = 1 ' )
-PyMoreInitLoopSwitch.append( ' else : ' )
-PyMoreInitLoopSwitch.append( ' DoLoop = 0 ' )
-PyMoreInitLoopSwitch.append( ' return DoLoop,Index,Min,Max ' )
-PyNextInitLoopSwitch = []
-PyNextInitLoopSwitch.append( 'def NextLoop(Index,Min,Max) : ' )
-PyNextInitLoopSwitch.append( ' Index = Index + 1 ' )
-PyNextInitLoopSwitch.append( ' return Index,Min,Max ' )
-InitLoopSwitch,EndOfInitLoopSwitch = GraphSwitch.LNode( 'InitLoop' , PyInitLoopSwitch , 'MoreLoop' , PyMoreInitLoopSwitch , 'NextLoop' , PyNextInitLoopSwitch )
-EndOfInitLoopSwitch.SetName( 'EndOfInitLoopSwitch' )
-EndOfInitLoopSwitch.SetAuthor( '' )
-EndOfInitLoopSwitch.SetComment( '' )
-EndOfInitLoopSwitch.Coords( 766 , 127 )
-InitLoopSwitch.SetName( 'InitLoopSwitch' )
-InitLoopSwitch.SetAuthor( '' )
-InitLoopSwitch.SetComment( '' )
-InitLoopSwitch.Coords( 10 , 129 )
-InitLoopSwitch.InPort( 'Index' , 'long' )
-InitLoopSwitch.InPort( 'Min' , 'long' )
-InitLoopSwitch.InPort( 'Max' , 'long' )
-InitLoopSwitch.OutPort( 'Index' , 'long' )
-InitLoopSwitch.OutPort( 'Min' , 'long' )
-InitLoopSwitch.OutPort( 'Max' , 'long' )
-
-# Creation of Switch Nodes
-PySwitch = []
-PySwitch.append( 'from time import * ' )
-PySwitch.append( 'def Switch(a) : ' )
-PySwitch.append( ' if ( a & 1 ) == 0 : ' )
-PySwitch.append( ' sleep(1) ' )
-PySwitch.append( ' return a & 1,1-(a&1),a ' )
-Switch,EndOfSwitch = GraphSwitch.SNode( 'Switch' , PySwitch )
-EndOfSwitch.SetName( 'EndOfSwitch' )
-EndOfSwitch.SetAuthor( '' )
-EndOfSwitch.SetComment( '' )
-EndOfSwitch.Coords( 587 , 126 )
-PyEndOfSwitch = []
-EndOfSwitch.SetPyFunction( 'EndSwitch' , PyEndOfSwitch )
-EndOfSwitch.InPort( 'a' , 'long' )
-EndOfSwitch.OutPort( 'a' , 'long' )
-Switch.SetName( 'Switch' )
-Switch.SetAuthor( '' )
-Switch.SetComment( '' )
-Switch.Coords( 186 , 130 )
-Switch.InPort( 'a' , 'long' )
-Switch.OutPort( 'Odd' , 'long' )
-Switch.OutPort( 'Even' , 'int' )
-Switch.OutPort( 'a' , 'int' )
-
-# Creation of Links
-IsOdda = IsOdd.Port( 'a' )
-EndOfSwitcha = GraphSwitch.Link( IsOdda , EndOfSwitch.Port( 'a' ) )
-EndOfSwitcha.AddCoord( 1 , 571 , 161 )
-EndOfSwitcha.AddCoord( 2 , 571 , 131 )
-
-InitLoopSwitchIndex = InitLoopSwitch.Port( 'Index' )
-Switcha = GraphSwitch.Link( InitLoopSwitchIndex , Switch.Port( 'a' ) )
-
-InitLoopSwitchMin = InitLoopSwitch.Port( 'Min' )
-EndOfInitLoopSwitchMin = GraphSwitch.Link( InitLoopSwitchMin , EndOfInitLoopSwitch.Port( 'Min' ) )
-
-InitLoopSwitchMax = InitLoopSwitch.Port( 'Max' )
-EndOfInitLoopSwitchMax = GraphSwitch.Link( InitLoopSwitchMax , EndOfInitLoopSwitch.Port( 'Max' ) )
-
-SwitchOdd = Switch.Port( 'Odd' )
-IsOddInGate = GraphSwitch.Link( SwitchOdd , IsOdd.Port( 'InGate' ) )
-
-Switcha = Switch.Port( 'a' )
-IsOdda = GraphSwitch.Link( Switcha , IsOdd.Port( 'a' ) )
-IsOdda.AddCoord( 1 , 372 , 129 )
-IsOdda.AddCoord( 2 , 371 , 223 )
-
-SwitchDefault = Switch.Port( 'Default' )
-EndOfSwitchDefault = GraphSwitch.Link( SwitchDefault , EndOfSwitch.Port( 'Default' ) )
-EndOfSwitchDefault.AddCoord( 1 , 572 , 194 )
-EndOfSwitchDefault.AddCoord( 2 , 571 , 257 )
-
-EndOfSwitcha = EndOfSwitch.Port( 'a' )
-EndOfInitLoopSwitchIndex = GraphSwitch.Link( EndOfSwitcha , EndOfInitLoopSwitch.Port( 'Index' ) )
-
-# Creation of Input datas
-InitLoopSwitchIndex = InitLoopSwitch.Input( 'Index' , 0)
-InitLoopSwitchMin = InitLoopSwitch.Input( 'Min' , 0)
-InitLoopSwitchMax = InitLoopSwitch.Input( 'Max' , 100)
-
-# Creation of Output variables
-EndOfInitLoopSwitchIndex = EndOfInitLoopSwitch.Port( 'Index' )
-EndOfInitLoopSwitchMin = EndOfInitLoopSwitch.Port( 'Min' )
-EndOfInitLoopSwitchMax = EndOfInitLoopSwitch.Port( 'Max' )
-SwitchEven = Switch.Port( 'Even' )
-
-GraphSwitch.Run()
-GraphSwitch.DoneW()
-GraphSwitch.State()
-GraphSwitch.PrintPorts()
+++ /dev/null
-<!DOCTYPE Dataflow>
-<dataflow>
-<info-list>
-<node>
-<component-name>?</component-name>
- <interface-name>?</interface-name>
- <node-name>GraphSwitch</node-name>
- <kind>1</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>GraphSwitch</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>InitLoopSwitch\Index</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>InitLoopSwitch\Min</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>InitLoopSwitch\Max</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>EndOfInitLoopSwitch\Index</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>EndOfInitLoopSwitch\Min</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>EndOfInitLoopSwitch\Max</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>int</outParameter-type>
- <outParameter-name>Switch\Even</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list/>
- <creation-date>1/10/2003 - 17:23:54</creation-date>
- <lastmodification-date>13/10/2003 - 10:53:44</lastmodification-date>
- <editor-release>1.05</editor-release>
- <author>?</author>
- <container>?</container>
- <comment>?</comment>
- <x-position>0</x-position>
- <y-position>0</y-position> </node> </info-list>
- <node-list>
-<node>
-<component-name>?</component-name>
- <interface-name>?</interface-name>
- <node-name>IsOdd</node-name>
- <kind>3</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>IsOdd</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>a</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>a</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list>
-<PyFunction>
-<FuncName>IsOdd</FuncName>
- <PyFunc><![CDATA[from time import * ]]></PyFunc>
- <PyFunc><![CDATA[def IsOdd(a) : ]]></PyFunc>
- <PyFunc><![CDATA[ print a,"IsOdd (GraphSwitch)" ]]></PyFunc>
- <PyFunc><![CDATA[ sleep( 1 ) ]]></PyFunc>
- <PyFunc><![CDATA[ return a ]]></PyFunc> </PyFunction> </PyFunction-list>
- <creation-date>13/10/2003 - 10:53:44</creation-date>
- <lastmodification-date>13/10/2003 - 10:53:44</lastmodification-date>
- <editor-release>1.05</editor-release>
- <author>?</author>
- <container>?</container>
- <comment>Python function</comment>
- <x-position>388</x-position>
- <y-position>50</y-position> </node>
- <node>
-<component-name>?</component-name>
- <interface-name>?</interface-name>
- <node-name>InitLoopSwitch</node-name>
- <kind>4</kind>
- <coupled-node>EndOfInitLoopSwitch</coupled-node>
- <service>
-<service-name>InitLoopSwitch</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>Index</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>Min</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>Max</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>Index</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>Min</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>Max</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list>
-<PyFunction>
-<FuncName>InitLoop</FuncName>
- <PyFunc><![CDATA[def InitLoop(Index,Min,Max) : ]]></PyFunc>
- <PyFunc><![CDATA[ return Index,Min,Max ]]></PyFunc> </PyFunction>
- <PyFunction>
-<FuncName>MoreLoop</FuncName>
- <PyFunc><![CDATA[def MoreLoop(Index,Min,Max) : ]]></PyFunc>
- <PyFunc><![CDATA[ if Index <= Max : ]]></PyFunc>
- <PyFunc><![CDATA[ DoLoop = 1 ]]></PyFunc>
- <PyFunc><![CDATA[ else : ]]></PyFunc>
- <PyFunc><![CDATA[ DoLoop = 0 ]]></PyFunc>
- <PyFunc><![CDATA[ return DoLoop,Index,Min,Max ]]></PyFunc> </PyFunction>
- <PyFunction>
-<FuncName>NextLoop</FuncName>
- <PyFunc><![CDATA[def NextLoop(Index,Min,Max) : ]]></PyFunc>
- <PyFunc><![CDATA[ Index = Index + 1 ]]></PyFunc>
- <PyFunc><![CDATA[ return Index,Min,Max ]]></PyFunc> </PyFunction> </PyFunction-list>
- <creation-date>13/10/2003 - 10:53:44</creation-date>
- <lastmodification-date>13/10/2003 - 10:53:44</lastmodification-date>
- <editor-release>1.05</editor-release>
- <author>?</author>
- <container>?</container>
- <comment>?</comment>
- <x-position>10</x-position>
- <y-position>129</y-position> </node>
- <node>
-<component-name>?</component-name>
- <interface-name>?</interface-name>
- <node-name>EndOfInitLoopSwitch</node-name>
- <kind>5</kind>
- <coupled-node>InitLoopSwitch</coupled-node>
- <service>
-<service-name>EndOfInitLoopSwitch</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>Index</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>Min</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>Max</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>Index</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>Min</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>Max</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list>
-<PyFunction/> </PyFunction-list>
- <creation-date>13/10/2003 - 10:53:44</creation-date>
- <lastmodification-date>13/10/2003 - 10:53:44</lastmodification-date>
- <editor-release>1.05</editor-release>
- <author>?</author>
- <container>?</container>
- <comment>?</comment>
- <x-position>766</x-position>
- <y-position>127</y-position> </node>
- <node>
-<component-name>?</component-name>
- <interface-name>?</interface-name>
- <node-name>Switch</node-name>
- <kind>6</kind>
- <coupled-node>EndOfSwitch</coupled-node>
- <service>
-<service-name>Switch</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>a</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>Odd</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>int</outParameter-type>
- <outParameter-name>Even</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>int</outParameter-type>
- <outParameter-name>a</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list>
-<PyFunction>
-<FuncName>Switch</FuncName>
- <PyFunc><![CDATA[from time import * ]]></PyFunc>
- <PyFunc><![CDATA[def Switch(a) : ]]></PyFunc>
- <PyFunc><![CDATA[ if ( a & 1 ) == 0 : ]]></PyFunc>
- <PyFunc><![CDATA[ sleep(1) ]]></PyFunc>
- <PyFunc><![CDATA[ return a & 1,1-(a&1),a ]]></PyFunc> </PyFunction> </PyFunction-list>
- <creation-date>13/10/2003 - 10:53:44</creation-date>
- <lastmodification-date>13/10/2003 - 10:53:44</lastmodification-date>
- <editor-release>1.05</editor-release>
- <author>?</author>
- <container>?</container>
- <comment>?</comment>
- <x-position>186</x-position>
- <y-position>130</y-position> </node>
- <node>
-<component-name>?</component-name>
- <interface-name>?</interface-name>
- <node-name>EndOfSwitch</node-name>
- <kind>7</kind>
- <coupled-node>Switch</coupled-node>
- <service>
-<service-name>EndOfSwitch</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>a</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>a</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list>
-<PyFunction/> </PyFunction-list>
- <creation-date>13/10/2003 - 10:53:44</creation-date>
- <lastmodification-date>13/10/2003 - 10:53:44</lastmodification-date>
- <editor-release>1.05</editor-release>
- <author>?</author>
- <container>?</container>
- <comment>?</comment>
- <x-position>587</x-position>
- <y-position>126</y-position> </node> </node-list>
- <link-list>
-<link>
-<fromnode-name>IsOdd</fromnode-name>
- <fromserviceparameter-name>a</fromserviceparameter-name>
- <tonode-name>EndOfSwitch</tonode-name>
- <toserviceparameter-name>a</toserviceparameter-name>
- <coord-list>
-<coord>
-<x>571</x>
- <y>161</y> </coord>
- <coord>
-<x>571</x>
- <y>131</y> </coord> </coord-list> </link>
- <link>
-<fromnode-name>InitLoopSwitch</fromnode-name>
- <fromserviceparameter-name>DoLoop</fromserviceparameter-name>
- <tonode-name>EndOfInitLoopSwitch</tonode-name>
- <toserviceparameter-name>DoLoop</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>InitLoopSwitch</fromnode-name>
- <fromserviceparameter-name>Index</fromserviceparameter-name>
- <tonode-name>Switch</tonode-name>
- <toserviceparameter-name>a</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>InitLoopSwitch</fromnode-name>
- <fromserviceparameter-name>Min</fromserviceparameter-name>
- <tonode-name>EndOfInitLoopSwitch</tonode-name>
- <toserviceparameter-name>Min</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>InitLoopSwitch</fromnode-name>
- <fromserviceparameter-name>Max</fromserviceparameter-name>
- <tonode-name>EndOfInitLoopSwitch</tonode-name>
- <toserviceparameter-name>Max</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>EndOfInitLoopSwitch</fromnode-name>
- <fromserviceparameter-name>DoLoop</fromserviceparameter-name>
- <tonode-name>InitLoopSwitch</tonode-name>
- <toserviceparameter-name>InitLoop</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>Switch</fromnode-name>
- <fromserviceparameter-name>Odd</fromserviceparameter-name>
- <tonode-name>IsOdd</tonode-name>
- <toserviceparameter-name>InGate</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>Switch</fromnode-name>
- <fromserviceparameter-name>a</fromserviceparameter-name>
- <tonode-name>IsOdd</tonode-name>
- <toserviceparameter-name>a</toserviceparameter-name>
- <coord-list>
-<coord>
-<x>372</x>
- <y>129</y> </coord>
- <coord>
-<x>371</x>
- <y>223</y> </coord> </coord-list> </link>
- <link>
-<fromnode-name>Switch</fromnode-name>
- <fromserviceparameter-name>Default</fromserviceparameter-name>
- <tonode-name>EndOfSwitch</tonode-name>
- <toserviceparameter-name>Default</toserviceparameter-name>
- <coord-list>
-<coord>
-<x>572</x>
- <y>194</y> </coord>
- <coord>
-<x>571</x>
- <y>257</y> </coord> </coord-list> </link>
- <link>
-<fromnode-name>EndOfSwitch</fromnode-name>
- <fromserviceparameter-name>a</fromserviceparameter-name>
- <tonode-name>EndOfInitLoopSwitch</tonode-name>
- <toserviceparameter-name>Index</toserviceparameter-name>
- <coord-list/> </link> </link-list>
- <data-list>
-<data>
-<fromnode-name>GraphSwitch</fromnode-name>
- <fromserviceparameter-name>InitLoopSwitch\Index</fromserviceparameter-name>
- <tonode-name>InitLoopSwitch</tonode-name>
- <toserviceparameter-name>Index</toserviceparameter-name>
- <data-value>
-<value-type>3</value-type>
- <value>0</value> </data-value>
- <coord-list/> </data>
- <data>
-<fromnode-name>GraphSwitch</fromnode-name>
- <fromserviceparameter-name>InitLoopSwitch\Min</fromserviceparameter-name>
- <tonode-name>InitLoopSwitch</tonode-name>
- <toserviceparameter-name>Min</toserviceparameter-name>
- <data-value>
-<value-type>3</value-type>
- <value>0</value> </data-value>
- <coord-list/> </data>
- <data>
-<fromnode-name>GraphSwitch</fromnode-name>
- <fromserviceparameter-name>InitLoopSwitch\Max</fromserviceparameter-name>
- <tonode-name>InitLoopSwitch</tonode-name>
- <toserviceparameter-name>Max</toserviceparameter-name>
- <data-value>
-<value-type>3</value-type>
- <value>100</value> </data-value>
- <coord-list/> </data> </data-list></dataflow>
+++ /dev/null
-
-# Generated python file of Graph GraphSwitch1
-
-from SuperV import *
-# Graph creation
-GraphSwitch1 = Graph( 'GraphSwitch1' )
-GraphSwitch1.SetName( 'GraphSwitch1' )
-GraphSwitch1.SetAuthor( '' )
-GraphSwitch1.SetComment( '' )
-GraphSwitch1.Coords( 0 , 0 )
-
-# Creation of Factory Nodes
-
-# Creation of InLine Nodes
-PyIsOdd = []
-PyIsOdd.append( 'from time import * ' )
-PyIsOdd.append( 'def IsOdd(a) : ' )
-PyIsOdd.append( ' print a,"IsOdd (GraphSwitch1)" ' )
-PyIsOdd.append( ' sleep( 1 ) ' )
-PyIsOdd.append( ' return a ' )
-IsOdd = GraphSwitch1.INode( 'IsOdd' , PyIsOdd )
-IsOdd.SetName( 'IsOdd' )
-IsOdd.SetAuthor( '' )
-IsOdd.SetComment( 'Python function' )
-IsOdd.Coords( 388 , 50 )
-IsOdd.InPort( 'a' , 'long' )
-IsOdd.OutPort( 'a' , 'long' )
-
-# Creation of Loop Nodes
-PyInitLoop = []
-PyInitLoop.append( 'def InitLoop(Index,Min,Max) : ' )
-PyInitLoop.append( ' return Index,Min,Max ' )
-PyMoreInitLoop = []
-PyMoreInitLoop.append( 'def MoreLoop(Index,Min,Max) : ' )
-PyMoreInitLoop.append( ' if Index <= Max : ' )
-PyMoreInitLoop.append( ' DoLoop = 1 ' )
-PyMoreInitLoop.append( ' else : ' )
-PyMoreInitLoop.append( ' DoLoop = 0 ' )
-PyMoreInitLoop.append( ' return DoLoop,Index,Min,Max ' )
-PyNextInitLoop = []
-PyNextInitLoop.append( 'def NextLoop(Index,Min,Max) : ' )
-PyNextInitLoop.append( ' Index = Index + 1 ' )
-PyNextInitLoop.append( ' return Index,Min,Max ' )
-InitLoop,EndOfInitLoop = GraphSwitch1.LNode( 'InitLoop' , PyInitLoop , 'MoreLoop' , PyMoreInitLoop , 'NextLoop' , PyNextInitLoop )
-EndOfInitLoop.SetName( 'EndOfInitLoop' )
-EndOfInitLoop.SetAuthor( '' )
-EndOfInitLoop.SetComment( '' )
-EndOfInitLoop.Coords( 766 , 127 )
-InitLoop.SetName( 'InitLoop' )
-InitLoop.SetAuthor( '' )
-InitLoop.SetComment( '' )
-InitLoop.Coords( 10 , 129 )
-InitLoop.InPort( 'Index' , 'long' )
-InitLoop.InPort( 'Min' , 'long' )
-InitLoop.InPort( 'Max' , 'long' )
-InitLoop.OutPort( 'Index' , 'long' )
-InitLoop.OutPort( 'Min' , 'long' )
-InitLoop.OutPort( 'Max' , 'long' )
-
-# Creation of Switch Nodes
-PySwitch = []
-PySwitch.append( 'from time import * ' )
-PySwitch.append( 'def Switch(a) : ' )
-PySwitch.append( ' if ( a & 1 ) == 0 : ' )
-PySwitch.append( ' sleep(1) ' )
-PySwitch.append( ' return a & 1,1-(a&1),a ' )
-Switch,EndOfSwitch = GraphSwitch1.SNode( 'Switch' , PySwitch )
-EndOfSwitch.SetName( 'EndOfSwitch' )
-EndOfSwitch.SetAuthor( '' )
-EndOfSwitch.SetComment( '' )
-EndOfSwitch.Coords( 587 , 126 )
-PyEndOfSwitch = []
-EndOfSwitch.SetPyFunction( 'EndSwitch' , PyEndOfSwitch )
-EndOfSwitch.InPort( 'a' , 'long' )
-EndOfSwitch.OutPort( 'a' , 'long' )
-Switch.SetName( 'Switch' )
-Switch.SetAuthor( '' )
-Switch.SetComment( '' )
-Switch.Coords( 186 , 130 )
-Switch.InPort( 'a' , 'long' )
-Switch.OutPort( 'Odd' , 'long' )
-Switch.OutPort( 'Even' , 'int' )
-Switch.OutPort( 'a' , 'int' )
-
-# Creation of Links
-IsOdda = IsOdd.Port( 'a' )
-EndOfSwitcha = GraphSwitch1.Link( IsOdda , EndOfSwitch.Port( 'a' ) )
-EndOfSwitcha.AddCoord( 1 , 571 , 161 )
-EndOfSwitcha.AddCoord( 2 , 571 , 131 )
-
-InitLoopIndex = InitLoop.Port( 'Index' )
-Switcha = GraphSwitch1.Link( InitLoopIndex , Switch.Port( 'a' ) )
-
-InitLoopMin = InitLoop.Port( 'Min' )
-EndOfInitLoopMin = GraphSwitch1.Link( InitLoopMin , EndOfInitLoop.Port( 'Min' ) )
-
-InitLoopMax = InitLoop.Port( 'Max' )
-EndOfInitLoopMax = GraphSwitch1.Link( InitLoopMax , EndOfInitLoop.Port( 'Max' ) )
-
-SwitchOdd = Switch.Port( 'Odd' )
-IsOddInGate = GraphSwitch1.Link( SwitchOdd , IsOdd.Port( 'InGate' ) )
-
-SwitchEven = Switch.Port( 'Even' )
-EndOfSwitchDefault = GraphSwitch1.Link( SwitchEven , EndOfSwitch.Port( 'Default' ) )
-
-Switcha = Switch.Port( 'a' )
-IsOdda = GraphSwitch1.Link( Switcha , IsOdd.Port( 'a' ) )
-IsOdda.AddCoord( 1 , 372 , 129 )
-IsOdda.AddCoord( 2 , 371 , 223 )
-
-EndOfSwitcha = GraphSwitch1.Link( Switcha , EndOfSwitch.Port( 'a' ) )
-EndOfSwitcha.AddCoord( 1 , 571 , 161 )
-EndOfSwitcha.AddCoord( 2 , 570 , 221 )
-
-EndOfSwitcha = EndOfSwitch.Port( 'a' )
-EndOfInitLoopIndex = GraphSwitch1.Link( EndOfSwitcha , EndOfInitLoop.Port( 'Index' ) )
-
-# Creation of Input datas
-InitLoopIndex = InitLoop.Input( 'Index' , 0)
-InitLoopMin = InitLoop.Input( 'Min' , 0)
-InitLoopMax = InitLoop.Input( 'Max' , 100)
-
-# Creation of Output variables
-EndOfInitLoopIndex = EndOfInitLoop.Port( 'Index' )
-EndOfInitLoopMin = EndOfInitLoop.Port( 'Min' )
-EndOfInitLoopMax = EndOfInitLoop.Port( 'Max' )
-
-GraphSwitch1.Run()
-GraphSwitch1.DoneW()
-GraphSwitch1.State()
-GraphSwitch1.PrintPorts()
+++ /dev/null
-<!DOCTYPE Dataflow>
-<dataflow>
-<info-list>
-<node>
-<component-name>?</component-name>
- <interface-name>?</interface-name>
- <node-name>GraphSwitch1</node-name>
- <kind>1</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>GraphSwitch1</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>InitLoop\Index</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>InitLoop\Min</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>InitLoop\Max</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>EndOfInitLoop\Index</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>EndOfInitLoop\Min</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>EndOfInitLoop\Max</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list/>
- <creation-date>1/10/2003 - 17:12:48</creation-date>
- <lastmodification-date>13/10/2003 - 10:54:20</lastmodification-date>
- <editor-release>1.05</editor-release>
- <author>?</author>
- <container>?</container>
- <comment>?</comment>
- <x-position>0</x-position>
- <y-position>0</y-position> </node> </info-list>
- <node-list>
-<node>
-<component-name>?</component-name>
- <interface-name>?</interface-name>
- <node-name>IsOdd</node-name>
- <kind>3</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>IsOdd</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>a</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>a</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list>
-<PyFunction>
-<FuncName>IsOdd</FuncName>
- <PyFunc><![CDATA[from time import * ]]></PyFunc>
- <PyFunc><![CDATA[def IsOdd(a) : ]]></PyFunc>
- <PyFunc><![CDATA[ print a,"IsOdd (GraphSwitch1)" ]]></PyFunc>
- <PyFunc><![CDATA[ sleep( 1 ) ]]></PyFunc>
- <PyFunc><![CDATA[ return a ]]></PyFunc> </PyFunction> </PyFunction-list>
- <creation-date>13/10/2003 - 10:54:20</creation-date>
- <lastmodification-date>13/10/2003 - 10:54:20</lastmodification-date>
- <editor-release>1.05</editor-release>
- <author>?</author>
- <container>?</container>
- <comment>Python function</comment>
- <x-position>388</x-position>
- <y-position>50</y-position> </node>
- <node>
-<component-name>?</component-name>
- <interface-name>?</interface-name>
- <node-name>InitLoop</node-name>
- <kind>4</kind>
- <coupled-node>EndOfInitLoop</coupled-node>
- <service>
-<service-name>InitLoop</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>Index</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>Min</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>Max</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>Index</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>Min</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>Max</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list>
-<PyFunction>
-<FuncName>InitLoop</FuncName>
- <PyFunc><![CDATA[def InitLoop(Index,Min,Max) : ]]></PyFunc>
- <PyFunc><![CDATA[ return Index,Min,Max ]]></PyFunc> </PyFunction>
- <PyFunction>
-<FuncName>MoreLoop</FuncName>
- <PyFunc><![CDATA[def MoreLoop(Index,Min,Max) : ]]></PyFunc>
- <PyFunc><![CDATA[ if Index <= Max : ]]></PyFunc>
- <PyFunc><![CDATA[ DoLoop = 1 ]]></PyFunc>
- <PyFunc><![CDATA[ else : ]]></PyFunc>
- <PyFunc><![CDATA[ DoLoop = 0 ]]></PyFunc>
- <PyFunc><![CDATA[ return DoLoop,Index,Min,Max ]]></PyFunc> </PyFunction>
- <PyFunction>
-<FuncName>NextLoop</FuncName>
- <PyFunc><![CDATA[def NextLoop(Index,Min,Max) : ]]></PyFunc>
- <PyFunc><![CDATA[ Index = Index + 1 ]]></PyFunc>
- <PyFunc><![CDATA[ return Index,Min,Max ]]></PyFunc> </PyFunction> </PyFunction-list>
- <creation-date>13/10/2003 - 10:54:20</creation-date>
- <lastmodification-date>13/10/2003 - 10:54:20</lastmodification-date>
- <editor-release>1.05</editor-release>
- <author>?</author>
- <container>?</container>
- <comment>?</comment>
- <x-position>10</x-position>
- <y-position>129</y-position> </node>
- <node>
-<component-name>?</component-name>
- <interface-name>?</interface-name>
- <node-name>EndOfInitLoop</node-name>
- <kind>5</kind>
- <coupled-node>InitLoop</coupled-node>
- <service>
-<service-name>EndOfInitLoop</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>Index</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>Min</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>Max</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>Index</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>Min</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>Max</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list>
-<PyFunction/> </PyFunction-list>
- <creation-date>13/10/2003 - 10:54:20</creation-date>
- <lastmodification-date>13/10/2003 - 10:54:20</lastmodification-date>
- <editor-release>1.05</editor-release>
- <author>?</author>
- <container>?</container>
- <comment>?</comment>
- <x-position>766</x-position>
- <y-position>127</y-position> </node>
- <node>
-<component-name>?</component-name>
- <interface-name>?</interface-name>
- <node-name>Switch</node-name>
- <kind>6</kind>
- <coupled-node>EndOfSwitch</coupled-node>
- <service>
-<service-name>Switch</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>a</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>Odd</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>int</outParameter-type>
- <outParameter-name>Even</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>int</outParameter-type>
- <outParameter-name>a</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list>
-<PyFunction>
-<FuncName>Switch</FuncName>
- <PyFunc><![CDATA[from time import * ]]></PyFunc>
- <PyFunc><![CDATA[def Switch(a) : ]]></PyFunc>
- <PyFunc><![CDATA[ if ( a & 1 ) == 0 : ]]></PyFunc>
- <PyFunc><![CDATA[ sleep(1) ]]></PyFunc>
- <PyFunc><![CDATA[ return a & 1,1-(a&1),a ]]></PyFunc> </PyFunction> </PyFunction-list>
- <creation-date>13/10/2003 - 10:54:20</creation-date>
- <lastmodification-date>13/10/2003 - 10:54:20</lastmodification-date>
- <editor-release>1.05</editor-release>
- <author>?</author>
- <container>?</container>
- <comment>?</comment>
- <x-position>186</x-position>
- <y-position>130</y-position> </node>
- <node>
-<component-name>?</component-name>
- <interface-name>?</interface-name>
- <node-name>EndOfSwitch</node-name>
- <kind>7</kind>
- <coupled-node>Switch</coupled-node>
- <service>
-<service-name>EndOfSwitch</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>a</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>a</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list>
-<PyFunction/> </PyFunction-list>
- <creation-date>13/10/2003 - 10:54:20</creation-date>
- <lastmodification-date>13/10/2003 - 10:54:20</lastmodification-date>
- <editor-release>1.05</editor-release>
- <author>?</author>
- <container>?</container>
- <comment>?</comment>
- <x-position>587</x-position>
- <y-position>126</y-position> </node> </node-list>
- <link-list>
-<link>
-<fromnode-name>IsOdd</fromnode-name>
- <fromserviceparameter-name>a</fromserviceparameter-name>
- <tonode-name>EndOfSwitch</tonode-name>
- <toserviceparameter-name>a</toserviceparameter-name>
- <coord-list>
-<coord>
-<x>571</x>
- <y>161</y> </coord>
- <coord>
-<x>571</x>
- <y>131</y> </coord> </coord-list> </link>
- <link>
-<fromnode-name>InitLoop</fromnode-name>
- <fromserviceparameter-name>DoLoop</fromserviceparameter-name>
- <tonode-name>EndOfInitLoop</tonode-name>
- <toserviceparameter-name>DoLoop</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>InitLoop</fromnode-name>
- <fromserviceparameter-name>Index</fromserviceparameter-name>
- <tonode-name>Switch</tonode-name>
- <toserviceparameter-name>a</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>InitLoop</fromnode-name>
- <fromserviceparameter-name>Min</fromserviceparameter-name>
- <tonode-name>EndOfInitLoop</tonode-name>
- <toserviceparameter-name>Min</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>InitLoop</fromnode-name>
- <fromserviceparameter-name>Max</fromserviceparameter-name>
- <tonode-name>EndOfInitLoop</tonode-name>
- <toserviceparameter-name>Max</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>EndOfInitLoop</fromnode-name>
- <fromserviceparameter-name>DoLoop</fromserviceparameter-name>
- <tonode-name>InitLoop</tonode-name>
- <toserviceparameter-name>InitLoop</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>Switch</fromnode-name>
- <fromserviceparameter-name>Odd</fromserviceparameter-name>
- <tonode-name>IsOdd</tonode-name>
- <toserviceparameter-name>InGate</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>Switch</fromnode-name>
- <fromserviceparameter-name>Even</fromserviceparameter-name>
- <tonode-name>EndOfSwitch</tonode-name>
- <toserviceparameter-name>Default</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>Switch</fromnode-name>
- <fromserviceparameter-name>a</fromserviceparameter-name>
- <tonode-name>IsOdd</tonode-name>
- <toserviceparameter-name>a</toserviceparameter-name>
- <coord-list>
-<coord>
-<x>372</x>
- <y>129</y> </coord>
- <coord>
-<x>371</x>
- <y>223</y> </coord> </coord-list> </link>
- <link>
-<fromnode-name>Switch</fromnode-name>
- <fromserviceparameter-name>a</fromserviceparameter-name>
- <tonode-name>EndOfSwitch</tonode-name>
- <toserviceparameter-name>a</toserviceparameter-name>
- <coord-list>
-<coord>
-<x>571</x>
- <y>161</y> </coord>
- <coord>
-<x>570</x>
- <y>221</y> </coord> </coord-list> </link>
- <link>
-<fromnode-name>EndOfSwitch</fromnode-name>
- <fromserviceparameter-name>a</fromserviceparameter-name>
- <tonode-name>EndOfInitLoop</tonode-name>
- <toserviceparameter-name>Index</toserviceparameter-name>
- <coord-list/> </link> </link-list>
- <data-list>
-<data>
-<fromnode-name>GraphSwitch1</fromnode-name>
- <fromserviceparameter-name>InitLoop\Index</fromserviceparameter-name>
- <tonode-name>InitLoop</tonode-name>
- <toserviceparameter-name>Index</toserviceparameter-name>
- <data-value>
-<value-type>3</value-type>
- <value>0</value> </data-value>
- <coord-list/> </data>
- <data>
-<fromnode-name>GraphSwitch1</fromnode-name>
- <fromserviceparameter-name>InitLoop\Min</fromserviceparameter-name>
- <tonode-name>InitLoop</tonode-name>
- <toserviceparameter-name>Min</toserviceparameter-name>
- <data-value>
-<value-type>3</value-type>
- <value>0</value> </data-value>
- <coord-list/> </data>
- <data>
-<fromnode-name>GraphSwitch1</fromnode-name>
- <fromserviceparameter-name>InitLoop\Max</fromserviceparameter-name>
- <tonode-name>InitLoop</tonode-name>
- <toserviceparameter-name>Max</toserviceparameter-name>
- <data-value>
-<value-type>3</value-type>
- <value>100</value> </data-value>
- <coord-list/> </data> </data-list></dataflow>
+++ /dev/null
-
-# Generated python file of Graph GraphSwitchCrash
-
-from SuperV import *
-# Graph creation
-GraphSwitchCrash = Graph( 'GraphSwitchCrash' )
-GraphSwitchCrash.SetName( 'GraphSwitchCrash' )
-GraphSwitchCrash.SetAuthor( '' )
-GraphSwitchCrash.SetComment( '' )
-GraphSwitchCrash.Coords( 0 , 0 )
-
-# Creation of Factory Nodes
-
-# Creation of InLine Nodes
-PyIsOdd = []
-PyIsOdd.append( 'from time import * ' )
-PyIsOdd.append( 'def IsOdd(a) : ' )
-PyIsOdd.append( ' print a,"IsOdd (PyIsOdd)" ' )
-PyIsOdd.append( ' sleep( 1 ) ' )
-PyIsOdd.append( ' return a ' )
-IsOdd = GraphSwitchCrash.INode( 'IsOdd' , PyIsOdd )
-IsOdd.SetName( 'IsOdd' )
-IsOdd.SetAuthor( '' )
-IsOdd.SetComment( 'Python function' )
-IsOdd.Coords( 388 , 50 )
-IsOdd.InPort( 'a' , 'long' )
-IsOdd.OutPort( 'a' , 'long' )
-
-PyIsOdd_1 = []
-PyIsOdd_1.append( 'from time import * ' )
-PyIsOdd_1.append( 'def IsOdd(a,Even) : ' )
-PyIsOdd_1.append( ' print a,"IsOdd (PyIsOdd_1)" ' )
-PyIsOdd_1.append( ' sleep( 1 ) ' )
-PyIsOdd_1.append( ' return a ' )
-IsOdd_1 = GraphSwitchCrash.INode( 'IsOdd' , PyIsOdd_1 )
-IsOdd_1.SetName( 'IsOdd_1' )
-IsOdd_1.SetAuthor( '' )
-IsOdd_1.SetComment( 'Python function' )
-IsOdd_1.Coords( 419 , 279 )
-IsOdd_1.InPort( 'a' , 'long' )
-IsOdd_1.InPort( 'Even' , 'boolean' )
-IsOdd_1.OutPort( 'a' , 'long' )
-
-# Creation of Loop Nodes
-PyInitLoopSwitch = []
-PyInitLoopSwitch.append( 'def InitLoop(Index,Min,Max) : ' )
-PyInitLoopSwitch.append( ' return Index,Min,Max ' )
-PyMoreInitLoopSwitch = []
-PyMoreInitLoopSwitch.append( 'def MoreLoop(Index,Min,Max) : ' )
-PyMoreInitLoopSwitch.append( ' if Index <= Max : ' )
-PyMoreInitLoopSwitch.append( ' DoLoop = 1 ' )
-PyMoreInitLoopSwitch.append( ' else : ' )
-PyMoreInitLoopSwitch.append( ' DoLoop = 0 ' )
-PyMoreInitLoopSwitch.append( ' return DoLoop,Index,Min,Max ' )
-PyNextInitLoopSwitch = []
-PyNextInitLoopSwitch.append( 'def NextLoop(Index,Min,Max) : ' )
-PyNextInitLoopSwitch.append( ' Index = Index + 1 ' )
-PyNextInitLoopSwitch.append( ' return Index,Min,Max ' )
-InitLoopSwitch,EndOfInitLoopSwitch = GraphSwitchCrash.LNode( 'InitLoop' , PyInitLoopSwitch , 'MoreLoop' , PyMoreInitLoopSwitch , 'NextLoop' , PyNextInitLoopSwitch )
-EndOfInitLoopSwitch.SetName( 'EndOfInitLoopSwitch' )
-EndOfInitLoopSwitch.SetAuthor( '' )
-EndOfInitLoopSwitch.SetComment( '' )
-EndOfInitLoopSwitch.Coords( 766 , 127 )
-InitLoopSwitch.SetName( 'InitLoopSwitch' )
-InitLoopSwitch.SetAuthor( '' )
-InitLoopSwitch.SetComment( '' )
-InitLoopSwitch.Coords( 10 , 129 )
-InitLoopSwitch.InPort( 'Index' , 'long' )
-InitLoopSwitch.InPort( 'Min' , 'long' )
-InitLoopSwitch.InPort( 'Max' , 'long' )
-InitLoopSwitch.OutPort( 'Index' , 'long' )
-InitLoopSwitch.OutPort( 'Min' , 'long' )
-InitLoopSwitch.OutPort( 'Max' , 'long' )
-
-PyInitLoop = []
-PyInitLoop.append( 'def InitLoop(Index,Min,Max) : ' )
-PyInitLoop.append( ' return Index,Min,Max ' )
-PyMoreInitLoop = []
-PyMoreInitLoop.append( 'def MoreLoop(Index,Min,Max) : ' )
-PyMoreInitLoop.append( ' if Index <= Max : ' )
-PyMoreInitLoop.append( ' DoLoop = 1 ' )
-PyMoreInitLoop.append( ' else : ' )
-PyMoreInitLoop.append( ' DoLoop = 0 ' )
-PyMoreInitLoop.append( ' return DoLoop,Index,Min,Max ' )
-PyNextInitLoop = []
-PyNextInitLoop.append( 'def NextLoop(Index,Min,Max) : ' )
-PyNextInitLoop.append( ' Index = Index + 1 ' )
-PyNextInitLoop.append( ' return Index,Min,Max ' )
-InitLoop,EndOfInitLoop = GraphSwitchCrash.LNode( 'InitLoop' , PyInitLoop , 'MoreLoop' , PyMoreInitLoop , 'NextLoop' , PyNextInitLoop )
-EndOfInitLoop.SetName( 'EndOfInitLoop' )
-EndOfInitLoop.SetAuthor( '' )
-EndOfInitLoop.SetComment( '' )
-EndOfInitLoop.Coords( 783 , 381 )
-InitLoop.SetName( 'InitLoop' )
-InitLoop.SetAuthor( '' )
-InitLoop.SetComment( '' )
-InitLoop.Coords( 10 , 388 )
-InitLoop.InPort( 'Index' , 'long' )
-InitLoop.InPort( 'Min' , 'long' )
-InitLoop.InPort( 'Max' , 'long' )
-InitLoop.OutPort( 'Index' , 'long' )
-InitLoop.OutPort( 'Min' , 'long' )
-InitLoop.OutPort( 'Max' , 'long' )
-
-# Creation of Switch Nodes
-PySwitch = []
-PySwitch.append( 'from time import * ' )
-PySwitch.append( 'def Switch(a) : ' )
-PySwitch.append( ' if ( a & 1 ) == 0 : ' )
-PySwitch.append( ' sleep(1) ' )
-PySwitch.append( ' return a & 1,1-(a&1),a ' )
-Switch,EndOfSwitch = GraphSwitchCrash.SNode( 'Switch' , PySwitch )
-EndOfSwitch.SetName( 'EndOfSwitch' )
-EndOfSwitch.SetAuthor( '' )
-EndOfSwitch.SetComment( '' )
-EndOfSwitch.Coords( 587 , 126 )
-PyEndOfSwitch = []
-EndOfSwitch.SetPyFunction( 'EndSwitch' , PyEndOfSwitch )
-EndOfSwitch.InPort( 'a' , 'long' )
-EndOfSwitch.OutPort( 'a' , 'long' )
-Switch.SetName( 'Switch' )
-Switch.SetAuthor( '' )
-Switch.SetComment( '' )
-Switch.Coords( 186 , 130 )
-Switch.InPort( 'a' , 'long' )
-Switch.OutPort( 'Odd' , 'long' )
-Switch.OutPort( 'Even' , 'int' )
-Switch.OutPort( 'a' , 'int' )
-
-PySwitch_1 = []
-PySwitch_1.append( 'from time import * ' )
-PySwitch_1.append( 'def Switch(a) : ' )
-PySwitch_1.append( ' if ( a & 1 ) == 0 : ' )
-PySwitch_1.append( ' sleep(1) ' )
-PySwitch_1.append( ' return a & 1,1-(a&1),a ' )
-Switch_1,EndSwitch = GraphSwitchCrash.SNode( 'Switch' , PySwitch_1 )
-EndSwitch.SetName( 'EndSwitch' )
-EndSwitch.SetAuthor( '' )
-EndSwitch.SetComment( '' )
-EndSwitch.Coords( 605 , 382 )
-PyEndSwitch = []
-EndSwitch.SetPyFunction( 'EndSwitch' , PyEndSwitch )
-EndSwitch.InPort( 'a' , 'long' )
-EndSwitch.OutPort( 'a' , 'long' )
-Switch_1.SetName( 'Switch_1' )
-Switch_1.SetAuthor( '' )
-Switch_1.SetComment( '' )
-Switch_1.Coords( 193 , 388 )
-Switch_1.InPort( 'a' , 'long' )
-Switch_1.OutPort( 'Odd' , 'long' )
-Switch_1.OutPort( 'Even' , 'int' )
-Switch_1.OutPort( 'a' , 'int' )
-
-# Creation of Links
-IsOdda = IsOdd.Port( 'a' )
-EndOfSwitcha = GraphSwitchCrash.Link( IsOdda , EndOfSwitch.Port( 'a' ) )
-EndOfSwitcha.AddCoord( 1 , 573 , 160 )
-EndOfSwitcha.AddCoord( 2 , 572 , 130 )
-
-InitLoopSwitchIndex = InitLoopSwitch.Port( 'Index' )
-Switcha = GraphSwitchCrash.Link( InitLoopSwitchIndex , Switch.Port( 'a' ) )
-
-InitLoopSwitchMin = InitLoopSwitch.Port( 'Min' )
-EndOfInitLoopSwitchMin = GraphSwitchCrash.Link( InitLoopSwitchMin , EndOfInitLoopSwitch.Port( 'Min' ) )
-
-InitLoopSwitchMax = InitLoopSwitch.Port( 'Max' )
-EndOfInitLoopSwitchMax = GraphSwitchCrash.Link( InitLoopSwitchMax , EndOfInitLoopSwitch.Port( 'Max' ) )
-
-SwitchOdd = Switch.Port( 'Odd' )
-IsOddInGate = GraphSwitchCrash.Link( SwitchOdd , IsOdd.Port( 'InGate' ) )
-
-Switcha = Switch.Port( 'a' )
-IsOdda = GraphSwitchCrash.Link( Switcha , IsOdd.Port( 'a' ) )
-IsOdda.AddCoord( 1 , 365 , 129 )
-IsOdda.AddCoord( 2 , 365 , 222 )
-
-SwitchDefault = Switch.Port( 'Default' )
-EndOfSwitchDefault = GraphSwitchCrash.Link( SwitchDefault , EndOfSwitch.Port( 'Default' ) )
-EndOfSwitchDefault.AddCoord( 1 , 572 , 194 )
-EndOfSwitchDefault.AddCoord( 2 , 571 , 257 )
-
-EndOfSwitcha = EndOfSwitch.Port( 'a' )
-EndOfInitLoopSwitchIndex = GraphSwitchCrash.Link( EndOfSwitcha , EndOfInitLoopSwitch.Port( 'Index' ) )
-
-IsOdd_1a = IsOdd_1.Port( 'a' )
-EndSwitcha = GraphSwitchCrash.Link( IsOdd_1a , EndSwitch.Port( 'a' ) )
-EndSwitcha.AddCoord( 1 , 599 , 416 )
-EndSwitcha.AddCoord( 2 , 598 , 358 )
-
-InitLoopIndex = InitLoop.Port( 'Index' )
-Switch_1a = GraphSwitchCrash.Link( InitLoopIndex , Switch_1.Port( 'a' ) )
-
-InitLoopMin = InitLoop.Port( 'Min' )
-EndOfInitLoopMin = GraphSwitchCrash.Link( InitLoopMin , EndOfInitLoop.Port( 'Min' ) )
-
-InitLoopMax = InitLoop.Port( 'Max' )
-EndOfInitLoopMax = GraphSwitchCrash.Link( InitLoopMax , EndOfInitLoop.Port( 'Max' ) )
-
-Switch_1Odd = Switch_1.Port( 'Odd' )
-IsOdd_1InGate = GraphSwitchCrash.Link( Switch_1Odd , IsOdd_1.Port( 'InGate' ) )
-
-Switch_1Even = Switch_1.Port( 'Even' )
-EndSwitchDefault = GraphSwitchCrash.Link( Switch_1Even , EndSwitch.Port( 'Default' ) )
-
-IsOdd_1Even = GraphSwitchCrash.Link( Switch_1Even , IsOdd_1.Port( 'Even' ) )
-IsOdd_1Even.AddCoord( 1 , 402 , 388 )
-IsOdd_1Even.AddCoord( 2 , 402 , 450 )
-
-Switch_1a = Switch_1.Port( 'a' )
-IsOdd_1a = GraphSwitchCrash.Link( Switch_1a , IsOdd_1.Port( 'a' ) )
-IsOdd_1a.AddCoord( 1 , 377 , 358 )
-IsOdd_1a.AddCoord( 2 , 378 , 481 )
-
-EndSwitcha = EndSwitch.Port( 'a' )
-EndOfInitLoopIndex = GraphSwitchCrash.Link( EndSwitcha , EndOfInitLoop.Port( 'Index' ) )
-
-# Creation of Input datas
-InitLoopSwitchIndex = InitLoopSwitch.Input( 'Index' , 0)
-InitLoopSwitchMin = InitLoopSwitch.Input( 'Min' , 0)
-InitLoopSwitchMax = InitLoopSwitch.Input( 'Max' , 100)
-InitLoopIndex = InitLoop.Input( 'Index' , 0)
-InitLoopMin = InitLoop.Input( 'Min' , 0)
-InitLoopMax = InitLoop.Input( 'Max' , 100)
-
-# Creation of Output variables
-EndOfInitLoopSwitchIndex = EndOfInitLoopSwitch.Port( 'Index' )
-EndOfInitLoopSwitchMin = EndOfInitLoopSwitch.Port( 'Min' )
-EndOfInitLoopSwitchMax = EndOfInitLoopSwitch.Port( 'Max' )
-SwitchEven = Switch.Port( 'Even' )
-EndOfInitLoopIndex = EndOfInitLoop.Port( 'Index' )
-EndOfInitLoopMin = EndOfInitLoop.Port( 'Min' )
-EndOfInitLoopMax = EndOfInitLoop.Port( 'Max' )
-
-GraphSwitchCrash.Run()
-GraphSwitchCrash.DoneW()
-GraphSwitchCrash.State()
-GraphSwitchCrash.PrintPorts()
+++ /dev/null
-<!DOCTYPE Dataflow>
-<dataflow>
-<info-list>
-<node>
-<component-name>?</component-name>
- <interface-name>?</interface-name>
- <node-name>GraphSwitchCrash</node-name>
- <kind>1</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>GraphSwitchCrash</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>InitLoopSwitch\Index</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>InitLoopSwitch\Min</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>InitLoopSwitch\Max</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>InitLoop\Index</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>InitLoop\Min</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>InitLoop\Max</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>EndOfInitLoopSwitch\Index</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>EndOfInitLoopSwitch\Min</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>EndOfInitLoopSwitch\Max</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>int</outParameter-type>
- <outParameter-name>Switch\Even</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>EndOfInitLoop\Index</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>EndOfInitLoop\Min</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>EndOfInitLoop\Max</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list/>
- <creation-date>14/10/2003 - 10:29:4</creation-date>
- <lastmodification-date>15/10/2003 - 18:11:6</lastmodification-date>
- <editor-release>1.05</editor-release>
- <author>?</author>
- <container>?</container>
- <comment>?</comment>
- <x-position>0</x-position>
- <y-position>0</y-position> </node> </info-list>
- <node-list>
-<node>
-<component-name>?</component-name>
- <interface-name>?</interface-name>
- <node-name>IsOdd</node-name>
- <kind>3</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>IsOdd</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>a</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>a</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list>
-<PyFunction>
-<FuncName>IsOdd</FuncName>
- <PyFunc><![CDATA[from time import * ]]></PyFunc>
- <PyFunc><![CDATA[def IsOdd(a) : ]]></PyFunc>
- <PyFunc><![CDATA[ print a,"IsOdd (IsOdd)" ]]></PyFunc>
- <PyFunc><![CDATA[ sleep( 1 ) ]]></PyFunc>
- <PyFunc><![CDATA[ return a ]]></PyFunc> </PyFunction> </PyFunction-list>
- <creation-date>15/10/2003 - 18:11:6</creation-date>
- <lastmodification-date>15/10/2003 - 18:11:6</lastmodification-date>
- <editor-release>1.05</editor-release>
- <author>?</author>
- <container>?</container>
- <comment>Python function</comment>
- <x-position>388</x-position>
- <y-position>50</y-position> </node>
- <node>
-<component-name>?</component-name>
- <interface-name>?</interface-name>
- <node-name>InitLoopSwitch</node-name>
- <kind>4</kind>
- <coupled-node>EndOfInitLoopSwitch</coupled-node>
- <service>
-<service-name>InitLoopSwitch</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>Index</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>Min</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>Max</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>Index</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>Min</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>Max</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list>
-<PyFunction>
-<FuncName>InitLoop</FuncName>
- <PyFunc><![CDATA[def InitLoop(Index,Min,Max) : ]]></PyFunc>
- <PyFunc><![CDATA[ return Index,Min,Max ]]></PyFunc> </PyFunction>
- <PyFunction>
-<FuncName>MoreLoop</FuncName>
- <PyFunc><![CDATA[def MoreLoop(Index,Min,Max) : ]]></PyFunc>
- <PyFunc><![CDATA[ if Index <= Max : ]]></PyFunc>
- <PyFunc><![CDATA[ DoLoop = 1 ]]></PyFunc>
- <PyFunc><![CDATA[ else : ]]></PyFunc>
- <PyFunc><![CDATA[ DoLoop = 0 ]]></PyFunc>
- <PyFunc><![CDATA[ return DoLoop,Index,Min,Max ]]></PyFunc> </PyFunction>
- <PyFunction>
-<FuncName>NextLoop</FuncName>
- <PyFunc><![CDATA[def NextLoop(Index,Min,Max) : ]]></PyFunc>
- <PyFunc><![CDATA[ Index = Index + 1 ]]></PyFunc>
- <PyFunc><![CDATA[ return Index,Min,Max ]]></PyFunc> </PyFunction> </PyFunction-list>
- <creation-date>15/10/2003 - 18:11:6</creation-date>
- <lastmodification-date>15/10/2003 - 18:11:6</lastmodification-date>
- <editor-release>1.05</editor-release>
- <author>?</author>
- <container>?</container>
- <comment>?</comment>
- <x-position>10</x-position>
- <y-position>129</y-position> </node>
- <node>
-<component-name>?</component-name>
- <interface-name>?</interface-name>
- <node-name>EndOfInitLoopSwitch</node-name>
- <kind>5</kind>
- <coupled-node>InitLoopSwitch</coupled-node>
- <service>
-<service-name>EndOfInitLoopSwitch</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>Index</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>Min</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>Max</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>Index</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>Min</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>Max</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list>
-<PyFunction/> </PyFunction-list>
- <creation-date>15/10/2003 - 18:11:6</creation-date>
- <lastmodification-date>15/10/2003 - 18:11:6</lastmodification-date>
- <editor-release>1.05</editor-release>
- <author>?</author>
- <container>?</container>
- <comment>?</comment>
- <x-position>766</x-position>
- <y-position>127</y-position> </node>
- <node>
-<component-name>?</component-name>
- <interface-name>?</interface-name>
- <node-name>Switch</node-name>
- <kind>6</kind>
- <coupled-node>EndOfSwitch</coupled-node>
- <service>
-<service-name>Switch</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>a</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>Odd</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>int</outParameter-type>
- <outParameter-name>Even</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>int</outParameter-type>
- <outParameter-name>a</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list>
-<PyFunction>
-<FuncName>Switch</FuncName>
- <PyFunc><![CDATA[from time import * ]]></PyFunc>
- <PyFunc><![CDATA[def Switch(a) : ]]></PyFunc>
- <PyFunc><![CDATA[ if ( a & 1 ) == 0 : ]]></PyFunc>
- <PyFunc><![CDATA[ sleep(1) ]]></PyFunc>
- <PyFunc><![CDATA[ return a & 1,1-(a&1),a ]]></PyFunc> </PyFunction> </PyFunction-list>
- <creation-date>15/10/2003 - 18:11:6</creation-date>
- <lastmodification-date>15/10/2003 - 18:11:6</lastmodification-date>
- <editor-release>1.05</editor-release>
- <author>?</author>
- <container>?</container>
- <comment>?</comment>
- <x-position>186</x-position>
- <y-position>130</y-position> </node>
- <node>
-<component-name>?</component-name>
- <interface-name>?</interface-name>
- <node-name>EndOfSwitch</node-name>
- <kind>7</kind>
- <coupled-node>Switch</coupled-node>
- <service>
-<service-name>EndOfSwitch</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>a</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>a</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list>
-<PyFunction/> </PyFunction-list>
- <creation-date>15/10/2003 - 18:11:6</creation-date>
- <lastmodification-date>15/10/2003 - 18:11:6</lastmodification-date>
- <editor-release>1.05</editor-release>
- <author>?</author>
- <container>?</container>
- <comment>?</comment>
- <x-position>587</x-position>
- <y-position>126</y-position> </node>
- <node>
-<component-name>?</component-name>
- <interface-name>?</interface-name>
- <node-name>IsOdd_1</node-name>
- <kind>3</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>IsOdd_1</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>a</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>boolean</inParameter-type>
- <inParameter-name>Even</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>a</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list>
-<PyFunction>
-<FuncName>IsOdd</FuncName>
- <PyFunc><![CDATA[from time import * ]]></PyFunc>
- <PyFunc><![CDATA[def IsOdd(a,Even) : ]]></PyFunc>
- <PyFunc><![CDATA[ print a,"IsOdd (IsOdd_1)" ]]></PyFunc>
- <PyFunc><![CDATA[ sleep( 1 ) ]]></PyFunc>
- <PyFunc><![CDATA[ return a ]]></PyFunc> </PyFunction> </PyFunction-list>
- <creation-date>15/10/2003 - 18:11:6</creation-date>
- <lastmodification-date>15/10/2003 - 18:11:6</lastmodification-date>
- <editor-release>1.05</editor-release>
- <author>?</author>
- <container>?</container>
- <comment>Python function</comment>
- <x-position>419</x-position>
- <y-position>279</y-position> </node>
- <node>
-<component-name>?</component-name>
- <interface-name>?</interface-name>
- <node-name>InitLoop</node-name>
- <kind>4</kind>
- <coupled-node>EndOfInitLoop</coupled-node>
- <service>
-<service-name>InitLoop</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>Index</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>Min</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>Max</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>Index</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>Min</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>Max</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list>
-<PyFunction>
-<FuncName>InitLoop</FuncName>
- <PyFunc><![CDATA[def InitLoop(Index,Min,Max) : ]]></PyFunc>
- <PyFunc><![CDATA[ return Index,Min,Max ]]></PyFunc> </PyFunction>
- <PyFunction>
-<FuncName>MoreLoop</FuncName>
- <PyFunc><![CDATA[def MoreLoop(Index,Min,Max) : ]]></PyFunc>
- <PyFunc><![CDATA[ if Index <= Max : ]]></PyFunc>
- <PyFunc><![CDATA[ DoLoop = 1 ]]></PyFunc>
- <PyFunc><![CDATA[ else : ]]></PyFunc>
- <PyFunc><![CDATA[ DoLoop = 0 ]]></PyFunc>
- <PyFunc><![CDATA[ return DoLoop,Index,Min,Max ]]></PyFunc> </PyFunction>
- <PyFunction>
-<FuncName>NextLoop</FuncName>
- <PyFunc><![CDATA[def NextLoop(Index,Min,Max) : ]]></PyFunc>
- <PyFunc><![CDATA[ Index = Index + 1 ]]></PyFunc>
- <PyFunc><![CDATA[ return Index,Min,Max ]]></PyFunc> </PyFunction> </PyFunction-list>
- <creation-date>15/10/2003 - 18:11:6</creation-date>
- <lastmodification-date>15/10/2003 - 18:11:6</lastmodification-date>
- <editor-release>1.05</editor-release>
- <author>?</author>
- <container>?</container>
- <comment>?</comment>
- <x-position>10</x-position>
- <y-position>388</y-position> </node>
- <node>
-<component-name>?</component-name>
- <interface-name>?</interface-name>
- <node-name>EndOfInitLoop</node-name>
- <kind>5</kind>
- <coupled-node>InitLoop</coupled-node>
- <service>
-<service-name>EndOfInitLoop</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>Index</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>Min</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>Max</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>Index</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>Min</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>Max</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list>
-<PyFunction/> </PyFunction-list>
- <creation-date>15/10/2003 - 18:11:6</creation-date>
- <lastmodification-date>15/10/2003 - 18:11:6</lastmodification-date>
- <editor-release>1.05</editor-release>
- <author>?</author>
- <container>?</container>
- <comment>?</comment>
- <x-position>783</x-position>
- <y-position>381</y-position> </node>
- <node>
-<component-name>?</component-name>
- <interface-name>?</interface-name>
- <node-name>Switch_1</node-name>
- <kind>6</kind>
- <coupled-node>EndSwitch</coupled-node>
- <service>
-<service-name>Switch_1</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>a</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>Odd</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>int</outParameter-type>
- <outParameter-name>Even</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>int</outParameter-type>
- <outParameter-name>a</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list>
-<PyFunction>
-<FuncName>Switch</FuncName>
- <PyFunc><![CDATA[from time import * ]]></PyFunc>
- <PyFunc><![CDATA[def Switch(a) : ]]></PyFunc>
- <PyFunc><![CDATA[ if ( a & 1 ) == 0 : ]]></PyFunc>
- <PyFunc><![CDATA[ sleep(1) ]]></PyFunc>
- <PyFunc><![CDATA[ return a & 1,1-(a&1),a ]]></PyFunc> </PyFunction> </PyFunction-list>
- <creation-date>15/10/2003 - 18:11:6</creation-date>
- <lastmodification-date>15/10/2003 - 18:11:6</lastmodification-date>
- <editor-release>1.05</editor-release>
- <author>?</author>
- <container>?</container>
- <comment>?</comment>
- <x-position>193</x-position>
- <y-position>388</y-position> </node>
- <node>
-<component-name>?</component-name>
- <interface-name>?</interface-name>
- <node-name>EndSwitch</node-name>
- <kind>7</kind>
- <coupled-node>Switch_1</coupled-node>
- <service>
-<service-name>EndSwitch</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>a</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>a</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list>
-<PyFunction/> </PyFunction-list>
- <creation-date>15/10/2003 - 18:11:6</creation-date>
- <lastmodification-date>15/10/2003 - 18:11:6</lastmodification-date>
- <editor-release>1.05</editor-release>
- <author>?</author>
- <container>?</container>
- <comment>?</comment>
- <x-position>605</x-position>
- <y-position>382</y-position> </node> </node-list>
- <link-list>
-<link>
-<fromnode-name>IsOdd</fromnode-name>
- <fromserviceparameter-name>a</fromserviceparameter-name>
- <tonode-name>EndOfSwitch</tonode-name>
- <toserviceparameter-name>a</toserviceparameter-name>
- <coord-list>
-<coord>
-<x>573</x>
- <y>160</y> </coord>
- <coord>
-<x>572</x>
- <y>130</y> </coord> </coord-list> </link>
- <link>
-<fromnode-name>InitLoopSwitch</fromnode-name>
- <fromserviceparameter-name>DoLoop</fromserviceparameter-name>
- <tonode-name>EndOfInitLoopSwitch</tonode-name>
- <toserviceparameter-name>DoLoop</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>InitLoopSwitch</fromnode-name>
- <fromserviceparameter-name>Index</fromserviceparameter-name>
- <tonode-name>Switch</tonode-name>
- <toserviceparameter-name>a</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>InitLoopSwitch</fromnode-name>
- <fromserviceparameter-name>Min</fromserviceparameter-name>
- <tonode-name>EndOfInitLoopSwitch</tonode-name>
- <toserviceparameter-name>Min</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>InitLoopSwitch</fromnode-name>
- <fromserviceparameter-name>Max</fromserviceparameter-name>
- <tonode-name>EndOfInitLoopSwitch</tonode-name>
- <toserviceparameter-name>Max</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>EndOfInitLoopSwitch</fromnode-name>
- <fromserviceparameter-name>DoLoop</fromserviceparameter-name>
- <tonode-name>InitLoopSwitch</tonode-name>
- <toserviceparameter-name>InitLoop</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>Switch</fromnode-name>
- <fromserviceparameter-name>Odd</fromserviceparameter-name>
- <tonode-name>IsOdd</tonode-name>
- <toserviceparameter-name>InGate</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>Switch</fromnode-name>
- <fromserviceparameter-name>a</fromserviceparameter-name>
- <tonode-name>IsOdd</tonode-name>
- <toserviceparameter-name>a</toserviceparameter-name>
- <coord-list>
-<coord>
-<x>365</x>
- <y>129</y> </coord>
- <coord>
-<x>365</x>
- <y>222</y> </coord> </coord-list> </link>
- <link>
-<fromnode-name>Switch</fromnode-name>
- <fromserviceparameter-name>Default</fromserviceparameter-name>
- <tonode-name>EndOfSwitch</tonode-name>
- <toserviceparameter-name>Default</toserviceparameter-name>
- <coord-list>
-<coord>
-<x>572</x>
- <y>194</y> </coord>
- <coord>
-<x>571</x>
- <y>257</y> </coord> </coord-list> </link>
- <link>
-<fromnode-name>EndOfSwitch</fromnode-name>
- <fromserviceparameter-name>a</fromserviceparameter-name>
- <tonode-name>EndOfInitLoopSwitch</tonode-name>
- <toserviceparameter-name>Index</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>IsOdd_1</fromnode-name>
- <fromserviceparameter-name>a</fromserviceparameter-name>
- <tonode-name>EndSwitch</tonode-name>
- <toserviceparameter-name>a</toserviceparameter-name>
- <coord-list>
-<coord>
-<x>599</x>
- <y>416</y> </coord>
- <coord>
-<x>598</x>
- <y>358</y> </coord> </coord-list> </link>
- <link>
-<fromnode-name>InitLoop</fromnode-name>
- <fromserviceparameter-name>DoLoop</fromserviceparameter-name>
- <tonode-name>EndOfInitLoop</tonode-name>
- <toserviceparameter-name>DoLoop</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>InitLoop</fromnode-name>
- <fromserviceparameter-name>Index</fromserviceparameter-name>
- <tonode-name>Switch_1</tonode-name>
- <toserviceparameter-name>a</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>InitLoop</fromnode-name>
- <fromserviceparameter-name>Min</fromserviceparameter-name>
- <tonode-name>EndOfInitLoop</tonode-name>
- <toserviceparameter-name>Min</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>InitLoop</fromnode-name>
- <fromserviceparameter-name>Max</fromserviceparameter-name>
- <tonode-name>EndOfInitLoop</tonode-name>
- <toserviceparameter-name>Max</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>EndOfInitLoop</fromnode-name>
- <fromserviceparameter-name>DoLoop</fromserviceparameter-name>
- <tonode-name>InitLoop</tonode-name>
- <toserviceparameter-name>InitLoop</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>Switch_1</fromnode-name>
- <fromserviceparameter-name>Odd</fromserviceparameter-name>
- <tonode-name>IsOdd_1</tonode-name>
- <toserviceparameter-name>InGate</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>Switch_1</fromnode-name>
- <fromserviceparameter-name>Even</fromserviceparameter-name>
- <tonode-name>EndSwitch</tonode-name>
- <toserviceparameter-name>Default</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>Switch_1</fromnode-name>
- <fromserviceparameter-name>Even</fromserviceparameter-name>
- <tonode-name>IsOdd_1</tonode-name>
- <toserviceparameter-name>Even</toserviceparameter-name>
- <coord-list>
-<coord>
-<x>402</x>
- <y>388</y> </coord>
- <coord>
-<x>402</x>
- <y>450</y> </coord> </coord-list> </link>
- <link>
-<fromnode-name>Switch_1</fromnode-name>
- <fromserviceparameter-name>a</fromserviceparameter-name>
- <tonode-name>IsOdd_1</tonode-name>
- <toserviceparameter-name>a</toserviceparameter-name>
- <coord-list>
-<coord>
-<x>377</x>
- <y>358</y> </coord>
- <coord>
-<x>378</x>
- <y>481</y> </coord> </coord-list> </link>
- <link>
-<fromnode-name>EndSwitch</fromnode-name>
- <fromserviceparameter-name>a</fromserviceparameter-name>
- <tonode-name>EndOfInitLoop</tonode-name>
- <toserviceparameter-name>Index</toserviceparameter-name>
- <coord-list/> </link> </link-list>
- <data-list>
-<data>
-<fromnode-name>GraphSwitchCrash</fromnode-name>
- <fromserviceparameter-name>InitLoopSwitch\Index</fromserviceparameter-name>
- <tonode-name>InitLoopSwitch</tonode-name>
- <toserviceparameter-name>Index</toserviceparameter-name>
- <data-value>
-<value-type>3</value-type>
- <value>0</value> </data-value>
- <coord-list/> </data>
- <data>
-<fromnode-name>GraphSwitchCrash</fromnode-name>
- <fromserviceparameter-name>InitLoopSwitch\Min</fromserviceparameter-name>
- <tonode-name>InitLoopSwitch</tonode-name>
- <toserviceparameter-name>Min</toserviceparameter-name>
- <data-value>
-<value-type>3</value-type>
- <value>0</value> </data-value>
- <coord-list/> </data>
- <data>
-<fromnode-name>GraphSwitchCrash</fromnode-name>
- <fromserviceparameter-name>InitLoopSwitch\Max</fromserviceparameter-name>
- <tonode-name>InitLoopSwitch</tonode-name>
- <toserviceparameter-name>Max</toserviceparameter-name>
- <data-value>
-<value-type>3</value-type>
- <value>100</value> </data-value>
- <coord-list/> </data>
- <data>
-<fromnode-name>GraphSwitchCrash</fromnode-name>
- <fromserviceparameter-name>InitLoop\Index</fromserviceparameter-name>
- <tonode-name>InitLoop</tonode-name>
- <toserviceparameter-name>Index</toserviceparameter-name>
- <data-value>
-<value-type>3</value-type>
- <value>0</value> </data-value>
- <coord-list/> </data>
- <data>
-<fromnode-name>GraphSwitchCrash</fromnode-name>
- <fromserviceparameter-name>InitLoop\Min</fromserviceparameter-name>
- <tonode-name>InitLoop</tonode-name>
- <toserviceparameter-name>Min</toserviceparameter-name>
- <data-value>
-<value-type>3</value-type>
- <value>0</value> </data-value>
- <coord-list/> </data>
- <data>
-<fromnode-name>GraphSwitchCrash</fromnode-name>
- <fromserviceparameter-name>InitLoop\Max</fromserviceparameter-name>
- <tonode-name>InitLoop</tonode-name>
- <toserviceparameter-name>Max</toserviceparameter-name>
- <data-value>
-<value-type>3</value-type>
- <value>100</value> </data-value>
- <coord-list/> </data> </data-list></dataflow>
+++ /dev/null
-
-# Generated python file of Graph GraphSwitch
-
-from SuperV import *
-# Graph creation
-GraphSwitchs = Graph( 'GraphSwitchs' )
-GraphSwitchs.SetName( 'GraphSwitchs' )
-GraphSwitchs.SetAuthor( '' )
-GraphSwitchs.SetComment( '' )
-GraphSwitchs.Coords( 0 , 0 )
-
-# Creation of Factory Nodes
-
-# Creation of InLine Nodes
-PyIsOdd = []
-PyIsOdd.append( 'from time import * ' )
-PyIsOdd.append( 'def IsOdd(a) : ' )
-PyIsOdd.append( ' print a,"IsOdd (GraphSwitchs)" ' )
-PyIsOdd.append( ' sleep( 1 ) ' )
-PyIsOdd.append( ' return a ' )
-IsOdd = GraphSwitchs.INode( 'IsOdd' , PyIsOdd )
-IsOdd.SetName( 'IsOdd' )
-IsOdd.SetAuthor( '' )
-IsOdd.SetComment( 'Python function' )
-IsOdd.Coords( 388 , 50 )
-IsOdd.InPort( 'a' , 'long' )
-IsOdd.OutPort( 'a' , 'long' )
-
-PyIsOdd_1 = []
-PyIsOdd_1.append( 'from time import * ' )
-PyIsOdd_1.append( 'def IsOdd(a) : ' )
-PyIsOdd_1.append( ' print a,"IsOdd_1 (GraphSwitchs)" ' )
-PyIsOdd_1.append( ' sleep( 1 ) ' )
-PyIsOdd_1.append( ' return a ' )
-IsOdd_1 = GraphSwitchs.INode( 'IsOdd' , PyIsOdd_1 )
-IsOdd_1.SetName( 'IsOdd_1' )
-IsOdd_1.SetAuthor( '' )
-IsOdd_1.SetComment( 'Python function' )
-IsOdd_1.Coords( 419 , 308 )
-IsOdd_1.InPort( 'a' , 'long' )
-IsOdd_1.OutPort( 'a' , 'long' )
-
-# Creation of Loop Nodes
-PyInitLoopSwitch = []
-PyInitLoopSwitch.append( 'def InitLoop(Index,Min,Max) : ' )
-PyInitLoopSwitch.append( ' return Index,Min,Max ' )
-PyMoreInitLoopSwitch = []
-PyMoreInitLoopSwitch.append( 'def MoreLoop(Index,Min,Max) : ' )
-PyMoreInitLoopSwitch.append( ' if Index <= Max : ' )
-PyMoreInitLoopSwitch.append( ' DoLoop = 1 ' )
-PyMoreInitLoopSwitch.append( ' else : ' )
-PyMoreInitLoopSwitch.append( ' DoLoop = 0 ' )
-PyMoreInitLoopSwitch.append( ' return DoLoop,Index,Min,Max ' )
-PyNextInitLoopSwitch = []
-PyNextInitLoopSwitch.append( 'def NextLoop(Index,Min,Max) : ' )
-PyNextInitLoopSwitch.append( ' Index = Index + 1 ' )
-PyNextInitLoopSwitch.append( ' return Index,Min,Max ' )
-InitLoopSwitch,EndOfInitLoopSwitch = GraphSwitchs.LNode( 'InitLoop' , PyInitLoopSwitch , 'MoreLoop' , PyMoreInitLoopSwitch , 'NextLoop' , PyNextInitLoopSwitch )
-EndOfInitLoopSwitch.SetName( 'EndOfInitLoopSwitch' )
-EndOfInitLoopSwitch.SetAuthor( '' )
-EndOfInitLoopSwitch.SetComment( '' )
-EndOfInitLoopSwitch.Coords( 766 , 127 )
-InitLoopSwitch.SetName( 'InitLoopSwitch' )
-InitLoopSwitch.SetAuthor( '' )
-InitLoopSwitch.SetComment( '' )
-InitLoopSwitch.Coords( 10 , 129 )
-InitLoopSwitch.InPort( 'Index' , 'long' )
-InitLoopSwitch.InPort( 'Min' , 'long' )
-InitLoopSwitch.InPort( 'Max' , 'long' )
-InitLoopSwitch.OutPort( 'Index' , 'long' )
-InitLoopSwitch.OutPort( 'Min' , 'long' )
-InitLoopSwitch.OutPort( 'Max' , 'long' )
-
-PyInitLoop = []
-PyInitLoop.append( 'def InitLoop(Index,Min,Max) : ' )
-PyInitLoop.append( ' return Index,Min,Max ' )
-PyMoreInitLoop = []
-PyMoreInitLoop.append( 'def MoreLoop(Index,Min,Max) : ' )
-PyMoreInitLoop.append( ' if Index <= Max : ' )
-PyMoreInitLoop.append( ' DoLoop = 1 ' )
-PyMoreInitLoop.append( ' else : ' )
-PyMoreInitLoop.append( ' DoLoop = 0 ' )
-PyMoreInitLoop.append( ' return DoLoop,Index,Min,Max ' )
-PyNextInitLoop = []
-PyNextInitLoop.append( 'def NextLoop(Index,Min,Max) : ' )
-PyNextInitLoop.append( ' Index = Index + 1 ' )
-PyNextInitLoop.append( ' return Index,Min,Max ' )
-InitLoop,EndOfInitLoop = GraphSwitchs.LNode( 'InitLoop' , PyInitLoop , 'MoreLoop' , PyMoreInitLoop , 'NextLoop' , PyNextInitLoop )
-EndOfInitLoop.SetName( 'EndOfInitLoop' )
-EndOfInitLoop.SetAuthor( '' )
-EndOfInitLoop.SetComment( '' )
-EndOfInitLoop.Coords( 783 , 381 )
-InitLoop.SetName( 'InitLoop' )
-InitLoop.SetAuthor( '' )
-InitLoop.SetComment( '' )
-InitLoop.Coords( 10 , 388 )
-InitLoop.InPort( 'Index' , 'long' )
-InitLoop.InPort( 'Min' , 'long' )
-InitLoop.InPort( 'Max' , 'long' )
-InitLoop.OutPort( 'Index' , 'long' )
-InitLoop.OutPort( 'Min' , 'long' )
-InitLoop.OutPort( 'Max' , 'long' )
-
-# Creation of Switch Nodes
-PySwitch = []
-PySwitch.append( 'from time import * ' )
-PySwitch.append( 'def Switch(a) : ' )
-PySwitch.append( ' if ( a & 1 ) == 0 : ' )
-PySwitch.append( ' sleep(1) ' )
-PySwitch.append( ' return a & 1,1-(a&1),a ' )
-Switch,EndOfSwitch = GraphSwitchs.SNode( 'Switch' , PySwitch )
-EndOfSwitch.SetName( 'EndOfSwitch' )
-EndOfSwitch.SetAuthor( '' )
-EndOfSwitch.SetComment( '' )
-EndOfSwitch.Coords( 587 , 126 )
-PyEndOfSwitch = []
-EndOfSwitch.SetPyFunction( 'EndSwitch' , PyEndOfSwitch )
-EndOfSwitch.InPort( 'a' , 'long' )
-EndOfSwitch.OutPort( 'a' , 'long' )
-Switch.SetName( 'Switch' )
-Switch.SetAuthor( '' )
-Switch.SetComment( '' )
-Switch.Coords( 186 , 130 )
-Switch.InPort( 'a' , 'long' )
-Switch.OutPort( 'Odd' , 'long' )
-Switch.OutPort( 'Even' , 'int' )
-Switch.OutPort( 'a' , 'int' )
-
-PySwitch_1 = []
-PySwitch_1.append( 'from time import * ' )
-PySwitch_1.append( 'def Switch(a) : ' )
-PySwitch_1.append( ' if ( a & 1 ) == 0 : ' )
-PySwitch_1.append( ' sleep(1) ' )
-PySwitch_1.append( ' return a & 1,1-(a&1),a ' )
-Switch_1,EndSwitch = GraphSwitchs.SNode( 'Switch' , PySwitch_1 )
-EndSwitch.SetName( 'EndSwitch' )
-EndSwitch.SetAuthor( '' )
-EndSwitch.SetComment( '' )
-EndSwitch.Coords( 605 , 382 )
-PyEndSwitch = []
-EndSwitch.SetPyFunction( 'EndSwitch' , PyEndSwitch )
-EndSwitch.InPort( 'a' , 'long' )
-EndSwitch.OutPort( 'a' , 'long' )
-Switch_1.SetName( 'Switch_1' )
-Switch_1.SetAuthor( '' )
-Switch_1.SetComment( '' )
-Switch_1.Coords( 193 , 388 )
-Switch_1.InPort( 'a' , 'long' )
-Switch_1.OutPort( 'Odd' , 'long' )
-Switch_1.OutPort( 'Even' , 'int' )
-Switch_1.OutPort( 'a' , 'int' )
-
-# Creation of Links
-IsOdda = IsOdd.Port( 'a' )
-EndOfSwitcha = GraphSwitchs.Link( IsOdda , EndOfSwitch.Port( 'a' ) )
-EndOfSwitcha.AddCoord( 1 , 573 , 160 )
-EndOfSwitcha.AddCoord( 2 , 572 , 130 )
-
-InitLoopSwitchIndex = InitLoopSwitch.Port( 'Index' )
-Switcha = GraphSwitchs.Link( InitLoopSwitchIndex , Switch.Port( 'a' ) )
-
-InitLoopSwitchMin = InitLoopSwitch.Port( 'Min' )
-EndOfInitLoopSwitchMin = GraphSwitchs.Link( InitLoopSwitchMin , EndOfInitLoopSwitch.Port( 'Min' ) )
-
-InitLoopSwitchMax = InitLoopSwitch.Port( 'Max' )
-EndOfInitLoopSwitchMax = GraphSwitchs.Link( InitLoopSwitchMax , EndOfInitLoopSwitch.Port( 'Max' ) )
-
-SwitchOdd = Switch.Port( 'Odd' )
-IsOddInGate = GraphSwitchs.Link( SwitchOdd , IsOdd.Port( 'InGate' ) )
-
-Switcha = Switch.Port( 'a' )
-IsOdda = GraphSwitchs.Link( Switcha , IsOdd.Port( 'a' ) )
-IsOdda.AddCoord( 1 , 365 , 129 )
-IsOdda.AddCoord( 2 , 365 , 222 )
-
-SwitchDefault = Switch.Port( 'Default' )
-EndOfSwitchDefault = GraphSwitchs.Link( SwitchDefault , EndOfSwitch.Port( 'Default' ) )
-EndOfSwitchDefault.AddCoord( 1 , 572 , 194 )
-EndOfSwitchDefault.AddCoord( 2 , 571 , 257 )
-
-EndOfSwitcha = EndOfSwitch.Port( 'a' )
-EndOfInitLoopSwitchIndex = GraphSwitchs.Link( EndOfSwitcha , EndOfInitLoopSwitch.Port( 'Index' ) )
-
-IsOdd_1a = IsOdd_1.Port( 'a' )
-EndSwitcha = GraphSwitchs.Link( IsOdd_1a , EndSwitch.Port( 'a' ) )
-EndSwitcha.AddCoord( 1 , 599 , 416 )
-EndSwitcha.AddCoord( 2 , 598 , 389 )
-
-InitLoopIndex = InitLoop.Port( 'Index' )
-Switch_1a = GraphSwitchs.Link( InitLoopIndex , Switch_1.Port( 'a' ) )
-
-InitLoopMin = InitLoop.Port( 'Min' )
-EndOfInitLoopMin = GraphSwitchs.Link( InitLoopMin , EndOfInitLoop.Port( 'Min' ) )
-
-InitLoopMax = InitLoop.Port( 'Max' )
-EndOfInitLoopMax = GraphSwitchs.Link( InitLoopMax , EndOfInitLoop.Port( 'Max' ) )
-
-Switch_1Odd = Switch_1.Port( 'Odd' )
-IsOdd_1InGate = GraphSwitchs.Link( Switch_1Odd , IsOdd_1.Port( 'InGate' ) )
-
-Switch_1Even = Switch_1.Port( 'Even' )
-EndSwitchDefault = GraphSwitchs.Link( Switch_1Even , EndSwitch.Port( 'Default' ) )
-
-Switch_1a = Switch_1.Port( 'a' )
-IsOdd_1a = GraphSwitchs.Link( Switch_1a , IsOdd_1.Port( 'a' ) )
-IsOdd_1a.AddCoord( 1 , 379 , 387 )
-IsOdd_1a.AddCoord( 2 , 378 , 481 )
-
-EndSwitcha = EndSwitch.Port( 'a' )
-EndOfInitLoopIndex = GraphSwitchs.Link( EndSwitcha , EndOfInitLoop.Port( 'Index' ) )
-
-# Creation of Input datas
-InitLoopSwitchIndex = InitLoopSwitch.Input( 'Index' , 0)
-InitLoopSwitchMin = InitLoopSwitch.Input( 'Min' , 0)
-InitLoopSwitchMax = InitLoopSwitch.Input( 'Max' , 100)
-InitLoopIndex = InitLoop.Input( 'Index' , 0)
-InitLoopMin = InitLoop.Input( 'Min' , 0)
-InitLoopMax = InitLoop.Input( 'Max' , 100)
-
-# Creation of Output variables
-EndOfInitLoopSwitchIndex = EndOfInitLoopSwitch.Port( 'Index' )
-EndOfInitLoopSwitchMin = EndOfInitLoopSwitch.Port( 'Min' )
-EndOfInitLoopSwitchMax = EndOfInitLoopSwitch.Port( 'Max' )
-SwitchEven = Switch.Port( 'Even' )
-EndOfInitLoopIndex = EndOfInitLoop.Port( 'Index' )
-EndOfInitLoopMin = EndOfInitLoop.Port( 'Min' )
-EndOfInitLoopMax = EndOfInitLoop.Port( 'Max' )
-
-GraphSwitchs.Run()
-GraphSwitchs.DoneW()
-GraphSwitchs.State()
-GraphSwitchs.PrintPorts()
+++ /dev/null
-<!DOCTYPE Dataflow>
-<dataflow>
-<info-list>
-<node>
-<component-name>?</component-name>
- <interface-name>?</interface-name>
- <node-name>GraphSwitchs</node-name>
- <kind>1</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>GraphSwitchs</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>InitLoopSwitch\Index</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>InitLoopSwitch\Min</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>InitLoopSwitch\Max</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>InitLoop\Index</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>InitLoop\Min</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>InitLoop\Max</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>EndOfInitLoopSwitch\Index</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>EndOfInitLoopSwitch\Min</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>EndOfInitLoopSwitch\Max</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>int</outParameter-type>
- <outParameter-name>Switch\Even</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>EndOfInitLoop\Index</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>EndOfInitLoop\Min</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>EndOfInitLoop\Max</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list/>
- <creation-date>14/10/2003 - 10:29:4</creation-date>
- <lastmodification-date>16/10/2003 - 10:57:24</lastmodification-date>
- <editor-release>1.05</editor-release>
- <author>?</author>
- <container>?</container>
- <comment>?</comment>
- <x-position>0</x-position>
- <y-position>0</y-position> </node> </info-list>
- <node-list>
-<node>
-<component-name>?</component-name>
- <interface-name>?</interface-name>
- <node-name>IsOdd</node-name>
- <kind>3</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>IsOdd</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>a</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>a</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list>
-<PyFunction>
-<FuncName>IsOdd</FuncName>
- <PyFunc><![CDATA[from time import * ]]></PyFunc>
- <PyFunc><![CDATA[def IsOdd(a) : ]]></PyFunc>
- <PyFunc><![CDATA[ print a,"IsOdd (GraphSwitchs)" ]]></PyFunc>
- <PyFunc><![CDATA[ sleep( 1 ) ]]></PyFunc>
- <PyFunc><![CDATA[ return a ]]></PyFunc> </PyFunction> </PyFunction-list>
- <creation-date>16/10/2003 - 10:57:24</creation-date>
- <lastmodification-date>16/10/2003 - 10:57:24</lastmodification-date>
- <editor-release>1.05</editor-release>
- <author>?</author>
- <container>?</container>
- <comment>Python function</comment>
- <x-position>388</x-position>
- <y-position>50</y-position> </node>
- <node>
-<component-name>?</component-name>
- <interface-name>?</interface-name>
- <node-name>InitLoopSwitch</node-name>
- <kind>4</kind>
- <coupled-node>EndOfInitLoopSwitch</coupled-node>
- <service>
-<service-name>InitLoopSwitch</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>Index</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>Min</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>Max</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>Index</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>Min</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>Max</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list>
-<PyFunction>
-<FuncName>InitLoop</FuncName>
- <PyFunc><![CDATA[def InitLoop(Index,Min,Max) : ]]></PyFunc>
- <PyFunc><![CDATA[ return Index,Min,Max ]]></PyFunc> </PyFunction>
- <PyFunction>
-<FuncName>MoreLoop</FuncName>
- <PyFunc><![CDATA[def MoreLoop(Index,Min,Max) : ]]></PyFunc>
- <PyFunc><![CDATA[ if Index <= Max : ]]></PyFunc>
- <PyFunc><![CDATA[ DoLoop = 1 ]]></PyFunc>
- <PyFunc><![CDATA[ else : ]]></PyFunc>
- <PyFunc><![CDATA[ DoLoop = 0 ]]></PyFunc>
- <PyFunc><![CDATA[ return DoLoop,Index,Min,Max ]]></PyFunc> </PyFunction>
- <PyFunction>
-<FuncName>NextLoop</FuncName>
- <PyFunc><![CDATA[def NextLoop(Index,Min,Max) : ]]></PyFunc>
- <PyFunc><![CDATA[ Index = Index + 1 ]]></PyFunc>
- <PyFunc><![CDATA[ return Index,Min,Max ]]></PyFunc> </PyFunction> </PyFunction-list>
- <creation-date>16/10/2003 - 10:57:24</creation-date>
- <lastmodification-date>16/10/2003 - 10:57:24</lastmodification-date>
- <editor-release>1.05</editor-release>
- <author>?</author>
- <container>?</container>
- <comment>?</comment>
- <x-position>10</x-position>
- <y-position>129</y-position> </node>
- <node>
-<component-name>?</component-name>
- <interface-name>?</interface-name>
- <node-name>EndOfInitLoopSwitch</node-name>
- <kind>5</kind>
- <coupled-node>InitLoopSwitch</coupled-node>
- <service>
-<service-name>EndOfInitLoopSwitch</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>Index</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>Min</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>Max</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>Index</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>Min</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>Max</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list>
-<PyFunction/> </PyFunction-list>
- <creation-date>16/10/2003 - 10:57:24</creation-date>
- <lastmodification-date>16/10/2003 - 10:57:24</lastmodification-date>
- <editor-release>1.05</editor-release>
- <author>?</author>
- <container>?</container>
- <comment>?</comment>
- <x-position>766</x-position>
- <y-position>127</y-position> </node>
- <node>
-<component-name>?</component-name>
- <interface-name>?</interface-name>
- <node-name>Switch</node-name>
- <kind>6</kind>
- <coupled-node>EndOfSwitch</coupled-node>
- <service>
-<service-name>Switch</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>a</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>Odd</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>int</outParameter-type>
- <outParameter-name>Even</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>int</outParameter-type>
- <outParameter-name>a</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list>
-<PyFunction>
-<FuncName>Switch</FuncName>
- <PyFunc><![CDATA[from time import * ]]></PyFunc>
- <PyFunc><![CDATA[def Switch(a) : ]]></PyFunc>
- <PyFunc><![CDATA[ if ( a & 1 ) == 0 : ]]></PyFunc>
- <PyFunc><![CDATA[ sleep(1) ]]></PyFunc>
- <PyFunc><![CDATA[ return a & 1,1-(a&1),a ]]></PyFunc> </PyFunction> </PyFunction-list>
- <creation-date>16/10/2003 - 10:57:24</creation-date>
- <lastmodification-date>16/10/2003 - 10:57:24</lastmodification-date>
- <editor-release>1.05</editor-release>
- <author>?</author>
- <container>?</container>
- <comment>?</comment>
- <x-position>186</x-position>
- <y-position>130</y-position> </node>
- <node>
-<component-name>?</component-name>
- <interface-name>?</interface-name>
- <node-name>EndOfSwitch</node-name>
- <kind>7</kind>
- <coupled-node>Switch</coupled-node>
- <service>
-<service-name>EndOfSwitch</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>a</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>a</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list>
-<PyFunction/> </PyFunction-list>
- <creation-date>16/10/2003 - 10:57:24</creation-date>
- <lastmodification-date>16/10/2003 - 10:57:24</lastmodification-date>
- <editor-release>1.05</editor-release>
- <author>?</author>
- <container>?</container>
- <comment>?</comment>
- <x-position>587</x-position>
- <y-position>126</y-position> </node>
- <node>
-<component-name>?</component-name>
- <interface-name>?</interface-name>
- <node-name>IsOdd_1</node-name>
- <kind>3</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>IsOdd_1</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>a</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>a</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list>
-<PyFunction>
-<FuncName>IsOdd</FuncName>
- <PyFunc><![CDATA[from time import * ]]></PyFunc>
- <PyFunc><![CDATA[def IsOdd(a) : ]]></PyFunc>
- <PyFunc><![CDATA[ print a,"IsOdd_1 (GraphSwitchs)" ]]></PyFunc>
- <PyFunc><![CDATA[ sleep( 1 ) ]]></PyFunc>
- <PyFunc><![CDATA[ return a ]]></PyFunc> </PyFunction> </PyFunction-list>
- <creation-date>16/10/2003 - 10:57:24</creation-date>
- <lastmodification-date>16/10/2003 - 10:57:24</lastmodification-date>
- <editor-release>1.05</editor-release>
- <author>?</author>
- <container>?</container>
- <comment>Python function</comment>
- <x-position>419</x-position>
- <y-position>308</y-position> </node>
- <node>
-<component-name>?</component-name>
- <interface-name>?</interface-name>
- <node-name>InitLoop</node-name>
- <kind>4</kind>
- <coupled-node>EndOfInitLoop</coupled-node>
- <service>
-<service-name>InitLoop</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>Index</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>Min</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>Max</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>Index</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>Min</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>Max</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list>
-<PyFunction>
-<FuncName>InitLoop</FuncName>
- <PyFunc><![CDATA[def InitLoop(Index,Min,Max) : ]]></PyFunc>
- <PyFunc><![CDATA[ return Index,Min,Max ]]></PyFunc> </PyFunction>
- <PyFunction>
-<FuncName>MoreLoop</FuncName>
- <PyFunc><![CDATA[def MoreLoop(Index,Min,Max) : ]]></PyFunc>
- <PyFunc><![CDATA[ if Index <= Max : ]]></PyFunc>
- <PyFunc><![CDATA[ DoLoop = 1 ]]></PyFunc>
- <PyFunc><![CDATA[ else : ]]></PyFunc>
- <PyFunc><![CDATA[ DoLoop = 0 ]]></PyFunc>
- <PyFunc><![CDATA[ return DoLoop,Index,Min,Max ]]></PyFunc> </PyFunction>
- <PyFunction>
-<FuncName>NextLoop</FuncName>
- <PyFunc><![CDATA[def NextLoop(Index,Min,Max) : ]]></PyFunc>
- <PyFunc><![CDATA[ Index = Index + 1 ]]></PyFunc>
- <PyFunc><![CDATA[ return Index,Min,Max ]]></PyFunc> </PyFunction> </PyFunction-list>
- <creation-date>16/10/2003 - 10:57:24</creation-date>
- <lastmodification-date>16/10/2003 - 10:57:24</lastmodification-date>
- <editor-release>1.05</editor-release>
- <author>?</author>
- <container>?</container>
- <comment>?</comment>
- <x-position>10</x-position>
- <y-position>388</y-position> </node>
- <node>
-<component-name>?</component-name>
- <interface-name>?</interface-name>
- <node-name>EndOfInitLoop</node-name>
- <kind>5</kind>
- <coupled-node>InitLoop</coupled-node>
- <service>
-<service-name>EndOfInitLoop</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>Index</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>Min</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>Max</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>Index</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>Min</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>Max</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list>
-<PyFunction/> </PyFunction-list>
- <creation-date>16/10/2003 - 10:57:24</creation-date>
- <lastmodification-date>16/10/2003 - 10:57:24</lastmodification-date>
- <editor-release>1.05</editor-release>
- <author>?</author>
- <container>?</container>
- <comment>?</comment>
- <x-position>783</x-position>
- <y-position>381</y-position> </node>
- <node>
-<component-name>?</component-name>
- <interface-name>?</interface-name>
- <node-name>Switch_1</node-name>
- <kind>6</kind>
- <coupled-node>EndSwitch</coupled-node>
- <service>
-<service-name>Switch_1</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>a</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>Odd</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>int</outParameter-type>
- <outParameter-name>Even</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>int</outParameter-type>
- <outParameter-name>a</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list>
-<PyFunction>
-<FuncName>Switch</FuncName>
- <PyFunc><![CDATA[from time import * ]]></PyFunc>
- <PyFunc><![CDATA[def Switch(a) : ]]></PyFunc>
- <PyFunc><![CDATA[ if ( a & 1 ) == 0 : ]]></PyFunc>
- <PyFunc><![CDATA[ sleep(1) ]]></PyFunc>
- <PyFunc><![CDATA[ return a & 1,1-(a&1),a ]]></PyFunc> </PyFunction> </PyFunction-list>
- <creation-date>16/10/2003 - 10:57:24</creation-date>
- <lastmodification-date>16/10/2003 - 10:57:24</lastmodification-date>
- <editor-release>1.05</editor-release>
- <author>?</author>
- <container>?</container>
- <comment>?</comment>
- <x-position>193</x-position>
- <y-position>388</y-position> </node>
- <node>
-<component-name>?</component-name>
- <interface-name>?</interface-name>
- <node-name>EndSwitch</node-name>
- <kind>7</kind>
- <coupled-node>Switch_1</coupled-node>
- <service>
-<service-name>EndSwitch</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>a</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>a</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list>
-<PyFunction/> </PyFunction-list>
- <creation-date>16/10/2003 - 10:57:24</creation-date>
- <lastmodification-date>16/10/2003 - 10:57:24</lastmodification-date>
- <editor-release>1.05</editor-release>
- <author>?</author>
- <container>?</container>
- <comment>?</comment>
- <x-position>605</x-position>
- <y-position>382</y-position> </node> </node-list>
- <link-list>
-<link>
-<fromnode-name>IsOdd</fromnode-name>
- <fromserviceparameter-name>a</fromserviceparameter-name>
- <tonode-name>EndOfSwitch</tonode-name>
- <toserviceparameter-name>a</toserviceparameter-name>
- <coord-list>
-<coord>
-<x>573</x>
- <y>160</y> </coord>
- <coord>
-<x>572</x>
- <y>130</y> </coord> </coord-list> </link>
- <link>
-<fromnode-name>InitLoopSwitch</fromnode-name>
- <fromserviceparameter-name>DoLoop</fromserviceparameter-name>
- <tonode-name>EndOfInitLoopSwitch</tonode-name>
- <toserviceparameter-name>DoLoop</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>InitLoopSwitch</fromnode-name>
- <fromserviceparameter-name>Index</fromserviceparameter-name>
- <tonode-name>Switch</tonode-name>
- <toserviceparameter-name>a</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>InitLoopSwitch</fromnode-name>
- <fromserviceparameter-name>Min</fromserviceparameter-name>
- <tonode-name>EndOfInitLoopSwitch</tonode-name>
- <toserviceparameter-name>Min</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>InitLoopSwitch</fromnode-name>
- <fromserviceparameter-name>Max</fromserviceparameter-name>
- <tonode-name>EndOfInitLoopSwitch</tonode-name>
- <toserviceparameter-name>Max</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>EndOfInitLoopSwitch</fromnode-name>
- <fromserviceparameter-name>DoLoop</fromserviceparameter-name>
- <tonode-name>InitLoopSwitch</tonode-name>
- <toserviceparameter-name>InitLoop</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>Switch</fromnode-name>
- <fromserviceparameter-name>Odd</fromserviceparameter-name>
- <tonode-name>IsOdd</tonode-name>
- <toserviceparameter-name>InGate</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>Switch</fromnode-name>
- <fromserviceparameter-name>a</fromserviceparameter-name>
- <tonode-name>IsOdd</tonode-name>
- <toserviceparameter-name>a</toserviceparameter-name>
- <coord-list>
-<coord>
-<x>365</x>
- <y>129</y> </coord>
- <coord>
-<x>365</x>
- <y>222</y> </coord> </coord-list> </link>
- <link>
-<fromnode-name>Switch</fromnode-name>
- <fromserviceparameter-name>Default</fromserviceparameter-name>
- <tonode-name>EndOfSwitch</tonode-name>
- <toserviceparameter-name>Default</toserviceparameter-name>
- <coord-list>
-<coord>
-<x>572</x>
- <y>194</y> </coord>
- <coord>
-<x>571</x>
- <y>257</y> </coord> </coord-list> </link>
- <link>
-<fromnode-name>EndOfSwitch</fromnode-name>
- <fromserviceparameter-name>a</fromserviceparameter-name>
- <tonode-name>EndOfInitLoopSwitch</tonode-name>
- <toserviceparameter-name>Index</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>IsOdd_1</fromnode-name>
- <fromserviceparameter-name>a</fromserviceparameter-name>
- <tonode-name>EndSwitch</tonode-name>
- <toserviceparameter-name>a</toserviceparameter-name>
- <coord-list>
-<coord>
-<x>599</x>
- <y>416</y> </coord>
- <coord>
-<x>598</x>
- <y>389</y> </coord> </coord-list> </link>
- <link>
-<fromnode-name>InitLoop</fromnode-name>
- <fromserviceparameter-name>DoLoop</fromserviceparameter-name>
- <tonode-name>EndOfInitLoop</tonode-name>
- <toserviceparameter-name>DoLoop</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>InitLoop</fromnode-name>
- <fromserviceparameter-name>Index</fromserviceparameter-name>
- <tonode-name>Switch_1</tonode-name>
- <toserviceparameter-name>a</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>InitLoop</fromnode-name>
- <fromserviceparameter-name>Min</fromserviceparameter-name>
- <tonode-name>EndOfInitLoop</tonode-name>
- <toserviceparameter-name>Min</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>InitLoop</fromnode-name>
- <fromserviceparameter-name>Max</fromserviceparameter-name>
- <tonode-name>EndOfInitLoop</tonode-name>
- <toserviceparameter-name>Max</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>EndOfInitLoop</fromnode-name>
- <fromserviceparameter-name>DoLoop</fromserviceparameter-name>
- <tonode-name>InitLoop</tonode-name>
- <toserviceparameter-name>InitLoop</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>Switch_1</fromnode-name>
- <fromserviceparameter-name>Odd</fromserviceparameter-name>
- <tonode-name>IsOdd_1</tonode-name>
- <toserviceparameter-name>InGate</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>Switch_1</fromnode-name>
- <fromserviceparameter-name>Even</fromserviceparameter-name>
- <tonode-name>EndSwitch</tonode-name>
- <toserviceparameter-name>Default</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>Switch_1</fromnode-name>
- <fromserviceparameter-name>a</fromserviceparameter-name>
- <tonode-name>IsOdd_1</tonode-name>
- <toserviceparameter-name>a</toserviceparameter-name>
- <coord-list>
-<coord>
-<x>379</x>
- <y>387</y> </coord>
- <coord>
-<x>378</x>
- <y>481</y> </coord> </coord-list> </link>
- <link>
-<fromnode-name>EndSwitch</fromnode-name>
- <fromserviceparameter-name>a</fromserviceparameter-name>
- <tonode-name>EndOfInitLoop</tonode-name>
- <toserviceparameter-name>Index</toserviceparameter-name>
- <coord-list/> </link> </link-list>
- <data-list>
-<data>
-<fromnode-name>GraphSwitchs</fromnode-name>
- <fromserviceparameter-name>InitLoopSwitch\Index</fromserviceparameter-name>
- <tonode-name>InitLoopSwitch</tonode-name>
- <toserviceparameter-name>Index</toserviceparameter-name>
- <data-value>
-<value-type>3</value-type>
- <value>0</value> </data-value>
- <coord-list/> </data>
- <data>
-<fromnode-name>GraphSwitchs</fromnode-name>
- <fromserviceparameter-name>InitLoopSwitch\Min</fromserviceparameter-name>
- <tonode-name>InitLoopSwitch</tonode-name>
- <toserviceparameter-name>Min</toserviceparameter-name>
- <data-value>
-<value-type>3</value-type>
- <value>0</value> </data-value>
- <coord-list/> </data>
- <data>
-<fromnode-name>GraphSwitchs</fromnode-name>
- <fromserviceparameter-name>InitLoopSwitch\Max</fromserviceparameter-name>
- <tonode-name>InitLoopSwitch</tonode-name>
- <toserviceparameter-name>Max</toserviceparameter-name>
- <data-value>
-<value-type>3</value-type>
- <value>100</value> </data-value>
- <coord-list/> </data>
- <data>
-<fromnode-name>GraphSwitchs</fromnode-name>
- <fromserviceparameter-name>InitLoop\Index</fromserviceparameter-name>
- <tonode-name>InitLoop</tonode-name>
- <toserviceparameter-name>Index</toserviceparameter-name>
- <data-value>
-<value-type>3</value-type>
- <value>0</value> </data-value>
- <coord-list/> </data>
- <data>
-<fromnode-name>GraphSwitchs</fromnode-name>
- <fromserviceparameter-name>InitLoop\Min</fromserviceparameter-name>
- <tonode-name>InitLoop</tonode-name>
- <toserviceparameter-name>Min</toserviceparameter-name>
- <data-value>
-<value-type>3</value-type>
- <value>0</value> </data-value>
- <coord-list/> </data>
- <data>
-<fromnode-name>GraphSwitchs</fromnode-name>
- <fromserviceparameter-name>InitLoop\Max</fromserviceparameter-name>
- <tonode-name>InitLoop</tonode-name>
- <toserviceparameter-name>Max</toserviceparameter-name>
- <data-value>
-<value-type>3</value-type>
- <value>100</value> </data-value>
- <coord-list/> </data> </data-list></dataflow>
+++ /dev/null
-
-# Generated python file of Graph GraphSyrControl
-
-from SuperV import *
-# Graph creation
-GraphSyrControl = Graph( 'GraphSyrControl' )
-GraphSyrControl.SetName( 'GraphSyrControl' )
-GraphSyrControl.SetAuthor( 'JR' )
-GraphSyrControl.SetComment( 'Syracuse algorithm' )
-GraphSyrControl.Coords( 0 , 0 )
-
-# Creation of Factory Nodes
-
-test_ISEVEN = GraphSyrControl.FNode( 'SyrComponent' , 'SyrComponent' , 'C_ISEVEN' )
-test_ISEVEN.SetName( 'test_ISEVEN' )
-test_ISEVEN.SetAuthor( '' )
-test_ISEVEN.SetContainer( 'localhost/FactoryServer' )
-test_ISEVEN.SetComment( 'C_ISEVEN from SyrComponent' )
-test_ISEVEN.Coords( 190 , 338 )
-
-test_ISONE = GraphSyrControl.FNode( 'SyrComponent' , 'SyrComponent' , 'C_ISONE' )
-test_ISONE.SetName( 'test_ISONE' )
-test_ISONE.SetAuthor( '' )
-test_ISONE.SetContainer( 'localhost/FactoryServer' )
-test_ISONE.SetComment( 'C_ISONE from SyrComponent' )
-test_ISONE.Coords( 196 , 131 )
-
-m3p1 = GraphSyrControl.FNode( 'SyrComponent' , 'SyrComponent' , 'C_M3P1' )
-m3p1.SetName( 'm3p1' )
-m3p1.SetAuthor( '' )
-m3p1.SetContainer( 'localhost/FactoryServer' )
-m3p1.SetComment( 'C_M3P1 from SyrComponent' )
-m3p1.Coords( 788 , 22 )
-
-div2 = GraphSyrControl.FNode( 'SyrComponent' , 'SyrComponent' , 'C_DIV2' )
-div2.SetName( 'div2' )
-div2.SetAuthor( '' )
-div2.SetContainer( 'localhost/FactoryServer' )
-div2.SetComment( 'C_DIV2 from SyrComponent' )
-div2.Coords( 794 , 427 )
-
-incr = GraphSyrControl.FNode( 'SyrComponent' , 'SyrComponent' , 'C_INCR' )
-incr.SetName( 'incr' )
-incr.SetAuthor( '' )
-incr.SetContainer( 'localhost/FactoryServer' )
-incr.SetComment( 'C_INCR from SyrComponent' )
-incr.Coords( 790 , 158 )
-
-# Creation of InLine Nodes
-Pylabel_begin = []
-Pylabel_begin.append( 'def label_begin( NB , KB ):' )
-Pylabel_begin.append( ' print "label_begin",NB,KB' )
-Pylabel_begin.append( ' return NB,KB' )
-label_begin = GraphSyrControl.INode( 'label_begin' , Pylabel_begin )
-label_begin.InPort( 'NB' , 'long' )
-label_begin.InPort( 'KB' , 'long' )
-label_begin.OutPort( 'NT' , 'long' )
-label_begin.OutPort( 'KT' , 'long' )
-label_begin.SetName( 'label_begin' )
-label_begin.SetAuthor( '' )
-label_begin.SetComment( 'Python function' )
-label_begin.Coords( 7 , 216 )
-
-Pylabel_test = []
-Pylabel_test.append( 'def label_test( ValEven , ValOne , NB , KB ):' )
-Pylabel_test.append( ' print "label_begin",ValEven,ValOne,NB,KB' )
-Pylabel_test.append( ' return ValEven,ValOne,NB,KB' )
-label_test = GraphSyrControl.INode( 'label_test' , Pylabel_test )
-label_test.InPort( 'ValEven' , 'long' )
-label_test.InPort( 'ValOne' , 'long' )
-label_test.InPort( 'NT' , 'long' )
-label_test.InPort( 'KT' , 'long' )
-label_test.OutPort( 'ValEven' , 'long' )
-label_test.OutPort( 'ValOne' , 'long' )
-label_test.OutPort( 'NT' , 'long' )
-label_test.OutPort( 'KT' , 'long' )
-label_test.SetName( 'label_test' )
-label_test.SetAuthor( '' )
-label_test.SetComment( 'Python function' )
-label_test.Coords( 385 , 159 )
-
-# Creation of Switch Nodes
-Pytest = []
-Pytest.append( 'def Switch_OneEven( ValOne , ValEven , NT , KT ) :' )
-Pytest.append( ' Finished = ValOne' )
-Pytest.append( ' if Finished == 0 :' )
-Pytest.append( ' Incr = 1' )
-Pytest.append( ' Even = ValEven' )
-Pytest.append( ' if Even == 0 :' )
-Pytest.append( ' Odd = 1' )
-Pytest.append( ' else :' )
-Pytest.append( ' Odd = 0' )
-Pytest.append( ' else :' )
-Pytest.append( ' Incr = 0' )
-Pytest.append( ' Even = 0' )
-Pytest.append( ' Odd = 0' )
-Pytest.append( ' Even = ValEven' )
-Pytest.append( ' return Finished,Incr,Even,Odd,NT,KT' )
-test,EndSwitch_OneEven = GraphSyrControl.SNode( 'Switch_OneEven' , Pytest )
-EndSwitch_OneEven.SetName( 'EndSwitch_OneEven' )
-EndSwitch_OneEven.SetAuthor( '' )
-EndSwitch_OneEven.SetComment( '' )
-EndSwitch_OneEven.Coords( 1065 , 321 )
-PyEndSwitch_OneEven = []
-PyEndSwitch_OneEven.append( 'def EndSwitch_OneEven( Finished , K ):' )
-PyEndSwitch_OneEven.append( ' print "label_begin",Finished,K' )
-PyEndSwitch_OneEven.append( ' return Finished,K' )
-EndSwitch_OneEven.SetPyFunction( 'EndSwitch_OneEven' , PyEndSwitch_OneEven )
-EndSwitch_OneEven.InPort( 'Finished' , 'long' )
-EndSwitch_OneEven.InPort( 'K' , 'long' )
-EndSwitch_OneEven.OutPort( 'Finished' , 'long' )
-EndSwitch_OneEven.OutPort( 'K' , 'long' )
-test.InPort( 'ValOne' , 'long' )
-test.InPort( 'ValEven' , 'long' )
-test.InPort( 'NT' , 'long' )
-test.InPort( 'KT' , 'long' )
-test.OutPort( 'Finished' , 'long' )
-test.OutPort( 'Incr' , 'long' )
-test.OutPort( 'Even' , 'long' )
-test.OutPort( 'Odd' , 'long' )
-test.OutPort( 'N' , 'long' )
-test.OutPort( 'K' , 'long' )
-test.SetName( 'test' )
-test.SetAuthor( '' )
-test.SetComment( '' )
-test.Coords( 592 , 205 )
-
-# Creation of GOTO Nodes
-Pycontrol_m3p1 = []
-Pycontrol_m3p1.append( 'def control_m3p1( N , K ):' )
-Pycontrol_m3p1.append( ' return 0,1,N,K' )
-control_m3p1 = GraphSyrControl.GNode( 'control_m3p1' , Pycontrol_m3p1 , 'label_test' )
-control_m3p1.InPort( 'N' , 'long' )
-control_m3p1.InPort( 'K' , 'long' )
-control_m3p1.OutPort( 'ValOne' , 'long' )
-control_m3p1.OutPort( 'ValEven' , 'long' )
-control_m3p1.OutPort( 'NT' , 'long' )
-control_m3p1.OutPort( 'KT' , 'long' )
-control_m3p1.SetName( 'control_m3p1' )
-control_m3p1.SetAuthor( '' )
-control_m3p1.SetComment( '' )
-control_m3p1.Coords( 1012 , 68 )
-
-Pycontrol_div2 = []
-Pycontrol_div2.append( 'def control_div2( N , NB ) :' )
-Pycontrol_div2.append( ' return N,NB' )
-control_div2 = GraphSyrControl.GNode( 'control_div2' , Pycontrol_div2 , 'label_begin' )
-control_div2.InPort( 'N' , 'long' )
-control_div2.InPort( 'K' , 'long' )
-control_div2.OutPort( 'NB' , 'long' )
-control_div2.OutPort( 'KB' , 'long' )
-control_div2.SetName( 'control_div2' )
-control_div2.SetAuthor( '' )
-control_div2.SetComment( '' )
-control_div2.Coords( 1010 , 473 )
-
-# Creation of Links
-test_ISEVENBoolEven = test_ISEVEN.Port( 'BoolEven' )
-label_testValEven = GraphSyrControl.Link( test_ISEVENBoolEven , label_test.Port( 'ValEven' ) )
-label_testValEven.AddCoord( 1 , 380 , 236 )
-label_testValEven.AddCoord( 2 , 379 , 419 )
-
-test_ISONEBoolOne = test_ISONE.Port( 'BoolOne' )
-label_testValOne = GraphSyrControl.Link( test_ISONEBoolOne , label_test.Port( 'ValOne' ) )
-label_testValOne.AddCoord( 1 , 367 , 269 )
-label_testValOne.AddCoord( 2 , 367 , 213 )
-
-m3p1anEvenInteger = m3p1.Port( 'anEvenInteger' )
-control_m3p1N = GraphSyrControl.Link( m3p1anEvenInteger , control_m3p1.Port( 'N' ) )
-
-div2anInteger = div2.Port( 'anInteger' )
-control_div2N = GraphSyrControl.Link( div2anInteger , control_div2.Port( 'N' ) )
-
-incraNewCount = incr.Port( 'aNewCount' )
-control_m3p1K = GraphSyrControl.Link( incraNewCount , control_m3p1.Port( 'K' ) )
-control_m3p1K.AddCoord( 1 , 978 , 132 )
-control_m3p1K.AddCoord( 2 , 978 , 239 )
-
-control_div2K = GraphSyrControl.Link( incraNewCount , control_div2.Port( 'K' ) )
-control_div2K.AddCoord( 1 , 979 , 536 )
-control_div2K.AddCoord( 2 , 978 , 240 )
-
-label_beginNT = label_begin.Port( 'NT' )
-label_testNT = GraphSyrControl.Link( label_beginNT , label_test.Port( 'NT' ) )
-
-test_ISEVENanInteger = GraphSyrControl.Link( label_beginNT , test_ISEVEN.Port( 'anInteger' ) )
-test_ISEVENanInteger.AddCoord( 1 , 184 , 416 )
-test_ISEVENanInteger.AddCoord( 2 , 185 , 298 )
-
-test_ISONEanInteger = GraphSyrControl.Link( label_beginNT , test_ISONE.Port( 'anInteger' ) )
-test_ISONEanInteger.AddCoord( 1 , 186 , 211 )
-test_ISONEanInteger.AddCoord( 2 , 185 , 297 )
-
-label_beginKT = label_begin.Port( 'KT' )
-label_testKT = GraphSyrControl.Link( label_beginKT , label_test.Port( 'KT' ) )
-
-label_testValEven = label_test.Port( 'ValEven' )
-testValEven = GraphSyrControl.Link( label_testValEven , test.Port( 'ValEven' ) )
-
-label_testValOne = label_test.Port( 'ValOne' )
-testValOne = GraphSyrControl.Link( label_testValOne , test.Port( 'ValOne' ) )
-
-label_testNT = label_test.Port( 'NT' )
-testNT = GraphSyrControl.Link( label_testNT , test.Port( 'NT' ) )
-
-label_testKT = label_test.Port( 'KT' )
-testKT = GraphSyrControl.Link( label_testKT , test.Port( 'KT' ) )
-
-testFinished = test.Port( 'Finished' )
-EndSwitch_OneEvenFinished = GraphSyrControl.Link( testFinished , EndSwitch_OneEven.Port( 'Finished' ) )
-
-testIncr = test.Port( 'Incr' )
-incrInGate = GraphSyrControl.Link( testIncr , incr.Port( 'InGate' ) )
-
-testEven = test.Port( 'Even' )
-div2InGate = GraphSyrControl.Link( testEven , div2.Port( 'InGate' ) )
-div2InGate.AddCoord( 1 , 764 , 536 )
-div2InGate.AddCoord( 2 , 763 , 297 )
-
-testOdd = test.Port( 'Odd' )
-m3p1InGate = GraphSyrControl.Link( testOdd , m3p1.Port( 'InGate' ) )
-m3p1InGate.AddCoord( 1 , 773 , 133 )
-m3p1InGate.AddCoord( 2 , 773 , 326 )
-
-testN = test.Port( 'N' )
-m3p1anOddInteger = GraphSyrControl.Link( testN , m3p1.Port( 'anOddInteger' ) )
-m3p1anOddInteger.AddCoord( 1 , 753 , 102 )
-m3p1anOddInteger.AddCoord( 2 , 752 , 355 )
-
-div2anEvenInteger = GraphSyrControl.Link( testN , div2.Port( 'anEvenInteger' ) )
-div2anEvenInteger.AddCoord( 1 , 753 , 508 )
-div2anEvenInteger.AddCoord( 2 , 752 , 356 )
-
-testK = test.Port( 'K' )
-EndSwitch_OneEvenK = GraphSyrControl.Link( testK , EndSwitch_OneEven.Port( 'K' ) )
-
-incraCount = GraphSyrControl.Link( testK , incr.Port( 'aCount' ) )
-incraCount.AddCoord( 1 , 779 , 239 )
-incraCount.AddCoord( 2 , 780 , 385 )
-
-testDefault = test.Port( 'Default' )
-EndSwitch_OneEvenDefault = GraphSyrControl.Link( testDefault , EndSwitch_OneEven.Port( 'Default' ) )
-
-control_m3p1OutGate = control_m3p1.Port( 'OutGate' )
-label_testInGate = GraphSyrControl.Link( control_m3p1OutGate , label_test.Port( 'InGate' ) )
-label_testInGate.AddCoord( 1 , 373 , 354 )
-label_testInGate.AddCoord( 2 , 372 , 10 )
-label_testInGate.AddCoord( 3 , 1180 , 9 )
-label_testInGate.AddCoord( 4 , 1181 , 217 )
-
-control_div2OutGate = control_div2.Port( 'OutGate' )
-label_beginInGate = GraphSyrControl.Link( control_div2OutGate , label_begin.Port( 'InGate' ) )
-label_beginInGate.AddCoord( 1 , 5 , 355 )
-label_beginInGate.AddCoord( 2 , 4 , 608 )
-label_beginInGate.AddCoord( 3 , 1177 , 608 )
-label_beginInGate.AddCoord( 4 , 1177 , 563 )
-
-# Creation of Input datas
-label_beginNB = label_begin.Input( 'NB' , 7)
-label_beginKB = label_begin.Input( 'KB' , 0)
-
-# Creation of Output variables
-EndSwitch_OneEvenFinished = EndSwitch_OneEven.Port( 'Finished' )
-EndSwitch_OneEvenK = EndSwitch_OneEven.Port( 'K' )
-
-GraphSyrControl.Run( 7 )
-
-GraphSyrControl.DoneW()
-
-GraphSyrControl.State()
-
-GraphSyrControl.PrintPorts()
-
-label_begin.EPyFunc()
-
+++ /dev/null
-<!DOCTYPE Dataflow>
-<dataflow>
-<info-list>
-<node>
-<component-name>?</component-name>
- <interface-name>?</interface-name>
- <node-name>GraphSyrControl</node-name>
- <kind>1</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>GraphSyrControl</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>label_begin\NB</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>label_begin\KB</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>EndSwitch_OneEven\Finished</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>EndSwitch_OneEven\K</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list/>
- <creation-date>11/3/2003 - 18:34:21</creation-date>
- <lastmodification-date>19/9/2003 - 15:2:2</lastmodification-date>
- <editor-release>1.04</editor-release>
- <author>JR</author>
- <container>?</container>
- <comment>Syracuse algorithm</comment>
- <x-position>0</x-position>
- <y-position>0</y-position> </node> </info-list>
- <node-list>
-<node>
-<component-name>SyrComponent</component-name>
- <interface-name>SyrComponent</interface-name>
- <node-name>test_ISEVEN</node-name>
- <kind>0</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>C_ISEVEN</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>anInteger</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>BoolEven</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list/>
- <creation-date>19/9/2003 - 15:2:2</creation-date>
- <lastmodification-date>19/9/2003 - 15:2:2</lastmodification-date>
- <editor-release>1.04</editor-release>
- <author>?</author>
- <container>localhost/FactoryServer</container>
- <comment>C_ISEVEN from SyrComponent</comment>
- <x-position>190</x-position>
- <y-position>338</y-position> </node>
- <node>
-<component-name>SyrComponent</component-name>
- <interface-name>SyrComponent</interface-name>
- <node-name>test_ISONE</node-name>
- <kind>0</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>C_ISONE</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>anInteger</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>BoolOne</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list/>
- <creation-date>19/9/2003 - 15:2:2</creation-date>
- <lastmodification-date>19/9/2003 - 15:2:2</lastmodification-date>
- <editor-release>1.04</editor-release>
- <author>?</author>
- <container>localhost/FactoryServer</container>
- <comment>C_ISONE from SyrComponent</comment>
- <x-position>196</x-position>
- <y-position>131</y-position> </node>
- <node>
-<component-name>SyrComponent</component-name>
- <interface-name>SyrComponent</interface-name>
- <node-name>m3p1</node-name>
- <kind>0</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>C_M3P1</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>anOddInteger</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>anEvenInteger</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list/>
- <creation-date>19/9/2003 - 15:2:2</creation-date>
- <lastmodification-date>19/9/2003 - 15:2:2</lastmodification-date>
- <editor-release>1.04</editor-release>
- <author>?</author>
- <container>localhost/FactoryServer</container>
- <comment>C_M3P1 from SyrComponent</comment>
- <x-position>788</x-position>
- <y-position>22</y-position> </node>
- <node>
-<component-name>SyrComponent</component-name>
- <interface-name>SyrComponent</interface-name>
- <node-name>div2</node-name>
- <kind>0</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>C_DIV2</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>anEvenInteger</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>anInteger</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list/>
- <creation-date>19/9/2003 - 15:2:2</creation-date>
- <lastmodification-date>19/9/2003 - 15:2:2</lastmodification-date>
- <editor-release>1.04</editor-release>
- <author>?</author>
- <container>localhost/FactoryServer</container>
- <comment>C_DIV2 from SyrComponent</comment>
- <x-position>794</x-position>
- <y-position>427</y-position> </node>
- <node>
-<component-name>SyrComponent</component-name>
- <interface-name>SyrComponent</interface-name>
- <node-name>incr</node-name>
- <kind>0</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>C_INCR</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>aCount</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>aNewCount</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list/>
- <creation-date>19/9/2003 - 15:2:2</creation-date>
- <lastmodification-date>19/9/2003 - 15:2:2</lastmodification-date>
- <editor-release>1.04</editor-release>
- <author>?</author>
- <container>localhost/FactoryServer</container>
- <comment>C_INCR from SyrComponent</comment>
- <x-position>790</x-position>
- <y-position>158</y-position> </node>
- <node>
-<component-name>?</component-name>
- <interface-name>?</interface-name>
- <node-name>label_begin</node-name>
- <kind>3</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>label_begin</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>NB</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>KB</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>NT</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>KT</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list>
-<PyFunction>
-<FuncName>label_begin</FuncName>
- <PyFunc><![CDATA[def label_begin( NB , KB ):]]></PyFunc>
- <PyFunc><![CDATA[ print "label_begin",NB,KB]]></PyFunc>
- <PyFunc><![CDATA[ return NB,KB]]></PyFunc> </PyFunction> </PyFunction-list>
- <creation-date>19/9/2003 - 15:2:2</creation-date>
- <lastmodification-date>19/9/2003 - 15:2:2</lastmodification-date>
- <editor-release>1.04</editor-release>
- <author>?</author>
- <container>?</container>
- <comment>Python function</comment>
- <x-position>7</x-position>
- <y-position>216</y-position> </node>
- <node>
-<component-name>?</component-name>
- <interface-name>?</interface-name>
- <node-name>label_test</node-name>
- <kind>3</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>label_test</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>ValEven</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>ValOne</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>NT</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>KT</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>ValEven</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>ValOne</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>NT</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>KT</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list>
-<PyFunction>
-<FuncName>label_test</FuncName>
- <PyFunc><![CDATA[def label_test( ValEven , ValOne , NB , KB ):]]></PyFunc>
- <PyFunc><![CDATA[ print "label_begin",ValEven,ValOne,NB,KB]]></PyFunc>
- <PyFunc><![CDATA[ return ValEven,ValOne,NB,KB]]></PyFunc> </PyFunction> </PyFunction-list>
- <creation-date>19/9/2003 - 15:2:2</creation-date>
- <lastmodification-date>19/9/2003 - 15:2:2</lastmodification-date>
- <editor-release>1.04</editor-release>
- <author>?</author>
- <container>?</container>
- <comment>Python function</comment>
- <x-position>385</x-position>
- <y-position>159</y-position> </node>
- <node>
-<component-name>?</component-name>
- <interface-name>?</interface-name>
- <node-name>test</node-name>
- <kind>6</kind>
- <coupled-node>EndSwitch_OneEven</coupled-node>
- <service>
-<service-name>test</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>ValOne</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>ValEven</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>NT</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>KT</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>Finished</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>Incr</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>Even</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>Odd</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>N</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>K</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list>
-<PyFunction>
-<FuncName>Switch_OneEven</FuncName>
- <PyFunc><![CDATA[def Switch_OneEven( ValOne , ValEven , NT , KT ) :]]></PyFunc>
- <PyFunc><![CDATA[ Finished = ValOne]]></PyFunc>
- <PyFunc><![CDATA[ if Finished == 0 :]]></PyFunc>
- <PyFunc><![CDATA[ Incr = 1]]></PyFunc>
- <PyFunc><![CDATA[ Even = ValEven]]></PyFunc>
- <PyFunc><![CDATA[ if Even == 0 :]]></PyFunc>
- <PyFunc><![CDATA[ Odd = 1]]></PyFunc>
- <PyFunc><![CDATA[ else :]]></PyFunc>
- <PyFunc><![CDATA[ Odd = 0]]></PyFunc>
- <PyFunc><![CDATA[ else :]]></PyFunc>
- <PyFunc><![CDATA[ Incr = 0]]></PyFunc>
- <PyFunc><![CDATA[ Even = 0]]></PyFunc>
- <PyFunc><![CDATA[ Odd = 0]]></PyFunc>
- <PyFunc><![CDATA[ Even = ValEven]]></PyFunc>
- <PyFunc><![CDATA[ return Finished,Incr,Even,Odd,NT,KT]]></PyFunc> </PyFunction> </PyFunction-list>
- <creation-date>19/9/2003 - 15:2:2</creation-date>
- <lastmodification-date>19/9/2003 - 15:2:2</lastmodification-date>
- <editor-release>1.04</editor-release>
- <author>?</author>
- <container>?</container>
- <comment>?</comment>
- <x-position>592</x-position>
- <y-position>205</y-position> </node>
- <node>
-<component-name>?</component-name>
- <interface-name>?</interface-name>
- <node-name>EndSwitch_OneEven</node-name>
- <kind>7</kind>
- <coupled-node>test</coupled-node>
- <service>
-<service-name>EndSwitch_OneEven</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>Finished</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>K</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>Finished</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>K</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list>
-<PyFunction>
-<FuncName>EndSwitch_OneEven</FuncName>
- <PyFunc><![CDATA[def EndSwitch_OneEven( Finished , K ):]]></PyFunc>
- <PyFunc><![CDATA[ print "label_begin",Finished,K]]></PyFunc>
- <PyFunc><![CDATA[ return Finished,K]]></PyFunc> </PyFunction> </PyFunction-list>
- <creation-date>19/9/2003 - 15:2:2</creation-date>
- <lastmodification-date>19/9/2003 - 15:2:2</lastmodification-date>
- <editor-release>1.04</editor-release>
- <author>?</author>
- <container>?</container>
- <comment>?</comment>
- <x-position>1065</x-position>
- <y-position>321</y-position> </node>
- <node>
-<component-name>?</component-name>
- <interface-name>?</interface-name>
- <node-name>control_m3p1</node-name>
- <kind>8</kind>
- <coupled-node>label_test</coupled-node>
- <service>
-<service-name>control_m3p1</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>N</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>K</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>ValOne</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>ValEven</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>NT</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>KT</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list>
-<PyFunction>
-<FuncName>control_m3p1</FuncName>
- <PyFunc><![CDATA[def control_m3p1( N , K ):]]></PyFunc>
- <PyFunc><![CDATA[ return 0,1,N,K]]></PyFunc> </PyFunction> </PyFunction-list>
- <creation-date>19/9/2003 - 15:2:2</creation-date>
- <lastmodification-date>19/9/2003 - 15:2:2</lastmodification-date>
- <editor-release>1.04</editor-release>
- <author>?</author>
- <container>?</container>
- <comment>?</comment>
- <x-position>1012</x-position>
- <y-position>68</y-position> </node>
- <node>
-<component-name>?</component-name>
- <interface-name>?</interface-name>
- <node-name>control_div2</node-name>
- <kind>8</kind>
- <coupled-node>label_begin</coupled-node>
- <service>
-<service-name>control_div2</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>N</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>K</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>NB</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>KB</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list>
-<PyFunction>
-<FuncName>control_div2</FuncName>
- <PyFunc><![CDATA[def control_div2( N , NB ) :]]></PyFunc>
- <PyFunc><![CDATA[ return N,NB]]></PyFunc> </PyFunction> </PyFunction-list>
- <creation-date>19/9/2003 - 15:2:2</creation-date>
- <lastmodification-date>19/9/2003 - 15:2:2</lastmodification-date>
- <editor-release>1.04</editor-release>
- <author>?</author>
- <container>?</container>
- <comment>?</comment>
- <x-position>1010</x-position>
- <y-position>473</y-position> </node> </node-list>
- <link-list>
-<link>
-<fromnode-name>test_ISEVEN</fromnode-name>
- <fromserviceparameter-name>BoolEven</fromserviceparameter-name>
- <tonode-name>label_test</tonode-name>
- <toserviceparameter-name>ValEven</toserviceparameter-name>
- <coord-list>
-<coord>
-<x>380</x>
- <y>236</y> </coord>
- <coord>
-<x>379</x>
- <y>419</y> </coord> </coord-list> </link>
- <link>
-<fromnode-name>test_ISONE</fromnode-name>
- <fromserviceparameter-name>BoolOne</fromserviceparameter-name>
- <tonode-name>label_test</tonode-name>
- <toserviceparameter-name>ValOne</toserviceparameter-name>
- <coord-list>
-<coord>
-<x>367</x>
- <y>269</y> </coord>
- <coord>
-<x>367</x>
- <y>213</y> </coord> </coord-list> </link>
- <link>
-<fromnode-name>m3p1</fromnode-name>
- <fromserviceparameter-name>anEvenInteger</fromserviceparameter-name>
- <tonode-name>control_m3p1</tonode-name>
- <toserviceparameter-name>N</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>div2</fromnode-name>
- <fromserviceparameter-name>anInteger</fromserviceparameter-name>
- <tonode-name>control_div2</tonode-name>
- <toserviceparameter-name>N</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>incr</fromnode-name>
- <fromserviceparameter-name>aNewCount</fromserviceparameter-name>
- <tonode-name>control_m3p1</tonode-name>
- <toserviceparameter-name>K</toserviceparameter-name>
- <coord-list>
-<coord>
-<x>978</x>
- <y>132</y> </coord>
- <coord>
-<x>978</x>
- <y>239</y> </coord> </coord-list> </link>
- <link>
-<fromnode-name>incr</fromnode-name>
- <fromserviceparameter-name>aNewCount</fromserviceparameter-name>
- <tonode-name>control_div2</tonode-name>
- <toserviceparameter-name>K</toserviceparameter-name>
- <coord-list>
-<coord>
-<x>979</x>
- <y>536</y> </coord>
- <coord>
-<x>978</x>
- <y>240</y> </coord> </coord-list> </link>
- <link>
-<fromnode-name>label_begin</fromnode-name>
- <fromserviceparameter-name>NT</fromserviceparameter-name>
- <tonode-name>label_test</tonode-name>
- <toserviceparameter-name>NT</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>label_begin</fromnode-name>
- <fromserviceparameter-name>NT</fromserviceparameter-name>
- <tonode-name>test_ISEVEN</tonode-name>
- <toserviceparameter-name>anInteger</toserviceparameter-name>
- <coord-list>
-<coord>
-<x>184</x>
- <y>416</y> </coord>
- <coord>
-<x>185</x>
- <y>298</y> </coord> </coord-list> </link>
- <link>
-<fromnode-name>label_begin</fromnode-name>
- <fromserviceparameter-name>NT</fromserviceparameter-name>
- <tonode-name>test_ISONE</tonode-name>
- <toserviceparameter-name>anInteger</toserviceparameter-name>
- <coord-list>
-<coord>
-<x>186</x>
- <y>211</y> </coord>
- <coord>
-<x>185</x>
- <y>297</y> </coord> </coord-list> </link>
- <link>
-<fromnode-name>label_begin</fromnode-name>
- <fromserviceparameter-name>KT</fromserviceparameter-name>
- <tonode-name>label_test</tonode-name>
- <toserviceparameter-name>KT</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>label_test</fromnode-name>
- <fromserviceparameter-name>ValEven</fromserviceparameter-name>
- <tonode-name>test</tonode-name>
- <toserviceparameter-name>ValEven</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>label_test</fromnode-name>
- <fromserviceparameter-name>ValOne</fromserviceparameter-name>
- <tonode-name>test</tonode-name>
- <toserviceparameter-name>ValOne</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>label_test</fromnode-name>
- <fromserviceparameter-name>NT</fromserviceparameter-name>
- <tonode-name>test</tonode-name>
- <toserviceparameter-name>NT</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>label_test</fromnode-name>
- <fromserviceparameter-name>KT</fromserviceparameter-name>
- <tonode-name>test</tonode-name>
- <toserviceparameter-name>KT</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>test</fromnode-name>
- <fromserviceparameter-name>Finished</fromserviceparameter-name>
- <tonode-name>EndSwitch_OneEven</tonode-name>
- <toserviceparameter-name>Finished</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>test</fromnode-name>
- <fromserviceparameter-name>Incr</fromserviceparameter-name>
- <tonode-name>incr</tonode-name>
- <toserviceparameter-name>InGate</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>test</fromnode-name>
- <fromserviceparameter-name>Even</fromserviceparameter-name>
- <tonode-name>div2</tonode-name>
- <toserviceparameter-name>InGate</toserviceparameter-name>
- <coord-list>
-<coord>
-<x>764</x>
- <y>536</y> </coord>
- <coord>
-<x>763</x>
- <y>297</y> </coord> </coord-list> </link>
- <link>
-<fromnode-name>test</fromnode-name>
- <fromserviceparameter-name>Odd</fromserviceparameter-name>
- <tonode-name>m3p1</tonode-name>
- <toserviceparameter-name>InGate</toserviceparameter-name>
- <coord-list>
-<coord>
-<x>773</x>
- <y>133</y> </coord>
- <coord>
-<x>773</x>
- <y>326</y> </coord> </coord-list> </link>
- <link>
-<fromnode-name>test</fromnode-name>
- <fromserviceparameter-name>N</fromserviceparameter-name>
- <tonode-name>m3p1</tonode-name>
- <toserviceparameter-name>anOddInteger</toserviceparameter-name>
- <coord-list>
-<coord>
-<x>753</x>
- <y>102</y> </coord>
- <coord>
-<x>752</x>
- <y>355</y> </coord> </coord-list> </link>
- <link>
-<fromnode-name>test</fromnode-name>
- <fromserviceparameter-name>N</fromserviceparameter-name>
- <tonode-name>div2</tonode-name>
- <toserviceparameter-name>anEvenInteger</toserviceparameter-name>
- <coord-list>
-<coord>
-<x>753</x>
- <y>508</y> </coord>
- <coord>
-<x>752</x>
- <y>356</y> </coord> </coord-list> </link>
- <link>
-<fromnode-name>test</fromnode-name>
- <fromserviceparameter-name>K</fromserviceparameter-name>
- <tonode-name>EndSwitch_OneEven</tonode-name>
- <toserviceparameter-name>K</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>test</fromnode-name>
- <fromserviceparameter-name>K</fromserviceparameter-name>
- <tonode-name>incr</tonode-name>
- <toserviceparameter-name>aCount</toserviceparameter-name>
- <coord-list>
-<coord>
-<x>779</x>
- <y>239</y> </coord>
- <coord>
-<x>780</x>
- <y>385</y> </coord> </coord-list> </link>
- <link>
-<fromnode-name>test</fromnode-name>
- <fromserviceparameter-name>Default</fromserviceparameter-name>
- <tonode-name>EndSwitch_OneEven</tonode-name>
- <toserviceparameter-name>Default</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>control_m3p1</fromnode-name>
- <fromserviceparameter-name>OutGate</fromserviceparameter-name>
- <tonode-name>label_test</tonode-name>
- <toserviceparameter-name>InGate</toserviceparameter-name>
- <coord-list>
-<coord>
-<x>373</x>
- <y>354</y> </coord>
- <coord>
-<x>372</x>
- <y>10</y> </coord>
- <coord>
-<x>1180</x>
- <y>9</y> </coord>
- <coord>
-<x>1181</x>
- <y>217</y> </coord> </coord-list> </link>
- <link>
-<fromnode-name>control_div2</fromnode-name>
- <fromserviceparameter-name>OutGate</fromserviceparameter-name>
- <tonode-name>label_begin</tonode-name>
- <toserviceparameter-name>InGate</toserviceparameter-name>
- <coord-list>
-<coord>
-<x>5</x>
- <y>355</y> </coord>
- <coord>
-<x>4</x>
- <y>608</y> </coord>
- <coord>
-<x>1177</x>
- <y>608</y> </coord>
- <coord>
-<x>1177</x>
- <y>563</y> </coord> </coord-list> </link> </link-list>
- <data-list>
-<data>
-<fromnode-name>GraphSyrControl</fromnode-name>
- <fromserviceparameter-name>label_begin\NB</fromserviceparameter-name>
- <tonode-name>label_begin</tonode-name>
- <toserviceparameter-name>NB</toserviceparameter-name>
- <data-value>
-<value-type>3</value-type>
- <value>7</value> </data-value>
- <coord-list/> </data>
- <data>
-<fromnode-name>GraphSyrControl</fromnode-name>
- <fromserviceparameter-name>label_begin\KB</fromserviceparameter-name>
- <tonode-name>label_begin</tonode-name>
- <toserviceparameter-name>KB</toserviceparameter-name>
- <data-value>
-<value-type>3</value-type>
- <value>0</value> </data-value>
- <coord-list/> </data> </data-list></dataflow>
+++ /dev/null
-
-# Generated python file of Graph GraphSyrControlGUI
-
-from SuperV import *
-# Graph creation
-GraphSyrControl1 = Graph( 'GraphSyrControl1' )
-GraphSyrControl1.SetName( 'GraphSyrControl1' )
-GraphSyrControl1.SetAuthor( 'JR' )
-GraphSyrControl1.SetComment( 'Syracuse algorithm' )
-GraphSyrControl1.Coords( 0 , 0 )
-
-# Creation of Factory Nodes
-
-test_ISEVEN = GraphSyrControl1.FNode( 'SyrComponent' , 'SyrComponent' , 'C_ISEVEN' )
-test_ISEVEN.SetName( 'test_ISEVEN' )
-test_ISEVEN.SetAuthor( '' )
-test_ISEVEN.SetContainer( 'localhost/FactoryServer' )
-test_ISEVEN.SetComment( 'C_ISEVEN from SyrComponent' )
-test_ISEVEN.Coords( 190 , 338 )
-
-test_ISONE = GraphSyrControl1.FNode( 'SyrComponent' , 'SyrComponent' , 'C_ISONE' )
-test_ISONE.SetName( 'test_ISONE' )
-test_ISONE.SetAuthor( '' )
-test_ISONE.SetContainer( 'localhost/FactoryServer' )
-test_ISONE.SetComment( 'C_ISONE from SyrComponent' )
-test_ISONE.Coords( 196 , 131 )
-
-m3p1 = GraphSyrControl1.FNode( 'SyrComponent' , 'SyrComponent' , 'C_M3P1' )
-m3p1.SetName( 'm3p1' )
-m3p1.SetAuthor( '' )
-m3p1.SetContainer( 'localhost/FactoryServer' )
-m3p1.SetComment( 'C_M3P1 from SyrComponent' )
-m3p1.Coords( 615 , 30 )
-
-div2 = GraphSyrControl1.FNode( 'SyrComponent' , 'SyrComponent' , 'C_DIV2' )
-div2.SetName( 'div2' )
-div2.SetAuthor( '' )
-div2.SetContainer( 'localhost/FactoryServer' )
-div2.SetComment( 'C_DIV2 from SyrComponent' )
-div2.Coords( 624 , 391 )
-
-incr = GraphSyrControl1.FNode( 'SyrComponent' , 'SyrComponent' , 'C_INCR' )
-incr.SetName( 'incr' )
-incr.SetAuthor( '' )
-incr.SetContainer( 'localhost/FactoryServer' )
-incr.SetComment( 'C_INCR from SyrComponent' )
-incr.Coords( 623 , 206 )
-
-# Creation of InLine Nodes
-Pylabel_begin = []
-Pylabel_begin.append( 'def label_begin( NB , KB ) :' )
-Pylabel_begin.append( ' return NB,KB' )
-label_begin = GraphSyrControl1.INode( 'label_begin' , Pylabel_begin )
-label_begin.InPort( 'NB' , 'long' )
-label_begin.InPort( 'KB' , 'long' )
-label_begin.OutPort( 'NT' , 'long' )
-label_begin.OutPort( 'KT' , 'long' )
-label_begin.SetName( 'label_begin' )
-label_begin.SetAuthor( '' )
-label_begin.SetComment( 'Python function' )
-label_begin.Coords( 5 , 190 )
-
-# Creation of Switch Nodes
-Pylabel_test = []
-Pylabel_test.append( 'def L_OneEven( ValOne , ValEven , NT , KT ):' )
-Pylabel_test.append( ' Finished = ValOne' )
-Pylabel_test.append( ' if Finished == 0 :' )
-Pylabel_test.append( ' Incr = 1' )
-Pylabel_test.append( ' Even = ValEven' )
-Pylabel_test.append( ' if Even == 0 :' )
-Pylabel_test.append( ' Odd = 1' )
-Pylabel_test.append( ' else :' )
-Pylabel_test.append( ' Odd = 0' )
-Pylabel_test.append( ' else :' )
-Pylabel_test.append( ' Incr = 0' )
-Pylabel_test.append( ' Even = 0' )
-Pylabel_test.append( ' Odd = 0' )
-Pylabel_test.append( ' Even = ValEven' )
-Pylabel_test.append( ' return Finished,Incr,Even,Odd,NT,KT' )
-label_test,EndL_OneEven = GraphSyrControl1.SNode( 'L_OneEven' , Pylabel_test )
-EndL_OneEven.SetName( 'EndL_OneEven' )
-EndL_OneEven.SetAuthor( '' )
-EndL_OneEven.SetComment( '' )
-EndL_OneEven.Coords( 1017 , 247 )
-PyEndL_OneEven = []
-EndL_OneEven.SetPyFunction( 'EndL_OneEven' , PyEndL_OneEven )
-label_test.InPort( 'ValOne' , 'long' )
-label_test.InPort( 'ValEven' , 'long' )
-label_test.InPort( 'NT' , 'long' )
-label_test.InPort( 'KT' , 'long' )
-label_test.OutPort( 'Finished' , 'long' )
-label_test.OutPort( 'Incr' , 'long' )
-label_test.OutPort( 'Even' , 'long' )
-label_test.OutPort( 'Odd' , 'long' )
-label_test.OutPort( 'N' , 'long' )
-label_test.OutPort( 'K' , 'long' )
-label_test.SetName( 'label_test' )
-label_test.SetAuthor( '' )
-label_test.SetComment( '' )
-label_test.Coords( 399 , 177 )
-
-# Creation of GOTO Nodes
-Pycontrol_m3p1 = []
-Pycontrol_m3p1.append( 'def C_NotOneIsEven( N , K ):' )
-Pycontrol_m3p1.append( ' return 0,1,N,K' )
-control_m3p1 = GraphSyrControl1.GNode( 'C_NotOneIsEven' , Pycontrol_m3p1 , 'label_test' )
-control_m3p1.InPort( 'N' , 'long' )
-control_m3p1.InPort( 'K' , 'long' )
-control_m3p1.OutPort( 'ValOne' , 'long' )
-control_m3p1.OutPort( 'ValEven' , 'long' )
-control_m3p1.OutPort( 'NT' , 'long' )
-control_m3p1.OutPort( 'KT' , 'long' )
-control_m3p1.SetName( 'control_m3p1' )
-control_m3p1.SetAuthor( '' )
-control_m3p1.SetComment( '' )
-control_m3p1.Coords( 821 , 28 )
-
-Pycontrol_div2 = []
-Pycontrol_div2.append( 'def control_div2( N , K ) :' )
-Pycontrol_div2.append( ' return N,K' )
-control_div2 = GraphSyrControl1.GNode( 'control_div2' , Pycontrol_div2 , 'label_begin' )
-control_div2.InPort( 'N' , 'long' )
-control_div2.InPort( 'K' , 'long' )
-control_div2.OutPort( 'NB' , 'long' )
-control_div2.OutPort( 'KB' , 'long' )
-control_div2.SetName( 'control_div2' )
-control_div2.SetAuthor( '' )
-control_div2.SetComment( '' )
-control_div2.Coords( 818 , 358 )
-
-# Creation of Links
-test_ISEVENBoolEven = test_ISEVEN.Port( 'BoolEven' )
-label_testValEven = GraphSyrControl1.Link( test_ISEVENBoolEven , label_test.Port( 'ValEven' ) )
-label_testValEven.AddCoord( 1 , 383 , 239 )
-label_testValEven.AddCoord( 2 , 382 , 417 )
-
-test_ISONEBoolOne = test_ISONE.Port( 'BoolOne' )
-label_testValOne = GraphSyrControl1.Link( test_ISONEBoolOne , label_test.Port( 'ValOne' ) )
-
-m3p1anEvenInteger = m3p1.Port( 'anEvenInteger' )
-control_m3p1N = GraphSyrControl1.Link( m3p1anEvenInteger , control_m3p1.Port( 'N' ) )
-control_m3p1N.AddCoord( 1 , 793 , 62 )
-control_m3p1N.AddCoord( 2 , 792 , 111 )
-
-div2anInteger = div2.Port( 'anInteger' )
-control_div2N = GraphSyrControl1.Link( div2anInteger , control_div2.Port( 'N' ) )
-control_div2N.AddCoord( 1 , 797 , 392 )
-control_div2N.AddCoord( 2 , 798 , 471 )
-
-incraNewCount = incr.Port( 'aNewCount' )
-control_div2K = GraphSyrControl1.Link( incraNewCount , control_div2.Port( 'K' ) )
-control_div2K.AddCoord( 1 , 809 , 420 )
-control_div2K.AddCoord( 2 , 808 , 288 )
-
-control_m3p1K = GraphSyrControl1.Link( incraNewCount , control_m3p1.Port( 'K' ) )
-control_m3p1K.AddCoord( 1 , 807 , 91 )
-control_m3p1K.AddCoord( 2 , 808 , 286 )
-
-label_beginNT = label_begin.Port( 'NT' )
-test_ISONEanInteger = GraphSyrControl1.Link( label_beginNT , test_ISONE.Port( 'anInteger' ) )
-test_ISONEanInteger.AddCoord( 1 , 180 , 211 )
-test_ISONEanInteger.AddCoord( 2 , 179 , 269 )
-
-label_testNT = GraphSyrControl1.Link( label_beginNT , label_test.Port( 'NT' ) )
-
-test_ISEVENanInteger = GraphSyrControl1.Link( label_beginNT , test_ISEVEN.Port( 'anInteger' ) )
-test_ISEVENanInteger.AddCoord( 1 , 179 , 417 )
-test_ISEVENanInteger.AddCoord( 2 , 179 , 271 )
-
-label_beginKT = label_begin.Port( 'KT' )
-label_testKT = GraphSyrControl1.Link( label_beginKT , label_test.Port( 'KT' ) )
-
-label_testIncr = label_test.Port( 'Incr' )
-incrInGate = GraphSyrControl1.Link( label_testIncr , incr.Port( 'InGate' ) )
-incrInGate.AddCoord( 1 , 565 , 315 )
-incrInGate.AddCoord( 2 , 564 , 240 )
-
-label_testEven = label_test.Port( 'Even' )
-div2InGate = GraphSyrControl1.Link( label_testEven , div2.Port( 'InGate' ) )
-div2InGate.AddCoord( 1 , 583 , 500 )
-div2InGate.AddCoord( 2 , 582 , 269 )
-
-label_testOdd = label_test.Port( 'Odd' )
-m3p1InGate = GraphSyrControl1.Link( label_testOdd , m3p1.Port( 'InGate' ) )
-m3p1InGate.AddCoord( 1 , 571 , 138 )
-m3p1InGate.AddCoord( 2 , 573 , 298 )
-
-label_testN = label_test.Port( 'N' )
-m3p1anOddInteger = GraphSyrControl1.Link( label_testN , m3p1.Port( 'anOddInteger' ) )
-m3p1anOddInteger.AddCoord( 1 , 604 , 110 )
-m3p1anOddInteger.AddCoord( 2 , 605 , 328 )
-
-div2anEvenInteger = GraphSyrControl1.Link( label_testN , div2.Port( 'anEvenInteger' ) )
-div2anEvenInteger.AddCoord( 1 , 606 , 471 )
-div2anEvenInteger.AddCoord( 2 , 605 , 328 )
-
-label_testK = label_test.Port( 'K' )
-incraCount = GraphSyrControl1.Link( label_testK , incr.Port( 'aCount' ) )
-incraCount.AddCoord( 1 , 594 , 287 )
-incraCount.AddCoord( 2 , 595 , 356 )
-
-label_testDefault = label_test.Port( 'Default' )
-EndL_OneEvenDefault = GraphSyrControl1.Link( label_testDefault , EndL_OneEven.Port( 'Default' ) )
-EndL_OneEvenDefault.AddCoord( 1 , 1008 , 281 )
-EndL_OneEvenDefault.AddCoord( 2 , 1008 , 560 )
-EndL_OneEvenDefault.AddCoord( 3 , 565 , 559 )
-EndL_OneEvenDefault.AddCoord( 4 , 564 , 385 )
-
-control_m3p1OutGate = control_m3p1.Port( 'OutGate' )
-label_testInGate = GraphSyrControl1.Link( control_m3p1OutGate , label_test.Port( 'InGate' ) )
-label_testInGate.AddCoord( 1 , 368 , 327 )
-label_testInGate.AddCoord( 2 , 369 , 7 )
-label_testInGate.AddCoord( 3 , 1009 , 8 )
-label_testInGate.AddCoord( 4 , 1009 , 179 )
-
-control_div2OutGate = control_div2.Port( 'OutGate' )
-label_beginInGate = GraphSyrControl1.Link( control_div2OutGate , label_begin.Port( 'InGate' ) )
-label_beginInGate.AddCoord( 1 , 3 , 327 )
-label_beginInGate.AddCoord( 2 , 2 , 582 )
-label_beginInGate.AddCoord( 3 , 991 , 583 )
-label_beginInGate.AddCoord( 4 , 991 , 451 )
-
-# Creation of Input datas
-label_beginNB = label_begin.Input( 'NB' , 7)
-label_beginKB = label_begin.Input( 'KB' , 0)
-
-# Creation of Output variables
-label_testFinished = label_test.Port( 'Finished' )
-
-GraphSyrControl1.Run( 7 )
-
-GraphSyrControl1.DoneW()
-
-GraphSyrControl1.State()
-
-GraphSyrControl1.PrintPorts()
-
+++ /dev/null
-<!DOCTYPE Dataflow>
-<dataflow>
-<info-list>
-<node>
-<component-name>?</component-name>
- <interface-name>?</interface-name>
- <node-name>GraphSyrControlGUI</node-name>
- <kind>1</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>GraphSyrControlGUI</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>label_begin\NB</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>label_begin\KB</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>label_test\Finished</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list/>
- <creation-date>11/3/2003 - 18:28:48</creation-date>
- <lastmodification-date>19/9/2003 - 15:3:50</lastmodification-date>
- <editor-release>1.04</editor-release>
- <author>JR</author>
- <container>?</container>
- <comment>Syracuse algorithm</comment>
- <x-position>0</x-position>
- <y-position>0</y-position> </node> </info-list>
- <node-list>
-<node>
-<component-name>SyrComponent</component-name>
- <interface-name>SyrComponent</interface-name>
- <node-name>test_ISEVEN</node-name>
- <kind>0</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>C_ISEVEN</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>anInteger</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>BoolEven</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list/>
- <creation-date>19/9/2003 - 15:3:49</creation-date>
- <lastmodification-date>19/9/2003 - 15:3:49</lastmodification-date>
- <editor-release>1.04</editor-release>
- <author>?</author>
- <container>localhost/FactoryServer</container>
- <comment>C_ISEVEN from SyrComponent</comment>
- <x-position>190</x-position>
- <y-position>338</y-position> </node>
- <node>
-<component-name>SyrComponent</component-name>
- <interface-name>SyrComponent</interface-name>
- <node-name>test_ISONE</node-name>
- <kind>0</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>C_ISONE</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>anInteger</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>BoolOne</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list/>
- <creation-date>19/9/2003 - 15:3:49</creation-date>
- <lastmodification-date>19/9/2003 - 15:3:49</lastmodification-date>
- <editor-release>1.04</editor-release>
- <author>?</author>
- <container>localhost/FactoryServer</container>
- <comment>C_ISONE from SyrComponent</comment>
- <x-position>196</x-position>
- <y-position>131</y-position> </node>
- <node>
-<component-name>SyrComponent</component-name>
- <interface-name>SyrComponent</interface-name>
- <node-name>m3p1</node-name>
- <kind>0</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>C_M3P1</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>anOddInteger</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>anEvenInteger</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list/>
- <creation-date>19/9/2003 - 15:3:49</creation-date>
- <lastmodification-date>19/9/2003 - 15:3:49</lastmodification-date>
- <editor-release>1.04</editor-release>
- <author>?</author>
- <container>localhost/FactoryServer</container>
- <comment>C_M3P1 from SyrComponent</comment>
- <x-position>615</x-position>
- <y-position>30</y-position> </node>
- <node>
-<component-name>SyrComponent</component-name>
- <interface-name>SyrComponent</interface-name>
- <node-name>div2</node-name>
- <kind>0</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>C_DIV2</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>anEvenInteger</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>anInteger</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list/>
- <creation-date>19/9/2003 - 15:3:49</creation-date>
- <lastmodification-date>19/9/2003 - 15:3:49</lastmodification-date>
- <editor-release>1.04</editor-release>
- <author>?</author>
- <container>localhost/FactoryServer</container>
- <comment>C_DIV2 from SyrComponent</comment>
- <x-position>624</x-position>
- <y-position>391</y-position> </node>
- <node>
-<component-name>SyrComponent</component-name>
- <interface-name>SyrComponent</interface-name>
- <node-name>incr</node-name>
- <kind>0</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>C_INCR</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>aCount</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>aNewCount</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list/>
- <creation-date>19/9/2003 - 15:3:49</creation-date>
- <lastmodification-date>19/9/2003 - 15:3:49</lastmodification-date>
- <editor-release>1.04</editor-release>
- <author>?</author>
- <container>localhost/FactoryServer</container>
- <comment>C_INCR from SyrComponent</comment>
- <x-position>623</x-position>
- <y-position>206</y-position> </node>
- <node>
-<component-name>?</component-name>
- <interface-name>?</interface-name>
- <node-name>label_begin</node-name>
- <kind>3</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>label_begin</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>NB</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>KB</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>NT</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>KT</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list>
-<PyFunction>
-<FuncName>label_begin</FuncName>
- <PyFunc><![CDATA[def label_begin( NB , KB ) :]]></PyFunc>
- <PyFunc><![CDATA[ return NB,KB]]></PyFunc> </PyFunction> </PyFunction-list>
- <creation-date>19/9/2003 - 15:3:49</creation-date>
- <lastmodification-date>19/9/2003 - 15:3:49</lastmodification-date>
- <editor-release>1.04</editor-release>
- <author>?</author>
- <container>?</container>
- <comment>Python function</comment>
- <x-position>5</x-position>
- <y-position>190</y-position> </node>
- <node>
-<component-name>?</component-name>
- <interface-name>?</interface-name>
- <node-name>label_test</node-name>
- <kind>6</kind>
- <coupled-node>EndL_OneEven</coupled-node>
- <service>
-<service-name>label_test</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>ValOne</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>ValEven</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>NT</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>KT</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>Finished</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>Incr</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>Even</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>Odd</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>N</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>K</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list>
-<PyFunction>
-<FuncName>L_OneEven</FuncName>
- <PyFunc><![CDATA[def L_OneEven( ValOne , ValEven , NT , KT ):]]></PyFunc>
- <PyFunc><![CDATA[ Finished = ValOne]]></PyFunc>
- <PyFunc><![CDATA[ if Finished == 0 :]]></PyFunc>
- <PyFunc><![CDATA[ Incr = 1]]></PyFunc>
- <PyFunc><![CDATA[ Even = ValEven]]></PyFunc>
- <PyFunc><![CDATA[ if Even == 0 :]]></PyFunc>
- <PyFunc><![CDATA[ Odd = 1]]></PyFunc>
- <PyFunc><![CDATA[ else :]]></PyFunc>
- <PyFunc><![CDATA[ Odd = 0]]></PyFunc>
- <PyFunc><![CDATA[ else :]]></PyFunc>
- <PyFunc><![CDATA[ Incr = 0]]></PyFunc>
- <PyFunc><![CDATA[ Even = 0]]></PyFunc>
- <PyFunc><![CDATA[ Odd = 0]]></PyFunc>
- <PyFunc><![CDATA[ Even = ValEven]]></PyFunc>
- <PyFunc><![CDATA[ return Finished,Incr,Even,Odd,NT,KT]]></PyFunc> </PyFunction> </PyFunction-list>
- <creation-date>19/9/2003 - 15:3:49</creation-date>
- <lastmodification-date>19/9/2003 - 15:3:49</lastmodification-date>
- <editor-release>1.04</editor-release>
- <author>?</author>
- <container>?</container>
- <comment>?</comment>
- <x-position>399</x-position>
- <y-position>177</y-position> </node>
- <node>
-<component-name>?</component-name>
- <interface-name>?</interface-name>
- <node-name>EndL_OneEven</node-name>
- <kind>7</kind>
- <coupled-node>label_test</coupled-node>
- <service>
-<service-name>EndL_OneEven</service-name>
- <inParameter-list/>
- <outParameter-list/> </service>
- <Parameter-list/>
- <PyFunction-list>
-<PyFunction/> </PyFunction-list>
- <creation-date>19/9/2003 - 15:3:49</creation-date>
- <lastmodification-date>19/9/2003 - 15:3:49</lastmodification-date>
- <editor-release>1.04</editor-release>
- <author>?</author>
- <container>?</container>
- <comment>?</comment>
- <x-position>1017</x-position>
- <y-position>247</y-position> </node>
- <node>
-<component-name>?</component-name>
- <interface-name>?</interface-name>
- <node-name>control_m3p1</node-name>
- <kind>8</kind>
- <coupled-node>label_test</coupled-node>
- <service>
-<service-name>control_m3p1</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>N</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>K</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>ValOne</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>ValEven</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>NT</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>KT</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list>
-<PyFunction>
-<FuncName>C_NotOneIsEven</FuncName>
- <PyFunc><![CDATA[def C_NotOneIsEven( N , K ):]]></PyFunc>
- <PyFunc><![CDATA[ return 0,1,N,K]]></PyFunc> </PyFunction> </PyFunction-list>
- <creation-date>19/9/2003 - 15:3:49</creation-date>
- <lastmodification-date>19/9/2003 - 15:3:49</lastmodification-date>
- <editor-release>1.04</editor-release>
- <author>?</author>
- <container>?</container>
- <comment>?</comment>
- <x-position>821</x-position>
- <y-position>28</y-position> </node>
- <node>
-<component-name>?</component-name>
- <interface-name>?</interface-name>
- <node-name>control_div2</node-name>
- <kind>8</kind>
- <coupled-node>label_begin</coupled-node>
- <service>
-<service-name>control_div2</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>N</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>K</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>NB</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>KB</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list>
-<PyFunction>
-<FuncName>control_div2</FuncName>
- <PyFunc><![CDATA[def control_div2( N , K ) :]]></PyFunc>
- <PyFunc><![CDATA[ return N,K]]></PyFunc> </PyFunction> </PyFunction-list>
- <creation-date>19/9/2003 - 15:3:49</creation-date>
- <lastmodification-date>19/9/2003 - 15:3:49</lastmodification-date>
- <editor-release>1.04</editor-release>
- <author>?</author>
- <container>?</container>
- <comment>?</comment>
- <x-position>818</x-position>
- <y-position>358</y-position> </node> </node-list>
- <link-list>
-<link>
-<fromnode-name>test_ISEVEN</fromnode-name>
- <fromserviceparameter-name>BoolEven</fromserviceparameter-name>
- <tonode-name>label_test</tonode-name>
- <toserviceparameter-name>ValEven</toserviceparameter-name>
- <coord-list>
-<coord>
-<x>383</x>
- <y>239</y> </coord>
- <coord>
-<x>382</x>
- <y>417</y> </coord> </coord-list> </link>
- <link>
-<fromnode-name>test_ISONE</fromnode-name>
- <fromserviceparameter-name>BoolOne</fromserviceparameter-name>
- <tonode-name>label_test</tonode-name>
- <toserviceparameter-name>ValOne</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>m3p1</fromnode-name>
- <fromserviceparameter-name>anEvenInteger</fromserviceparameter-name>
- <tonode-name>control_m3p1</tonode-name>
- <toserviceparameter-name>N</toserviceparameter-name>
- <coord-list>
-<coord>
-<x>793</x>
- <y>62</y> </coord>
- <coord>
-<x>792</x>
- <y>111</y> </coord> </coord-list> </link>
- <link>
-<fromnode-name>div2</fromnode-name>
- <fromserviceparameter-name>anInteger</fromserviceparameter-name>
- <tonode-name>control_div2</tonode-name>
- <toserviceparameter-name>N</toserviceparameter-name>
- <coord-list>
-<coord>
-<x>797</x>
- <y>392</y> </coord>
- <coord>
-<x>798</x>
- <y>471</y> </coord> </coord-list> </link>
- <link>
-<fromnode-name>incr</fromnode-name>
- <fromserviceparameter-name>aNewCount</fromserviceparameter-name>
- <tonode-name>control_div2</tonode-name>
- <toserviceparameter-name>K</toserviceparameter-name>
- <coord-list>
-<coord>
-<x>809</x>
- <y>420</y> </coord>
- <coord>
-<x>808</x>
- <y>288</y> </coord> </coord-list> </link>
- <link>
-<fromnode-name>incr</fromnode-name>
- <fromserviceparameter-name>aNewCount</fromserviceparameter-name>
- <tonode-name>control_m3p1</tonode-name>
- <toserviceparameter-name>K</toserviceparameter-name>
- <coord-list>
-<coord>
-<x>807</x>
- <y>91</y> </coord>
- <coord>
-<x>808</x>
- <y>286</y> </coord> </coord-list> </link>
- <link>
-<fromnode-name>label_begin</fromnode-name>
- <fromserviceparameter-name>NT</fromserviceparameter-name>
- <tonode-name>test_ISONE</tonode-name>
- <toserviceparameter-name>anInteger</toserviceparameter-name>
- <coord-list>
-<coord>
-<x>180</x>
- <y>211</y> </coord>
- <coord>
-<x>179</x>
- <y>269</y> </coord> </coord-list> </link>
- <link>
-<fromnode-name>label_begin</fromnode-name>
- <fromserviceparameter-name>NT</fromserviceparameter-name>
- <tonode-name>label_test</tonode-name>
- <toserviceparameter-name>NT</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>label_begin</fromnode-name>
- <fromserviceparameter-name>NT</fromserviceparameter-name>
- <tonode-name>test_ISEVEN</tonode-name>
- <toserviceparameter-name>anInteger</toserviceparameter-name>
- <coord-list>
-<coord>
-<x>179</x>
- <y>417</y> </coord>
- <coord>
-<x>179</x>
- <y>271</y> </coord> </coord-list> </link>
- <link>
-<fromnode-name>label_begin</fromnode-name>
- <fromserviceparameter-name>KT</fromserviceparameter-name>
- <tonode-name>label_test</tonode-name>
- <toserviceparameter-name>KT</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>label_test</fromnode-name>
- <fromserviceparameter-name>Incr</fromserviceparameter-name>
- <tonode-name>incr</tonode-name>
- <toserviceparameter-name>InGate</toserviceparameter-name>
- <coord-list>
-<coord>
-<x>565</x>
- <y>315</y> </coord>
- <coord>
-<x>564</x>
- <y>240</y> </coord> </coord-list> </link>
- <link>
-<fromnode-name>label_test</fromnode-name>
- <fromserviceparameter-name>Even</fromserviceparameter-name>
- <tonode-name>div2</tonode-name>
- <toserviceparameter-name>InGate</toserviceparameter-name>
- <coord-list>
-<coord>
-<x>583</x>
- <y>500</y> </coord>
- <coord>
-<x>582</x>
- <y>269</y> </coord> </coord-list> </link>
- <link>
-<fromnode-name>label_test</fromnode-name>
- <fromserviceparameter-name>Odd</fromserviceparameter-name>
- <tonode-name>m3p1</tonode-name>
- <toserviceparameter-name>InGate</toserviceparameter-name>
- <coord-list>
-<coord>
-<x>571</x>
- <y>138</y> </coord>
- <coord>
-<x>573</x>
- <y>298</y> </coord> </coord-list> </link>
- <link>
-<fromnode-name>label_test</fromnode-name>
- <fromserviceparameter-name>N</fromserviceparameter-name>
- <tonode-name>m3p1</tonode-name>
- <toserviceparameter-name>anOddInteger</toserviceparameter-name>
- <coord-list>
-<coord>
-<x>604</x>
- <y>110</y> </coord>
- <coord>
-<x>605</x>
- <y>328</y> </coord> </coord-list> </link>
- <link>
-<fromnode-name>label_test</fromnode-name>
- <fromserviceparameter-name>N</fromserviceparameter-name>
- <tonode-name>div2</tonode-name>
- <toserviceparameter-name>anEvenInteger</toserviceparameter-name>
- <coord-list>
-<coord>
-<x>606</x>
- <y>471</y> </coord>
- <coord>
-<x>605</x>
- <y>328</y> </coord> </coord-list> </link>
- <link>
-<fromnode-name>label_test</fromnode-name>
- <fromserviceparameter-name>K</fromserviceparameter-name>
- <tonode-name>incr</tonode-name>
- <toserviceparameter-name>aCount</toserviceparameter-name>
- <coord-list>
-<coord>
-<x>594</x>
- <y>287</y> </coord>
- <coord>
-<x>595</x>
- <y>356</y> </coord> </coord-list> </link>
- <link>
-<fromnode-name>label_test</fromnode-name>
- <fromserviceparameter-name>Default</fromserviceparameter-name>
- <tonode-name>EndL_OneEven</tonode-name>
- <toserviceparameter-name>Default</toserviceparameter-name>
- <coord-list>
-<coord>
-<x>1008</x>
- <y>281</y> </coord>
- <coord>
-<x>1008</x>
- <y>560</y> </coord>
- <coord>
-<x>565</x>
- <y>559</y> </coord>
- <coord>
-<x>564</x>
- <y>385</y> </coord> </coord-list> </link>
- <link>
-<fromnode-name>control_m3p1</fromnode-name>
- <fromserviceparameter-name>OutGate</fromserviceparameter-name>
- <tonode-name>label_test</tonode-name>
- <toserviceparameter-name>InGate</toserviceparameter-name>
- <coord-list>
-<coord>
-<x>368</x>
- <y>327</y> </coord>
- <coord>
-<x>369</x>
- <y>7</y> </coord>
- <coord>
-<x>1009</x>
- <y>8</y> </coord>
- <coord>
-<x>1009</x>
- <y>179</y> </coord> </coord-list> </link>
- <link>
-<fromnode-name>control_div2</fromnode-name>
- <fromserviceparameter-name>OutGate</fromserviceparameter-name>
- <tonode-name>label_begin</tonode-name>
- <toserviceparameter-name>InGate</toserviceparameter-name>
- <coord-list>
-<coord>
-<x>3</x>
- <y>327</y> </coord>
- <coord>
-<x>2</x>
- <y>582</y> </coord>
- <coord>
-<x>991</x>
- <y>583</y> </coord>
- <coord>
-<x>991</x>
- <y>451</y> </coord> </coord-list> </link> </link-list>
- <data-list>
-<data>
-<fromnode-name>GraphSyrControlGUI</fromnode-name>
- <fromserviceparameter-name>label_begin\NB</fromserviceparameter-name>
- <tonode-name>label_begin</tonode-name>
- <toserviceparameter-name>NB</toserviceparameter-name>
- <data-value>
-<value-type>3</value-type>
- <value>7</value> </data-value>
- <coord-list/> </data>
- <data>
-<fromnode-name>GraphSyrControlGUI</fromnode-name>
- <fromserviceparameter-name>label_begin\KB</fromserviceparameter-name>
- <tonode-name>label_begin</tonode-name>
- <toserviceparameter-name>KB</toserviceparameter-name>
- <data-value>
-<value-type>3</value-type>
- <value>0</value> </data-value>
- <coord-list/> </data> </data-list></dataflow>
+++ /dev/null
-
-# Generated python file of Graph GraphSyrControlAve
-
-from SuperV import *
-# Graph creation
-GraphSyrControlAve = Graph( 'GraphSyrControlAve' )
-GraphSyrControlAve.SetName( 'GraphSyrControlAve' )
-GraphSyrControlAve.SetAuthor( 'JR' )
-GraphSyrControlAve.SetComment( 'Syracuse algorithm' )
-GraphSyrControlAve.Coords( 0 , 0 )
-
-# Creation of Factory Nodes
-
-test_ISEVEN = GraphSyrControlAve.FNode( 'SyrComponent' , 'SyrComponent' , 'C_ISEVEN' )
-test_ISEVEN.SetName( 'test_ISEVEN' )
-test_ISEVEN.SetAuthor( '' )
-test_ISEVEN.SetContainer( 'localhost/FactoryServer' )
-test_ISEVEN.SetComment( 'C_ISEVEN from SyrComponent' )
-test_ISEVEN.Coords( 370 , 455 )
-
-test_ISONE = GraphSyrControlAve.FNode( 'SyrComponent' , 'SyrComponent' , 'C_ISONE' )
-test_ISONE.SetName( 'test_ISONE' )
-test_ISONE.SetAuthor( '' )
-test_ISONE.SetContainer( 'localhost/FactoryServer' )
-test_ISONE.SetComment( 'C_ISONE from SyrComponent' )
-test_ISONE.Coords( 370 , 127 )
-
-m3p1 = GraphSyrControlAve.FNode( 'SyrComponent' , 'SyrComponent' , 'C_M3P1' )
-m3p1.SetName( 'm3p1' )
-m3p1.SetAuthor( '' )
-m3p1.SetContainer( 'localhost/FactoryServer' )
-m3p1.SetComment( 'C_M3P1 from SyrComponent' )
-m3p1.Coords( 789 , 0 )
-
-div2 = GraphSyrControlAve.FNode( 'SyrComponent' , 'SyrComponent' , 'C_DIV2' )
-div2.SetName( 'div2' )
-div2.SetAuthor( '' )
-div2.SetContainer( 'localhost/FactoryServer' )
-div2.SetComment( 'C_DIV2 from SyrComponent' )
-div2.Coords( 789 , 276 )
-
-incr = GraphSyrControlAve.FNode( 'SyrComponent' , 'SyrComponent' , 'C_INCR' )
-incr.SetName( 'incr' )
-incr.SetAuthor( '' )
-incr.SetContainer( 'localhost/FactoryServer' )
-incr.SetComment( 'C_INCR from SyrComponent' )
-incr.Coords( 790 , 136 )
-
-C_MIN = GraphSyrControlAve.FNode( 'SyrComponent' , 'SyrComponent' , 'C_MIN' )
-C_MIN.SetName( 'C_MIN' )
-C_MIN.SetAuthor( '' )
-C_MIN.SetContainer( 'localhost/FactoryServer' )
-C_MIN.SetComment( 'C_MIN from SyrComponent' )
-C_MIN.Coords( 798 , 833 )
-
-C_MAX = GraphSyrControlAve.FNode( 'SyrComponent' , 'SyrComponent' , 'C_MAX' )
-C_MAX.SetName( 'C_MAX' )
-C_MAX.SetAuthor( '' )
-C_MAX.SetContainer( 'localhost/FactoryServer' )
-C_MAX.SetComment( 'C_MAX from SyrComponent' )
-C_MAX.Coords( 798 , 668 )
-
-C_AVERAGE = GraphSyrControlAve.FNode( 'SyrComponent' , 'SyrComponent' , 'C_AVERAGE' )
-C_AVERAGE.SetName( 'C_AVERAGE' )
-C_AVERAGE.SetAuthor( '' )
-C_AVERAGE.SetContainer( 'localhost/FactoryServer' )
-C_AVERAGE.SetComment( 'C_AVERAGE from SyrComponent' )
-C_AVERAGE.Coords( 784 , 476 )
-
-C_LISTOFSYR = GraphSyrControlAve.FNode( 'SyrComponent' , 'SyrComponent' , 'C_LISTOFSYR' )
-C_LISTOFSYR.SetName( 'C_LISTOFSYR' )
-C_LISTOFSYR.SetAuthor( '' )
-C_LISTOFSYR.SetContainer( 'localhost/FactoryServer' )
-C_LISTOFSYR.SetComment( 'C_LISTOFSYR from SyrComponent' )
-C_LISTOFSYR.Coords( 4 , 363 )
-
-# Creation of InLine Nodes
-Pylabel_begin = []
-Pylabel_begin.append( 'def label_begin( NB , KB , MINB , MAXB , AVERAGEB , SYRLISTB ) :' )
-Pylabel_begin.append( ' return NB,KB,MINB,MAXB,AVERAGEB,SYRLISTB' )
-label_begin = GraphSyrControlAve.INode( 'label_begin' , Pylabel_begin )
-label_begin.SetName( 'label_begin' )
-label_begin.SetAuthor( '' )
-label_begin.SetComment( 'Python function' )
-label_begin.Coords( 183 , 219 )
-label_begin.InPort( 'NB' , 'long' )
-label_begin.InPort( 'KB' , 'long' )
-label_begin.InPort( 'MINB' , 'long' )
-label_begin.InPort( 'MAXB' , 'long' )
-label_begin.InPort( 'AVERAGEB' , 'double' )
-label_begin.InPort( 'SYRLISTB' , 'ListOfSyr' )
-label_begin.OutPort( 'NT' , 'long' )
-label_begin.OutPort( 'KT' , 'long' )
-label_begin.OutPort( 'MIN' , 'long' )
-label_begin.OutPort( 'MAX' , 'long' )
-label_begin.OutPort( 'AVERAGE' , 'double' )
-label_begin.OutPort( 'SYRLIST' , 'ListOfSyr' )
-
-# Creation of Switch Nodes
-Pylabel_test = []
-Pylabel_test.append( 'def L_OneEven( ValOne , ValEven , NT , KT , MIN , MAX , AVERAGE , SYRLIST ):' )
-Pylabel_test.append( ' Finished = ValOne' )
-Pylabel_test.append( ' if Finished == 0 :' )
-Pylabel_test.append( ' Incr = 1' )
-Pylabel_test.append( ' Even = ValEven' )
-Pylabel_test.append( ' if Even == 0 :' )
-Pylabel_test.append( ' Odd = 1' )
-Pylabel_test.append( ' else :' )
-Pylabel_test.append( ' Odd = 0' )
-Pylabel_test.append( ' else :' )
-Pylabel_test.append( ' Incr = 0' )
-Pylabel_test.append( ' Even = 0' )
-Pylabel_test.append( ' Odd = 0' )
-Pylabel_test.append( ' Even = ValEven' )
-Pylabel_test.append( ' return Finished,Incr,Even,Odd,NT,KT,MIN,MAX,AVERAGE,SYRLIST' )
-label_test,EndL_OneEven = GraphSyrControlAve.SNode( 'L_OneEven' , Pylabel_test )
-EndL_OneEven.SetName( 'EndL_OneEven' )
-EndL_OneEven.SetAuthor( '' )
-EndL_OneEven.SetComment( '' )
-EndL_OneEven.Coords( 1064 , 379 )
-PyEndL_OneEven = []
-EndL_OneEven.SetPyFunction( 'EndL_OneEven' , PyEndL_OneEven )
-EndL_OneEven.InPort( 'MIN' , 'long' )
-EndL_OneEven.InPort( 'MAX' , 'long' )
-EndL_OneEven.InPort( 'AVERAGE' , 'double' )
-EndL_OneEven.OutPort( 'MIN' , 'long' )
-EndL_OneEven.OutPort( 'MAX' , 'long' )
-EndL_OneEven.OutPort( 'AVERAGE' , 'double' )
-label_test.SetName( 'label_test' )
-label_test.SetAuthor( '' )
-label_test.SetComment( '' )
-label_test.Coords( 563 , 206 )
-label_test.InPort( 'ValOne' , 'long' )
-label_test.InPort( 'ValEven' , 'long' )
-label_test.InPort( 'NT' , 'long' )
-label_test.InPort( 'KT' , 'long' )
-label_test.InPort( 'MIN' , 'long' )
-label_test.InPort( 'MAX' , 'long' )
-label_test.InPort( 'AVERAGE' , 'double' )
-label_test.InPort( 'SYRLIST' , 'ListOfSyr' )
-label_test.OutPort( 'Finished' , 'long' )
-label_test.OutPort( 'Incr' , 'long' )
-label_test.OutPort( 'Even' , 'long' )
-label_test.OutPort( 'Odd' , 'long' )
-label_test.OutPort( 'N' , 'long' )
-label_test.OutPort( 'K' , 'long' )
-label_test.OutPort( 'MINT' , 'long' )
-label_test.OutPort( 'MAXT' , 'long' )
-label_test.OutPort( 'AVERAGET' , 'double' )
-label_test.OutPort( 'SYRLISTT' , 'ListOfSyr' )
-
-# Creation of GOTO Nodes
-Pycontrol_m3p1 = []
-Pycontrol_m3p1.append( 'def C_NotOneIsEven( N , K , MINT , MAXT , AVERAGET , SYRLISTT ):' )
-Pycontrol_m3p1.append( ' return 0,1,N,K,MINT,MAXT,AVERAGET,SYRLISTT' )
-control_m3p1 = GraphSyrControlAve.GNode( 'C_NotOneIsEven' , Pycontrol_m3p1 , 'label_test' )
-control_m3p1.SetName( 'control_m3p1' )
-control_m3p1.SetAuthor( '' )
-control_m3p1.SetComment( '' )
-control_m3p1.Coords( 1058 , 8 )
-control_m3p1.InPort( 'N' , 'long' )
-control_m3p1.InPort( 'K' , 'long' )
-control_m3p1.InPort( 'MINT' , 'long' )
-control_m3p1.InPort( 'MAXT' , 'long' )
-control_m3p1.InPort( 'AVERAGET' , 'double' )
-control_m3p1.InPort( 'SYRLISTT' , 'ListOfSyr' )
-control_m3p1.OutPort( 'ValOne' , 'long' )
-control_m3p1.OutPort( 'ValEven' , 'long' )
-control_m3p1.OutPort( 'NT' , 'long' )
-control_m3p1.OutPort( 'KT' , 'long' )
-control_m3p1.OutPort( 'MIN' , 'long' )
-control_m3p1.OutPort( 'MAX' , 'long' )
-control_m3p1.OutPort( 'AVERAGE' , 'double' )
-control_m3p1.OutPort( 'SYRLIST' , 'ListOfSyr' )
-
-Pycontrol_div2 = []
-Pycontrol_div2.append( 'def control_div2( N , K , MINT , MAXT , AVERAGET , SYRLISTT ) :' )
-Pycontrol_div2.append( ' return N,K,MINT,MAXT,AVERAGET,SYRLISTT' )
-control_div2 = GraphSyrControlAve.GNode( 'control_div2' , Pycontrol_div2 , 'label_begin' )
-control_div2.SetName( 'control_div2' )
-control_div2.SetAuthor( '' )
-control_div2.SetComment( '' )
-control_div2.Coords( 1048 , 555 )
-control_div2.InPort( 'N' , 'long' )
-control_div2.InPort( 'K' , 'long' )
-control_div2.InPort( 'MINT' , 'long' )
-control_div2.InPort( 'MAXT' , 'long' )
-control_div2.InPort( 'AVERAGET' , 'double' )
-control_div2.InPort( 'SYRLISTT' , 'ListOfSyr' )
-control_div2.OutPort( 'NB' , 'long' )
-control_div2.OutPort( 'KB' , 'long' )
-control_div2.OutPort( 'MINB' , 'long' )
-control_div2.OutPort( 'MAXB' , 'long' )
-control_div2.OutPort( 'AVERAGEB' , 'double' )
-control_div2.OutPort( 'SYRLISTB' , 'ListOfSyr' )
-
-# Creation of Links
-test_ISEVENBoolEven = test_ISEVEN.Port( 'BoolEven' )
-label_testValEven = GraphSyrControlAve.Link( test_ISEVENBoolEven , label_test.Port( 'ValEven' ) )
-label_testValEven.AddCoord( 1 , 545 , 269 )
-label_testValEven.AddCoord( 2 , 545 , 535 )
-
-test_ISONEBoolOne = test_ISONE.Port( 'BoolOne' )
-label_testValOne = GraphSyrControlAve.Link( test_ISONEBoolOne , label_test.Port( 'ValOne' ) )
-label_testValOne.AddCoord( 1 , 546 , 241 )
-label_testValOne.AddCoord( 2 , 545 , 208 )
-
-m3p1anEvenInteger = m3p1.Port( 'anEvenInteger' )
-control_m3p1N = GraphSyrControlAve.Link( m3p1anEvenInteger , control_m3p1.Port( 'N' ) )
-control_m3p1N.AddCoord( 1 , 977 , 43 )
-control_m3p1N.AddCoord( 2 , 976 , 81 )
-
-div2anInteger = div2.Port( 'anInteger' )
-control_div2N = GraphSyrControlAve.Link( div2anInteger , control_div2.Port( 'N' ) )
-control_div2N.AddCoord( 1 , 1011 , 590 )
-control_div2N.AddCoord( 2 , 1010 , 357 )
-
-incraNewCount = incr.Port( 'aNewCount' )
-control_div2K = GraphSyrControlAve.Link( incraNewCount , control_div2.Port( 'K' ) )
-control_div2K.AddCoord( 1 , 964 , 618 )
-control_div2K.AddCoord( 2 , 966 , 217 )
-
-control_m3p1K = GraphSyrControlAve.Link( incraNewCount , control_m3p1.Port( 'K' ) )
-control_m3p1K.AddCoord( 1 , 966 , 70 )
-control_m3p1K.AddCoord( 2 , 966 , 216 )
-
-C_AVERAGEaCount = GraphSyrControlAve.Link( incraNewCount , C_AVERAGE.Port( 'aCount' ) )
-C_AVERAGEaCount.AddCoord( 1 , 778 , 615 )
-C_AVERAGEaCount.AddCoord( 2 , 779 , 462 )
-C_AVERAGEaCount.AddCoord( 3 , 965 , 462 )
-C_AVERAGEaCount.AddCoord( 4 , 966 , 216 )
-
-C_MINaNewMinVal = C_MIN.Port( 'aNewMinVal' )
-control_m3p1MINT = GraphSyrControlAve.Link( C_MINaNewMinVal , control_m3p1.Port( 'MINT' ) )
-control_m3p1MINT.AddCoord( 1 , 991 , 100 )
-control_m3p1MINT.AddCoord( 2 , 991 , 913 )
-
-control_div2MINT = GraphSyrControlAve.Link( C_MINaNewMinVal , control_div2.Port( 'MINT' ) )
-control_div2MINT.AddCoord( 1 , 990 , 646 )
-control_div2MINT.AddCoord( 2 , 991 , 912 )
-
-C_MAXaNewMaxVal = C_MAX.Port( 'aNewMaxVal' )
-control_m3p1MAXT = GraphSyrControlAve.Link( C_MAXaNewMaxVal , control_m3p1.Port( 'MAXT' ) )
-control_m3p1MAXT.AddCoord( 1 , 974 , 130 )
-control_m3p1MAXT.AddCoord( 2 , 974 , 747 )
-
-control_div2MAXT = GraphSyrControlAve.Link( C_MAXaNewMaxVal , control_div2.Port( 'MAXT' ) )
-control_div2MAXT.AddCoord( 1 , 973 , 676 )
-control_div2MAXT.AddCoord( 2 , 974 , 747 )
-
-C_AVERAGEaNewListOfSyr = C_AVERAGE.Port( 'aNewListOfSyr' )
-control_m3p1SYRLISTT = GraphSyrControlAve.Link( C_AVERAGEaNewListOfSyr , control_m3p1.Port( 'SYRLISTT' ) )
-control_m3p1SYRLISTT.AddCoord( 1 , 1037 , 188 )
-control_m3p1SYRLISTT.AddCoord( 2 , 1038 , 556 )
-
-control_div2SYRLISTT = GraphSyrControlAve.Link( C_AVERAGEaNewListOfSyr , control_div2.Port( 'SYRLISTT' ) )
-control_div2SYRLISTT.AddCoord( 1 , 1038 , 735 )
-control_div2SYRLISTT.AddCoord( 2 , 1038 , 555 )
-
-C_AVERAGEanAverage = C_AVERAGE.Port( 'anAverage' )
-control_m3p1AVERAGET = GraphSyrControlAve.Link( C_AVERAGEanAverage , control_m3p1.Port( 'AVERAGET' ) )
-control_m3p1AVERAGET.AddCoord( 1 , 1027 , 158 )
-control_m3p1AVERAGET.AddCoord( 2 , 1026 , 584 )
-
-control_div2AVERAGET = GraphSyrControlAve.Link( C_AVERAGEanAverage , control_div2.Port( 'AVERAGET' ) )
-control_div2AVERAGET.AddCoord( 1 , 1027 , 706 )
-control_div2AVERAGET.AddCoord( 2 , 1027 , 584 )
-
-C_LISTOFSYRaListOfSyr = C_LISTOFSYR.Port( 'aListOfSyr' )
-label_beginSYRLISTB = GraphSyrControlAve.Link( C_LISTOFSYRaListOfSyr , label_begin.Port( 'SYRLISTB' ) )
-
-label_beginNT = label_begin.Port( 'NT' )
-test_ISONEanInteger = GraphSyrControlAve.Link( label_beginNT , test_ISONE.Port( 'anInteger' ) )
-test_ISONEanInteger.AddCoord( 1 , 362 , 207 )
-test_ISONEanInteger.AddCoord( 2 , 362 , 299 )
-
-label_testNT = GraphSyrControlAve.Link( label_beginNT , label_test.Port( 'NT' ) )
-
-test_ISEVENanInteger = GraphSyrControlAve.Link( label_beginNT , test_ISEVEN.Port( 'anInteger' ) )
-test_ISEVENanInteger.AddCoord( 1 , 361 , 534 )
-test_ISEVENanInteger.AddCoord( 2 , 362 , 299 )
-
-label_beginKT = label_begin.Port( 'KT' )
-label_testKT = GraphSyrControlAve.Link( label_beginKT , label_test.Port( 'KT' ) )
-
-label_beginMIN = label_begin.Port( 'MIN' )
-label_testMIN = GraphSyrControlAve.Link( label_beginMIN , label_test.Port( 'MIN' ) )
-
-label_beginMAX = label_begin.Port( 'MAX' )
-label_testMAX = GraphSyrControlAve.Link( label_beginMAX , label_test.Port( 'MAX' ) )
-
-label_beginAVERAGE = label_begin.Port( 'AVERAGE' )
-label_testAVERAGE = GraphSyrControlAve.Link( label_beginAVERAGE , label_test.Port( 'AVERAGE' ) )
-
-label_beginSYRLIST = label_begin.Port( 'SYRLIST' )
-label_testSYRLIST = GraphSyrControlAve.Link( label_beginSYRLIST , label_test.Port( 'SYRLIST' ) )
-
-label_testFinished = label_test.Port( 'Finished' )
-EndL_OneEvenDefault = GraphSyrControlAve.Link( label_testFinished , EndL_OneEven.Port( 'Default' ) )
-
-label_testIncr = label_test.Port( 'Incr' )
-incrInGate = GraphSyrControlAve.Link( label_testIncr , incr.Port( 'InGate' ) )
-incrInGate.AddCoord( 1 , 779 , 250 )
-incrInGate.AddCoord( 2 , 780 , 269 )
-
-label_testEven = label_test.Port( 'Even' )
-div2InGate = GraphSyrControlAve.Link( label_testEven , div2.Port( 'InGate' ) )
-div2InGate.AddCoord( 1 , 780 , 387 )
-div2InGate.AddCoord( 2 , 779 , 299 )
-
-label_testOdd = label_test.Port( 'Odd' )
-m3p1InGate = GraphSyrControlAve.Link( label_testOdd , m3p1.Port( 'InGate' ) )
-m3p1InGate.AddCoord( 1 , 756 , 115 )
-m3p1InGate.AddCoord( 2 , 756 , 328 )
-
-label_testN = label_test.Port( 'N' )
-m3p1anOddInteger = GraphSyrControlAve.Link( label_testN , m3p1.Port( 'anOddInteger' ) )
-m3p1anOddInteger.AddCoord( 1 , 740 , 80 )
-m3p1anOddInteger.AddCoord( 2 , 741 , 356 )
-
-div2anEvenInteger = GraphSyrControlAve.Link( label_testN , div2.Port( 'anEvenInteger' ) )
-
-C_MINanInteger = GraphSyrControlAve.Link( label_testN , C_MIN.Port( 'anInteger' ) )
-C_MINanInteger.AddCoord( 1 , 741 , 943 )
-C_MINanInteger.AddCoord( 2 , 740 , 357 )
-
-C_MAXanInteger = GraphSyrControlAve.Link( label_testN , C_MAX.Port( 'anInteger' ) )
-C_MAXanInteger.AddCoord( 1 , 742 , 778 )
-C_MAXanInteger.AddCoord( 2 , 741 , 359 )
-
-C_AVERAGEanInteger = GraphSyrControlAve.Link( label_testN , C_AVERAGE.Port( 'anInteger' ) )
-C_AVERAGEanInteger.AddCoord( 1 , 742 , 584 )
-C_AVERAGEanInteger.AddCoord( 2 , 741 , 357 )
-
-label_testK = label_test.Port( 'K' )
-incraCount = GraphSyrControlAve.Link( label_testK , incr.Port( 'aCount' ) )
-incraCount.AddCoord( 1 , 765 , 217 )
-incraCount.AddCoord( 2 , 764 , 385 )
-
-label_testMINT = label_test.Port( 'MINT' )
-C_MINaMinVal = GraphSyrControlAve.Link( label_testMINT , C_MIN.Port( 'aMinVal' ) )
-C_MINaMinVal.AddCoord( 1 , 759 , 914 )
-C_MINaMinVal.AddCoord( 2 , 758 , 414 )
-
-EndL_OneEvenMIN = GraphSyrControlAve.Link( label_testMINT , EndL_OneEven.Port( 'MIN' ) )
-
-label_testMAXT = label_test.Port( 'MAXT' )
-C_MAXaMaxVal = GraphSyrControlAve.Link( label_testMAXT , C_MAX.Port( 'aMaxVal' ) )
-C_MAXaMaxVal.AddCoord( 1 , 729 , 749 )
-C_MAXaMaxVal.AddCoord( 2 , 728 , 444 )
-
-EndL_OneEvenMAX = GraphSyrControlAve.Link( label_testMAXT , EndL_OneEven.Port( 'MAX' ) )
-
-label_testAVERAGET = label_test.Port( 'AVERAGET' )
-EndL_OneEvenAVERAGE = GraphSyrControlAve.Link( label_testAVERAGET , EndL_OneEven.Port( 'AVERAGE' ) )
-
-label_testSYRLISTT = label_test.Port( 'SYRLISTT' )
-C_AVERAGEaListOfSyr = GraphSyrControlAve.Link( label_testSYRLISTT , C_AVERAGE.Port( 'aListOfSyr' ) )
-C_AVERAGEaListOfSyr.AddCoord( 1 , 771 , 557 )
-C_AVERAGEaListOfSyr.AddCoord( 2 , 770 , 502 )
-
-control_m3p1OutGate = control_m3p1.Port( 'OutGate' )
-label_testInGate = GraphSyrControlAve.Link( control_m3p1OutGate , label_test.Port( 'InGate' ) )
-label_testInGate.AddCoord( 1 , 553 , 536 )
-label_testInGate.AddCoord( 2 , 554 , 1025 )
-label_testInGate.AddCoord( 3 , 1242 , 1026 )
-label_testInGate.AddCoord( 4 , 1243 , 279 )
-
-control_div2OutGate = control_div2.Port( 'OutGate' )
-label_beginInGate = GraphSyrControlAve.Link( control_div2OutGate , label_begin.Port( 'InGate' ) )
-label_beginInGate.AddCoord( 1 , 176 , 476 )
-label_beginInGate.AddCoord( 2 , 176 , 997 )
-label_beginInGate.AddCoord( 3 , 1217 , 996 )
-label_beginInGate.AddCoord( 4 , 1218 , 768 )
-
-# Creation of Input datas
-label_beginNB = label_begin.Input( 'NB' , 31)
-label_beginKB = label_begin.Input( 'KB' , 0)
-label_beginMINB = label_begin.Input( 'MINB' , 0)
-label_beginMAXB = label_begin.Input( 'MAXB' , 0)
-label_beginAVERAGEB = label_begin.Input( 'AVERAGEB' , 0)
-
-# Creation of Output variables
-EndL_OneEvenMIN = EndL_OneEven.Port( 'MIN' )
-EndL_OneEvenMAX = EndL_OneEven.Port( 'MAX' )
-EndL_OneEvenAVERAGE = EndL_OneEven.Port( 'AVERAGE' )
-
-GraphSyrControlAve.Run()
-GraphSyrControlAve.DoneW()
-GraphSyrControlAve.State()
-GraphSyrControlAve.PrintPorts()
+++ /dev/null
-<!DOCTYPE Dataflow>
-<dataflow>
-<info-list>
-<node>
-<component-name>?</component-name>
- <interface-name>?</interface-name>
- <node-name>GraphSyrControlAve</node-name>
- <kind>1</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>GraphSyrControlAve</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>label_begin\NB</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>label_begin\KB</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>label_begin\MINB</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>label_begin\MAXB</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>double</inParameter-type>
- <inParameter-name>label_begin\AVERAGEB</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>EndL_OneEven\MIN</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>EndL_OneEven\MAX</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>double</outParameter-type>
- <outParameter-name>EndL_OneEven\AVERAGE</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list/>
- <creation-date>2/10/2003 - 11:17:14</creation-date>
- <lastmodification-date>2/10/2003 - 11:36:18</lastmodification-date>
- <editor-release>1.05</editor-release>
- <author>JR</author>
- <container>?</container>
- <comment>Syracuse algorithm</comment>
- <x-position>0</x-position>
- <y-position>0</y-position> </node> </info-list>
- <node-list>
-<node>
-<component-name>SyrComponent</component-name>
- <interface-name>SyrComponent</interface-name>
- <node-name>test_ISEVEN</node-name>
- <kind>0</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>C_ISEVEN</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>anInteger</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>BoolEven</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list/>
- <creation-date>2/10/2003 - 11:36:18</creation-date>
- <lastmodification-date>2/10/2003 - 11:36:18</lastmodification-date>
- <editor-release>1.05</editor-release>
- <author>?</author>
- <container>localhost/FactoryServer</container>
- <comment>C_ISEVEN from SyrComponent</comment>
- <x-position>370</x-position>
- <y-position>455</y-position> </node>
- <node>
-<component-name>SyrComponent</component-name>
- <interface-name>SyrComponent</interface-name>
- <node-name>test_ISONE</node-name>
- <kind>0</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>C_ISONE</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>anInteger</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>BoolOne</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list/>
- <creation-date>2/10/2003 - 11:36:18</creation-date>
- <lastmodification-date>2/10/2003 - 11:36:18</lastmodification-date>
- <editor-release>1.05</editor-release>
- <author>?</author>
- <container>localhost/FactoryServer</container>
- <comment>C_ISONE from SyrComponent</comment>
- <x-position>370</x-position>
- <y-position>127</y-position> </node>
- <node>
-<component-name>SyrComponent</component-name>
- <interface-name>SyrComponent</interface-name>
- <node-name>m3p1</node-name>
- <kind>0</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>C_M3P1</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>anOddInteger</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>anEvenInteger</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list/>
- <creation-date>2/10/2003 - 11:36:18</creation-date>
- <lastmodification-date>2/10/2003 - 11:36:18</lastmodification-date>
- <editor-release>1.05</editor-release>
- <author>?</author>
- <container>localhost/FactoryServer</container>
- <comment>C_M3P1 from SyrComponent</comment>
- <x-position>789</x-position>
- <y-position>0</y-position> </node>
- <node>
-<component-name>SyrComponent</component-name>
- <interface-name>SyrComponent</interface-name>
- <node-name>div2</node-name>
- <kind>0</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>C_DIV2</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>anEvenInteger</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>anInteger</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list/>
- <creation-date>2/10/2003 - 11:36:18</creation-date>
- <lastmodification-date>2/10/2003 - 11:36:18</lastmodification-date>
- <editor-release>1.05</editor-release>
- <author>?</author>
- <container>localhost/FactoryServer</container>
- <comment>C_DIV2 from SyrComponent</comment>
- <x-position>789</x-position>
- <y-position>276</y-position> </node>
- <node>
-<component-name>SyrComponent</component-name>
- <interface-name>SyrComponent</interface-name>
- <node-name>incr</node-name>
- <kind>0</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>C_INCR</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>aCount</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>aNewCount</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list/>
- <creation-date>2/10/2003 - 11:36:18</creation-date>
- <lastmodification-date>2/10/2003 - 11:36:18</lastmodification-date>
- <editor-release>1.05</editor-release>
- <author>?</author>
- <container>localhost/FactoryServer</container>
- <comment>C_INCR from SyrComponent</comment>
- <x-position>790</x-position>
- <y-position>136</y-position> </node>
- <node>
-<component-name>SyrComponent</component-name>
- <interface-name>SyrComponent</interface-name>
- <node-name>C_MIN</node-name>
- <kind>0</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>C_MIN</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>aMinVal</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>anInteger</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>aNewMinVal</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list/>
- <creation-date>2/10/2003 - 11:36:18</creation-date>
- <lastmodification-date>2/10/2003 - 11:36:18</lastmodification-date>
- <editor-release>1.05</editor-release>
- <author>?</author>
- <container>localhost/FactoryServer</container>
- <comment>C_MIN from SyrComponent</comment>
- <x-position>798</x-position>
- <y-position>833</y-position> </node>
- <node>
-<component-name>SyrComponent</component-name>
- <interface-name>SyrComponent</interface-name>
- <node-name>C_MAX</node-name>
- <kind>0</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>C_MAX</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>aMaxVal</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>anInteger</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>aNewMaxVal</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list/>
- <creation-date>2/10/2003 - 11:36:18</creation-date>
- <lastmodification-date>2/10/2003 - 11:36:18</lastmodification-date>
- <editor-release>1.05</editor-release>
- <author>?</author>
- <container>localhost/FactoryServer</container>
- <comment>C_MAX from SyrComponent</comment>
- <x-position>798</x-position>
- <y-position>668</y-position> </node>
- <node>
-<component-name>SyrComponent</component-name>
- <interface-name>SyrComponent</interface-name>
- <node-name>C_AVERAGE</node-name>
- <kind>0</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>C_AVERAGE</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>ListOfSyr</inParameter-type>
- <inParameter-name>aListOfSyr</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>anInteger</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>aCount</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>ListOfSyr</outParameter-type>
- <outParameter-name>aNewListOfSyr</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>double</outParameter-type>
- <outParameter-name>anAverage</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list/>
- <creation-date>2/10/2003 - 11:36:18</creation-date>
- <lastmodification-date>2/10/2003 - 11:36:18</lastmodification-date>
- <editor-release>1.05</editor-release>
- <author>?</author>
- <container>localhost/FactoryServer</container>
- <comment>C_AVERAGE from SyrComponent</comment>
- <x-position>784</x-position>
- <y-position>476</y-position> </node>
- <node>
-<component-name>SyrComponent</component-name>
- <interface-name>SyrComponent</interface-name>
- <node-name>C_LISTOFSYR</node-name>
- <kind>0</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>C_LISTOFSYR</service-name>
- <inParameter-list/>
- <outParameter-list>
-<outParameter>
-<outParameter-type>ListOfSyr</outParameter-type>
- <outParameter-name>aListOfSyr</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list/>
- <creation-date>2/10/2003 - 11:36:18</creation-date>
- <lastmodification-date>2/10/2003 - 11:36:18</lastmodification-date>
- <editor-release>1.05</editor-release>
- <author>?</author>
- <container>localhost/FactoryServer</container>
- <comment>C_LISTOFSYR from SyrComponent</comment>
- <x-position>4</x-position>
- <y-position>363</y-position> </node>
- <node>
-<component-name>?</component-name>
- <interface-name>?</interface-name>
- <node-name>label_begin</node-name>
- <kind>3</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>label_begin</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>NB</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>KB</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>MINB</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>MAXB</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>double</inParameter-type>
- <inParameter-name>AVERAGEB</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>ListOfSyr</inParameter-type>
- <inParameter-name>SYRLISTB</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>NT</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>KT</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>MIN</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>MAX</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>double</outParameter-type>
- <outParameter-name>AVERAGE</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>ListOfSyr</outParameter-type>
- <outParameter-name>SYRLIST</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list>
-<PyFunction>
-<FuncName>label_begin</FuncName>
- <PyFunc><![CDATA[def label_begin( NB , KB , MINB , MAXB , AVERAGEB , SYRLISTB ) :]]></PyFunc>
- <PyFunc><![CDATA[ return NB,KB,MINB,MAXB,AVERAGEB,SYRLISTB]]></PyFunc> </PyFunction> </PyFunction-list>
- <creation-date>2/10/2003 - 11:36:18</creation-date>
- <lastmodification-date>2/10/2003 - 11:36:18</lastmodification-date>
- <editor-release>1.05</editor-release>
- <author>?</author>
- <container>?</container>
- <comment>Python function</comment>
- <x-position>183</x-position>
- <y-position>219</y-position> </node>
- <node>
-<component-name>?</component-name>
- <interface-name>?</interface-name>
- <node-name>label_test</node-name>
- <kind>6</kind>
- <coupled-node>EndL_OneEven</coupled-node>
- <service>
-<service-name>label_test</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>ValOne</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>ValEven</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>NT</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>KT</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>MIN</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>MAX</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>double</inParameter-type>
- <inParameter-name>AVERAGE</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>ListOfSyr</inParameter-type>
- <inParameter-name>SYRLIST</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>Finished</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>Incr</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>Even</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>Odd</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>N</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>K</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>MINT</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>MAXT</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>double</outParameter-type>
- <outParameter-name>AVERAGET</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>ListOfSyr</outParameter-type>
- <outParameter-name>SYRLISTT</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list>
-<PyFunction>
-<FuncName>L_OneEven</FuncName>
- <PyFunc><![CDATA[def L_OneEven( ValOne , ValEven , NT , KT , MIN , MAX , AVERAGE , SYRLIST ):]]></PyFunc>
- <PyFunc><![CDATA[ Finished = ValOne]]></PyFunc>
- <PyFunc><![CDATA[ if Finished == 0 :]]></PyFunc>
- <PyFunc><![CDATA[ Incr = 1]]></PyFunc>
- <PyFunc><![CDATA[ Even = ValEven]]></PyFunc>
- <PyFunc><![CDATA[ if Even == 0 :]]></PyFunc>
- <PyFunc><![CDATA[ Odd = 1]]></PyFunc>
- <PyFunc><![CDATA[ else :]]></PyFunc>
- <PyFunc><![CDATA[ Odd = 0]]></PyFunc>
- <PyFunc><![CDATA[ else :]]></PyFunc>
- <PyFunc><![CDATA[ Incr = 0]]></PyFunc>
- <PyFunc><![CDATA[ Even = 0]]></PyFunc>
- <PyFunc><![CDATA[ Odd = 0]]></PyFunc>
- <PyFunc><![CDATA[ Even = ValEven]]></PyFunc>
- <PyFunc><![CDATA[ return Finished,Incr,Even,Odd,NT,KT,MIN,MAX,AVERAGE,SYRLIST]]></PyFunc> </PyFunction> </PyFunction-list>
- <creation-date>2/10/2003 - 11:36:18</creation-date>
- <lastmodification-date>2/10/2003 - 11:36:18</lastmodification-date>
- <editor-release>1.05</editor-release>
- <author>?</author>
- <container>?</container>
- <comment>?</comment>
- <x-position>563</x-position>
- <y-position>206</y-position> </node>
- <node>
-<component-name>?</component-name>
- <interface-name>?</interface-name>
- <node-name>EndL_OneEven</node-name>
- <kind>7</kind>
- <coupled-node>label_test</coupled-node>
- <service>
-<service-name>EndL_OneEven</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>MIN</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>MAX</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>double</inParameter-type>
- <inParameter-name>AVERAGE</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>MIN</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>MAX</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>double</outParameter-type>
- <outParameter-name>AVERAGE</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list>
-<PyFunction/> </PyFunction-list>
- <creation-date>2/10/2003 - 11:36:18</creation-date>
- <lastmodification-date>2/10/2003 - 11:36:18</lastmodification-date>
- <editor-release>1.05</editor-release>
- <author>?</author>
- <container>?</container>
- <comment>?</comment>
- <x-position>1064</x-position>
- <y-position>379</y-position> </node>
- <node>
-<component-name>?</component-name>
- <interface-name>?</interface-name>
- <node-name>control_m3p1</node-name>
- <kind>8</kind>
- <coupled-node>label_test</coupled-node>
- <service>
-<service-name>control_m3p1</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>N</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>K</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>MINT</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>MAXT</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>double</inParameter-type>
- <inParameter-name>AVERAGET</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>ListOfSyr</inParameter-type>
- <inParameter-name>SYRLISTT</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>ValOne</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>ValEven</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>NT</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>KT</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>MIN</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>MAX</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>double</outParameter-type>
- <outParameter-name>AVERAGE</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>ListOfSyr</outParameter-type>
- <outParameter-name>SYRLIST</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list>
-<PyFunction>
-<FuncName>C_NotOneIsEven</FuncName>
- <PyFunc><![CDATA[def C_NotOneIsEven( N , K , MINT , MAXT , AVERAGET , SYRLISTT ):]]></PyFunc>
- <PyFunc><![CDATA[ return 0,1,N,K,MINT,MAXT,AVERAGET,SYRLISTT]]></PyFunc> </PyFunction> </PyFunction-list>
- <creation-date>2/10/2003 - 11:36:18</creation-date>
- <lastmodification-date>2/10/2003 - 11:36:18</lastmodification-date>
- <editor-release>1.05</editor-release>
- <author>?</author>
- <container>?</container>
- <comment>?</comment>
- <x-position>1058</x-position>
- <y-position>8</y-position> </node>
- <node>
-<component-name>?</component-name>
- <interface-name>?</interface-name>
- <node-name>control_div2</node-name>
- <kind>8</kind>
- <coupled-node>label_begin</coupled-node>
- <service>
-<service-name>control_div2</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>N</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>K</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>MINT</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>MAXT</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>double</inParameter-type>
- <inParameter-name>AVERAGET</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>ListOfSyr</inParameter-type>
- <inParameter-name>SYRLISTT</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>NB</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>KB</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>MINB</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>MAXB</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>double</outParameter-type>
- <outParameter-name>AVERAGEB</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>ListOfSyr</outParameter-type>
- <outParameter-name>SYRLISTB</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list>
-<PyFunction>
-<FuncName>control_div2</FuncName>
- <PyFunc><![CDATA[def control_div2( N , K , MINT , MAXT , AVERAGET , SYRLISTT ) :]]></PyFunc>
- <PyFunc><![CDATA[ return N,K,MINT,MAXT,AVERAGET,SYRLISTT]]></PyFunc> </PyFunction> </PyFunction-list>
- <creation-date>2/10/2003 - 11:36:18</creation-date>
- <lastmodification-date>2/10/2003 - 11:36:18</lastmodification-date>
- <editor-release>1.05</editor-release>
- <author>?</author>
- <container>?</container>
- <comment>?</comment>
- <x-position>1048</x-position>
- <y-position>555</y-position> </node> </node-list>
- <link-list>
-<link>
-<fromnode-name>test_ISEVEN</fromnode-name>
- <fromserviceparameter-name>BoolEven</fromserviceparameter-name>
- <tonode-name>label_test</tonode-name>
- <toserviceparameter-name>ValEven</toserviceparameter-name>
- <coord-list>
-<coord>
-<x>545</x>
- <y>269</y> </coord>
- <coord>
-<x>545</x>
- <y>535</y> </coord> </coord-list> </link>
- <link>
-<fromnode-name>test_ISONE</fromnode-name>
- <fromserviceparameter-name>BoolOne</fromserviceparameter-name>
- <tonode-name>label_test</tonode-name>
- <toserviceparameter-name>ValOne</toserviceparameter-name>
- <coord-list>
-<coord>
-<x>546</x>
- <y>241</y> </coord>
- <coord>
-<x>545</x>
- <y>208</y> </coord> </coord-list> </link>
- <link>
-<fromnode-name>m3p1</fromnode-name>
- <fromserviceparameter-name>anEvenInteger</fromserviceparameter-name>
- <tonode-name>control_m3p1</tonode-name>
- <toserviceparameter-name>N</toserviceparameter-name>
- <coord-list>
-<coord>
-<x>977</x>
- <y>43</y> </coord>
- <coord>
-<x>976</x>
- <y>81</y> </coord> </coord-list> </link>
- <link>
-<fromnode-name>div2</fromnode-name>
- <fromserviceparameter-name>anInteger</fromserviceparameter-name>
- <tonode-name>control_div2</tonode-name>
- <toserviceparameter-name>N</toserviceparameter-name>
- <coord-list>
-<coord>
-<x>1011</x>
- <y>590</y> </coord>
- <coord>
-<x>1010</x>
- <y>357</y> </coord> </coord-list> </link>
- <link>
-<fromnode-name>incr</fromnode-name>
- <fromserviceparameter-name>aNewCount</fromserviceparameter-name>
- <tonode-name>control_div2</tonode-name>
- <toserviceparameter-name>K</toserviceparameter-name>
- <coord-list>
-<coord>
-<x>964</x>
- <y>618</y> </coord>
- <coord>
-<x>966</x>
- <y>217</y> </coord> </coord-list> </link>
- <link>
-<fromnode-name>incr</fromnode-name>
- <fromserviceparameter-name>aNewCount</fromserviceparameter-name>
- <tonode-name>control_m3p1</tonode-name>
- <toserviceparameter-name>K</toserviceparameter-name>
- <coord-list>
-<coord>
-<x>966</x>
- <y>70</y> </coord>
- <coord>
-<x>966</x>
- <y>216</y> </coord> </coord-list> </link>
- <link>
-<fromnode-name>incr</fromnode-name>
- <fromserviceparameter-name>aNewCount</fromserviceparameter-name>
- <tonode-name>C_AVERAGE</tonode-name>
- <toserviceparameter-name>aCount</toserviceparameter-name>
- <coord-list>
-<coord>
-<x>778</x>
- <y>615</y> </coord>
- <coord>
-<x>779</x>
- <y>462</y> </coord>
- <coord>
-<x>965</x>
- <y>462</y> </coord>
- <coord>
-<x>966</x>
- <y>216</y> </coord> </coord-list> </link>
- <link>
-<fromnode-name>C_MIN</fromnode-name>
- <fromserviceparameter-name>aNewMinVal</fromserviceparameter-name>
- <tonode-name>control_m3p1</tonode-name>
- <toserviceparameter-name>MINT</toserviceparameter-name>
- <coord-list>
-<coord>
-<x>991</x>
- <y>100</y> </coord>
- <coord>
-<x>991</x>
- <y>913</y> </coord> </coord-list> </link>
- <link>
-<fromnode-name>C_MIN</fromnode-name>
- <fromserviceparameter-name>aNewMinVal</fromserviceparameter-name>
- <tonode-name>control_div2</tonode-name>
- <toserviceparameter-name>MINT</toserviceparameter-name>
- <coord-list>
-<coord>
-<x>990</x>
- <y>646</y> </coord>
- <coord>
-<x>991</x>
- <y>912</y> </coord> </coord-list> </link>
- <link>
-<fromnode-name>C_MAX</fromnode-name>
- <fromserviceparameter-name>aNewMaxVal</fromserviceparameter-name>
- <tonode-name>control_m3p1</tonode-name>
- <toserviceparameter-name>MAXT</toserviceparameter-name>
- <coord-list>
-<coord>
-<x>974</x>
- <y>130</y> </coord>
- <coord>
-<x>974</x>
- <y>747</y> </coord> </coord-list> </link>
- <link>
-<fromnode-name>C_MAX</fromnode-name>
- <fromserviceparameter-name>aNewMaxVal</fromserviceparameter-name>
- <tonode-name>control_div2</tonode-name>
- <toserviceparameter-name>MAXT</toserviceparameter-name>
- <coord-list>
-<coord>
-<x>973</x>
- <y>676</y> </coord>
- <coord>
-<x>974</x>
- <y>747</y> </coord> </coord-list> </link>
- <link>
-<fromnode-name>C_AVERAGE</fromnode-name>
- <fromserviceparameter-name>aNewListOfSyr</fromserviceparameter-name>
- <tonode-name>control_m3p1</tonode-name>
- <toserviceparameter-name>SYRLISTT</toserviceparameter-name>
- <coord-list>
-<coord>
-<x>1037</x>
- <y>188</y> </coord>
- <coord>
-<x>1038</x>
- <y>556</y> </coord> </coord-list> </link>
- <link>
-<fromnode-name>C_AVERAGE</fromnode-name>
- <fromserviceparameter-name>aNewListOfSyr</fromserviceparameter-name>
- <tonode-name>control_div2</tonode-name>
- <toserviceparameter-name>SYRLISTT</toserviceparameter-name>
- <coord-list>
-<coord>
-<x>1038</x>
- <y>735</y> </coord>
- <coord>
-<x>1038</x>
- <y>555</y> </coord> </coord-list> </link>
- <link>
-<fromnode-name>C_AVERAGE</fromnode-name>
- <fromserviceparameter-name>anAverage</fromserviceparameter-name>
- <tonode-name>control_m3p1</tonode-name>
- <toserviceparameter-name>AVERAGET</toserviceparameter-name>
- <coord-list>
-<coord>
-<x>1027</x>
- <y>158</y> </coord>
- <coord>
-<x>1026</x>
- <y>584</y> </coord> </coord-list> </link>
- <link>
-<fromnode-name>C_AVERAGE</fromnode-name>
- <fromserviceparameter-name>anAverage</fromserviceparameter-name>
- <tonode-name>control_div2</tonode-name>
- <toserviceparameter-name>AVERAGET</toserviceparameter-name>
- <coord-list>
-<coord>
-<x>1027</x>
- <y>706</y> </coord>
- <coord>
-<x>1027</x>
- <y>584</y> </coord> </coord-list> </link>
- <link>
-<fromnode-name>C_LISTOFSYR</fromnode-name>
- <fromserviceparameter-name>aListOfSyr</fromserviceparameter-name>
- <tonode-name>label_begin</tonode-name>
- <toserviceparameter-name>SYRLISTB</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>label_begin</fromnode-name>
- <fromserviceparameter-name>NT</fromserviceparameter-name>
- <tonode-name>test_ISONE</tonode-name>
- <toserviceparameter-name>anInteger</toserviceparameter-name>
- <coord-list>
-<coord>
-<x>362</x>
- <y>207</y> </coord>
- <coord>
-<x>362</x>
- <y>299</y> </coord> </coord-list> </link>
- <link>
-<fromnode-name>label_begin</fromnode-name>
- <fromserviceparameter-name>NT</fromserviceparameter-name>
- <tonode-name>label_test</tonode-name>
- <toserviceparameter-name>NT</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>label_begin</fromnode-name>
- <fromserviceparameter-name>NT</fromserviceparameter-name>
- <tonode-name>test_ISEVEN</tonode-name>
- <toserviceparameter-name>anInteger</toserviceparameter-name>
- <coord-list>
-<coord>
-<x>361</x>
- <y>534</y> </coord>
- <coord>
-<x>362</x>
- <y>299</y> </coord> </coord-list> </link>
- <link>
-<fromnode-name>label_begin</fromnode-name>
- <fromserviceparameter-name>KT</fromserviceparameter-name>
- <tonode-name>label_test</tonode-name>
- <toserviceparameter-name>KT</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>label_begin</fromnode-name>
- <fromserviceparameter-name>MIN</fromserviceparameter-name>
- <tonode-name>label_test</tonode-name>
- <toserviceparameter-name>MIN</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>label_begin</fromnode-name>
- <fromserviceparameter-name>MAX</fromserviceparameter-name>
- <tonode-name>label_test</tonode-name>
- <toserviceparameter-name>MAX</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>label_begin</fromnode-name>
- <fromserviceparameter-name>AVERAGE</fromserviceparameter-name>
- <tonode-name>label_test</tonode-name>
- <toserviceparameter-name>AVERAGE</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>label_begin</fromnode-name>
- <fromserviceparameter-name>SYRLIST</fromserviceparameter-name>
- <tonode-name>label_test</tonode-name>
- <toserviceparameter-name>SYRLIST</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>label_test</fromnode-name>
- <fromserviceparameter-name>Finished</fromserviceparameter-name>
- <tonode-name>EndL_OneEven</tonode-name>
- <toserviceparameter-name>Default</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>label_test</fromnode-name>
- <fromserviceparameter-name>Incr</fromserviceparameter-name>
- <tonode-name>incr</tonode-name>
- <toserviceparameter-name>InGate</toserviceparameter-name>
- <coord-list>
-<coord>
-<x>779</x>
- <y>250</y> </coord>
- <coord>
-<x>780</x>
- <y>269</y> </coord> </coord-list> </link>
- <link>
-<fromnode-name>label_test</fromnode-name>
- <fromserviceparameter-name>Even</fromserviceparameter-name>
- <tonode-name>div2</tonode-name>
- <toserviceparameter-name>InGate</toserviceparameter-name>
- <coord-list>
-<coord>
-<x>780</x>
- <y>387</y> </coord>
- <coord>
-<x>779</x>
- <y>299</y> </coord> </coord-list> </link>
- <link>
-<fromnode-name>label_test</fromnode-name>
- <fromserviceparameter-name>Odd</fromserviceparameter-name>
- <tonode-name>m3p1</tonode-name>
- <toserviceparameter-name>InGate</toserviceparameter-name>
- <coord-list>
-<coord>
-<x>756</x>
- <y>115</y> </coord>
- <coord>
-<x>756</x>
- <y>328</y> </coord> </coord-list> </link>
- <link>
-<fromnode-name>label_test</fromnode-name>
- <fromserviceparameter-name>N</fromserviceparameter-name>
- <tonode-name>m3p1</tonode-name>
- <toserviceparameter-name>anOddInteger</toserviceparameter-name>
- <coord-list>
-<coord>
-<x>740</x>
- <y>80</y> </coord>
- <coord>
-<x>741</x>
- <y>356</y> </coord> </coord-list> </link>
- <link>
-<fromnode-name>label_test</fromnode-name>
- <fromserviceparameter-name>N</fromserviceparameter-name>
- <tonode-name>div2</tonode-name>
- <toserviceparameter-name>anEvenInteger</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>label_test</fromnode-name>
- <fromserviceparameter-name>N</fromserviceparameter-name>
- <tonode-name>C_MIN</tonode-name>
- <toserviceparameter-name>anInteger</toserviceparameter-name>
- <coord-list>
-<coord>
-<x>741</x>
- <y>943</y> </coord>
- <coord>
-<x>740</x>
- <y>357</y> </coord> </coord-list> </link>
- <link>
-<fromnode-name>label_test</fromnode-name>
- <fromserviceparameter-name>N</fromserviceparameter-name>
- <tonode-name>C_MAX</tonode-name>
- <toserviceparameter-name>anInteger</toserviceparameter-name>
- <coord-list>
-<coord>
-<x>742</x>
- <y>778</y> </coord>
- <coord>
-<x>741</x>
- <y>359</y> </coord> </coord-list> </link>
- <link>
-<fromnode-name>label_test</fromnode-name>
- <fromserviceparameter-name>N</fromserviceparameter-name>
- <tonode-name>C_AVERAGE</tonode-name>
- <toserviceparameter-name>anInteger</toserviceparameter-name>
- <coord-list>
-<coord>
-<x>742</x>
- <y>584</y> </coord>
- <coord>
-<x>741</x>
- <y>357</y> </coord> </coord-list> </link>
- <link>
-<fromnode-name>label_test</fromnode-name>
- <fromserviceparameter-name>K</fromserviceparameter-name>
- <tonode-name>incr</tonode-name>
- <toserviceparameter-name>aCount</toserviceparameter-name>
- <coord-list>
-<coord>
-<x>765</x>
- <y>217</y> </coord>
- <coord>
-<x>764</x>
- <y>385</y> </coord> </coord-list> </link>
- <link>
-<fromnode-name>label_test</fromnode-name>
- <fromserviceparameter-name>MINT</fromserviceparameter-name>
- <tonode-name>C_MIN</tonode-name>
- <toserviceparameter-name>aMinVal</toserviceparameter-name>
- <coord-list>
-<coord>
-<x>759</x>
- <y>914</y> </coord>
- <coord>
-<x>758</x>
- <y>414</y> </coord> </coord-list> </link>
- <link>
-<fromnode-name>label_test</fromnode-name>
- <fromserviceparameter-name>MINT</fromserviceparameter-name>
- <tonode-name>EndL_OneEven</tonode-name>
- <toserviceparameter-name>MIN</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>label_test</fromnode-name>
- <fromserviceparameter-name>MAXT</fromserviceparameter-name>
- <tonode-name>C_MAX</tonode-name>
- <toserviceparameter-name>aMaxVal</toserviceparameter-name>
- <coord-list>
-<coord>
-<x>729</x>
- <y>749</y> </coord>
- <coord>
-<x>728</x>
- <y>444</y> </coord> </coord-list> </link>
- <link>
-<fromnode-name>label_test</fromnode-name>
- <fromserviceparameter-name>MAXT</fromserviceparameter-name>
- <tonode-name>EndL_OneEven</tonode-name>
- <toserviceparameter-name>MAX</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>label_test</fromnode-name>
- <fromserviceparameter-name>AVERAGET</fromserviceparameter-name>
- <tonode-name>EndL_OneEven</tonode-name>
- <toserviceparameter-name>AVERAGE</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>label_test</fromnode-name>
- <fromserviceparameter-name>SYRLISTT</fromserviceparameter-name>
- <tonode-name>C_AVERAGE</tonode-name>
- <toserviceparameter-name>aListOfSyr</toserviceparameter-name>
- <coord-list>
-<coord>
-<x>771</x>
- <y>557</y> </coord>
- <coord>
-<x>770</x>
- <y>502</y> </coord> </coord-list> </link>
- <link>
-<fromnode-name>control_m3p1</fromnode-name>
- <fromserviceparameter-name>OutGate</fromserviceparameter-name>
- <tonode-name>label_test</tonode-name>
- <toserviceparameter-name>InGate</toserviceparameter-name>
- <coord-list>
-<coord>
-<x>553</x>
- <y>536</y> </coord>
- <coord>
-<x>554</x>
- <y>1025</y> </coord>
- <coord>
-<x>1242</x>
- <y>1026</y> </coord>
- <coord>
-<x>1243</x>
- <y>279</y> </coord> </coord-list> </link>
- <link>
-<fromnode-name>control_div2</fromnode-name>
- <fromserviceparameter-name>OutGate</fromserviceparameter-name>
- <tonode-name>label_begin</tonode-name>
- <toserviceparameter-name>InGate</toserviceparameter-name>
- <coord-list>
-<coord>
-<x>176</x>
- <y>476</y> </coord>
- <coord>
-<x>176</x>
- <y>997</y> </coord>
- <coord>
-<x>1217</x>
- <y>996</y> </coord>
- <coord>
-<x>1218</x>
- <y>768</y> </coord> </coord-list> </link> </link-list>
- <data-list>
-<data>
-<fromnode-name>GraphSyrControlAve</fromnode-name>
- <fromserviceparameter-name>label_begin\NB</fromserviceparameter-name>
- <tonode-name>label_begin</tonode-name>
- <toserviceparameter-name>NB</toserviceparameter-name>
- <data-value>
-<value-type>3</value-type>
- <value>31</value> </data-value>
- <coord-list/> </data>
- <data>
-<fromnode-name>GraphSyrControlAve</fromnode-name>
- <fromserviceparameter-name>label_begin\KB</fromserviceparameter-name>
- <tonode-name>label_begin</tonode-name>
- <toserviceparameter-name>KB</toserviceparameter-name>
- <data-value>
-<value-type>3</value-type>
- <value>0</value> </data-value>
- <coord-list/> </data>
- <data>
-<fromnode-name>GraphSyrControlAve</fromnode-name>
- <fromserviceparameter-name>label_begin\MINB</fromserviceparameter-name>
- <tonode-name>label_begin</tonode-name>
- <toserviceparameter-name>MINB</toserviceparameter-name>
- <data-value>
-<value-type>3</value-type>
- <value>0</value> </data-value>
- <coord-list/> </data>
- <data>
-<fromnode-name>GraphSyrControlAve</fromnode-name>
- <fromserviceparameter-name>label_begin\MAXB</fromserviceparameter-name>
- <tonode-name>label_begin</tonode-name>
- <toserviceparameter-name>MAXB</toserviceparameter-name>
- <data-value>
-<value-type>3</value-type>
- <value>0</value> </data-value>
- <coord-list/> </data>
- <data>
-<fromnode-name>GraphSyrControlAve</fromnode-name>
- <fromserviceparameter-name>label_begin\AVERAGEB</fromserviceparameter-name>
- <tonode-name>label_begin</tonode-name>
- <toserviceparameter-name>AVERAGEB</toserviceparameter-name>
- <data-value>
-<value-type>7</value-type>
- <value>0</value> </data-value>
- <coord-list/> </data> </data-list></dataflow>
+++ /dev/null
-
-# Generated python file of Graph GraphSyrControlDefault
-
-from SuperV import *
-# Graph creation
-GraphSyrControlDefault = Graph( 'GraphSyrControlDefault' )
-GraphSyrControlDefault.SetName( 'GraphSyrControlDefault' )
-GraphSyrControlDefault.SetAuthor( 'JR' )
-GraphSyrControlDefault.SetComment( 'Syracuse algorithm' )
-GraphSyrControlDefault.Coords( 0 , 0 )
-
-# Creation of Factory Nodes
-
-test_ISEVEN = GraphSyrControlDefault.FNode( 'SyrComponent' , 'SyrComponent' , 'C_ISEVEN' )
-test_ISEVEN.SetName( 'test_ISEVEN' )
-test_ISEVEN.SetAuthor( '' )
-test_ISEVEN.SetContainer( 'localhost/FactoryServer' )
-test_ISEVEN.SetComment( 'C_ISEVEN from SyrComponent' )
-test_ISEVEN.Coords( 204 , 444 )
-
-test_ISONE = GraphSyrControlDefault.FNode( 'SyrComponent' , 'SyrComponent' , 'C_ISONE' )
-test_ISONE.SetName( 'test_ISONE' )
-test_ISONE.SetAuthor( '' )
-test_ISONE.SetContainer( 'localhost/FactoryServer' )
-test_ISONE.SetComment( 'C_ISONE from SyrComponent' )
-test_ISONE.Coords( 201 , 52 )
-
-m3p1 = GraphSyrControlDefault.FNode( 'SyrComponent' , 'SyrComponent' , 'C_M3P1' )
-m3p1.SetName( 'm3p1' )
-m3p1.SetAuthor( '' )
-m3p1.SetContainer( 'localhost/FactoryServer' )
-m3p1.SetComment( 'C_M3P1 from SyrComponent' )
-m3p1.Coords( 806 , 19 )
-
-div2 = GraphSyrControlDefault.FNode( 'SyrComponent' , 'SyrComponent' , 'C_DIV2' )
-div2.SetName( 'div2' )
-div2.SetAuthor( '' )
-div2.SetContainer( 'localhost/FactoryServer' )
-div2.SetComment( 'C_DIV2 from SyrComponent' )
-div2.Coords( 803 , 451 )
-
-incr = GraphSyrControlDefault.FNode( 'SyrComponent' , 'SyrComponent' , 'C_INCR' )
-incr.SetName( 'incr' )
-incr.SetAuthor( '' )
-incr.SetContainer( 'localhost/FactoryServer' )
-incr.SetComment( 'C_INCR from SyrComponent' )
-incr.Coords( 802 , 170 )
-
-# Creation of InLine Nodes
-Pylabel_begin = []
-Pylabel_begin.append( 'def label_begin( NB , KB ):' )
-Pylabel_begin.append( ' print "label_begin",NB,KB' )
-Pylabel_begin.append( ' return NB,KB' )
-label_begin = GraphSyrControlDefault.INode( 'label_begin' , Pylabel_begin )
-label_begin.SetName( 'label_begin' )
-label_begin.SetAuthor( '' )
-label_begin.SetComment( 'Python function' )
-label_begin.Coords( 12 , 264 )
-label_begin.InPort( 'NB' , 'long' )
-label_begin.InPort( 'KB' , 'long' )
-
-Pylabel_test = []
-Pylabel_test.append( 'def label_test( ValEven , ValOne , NB , KB ):' )
-Pylabel_test.append( ' print "label_begin",ValEven,ValOne,NB,KB' )
-Pylabel_test.append( ' return ValEven,ValOne,NB,KB' )
-label_test = GraphSyrControlDefault.INode( 'label_test' , Pylabel_test )
-label_test.SetName( 'label_test' )
-label_test.SetAuthor( '' )
-label_test.SetComment( 'Python function' )
-label_test.Coords( 415 , 206 )
-label_test.InPort( 'ValEven' , 'long' )
-label_test.InPort( 'ValOne' , 'long' )
-label_test.InPort( 'NT' , 'long' )
-label_test.InPort( 'KT' , 'long' )
-
-# Creation of Switch Nodes
-Pytest = []
-Pytest.append( 'def Switch_OneEven( ValOne , ValEven , NT , KT ) :' )
-Pytest.append( ' Finished = ValOne' )
-Pytest.append( ' if Finished == 0 :' )
-Pytest.append( ' Incr = 1' )
-Pytest.append( ' Even = ValEven' )
-Pytest.append( ' if Even == 0 :' )
-Pytest.append( ' Odd = 1' )
-Pytest.append( ' else :' )
-Pytest.append( ' Odd = 0' )
-Pytest.append( ' else :' )
-Pytest.append( ' Incr = 0' )
-Pytest.append( ' Even = 0' )
-Pytest.append( ' Odd = 0' )
-Pytest.append( ' Even = ValEven' )
-Pytest.append( ' return Incr,Even,Odd,NT,KT' )
-test,EndSwitch_OneEven = GraphSyrControlDefault.SNode( 'Switch_OneEven' , Pytest )
-EndSwitch_OneEven.SetName( 'EndSwitch_OneEven' )
-EndSwitch_OneEven.SetAuthor( '' )
-EndSwitch_OneEven.SetComment( '' )
-EndSwitch_OneEven.Coords( 1074 , 367 )
-PyEndSwitch_OneEven = []
-EndSwitch_OneEven.SetPyFunction( 'EndSwitch_OneEven' , PyEndSwitch_OneEven )
-EndSwitch_OneEven.InPort( 'K' , 'long' )
-EndSwitch_OneEven.OutPort( 'K' , 'long' )
-test.SetName( 'test' )
-test.SetAuthor( '' )
-test.SetComment( '' )
-test.Coords( 597 , 251 )
-test.InPort( 'ValOne' , 'long' )
-test.InPort( 'ValEven' , 'long' )
-test.InPort( 'NT' , 'long' )
-test.InPort( 'KT' , 'long' )
-
-# Creation of GOTO Nodes
-Pycontrol_m3p1 = []
-Pycontrol_m3p1.append( 'def control_m3p1( N , K ):' )
-Pycontrol_m3p1.append( ' return 0,1,N,K' )
-control_m3p1 = GraphSyrControlDefault.GNode( 'control_m3p1' , Pycontrol_m3p1 , 'label_test' )
-control_m3p1.SetName( 'control_m3p1' )
-control_m3p1.SetAuthor( '' )
-control_m3p1.SetComment( '' )
-control_m3p1.Coords( 1002 , 64 )
-control_m3p1.InPort( 'N' , 'long' )
-control_m3p1.InPort( 'K' , 'long' )
-
-Pycontrol_div2 = []
-Pycontrol_div2.append( 'def control_div2( N , NB ) :' )
-Pycontrol_div2.append( ' return N,NB' )
-control_div2 = GraphSyrControlDefault.GNode( 'control_div2' , Pycontrol_div2 , 'label_begin' )
-control_div2.SetName( 'control_div2' )
-control_div2.SetAuthor( '' )
-control_div2.SetComment( '' )
-control_div2.Coords( 1013 , 496 )
-control_div2.InPort( 'N' , 'long' )
-control_div2.InPort( 'K' , 'long' )
-
-# Creation of Links
-test_ISEVENBoolEven = test_ISEVEN.Port( 'BoolEven' )
-label_testValEven = GraphSyrControlDefault.Link( test_ISEVENBoolEven , label_test.Port( 'ValEven' ) )
-label_testValEven.AddCoord( 1 , 381 , 286 )
-label_testValEven.AddCoord( 2 , 382 , 524 )
-
-test_ISONEBoolOne = test_ISONE.Port( 'BoolOne' )
-label_testValOne = GraphSyrControlDefault.Link( test_ISONEBoolOne , label_test.Port( 'ValOne' ) )
-label_testValOne.AddCoord( 1 , 393 , 314 )
-label_testValOne.AddCoord( 2 , 393 , 133 )
-
-m3p1anEvenInteger = m3p1.Port( 'anEvenInteger' )
-control_m3p1N = GraphSyrControlDefault.Link( m3p1anEvenInteger , control_m3p1.Port( 'N' ) )
-
-div2anInteger = div2.Port( 'anInteger' )
-control_div2N = GraphSyrControlDefault.Link( div2anInteger , control_div2.Port( 'N' ) )
-
-incraNewCount = incr.Port( 'aNewCount' )
-control_m3p1K = GraphSyrControlDefault.Link( incraNewCount , control_m3p1.Port( 'K' ) )
-control_m3p1K.AddCoord( 1 , 985 , 128 )
-control_m3p1K.AddCoord( 2 , 985 , 250 )
-
-control_div2K = GraphSyrControlDefault.Link( incraNewCount , control_div2.Port( 'K' ) )
-control_div2K.AddCoord( 1 , 987 , 559 )
-control_div2K.AddCoord( 2 , 985 , 250 )
-
-label_beginNT = label_begin.Port( 'NT' )
-label_testNT = GraphSyrControlDefault.Link( label_beginNT , label_test.Port( 'NT' ) )
-
-test_ISEVENanInteger = GraphSyrControlDefault.Link( label_beginNT , test_ISEVEN.Port( 'anInteger' ) )
-test_ISEVENanInteger.AddCoord( 1 , 191 , 524 )
-test_ISEVENanInteger.AddCoord( 2 , 192 , 345 )
-
-test_ISONEanInteger = GraphSyrControlDefault.Link( label_beginNT , test_ISONE.Port( 'anInteger' ) )
-test_ISONEanInteger.AddCoord( 1 , 192 , 131 )
-test_ISONEanInteger.AddCoord( 2 , 193 , 345 )
-
-label_beginKT = label_begin.Port( 'KT' )
-label_testKT = GraphSyrControlDefault.Link( label_beginKT , label_test.Port( 'KT' ) )
-
-label_testValEven = label_test.Port( 'ValEven' )
-testValEven = GraphSyrControlDefault.Link( label_testValEven , test.Port( 'ValEven' ) )
-
-label_testValOne = label_test.Port( 'ValOne' )
-testValOne = GraphSyrControlDefault.Link( label_testValOne , test.Port( 'ValOne' ) )
-
-label_testNT = label_test.Port( 'NT' )
-testNT = GraphSyrControlDefault.Link( label_testNT , test.Port( 'NT' ) )
-
-label_testKT = label_test.Port( 'KT' )
-testKT = GraphSyrControlDefault.Link( label_testKT , test.Port( 'KT' ) )
-
-testIncr = test.Port( 'Incr' )
-incrInGate = GraphSyrControlDefault.Link( testIncr , incr.Port( 'InGate' ) )
-
-testEven = test.Port( 'Even' )
-div2InGate = GraphSyrControlDefault.Link( testEven , div2.Port( 'InGate' ) )
-div2InGate.AddCoord( 1 , 793 , 567 )
-div2InGate.AddCoord( 2 , 792 , 314 )
-
-testOdd = test.Port( 'Odd' )
-m3p1InGate = GraphSyrControlDefault.Link( testOdd , m3p1.Port( 'InGate' ) )
-m3p1InGate.AddCoord( 1 , 786 , 132 )
-m3p1InGate.AddCoord( 2 , 785 , 343 )
-
-testN = test.Port( 'N' )
-m3p1anOddInteger = GraphSyrControlDefault.Link( testN , m3p1.Port( 'anOddInteger' ) )
-m3p1anOddInteger.AddCoord( 1 , 767 , 100 )
-m3p1anOddInteger.AddCoord( 2 , 767 , 371 )
-
-div2anEvenInteger = GraphSyrControlDefault.Link( testN , div2.Port( 'anEvenInteger' ) )
-div2anEvenInteger.AddCoord( 1 , 768 , 531 )
-div2anEvenInteger.AddCoord( 2 , 767 , 371 )
-
-testK = test.Port( 'K' )
-EndSwitch_OneEvenK = GraphSyrControlDefault.Link( testK , EndSwitch_OneEven.Port( 'K' ) )
-
-incraCount = GraphSyrControlDefault.Link( testK , incr.Port( 'aCount' ) )
-incraCount.AddCoord( 1 , 773 , 251 )
-incraCount.AddCoord( 2 , 774 , 400 )
-
-testDefault = test.Port( 'Default' )
-EndSwitch_OneEvenDefault = GraphSyrControlDefault.Link( testDefault , EndSwitch_OneEven.Port( 'Default' ) )
-
-control_m3p1OutGate = control_m3p1.Port( 'OutGate' )
-label_testInGate = GraphSyrControlDefault.Link( control_m3p1OutGate , label_test.Port( 'InGate' ) )
-label_testInGate.AddCoord( 1 , 402 , 406 )
-label_testInGate.AddCoord( 2 , 403 , 4 )
-label_testInGate.AddCoord( 3 , 1174 , 5 )
-label_testInGate.AddCoord( 4 , 1175 , 219 )
-
-control_div2OutGate = control_div2.Port( 'OutGate' )
-label_beginInGate = GraphSyrControlDefault.Link( control_div2OutGate , label_begin.Port( 'InGate' ) )
-label_beginInGate.AddCoord( 1 , 3 , 409 )
-label_beginInGate.AddCoord( 2 , 2 , 671 )
-label_beginInGate.AddCoord( 3 , 1199 , 670 )
-label_beginInGate.AddCoord( 4 , 1198 , 592 )
-
-# Creation of Input datas
-label_beginNB = label_begin.Input( 'NB' , 7)
-label_beginKB = label_begin.Input( 'KB' , 0)
-
-# Creation of Output variables
-EndSwitch_OneEvenK = EndSwitch_OneEven.Port( 'K' )
+++ /dev/null
-<!DOCTYPE Dataflow>
-<dataflow>
-<info-list>
-<node>
-<component-name>?</component-name>
- <interface-name>?</interface-name>
- <node-name>GraphSyrControlDefault</node-name>
- <kind>1</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>GraphSyrControlDefault</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>label_begin\NB</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>label_begin\KB</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>EndSwitch_OneEven\K</outParameter-name> </outParameter> </outParameter-list> </service>
- <DataStream-list/>
- <PyFunction-list/>
- <creation-date>19/3/2003 - 16:49:51</creation-date>
- <lastmodification-date>18/3/2004 - 13:59:54</lastmodification-date>
- <editor-release>1.04</editor-release>
- <author>JR</author>
- <container>?</container>
- <comment>Syracuse algorithm</comment>
- <x-position>0</x-position>
- <y-position>0</y-position> </node> </info-list>
- <node-list>
-<node>
-<component-name>SyrComponent</component-name>
- <interface-name>SyrComponent</interface-name>
- <node-name>test_ISEVEN</node-name>
- <kind>0</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>C_ISEVEN</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>anInteger</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>BoolEven</outParameter-name> </outParameter> </outParameter-list> </service>
- <DataStream-list/>
- <PyFunction-list/>
- <creation-date>18/3/2004 - 13:59:54</creation-date>
- <lastmodification-date>18/3/2004 - 13:59:54</lastmodification-date>
- <editor-release>1.04</editor-release>
- <author>?</author>
- <container>localhost/FactoryServer</container>
- <comment>C_ISEVEN from SyrComponent</comment>
- <x-position>204</x-position>
- <y-position>444</y-position> </node>
- <node>
-<component-name>SyrComponent</component-name>
- <interface-name>SyrComponent</interface-name>
- <node-name>test_ISONE</node-name>
- <kind>0</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>C_ISONE</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>anInteger</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>BoolOne</outParameter-name> </outParameter> </outParameter-list> </service>
- <DataStream-list/>
- <PyFunction-list/>
- <creation-date>18/3/2004 - 13:59:54</creation-date>
- <lastmodification-date>18/3/2004 - 13:59:54</lastmodification-date>
- <editor-release>1.04</editor-release>
- <author>?</author>
- <container>localhost/FactoryServer</container>
- <comment>C_ISONE from SyrComponent</comment>
- <x-position>201</x-position>
- <y-position>52</y-position> </node>
- <node>
-<component-name>SyrComponent</component-name>
- <interface-name>SyrComponent</interface-name>
- <node-name>m3p1</node-name>
- <kind>0</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>C_M3P1</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>anOddInteger</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>anEvenInteger</outParameter-name> </outParameter> </outParameter-list> </service>
- <DataStream-list/>
- <PyFunction-list/>
- <creation-date>18/3/2004 - 13:59:54</creation-date>
- <lastmodification-date>18/3/2004 - 13:59:54</lastmodification-date>
- <editor-release>1.04</editor-release>
- <author>?</author>
- <container>localhost/FactoryServer</container>
- <comment>C_M3P1 from SyrComponent</comment>
- <x-position>806</x-position>
- <y-position>19</y-position> </node>
- <node>
-<component-name>SyrComponent</component-name>
- <interface-name>SyrComponent</interface-name>
- <node-name>div2</node-name>
- <kind>0</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>C_DIV2</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>anEvenInteger</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>anInteger</outParameter-name> </outParameter> </outParameter-list> </service>
- <DataStream-list/>
- <PyFunction-list/>
- <creation-date>18/3/2004 - 13:59:54</creation-date>
- <lastmodification-date>18/3/2004 - 13:59:54</lastmodification-date>
- <editor-release>1.04</editor-release>
- <author>?</author>
- <container>localhost/FactoryServer</container>
- <comment>C_DIV2 from SyrComponent</comment>
- <x-position>803</x-position>
- <y-position>451</y-position> </node>
- <node>
-<component-name>SyrComponent</component-name>
- <interface-name>SyrComponent</interface-name>
- <node-name>incr</node-name>
- <kind>0</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>C_INCR</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>aCount</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>aNewCount</outParameter-name> </outParameter> </outParameter-list> </service>
- <DataStream-list/>
- <PyFunction-list/>
- <creation-date>18/3/2004 - 13:59:54</creation-date>
- <lastmodification-date>18/3/2004 - 13:59:54</lastmodification-date>
- <editor-release>1.04</editor-release>
- <author>?</author>
- <container>localhost/FactoryServer</container>
- <comment>C_INCR from SyrComponent</comment>
- <x-position>802</x-position>
- <y-position>170</y-position> </node>
- <node>
-<component-name>?</component-name>
- <interface-name>?</interface-name>
- <node-name>label_begin</node-name>
- <kind>3</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>label_begin</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>NB</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>KB</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>NT</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>KT</outParameter-name> </outParameter> </outParameter-list> </service>
- <DataStream-list/>
- <PyFunction-list>
-<PyFunction>
-<FuncName>label_begin</FuncName>
- <PyFunc><![CDATA[def label_begin( NB , KB ):]]></PyFunc>
- <PyFunc><![CDATA[ print "label_begin",NB,KB]]></PyFunc>
- <PyFunc><![CDATA[ return NB,KB]]></PyFunc> </PyFunction> </PyFunction-list>
- <creation-date>18/3/2004 - 13:59:54</creation-date>
- <lastmodification-date>18/3/2004 - 13:59:54</lastmodification-date>
- <editor-release>1.04</editor-release>
- <author>?</author>
- <container>?</container>
- <comment>Python function</comment>
- <x-position>12</x-position>
- <y-position>264</y-position> </node>
- <node>
-<component-name>?</component-name>
- <interface-name>?</interface-name>
- <node-name>label_test</node-name>
- <kind>3</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>label_test</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>ValEven</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>ValOne</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>NT</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>KT</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>ValEven</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>ValOne</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>NT</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>KT</outParameter-name> </outParameter> </outParameter-list> </service>
- <DataStream-list/>
- <PyFunction-list>
-<PyFunction>
-<FuncName>label_test</FuncName>
- <PyFunc><![CDATA[def label_test( ValEven , ValOne , NB , KB ):]]></PyFunc>
- <PyFunc><![CDATA[ print "label_begin",ValEven,ValOne,NB,KB]]></PyFunc>
- <PyFunc><![CDATA[ return ValEven,ValOne,NB,KB]]></PyFunc> </PyFunction> </PyFunction-list>
- <creation-date>18/3/2004 - 13:59:54</creation-date>
- <lastmodification-date>18/3/2004 - 13:59:54</lastmodification-date>
- <editor-release>1.04</editor-release>
- <author>?</author>
- <container>?</container>
- <comment>Python function</comment>
- <x-position>415</x-position>
- <y-position>206</y-position> </node>
- <node>
-<component-name>?</component-name>
- <interface-name>?</interface-name>
- <node-name>test</node-name>
- <kind>6</kind>
- <coupled-node>EndSwitch_OneEven</coupled-node>
- <service>
-<service-name>test</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>ValOne</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>ValEven</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>NT</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>KT</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>Incr</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>Even</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>Odd</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>N</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>K</outParameter-name> </outParameter> </outParameter-list> </service>
- <DataStream-list/>
- <PyFunction-list>
-<PyFunction>
-<FuncName>Switch_OneEven</FuncName>
- <PyFunc><![CDATA[def Switch_OneEven( ValOne , ValEven , NT , KT ) :]]></PyFunc>
- <PyFunc><![CDATA[ Finished = ValOne]]></PyFunc>
- <PyFunc><![CDATA[ if Finished == 0 :]]></PyFunc>
- <PyFunc><![CDATA[ Incr = 1]]></PyFunc>
- <PyFunc><![CDATA[ Even = ValEven]]></PyFunc>
- <PyFunc><![CDATA[ if Even == 0 :]]></PyFunc>
- <PyFunc><![CDATA[ Odd = 1]]></PyFunc>
- <PyFunc><![CDATA[ else :]]></PyFunc>
- <PyFunc><![CDATA[ Odd = 0]]></PyFunc>
- <PyFunc><![CDATA[ else :]]></PyFunc>
- <PyFunc><![CDATA[ Incr = 0]]></PyFunc>
- <PyFunc><![CDATA[ Even = 0]]></PyFunc>
- <PyFunc><![CDATA[ Odd = 0]]></PyFunc>
- <PyFunc><![CDATA[ Even = ValEven]]></PyFunc>
- <PyFunc><![CDATA[ return Incr,Even,Odd,NT,KT]]></PyFunc> </PyFunction> </PyFunction-list>
- <creation-date>18/3/2004 - 13:59:54</creation-date>
- <lastmodification-date>18/3/2004 - 13:59:54</lastmodification-date>
- <editor-release>1.04</editor-release>
- <author>?</author>
- <container>?</container>
- <comment>?</comment>
- <x-position>597</x-position>
- <y-position>251</y-position> </node>
- <node>
-<component-name>?</component-name>
- <interface-name>?</interface-name>
- <node-name>EndSwitch_OneEven</node-name>
- <kind>7</kind>
- <coupled-node>test</coupled-node>
- <service>
-<service-name>EndSwitch_OneEven</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>K</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>K</outParameter-name> </outParameter> </outParameter-list> </service>
- <DataStream-list/>
- <PyFunction-list>
-<PyFunction>
-<FuncName>?</FuncName>
- <PyFunc><![CDATA[?]]></PyFunc> </PyFunction> </PyFunction-list>
- <creation-date>18/3/2004 - 13:59:54</creation-date>
- <lastmodification-date>18/3/2004 - 13:59:54</lastmodification-date>
- <editor-release>1.04</editor-release>
- <author>?</author>
- <container>?</container>
- <comment>?</comment>
- <x-position>1074</x-position>
- <y-position>367</y-position> </node>
- <node>
-<component-name>?</component-name>
- <interface-name>?</interface-name>
- <node-name>control_m3p1</node-name>
- <kind>8</kind>
- <coupled-node>label_test</coupled-node>
- <service>
-<service-name>control_m3p1</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>N</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>K</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>ValOne</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>ValEven</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>NT</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>KT</outParameter-name> </outParameter> </outParameter-list> </service>
- <DataStream-list/>
- <PyFunction-list>
-<PyFunction>
-<FuncName>control_m3p1</FuncName>
- <PyFunc><![CDATA[def control_m3p1( N , K ):]]></PyFunc>
- <PyFunc><![CDATA[ return 0,1,N,K]]></PyFunc> </PyFunction> </PyFunction-list>
- <creation-date>18/3/2004 - 13:59:54</creation-date>
- <lastmodification-date>18/3/2004 - 13:59:54</lastmodification-date>
- <editor-release>1.04</editor-release>
- <author>?</author>
- <container>?</container>
- <comment>?</comment>
- <x-position>1002</x-position>
- <y-position>64</y-position> </node>
- <node>
-<component-name>?</component-name>
- <interface-name>?</interface-name>
- <node-name>control_div2</node-name>
- <kind>8</kind>
- <coupled-node>label_begin</coupled-node>
- <service>
-<service-name>control_div2</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>N</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>K</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>NB</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>KB</outParameter-name> </outParameter> </outParameter-list> </service>
- <DataStream-list/>
- <PyFunction-list>
-<PyFunction>
-<FuncName>control_div2</FuncName>
- <PyFunc><![CDATA[def control_div2( N , NB ) :]]></PyFunc>
- <PyFunc><![CDATA[ return N,NB]]></PyFunc> </PyFunction> </PyFunction-list>
- <creation-date>18/3/2004 - 13:59:54</creation-date>
- <lastmodification-date>18/3/2004 - 13:59:54</lastmodification-date>
- <editor-release>1.04</editor-release>
- <author>?</author>
- <container>?</container>
- <comment>?</comment>
- <x-position>1013</x-position>
- <y-position>496</y-position> </node> </node-list>
- <link-list>
-<link>
-<fromnode-name>test_ISEVEN</fromnode-name>
- <fromserviceparameter-name>BoolEven</fromserviceparameter-name>
- <tonode-name>label_test</tonode-name>
- <toserviceparameter-name>ValEven</toserviceparameter-name>
- <coord-list>
-<coord>
-<x>381</x>
- <y>286</y> </coord>
- <coord>
-<x>382</x>
- <y>524</y> </coord> </coord-list> </link>
- <link>
-<fromnode-name>test_ISONE</fromnode-name>
- <fromserviceparameter-name>BoolOne</fromserviceparameter-name>
- <tonode-name>label_test</tonode-name>
- <toserviceparameter-name>ValOne</toserviceparameter-name>
- <coord-list>
-<coord>
-<x>393</x>
- <y>314</y> </coord>
- <coord>
-<x>393</x>
- <y>133</y> </coord> </coord-list> </link>
- <link>
-<fromnode-name>m3p1</fromnode-name>
- <fromserviceparameter-name>anEvenInteger</fromserviceparameter-name>
- <tonode-name>control_m3p1</tonode-name>
- <toserviceparameter-name>N</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>div2</fromnode-name>
- <fromserviceparameter-name>anInteger</fromserviceparameter-name>
- <tonode-name>control_div2</tonode-name>
- <toserviceparameter-name>N</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>incr</fromnode-name>
- <fromserviceparameter-name>aNewCount</fromserviceparameter-name>
- <tonode-name>control_m3p1</tonode-name>
- <toserviceparameter-name>K</toserviceparameter-name>
- <coord-list>
-<coord>
-<x>985</x>
- <y>128</y> </coord>
- <coord>
-<x>985</x>
- <y>250</y> </coord> </coord-list> </link>
- <link>
-<fromnode-name>incr</fromnode-name>
- <fromserviceparameter-name>aNewCount</fromserviceparameter-name>
- <tonode-name>control_div2</tonode-name>
- <toserviceparameter-name>K</toserviceparameter-name>
- <coord-list>
-<coord>
-<x>987</x>
- <y>559</y> </coord>
- <coord>
-<x>985</x>
- <y>250</y> </coord> </coord-list> </link>
- <link>
-<fromnode-name>label_begin</fromnode-name>
- <fromserviceparameter-name>NT</fromserviceparameter-name>
- <tonode-name>label_test</tonode-name>
- <toserviceparameter-name>NT</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>label_begin</fromnode-name>
- <fromserviceparameter-name>NT</fromserviceparameter-name>
- <tonode-name>test_ISEVEN</tonode-name>
- <toserviceparameter-name>anInteger</toserviceparameter-name>
- <coord-list>
-<coord>
-<x>191</x>
- <y>524</y> </coord>
- <coord>
-<x>192</x>
- <y>345</y> </coord> </coord-list> </link>
- <link>
-<fromnode-name>label_begin</fromnode-name>
- <fromserviceparameter-name>NT</fromserviceparameter-name>
- <tonode-name>test_ISONE</tonode-name>
- <toserviceparameter-name>anInteger</toserviceparameter-name>
- <coord-list>
-<coord>
-<x>192</x>
- <y>131</y> </coord>
- <coord>
-<x>193</x>
- <y>345</y> </coord> </coord-list> </link>
- <link>
-<fromnode-name>label_begin</fromnode-name>
- <fromserviceparameter-name>KT</fromserviceparameter-name>
- <tonode-name>label_test</tonode-name>
- <toserviceparameter-name>KT</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>label_test</fromnode-name>
- <fromserviceparameter-name>ValEven</fromserviceparameter-name>
- <tonode-name>test</tonode-name>
- <toserviceparameter-name>ValEven</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>label_test</fromnode-name>
- <fromserviceparameter-name>ValOne</fromserviceparameter-name>
- <tonode-name>test</tonode-name>
- <toserviceparameter-name>ValOne</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>label_test</fromnode-name>
- <fromserviceparameter-name>NT</fromserviceparameter-name>
- <tonode-name>test</tonode-name>
- <toserviceparameter-name>NT</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>label_test</fromnode-name>
- <fromserviceparameter-name>KT</fromserviceparameter-name>
- <tonode-name>test</tonode-name>
- <toserviceparameter-name>KT</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>test</fromnode-name>
- <fromserviceparameter-name>Incr</fromserviceparameter-name>
- <tonode-name>incr</tonode-name>
- <toserviceparameter-name>InGate</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>test</fromnode-name>
- <fromserviceparameter-name>Even</fromserviceparameter-name>
- <tonode-name>div2</tonode-name>
- <toserviceparameter-name>InGate</toserviceparameter-name>
- <coord-list>
-<coord>
-<x>793</x>
- <y>567</y> </coord>
- <coord>
-<x>792</x>
- <y>314</y> </coord> </coord-list> </link>
- <link>
-<fromnode-name>test</fromnode-name>
- <fromserviceparameter-name>Odd</fromserviceparameter-name>
- <tonode-name>m3p1</tonode-name>
- <toserviceparameter-name>InGate</toserviceparameter-name>
- <coord-list>
-<coord>
-<x>786</x>
- <y>132</y> </coord>
- <coord>
-<x>785</x>
- <y>343</y> </coord> </coord-list> </link>
- <link>
-<fromnode-name>test</fromnode-name>
- <fromserviceparameter-name>N</fromserviceparameter-name>
- <tonode-name>m3p1</tonode-name>
- <toserviceparameter-name>anOddInteger</toserviceparameter-name>
- <coord-list>
-<coord>
-<x>767</x>
- <y>100</y> </coord>
- <coord>
-<x>767</x>
- <y>371</y> </coord> </coord-list> </link>
- <link>
-<fromnode-name>test</fromnode-name>
- <fromserviceparameter-name>N</fromserviceparameter-name>
- <tonode-name>div2</tonode-name>
- <toserviceparameter-name>anEvenInteger</toserviceparameter-name>
- <coord-list>
-<coord>
-<x>768</x>
- <y>531</y> </coord>
- <coord>
-<x>767</x>
- <y>371</y> </coord> </coord-list> </link>
- <link>
-<fromnode-name>test</fromnode-name>
- <fromserviceparameter-name>K</fromserviceparameter-name>
- <tonode-name>EndSwitch_OneEven</tonode-name>
- <toserviceparameter-name>K</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>test</fromnode-name>
- <fromserviceparameter-name>K</fromserviceparameter-name>
- <tonode-name>incr</tonode-name>
- <toserviceparameter-name>aCount</toserviceparameter-name>
- <coord-list>
-<coord>
-<x>773</x>
- <y>251</y> </coord>
- <coord>
-<x>774</x>
- <y>400</y> </coord> </coord-list> </link>
- <link>
-<fromnode-name>test</fromnode-name>
- <fromserviceparameter-name>Default</fromserviceparameter-name>
- <tonode-name>EndSwitch_OneEven</tonode-name>
- <toserviceparameter-name>Default</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>control_m3p1</fromnode-name>
- <fromserviceparameter-name>OutGate</fromserviceparameter-name>
- <tonode-name>label_test</tonode-name>
- <toserviceparameter-name>InGate</toserviceparameter-name>
- <coord-list>
-<coord>
-<x>402</x>
- <y>406</y> </coord>
- <coord>
-<x>403</x>
- <y>4</y> </coord>
- <coord>
-<x>1174</x>
- <y>5</y> </coord>
- <coord>
-<x>1175</x>
- <y>219</y> </coord> </coord-list> </link>
- <link>
-<fromnode-name>control_div2</fromnode-name>
- <fromserviceparameter-name>OutGate</fromserviceparameter-name>
- <tonode-name>label_begin</tonode-name>
- <toserviceparameter-name>InGate</toserviceparameter-name>
- <coord-list>
-<coord>
-<x>3</x>
- <y>409</y> </coord>
- <coord>
-<x>2</x>
- <y>671</y> </coord>
- <coord>
-<x>1199</x>
- <y>670</y> </coord>
- <coord>
-<x>1198</x>
- <y>592</y> </coord> </coord-list> </link> </link-list>
- <data-list>
-<data>
-<fromnode-name>GraphSyrControlDefault</fromnode-name>
- <fromserviceparameter-name>label_begin\NB</fromserviceparameter-name>
- <tonode-name>label_begin</tonode-name>
- <toserviceparameter-name>NB</toserviceparameter-name>
- <data-value>
-<value-type>3</value-type>
- <value>7</value> </data-value>
- <coord-list/> </data>
- <data>
-<fromnode-name>GraphSyrControlDefault</fromnode-name>
- <fromserviceparameter-name>label_begin\KB</fromserviceparameter-name>
- <tonode-name>label_begin</tonode-name>
- <toserviceparameter-name>KB</toserviceparameter-name>
- <data-value>
-<value-type>3</value-type>
- <value>0</value> </data-value>
- <coord-list/> </data> </data-list></dataflow>
+++ /dev/null
-
-# Generated python file of Graph GraphSyrControlGUI
-
-from SuperV import *
-# Graph creation
-GraphSyrControlGUI = Graph( 'GraphSyrControlGUI' )
-GraphSyrControlGUI.SetName( 'GraphSyrControlGUI' )
-GraphSyrControlGUI.SetAuthor( 'JR' )
-GraphSyrControlGUI.SetComment( 'Syracuse algorithm' )
-GraphSyrControlGUI.Coords( 0 , 0 )
-
-# Creation of Factory Nodes
-
-test_ISEVEN = GraphSyrControlGUI.FNode( 'SyrComponent' , 'SyrComponent' , 'C_ISEVEN' )
-test_ISEVEN.SetName( 'test_ISEVEN' )
-test_ISEVEN.SetAuthor( '' )
-test_ISEVEN.SetContainer( 'localhost/FactoryServer' )
-test_ISEVEN.SetComment( 'C_ISEVEN from SyrComponent' )
-test_ISEVEN.Coords( 288 , 337 )
-
-test_ISONE = GraphSyrControlGUI.FNode( 'SyrComponent' , 'SyrComponent' , 'C_ISONE' )
-test_ISONE.SetName( 'test_ISONE' )
-test_ISONE.SetAuthor( '' )
-test_ISONE.SetContainer( 'localhost/FactoryServer' )
-test_ISONE.SetComment( 'C_ISONE from SyrComponent' )
-test_ISONE.Coords( 293 , 130 )
-
-m3p1 = GraphSyrControlGUI.FNode( 'SyrComponent' , 'SyrComponent' , 'C_M3P1' )
-m3p1.SetName( 'm3p1' )
-m3p1.SetAuthor( '' )
-m3p1.SetContainer( 'localhost/FactoryServer' )
-m3p1.SetComment( 'C_M3P1 from SyrComponent' )
-m3p1.Coords( 761 , 19 )
-
-div2 = GraphSyrControlGUI.FNode( 'SyrComponent' , 'SyrComponent' , 'C_DIV2' )
-div2.SetName( 'div2' )
-div2.SetAuthor( '' )
-div2.SetContainer( 'localhost/FactoryServer' )
-div2.SetComment( 'C_DIV2 from SyrComponent' )
-div2.Coords( 770 , 384 )
-
-incr = GraphSyrControlGUI.FNode( 'SyrComponent' , 'SyrComponent' , 'C_INCR' )
-incr.SetName( 'incr' )
-incr.SetAuthor( '' )
-incr.SetContainer( 'localhost/FactoryServer' )
-incr.SetComment( 'C_INCR from SyrComponent' )
-incr.Coords( 764 , 179 )
-
-# Creation of InLine Nodes
-Pylabel_begin = []
-Pylabel_begin.append( 'def label_begin( NB , KB ) :' )
-Pylabel_begin.append( ' return NB,KB' )
-label_begin = GraphSyrControlGUI.INode( 'label_begin' , Pylabel_begin )
-label_begin.SetName( 'label_begin' )
-label_begin.SetAuthor( '' )
-label_begin.SetComment( 'Python function' )
-label_begin.Coords( 58 , 189 )
-label_begin.InPort( 'NB' , 'long' )
-label_begin.InPort( 'KB' , 'long' )
-
-# Creation of Switch Nodes
-Pylabel_test = []
-Pylabel_test.append( 'def L_OneEven( ValOne , ValEven , NT , KT ):' )
-Pylabel_test.append( ' Finished = ValOne' )
-Pylabel_test.append( ' if Finished == 0 :' )
-Pylabel_test.append( ' Incr = 1' )
-Pylabel_test.append( ' Even = ValEven' )
-Pylabel_test.append( ' if Even == 0 :' )
-Pylabel_test.append( ' Odd = 1' )
-Pylabel_test.append( ' else :' )
-Pylabel_test.append( ' Odd = 0' )
-Pylabel_test.append( ' else :' )
-Pylabel_test.append( ' Incr = 0' )
-Pylabel_test.append( ' Even = 0' )
-Pylabel_test.append( ' Odd = 0' )
-Pylabel_test.append( ' Even = ValEven' )
-Pylabel_test.append( ' return Finished,Incr,Even,Odd,NT,KT' )
-label_test,EndL_OneEven = GraphSyrControlGUI.SNode( 'L_OneEven' , Pylabel_test )
-EndL_OneEven.SetName( 'EndL_OneEven' )
-EndL_OneEven.SetAuthor( '' )
-EndL_OneEven.SetComment( '' )
-EndL_OneEven.Coords( 1068 , 258 )
-PyEndL_OneEven = []
-EndL_OneEven.SetPyFunction( 'EndL_OneEven' , PyEndL_OneEven )
-label_test.SetName( 'label_test' )
-label_test.SetAuthor( '' )
-label_test.SetComment( '' )
-label_test.Coords( 516 , 175 )
-label_test.InPort( 'ValOne' , 'long' )
-label_test.InPort( 'ValEven' , 'long' )
-label_test.InPort( 'NT' , 'long' )
-label_test.InPort( 'KT' , 'long' )
-
-# Creation of GOTO Nodes
-Pycontrol_m3p1 = []
-Pycontrol_m3p1.append( 'def C_NotOneIsEven( N , K ):' )
-Pycontrol_m3p1.append( ' return 0,1,N,K' )
-control_m3p1 = GraphSyrControlGUI.GNode( 'C_NotOneIsEven' , Pycontrol_m3p1 , 'label_test' )
-control_m3p1.SetName( 'control_m3p1' )
-control_m3p1.SetAuthor( '' )
-control_m3p1.SetComment( '' )
-control_m3p1.Coords( 972 , 64 )
-control_m3p1.InPort( 'N' , 'long' )
-control_m3p1.InPort( 'K' , 'long' )
-
-Pycontrol_div2 = []
-Pycontrol_div2.append( 'def control_div2( N , K ) :' )
-Pycontrol_div2.append( ' return N,K' )
-control_div2 = GraphSyrControlGUI.GNode( 'control_div2' , Pycontrol_div2 , 'label_begin' )
-control_div2.SetName( 'control_div2' )
-control_div2.SetAuthor( '' )
-control_div2.SetComment( '' )
-control_div2.Coords( 972 , 430 )
-control_div2.InPort( 'N' , 'long' )
-control_div2.InPort( 'K' , 'long' )
-
-# Creation of Links
-test_ISEVENBoolEven = test_ISEVEN.Port( 'BoolEven' )
-label_testValEven = GraphSyrControlGUI.Link( test_ISEVENBoolEven , label_test.Port( 'ValEven' ) )
-label_testValEven.AddCoord( 1 , 493 , 238 )
-label_testValEven.AddCoord( 2 , 493 , 418 )
-
-test_ISONEBoolOne = test_ISONE.Port( 'BoolOne' )
-label_testValOne = GraphSyrControlGUI.Link( test_ISONEBoolOne , label_test.Port( 'ValOne' ) )
-
-m3p1anEvenInteger = m3p1.Port( 'anEvenInteger' )
-control_m3p1N = GraphSyrControlGUI.Link( m3p1anEvenInteger , control_m3p1.Port( 'N' ) )
-
-div2anInteger = div2.Port( 'anInteger' )
-control_div2N = GraphSyrControlGUI.Link( div2anInteger , control_div2.Port( 'N' ) )
-
-incraNewCount = incr.Port( 'aNewCount' )
-control_div2K = GraphSyrControlGUI.Link( incraNewCount , control_div2.Port( 'K' ) )
-control_div2K.AddCoord( 1 , 954 , 494 )
-control_div2K.AddCoord( 2 , 954 , 259 )
-
-control_m3p1K = GraphSyrControlGUI.Link( incraNewCount , control_m3p1.Port( 'K' ) )
-control_m3p1K.AddCoord( 1 , 955 , 128 )
-control_m3p1K.AddCoord( 2 , 954 , 258 )
-
-label_beginNT = label_begin.Port( 'NT' )
-test_ISONEanInteger = GraphSyrControlGUI.Link( label_beginNT , test_ISONE.Port( 'anInteger' ) )
-test_ISONEanInteger.AddCoord( 1 , 275 , 211 )
-test_ISONEanInteger.AddCoord( 2 , 275 , 270 )
-
-label_testNT = GraphSyrControlGUI.Link( label_beginNT , label_test.Port( 'NT' ) )
-
-test_ISEVENanInteger = GraphSyrControlGUI.Link( label_beginNT , test_ISEVEN.Port( 'anInteger' ) )
-test_ISEVENanInteger.AddCoord( 1 , 274 , 417 )
-test_ISEVENanInteger.AddCoord( 2 , 275 , 270 )
-
-label_beginKT = label_begin.Port( 'KT' )
-label_testKT = GraphSyrControlGUI.Link( label_beginKT , label_test.Port( 'KT' ) )
-label_testKT.AddCoord( 1 , 476 , 294 )
-label_testKT.AddCoord( 2 , 475 , 515 )
-label_testKT.AddCoord( 3 , 260 , 515 )
-label_testKT.AddCoord( 4 , 260 , 298 )
-
-label_testIncr = label_test.Port( 'Incr' )
-incrInGate = GraphSyrControlGUI.Link( label_testIncr , incr.Port( 'InGate' ) )
-incrInGate.AddCoord( 1 , 712 , 292 )
-incrInGate.AddCoord( 2 , 711 , 238 )
-
-label_testEven = label_test.Port( 'Even' )
-div2InGate = GraphSyrControlGUI.Link( label_testEven , div2.Port( 'InGate' ) )
-div2InGate.AddCoord( 1 , 724 , 498 )
-div2InGate.AddCoord( 2 , 723 , 268 )
-
-label_testOdd = label_test.Port( 'Odd' )
-m3p1InGate = GraphSyrControlGUI.Link( label_testOdd , m3p1.Port( 'InGate' ) )
-m3p1InGate.AddCoord( 1 , 698 , 132 )
-m3p1InGate.AddCoord( 2 , 697 , 297 )
-
-label_testN = label_test.Port( 'N' )
-m3p1anOddInteger = GraphSyrControlGUI.Link( label_testN , m3p1.Port( 'anOddInteger' ) )
-m3p1anOddInteger.AddCoord( 1 , 748 , 100 )
-m3p1anOddInteger.AddCoord( 2 , 747 , 325 )
-
-div2anEvenInteger = GraphSyrControlGUI.Link( label_testN , div2.Port( 'anEvenInteger' ) )
-div2anEvenInteger.AddCoord( 1 , 746 , 463 )
-div2anEvenInteger.AddCoord( 2 , 747 , 327 )
-
-label_testK = label_test.Port( 'K' )
-incraCount = GraphSyrControlGUI.Link( label_testK , incr.Port( 'aCount' ) )
-incraCount.AddCoord( 1 , 732 , 260 )
-incraCount.AddCoord( 2 , 732 , 354 )
-
-label_testDefault = label_test.Port( 'Default' )
-EndL_OneEvenDefault = GraphSyrControlGUI.Link( label_testDefault , EndL_OneEven.Port( 'Default' ) )
-
-control_m3p1OutGate = control_m3p1.Port( 'OutGate' )
-label_testInGate = GraphSyrControlGUI.Link( control_m3p1OutGate , label_test.Port( 'InGate' ) )
-label_testInGate.AddCoord( 1 , 503 , 388 )
-label_testInGate.AddCoord( 2 , 505 , 5 )
-label_testInGate.AddCoord( 3 , 1149 , 5 )
-label_testInGate.AddCoord( 4 , 1150 , 219 )
-
-control_div2OutGate = control_div2.Port( 'OutGate' )
-label_beginInGate = GraphSyrControlGUI.Link( control_div2OutGate , label_begin.Port( 'InGate' ) )
-label_beginInGate.AddCoord( 1 , 34 , 332 )
-label_beginInGate.AddCoord( 2 , 34 , 592 )
-label_beginInGate.AddCoord( 3 , 1145 , 586 )
-label_beginInGate.AddCoord( 4 , 1144 , 527 )
-
-# Creation of Input datas
-label_beginNB = label_begin.Input( 'NB' , 7)
-label_beginKB = label_begin.Input( 'KB' , 0)
-
-# Creation of Output variables
-label_testFinished = label_test.Port( 'Finished' )
+++ /dev/null
-<!DOCTYPE Dataflow>
-<dataflow>
-<info-list>
-<node>
-<component-name>?</component-name>
- <interface-name>?</interface-name>
- <node-name>GraphSyrControlGUI</node-name>
- <kind>1</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>GraphSyrControlGUI</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>label_begin\NB</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>label_begin\KB</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>label_test\Finished</outParameter-name> </outParameter> </outParameter-list> </service>
- <DataStream-list/>
- <PyFunction-list/>
- <creation-date>11/3/2003 - 18:28:48</creation-date>
- <lastmodification-date>18/3/2004 - 14:22:38</lastmodification-date>
- <editor-release>1.04</editor-release>
- <author>JR</author>
- <container>?</container>
- <comment>Syracuse algorithm</comment>
- <x-position>0</x-position>
- <y-position>0</y-position> </node> </info-list>
- <node-list>
-<node>
-<component-name>SyrComponent</component-name>
- <interface-name>SyrComponent</interface-name>
- <node-name>test_ISEVEN</node-name>
- <kind>0</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>C_ISEVEN</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>anInteger</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>BoolEven</outParameter-name> </outParameter> </outParameter-list> </service>
- <DataStream-list/>
- <PyFunction-list/>
- <creation-date>18/3/2004 - 14:22:38</creation-date>
- <lastmodification-date>18/3/2004 - 14:22:38</lastmodification-date>
- <editor-release>1.04</editor-release>
- <author>?</author>
- <container>localhost/FactoryServer</container>
- <comment>C_ISEVEN from SyrComponent</comment>
- <x-position>288</x-position>
- <y-position>337</y-position> </node>
- <node>
-<component-name>SyrComponent</component-name>
- <interface-name>SyrComponent</interface-name>
- <node-name>test_ISONE</node-name>
- <kind>0</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>C_ISONE</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>anInteger</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>BoolOne</outParameter-name> </outParameter> </outParameter-list> </service>
- <DataStream-list/>
- <PyFunction-list/>
- <creation-date>18/3/2004 - 14:22:38</creation-date>
- <lastmodification-date>18/3/2004 - 14:22:38</lastmodification-date>
- <editor-release>1.04</editor-release>
- <author>?</author>
- <container>localhost/FactoryServer</container>
- <comment>C_ISONE from SyrComponent</comment>
- <x-position>293</x-position>
- <y-position>130</y-position> </node>
- <node>
-<component-name>SyrComponent</component-name>
- <interface-name>SyrComponent</interface-name>
- <node-name>m3p1</node-name>
- <kind>0</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>C_M3P1</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>anOddInteger</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>anEvenInteger</outParameter-name> </outParameter> </outParameter-list> </service>
- <DataStream-list/>
- <PyFunction-list/>
- <creation-date>18/3/2004 - 14:22:38</creation-date>
- <lastmodification-date>18/3/2004 - 14:22:38</lastmodification-date>
- <editor-release>1.04</editor-release>
- <author>?</author>
- <container>localhost/FactoryServer</container>
- <comment>C_M3P1 from SyrComponent</comment>
- <x-position>761</x-position>
- <y-position>19</y-position> </node>
- <node>
-<component-name>SyrComponent</component-name>
- <interface-name>SyrComponent</interface-name>
- <node-name>div2</node-name>
- <kind>0</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>C_DIV2</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>anEvenInteger</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>anInteger</outParameter-name> </outParameter> </outParameter-list> </service>
- <DataStream-list/>
- <PyFunction-list/>
- <creation-date>18/3/2004 - 14:22:38</creation-date>
- <lastmodification-date>18/3/2004 - 14:22:38</lastmodification-date>
- <editor-release>1.04</editor-release>
- <author>?</author>
- <container>localhost/FactoryServer</container>
- <comment>C_DIV2 from SyrComponent</comment>
- <x-position>770</x-position>
- <y-position>384</y-position> </node>
- <node>
-<component-name>SyrComponent</component-name>
- <interface-name>SyrComponent</interface-name>
- <node-name>incr</node-name>
- <kind>0</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>C_INCR</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>aCount</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>aNewCount</outParameter-name> </outParameter> </outParameter-list> </service>
- <DataStream-list/>
- <PyFunction-list/>
- <creation-date>18/3/2004 - 14:22:38</creation-date>
- <lastmodification-date>18/3/2004 - 14:22:38</lastmodification-date>
- <editor-release>1.04</editor-release>
- <author>?</author>
- <container>localhost/FactoryServer</container>
- <comment>C_INCR from SyrComponent</comment>
- <x-position>764</x-position>
- <y-position>179</y-position> </node>
- <node>
-<component-name>?</component-name>
- <interface-name>?</interface-name>
- <node-name>label_begin</node-name>
- <kind>3</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>label_begin</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>NB</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>KB</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>NT</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>KT</outParameter-name> </outParameter> </outParameter-list> </service>
- <DataStream-list/>
- <PyFunction-list>
-<PyFunction>
-<FuncName>label_begin</FuncName>
- <PyFunc><![CDATA[def label_begin( NB , KB ) :]]></PyFunc>
- <PyFunc><![CDATA[ return NB,KB]]></PyFunc> </PyFunction> </PyFunction-list>
- <creation-date>18/3/2004 - 14:22:38</creation-date>
- <lastmodification-date>18/3/2004 - 14:22:38</lastmodification-date>
- <editor-release>1.04</editor-release>
- <author>?</author>
- <container>?</container>
- <comment>Python function</comment>
- <x-position>58</x-position>
- <y-position>189</y-position> </node>
- <node>
-<component-name>?</component-name>
- <interface-name>?</interface-name>
- <node-name>label_test</node-name>
- <kind>6</kind>
- <coupled-node>EndL_OneEven</coupled-node>
- <service>
-<service-name>label_test</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>ValOne</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>ValEven</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>NT</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>KT</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>Finished</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>Incr</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>Even</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>Odd</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>N</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>K</outParameter-name> </outParameter> </outParameter-list> </service>
- <DataStream-list/>
- <PyFunction-list>
-<PyFunction>
-<FuncName>L_OneEven</FuncName>
- <PyFunc><![CDATA[def L_OneEven( ValOne , ValEven , NT , KT ):]]></PyFunc>
- <PyFunc><![CDATA[ Finished = ValOne]]></PyFunc>
- <PyFunc><![CDATA[ if Finished == 0 :]]></PyFunc>
- <PyFunc><![CDATA[ Incr = 1]]></PyFunc>
- <PyFunc><![CDATA[ Even = ValEven]]></PyFunc>
- <PyFunc><![CDATA[ if Even == 0 :]]></PyFunc>
- <PyFunc><![CDATA[ Odd = 1]]></PyFunc>
- <PyFunc><![CDATA[ else :]]></PyFunc>
- <PyFunc><![CDATA[ Odd = 0]]></PyFunc>
- <PyFunc><![CDATA[ else :]]></PyFunc>
- <PyFunc><![CDATA[ Incr = 0]]></PyFunc>
- <PyFunc><![CDATA[ Even = 0]]></PyFunc>
- <PyFunc><![CDATA[ Odd = 0]]></PyFunc>
- <PyFunc><![CDATA[ Even = ValEven]]></PyFunc>
- <PyFunc><![CDATA[ return Finished,Incr,Even,Odd,NT,KT]]></PyFunc> </PyFunction> </PyFunction-list>
- <creation-date>18/3/2004 - 14:22:38</creation-date>
- <lastmodification-date>18/3/2004 - 14:22:38</lastmodification-date>
- <editor-release>1.04</editor-release>
- <author>?</author>
- <container>?</container>
- <comment>?</comment>
- <x-position>516</x-position>
- <y-position>175</y-position> </node>
- <node>
-<component-name>?</component-name>
- <interface-name>?</interface-name>
- <node-name>EndL_OneEven</node-name>
- <kind>7</kind>
- <coupled-node>label_test</coupled-node>
- <service>
-<service-name>EndL_OneEven</service-name>
- <inParameter-list/>
- <outParameter-list/> </service>
- <DataStream-list/>
- <PyFunction-list>
-<PyFunction>
-<FuncName>?</FuncName>
- <PyFunc><![CDATA[?]]></PyFunc> </PyFunction> </PyFunction-list>
- <creation-date>18/3/2004 - 14:22:38</creation-date>
- <lastmodification-date>18/3/2004 - 14:22:38</lastmodification-date>
- <editor-release>1.04</editor-release>
- <author>?</author>
- <container>?</container>
- <comment>?</comment>
- <x-position>1068</x-position>
- <y-position>258</y-position> </node>
- <node>
-<component-name>?</component-name>
- <interface-name>?</interface-name>
- <node-name>control_m3p1</node-name>
- <kind>8</kind>
- <coupled-node>label_test</coupled-node>
- <service>
-<service-name>control_m3p1</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>N</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>K</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>ValOne</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>ValEven</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>NT</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>KT</outParameter-name> </outParameter> </outParameter-list> </service>
- <DataStream-list/>
- <PyFunction-list>
-<PyFunction>
-<FuncName>C_NotOneIsEven</FuncName>
- <PyFunc><![CDATA[def C_NotOneIsEven( N , K ):]]></PyFunc>
- <PyFunc><![CDATA[ return 0,1,N,K]]></PyFunc> </PyFunction> </PyFunction-list>
- <creation-date>18/3/2004 - 14:22:38</creation-date>
- <lastmodification-date>18/3/2004 - 14:22:38</lastmodification-date>
- <editor-release>1.04</editor-release>
- <author>?</author>
- <container>?</container>
- <comment>?</comment>
- <x-position>972</x-position>
- <y-position>64</y-position> </node>
- <node>
-<component-name>?</component-name>
- <interface-name>?</interface-name>
- <node-name>control_div2</node-name>
- <kind>8</kind>
- <coupled-node>label_begin</coupled-node>
- <service>
-<service-name>control_div2</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>N</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>K</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>NB</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>KB</outParameter-name> </outParameter> </outParameter-list> </service>
- <DataStream-list/>
- <PyFunction-list>
-<PyFunction>
-<FuncName>control_div2</FuncName>
- <PyFunc><![CDATA[def control_div2( N , K ) :]]></PyFunc>
- <PyFunc><![CDATA[ return N,K]]></PyFunc> </PyFunction> </PyFunction-list>
- <creation-date>18/3/2004 - 14:22:38</creation-date>
- <lastmodification-date>18/3/2004 - 14:22:38</lastmodification-date>
- <editor-release>1.04</editor-release>
- <author>?</author>
- <container>?</container>
- <comment>?</comment>
- <x-position>972</x-position>
- <y-position>430</y-position> </node> </node-list>
- <link-list>
-<link>
-<fromnode-name>test_ISEVEN</fromnode-name>
- <fromserviceparameter-name>BoolEven</fromserviceparameter-name>
- <tonode-name>label_test</tonode-name>
- <toserviceparameter-name>ValEven</toserviceparameter-name>
- <coord-list>
-<coord>
-<x>493</x>
- <y>238</y> </coord>
- <coord>
-<x>493</x>
- <y>418</y> </coord> </coord-list> </link>
- <link>
-<fromnode-name>test_ISONE</fromnode-name>
- <fromserviceparameter-name>BoolOne</fromserviceparameter-name>
- <tonode-name>label_test</tonode-name>
- <toserviceparameter-name>ValOne</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>m3p1</fromnode-name>
- <fromserviceparameter-name>anEvenInteger</fromserviceparameter-name>
- <tonode-name>control_m3p1</tonode-name>
- <toserviceparameter-name>N</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>div2</fromnode-name>
- <fromserviceparameter-name>anInteger</fromserviceparameter-name>
- <tonode-name>control_div2</tonode-name>
- <toserviceparameter-name>N</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>incr</fromnode-name>
- <fromserviceparameter-name>aNewCount</fromserviceparameter-name>
- <tonode-name>control_div2</tonode-name>
- <toserviceparameter-name>K</toserviceparameter-name>
- <coord-list>
-<coord>
-<x>954</x>
- <y>494</y> </coord>
- <coord>
-<x>954</x>
- <y>259</y> </coord> </coord-list> </link>
- <link>
-<fromnode-name>incr</fromnode-name>
- <fromserviceparameter-name>aNewCount</fromserviceparameter-name>
- <tonode-name>control_m3p1</tonode-name>
- <toserviceparameter-name>K</toserviceparameter-name>
- <coord-list>
-<coord>
-<x>955</x>
- <y>128</y> </coord>
- <coord>
-<x>954</x>
- <y>258</y> </coord> </coord-list> </link>
- <link>
-<fromnode-name>label_begin</fromnode-name>
- <fromserviceparameter-name>NT</fromserviceparameter-name>
- <tonode-name>test_ISONE</tonode-name>
- <toserviceparameter-name>anInteger</toserviceparameter-name>
- <coord-list>
-<coord>
-<x>275</x>
- <y>211</y> </coord>
- <coord>
-<x>275</x>
- <y>270</y> </coord> </coord-list> </link>
- <link>
-<fromnode-name>label_begin</fromnode-name>
- <fromserviceparameter-name>NT</fromserviceparameter-name>
- <tonode-name>label_test</tonode-name>
- <toserviceparameter-name>NT</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>label_begin</fromnode-name>
- <fromserviceparameter-name>NT</fromserviceparameter-name>
- <tonode-name>test_ISEVEN</tonode-name>
- <toserviceparameter-name>anInteger</toserviceparameter-name>
- <coord-list>
-<coord>
-<x>274</x>
- <y>417</y> </coord>
- <coord>
-<x>275</x>
- <y>270</y> </coord> </coord-list> </link>
- <link>
-<fromnode-name>label_begin</fromnode-name>
- <fromserviceparameter-name>KT</fromserviceparameter-name>
- <tonode-name>label_test</tonode-name>
- <toserviceparameter-name>KT</toserviceparameter-name>
- <coord-list>
-<coord>
-<x>476</x>
- <y>294</y> </coord>
- <coord>
-<x>475</x>
- <y>515</y> </coord>
- <coord>
-<x>260</x>
- <y>515</y> </coord>
- <coord>
-<x>260</x>
- <y>298</y> </coord> </coord-list> </link>
- <link>
-<fromnode-name>label_test</fromnode-name>
- <fromserviceparameter-name>Incr</fromserviceparameter-name>
- <tonode-name>incr</tonode-name>
- <toserviceparameter-name>InGate</toserviceparameter-name>
- <coord-list>
-<coord>
-<x>712</x>
- <y>292</y> </coord>
- <coord>
-<x>711</x>
- <y>238</y> </coord> </coord-list> </link>
- <link>
-<fromnode-name>label_test</fromnode-name>
- <fromserviceparameter-name>Even</fromserviceparameter-name>
- <tonode-name>div2</tonode-name>
- <toserviceparameter-name>InGate</toserviceparameter-name>
- <coord-list>
-<coord>
-<x>724</x>
- <y>498</y> </coord>
- <coord>
-<x>723</x>
- <y>268</y> </coord> </coord-list> </link>
- <link>
-<fromnode-name>label_test</fromnode-name>
- <fromserviceparameter-name>Odd</fromserviceparameter-name>
- <tonode-name>m3p1</tonode-name>
- <toserviceparameter-name>InGate</toserviceparameter-name>
- <coord-list>
-<coord>
-<x>698</x>
- <y>132</y> </coord>
- <coord>
-<x>697</x>
- <y>297</y> </coord> </coord-list> </link>
- <link>
-<fromnode-name>label_test</fromnode-name>
- <fromserviceparameter-name>N</fromserviceparameter-name>
- <tonode-name>m3p1</tonode-name>
- <toserviceparameter-name>anOddInteger</toserviceparameter-name>
- <coord-list>
-<coord>
-<x>748</x>
- <y>100</y> </coord>
- <coord>
-<x>747</x>
- <y>325</y> </coord> </coord-list> </link>
- <link>
-<fromnode-name>label_test</fromnode-name>
- <fromserviceparameter-name>N</fromserviceparameter-name>
- <tonode-name>div2</tonode-name>
- <toserviceparameter-name>anEvenInteger</toserviceparameter-name>
- <coord-list>
-<coord>
-<x>746</x>
- <y>463</y> </coord>
- <coord>
-<x>747</x>
- <y>327</y> </coord> </coord-list> </link>
- <link>
-<fromnode-name>label_test</fromnode-name>
- <fromserviceparameter-name>K</fromserviceparameter-name>
- <tonode-name>incr</tonode-name>
- <toserviceparameter-name>aCount</toserviceparameter-name>
- <coord-list>
-<coord>
-<x>732</x>
- <y>260</y> </coord>
- <coord>
-<x>732</x>
- <y>354</y> </coord> </coord-list> </link>
- <link>
-<fromnode-name>label_test</fromnode-name>
- <fromserviceparameter-name>Default</fromserviceparameter-name>
- <tonode-name>EndL_OneEven</tonode-name>
- <toserviceparameter-name>Default</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>control_m3p1</fromnode-name>
- <fromserviceparameter-name>OutGate</fromserviceparameter-name>
- <tonode-name>label_test</tonode-name>
- <toserviceparameter-name>InGate</toserviceparameter-name>
- <coord-list>
-<coord>
-<x>503</x>
- <y>388</y> </coord>
- <coord>
-<x>505</x>
- <y>5</y> </coord>
- <coord>
-<x>1149</x>
- <y>5</y> </coord>
- <coord>
-<x>1150</x>
- <y>219</y> </coord> </coord-list> </link>
- <link>
-<fromnode-name>control_div2</fromnode-name>
- <fromserviceparameter-name>OutGate</fromserviceparameter-name>
- <tonode-name>label_begin</tonode-name>
- <toserviceparameter-name>InGate</toserviceparameter-name>
- <coord-list>
-<coord>
-<x>34</x>
- <y>332</y> </coord>
- <coord>
-<x>34</x>
- <y>592</y> </coord>
- <coord>
-<x>1145</x>
- <y>586</y> </coord>
- <coord>
-<x>1144</x>
- <y>527</y> </coord> </coord-list> </link> </link-list>
- <data-list>
-<data>
-<fromnode-name>GraphSyrControlGUI</fromnode-name>
- <fromserviceparameter-name>label_begin\NB</fromserviceparameter-name>
- <tonode-name>label_begin</tonode-name>
- <toserviceparameter-name>NB</toserviceparameter-name>
- <data-value>
-<value-type>3</value-type>
- <value>7</value> </data-value>
- <coord-list/> </data>
- <data>
-<fromnode-name>GraphSyrControlGUI</fromnode-name>
- <fromserviceparameter-name>label_begin\KB</fromserviceparameter-name>
- <tonode-name>label_begin</tonode-name>
- <toserviceparameter-name>KB</toserviceparameter-name>
- <data-value>
-<value-type>3</value-type>
- <value>0</value> </data-value>
- <coord-list/> </data> </data-list></dataflow>
+++ /dev/null
-# Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
-# CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
-#
-# This library is free software; you can redistribute it and/or
-# modify it under the terms of the GNU Lesser General Public
-# License as published by the Free Software Foundation; either
-# version 2.1 of the License.
-#
-# This library is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-# Lesser General Public License for more details.
-#
-# You should have received a copy of the GNU Lesser General Public
-# License along with this library; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-#
-# See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
-#
-#
-#
-# File : GraphSyracuseC.py
-# Module : SuperVisionTest
-
-from SuperV import *
-# Graph creation
-GraphSyracuseC = Graph( 'GraphSyracuseC' )
-GraphSyracuseC.SetName( 'GraphSyracuseC' )
-GraphSyracuseC.SetAuthor( 'JR' )
-GraphSyracuseC.SetComment( 'Syracuse algorithm' )
-GraphSyracuseC.Coords( 0 , 0 )
-
-# Creation of Computing Nodes
-test_ISEVEN = GraphSyracuseC.Node( 'SyrComponent' , 'SyrComponent' , 'C_ISEVEN' )
-test_ISEVEN.SetName( 'test_ISEVEN' )
-test_ISEVEN.SetAuthor( '' )
-test_ISEVEN.SetContainer( 'localhost/FactoryServer' )
-test_ISEVEN.SetComment( '' )
-test_ISEVEN.Coords( 252 , 266 )
-test_ISONE = GraphSyracuseC.Node( 'SyrComponent' , 'SyrComponent' , 'C_ISONE' )
-test_ISONE.SetName( 'test_ISONE' )
-test_ISONE.SetAuthor( '' )
-test_ISONE.SetContainer( 'localhost/FactoryServer' )
-test_ISONE.SetComment( '' )
-test_ISONE.Coords( 268 , 29 )
-m3p1 = GraphSyracuseC.Node( 'SyrComponent' , 'SyrComponent' , 'C_M3P1' )
-m3p1.SetName( 'm3p1' )
-m3p1.SetAuthor( '' )
-m3p1.SetContainer( 'localhost/FactoryServer' )
-m3p1.SetComment( '' )
-m3p1.Coords( 644 , 410 )
-div2 = GraphSyracuseC.Node( 'SyrComponent' , 'SyrComponent' , 'C_DIV2' )
-div2.SetName( 'div2' )
-div2.SetAuthor( '' )
-div2.SetContainer( 'localhost/FactoryServer' )
-div2.SetComment( '' )
-div2.Coords( 648 , 209 )
-incr = GraphSyracuseC.Node( 'SyrComponent' , 'SyrComponent' , 'C_INCR' )
-incr.SetName( 'incr' )
-incr.SetAuthor( '' )
-incr.SetContainer( 'localhost/FactoryServer' )
-incr.SetComment( '' )
-incr.Coords( 640 , 2 )
-
-# Creation of Input datas
-test_ISEVENanInteger = test_ISEVEN.Input( 'anInteger' , 7)
-test_ISONEanInteger = test_ISONE.Input( 'anInteger' , 7)
-m3p1anOddInteger = m3p1.Input( 'anOddInteger' , 7)
-div2anEvenInteger = div2.Input( 'anEvenInteger' , 7)
-incraCount = incr.Input( 'aCount' , 0)
-
-# Creation of Output variables
-test_ISEVENBoolEven = test_ISEVEN.Port( 'BoolEven' )
-test_ISONEBoolOne = test_ISONE.Port( 'BoolOne' )
-m3p1anEvenInteger = m3p1.Port( 'anEvenInteger' )
-div2anInteger = div2.Port( 'anInteger' )
-incraNewCount = incr.Port( 'aNewCount' )
-
-GraphSyracuseC.IsValid()
-
-GraphSyracuseC.ThreadsMax()
-
-GraphSyracuseC.LevelMax()
-
-GraphSyracuseC.GraphsNumber()
-
-GraphSyracuseC.IsExecutable()
-
-exec GraphSyracuseC.ListNodes()
-test_ISEVENanInteger = test_ISEVEN.Port( 'anInteger' )
-test_ISONEanInteger = test_ISONE.Port( 'anInteger' )
-m3p1anOddInteger = m3p1.Port( 'anOddInteger' )
-div2anEvenInteger = div2.Port( 'anEvenInteger' )
-incraCount = incr.Port( 'aCount' )
-
-# Creation of Output variables
-test_ISEVENBoolEven = test_ISEVEN.Port( 'BoolEven' )
-test_ISONEBoolOne = test_ISONE.Port( 'BoolOne' )
-m3p1anEvenInteger = m3p1.Port( 'anEvenInteger' )
-div2anInteger = div2.Port( 'anInteger' )
-incraNewCount = incr.Port( 'aNewCount' )
-
-
-GraphSyracuseC.Start()
-
-test_ISEVEN.SuspendDone()
-test_ISONE.SuspendDone()
-
-test_ISEVEN.Resume()
-test_ISONE.Resume()
-
-# Suspend des nodes de tete des sous-graphes sauf test
-m3p1.Suspend()
-div2.Suspend()
-incr.Suspend()
-
-# Attentes de suspension de m3p1, div2, incr et result.
-# Puis demandes de suspension après exécution
-m3p1.SuspendDone()
-div2.SuspendDone()
-incr.SuspendDone()
-
-# Attente de fin d'exécution de test
-test_ISONE.DoneW()
-test_ISEVEN.DoneW()
-
-# Etats et Threads des nodes
-GraphSyracuseC.PrintThreads()
-
-while int( test_ISONEBoolOne.ToString() ) == 0 :
- if int( test_ISEVENBoolEven.ToString() ) == 0 :
- sts = m3p1.ReRun()
- sts = incr.ReRun()
- sts = m3p1.DoneW()
- sts = test_ISEVENanInteger.Input( m3p1anEvenInteger.ToString() )
- sts = test_ISONEanInteger.Input( m3p1anEvenInteger.ToString() )
- sts = test_ISEVEN.ReRun()
- sts = test_ISONE.ReRun()
- sts = test_ISEVEN.DoneW()
- sts = test_ISONE.DoneW()
- sts = incr.DoneW()
- sts = incraCount.Input( incraNewCount.ToString() )
- print incraNewCount.ToString(),"m3p1",m3p1anEvenInteger.ToString(),test_ISEVENBoolEven.ToString()
- while int( test_ISEVENBoolEven.ToString() ) == 1 :
- sts = div2anEvenInteger.Input( test_ISEVENanInteger.ToString() )
- sts = div2.ReRun()
- sts = incr.ReRun()
- sts = div2.DoneW()
- sts = test_ISEVENanInteger.Input( div2anInteger.ToString() )
- sts = test_ISONEanInteger.Input( div2anInteger.ToString() )
- sts = test_ISEVEN.ReRun()
- sts = test_ISONE.ReRun()
- sts = test_ISEVEN.DoneW()
- sts = test_ISONE.DoneW()
- sts = incr.DoneW()
- sts = incraCount.Input( incraNewCount.ToString() )
- print incraNewCount.ToString(),"div2",div2anInteger.ToString(),test_ISEVENBoolEven.ToString()
- sts = m3p1anOddInteger.Input( div2anInteger.ToString() )
-
-
-GraphSyracuseC.PrintThreads()
-m3p1.Resume()
-div2.Resume()
-incr.Resume()
-test_ISONE.Resume()
-test_ISEVEN.Resume()
-GraphSyracuseC.DoneW()
-GraphSyracuseC.PrintPorts()
-GraphSyracuseC.PrintThreads()
-
+++ /dev/null
-<?xml version='1.0' encoding='us-ascii' ?>
-
-<!-- XML Dataflow -->
-
-<!-- Dataflow information -->
-<dataflow>
- <info-list>
- <node>
- <component-name>?</component-name>
- <interface-name>?</interface-name>
- <node-name>GraphSyracuseC</node-name>
- <kind>1</kind>
- <coupled-node>?</coupled-node>
- <service>
- <service-name>GraphSyracuseC</service-name>
- <inParameter-list>
- <inParameter>
- <inParameter-type>long</inParameter-type>
- <inParameter-name>test_ISEVEN\anInteger</inParameter-name>
- </inParameter>
- <inParameter>
- <inParameter-type>long</inParameter-type>
- <inParameter-name>test_ISONE\anInteger</inParameter-name>
- </inParameter>
- <inParameter>
- <inParameter-type>long</inParameter-type>
- <inParameter-name>m3p1\anOddInteger</inParameter-name>
- </inParameter>
- <inParameter>
- <inParameter-type>long</inParameter-type>
- <inParameter-name>div2\anEvenInteger</inParameter-name>
- </inParameter>
- <inParameter>
- <inParameter-type>long</inParameter-type>
- <inParameter-name>incr\aCount</inParameter-name>
- </inParameter>
- </inParameter-list>
- <outParameter-list>
- <outParameter>
- <outParameter-type>long</outParameter-type>
- <outParameter-name>test_ISEVEN\BoolEven</outParameter-name>
- </outParameter>
- <outParameter>
- <outParameter-type>long</outParameter-type>
- <outParameter-name>test_ISONE\BoolOne</outParameter-name>
- </outParameter>
- <outParameter>
- <outParameter-type>long</outParameter-type>
- <outParameter-name>m3p1\anEvenInteger</outParameter-name>
- </outParameter>
- <outParameter>
- <outParameter-type>long</outParameter-type>
- <outParameter-name>div2\anInteger</outParameter-name>
- </outParameter>
- <outParameter>
- <outParameter-type>long</outParameter-type>
- <outParameter-name>incr\aNewCount</outParameter-name>
- </outParameter>
- </outParameter-list>
- </service>
- <Parameter-list>
- </Parameter-list>
- <PyFunction-list>
- </PyFunction-list>
- <creation-date>11/3/2003 - 17:0:26</creation-date>
- <lastmodification-date>11/3/2003 - 17:0:26</lastmodification-date>
- <editor-release>1.04</editor-release>
- <author>JR</author>
- <container>?</container>
- <comment>Syracuse algorithm</comment>
- <x-position>0</x-position>
- <y-position>0</y-position>
- </node>
- </info-list>
-
- <node-list>
- <node>
- <component-name>SyrComponent</component-name>
- <interface-name>SyrComponent</interface-name>
- <node-name>test_ISEVEN</node-name>
- <kind>0</kind>
- <coupled-node>?</coupled-node>
- <service>
- <service-name>C_ISEVEN</service-name>
- <inParameter-list>
- <inParameter>
- <inParameter-type>long</inParameter-type>
- <inParameter-name>anInteger</inParameter-name>
- </inParameter>
- </inParameter-list>
- <outParameter-list>
- <outParameter>
- <outParameter-type>long</outParameter-type>
- <outParameter-name>BoolEven</outParameter-name>
- </outParameter>
- </outParameter-list>
- </service>
- <Parameter-list>
- </Parameter-list>
- <PyFunction-list>
- </PyFunction-list>
- <creation-date>11/3/2003 - 17:0:26</creation-date>
- <lastmodification-date>11/3/2003 - 17:0:26</lastmodification-date>
- <editor-release>1.04</editor-release>
- <author>?</author>
- <container>localhost/FactoryServer</container>
- <comment>?</comment>
- <x-position>252</x-position>
- <y-position>266</y-position>
- </node>
- <node>
- <component-name>SyrComponent</component-name>
- <interface-name>SyrComponent</interface-name>
- <node-name>test_ISONE</node-name>
- <kind>0</kind>
- <coupled-node>?</coupled-node>
- <service>
- <service-name>C_ISONE</service-name>
- <inParameter-list>
- <inParameter>
- <inParameter-type>long</inParameter-type>
- <inParameter-name>anInteger</inParameter-name>
- </inParameter>
- </inParameter-list>
- <outParameter-list>
- <outParameter>
- <outParameter-type>long</outParameter-type>
- <outParameter-name>BoolOne</outParameter-name>
- </outParameter>
- </outParameter-list>
- </service>
- <Parameter-list>
- </Parameter-list>
- <PyFunction-list>
- </PyFunction-list>
- <creation-date>11/3/2003 - 17:0:26</creation-date>
- <lastmodification-date>11/3/2003 - 17:0:26</lastmodification-date>
- <editor-release>1.04</editor-release>
- <author>?</author>
- <container>localhost/FactoryServer</container>
- <comment>?</comment>
- <x-position>268</x-position>
- <y-position>29</y-position>
- </node>
- <node>
- <component-name>SyrComponent</component-name>
- <interface-name>SyrComponent</interface-name>
- <node-name>m3p1</node-name>
- <kind>0</kind>
- <coupled-node>?</coupled-node>
- <service>
- <service-name>C_M3P1</service-name>
- <inParameter-list>
- <inParameter>
- <inParameter-type>long</inParameter-type>
- <inParameter-name>anOddInteger</inParameter-name>
- </inParameter>
- </inParameter-list>
- <outParameter-list>
- <outParameter>
- <outParameter-type>long</outParameter-type>
- <outParameter-name>anEvenInteger</outParameter-name>
- </outParameter>
- </outParameter-list>
- </service>
- <Parameter-list>
- </Parameter-list>
- <PyFunction-list>
- </PyFunction-list>
- <creation-date>11/3/2003 - 17:0:26</creation-date>
- <lastmodification-date>11/3/2003 - 17:0:26</lastmodification-date>
- <editor-release>1.04</editor-release>
- <author>?</author>
- <container>localhost/FactoryServer</container>
- <comment>?</comment>
- <x-position>644</x-position>
- <y-position>410</y-position>
- </node>
- <node>
- <component-name>SyrComponent</component-name>
- <interface-name>SyrComponent</interface-name>
- <node-name>div2</node-name>
- <kind>0</kind>
- <coupled-node>?</coupled-node>
- <service>
- <service-name>C_DIV2</service-name>
- <inParameter-list>
- <inParameter>
- <inParameter-type>long</inParameter-type>
- <inParameter-name>anEvenInteger</inParameter-name>
- </inParameter>
- </inParameter-list>
- <outParameter-list>
- <outParameter>
- <outParameter-type>long</outParameter-type>
- <outParameter-name>anInteger</outParameter-name>
- </outParameter>
- </outParameter-list>
- </service>
- <Parameter-list>
- </Parameter-list>
- <PyFunction-list>
- </PyFunction-list>
- <creation-date>11/3/2003 - 17:0:26</creation-date>
- <lastmodification-date>11/3/2003 - 17:0:26</lastmodification-date>
- <editor-release>1.04</editor-release>
- <author>?</author>
- <container>localhost/FactoryServer</container>
- <comment>?</comment>
- <x-position>648</x-position>
- <y-position>209</y-position>
- </node>
- <node>
- <component-name>SyrComponent</component-name>
- <interface-name>SyrComponent</interface-name>
- <node-name>incr</node-name>
- <kind>0</kind>
- <coupled-node>?</coupled-node>
- <service>
- <service-name>C_INCR</service-name>
- <inParameter-list>
- <inParameter>
- <inParameter-type>long</inParameter-type>
- <inParameter-name>aCount</inParameter-name>
- </inParameter>
- </inParameter-list>
- <outParameter-list>
- <outParameter>
- <outParameter-type>long</outParameter-type>
- <outParameter-name>aNewCount</outParameter-name>
- </outParameter>
- </outParameter-list>
- </service>
- <Parameter-list>
- </Parameter-list>
- <PyFunction-list>
- </PyFunction-list>
- <creation-date>11/3/2003 - 17:0:26</creation-date>
- <lastmodification-date>11/3/2003 - 17:0:26</lastmodification-date>
- <editor-release>1.04</editor-release>
- <author>?</author>
- <container>localhost/FactoryServer</container>
- <comment>?</comment>
- <x-position>640</x-position>
- <y-position>2</y-position>
- </node>
- </node-list>
-
- <link-list>
- </link-list>
-
- <data-list>
- <data>
- <fromnode-name>GraphSyracuseC</fromnode-name>
- <fromserviceparameter-name>test_ISEVEN\anInteger</fromserviceparameter-name>
- <tonode-name>test_ISEVEN</tonode-name>
- <toserviceparameter-name>anInteger</toserviceparameter-name>
- <data-value>
- <value-type>3</value-type>
- <value>7</value>
- </data-value>
- <coord-list>
- </coord-list>
- </data>
- <data>
- <fromnode-name>GraphSyracuseC</fromnode-name>
- <fromserviceparameter-name>test_ISONE\anInteger</fromserviceparameter-name>
- <tonode-name>test_ISONE</tonode-name>
- <toserviceparameter-name>anInteger</toserviceparameter-name>
- <data-value>
- <value-type>3</value-type>
- <value>7</value>
- </data-value>
- <coord-list>
- </coord-list>
- </data>
- <data>
- <fromnode-name>GraphSyracuseC</fromnode-name>
- <fromserviceparameter-name>m3p1\anOddInteger</fromserviceparameter-name>
- <tonode-name>m3p1</tonode-name>
- <toserviceparameter-name>anOddInteger</toserviceparameter-name>
- <data-value>
- <value-type>3</value-type>
- <value>7</value>
- </data-value>
- <coord-list>
- </coord-list>
- </data>
- <data>
- <fromnode-name>GraphSyracuseC</fromnode-name>
- <fromserviceparameter-name>div2\anEvenInteger</fromserviceparameter-name>
- <tonode-name>div2</tonode-name>
- <toserviceparameter-name>anEvenInteger</toserviceparameter-name>
- <data-value>
- <value-type>3</value-type>
- <value>7</value>
- </data-value>
- <coord-list>
- </coord-list>
- </data>
- <data>
- <fromnode-name>GraphSyracuseC</fromnode-name>
- <fromserviceparameter-name>incr\aCount</fromserviceparameter-name>
- <tonode-name>incr</tonode-name>
- <toserviceparameter-name>aCount</toserviceparameter-name>
- <data-value>
- <value-type>3</value-type>
- <value>0</value>
- </data-value>
- <coord-list>
- </coord-list>
- </data>
- </data-list>
-
-</dataflow>
+++ /dev/null
-# Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
-# CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
-#
-# This library is free software; you can redistribute it and/or
-# modify it under the terms of the GNU Lesser General Public
-# License as published by the Free Software Foundation; either
-# version 2.1 of the License.
-#
-# This library is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-# Lesser General Public License for more details.
-#
-# You should have received a copy of the GNU Lesser General Public
-# License along with this library; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-#
-# See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
-#
-#
-#
-# File : GraphSyracuseCEv.py
-# Module : SuperVisionTest
-
-from SuperV import *
-import SUPERV
-import SUPERV_idl
-
-# Graph creation
-GraphSyracuseCEv = Graph( 'GraphSyracuseCEv' )
-GraphSyracuseCEv.SetName( 'GraphSyracuseCEv' )
-GraphSyracuseCEv.SetAuthor( 'JR' )
-GraphSyracuseCEv.SetComment( 'Syracuse algorithm' )
-GraphSyracuseCEv.Coords( 0 , 0 )
-
-# Creation of Computing Nodes
-test_ISEVEN = GraphSyracuseCEv.Node( 'SyrComponent' , 'SyrComponent' , 'C_ISEVEN' )
-test_ISEVEN.SetName( 'test_ISEVEN' )
-test_ISEVEN.SetAuthor( '' )
-test_ISEVEN.SetContainer( 'localhost/FactoryServer' )
-test_ISEVEN.SetComment( '' )
-test_ISEVEN.Coords( 252 , 266 )
-test_ISONE = GraphSyracuseCEv.Node( 'SyrComponent' , 'SyrComponent' , 'C_ISONE' )
-test_ISONE.SetName( 'test_ISONE' )
-test_ISONE.SetAuthor( '' )
-test_ISONE.SetContainer( 'localhost/FactoryServer' )
-test_ISONE.SetComment( '' )
-test_ISONE.Coords( 268 , 29 )
-m3p1 = GraphSyracuseCEv.Node( 'SyrComponent' , 'SyrComponent' , 'C_M3P1' )
-m3p1.SetName( 'm3p1' )
-m3p1.SetAuthor( '' )
-m3p1.SetContainer( 'localhost/FactoryServer' )
-m3p1.SetComment( '' )
-m3p1.Coords( 644 , 410 )
-div2 = GraphSyracuseCEv.Node( 'SyrComponent' , 'SyrComponent' , 'C_DIV2' )
-div2.SetName( 'div2' )
-div2.SetAuthor( '' )
-div2.SetContainer( 'localhost/FactoryServer' )
-div2.SetComment( '' )
-div2.Coords( 648 , 209 )
-incr = GraphSyracuseCEv.Node( 'SyrComponent' , 'SyrComponent' , 'C_INCR' )
-incr.SetName( 'incr' )
-incr.SetAuthor( '' )
-incr.SetContainer( 'localhost/FactoryServer' )
-incr.SetComment( '' )
-incr.Coords( 640 , 2 )
-
-# Creation of Input datas
-test_ISEVENanInteger = test_ISEVEN.Input( 'anInteger' , 31)
-test_ISONEanInteger = test_ISONE.Input( 'anInteger' , 31)
-m3p1anOddInteger = m3p1.Input( 'anOddInteger' , 31)
-div2anEvenInteger = div2.Input( 'anEvenInteger' , 31)
-incraCount = incr.Input( 'aCount' , 0)
-
-GraphSyracuseCEv.IsValid()
-
-GraphSyracuseCEv.ThreadsMax()
-
-GraphSyracuseCEv.LevelMax()
-
-GraphSyracuseCEv.GraphsNumber()
-
-GraphSyracuseCEv.IsExecutable()
-
-
-
-
-exec GraphSyracuseCEv.ListNodes()
-
-test_ISEVENanInteger = test_ISEVEN.Port( 'anInteger' )
-test_ISEVENBoolEven = test_ISEVEN.Port( 'BoolEven' )
-test_ISONEanInteger = test_ISONE.Port( 'anInteger' )
-test_ISONEBoolOne = test_ISONE.Port( 'BoolOne' )
-m3p1anOddInteger = m3p1.Port( 'anOddInteger' )
-m3p1anEvenInteger = m3p1.Port( 'anEvenInteger' )
-div2anEvenInteger = div2.Port( 'anEvenInteger' )
-div2anInteger = div2.Port( 'anInteger' )
-incraCount = incr.Port( 'aCount' )
-incraNewCount = incr.Port( 'aNewCount' )
-
-GraphSyracuseCEv.Start()
-
-test_ISEVEN.SuspendDone()
-test_ISONE.SuspendDone()
-
-test_ISEVEN.Resume()
-test_ISONE.Resume()
-
-m3p1.SuspendDone()
-div2.SuspendDone()
-incr.SuspendDone()
-
-test_ISEVEN.DoneW()
-test_ISONE.DoneW()
-
-aStatus,aNode,anEvent,aState = GraphSyracuseCEv.Event()
-while aNode != None :
- if int( test_ISONEBoolOne.ToString() ) == 0 :
- if int( test_ISEVENBoolEven.ToString() ) == 0 :
- while aNode != None :
- if aNode.Name() == 'm3p1' :
- if aState == SUPERV_idl._0_SUPERV.SuspendReadyState :
- sts = m3p1.ReRun()
- sts = incr.ReRun()
- else :
- if aState == SUPERV_idl._0_SUPERV.SuspendDoneState :
- sts = test_ISEVENanInteger.Input( m3p1anEvenInteger.ToString() )
- sts = test_ISONEanInteger.Input( m3p1anEvenInteger.ToString() )
- sts = test_ISEVEN.ReRun()
- sts = test_ISONE.ReRun()
- else :
- if ( aNode.Name() == 'incr' ) & ( aState == SUPERV_idl._0_SUPERV.SuspendDoneState ) :
- sts = incraCount.Input( incraNewCount.ToString() )
- aStatus,aNode,anEvent,aState = GraphSyracuseCEv.Event()
- print incraNewCount.ToString(),"m3p1",m3p1anEvenInteger.ToString()
- sts = div2anEvenInteger.Input( m3p1anEvenInteger.ToString() )
- while int( test_ISEVENBoolEven.ToString() ) == 1 :
- sts = div2.ReRun()
- sts = incr.ReRun()
- aStatus,aNode,anEvent,aState = GraphSyracuseCEv.Event()
- while aNode != None :
- if ( aNode.Name() == 'div2' ) & ( aState == SUPERV_idl._0_SUPERV.SuspendDoneState ) :
- sts = test_ISEVENanInteger.Input( div2anInteger.ToString() )
- sts = test_ISONEanInteger.Input( div2anInteger.ToString() )
- sts = test_ISEVEN.ReRun()
- sts = test_ISONE.ReRun()
- aStatus,aNode,anEvent,aState = GraphSyracuseCEv.Event()
- sts = incraCount.Input( incraNewCount.ToString() )
- print incraNewCount.ToString(),"div2",div2anInteger.ToString()
- sts = m3p1anOddInteger.Input( div2anInteger.ToString() )
- sts = div2anEvenInteger.Input( div2anInteger.ToString() )
- if int( test_ISONEBoolOne.ToString() ) == 0 :
- sts = m3p1.ReRun()
- sts = incr.ReRun()
- aStatus,aNode,anEvent,aState = GraphSyracuseCEv.Event()
- else :
- GraphSyracuseCEv.PrintThreads()
- m3p1.Resume()
- div2.Resume()
- incr.Resume()
- test_ISONE.Resume()
- test_ISEVEN.Resume()
- aStatus,aNode,anEvent,aState = GraphSyracuseCEv.Event()
-
-GraphSyracuseCEv.DoneW()
-GraphSyracuseCEv.PrintThreads()
-GraphSyracuseCEv.PrintPorts()
+++ /dev/null
-<?xml version='1.0' encoding='us-ascii' ?>
-
-<!-- XML Dataflow -->
-
-<!-- Dataflow information -->
-<dataflow>
- <info-list>
- <node>
- <component-name>?</component-name>
- <interface-name>?</interface-name>
- <node-name>GraphSyracuseCEv</node-name>
- <kind>1</kind>
- <coupled-node>?</coupled-node>
- <service>
- <service-name>GraphSyracuseCEv</service-name>
- <inParameter-list>
- <inParameter>
- <inParameter-type>long</inParameter-type>
- <inParameter-name>test_ISEVEN\anInteger</inParameter-name>
- </inParameter>
- <inParameter>
- <inParameter-type>long</inParameter-type>
- <inParameter-name>test_ISONE\anInteger</inParameter-name>
- </inParameter>
- <inParameter>
- <inParameter-type>long</inParameter-type>
- <inParameter-name>m3p1\anOddInteger</inParameter-name>
- </inParameter>
- <inParameter>
- <inParameter-type>long</inParameter-type>
- <inParameter-name>div2\anEvenInteger</inParameter-name>
- </inParameter>
- <inParameter>
- <inParameter-type>long</inParameter-type>
- <inParameter-name>incr\aCount</inParameter-name>
- </inParameter>
- </inParameter-list>
- <outParameter-list>
- <outParameter>
- <outParameter-type>long</outParameter-type>
- <outParameter-name>test_ISEVEN\BoolEven</outParameter-name>
- </outParameter>
- <outParameter>
- <outParameter-type>long</outParameter-type>
- <outParameter-name>test_ISONE\BoolOne</outParameter-name>
- </outParameter>
- <outParameter>
- <outParameter-type>long</outParameter-type>
- <outParameter-name>m3p1\anEvenInteger</outParameter-name>
- </outParameter>
- <outParameter>
- <outParameter-type>long</outParameter-type>
- <outParameter-name>div2\anInteger</outParameter-name>
- </outParameter>
- <outParameter>
- <outParameter-type>long</outParameter-type>
- <outParameter-name>incr\aNewCount</outParameter-name>
- </outParameter>
- </outParameter-list>
- </service>
- <Parameter-list>
- </Parameter-list>
- <PyFunction-list>
- </PyFunction-list>
- <creation-date>11/3/2003 - 15:7:39</creation-date>
- <lastmodification-date>11/3/2003 - 15:7:39</lastmodification-date>
- <editor-release>1.04</editor-release>
- <author>JR</author>
- <container>?</container>
- <comment>Syracuse algorithm</comment>
- <x-position>0</x-position>
- <y-position>0</y-position>
- </node>
- </info-list>
-
- <node-list>
- <node>
- <component-name>SyrComponent</component-name>
- <interface-name>SyrComponent</interface-name>
- <node-name>test_ISEVEN</node-name>
- <kind>0</kind>
- <coupled-node>?</coupled-node>
- <service>
- <service-name>C_ISEVEN</service-name>
- <inParameter-list>
- <inParameter>
- <inParameter-type>long</inParameter-type>
- <inParameter-name>anInteger</inParameter-name>
- </inParameter>
- </inParameter-list>
- <outParameter-list>
- <outParameter>
- <outParameter-type>long</outParameter-type>
- <outParameter-name>BoolEven</outParameter-name>
- </outParameter>
- </outParameter-list>
- </service>
- <Parameter-list>
- </Parameter-list>
- <PyFunction-list>
- </PyFunction-list>
- <creation-date>11/3/2003 - 15:7:39</creation-date>
- <lastmodification-date>11/3/2003 - 15:7:39</lastmodification-date>
- <editor-release>1.04</editor-release>
- <author>?</author>
- <container>localhost/FactoryServer</container>
- <comment>?</comment>
- <x-position>252</x-position>
- <y-position>266</y-position>
- </node>
- <node>
- <component-name>SyrComponent</component-name>
- <interface-name>SyrComponent</interface-name>
- <node-name>test_ISONE</node-name>
- <kind>0</kind>
- <coupled-node>?</coupled-node>
- <service>
- <service-name>C_ISONE</service-name>
- <inParameter-list>
- <inParameter>
- <inParameter-type>long</inParameter-type>
- <inParameter-name>anInteger</inParameter-name>
- </inParameter>
- </inParameter-list>
- <outParameter-list>
- <outParameter>
- <outParameter-type>long</outParameter-type>
- <outParameter-name>BoolOne</outParameter-name>
- </outParameter>
- </outParameter-list>
- </service>
- <Parameter-list>
- </Parameter-list>
- <PyFunction-list>
- </PyFunction-list>
- <creation-date>11/3/2003 - 15:7:39</creation-date>
- <lastmodification-date>11/3/2003 - 15:7:39</lastmodification-date>
- <editor-release>1.04</editor-release>
- <author>?</author>
- <container>localhost/FactoryServer</container>
- <comment>?</comment>
- <x-position>268</x-position>
- <y-position>29</y-position>
- </node>
- <node>
- <component-name>SyrComponent</component-name>
- <interface-name>SyrComponent</interface-name>
- <node-name>m3p1</node-name>
- <kind>0</kind>
- <coupled-node>?</coupled-node>
- <service>
- <service-name>C_M3P1</service-name>
- <inParameter-list>
- <inParameter>
- <inParameter-type>long</inParameter-type>
- <inParameter-name>anOddInteger</inParameter-name>
- </inParameter>
- </inParameter-list>
- <outParameter-list>
- <outParameter>
- <outParameter-type>long</outParameter-type>
- <outParameter-name>anEvenInteger</outParameter-name>
- </outParameter>
- </outParameter-list>
- </service>
- <Parameter-list>
- </Parameter-list>
- <PyFunction-list>
- </PyFunction-list>
- <creation-date>11/3/2003 - 15:7:39</creation-date>
- <lastmodification-date>11/3/2003 - 15:7:39</lastmodification-date>
- <editor-release>1.04</editor-release>
- <author>?</author>
- <container>localhost/FactoryServer</container>
- <comment>?</comment>
- <x-position>644</x-position>
- <y-position>410</y-position>
- </node>
- <node>
- <component-name>SyrComponent</component-name>
- <interface-name>SyrComponent</interface-name>
- <node-name>div2</node-name>
- <kind>0</kind>
- <coupled-node>?</coupled-node>
- <service>
- <service-name>C_DIV2</service-name>
- <inParameter-list>
- <inParameter>
- <inParameter-type>long</inParameter-type>
- <inParameter-name>anEvenInteger</inParameter-name>
- </inParameter>
- </inParameter-list>
- <outParameter-list>
- <outParameter>
- <outParameter-type>long</outParameter-type>
- <outParameter-name>anInteger</outParameter-name>
- </outParameter>
- </outParameter-list>
- </service>
- <Parameter-list>
- </Parameter-list>
- <PyFunction-list>
- </PyFunction-list>
- <creation-date>11/3/2003 - 15:7:39</creation-date>
- <lastmodification-date>11/3/2003 - 15:7:39</lastmodification-date>
- <editor-release>1.04</editor-release>
- <author>?</author>
- <container>localhost/FactoryServer</container>
- <comment>?</comment>
- <x-position>648</x-position>
- <y-position>209</y-position>
- </node>
- <node>
- <component-name>SyrComponent</component-name>
- <interface-name>SyrComponent</interface-name>
- <node-name>incr</node-name>
- <kind>0</kind>
- <coupled-node>?</coupled-node>
- <service>
- <service-name>C_INCR</service-name>
- <inParameter-list>
- <inParameter>
- <inParameter-type>long</inParameter-type>
- <inParameter-name>aCount</inParameter-name>
- </inParameter>
- </inParameter-list>
- <outParameter-list>
- <outParameter>
- <outParameter-type>long</outParameter-type>
- <outParameter-name>aNewCount</outParameter-name>
- </outParameter>
- </outParameter-list>
- </service>
- <Parameter-list>
- </Parameter-list>
- <PyFunction-list>
- </PyFunction-list>
- <creation-date>11/3/2003 - 15:7:39</creation-date>
- <lastmodification-date>11/3/2003 - 15:7:39</lastmodification-date>
- <editor-release>1.04</editor-release>
- <author>?</author>
- <container>localhost/FactoryServer</container>
- <comment>?</comment>
- <x-position>640</x-position>
- <y-position>2</y-position>
- </node>
- </node-list>
-
- <link-list>
- </link-list>
-
- <data-list>
- <data>
- <fromnode-name>GraphSyracuseCEv</fromnode-name>
- <fromserviceparameter-name>test_ISEVEN\anInteger</fromserviceparameter-name>
- <tonode-name>test_ISEVEN</tonode-name>
- <toserviceparameter-name>anInteger</toserviceparameter-name>
- <data-value>
- <value-type>3</value-type>
- <value>31</value>
- </data-value>
- <coord-list>
- </coord-list>
- </data>
- <data>
- <fromnode-name>GraphSyracuseCEv</fromnode-name>
- <fromserviceparameter-name>test_ISONE\anInteger</fromserviceparameter-name>
- <tonode-name>test_ISONE</tonode-name>
- <toserviceparameter-name>anInteger</toserviceparameter-name>
- <data-value>
- <value-type>3</value-type>
- <value>31</value>
- </data-value>
- <coord-list>
- </coord-list>
- </data>
- <data>
- <fromnode-name>GraphSyracuseCEv</fromnode-name>
- <fromserviceparameter-name>m3p1\anOddInteger</fromserviceparameter-name>
- <tonode-name>m3p1</tonode-name>
- <toserviceparameter-name>anOddInteger</toserviceparameter-name>
- <data-value>
- <value-type>3</value-type>
- <value>31</value>
- </data-value>
- <coord-list>
- </coord-list>
- </data>
- <data>
- <fromnode-name>GraphSyracuseCEv</fromnode-name>
- <fromserviceparameter-name>div2\anEvenInteger</fromserviceparameter-name>
- <tonode-name>div2</tonode-name>
- <toserviceparameter-name>anEvenInteger</toserviceparameter-name>
- <data-value>
- <value-type>3</value-type>
- <value>31</value>
- </data-value>
- <coord-list>
- </coord-list>
- </data>
- <data>
- <fromnode-name>GraphSyracuseCEv</fromnode-name>
- <fromserviceparameter-name>incr\aCount</fromserviceparameter-name>
- <tonode-name>incr</tonode-name>
- <toserviceparameter-name>aCount</toserviceparameter-name>
- <data-value>
- <value-type>3</value-type>
- <value>0</value>
- </data-value>
- <coord-list>
- </coord-list>
- </data>
- </data-list>
-
-</dataflow>
+++ /dev/null
-# Copyright (C) 2003 CEA/DEN, EDF R&D
-#
-#
-#
-# File : GraphSyracuseC_Gate.py
-# Module : SuperVisionTest
-
-from SuperV import *
-# Graph creation
-GraphSyracuseC_Gate = Graph( 'GraphSyracuseC_Gate' )
-GraphSyracuseC_Gate.SetName( 'GraphSyracuseC_Gate' )
-GraphSyracuseC_Gate.SetAuthor( 'JR' )
-GraphSyracuseC_Gate.SetComment( 'Syracuse algorithm' )
-GraphSyracuseC_Gate.Coords( 0 , 0 )
-
-# Creation of Factory Nodes
-test_ISEVEN = GraphSyracuseC_Gate.FNode( 'SyrComponent' , 'SyrComponent' , 'C_ISEVEN' )
-test_ISEVEN.SetName( 'test_ISEVEN' )
-test_ISEVEN.SetAuthor( '' )
-test_ISEVEN.SetContainer( 'localhost/FactoryServer' )
-test_ISEVEN.SetComment( 'C_ISEVEN from SyrComponent' )
-test_ISEVEN.Coords( 5 , 416 )
-test_ISONE = GraphSyracuseC_Gate.FNode( 'SyrComponent' , 'SyrComponent' , 'C_ISONE' )
-test_ISONE.SetName( 'test_ISONE' )
-test_ISONE.SetAuthor( '' )
-test_ISONE.SetContainer( 'localhost/FactoryServer' )
-test_ISONE.SetComment( 'C_ISONE from SyrComponent' )
-test_ISONE.Coords( 7 , 232 )
-m3p1 = GraphSyracuseC_Gate.FNode( 'SyrComponent' , 'SyrComponent' , 'C_M3P1' )
-m3p1.SetName( 'm3p1' )
-m3p1.SetAuthor( '' )
-m3p1.SetContainer( 'localhost/FactoryServer' )
-m3p1.SetComment( 'C_M3P1 from SyrComponent' )
-m3p1.Coords( 180 , 417 )
-div2 = GraphSyracuseC_Gate.FNode( 'SyrComponent' , 'SyrComponent' , 'C_DIV2' )
-div2.SetName( 'div2' )
-div2.SetAuthor( '' )
-div2.SetContainer( 'localhost/FactoryServer' )
-div2.SetComment( 'C_DIV2 from SyrComponent' )
-div2.Coords( 435 , 7 )
-div2_ISEVEN = GraphSyracuseC_Gate.FNode( 'SyrComponent' , 'SyrComponent' , 'C_ISEVEN' )
-div2_ISEVEN.SetName( 'div2_ISEVEN' )
-div2_ISEVEN.SetAuthor( '' )
-div2_ISEVEN.SetContainer( 'localhost/FactoryServer' )
-div2_ISEVEN.SetComment( 'C_ISEVEN from SyrComponent' )
-div2_ISEVEN.Coords( 663 , 193 )
-div2_ISONE = GraphSyracuseC_Gate.FNode( 'SyrComponent' , 'SyrComponent' , 'C_ISONE' )
-div2_ISONE.SetName( 'div2_ISONE' )
-div2_ISONE.SetAuthor( '' )
-div2_ISONE.SetContainer( 'localhost/FactoryServer' )
-div2_ISONE.SetComment( 'C_ISONE from SyrComponent' )
-div2_ISONE.Coords( 651 , 6 )
-incr = GraphSyracuseC_Gate.FNode( 'SyrComponent' , 'SyrComponent' , 'C_INCR' )
-incr.SetName( 'incr' )
-incr.SetAuthor( '' )
-incr.SetContainer( 'localhost/FactoryServer' )
-incr.SetComment( 'C_INCR from SyrComponent' )
-incr.Coords( 434 , 193 )
-
-# Creation of intermediate Output variables and of Control Links
-test_ISEVENOutGate = test_ISEVEN.Port( 'OutGate' )
-m3p1InGate = GraphSyracuseC_Gate.Link( test_ISEVENOutGate , m3p1.Port( 'InGate' ) )
-m3p1anEvenInteger = m3p1.Port( 'anEvenInteger' )
-div2anEvenInteger = GraphSyracuseC_Gate.Link( m3p1anEvenInteger , div2.Port( 'anEvenInteger' ) )
-div2anEvenInteger.AddCoord( 1 , 373 , 117 )
-div2anEvenInteger.AddCoord( 2 , 373 , 528 )
-div2anInteger = div2.Port( 'anInteger' )
-div2_ISONEanInteger = GraphSyracuseC_Gate.Link( div2anInteger , div2_ISONE.Port( 'anInteger' ) )
-div2_ISEVENanInteger = GraphSyracuseC_Gate.Link( div2anInteger , div2_ISEVEN.Port( 'anInteger' ) )
-div2_ISEVENanInteger.AddCoord( 1 , 626 , 302 )
-div2_ISEVENanInteger.AddCoord( 2 , 626 , 116 )
-
-# Creation of Input datas
-test_ISEVENanInteger = test_ISEVEN.Input( 'anInteger' , 31)
-test_ISONEanInteger = test_ISONE.Input( 'anInteger' , 31)
-m3p1anOddInteger = m3p1.Input( 'anOddInteger' , 31)
-incraCount = incr.Input( 'aCount' , 0)
-
-# Creation of Output variables
-test_ISEVENBoolEven = test_ISEVEN.Port( 'BoolEven' )
-test_ISONEBoolOne = test_ISONE.Port( 'BoolOne' )
-div2_ISEVENBoolEven = div2_ISEVEN.Port( 'BoolEven' )
-div2_ISONEBoolOne = div2_ISONE.Port( 'BoolOne' )
-incraNewCount = incr.Port( 'aNewCount' )
-
-
-GraphSyracuseC_Gate.Start()
-
-div2InanInteger = div2.Port( 'anEvenInteger' )
-
-m3p1.Suspend()
-
-div2_ISEVEN.SuspendDone()
-div2_ISONE.SuspendDone()
-
-test_ISEVEN.Resume()
-test_ISONE.Resume()
-
-# Attente de fin d'execution de test
-test_ISONE.DoneW()
-test_ISEVEN.DoneW()
-
-m3p1.SuspendedW()
-incr.SuspendedW()
-incr.SuspendDone()
-
-# Etats et Threads des nodes
-GraphSyracuseC_Gate.PrintThreads()
-
-BoolOne = int( test_ISONEBoolOne.ToString() )
-BoolEven = int( test_ISEVENBoolEven.ToString() )
-while BoolOne == 0 :
- if BoolEven == 0 :
- sts = div2_ISONE.ReRunAt('m3p1')
- if sts == 0 :
- print 'div2_ISONE.ReRunAt error'
- break
- sts = incr.ReRun()
- if sts == 0 :
- print 'incr.ReRun error'
- break
- sts = m3p1.DoneW()
- if sts == 0 :
- print 'm3p1.DoneW error'
- break
- sts = incr.DoneW()
- if sts == 0 :
- print 'incr.DoneW error'
- break
- sts = incraCount.Input( int( incraNewCount.ToString() ) + 1 )
- if sts == 0 :
- print 'incraCount.Input error'
- break
- BoolEven = 1
- BoolOne = 0
- Current = int( m3p1anEvenInteger.ToString() )
- print incraNewCount.ToString(),"m3p1",Current,BoolEven
- if Current <= 0 :
- break
- if Current <= 0 :
- break
- while BoolEven == 1 :
- sts = incr.ReRun()
- if sts == 0 :
- print 'incr.ReRun error'
- break
- sts = div2.DoneW()
- if sts == 0 :
- print 'div2.DoneW error'
- break
- sts = div2_ISEVEN.DoneW()
- if sts == 0 :
- print 'div2_ISEVEN.DoneW error'
- break
- sts = div2_ISONE.DoneW()
- if sts == 0 :
- print 'div2_ISONE.DoneW error'
- break
- sts = incr.DoneW()
- if sts == 0 :
- print 'incr.DoneW error'
- break
- sts = incraCount.Input( incraNewCount.ToString() )
- if sts == 0 :
- print 'incraCount.Input error'
- break
- BoolOne = int( div2_ISONEBoolOne.ToString() )
- BoolEven = int( div2_ISEVENBoolEven.ToString() )
- Current = int( div2anInteger.ToString() )
- print incraNewCount.ToString(),"div2",Current,BoolEven,BoolOne
- if Current <= 0 :
- break
- if BoolEven == 1 :
- sts = div2InanInteger.Input( Current )
- if sts == 0 :
- print 'div2InanInteger.Input error'
- break
- sts = div2_ISONE.ReRunAt('div2')
- if sts == 0 :
- print 'div2_ISONE.ReRunAt error'
- break
- if Current <= 0 :
- break
- sts = m3p1anOddInteger.Input( Current )
- if sts == 0 :
- print 'm3p1anOddInteger.Input error'
- break
- sts = m3p1InGate.InPort().Input( 1 )
- if sts == 0 :
- print 'm3p1InGate.InPort error'
- break
-
-
-GraphSyracuseC_Gate.PrintThreads()
-m3p1.Resume()
-div2.Resume()
-incr.Resume()
-div2_ISONE.Resume()
-div2_ISEVEN.Resume()
-GraphSyracuseC_Gate.DoneW()
-GraphSyracuseC_Gate.PrintPorts()
-GraphSyracuseC_Gate.PrintThreads()
-
+++ /dev/null
-<!DOCTYPE Dataflow>
-<dataflow>
-<info-list>
-<node>
-<component-name>?</component-name>
- <interface-name>?</interface-name>
- <node-name>GraphSyracuseC_Gate</node-name>
- <kind>1</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>GraphSyracuseC_Gate</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>test_ISEVEN\anInteger</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>test_ISONE\anInteger</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>m3p1\anOddInteger</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>incr\aCount</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>test_ISEVEN\BoolEven</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>test_ISONE\BoolOne</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>div2_ISEVEN\BoolEven</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>div2_ISONE\BoolOne</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>incr\aNewCount</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list/>
- <creation-date>11/3/2003 - 16:25:34</creation-date>
- <lastmodification-date>11/6/2003 - 16:1:11</lastmodification-date>
- <editor-release>1.04</editor-release>
- <author>JR</author>
- <container>?</container>
- <comment>Syracuse algorithm</comment>
- <x-position>0</x-position>
- <y-position>0</y-position> </node> </info-list>
- <node-list>
-<node>
-<component-name>SyrComponent</component-name>
- <interface-name>SyrComponent</interface-name>
- <node-name>test_ISEVEN</node-name>
- <kind>0</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>C_ISEVEN</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>anInteger</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>BoolEven</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list/>
- <creation-date>11/6/2003 - 16:1:10</creation-date>
- <lastmodification-date>11/6/2003 - 16:1:10</lastmodification-date>
- <editor-release>1.04</editor-release>
- <author>?</author>
- <container>localhost/FactoryServer</container>
- <comment>C_ISEVEN from SyrComponent</comment>
- <x-position>5</x-position>
- <y-position>416</y-position> </node>
- <node>
-<component-name>SyrComponent</component-name>
- <interface-name>SyrComponent</interface-name>
- <node-name>test_ISONE</node-name>
- <kind>0</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>C_ISONE</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>anInteger</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>BoolOne</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list/>
- <creation-date>11/6/2003 - 16:1:10</creation-date>
- <lastmodification-date>11/6/2003 - 16:1:10</lastmodification-date>
- <editor-release>1.04</editor-release>
- <author>?</author>
- <container>localhost/FactoryServer</container>
- <comment>C_ISONE from SyrComponent</comment>
- <x-position>7</x-position>
- <y-position>232</y-position> </node>
- <node>
-<component-name>SyrComponent</component-name>
- <interface-name>SyrComponent</interface-name>
- <node-name>m3p1</node-name>
- <kind>0</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>C_M3P1</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>anOddInteger</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>anEvenInteger</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list/>
- <creation-date>11/6/2003 - 16:1:10</creation-date>
- <lastmodification-date>11/6/2003 - 16:1:10</lastmodification-date>
- <editor-release>1.04</editor-release>
- <author>?</author>
- <container>localhost/FactoryServer</container>
- <comment>C_M3P1 from SyrComponent</comment>
- <x-position>180</x-position>
- <y-position>417</y-position> </node>
- <node>
-<component-name>SyrComponent</component-name>
- <interface-name>SyrComponent</interface-name>
- <node-name>div2</node-name>
- <kind>0</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>C_DIV2</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>anEvenInteger</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>anInteger</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list/>
- <creation-date>11/6/2003 - 16:1:10</creation-date>
- <lastmodification-date>11/6/2003 - 16:1:10</lastmodification-date>
- <editor-release>1.04</editor-release>
- <author>?</author>
- <container>localhost/FactoryServer</container>
- <comment>C_DIV2 from SyrComponent</comment>
- <x-position>435</x-position>
- <y-position>7</y-position> </node>
- <node>
-<component-name>SyrComponent</component-name>
- <interface-name>SyrComponent</interface-name>
- <node-name>div2_ISEVEN</node-name>
- <kind>0</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>C_ISEVEN</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>anInteger</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>BoolEven</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list/>
- <creation-date>11/6/2003 - 16:1:11</creation-date>
- <lastmodification-date>11/6/2003 - 16:1:11</lastmodification-date>
- <editor-release>1.04</editor-release>
- <author>?</author>
- <container>localhost/FactoryServer</container>
- <comment>C_ISEVEN from SyrComponent</comment>
- <x-position>663</x-position>
- <y-position>193</y-position> </node>
- <node>
-<component-name>SyrComponent</component-name>
- <interface-name>SyrComponent</interface-name>
- <node-name>div2_ISONE</node-name>
- <kind>0</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>C_ISONE</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>anInteger</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>BoolOne</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list/>
- <creation-date>11/6/2003 - 16:1:11</creation-date>
- <lastmodification-date>11/6/2003 - 16:1:11</lastmodification-date>
- <editor-release>1.04</editor-release>
- <author>?</author>
- <container>localhost/FactoryServer</container>
- <comment>C_ISONE from SyrComponent</comment>
- <x-position>651</x-position>
- <y-position>6</y-position> </node>
- <node>
-<component-name>SyrComponent</component-name>
- <interface-name>SyrComponent</interface-name>
- <node-name>incr</node-name>
- <kind>0</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>C_INCR</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>aCount</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>aNewCount</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list/>
- <creation-date>11/6/2003 - 16:1:11</creation-date>
- <lastmodification-date>11/6/2003 - 16:1:11</lastmodification-date>
- <editor-release>1.04</editor-release>
- <author>?</author>
- <container>localhost/FactoryServer</container>
- <comment>C_INCR from SyrComponent</comment>
- <x-position>434</x-position>
- <y-position>193</y-position> </node> </node-list>
- <link-list>
-<link>
-<fromnode-name>test_ISEVEN</fromnode-name>
- <fromserviceparameter-name>OutGate</fromserviceparameter-name>
- <tonode-name>m3p1</tonode-name>
- <toserviceparameter-name>InGate</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>m3p1</fromnode-name>
- <fromserviceparameter-name>anEvenInteger</fromserviceparameter-name>
- <tonode-name>div2</tonode-name>
- <toserviceparameter-name>anEvenInteger</toserviceparameter-name>
- <coord-list>
-<coord>
-<x>373</x>
- <y>117</y> </coord>
- <coord>
-<x>373</x>
- <y>528</y> </coord> </coord-list> </link>
- <link>
-<fromnode-name>div2</fromnode-name>
- <fromserviceparameter-name>anInteger</fromserviceparameter-name>
- <tonode-name>div2_ISONE</tonode-name>
- <toserviceparameter-name>anInteger</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>div2</fromnode-name>
- <fromserviceparameter-name>anInteger</fromserviceparameter-name>
- <tonode-name>div2_ISEVEN</tonode-name>
- <toserviceparameter-name>anInteger</toserviceparameter-name>
- <coord-list>
-<coord>
-<x>626</x>
- <y>302</y> </coord>
- <coord>
-<x>626</x>
- <y>116</y> </coord> </coord-list> </link> </link-list>
- <data-list>
-<data>
-<fromnode-name>GraphSyracuseC_Gate</fromnode-name>
- <fromserviceparameter-name>test_ISEVEN\anInteger</fromserviceparameter-name>
- <tonode-name>test_ISEVEN</tonode-name>
- <toserviceparameter-name>anInteger</toserviceparameter-name>
- <data-value>
-<value-type>3</value-type>
- <value>31</value> </data-value>
- <coord-list/> </data>
- <data>
-<fromnode-name>GraphSyracuseC_Gate</fromnode-name>
- <fromserviceparameter-name>test_ISONE\anInteger</fromserviceparameter-name>
- <tonode-name>test_ISONE</tonode-name>
- <toserviceparameter-name>anInteger</toserviceparameter-name>
- <data-value>
-<value-type>3</value-type>
- <value>31</value> </data-value>
- <coord-list/> </data>
- <data>
-<fromnode-name>GraphSyracuseC_Gate</fromnode-name>
- <fromserviceparameter-name>m3p1\anOddInteger</fromserviceparameter-name>
- <tonode-name>m3p1</tonode-name>
- <toserviceparameter-name>anOddInteger</toserviceparameter-name>
- <data-value>
-<value-type>3</value-type>
- <value>31</value> </data-value>
- <coord-list/> </data>
- <data>
-<fromnode-name>GraphSyracuseC_Gate</fromnode-name>
- <fromserviceparameter-name>incr\aCount</fromserviceparameter-name>
- <tonode-name>incr</tonode-name>
- <toserviceparameter-name>aCount</toserviceparameter-name>
- <data-value>
-<value-type>3</value-type>
- <value>0</value> </data-value>
- <coord-list/> </data> </data-list></dataflow>
+++ /dev/null
-
-# Generated python file of Graph GraphSyracuseC_Void
-
-from SuperV import *
-# Graph creation
-GraphSyracuseC_Void = Graph( 'GraphSyracuseC_Void' )
-print GraphSyracuseC_Void.SetName( 'GraphSyracuseC_Void' )
-print GraphSyracuseC_Void.SetAuthor( 'JR' )
-print GraphSyracuseC_Void.SetContainer( 'localhost/FactoryServer' )
-print GraphSyracuseC_Void.SetComment( 'Syracuse algorithm' )
-GraphSyracuseC_Void.Coords( 0 , 0 )
-
-# Creation of Nodes
-test_ISEVEN = GraphSyracuseC_Void.Node( 'SyrComponent' , 'SyrComponent' , 'C_ISEVEN' )
-print test_ISEVEN.SetName( 'test_ISEVEN' )
-print test_ISEVEN.SetAuthor( '' )
-print test_ISEVEN.SetContainer( 'localhost/FactoryServer' )
-print test_ISEVEN.SetComment( '' )
-test_ISEVEN.Coords( 5 , 416 )
-test_ISONE = GraphSyracuseC_Void.Node( 'SyrComponent' , 'SyrComponent' , 'C_ISONE' )
-print test_ISONE.SetName( 'test_ISONE' )
-print test_ISONE.SetAuthor( '' )
-print test_ISONE.SetContainer( 'localhost/FactoryServer' )
-print test_ISONE.SetComment( '' )
-test_ISONE.Coords( 7 , 232 )
-m3p1 = GraphSyracuseC_Void.Node( 'SyrComponent' , 'SyrComponent' , 'C_M3P1' )
-print m3p1.SetName( 'm3p1' )
-print m3p1.SetAuthor( '' )
-print m3p1.SetContainer( 'localhost/FactoryServer' )
-print m3p1.SetComment( '' )
-m3p1.Coords( 180 , 417 )
-div2 = GraphSyracuseC_Void.Node( 'SyrComponent' , 'SyrComponent' , 'C_DIV2' )
-print div2.SetName( 'div2' )
-print div2.SetAuthor( '' )
-print div2.SetContainer( 'localhost/FactoryServer' )
-print div2.SetComment( '' )
-div2.Coords( 435 , 7 )
-div2_ISEVEN = GraphSyracuseC_Void.Node( 'SyrComponent' , 'SyrComponent' , 'C_ISEVEN' )
-print div2_ISEVEN.SetName( 'div2_ISEVEN' )
-print div2_ISEVEN.SetAuthor( '' )
-print div2_ISEVEN.SetContainer( 'localhost/FactoryServer' )
-print div2_ISEVEN.SetComment( '' )
-div2_ISEVEN.Coords( 619 , 191 )
-div2_ISONE = GraphSyracuseC_Void.Node( 'SyrComponent' , 'SyrComponent' , 'C_ISONE' )
-print div2_ISONE.SetName( 'div2_ISONE' )
-print div2_ISONE.SetAuthor( '' )
-print div2_ISONE.SetContainer( 'localhost/FactoryServer' )
-print div2_ISONE.SetComment( '' )
-div2_ISONE.Coords( 616 , 6 )
-incr = GraphSyracuseC_Void.Node( 'SyrComponent' , 'SyrComponent' , 'C_INCR' )
-print incr.SetName( 'incr' )
-print incr.SetAuthor( '' )
-print incr.SetContainer( 'localhost/FactoryServer' )
-print incr.SetComment( '' )
-incr.Coords( 434 , 193 )
-
-# Creation of intermediate Output variables and of links
-test_ISEVENOutVoid = test_ISEVEN.Port( 'OutVoid' )
-m3p1InVoid = GraphSyracuseC_Void.Link( test_ISEVENOutVoid , m3p1.Port( 'InVoid' ) )
-m3p1anEvenInteger = m3p1.Port( 'anEvenInteger' )
-div2anEvenInteger = GraphSyracuseC_Void.Link( m3p1anEvenInteger , div2.Port( 'anEvenInteger' ) )
-print div2anEvenInteger.AddCoord( 1 , 368 , 158 )
-print div2anEvenInteger.AddCoord( 2 , 369 , 568 )
-div2anInteger = div2.Port( 'anInteger' )
-div2_ISONEanInteger = GraphSyracuseC_Void.Link( div2anInteger , div2_ISONE.Port( 'anInteger' ) )
-div2_ISEVENanInteger = GraphSyracuseC_Void.Link( div2anInteger , div2_ISEVEN.Port( 'anInteger' ) )
-print div2_ISEVENanInteger.AddCoord( 1 , 603 , 342 )
-print div2_ISEVENanInteger.AddCoord( 2 , 603 , 158 )
-
-# Creation of Input datas
-test_ISEVENanInteger = test_ISEVEN.Input( 'anInteger' , 31)
-test_ISONEanInteger = test_ISONE.Input( 'anInteger' , 31)
-m3p1anOddInteger = m3p1.Input( 'anOddInteger' , 31)
-div2InanEvenInteger = div2.Port( 'anEvenInteger' )
-incraCount = incr.Input( 'aCount' , 0)
-
-# Missing Input datas
-
-# Creation of Output variables
-test_ISEVENBoolEven = test_ISEVEN.Port( 'BoolEven' )
-test_ISONEBoolOne = test_ISONE.Port( 'BoolOne' )
-div2_ISEVENBoolEven = div2_ISEVEN.Port( 'BoolEven' )
-div2_ISONEBoolOne = div2_ISONE.Port( 'BoolOne' )
-incraNewCount = incr.Port( 'aNewCount' )
-
-GraphSyracuseC_Void.IsValid()
-
-GraphSyracuseC_Void.ThreadsMax()
-
-GraphSyracuseC_Void.LevelMax()
-
-GraphSyracuseC_Void.GraphsNumber()
-
-curM3P1 = m3p1.Input( 'anOddInteger' , 31 )
-curtestISEVEN = test_ISEVEN.Input( 'anInteger' , curM3P1.ToAny() )
-curtestISONE = test_ISONE.Input( 'anInteger' , curM3P1.ToAny() )
-
-GraphSyracuseC_Void.IsExecutable()
-
-GraphSyracuseC_Void.Start()
-
-m3p1.Suspend()
-
-div2_ISEVEN.SuspendDone()
-div2_ISONE.SuspendDone()
-
-test_ISEVEN.Resume()
-test_ISONE.Resume()
-
-# Attente de fin d'exécution de test
-test_ISONE.DoneW()
-test_ISEVEN.DoneW()
-
-m3p1.SuspendedW()
-incr.SuspendedW()
-incr.SuspendDone()
-
-# Etats et Threads des nodes
-GraphSyracuseC_Void.PrintThreads()
-
-BoolOne = int( test_ISONEBoolOne.ToString() )
-BoolEven = int( test_ISEVENBoolEven.ToString() )
-while BoolOne == 0 :
- if BoolEven == 0 :
- sts = div2_ISONE.ReRunAt('m3p1')
- sts = incr.ReRun()
- sts = m3p1.DoneW()
- sts = incr.DoneW()
- sts = incraCount.Input( int( incraNewCount.ToString() ) + 1 )
- BoolEven = 1
- BoolOne = 0
- Current = int( m3p1anEvenInteger.ToString() )
- print "m3p1",Current,BoolEven
- while BoolEven == 1 :
- sts = incr.ReRun()
- sts = div2.DoneW()
- sts = div2_ISEVEN.DoneW()
- sts = div2_ISONE.DoneW()
- sts = incr.DoneW()
- sts = incraCount.Input( incraNewCount.ToString() )
- BoolOne = int( div2_ISONEBoolOne.ToString() )
- BoolEven = int( div2_ISEVENBoolEven.ToString() )
- Current = int( div2anInteger.ToString() )
- print "div2",Current,BoolEven,BoolOne
- if BoolEven == 1 :
- div2InanEvenInteger.Input( Current )
- sts = div2_ISONE.ReRunAt('div2')
- sts = curM3P1.Input( Current )
-
-
-GraphSyracuseC_Void.PrintThreads()
-m3p1.Resume()
-div2.Resume()
-incr.Resume()
-div2_ISONE.Resume()
-div2_ISEVEN.Resume()
-GraphSyracuseC_Void.DoneW()
-GraphSyracuseC_Void.PrintPorts()
-GraphSyracuseC_Void.PrintThreads()
-
+++ /dev/null
-
-
-from SuperV import *
-
-GraphSyracuseControl = Graph( 'GraphSyracuseControl' )
-print GraphSyracuseControl.SetName( 'GraphSyracuseControl' )
-print GraphSyracuseControl.SetAuthor( 'JR' )
-print GraphSyracuseControl.SetContainer( 'localhost/FactoryServer' )
-print GraphSyracuseControl.SetComment( 'Syracuse algorithm' )
-GraphSyracuseControl.Coords( 0 , 0 )
-
-
-test_ISEVEN = GraphSyracuseControl.Node( 'SyrComponent' , 'SyrComponent' , 'C_ISEVEN' )
-print test_ISEVEN.SetName( 'test_ISEVEN' )
-print test_ISEVEN.SetAuthor( '' )
-print test_ISEVEN.SetContainer( 'localhost/FactoryServer' )
-print test_ISEVEN.SetComment( '' )
-test_ISEVEN.Coords( 190 , 338 )
-test_ISONE = GraphSyracuseControl.Node( 'SyrComponent' , 'SyrComponent' , 'C_ISONE' )
-print test_ISONE.SetName( 'test_ISONE' )
-print test_ISONE.SetAuthor( '' )
-print test_ISONE.SetContainer( 'localhost/FactoryServer' )
-print test_ISONE.SetComment( '' )
-test_ISONE.Coords( 196 , 131 )
-m3p1 = GraphSyracuseControl.Node( 'SyrComponent' , 'SyrComponent' , 'C_M3P1' )
-print m3p1.SetName( 'm3p1' )
-print m3p1.SetAuthor( '' )
-print m3p1.SetContainer( 'localhost/FactoryServer' )
-print m3p1.SetComment( '' )
-m3p1.Coords( 621 , 14 )
-div2 = GraphSyracuseControl.Node( 'SyrComponent' , 'SyrComponent' , 'C_DIV2' )
-print div2.SetName( 'div2' )
-print div2.SetAuthor( '' )
-print div2.SetContainer( 'localhost/FactoryServer' )
-print div2.SetComment( '' )
-div2.Coords( 624 , 391 )
-incr = GraphSyracuseControl.Node( 'SyrComponent' , 'SyrComponent' , 'C_INCR' )
-print incr.SetName( 'incr' )
-print incr.SetAuthor( '' )
-print incr.SetContainer( 'localhost/FactoryServer' )
-print incr.SetComment( '' )
-incr.Coords( 622 , 199 )
-label_begin = GraphSyracuseControl.LNode( 'label_begin' )
-print label_begin.SetName( 'label_begin' )
-print label_begin.SetAuthor( '' )
-print label_begin.SetContainer( 'localhost/FactoryServerPy' )
-print label_begin.SetComment( '' )
-label_begin.Coords( 7 , 216 )
-label_test = GraphSyracuseControl.LService( 'SyrControlComponent' , 'SyrControlComponent' , 'L_OneEven' )
-print label_test.SetName( 'label_test' )
-print label_test.SetAuthor( '' )
-print label_test.SetContainer( 'localhost/FactoryServerPy' )
-print label_test.SetComment( '' )
-label_test.Coords( 399 , 176 )
-control_m3p1 = GraphSyracuseControl.CService( 'SyrControlComponent' , 'SyrControlComponent' , 'C_NotOneIsEven' )
-print control_m3p1.SetName( 'control_m3p1' )
-print control_m3p1.SetAuthor( '' )
-print control_m3p1.SetContainer( 'localhost/FactoryServerPy' )
-print control_m3p1.SetComment( '' )
-control_m3p1.Coords( 814 , 13 )
-control_div2 = GraphSyracuseControl.CNode( 'control_div2' )
-print control_div2.SetName( 'control_div2' )
-print control_div2.SetAuthor( '' )
-print control_div2.SetContainer( 'localhost/FactoryServerPy' )
-print control_div2.SetComment( '' )
-control_div2.Coords( 812 , 414 )
-
-
-label_begin.BusPorts( 'NB' , 'long' , 'NT' , 'long' )
-label_begin.BusPorts( 'KB' , 'long' , 'KT' , 'long' )
-label_test.BusPorts( 'NT' , 'long' , 'N' , 'long' )
-label_test.BusPorts( 'KT' , 'long' , 'K' , 'long' )
-control_m3p1.BusPorts( 'N' , 'long' , 'NT' , 'long' )
-control_m3p1.BusPorts( 'K' , 'long' , 'KT' , 'long' )
-control_div2.BusPorts( 'N' , 'long' , 'NB' , 'long' )
-control_div2.BusPorts( 'K' , 'long' , 'KB' , 'long' )
-
-
-GraphSyracuseControl.Link( label_begin.Port( 'NT' ) , label_test.Port( 'NT' ) )
-GraphSyracuseControl.Link( label_begin.Port( 'KT' ) , label_test.Port( 'KT' ) )
-GraphSyracuseControl.Link( label_begin.Port( 'NT' ) , test_ISEVEN.Port( 'anInteger' ) )
-GraphSyracuseControl.Link( label_begin.Port( 'NT' ) , test_ISONE.Port( 'anInteger' ) )
-
-GraphSyracuseControl.Link( test_ISEVEN.Port( 'BoolEven' ) , label_test.Port( 'ValEven' ) )
-GraphSyracuseControl.Link( test_ISONE.Port( 'BoolOne' ) , label_test.Port( 'ValOne' ) )
-GraphSyracuseControl.Link( label_test.Port( 'N' ) , m3p1.Port( 'anOddInteger' ) )
-GraphSyracuseControl.Link( label_test.Port( 'N' ) , div2.Port( 'anEvenInteger' ) )
-GraphSyracuseControl.Link( label_test.Port( 'K' ) , incr.Port( 'aCount' ) )
-GraphSyracuseControl.Link( label_test.Port( 'Incr' ) , incr.Port( 'InGate' ) )
-GraphSyracuseControl.Link( label_test.Port( 'Even' ) , div2.Port( 'InGate' ) )
-GraphSyracuseControl.Link( label_test.Port( 'Odd' ) , m3p1.Port( 'InGate' ) )
-
-GraphSyracuseControl.Link( m3p1.Port( 'anEvenInteger' ) , control_m3p1.Port( 'N' ) )
-GraphSyracuseControl.Link( div2.Port( 'anInteger' ) , control_div2.Port( 'N' ) )
-GraphSyracuseControl.Link( incr.Port( 'aNewCount' ) , control_m3p1.Port( 'K' ) )
-GraphSyracuseControl.Link( incr.Port( 'aNewCount' ) , control_div2.Port( 'K' ) )
-
-GraphSyracuseControl.Link( control_m3p1.Port( 'OutGate' ) , label_test.Port( 'InGate' ) )
-GraphSyracuseControl.Link( control_div2.Port( 'OutGate' ) , label_begin.Port( 'InGate' ) )
-
-GraphSyracuseControl.IsValid()
-
-GraphSyracuseControl.ThreadsMax()
-
-GraphSyracuseControl.LevelMax()
-
-GraphSyracuseControl.GraphsNumber()
-
-label_begin.Input( 'NB' , 31 )
-label_begin.Input( 'KB' , 0 )
-
-GraphSyracuseControl.IsExecutable()
-
-GraphSyracuseControl.Export('../GraphSyrControl')
-
-
-GraphSyracuseControl.Run()
-
-GraphSyracuseControl.DoneW()
-
-GraphSyracuseControl.State()
-
-GraphSyracuseControl.PrintPorts()
-
-label_test.PrintPorts()
+++ /dev/null
-# Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
-# CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
-#
-# This library is free software; you can redistribute it and/or
-# modify it under the terms of the GNU Lesser General Public
-# License as published by the Free Software Foundation; either
-# version 2.1 of the License.
-#
-# This library is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-# Lesser General Public License for more details.
-#
-# You should have received a copy of the GNU Lesser General Public
-# License along with this library; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-#
-# See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
-#
-#
-#
-# File : GraphSyracuseCpp.py
-# Module : SuperVisionTest
-
-from SuperV import *
-# Graph creation
-GraphSyracuseCpp = Graph( 'GraphSyracuseCpp' )
-GraphSyracuseCpp.SetName( 'GraphSyracuseCpp' )
-GraphSyracuseCpp.SetAuthor( 'JR' )
-GraphSyracuseCpp.SetComment( 'Syracuse algorithm' )
-GraphSyracuseCpp.Coords( 0 , 0 )
-
-# Creation of Computing Nodes
-Syracuse = GraphSyracuseCpp.Node( 'SyrComponent' , 'SyrComponent' , 'Init' )
-Syracuse.SetName( 'Syracuse' )
-Syracuse.SetAuthor( '' )
-#Syracuse.SetContainer( 'localhost/FactoryServer' )
-Syracuse.SetComment( '' )
-Syracuse.Coords( 9 , 207 )
-test_IsEven = GraphSyracuseCpp.CNode( 'SyrComponent' , 'Syr' , 'IsEven' )
-test_IsEven.SetName( 'test_IsEven' )
-test_IsEven.SetAuthor( '' )
-#test_IsEven.SetContainer( 'localhost/FactoryServer' )
-test_IsEven.SetComment( '' )
-test_IsEven.Coords( 197 , 407 )
-test_IsOne = GraphSyracuseCpp.CNode( 'SyrComponent' , 'Syr' , 'IsOne' )
-test_IsOne.SetName( 'test_IsOne' )
-test_IsOne.SetAuthor( '' )
-#test_IsOne.SetContainer( 'localhost/FactoryServer' )
-test_IsOne.SetComment( '' )
-test_IsOne.Coords( 208 , 59 )
-m3p1_M3p1 = GraphSyracuseCpp.CNode( 'SyrComponent' , 'Syr' , 'M3p1' )
-m3p1_M3p1.SetName( 'm3p1_M3p1' )
-m3p1_M3p1.SetAuthor( '' )
-#m3p1_M3p1.SetContainer( 'localhost/FactoryServer' )
-m3p1_M3p1.SetComment( '' )
-m3p1_M3p1.Coords( 418 , 408 )
-div2_Div2 = GraphSyracuseCpp.CNode( 'SyrComponent' , 'Syr' , 'Div2' )
-div2_Div2.SetName( 'div2_Div2' )
-div2_Div2.SetAuthor( '' )
-#div2_Div2.SetContainer( 'localhost/FactoryServer' )
-div2_Div2.SetComment( '' )
-div2_Div2.Coords( 414 , 10 )
-incr_Incr = GraphSyracuseCpp.CNode( 'SyrComponent' , 'Syr' , 'Incr' )
-incr_Incr.SetName( 'incr_Incr' )
-incr_Incr.SetAuthor( '' )
-#incr_Incr.SetContainer( 'localhost/FactoryServer' )
-incr_Incr.SetComment( '' )
-incr_Incr.Coords( 416 , 207 )
-result_Current = GraphSyracuseCpp.CNode( 'SyrComponent' , 'Syr' , 'Current' )
-result_Current.SetName( 'result_Current' )
-result_Current.SetAuthor( '' )
-#result_Current.SetContainer( 'localhost/FactoryServer' )
-result_Current.SetComment( '' )
-result_Current.Coords( 603 , 216 )
-result_Count = GraphSyracuseCpp.CNode( 'SyrComponent' , 'Syr' , 'Count' )
-result_Count.SetName( 'result_Count' )
-result_Count.SetAuthor( '' )
-#result_Count.SetContainer( 'localhost/FactoryServer' )
-result_Count.SetComment( '' )
-result_Count.Coords( 803 , 212 )
-
-# Creation of intermediate Output variables and of Computing Links
-SyracuseaSyracuse = Syracuse.Port( 'aSyracuse' )
-test_IsEvenaSyracuse = GraphSyracuseCpp.Link( SyracuseaSyracuse , test_IsEven.Port( 'aSyracuse' ) )
-test_IsEvenaSyracuse.AddCoord( 1 , 175 , 559 )
-test_IsEvenaSyracuse.AddCoord( 2 , 175 , 359 )
-test_IsOneaSyracuse = GraphSyracuseCpp.Link( SyracuseaSyracuse , test_IsOne.Port( 'aSyracuse' ) )
-test_IsOneaSyracuse.AddCoord( 1 , 177 , 211 )
-test_IsOneaSyracuse.AddCoord( 2 , 177 , 359 )
-m3p1_M3p1aSyracuse = GraphSyracuseCpp.Link( SyracuseaSyracuse , m3p1_M3p1.Port( 'aSyracuse' ) )
-m3p1_M3p1aSyracuse.AddCoord( 1 , 388 , 560 )
-m3p1_M3p1aSyracuse.AddCoord( 2 , 388 , 359 )
-div2_Div2aSyracuse = GraphSyracuseCpp.Link( SyracuseaSyracuse , div2_Div2.Port( 'aSyracuse' ) )
-div2_Div2aSyracuse.AddCoord( 1 , 389 , 162 )
-div2_Div2aSyracuse.AddCoord( 2 , 389 , 359 )
-incr_IncraSyracuse = GraphSyracuseCpp.Link( SyracuseaSyracuse , incr_Incr.Port( 'aSyracuse' ) )
-result_CurrentaSyracuse = GraphSyracuseCpp.Link( SyracuseaSyracuse , result_Current.Port( 'aSyracuse' ) )
-result_CurrentaSyracuse.AddCoord( 1 , 590 , 368 )
-result_CurrentaSyracuse.AddCoord( 2 , 590 , 390 )
-result_CurrentaSyracuse.AddCoord( 3 , 388 , 390 )
-result_CurrentaSyracuse.AddCoord( 4 , 388 , 359 )
-result_CountaSyracuse = GraphSyracuseCpp.Link( SyracuseaSyracuse , result_Count.Port( 'aSyracuse' ) )
-result_CountaSyracuse.AddCoord( 1 , 785 , 364 )
-result_CountaSyracuse.AddCoord( 2 , 785 , 391 )
-result_CountaSyracuse.AddCoord( 3 , 389 , 391 )
-result_CountaSyracuse.AddCoord( 4 , 389 , 357 )
-
-# Missing Input datas
-SyracuseanOddInteger = Syracuse.Input( 'anOddInteger' , 7 )
-
-# Creation of Output variables
-test_IsEvenBoolEven = test_IsEven.Port( 'BoolEven' )
-test_IsOneBoolOne = test_IsOne.Port( 'BoolOne' )
-count_incr_Incr = incr_Incr.Port('aSyracuse')
-result_CurrentaCurrent = result_Current.Port( 'aCurrent' )
-
-GraphSyracuseCpp.IsValid()
-GraphSyracuseCpp.LevelMax()
-GraphSyracuseCpp.ThreadsMax()
-
-exec GraphSyracuseCpp.ListNodes()
-SyracuseanOddInteger = Syracuse.Input( 'anOddInteger' , 7 )
-test_IsEvenBoolEven = test_IsEven.Port( 'BoolEven' )
-test_IsOneBoolOne = test_IsOne.Port( 'BoolOne' )
-count_incr_Incr = incr_Incr.Port('aSyracuse')
-result_CurrentaCurrent = result_Current.Port( 'aCurrent' )
-
-
-GraphSyracuseCpp.Start( 7 )
-
-# Suspend des nodes de tete de Syr
-sts = test_IsOne.Suspend()
-sts = test_IsEven.Suspend()
-sts = m3p1_M3p1.Suspend()
-sts = div2_Div2.Suspend()
-sts = incr_Incr.Suspend()
-sts = result_Current.Suspend()
-sts = result_Count.Suspend()
-
-# Ex\81écution du node de tete
-sts = Syracuse.Resume()
-sts = Syracuse.DoneW()
-
-# Attente de suspension de test et demandes de suspension apr\81ès ex\81écution
-sts = test_IsOne.SuspendedW()
-sts = test_IsOne.SuspendDone()
-sts = test_IsEven.SuspendedW()
-sts = test_IsEven.SuspendDone()
-
-# Ex\81écution de test avec la valeur de d\81épart
-sts = test_IsOne.Resume()
-sts = test_IsEven.Resume()
-
-# Attentes de suspension de m3p1, div2, incr et result.
-# Puis demandes de suspension apr\81ès ex\81écution
-sts = m3p1_M3p1.SuspendedW()
-sts = div2_Div2.SuspendedW()
-sts = incr_Incr.SuspendedW()
-sts = result_Current.SuspendedW()
-sts = result_Count.SuspendedW()
-sts = m3p1_M3p1.SuspendDone()
-sts = div2_Div2.SuspendDone()
-sts = incr_Incr.SuspendDone()
-sts = result_Current.SuspendDone()
-
-# Attente de fin d'ex\81écution de test
-sts = test_IsOne.SuspendedW()
-sts = test_IsEven.SuspendedW()
-
-GraphSyracuseCpp.PrintThreads()
-
-IsOneBoolOne = test_IsOneBoolOne.ToString()
-while int( IsOneBoolOne ) == 0 :
- IsEvenBoolEven = test_IsEvenBoolEven.ToString()
- if int( IsEvenBoolEven ) == 0 :
- sts = m3p1_M3p1.ReRun()
- sts = incr_Incr.ReRun()
- sts = m3p1_M3p1.SuspendedW()
- sts = result_Current.ReRun()
- sts = test_IsOne.ReRun()
- sts = test_IsEven.ReRun()
- sts = test_IsOne.SuspendedW()
- sts = test_IsEven.SuspendedW()
- sts = incr_Incr.SuspendedW()
- sts = result_Current.SuspendedW()
- print "m3p1_M3p1",result_CurrentaCurrent.ToString(),IsEvenBoolEven
- IsEvenBoolEven = test_IsEvenBoolEven.ToString()
- while int( IsEvenBoolEven ) == 1 :
- sts = div2_Div2.ReRun()
- sts = incr_Incr.ReRun()
- sts = div2_Div2.SuspendedW()
- sts = result_Current.ReRun()
- sts = test_IsOne.ReRun()
- sts = test_IsEven.ReRun()
- sts = test_IsOne.SuspendedW()
- sts = test_IsEven.SuspendedW()
- sts = incr_Incr.SuspendedW()
- sts = IsEvenBoolEven = test_IsEvenBoolEven.ToString()
- sts = result_Current.SuspendedW()
- print "div2_Div2",result_CurrentaCurrent.ToString(),IsEvenBoolEven
- IsOneBoolOne = test_IsOneBoolOne.ToString()
-
-
-
-GraphSyracuseCpp.PrintThreads()
-sts = m3p1_M3p1.ControlClear()
-sts = m3p1_M3p1.Resume()
-sts = div2_Div2.ControlClear()
-sts = div2_Div2.Resume()
-sts = incr_Incr.ControlClear()
-sts = incr_Incr.Resume()
-sts = test_IsOne.Resume()
-sts = test_IsEven.Resume()
-sts = result_Current.ControlClear()
-sts = result_Current.Resume()
-sts = result_Count.ControlClear()
-sts = result_Count.Resume()
-sts = GraphSyracuseCpp.DoneW()
-GraphSyracuseCpp.PrintPorts()
-GraphSyracuseCpp.PrintThreads()
-
+++ /dev/null
-<?xml version='1.0' encoding='us-ascii' ?>
-
-<!-- XML Dataflow -->
-
-<!-- Dataflow information -->
-<dataflow>
- <info-list>
- <node>
- <component-name>?</component-name>
- <interface-name>?</interface-name>
- <node-name>GraphSyracuseCpp</node-name>
- <kind>1</kind>
- <coupled-node>?</coupled-node>
- <service>
- <service-name>GraphSyracuseCpp</service-name>
- <inParameter-list>
- <inParameter>
- <inParameter-type>long</inParameter-type>
- <inParameter-name>Syracuse\anOddInteger</inParameter-name>
- </inParameter>
- </inParameter-list>
- <outParameter-list>
- <outParameter>
- <outParameter-type>long</outParameter-type>
- <outParameter-name>test_IsEven\BoolEven</outParameter-name>
- </outParameter>
- <outParameter>
- <outParameter-type>long</outParameter-type>
- <outParameter-name>test_IsOne\BoolOne</outParameter-name>
- </outParameter>
- <outParameter>
- <outParameter-type>long</outParameter-type>
- <outParameter-name>result_Current\aCurrent</outParameter-name>
- </outParameter>
- <outParameter>
- <outParameter-type>long</outParameter-type>
- <outParameter-name>result_Count\aCount</outParameter-name>
- </outParameter>
- </outParameter-list>
- </service>
- <Parameter-list>
- </Parameter-list>
- <PyFunction-list>
- </PyFunction-list>
- <creation-date>11/3/2003 - 16:43:27</creation-date>
- <lastmodification-date>11/3/2003 - 16:43:37</lastmodification-date>
- <editor-release>1.04</editor-release>
- <author>JR</author>
- <container>?</container>
- <comment>Syracuse algorithm</comment>
- <x-position>0</x-position>
- <y-position>0</y-position>
- </node>
- </info-list>
-
- <node-list>
- <node>
- <component-name>SyrComponent</component-name>
- <interface-name>SyrComponent</interface-name>
- <node-name>Syracuse</node-name>
- <kind>0</kind>
- <coupled-node>?</coupled-node>
- <service>
- <service-name>Init</service-name>
- <inParameter-list>
- <inParameter>
- <inParameter-type>long</inParameter-type>
- <inParameter-name>anOddInteger</inParameter-name>
- </inParameter>
- </inParameter-list>
- <outParameter-list>
- <outParameter>
- <outParameter-type>Syr</outParameter-type>
- <outParameter-name>aSyracuse</outParameter-name>
- </outParameter>
- </outParameter-list>
- </service>
- <Parameter-list>
- </Parameter-list>
- <PyFunction-list>
- </PyFunction-list>
- <creation-date>11/3/2003 - 16:43:27</creation-date>
- <lastmodification-date>11/3/2003 - 16:43:27</lastmodification-date>
- <editor-release>1.04</editor-release>
- <author>?</author>
- <container>localhost/FactoryServer</container>
- <comment>?</comment>
- <x-position>9</x-position>
- <y-position>207</y-position>
- </node>
- <node>
- <component-name>?</component-name>
- <interface-name>?</interface-name>
- <node-name>test_IsEven</node-name>
- <kind>2</kind>
- <coupled-node>?</coupled-node>
- <service>
- <service-name>IsEven</service-name>
- <inParameter-list>
- <inParameter>
- <inParameter-type>Syr</inParameter-type>
- <inParameter-name>aSyracuse</inParameter-name>
- </inParameter>
- </inParameter-list>
- <outParameter-list>
- <outParameter>
- <outParameter-type>long</outParameter-type>
- <outParameter-name>BoolEven</outParameter-name>
- </outParameter>
- </outParameter-list>
- </service>
- <Parameter-list>
- </Parameter-list>
- <PyFunction-list>
- </PyFunction-list>
- <creation-date>11/3/2003 - 16:43:27</creation-date>
- <lastmodification-date>11/3/2003 - 16:43:27</lastmodification-date>
- <editor-release>1.04</editor-release>
- <author>?</author>
- <container>?</container>
- <comment>?</comment>
- <x-position>197</x-position>
- <y-position>407</y-position>
- </node>
- <node>
- <component-name>?</component-name>
- <interface-name>?</interface-name>
- <node-name>test_IsOne</node-name>
- <kind>2</kind>
- <coupled-node>?</coupled-node>
- <service>
- <service-name>IsOne</service-name>
- <inParameter-list>
- <inParameter>
- <inParameter-type>Syr</inParameter-type>
- <inParameter-name>aSyracuse</inParameter-name>
- </inParameter>
- </inParameter-list>
- <outParameter-list>
- <outParameter>
- <outParameter-type>long</outParameter-type>
- <outParameter-name>BoolOne</outParameter-name>
- </outParameter>
- </outParameter-list>
- </service>
- <Parameter-list>
- </Parameter-list>
- <PyFunction-list>
- </PyFunction-list>
- <creation-date>11/3/2003 - 16:43:27</creation-date>
- <lastmodification-date>11/3/2003 - 16:43:27</lastmodification-date>
- <editor-release>1.04</editor-release>
- <author>?</author>
- <container>?</container>
- <comment>?</comment>
- <x-position>208</x-position>
- <y-position>59</y-position>
- </node>
- <node>
- <component-name>?</component-name>
- <interface-name>?</interface-name>
- <node-name>m3p1_M3p1</node-name>
- <kind>2</kind>
- <coupled-node>?</coupled-node>
- <service>
- <service-name>M3p1</service-name>
- <inParameter-list>
- <inParameter>
- <inParameter-type>Syr</inParameter-type>
- <inParameter-name>aSyracuse</inParameter-name>
- </inParameter>
- </inParameter-list>
- <outParameter-list>
- </outParameter-list>
- </service>
- <Parameter-list>
- </Parameter-list>
- <PyFunction-list>
- </PyFunction-list>
- <creation-date>11/3/2003 - 16:43:27</creation-date>
- <lastmodification-date>11/3/2003 - 16:43:27</lastmodification-date>
- <editor-release>1.04</editor-release>
- <author>?</author>
- <container>?</container>
- <comment>?</comment>
- <x-position>418</x-position>
- <y-position>408</y-position>
- </node>
- <node>
- <component-name>?</component-name>
- <interface-name>?</interface-name>
- <node-name>div2_Div2</node-name>
- <kind>2</kind>
- <coupled-node>?</coupled-node>
- <service>
- <service-name>Div2</service-name>
- <inParameter-list>
- <inParameter>
- <inParameter-type>Syr</inParameter-type>
- <inParameter-name>aSyracuse</inParameter-name>
- </inParameter>
- </inParameter-list>
- <outParameter-list>
- </outParameter-list>
- </service>
- <Parameter-list>
- </Parameter-list>
- <PyFunction-list>
- </PyFunction-list>
- <creation-date>11/3/2003 - 16:43:27</creation-date>
- <lastmodification-date>11/3/2003 - 16:43:27</lastmodification-date>
- <editor-release>1.04</editor-release>
- <author>?</author>
- <container>?</container>
- <comment>?</comment>
- <x-position>414</x-position>
- <y-position>10</y-position>
- </node>
- <node>
- <component-name>?</component-name>
- <interface-name>?</interface-name>
- <node-name>incr_Incr</node-name>
- <kind>2</kind>
- <coupled-node>?</coupled-node>
- <service>
- <service-name>Incr</service-name>
- <inParameter-list>
- <inParameter>
- <inParameter-type>Syr</inParameter-type>
- <inParameter-name>aSyracuse</inParameter-name>
- </inParameter>
- </inParameter-list>
- <outParameter-list>
- </outParameter-list>
- </service>
- <Parameter-list>
- </Parameter-list>
- <PyFunction-list>
- </PyFunction-list>
- <creation-date>11/3/2003 - 16:43:27</creation-date>
- <lastmodification-date>11/3/2003 - 16:43:27</lastmodification-date>
- <editor-release>1.04</editor-release>
- <author>?</author>
- <container>?</container>
- <comment>?</comment>
- <x-position>416</x-position>
- <y-position>207</y-position>
- </node>
- <node>
- <component-name>?</component-name>
- <interface-name>?</interface-name>
- <node-name>result_Current</node-name>
- <kind>2</kind>
- <coupled-node>?</coupled-node>
- <service>
- <service-name>Current</service-name>
- <inParameter-list>
- <inParameter>
- <inParameter-type>Syr</inParameter-type>
- <inParameter-name>aSyracuse</inParameter-name>
- </inParameter>
- </inParameter-list>
- <outParameter-list>
- <outParameter>
- <outParameter-type>long</outParameter-type>
- <outParameter-name>aCurrent</outParameter-name>
- </outParameter>
- </outParameter-list>
- </service>
- <Parameter-list>
- </Parameter-list>
- <PyFunction-list>
- </PyFunction-list>
- <creation-date>11/3/2003 - 16:43:27</creation-date>
- <lastmodification-date>11/3/2003 - 16:43:27</lastmodification-date>
- <editor-release>1.04</editor-release>
- <author>?</author>
- <container>?</container>
- <comment>?</comment>
- <x-position>603</x-position>
- <y-position>216</y-position>
- </node>
- <node>
- <component-name>?</component-name>
- <interface-name>?</interface-name>
- <node-name>result_Count</node-name>
- <kind>2</kind>
- <coupled-node>?</coupled-node>
- <service>
- <service-name>Count</service-name>
- <inParameter-list>
- <inParameter>
- <inParameter-type>Syr</inParameter-type>
- <inParameter-name>aSyracuse</inParameter-name>
- </inParameter>
- </inParameter-list>
- <outParameter-list>
- <outParameter>
- <outParameter-type>long</outParameter-type>
- <outParameter-name>aCount</outParameter-name>
- </outParameter>
- </outParameter-list>
- </service>
- <Parameter-list>
- </Parameter-list>
- <PyFunction-list>
- </PyFunction-list>
- <creation-date>11/3/2003 - 16:43:27</creation-date>
- <lastmodification-date>11/3/2003 - 16:43:27</lastmodification-date>
- <editor-release>1.04</editor-release>
- <author>?</author>
- <container>?</container>
- <comment>?</comment>
- <x-position>803</x-position>
- <y-position>212</y-position>
- </node>
- </node-list>
-
- <link-list>
- <link>
- <fromnode-name>Syracuse</fromnode-name>
- <fromserviceparameter-name>aSyracuse</fromserviceparameter-name>
- <tonode-name>test_IsEven</tonode-name>
- <toserviceparameter-name>aSyracuse</toserviceparameter-name>
- <coord-list>
- <coord>
- <x>175</x>
- <y>559</y>
- </coord>
- <coord>
- <x>175</x>
- <y>359</y>
- </coord>
- </coord-list>
- </link>
- <link>
- <fromnode-name>Syracuse</fromnode-name>
- <fromserviceparameter-name>aSyracuse</fromserviceparameter-name>
- <tonode-name>test_IsOne</tonode-name>
- <toserviceparameter-name>aSyracuse</toserviceparameter-name>
- <coord-list>
- <coord>
- <x>177</x>
- <y>211</y>
- </coord>
- <coord>
- <x>177</x>
- <y>359</y>
- </coord>
- </coord-list>
- </link>
- <link>
- <fromnode-name>Syracuse</fromnode-name>
- <fromserviceparameter-name>aSyracuse</fromserviceparameter-name>
- <tonode-name>m3p1_M3p1</tonode-name>
- <toserviceparameter-name>aSyracuse</toserviceparameter-name>
- <coord-list>
- <coord>
- <x>388</x>
- <y>560</y>
- </coord>
- <coord>
- <x>388</x>
- <y>359</y>
- </coord>
- </coord-list>
- </link>
- <link>
- <fromnode-name>Syracuse</fromnode-name>
- <fromserviceparameter-name>aSyracuse</fromserviceparameter-name>
- <tonode-name>div2_Div2</tonode-name>
- <toserviceparameter-name>aSyracuse</toserviceparameter-name>
- <coord-list>
- <coord>
- <x>389</x>
- <y>162</y>
- </coord>
- <coord>
- <x>389</x>
- <y>359</y>
- </coord>
- </coord-list>
- </link>
- <link>
- <fromnode-name>Syracuse</fromnode-name>
- <fromserviceparameter-name>aSyracuse</fromserviceparameter-name>
- <tonode-name>incr_Incr</tonode-name>
- <toserviceparameter-name>aSyracuse</toserviceparameter-name>
- <coord-list>
- </coord-list>
- </link>
- <link>
- <fromnode-name>Syracuse</fromnode-name>
- <fromserviceparameter-name>aSyracuse</fromserviceparameter-name>
- <tonode-name>result_Current</tonode-name>
- <toserviceparameter-name>aSyracuse</toserviceparameter-name>
- <coord-list>
- <coord>
- <x>590</x>
- <y>368</y>
- </coord>
- <coord>
- <x>590</x>
- <y>390</y>
- </coord>
- <coord>
- <x>388</x>
- <y>390</y>
- </coord>
- <coord>
- <x>388</x>
- <y>359</y>
- </coord>
- </coord-list>
- </link>
- <link>
- <fromnode-name>Syracuse</fromnode-name>
- <fromserviceparameter-name>aSyracuse</fromserviceparameter-name>
- <tonode-name>result_Count</tonode-name>
- <toserviceparameter-name>aSyracuse</toserviceparameter-name>
- <coord-list>
- <coord>
- <x>785</x>
- <y>364</y>
- </coord>
- <coord>
- <x>785</x>
- <y>391</y>
- </coord>
- <coord>
- <x>389</x>
- <y>391</y>
- </coord>
- <coord>
- <x>389</x>
- <y>357</y>
- </coord>
- </coord-list>
- </link>
- </link-list>
-
- <data-list>
- <data>
- <fromnode-name>GraphSyracuseCpp</fromnode-name>
- <fromserviceparameter-name>Syracuse\anOddInteger</fromserviceparameter-name>
- <tonode-name>Syracuse</tonode-name>
- <toserviceparameter-name>anOddInteger</toserviceparameter-name>
- <data-value>
- <value-type>3</value-type>
- <value>31</value>
- </data-value>
- <coord-list>
- </coord-list>
- </data>
- </data-list>
-
-</dataflow>
+++ /dev/null
-
-# Generated python file of Graph GraphTypesCheck
-
-from SuperV import *
-# Graph creation
-GraphTypesCheck = Graph( 'GraphTypesCheck' )
-GraphTypesCheck.SetName( 'GraphTypesCheck' )
-GraphTypesCheck.SetAuthor( 'JR' )
-GraphTypesCheck.SetComment( '' )
-GraphTypesCheck.Coords( 0 , 0 )
-
-# Creation of Factory Nodes
-
-BoolCheck = GraphTypesCheck.FNode( 'TypesCheck' , 'TypesCheck' , 'BoolCheck' )
-BoolCheck.SetName( 'BoolCheck' )
-BoolCheck.SetAuthor( '' )
-BoolCheck.SetContainer( 'localhost/FactoryServer' )
-BoolCheck.SetComment( 'BoolCheck from TypesCheck' )
-BoolCheck.Coords( 202 , 108 )
-
-CharCheck = GraphTypesCheck.FNode( 'TypesCheck' , 'TypesCheck' , 'CharCheck' )
-CharCheck.SetName( 'CharCheck' )
-CharCheck.SetAuthor( '' )
-CharCheck.SetContainer( 'localhost/FactoryServer' )
-CharCheck.SetComment( 'CharCheck from TypesCheck' )
-CharCheck.Coords( 13 , 166 )
-
-ShortCheck = GraphTypesCheck.FNode( 'TypesCheck' , 'TypesCheck' , 'ShortCheck' )
-ShortCheck.SetName( 'ShortCheck' )
-ShortCheck.SetAuthor( '' )
-ShortCheck.SetContainer( 'localhost/FactoryServer' )
-ShortCheck.SetComment( 'ShortCheck from TypesCheck' )
-ShortCheck.Coords( 205 , 258 )
-
-FloatCheck = GraphTypesCheck.FNode( 'TypesCheck' , 'TypesCheck' , 'FloatCheck' )
-FloatCheck.SetName( 'FloatCheck' )
-FloatCheck.SetAuthor( '' )
-FloatCheck.SetContainer( 'localhost/FactoryServer' )
-FloatCheck.SetComment( 'FloatCheck from TypesCheck' )
-FloatCheck.Coords( 204 , 409 )
-
-Addition = GraphTypesCheck.FNode( 'AddComponent' , 'AddComponent' , 'Addition' )
-Addition.SetName( 'Addition' )
-Addition.SetAuthor( '' )
-Addition.SetContainer( 'localhost/FactoryServer' )
-Addition.SetComment( 'Addition from AddComponent' )
-Addition.Coords( 16 , 459 )
-
-LongCheck = GraphTypesCheck.FNode( 'TypesCheck' , 'TypesCheck' , 'LongCheck' )
-LongCheck.SetName( 'LongCheck' )
-LongCheck.SetAuthor( '' )
-LongCheck.SetContainer( 'localhost/FactoryServer' )
-LongCheck.SetComment( 'LongCheck from TypesCheck' )
-LongCheck.Coords( 17 , 318 )
-
-MiscTypes = GraphTypesCheck.FNode( 'TypesCheck' , 'TypesCheck' , 'MiscTypes' )
-MiscTypes.SetName( 'MiscTypes' )
-MiscTypes.SetAuthor( '' )
-MiscTypes.SetContainer( 'localhost/FactoryServer' )
-MiscTypes.SetComment( 'MiscTypes from TypesCheck' )
-MiscTypes.Coords( 431 , 170 )
-
-StringCheck = GraphTypesCheck.FNode( 'TypesCheck' , 'TypesCheck' , 'StringCheck' )
-StringCheck.SetName( 'StringCheck' )
-StringCheck.SetAuthor( '' )
-StringCheck.SetContainer( 'localhost/FactoryServer' )
-StringCheck.SetComment( 'StringCheck from TypesCheck' )
-StringCheck.Coords( 13 , 10 )
-
-# Creation of Links
-BoolCheckOutBool = BoolCheck.Port( 'OutBool' )
-MiscTypesInBool = GraphTypesCheck.Link( BoolCheckOutBool , MiscTypes.Port( 'InBool' ) )
-MiscTypesInBool.AddCoord( 1 , 402 , 280 )
-MiscTypesInBool.AddCoord( 2 , 401 , 188 )
-
-CharCheckOutChar = CharCheck.Port( 'OutChar' )
-MiscTypesInChar = GraphTypesCheck.Link( CharCheckOutChar , MiscTypes.Port( 'InChar' ) )
-MiscTypesInChar.AddCoord( 1 , 382 , 307 )
-MiscTypesInChar.AddCoord( 2 , 382 , 247 )
-
-ShortCheckOutShort = ShortCheck.Port( 'OutShort' )
-MiscTypesInShort = GraphTypesCheck.Link( ShortCheckOutShort , MiscTypes.Port( 'InShort' ) )
-
-FloatCheckOutFloat = FloatCheck.Port( 'OutFloat' )
-MiscTypesInFloat = GraphTypesCheck.Link( FloatCheckOutFloat , MiscTypes.Port( 'InFloat' ) )
-MiscTypesInFloat.AddCoord( 1 , 400 , 395 )
-MiscTypesInFloat.AddCoord( 2 , 399 , 490 )
-
-AdditionAdder = Addition.Port( 'Adder' )
-MiscTypesInObjRef = GraphTypesCheck.Link( AdditionAdder , MiscTypes.Port( 'InObjRef' ) )
-MiscTypesInObjRef.AddCoord( 1 , 415 , 453 )
-MiscTypesInObjRef.AddCoord( 2 , 415 , 540 )
-
-LongCheckOutLong = LongCheck.Port( 'OutLong' )
-MiscTypesInLong = GraphTypesCheck.Link( LongCheckOutLong , MiscTypes.Port( 'InLong' ) )
-MiscTypesInLong.AddCoord( 1 , 383 , 367 )
-MiscTypesInLong.AddCoord( 2 , 383 , 399 )
-
-StringCheckOutString = StringCheck.Port( 'OutString' )
-MiscTypesInString = GraphTypesCheck.Link( StringCheckOutString , MiscTypes.Port( 'InString' ) )
-MiscTypesInString.AddCoord( 1 , 412 , 251 )
-MiscTypesInString.AddCoord( 2 , 411 , 91 )
-
-# Creation of Input datas
-BoolCheckInBool = BoolCheck.Input( 'InBool' , 1)
-CharCheckInChar = CharCheck.Input( 'InChar' , 255)
-ShortCheckInShort = ShortCheck.Input( 'InShort' , 16383)
-FloatCheckInFloat = FloatCheck.Input( 'InFloat' , 3.14159)
-LongCheckInLong = LongCheck.Input( 'InLong' , 2147483647)
-MiscTypesInDouble = MiscTypes.Input( 'InDouble' , 3.14159)
-StringCheckInString = StringCheck.Input( 'InString' , 'aString')
-
-# Creation of Output variables
-MiscTypesOutString = MiscTypes.Port( 'OutString' )
-MiscTypesOutBool = MiscTypes.Port( 'OutBool' )
-MiscTypesOutChar = MiscTypes.Port( 'OutChar' )
-MiscTypesOutShort = MiscTypes.Port( 'OutShort' )
-MiscTypesOutLong = MiscTypes.Port( 'OutLong' )
-MiscTypesOutFloat = MiscTypes.Port( 'OutFloat' )
-MiscTypesOutDouble = MiscTypes.Port( 'OutDouble' )
-MiscTypesOutObjRef = MiscTypes.Port( 'OutObjRef' )
-
-GraphTypesCheck.Run()
-GraphTypesCheck.DoneW()
-GraphTypesCheck.PrintPorts()
+++ /dev/null
-<!DOCTYPE Dataflow>
-<dataflow>
-<info-list>
-<node>
-<component-name>?</component-name>
- <interface-name>?</interface-name>
- <node-name>GraphTypesCheck</node-name>
- <kind>1</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>GraphTypesCheck</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>boolean</inParameter-type>
- <inParameter-name>BoolCheck\InBool</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>char</inParameter-type>
- <inParameter-name>CharCheck\InChar</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>short</inParameter-type>
- <inParameter-name>ShortCheck\InShort</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>float</inParameter-type>
- <inParameter-name>FloatCheck\InFloat</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>LongCheck\InLong</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>double</inParameter-type>
- <inParameter-name>MiscTypes\InDouble</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>string</inParameter-type>
- <inParameter-name>StringCheck\InString</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>string</outParameter-type>
- <outParameter-name>MiscTypes\OutString</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>boolean</outParameter-type>
- <outParameter-name>MiscTypes\OutBool</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>char</outParameter-type>
- <outParameter-name>MiscTypes\OutChar</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>short</outParameter-type>
- <outParameter-name>MiscTypes\OutShort</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>MiscTypes\OutLong</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>float</outParameter-type>
- <outParameter-name>MiscTypes\OutFloat</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>double</outParameter-type>
- <outParameter-name>MiscTypes\OutDouble</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>SuperVisionTest::Adder</outParameter-type>
- <outParameter-name>MiscTypes\OutObjRef</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list/>
- <creation-date>11/9/2003 - 10:53:21</creation-date>
- <lastmodification-date>11/9/2003 - 14:45:54</lastmodification-date>
- <editor-release>1.05</editor-release>
- <author>JR</author>
- <container>?</container>
- <comment>?</comment>
- <x-position>0</x-position>
- <y-position>0</y-position> </node> </info-list>
- <node-list>
-<node>
-<component-name>TypesCheck</component-name>
- <interface-name>TypesCheck</interface-name>
- <node-name>BoolCheck</node-name>
- <kind>0</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>BoolCheck</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>boolean</inParameter-type>
- <inParameter-name>InBool</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>boolean</outParameter-type>
- <outParameter-name>OutBool</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list/>
- <creation-date>11/9/2003 - 14:45:53</creation-date>
- <lastmodification-date>11/9/2003 - 14:45:53</lastmodification-date>
- <editor-release>1.05</editor-release>
- <author>?</author>
- <container>localhost/FactoryServer</container>
- <comment>BoolCheck from TypesCheck</comment>
- <x-position>202</x-position>
- <y-position>108</y-position> </node>
- <node>
-<component-name>TypesCheck</component-name>
- <interface-name>TypesCheck</interface-name>
- <node-name>CharCheck</node-name>
- <kind>0</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>CharCheck</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>char</inParameter-type>
- <inParameter-name>InChar</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>char</outParameter-type>
- <outParameter-name>OutChar</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list/>
- <creation-date>11/9/2003 - 14:45:53</creation-date>
- <lastmodification-date>11/9/2003 - 14:45:53</lastmodification-date>
- <editor-release>1.05</editor-release>
- <author>?</author>
- <container>localhost/FactoryServer</container>
- <comment>CharCheck from TypesCheck</comment>
- <x-position>13</x-position>
- <y-position>166</y-position> </node>
- <node>
-<component-name>TypesCheck</component-name>
- <interface-name>TypesCheck</interface-name>
- <node-name>ShortCheck</node-name>
- <kind>0</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>ShortCheck</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>short</inParameter-type>
- <inParameter-name>InShort</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>short</outParameter-type>
- <outParameter-name>OutShort</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list/>
- <creation-date>11/9/2003 - 14:45:53</creation-date>
- <lastmodification-date>11/9/2003 - 14:45:53</lastmodification-date>
- <editor-release>1.05</editor-release>
- <author>?</author>
- <container>localhost/FactoryServer</container>
- <comment>ShortCheck from TypesCheck</comment>
- <x-position>205</x-position>
- <y-position>258</y-position> </node>
- <node>
-<component-name>TypesCheck</component-name>
- <interface-name>TypesCheck</interface-name>
- <node-name>FloatCheck</node-name>
- <kind>0</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>FloatCheck</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>float</inParameter-type>
- <inParameter-name>InFloat</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>float</outParameter-type>
- <outParameter-name>OutFloat</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list/>
- <creation-date>11/9/2003 - 14:45:53</creation-date>
- <lastmodification-date>11/9/2003 - 14:45:53</lastmodification-date>
- <editor-release>1.05</editor-release>
- <author>?</author>
- <container>localhost/FactoryServer</container>
- <comment>FloatCheck from TypesCheck</comment>
- <x-position>204</x-position>
- <y-position>409</y-position> </node>
- <node>
-<component-name>AddComponent</component-name>
- <interface-name>AddComponent</interface-name>
- <node-name>Addition</node-name>
- <kind>0</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>Addition</service-name>
- <inParameter-list/>
- <outParameter-list>
-<outParameter>
-<outParameter-type>objref</outParameter-type>
- <outParameter-name>Adder</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list/>
- <creation-date>11/9/2003 - 14:45:53</creation-date>
- <lastmodification-date>11/9/2003 - 14:45:53</lastmodification-date>
- <editor-release>1.05</editor-release>
- <author>?</author>
- <container>localhost/FactoryServer</container>
- <comment>Addition from AddComponent</comment>
- <x-position>16</x-position>
- <y-position>459</y-position> </node>
- <node>
-<component-name>TypesCheck</component-name>
- <interface-name>TypesCheck</interface-name>
- <node-name>LongCheck</node-name>
- <kind>0</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>LongCheck</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>InLong</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>OutLong</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list/>
- <creation-date>11/9/2003 - 14:45:53</creation-date>
- <lastmodification-date>11/9/2003 - 14:45:53</lastmodification-date>
- <editor-release>1.05</editor-release>
- <author>?</author>
- <container>localhost/FactoryServer</container>
- <comment>LongCheck from TypesCheck</comment>
- <x-position>17</x-position>
- <y-position>318</y-position> </node>
- <node>
-<component-name>TypesCheck</component-name>
- <interface-name>TypesCheck</interface-name>
- <node-name>MiscTypes</node-name>
- <kind>0</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>MiscTypes</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>string</inParameter-type>
- <inParameter-name>InString</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>boolean</inParameter-type>
- <inParameter-name>InBool</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>char</inParameter-type>
- <inParameter-name>InChar</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>short</inParameter-type>
- <inParameter-name>InShort</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>InLong</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>float</inParameter-type>
- <inParameter-name>InFloat</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>double</inParameter-type>
- <inParameter-name>InDouble</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>SuperVisionTest::Adder</inParameter-type>
- <inParameter-name>InObjRef</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>string</outParameter-type>
- <outParameter-name>OutString</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>boolean</outParameter-type>
- <outParameter-name>OutBool</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>char</outParameter-type>
- <outParameter-name>OutChar</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>short</outParameter-type>
- <outParameter-name>OutShort</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>OutLong</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>float</outParameter-type>
- <outParameter-name>OutFloat</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>double</outParameter-type>
- <outParameter-name>OutDouble</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>SuperVisionTest::Adder</outParameter-type>
- <outParameter-name>OutObjRef</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list/>
- <creation-date>11/9/2003 - 14:45:53</creation-date>
- <lastmodification-date>11/9/2003 - 14:45:53</lastmodification-date>
- <editor-release>1.05</editor-release>
- <author>?</author>
- <container>localhost/FactoryServer</container>
- <comment>MiscTypes from TypesCheck</comment>
- <x-position>431</x-position>
- <y-position>170</y-position> </node>
- <node>
-<component-name>TypesCheck</component-name>
- <interface-name>TypesCheck</interface-name>
- <node-name>StringCheck</node-name>
- <kind>0</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>StringCheck</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>string</inParameter-type>
- <inParameter-name>InString</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>string</outParameter-type>
- <outParameter-name>OutString</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list/>
- <creation-date>11/9/2003 - 14:45:53</creation-date>
- <lastmodification-date>11/9/2003 - 14:45:53</lastmodification-date>
- <editor-release>1.05</editor-release>
- <author>?</author>
- <container>localhost/FactoryServer</container>
- <comment>StringCheck from TypesCheck</comment>
- <x-position>13</x-position>
- <y-position>10</y-position> </node> </node-list>
- <link-list>
-<link>
-<fromnode-name>BoolCheck</fromnode-name>
- <fromserviceparameter-name>OutBool</fromserviceparameter-name>
- <tonode-name>MiscTypes</tonode-name>
- <toserviceparameter-name>InBool</toserviceparameter-name>
- <coord-list>
-<coord>
-<x>402</x>
- <y>280</y> </coord>
- <coord>
-<x>401</x>
- <y>188</y> </coord> </coord-list> </link>
- <link>
-<fromnode-name>CharCheck</fromnode-name>
- <fromserviceparameter-name>OutChar</fromserviceparameter-name>
- <tonode-name>MiscTypes</tonode-name>
- <toserviceparameter-name>InChar</toserviceparameter-name>
- <coord-list>
-<coord>
-<x>382</x>
- <y>307</y> </coord>
- <coord>
-<x>382</x>
- <y>247</y> </coord> </coord-list> </link>
- <link>
-<fromnode-name>ShortCheck</fromnode-name>
- <fromserviceparameter-name>OutShort</fromserviceparameter-name>
- <tonode-name>MiscTypes</tonode-name>
- <toserviceparameter-name>InShort</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>FloatCheck</fromnode-name>
- <fromserviceparameter-name>OutFloat</fromserviceparameter-name>
- <tonode-name>MiscTypes</tonode-name>
- <toserviceparameter-name>InFloat</toserviceparameter-name>
- <coord-list>
-<coord>
-<x>400</x>
- <y>395</y> </coord>
- <coord>
-<x>399</x>
- <y>490</y> </coord> </coord-list> </link>
- <link>
-<fromnode-name>Addition</fromnode-name>
- <fromserviceparameter-name>Adder</fromserviceparameter-name>
- <tonode-name>MiscTypes</tonode-name>
- <toserviceparameter-name>InObjRef</toserviceparameter-name>
- <coord-list>
-<coord>
-<x>415</x>
- <y>453</y> </coord>
- <coord>
-<x>415</x>
- <y>540</y> </coord> </coord-list> </link>
- <link>
-<fromnode-name>LongCheck</fromnode-name>
- <fromserviceparameter-name>OutLong</fromserviceparameter-name>
- <tonode-name>MiscTypes</tonode-name>
- <toserviceparameter-name>InLong</toserviceparameter-name>
- <coord-list>
-<coord>
-<x>383</x>
- <y>367</y> </coord>
- <coord>
-<x>383</x>
- <y>399</y> </coord> </coord-list> </link>
- <link>
-<fromnode-name>StringCheck</fromnode-name>
- <fromserviceparameter-name>OutString</fromserviceparameter-name>
- <tonode-name>MiscTypes</tonode-name>
- <toserviceparameter-name>InString</toserviceparameter-name>
- <coord-list>
-<coord>
-<x>412</x>
- <y>251</y> </coord>
- <coord>
-<x>411</x>
- <y>91</y> </coord> </coord-list> </link> </link-list>
- <data-list>
-<data>
-<fromnode-name>GraphTypesCheck</fromnode-name>
- <fromserviceparameter-name>BoolCheck\InBool</fromserviceparameter-name>
- <tonode-name>BoolCheck</tonode-name>
- <toserviceparameter-name>InBool</toserviceparameter-name>
- <data-value>
-<value-type>3</value-type>
- <value>1</value> </data-value>
- <coord-list/> </data>
- <data>
-<fromnode-name>GraphTypesCheck</fromnode-name>
- <fromserviceparameter-name>CharCheck\InChar</fromserviceparameter-name>
- <tonode-name>CharCheck</tonode-name>
- <toserviceparameter-name>InChar</toserviceparameter-name>
- <data-value>
-<value-type>3</value-type>
- <value>255</value> </data-value>
- <coord-list/> </data>
- <data>
-<fromnode-name>GraphTypesCheck</fromnode-name>
- <fromserviceparameter-name>ShortCheck\InShort</fromserviceparameter-name>
- <tonode-name>ShortCheck</tonode-name>
- <toserviceparameter-name>InShort</toserviceparameter-name>
- <data-value>
-<value-type>3</value-type>
- <value>16383</value> </data-value>
- <coord-list/> </data>
- <data>
-<fromnode-name>GraphTypesCheck</fromnode-name>
- <fromserviceparameter-name>FloatCheck\InFloat</fromserviceparameter-name>
- <tonode-name>FloatCheck</tonode-name>
- <toserviceparameter-name>InFloat</toserviceparameter-name>
- <data-value>
-<value-type>7</value-type>
- <value>3.14159</value> </data-value>
- <coord-list/> </data>
- <data>
-<fromnode-name>GraphTypesCheck</fromnode-name>
- <fromserviceparameter-name>LongCheck\InLong</fromserviceparameter-name>
- <tonode-name>LongCheck</tonode-name>
- <toserviceparameter-name>InLong</toserviceparameter-name>
- <data-value>
-<value-type>3</value-type>
- <value>2147483647</value> </data-value>
- <coord-list/> </data>
- <data>
-<fromnode-name>GraphTypesCheck</fromnode-name>
- <fromserviceparameter-name>MiscTypes\InDouble</fromserviceparameter-name>
- <tonode-name>MiscTypes</tonode-name>
- <toserviceparameter-name>InDouble</toserviceparameter-name>
- <data-value>
-<value-type>7</value-type>
- <value>3.14159</value> </data-value>
- <coord-list/> </data>
- <data>
-<fromnode-name>GraphTypesCheck</fromnode-name>
- <fromserviceparameter-name>StringCheck\InString</fromserviceparameter-name>
- <tonode-name>StringCheck</tonode-name>
- <toserviceparameter-name>InString</toserviceparameter-name>
- <data-value>
-<value-type>18</value-type>
- <value>aString</value> </data-value>
- <coord-list/> </data> </data-list></dataflow>
+++ /dev/null
-
-# Generated python file of Graph GraphEssai
-
-from SuperV import *
-# Graph creation
-GraphUnValid = Graph( 'GraphUnValid' )
-GraphUnValid.SetName( 'GraphUnValid' )
-GraphUnValid.SetAuthor( '' )
-GraphUnValid.SetComment( '' )
-GraphUnValid.Coords( 0 , 0 )
-
-# Creation of Factory Nodes
-
-Add = GraphUnValid.FNode( 'AddComponent' , 'AddComponent' , 'Add' )
-Add.SetName( 'Add' )
-Add.SetAuthor( '' )
-Add.SetContainer( 'FactoryServer' )
-Add.SetComment( 'Add from AddComponent' )
-Add.Coords( 8 , 62 )
-
-Sub = GraphUnValid.FNode( 'SubComponent' , 'SubComponent' , 'Sub' )
-Sub.SetName( 'Sub' )
-Sub.SetAuthor( '' )
-Sub.SetContainer( 'FactoryServer' )
-Sub.SetComment( 'Sub from SubComponent' )
-Sub.Coords( 203 , 4 )
-
-Mul = GraphUnValid.FNode( 'MulComponent' , 'MulComponent' , 'Mul' )
-Mul.SetName( 'Mul' )
-Mul.SetAuthor( '' )
-Mul.SetContainer( 'FactoryServer' )
-Mul.SetComment( 'Mul from MulComponent' )
-Mul.Coords( 390 , 62 )
-
-Div = GraphUnValid.FNode( 'DivComponent' , 'DivComponent' , 'Div' )
-Div.SetName( 'Div' )
-Div.SetAuthor( '' )
-Div.SetContainer( 'FactoryServer' )
-Div.SetComment( 'Div from DivComponent' )
-Div.Coords( 575 , 11 )
-
-# Creation of Links
-Addz = Add.Port( 'z' )
-Muly = GraphUnValid.Link( Addz , Mul.Port( 'y' ) )
-
-Suby = GraphUnValid.Link( Addz , Sub.Port( 'y' ) )
-Suby.AddCoord( 1 , 182 , 113 )
-Suby.AddCoord( 2 , 183 , 170 )
-
-Subz = Sub.Port( 'z' )
-Divx = GraphUnValid.Link( Subz , Div.Port( 'x' ) )
-Divx.AddCoord( 1 , 566 , 91 )
-Divx.AddCoord( 2 , 566 , 49 )
-Divx.AddCoord( 3 , 380 , 49 )
-Divx.AddCoord( 4 , 379 , 84 )
-
-Mulx = GraphUnValid.Link( Subz , Mul.Port( 'x' ) )
-Mulx.AddCoord( 1 , 379 , 141 )
-Mulx.AddCoord( 2 , 378 , 85 )
-
-Mulz = Mul.Port( 'z' )
-Divy = GraphUnValid.Link( Mulz , Div.Port( 'y' ) )
-Divy.AddCoord( 1 , 565 , 120 )
-Divy.AddCoord( 2 , 565 , 141 )
-
-Subx = GraphUnValid.Link( Mulz , Sub.Port( 'x' ) )
-Subx.AddCoord( 1 , 194 , 84 )
-Subx.AddCoord( 2 , 195 , 252 )
-Subx.AddCoord( 3 , 566 , 252 )
-Subx.AddCoord( 4 , 565 , 141 )
-
-# Creation of Output variables
-AddFuncValue = Add.Port( 'FuncValue' )
-Divz = Div.Port( 'z' )
-
-GraphInLinesUnValid.IsValid()
-
-# Creation of Output variables
-GraphUnValid.Run()
-
-GraphUnValid.IsDone()
-
-GraphUnValid.State()
-
-GraphUnValid.PrintPorts()
-
+++ /dev/null
-<!DOCTYPE Dataflow>
-<dataflow>
-<info-list>
-<node>
-<component-name>?</component-name>
- <interface-name>?</interface-name>
- <node-name>GraphEssai</node-name>
- <kind>1</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>GraphEssai</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>double</inParameter-type>
- <inParameter-name>Add\x</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>double</inParameter-type>
- <inParameter-name>Add\y</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>double</outParameter-type>
- <outParameter-name>Add\FuncValue</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>double</outParameter-type>
- <outParameter-name>Div\z</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list/>
- <creation-date>11/3/2003 - 9:58:58</creation-date>
- <lastmodification-date>8/8/2003 - 15:33:21</lastmodification-date>
- <editor-release>1.04</editor-release>
- <author>?</author>
- <container>?</container>
- <comment>?</comment>
- <x-position>0</x-position>
- <y-position>0</y-position> </node> </info-list>
- <node-list>
-<node>
-<component-name>AddComponent</component-name>
- <interface-name>AddComponent</interface-name>
- <node-name>Add</node-name>
- <kind>0</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>Add</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>double</inParameter-type>
- <inParameter-name>x</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>double</inParameter-type>
- <inParameter-name>y</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>double</outParameter-type>
- <outParameter-name>FuncValue</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>double</outParameter-type>
- <outParameter-name>z</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list/>
- <creation-date>8/8/2003 - 15:32:31</creation-date>
- <lastmodification-date>8/8/2003 - 15:32:31</lastmodification-date>
- <editor-release>1.04</editor-release>
- <author>?</author>
- <container>FactoryServer</container>
- <comment>Add from AddComponent</comment>
- <x-position>8</x-position>
- <y-position>62</y-position> </node>
- <node>
-<component-name>SubComponent</component-name>
- <interface-name>SubComponent</interface-name>
- <node-name>Sub</node-name>
- <kind>0</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>Sub</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>double</inParameter-type>
- <inParameter-name>x</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>double</inParameter-type>
- <inParameter-name>y</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>double</outParameter-type>
- <outParameter-name>z</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list/>
- <creation-date>8/8/2003 - 15:32:31</creation-date>
- <lastmodification-date>8/8/2003 - 15:32:31</lastmodification-date>
- <editor-release>1.04</editor-release>
- <author>?</author>
- <container>FactoryServer</container>
- <comment>Sub from SubComponent</comment>
- <x-position>203</x-position>
- <y-position>4</y-position> </node>
- <node>
-<component-name>MulComponent</component-name>
- <interface-name>MulComponent</interface-name>
- <node-name>Mul</node-name>
- <kind>0</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>Mul</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>double</inParameter-type>
- <inParameter-name>x</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>double</inParameter-type>
- <inParameter-name>y</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>double</outParameter-type>
- <outParameter-name>z</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list/>
- <creation-date>8/8/2003 - 15:32:31</creation-date>
- <lastmodification-date>8/8/2003 - 15:32:31</lastmodification-date>
- <editor-release>1.04</editor-release>
- <author>?</author>
- <container>FactoryServer</container>
- <comment>Mul from MulComponent</comment>
- <x-position>390</x-position>
- <y-position>62</y-position> </node>
- <node>
-<component-name>DivComponent</component-name>
- <interface-name>DivComponent</interface-name>
- <node-name>Div</node-name>
- <kind>0</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>Div</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>double</inParameter-type>
- <inParameter-name>x</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>double</inParameter-type>
- <inParameter-name>y</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>double</outParameter-type>
- <outParameter-name>z</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list/>
- <creation-date>8/8/2003 - 15:32:31</creation-date>
- <lastmodification-date>8/8/2003 - 15:32:31</lastmodification-date>
- <editor-release>1.04</editor-release>
- <author>?</author>
- <container>FactoryServer</container>
- <comment>Div from DivComponent</comment>
- <x-position>575</x-position>
- <y-position>11</y-position> </node> </node-list>
- <link-list>
-<link>
-<fromnode-name>Add</fromnode-name>
- <fromserviceparameter-name>z</fromserviceparameter-name>
- <tonode-name>Mul</tonode-name>
- <toserviceparameter-name>y</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>Add</fromnode-name>
- <fromserviceparameter-name>z</fromserviceparameter-name>
- <tonode-name>Sub</tonode-name>
- <toserviceparameter-name>y</toserviceparameter-name>
- <coord-list>
-<coord>
-<x>182</x>
- <y>113</y> </coord>
- <coord>
-<x>183</x>
- <y>170</y> </coord> </coord-list> </link>
- <link>
-<fromnode-name>Sub</fromnode-name>
- <fromserviceparameter-name>z</fromserviceparameter-name>
- <tonode-name>Div</tonode-name>
- <toserviceparameter-name>x</toserviceparameter-name>
- <coord-list>
-<coord>
-<x>566</x>
- <y>91</y> </coord>
- <coord>
-<x>566</x>
- <y>49</y> </coord>
- <coord>
-<x>380</x>
- <y>49</y> </coord>
- <coord>
-<x>379</x>
- <y>84</y> </coord> </coord-list> </link>
- <link>
-<fromnode-name>Sub</fromnode-name>
- <fromserviceparameter-name>z</fromserviceparameter-name>
- <tonode-name>Mul</tonode-name>
- <toserviceparameter-name>x</toserviceparameter-name>
- <coord-list>
-<coord>
-<x>379</x>
- <y>141</y> </coord>
- <coord>
-<x>378</x>
- <y>85</y> </coord> </coord-list> </link>
- <link>
-<fromnode-name>Mul</fromnode-name>
- <fromserviceparameter-name>z</fromserviceparameter-name>
- <tonode-name>Div</tonode-name>
- <toserviceparameter-name>y</toserviceparameter-name>
- <coord-list>
-<coord>
-<x>565</x>
- <y>120</y> </coord>
- <coord>
-<x>565</x>
- <y>141</y> </coord> </coord-list> </link>
- <link>
-<fromnode-name>Mul</fromnode-name>
- <fromserviceparameter-name>z</fromserviceparameter-name>
- <tonode-name>Sub</tonode-name>
- <toserviceparameter-name>x</toserviceparameter-name>
- <coord-list>
-<coord>
-<x>194</x>
- <y>84</y> </coord>
- <coord>
-<x>195</x>
- <y>252</y> </coord>
- <coord>
-<x>566</x>
- <y>252</y> </coord>
- <coord>
-<x>565</x>
- <y>141</y> </coord> </coord-list> </link> </link-list>
- <data-list>
-<data>
-<fromnode-name>GraphEssai</fromnode-name>
- <fromserviceparameter-name>Add\x</fromserviceparameter-name>
- <tonode-name>Add</tonode-name>
- <toserviceparameter-name>x</toserviceparameter-name>
- <data-value>
-<value-type>3</value-type>
- <value>3</value> </data-value>
- <coord-list/> </data>
- <data>
-<fromnode-name>GraphEssai</fromnode-name>
- <fromserviceparameter-name>Add\y</fromserviceparameter-name>
- <tonode-name>Add</tonode-name>
- <toserviceparameter-name>y</toserviceparameter-name>
- <data-value>
-<value-type>7</value-type>
- <value>4.5</value> </data-value>
- <coord-list/> </data> </data-list></dataflow>
+++ /dev/null
-
-# Generated python file of Graph Graphs
-
-from SuperV import *
-# Graph creation
-Graphs = Graph( 'Graphs' )
-Graphs.SetName( 'Graphs' )
-Graphs.SetAuthor( '' )
-Graphs.SetComment( '' )
-Graphs.Coords( 0 , 0 )
-
-# Creation of Factory Nodes
-
-Add = Graphs.FNode( 'AddComponent' , 'AddComponent' , 'Add' )
-Add.SetName( 'Add' )
-Add.SetAuthor( '' )
-Add.SetContainer( 'localhost/FactoryServer' )
-Add.SetComment( 'Add from AddComponent' )
-Add.Coords( 30 , 8 )
-
-Sub = Graphs.FNode( 'SubComponent' , 'SubComponent' , 'Sub' )
-Sub.SetName( 'Sub' )
-Sub.SetAuthor( '' )
-Sub.SetContainer( 'localhost/FactoryServer' )
-Sub.SetComment( 'Sub from SubComponent' )
-Sub.Coords( 241 , 38 )
-
-Mul = Graphs.FNode( 'MulComponent' , 'MulComponent' , 'Mul' )
-Mul.SetName( 'Mul' )
-Mul.SetAuthor( '' )
-Mul.SetContainer( 'localhost/FactoryServer' )
-Mul.SetComment( 'Mul from MulComponent' )
-Mul.Coords( 439 , 39 )
-
-Div = Graphs.FNode( 'DivComponent' , 'DivComponent' , 'Div' )
-Div.SetName( 'Div' )
-Div.SetAuthor( '' )
-Div.SetContainer( 'localhost/FactoryServer' )
-Div.SetComment( 'Div from DivComponent' )
-Div.Coords( 633 , 120 )
-
-Add_1 = Graphs.FNode( 'AddComponent' , 'AddComponent' , 'Add' )
-Add_1.SetName( 'Add_1' )
-Add_1.SetAuthor( '' )
-Add_1.SetContainer( 'localhost/FactoryServer' )
-Add_1.SetComment( 'Add from AddComponent' )
-Add_1.Coords( 13 , 297 )
-
-Sub_1 = Graphs.FNode( 'SubComponent' , 'SubComponent' , 'Sub' )
-Sub_1.SetName( 'Sub_1' )
-Sub_1.SetAuthor( '' )
-Sub_1.SetContainer( 'localhost/FactoryServer' )
-Sub_1.SetComment( 'Sub from SubComponent' )
-Sub_1.Coords( 235 , 217 )
-
-Mul_1 = Graphs.FNode( 'MulComponent' , 'MulComponent' , 'Mul' )
-Mul_1.SetName( 'Mul_1' )
-Mul_1.SetAuthor( '' )
-Mul_1.SetContainer( 'localhost/FactoryServer' )
-Mul_1.SetComment( 'Mul from MulComponent' )
-Mul_1.Coords( 423 , 375 )
-
-Div_1 = Graphs.FNode( 'DivComponent' , 'DivComponent' , 'Div' )
-Div_1.SetName( 'Div_1' )
-Div_1.SetAuthor( '' )
-Div_1.SetContainer( 'localhost/FactoryServer' )
-Div_1.SetComment( 'Div from DivComponent' )
-Div_1.Coords( 630 , 284 )
-
-# Creation of Links
-Addz = Add.Port( 'z' )
-Subx = Graphs.Link( Addz , Sub.Port( 'x' ) )
-
-Subz = Sub.Port( 'z' )
-Divx = Graphs.Link( Subz , Div.Port( 'x' ) )
-Divx.AddCoord( 1 , 426 , 201 )
-Divx.AddCoord( 2 , 425 , 119 )
-
-Mulx = Graphs.Link( Subz , Mul.Port( 'x' ) )
-
-Mulz = Mul.Port( 'z' )
-Divy = Graphs.Link( Mulz , Div.Port( 'y' ) )
-Divy.AddCoord( 1 , 619 , 230 )
-Divy.AddCoord( 2 , 620 , 120 )
-
-Add_1FuncValue = Add_1.Port( 'FuncValue' )
-Mul_1x = Graphs.Link( Add_1FuncValue , Mul_1.Port( 'x' ) )
-Mul_1x.AddCoord( 1 , 396 , 455 )
-Mul_1x.AddCoord( 2 , 395 , 378 )
-
-Sub_1x = Graphs.Link( Add_1FuncValue , Sub_1.Port( 'x' ) )
-Sub_1x.AddCoord( 1 , 215 , 297 )
-Sub_1x.AddCoord( 2 , 215 , 378 )
-
-Add_1z = Add_1.Port( 'z' )
-Sub_1y = Graphs.Link( Add_1z , Sub_1.Port( 'y' ) )
-Sub_1y.AddCoord( 1 , 197 , 327 )
-Sub_1y.AddCoord( 2 , 196 , 406 )
-
-Sub_1z = Sub_1.Port( 'z' )
-Div_1x = Graphs.Link( Sub_1z , Div_1.Port( 'x' ) )
-Div_1x.AddCoord( 1 , 604 , 364 )
-Div_1x.AddCoord( 2 , 603 , 297 )
-
-Mul_1z = Mul_1.Port( 'z' )
-Div_1y = Graphs.Link( Mul_1z , Div_1.Port( 'y' ) )
-Div_1y.AddCoord( 1 , 610 , 394 )
-Div_1y.AddCoord( 2 , 610 , 455 )
-
-# Creation of Input datas
-Addx = Add.Input( 'x' , 3)
-Addy = Add.Input( 'y' , 5)
-Suby = Sub.Input( 'y' , 7)
-Muly = Mul.Input( 'y' , 11)
-Add_1x = Add_1.Input( 'x' , 1)
-Add_1y = Add_1.Input( 'y' , 2)
-Mul_1y = Mul_1.Input( 'y' , 4)
-
-# Creation of Output variables
-AddFuncValue = Add.Port( 'FuncValue' )
-Divz = Div.Port( 'z' )
-Div_1z = Div_1.Port( 'z' )
-
-Graphs.Run()
-
-Graphs.DoneW()
-
-Graphs.State()
-
-Graphs.PrintPorts()
-
+++ /dev/null
-<!DOCTYPE Dataflow>
-<dataflow>
-<info-list>
-<node>
-<component-name>?</component-name>
- <interface-name>?</interface-name>
- <node-name>Graphs</node-name>
- <kind>1</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>Graphs</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>double</inParameter-type>
- <inParameter-name>Add\x</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>double</inParameter-type>
- <inParameter-name>Add\y</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>double</inParameter-type>
- <inParameter-name>Sub\y</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>double</inParameter-type>
- <inParameter-name>Mul\y</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>double</inParameter-type>
- <inParameter-name>Add_1\x</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>double</inParameter-type>
- <inParameter-name>Add_1\y</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>double</inParameter-type>
- <inParameter-name>Mul_1\y</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>double</outParameter-type>
- <outParameter-name>Add\FuncValue</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>double</outParameter-type>
- <outParameter-name>Div\z</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>double</outParameter-type>
- <outParameter-name>Div_1\z</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list/>
- <creation-date>11/3/2003 - 15:3:57</creation-date>
- <lastmodification-date>19/9/2003 - 15:18:32</lastmodification-date>
- <editor-release>1.04</editor-release>
- <author>?</author>
- <container>?</container>
- <comment>?</comment>
- <x-position>0</x-position>
- <y-position>0</y-position> </node> </info-list>
- <node-list>
-<node>
-<component-name>AddComponent</component-name>
- <interface-name>AddComponent</interface-name>
- <node-name>Add</node-name>
- <kind>0</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>Add</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>double</inParameter-type>
- <inParameter-name>x</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>double</inParameter-type>
- <inParameter-name>y</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>double</outParameter-type>
- <outParameter-name>FuncValue</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>double</outParameter-type>
- <outParameter-name>z</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list/>
- <creation-date>19/9/2003 - 15:18:1</creation-date>
- <lastmodification-date>19/9/2003 - 15:18:1</lastmodification-date>
- <editor-release>1.04</editor-release>
- <author>?</author>
- <container>localhost/FactoryServer</container>
- <comment>Add from AddComponent</comment>
- <x-position>30</x-position>
- <y-position>8</y-position> </node>
- <node>
-<component-name>SubComponent</component-name>
- <interface-name>SubComponent</interface-name>
- <node-name>Sub</node-name>
- <kind>0</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>Sub</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>double</inParameter-type>
- <inParameter-name>x</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>double</inParameter-type>
- <inParameter-name>y</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>double</outParameter-type>
- <outParameter-name>z</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list/>
- <creation-date>19/9/2003 - 15:18:1</creation-date>
- <lastmodification-date>19/9/2003 - 15:18:1</lastmodification-date>
- <editor-release>1.04</editor-release>
- <author>?</author>
- <container>localhost/FactoryServer</container>
- <comment>Sub from SubComponent</comment>
- <x-position>241</x-position>
- <y-position>38</y-position> </node>
- <node>
-<component-name>MulComponent</component-name>
- <interface-name>MulComponent</interface-name>
- <node-name>Mul</node-name>
- <kind>0</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>Mul</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>double</inParameter-type>
- <inParameter-name>x</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>double</inParameter-type>
- <inParameter-name>y</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>double</outParameter-type>
- <outParameter-name>z</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list/>
- <creation-date>19/9/2003 - 15:18:1</creation-date>
- <lastmodification-date>19/9/2003 - 15:18:1</lastmodification-date>
- <editor-release>1.04</editor-release>
- <author>?</author>
- <container>localhost/FactoryServer</container>
- <comment>Mul from MulComponent</comment>
- <x-position>439</x-position>
- <y-position>39</y-position> </node>
- <node>
-<component-name>DivComponent</component-name>
- <interface-name>DivComponent</interface-name>
- <node-name>Div</node-name>
- <kind>0</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>Div</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>double</inParameter-type>
- <inParameter-name>x</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>double</inParameter-type>
- <inParameter-name>y</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>double</outParameter-type>
- <outParameter-name>z</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list/>
- <creation-date>19/9/2003 - 15:18:1</creation-date>
- <lastmodification-date>19/9/2003 - 15:18:1</lastmodification-date>
- <editor-release>1.04</editor-release>
- <author>?</author>
- <container>localhost/FactoryServer</container>
- <comment>Div from DivComponent</comment>
- <x-position>633</x-position>
- <y-position>120</y-position> </node>
- <node>
-<component-name>AddComponent</component-name>
- <interface-name>AddComponent</interface-name>
- <node-name>Add_1</node-name>
- <kind>0</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>Add</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>double</inParameter-type>
- <inParameter-name>x</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>double</inParameter-type>
- <inParameter-name>y</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>double</outParameter-type>
- <outParameter-name>FuncValue</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>double</outParameter-type>
- <outParameter-name>z</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list/>
- <creation-date>19/9/2003 - 15:18:1</creation-date>
- <lastmodification-date>19/9/2003 - 15:18:1</lastmodification-date>
- <editor-release>1.04</editor-release>
- <author>?</author>
- <container>localhost/FactoryServer</container>
- <comment>Add from AddComponent</comment>
- <x-position>13</x-position>
- <y-position>297</y-position> </node>
- <node>
-<component-name>SubComponent</component-name>
- <interface-name>SubComponent</interface-name>
- <node-name>Sub_1</node-name>
- <kind>0</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>Sub</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>double</inParameter-type>
- <inParameter-name>x</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>double</inParameter-type>
- <inParameter-name>y</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>double</outParameter-type>
- <outParameter-name>z</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list/>
- <creation-date>19/9/2003 - 15:18:1</creation-date>
- <lastmodification-date>19/9/2003 - 15:18:1</lastmodification-date>
- <editor-release>1.04</editor-release>
- <author>?</author>
- <container>localhost/FactoryServer</container>
- <comment>Sub from SubComponent</comment>
- <x-position>235</x-position>
- <y-position>217</y-position> </node>
- <node>
-<component-name>MulComponent</component-name>
- <interface-name>MulComponent</interface-name>
- <node-name>Mul_1</node-name>
- <kind>0</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>Mul</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>double</inParameter-type>
- <inParameter-name>x</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>double</inParameter-type>
- <inParameter-name>y</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>double</outParameter-type>
- <outParameter-name>z</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list/>
- <creation-date>19/9/2003 - 15:18:1</creation-date>
- <lastmodification-date>19/9/2003 - 15:18:1</lastmodification-date>
- <editor-release>1.04</editor-release>
- <author>?</author>
- <container>localhost/FactoryServer</container>
- <comment>Mul from MulComponent</comment>
- <x-position>423</x-position>
- <y-position>375</y-position> </node>
- <node>
-<component-name>DivComponent</component-name>
- <interface-name>DivComponent</interface-name>
- <node-name>Div_1</node-name>
- <kind>0</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>Div</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>double</inParameter-type>
- <inParameter-name>x</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>double</inParameter-type>
- <inParameter-name>y</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>double</outParameter-type>
- <outParameter-name>z</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list/>
- <creation-date>19/9/2003 - 15:18:1</creation-date>
- <lastmodification-date>19/9/2003 - 15:18:1</lastmodification-date>
- <editor-release>1.04</editor-release>
- <author>?</author>
- <container>localhost/FactoryServer</container>
- <comment>Div from DivComponent</comment>
- <x-position>630</x-position>
- <y-position>284</y-position> </node> </node-list>
- <link-list>
-<link>
-<fromnode-name>Add</fromnode-name>
- <fromserviceparameter-name>z</fromserviceparameter-name>
- <tonode-name>Sub</tonode-name>
- <toserviceparameter-name>x</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>Sub</fromnode-name>
- <fromserviceparameter-name>z</fromserviceparameter-name>
- <tonode-name>Div</tonode-name>
- <toserviceparameter-name>x</toserviceparameter-name>
- <coord-list>
-<coord>
-<x>426</x>
- <y>201</y> </coord>
- <coord>
-<x>425</x>
- <y>119</y> </coord> </coord-list> </link>
- <link>
-<fromnode-name>Sub</fromnode-name>
- <fromserviceparameter-name>z</fromserviceparameter-name>
- <tonode-name>Mul</tonode-name>
- <toserviceparameter-name>x</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>Mul</fromnode-name>
- <fromserviceparameter-name>z</fromserviceparameter-name>
- <tonode-name>Div</tonode-name>
- <toserviceparameter-name>y</toserviceparameter-name>
- <coord-list>
-<coord>
-<x>619</x>
- <y>230</y> </coord>
- <coord>
-<x>620</x>
- <y>120</y> </coord> </coord-list> </link>
- <link>
-<fromnode-name>Add_1</fromnode-name>
- <fromserviceparameter-name>FuncValue</fromserviceparameter-name>
- <tonode-name>Mul_1</tonode-name>
- <toserviceparameter-name>x</toserviceparameter-name>
- <coord-list>
-<coord>
-<x>396</x>
- <y>455</y> </coord>
- <coord>
-<x>395</x>
- <y>378</y> </coord> </coord-list> </link>
- <link>
-<fromnode-name>Add_1</fromnode-name>
- <fromserviceparameter-name>FuncValue</fromserviceparameter-name>
- <tonode-name>Sub_1</tonode-name>
- <toserviceparameter-name>x</toserviceparameter-name>
- <coord-list>
-<coord>
-<x>215</x>
- <y>297</y> </coord>
- <coord>
-<x>215</x>
- <y>378</y> </coord> </coord-list> </link>
- <link>
-<fromnode-name>Add_1</fromnode-name>
- <fromserviceparameter-name>z</fromserviceparameter-name>
- <tonode-name>Sub_1</tonode-name>
- <toserviceparameter-name>y</toserviceparameter-name>
- <coord-list>
-<coord>
-<x>197</x>
- <y>327</y> </coord>
- <coord>
-<x>196</x>
- <y>406</y> </coord> </coord-list> </link>
- <link>
-<fromnode-name>Sub_1</fromnode-name>
- <fromserviceparameter-name>z</fromserviceparameter-name>
- <tonode-name>Div_1</tonode-name>
- <toserviceparameter-name>x</toserviceparameter-name>
- <coord-list>
-<coord>
-<x>604</x>
- <y>364</y> </coord>
- <coord>
-<x>603</x>
- <y>297</y> </coord> </coord-list> </link>
- <link>
-<fromnode-name>Mul_1</fromnode-name>
- <fromserviceparameter-name>z</fromserviceparameter-name>
- <tonode-name>Div_1</tonode-name>
- <toserviceparameter-name>y</toserviceparameter-name>
- <coord-list>
-<coord>
-<x>610</x>
- <y>394</y> </coord>
- <coord>
-<x>610</x>
- <y>455</y> </coord> </coord-list> </link> </link-list>
- <data-list>
-<data>
-<fromnode-name>Graphs</fromnode-name>
- <fromserviceparameter-name>Add\x</fromserviceparameter-name>
- <tonode-name>Add</tonode-name>
- <toserviceparameter-name>x</toserviceparameter-name>
- <data-value>
-<value-type>7</value-type>
- <value>3</value> </data-value>
- <coord-list/> </data>
- <data>
-<fromnode-name>Graphs</fromnode-name>
- <fromserviceparameter-name>Add\y</fromserviceparameter-name>
- <tonode-name>Add</tonode-name>
- <toserviceparameter-name>y</toserviceparameter-name>
- <data-value>
-<value-type>7</value-type>
- <value>5</value> </data-value>
- <coord-list/> </data>
- <data>
-<fromnode-name>Graphs</fromnode-name>
- <fromserviceparameter-name>Sub\y</fromserviceparameter-name>
- <tonode-name>Sub</tonode-name>
- <toserviceparameter-name>y</toserviceparameter-name>
- <data-value>
-<value-type>7</value-type>
- <value>7</value> </data-value>
- <coord-list/> </data>
- <data>
-<fromnode-name>Graphs</fromnode-name>
- <fromserviceparameter-name>Mul\y</fromserviceparameter-name>
- <tonode-name>Mul</tonode-name>
- <toserviceparameter-name>y</toserviceparameter-name>
- <data-value>
-<value-type>7</value-type>
- <value>11</value> </data-value>
- <coord-list/> </data>
- <data>
-<fromnode-name>Graphs</fromnode-name>
- <fromserviceparameter-name>Add_1\x</fromserviceparameter-name>
- <tonode-name>Add_1</tonode-name>
- <toserviceparameter-name>x</toserviceparameter-name>
- <data-value>
-<value-type>7</value-type>
- <value>1</value> </data-value>
- <coord-list/> </data>
- <data>
-<fromnode-name>Graphs</fromnode-name>
- <fromserviceparameter-name>Add_1\y</fromserviceparameter-name>
- <tonode-name>Add_1</tonode-name>
- <toserviceparameter-name>y</toserviceparameter-name>
- <data-value>
-<value-type>7</value-type>
- <value>2</value> </data-value>
- <coord-list/> </data>
- <data>
-<fromnode-name>Graphs</fromnode-name>
- <fromserviceparameter-name>Mul_1\y</fromserviceparameter-name>
- <tonode-name>Mul_1</tonode-name>
- <toserviceparameter-name>y</toserviceparameter-name>
- <data-value>
-<value-type>7</value-type>
- <value>4</value> </data-value>
- <coord-list/> </data> </data-list></dataflow>
+++ /dev/null
-<!DOCTYPE Dataflow>
-<dataflow>
-<info-list>
-<node>
-<component-name>?</component-name>
- <interface-name>?</interface-name>
- <node-name>test_superv_basic_loop</node-name>
- <kind>1</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>test_superv_basic_loop</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>fori\index</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>fori\min</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>fori\max</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>fori\sum</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>Add\incr</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>Endfori\index</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>Endfori\min</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>Endfori\max</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>Endfori\sum</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list/>
- <creation-date>2/5/2003 - 13:43:38</creation-date>
- <lastmodification-date>2/12/2003 - 9:26:10</lastmodification-date>
- <editor-release>1.04</editor-release>
- <author>?</author>
- <container>?</container>
- <comment>?</comment>
- <x-position>0</x-position>
- <y-position>0</y-position> </node> </info-list>
- <node-list>
-<node>
-<component-name>?</component-name>
- <interface-name>?</interface-name>
- <node-name>Add</node-name>
- <kind>3</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>Add</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>sum</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>incr</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>Sum</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>incr</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list>
-<PyFunction>
-<FuncName>Sum</FuncName>
- <PyFunc><![CDATA[def Sum(sum,incr): ]]></PyFunc>
- <PyFunc><![CDATA[ result = sum+incr ]]></PyFunc>
- <PyFunc><![CDATA[ return result,incr ]]></PyFunc> </PyFunction> </PyFunction-list>
- <creation-date>2/12/2003 - 9:26:10</creation-date>
- <lastmodification-date>2/12/2003 - 9:26:10</lastmodification-date>
- <editor-release>1.04</editor-release>
- <author>?</author>
- <container>?</container>
- <comment>Python function</comment>
- <x-position>220</x-position>
- <y-position>40</y-position> </node>
- <node>
-<component-name>?</component-name>
- <interface-name>?</interface-name>
- <node-name>fori</node-name>
- <kind>4</kind>
- <coupled-node>Endfori</coupled-node>
- <service>
-<service-name>fori</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>index</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>min</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>max</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>sum</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>index</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>min</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>max</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>sum</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list>
-<PyFunction>
-<FuncName>Init</FuncName>
- <PyFunc><![CDATA[def Init(index,min,max,sum): ]]></PyFunc>
- <PyFunc><![CDATA[ if max > min : ]]></PyFunc>
- <PyFunc><![CDATA[ index = min ]]></PyFunc>
- <PyFunc><![CDATA[ else : ]]></PyFunc>
- <PyFunc><![CDATA[ index = max ]]></PyFunc>
- <PyFunc><![CDATA[ #print index,min,max,sum ]]></PyFunc>
- <PyFunc><![CDATA[ return index,min,max,sum ]]></PyFunc> </PyFunction>
- <PyFunction>
-<FuncName>More</FuncName>
- <PyFunc><![CDATA[def More(index,min,max,sum): ]]></PyFunc>
- <PyFunc><![CDATA[ OutLoop = 0 ]]></PyFunc>
- <PyFunc><![CDATA[ if max > index : ]]></PyFunc>
- <PyFunc><![CDATA[ OutLoop = 1 ]]></PyFunc>
- <PyFunc><![CDATA[ #print OutLoop,index,min,max,sum ]]></PyFunc>
- <PyFunc><![CDATA[ return OutLoop,index,min,max,sum ]]></PyFunc> </PyFunction>
- <PyFunction>
-<FuncName>Next</FuncName>
- <PyFunc><![CDATA[def Next(index,min,max,sum): ]]></PyFunc>
- <PyFunc><![CDATA[ index = index + 1 ]]></PyFunc>
- <PyFunc><![CDATA[ #print index,min,max,sum ]]></PyFunc>
- <PyFunc><![CDATA[ return index,min,max,sum ]]></PyFunc> </PyFunction> </PyFunction-list>
- <creation-date>2/12/2003 - 9:26:10</creation-date>
- <lastmodification-date>2/12/2003 - 9:26:10</lastmodification-date>
- <editor-release>1.04</editor-release>
- <author>?</author>
- <container>?</container>
- <comment>?</comment>
- <x-position>12</x-position>
- <y-position>0</y-position> </node>
- <node>
-<component-name>?</component-name>
- <interface-name>?</interface-name>
- <node-name>Endfori</node-name>
- <kind>5</kind>
- <coupled-node>fori</coupled-node>
- <service>
-<service-name>Endfori</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>index</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>min</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>max</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>sum</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>index</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>min</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>max</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>sum</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list>
-<PyFunction>
-<FuncName>?</FuncName>
- <PyFunc><![CDATA[?]]></PyFunc> </PyFunction> </PyFunction-list>
- <creation-date>2/12/2003 - 9:26:10</creation-date>
- <lastmodification-date>2/12/2003 - 9:26:10</lastmodification-date>
- <editor-release>1.04</editor-release>
- <author>?</author>
- <container>?</container>
- <comment>?</comment>
- <x-position>432</x-position>
- <y-position>0</y-position> </node> </node-list>
- <link-list>
-<link>
-<fromnode-name>Add</fromnode-name>
- <fromserviceparameter-name>Sum</fromserviceparameter-name>
- <tonode-name>Endfori</tonode-name>
- <toserviceparameter-name>sum</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>fori</fromnode-name>
- <fromserviceparameter-name>DoLoop</fromserviceparameter-name>
- <tonode-name>Endfori</tonode-name>
- <toserviceparameter-name>DoLoop</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>fori</fromnode-name>
- <fromserviceparameter-name>index</fromserviceparameter-name>
- <tonode-name>Endfori</tonode-name>
- <toserviceparameter-name>index</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>fori</fromnode-name>
- <fromserviceparameter-name>index</fromserviceparameter-name>
- <tonode-name>Add</tonode-name>
- <toserviceparameter-name>incr</toserviceparameter-name>
- <coord-list>
-<coord>
-<x>186</x>
- <y>150</y> </coord>
- <coord>
-<x>187</x>
- <y>34</y> </coord> </coord-list> </link>
- <link>
-<fromnode-name>fori</fromnode-name>
- <fromserviceparameter-name>min</fromserviceparameter-name>
- <tonode-name>Endfori</tonode-name>
- <toserviceparameter-name>min</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>fori</fromnode-name>
- <fromserviceparameter-name>max</fromserviceparameter-name>
- <tonode-name>Endfori</tonode-name>
- <toserviceparameter-name>max</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>fori</fromnode-name>
- <fromserviceparameter-name>sum</fromserviceparameter-name>
- <tonode-name>Add</tonode-name>
- <toserviceparameter-name>sum</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>Endfori</fromnode-name>
- <fromserviceparameter-name>DoLoop</fromserviceparameter-name>
- <tonode-name>fori</tonode-name>
- <toserviceparameter-name>InitLoop</toserviceparameter-name>
- <coord-list>
-<coord>
-<x>8</x>
- <y>215</y> </coord>
- <coord>
-<x>7</x>
- <y>5</y> </coord>
- <coord>
-<x>747</x>
- <y>5</y> </coord>
- <coord>
-<x>748</x>
- <y>214</y> </coord> </coord-list> </link> </link-list>
- <data-list>
-<data>
-<fromnode-name>test_superv_basic_loop</fromnode-name>
- <fromserviceparameter-name>fori\index</fromserviceparameter-name>
- <tonode-name>fori</tonode-name>
- <toserviceparameter-name>index</toserviceparameter-name>
- <data-value>
-<value-type>3</value-type>
- <value>0</value> </data-value>
- <coord-list/> </data>
- <data>
-<fromnode-name>test_superv_basic_loop</fromnode-name>
- <fromserviceparameter-name>fori\min</fromserviceparameter-name>
- <tonode-name>fori</tonode-name>
- <toserviceparameter-name>min</toserviceparameter-name>
- <data-value>
-<value-type>3</value-type>
- <value>0</value> </data-value>
- <coord-list/> </data>
- <data>
-<fromnode-name>test_superv_basic_loop</fromnode-name>
- <fromserviceparameter-name>fori\max</fromserviceparameter-name>
- <tonode-name>fori</tonode-name>
- <toserviceparameter-name>max</toserviceparameter-name>
- <data-value>
-<value-type>3</value-type>
- <value>1001</value> </data-value>
- <coord-list/> </data>
- <data>
-<fromnode-name>test_superv_basic_loop</fromnode-name>
- <fromserviceparameter-name>fori\sum</fromserviceparameter-name>
- <tonode-name>fori</tonode-name>
- <toserviceparameter-name>sum</toserviceparameter-name>
- <data-value>
-<value-type>3</value-type>
- <value>0</value> </data-value>
- <coord-list/> </data> </data-list></dataflow>
+++ /dev/null
-# Copyright (C) 2003 CEA/DEN, EDF R&D
-#
-#
-#
-# File : Makefile.in
-# Author : Vasily Rusyaev (Open Cascade NN)
-# Module : doc
-# $Header:
-
-top_srcdir=@top_srcdir@
-top_builddir=..
-srcdir=@srcdir@
-VPATH=.:@srcdir@
-curdir = $(shell pwd)
-instdatadir=${prefix}/examples
-
-SUBDIRS=.
-
-@COMMENCE@
-
-data:
- (cd $(srcdir) ; cp -fr `ls | grep -v "Makefile.in"` $(curdir))
-
-clean:
- rm -rf `ls | grep -v "Makefile"`
-
-install:
- rm -rf $(instdatadir)
- mkdir $(instdatadir)
- cp -rf `ls | grep -v "Makefile"` $(instdatadir)
-
-uninstall:
- rm -rf $(instdatadir)
+++ /dev/null
-
-# Generated python file of Graph GraphEssai
-
-from SuperV import *
-# Graph creation
-NewGraphEssai = Graph( 'NewGraphEssai' )
-NewGraphEssai.SetName( 'NewGraphEssai' )
-NewGraphEssai.SetAuthor( '' )
-NewGraphEssai.SetComment( '' )
-NewGraphEssai.Coords( 0 , 0 )
-
-# Creation of Factory Nodes
-
-Sub = NewGraphEssai.FNode( 'SubComponent' , 'SubComponent' , 'Sub' )
-Sub.SetName( 'Sub' )
-Sub.SetAuthor( '' )
-Sub.SetContainer( 'SubDivServer' )
-Sub.SetComment( 'Sub from SubComponent' )
-Sub.Coords( 413 , 74 )
-
-Mul = NewGraphEssai.FNode( 'MulComponent' , 'MulComponent' , 'Mul' )
-Mul.SetName( 'Mul' )
-Mul.SetAuthor( '' )
-Mul.SetContainer( 'MulServer' )
-Mul.SetComment( 'Mul from MulComponent' )
-Mul.Coords( 617 , 268 )
-
-Div = NewGraphEssai.FNode( 'DivComponent' , 'DivComponent' , 'Div' )
-Div.SetName( 'Div' )
-Div.SetAuthor( '' )
-Div.SetContainer( 'SubDivServer' )
-Div.SetComment( 'Div from DivComponent' )
-Div.Coords( 823 , 74 )
-
-Addition = NewGraphEssai.FNode( 'AddComponent' , 'AddComponent' , 'Addition' )
-Addition.SetName( 'Addition' )
-Addition.SetAuthor( '' )
-Addition.SetContainer( 'localhost/AddServer' )
-Addition.SetComment( 'Addition from AddComponent' )
-Addition.Coords( 11 , 268 )
-
-# Creation of Computing Nodes
-Add_ServiceinParameter = []
-Add_ServiceinParameter.append( SALOME_ModuleCatalog.ServicesParameter( 'Adder' , 'Adder' ) )
-Add_ServiceinParameter.append( SALOME_ModuleCatalog.ServicesParameter( 'double' , 'x' ) )
-Add_ServiceinParameter.append( SALOME_ModuleCatalog.ServicesParameter( 'double' , 'y' ) )
-Add_ServiceoutParameter = []
-Add_ServiceoutParameter.append( SALOME_ModuleCatalog.ServicesParameter( 'double' , 'FuncValue' ) )
-Add_ServiceoutParameter.append( SALOME_ModuleCatalog.ServicesParameter( 'double' , 'z' ) )
-Add_Service = SALOME_ModuleCatalog.Service( 'Add' , Add_ServiceinParameter , Add_ServiceoutParameter , 0 )
-Add = NewGraphEssai.CNode( Add_Service )
-Add.SetName( 'Add' )
-Add.SetAuthor( '' )
-Add.SetComment( 'Compute Node' )
-Add.Coords( 215 , 268 )
-
-# Creation of Links
-Subz = Sub.Port( 'z' )
-Divx = NewGraphEssai.Link( Subz , Div.Port( 'x' ) )
-
-Mulx = NewGraphEssai.Link( Subz , Mul.Port( 'x' ) )
-Mulx.AddCoord( 1 , 595 , 348 )
-Mulx.AddCoord( 2 , 595 , 154 )
-
-Mulz = Mul.Port( 'z' )
-Divy = NewGraphEssai.Link( Mulz , Div.Port( 'y' ) )
-Divy.AddCoord( 1 , 805 , 183 )
-Divy.AddCoord( 2 , 806 , 348 )
-
-AdditionAdder = Addition.Port( 'Adder' )
-AddAdder = NewGraphEssai.Link( AdditionAdder , Add.Port( 'Adder' ) )
-
-AddFuncValue = Add.Port( 'FuncValue' )
-Suby = NewGraphEssai.Link( AddFuncValue , Sub.Port( 'y' ) )
-Suby.AddCoord( 1 , 395 , 183 )
-Suby.AddCoord( 2 , 395 , 349 )
-
-Addz = Add.Port( 'z' )
-Muly = NewGraphEssai.Link( Addz , Mul.Port( 'y' ) )
-
-# Creation of Input datas
-Subx = Sub.Input( 'x' , 4.5)
-Addx = Add.Input( 'x' , 1.5)
-Addy = Add.Input( 'y' , 3)
-
-# Creation of Output variables
-Divz = Div.Port( 'z' )
-
-NewGraphEssai.Run()
-
-NewGraphEssai.DoneW()
-
-NewGraphEssai.State()
-
-NewGraphEssai.PrintPorts()
-
+++ /dev/null
-<!DOCTYPE Dataflow>
-<dataflow>
-<info-list>
-<node>
-<component-name>?</component-name>
- <interface-name>?</interface-name>
- <node-name>NewGraphEssai</node-name>
- <kind>1</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>NewGraphEssai</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>double</inParameter-type>
- <inParameter-name>Sub\x</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>double</inParameter-type>
- <inParameter-name>Add\x</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>double</inParameter-type>
- <inParameter-name>Add\y</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>double</outParameter-type>
- <outParameter-name>Div\z</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list/>
- <creation-date>21/11/2001 - 17:17:23</creation-date>
- <lastmodification-date>19/9/2003 - 15:23:10</lastmodification-date>
- <editor-release>1.00</editor-release>
- <author>?</author>
- <container>?</container>
- <comment>?</comment>
- <x-position>0</x-position>
- <y-position>0</y-position> </node> </info-list>
- <node-list>
-<node>
-<component-name>SubComponent</component-name>
- <interface-name>SubComponent</interface-name>
- <node-name>Sub</node-name>
- <kind>0</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>Sub</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>double</inParameter-type>
- <inParameter-name>x</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>double</inParameter-type>
- <inParameter-name>y</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>double</outParameter-type>
- <outParameter-name>z</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list/>
- <creation-date>19/9/2003 - 15:20:52</creation-date>
- <lastmodification-date>19/9/2003 - 15:20:52</lastmodification-date>
- <editor-release>1.00</editor-release>
- <author>?</author>
- <container>SubDivServer</container>
- <comment>Sub from SubComponent</comment>
- <x-position>413</x-position>
- <y-position>74</y-position> </node>
- <node>
-<component-name>MulComponent</component-name>
- <interface-name>MulComponent</interface-name>
- <node-name>Mul</node-name>
- <kind>0</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>Mul</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>double</inParameter-type>
- <inParameter-name>x</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>double</inParameter-type>
- <inParameter-name>y</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>double</outParameter-type>
- <outParameter-name>z</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list/>
- <creation-date>19/9/2003 - 15:20:52</creation-date>
- <lastmodification-date>19/9/2003 - 15:20:52</lastmodification-date>
- <editor-release>1.00</editor-release>
- <author>?</author>
- <container>MulServer</container>
- <comment>Mul from MulComponent</comment>
- <x-position>617</x-position>
- <y-position>268</y-position> </node>
- <node>
-<component-name>DivComponent</component-name>
- <interface-name>DivComponent</interface-name>
- <node-name>Div</node-name>
- <kind>0</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>Div</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>double</inParameter-type>
- <inParameter-name>x</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>double</inParameter-type>
- <inParameter-name>y</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>double</outParameter-type>
- <outParameter-name>z</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list/>
- <creation-date>19/9/2003 - 15:20:52</creation-date>
- <lastmodification-date>19/9/2003 - 15:20:52</lastmodification-date>
- <editor-release>1.00</editor-release>
- <author>?</author>
- <container>SubDivServer</container>
- <comment>Div from DivComponent</comment>
- <x-position>823</x-position>
- <y-position>74</y-position> </node>
- <node>
-<component-name>AddComponent</component-name>
- <interface-name>AddComponent</interface-name>
- <node-name>Addition</node-name>
- <kind>0</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>Addition</service-name>
- <inParameter-list/>
- <outParameter-list>
-<outParameter>
-<outParameter-type>Adder</outParameter-type>
- <outParameter-name>Adder</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list/>
- <creation-date>19/9/2003 - 15:20:52</creation-date>
- <lastmodification-date>19/9/2003 - 15:20:52</lastmodification-date>
- <editor-release>1.03</editor-release>
- <author>?</author>
- <container>localhost/AddServer</container>
- <comment>Addition from AddComponent</comment>
- <x-position>11</x-position>
- <y-position>268</y-position> </node>
- <node>
-<component-name>?</component-name>
- <interface-name>?</interface-name>
- <node-name>Add</node-name>
- <kind>2</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>Add</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>Adder</inParameter-type>
- <inParameter-name>Adder</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>double</inParameter-type>
- <inParameter-name>x</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>double</inParameter-type>
- <inParameter-name>y</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>double</outParameter-type>
- <outParameter-name>FuncValue</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>double</outParameter-type>
- <outParameter-name>z</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list/>
- <creation-date>19/9/2003 - 15:20:52</creation-date>
- <lastmodification-date>19/9/2003 - 15:20:52</lastmodification-date>
- <editor-release>1.04</editor-release>
- <author>?</author>
- <container>?</container>
- <comment>Compute Node</comment>
- <x-position>215</x-position>
- <y-position>268</y-position> </node> </node-list>
- <link-list>
-<link>
-<fromnode-name>Sub</fromnode-name>
- <fromserviceparameter-name>z</fromserviceparameter-name>
- <tonode-name>Div</tonode-name>
- <toserviceparameter-name>x</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>Sub</fromnode-name>
- <fromserviceparameter-name>z</fromserviceparameter-name>
- <tonode-name>Mul</tonode-name>
- <toserviceparameter-name>x</toserviceparameter-name>
- <coord-list>
-<coord>
-<x>595</x>
- <y>348</y> </coord>
- <coord>
-<x>595</x>
- <y>154</y> </coord> </coord-list> </link>
- <link>
-<fromnode-name>Mul</fromnode-name>
- <fromserviceparameter-name>z</fromserviceparameter-name>
- <tonode-name>Div</tonode-name>
- <toserviceparameter-name>y</toserviceparameter-name>
- <coord-list>
-<coord>
-<x>805</x>
- <y>183</y> </coord>
- <coord>
-<x>806</x>
- <y>348</y> </coord> </coord-list> </link>
- <link>
-<fromnode-name>Addition</fromnode-name>
- <fromserviceparameter-name>Adder</fromserviceparameter-name>
- <tonode-name>Add</tonode-name>
- <toserviceparameter-name>Adder</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>Add</fromnode-name>
- <fromserviceparameter-name>FuncValue</fromserviceparameter-name>
- <tonode-name>Sub</tonode-name>
- <toserviceparameter-name>y</toserviceparameter-name>
- <coord-list>
-<coord>
-<x>395</x>
- <y>183</y> </coord>
- <coord>
-<x>395</x>
- <y>349</y> </coord> </coord-list> </link>
- <link>
-<fromnode-name>Add</fromnode-name>
- <fromserviceparameter-name>z</fromserviceparameter-name>
- <tonode-name>Mul</tonode-name>
- <toserviceparameter-name>y</toserviceparameter-name>
- <coord-list/> </link> </link-list>
- <data-list>
-<data>
-<fromnode-name>NewGraphEssai</fromnode-name>
- <fromserviceparameter-name>Sub\x</fromserviceparameter-name>
- <tonode-name>Sub</tonode-name>
- <toserviceparameter-name>x</toserviceparameter-name>
- <data-value>
-<value-type>7</value-type>
- <value>4.5</value> </data-value>
- <coord-list/> </data>
- <data>
-<fromnode-name>NewGraphEssai</fromnode-name>
- <fromserviceparameter-name>Add\x</fromserviceparameter-name>
- <tonode-name>Add</tonode-name>
- <toserviceparameter-name>x</toserviceparameter-name>
- <data-value>
-<value-type>7</value-type>
- <value>1.5</value> </data-value>
- <coord-list/> </data>
- <data>
-<fromnode-name>NewGraphEssai</fromnode-name>
- <fromserviceparameter-name>Add\y</fromserviceparameter-name>
- <tonode-name>Add</tonode-name>
- <toserviceparameter-name>y</toserviceparameter-name>
- <data-value>
-<value-type>7</value-type>
- <value>3</value> </data-value>
- <coord-list/> </data> </data-list></dataflow>
+++ /dev/null
-# Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
-# CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
-#
-# This library is free software; you can redistribute it and/or
-# modify it under the terms of the GNU Lesser General Public
-# License as published by the Free Software Foundation; either
-# version 2.1 of the License.
-#
-# This library is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-# Lesser General Public License for more details.
-#
-# You should have received a copy of the GNU Lesser General Public
-# License along with this library; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-#
-# See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
-#
-#
-#
-# File : NewGraphGeomEssai.py
-# Module : SuperVisionTest
-
-from SuperV import *
-# Graph creation
-NewGraphGeomEssai = Graph( 'NewGraphGeomEssai' )
-print NewGraphGeomEssai.SetAuthor( '' )
-print NewGraphGeomEssai.SetComment( '' )
-NewGraphGeomEssai.Coords( 0 , 0 )
-
-# Creation of Nodes
-MakeSphere = NewGraphGeomEssai.Node( 'GEOM' , 'GEOM' , 'MakeSphere' )
-print MakeSphere.SetAuthor( '' )
-print MakeSphere.SetContainer( 'FactoryServer' )
-print MakeSphere.SetComment( '' )
-MakeSphere.Coords( 17 , 75 )
-MakeCopy = NewGraphGeomEssai.Node( 'GEOM' , 'GEOM' , 'MakeCopy' )
-print MakeCopy.SetAuthor( '' )
-print MakeCopy.SetContainer( 'FactoryServer' )
-print MakeCopy.SetComment( '' )
-MakeCopy.Coords( 219 , 12 )
-MakeTranslation = NewGraphGeomEssai.Node( 'GEOM' , 'GEOM' , 'MakeTranslation' )
-print MakeTranslation.SetAuthor( '' )
-print MakeTranslation.SetContainer( 'FactoryServer' )
-print MakeTranslation.SetComment( '' )
-MakeTranslation.Coords( 221 , 209 )
-MakeFuse = NewGraphGeomEssai.Node( 'GEOM' , 'GEOM' , 'MakeFuse' )
-print MakeFuse.SetAuthor( '' )
-print MakeFuse.SetContainer( 'FactoryServer' )
-print MakeFuse.SetComment( '' )
-MakeFuse.Coords( 465 , 106 )
-
-# Creation of intermediate Output variables and of links
-MakeSpheresphere = MakeSphere.Port( 'shape' )
-MakeCopyshape = NewGraphGeomEssai.Link( MakeSpheresphere , MakeCopy.Port( 'shape1' ) )
-MakeTranslationshape = NewGraphGeomEssai.Link( MakeSpheresphere , MakeTranslation.Port( 'shape1' ) )
-MakeCopycopy = MakeCopy.Port( 'shape' )
-MakeFuseshape1 = NewGraphGeomEssai.Link( MakeCopycopy , MakeFuse.Port( 'shape1' ) )
-MakeTranslationtranslation = MakeTranslation.Port( 'shape' )
-MakeFuseshape2 = NewGraphGeomEssai.Link( MakeTranslationtranslation , MakeFuse.Port( 'shape2' ) )
-
-# Creation of Input datas
-MakeSpherex1 = MakeSphere.Input( 'x1' , 0)
-MakeSpherey1 = MakeSphere.Input( 'y1' , 0)
-MakeSpherez1 = MakeSphere.Input( 'z1' , 0)
-MakeSphereradius = MakeSphere.Input( 'radius' , 50)
-MakeTranslationx1 = MakeTranslation.Input( 'x1' , 80)
-MakeTranslationy1 = MakeTranslation.Input( 'y1' , 0)
-MakeTranslationz1 = MakeTranslation.Input( 'z1' , 0)
-
-# Missing Input datas
-
-# Creation of Output variables
-MakeFuseresult = MakeFuse.Port( 'shape' )
-
-NewGraphGeomEssai.Run()
-
-NewGraphGeomEssai.DoneW()
-
-NewGraphGeomEssai.State()
-
-NewGraphGeomEssai.PrintPorts()
-
+++ /dev/null
-<?xml version='1.0' encoding='us-ascii' ?>
-
-<!-- XML Dataflow -->
-
-<!-- Dataflow information -->
-<dataflow>
- <info-list>
- <node>
- <component-name>NewGraphGeomEssai</component-name>
- <interface-name>NewGraphGeomEssai</interface-name>
- <node-name>NewGraphGeomEssai</node-name>
- <kind>1</kind>
- <service>
- <service-name>NewGraphGeomEssai</service-name>
- <inParameter-list>
- <inParameter>
- <inParameter-type>double</inParameter-type>
- <inParameter-name>MakeSphere\x1</inParameter-name>
- </inParameter>
- <inParameter>
- <inParameter-type>double</inParameter-type>
- <inParameter-name>MakeSphere\y1</inParameter-name>
- </inParameter>
- <inParameter>
- <inParameter-type>double</inParameter-type>
- <inParameter-name>MakeSphere\z1</inParameter-name>
- </inParameter>
- <inParameter>
- <inParameter-type>double</inParameter-type>
- <inParameter-name>MakeSphere\radius</inParameter-name>
- </inParameter>
- <inParameter>
- <inParameter-type>double</inParameter-type>
- <inParameter-name>MakeTranslation\x1</inParameter-name>
- </inParameter>
- <inParameter>
- <inParameter-type>double</inParameter-type>
- <inParameter-name>MakeTranslation\y1</inParameter-name>
- </inParameter>
- <inParameter>
- <inParameter-type>double</inParameter-type>
- <inParameter-name>MakeTranslation\z1</inParameter-name>
- </inParameter>
- </inParameter-list>
- <outParameter-list>
- <outParameter>
- <outParameter-type>GEOM_Shape</outParameter-type>
- <outParameter-name>MakeFuse\result</outParameter-name>
- </outParameter>
- </outParameter-list>
- </service>
- <creation-date>12/12/2001 - 15:57:26</creation-date>
- <lastmodification-date>28/3/2002 - 15:32:51</lastmodification-date>
- <editor-release>1.00</editor-release>
- <author>?</author>
- <container>FactoryServer</container>
- <comment>?</comment>
- <x-position>0</x-position>
- <y-position>0</y-position>
- </node>
- </info-list>
-
- <node-list>
- <node>
- <component-name>GEOM</component-name>
- <interface-name>GEOM</interface-name>
- <node-name>MakeSphere</node-name>
- <kind>0</kind>
- <service>
- <service-name>MakeSphere</service-name>
- <inParameter-list>
- <inParameter>
- <inParameter-type>double</inParameter-type>
- <inParameter-name>x1</inParameter-name>
- </inParameter>
- <inParameter>
- <inParameter-type>double</inParameter-type>
- <inParameter-name>y1</inParameter-name>
- </inParameter>
- <inParameter>
- <inParameter-type>double</inParameter-type>
- <inParameter-name>z1</inParameter-name>
- </inParameter>
- <inParameter>
- <inParameter-type>double</inParameter-type>
- <inParameter-name>radius</inParameter-name>
- </inParameter>
- </inParameter-list>
- <outParameter-list>
- <outParameter>
- <outParameter-type>GEOM_Shape</outParameter-type>
- <outParameter-name>sphere</outParameter-name>
- </outParameter>
- </outParameter-list>
- </service>
- <creation-date>28/3/2002 - 15:32:51</creation-date>
- <lastmodification-date>28/3/2002 - 15:32:51</lastmodification-date>
- <editor-release>1.00</editor-release>
- <author>?</author>
- <container>FactoryServer</container>
- <comment>?</comment>
- <x-position>17</x-position>
- <y-position>75</y-position>
- </node>
- <node>
- <component-name>GEOM</component-name>
- <interface-name>GEOM</interface-name>
- <node-name>MakeCopy</node-name>
- <kind>0</kind>
- <service>
- <service-name>MakeCopy</service-name>
- <inParameter-list>
- <inParameter>
- <inParameter-type>GEOM_Shape</inParameter-type>
- <inParameter-name>shape</inParameter-name>
- </inParameter>
- </inParameter-list>
- <outParameter-list>
- <outParameter>
- <outParameter-type>GEOM_Shape</outParameter-type>
- <outParameter-name>copy</outParameter-name>
- </outParameter>
- </outParameter-list>
- </service>
- <creation-date>28/3/2002 - 15:32:51</creation-date>
- <lastmodification-date>28/3/2002 - 15:32:51</lastmodification-date>
- <editor-release>1.00</editor-release>
- <author>?</author>
- <container>FactoryServer</container>
- <comment>?</comment>
- <x-position>219</x-position>
- <y-position>12</y-position>
- </node>
- <node>
- <component-name>GEOM</component-name>
- <interface-name>GEOM</interface-name>
- <node-name>MakeTranslation</node-name>
- <kind>0</kind>
- <service>
- <service-name>MakeTranslation</service-name>
- <inParameter-list>
- <inParameter>
- <inParameter-type>GEOM_Shape</inParameter-type>
- <inParameter-name>shape</inParameter-name>
- </inParameter>
- <inParameter>
- <inParameter-type>double</inParameter-type>
- <inParameter-name>x1</inParameter-name>
- </inParameter>
- <inParameter>
- <inParameter-type>double</inParameter-type>
- <inParameter-name>y1</inParameter-name>
- </inParameter>
- <inParameter>
- <inParameter-type>double</inParameter-type>
- <inParameter-name>z1</inParameter-name>
- </inParameter>
- </inParameter-list>
- <outParameter-list>
- <outParameter>
- <outParameter-type>GEOM_Shape</outParameter-type>
- <outParameter-name>translation</outParameter-name>
- </outParameter>
- </outParameter-list>
- </service>
- <creation-date>28/3/2002 - 15:32:51</creation-date>
- <lastmodification-date>28/3/2002 - 15:32:51</lastmodification-date>
- <editor-release>1.00</editor-release>
- <author>?</author>
- <container>FactoryServer</container>
- <comment>?</comment>
- <x-position>221</x-position>
- <y-position>209</y-position>
- </node>
- <node>
- <component-name>GEOM</component-name>
- <interface-name>GEOM</interface-name>
- <node-name>MakeFuse</node-name>
- <kind>0</kind>
- <service>
- <service-name>MakeFuse</service-name>
- <inParameter-list>
- <inParameter>
- <inParameter-type>GEOM_Shape</inParameter-type>
- <inParameter-name>shape1</inParameter-name>
- </inParameter>
- <inParameter>
- <inParameter-type>GEOM_Shape</inParameter-type>
- <inParameter-name>shape2</inParameter-name>
- </inParameter>
- </inParameter-list>
- <outParameter-list>
- <outParameter>
- <outParameter-type>GEOM_Shape</outParameter-type>
- <outParameter-name>result</outParameter-name>
- </outParameter>
- </outParameter-list>
- </service>
- <creation-date>28/3/2002 - 15:32:51</creation-date>
- <lastmodification-date>28/3/2002 - 15:32:51</lastmodification-date>
- <editor-release>1.00</editor-release>
- <author>?</author>
- <container>FactoryServer</container>
- <comment>?</comment>
- <x-position>465</x-position>
- <y-position>106</y-position>
- </node>
- </node-list>
-
- <link-list>
- <link>
- <fromnode-name>MakeSphere</fromnode-name>
- <fromserviceparameter-name>sphere</fromserviceparameter-name>
- <tonode-name>MakeCopy</tonode-name>
- <toserviceparameter-name>shape</toserviceparameter-name>
- <coord-list>
- </coord-list>
- </link>
- <link>
- <fromnode-name>MakeSphere</fromnode-name>
- <fromserviceparameter-name>sphere</fromserviceparameter-name>
- <tonode-name>MakeTranslation</tonode-name>
- <toserviceparameter-name>shape</toserviceparameter-name>
- <coord-list>
- </coord-list>
- </link>
- <link>
- <fromnode-name>MakeCopy</fromnode-name>
- <fromserviceparameter-name>copy</fromserviceparameter-name>
- <tonode-name>MakeFuse</tonode-name>
- <toserviceparameter-name>shape1</toserviceparameter-name>
- <coord-list>
- </coord-list>
- </link>
- <link>
- <fromnode-name>MakeTranslation</fromnode-name>
- <fromserviceparameter-name>translation</fromserviceparameter-name>
- <tonode-name>MakeFuse</tonode-name>
- <toserviceparameter-name>shape2</toserviceparameter-name>
- <coord-list>
- </coord-list>
- </link>
- </link-list>
-
- <data-list>
- <data>
- <fromnode-name>NewGraphGeomEssai</fromnode-name>
- <fromserviceparameter-name>MakeSphere\x1</fromserviceparameter-name>
- <tonode-name>MakeSphere</tonode-name>
- <toserviceparameter-name>x1</toserviceparameter-name>
- <data-value>
- <value-type>3</value-type>
- <value>0</value>
- </data-value>
- <coord-list>
- </coord-list>
- </data>
- <data>
- <fromnode-name>NewGraphGeomEssai</fromnode-name>
- <fromserviceparameter-name>MakeSphere\y1</fromserviceparameter-name>
- <tonode-name>MakeSphere</tonode-name>
- <toserviceparameter-name>y1</toserviceparameter-name>
- <data-value>
- <value-type>3</value-type>
- <value>0</value>
- </data-value>
- <coord-list>
- </coord-list>
- </data>
- <data>
- <fromnode-name>NewGraphGeomEssai</fromnode-name>
- <fromserviceparameter-name>MakeSphere\z1</fromserviceparameter-name>
- <tonode-name>MakeSphere</tonode-name>
- <toserviceparameter-name>z1</toserviceparameter-name>
- <data-value>
- <value-type>3</value-type>
- <value>0</value>
- </data-value>
- <coord-list>
- </coord-list>
- </data>
- <data>
- <fromnode-name>NewGraphGeomEssai</fromnode-name>
- <fromserviceparameter-name>MakeSphere\radius</fromserviceparameter-name>
- <tonode-name>MakeSphere</tonode-name>
- <toserviceparameter-name>radius</toserviceparameter-name>
- <data-value>
- <value-type>3</value-type>
- <value>50</value>
- </data-value>
- <coord-list>
- </coord-list>
- </data>
- <data>
- <fromnode-name>NewGraphGeomEssai</fromnode-name>
- <fromserviceparameter-name>MakeTranslation\x1</fromserviceparameter-name>
- <tonode-name>MakeTranslation</tonode-name>
- <toserviceparameter-name>x1</toserviceparameter-name>
- <data-value>
- <value-type>3</value-type>
- <value>80</value>
- </data-value>
- <coord-list>
- </coord-list>
- </data>
- <data>
- <fromnode-name>NewGraphGeomEssai</fromnode-name>
- <fromserviceparameter-name>MakeTranslation\y1</fromserviceparameter-name>
- <tonode-name>MakeTranslation</tonode-name>
- <toserviceparameter-name>y1</toserviceparameter-name>
- <data-value>
- <value-type>3</value-type>
- <value>0</value>
- </data-value>
- <coord-list>
- </coord-list>
- </data>
- <data>
- <fromnode-name>NewGraphGeomEssai</fromnode-name>
- <fromserviceparameter-name>MakeTranslation\z1</fromserviceparameter-name>
- <tonode-name>MakeTranslation</tonode-name>
- <toserviceparameter-name>z1</toserviceparameter-name>
- <data-value>
- <value-type>3</value-type>
- <value>0</value>
- </data-value>
- <coord-list>
- </coord-list>
- </data>
- </data-list>
-
-</dataflow>
+++ /dev/null
-
-# Generated python file of Graph aNewDataFlow
-
-from SuperV import *
-# Graph creation
-aNewDataFlow = Graph( 'aNewDataFlow' )
-aNewDataFlow.SetName( 'aNewDataFlow' )
-aNewDataFlow.SetAuthor( '' )
-aNewDataFlow.SetComment( '' )
-aNewDataFlow.Coords( 0 , 0 )
-
-# Creation of Factory Nodes
-
-InitCL = aNewDataFlow.FNode( 'CLRheolef' , 'CLRheolef' , 'InitCL' )
-InitCL.SetName( 'InitCL' )
-InitCL.SetAuthor( '' )
-InitCL.SetContainer( 'localhost/FactoryServer' )
-InitCL.SetComment( 'InitCL from CLRheolef' )
-InitCL.Coords( 414 , 334 )
-
-MakeBox = aNewDataFlow.FNode( 'Geometry' , 'Geometry' , 'MakeBox' )
-MakeBox.SetName( 'MakeBox' )
-MakeBox.SetAuthor( '' )
-MakeBox.SetContainer( 'localhost/FactoryServer' )
-MakeBox.SetComment( 'MakeBox from Geometry' )
-MakeBox.Coords( 7 , 29 )
-
-MeshGeomShapeSup = aNewDataFlow.FNode( 'QMG' , 'QMG' , 'MeshGeomShapeSup' )
-MeshGeomShapeSup.SetName( 'MeshGeomShapeSup' )
-MeshGeomShapeSup.SetAuthor( '' )
-MeshGeomShapeSup.SetContainer( 'localhost/FactoryServer' )
-MeshGeomShapeSup.SetComment( 'MeshGeomShapeSup from QMG' )
-MeshGeomShapeSup.Coords( 372 , 0 )
-
-SolveSup = aNewDataFlow.FNode( 'Rheolef' , 'Rheolef' , 'SolveSup' )
-SolveSup.SetName( 'SolveSup' )
-SolveSup.SetAuthor( '' )
-SolveSup.SetContainer( 'localhost/FactoryServer' )
-SolveSup.SetComment( 'SolveSup from Rheolef' )
-SolveSup.Coords( 1030 , 304 )
-
-ModifyCL = aNewDataFlow.FNode( 'CLRheolef' , 'CLRheolef' , 'ModifyCL' )
-ModifyCL.SetName( 'ModifyCL' )
-ModifyCL.SetAuthor( '' )
-ModifyCL.SetContainer( 'localhost/FactoryServer' )
-ModifyCL.SetComment( 'ModifyCL from CLRheolef' )
-ModifyCL.Coords( 602 , 335 )
-
-MakeBoolean = aNewDataFlow.FNode( 'Geometry' , 'Geometry' , 'MakeBoolean' )
-MakeBoolean.SetName( 'MakeBoolean' )
-MakeBoolean.SetAuthor( '' )
-MakeBoolean.SetContainer( 'localhost/FactoryServer' )
-MakeBoolean.SetComment( 'MakeBoolean from Geometry' )
-MakeBoolean.Coords( 188 , 30 )
-
-MakeBox_1 = aNewDataFlow.FNode( 'Geometry' , 'Geometry' , 'MakeBox' )
-MakeBox_1.SetName( 'MakeBox_1' )
-MakeBox_1.SetAuthor( '' )
-MakeBox_1.SetContainer( 'localhost/FactoryServer' )
-MakeBox_1.SetComment( 'MakeBox from Geometry' )
-MakeBox_1.Coords( 0 , 325 )
-
-MakeTranslation = aNewDataFlow.FNode( 'Geometry' , 'Geometry' , 'MakeTranslation' )
-MakeTranslation.SetName( 'MakeTranslation' )
-MakeTranslation.SetAuthor( '' )
-MakeTranslation.SetContainer( 'localhost/FactoryServer' )
-MakeTranslation.SetComment( 'MakeTranslation from Geometry' )
-MakeTranslation.Coords( 190 , 325 )
-
-FindNode = aNewDataFlow.FNode( 'QMG' , 'QMG' , 'FindNode' )
-FindNode.SetName( 'FindNode' )
-FindNode.SetAuthor( '' )
-FindNode.SetContainer( 'localhost/FactoryServer' )
-FindNode.SetComment( 'FindNode from QMG' )
-FindNode.Coords( 621 , 0 )
-
-ValueOf = aNewDataFlow.FNode( 'Rheolef' , 'Rheolef' , 'ValueOf' )
-ValueOf.SetName( 'ValueOf' )
-ValueOf.SetAuthor( '' )
-ValueOf.SetContainer( 'localhost/FactoryServer' )
-ValueOf.SetComment( 'ValueOf from Rheolef' )
-ValueOf.Coords( 832 , 42 )
-
-ModifyCL_1 = aNewDataFlow.FNode( 'CLRheolef' , 'CLRheolef' , 'ModifyCL' )
-ModifyCL_1.SetName( 'ModifyCL_1' )
-ModifyCL_1.SetAuthor( '' )
-ModifyCL_1.SetContainer( 'localhost/FactoryServer' )
-ModifyCL_1.SetComment( 'ModifyCL from CLRheolef' )
-ModifyCL_1.Coords( 800 , 334 )
-
-Plot = aNewDataFlow.FNode( 'Rheolef' , 'Rheolef' , 'Plot' )
-Plot.SetName( 'Plot' )
-Plot.SetAuthor( '' )
-Plot.SetContainer( 'localhost/FactoryServer' )
-Plot.SetComment( 'Plot from Rheolef' )
-Plot.Coords( 1029 , 41 )
-
-Add = aNewDataFlow.FNode( 'AddComponent' , 'AddComponent' , 'Add' )
-Add.SetName( 'Add' )
-Add.SetAuthor( '' )
-Add.SetContainer( 'localhost/FactoryServer' )
-Add.SetComment( 'Add from AddComponent' )
-Add.Coords( 0 , 610 )
-
-# Creation of Links
-InitCLreturn = InitCL.Port( 'return' )
-ModifyCLmyRheolefData = aNewDataFlow.Link( InitCLreturn , ModifyCL.Port( 'myRheolefData' ) )
-
-MakeBoxshape = MakeBox.Port( 'shape' )
-MakeBooleanshape1 = aNewDataFlow.Link( MakeBoxshape , MakeBoolean.Port( 'shape1' ) )
-
-MeshGeomShapeSupreturn = MeshGeomShapeSup.Port( 'return' )
-SolveSupmyMesh = aNewDataFlow.Link( MeshGeomShapeSupreturn , SolveSup.Port( 'myMesh' ) )
-SolveSupmyMesh.AddCoord( 1 , 985 , 442 )
-SolveSupmyMesh.AddCoord( 2 , 984 , 301 )
-SolveSupmyMesh.AddCoord( 3 , 561 , 300 )
-SolveSupmyMesh.AddCoord( 4 , 561 , 83 )
-
-InitCLmyMesh = aNewDataFlow.Link( MeshGeomShapeSupreturn , InitCL.Port( 'myMesh' ) )
-InitCLmyMesh.AddCoord( 1 , 385 , 502 )
-InitCLmyMesh.AddCoord( 2 , 384 , 301 )
-InitCLmyMesh.AddCoord( 3 , 561 , 300 )
-InitCLmyMesh.AddCoord( 4 , 561 , 81 )
-
-FindNodeaMesh = aNewDataFlow.Link( MeshGeomShapeSupreturn , FindNode.Port( 'aMesh' ) )
-
-SolveSupreturn = SolveSup.Port( 'return' )
-ValueOfaField = aNewDataFlow.Link( SolveSupreturn , ValueOf.Port( 'aField' ) )
-ValueOfaField.AddCoord( 1 , 818 , 122 )
-ValueOfaField.AddCoord( 2 , 817 , 26 )
-ValueOfaField.AddCoord( 3 , 1216 , 26 )
-ValueOfaField.AddCoord( 4 , 1218 , 385 )
-
-ModifyCLreturn = ModifyCL.Port( 'return' )
-ModifyCL_1myRheolefData = aNewDataFlow.Link( ModifyCLreturn , ModifyCL_1.Port( 'myRheolefData' ) )
-
-MakeBooleanshape = MakeBoolean.Port( 'shape' )
-MeshGeomShapeSupshape = aNewDataFlow.Link( MakeBooleanshape , MeshGeomShapeSup.Port( 'shape' ) )
-
-MakeBox_1shape = MakeBox_1.Port( 'shape' )
-MakeTranslationshape1 = aNewDataFlow.Link( MakeBox_1shape , MakeTranslation.Port( 'shape1' ) )
-
-MakeTranslationshape = MakeTranslation.Port( 'shape' )
-MakeBooleanshape2 = aNewDataFlow.Link( MakeTranslationshape , MakeBoolean.Port( 'shape2' ) )
-MakeBooleanshape2.AddCoord( 1 , 182 , 140 )
-MakeBooleanshape2.AddCoord( 2 , 181 , 261 )
-MakeBooleanshape2.AddCoord( 3 , 363 , 260 )
-MakeBooleanshape2.AddCoord( 4 , 363 , 411 )
-MakeBooleanshape2.AddCoord( 5 , 327 , 408 )
-
-FindNodereturn = FindNode.Port( 'return' )
-ValueOfnumberOfNode = aNewDataFlow.Link( FindNodereturn , ValueOf.Port( 'numberOfNode' ) )
-ValueOfnumberOfNode.AddCoord( 1 , 799 , 152 )
-ValueOfnumberOfNode.AddCoord( 2 , 798 , 81 )
-
-ValueOfreturn = ValueOf.Port( 'return' )
-PlotValue = aNewDataFlow.Link( ValueOfreturn , Plot.Port( 'Value' ) )
-
-ModifyCL_1return = ModifyCL_1.Port( 'return' )
-SolveSupmyRheolefData = aNewDataFlow.Link( ModifyCL_1return , SolveSup.Port( 'myRheolefData' ) )
-
-Addz = Add.Port( 'z' )
-MakeTranslationy1 = aNewDataFlow.Link( Addz , MakeTranslation.Port( 'y1' ) )
-MakeTranslationy1.AddCoord( 1 , 181 , 464 )
-MakeTranslationy1.AddCoord( 2 , 182 , 720 )
-
-FindNodey = aNewDataFlow.Link( Addz , FindNode.Port( 'y' ) )
-FindNodey.AddCoord( 1 , 592 , 139 )
-FindNodey.AddCoord( 2 , 593 , 720 )
-
-PlotPosition = aNewDataFlow.Link( Addz , Plot.Port( 'Position' ) )
-PlotPosition.AddCoord( 1 , 1010 , 150 )
-PlotPosition.AddCoord( 2 , 1011 , 720 )
-
-# Creation of Input datas
-InitCLstudyId = InitCL.Input( 'studyId' , 1)
-InitCLdataName = InitCL.Input( 'dataName' , 'BoxData')
-InitCLsource = InitCL.Input( 'source' , 0)
-MakeBoxx1 = MakeBox.Input( 'x1' , 0)
-MakeBoxy1 = MakeBox.Input( 'y1' , 0)
-MakeBoxz1 = MakeBox.Input( 'z1' , 0)
-MakeBoxx2 = MakeBox.Input( 'x2' , 100)
-MakeBoxy2 = MakeBox.Input( 'y2' , 500)
-MakeBoxz2 = MakeBox.Input( 'z2' , 50)
-MeshGeomShapeSupstudyId = MeshGeomShapeSup.Input( 'studyId' , 1)
-MeshGeomShapeSupsizeControl = MeshGeomShapeSup.Input( 'sizeControl' , 999999)
-MeshGeomShapeSupcurveControl = MeshGeomShapeSup.Input( 'curveControl' , 0.5)
-MeshGeomShapeSuptolmesh = MeshGeomShapeSup.Input( 'tolmesh' , 1e-05)
-MeshGeomShapeSuptolskin = MeshGeomShapeSup.Input( 'tolskin' , 0)
-SolveSupstudyId = SolveSup.Input( 'studyId' , 1)
-ModifyCLfaceToModify = ModifyCL.Input( 'faceToModify' , 3)
-ModifyCLnewFaceCLtype = ModifyCL.Input( 'newFaceCLtype' , 1)
-ModifyCLnewFaceValue = ModifyCL.Input( 'newFaceValue' , 0)
-MakeBooleanoperation = MakeBoolean.Input( 'operation' , 2)
-MakeBox_1x1 = MakeBox_1.Input( 'x1' , 0)
-MakeBox_1y1 = MakeBox_1.Input( 'y1' , 0)
-MakeBox_1z1 = MakeBox_1.Input( 'z1' , 0)
-MakeBox_1x2 = MakeBox_1.Input( 'x2' , 40)
-MakeBox_1y2 = MakeBox_1.Input( 'y2' , 40)
-MakeBox_1z2 = MakeBox_1.Input( 'z2' , 70)
-MakeTranslationx1 = MakeTranslation.Input( 'x1' , 30)
-MakeTranslationz1 = MakeTranslation.Input( 'z1' , -10)
-FindNodex = FindNode.Input( 'x' , 50)
-FindNodez = FindNode.Input( 'z' , 25)
-ModifyCL_1faceToModify = ModifyCL_1.Input( 'faceToModify' , 5)
-ModifyCL_1newFaceCLtype = ModifyCL_1.Input( 'newFaceCLtype' , 1)
-ModifyCL_1newFaceValue = ModifyCL_1.Input( 'newFaceValue' , 1)
-PlotFilename = Plot.Input( 'Filename' , 'Result.plt')
-Addx = Add.Input( 'x' , 0)
-Addy = Add.Input( 'y' , 10)
-
-# Creation of Output variables
-AddFuncValue = Add.Port( 'FuncValue' )
+++ /dev/null
-<!DOCTYPE Dataflow>
-<dataflow>
-<info-list>
-<node>
-<component-name>?</component-name>
- <interface-name>?</interface-name>
- <node-name>aNewDataFlow</node-name>
- <kind>1</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>aNewDataFlow</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>InitCL\studyId</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>string</inParameter-type>
- <inParameter-name>InitCL\dataName</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>double</inParameter-type>
- <inParameter-name>InitCL\source</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>double</inParameter-type>
- <inParameter-name>MakeBox\x1</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>double</inParameter-type>
- <inParameter-name>MakeBox\y1</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>double</inParameter-type>
- <inParameter-name>MakeBox\z1</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>double</inParameter-type>
- <inParameter-name>MakeBox\x2</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>double</inParameter-type>
- <inParameter-name>MakeBox\y2</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>double</inParameter-type>
- <inParameter-name>MakeBox\z2</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>MeshGeomShapeSup\studyId</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>double</inParameter-type>
- <inParameter-name>MeshGeomShapeSup\sizeControl</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>double</inParameter-type>
- <inParameter-name>MeshGeomShapeSup\curveControl</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>double</inParameter-type>
- <inParameter-name>MeshGeomShapeSup\tolmesh</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>double</inParameter-type>
- <inParameter-name>MeshGeomShapeSup\tolskin</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>SolveSup\studyId</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>ModifyCL\faceToModify</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>ModifyCL\newFaceCLtype</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>double</inParameter-type>
- <inParameter-name>ModifyCL\newFaceValue</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>MakeBoolean\operation</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>double</inParameter-type>
- <inParameter-name>MakeBox_1\x1</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>double</inParameter-type>
- <inParameter-name>MakeBox_1\y1</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>double</inParameter-type>
- <inParameter-name>MakeBox_1\z1</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>double</inParameter-type>
- <inParameter-name>MakeBox_1\x2</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>double</inParameter-type>
- <inParameter-name>MakeBox_1\y2</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>double</inParameter-type>
- <inParameter-name>MakeBox_1\z2</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>double</inParameter-type>
- <inParameter-name>MakeTranslation\x1</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>double</inParameter-type>
- <inParameter-name>MakeTranslation\z1</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>double</inParameter-type>
- <inParameter-name>FindNode\x</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>double</inParameter-type>
- <inParameter-name>FindNode\z</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>ModifyCL_1\faceToModify</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>ModifyCL_1\newFaceCLtype</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>double</inParameter-type>
- <inParameter-name>ModifyCL_1\newFaceValue</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>string</inParameter-type>
- <inParameter-name>Plot\Filename</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>double</inParameter-type>
- <inParameter-name>Add\x</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>double</inParameter-type>
- <inParameter-name>Add\y</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>double</outParameter-type>
- <outParameter-name>Add\FuncValue</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list/>
- <creation-date>14/7/2002 - 21:1:52</creation-date>
- <lastmodification-date>19/9/2003 - 15:24:7</lastmodification-date>
- <editor-release>1.03</editor-release>
- <author>?</author>
- <container>?</container>
- <comment>?</comment>
- <x-position>0</x-position>
- <y-position>0</y-position> </node> </info-list>
- <node-list>
-<node>
-<component-name>CLRheolef</component-name>
- <interface-name>CLRheolef</interface-name>
- <node-name>InitCL</node-name>
- <kind>0</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>InitCL</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>studyId</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>string</inParameter-type>
- <inParameter-name>dataName</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>double</inParameter-type>
- <inParameter-name>source</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>QMG_Mesh</inParameter-type>
- <inParameter-name>myMesh</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>Rheolef_Data</outParameter-type>
- <outParameter-name>return</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list/>
- <creation-date>19/9/2003 - 15:24:7</creation-date>
- <lastmodification-date>19/9/2003 - 15:24:7</lastmodification-date>
- <editor-release>1.03</editor-release>
- <author>?</author>
- <container>localhost/FactoryServer</container>
- <comment>InitCL from CLRheolef</comment>
- <x-position>414</x-position>
- <y-position>334</y-position> </node>
- <node>
-<component-name>Geometry</component-name>
- <interface-name>Geometry</interface-name>
- <node-name>MakeBox</node-name>
- <kind>0</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>MakeBox</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>double</inParameter-type>
- <inParameter-name>x1</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>double</inParameter-type>
- <inParameter-name>y1</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>double</inParameter-type>
- <inParameter-name>z1</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>double</inParameter-type>
- <inParameter-name>x2</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>double</inParameter-type>
- <inParameter-name>y2</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>double</inParameter-type>
- <inParameter-name>z2</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>GEOM_Shape</outParameter-type>
- <outParameter-name>shape</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list/>
- <creation-date>19/9/2003 - 15:24:7</creation-date>
- <lastmodification-date>19/9/2003 - 15:24:7</lastmodification-date>
- <editor-release>1.03</editor-release>
- <author>?</author>
- <container>localhost/FactoryServer</container>
- <comment>MakeBox from Geometry</comment>
- <x-position>7</x-position>
- <y-position>29</y-position> </node>
- <node>
-<component-name>QMG</component-name>
- <interface-name>QMG</interface-name>
- <node-name>MeshGeomShapeSup</node-name>
- <kind>0</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>MeshGeomShapeSup</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>studyId</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>GEOM_Shape</inParameter-type>
- <inParameter-name>shape</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>double</inParameter-type>
- <inParameter-name>sizeControl</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>double</inParameter-type>
- <inParameter-name>curveControl</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>double</inParameter-type>
- <inParameter-name>tolmesh</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>double</inParameter-type>
- <inParameter-name>tolskin</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>QMG_Mesh</outParameter-type>
- <outParameter-name>return</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list/>
- <creation-date>19/9/2003 - 15:24:7</creation-date>
- <lastmodification-date>19/9/2003 - 15:24:7</lastmodification-date>
- <editor-release>1.03</editor-release>
- <author>?</author>
- <container>localhost/FactoryServer</container>
- <comment>MeshGeomShapeSup from QMG</comment>
- <x-position>372</x-position>
- <y-position>0</y-position> </node>
- <node>
-<component-name>Rheolef</component-name>
- <interface-name>Rheolef</interface-name>
- <node-name>SolveSup</node-name>
- <kind>0</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>SolveSup</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>studyId</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>Rheolef_Data</inParameter-type>
- <inParameter-name>myRheolefData</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>QMG_Mesh</inParameter-type>
- <inParameter-name>myMesh</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>Rheolef_Field</outParameter-type>
- <outParameter-name>return</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list/>
- <creation-date>19/9/2003 - 15:24:7</creation-date>
- <lastmodification-date>19/9/2003 - 15:24:7</lastmodification-date>
- <editor-release>1.03</editor-release>
- <author>?</author>
- <container>localhost/FactoryServer</container>
- <comment>SolveSup from Rheolef</comment>
- <x-position>1030</x-position>
- <y-position>304</y-position> </node>
- <node>
-<component-name>CLRheolef</component-name>
- <interface-name>CLRheolef</interface-name>
- <node-name>ModifyCL</node-name>
- <kind>0</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>ModifyCL</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>Rheolef_Data</inParameter-type>
- <inParameter-name>myRheolefData</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>faceToModify</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>newFaceCLtype</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>double</inParameter-type>
- <inParameter-name>newFaceValue</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>Rheolef_Data</outParameter-type>
- <outParameter-name>return</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list/>
- <creation-date>19/9/2003 - 15:24:7</creation-date>
- <lastmodification-date>19/9/2003 - 15:24:7</lastmodification-date>
- <editor-release>1.03</editor-release>
- <author>?</author>
- <container>localhost/FactoryServer</container>
- <comment>ModifyCL from CLRheolef</comment>
- <x-position>602</x-position>
- <y-position>335</y-position> </node>
- <node>
-<component-name>Geometry</component-name>
- <interface-name>Geometry</interface-name>
- <node-name>MakeBoolean</node-name>
- <kind>0</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>MakeBoolean</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>GEOM_Shape</inParameter-type>
- <inParameter-name>shape1</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>GEOM_Shape</inParameter-type>
- <inParameter-name>shape2</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>operation</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>GEOM_Shape</outParameter-type>
- <outParameter-name>shape</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list/>
- <creation-date>19/9/2003 - 15:24:7</creation-date>
- <lastmodification-date>19/9/2003 - 15:24:7</lastmodification-date>
- <editor-release>1.03</editor-release>
- <author>?</author>
- <container>localhost/FactoryServer</container>
- <comment>MakeBoolean from Geometry</comment>
- <x-position>188</x-position>
- <y-position>30</y-position> </node>
- <node>
-<component-name>Geometry</component-name>
- <interface-name>Geometry</interface-name>
- <node-name>MakeBox_1</node-name>
- <kind>0</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>MakeBox</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>double</inParameter-type>
- <inParameter-name>x1</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>double</inParameter-type>
- <inParameter-name>y1</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>double</inParameter-type>
- <inParameter-name>z1</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>double</inParameter-type>
- <inParameter-name>x2</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>double</inParameter-type>
- <inParameter-name>y2</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>double</inParameter-type>
- <inParameter-name>z2</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>GEOM_Shape</outParameter-type>
- <outParameter-name>shape</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list/>
- <creation-date>19/9/2003 - 15:24:7</creation-date>
- <lastmodification-date>19/9/2003 - 15:24:7</lastmodification-date>
- <editor-release>1.03</editor-release>
- <author>?</author>
- <container>localhost/FactoryServer</container>
- <comment>MakeBox from Geometry</comment>
- <x-position>0</x-position>
- <y-position>325</y-position> </node>
- <node>
-<component-name>Geometry</component-name>
- <interface-name>Geometry</interface-name>
- <node-name>MakeTranslation</node-name>
- <kind>0</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>MakeTranslation</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>GEOM_Shape</inParameter-type>
- <inParameter-name>shape1</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>double</inParameter-type>
- <inParameter-name>x1</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>double</inParameter-type>
- <inParameter-name>y1</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>double</inParameter-type>
- <inParameter-name>z1</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>GEOM_Shape</outParameter-type>
- <outParameter-name>shape</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list/>
- <creation-date>19/9/2003 - 15:24:7</creation-date>
- <lastmodification-date>19/9/2003 - 15:24:7</lastmodification-date>
- <editor-release>1.03</editor-release>
- <author>?</author>
- <container>localhost/FactoryServer</container>
- <comment>MakeTranslation from Geometry</comment>
- <x-position>190</x-position>
- <y-position>325</y-position> </node>
- <node>
-<component-name>QMG</component-name>
- <interface-name>QMG</interface-name>
- <node-name>FindNode</node-name>
- <kind>0</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>FindNode</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>QMG_Mesh</inParameter-type>
- <inParameter-name>aMesh</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>double</inParameter-type>
- <inParameter-name>x</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>double</inParameter-type>
- <inParameter-name>y</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>double</inParameter-type>
- <inParameter-name>z</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>return</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list/>
- <creation-date>19/9/2003 - 15:24:7</creation-date>
- <lastmodification-date>19/9/2003 - 15:24:7</lastmodification-date>
- <editor-release>1.03</editor-release>
- <author>?</author>
- <container>localhost/FactoryServer</container>
- <comment>FindNode from QMG</comment>
- <x-position>621</x-position>
- <y-position>0</y-position> </node>
- <node>
-<component-name>Rheolef</component-name>
- <interface-name>Rheolef</interface-name>
- <node-name>ValueOf</node-name>
- <kind>0</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>ValueOf</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>Rheolef_Field</inParameter-type>
- <inParameter-name>aField</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>numberOfNode</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>double</outParameter-type>
- <outParameter-name>return</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list/>
- <creation-date>19/9/2003 - 15:24:7</creation-date>
- <lastmodification-date>19/9/2003 - 15:24:7</lastmodification-date>
- <editor-release>1.03</editor-release>
- <author>?</author>
- <container>localhost/FactoryServer</container>
- <comment>ValueOf from Rheolef</comment>
- <x-position>832</x-position>
- <y-position>42</y-position> </node>
- <node>
-<component-name>CLRheolef</component-name>
- <interface-name>CLRheolef</interface-name>
- <node-name>ModifyCL_1</node-name>
- <kind>0</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>ModifyCL</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>Rheolef_Data</inParameter-type>
- <inParameter-name>myRheolefData</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>faceToModify</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>newFaceCLtype</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>double</inParameter-type>
- <inParameter-name>newFaceValue</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>Rheolef_Data</outParameter-type>
- <outParameter-name>return</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list/>
- <creation-date>19/9/2003 - 15:24:7</creation-date>
- <lastmodification-date>19/9/2003 - 15:24:7</lastmodification-date>
- <editor-release>1.03</editor-release>
- <author>?</author>
- <container>localhost/FactoryServer</container>
- <comment>ModifyCL from CLRheolef</comment>
- <x-position>800</x-position>
- <y-position>334</y-position> </node>
- <node>
-<component-name>Rheolef</component-name>
- <interface-name>Rheolef</interface-name>
- <node-name>Plot</node-name>
- <kind>0</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>Plot</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>double</inParameter-type>
- <inParameter-name>Value</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>double</inParameter-type>
- <inParameter-name>Position</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>string</inParameter-type>
- <inParameter-name>Filename</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list/> </service>
- <Parameter-list/>
- <PyFunction-list/>
- <creation-date>19/9/2003 - 15:24:7</creation-date>
- <lastmodification-date>19/9/2003 - 15:24:7</lastmodification-date>
- <editor-release>1.03</editor-release>
- <author>?</author>
- <container>localhost/FactoryServer</container>
- <comment>Plot from Rheolef</comment>
- <x-position>1029</x-position>
- <y-position>41</y-position> </node>
- <node>
-<component-name>AddComponent</component-name>
- <interface-name>AddComponent</interface-name>
- <node-name>Add</node-name>
- <kind>0</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>Add</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>double</inParameter-type>
- <inParameter-name>x</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>double</inParameter-type>
- <inParameter-name>y</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>double</outParameter-type>
- <outParameter-name>FuncValue</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>double</outParameter-type>
- <outParameter-name>z</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list/>
- <creation-date>19/9/2003 - 15:24:7</creation-date>
- <lastmodification-date>19/9/2003 - 15:24:7</lastmodification-date>
- <editor-release>1.03</editor-release>
- <author>?</author>
- <container>localhost/FactoryServer</container>
- <comment>Add from AddComponent</comment>
- <x-position>0</x-position>
- <y-position>610</y-position> </node> </node-list>
- <link-list>
-<link>
-<fromnode-name>InitCL</fromnode-name>
- <fromserviceparameter-name>return</fromserviceparameter-name>
- <tonode-name>ModifyCL</tonode-name>
- <toserviceparameter-name>myRheolefData</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>MakeBox</fromnode-name>
- <fromserviceparameter-name>shape</fromserviceparameter-name>
- <tonode-name>MakeBoolean</tonode-name>
- <toserviceparameter-name>shape1</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>MeshGeomShapeSup</fromnode-name>
- <fromserviceparameter-name>return</fromserviceparameter-name>
- <tonode-name>SolveSup</tonode-name>
- <toserviceparameter-name>myMesh</toserviceparameter-name>
- <coord-list>
-<coord>
-<x>985</x>
- <y>442</y> </coord>
- <coord>
-<x>984</x>
- <y>301</y> </coord>
- <coord>
-<x>561</x>
- <y>300</y> </coord>
- <coord>
-<x>561</x>
- <y>83</y> </coord> </coord-list> </link>
- <link>
-<fromnode-name>MeshGeomShapeSup</fromnode-name>
- <fromserviceparameter-name>return</fromserviceparameter-name>
- <tonode-name>InitCL</tonode-name>
- <toserviceparameter-name>myMesh</toserviceparameter-name>
- <coord-list>
-<coord>
-<x>385</x>
- <y>502</y> </coord>
- <coord>
-<x>384</x>
- <y>301</y> </coord>
- <coord>
-<x>561</x>
- <y>300</y> </coord>
- <coord>
-<x>561</x>
- <y>81</y> </coord> </coord-list> </link>
- <link>
-<fromnode-name>MeshGeomShapeSup</fromnode-name>
- <fromserviceparameter-name>return</fromserviceparameter-name>
- <tonode-name>FindNode</tonode-name>
- <toserviceparameter-name>aMesh</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>SolveSup</fromnode-name>
- <fromserviceparameter-name>return</fromserviceparameter-name>
- <tonode-name>ValueOf</tonode-name>
- <toserviceparameter-name>aField</toserviceparameter-name>
- <coord-list>
-<coord>
-<x>818</x>
- <y>122</y> </coord>
- <coord>
-<x>817</x>
- <y>26</y> </coord>
- <coord>
-<x>1216</x>
- <y>26</y> </coord>
- <coord>
-<x>1218</x>
- <y>385</y> </coord> </coord-list> </link>
- <link>
-<fromnode-name>ModifyCL</fromnode-name>
- <fromserviceparameter-name>return</fromserviceparameter-name>
- <tonode-name>ModifyCL_1</tonode-name>
- <toserviceparameter-name>myRheolefData</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>MakeBoolean</fromnode-name>
- <fromserviceparameter-name>shape</fromserviceparameter-name>
- <tonode-name>MeshGeomShapeSup</tonode-name>
- <toserviceparameter-name>shape</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>MakeBox_1</fromnode-name>
- <fromserviceparameter-name>shape</fromserviceparameter-name>
- <tonode-name>MakeTranslation</tonode-name>
- <toserviceparameter-name>shape1</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>MakeTranslation</fromnode-name>
- <fromserviceparameter-name>shape</fromserviceparameter-name>
- <tonode-name>MakeBoolean</tonode-name>
- <toserviceparameter-name>shape2</toserviceparameter-name>
- <coord-list>
-<coord>
-<x>182</x>
- <y>140</y> </coord>
- <coord>
-<x>181</x>
- <y>261</y> </coord>
- <coord>
-<x>363</x>
- <y>260</y> </coord>
- <coord>
-<x>363</x>
- <y>411</y> </coord>
- <coord>
-<x>327</x>
- <y>408</y> </coord> </coord-list> </link>
- <link>
-<fromnode-name>FindNode</fromnode-name>
- <fromserviceparameter-name>return</fromserviceparameter-name>
- <tonode-name>ValueOf</tonode-name>
- <toserviceparameter-name>numberOfNode</toserviceparameter-name>
- <coord-list>
-<coord>
-<x>799</x>
- <y>152</y> </coord>
- <coord>
-<x>798</x>
- <y>81</y> </coord> </coord-list> </link>
- <link>
-<fromnode-name>ValueOf</fromnode-name>
- <fromserviceparameter-name>return</fromserviceparameter-name>
- <tonode-name>Plot</tonode-name>
- <toserviceparameter-name>Value</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>ModifyCL_1</fromnode-name>
- <fromserviceparameter-name>return</fromserviceparameter-name>
- <tonode-name>SolveSup</tonode-name>
- <toserviceparameter-name>myRheolefData</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>Add</fromnode-name>
- <fromserviceparameter-name>z</fromserviceparameter-name>
- <tonode-name>MakeTranslation</tonode-name>
- <toserviceparameter-name>y1</toserviceparameter-name>
- <coord-list>
-<coord>
-<x>181</x>
- <y>464</y> </coord>
- <coord>
-<x>182</x>
- <y>720</y> </coord> </coord-list> </link>
- <link>
-<fromnode-name>Add</fromnode-name>
- <fromserviceparameter-name>z</fromserviceparameter-name>
- <tonode-name>FindNode</tonode-name>
- <toserviceparameter-name>y</toserviceparameter-name>
- <coord-list>
-<coord>
-<x>592</x>
- <y>139</y> </coord>
- <coord>
-<x>593</x>
- <y>720</y> </coord> </coord-list> </link>
- <link>
-<fromnode-name>Add</fromnode-name>
- <fromserviceparameter-name>z</fromserviceparameter-name>
- <tonode-name>Plot</tonode-name>
- <toserviceparameter-name>Position</toserviceparameter-name>
- <coord-list>
-<coord>
-<x>1010</x>
- <y>150</y> </coord>
- <coord>
-<x>1011</x>
- <y>720</y> </coord> </coord-list> </link> </link-list>
- <data-list>
-<data>
-<fromnode-name>aNewDataFlow</fromnode-name>
- <fromserviceparameter-name>InitCL\studyId</fromserviceparameter-name>
- <tonode-name>InitCL</tonode-name>
- <toserviceparameter-name>studyId</toserviceparameter-name>
- <data-value>
-<value-type>3</value-type>
- <value>1</value> </data-value>
- <coord-list/> </data>
- <data>
-<fromnode-name>aNewDataFlow</fromnode-name>
- <fromserviceparameter-name>InitCL\dataName</fromserviceparameter-name>
- <tonode-name>InitCL</tonode-name>
- <toserviceparameter-name>dataName</toserviceparameter-name>
- <data-value>
-<value-type>18</value-type>
- <value>BoxData</value> </data-value>
- <coord-list/> </data>
- <data>
-<fromnode-name>aNewDataFlow</fromnode-name>
- <fromserviceparameter-name>InitCL\source</fromserviceparameter-name>
- <tonode-name>InitCL</tonode-name>
- <toserviceparameter-name>source</toserviceparameter-name>
- <data-value>
-<value-type>7</value-type>
- <value>0</value> </data-value>
- <coord-list/> </data>
- <data>
-<fromnode-name>aNewDataFlow</fromnode-name>
- <fromserviceparameter-name>MakeBox\x1</fromserviceparameter-name>
- <tonode-name>MakeBox</tonode-name>
- <toserviceparameter-name>x1</toserviceparameter-name>
- <data-value>
-<value-type>7</value-type>
- <value>0</value> </data-value>
- <coord-list/> </data>
- <data>
-<fromnode-name>aNewDataFlow</fromnode-name>
- <fromserviceparameter-name>MakeBox\y1</fromserviceparameter-name>
- <tonode-name>MakeBox</tonode-name>
- <toserviceparameter-name>y1</toserviceparameter-name>
- <data-value>
-<value-type>7</value-type>
- <value>0</value> </data-value>
- <coord-list/> </data>
- <data>
-<fromnode-name>aNewDataFlow</fromnode-name>
- <fromserviceparameter-name>MakeBox\z1</fromserviceparameter-name>
- <tonode-name>MakeBox</tonode-name>
- <toserviceparameter-name>z1</toserviceparameter-name>
- <data-value>
-<value-type>7</value-type>
- <value>0</value> </data-value>
- <coord-list/> </data>
- <data>
-<fromnode-name>aNewDataFlow</fromnode-name>
- <fromserviceparameter-name>MakeBox\x2</fromserviceparameter-name>
- <tonode-name>MakeBox</tonode-name>
- <toserviceparameter-name>x2</toserviceparameter-name>
- <data-value>
-<value-type>7</value-type>
- <value>100</value> </data-value>
- <coord-list/> </data>
- <data>
-<fromnode-name>aNewDataFlow</fromnode-name>
- <fromserviceparameter-name>MakeBox\y2</fromserviceparameter-name>
- <tonode-name>MakeBox</tonode-name>
- <toserviceparameter-name>y2</toserviceparameter-name>
- <data-value>
-<value-type>7</value-type>
- <value>500</value> </data-value>
- <coord-list/> </data>
- <data>
-<fromnode-name>aNewDataFlow</fromnode-name>
- <fromserviceparameter-name>MakeBox\z2</fromserviceparameter-name>
- <tonode-name>MakeBox</tonode-name>
- <toserviceparameter-name>z2</toserviceparameter-name>
- <data-value>
-<value-type>7</value-type>
- <value>50</value> </data-value>
- <coord-list/> </data>
- <data>
-<fromnode-name>aNewDataFlow</fromnode-name>
- <fromserviceparameter-name>MeshGeomShapeSup\studyId</fromserviceparameter-name>
- <tonode-name>MeshGeomShapeSup</tonode-name>
- <toserviceparameter-name>studyId</toserviceparameter-name>
- <data-value>
-<value-type>3</value-type>
- <value>1</value> </data-value>
- <coord-list/> </data>
- <data>
-<fromnode-name>aNewDataFlow</fromnode-name>
- <fromserviceparameter-name>MeshGeomShapeSup\sizeControl</fromserviceparameter-name>
- <tonode-name>MeshGeomShapeSup</tonode-name>
- <toserviceparameter-name>sizeControl</toserviceparameter-name>
- <data-value>
-<value-type>7</value-type>
- <value>999999</value> </data-value>
- <coord-list/> </data>
- <data>
-<fromnode-name>aNewDataFlow</fromnode-name>
- <fromserviceparameter-name>MeshGeomShapeSup\curveControl</fromserviceparameter-name>
- <tonode-name>MeshGeomShapeSup</tonode-name>
- <toserviceparameter-name>curveControl</toserviceparameter-name>
- <data-value>
-<value-type>7</value-type>
- <value>0.5</value> </data-value>
- <coord-list/> </data>
- <data>
-<fromnode-name>aNewDataFlow</fromnode-name>
- <fromserviceparameter-name>MeshGeomShapeSup\tolmesh</fromserviceparameter-name>
- <tonode-name>MeshGeomShapeSup</tonode-name>
- <toserviceparameter-name>tolmesh</toserviceparameter-name>
- <data-value>
-<value-type>7</value-type>
- <value>1e-05</value> </data-value>
- <coord-list/> </data>
- <data>
-<fromnode-name>aNewDataFlow</fromnode-name>
- <fromserviceparameter-name>MeshGeomShapeSup\tolskin</fromserviceparameter-name>
- <tonode-name>MeshGeomShapeSup</tonode-name>
- <toserviceparameter-name>tolskin</toserviceparameter-name>
- <data-value>
-<value-type>7</value-type>
- <value>0</value> </data-value>
- <coord-list/> </data>
- <data>
-<fromnode-name>aNewDataFlow</fromnode-name>
- <fromserviceparameter-name>SolveSup\studyId</fromserviceparameter-name>
- <tonode-name>SolveSup</tonode-name>
- <toserviceparameter-name>studyId</toserviceparameter-name>
- <data-value>
-<value-type>3</value-type>
- <value>1</value> </data-value>
- <coord-list/> </data>
- <data>
-<fromnode-name>aNewDataFlow</fromnode-name>
- <fromserviceparameter-name>ModifyCL\faceToModify</fromserviceparameter-name>
- <tonode-name>ModifyCL</tonode-name>
- <toserviceparameter-name>faceToModify</toserviceparameter-name>
- <data-value>
-<value-type>3</value-type>
- <value>3</value> </data-value>
- <coord-list/> </data>
- <data>
-<fromnode-name>aNewDataFlow</fromnode-name>
- <fromserviceparameter-name>ModifyCL\newFaceCLtype</fromserviceparameter-name>
- <tonode-name>ModifyCL</tonode-name>
- <toserviceparameter-name>newFaceCLtype</toserviceparameter-name>
- <data-value>
-<value-type>3</value-type>
- <value>1</value> </data-value>
- <coord-list/> </data>
- <data>
-<fromnode-name>aNewDataFlow</fromnode-name>
- <fromserviceparameter-name>ModifyCL\newFaceValue</fromserviceparameter-name>
- <tonode-name>ModifyCL</tonode-name>
- <toserviceparameter-name>newFaceValue</toserviceparameter-name>
- <data-value>
-<value-type>7</value-type>
- <value>0</value> </data-value>
- <coord-list/> </data>
- <data>
-<fromnode-name>aNewDataFlow</fromnode-name>
- <fromserviceparameter-name>MakeBoolean\operation</fromserviceparameter-name>
- <tonode-name>MakeBoolean</tonode-name>
- <toserviceparameter-name>operation</toserviceparameter-name>
- <data-value>
-<value-type>3</value-type>
- <value>2</value> </data-value>
- <coord-list/> </data>
- <data>
-<fromnode-name>aNewDataFlow</fromnode-name>
- <fromserviceparameter-name>MakeBox_1\x1</fromserviceparameter-name>
- <tonode-name>MakeBox_1</tonode-name>
- <toserviceparameter-name>x1</toserviceparameter-name>
- <data-value>
-<value-type>7</value-type>
- <value>0</value> </data-value>
- <coord-list/> </data>
- <data>
-<fromnode-name>aNewDataFlow</fromnode-name>
- <fromserviceparameter-name>MakeBox_1\y1</fromserviceparameter-name>
- <tonode-name>MakeBox_1</tonode-name>
- <toserviceparameter-name>y1</toserviceparameter-name>
- <data-value>
-<value-type>7</value-type>
- <value>0</value> </data-value>
- <coord-list/> </data>
- <data>
-<fromnode-name>aNewDataFlow</fromnode-name>
- <fromserviceparameter-name>MakeBox_1\z1</fromserviceparameter-name>
- <tonode-name>MakeBox_1</tonode-name>
- <toserviceparameter-name>z1</toserviceparameter-name>
- <data-value>
-<value-type>7</value-type>
- <value>0</value> </data-value>
- <coord-list/> </data>
- <data>
-<fromnode-name>aNewDataFlow</fromnode-name>
- <fromserviceparameter-name>MakeBox_1\x2</fromserviceparameter-name>
- <tonode-name>MakeBox_1</tonode-name>
- <toserviceparameter-name>x2</toserviceparameter-name>
- <data-value>
-<value-type>7</value-type>
- <value>40</value> </data-value>
- <coord-list/> </data>
- <data>
-<fromnode-name>aNewDataFlow</fromnode-name>
- <fromserviceparameter-name>MakeBox_1\y2</fromserviceparameter-name>
- <tonode-name>MakeBox_1</tonode-name>
- <toserviceparameter-name>y2</toserviceparameter-name>
- <data-value>
-<value-type>7</value-type>
- <value>40</value> </data-value>
- <coord-list/> </data>
- <data>
-<fromnode-name>aNewDataFlow</fromnode-name>
- <fromserviceparameter-name>MakeBox_1\z2</fromserviceparameter-name>
- <tonode-name>MakeBox_1</tonode-name>
- <toserviceparameter-name>z2</toserviceparameter-name>
- <data-value>
-<value-type>7</value-type>
- <value>70</value> </data-value>
- <coord-list/> </data>
- <data>
-<fromnode-name>aNewDataFlow</fromnode-name>
- <fromserviceparameter-name>MakeTranslation\x1</fromserviceparameter-name>
- <tonode-name>MakeTranslation</tonode-name>
- <toserviceparameter-name>x1</toserviceparameter-name>
- <data-value>
-<value-type>7</value-type>
- <value>30</value> </data-value>
- <coord-list/> </data>
- <data>
-<fromnode-name>aNewDataFlow</fromnode-name>
- <fromserviceparameter-name>MakeTranslation\z1</fromserviceparameter-name>
- <tonode-name>MakeTranslation</tonode-name>
- <toserviceparameter-name>z1</toserviceparameter-name>
- <data-value>
-<value-type>7</value-type>
- <value>-10</value> </data-value>
- <coord-list/> </data>
- <data>
-<fromnode-name>aNewDataFlow</fromnode-name>
- <fromserviceparameter-name>FindNode\x</fromserviceparameter-name>
- <tonode-name>FindNode</tonode-name>
- <toserviceparameter-name>x</toserviceparameter-name>
- <data-value>
-<value-type>7</value-type>
- <value>50</value> </data-value>
- <coord-list/> </data>
- <data>
-<fromnode-name>aNewDataFlow</fromnode-name>
- <fromserviceparameter-name>FindNode\z</fromserviceparameter-name>
- <tonode-name>FindNode</tonode-name>
- <toserviceparameter-name>z</toserviceparameter-name>
- <data-value>
-<value-type>7</value-type>
- <value>25</value> </data-value>
- <coord-list/> </data>
- <data>
-<fromnode-name>aNewDataFlow</fromnode-name>
- <fromserviceparameter-name>ModifyCL_1\faceToModify</fromserviceparameter-name>
- <tonode-name>ModifyCL_1</tonode-name>
- <toserviceparameter-name>faceToModify</toserviceparameter-name>
- <data-value>
-<value-type>3</value-type>
- <value>5</value> </data-value>
- <coord-list/> </data>
- <data>
-<fromnode-name>aNewDataFlow</fromnode-name>
- <fromserviceparameter-name>ModifyCL_1\newFaceCLtype</fromserviceparameter-name>
- <tonode-name>ModifyCL_1</tonode-name>
- <toserviceparameter-name>newFaceCLtype</toserviceparameter-name>
- <data-value>
-<value-type>3</value-type>
- <value>1</value> </data-value>
- <coord-list/> </data>
- <data>
-<fromnode-name>aNewDataFlow</fromnode-name>
- <fromserviceparameter-name>ModifyCL_1\newFaceValue</fromserviceparameter-name>
- <tonode-name>ModifyCL_1</tonode-name>
- <toserviceparameter-name>newFaceValue</toserviceparameter-name>
- <data-value>
-<value-type>7</value-type>
- <value>1</value> </data-value>
- <coord-list/> </data>
- <data>
-<fromnode-name>aNewDataFlow</fromnode-name>
- <fromserviceparameter-name>Plot\Filename</fromserviceparameter-name>
- <tonode-name>Plot</tonode-name>
- <toserviceparameter-name>Filename</toserviceparameter-name>
- <data-value>
-<value-type>18</value-type>
- <value>Result.plt</value> </data-value>
- <coord-list/> </data>
- <data>
-<fromnode-name>aNewDataFlow</fromnode-name>
- <fromserviceparameter-name>Add\x</fromserviceparameter-name>
- <tonode-name>Add</tonode-name>
- <toserviceparameter-name>x</toserviceparameter-name>
- <data-value>
-<value-type>7</value-type>
- <value>0</value> </data-value>
- <coord-list/> </data>
- <data>
-<fromnode-name>aNewDataFlow</fromnode-name>
- <fromserviceparameter-name>Add\y</fromserviceparameter-name>
- <tonode-name>Add</tonode-name>
- <toserviceparameter-name>y</toserviceparameter-name>
- <data-value>
-<value-type>7</value-type>
- <value>10</value> </data-value>
- <coord-list/> </data> </data-list></dataflow>
+++ /dev/null
-
-# Generated python file of Graph SyrStruct
-
-from SuperV import *
-# Graph creation
-SyrStruct = Graph( 'SyrStruct' )
-SyrStruct.SetName( 'SyrStruct' )
-SyrStruct.SetAuthor( 'JR' )
-SyrStruct.SetComment( 'Syracuse algorithm' )
-SyrStruct.Coords( 0 , 0 )
-
-# Creation of Factory Nodes
-
-m3 = SyrStruct.FNode( 'SyrComponent' , 'SyrComponent' , 'C_M3' )
-m3.SetName( 'm3' )
-m3.SetAuthor( '' )
-m3.SetContainer( 'localhost/FactoryServer' )
-m3.SetComment( 'C_M3 from SyrComponent' )
-m3.Coords( 672 , 28 )
-
-m3incr = SyrStruct.FNode( 'SyrComponent' , 'SyrComponent' , 'C_INCR' )
-m3incr.SetName( 'm3incr' )
-m3incr.SetAuthor( '' )
-m3incr.SetContainer( 'localhost/FactoryServer' )
-m3incr.SetComment( 'C_INCR from SyrComponent' )
-m3incr.Coords( 898 , 29 )
-
-incra = SyrStruct.FNode( 'SyrComponent' , 'SyrComponent' , 'C_INCR' )
-incra.SetName( 'incra' )
-incra.SetAuthor( '' )
-incra.SetContainer( 'localhost/FactoryServer' )
-incra.SetComment( 'C_INCR from SyrComponent' )
-incra.Coords( 803 , 195 )
-
-div2 = SyrStruct.FNode( 'SyrComponent' , 'SyrComponent' , 'C_DIV2' )
-div2.SetName( 'div2' )
-div2.SetAuthor( '' )
-div2.SetContainer( 'localhost/FactoryServer' )
-div2.SetComment( 'C_DIV2 from SyrComponent' )
-div2.Coords( 810 , 435 )
-
-incrb = SyrStruct.FNode( 'SyrComponent' , 'SyrComponent' , 'C_INCR' )
-incrb.SetName( 'incrb' )
-incrb.SetAuthor( '' )
-incrb.SetContainer( 'localhost/FactoryServer' )
-incrb.SetComment( 'C_INCR from SyrComponent' )
-incrb.Coords( 809 , 574 )
-
-# Creation of InLine Nodes
-PySyrComponent = []
-PySyrComponent.append( 'from LifeCycleCORBA import * ' )
-PySyrComponent.append( 'def SyrComponent( aContainer , aComponent ) : ' )
-PySyrComponent.append( ' orb = CORBA.ORB_init([], CORBA.ORB_ID) ' )
-PySyrComponent.append( ' lcc = LifeCycleCORBA(orb) ' )
-PySyrComponent.append( ' ComponentRef = lcc.FindOrLoadComponent( aContainer , aComponent ) ' )
-PySyrComponent.append( ' return ComponentRef ' )
-SyrComponent = SyrStruct.INode( 'SyrComponent' , PySyrComponent )
-SyrComponent.SetName( 'SyrComponent' )
-SyrComponent.SetAuthor( '' )
-SyrComponent.SetComment( 'SyrComponent( aContainer , aComponent )' )
-SyrComponent.Coords( 0 , 0 )
-SyrComponent.InPort( 'aContainer' , 'string' )
-SyrComponent.InPort( 'aComponent' , 'string' )
-SyrComponent.OutPort( 'SyrComponentobjref' , 'objref' )
-
-# Creation of Loop Nodes
-PyforN = []
-PyforN.append( 'def InitN( NN , K , SyrComponent , min , max ) : ' )
-PyforN.append( ' N = max ' )
-PyforN.append( ' if min > 0 : ' )
-PyforN.append( ' if max >= min : ' )
-PyforN.append( ' N = min ' )
-PyforN.append( ' return N,K,SyrComponent,min,max ' )
-PyMoreforN = []
-PyMoreforN.append( 'def MoreN( NN , KK , SyrComponent , min , max ) : ' )
-PyMoreforN.append( ' N = NN ' )
-PyMoreforN.append( ' OutLoop = 0 ' )
-PyMoreforN.append( ' if max > NN : ' )
-PyMoreforN.append( ' OutLoop = 1 ' )
-PyMoreforN.append( ' return OutLoop,N,0,SyrComponent,min,max ' )
-PyNextforN = []
-PyNextforN.append( 'def NextN( NN , KK , SyrComponent , min , max ) : ' )
-PyNextforN.append( ' N = NN + 1 ' )
-PyNextforN.append( ' K = KK ' )
-PyNextforN.append( ' return N,K,SyrComponent,min,max ' )
-forN,EndOfforN = SyrStruct.LNode( 'InitN' , PyforN , 'MoreN' , PyMoreforN , 'NextN' , PyNextforN )
-EndOfforN.SetName( 'EndOfforN' )
-EndOfforN.SetAuthor( '' )
-EndOfforN.SetComment( '' )
-EndOfforN.Coords( 1535 , 332 )
-forN.SetName( 'forN' )
-forN.SetAuthor( '' )
-forN.SetComment( 'InitN , MoreN , NextN' )
-forN.Coords( 20 , 302 )
-forN.InPort( 'N' , 'long' )
-forN.InPort( 'K' , 'long' )
-forN.InPort( 'SyrComponent' , 'objref' )
-forN.InPort( 'min' , 'long' )
-forN.InPort( 'max' , 'long' )
-forN.OutPort( 'N' , 'long' )
-forN.OutPort( 'K' , 'long' )
-forN.OutPort( 'SyrComponent' , 'objref' )
-forN.OutPort( 'min' , 'long' )
-forN.OutPort( 'max' , 'long' )
-
-PywhileNotOne = []
-PywhileNotOne.append( 'import threading' )
-PywhileNotOne.append( 'import SyrComponent_idl' )
-PywhileNotOne.append( 'def InitNotOne( SyrComponent , N , K ) :' )
-PywhileNotOne.append( ' return SyrComponent,N,K' )
-PyMorewhileNotOne = []
-PyMorewhileNotOne.append( 'import SyrComponent_idl' )
-PyMorewhileNotOne.append( 'def MoreNotOne( SyrComponent , N , K ) :' )
-PyMorewhileNotOne.append( ' OutLoop = 1 - SyrComponent.C_ISONE( N )' )
-PyMorewhileNotOne.append( ' return OutLoop,SyrComponent,N,K ' )
-PyNextwhileNotOne = []
-PyNextwhileNotOne.append( 'import SyrComponent_idl' )
-PyNextwhileNotOne.append( 'def NextNotOne( SyrComponent , N , K ) :' )
-PyNextwhileNotOne.append( ' return SyrComponent,N,K' )
-whileNotOne,EndOfwhileNotOne = SyrStruct.LNode( 'InitNotOne' , PywhileNotOne , 'MoreNotOne' , PyMorewhileNotOne , 'NextNotOne' , PyNextwhileNotOne )
-EndOfwhileNotOne.SetName( 'EndOfwhileNotOne' )
-EndOfwhileNotOne.SetAuthor( '' )
-EndOfwhileNotOne.SetComment( '' )
-EndOfwhileNotOne.Coords( 1366 , 303 )
-whileNotOne.SetName( 'whileNotOne' )
-whileNotOne.SetAuthor( '' )
-whileNotOne.SetComment( 'InitNotOne , MoreNotOne , NextNotOne' )
-whileNotOne.Coords( 212 , 274 )
-whileNotOne.InPort( 'SyrComponent' , 'objref' )
-whileNotOne.InPort( 'N' , 'long' )
-whileNotOne.InPort( 'K' , 'long' )
-whileNotOne.OutPort( 'SyrComponent' , 'objref' )
-whileNotOne.OutPort( 'N' , 'long' )
-whileNotOne.OutPort( 'K' , 'long' )
-
-Pyfori = []
-Pyfori.append( 'def Initfori( ii , K ) :' )
-Pyfori.append( ' return 1,0,K' )
-PyMorefori = []
-PyMorefori.append( 'def Morefori( ii , K ) :' )
-PyMorefori.append( ' OutLoop = 0' )
-PyMorefori.append( ' if 2 > ii :' )
-PyMorefori.append( ' OutLoop = 1' )
-PyMorefori.append( ' return OutLoop,ii,K' )
-PyNextfori = []
-PyNextfori.append( 'def Nextfori( ii , K ) :' )
-PyNextfori.append( ' ii = ii + 1' )
-PyNextfori.append( ' return ii,K' )
-fori,EndOffori = SyrStruct.LNode( 'Initfori' , Pyfori , 'Morefori' , PyMorefori , 'Nextfori' , PyNextfori )
-EndOffori.SetName( 'EndOffori' )
-EndOffori.SetAuthor( '' )
-EndOffori.SetComment( '' )
-EndOffori.Coords( 976 , 212 )
-fori.SetName( 'fori' )
-fori.SetAuthor( '' )
-fori.SetComment( 'Initfori, Morefori, Nextfori' )
-fori.Coords( 635 , 212 )
-fori.InPort( 'i' , 'long' )
-fori.InPort( 'K' , 'long' )
-fori.OutPort( 'i' , 'long' )
-fori.OutPort( 'K' , 'long' )
-
-PywhileEven = []
-PywhileEven.append( 'import SyrComponent_idl' )
-PywhileEven.append( 'def InitEven( SyrComponent , N , K ) :' )
-PywhileEven.append( ' return SyrComponent,N,K' )
-PyMorewhileEven = []
-PyMorewhileEven.append( 'import SyrComponent_idl' )
-PyMorewhileEven.append( 'def MoreEven( SyrComponent , N , K ) :' )
-PyMorewhileEven.append( ' OutLoop = SyrComponent.C_ISEVEN( N )' )
-PyMorewhileEven.append( ' return OutLoop,SyrComponent,N,K ' )
-PyNextwhileEven = []
-PyNextwhileEven.append( 'import SyrComponent_idl' )
-PyNextwhileEven.append( 'def NextEven( SyrComponent , N , K ) :' )
-PyNextwhileEven.append( ' return SyrComponent,N,K' )
-whileEven,EndOfwhileEven = SyrStruct.LNode( 'InitEven' , PywhileEven , 'MoreEven' , PyMorewhileEven , 'NextEven' , PyNextwhileEven )
-EndOfwhileEven.SetName( 'EndOfwhileEven' )
-EndOfwhileEven.SetAuthor( '' )
-EndOfwhileEven.SetComment( '' )
-EndOfwhileEven.Coords( 988 , 451 )
-whileEven.SetName( 'whileEven' )
-whileEven.SetAuthor( '' )
-whileEven.SetComment( 'InitEven, MoreEven, NextEven' )
-whileEven.Coords( 632 , 451 )
-whileEven.InPort( 'SyrComponent' , 'objref' )
-whileEven.InPort( 'N' , 'long' )
-whileEven.InPort( 'K' , 'long' )
-whileEven.OutPort( 'SyrComponent' , 'objref' )
-whileEven.OutPort( 'N' , 'long' )
-whileEven.OutPort( 'K' , 'long' )
-
-# Creation of Switch Nodes
-PyifNotEven = []
-PyifNotEven.append( 'import SyrComponent_idl' )
-PyifNotEven.append( 'def ifNotEven( SyrComponent , N , K ) :' )
-PyifNotEven.append( ' Even = SyrComponent.C_ISEVEN( N )' )
-PyifNotEven.append( ' Odd = 1 - Even' )
-PyifNotEven.append( ' return Odd,Even,SyrComponent,N,K' )
-ifNotEven,EndOfifNotEven = SyrStruct.SNode( 'ifNotEven' , PyifNotEven )
-EndOfifNotEven.SetName( 'EndOfifNotEven' )
-EndOfifNotEven.SetAuthor( '' )
-EndOfifNotEven.SetComment( '' )
-EndOfifNotEven.Coords( 1205 , 331 )
-PyEndOfifNotEven = []
-EndOfifNotEven.SetPyFunction( 'EndifNotEven' , PyEndOfifNotEven )
-EndOfifNotEven.InPort( 'N' , 'long' )
-EndOfifNotEven.InPort( 'K' , 'long' )
-EndOfifNotEven.OutPort( 'N' , 'long' )
-EndOfifNotEven.OutPort( 'K' , 'long' )
-ifNotEven.SetName( 'ifNotEven' )
-ifNotEven.SetAuthor( '' )
-ifNotEven.SetComment( 'ifNotEven' )
-ifNotEven.Coords( 418 , 274 )
-ifNotEven.InPort( 'SyrComponent' , 'objref' )
-ifNotEven.InPort( 'N' , 'long' )
-ifNotEven.InPort( 'K' , 'long' )
-ifNotEven.OutPort( 'Odd' , 'long' )
-ifNotEven.OutPort( 'Even' , 'long' )
-ifNotEven.OutPort( 'SyrComponent' , 'objref' )
-ifNotEven.OutPort( 'N' , 'long' )
-ifNotEven.OutPort( 'K' , 'long' )
-
-# Creation of Links
-m3anInteger = m3.Port( 'anInteger' )
-m3incraCount = SyrStruct.Link( m3anInteger , m3incr.Port( 'aCount' ) )
-
-m3incraNewCount = m3incr.Port( 'aNewCount' )
-EndOfifNotEvenN = SyrStruct.Link( m3incraNewCount , EndOfifNotEven.Port( 'N' ) )
-EndOfifNotEvenN.AddCoord( 1 , 1190 , 366 )
-EndOfifNotEvenN.AddCoord( 2 , 1191 , 109 )
-
-incraaNewCount = incra.Port( 'aNewCount' )
-EndOfforiK = SyrStruct.Link( incraaNewCount , EndOffori.Port( 'K' ) )
-
-div2anInteger = div2.Port( 'anInteger' )
-EndOfwhileEvenN = SyrStruct.Link( div2anInteger , EndOfwhileEven.Port( 'N' ) )
-
-incrbaNewCount = incrb.Port( 'aNewCount' )
-EndOfwhileEvenK = SyrStruct.Link( incrbaNewCount , EndOfwhileEven.Port( 'K' ) )
-EndOfwhileEvenK.AddCoord( 1 , 988 , 543 )
-EndOfwhileEvenK.AddCoord( 2 , 988 , 654 )
-
-SyrComponentSyrComponentobjref = SyrComponent.Port( 'SyrComponentobjref' )
-forNSyrComponent = SyrStruct.Link( SyrComponentSyrComponentobjref , forN.Port( 'SyrComponent' ) )
-forNSyrComponent.AddCoord( 1 , 13 , 394 )
-forNSyrComponent.AddCoord( 2 , 12 , 181 )
-forNSyrComponent.AddCoord( 3 , 196 , 181 )
-forNSyrComponent.AddCoord( 4 , 197 , 81 )
-
-forNN = forN.Port( 'N' )
-whileNotOneN = SyrStruct.Link( forNN , whileNotOne.Port( 'N' ) )
-
-EndOfforNN = SyrStruct.Link( forNN , EndOfforN.Port( 'N' ) )
-
-forNK = forN.Port( 'K' )
-whileNotOneK = SyrStruct.Link( forNK , whileNotOne.Port( 'K' ) )
-
-forNSyrComponent = forN.Port( 'SyrComponent' )
-EndOfforNSyrComponent = SyrStruct.Link( forNSyrComponent , EndOfforN.Port( 'SyrComponent' ) )
-
-whileNotOneSyrComponent = SyrStruct.Link( forNSyrComponent , whileNotOne.Port( 'SyrComponent' ) )
-whileNotOneSyrComponent.AddCoord( 1 , 192 , 309 )
-whileNotOneSyrComponent.AddCoord( 2 , 191 , 394 )
-
-forNmin = forN.Port( 'min' )
-EndOfforNmin = SyrStruct.Link( forNmin , EndOfforN.Port( 'min' ) )
-
-forNmax = forN.Port( 'max' )
-EndOfforNmax = SyrStruct.Link( forNmax , EndOfforN.Port( 'max' ) )
-
-whileNotOneSyrComponent = whileNotOne.Port( 'SyrComponent' )
-EndOfwhileNotOneSyrComponent = SyrStruct.Link( whileNotOneSyrComponent , EndOfwhileNotOne.Port( 'SyrComponent' ) )
-
-ifNotEvenSyrComponent = SyrStruct.Link( whileNotOneSyrComponent , ifNotEven.Port( 'SyrComponent' ) )
-
-whileNotOneN = whileNotOne.Port( 'N' )
-ifNotEvenN = SyrStruct.Link( whileNotOneN , ifNotEven.Port( 'N' ) )
-
-whileNotOneK = whileNotOne.Port( 'K' )
-ifNotEvenK = SyrStruct.Link( whileNotOneK , ifNotEven.Port( 'K' ) )
-
-EndOfwhileNotOneK = EndOfwhileNotOne.Port( 'K' )
-EndOfforNK = SyrStruct.Link( EndOfwhileNotOneK , EndOfforN.Port( 'K' ) )
-
-forii = fori.Port( 'i' )
-EndOfforii = SyrStruct.Link( forii , EndOffori.Port( 'i' ) )
-
-foriK = fori.Port( 'K' )
-incraaCount = SyrStruct.Link( foriK , incra.Port( 'aCount' ) )
-
-EndOfforiK = EndOffori.Port( 'K' )
-EndOfifNotEvenK = SyrStruct.Link( EndOfforiK , EndOfifNotEven.Port( 'K' ) )
-EndOfifNotEvenK.AddCoord( 1 , 1170 , 396 )
-EndOfifNotEvenK.AddCoord( 2 , 1169 , 275 )
-
-whileEvenSyrComponent = whileEven.Port( 'SyrComponent' )
-EndOfwhileEvenSyrComponent = SyrStruct.Link( whileEvenSyrComponent , EndOfwhileEven.Port( 'SyrComponent' ) )
-
-whileEvenN = whileEven.Port( 'N' )
-div2anEvenInteger = SyrStruct.Link( whileEvenN , div2.Port( 'anEvenInteger' ) )
-
-whileEvenK = whileEven.Port( 'K' )
-incrbaCount = SyrStruct.Link( whileEvenK , incrb.Port( 'aCount' ) )
-incrbaCount.AddCoord( 1 , 796 , 655 )
-incrbaCount.AddCoord( 2 , 795 , 543 )
-
-EndOfwhileEvenN = EndOfwhileEven.Port( 'N' )
-EndOfifNotEvenN = SyrStruct.Link( EndOfwhileEvenN , EndOfifNotEven.Port( 'N' ) )
-EndOfifNotEvenN.AddCoord( 1 , 1191 , 366 )
-EndOfifNotEvenN.AddCoord( 2 , 1191 , 513 )
-
-EndOfwhileEvenK = EndOfwhileEven.Port( 'K' )
-EndOfifNotEvenK = SyrStruct.Link( EndOfwhileEvenK , EndOfifNotEven.Port( 'K' ) )
-EndOfifNotEvenK.AddCoord( 1 , 1169 , 395 )
-EndOfifNotEvenK.AddCoord( 2 , 1170 , 543 )
-
-ifNotEvenOdd = ifNotEven.Port( 'Odd' )
-m3InGate = SyrStruct.Link( ifNotEvenOdd , m3.Port( 'InGate' ) )
-m3InGate.AddCoord( 1 , 593 , 141 )
-m3InGate.AddCoord( 2 , 593 , 307 )
-
-foriInGate = SyrStruct.Link( ifNotEvenOdd , fori.Port( 'InGate' ) )
-
-ifNotEvenEven = ifNotEven.Port( 'Even' )
-whileEvenInGate = SyrStruct.Link( ifNotEvenEven , whileEven.Port( 'InGate' ) )
-whileEvenInGate.AddCoord( 1 , 593 , 576 )
-whileEvenInGate.AddCoord( 2 , 592 , 339 )
-
-ifNotEvenSyrComponent = ifNotEven.Port( 'SyrComponent' )
-whileEvenSyrComponent = SyrStruct.Link( ifNotEvenSyrComponent , whileEven.Port( 'SyrComponent' ) )
-whileEvenSyrComponent.AddCoord( 1 , 586 , 486 )
-whileEvenSyrComponent.AddCoord( 2 , 587 , 367 )
-
-ifNotEvenN = ifNotEven.Port( 'N' )
-whileEvenN = SyrStruct.Link( ifNotEvenN , whileEven.Port( 'N' ) )
-whileEvenN.AddCoord( 1 , 604 , 513 )
-whileEvenN.AddCoord( 2 , 603 , 397 )
-
-m3anOddInteger = SyrStruct.Link( ifNotEvenN , m3.Port( 'anOddInteger' ) )
-m3anOddInteger.AddCoord( 1 , 604 , 107 )
-m3anOddInteger.AddCoord( 2 , 604 , 395 )
-
-ifNotEvenK = ifNotEven.Port( 'K' )
-whileEvenK = SyrStruct.Link( ifNotEvenK , whileEven.Port( 'K' ) )
-whileEvenK.AddCoord( 1 , 621 , 544 )
-whileEvenK.AddCoord( 2 , 622 , 426 )
-
-foriK = SyrStruct.Link( ifNotEvenK , fori.Port( 'K' ) )
-foriK.AddCoord( 1 , 622 , 275 )
-foriK.AddCoord( 2 , 622 , 426 )
-
-ifNotEvenDefault = ifNotEven.Port( 'Default' )
-EndOfifNotEvenDefault = SyrStruct.Link( ifNotEvenDefault , EndOfifNotEven.Port( 'Default' ) )
-EndOfifNotEvenDefault.AddCoord( 1 , 1204 , 429 )
-EndOfifNotEvenDefault.AddCoord( 2 , 1203 , 12 )
-EndOfifNotEvenDefault.AddCoord( 3 , 581 , 13 )
-EndOfifNotEvenDefault.AddCoord( 4 , 581 , 458 )
-
-EndOfifNotEvenN = EndOfifNotEven.Port( 'N' )
-EndOfwhileNotOneN = SyrStruct.Link( EndOfifNotEvenN , EndOfwhileNotOne.Port( 'N' ) )
-
-EndOfifNotEvenK = EndOfifNotEven.Port( 'K' )
-EndOfwhileNotOneK = SyrStruct.Link( EndOfifNotEvenK , EndOfwhileNotOne.Port( 'K' ) )
-
-# Creation of Input datas
-SyrComponentaContainer = SyrComponent.Input( 'aContainer' , 'FactoryServer')
-SyrComponentaComponent = SyrComponent.Input( 'aComponent' , 'SyrComponent')
-forNN = forN.Input( 'N' , 0)
-
-forNK = forN.Input( 'K' , 0)
-forNmin = forN.Input( 'min' , 5)
-forNmax = forN.Input( 'max' , 9)
-forii = fori.Input( 'i' , 0)
-
-# Creation of Output variables
-EndOfforNN = EndOfforN.Port( 'N' )
-EndOfforNK = EndOfforN.Port( 'K' )
-EndOfforNSyrComponent = EndOfforN.Port( 'SyrComponent' )
-EndOfforNmin = EndOfforN.Port( 'min' )
-EndOfforNmax = EndOfforN.Port( 'max' )
-EndOfwhileNotOneSyrComponent = EndOfwhileNotOne.Port( 'SyrComponent' )
-EndOfwhileNotOneN = EndOfwhileNotOne.Port( 'N' )
-EndOfforii = EndOffori.Port( 'i' )
-EndOfwhileEvenSyrComponent = EndOfwhileEven.Port( 'SyrComponent' )
-
-SyrStruct.Run()
-
-SyrStruct.DoneW()
-
-print SyrStruct.State()
-
-SyrStruct.PrintPorts()
-
-SyrStruct.Export( '/tmp/SyrStruct.xml' )
-
-SyrStruct = Graph( '/tmp/SyrStruct.xml' )
-
-SyrStruct.Run()
-
-SyrStruct.DoneW()
-
-print SyrStruct.State()
-
+++ /dev/null
-<!DOCTYPE Dataflow>
-<dataflow>
-<info-list>
-<node>
-<component-name>?</component-name>
- <interface-name>?</interface-name>
- <node-name>SyrStruct</node-name>
- <kind>1</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>SyrStruct</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>string</inParameter-type>
- <inParameter-name>SyrComponent\aContainer</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>string</inParameter-type>
- <inParameter-name>SyrComponent\aComponent</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>forN\N</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>forN\K</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>forN\min</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>forN\max</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>fori\i</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>EndOfforN\N</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>EndOfforN\K</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>objref</outParameter-type>
- <outParameter-name>EndOfforN\SyrComponent</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>EndOfforN\min</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>EndOfforN\max</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>objref</outParameter-type>
- <outParameter-name>EndOfwhileNotOne\SyrComponent</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>EndOfwhileNotOne\N</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>EndOffori\i</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>objref</outParameter-type>
- <outParameter-name>EndOfwhileEven\SyrComponent</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list/>
- <creation-date>4/8/2003 - 17:56:20</creation-date>
- <lastmodification-date>1/10/2003 - 17:39:29</lastmodification-date>
- <editor-release>1.04</editor-release>
- <author>JR</author>
- <container>?</container>
- <comment>Syracuse algorithm</comment>
- <x-position>0</x-position>
- <y-position>0</y-position> </node> </info-list>
- <node-list>
-<node>
-<component-name>SyrComponent</component-name>
- <interface-name>SyrComponent</interface-name>
- <node-name>m3</node-name>
- <kind>0</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>C_M3</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>anOddInteger</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>anInteger</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list/>
- <creation-date>1/10/2003 - 17:39:29</creation-date>
- <lastmodification-date>1/10/2003 - 17:39:29</lastmodification-date>
- <editor-release>1.04</editor-release>
- <author>?</author>
- <container>localhost/FactoryServer</container>
- <comment>C_M3 from SyrComponent</comment>
- <x-position>672</x-position>
- <y-position>28</y-position> </node>
- <node>
-<component-name>SyrComponent</component-name>
- <interface-name>SyrComponent</interface-name>
- <node-name>m3incr</node-name>
- <kind>0</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>C_INCR</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>aCount</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>aNewCount</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list/>
- <creation-date>1/10/2003 - 17:39:29</creation-date>
- <lastmodification-date>1/10/2003 - 17:39:29</lastmodification-date>
- <editor-release>1.04</editor-release>
- <author>?</author>
- <container>localhost/FactoryServer</container>
- <comment>C_INCR from SyrComponent</comment>
- <x-position>898</x-position>
- <y-position>29</y-position> </node>
- <node>
-<component-name>SyrComponent</component-name>
- <interface-name>SyrComponent</interface-name>
- <node-name>incra</node-name>
- <kind>0</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>C_INCR</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>aCount</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>aNewCount</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list/>
- <creation-date>1/10/2003 - 17:39:29</creation-date>
- <lastmodification-date>1/10/2003 - 17:39:29</lastmodification-date>
- <editor-release>1.04</editor-release>
- <author>?</author>
- <container>localhost/FactoryServer</container>
- <comment>C_INCR from SyrComponent</comment>
- <x-position>803</x-position>
- <y-position>195</y-position> </node>
- <node>
-<component-name>SyrComponent</component-name>
- <interface-name>SyrComponent</interface-name>
- <node-name>div2</node-name>
- <kind>0</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>C_DIV2</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>anEvenInteger</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>anInteger</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list/>
- <creation-date>1/10/2003 - 17:39:29</creation-date>
- <lastmodification-date>1/10/2003 - 17:39:29</lastmodification-date>
- <editor-release>1.04</editor-release>
- <author>?</author>
- <container>localhost/FactoryServer</container>
- <comment>C_DIV2 from SyrComponent</comment>
- <x-position>810</x-position>
- <y-position>435</y-position> </node>
- <node>
-<component-name>SyrComponent</component-name>
- <interface-name>SyrComponent</interface-name>
- <node-name>incrb</node-name>
- <kind>0</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>C_INCR</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>aCount</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>aNewCount</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list/>
- <creation-date>1/10/2003 - 17:39:29</creation-date>
- <lastmodification-date>1/10/2003 - 17:39:29</lastmodification-date>
- <editor-release>1.04</editor-release>
- <author>?</author>
- <container>localhost/FactoryServer</container>
- <comment>C_INCR from SyrComponent</comment>
- <x-position>809</x-position>
- <y-position>574</y-position> </node>
- <node>
-<component-name>?</component-name>
- <interface-name>?</interface-name>
- <node-name>SyrComponent</node-name>
- <kind>3</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>SyrComponent</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>string</inParameter-type>
- <inParameter-name>aContainer</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>string</inParameter-type>
- <inParameter-name>aComponent</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>objref</outParameter-type>
- <outParameter-name>SyrComponentobjref</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list>
-<PyFunction>
-<FuncName>SyrComponent</FuncName>
- <PyFunc><![CDATA[from LifeCycleCORBA import * ]]></PyFunc>
- <PyFunc><![CDATA[def SyrComponent( aContainer , aComponent ) : ]]></PyFunc>
- <PyFunc><![CDATA[ orb = CORBA.ORB_init([], CORBA.ORB_ID) ]]></PyFunc>
- <PyFunc><![CDATA[ lcc = LifeCycleCORBA(orb) ]]></PyFunc>
- <PyFunc><![CDATA[ ComponentRef = lcc.FindOrLoadComponent( aContainer , aComponent ) ]]></PyFunc>
- <PyFunc><![CDATA[ return ComponentRef ]]></PyFunc> </PyFunction> </PyFunction-list>
- <creation-date>1/10/2003 - 17:39:29</creation-date>
- <lastmodification-date>1/10/2003 - 17:39:29</lastmodification-date>
- <editor-release>1.04</editor-release>
- <author>?</author>
- <container>?</container>
- <comment>SyrComponent( aContainer , aComponent )</comment>
- <x-position>0</x-position>
- <y-position>0</y-position> </node>
- <node>
-<component-name>?</component-name>
- <interface-name>?</interface-name>
- <node-name>forN</node-name>
- <kind>4</kind>
- <coupled-node>EndOfforN</coupled-node>
- <service>
-<service-name>forN</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>N</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>K</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>objref</inParameter-type>
- <inParameter-name>SyrComponent</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>min</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>max</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>N</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>K</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>objref</outParameter-type>
- <outParameter-name>SyrComponent</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>min</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>max</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list>
-<PyFunction>
-<FuncName>InitN</FuncName>
- <PyFunc><![CDATA[def InitN( NN , K , SyrComponent , min , max ) : ]]></PyFunc>
- <PyFunc><![CDATA[ N = max ]]></PyFunc>
- <PyFunc><![CDATA[ if min > 0 : ]]></PyFunc>
- <PyFunc><![CDATA[ if max >= min : ]]></PyFunc>
- <PyFunc><![CDATA[ N = min ]]></PyFunc>
- <PyFunc><![CDATA[ return N,K,SyrComponent,min,max ]]></PyFunc> </PyFunction>
- <PyFunction>
-<FuncName>MoreN</FuncName>
- <PyFunc><![CDATA[def MoreN( NN , KK , SyrComponent , min , max ) : ]]></PyFunc>
- <PyFunc><![CDATA[ N = NN ]]></PyFunc>
- <PyFunc><![CDATA[ OutLoop = 0 ]]></PyFunc>
- <PyFunc><![CDATA[ if max > NN : ]]></PyFunc>
- <PyFunc><![CDATA[ OutLoop = 1 ]]></PyFunc>
- <PyFunc><![CDATA[ return OutLoop,N,0,SyrComponent,min,max ]]></PyFunc> </PyFunction>
- <PyFunction>
-<FuncName>NextN</FuncName>
- <PyFunc><![CDATA[def NextN( NN , KK , SyrComponent , min , max ) : ]]></PyFunc>
- <PyFunc><![CDATA[ N = NN + 1 ]]></PyFunc>
- <PyFunc><![CDATA[ K = KK ]]></PyFunc>
- <PyFunc><![CDATA[ return N,K,SyrComponent,min,max ]]></PyFunc> </PyFunction> </PyFunction-list>
- <creation-date>1/10/2003 - 17:39:29</creation-date>
- <lastmodification-date>1/10/2003 - 17:39:29</lastmodification-date>
- <editor-release>1.04</editor-release>
- <author>?</author>
- <container>?</container>
- <comment>InitN , MoreN , NextN</comment>
- <x-position>20</x-position>
- <y-position>302</y-position> </node>
- <node>
-<component-name>?</component-name>
- <interface-name>?</interface-name>
- <node-name>EndOfforN</node-name>
- <kind>5</kind>
- <coupled-node>forN</coupled-node>
- <service>
-<service-name>EndOfforN</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>N</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>K</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>objref</inParameter-type>
- <inParameter-name>SyrComponent</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>min</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>max</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>N</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>K</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>objref</outParameter-type>
- <outParameter-name>SyrComponent</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>min</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>max</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list>
-<PyFunction/> </PyFunction-list>
- <creation-date>1/10/2003 - 17:39:29</creation-date>
- <lastmodification-date>1/10/2003 - 17:39:29</lastmodification-date>
- <editor-release>1.04</editor-release>
- <author>?</author>
- <container>?</container>
- <comment>?</comment>
- <x-position>1535</x-position>
- <y-position>332</y-position> </node>
- <node>
-<component-name>?</component-name>
- <interface-name>?</interface-name>
- <node-name>whileNotOne</node-name>
- <kind>4</kind>
- <coupled-node>EndOfwhileNotOne</coupled-node>
- <service>
-<service-name>whileNotOne</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>objref</inParameter-type>
- <inParameter-name>SyrComponent</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>N</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>K</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>objref</outParameter-type>
- <outParameter-name>SyrComponent</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>N</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>K</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list>
-<PyFunction>
-<FuncName>InitNotOne</FuncName>
- <PyFunc><![CDATA[import threading]]></PyFunc>
- <PyFunc><![CDATA[import SyrComponent_idl]]></PyFunc>
- <PyFunc><![CDATA[def InitNotOne( SyrComponent , N , K ) :]]></PyFunc>
- <PyFunc><![CDATA[ return SyrComponent,N,K]]></PyFunc> </PyFunction>
- <PyFunction>
-<FuncName>MoreNotOne</FuncName>
- <PyFunc><![CDATA[import SyrComponent_idl]]></PyFunc>
- <PyFunc><![CDATA[def MoreNotOne( SyrComponent , N , K ) :]]></PyFunc>
- <PyFunc><![CDATA[ OutLoop = 1 - SyrComponent.C_ISONE( N )]]></PyFunc>
- <PyFunc><![CDATA[ return OutLoop,SyrComponent,N,K ]]></PyFunc> </PyFunction>
- <PyFunction>
-<FuncName>NextNotOne</FuncName>
- <PyFunc><![CDATA[import SyrComponent_idl]]></PyFunc>
- <PyFunc><![CDATA[def NextNotOne( SyrComponent , N , K ) :]]></PyFunc>
- <PyFunc><![CDATA[ return SyrComponent,N,K]]></PyFunc> </PyFunction> </PyFunction-list>
- <creation-date>1/10/2003 - 17:39:29</creation-date>
- <lastmodification-date>1/10/2003 - 17:39:29</lastmodification-date>
- <editor-release>1.04</editor-release>
- <author>?</author>
- <container>?</container>
- <comment>InitNotOne , MoreNotOne , NextNotOne</comment>
- <x-position>212</x-position>
- <y-position>274</y-position> </node>
- <node>
-<component-name>?</component-name>
- <interface-name>?</interface-name>
- <node-name>EndOfwhileNotOne</node-name>
- <kind>5</kind>
- <coupled-node>whileNotOne</coupled-node>
- <service>
-<service-name>EndOfwhileNotOne</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>objref</inParameter-type>
- <inParameter-name>SyrComponent</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>N</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>K</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>objref</outParameter-type>
- <outParameter-name>SyrComponent</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>N</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>K</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list>
-<PyFunction/> </PyFunction-list>
- <creation-date>1/10/2003 - 17:39:29</creation-date>
- <lastmodification-date>1/10/2003 - 17:39:29</lastmodification-date>
- <editor-release>1.04</editor-release>
- <author>?</author>
- <container>?</container>
- <comment>?</comment>
- <x-position>1366</x-position>
- <y-position>303</y-position> </node>
- <node>
-<component-name>?</component-name>
- <interface-name>?</interface-name>
- <node-name>fori</node-name>
- <kind>4</kind>
- <coupled-node>EndOffori</coupled-node>
- <service>
-<service-name>fori</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>i</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>K</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>i</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>K</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list>
-<PyFunction>
-<FuncName>Initfori</FuncName>
- <PyFunc><![CDATA[def Initfori( ii , K ) :]]></PyFunc>
- <PyFunc><![CDATA[ return 1,0,K]]></PyFunc> </PyFunction>
- <PyFunction>
-<FuncName>Morefori</FuncName>
- <PyFunc><![CDATA[def Morefori( ii , K ) :]]></PyFunc>
- <PyFunc><![CDATA[ OutLoop = 0]]></PyFunc>
- <PyFunc><![CDATA[ if 2 > ii :]]></PyFunc>
- <PyFunc><![CDATA[ OutLoop = 1]]></PyFunc>
- <PyFunc><![CDATA[ return OutLoop,ii,K]]></PyFunc> </PyFunction>
- <PyFunction>
-<FuncName>Nextfori</FuncName>
- <PyFunc><![CDATA[def Nextfori( ii , K ) :]]></PyFunc>
- <PyFunc><![CDATA[ ii = ii + 1]]></PyFunc>
- <PyFunc><![CDATA[ return ii,K]]></PyFunc> </PyFunction> </PyFunction-list>
- <creation-date>1/10/2003 - 17:39:29</creation-date>
- <lastmodification-date>1/10/2003 - 17:39:29</lastmodification-date>
- <editor-release>1.04</editor-release>
- <author>?</author>
- <container>?</container>
- <comment>Initfori, Morefori, Nextfori</comment>
- <x-position>635</x-position>
- <y-position>212</y-position> </node>
- <node>
-<component-name>?</component-name>
- <interface-name>?</interface-name>
- <node-name>EndOffori</node-name>
- <kind>5</kind>
- <coupled-node>fori</coupled-node>
- <service>
-<service-name>EndOffori</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>i</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>K</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>i</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>K</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list>
-<PyFunction/> </PyFunction-list>
- <creation-date>1/10/2003 - 17:39:29</creation-date>
- <lastmodification-date>1/10/2003 - 17:39:29</lastmodification-date>
- <editor-release>1.04</editor-release>
- <author>?</author>
- <container>?</container>
- <comment>?</comment>
- <x-position>976</x-position>
- <y-position>212</y-position> </node>
- <node>
-<component-name>?</component-name>
- <interface-name>?</interface-name>
- <node-name>whileEven</node-name>
- <kind>4</kind>
- <coupled-node>EndOfwhileEven</coupled-node>
- <service>
-<service-name>whileEven</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>objref</inParameter-type>
- <inParameter-name>SyrComponent</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>N</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>K</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>objref</outParameter-type>
- <outParameter-name>SyrComponent</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>N</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>K</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list>
-<PyFunction>
-<FuncName>InitEven</FuncName>
- <PyFunc><![CDATA[import SyrComponent_idl]]></PyFunc>
- <PyFunc><![CDATA[def InitEven( SyrComponent , N , K ) :]]></PyFunc>
- <PyFunc><![CDATA[ return SyrComponent,N,K]]></PyFunc> </PyFunction>
- <PyFunction>
-<FuncName>MoreEven</FuncName>
- <PyFunc><![CDATA[import SyrComponent_idl]]></PyFunc>
- <PyFunc><![CDATA[def MoreEven( SyrComponent , N , K ) :]]></PyFunc>
- <PyFunc><![CDATA[ OutLoop = SyrComponent.C_ISEVEN( N )]]></PyFunc>
- <PyFunc><![CDATA[ return OutLoop,SyrComponent,N,K ]]></PyFunc> </PyFunction>
- <PyFunction>
-<FuncName>NextEven</FuncName>
- <PyFunc><![CDATA[import SyrComponent_idl]]></PyFunc>
- <PyFunc><![CDATA[def NextEven( SyrComponent , N , K ) :]]></PyFunc>
- <PyFunc><![CDATA[ return SyrComponent,N,K]]></PyFunc> </PyFunction> </PyFunction-list>
- <creation-date>1/10/2003 - 17:39:29</creation-date>
- <lastmodification-date>1/10/2003 - 17:39:29</lastmodification-date>
- <editor-release>1.04</editor-release>
- <author>?</author>
- <container>?</container>
- <comment>InitEven, MoreEven, NextEven</comment>
- <x-position>632</x-position>
- <y-position>451</y-position> </node>
- <node>
-<component-name>?</component-name>
- <interface-name>?</interface-name>
- <node-name>EndOfwhileEven</node-name>
- <kind>5</kind>
- <coupled-node>whileEven</coupled-node>
- <service>
-<service-name>EndOfwhileEven</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>objref</inParameter-type>
- <inParameter-name>SyrComponent</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>N</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>K</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>objref</outParameter-type>
- <outParameter-name>SyrComponent</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>N</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>K</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list>
-<PyFunction/> </PyFunction-list>
- <creation-date>1/10/2003 - 17:39:29</creation-date>
- <lastmodification-date>1/10/2003 - 17:39:29</lastmodification-date>
- <editor-release>1.04</editor-release>
- <author>?</author>
- <container>?</container>
- <comment>?</comment>
- <x-position>988</x-position>
- <y-position>451</y-position> </node>
- <node>
-<component-name>?</component-name>
- <interface-name>?</interface-name>
- <node-name>ifNotEven</node-name>
- <kind>6</kind>
- <coupled-node>EndOfifNotEven</coupled-node>
- <service>
-<service-name>ifNotEven</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>objref</inParameter-type>
- <inParameter-name>SyrComponent</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>N</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>K</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>Odd</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>Even</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>objref</outParameter-type>
- <outParameter-name>SyrComponent</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>N</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>K</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list>
-<PyFunction>
-<FuncName>ifNotEven</FuncName>
- <PyFunc><![CDATA[import SyrComponent_idl]]></PyFunc>
- <PyFunc><![CDATA[def ifNotEven( SyrComponent , N , K ) :]]></PyFunc>
- <PyFunc><![CDATA[ Even = SyrComponent.C_ISEVEN( N )]]></PyFunc>
- <PyFunc><![CDATA[ Odd = 1 - Even]]></PyFunc>
- <PyFunc><![CDATA[ return Odd,Even,SyrComponent,N,K]]></PyFunc> </PyFunction> </PyFunction-list>
- <creation-date>1/10/2003 - 17:39:29</creation-date>
- <lastmodification-date>1/10/2003 - 17:39:29</lastmodification-date>
- <editor-release>1.04</editor-release>
- <author>?</author>
- <container>?</container>
- <comment>ifNotEven</comment>
- <x-position>418</x-position>
- <y-position>274</y-position> </node>
- <node>
-<component-name>?</component-name>
- <interface-name>?</interface-name>
- <node-name>EndOfifNotEven</node-name>
- <kind>7</kind>
- <coupled-node>ifNotEven</coupled-node>
- <service>
-<service-name>EndOfifNotEven</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>N</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>K</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>N</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>K</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list>
-<PyFunction/> </PyFunction-list>
- <creation-date>1/10/2003 - 17:39:29</creation-date>
- <lastmodification-date>1/10/2003 - 17:39:29</lastmodification-date>
- <editor-release>1.04</editor-release>
- <author>?</author>
- <container>?</container>
- <comment>?</comment>
- <x-position>1205</x-position>
- <y-position>331</y-position> </node> </node-list>
- <link-list>
-<link>
-<fromnode-name>m3</fromnode-name>
- <fromserviceparameter-name>anInteger</fromserviceparameter-name>
- <tonode-name>m3incr</tonode-name>
- <toserviceparameter-name>aCount</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>m3incr</fromnode-name>
- <fromserviceparameter-name>aNewCount</fromserviceparameter-name>
- <tonode-name>EndOfifNotEven</tonode-name>
- <toserviceparameter-name>N</toserviceparameter-name>
- <coord-list>
-<coord>
-<x>1190</x>
- <y>366</y> </coord>
- <coord>
-<x>1191</x>
- <y>109</y> </coord> </coord-list> </link>
- <link>
-<fromnode-name>incra</fromnode-name>
- <fromserviceparameter-name>aNewCount</fromserviceparameter-name>
- <tonode-name>EndOffori</tonode-name>
- <toserviceparameter-name>K</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>div2</fromnode-name>
- <fromserviceparameter-name>anInteger</fromserviceparameter-name>
- <tonode-name>EndOfwhileEven</tonode-name>
- <toserviceparameter-name>N</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>incrb</fromnode-name>
- <fromserviceparameter-name>aNewCount</fromserviceparameter-name>
- <tonode-name>EndOfwhileEven</tonode-name>
- <toserviceparameter-name>K</toserviceparameter-name>
- <coord-list>
-<coord>
-<x>988</x>
- <y>543</y> </coord>
- <coord>
-<x>988</x>
- <y>654</y> </coord> </coord-list> </link>
- <link>
-<fromnode-name>SyrComponent</fromnode-name>
- <fromserviceparameter-name>SyrComponentobjref</fromserviceparameter-name>
- <tonode-name>forN</tonode-name>
- <toserviceparameter-name>SyrComponent</toserviceparameter-name>
- <coord-list>
-<coord>
-<x>13</x>
- <y>394</y> </coord>
- <coord>
-<x>12</x>
- <y>181</y> </coord>
- <coord>
-<x>196</x>
- <y>181</y> </coord>
- <coord>
-<x>197</x>
- <y>81</y> </coord> </coord-list> </link>
- <link>
-<fromnode-name>forN</fromnode-name>
- <fromserviceparameter-name>DoLoop</fromserviceparameter-name>
- <tonode-name>EndOfforN</tonode-name>
- <toserviceparameter-name>DoLoop</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>forN</fromnode-name>
- <fromserviceparameter-name>N</fromserviceparameter-name>
- <tonode-name>whileNotOne</tonode-name>
- <toserviceparameter-name>N</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>forN</fromnode-name>
- <fromserviceparameter-name>N</fromserviceparameter-name>
- <tonode-name>EndOfforN</tonode-name>
- <toserviceparameter-name>N</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>forN</fromnode-name>
- <fromserviceparameter-name>K</fromserviceparameter-name>
- <tonode-name>whileNotOne</tonode-name>
- <toserviceparameter-name>K</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>forN</fromnode-name>
- <fromserviceparameter-name>SyrComponent</fromserviceparameter-name>
- <tonode-name>EndOfforN</tonode-name>
- <toserviceparameter-name>SyrComponent</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>forN</fromnode-name>
- <fromserviceparameter-name>SyrComponent</fromserviceparameter-name>
- <tonode-name>whileNotOne</tonode-name>
- <toserviceparameter-name>SyrComponent</toserviceparameter-name>
- <coord-list>
-<coord>
-<x>192</x>
- <y>309</y> </coord>
- <coord>
-<x>191</x>
- <y>394</y> </coord> </coord-list> </link>
- <link>
-<fromnode-name>forN</fromnode-name>
- <fromserviceparameter-name>min</fromserviceparameter-name>
- <tonode-name>EndOfforN</tonode-name>
- <toserviceparameter-name>min</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>forN</fromnode-name>
- <fromserviceparameter-name>max</fromserviceparameter-name>
- <tonode-name>EndOfforN</tonode-name>
- <toserviceparameter-name>max</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>EndOfforN</fromnode-name>
- <fromserviceparameter-name>DoLoop</fromserviceparameter-name>
- <tonode-name>forN</tonode-name>
- <toserviceparameter-name>InitLoop</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>whileNotOne</fromnode-name>
- <fromserviceparameter-name>DoLoop</fromserviceparameter-name>
- <tonode-name>EndOfwhileNotOne</tonode-name>
- <toserviceparameter-name>DoLoop</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>whileNotOne</fromnode-name>
- <fromserviceparameter-name>SyrComponent</fromserviceparameter-name>
- <tonode-name>EndOfwhileNotOne</tonode-name>
- <toserviceparameter-name>SyrComponent</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>whileNotOne</fromnode-name>
- <fromserviceparameter-name>SyrComponent</fromserviceparameter-name>
- <tonode-name>ifNotEven</tonode-name>
- <toserviceparameter-name>SyrComponent</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>whileNotOne</fromnode-name>
- <fromserviceparameter-name>N</fromserviceparameter-name>
- <tonode-name>ifNotEven</tonode-name>
- <toserviceparameter-name>N</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>whileNotOne</fromnode-name>
- <fromserviceparameter-name>K</fromserviceparameter-name>
- <tonode-name>ifNotEven</tonode-name>
- <toserviceparameter-name>K</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>EndOfwhileNotOne</fromnode-name>
- <fromserviceparameter-name>DoLoop</fromserviceparameter-name>
- <tonode-name>whileNotOne</tonode-name>
- <toserviceparameter-name>InitLoop</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>EndOfwhileNotOne</fromnode-name>
- <fromserviceparameter-name>K</fromserviceparameter-name>
- <tonode-name>EndOfforN</tonode-name>
- <toserviceparameter-name>K</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>fori</fromnode-name>
- <fromserviceparameter-name>DoLoop</fromserviceparameter-name>
- <tonode-name>EndOffori</tonode-name>
- <toserviceparameter-name>DoLoop</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>fori</fromnode-name>
- <fromserviceparameter-name>i</fromserviceparameter-name>
- <tonode-name>EndOffori</tonode-name>
- <toserviceparameter-name>i</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>fori</fromnode-name>
- <fromserviceparameter-name>K</fromserviceparameter-name>
- <tonode-name>incra</tonode-name>
- <toserviceparameter-name>aCount</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>EndOffori</fromnode-name>
- <fromserviceparameter-name>DoLoop</fromserviceparameter-name>
- <tonode-name>fori</tonode-name>
- <toserviceparameter-name>InitLoop</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>EndOffori</fromnode-name>
- <fromserviceparameter-name>K</fromserviceparameter-name>
- <tonode-name>EndOfifNotEven</tonode-name>
- <toserviceparameter-name>K</toserviceparameter-name>
- <coord-list>
-<coord>
-<x>1170</x>
- <y>396</y> </coord>
- <coord>
-<x>1169</x>
- <y>275</y> </coord> </coord-list> </link>
- <link>
-<fromnode-name>whileEven</fromnode-name>
- <fromserviceparameter-name>DoLoop</fromserviceparameter-name>
- <tonode-name>EndOfwhileEven</tonode-name>
- <toserviceparameter-name>DoLoop</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>whileEven</fromnode-name>
- <fromserviceparameter-name>SyrComponent</fromserviceparameter-name>
- <tonode-name>EndOfwhileEven</tonode-name>
- <toserviceparameter-name>SyrComponent</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>whileEven</fromnode-name>
- <fromserviceparameter-name>N</fromserviceparameter-name>
- <tonode-name>div2</tonode-name>
- <toserviceparameter-name>anEvenInteger</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>whileEven</fromnode-name>
- <fromserviceparameter-name>K</fromserviceparameter-name>
- <tonode-name>incrb</tonode-name>
- <toserviceparameter-name>aCount</toserviceparameter-name>
- <coord-list>
-<coord>
-<x>796</x>
- <y>655</y> </coord>
- <coord>
-<x>795</x>
- <y>543</y> </coord> </coord-list> </link>
- <link>
-<fromnode-name>EndOfwhileEven</fromnode-name>
- <fromserviceparameter-name>DoLoop</fromserviceparameter-name>
- <tonode-name>whileEven</tonode-name>
- <toserviceparameter-name>InitLoop</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>EndOfwhileEven</fromnode-name>
- <fromserviceparameter-name>N</fromserviceparameter-name>
- <tonode-name>EndOfifNotEven</tonode-name>
- <toserviceparameter-name>N</toserviceparameter-name>
- <coord-list>
-<coord>
-<x>1191</x>
- <y>366</y> </coord>
- <coord>
-<x>1191</x>
- <y>513</y> </coord> </coord-list> </link>
- <link>
-<fromnode-name>EndOfwhileEven</fromnode-name>
- <fromserviceparameter-name>K</fromserviceparameter-name>
- <tonode-name>EndOfifNotEven</tonode-name>
- <toserviceparameter-name>K</toserviceparameter-name>
- <coord-list>
-<coord>
-<x>1169</x>
- <y>395</y> </coord>
- <coord>
-<x>1170</x>
- <y>543</y> </coord> </coord-list> </link>
- <link>
-<fromnode-name>ifNotEven</fromnode-name>
- <fromserviceparameter-name>Odd</fromserviceparameter-name>
- <tonode-name>m3</tonode-name>
- <toserviceparameter-name>InGate</toserviceparameter-name>
- <coord-list>
-<coord>
-<x>593</x>
- <y>141</y> </coord>
- <coord>
-<x>593</x>
- <y>307</y> </coord> </coord-list> </link>
- <link>
-<fromnode-name>ifNotEven</fromnode-name>
- <fromserviceparameter-name>Odd</fromserviceparameter-name>
- <tonode-name>fori</tonode-name>
- <toserviceparameter-name>InGate</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>ifNotEven</fromnode-name>
- <fromserviceparameter-name>Even</fromserviceparameter-name>
- <tonode-name>whileEven</tonode-name>
- <toserviceparameter-name>InGate</toserviceparameter-name>
- <coord-list>
-<coord>
-<x>593</x>
- <y>576</y> </coord>
- <coord>
-<x>592</x>
- <y>339</y> </coord> </coord-list> </link>
- <link>
-<fromnode-name>ifNotEven</fromnode-name>
- <fromserviceparameter-name>SyrComponent</fromserviceparameter-name>
- <tonode-name>whileEven</tonode-name>
- <toserviceparameter-name>SyrComponent</toserviceparameter-name>
- <coord-list>
-<coord>
-<x>586</x>
- <y>486</y> </coord>
- <coord>
-<x>587</x>
- <y>367</y> </coord> </coord-list> </link>
- <link>
-<fromnode-name>ifNotEven</fromnode-name>
- <fromserviceparameter-name>N</fromserviceparameter-name>
- <tonode-name>whileEven</tonode-name>
- <toserviceparameter-name>N</toserviceparameter-name>
- <coord-list>
-<coord>
-<x>604</x>
- <y>513</y> </coord>
- <coord>
-<x>603</x>
- <y>397</y> </coord> </coord-list> </link>
- <link>
-<fromnode-name>ifNotEven</fromnode-name>
- <fromserviceparameter-name>N</fromserviceparameter-name>
- <tonode-name>m3</tonode-name>
- <toserviceparameter-name>anOddInteger</toserviceparameter-name>
- <coord-list>
-<coord>
-<x>604</x>
- <y>107</y> </coord>
- <coord>
-<x>604</x>
- <y>395</y> </coord> </coord-list> </link>
- <link>
-<fromnode-name>ifNotEven</fromnode-name>
- <fromserviceparameter-name>K</fromserviceparameter-name>
- <tonode-name>whileEven</tonode-name>
- <toserviceparameter-name>K</toserviceparameter-name>
- <coord-list>
-<coord>
-<x>621</x>
- <y>544</y> </coord>
- <coord>
-<x>622</x>
- <y>426</y> </coord> </coord-list> </link>
- <link>
-<fromnode-name>ifNotEven</fromnode-name>
- <fromserviceparameter-name>K</fromserviceparameter-name>
- <tonode-name>fori</tonode-name>
- <toserviceparameter-name>K</toserviceparameter-name>
- <coord-list>
-<coord>
-<x>622</x>
- <y>275</y> </coord>
- <coord>
-<x>622</x>
- <y>426</y> </coord> </coord-list> </link>
- <link>
-<fromnode-name>ifNotEven</fromnode-name>
- <fromserviceparameter-name>Default</fromserviceparameter-name>
- <tonode-name>EndOfifNotEven</tonode-name>
- <toserviceparameter-name>Default</toserviceparameter-name>
- <coord-list>
-<coord>
-<x>1204</x>
- <y>429</y> </coord>
- <coord>
-<x>1203</x>
- <y>12</y> </coord>
- <coord>
-<x>581</x>
- <y>13</y> </coord>
- <coord>
-<x>581</x>
- <y>458</y> </coord> </coord-list> </link>
- <link>
-<fromnode-name>EndOfifNotEven</fromnode-name>
- <fromserviceparameter-name>N</fromserviceparameter-name>
- <tonode-name>EndOfwhileNotOne</tonode-name>
- <toserviceparameter-name>N</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>EndOfifNotEven</fromnode-name>
- <fromserviceparameter-name>K</fromserviceparameter-name>
- <tonode-name>EndOfwhileNotOne</tonode-name>
- <toserviceparameter-name>K</toserviceparameter-name>
- <coord-list/> </link> </link-list>
- <data-list>
-<data>
-<fromnode-name>SyrStruct</fromnode-name>
- <fromserviceparameter-name>SyrComponent\aContainer</fromserviceparameter-name>
- <tonode-name>SyrComponent</tonode-name>
- <toserviceparameter-name>aContainer</toserviceparameter-name>
- <data-value>
-<value-type>18</value-type>
- <value>FactoryServer</value> </data-value>
- <coord-list/> </data>
- <data>
-<fromnode-name>SyrStruct</fromnode-name>
- <fromserviceparameter-name>SyrComponent\aComponent</fromserviceparameter-name>
- <tonode-name>SyrComponent</tonode-name>
- <toserviceparameter-name>aComponent</toserviceparameter-name>
- <data-value>
-<value-type>18</value-type>
- <value>SyrComponent</value> </data-value>
- <coord-list/> </data>
- <data>
-<fromnode-name>SyrStruct</fromnode-name>
- <fromserviceparameter-name>forN\N</fromserviceparameter-name>
- <tonode-name>forN</tonode-name>
- <toserviceparameter-name>N</toserviceparameter-name>
- <data-value>
-<value-type>3</value-type>
- <value>0</value> </data-value>
- <coord-list/> </data>
- <data>
-<fromnode-name>SyrStruct</fromnode-name>
- <fromserviceparameter-name>forN\K</fromserviceparameter-name>
- <tonode-name>forN</tonode-name>
- <toserviceparameter-name>K</toserviceparameter-name>
- <data-value>
-<value-type>3</value-type>
- <value>0</value> </data-value>
- <coord-list/> </data>
- <data>
-<fromnode-name>SyrStruct</fromnode-name>
- <fromserviceparameter-name>forN\min</fromserviceparameter-name>
- <tonode-name>forN</tonode-name>
- <toserviceparameter-name>min</toserviceparameter-name>
- <data-value>
-<value-type>3</value-type>
- <value>5</value> </data-value>
- <coord-list/> </data>
- <data>
-<fromnode-name>SyrStruct</fromnode-name>
- <fromserviceparameter-name>forN\max</fromserviceparameter-name>
- <tonode-name>forN</tonode-name>
- <toserviceparameter-name>max</toserviceparameter-name>
- <data-value>
-<value-type>3</value-type>
- <value>9</value> </data-value>
- <coord-list/> </data>
- <data>
-<fromnode-name>SyrStruct</fromnode-name>
- <fromserviceparameter-name>fori\i</fromserviceparameter-name>
- <tonode-name>fori</tonode-name>
- <toserviceparameter-name>i</toserviceparameter-name>
- <data-value>
-<value-type>3</value-type>
- <value>0</value> </data-value>
- <coord-list/> </data> </data-list></dataflow>
+++ /dev/null
-
-# Generated python file of Graph LoopGraph
-
-from SuperV import *
-# Graph creation
-LoopGraph = Graph( 'LoopGraph' )
-LoopGraph.SetName( 'LoopGraph' )
-LoopGraph.SetAuthor( '' )
-LoopGraph.SetComment( '' )
-LoopGraph.Coords( 0 , 0 )
-
-# Creation of Factory Nodes
-
-Mul = LoopGraph.FNode( 'Calculator' , 'Calculator' , 'Mul' )
-Mul.SetName( 'Mul' )
-Mul.SetAuthor( 'LD' )
-Mul.SetContainer( 'localhost/FactoryServer' )
-Mul.SetComment( 'Multiply a field by a constant' )
-Mul.Coords( 429 , 46 )
-
-# Creation of InLine Nodes
-PyInitDisplay = []
-PyInitDisplay.append( 'from VISU import * ' )
-PyInitDisplay.append( 'import SALOMEDS ' )
-PyInitDisplay.append( 'from LifeCycleCORBA import * ' )
-PyInitDisplay.append( 'from SALOME_NamingServicePy import * ' )
-PyInitDisplay.append( 'def InitDisplay(): ' )
-PyInitDisplay.append( ' # initialize the ORB ' )
-PyInitDisplay.append( ' orb = CORBA.ORB_init([], CORBA.ORB_ID) ' )
-PyInitDisplay.append( ' # create an LifeCycleCORBA instance ' )
-PyInitDisplay.append( ' lcc = LifeCycleCORBA(orb) ' )
-PyInitDisplay.append( ' # ----------------------------------------- ' )
-PyInitDisplay.append( ' # Visualization parameters ' )
-PyInitDisplay.append( ' #create a naming service instance ' )
-PyInitDisplay.append( ' naming_service = SALOME_NamingServicePy_i(orb) ' )
-PyInitDisplay.append( ' # get Study Manager reference ' )
-PyInitDisplay.append( ' obj = naming_service.Resolve("myStudyManager") ' )
-PyInitDisplay.append( ' myStudyManager = obj._narrow(SALOMEDS.StudyManager) ' )
-PyInitDisplay.append( ' myStudy = myStudyManager.GetStudyByID(1) ' )
-PyInitDisplay.append( ' aVisu = lcc.FindOrLoadComponent("FactoryServer", "Visu") ' )
-PyInitDisplay.append( ' print "InitDisplay --> aVisu = ",aVisu ' )
-PyInitDisplay.append( ' aVisu.SetCurrentStudy(myStudy); ' )
-PyInitDisplay.append( ' aViewManager = aVisu.GetViewManager() ' )
-PyInitDisplay.append( ' print "InitDisplay --> aViewManager = ",aViewManager ' )
-PyInitDisplay.append( ' aView = aViewManager.Create3DView() ' )
-PyInitDisplay.append( ' print "InitDisplay --> aView = ",aView ' )
-PyInitDisplay.append( ' return aVisu,aView ' )
-InitDisplay = LoopGraph.INode( 'InitDisplay' , PyInitDisplay )
-InitDisplay.OutPort( 'aVisu' , 'objref' )
-InitDisplay.OutPort( 'aView' , 'objref' )
-InitDisplay.SetName( 'InitDisplay' )
-InitDisplay.SetAuthor( '' )
-InitDisplay.SetComment( 'Compute Node' )
-InitDisplay.Coords( 1 , 105 )
-
-# Creation of Loop Nodes
-PyInit = []
-PyInit.append( 'def Init(index,min,max,medfield,x1,aVisu,aView): ' )
-PyInit.append( ' if max >= min : ' )
-PyInit.append( ' index = min ' )
-PyInit.append( ' else : ' )
-PyInit.append( ' index = max ' )
-PyInit.append( ' print "Init --> index = ",index ' )
-PyInit.append( ' print " min = ",min ' )
-PyInit.append( ' print " max = ",max ' )
-PyInit.append( ' print " medfield = ",medfield ' )
-PyInit.append( ' return index,min,max,medfield,x1,aVisu,aView ' )
-PyMoreInit = []
-PyMoreInit.append( 'def More(index,min,max,medfield,x1,aVisu,aView): ' )
-PyMoreInit.append( ' if max >= index : ' )
-PyMoreInit.append( ' DoLoop = 1 ' )
-PyMoreInit.append( ' else : ' )
-PyMoreInit.append( ' DoLoop = 0 ' )
-PyMoreInit.append( ' print "More --> DoLoop = ",DoLoop ' )
-PyMoreInit.append( ' print " index = ",index ' )
-PyMoreInit.append( ' print " min = ",min ' )
-PyMoreInit.append( ' print " max = ",max ' )
-PyMoreInit.append( ' print " medfield = ",medfield ' )
-PyMoreInit.append( ' return DoLoop,index,min,max,medfield,x1,aVisu,aView ' )
-PyNextInit = []
-PyNextInit.append( 'def Next(index,min,max,medfield,x1,aVisu,aView): ' )
-PyNextInit.append( ' index = index + 1 ' )
-PyNextInit.append( ' print "Next --> index = ",index ' )
-PyNextInit.append( ' print " min = ",min ' )
-PyNextInit.append( ' print " max = ",max ' )
-PyNextInit.append( ' print " medfield = ",medfield ' )
-PyNextInit.append( ' return index,min,max,medfield,x1,aVisu,aView ' )
-Init,EndInit = LoopGraph.LNode( 'Init' , PyInit , 'More' , PyMoreInit , 'Next' , PyNextInit )
-EndInit.SetName( 'EndInit' )
-EndInit.SetAuthor( 'LD' )
-EndInit.SetComment( 'no comment' )
-EndInit.Coords( 631 , 5 )
-Init.InPort( 'index' , 'long' )
-Init.InPort( 'min' , 'long' )
-Init.InPort( 'max' , 'long' )
-Init.InPort( 'medfield' , 'objref' )
-Init.InPort( 'x1' , 'double' )
-Init.InPort( 'aVisu' , 'objref' )
-Init.InPort( 'aView' , 'objref' )
-Init.OutPort( 'index' , 'long' )
-Init.OutPort( 'min' , 'long' )
-Init.OutPort( 'max' , 'long' )
-Init.OutPort( 'medfield' , 'objref' )
-Init.OutPort( 'x1' , 'double' )
-Init.OutPort( 'aVisu' , 'objref' )
-Init.OutPort( 'aView' , 'objref' )
-Init.SetName( 'Init' )
-Init.SetAuthor( 'LD' )
-Init.SetComment( 'no comment' )
-Init.Coords( 216 , 5 )
-
-# Creation of Links
-InitDisplayaVisu = InitDisplay.Port( 'aVisu' )
-InitaVisu = LoopGraph.Link( InitDisplayaVisu , Init.Port( 'aVisu' ) )
-
-InitDisplayaView = InitDisplay.Port( 'aView' )
-InitaView = LoopGraph.Link( InitDisplayaView , Init.Port( 'aView' ) )
-
-Initindex = Init.Port( 'index' )
-EndInitindex = LoopGraph.Link( Initindex , EndInit.Port( 'index' ) )
-
-Initmin = Init.Port( 'min' )
-EndInitmin = LoopGraph.Link( Initmin , EndInit.Port( 'min' ) )
-
-Initmax = Init.Port( 'max' )
-EndInitmax = LoopGraph.Link( Initmax , EndInit.Port( 'max' ) )
-
-Initmedfield = Init.Port( 'medfield' )
-Mulfield1 = LoopGraph.Link( Initmedfield , Mul.Port( 'field1' ) )
-
-Initx1 = Init.Port( 'x1' )
-EndInitx1 = LoopGraph.Link( Initx1 , EndInit.Port( 'x1' ) )
-
-Mulx1 = LoopGraph.Link( Initx1 , Mul.Port( 'x1' ) )
-
-InitaVisu = Init.Port( 'aVisu' )
-EndInitaVisu = LoopGraph.Link( InitaVisu , EndInit.Port( 'aVisu' ) )
-
-InitaView = Init.Port( 'aView' )
-EndInitaView = LoopGraph.Link( InitaView , EndInit.Port( 'aView' ) )
-
-Mulreturn = Mul.Port( 'return' )
-EndInitmedfield = LoopGraph.Link( Mulreturn , EndInit.Port( 'medfield' ) )
-
-# Creation of Input datas
-Initindex = Init.Input( 'index' , 0)
-Initmin = Init.Input( 'min' , 0)
-Initmax = Init.Input( 'max' , 55)
-Initmedfield = Init.Input( 'medfield' , 'IOR:010000001f00000049444c3a53414c4f4d455f4d45442f4649454c44444f55424c453a312e300000010000000000000026000000010100000a0000003132372e302e302e3100ead00e000000fe1948673f000058e60000000021')
-Initx1 = Init.Input( 'x1' , 2)
-
-# Creation of Output variables
-EndInitindex = EndInit.Port( 'index' )
-EndInitmin = EndInit.Port( 'min' )
-EndInitmax = EndInit.Port( 'max' )
-EndInitmedfield = EndInit.Port( 'medfield' )
-EndInitx1 = EndInit.Port( 'x1' )
-EndInitaVisu = EndInit.Port( 'aVisu' )
-EndInitaView = EndInit.Port( 'aView' )
+++ /dev/null
-<!DOCTYPE Dataflow>
-<dataflow>
-<info-list>
-<node>
-<component-name>?</component-name>
- <interface-name>?</interface-name>
- <node-name>LoopGraph</node-name>
- <kind>1</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>LoopGraph</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>Init\index</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>Init\min</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>Init\max</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>objref</inParameter-type>
- <inParameter-name>Init\medfield</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>double</inParameter-type>
- <inParameter-name>Init\x1</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>EndInit\index</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>EndInit\min</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>EndInit\max</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>objref</outParameter-type>
- <outParameter-name>EndInit\medfield</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>double</outParameter-type>
- <outParameter-name>EndInit\x1</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>objref</outParameter-type>
- <outParameter-name>EndInit\aVisu</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>objref</outParameter-type>
- <outParameter-name>EndInit\aView</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list/>
- <creation-date>15/9/2003 - 15:25:24</creation-date>
- <lastmodification-date>19/9/2003 - 16:0:10</lastmodification-date>
- <editor-release>1.04</editor-release>
- <author>?</author>
- <container>?</container>
- <comment>?</comment>
- <x-position>0</x-position>
- <y-position>0</y-position> </node> </info-list>
- <node-list>
-<node>
-<component-name>?</component-name>
- <interface-name>?</interface-name>
- <node-name>InitDisplay</node-name>
- <kind>3</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>InitDisplay</service-name>
- <inParameter-list/>
- <outParameter-list>
-<outParameter>
-<outParameter-type>objref</outParameter-type>
- <outParameter-name>aVisu</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>objref</outParameter-type>
- <outParameter-name>aView</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list>
-<PyFunction>
-<FuncName>InitDisplay</FuncName>
- <PyFunc><![CDATA[from VISU import * ]]></PyFunc>
- <PyFunc><![CDATA[import SALOMEDS ]]></PyFunc>
- <PyFunc><![CDATA[from LifeCycleCORBA import * ]]></PyFunc>
- <PyFunc><![CDATA[from SALOME_NamingServicePy import * ]]></PyFunc>
- <PyFunc><![CDATA[def InitDisplay(): ]]></PyFunc>
- <PyFunc><![CDATA[ # initialize the ORB ]]></PyFunc>
- <PyFunc><![CDATA[ orb = CORBA.ORB_init([], CORBA.ORB_ID) ]]></PyFunc>
- <PyFunc><![CDATA[ # create an LifeCycleCORBA instance ]]></PyFunc>
- <PyFunc><![CDATA[ lcc = LifeCycleCORBA(orb) ]]></PyFunc>
- <PyFunc><![CDATA[ # ----------------------------------------- ]]></PyFunc>
- <PyFunc><![CDATA[ # Visualization parameters ]]></PyFunc>
- <PyFunc><![CDATA[ #create a naming service instance ]]></PyFunc>
- <PyFunc><![CDATA[ naming_service = SALOME_NamingServicePy_i(orb) ]]></PyFunc>
- <PyFunc><![CDATA[ # get Study Manager reference ]]></PyFunc>
- <PyFunc><![CDATA[ obj = naming_service.Resolve("myStudyManager") ]]></PyFunc>
- <PyFunc><![CDATA[ myStudyManager = obj._narrow(SALOMEDS.StudyManager) ]]></PyFunc>
- <PyFunc><![CDATA[ myStudy = myStudyManager.GetStudyByID(1) ]]></PyFunc>
- <PyFunc><![CDATA[ aVisu = lcc.FindOrLoadComponent("FactoryServer", "Visu") ]]></PyFunc>
- <PyFunc><![CDATA[ print "InitDisplay --> aVisu = ",aVisu ]]></PyFunc>
- <PyFunc><![CDATA[ aVisu.SetCurrentStudy(myStudy); ]]></PyFunc>
- <PyFunc><![CDATA[ aViewManager = aVisu.GetViewManager() ]]></PyFunc>
- <PyFunc><![CDATA[ print "InitDisplay --> aViewManager = ",aViewManager ]]></PyFunc>
- <PyFunc><![CDATA[ aView = aViewManager.Create3DView() ]]></PyFunc>
- <PyFunc><![CDATA[ print "InitDisplay --> aView = ",aView ]]></PyFunc>
- <PyFunc><![CDATA[ return aVisu,aView ]]></PyFunc> </PyFunction> </PyFunction-list>
- <creation-date>19/9/2003 - 16:0:9</creation-date>
- <lastmodification-date>19/9/2003 - 16:0:9</lastmodification-date>
- <editor-release>1.04</editor-release>
- <author>?</author>
- <container>?</container>
- <comment>Compute Node</comment>
- <x-position>1</x-position>
- <y-position>105</y-position> </node>
- <node>
-<component-name>?</component-name>
- <interface-name>?</interface-name>
- <node-name>Init</node-name>
- <kind>4</kind>
- <coupled-node>EndInit</coupled-node>
- <service>
-<service-name>Init</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>index</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>min</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>max</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>objref</inParameter-type>
- <inParameter-name>medfield</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>double</inParameter-type>
- <inParameter-name>x1</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>objref</inParameter-type>
- <inParameter-name>aVisu</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>objref</inParameter-type>
- <inParameter-name>aView</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>index</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>min</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>max</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>objref</outParameter-type>
- <outParameter-name>medfield</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>double</outParameter-type>
- <outParameter-name>x1</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>objref</outParameter-type>
- <outParameter-name>aVisu</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>objref</outParameter-type>
- <outParameter-name>aView</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list>
-<PyFunction>
-<FuncName>Init</FuncName>
- <PyFunc><![CDATA[def Init(index,min,max,medfield,x1,aVisu,aView): ]]></PyFunc>
- <PyFunc><![CDATA[ if max >= min : ]]></PyFunc>
- <PyFunc><![CDATA[ index = min ]]></PyFunc>
- <PyFunc><![CDATA[ else : ]]></PyFunc>
- <PyFunc><![CDATA[ index = max ]]></PyFunc>
- <PyFunc><![CDATA[ print "Init --> index = ",index ]]></PyFunc>
- <PyFunc><![CDATA[ print " min = ",min ]]></PyFunc>
- <PyFunc><![CDATA[ print " max = ",max ]]></PyFunc>
- <PyFunc><![CDATA[ print " medfield = ",medfield ]]></PyFunc>
- <PyFunc><![CDATA[ return index,min,max,medfield,x1,aVisu,aView ]]></PyFunc> </PyFunction>
- <PyFunction>
-<FuncName>More</FuncName>
- <PyFunc><![CDATA[def More(index,min,max,medfield,x1,aVisu,aView): ]]></PyFunc>
- <PyFunc><![CDATA[ if max >= index : ]]></PyFunc>
- <PyFunc><![CDATA[ DoLoop = 1 ]]></PyFunc>
- <PyFunc><![CDATA[ else : ]]></PyFunc>
- <PyFunc><![CDATA[ DoLoop = 0 ]]></PyFunc>
- <PyFunc><![CDATA[ print "More --> DoLoop = ",DoLoop ]]></PyFunc>
- <PyFunc><![CDATA[ print " index = ",index ]]></PyFunc>
- <PyFunc><![CDATA[ print " min = ",min ]]></PyFunc>
- <PyFunc><![CDATA[ print " max = ",max ]]></PyFunc>
- <PyFunc><![CDATA[ print " medfield = ",medfield ]]></PyFunc>
- <PyFunc><![CDATA[ return DoLoop,index,min,max,medfield,x1,aVisu,aView ]]></PyFunc> </PyFunction>
- <PyFunction>
-<FuncName>Next</FuncName>
- <PyFunc><![CDATA[def Next(index,min,max,medfield,x1,aVisu,aView): ]]></PyFunc>
- <PyFunc><![CDATA[ index = index + 1 ]]></PyFunc>
- <PyFunc><![CDATA[ print "Next --> index = ",index ]]></PyFunc>
- <PyFunc><![CDATA[ print " min = ",min ]]></PyFunc>
- <PyFunc><![CDATA[ print " max = ",max ]]></PyFunc>
- <PyFunc><![CDATA[ print " medfield = ",medfield ]]></PyFunc>
- <PyFunc><![CDATA[ return index,min,max,medfield,x1,aVisu,aView ]]></PyFunc> </PyFunction> </PyFunction-list>
- <creation-date>19/9/2003 - 16:0:9</creation-date>
- <lastmodification-date>19/9/2003 - 16:0:9</lastmodification-date>
- <editor-release>1.04</editor-release>
- <author>LD</author>
- <container>?</container>
- <comment>no comment</comment>
- <x-position>216</x-position>
- <y-position>5</y-position> </node>
- <node>
-<component-name>?</component-name>
- <interface-name>?</interface-name>
- <node-name>EndInit</node-name>
- <kind>5</kind>
- <coupled-node>Init</coupled-node>
- <service>
-<service-name>EndInit</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>index</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>min</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>max</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>objref</inParameter-type>
- <inParameter-name>medfield</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>double</inParameter-type>
- <inParameter-name>x1</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>objref</inParameter-type>
- <inParameter-name>aVisu</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>objref</inParameter-type>
- <inParameter-name>aView</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>index</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>min</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>max</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>objref</outParameter-type>
- <outParameter-name>medfield</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>double</outParameter-type>
- <outParameter-name>x1</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>objref</outParameter-type>
- <outParameter-name>aVisu</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>objref</outParameter-type>
- <outParameter-name>aView</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list>
-<PyFunction/> </PyFunction-list>
- <creation-date>19/9/2003 - 16:0:9</creation-date>
- <lastmodification-date>19/9/2003 - 16:0:9</lastmodification-date>
- <editor-release>1.04</editor-release>
- <author>LD</author>
- <container>?</container>
- <comment>no comment</comment>
- <x-position>631</x-position>
- <y-position>5</y-position> </node>
- <node>
-<component-name>Calculator</component-name>
- <interface-name>Calculator</interface-name>
- <node-name>Mul</node-name>
- <kind>0</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>Mul</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>FIELDDOUBLE</inParameter-type>
- <inParameter-name>field1</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>double</inParameter-type>
- <inParameter-name>x1</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>FIELDDOUBLE</outParameter-type>
- <outParameter-name>return</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list/>
- <creation-date>19/9/2003 - 16:0:10</creation-date>
- <lastmodification-date>19/9/2003 - 16:0:10</lastmodification-date>
- <editor-release>1.04</editor-release>
- <author>LD</author>
- <container>localhost/FactoryServer</container>
- <comment>Multiply a field by a constant</comment>
- <x-position>429</x-position>
- <y-position>46</y-position> </node> </node-list>
- <link-list>
-<link>
-<fromnode-name>InitDisplay</fromnode-name>
- <fromserviceparameter-name>aVisu</fromserviceparameter-name>
- <tonode-name>Init</tonode-name>
- <toserviceparameter-name>aVisu</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>InitDisplay</fromnode-name>
- <fromserviceparameter-name>aView</fromserviceparameter-name>
- <tonode-name>Init</tonode-name>
- <toserviceparameter-name>aView</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>Init</fromnode-name>
- <fromserviceparameter-name>DoLoop</fromserviceparameter-name>
- <tonode-name>EndInit</tonode-name>
- <toserviceparameter-name>DoLoop</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>Init</fromnode-name>
- <fromserviceparameter-name>index</fromserviceparameter-name>
- <tonode-name>EndInit</tonode-name>
- <toserviceparameter-name>index</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>Init</fromnode-name>
- <fromserviceparameter-name>min</fromserviceparameter-name>
- <tonode-name>EndInit</tonode-name>
- <toserviceparameter-name>min</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>Init</fromnode-name>
- <fromserviceparameter-name>max</fromserviceparameter-name>
- <tonode-name>EndInit</tonode-name>
- <toserviceparameter-name>max</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>Init</fromnode-name>
- <fromserviceparameter-name>medfield</fromserviceparameter-name>
- <tonode-name>Mul</tonode-name>
- <toserviceparameter-name>field1</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>Init</fromnode-name>
- <fromserviceparameter-name>x1</fromserviceparameter-name>
- <tonode-name>EndInit</tonode-name>
- <toserviceparameter-name>x1</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>Init</fromnode-name>
- <fromserviceparameter-name>x1</fromserviceparameter-name>
- <tonode-name>Mul</tonode-name>
- <toserviceparameter-name>x1</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>Init</fromnode-name>
- <fromserviceparameter-name>aVisu</fromserviceparameter-name>
- <tonode-name>EndInit</tonode-name>
- <toserviceparameter-name>aVisu</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>Init</fromnode-name>
- <fromserviceparameter-name>aView</fromserviceparameter-name>
- <tonode-name>EndInit</tonode-name>
- <toserviceparameter-name>aView</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>EndInit</fromnode-name>
- <fromserviceparameter-name>DoLoop</fromserviceparameter-name>
- <tonode-name>Init</tonode-name>
- <toserviceparameter-name>InitLoop</toserviceparameter-name>
- <coord-list>
-<coord>
-<x>205</x>
- <y>98</y> </coord>
- <coord>
-<x>204</x>
- <y>21</y> </coord>
- <coord>
-<x>936</x>
- <y>20</y> </coord>
- <coord>
-<x>935</x>
- <y>70</y> </coord> </coord-list> </link>
- <link>
-<fromnode-name>Mul</fromnode-name>
- <fromserviceparameter-name>return</fromserviceparameter-name>
- <tonode-name>EndInit</tonode-name>
- <toserviceparameter-name>medfield</toserviceparameter-name>
- <coord-list/> </link> </link-list>
- <data-list>
-<data>
-<fromnode-name>LoopGraph</fromnode-name>
- <fromserviceparameter-name>Init\index</fromserviceparameter-name>
- <tonode-name>Init</tonode-name>
- <toserviceparameter-name>index</toserviceparameter-name>
- <data-value>
-<value-type>3</value-type>
- <value>0</value> </data-value>
- <coord-list/> </data>
- <data>
-<fromnode-name>LoopGraph</fromnode-name>
- <fromserviceparameter-name>Init\min</fromserviceparameter-name>
- <tonode-name>Init</tonode-name>
- <toserviceparameter-name>min</toserviceparameter-name>
- <data-value>
-<value-type>3</value-type>
- <value>0</value> </data-value>
- <coord-list/> </data>
- <data>
-<fromnode-name>LoopGraph</fromnode-name>
- <fromserviceparameter-name>Init\max</fromserviceparameter-name>
- <tonode-name>Init</tonode-name>
- <toserviceparameter-name>max</toserviceparameter-name>
- <data-value>
-<value-type>3</value-type>
- <value>55</value> </data-value>
- <coord-list/> </data>
- <data>
-<fromnode-name>LoopGraph</fromnode-name>
- <fromserviceparameter-name>Init\medfield</fromserviceparameter-name>
- <tonode-name>Init</tonode-name>
- <toserviceparameter-name>medfield</toserviceparameter-name>
- <data-value>
-<value-type>14</value-type>
- <value>IOR:010000001f00000049444c3a53414c4f4d455f4d45442f4649454c44444f55424c453a312e300000010000000000000026000000010100000a0000003132372e302e302e3100ead00e000000fe1948673f000058e60000000021</value> </data-value>
- <coord-list/> </data>
- <data>
-<fromnode-name>LoopGraph</fromnode-name>
- <fromserviceparameter-name>Init\x1</fromserviceparameter-name>
- <tonode-name>Init</tonode-name>
- <toserviceparameter-name>x1</toserviceparameter-name>
- <data-value>
-<value-type>7</value-type>
- <value>2</value> </data-value>
- <coord-list/> </data> </data-list></dataflow>
+++ /dev/null
-
-# Generated python file of Graph LoopGraph
-
-from SuperV import *
-# Graph creation
-LoopGraph = Graph( 'LoopGraph' )
-LoopGraph.SetName( 'LoopGraph' )
-LoopGraph.SetAuthor( '' )
-LoopGraph.SetComment( '' )
-LoopGraph.Coords( 0 , 0 )
-
-# Creation of Factory Nodes
-
-Mul = LoopGraph.FNode( 'Calculator' , 'Calculator' , 'Mul' )
-Mul.SetName( 'Mul' )
-Mul.SetAuthor( 'LD' )
-Mul.SetContainer( 'localhost/FactoryServer' )
-Mul.SetComment( 'Multiply a field by a constant' )
-Mul.Coords( 387 , 104 )
-
-# Creation of InLine Nodes
-PyInitDisplay = []
-PyInitDisplay.append( 'from LifeCycleCORBA import * ' )
-PyInitDisplay.append( 'from VISU import * ' )
-PyInitDisplay.append( 'def InitDisplay(): ' )
-PyInitDisplay.append( ' # initialize the ORB ' )
-PyInitDisplay.append( ' orb = CORBA.ORB_init([], CORBA.ORB_ID) ' )
-PyInitDisplay.append( ' # create an LifeCycleCORBA instance ' )
-PyInitDisplay.append( ' lcc = LifeCycleCORBA(orb) ' )
-PyInitDisplay.append( ' # ----------------------------------------- ' )
-PyInitDisplay.append( ' # loading visu component ' )
-PyInitDisplay.append( ' aVisu = lcc.FindOrLoadComponent("FactoryServer","Visu") ' )
-PyInitDisplay.append( ' print "InitDisplay --> aVisu = ",aVisu ' )
-PyInitDisplay.append( ' aViewManager = aVisu.GetViewManager() ' )
-PyInitDisplay.append( ' print "InitDisplay --> aViewManager = ",aViewManager ' )
-PyInitDisplay.append( ' # aView = aViewManager.GetCurrentView() ' )
-PyInitDisplay.append( ' aView = aViewManager.Create3DView() ' )
-PyInitDisplay.append( ' print "InitDisplay --> aView = ",aView ' )
-PyInitDisplay.append( ' return aVisu,aView ' )
-InitDisplay = LoopGraph.INode( 'InitDisplay' , PyInitDisplay )
-InitDisplay.OutPort( 'aVisu' , 'objref' )
-InitDisplay.OutPort( 'aView' , 'objref' )
-InitDisplay.SetName( 'InitDisplay' )
-InitDisplay.SetAuthor( '' )
-InitDisplay.SetComment( 'Compute Node' )
-InitDisplay.Coords( 0 , 163 )
-
-PyDisplayMed = []
-PyDisplayMed.append( 'import os ' )
-PyDisplayMed.append( 'import SALOME_MED ' )
-PyDisplayMed.append( 'from VISU import * ' )
-PyDisplayMed.append( 'from LifeCycleCORBA import * ' )
-PyDisplayMed.append( 'def DisplayMed(medfield,index,aVisu,aView): ' )
-PyDisplayMed.append( ' # initialize the ORB ' )
-PyDisplayMed.append( ' orb = CORBA.ORB_init([''], CORBA.ORB_ID) ' )
-PyDisplayMed.append( ' # create an LifeCycleCORBA instance ' )
-PyDisplayMed.append( ' lcc = LifeCycleCORBA(orb) ' )
-PyDisplayMed.append( ' print " " ' )
-PyDisplayMed.append( ' print "***************************************************************" ' )
-PyDisplayMed.append( ' calc = lcc.FindOrLoadComponent("FactoryServer", "Calculator") ' )
-PyDisplayMed.append( ' print "-----> calc = ",calc ' )
-PyDisplayMed.append( ' medfilename = "/tmp/LoopGraphFile" + str(index) + ".med" ' )
-PyDisplayMed.append( ' print "-----> Writing Med field in temporary file : ",medfilename ' )
-PyDisplayMed.append( ' calc.writeMEDfile(medfield,medfilename) ' )
-PyDisplayMed.append( ' print "-----> calc = ",calc ' )
-PyDisplayMed.append( ' print "***************************************************************" ' )
-PyDisplayMed.append( ' myResult1 = aVisu.ImportFile(medfilename) ' )
-PyDisplayMed.append( ' print "-----> myResult1 = ",myResult1 ' )
-PyDisplayMed.append( ' field_name = medfield.getName() ' )
-PyDisplayMed.append( ' print "-----> field_name = ",field_name ' )
-PyDisplayMed.append( ' mesh_name = medfield.getSupport().getMesh().getName() ' )
-PyDisplayMed.append( ' print "-----> mesh_name = ",mesh_name ' )
-PyDisplayMed.append( ' aMesh1 = aVisu.MeshOnEntity(myResult1,mesh_name,CELL) ' )
-PyDisplayMed.append( ' print "-----> aMesh1 = ",aMesh1 ' )
-PyDisplayMed.append( ' aScalarMap1 = aVisu.ScalarMapOnField(myResult1,mesh_name,NODE,field_name,1) ' )
-PyDisplayMed.append( ' print "-----> aScalarMap1 = ",aScalarMap1 ' )
-PyDisplayMed.append( ' aView.DisplayOnly(aScalarMap1) ' )
-PyDisplayMed.append( ' aView.FitAll() ' )
-PyDisplayMed.append( ' command = "rm " + medfilename ' )
-PyDisplayMed.append( ' os.system(command) ' )
-PyDisplayMed.append( ' print "-----> Delete temporary Med file : ",medfilename ' )
-PyDisplayMed.append( ' print "***************************************************************" ' )
-PyDisplayMed.append( ' print " " ' )
-PyDisplayMed.append( ' return medfield ' )
-DisplayMed = LoopGraph.INode( 'DisplayMed' , PyDisplayMed )
-DisplayMed.InPort( 'INmedfield' , 'objref' )
-DisplayMed.InPort( 'index' , 'long' )
-DisplayMed.InPort( 'aVisu' , 'objref' )
-DisplayMed.InPort( 'aView' , 'objref' )
-DisplayMed.OutPort( 'OUTmedfield' , 'objref' )
-DisplayMed.SetName( 'DisplayMed' )
-DisplayMed.SetAuthor( '' )
-DisplayMed.SetComment( 'Compute Node' )
-DisplayMed.Coords( 594 , 105 )
-
-# Creation of Loop Nodes
-PyInit = []
-PyInit.append( 'def Init(index,min,max,medfield,x1,aVisu,aView): ' )
-PyInit.append( ' if max >= min : ' )
-PyInit.append( ' index = min ' )
-PyInit.append( ' else : ' )
-PyInit.append( ' index = max ' )
-PyInit.append( ' print "Init --> index = ",index ' )
-PyInit.append( ' print " min = ",min ' )
-PyInit.append( ' print " max = ",max ' )
-PyInit.append( ' print " medfield = ",medfield ' )
-PyInit.append( ' return index,min,max,medfield,x1,aVisu,aView ' )
-PyMoreInit = []
-PyMoreInit.append( 'def More(index,min,max,medfield,x1,aVisu,aView): ' )
-PyMoreInit.append( ' if max >= index : ' )
-PyMoreInit.append( ' DoLoop = 1 ' )
-PyMoreInit.append( ' else : ' )
-PyMoreInit.append( ' DoLoop = 0 ' )
-PyMoreInit.append( ' print "More --> DoLoop = ",DoLoop ' )
-PyMoreInit.append( ' print " index = ",index ' )
-PyMoreInit.append( ' print " min = ",min ' )
-PyMoreInit.append( ' print " max = ",max ' )
-PyMoreInit.append( ' print " medfield = ",medfield ' )
-PyMoreInit.append( ' return DoLoop,index,min,max,medfield,x1,aVisu,aView ' )
-PyNextInit = []
-PyNextInit.append( 'def Next(index,min,max,medfield,x1,aVisu,aView): ' )
-PyNextInit.append( ' index = index + 1 ' )
-PyNextInit.append( ' print "Next --> index = ",index ' )
-PyNextInit.append( ' print " min = ",min ' )
-PyNextInit.append( ' print " max = ",max ' )
-PyNextInit.append( ' print " medfield = ",medfield ' )
-PyNextInit.append( ' return index,min,max,medfield,x1,aVisu,aView ' )
-Init,EndInit = LoopGraph.LNode( 'Init' , PyInit , 'More' , PyMoreInit , 'Next' , PyNextInit )
-EndInit.SetName( 'EndInit' )
-EndInit.SetAuthor( 'LD' )
-EndInit.SetComment( 'no comment' )
-EndInit.Coords( 776 , 64 )
-Init.InPort( 'index' , 'long' )
-Init.InPort( 'min' , 'long' )
-Init.InPort( 'max' , 'long' )
-Init.InPort( 'medfield' , 'objref' )
-Init.InPort( 'x1' , 'double' )
-Init.InPort( 'aVisu' , 'objref' )
-Init.InPort( 'aView' , 'objref' )
-Init.OutPort( 'index' , 'long' )
-Init.OutPort( 'min' , 'long' )
-Init.OutPort( 'max' , 'long' )
-Init.OutPort( 'medfield' , 'objref' )
-Init.OutPort( 'x1' , 'double' )
-Init.OutPort( 'aVisu' , 'objref' )
-Init.OutPort( 'aView' , 'objref' )
-Init.SetName( 'Init' )
-Init.SetAuthor( 'LD' )
-Init.SetComment( 'no comment' )
-Init.Coords( 205 , 63 )
-
-# Creation of Links
-InitDisplayaVisu = InitDisplay.Port( 'aVisu' )
-InitaVisu = LoopGraph.Link( InitDisplayaVisu , Init.Port( 'aVisu' ) )
-
-InitDisplayaView = InitDisplay.Port( 'aView' )
-InitaView = LoopGraph.Link( InitDisplayaView , Init.Port( 'aView' ) )
-
-Initindex = Init.Port( 'index' )
-EndInitindex = LoopGraph.Link( Initindex , EndInit.Port( 'index' ) )
-
-DisplayMedindex = LoopGraph.Link( Initindex , DisplayMed.Port( 'index' ) )
-DisplayMedindex.AddCoord( 1 , 566 , 215 )
-DisplayMedindex.AddCoord( 2 , 566 , 96 )
-
-Initmin = Init.Port( 'min' )
-EndInitmin = LoopGraph.Link( Initmin , EndInit.Port( 'min' ) )
-
-Initmax = Init.Port( 'max' )
-EndInitmax = LoopGraph.Link( Initmax , EndInit.Port( 'max' ) )
-
-Initmedfield = Init.Port( 'medfield' )
-Mulfield1 = LoopGraph.Link( Initmedfield , Mul.Port( 'field1' ) )
-
-Initx1 = Init.Port( 'x1' )
-EndInitx1 = LoopGraph.Link( Initx1 , EndInit.Port( 'x1' ) )
-
-Mulx1 = LoopGraph.Link( Initx1 , Mul.Port( 'x1' ) )
-
-InitaVisu = Init.Port( 'aVisu' )
-EndInitaVisu = LoopGraph.Link( InitaVisu , EndInit.Port( 'aVisu' ) )
-
-DisplayMedaVisu = LoopGraph.Link( InitaVisu , DisplayMed.Port( 'aVisu' ) )
-DisplayMedaVisu.AddCoord( 1 , 570 , 242 )
-DisplayMedaVisu.AddCoord( 2 , 569 , 263 )
-DisplayMedaVisu.AddCoord( 3 , 377 , 264 )
-DisplayMedaVisu.AddCoord( 4 , 376 , 242 )
-
-InitaView = Init.Port( 'aView' )
-EndInitaView = LoopGraph.Link( InitaView , EndInit.Port( 'aView' ) )
-
-DisplayMedaView = LoopGraph.Link( InitaView , DisplayMed.Port( 'aView' ) )
-
-Mulreturn = Mul.Port( 'return' )
-DisplayMedINmedfield = LoopGraph.Link( Mulreturn , DisplayMed.Port( 'INmedfield' ) )
-
-DisplayMedOUTmedfield = DisplayMed.Port( 'OUTmedfield' )
-EndInitmedfield = LoopGraph.Link( DisplayMedOUTmedfield , EndInit.Port( 'medfield' ) )
-
-# Creation of Input datas
-Initindex = Init.Input( 'index' , 0)
-Initmin = Init.Input( 'min' , 0)
-Initmax = Init.Input( 'max' , 4)
-Initx1 = Init.Input( 'x1' , 2)
-
-# Missing Input datas
-Initmedfield = Init.Port( 'medfield' )
-
-# Creation of Output variables
-EndInitindex = EndInit.Port( 'index' )
-EndInitmin = EndInit.Port( 'min' )
-EndInitmax = EndInit.Port( 'max' )
-EndInitmedfield = EndInit.Port( 'medfield' )
-EndInitx1 = EndInit.Port( 'x1' )
-EndInitaVisu = EndInit.Port( 'aVisu' )
-EndInitaView = EndInit.Port( 'aView' )
+++ /dev/null
-<!DOCTYPE Dataflow>
-<dataflow>
-<info-list>
-<node>
-<component-name>?</component-name>
- <interface-name>?</interface-name>
- <node-name>LoopGraph</node-name>
- <kind>1</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>LoopGraph</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>Init\index</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>Init\min</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>Init\max</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>objref</inParameter-type>
- <inParameter-name>Init\medfield</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>double</inParameter-type>
- <inParameter-name>Init\x1</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>EndInit\index</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>EndInit\min</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>EndInit\max</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>objref</outParameter-type>
- <outParameter-name>EndInit\medfield</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>double</outParameter-type>
- <outParameter-name>EndInit\x1</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>objref</outParameter-type>
- <outParameter-name>EndInit\aVisu</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>objref</outParameter-type>
- <outParameter-name>EndInit\aView</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list/>
- <creation-date>20/6/2003 - 15:13:42</creation-date>
- <lastmodification-date>19/9/2003 - 16:10:16</lastmodification-date>
- <editor-release>1.04</editor-release>
- <author>?</author>
- <container>?</container>
- <comment>?</comment>
- <x-position>0</x-position>
- <y-position>0</y-position> </node> </info-list>
- <node-list>
-<node>
-<component-name>?</component-name>
- <interface-name>?</interface-name>
- <node-name>InitDisplay</node-name>
- <kind>3</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>InitDisplay</service-name>
- <inParameter-list/>
- <outParameter-list>
-<outParameter>
-<outParameter-type>objref</outParameter-type>
- <outParameter-name>aVisu</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>objref</outParameter-type>
- <outParameter-name>aView</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list>
-<PyFunction>
-<FuncName>InitDisplay</FuncName>
- <PyFunc><![CDATA[from LifeCycleCORBA import * ]]></PyFunc>
- <PyFunc><![CDATA[from VISU import * ]]></PyFunc>
- <PyFunc><![CDATA[def InitDisplay(): ]]></PyFunc>
- <PyFunc><![CDATA[ # initialize the ORB ]]></PyFunc>
- <PyFunc><![CDATA[ orb = CORBA.ORB_init([], CORBA.ORB_ID) ]]></PyFunc>
- <PyFunc><![CDATA[ # create an LifeCycleCORBA instance ]]></PyFunc>
- <PyFunc><![CDATA[ lcc = LifeCycleCORBA(orb) ]]></PyFunc>
- <PyFunc><![CDATA[ # ----------------------------------------- ]]></PyFunc>
- <PyFunc><![CDATA[ # loading visu component ]]></PyFunc>
- <PyFunc><![CDATA[ aVisu = lcc.FindOrLoadComponent("FactoryServer","Visu") ]]></PyFunc>
- <PyFunc><![CDATA[ print "InitDisplay --> aVisu = ",aVisu ]]></PyFunc>
- <PyFunc><![CDATA[ aViewManager = aVisu.GetViewManager() ]]></PyFunc>
- <PyFunc><![CDATA[ print "InitDisplay --> aViewManager = ",aViewManager ]]></PyFunc>
- <PyFunc><![CDATA[ # aView = aViewManager.GetCurrentView() ]]></PyFunc>
- <PyFunc><![CDATA[ aView = aViewManager.Create3DView() ]]></PyFunc>
- <PyFunc><![CDATA[ print "InitDisplay --> aView = ",aView ]]></PyFunc>
- <PyFunc><![CDATA[ return aVisu,aView ]]></PyFunc> </PyFunction> </PyFunction-list>
- <creation-date>19/9/2003 - 16:10:16</creation-date>
- <lastmodification-date>19/9/2003 - 16:10:16</lastmodification-date>
- <editor-release>1.04</editor-release>
- <author>?</author>
- <container>?</container>
- <comment>Compute Node</comment>
- <x-position>0</x-position>
- <y-position>163</y-position> </node>
- <node>
-<component-name>?</component-name>
- <interface-name>?</interface-name>
- <node-name>Init</node-name>
- <kind>4</kind>
- <coupled-node>EndInit</coupled-node>
- <service>
-<service-name>Init</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>index</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>min</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>max</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>objref</inParameter-type>
- <inParameter-name>medfield</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>double</inParameter-type>
- <inParameter-name>x1</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>objref</inParameter-type>
- <inParameter-name>aVisu</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>objref</inParameter-type>
- <inParameter-name>aView</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>index</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>min</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>max</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>objref</outParameter-type>
- <outParameter-name>medfield</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>double</outParameter-type>
- <outParameter-name>x1</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>objref</outParameter-type>
- <outParameter-name>aVisu</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>objref</outParameter-type>
- <outParameter-name>aView</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list>
-<PyFunction>
-<FuncName>Init</FuncName>
- <PyFunc><![CDATA[def Init(index,min,max,medfield,x1,aVisu,aView): ]]></PyFunc>
- <PyFunc><![CDATA[ if max >= min : ]]></PyFunc>
- <PyFunc><![CDATA[ index = min ]]></PyFunc>
- <PyFunc><![CDATA[ else : ]]></PyFunc>
- <PyFunc><![CDATA[ index = max ]]></PyFunc>
- <PyFunc><![CDATA[ print "Init --> index = ",index ]]></PyFunc>
- <PyFunc><![CDATA[ print " min = ",min ]]></PyFunc>
- <PyFunc><![CDATA[ print " max = ",max ]]></PyFunc>
- <PyFunc><![CDATA[ print " medfield = ",medfield ]]></PyFunc>
- <PyFunc><![CDATA[ return index,min,max,medfield,x1,aVisu,aView ]]></PyFunc> </PyFunction>
- <PyFunction>
-<FuncName>More</FuncName>
- <PyFunc><![CDATA[def More(index,min,max,medfield,x1,aVisu,aView): ]]></PyFunc>
- <PyFunc><![CDATA[ if max >= index : ]]></PyFunc>
- <PyFunc><![CDATA[ DoLoop = 1 ]]></PyFunc>
- <PyFunc><![CDATA[ else : ]]></PyFunc>
- <PyFunc><![CDATA[ DoLoop = 0 ]]></PyFunc>
- <PyFunc><![CDATA[ print "More --> DoLoop = ",DoLoop ]]></PyFunc>
- <PyFunc><![CDATA[ print " index = ",index ]]></PyFunc>
- <PyFunc><![CDATA[ print " min = ",min ]]></PyFunc>
- <PyFunc><![CDATA[ print " max = ",max ]]></PyFunc>
- <PyFunc><![CDATA[ print " medfield = ",medfield ]]></PyFunc>
- <PyFunc><![CDATA[ return DoLoop,index,min,max,medfield,x1,aVisu,aView ]]></PyFunc> </PyFunction>
- <PyFunction>
-<FuncName>Next</FuncName>
- <PyFunc><![CDATA[def Next(index,min,max,medfield,x1,aVisu,aView): ]]></PyFunc>
- <PyFunc><![CDATA[ index = index + 1 ]]></PyFunc>
- <PyFunc><![CDATA[ print "Next --> index = ",index ]]></PyFunc>
- <PyFunc><![CDATA[ print " min = ",min ]]></PyFunc>
- <PyFunc><![CDATA[ print " max = ",max ]]></PyFunc>
- <PyFunc><![CDATA[ print " medfield = ",medfield ]]></PyFunc>
- <PyFunc><![CDATA[ return index,min,max,medfield,x1,aVisu,aView ]]></PyFunc> </PyFunction> </PyFunction-list>
- <creation-date>19/9/2003 - 16:10:16</creation-date>
- <lastmodification-date>19/9/2003 - 16:10:16</lastmodification-date>
- <editor-release>1.04</editor-release>
- <author>LD</author>
- <container>?</container>
- <comment>no comment</comment>
- <x-position>205</x-position>
- <y-position>63</y-position> </node>
- <node>
-<component-name>?</component-name>
- <interface-name>?</interface-name>
- <node-name>EndInit</node-name>
- <kind>5</kind>
- <coupled-node>Init</coupled-node>
- <service>
-<service-name>EndInit</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>index</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>min</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>max</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>objref</inParameter-type>
- <inParameter-name>medfield</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>double</inParameter-type>
- <inParameter-name>x1</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>objref</inParameter-type>
- <inParameter-name>aVisu</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>objref</inParameter-type>
- <inParameter-name>aView</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>index</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>min</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>max</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>objref</outParameter-type>
- <outParameter-name>medfield</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>double</outParameter-type>
- <outParameter-name>x1</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>objref</outParameter-type>
- <outParameter-name>aVisu</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>objref</outParameter-type>
- <outParameter-name>aView</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list>
-<PyFunction/> </PyFunction-list>
- <creation-date>19/9/2003 - 16:10:16</creation-date>
- <lastmodification-date>19/9/2003 - 16:10:16</lastmodification-date>
- <editor-release>1.04</editor-release>
- <author>LD</author>
- <container>?</container>
- <comment>no comment</comment>
- <x-position>776</x-position>
- <y-position>64</y-position> </node>
- <node>
-<component-name>Calculator</component-name>
- <interface-name>Calculator</interface-name>
- <node-name>Mul</node-name>
- <kind>0</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>Mul</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>objref</inParameter-type>
- <inParameter-name>field1</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>double</inParameter-type>
- <inParameter-name>x1</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>objref</outParameter-type>
- <outParameter-name>return</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list/>
- <creation-date>19/9/2003 - 16:10:16</creation-date>
- <lastmodification-date>19/9/2003 - 16:10:16</lastmodification-date>
- <editor-release>1.04</editor-release>
- <author>LD</author>
- <container>localhost/FactoryServer</container>
- <comment>Multiply a field by a constant</comment>
- <x-position>387</x-position>
- <y-position>104</y-position> </node>
- <node>
-<component-name>?</component-name>
- <interface-name>?</interface-name>
- <node-name>DisplayMed</node-name>
- <kind>3</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>DisplayMed</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>objref</inParameter-type>
- <inParameter-name>INmedfield</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>index</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>objref</inParameter-type>
- <inParameter-name>aVisu</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>objref</inParameter-type>
- <inParameter-name>aView</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>objref</outParameter-type>
- <outParameter-name>OUTmedfield</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list>
-<PyFunction>
-<FuncName>DisplayMed</FuncName>
- <PyFunc><![CDATA[import os ]]></PyFunc>
- <PyFunc><![CDATA[import SALOME_MED ]]></PyFunc>
- <PyFunc><![CDATA[from VISU import * ]]></PyFunc>
- <PyFunc><![CDATA[from LifeCycleCORBA import * ]]></PyFunc>
- <PyFunc><![CDATA[def DisplayMed(medfield,index,aVisu,aView): ]]></PyFunc>
- <PyFunc><![CDATA[ # initialize the ORB ]]></PyFunc>
- <PyFunc><![CDATA[ orb = CORBA.ORB_init([''], CORBA.ORB_ID) ]]></PyFunc>
- <PyFunc><![CDATA[ # create an LifeCycleCORBA instance ]]></PyFunc>
- <PyFunc><![CDATA[ lcc = LifeCycleCORBA(orb) ]]></PyFunc>
- <PyFunc><![CDATA[ print " " ]]></PyFunc>
- <PyFunc><![CDATA[ print "***************************************************************" ]]></PyFunc>
- <PyFunc><![CDATA[ calc = lcc.FindOrLoadComponent("FactoryServer", "Calculator") ]]></PyFunc>
- <PyFunc><![CDATA[ print "-----> calc = ",calc ]]></PyFunc>
- <PyFunc><![CDATA[ medfilename = "/tmp/LoopGraphFile" + str(index) + ".med" ]]></PyFunc>
- <PyFunc><![CDATA[ print "-----> Writing Med field in temporary file : ",medfilename ]]></PyFunc>
- <PyFunc><![CDATA[ calc.writeMEDfile(medfield,medfilename) ]]></PyFunc>
- <PyFunc><![CDATA[ print "-----> calc = ",calc ]]></PyFunc>
- <PyFunc><![CDATA[ print "***************************************************************" ]]></PyFunc>
- <PyFunc><![CDATA[ myResult1 = aVisu.ImportFile(medfilename) ]]></PyFunc>
- <PyFunc><![CDATA[ print "-----> myResult1 = ",myResult1 ]]></PyFunc>
- <PyFunc><![CDATA[ field_name = medfield.getName() ]]></PyFunc>
- <PyFunc><![CDATA[ print "-----> field_name = ",field_name ]]></PyFunc>
- <PyFunc><![CDATA[ mesh_name = medfield.getSupport().getMesh().getName() ]]></PyFunc>
- <PyFunc><![CDATA[ print "-----> mesh_name = ",mesh_name ]]></PyFunc>
- <PyFunc><![CDATA[ aMesh1 = aVisu.MeshOnEntity(myResult1,mesh_name,CELL) ]]></PyFunc>
- <PyFunc><![CDATA[ print "-----> aMesh1 = ",aMesh1 ]]></PyFunc>
- <PyFunc><![CDATA[ aScalarMap1 = aVisu.ScalarMapOnField(myResult1,mesh_name,NODE,field_name,1) ]]></PyFunc>
- <PyFunc><![CDATA[ print "-----> aScalarMap1 = ",aScalarMap1 ]]></PyFunc>
- <PyFunc><![CDATA[ aView.DisplayOnly(aScalarMap1) ]]></PyFunc>
- <PyFunc><![CDATA[ aView.FitAll() ]]></PyFunc>
- <PyFunc><![CDATA[ command = "rm " + medfilename ]]></PyFunc>
- <PyFunc><![CDATA[ os.system(command) ]]></PyFunc>
- <PyFunc><![CDATA[ print "-----> Delete temporary Med file : ",medfilename ]]></PyFunc>
- <PyFunc><![CDATA[ print "***************************************************************" ]]></PyFunc>
- <PyFunc><![CDATA[ print " " ]]></PyFunc>
- <PyFunc><![CDATA[ return medfield ]]></PyFunc> </PyFunction> </PyFunction-list>
- <creation-date>19/9/2003 - 16:10:16</creation-date>
- <lastmodification-date>19/9/2003 - 16:10:16</lastmodification-date>
- <editor-release>1.04</editor-release>
- <author>?</author>
- <container>?</container>
- <comment>Compute Node</comment>
- <x-position>594</x-position>
- <y-position>105</y-position> </node> </node-list>
- <link-list>
-<link>
-<fromnode-name>InitDisplay</fromnode-name>
- <fromserviceparameter-name>aVisu</fromserviceparameter-name>
- <tonode-name>Init</tonode-name>
- <toserviceparameter-name>aVisu</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>InitDisplay</fromnode-name>
- <fromserviceparameter-name>aView</fromserviceparameter-name>
- <tonode-name>Init</tonode-name>
- <toserviceparameter-name>aView</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>Init</fromnode-name>
- <fromserviceparameter-name>DoLoop</fromserviceparameter-name>
- <tonode-name>EndInit</tonode-name>
- <toserviceparameter-name>DoLoop</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>Init</fromnode-name>
- <fromserviceparameter-name>index</fromserviceparameter-name>
- <tonode-name>EndInit</tonode-name>
- <toserviceparameter-name>index</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>Init</fromnode-name>
- <fromserviceparameter-name>index</fromserviceparameter-name>
- <tonode-name>DisplayMed</tonode-name>
- <toserviceparameter-name>index</toserviceparameter-name>
- <coord-list>
-<coord>
-<x>566</x>
- <y>215</y> </coord>
- <coord>
-<x>566</x>
- <y>96</y> </coord> </coord-list> </link>
- <link>
-<fromnode-name>Init</fromnode-name>
- <fromserviceparameter-name>min</fromserviceparameter-name>
- <tonode-name>EndInit</tonode-name>
- <toserviceparameter-name>min</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>Init</fromnode-name>
- <fromserviceparameter-name>max</fromserviceparameter-name>
- <tonode-name>EndInit</tonode-name>
- <toserviceparameter-name>max</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>Init</fromnode-name>
- <fromserviceparameter-name>medfield</fromserviceparameter-name>
- <tonode-name>Mul</tonode-name>
- <toserviceparameter-name>field1</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>Init</fromnode-name>
- <fromserviceparameter-name>x1</fromserviceparameter-name>
- <tonode-name>EndInit</tonode-name>
- <toserviceparameter-name>x1</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>Init</fromnode-name>
- <fromserviceparameter-name>x1</fromserviceparameter-name>
- <tonode-name>Mul</tonode-name>
- <toserviceparameter-name>x1</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>Init</fromnode-name>
- <fromserviceparameter-name>aVisu</fromserviceparameter-name>
- <tonode-name>EndInit</tonode-name>
- <toserviceparameter-name>aVisu</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>Init</fromnode-name>
- <fromserviceparameter-name>aVisu</fromserviceparameter-name>
- <tonode-name>DisplayMed</tonode-name>
- <toserviceparameter-name>aVisu</toserviceparameter-name>
- <coord-list>
-<coord>
-<x>570</x>
- <y>242</y> </coord>
- <coord>
-<x>569</x>
- <y>263</y> </coord>
- <coord>
-<x>377</x>
- <y>264</y> </coord>
- <coord>
-<x>376</x>
- <y>242</y> </coord> </coord-list> </link>
- <link>
-<fromnode-name>Init</fromnode-name>
- <fromserviceparameter-name>aView</fromserviceparameter-name>
- <tonode-name>EndInit</tonode-name>
- <toserviceparameter-name>aView</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>Init</fromnode-name>
- <fromserviceparameter-name>aView</fromserviceparameter-name>
- <tonode-name>DisplayMed</tonode-name>
- <toserviceparameter-name>aView</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>EndInit</fromnode-name>
- <fromserviceparameter-name>DoLoop</fromserviceparameter-name>
- <tonode-name>Init</tonode-name>
- <toserviceparameter-name>InitLoop</toserviceparameter-name>
- <coord-list>
-<coord>
-<x>205</x>
- <y>233</y> </coord>
- <coord>
-<x>204</x>
- <y>21</y> </coord>
- <coord>
-<x>936</x>
- <y>20</y> </coord>
- <coord>
-<x>935</x>
- <y>235</y> </coord> </coord-list> </link>
- <link>
-<fromnode-name>Mul</fromnode-name>
- <fromserviceparameter-name>return</fromserviceparameter-name>
- <tonode-name>DisplayMed</tonode-name>
- <toserviceparameter-name>INmedfield</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>DisplayMed</fromnode-name>
- <fromserviceparameter-name>OUTmedfield</fromserviceparameter-name>
- <tonode-name>EndInit</tonode-name>
- <toserviceparameter-name>medfield</toserviceparameter-name>
- <coord-list/> </link> </link-list>
- <data-list>
-<data>
-<fromnode-name>LoopGraph</fromnode-name>
- <fromserviceparameter-name>Init\index</fromserviceparameter-name>
- <tonode-name>Init</tonode-name>
- <toserviceparameter-name>index</toserviceparameter-name>
- <data-value>
-<value-type>3</value-type>
- <value>0</value> </data-value>
- <coord-list/> </data>
- <data>
-<fromnode-name>LoopGraph</fromnode-name>
- <fromserviceparameter-name>Init\min</fromserviceparameter-name>
- <tonode-name>Init</tonode-name>
- <toserviceparameter-name>min</toserviceparameter-name>
- <data-value>
-<value-type>3</value-type>
- <value>0</value> </data-value>
- <coord-list/> </data>
- <data>
-<fromnode-name>LoopGraph</fromnode-name>
- <fromserviceparameter-name>Init\max</fromserviceparameter-name>
- <tonode-name>Init</tonode-name>
- <toserviceparameter-name>max</toserviceparameter-name>
- <data-value>
-<value-type>3</value-type>
- <value>4</value> </data-value>
- <coord-list/> </data>
- <data>
-<fromnode-name>LoopGraph</fromnode-name>
- <fromserviceparameter-name>Init\x1</fromserviceparameter-name>
- <tonode-name>Init</tonode-name>
- <toserviceparameter-name>x1</toserviceparameter-name>
- <data-value>
-<value-type>7</value-type>
- <value>2</value> </data-value>
- <coord-list/> </data> </data-list></dataflow>
+++ /dev/null
-#%dataflow_calculator_example.py%
-#==============================================================================
-# File : dataflow_calculator_example.py
-# Created : 30 sept 2002
-# Author : Laurent DADA
-# Project : SALOME
-# Copyright : CEA
-#==============================================================================
-
-#==============================================================================
-# Example of dataflow with CalculatorComponent services (Add, Mult and Const)
-# and MED data (mesh and field).
-#
-#
-#==============================================================================
-
-#==============================================================================
-import batchmode_salome
-import SALOME_MED
-from batchmode_SuperV import *
-#==============================================================================
-datadir = os.getenv("SALOMEPRO_SRC")
-if len(datadir) != 0:
- datadir=datadir+ "data/"
-input_file = datadir+'pointe.med'
-print 'dataflow_calculator_example.py',input_file
-str= os.getenv("HOME")
-if str == None:
- str = "/tmp"
-output_file = str + 'test_dataflow_calculator.med'
-
-export_xmlfile = str + "/my_dataflow_calculator_example.xml"
-
-#==============================================================================
-# Load mesh and field in MED component, register into current study and get
-# a field under the following name : fieldnodedouble
-#==============================================================================
-from batchmode_MED import *
-
-#==============================================================================
-# Define a function for printing on Salome TUI the" until_index" first values
-# for each component of a field (MED data)
-#==============================================================================
-
-def PrintField(aField,until_index):
- # check parameter
- if aField is None:
- print "PrintField() : aField is None "
- return
- name = aField.getName()
- desc = aField.getDescription()
- nb_comp = aField.getNumberOfComponents()
- values = aField.getValue(SALOME_MED.MED_FULL_INTERLACE)
- support = aField.getSupport()
- if (support.isOnAllElements()):
- nb_node = support.getMesh().getNumberOfElements(support.getEntity(),SALOME_MED.MED_ALL_ELEMENTS)
- else:
- nb_node = support.getNumberOfElements(SALOME_MED.MED_ALL_ELEMENTS);
-
- if until_index > nb_node:
- max_index = nb_node
- else:
- max_index = until_index
- time = aField.getTime()
- iter = aField.getIterationNumber()
- print "------------------------------------------------"
- print "Field %s"%(name)
- print " Description : %s"%(desc)
- print " Number of components : %d"%(nb_comp)
- print " Number of nodes : %d"%(nb_node)
- print " Iteration number : %d"%(iter)
- print " Time : %f"%(time)
- icomp = 0
- while icomp < nb_comp :
- icomp = icomp + 1
- namec = aField.getComponentName(icomp)
- unit = aField.getComponentUnit(icomp)
- print " Component : %s"%(namec)
- print " Unit : %s"%(type)
- print " first %d values :"%(until_index)
- index = 0
- while index < max_index :
- index = index + 1
- print " component %d index %d :%f"%(icomp,index,values[(index-1)+(icomp-1)*nb_comp])
- print "------------------------------------------------"
-
-#----------------------------------------------------------------------
-
-med_comp.readStructFileWithFieldType(input_file, studyCurrent)
-
-med_obj = getMedObjectFromStudy()
-
-nbMeshes = med_obj.getNumberOfMeshes()
-
-nbFields = med_obj.getNumberOfFields()
-
-print ""
-print "The med file ",input_file," has ",nbMeshes," Meshe(s) and ",nbFields," Field(s)"
-print ""
-
-mesh = getMeshObjectFromStudy(1)
-
-name = mesh.getName()
-
-nbNodes = mesh.getNumberOfNodes()
-
-spaceDim = mesh.getSpaceDimension()
-
-print "The mesh from the Study is ",name,".It is a ",spaceDim,"-D mesh and it has ",nbNodes,"Nodes"
-print ""
-
-fieldcelldouble = getFieldIntObjectFromStudy(1,1)
-if (fieldcelldouble == None):
- fieldcelldouble = getFieldDoubleObjectFromStudy(1,1)
- print "The following field is a float (double) one"
-else:
- print "The following field is an integer one"
-
-AnalyzeField(fieldcelldouble)
-
-fieldnodedouble = getFieldIntObjectFromStudy(2,1)
-if (fieldnodedouble == None):
- fieldnodedouble = getFieldDoubleObjectFromStudy(2,1)
- print "The following field is a float (double) one"
-else:
- print "The following field is an integer one"
-
-AnalyzeField(fieldnodedouble)
-#----------------------------------------------------------------------
-
-#==============================================================================
-# Building the Dataflow
-#==============================================================================
-
-myGraph = Graph("CalculatorDataflow")
-
-# nodes and links
-# -------------------
-
-scal_field_const = myGraph.Node("Calculator","Calculator","Constant")
-scal_field_mult = myGraph.Node("Calculator","Calculator","Mul")
-scal_field_add = myGraph.Node("Calculator","Calculator","Add")
-
-write_initial = myGraph.Node("Calculator","Calculator","writeMEDfile")
-write_result = myGraph.Node("Calculator","Calculator","writeMEDfile")
-
-link1 = myGraph.Link( scal_field_const.Port("return") , scal_field_add.Port("field1") )
-link2 = myGraph.Link( scal_field_mult.Port("return") , scal_field_add.Port("field2") )
-link3 = myGraph.Link( scal_field_add.Port("return") , write_result.Port("field1") )
-
-
-# machines ressources
-# -------------------
-
-#myGraph.SetContainer('FactoryServer')
-scal_field_const.SetContainer('FactoryServer')
-scal_field_mult.SetContainer('FactoryServer')
-scal_field_add.SetContainer('FactoryServer')
-write_initial.SetContainer('FactoryServer')
-write_result.SetContainer('FactoryServer')
-
-# validation and exporting (xml format)
-# ---------------------------------
-print myGraph.Export(export_xmlfile)
-
-print myGraph.IsValid()
-
-#==============================================================================
-# Dataflow Input
-#==============================================================================
-
-# Ports Input
-# ----------------------------
-
-scal_const_in2 = scal_field_const.Input( "x1", 10. )
-scal_mult_in2 = scal_field_mult.Input( "x1", -1. )
-result_write = write_result.Input( "filename", output_file)
-initial_write_in2 = write_initial.Input( "filename", output_file)
-
-# exporting with constant inputs (xml format)
-# -------------------------------------------
-
-print myGraph.Export(export_xmlfile)
-
-# Other ports Input
-# ----------------------------
-
-print "Print fieldnodedouble"
-PrintField(fieldnodedouble,20)
-
-scal_const_in1 = scal_field_const.Input( "field1", fieldnodedouble )
-scal_mult_in1 = scal_field_mult.Input( "field1", fieldnodedouble )
-initial_write_in1 = write_initial.Input( "field1", fieldnodedouble)
-
-print myGraph.IsExecutable()
-
-#==============================================================================
-# Running the Dataflow (asynchronous)
-#==============================================================================
-
-print myGraph.Run()
-
-print myGraph.DoneW()
-
-new_field = scal_field_add.Port("return").ToAny().value()
-print "Print new_field"
-PrintField(new_field,20)
-
-
-
-
+++ /dev/null
-<?xml version='1.0' encoding='us-ascii' ?>
-
-<!-- XML Dataflow -->
-
-<!-- Dataflow information -->
-<dataflow>
- <info-list>
- <node>
- <component-name>?</component-name>
- <interface-name>?</interface-name>
- <node-name>CalculatorDataflow</node-name>
- <kind>1</kind>
- <service>
- <service-name>CalculatorDataflow</service-name>
- <inParameter-list>
- <inParameter>
- <inParameter-type>FIELDDOUBLE</inParameter-type>
-
-<inParameter-name>Constant\field1</inParameter-name>
- </inParameter>
- <inParameter>
- <inParameter-type>double</inParameter-type>
- <inParameter-name>Constant\x1</inParameter-name>
- </inParameter>
- <inParameter>
- <inParameter-type>FIELDDOUBLE</inParameter-type>
- <inParameter-name>Mul\field1</inParameter-name>
- </inParameter>
- <inParameter>
- <inParameter-type>double</inParameter-type>
- <inParameter-name>Mul\x1</inParameter-name>
- </inParameter>
- <inParameter>
-
-<inParameter-type>FieldNodeDouble</inParameter-type>
-
-<inParameter-name>writeMEDfile\field1</inParameter-name>
- </inParameter>
- <inParameter>
- <inParameter-type>string</inParameter-type>
-
-<inParameter-name>writeMEDfile\filename</inParameter-name>
- </inParameter>
- <inParameter>
- <inParameter-type>string</inParameter-type>
-
-<inParameter-name>writeMEDfile_1\filename</inParameter-name>
- </inParameter>
- </inParameter-list>
- <outParameter-list>
- </outParameter-list>
- </service>
- <creation-date>22/11/2002 - 14:38:49</creation-date>
- <lastmodification-date>22/11/2002 - 14:47:14</lastmodification-date>
- <editor-release>1.03</editor-release>
- <author>?</author>
- <container>FactoryServer</container>
- <comment>?</comment>
- <x-position>0</x-position>
- <y-position>0</y-position>
- </node>
- </info-list>
-
- <node-list>
- <node>
- <component-name>Calculator</component-name>
- <interface-name>Calculator</interface-name>
- <node-name>Constant</node-name>
- <kind>0</kind>
- <service>
- <service-name>Constant</service-name>
- <inParameter-list>
- <inParameter>
- <inParameter-type>FIELDDOUBLE</inParameter-type>
- <inParameter-name>field1</inParameter-name>
- </inParameter>
- <inParameter>
- <inParameter-type>double</inParameter-type>
- <inParameter-name>x1</inParameter-name>
- </inParameter>
- </inParameter-list>
- <outParameter-list>
- <outParameter>
- <outParameter-type>FIELDDOUBLE</outParameter-type>
- <outParameter-name>return</outParameter-name>
- </outParameter>
- </outParameter-list>
- </service>
- <creation-date>22/11/2002 - 14:47:14</creation-date>
- <lastmodification-date>22/11/2002 - 14:47:14</lastmodification-date>
- <editor-release>1.03</editor-release>
- <author>?</author>
- <container>FactoryServer</container>
- <comment>?</comment>
- <x-position>28</x-position>
- <y-position>0</y-position>
- </node>
- <node>
- <component-name>Calculator</component-name>
- <interface-name>Calculator</interface-name>
- <node-name>Mul</node-name>
- <kind>0</kind>
- <service>
- <service-name>Mul</service-name>
- <inParameter-list>
- <inParameter>
- <inParameter-type>FIELDDOUBLE</inParameter-type>
- <inParameter-name>field1</inParameter-name>
- </inParameter>
- <inParameter>
- <inParameter-type>double</inParameter-type>
- <inParameter-name>x1</inParameter-name>
- </inParameter>
- </inParameter-list>
- <outParameter-list>
- <outParameter>
- <outParameter-type>FIELDDOUBLE</outParameter-type>
- <outParameter-name>return</outParameter-name>
- </outParameter>
- </outParameter-list>
- </service>
- <creation-date>22/11/2002 - 14:47:14</creation-date>
- <lastmodification-date>22/11/2002 - 14:47:14</lastmodification-date>
- <editor-release>1.03</editor-release>
- <author>?</author>
- <container>FactoryServer</container>
- <comment>?</comment>
- <x-position>27</x-position>
- <y-position>208</y-position>
- </node>
- <node>
- <component-name>Calculator</component-name>
- <interface-name>Calculator</interface-name>
- <node-name>Add</node-name>
- <kind>0</kind>
- <service>
- <service-name>Add</service-name>
- <inParameter-list>
- <inParameter>
- <inParameter-type>FIELDDOUBLE</inParameter-type>
- <inParameter-name>field1</inParameter-name>
- </inParameter>
- <inParameter>
- <inParameter-type>FIELDDOUBLE</inParameter-type>
- <inParameter-name>field2</inParameter-name>
- </inParameter>
- </inParameter-list>
- <outParameter-list>
- <outParameter>
- <outParameter-type>FIELDDOUBLE</outParameter-type>
- <outParameter-name>return</outParameter-name>
- </outParameter>
- </outParameter-list>
- </service>
- <creation-date>22/11/2002 - 14:47:14</creation-date>
- <lastmodification-date>22/11/2002 - 14:47:14</lastmodification-date>
- <editor-release>1.03</editor-release>
- <author>?</author>
- <container>FactoryServer</container>
- <comment>?</comment>
- <x-position>398</x-position>
- <y-position>54</y-position>
- </node>
- <node>
- <component-name>Calculator</component-name>
- <interface-name>Calculator</interface-name>
- <node-name>writeMEDfile</node-name>
- <kind>0</kind>
- <service>
- <service-name>writeMEDfile</service-name>
- <inParameter-list>
- <inParameter>
-
-<inParameter-type>FieldNodeDouble</inParameter-type>
- <inParameter-name>field1</inParameter-name>
- </inParameter>
- <inParameter>
- <inParameter-type>string</inParameter-type>
- <inParameter-name>filename</inParameter-name>
- </inParameter>
- </inParameter-list>
- <outParameter-list>
- </outParameter-list>
- </service>
- <creation-date>22/11/2002 - 14:47:14</creation-date>
- <lastmodification-date>22/11/2002 - 14:47:14</lastmodification-date>
- <editor-release>1.03</editor-release>
- <author>?</author>
- <container>FactoryServer</container>
- <comment>?</comment>
- <x-position>212</x-position>
- <y-position>392</y-position>
- </node>
- <node>
- <component-name>Calculator</component-name>
- <interface-name>Calculator</interface-name>
- <node-name>writeMEDfile_1</node-name>
- <kind>0</kind>
- <service>
- <service-name>writeMEDfile</service-name>
- <inParameter-list>
- <inParameter>
- <inParameter-type>FIELDDOUBLE</inParameter-type>
- <inParameter-name>field1</inParameter-name>
- </inParameter>
- <inParameter>
- <inParameter-type>string</inParameter-type>
- <inParameter-name>filename</inParameter-name>
- </inParameter>
- </inParameter-list>
- <outParameter-list>
- </outParameter-list>
- </service>
- <creation-date>22/11/2002 - 14:47:14</creation-date>
- <lastmodification-date>22/11/2002 - 14:47:14</lastmodification-date>
- <editor-release>1.03</editor-release>
- <author>?</author>
- <container>FactoryServer</container>
- <comment>?</comment>
- <x-position>572</x-position>
- <y-position>52</y-position>
- </node>
- </node-list>
-
- <link-list>
- <link>
- <fromnode-name>Constant</fromnode-name>
- <fromserviceparameter-name>return</fromserviceparameter-name>
- <tonode-name>Add</tonode-name>
- <toserviceparameter-name>field1</toserviceparameter-name>
- <coord-list>
- </coord-list>
- </link>
- <link>
- <fromnode-name>Mul</fromnode-name>
- <fromserviceparameter-name>return</fromserviceparameter-name>
- <tonode-name>Add</tonode-name>
- <toserviceparameter-name>field2</toserviceparameter-name>
- <coord-list>
- </coord-list>
- </link>
- <link>
- <fromnode-name>Add</fromnode-name>
- <fromserviceparameter-name>return</fromserviceparameter-name>
- <tonode-name>writeMEDfile_1</tonode-name>
- <toserviceparameter-name>field1</toserviceparameter-name>
- <coord-list>
- </coord-list>
- </link>
- </link-list>
-
- <data-list>
- <data>
- <fromnode-name>CalculatorDataflow</fromnode-name>
- <fromserviceparameter-name>Constant\x1</fromserviceparameter-name>
- <tonode-name>Constant</tonode-name>
- <toserviceparameter-name>x1</toserviceparameter-name>
- <data-value>
- <value-type>7</value-type>
- <value>10</value>
- </data-value>
- <coord-list>
- </coord-list>
- </data>
- <data>
- <fromnode-name>CalculatorDataflow</fromnode-name>
- <fromserviceparameter-name>Mul\x1</fromserviceparameter-name>
- <tonode-name>Mul</tonode-name>
- <toserviceparameter-name>x1</toserviceparameter-name>
- <data-value>
- <value-type>7</value-type>
- <value>-1</value>
- </data-value>
- <coord-list>
- </coord-list>
- </data>
- <data>
- <fromnode-name>CalculatorDataflow</fromnode-name>
-
-<fromserviceparameter-name>writeMEDfile\filename</fromserviceparameter-name>
- <tonode-name>writeMEDfile</tonode-name>
- <toserviceparameter-name>filename</toserviceparameter-name>
- <data-value>
- <value-type>18</value-type>
- <value>test_dataflow_calculator.med</value>
- </data-value>
- <coord-list>
- </coord-list>
- </data>
- <data>
- <fromnode-name>CalculatorDataflow</fromnode-name>
-
-<fromserviceparameter-name>writeMEDfile_1\filename</fromserviceparameter-name>
- <tonode-name>writeMEDfile_1</tonode-name>
- <toserviceparameter-name>filename</toserviceparameter-name>
- <data-value>
- <value-type>18</value-type>
- <value>test_dataflow_calculator.med</value>
- </data-value>
- <coord-list>
- </coord-list>
- </data>
- </data-list>
-
-</dataflow>
-
+++ /dev/null
-# Copyright (C) 2003 CEA/DEN, EDF R&D
-#
-#
-#
-# File : myFactorialPy.py
-# Module : SuperVisionTest
-
-from SuperV import *
-
-myPy = Graph('myPy')
-
-eval = myPy.Node('FactorialComponent','FactorialComponent','eval')
-eval.SetContainer('FactoryServerPy')
-
-myPy.IsValid()
-
-myPy.PrintPorts()
-
-myPy.Run( 3 )
-
-myPy.DoneW()
-
-myPy.State()
-
-myPy.PrintPorts()
+++ /dev/null
-# Copyright (C) 2003 CEA/DEN, EDF R&D
-#
-#
-#
-# File : newsupervisionexample.py
-# Module : SuperVisionTest
-
-from SuperV import *
-# Graph creation
-newsupervisionexample = Graph( 'newsupervisionexample' )
-newsupervisionexample.SetName( 'newsupervisionexample' )
-newsupervisionexample.SetAuthor( '' )
-newsupervisionexample.SetComment( '' )
-newsupervisionexample.Coords( 0 , 0 )
-
-# Creation of Computing Nodes
-Add = newsupervisionexample.Node( 'AddComponent' , 'AddComponent' , 'Add' )
-Add.SetName( 'Add' )
-Add.SetAuthor( '' )
-Add.SetContainer( 'FactoryServer' )
-Add.SetComment( '' )
-Add.Coords( 15 , 241 )
-Sub = newsupervisionexample.Node( 'SubComponent' , 'SubComponent' , 'Sub' )
-Sub.SetName( 'Sub' )
-Sub.SetAuthor( '' )
-Sub.SetContainer( 'FactoryServer' )
-Sub.SetComment( '' )
-Sub.Coords( 227 , 99 )
-Mul = newsupervisionexample.Node( 'MulComponent' , 'MulComponent' , 'Mul' )
-Mul.SetName( 'Mul' )
-Mul.SetAuthor( '' )
-Mul.SetContainer( 'FactoryServer' )
-Mul.SetComment( '' )
-Mul.Coords( 443 , 278 )
-Div = newsupervisionexample.Node( 'DivComponent' , 'DivComponent' , 'Div' )
-Div.SetName( 'Div' )
-Div.SetAuthor( '' )
-Div.SetContainer( 'FactoryServer' )
-Div.SetComment( '' )
-Div.Coords( 634 , 97 )
-
-# Creation of intermediate Output variables and of Computing Links
-Addz = Add.Port( 'z' )
-Suby = newsupervisionexample.Link( Addz , Sub.Port( 'y' ) )
-Muly = newsupervisionexample.Link( Addz , Mul.Port( 'y' ) )
-Subz = Sub.Port( 'z' )
-Mulx = newsupervisionexample.Link( Subz , Mul.Port( 'x' ) )
-Divx = newsupervisionexample.Link( Subz , Div.Port( 'x' ) )
-Mulz = Mul.Port( 'z' )
-Divy = newsupervisionexample.Link( Mulz , Div.Port( 'y' ) )
-
-# Creation of Input datas
-Addx = Add.Input( 'x' , 3)
-Addy = Add.Input( 'y' , 4.5)
-Subx = Sub.Input( 'x' , 1.5)
-
-# Creation of Output variables
-AddFuncValue = Add.Port( 'FuncValue' )
-Divz = Div.Port( 'z' )
-
-newsupervisionexample.Run()
-
-newsupervisionexample.DoneW()
-
-newsupervisionexample.State()
-
-newsupervisionexample.PrintPorts()
-
+++ /dev/null
-<?xml version='1.0' encoding='us-ascii' ?>
-
-<!-- XML Dataflow -->
-
-<!-- Dataflow information -->
-<dataflow>
- <info-list>
- <node>
- <component-name>newsupervisionexample</component-name>
- <interface-name>?</interface-name>
- <node-name>newsupervisionexample</node-name>
- <kind>1</kind>
- <coupled-node>?</coupled-node>
- <service>
- <service-name>newsupervisionexample</service-name>
- <inParameter-list>
- <inParameter>
- <inParameter-type>double</inParameter-type>
- <inParameter-name>Add\x</inParameter-name>
- </inParameter>
- <inParameter>
- <inParameter-type>double</inParameter-type>
- <inParameter-name>Add\y</inParameter-name>
- </inParameter>
- <inParameter>
- <inParameter-type>double</inParameter-type>
- <inParameter-name>Sub\x</inParameter-name>
- </inParameter>
- </inParameter-list>
- <outParameter-list>
- <outParameter>
- <outParameter-type>double</outParameter-type>
- <outParameter-name>Add\FuncValue</outParameter-name>
- </outParameter>
- <outParameter>
- <outParameter-type>double</outParameter-type>
- <outParameter-name>Div\z</outParameter-name>
- </outParameter>
- </outParameter-list>
- </service>
- <Parameter-list>
- </Parameter-list>
- <creation-date>21/11/2001 - 17:17:23</creation-date>
- <lastmodification-date>31/7/2002 - 16:43:19</lastmodification-date>
- <editor-release>1.00</editor-release>
- <author>?</author>
- <container>FactoryServer</container>
- <comment>?</comment>
- <x-position>0</x-position>
- <y-position>0</y-position>
- </node>
- </info-list>
-
- <node-list>
- <node>
- <component-name>AddComponent</component-name>
- <interface-name>AddComponent</interface-name>
- <node-name>Add</node-name>
- <kind>0</kind>
- <coupled-node>?</coupled-node>
- <service>
- <service-name>Add</service-name>
- <inParameter-list>
- <inParameter>
- <inParameter-type>double</inParameter-type>
- <inParameter-name>x</inParameter-name>
- </inParameter>
- <inParameter>
- <inParameter-type>double</inParameter-type>
- <inParameter-name>y</inParameter-name>
- </inParameter>
- </inParameter-list>
- <outParameter-list>
- <outParameter>
- <outParameter-type>double</outParameter-type>
- <outParameter-name>FuncValue</outParameter-name>
- </outParameter>
- <outParameter>
- <outParameter-type>double</outParameter-type>
- <outParameter-name>z</outParameter-name>
- </outParameter>
- </outParameter-list>
- </service>
- <Parameter-list>
- </Parameter-list>
- <creation-date>31/7/2002 - 16:43:19</creation-date>
- <lastmodification-date>31/7/2002 - 16:43:19</lastmodification-date>
- <editor-release>1.00</editor-release>
- <author>?</author>
- <container>FactoryServer</container>
- <comment>?</comment>
- <x-position>15</x-position>
- <y-position>241</y-position>
- </node>
- <node>
- <component-name>SubComponent</component-name>
- <interface-name>SubComponent</interface-name>
- <node-name>Sub</node-name>
- <kind>0</kind>
- <coupled-node>?</coupled-node>
- <service>
- <service-name>Sub</service-name>
- <inParameter-list>
- <inParameter>
- <inParameter-type>double</inParameter-type>
- <inParameter-name>x</inParameter-name>
- </inParameter>
- <inParameter>
- <inParameter-type>double</inParameter-type>
- <inParameter-name>y</inParameter-name>
- </inParameter>
- </inParameter-list>
- <outParameter-list>
- <outParameter>
- <outParameter-type>double</outParameter-type>
- <outParameter-name>z</outParameter-name>
- </outParameter>
- </outParameter-list>
- </service>
- <Parameter-list>
- </Parameter-list>
- <creation-date>31/7/2002 - 16:43:19</creation-date>
- <lastmodification-date>31/7/2002 - 16:43:19</lastmodification-date>
- <editor-release>1.00</editor-release>
- <author>?</author>
- <container>FactoryServer</container>
- <comment>?</comment>
- <x-position>227</x-position>
- <y-position>99</y-position>
- </node>
- <node>
- <component-name>MulComponent</component-name>
- <interface-name>MulComponent</interface-name>
- <node-name>Mul</node-name>
- <kind>0</kind>
- <coupled-node>?</coupled-node>
- <service>
- <service-name>Mul</service-name>
- <inParameter-list>
- <inParameter>
- <inParameter-type>double</inParameter-type>
- <inParameter-name>x</inParameter-name>
- </inParameter>
- <inParameter>
- <inParameter-type>double</inParameter-type>
- <inParameter-name>y</inParameter-name>
- </inParameter>
- </inParameter-list>
- <outParameter-list>
- <outParameter>
- <outParameter-type>double</outParameter-type>
- <outParameter-name>z</outParameter-name>
- </outParameter>
- </outParameter-list>
- </service>
- <Parameter-list>
- </Parameter-list>
- <creation-date>31/7/2002 - 16:43:19</creation-date>
- <lastmodification-date>31/7/2002 - 16:43:19</lastmodification-date>
- <editor-release>1.00</editor-release>
- <author>?</author>
- <container>FactoryServer</container>
- <comment>?</comment>
- <x-position>443</x-position>
- <y-position>278</y-position>
- </node>
- <node>
- <component-name>DivComponent</component-name>
- <interface-name>DivComponent</interface-name>
- <node-name>Div</node-name>
- <kind>0</kind>
- <coupled-node>?</coupled-node>
- <service>
- <service-name>Div</service-name>
- <inParameter-list>
- <inParameter>
- <inParameter-type>double</inParameter-type>
- <inParameter-name>x</inParameter-name>
- </inParameter>
- <inParameter>
- <inParameter-type>double</inParameter-type>
- <inParameter-name>y</inParameter-name>
- </inParameter>
- </inParameter-list>
- <outParameter-list>
- <outParameter>
- <outParameter-type>double</outParameter-type>
- <outParameter-name>z</outParameter-name>
- </outParameter>
- </outParameter-list>
- </service>
- <Parameter-list>
- </Parameter-list>
- <creation-date>31/7/2002 - 16:43:19</creation-date>
- <lastmodification-date>31/7/2002 - 16:43:19</lastmodification-date>
- <editor-release>1.00</editor-release>
- <author>?</author>
- <container>FactoryServer</container>
- <comment>?</comment>
- <x-position>634</x-position>
- <y-position>97</y-position>
- </node>
- </node-list>
-
- <link-list>
- <link>
- <fromnode-name>Add</fromnode-name>
- <fromserviceparameter-name>z</fromserviceparameter-name>
- <tonode-name>Sub</tonode-name>
- <toserviceparameter-name>y</toserviceparameter-name>
- <coord-list>
- </coord-list>
- </link>
- <link>
- <fromnode-name>Add</fromnode-name>
- <fromserviceparameter-name>z</fromserviceparameter-name>
- <tonode-name>Mul</tonode-name>
- <toserviceparameter-name>y</toserviceparameter-name>
- <coord-list>
- </coord-list>
- </link>
- <link>
- <fromnode-name>Sub</fromnode-name>
- <fromserviceparameter-name>z</fromserviceparameter-name>
- <tonode-name>Mul</tonode-name>
- <toserviceparameter-name>x</toserviceparameter-name>
- <coord-list>
- </coord-list>
- </link>
- <link>
- <fromnode-name>Sub</fromnode-name>
- <fromserviceparameter-name>z</fromserviceparameter-name>
- <tonode-name>Div</tonode-name>
- <toserviceparameter-name>x</toserviceparameter-name>
- <coord-list>
- </coord-list>
- </link>
- <link>
- <fromnode-name>Mul</fromnode-name>
- <fromserviceparameter-name>z</fromserviceparameter-name>
- <tonode-name>Div</tonode-name>
- <toserviceparameter-name>y</toserviceparameter-name>
- <coord-list>
- </coord-list>
- </link>
- </link-list>
-
- <data-list>
- <data>
- <fromnode-name>newsupervisionexample</fromnode-name>
- <fromserviceparameter-name>Add\x</fromserviceparameter-name>
- <tonode-name>Add</tonode-name>
- <toserviceparameter-name>x</toserviceparameter-name>
- <data-value>
- <value-type>7</value-type>
- <value>3</value>
- </data-value>
- <coord-list>
- </coord-list>
- </data>
- <data>
- <fromnode-name>newsupervisionexample</fromnode-name>
- <fromserviceparameter-name>Add\y</fromserviceparameter-name>
- <tonode-name>Add</tonode-name>
- <toserviceparameter-name>y</toserviceparameter-name>
- <data-value>
- <value-type>7</value-type>
- <value>4.5</value>
- </data-value>
- <coord-list>
- </coord-list>
- </data>
- <data>
- <fromnode-name>newsupervisionexample</fromnode-name>
- <fromserviceparameter-name>Sub\x</fromserviceparameter-name>
- <tonode-name>Sub</tonode-name>
- <toserviceparameter-name>x</toserviceparameter-name>
- <data-value>
- <value-type>7</value-type>
- <value>1.5</value>
- </data-value>
- <coord-list>
- </coord-list>
- </data>
- </data-list>
-
-</dataflow>
+++ /dev/null
-
-# Generated python file of Graph aNewDataFlow
-
-from SuperV import *
-# Graph creation
-aNewDataFlow = Graph( 'aNewDataFlow' )
-aNewDataFlow.SetName( 'aNewDataFlow' )
-aNewDataFlow.SetAuthor( '' )
-aNewDataFlow.SetComment( '' )
-aNewDataFlow.Coords( 0 , 0 )
-
-# Creation of Factory Nodes
-
-# Creation of InLine Nodes
-PyFunc = []
-PyFunc.append( 'def Func( A ): ' )
-PyFunc.append( ' import batchmode_visu ' )
-PyFunc.append( ' batchmode_visu.myVisu.CreateTestView() ' )
-PyFunc.append( ' batchmode_visu.myVisu.ShowTestObject() ' )
-PyFunc.append( ' return A ' )
-Func = aNewDataFlow.INode( 'Func' , PyFunc )
-Func.SetName( 'Func' )
-Func.SetAuthor( '' )
-Func.SetComment( 'Compute Node' )
-Func.Coords( 375 , 162 )
-Func.InPort( 'A' , 'int' )
-Func.OutPort( 'B' , 'int' )
-
-# Creation of Loop Nodes
-PyInit = []
-PyInit.append( 'def Init( A ): ' )
-PyInit.append( ' return A ' )
-PyMoreInit = []
-PyMoreInit.append( 'def More( A ): ' )
-PyMoreInit.append( ' if A < 10: ' )
-PyMoreInit.append( ' return 1,A ' )
-PyMoreInit.append( ' return 0,A ' )
-PyNextInit = []
-PyNextInit.append( 'def Next( A ): ' )
-PyNextInit.append( ' return (A + 1) ' )
-Init,EndInit = aNewDataFlow.LNode( 'Init' , PyInit , 'More' , PyMoreInit , 'Next' , PyNextInit )
-EndInit.SetName( 'EndInit' )
-EndInit.SetAuthor( '' )
-EndInit.SetComment( '' )
-EndInit.Coords( 740 , 168 )
-PyEndInit = []
-EndInit.SetPyFunction( 'EndInit' , PyEndInit )
-Init.SetName( 'Init' )
-Init.SetAuthor( '' )
-Init.SetComment( '' )
-Init.Coords( 118 , 160 )
-Init.InPort( 'A' , 'int' )
-Init.OutPort( 'A' , 'int' )
-
-# Creation of Links
-InitA = Init.Port( 'A' )
-FuncA = aNewDataFlow.Link( InitA , Func.Port( 'A' ) )
-
-FuncB = Func.Port( 'B' )
-EndInitA = aNewDataFlow.Link( FuncB , EndInit.Port( 'A' ) )
-
-# Creation of Input datas
-InitA = Init.Input( 'A' , 0)
-
-# Creation of Output variables
-EndInitA = EndInit.Port( 'A' )
+++ /dev/null
-<!DOCTYPE Dataflow>
-<dataflow>
-<info-list>
-<node>
-<component-name>?</component-name>
- <interface-name>?</interface-name>
- <node-name>aNewDataFlow</node-name>
- <kind>1</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>aNewDataFlow</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>int</inParameter-type>
- <inParameter-name>Init\A</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>int</outParameter-type>
- <outParameter-name>EndInit\A</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list/>
- <creation-date>2/4/2004 - 16:38:31</creation-date>
- <lastmodification-date>2/4/2004 - 18:30:31</lastmodification-date>
- <editor-release>1.05</editor-release>
- <author>?</author>
- <container>?</container>
- <comment>?</comment>
- <x-position>0</x-position>
- <y-position>0</y-position> </node> </info-list>
- <node-list>
-<node>
-<component-name>?</component-name>
- <interface-name>?</interface-name>
- <node-name>Init</node-name>
- <kind>4</kind>
- <coupled-node>EndInit</coupled-node>
- <service>
-<service-name>Init</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>int</inParameter-type>
- <inParameter-name>A</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>int</outParameter-type>
- <outParameter-name>A</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list>
-<PyFunction>
-<FuncName>Init</FuncName>
- <PyFunc><![CDATA[def Init( A ): ]]></PyFunc>
- <PyFunc><![CDATA[ return A ]]></PyFunc> </PyFunction>
- <PyFunction>
-<FuncName>More</FuncName>
- <PyFunc><![CDATA[def More( A ): ]]></PyFunc>
- <PyFunc><![CDATA[ if A < 10: ]]></PyFunc>
- <PyFunc><![CDATA[ return 1,A ]]></PyFunc>
- <PyFunc><![CDATA[ return 0,A ]]></PyFunc> </PyFunction>
- <PyFunction>
-<FuncName>Next</FuncName>
- <PyFunc><![CDATA[def Next( A ): ]]></PyFunc>
- <PyFunc><![CDATA[ return (A + 1) ]]></PyFunc> </PyFunction> </PyFunction-list>
- <creation-date>2/4/2004 - 18:30:31</creation-date>
- <lastmodification-date>2/4/2004 - 18:30:31</lastmodification-date>
- <editor-release>1.05</editor-release>
- <author>?</author>
- <container>?</container>
- <comment>?</comment>
- <x-position>118</x-position>
- <y-position>160</y-position> </node>
- <node>
-<component-name>?</component-name>
- <interface-name>?</interface-name>
- <node-name>EndInit</node-name>
- <kind>5</kind>
- <coupled-node>Init</coupled-node>
- <service>
-<service-name>EndInit</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>int</inParameter-type>
- <inParameter-name>A</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>int</outParameter-type>
- <outParameter-name>A</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list>
-<PyFunction>
-<FuncName>EndInit</FuncName>
- <PyFunc><![CDATA[?]]></PyFunc> </PyFunction> </PyFunction-list>
- <creation-date>2/4/2004 - 18:30:31</creation-date>
- <lastmodification-date>2/4/2004 - 18:30:31</lastmodification-date>
- <editor-release>1.05</editor-release>
- <author>?</author>
- <container>?</container>
- <comment>?</comment>
- <x-position>740</x-position>
- <y-position>168</y-position> </node>
- <node>
-<component-name>?</component-name>
- <interface-name>?</interface-name>
- <node-name>Func</node-name>
- <kind>3</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>Func</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>int</inParameter-type>
- <inParameter-name>A</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>int</outParameter-type>
- <outParameter-name>B</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list>
-<PyFunction>
-<FuncName>Func</FuncName>
- <PyFunc><![CDATA[def Func( A ): ]]></PyFunc>
- <PyFunc><![CDATA[ import batchmode_visu ]]></PyFunc>
- <PyFunc><![CDATA[ batchmode_visu.myVisu.CreateTestView() ]]></PyFunc>
- <PyFunc><![CDATA[ batchmode_visu.myVisu.ShowTestObject() ]]></PyFunc>
- <PyFunc><![CDATA[ return A ]]></PyFunc> </PyFunction> </PyFunction-list>
- <creation-date>2/4/2004 - 18:30:31</creation-date>
- <lastmodification-date>2/4/2004 - 18:30:31</lastmodification-date>
- <editor-release>1.05</editor-release>
- <author>?</author>
- <container>?</container>
- <comment>Compute Node</comment>
- <x-position>375</x-position>
- <y-position>162</y-position> </node> </node-list>
- <link-list>
-<link>
-<fromnode-name>Init</fromnode-name>
- <fromserviceparameter-name>DoLoop</fromserviceparameter-name>
- <tonode-name>EndInit</tonode-name>
- <toserviceparameter-name>DoLoop</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>Init</fromnode-name>
- <fromserviceparameter-name>A</fromserviceparameter-name>
- <tonode-name>Func</tonode-name>
- <toserviceparameter-name>A</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>EndInit</fromnode-name>
- <fromserviceparameter-name>DoLoop</fromserviceparameter-name>
- <tonode-name>Init</tonode-name>
- <toserviceparameter-name>InitLoop</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>Func</fromnode-name>
- <fromserviceparameter-name>B</fromserviceparameter-name>
- <tonode-name>EndInit</tonode-name>
- <toserviceparameter-name>A</toserviceparameter-name>
- <coord-list/> </link> </link-list>
- <data-list>
-<data>
-<fromnode-name>aNewDataFlow</fromnode-name>
- <fromserviceparameter-name>Init\A</fromserviceparameter-name>
- <tonode-name>Init</tonode-name>
- <toserviceparameter-name>A</toserviceparameter-name>
- <data-value>
-<value-type>3</value-type>
- <value>0</value> </data-value>
- <coord-list/> </data> </data-list></dataflow>
+++ /dev/null
-
-# Generated python file of Graph test_superv_basic_loop
-
-from SuperV import *
-# Graph creation
-test_superv_basic_loop = Graph( 'test_superv_basic_loop' )
-test_superv_basic_loop.SetName( 'test_superv_basic_loop' )
-test_superv_basic_loop.SetAuthor( '' )
-test_superv_basic_loop.SetComment( '' )
-test_superv_basic_loop.Coords( 0 , 0 )
-
-# Creation of Factory Nodes
-
-# Creation of InLine Nodes
-PyAdd = []
-PyAdd.append( 'def Sum(sum,incr): ' )
-PyAdd.append( ' result = sum+incr ' )
-PyAdd.append( ' return result,incr ' )
-Add = test_superv_basic_loop.INode( 'Sum' , PyAdd )
-Add.InPort( 'sum' , 'long' )
-Add.InPort( 'incr' , 'long' )
-Add.OutPort( 'Sum' , 'long' )
-Add.OutPort( 'incr' , 'long' )
-Add.SetName( 'Add' )
-Add.SetAuthor( '' )
-Add.SetComment( 'Python function' )
-Add.Coords( 220 , 40 )
-
-# Creation of Loop Nodes
-Pyfori = []
-Pyfori.append( 'def Init(index,min,max,sum): ' )
-Pyfori.append( ' if max > min : ' )
-Pyfori.append( ' index = min ' )
-Pyfori.append( ' else : ' )
-Pyfori.append( ' index = max ' )
-Pyfori.append( ' #print index,min,max,sum ' )
-Pyfori.append( ' return index,min,max,sum ' )
-PyMorefori = []
-PyMorefori.append( 'def More(index,min,max,sum): ' )
-PyMorefori.append( ' OutLoop = 0 ' )
-PyMorefori.append( ' if max > index : ' )
-PyMorefori.append( ' OutLoop = 1 ' )
-PyMorefori.append( ' #print OutLoop,index,min,max,sum ' )
-PyMorefori.append( ' return OutLoop,index,min,max,sum ' )
-PyNextfori = []
-PyNextfori.append( 'def Next(index,min,max,sum): ' )
-PyNextfori.append( ' index = index + 1 ' )
-PyNextfori.append( ' #print index,min,max,sum ' )
-PyNextfori.append( ' return index,min,max,sum ' )
-fori,Endfori = test_superv_basic_loop.LNode( 'Init' , Pyfori , 'More' , PyMorefori , 'Next' , PyNextfori )
-Endfori.SetName( 'Endfori' )
-Endfori.SetAuthor( '' )
-Endfori.SetComment( '' )
-Endfori.Coords( 432 , 0 )
-fori.InPort( 'index' , 'long' )
-fori.InPort( 'min' , 'long' )
-fori.InPort( 'max' , 'long' )
-fori.InPort( 'sum' , 'long' )
-fori.OutPort( 'index' , 'long' )
-fori.OutPort( 'min' , 'long' )
-fori.OutPort( 'max' , 'long' )
-fori.OutPort( 'sum' , 'long' )
-fori.SetName( 'fori' )
-fori.SetAuthor( '' )
-fori.SetComment( '' )
-fori.Coords( 12 , 0 )
-
-# Creation of Links
-AddSum = Add.Port( 'Sum' )
-Endforisum = test_superv_basic_loop.Link( AddSum , Endfori.Port( 'sum' ) )
-
-foriindex = fori.Port( 'index' )
-Endforiindex = test_superv_basic_loop.Link( foriindex , Endfori.Port( 'index' ) )
-
-Addincr = test_superv_basic_loop.Link( foriindex , Add.Port( 'incr' ) )
-Addincr.AddCoord( 1 , 186 , 150 )
-Addincr.AddCoord( 2 , 187 , 34 )
-
-forimin = fori.Port( 'min' )
-Endforimin = test_superv_basic_loop.Link( forimin , Endfori.Port( 'min' ) )
-
-forimax = fori.Port( 'max' )
-Endforimax = test_superv_basic_loop.Link( forimax , Endfori.Port( 'max' ) )
-
-forisum = fori.Port( 'sum' )
-Addsum = test_superv_basic_loop.Link( forisum , Add.Port( 'sum' ) )
-
-# Creation of Input datas
-foriindex = fori.Input( 'index' , 0)
-forimin = fori.Input( 'min' , 0)
-forimax = fori.Input( 'max' , 1001)
-forisum = fori.Input( 'sum' , 0)
-
-# Creation of Output variables
-Addincr = Add.Port( 'incr' )
-Endforiindex = Endfori.Port( 'index' )
-Endforimin = Endfori.Port( 'min' )
-Endforimax = Endfori.Port( 'max' )
-Endforisum = Endfori.Port( 'sum' )
-
-test_superv_basic_loop.Run()
-test_superv_basic_loop.DoneW()
-test_superv_basic_loop.PrintPorts()
+++ /dev/null
-<!DOCTYPE Dataflow>
-<dataflow>
-<info-list>
-<node>
-<component-name>?</component-name>
- <interface-name>?</interface-name>
- <node-name>test_superv_basic_loop</node-name>
- <kind>1</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>test_superv_basic_loop</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>fori\index</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>fori\min</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>fori\max</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>fori\sum</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>Add\incr</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>Endfori\index</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>Endfori\min</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>Endfori\max</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>Endfori\sum</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list/>
- <creation-date>2/5/2003 - 13:43:38</creation-date>
- <lastmodification-date>19/9/2003 - 16:38:30</lastmodification-date>
- <editor-release>1.04</editor-release>
- <author>?</author>
- <container>?</container>
- <comment>?</comment>
- <x-position>0</x-position>
- <y-position>0</y-position> </node> </info-list>
- <node-list>
-<node>
-<component-name>?</component-name>
- <interface-name>?</interface-name>
- <node-name>Add</node-name>
- <kind>3</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>Add</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>sum</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>incr</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>Sum</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>incr</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list>
-<PyFunction>
-<FuncName>Sum</FuncName>
- <PyFunc><![CDATA[def Sum(sum,incr): ]]></PyFunc>
- <PyFunc><![CDATA[ result = sum+incr ]]></PyFunc>
- <PyFunc><![CDATA[ return result,incr ]]></PyFunc> </PyFunction> </PyFunction-list>
- <creation-date>19/9/2003 - 16:38:30</creation-date>
- <lastmodification-date>19/9/2003 - 16:38:30</lastmodification-date>
- <editor-release>1.04</editor-release>
- <author>?</author>
- <container>?</container>
- <comment>Python function</comment>
- <x-position>220</x-position>
- <y-position>40</y-position> </node>
- <node>
-<component-name>?</component-name>
- <interface-name>?</interface-name>
- <node-name>fori</node-name>
- <kind>4</kind>
- <coupled-node>Endfori</coupled-node>
- <service>
-<service-name>fori</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>index</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>min</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>max</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>sum</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>index</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>min</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>max</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>sum</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list>
-<PyFunction>
-<FuncName>Init</FuncName>
- <PyFunc><![CDATA[def Init(index,min,max,sum): ]]></PyFunc>
- <PyFunc><![CDATA[ if max > min : ]]></PyFunc>
- <PyFunc><![CDATA[ index = min ]]></PyFunc>
- <PyFunc><![CDATA[ else : ]]></PyFunc>
- <PyFunc><![CDATA[ index = max ]]></PyFunc>
- <PyFunc><![CDATA[ #print index,min,max,sum ]]></PyFunc>
- <PyFunc><![CDATA[ return index,min,max,sum ]]></PyFunc> </PyFunction>
- <PyFunction>
-<FuncName>More</FuncName>
- <PyFunc><![CDATA[def More(index,min,max,sum): ]]></PyFunc>
- <PyFunc><![CDATA[ OutLoop = 0 ]]></PyFunc>
- <PyFunc><![CDATA[ if max > index : ]]></PyFunc>
- <PyFunc><![CDATA[ OutLoop = 1 ]]></PyFunc>
- <PyFunc><![CDATA[ #print OutLoop,index,min,max,sum ]]></PyFunc>
- <PyFunc><![CDATA[ return OutLoop,index,min,max,sum ]]></PyFunc> </PyFunction>
- <PyFunction>
-<FuncName>Next</FuncName>
- <PyFunc><![CDATA[def Next(index,min,max,sum): ]]></PyFunc>
- <PyFunc><![CDATA[ index = index + 1 ]]></PyFunc>
- <PyFunc><![CDATA[ #print index,min,max,sum ]]></PyFunc>
- <PyFunc><![CDATA[ return index,min,max,sum ]]></PyFunc> </PyFunction> </PyFunction-list>
- <creation-date>19/9/2003 - 16:38:30</creation-date>
- <lastmodification-date>19/9/2003 - 16:38:30</lastmodification-date>
- <editor-release>1.04</editor-release>
- <author>?</author>
- <container>?</container>
- <comment>?</comment>
- <x-position>12</x-position>
- <y-position>0</y-position> </node>
- <node>
-<component-name>?</component-name>
- <interface-name>?</interface-name>
- <node-name>Endfori</node-name>
- <kind>5</kind>
- <coupled-node>fori</coupled-node>
- <service>
-<service-name>Endfori</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>index</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>min</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>max</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>sum</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>index</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>min</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>max</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>sum</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list>
-<PyFunction/> </PyFunction-list>
- <creation-date>19/9/2003 - 16:38:30</creation-date>
- <lastmodification-date>19/9/2003 - 16:38:30</lastmodification-date>
- <editor-release>1.04</editor-release>
- <author>?</author>
- <container>?</container>
- <comment>?</comment>
- <x-position>432</x-position>
- <y-position>0</y-position> </node> </node-list>
- <link-list>
-<link>
-<fromnode-name>Add</fromnode-name>
- <fromserviceparameter-name>Sum</fromserviceparameter-name>
- <tonode-name>Endfori</tonode-name>
- <toserviceparameter-name>sum</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>fori</fromnode-name>
- <fromserviceparameter-name>DoLoop</fromserviceparameter-name>
- <tonode-name>Endfori</tonode-name>
- <toserviceparameter-name>DoLoop</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>fori</fromnode-name>
- <fromserviceparameter-name>index</fromserviceparameter-name>
- <tonode-name>Endfori</tonode-name>
- <toserviceparameter-name>index</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>fori</fromnode-name>
- <fromserviceparameter-name>index</fromserviceparameter-name>
- <tonode-name>Add</tonode-name>
- <toserviceparameter-name>incr</toserviceparameter-name>
- <coord-list>
-<coord>
-<x>186</x>
- <y>150</y> </coord>
- <coord>
-<x>187</x>
- <y>34</y> </coord> </coord-list> </link>
- <link>
-<fromnode-name>fori</fromnode-name>
- <fromserviceparameter-name>min</fromserviceparameter-name>
- <tonode-name>Endfori</tonode-name>
- <toserviceparameter-name>min</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>fori</fromnode-name>
- <fromserviceparameter-name>max</fromserviceparameter-name>
- <tonode-name>Endfori</tonode-name>
- <toserviceparameter-name>max</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>fori</fromnode-name>
- <fromserviceparameter-name>sum</fromserviceparameter-name>
- <tonode-name>Add</tonode-name>
- <toserviceparameter-name>sum</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>Endfori</fromnode-name>
- <fromserviceparameter-name>DoLoop</fromserviceparameter-name>
- <tonode-name>fori</tonode-name>
- <toserviceparameter-name>InitLoop</toserviceparameter-name>
- <coord-list>
-<coord>
-<x>8</x>
- <y>215</y> </coord>
- <coord>
-<x>7</x>
- <y>5</y> </coord>
- <coord>
-<x>747</x>
- <y>5</y> </coord>
- <coord>
-<x>748</x>
- <y>214</y> </coord> </coord-list> </link> </link-list>
- <data-list>
-<data>
-<fromnode-name>test_superv_basic_loop</fromnode-name>
- <fromserviceparameter-name>fori\index</fromserviceparameter-name>
- <tonode-name>fori</tonode-name>
- <toserviceparameter-name>index</toserviceparameter-name>
- <data-value>
-<value-type>3</value-type>
- <value>0</value> </data-value>
- <coord-list/> </data>
- <data>
-<fromnode-name>test_superv_basic_loop</fromnode-name>
- <fromserviceparameter-name>fori\min</fromserviceparameter-name>
- <tonode-name>fori</tonode-name>
- <toserviceparameter-name>min</toserviceparameter-name>
- <data-value>
-<value-type>3</value-type>
- <value>0</value> </data-value>
- <coord-list/> </data>
- <data>
-<fromnode-name>test_superv_basic_loop</fromnode-name>
- <fromserviceparameter-name>fori\max</fromserviceparameter-name>
- <tonode-name>fori</tonode-name>
- <toserviceparameter-name>max</toserviceparameter-name>
- <data-value>
-<value-type>3</value-type>
- <value>1001</value> </data-value>
- <coord-list/> </data>
- <data>
-<fromnode-name>test_superv_basic_loop</fromnode-name>
- <fromserviceparameter-name>fori\sum</fromserviceparameter-name>
- <tonode-name>fori</tonode-name>
- <toserviceparameter-name>sum</toserviceparameter-name>
- <data-value>
-<value-type>3</value-type>
- <value>0</value> </data-value>
- <coord-list/> </data> </data-list></dataflow>
+++ /dev/null
-<!DOCTYPE Dataflow>
-<dataflow>
-<info-list>
-<node>
-<component-name>?</component-name>
- <interface-name>?</interface-name>
- <node-name>aNewDataFlow</node-name>
- <kind>1</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>aNewDataFlow</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>Init\index</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>Init\min</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>Init\max</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>double</inParameter-type>
- <inParameter-name>Init\x1</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>EndOfInit\index</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>EndOfInit\min</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>EndOfInit\max</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>objref</outParameter-type>
- <outParameter-name>EndOfInit\aVisu</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>objref</outParameter-type>
- <outParameter-name>EndOfInit\aView</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>objref</outParameter-type>
- <outParameter-name>EndOfInit\aResult</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>double</outParameter-type>
- <outParameter-name>EndOfInit\x1</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list/>
- <creation-date>13/11/2003 - 11:15:53</creation-date>
- <lastmodification-date>19/1/2004 - 15:33:34</lastmodification-date>
- <editor-release>1.05</editor-release>
- <author>?</author>
- <container>?</container>
- <comment>?</comment>
- <x-position>0</x-position>
- <y-position>0</y-position> </node> </info-list>
- <node-list>
-<node>
-<component-name>?</component-name>
- <interface-name>?</interface-name>
- <node-name>InitDisplay</node-name>
- <kind>3</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>InitDisplay</service-name>
- <inParameter-list/>
- <outParameter-list>
-<outParameter>
-<outParameter-type>objref</outParameter-type>
- <outParameter-name>aVisu</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>objref</outParameter-type>
- <outParameter-name>aView</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>objref</outParameter-type>
- <outParameter-name>myResult</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list>
-<PyFunction>
-<FuncName>InitDisplay</FuncName>
- <PyFunc><![CDATA[import os ]]></PyFunc>
- <PyFunc><![CDATA[import time ]]></PyFunc>
- <PyFunc><![CDATA[from LifeCycleCORBA import * ]]></PyFunc>
- <PyFunc><![CDATA[from SALOME_NamingServicePy import * ]]></PyFunc>
- <PyFunc><![CDATA[import SALOMEDS ]]></PyFunc>
- <PyFunc><![CDATA[from VISU import * ]]></PyFunc>
- <PyFunc><![CDATA[def InitDisplay(): ]]></PyFunc>
- <PyFunc><![CDATA[ # --- initialize the ORB ]]></PyFunc>
- <PyFunc><![CDATA[ orb = CORBA.ORB_init([], CORBA.ORB_ID) ]]></PyFunc>
- <PyFunc><![CDATA[ # --- create a LifeCycleCORBA instance ]]></PyFunc>
- <PyFunc><![CDATA[ lcc = LifeCycleCORBA(orb) ]]></PyFunc>
- <PyFunc><![CDATA[ # --- create a naming service instance ]]></PyFunc>
- <PyFunc><![CDATA[ naming_service = SALOME_NamingServicePy_i(orb) ]]></PyFunc>
- <PyFunc><![CDATA[ # --- get Study Manager reference ]]></PyFunc>
- <PyFunc><![CDATA[ obj = naming_service.Resolve('myStudyManager') ]]></PyFunc>
- <PyFunc><![CDATA[ StudyManager = obj._narrow(SALOMEDS.StudyManager) ]]></PyFunc>
- <PyFunc><![CDATA[ # --- load visu component ]]></PyFunc>
- <PyFunc><![CDATA[ aVisu = lcc.FindOrLoadComponent("FactoryServer","VISU") ]]></PyFunc>
- <PyFunc><![CDATA[ aStudy = StudyManager.GetStudyByID(1) ]]></PyFunc>
- <PyFunc><![CDATA[ aVisu.SetCurrentStudy(aStudy) ]]></PyFunc>
- <PyFunc><![CDATA[ print "InitDisplay --> aVisu ", aVisu ]]></PyFunc>
- <PyFunc><![CDATA[ time.sleep(2) ]]></PyFunc>
- <PyFunc><![CDATA[ aViewManager=aVisu.GetViewManager() ]]></PyFunc>
- <PyFunc><![CDATA[ print "InitDisplay --> aViewManager ", aViewManager ]]></PyFunc>
- <PyFunc><![CDATA[ #time.sleep(2) ]]></PyFunc>
- <PyFunc><![CDATA[ #aView=aViewManager.GetCurrentView() ]]></PyFunc>
- <PyFunc><![CDATA[ aView=aViewManager.Create3DView() ]]></PyFunc>
- <PyFunc><![CDATA[ print "InitDisplay --> aView ", aView ]]></PyFunc>
- <PyFunc><![CDATA[ #time.sleep(2) ]]></PyFunc>
- <PyFunc><![CDATA[ medFile = "TimeStamps.med" ]]></PyFunc>
- <PyFunc><![CDATA[ medFile = os.getenv('KERNEL_ROOT_DIR') + '/examples/' + medFile ]]></PyFunc>
- <PyFunc><![CDATA[ myResult = aVisu.ImportFile(medFile) ]]></PyFunc>
- <PyFunc><![CDATA[ print "InitDisplay --> myResult ", myResult ]]></PyFunc>
- <PyFunc><![CDATA[ return aVisu,aView,myResult ]]></PyFunc>
- <PyFunc><![CDATA[?]]></PyFunc> </PyFunction> </PyFunction-list>
- <creation-date>19/1/2004 - 15:33:34</creation-date>
- <lastmodification-date>19/1/2004 - 15:33:34</lastmodification-date>
- <editor-release>1.05</editor-release>
- <author>?</author>
- <container>?</container>
- <comment>Compute Node</comment>
- <x-position>0</x-position>
- <y-position>46</y-position> </node>
- <node>
-<component-name>?</component-name>
- <interface-name>?</interface-name>
- <node-name>Init</node-name>
- <kind>4</kind>
- <coupled-node>EndOfInit</coupled-node>
- <service>
-<service-name>Init</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>index</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>min</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>max</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>objref</inParameter-type>
- <inParameter-name>aVisu</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>objref</inParameter-type>
- <inParameter-name>aView</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>objref</inParameter-type>
- <inParameter-name>aResult</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>double</inParameter-type>
- <inParameter-name>x1</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>index</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>min</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>max</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>objref</outParameter-type>
- <outParameter-name>aVisu</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>objref</outParameter-type>
- <outParameter-name>aView</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>objref</outParameter-type>
- <outParameter-name>aResult</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>double</outParameter-type>
- <outParameter-name>x1</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list>
-<PyFunction>
-<FuncName>Init</FuncName>
- <PyFunc><![CDATA[def Init(index,min,max,aVisu,aView,myResult,x1): ]]></PyFunc>
- <PyFunc><![CDATA[ if max >= min : ]]></PyFunc>
- <PyFunc><![CDATA[ index = min ]]></PyFunc>
- <PyFunc><![CDATA[ else : ]]></PyFunc>
- <PyFunc><![CDATA[ index = max ]]></PyFunc>
- <PyFunc><![CDATA[ print "---- Init ",index,min,max,aVisu,aView,myResult,x1 ]]></PyFunc>
- <PyFunc><![CDATA[ return index,min,max,aVisu,aView,myResult,x1 ]]></PyFunc> </PyFunction>
- <PyFunction>
-<FuncName>More</FuncName>
- <PyFunc><![CDATA[def More(index,min,max,aVisu,aView,myResult,x1): ]]></PyFunc>
- <PyFunc><![CDATA[ if max >= index : ]]></PyFunc>
- <PyFunc><![CDATA[ DoLoop = 1 ]]></PyFunc>
- <PyFunc><![CDATA[ else : ]]></PyFunc>
- <PyFunc><![CDATA[ DoLoop = 0 ]]></PyFunc>
- <PyFunc><![CDATA[ print "---- More",index,min,max,aVisu,aView,myResult,x1 ]]></PyFunc>
- <PyFunc><![CDATA[ return DoLoop,index,min,max,aVisu,aView,myResult,x1 ]]></PyFunc> </PyFunction>
- <PyFunction>
-<FuncName>Next</FuncName>
- <PyFunc><![CDATA[def Next(index,min,max,aVisu,aView,myResult,x1): ]]></PyFunc>
- <PyFunc><![CDATA[ index = index + 1 ]]></PyFunc>
- <PyFunc><![CDATA[ x1=x1+1.0 ]]></PyFunc>
- <PyFunc><![CDATA[ print "---- Next",index,min,max,aVisu,aView,myResult,x1 ]]></PyFunc>
- <PyFunc><![CDATA[ return index,min,max,aVisu,aView,myResult,x1 ]]></PyFunc> </PyFunction> </PyFunction-list>
- <creation-date>19/1/2004 - 15:33:34</creation-date>
- <lastmodification-date>19/1/2004 - 15:33:34</lastmodification-date>
- <editor-release>1.05</editor-release>
- <author>?</author>
- <container>?</container>
- <comment>?</comment>
- <x-position>190</x-position>
- <y-position>4</y-position> </node>
- <node>
-<component-name>?</component-name>
- <interface-name>?</interface-name>
- <node-name>EndOfInit</node-name>
- <kind>5</kind>
- <coupled-node>Init</coupled-node>
- <service>
-<service-name>EndOfInit</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>index</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>min</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>max</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>objref</inParameter-type>
- <inParameter-name>aVisu</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>objref</inParameter-type>
- <inParameter-name>aView</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>objref</inParameter-type>
- <inParameter-name>aResult</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>double</inParameter-type>
- <inParameter-name>x1</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>index</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>min</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>max</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>objref</outParameter-type>
- <outParameter-name>aVisu</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>objref</outParameter-type>
- <outParameter-name>aView</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>objref</outParameter-type>
- <outParameter-name>aResult</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>double</outParameter-type>
- <outParameter-name>x1</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list>
-<PyFunction/> </PyFunction-list>
- <creation-date>19/1/2004 - 15:33:34</creation-date>
- <lastmodification-date>19/1/2004 - 15:33:34</lastmodification-date>
- <editor-release>1.05</editor-release>
- <author>?</author>
- <container>?</container>
- <comment>?</comment>
- <x-position>553</x-position>
- <y-position>5</y-position> </node>
- <node>
-<component-name>?</component-name>
- <interface-name>?</interface-name>
- <node-name>DisplayVitesse</node-name>
- <kind>3</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>DisplayVitesse</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>string</inParameter-type>
- <inParameter-name>index</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>objref</inParameter-type>
- <inParameter-name>aVisu</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>objref</inParameter-type>
- <inParameter-name>aView</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>objref</inParameter-type>
- <inParameter-name>aResult</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>double</inParameter-type>
- <inParameter-name>x1</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>objref</outParameter-type>
- <outParameter-name>theResult</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list>
-<PyFunction>
-<FuncName>DisplayVitesse</FuncName>
- <PyFunc><![CDATA[import VISU ]]></PyFunc>
- <PyFunc><![CDATA[import os ]]></PyFunc>
- <PyFunc><![CDATA[import time ]]></PyFunc>
- <PyFunc><![CDATA[def DisplayVitesse(index,aVisu,aView,aResult,x1): ]]></PyFunc>
- <PyFunc><![CDATA[ print "----- Display 1 index = ", index,aVisu,aView,aResult,x1 ]]></PyFunc>
- <PyFunc><![CDATA[ aMeshName ="dom" ]]></PyFunc>
- <PyFunc><![CDATA[ myFieldName = "vitesse" ]]></PyFunc>
- <PyFunc><![CDATA[ anEntity = VISU.NODE ]]></PyFunc>
- <PyFunc><![CDATA[ aMesh = aVisu.MeshOnEntity(aResult, aMeshName, anEntity) ]]></PyFunc>
- <PyFunc><![CDATA[ print "----- Display 2 ", aMesh ]]></PyFunc>
- <PyFunc><![CDATA[ aScalarMap=aVisu.ScalarMapOnField(aResult,aMeshName,anEntity,myFieldName,x1) ]]></PyFunc>
- <PyFunc><![CDATA[ print "----- Display 4" ]]></PyFunc>
- <PyFunc><![CDATA[ if aScalarMap is not None: ]]></PyFunc>
- <PyFunc><![CDATA[ aScalarMap.SetScaling(VISU.LINEAR) ]]></PyFunc>
- <PyFunc><![CDATA[ else: ]]></PyFunc>
- <PyFunc><![CDATA[ print "Null scalar map is created" ]]></PyFunc>
- <PyFunc><![CDATA[ print "----- Display 5" ]]></PyFunc>
- <PyFunc><![CDATA[ aView.DisplayOnly(aScalarMap) ]]></PyFunc>
- <PyFunc><![CDATA[ aView.FitAll() ]]></PyFunc>
- <PyFunc><![CDATA[ aView.Update() ]]></PyFunc>
- <PyFunc><![CDATA[ print "----- Display 6" ]]></PyFunc>
- <PyFunc><![CDATA[ theResult=aResult ]]></PyFunc>
- <PyFunc><![CDATA[ #time.sleep(2) ]]></PyFunc>
- <PyFunc><![CDATA[ return theResult ]]></PyFunc>
- <PyFunc><![CDATA[?]]></PyFunc> </PyFunction> </PyFunction-list>
- <creation-date>19/1/2004 - 15:33:34</creation-date>
- <lastmodification-date>19/1/2004 - 15:33:34</lastmodification-date>
- <editor-release>1.05</editor-release>
- <author>?</author>
- <container>?</container>
- <comment>Compute Node</comment>
- <x-position>374</x-position>
- <y-position>16</y-position> </node> </node-list>
- <link-list>
-<link>
-<fromnode-name>InitDisplay</fromnode-name>
- <fromserviceparameter-name>aVisu</fromserviceparameter-name>
- <tonode-name>Init</tonode-name>
- <toserviceparameter-name>aVisu</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>InitDisplay</fromnode-name>
- <fromserviceparameter-name>aView</fromserviceparameter-name>
- <tonode-name>Init</tonode-name>
- <toserviceparameter-name>aView</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>InitDisplay</fromnode-name>
- <fromserviceparameter-name>myResult</fromserviceparameter-name>
- <tonode-name>Init</tonode-name>
- <toserviceparameter-name>aResult</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>Init</fromnode-name>
- <fromserviceparameter-name>DoLoop</fromserviceparameter-name>
- <tonode-name>EndOfInit</tonode-name>
- <toserviceparameter-name>DoLoop</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>Init</fromnode-name>
- <fromserviceparameter-name>index</fromserviceparameter-name>
- <tonode-name>EndOfInit</tonode-name>
- <toserviceparameter-name>index</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>Init</fromnode-name>
- <fromserviceparameter-name>index</fromserviceparameter-name>
- <tonode-name>DisplayVitesse</tonode-name>
- <toserviceparameter-name>index</toserviceparameter-name>
- <coord-list>
-<coord>
-<x>351</x>
- <y>96</y> </coord>
- <coord>
-<x>350</x>
- <y>38</y> </coord> </coord-list> </link>
- <link>
-<fromnode-name>Init</fromnode-name>
- <fromserviceparameter-name>min</fromserviceparameter-name>
- <tonode-name>EndOfInit</tonode-name>
- <toserviceparameter-name>min</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>Init</fromnode-name>
- <fromserviceparameter-name>max</fromserviceparameter-name>
- <tonode-name>EndOfInit</tonode-name>
- <toserviceparameter-name>max</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>Init</fromnode-name>
- <fromserviceparameter-name>aVisu</fromserviceparameter-name>
- <tonode-name>EndOfInit</tonode-name>
- <toserviceparameter-name>aVisu</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>Init</fromnode-name>
- <fromserviceparameter-name>aVisu</fromserviceparameter-name>
- <tonode-name>DisplayVitesse</tonode-name>
- <toserviceparameter-name>aVisu</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>Init</fromnode-name>
- <fromserviceparameter-name>aView</fromserviceparameter-name>
- <tonode-name>EndOfInit</tonode-name>
- <toserviceparameter-name>aView</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>Init</fromnode-name>
- <fromserviceparameter-name>aView</fromserviceparameter-name>
- <tonode-name>DisplayVitesse</tonode-name>
- <toserviceparameter-name>aView</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>Init</fromnode-name>
- <fromserviceparameter-name>aResult</fromserviceparameter-name>
- <tonode-name>DisplayVitesse</tonode-name>
- <toserviceparameter-name>aResult</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>Init</fromnode-name>
- <fromserviceparameter-name>x1</fromserviceparameter-name>
- <tonode-name>EndOfInit</tonode-name>
- <toserviceparameter-name>x1</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>Init</fromnode-name>
- <fromserviceparameter-name>x1</fromserviceparameter-name>
- <tonode-name>DisplayVitesse</tonode-name>
- <toserviceparameter-name>x1</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>EndOfInit</fromnode-name>
- <fromserviceparameter-name>DoLoop</fromserviceparameter-name>
- <tonode-name>Init</tonode-name>
- <toserviceparameter-name>InitLoop</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>DisplayVitesse</fromnode-name>
- <fromserviceparameter-name>theResult</fromserviceparameter-name>
- <tonode-name>EndOfInit</tonode-name>
- <toserviceparameter-name>aResult</toserviceparameter-name>
- <coord-list>
-<coord>
-<x>548</x>
- <y>183</y> </coord>
- <coord>
-<x>548</x>
- <y>97</y> </coord> </coord-list> </link> </link-list>
- <data-list>
-<data>
-<fromnode-name>aNewDataFlow</fromnode-name>
- <fromserviceparameter-name>Init\index</fromserviceparameter-name>
- <tonode-name>Init</tonode-name>
- <toserviceparameter-name>index</toserviceparameter-name>
- <data-value>
-<value-type>3</value-type>
- <value>1</value> </data-value>
- <coord-list/> </data>
- <data>
-<fromnode-name>aNewDataFlow</fromnode-name>
- <fromserviceparameter-name>Init\min</fromserviceparameter-name>
- <tonode-name>Init</tonode-name>
- <toserviceparameter-name>min</toserviceparameter-name>
- <data-value>
-<value-type>3</value-type>
- <value>1</value> </data-value>
- <coord-list/> </data>
- <data>
-<fromnode-name>aNewDataFlow</fromnode-name>
- <fromserviceparameter-name>Init\max</fromserviceparameter-name>
- <tonode-name>Init</tonode-name>
- <toserviceparameter-name>max</toserviceparameter-name>
- <data-value>
-<value-type>3</value-type>
- <value>100</value> </data-value>
- <coord-list/> </data>
- <data>
-<fromnode-name>aNewDataFlow</fromnode-name>
- <fromserviceparameter-name>Init\x1</fromserviceparameter-name>
- <tonode-name>Init</tonode-name>
- <toserviceparameter-name>x1</toserviceparameter-name>
- <data-value>
-<value-type>7</value-type>
- <value>1</value> </data-value>
- <coord-list/> </data> </data-list></dataflow>
+++ /dev/null
-
-# Generated python file of Graph aNewDataFlow
-
-from SuperV import *
-# Graph creation
-aNewDataFlow = Graph( 'aNewDataFlow' )
-aNewDataFlow.SetName( 'aNewDataFlow' )
-aNewDataFlow.SetAuthor( '' )
-aNewDataFlow.SetComment( '' )
-aNewDataFlow.Coords( 0 , 0 )
-
-# Creation of Factory Nodes
-
-# Creation of InLine Nodes
-PyInitDisplay = []
-PyInitDisplay.append( 'import os ' )
-PyInitDisplay.append( 'import time ' )
-PyInitDisplay.append( 'from LifeCycleCORBA import * ' )
-PyInitDisplay.append( 'from SALOME_NamingServicePy import * ' )
-PyInitDisplay.append( 'import SALOMEDS ' )
-PyInitDisplay.append( 'from VISU import * ' )
-PyInitDisplay.append( 'def InitDisplay(): ' )
-PyInitDisplay.append( ' # --- initialize the ORB ' )
-PyInitDisplay.append( ' orb = CORBA.ORB_init([], CORBA.ORB_ID) ' )
-PyInitDisplay.append( ' # --- create a LifeCycleCORBA instance ' )
-PyInitDisplay.append( ' lcc = LifeCycleCORBA(orb) ' )
-PyInitDisplay.append( ' # --- create a naming service instance ' )
-PyInitDisplay.append( ' naming_service = SALOME_NamingServicePy_i(orb) ' )
-PyInitDisplay.append( ' # --- get Study Manager reference ' )
-PyInitDisplay.append( ' obj = naming_service.Resolve('myStudyManager') ' )
-PyInitDisplay.append( ' StudyManager = obj._narrow(SALOMEDS.StudyManager) ' )
-PyInitDisplay.append( ' # --- load visu component ' )
-PyInitDisplay.append( ' aVisu = lcc.FindOrLoadComponent("FactoryServer","VISU") ' )
-PyInitDisplay.append( ' aStudy = StudyManager.GetStudyByID(1) ' )
-PyInitDisplay.append( ' aVisu.SetCurrentStudy(aStudy) ' )
-PyInitDisplay.append( ' print "InitDisplay --> aVisu ", aVisu ' )
-PyInitDisplay.append( ' time.sleep(2) ' )
-PyInitDisplay.append( ' #aViewManager=aVisu.GetViewManager() ' )
-PyInitDisplay.append( ' #print "InitDisplay --> aViewManager ", aViewManager ' )
-PyInitDisplay.append( ' #time.sleep(2) ' )
-PyInitDisplay.append( ' #aView=aViewManager.GetCurrentView() ' )
-PyInitDisplay.append( ' #aView=aViewManager.Create3DView() ' )
-PyInitDisplay.append( ' #print "InitDisplay --> aView ", aView ' )
-PyInitDisplay.append( ' #time.sleep(2) ' )
-PyInitDisplay.append( ' medFile = "TimeStamps.med" ' )
-PyInitDisplay.append( ' medFile = os.getenv('KERNEL_ROOT_DIR') + '/examples/' + medFile ' )
-PyInitDisplay.append( ' myResult = aVisu.ImportFile(medFile) ' )
-PyInitDisplay.append( ' print "InitDisplay --> myResult ", myResult ' )
-PyInitDisplay.append( ' return aVisu,myResult ' )
-PyInitDisplay.append( '' )
-InitDisplay = aNewDataFlow.INode( 'InitDisplay' , PyInitDisplay )
-InitDisplay.SetName( 'InitDisplay' )
-InitDisplay.SetAuthor( '' )
-InitDisplay.SetComment( 'Compute Node' )
-InitDisplay.Coords( 13 , 173 )
-InitDisplay.OutPort( 'aVisu' , 'objref' )
-InitDisplay.OutPort( 'myResult' , 'objref' )
-
-PyDisplayVitesse = []
-PyDisplayVitesse.append( 'import VISU ' )
-PyDisplayVitesse.append( 'import os ' )
-PyDisplayVitesse.append( 'import time ' )
-PyDisplayVitesse.append( 'def DisplayVitesse(index,aVisu,aView,aResult,x1): ' )
-PyDisplayVitesse.append( ' print "----- Display 1 index = ", index,aVisu,aView,aResult,x1 ' )
-PyDisplayVitesse.append( ' aMeshName ="dom" ' )
-PyDisplayVitesse.append( ' myFieldName = "vitesse" ' )
-PyDisplayVitesse.append( ' anEntity = VISU.NODE ' )
-PyDisplayVitesse.append( ' aMesh = aVisu.MeshOnEntity(aResult, aMeshName, anEntity) ' )
-PyDisplayVitesse.append( ' print "----- Display 2 ", aMesh ' )
-PyDisplayVitesse.append( ' aScalarMap=aVisu.ScalarMapOnField(aResult,aMeshName,anEntity,myFieldName,x1) ' )
-PyDisplayVitesse.append( ' print "----- Display 4" ' )
-PyDisplayVitesse.append( ' if aScalarMap is not None: ' )
-PyDisplayVitesse.append( ' aScalarMap.SetScaling(VISU.LINEAR) ' )
-PyDisplayVitesse.append( ' else: ' )
-PyDisplayVitesse.append( ' print "Null scalar map is created" ' )
-PyDisplayVitesse.append( ' print "----- Display 5" ' )
-PyDisplayVitesse.append( ' aView.DisplayOnly(aScalarMap) ' )
-PyDisplayVitesse.append( ' aView.FitAll() ' )
-PyDisplayVitesse.append( ' aView.Update() ' )
-PyDisplayVitesse.append( ' print "----- Display 6" ' )
-PyDisplayVitesse.append( ' theResult=aResult ' )
-PyDisplayVitesse.append( ' #time.sleep(2) ' )
-PyDisplayVitesse.append( ' return theResult ' )
-PyDisplayVitesse.append( '' )
-DisplayVitesse = aNewDataFlow.INode( 'DisplayVitesse' , PyDisplayVitesse )
-DisplayVitesse.SetName( 'DisplayVitesse' )
-DisplayVitesse.SetAuthor( '' )
-DisplayVitesse.SetComment( 'Compute Node' )
-DisplayVitesse.Coords( 609 , 506 )
-DisplayVitesse.InPort( 'index' , 'string' )
-DisplayVitesse.InPort( 'aVisu' , 'objref' )
-DisplayVitesse.InPort( 'aView' , 'objref' )
-DisplayVitesse.InPort( 'aResult' , 'objref' )
-DisplayVitesse.InPort( 'x1' , 'double' )
-DisplayVitesse.OutPort( 'theResult' , 'objref' )
-
-PyCreateView = []
-PyCreateView.append( 'def CreateView(aVisu,aResult) : ' )
-PyCreateView.append( ' vm=aVisu.GetViewManager() ' )
-PyCreateView.append( ' aView=vm.Create3DView() ' )
-PyCreateView.append( ' theVisu=aVisu ' )
-PyCreateView.append( ' theResult=aResult ' )
-PyCreateView.append( ' return aView,theVisu,theResult ' )
-CreateView = aNewDataFlow.INode( 'CreateView' , PyCreateView )
-CreateView.SetName( 'CreateView' )
-CreateView.SetAuthor( '' )
-CreateView.SetComment( 'Compute Node' )
-CreateView.Coords( 221 , 563 )
-CreateView.InPort( 'aVisu' , 'objref' )
-CreateView.InPort( 'aResult' , 'objref' )
-CreateView.OutPort( 'aView' , 'objref' )
-CreateView.OutPort( 'theVisu' , 'objref' )
-CreateView.OutPort( 'theResult' , 'objref' )
-
-# Creation of Loop Nodes
-PyInit = []
-PyInit.append( 'def Init(index,min,max,aVisu,aView,myResult,x1): ' )
-PyInit.append( ' if max >= min : ' )
-PyInit.append( ' index = min ' )
-PyInit.append( ' else : ' )
-PyInit.append( ' index = max ' )
-PyInit.append( ' print "---- Init ",index,min,max,aVisu,aView,myResult,x1 ' )
-PyInit.append( ' return index,min,max,aVisu,aView,myResult,x1 ' )
-PyMoreInit = []
-PyMoreInit.append( 'def More(index,min,max,aVisu,aView,myResult,x1): ' )
-PyMoreInit.append( ' if max >= index : ' )
-PyMoreInit.append( ' DoLoop = 1 ' )
-PyMoreInit.append( ' else : ' )
-PyMoreInit.append( ' DoLoop = 0 ' )
-PyMoreInit.append( ' print "---- More",index,min,max,aVisu,aView,myResult,x1 ' )
-PyMoreInit.append( ' return DoLoop,index,min,max,aVisu,aView,myResult,x1 ' )
-PyNextInit = []
-PyNextInit.append( 'def Next(index,min,max,aVisu,aView,myResult,x1): ' )
-PyNextInit.append( ' index = index + 1 ' )
-PyNextInit.append( ' x1=x1+1.0 ' )
-PyNextInit.append( ' print "---- Next",index,min,max,aVisu,aView,myResult,x1 ' )
-PyNextInit.append( ' return index,min,max,aVisu,aView,myResult,x1 ' )
-Init,EndOfInit = aNewDataFlow.LNode( 'Init' , PyInit , 'More' , PyMoreInit , 'Next' , PyNextInit )
-EndOfInit.SetName( 'EndOfInit' )
-EndOfInit.SetAuthor( '' )
-EndOfInit.SetComment( '' )
-EndOfInit.Coords( 797 , 507 )
-PyEndOfInit = []
-EndOfInit.SetPyFunction( 'EndInit' , PyEndOfInit )
-Init.SetName( 'Init' )
-Init.SetAuthor( '' )
-Init.SetComment( '' )
-Init.Coords( 428 , 493 )
-Init.InPort( 'index' , 'long' )
-Init.InPort( 'min' , 'long' )
-Init.InPort( 'max' , 'long' )
-Init.InPort( 'aVisu' , 'objref' )
-Init.InPort( 'aView' , 'objref' )
-Init.InPort( 'aResult' , 'objref' )
-Init.InPort( 'x1' , 'double' )
-Init.OutPort( 'index' , 'long' )
-Init.OutPort( 'min' , 'long' )
-Init.OutPort( 'max' , 'long' )
-Init.OutPort( 'aVisu' , 'objref' )
-Init.OutPort( 'aView' , 'objref' )
-Init.OutPort( 'aResult' , 'objref' )
-Init.OutPort( 'x1' , 'double' )
-
-PyLoopOnViews = []
-PyLoopOnViews.append( 'def InitViews( aVisu,aResult,ViewCount,MinCount,MaxCount ): ' )
-PyLoopOnViews.append( ' ViewCount=MinCount ' )
-PyLoopOnViews.append( ' return aVisu,aResult,ViewCount,MinCount,MaxCount ' )
-PyMoreLoopOnViews = []
-PyMoreLoopOnViews.append( 'def MoreViews( aVisu,aResult,ViewCount,MinCount,MaxCount ): ' )
-PyMoreLoopOnViews.append( ' if ViewCount < MaxCount: ' )
-PyMoreLoopOnViews.append( ' return 1,aVisu,aResult,ViewCount,MinCount,MaxCount ' )
-PyMoreLoopOnViews.append( ' return 0,aVisu,aResult,ViewCount,MinCount,MaxCount ' )
-PyNextLoopOnViews = []
-PyNextLoopOnViews.append( 'def NextViews( aVisu,aResult,ViewCount,MinCount,MaxCount ): ' )
-PyNextLoopOnViews.append( ' ViewCount = ViewCount + 1 ' )
-PyNextLoopOnViews.append( ' return aVisu,aResult,ViewCount,MinCount,MaxCount ' )
-LoopOnViews,EndOfLoopOnViews = aNewDataFlow.LNode( 'InitViews' , PyLoopOnViews , 'MoreViews' , PyMoreLoopOnViews , 'NextViews' , PyNextLoopOnViews )
-EndOfLoopOnViews.SetName( 'EndOfLoopOnViews' )
-EndOfLoopOnViews.SetAuthor( '' )
-EndOfLoopOnViews.SetComment( '' )
-EndOfLoopOnViews.Coords( 773 , 224 )
-PyEndOfLoopOnViews = []
-EndOfLoopOnViews.SetPyFunction( 'EndInitViews' , PyEndOfLoopOnViews )
-LoopOnViews.SetName( 'LoopOnViews' )
-LoopOnViews.SetAuthor( '' )
-LoopOnViews.SetComment( '' )
-LoopOnViews.Coords( 219 , 218 )
-LoopOnViews.InPort( 'aVisu' , 'objref' )
-LoopOnViews.InPort( 'aResult' , 'objref' )
-LoopOnViews.InPort( 'ViewCount' , 'int' )
-LoopOnViews.InPort( 'MinCount' , 'int' )
-LoopOnViews.InPort( 'MaxCount' , 'int' )
-LoopOnViews.OutPort( 'aVisu' , 'objref' )
-LoopOnViews.OutPort( 'aResult' , 'objref' )
-LoopOnViews.OutPort( 'ViewCount' , 'int' )
-LoopOnViews.OutPort( 'MinCount' , 'int' )
-LoopOnViews.OutPort( 'MaxCount' , 'int' )
-
-# Creation of Links
-InitDisplayaVisu = InitDisplay.Port( 'aVisu' )
-LoopOnViewsInGate = aNewDataFlow.Link( InitDisplayaVisu , LoopOnViews.Port( 'InGate' ) )
-
-LoopOnViewsaVisu = aNewDataFlow.Link( InitDisplayaVisu , LoopOnViews.Port( 'aVisu' ) )
-
-InitDisplaymyResult = InitDisplay.Port( 'myResult' )
-LoopOnViewsaResult = aNewDataFlow.Link( InitDisplaymyResult , LoopOnViews.Port( 'aResult' ) )
-
-Initindex = Init.Port( 'index' )
-EndOfInitindex = aNewDataFlow.Link( Initindex , EndOfInit.Port( 'index' ) )
-
-DisplayVitesseindex = aNewDataFlow.Link( Initindex , DisplayVitesse.Port( 'index' ) )
-DisplayVitesseindex.AddCoord( 1 , 590 , 587 )
-DisplayVitesseindex.AddCoord( 2 , 591 , 527 )
-
-Initmin = Init.Port( 'min' )
-EndOfInitmin = aNewDataFlow.Link( Initmin , EndOfInit.Port( 'min' ) )
-
-Initmax = Init.Port( 'max' )
-EndOfInitmax = aNewDataFlow.Link( Initmax , EndOfInit.Port( 'max' ) )
-
-InitaVisu = Init.Port( 'aVisu' )
-EndOfInitaVisu = aNewDataFlow.Link( InitaVisu , EndOfInit.Port( 'aVisu' ) )
-
-DisplayVitesseaVisu = aNewDataFlow.Link( InitaVisu , DisplayVitesse.Port( 'aVisu' ) )
-
-InitaView = Init.Port( 'aView' )
-EndOfInitaView = aNewDataFlow.Link( InitaView , EndOfInit.Port( 'aView' ) )
-
-DisplayVitesseaView = aNewDataFlow.Link( InitaView , DisplayVitesse.Port( 'aView' ) )
-
-InitaResult = Init.Port( 'aResult' )
-DisplayVitesseaResult = aNewDataFlow.Link( InitaResult , DisplayVitesse.Port( 'aResult' ) )
-
-Initx1 = Init.Port( 'x1' )
-EndOfInitx1 = aNewDataFlow.Link( Initx1 , EndOfInit.Port( 'x1' ) )
-
-DisplayVitessex1 = aNewDataFlow.Link( Initx1 , DisplayVitesse.Port( 'x1' ) )
-
-EndOfInitaResult = EndOfInit.Port( 'aResult' )
-EndOfLoopOnViewsaResult = aNewDataFlow.Link( EndOfInitaResult , EndOfLoopOnViews.Port( 'aResult' ) )
-EndOfLoopOnViewsaResult.AddCoord( 1 , 762 , 288 )
-EndOfLoopOnViewsaResult.AddCoord( 2 , 763 , 424 )
-EndOfLoopOnViewsaResult.AddCoord( 3 , 972 , 425 )
-EndOfLoopOnViewsaResult.AddCoord( 4 , 971 , 687 )
-
-DisplayVitessetheResult = DisplayVitesse.Port( 'theResult' )
-EndOfInitaResult = aNewDataFlow.Link( DisplayVitessetheResult , EndOfInit.Port( 'aResult' ) )
-EndOfInitaResult.AddCoord( 1 , 787 , 687 )
-EndOfInitaResult.AddCoord( 2 , 786 , 585 )
-
-LoopOnViewsaVisu = LoopOnViews.Port( 'aVisu' )
-EndOfLoopOnViewsaVisu = aNewDataFlow.Link( LoopOnViewsaVisu , EndOfLoopOnViews.Port( 'aVisu' ) )
-
-CreateViewaVisu = aNewDataFlow.Link( LoopOnViewsaVisu , CreateView.Port( 'aVisu' ) )
-CreateViewaVisu.AddCoord( 1 , 186 , 643 )
-CreateViewaVisu.AddCoord( 2 , 186 , 442 )
-CreateViewaVisu.AddCoord( 3 , 400 , 441 )
-CreateViewaVisu.AddCoord( 4 , 401 , 251 )
-
-LoopOnViewsaResult = LoopOnViews.Port( 'aResult' )
-CreateViewaResult = aNewDataFlow.Link( LoopOnViewsaResult , CreateView.Port( 'aResult' ) )
-CreateViewaResult.AddCoord( 1 , 169 , 671 )
-CreateViewaResult.AddCoord( 2 , 170 , 412 )
-CreateViewaResult.AddCoord( 3 , 386 , 413 )
-CreateViewaResult.AddCoord( 4 , 387 , 280 )
-
-LoopOnViewsViewCount = LoopOnViews.Port( 'ViewCount' )
-EndOfLoopOnViewsViewCount = aNewDataFlow.Link( LoopOnViewsViewCount , EndOfLoopOnViews.Port( 'ViewCount' ) )
-
-LoopOnViewsMinCount = LoopOnViews.Port( 'MinCount' )
-EndOfLoopOnViewsMinCount = aNewDataFlow.Link( LoopOnViewsMinCount , EndOfLoopOnViews.Port( 'MinCount' ) )
-
-LoopOnViewsMaxCount = LoopOnViews.Port( 'MaxCount' )
-EndOfLoopOnViewsMaxCount = aNewDataFlow.Link( LoopOnViewsMaxCount , EndOfLoopOnViews.Port( 'MaxCount' ) )
-
-CreateViewaView = CreateView.Port( 'aView' )
-InitaView = aNewDataFlow.Link( CreateViewaView , Init.Port( 'aView' ) )
-
-CreateViewtheVisu = CreateView.Port( 'theVisu' )
-InitaVisu = aNewDataFlow.Link( CreateViewtheVisu , Init.Port( 'aVisu' ) )
-
-CreateViewtheResult = CreateView.Port( 'theResult' )
-InitaResult = aNewDataFlow.Link( CreateViewtheResult , Init.Port( 'aResult' ) )
-
-# Creation of Input datas
-Initindex = Init.Input( 'index' , 1)
-Initmin = Init.Input( 'min' , 1)
-Initmax = Init.Input( 'max' , 10)
-Initx1 = Init.Input( 'x1' , 1)
-LoopOnViewsViewCount = LoopOnViews.Input( 'ViewCount' , 0)
-LoopOnViewsMinCount = LoopOnViews.Input( 'MinCount' , 0)
-LoopOnViewsMaxCount = LoopOnViews.Input( 'MaxCount' , 10)
-
-# Creation of Output variables
-EndOfInitindex = EndOfInit.Port( 'index' )
-EndOfInitmin = EndOfInit.Port( 'min' )
-EndOfInitmax = EndOfInit.Port( 'max' )
-EndOfInitaVisu = EndOfInit.Port( 'aVisu' )
-EndOfInitaView = EndOfInit.Port( 'aView' )
-EndOfInitx1 = EndOfInit.Port( 'x1' )
-EndOfLoopOnViewsaVisu = EndOfLoopOnViews.Port( 'aVisu' )
-EndOfLoopOnViewsaResult = EndOfLoopOnViews.Port( 'aResult' )
-EndOfLoopOnViewsViewCount = EndOfLoopOnViews.Port( 'ViewCount' )
-EndOfLoopOnViewsMinCount = EndOfLoopOnViews.Port( 'MinCount' )
-EndOfLoopOnViewsMaxCount = EndOfLoopOnViews.Port( 'MaxCount' )
+++ /dev/null
-<!DOCTYPE Dataflow>
-<dataflow>
-<info-list>
-<node>
-<component-name>?</component-name>
- <interface-name>?</interface-name>
- <node-name>aNewDataFlow</node-name>
- <kind>1</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>aNewDataFlow</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>Init\index</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>Init\min</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>Init\max</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>double</inParameter-type>
- <inParameter-name>Init\x1</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>int</inParameter-type>
- <inParameter-name>LoopOnViews\ViewCount</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>int</inParameter-type>
- <inParameter-name>LoopOnViews\MinCount</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>int</inParameter-type>
- <inParameter-name>LoopOnViews\MaxCount</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>EndOfInit\index</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>EndOfInit\min</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>EndOfInit\max</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>objref</outParameter-type>
- <outParameter-name>EndOfInit\aVisu</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>objref</outParameter-type>
- <outParameter-name>EndOfInit\aView</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>double</outParameter-type>
- <outParameter-name>EndOfInit\x1</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>objref</outParameter-type>
- <outParameter-name>EndOfLoopOnViews\aVisu</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>objref</outParameter-type>
- <outParameter-name>EndOfLoopOnViews\aResult</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>int</outParameter-type>
- <outParameter-name>EndOfLoopOnViews\ViewCount</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>int</outParameter-type>
- <outParameter-name>EndOfLoopOnViews\MinCount</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>int</outParameter-type>
- <outParameter-name>EndOfLoopOnViews\MaxCount</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list/>
- <creation-date>13/11/2003 - 11:15:53</creation-date>
- <lastmodification-date>6/5/2004 - 12:59:28</lastmodification-date>
- <editor-release>1.05</editor-release>
- <author>?</author>
- <container>?</container>
- <comment>?</comment>
- <x-position>0</x-position>
- <y-position>0</y-position> </node> </info-list>
- <node-list>
-<node>
-<component-name>?</component-name>
- <interface-name>?</interface-name>
- <node-name>InitDisplay</node-name>
- <kind>3</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>InitDisplay</service-name>
- <inParameter-list/>
- <outParameter-list>
-<outParameter>
-<outParameter-type>objref</outParameter-type>
- <outParameter-name>aVisu</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>objref</outParameter-type>
- <outParameter-name>myResult</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list>
-<PyFunction>
-<FuncName>InitDisplay</FuncName>
- <PyFunc><![CDATA[import os ]]></PyFunc>
- <PyFunc><![CDATA[import time ]]></PyFunc>
- <PyFunc><![CDATA[from LifeCycleCORBA import * ]]></PyFunc>
- <PyFunc><![CDATA[from SALOME_NamingServicePy import * ]]></PyFunc>
- <PyFunc><![CDATA[import SALOMEDS ]]></PyFunc>
- <PyFunc><![CDATA[from VISU import * ]]></PyFunc>
- <PyFunc><![CDATA[def InitDisplay(): ]]></PyFunc>
- <PyFunc><![CDATA[ # --- initialize the ORB ]]></PyFunc>
- <PyFunc><![CDATA[ orb = CORBA.ORB_init([], CORBA.ORB_ID) ]]></PyFunc>
- <PyFunc><![CDATA[ # --- create a LifeCycleCORBA instance ]]></PyFunc>
- <PyFunc><![CDATA[ lcc = LifeCycleCORBA(orb) ]]></PyFunc>
- <PyFunc><![CDATA[ # --- create a naming service instance ]]></PyFunc>
- <PyFunc><![CDATA[ naming_service = SALOME_NamingServicePy_i(orb) ]]></PyFunc>
- <PyFunc><![CDATA[ # --- get Study Manager reference ]]></PyFunc>
- <PyFunc><![CDATA[ obj = naming_service.Resolve('myStudyManager') ]]></PyFunc>
- <PyFunc><![CDATA[ StudyManager = obj._narrow(SALOMEDS.StudyManager) ]]></PyFunc>
- <PyFunc><![CDATA[ # --- load visu component ]]></PyFunc>
- <PyFunc><![CDATA[ aVisu = lcc.FindOrLoadComponent("FactoryServer","VISU") ]]></PyFunc>
- <PyFunc><![CDATA[ aStudy = StudyManager.GetStudyByID(1) ]]></PyFunc>
- <PyFunc><![CDATA[ aVisu.SetCurrentStudy(aStudy) ]]></PyFunc>
- <PyFunc><![CDATA[ print "InitDisplay --> aVisu ", aVisu ]]></PyFunc>
- <PyFunc><![CDATA[ time.sleep(2) ]]></PyFunc>
- <PyFunc><![CDATA[ #aViewManager=aVisu.GetViewManager() ]]></PyFunc>
- <PyFunc><![CDATA[ #print "InitDisplay --> aViewManager ", aViewManager ]]></PyFunc>
- <PyFunc><![CDATA[ #time.sleep(2) ]]></PyFunc>
- <PyFunc><![CDATA[ #aView=aViewManager.GetCurrentView() ]]></PyFunc>
- <PyFunc><![CDATA[ #aView=aViewManager.Create3DView() ]]></PyFunc>
- <PyFunc><![CDATA[ #print "InitDisplay --> aView ", aView ]]></PyFunc>
- <PyFunc><![CDATA[ #time.sleep(2) ]]></PyFunc>
- <PyFunc><![CDATA[ medFile = "TimeStamps.med" ]]></PyFunc>
- <PyFunc><![CDATA[ medFile = os.getenv('KERNEL_ROOT_DIR') + '/examples/' + medFile ]]></PyFunc>
- <PyFunc><![CDATA[ myResult = aVisu.ImportFile(medFile) ]]></PyFunc>
- <PyFunc><![CDATA[ print "InitDisplay --> myResult ", myResult ]]></PyFunc>
- <PyFunc><![CDATA[ return aVisu,myResult ]]></PyFunc>
- <PyFunc><![CDATA[?]]></PyFunc> </PyFunction> </PyFunction-list>
- <creation-date>6/5/2004 - 12:59:28</creation-date>
- <lastmodification-date>6/5/2004 - 12:59:28</lastmodification-date>
- <editor-release>1.05</editor-release>
- <author>?</author>
- <container>?</container>
- <comment>Compute Node</comment>
- <x-position>13</x-position>
- <y-position>173</y-position> </node>
- <node>
-<component-name>?</component-name>
- <interface-name>?</interface-name>
- <node-name>Init</node-name>
- <kind>4</kind>
- <coupled-node>EndOfInit</coupled-node>
- <service>
-<service-name>Init</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>index</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>min</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>max</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>objref</inParameter-type>
- <inParameter-name>aVisu</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>objref</inParameter-type>
- <inParameter-name>aView</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>objref</inParameter-type>
- <inParameter-name>aResult</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>double</inParameter-type>
- <inParameter-name>x1</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>index</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>min</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>max</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>objref</outParameter-type>
- <outParameter-name>aVisu</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>objref</outParameter-type>
- <outParameter-name>aView</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>objref</outParameter-type>
- <outParameter-name>aResult</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>double</outParameter-type>
- <outParameter-name>x1</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list>
-<PyFunction>
-<FuncName>Init</FuncName>
- <PyFunc><![CDATA[def Init(index,min,max,aVisu,aView,myResult,x1): ]]></PyFunc>
- <PyFunc><![CDATA[ if max >= min : ]]></PyFunc>
- <PyFunc><![CDATA[ index = min ]]></PyFunc>
- <PyFunc><![CDATA[ else : ]]></PyFunc>
- <PyFunc><![CDATA[ index = max ]]></PyFunc>
- <PyFunc><![CDATA[ print "---- Init ",index,min,max,aVisu,aView,myResult,x1 ]]></PyFunc>
- <PyFunc><![CDATA[ return index,min,max,aVisu,aView,myResult,x1 ]]></PyFunc> </PyFunction>
- <PyFunction>
-<FuncName>More</FuncName>
- <PyFunc><![CDATA[def More(index,min,max,aVisu,aView,myResult,x1): ]]></PyFunc>
- <PyFunc><![CDATA[ if max >= index : ]]></PyFunc>
- <PyFunc><![CDATA[ DoLoop = 1 ]]></PyFunc>
- <PyFunc><![CDATA[ else : ]]></PyFunc>
- <PyFunc><![CDATA[ DoLoop = 0 ]]></PyFunc>
- <PyFunc><![CDATA[ print "---- More",index,min,max,aVisu,aView,myResult,x1 ]]></PyFunc>
- <PyFunc><![CDATA[ return DoLoop,index,min,max,aVisu,aView,myResult,x1 ]]></PyFunc> </PyFunction>
- <PyFunction>
-<FuncName>Next</FuncName>
- <PyFunc><![CDATA[def Next(index,min,max,aVisu,aView,myResult,x1): ]]></PyFunc>
- <PyFunc><![CDATA[ index = index + 1 ]]></PyFunc>
- <PyFunc><![CDATA[ x1=x1+1.0 ]]></PyFunc>
- <PyFunc><![CDATA[ print "---- Next",index,min,max,aVisu,aView,myResult,x1 ]]></PyFunc>
- <PyFunc><![CDATA[ return index,min,max,aVisu,aView,myResult,x1 ]]></PyFunc> </PyFunction> </PyFunction-list>
- <creation-date>6/5/2004 - 12:59:28</creation-date>
- <lastmodification-date>6/5/2004 - 12:59:28</lastmodification-date>
- <editor-release>1.05</editor-release>
- <author>?</author>
- <container>?</container>
- <comment>?</comment>
- <x-position>428</x-position>
- <y-position>493</y-position> </node>
- <node>
-<component-name>?</component-name>
- <interface-name>?</interface-name>
- <node-name>EndOfInit</node-name>
- <kind>5</kind>
- <coupled-node>Init</coupled-node>
- <service>
-<service-name>EndOfInit</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>index</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>min</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>max</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>objref</inParameter-type>
- <inParameter-name>aVisu</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>objref</inParameter-type>
- <inParameter-name>aView</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>objref</inParameter-type>
- <inParameter-name>aResult</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>double</inParameter-type>
- <inParameter-name>x1</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>index</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>min</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>max</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>objref</outParameter-type>
- <outParameter-name>aVisu</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>objref</outParameter-type>
- <outParameter-name>aView</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>objref</outParameter-type>
- <outParameter-name>aResult</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>double</outParameter-type>
- <outParameter-name>x1</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list>
-<PyFunction>
-<FuncName>?</FuncName>
- <PyFunc><![CDATA[?]]></PyFunc> </PyFunction> </PyFunction-list>
- <creation-date>6/5/2004 - 12:59:28</creation-date>
- <lastmodification-date>6/5/2004 - 12:59:28</lastmodification-date>
- <editor-release>1.05</editor-release>
- <author>?</author>
- <container>?</container>
- <comment>?</comment>
- <x-position>797</x-position>
- <y-position>507</y-position> </node>
- <node>
-<component-name>?</component-name>
- <interface-name>?</interface-name>
- <node-name>DisplayVitesse</node-name>
- <kind>3</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>DisplayVitesse</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>string</inParameter-type>
- <inParameter-name>index</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>objref</inParameter-type>
- <inParameter-name>aVisu</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>objref</inParameter-type>
- <inParameter-name>aView</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>objref</inParameter-type>
- <inParameter-name>aResult</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>double</inParameter-type>
- <inParameter-name>x1</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>objref</outParameter-type>
- <outParameter-name>theResult</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list>
-<PyFunction>
-<FuncName>DisplayVitesse</FuncName>
- <PyFunc><![CDATA[import VISU ]]></PyFunc>
- <PyFunc><![CDATA[import os ]]></PyFunc>
- <PyFunc><![CDATA[import time ]]></PyFunc>
- <PyFunc><![CDATA[def DisplayVitesse(index,aVisu,aView,aResult,x1): ]]></PyFunc>
- <PyFunc><![CDATA[ print "----- Display 1 index = ", index,aVisu,aView,aResult,x1 ]]></PyFunc>
- <PyFunc><![CDATA[ aMeshName ="dom" ]]></PyFunc>
- <PyFunc><![CDATA[ myFieldName = "vitesse" ]]></PyFunc>
- <PyFunc><![CDATA[ anEntity = VISU.NODE ]]></PyFunc>
- <PyFunc><![CDATA[ aMesh = aVisu.MeshOnEntity(aResult, aMeshName, anEntity) ]]></PyFunc>
- <PyFunc><![CDATA[ print "----- Display 2 ", aMesh ]]></PyFunc>
- <PyFunc><![CDATA[ aScalarMap=aVisu.ScalarMapOnField(aResult,aMeshName,anEntity,myFieldName,x1) ]]></PyFunc>
- <PyFunc><![CDATA[ print "----- Display 4" ]]></PyFunc>
- <PyFunc><![CDATA[ if aScalarMap is not None: ]]></PyFunc>
- <PyFunc><![CDATA[ aScalarMap.SetScaling(VISU.LINEAR) ]]></PyFunc>
- <PyFunc><![CDATA[ else: ]]></PyFunc>
- <PyFunc><![CDATA[ print "Null scalar map is created" ]]></PyFunc>
- <PyFunc><![CDATA[ print "----- Display 5" ]]></PyFunc>
- <PyFunc><![CDATA[ aView.DisplayOnly(aScalarMap) ]]></PyFunc>
- <PyFunc><![CDATA[ aView.FitAll() ]]></PyFunc>
- <PyFunc><![CDATA[ aView.Update() ]]></PyFunc>
- <PyFunc><![CDATA[ print "----- Display 6" ]]></PyFunc>
- <PyFunc><![CDATA[ theResult=aResult ]]></PyFunc>
- <PyFunc><![CDATA[ #time.sleep(2) ]]></PyFunc>
- <PyFunc><![CDATA[ return theResult ]]></PyFunc>
- <PyFunc><![CDATA[?]]></PyFunc> </PyFunction> </PyFunction-list>
- <creation-date>6/5/2004 - 12:59:28</creation-date>
- <lastmodification-date>6/5/2004 - 12:59:28</lastmodification-date>
- <editor-release>1.05</editor-release>
- <author>?</author>
- <container>?</container>
- <comment>Compute Node</comment>
- <x-position>609</x-position>
- <y-position>506</y-position> </node>
- <node>
-<component-name>?</component-name>
- <interface-name>?</interface-name>
- <node-name>LoopOnViews</node-name>
- <kind>4</kind>
- <coupled-node>EndOfLoopOnViews</coupled-node>
- <service>
-<service-name>LoopOnViews</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>objref</inParameter-type>
- <inParameter-name>aVisu</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>objref</inParameter-type>
- <inParameter-name>aResult</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>int</inParameter-type>
- <inParameter-name>ViewCount</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>int</inParameter-type>
- <inParameter-name>MinCount</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>int</inParameter-type>
- <inParameter-name>MaxCount</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>objref</outParameter-type>
- <outParameter-name>aVisu</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>objref</outParameter-type>
- <outParameter-name>aResult</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>int</outParameter-type>
- <outParameter-name>ViewCount</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>int</outParameter-type>
- <outParameter-name>MinCount</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>int</outParameter-type>
- <outParameter-name>MaxCount</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list>
-<PyFunction>
-<FuncName>InitViews</FuncName>
- <PyFunc><![CDATA[def InitViews( aVisu,aResult,ViewCount,MinCount,MaxCount ): ]]></PyFunc>
- <PyFunc><![CDATA[ ViewCount=MinCount ]]></PyFunc>
- <PyFunc><![CDATA[ return aVisu,aResult,ViewCount,MinCount,MaxCount ]]></PyFunc> </PyFunction>
- <PyFunction>
-<FuncName>MoreViews</FuncName>
- <PyFunc><![CDATA[def MoreViews( aVisu,aResult,ViewCount,MinCount,MaxCount ): ]]></PyFunc>
- <PyFunc><![CDATA[ if ViewCount < MaxCount: ]]></PyFunc>
- <PyFunc><![CDATA[ return 1,aVisu,aResult,ViewCount,MinCount,MaxCount ]]></PyFunc>
- <PyFunc><![CDATA[ return 0,aVisu,aResult,ViewCount,MinCount,MaxCount ]]></PyFunc> </PyFunction>
- <PyFunction>
-<FuncName>NextViews</FuncName>
- <PyFunc><![CDATA[def NextViews( aVisu,aResult,ViewCount,MinCount,MaxCount ): ]]></PyFunc>
- <PyFunc><![CDATA[ ViewCount = ViewCount + 1 ]]></PyFunc>
- <PyFunc><![CDATA[ return aVisu,aResult,ViewCount,MinCount,MaxCount ]]></PyFunc> </PyFunction> </PyFunction-list>
- <creation-date>6/5/2004 - 12:59:28</creation-date>
- <lastmodification-date>6/5/2004 - 12:59:28</lastmodification-date>
- <editor-release>1.05</editor-release>
- <author>?</author>
- <container>?</container>
- <comment>?</comment>
- <x-position>219</x-position>
- <y-position>218</y-position> </node>
- <node>
-<component-name>?</component-name>
- <interface-name>?</interface-name>
- <node-name>EndOfLoopOnViews</node-name>
- <kind>5</kind>
- <coupled-node>LoopOnViews</coupled-node>
- <service>
-<service-name>EndOfLoopOnViews</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>objref</inParameter-type>
- <inParameter-name>aVisu</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>objref</inParameter-type>
- <inParameter-name>aResult</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>int</inParameter-type>
- <inParameter-name>ViewCount</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>int</inParameter-type>
- <inParameter-name>MinCount</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>int</inParameter-type>
- <inParameter-name>MaxCount</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>objref</outParameter-type>
- <outParameter-name>aVisu</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>objref</outParameter-type>
- <outParameter-name>aResult</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>int</outParameter-type>
- <outParameter-name>ViewCount</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>int</outParameter-type>
- <outParameter-name>MinCount</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>int</outParameter-type>
- <outParameter-name>MaxCount</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list>
-<PyFunction>
-<FuncName>EndLoop</FuncName>
- <PyFunc><![CDATA[?]]></PyFunc> </PyFunction> </PyFunction-list>
- <creation-date>6/5/2004 - 12:59:28</creation-date>
- <lastmodification-date>6/5/2004 - 12:59:28</lastmodification-date>
- <editor-release>1.05</editor-release>
- <author>?</author>
- <container>?</container>
- <comment>?</comment>
- <x-position>773</x-position>
- <y-position>224</y-position> </node>
- <node>
-<component-name>?</component-name>
- <interface-name>?</interface-name>
- <node-name>CreateView</node-name>
- <kind>3</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>CreateView</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>objref</inParameter-type>
- <inParameter-name>aVisu</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>objref</inParameter-type>
- <inParameter-name>aResult</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>objref</outParameter-type>
- <outParameter-name>aView</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>objref</outParameter-type>
- <outParameter-name>theVisu</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>objref</outParameter-type>
- <outParameter-name>theResult</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list>
-<PyFunction>
-<FuncName>CreateView</FuncName>
- <PyFunc><![CDATA[def CreateView(aVisu,aResult) : ]]></PyFunc>
- <PyFunc><![CDATA[ vm=aVisu.GetViewManager() ]]></PyFunc>
- <PyFunc><![CDATA[ aView=vm.Create3DView() ]]></PyFunc>
- <PyFunc><![CDATA[ theVisu=aVisu ]]></PyFunc>
- <PyFunc><![CDATA[ theResult=aResult ]]></PyFunc>
- <PyFunc><![CDATA[ return aView,theVisu,theResult ]]></PyFunc> </PyFunction> </PyFunction-list>
- <creation-date>6/5/2004 - 12:59:28</creation-date>
- <lastmodification-date>6/5/2004 - 12:59:28</lastmodification-date>
- <editor-release>1.05</editor-release>
- <author>?</author>
- <container>?</container>
- <comment>Compute Node</comment>
- <x-position>221</x-position>
- <y-position>563</y-position> </node> </node-list>
- <link-list>
-<link>
-<fromnode-name>InitDisplay</fromnode-name>
- <fromserviceparameter-name>aVisu</fromserviceparameter-name>
- <tonode-name>LoopOnViews</tonode-name>
- <toserviceparameter-name>InGate</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>InitDisplay</fromnode-name>
- <fromserviceparameter-name>aVisu</fromserviceparameter-name>
- <tonode-name>LoopOnViews</tonode-name>
- <toserviceparameter-name>aVisu</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>InitDisplay</fromnode-name>
- <fromserviceparameter-name>myResult</fromserviceparameter-name>
- <tonode-name>LoopOnViews</tonode-name>
- <toserviceparameter-name>aResult</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>Init</fromnode-name>
- <fromserviceparameter-name>DoLoop</fromserviceparameter-name>
- <tonode-name>EndOfInit</tonode-name>
- <toserviceparameter-name>DoLoop</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>Init</fromnode-name>
- <fromserviceparameter-name>index</fromserviceparameter-name>
- <tonode-name>EndOfInit</tonode-name>
- <toserviceparameter-name>index</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>Init</fromnode-name>
- <fromserviceparameter-name>index</fromserviceparameter-name>
- <tonode-name>DisplayVitesse</tonode-name>
- <toserviceparameter-name>index</toserviceparameter-name>
- <coord-list>
-<coord>
-<x>590</x>
- <y>587</y> </coord>
- <coord>
-<x>591</x>
- <y>527</y> </coord> </coord-list> </link>
- <link>
-<fromnode-name>Init</fromnode-name>
- <fromserviceparameter-name>min</fromserviceparameter-name>
- <tonode-name>EndOfInit</tonode-name>
- <toserviceparameter-name>min</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>Init</fromnode-name>
- <fromserviceparameter-name>max</fromserviceparameter-name>
- <tonode-name>EndOfInit</tonode-name>
- <toserviceparameter-name>max</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>Init</fromnode-name>
- <fromserviceparameter-name>aVisu</fromserviceparameter-name>
- <tonode-name>EndOfInit</tonode-name>
- <toserviceparameter-name>aVisu</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>Init</fromnode-name>
- <fromserviceparameter-name>aVisu</fromserviceparameter-name>
- <tonode-name>DisplayVitesse</tonode-name>
- <toserviceparameter-name>aVisu</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>Init</fromnode-name>
- <fromserviceparameter-name>aView</fromserviceparameter-name>
- <tonode-name>EndOfInit</tonode-name>
- <toserviceparameter-name>aView</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>Init</fromnode-name>
- <fromserviceparameter-name>aView</fromserviceparameter-name>
- <tonode-name>DisplayVitesse</tonode-name>
- <toserviceparameter-name>aView</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>Init</fromnode-name>
- <fromserviceparameter-name>aResult</fromserviceparameter-name>
- <tonode-name>DisplayVitesse</tonode-name>
- <toserviceparameter-name>aResult</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>Init</fromnode-name>
- <fromserviceparameter-name>x1</fromserviceparameter-name>
- <tonode-name>EndOfInit</tonode-name>
- <toserviceparameter-name>x1</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>Init</fromnode-name>
- <fromserviceparameter-name>x1</fromserviceparameter-name>
- <tonode-name>DisplayVitesse</tonode-name>
- <toserviceparameter-name>x1</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>EndOfInit</fromnode-name>
- <fromserviceparameter-name>DoLoop</fromserviceparameter-name>
- <tonode-name>Init</tonode-name>
- <toserviceparameter-name>InitLoop</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>EndOfInit</fromnode-name>
- <fromserviceparameter-name>aResult</fromserviceparameter-name>
- <tonode-name>EndOfLoopOnViews</tonode-name>
- <toserviceparameter-name>aResult</toserviceparameter-name>
- <coord-list>
-<coord>
-<x>762</x>
- <y>288</y> </coord>
- <coord>
-<x>763</x>
- <y>424</y> </coord>
- <coord>
-<x>972</x>
- <y>425</y> </coord>
- <coord>
-<x>971</x>
- <y>687</y> </coord> </coord-list> </link>
- <link>
-<fromnode-name>DisplayVitesse</fromnode-name>
- <fromserviceparameter-name>theResult</fromserviceparameter-name>
- <tonode-name>EndOfInit</tonode-name>
- <toserviceparameter-name>aResult</toserviceparameter-name>
- <coord-list>
-<coord>
-<x>787</x>
- <y>687</y> </coord>
- <coord>
-<x>786</x>
- <y>585</y> </coord> </coord-list> </link>
- <link>
-<fromnode-name>LoopOnViews</fromnode-name>
- <fromserviceparameter-name>DoLoop</fromserviceparameter-name>
- <tonode-name>EndOfLoopOnViews</tonode-name>
- <toserviceparameter-name>DoLoop</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>LoopOnViews</fromnode-name>
- <fromserviceparameter-name>aVisu</fromserviceparameter-name>
- <tonode-name>EndOfLoopOnViews</tonode-name>
- <toserviceparameter-name>aVisu</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>LoopOnViews</fromnode-name>
- <fromserviceparameter-name>aVisu</fromserviceparameter-name>
- <tonode-name>CreateView</tonode-name>
- <toserviceparameter-name>aVisu</toserviceparameter-name>
- <coord-list>
-<coord>
-<x>186</x>
- <y>643</y> </coord>
- <coord>
-<x>186</x>
- <y>442</y> </coord>
- <coord>
-<x>400</x>
- <y>441</y> </coord>
- <coord>
-<x>401</x>
- <y>251</y> </coord> </coord-list> </link>
- <link>
-<fromnode-name>LoopOnViews</fromnode-name>
- <fromserviceparameter-name>aResult</fromserviceparameter-name>
- <tonode-name>CreateView</tonode-name>
- <toserviceparameter-name>aResult</toserviceparameter-name>
- <coord-list>
-<coord>
-<x>169</x>
- <y>671</y> </coord>
- <coord>
-<x>170</x>
- <y>412</y> </coord>
- <coord>
-<x>386</x>
- <y>413</y> </coord>
- <coord>
-<x>387</x>
- <y>280</y> </coord> </coord-list> </link>
- <link>
-<fromnode-name>LoopOnViews</fromnode-name>
- <fromserviceparameter-name>ViewCount</fromserviceparameter-name>
- <tonode-name>EndOfLoopOnViews</tonode-name>
- <toserviceparameter-name>ViewCount</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>LoopOnViews</fromnode-name>
- <fromserviceparameter-name>MinCount</fromserviceparameter-name>
- <tonode-name>EndOfLoopOnViews</tonode-name>
- <toserviceparameter-name>MinCount</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>LoopOnViews</fromnode-name>
- <fromserviceparameter-name>MaxCount</fromserviceparameter-name>
- <tonode-name>EndOfLoopOnViews</tonode-name>
- <toserviceparameter-name>MaxCount</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>EndOfLoopOnViews</fromnode-name>
- <fromserviceparameter-name>DoLoop</fromserviceparameter-name>
- <tonode-name>LoopOnViews</tonode-name>
- <toserviceparameter-name>InitLoop</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>CreateView</fromnode-name>
- <fromserviceparameter-name>aView</fromserviceparameter-name>
- <tonode-name>Init</tonode-name>
- <toserviceparameter-name>aView</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>CreateView</fromnode-name>
- <fromserviceparameter-name>theVisu</fromserviceparameter-name>
- <tonode-name>Init</tonode-name>
- <toserviceparameter-name>aVisu</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>CreateView</fromnode-name>
- <fromserviceparameter-name>theResult</fromserviceparameter-name>
- <tonode-name>Init</tonode-name>
- <toserviceparameter-name>aResult</toserviceparameter-name>
- <coord-list/> </link> </link-list>
- <data-list>
-<data>
-<fromnode-name>aNewDataFlow</fromnode-name>
- <fromserviceparameter-name>Init\index</fromserviceparameter-name>
- <tonode-name>Init</tonode-name>
- <toserviceparameter-name>index</toserviceparameter-name>
- <data-value>
-<value-type>3</value-type>
- <value>1</value> </data-value>
- <coord-list/> </data>
- <data>
-<fromnode-name>aNewDataFlow</fromnode-name>
- <fromserviceparameter-name>Init\min</fromserviceparameter-name>
- <tonode-name>Init</tonode-name>
- <toserviceparameter-name>min</toserviceparameter-name>
- <data-value>
-<value-type>3</value-type>
- <value>1</value> </data-value>
- <coord-list/> </data>
- <data>
-<fromnode-name>aNewDataFlow</fromnode-name>
- <fromserviceparameter-name>Init\max</fromserviceparameter-name>
- <tonode-name>Init</tonode-name>
- <toserviceparameter-name>max</toserviceparameter-name>
- <data-value>
-<value-type>3</value-type>
- <value>10</value> </data-value>
- <coord-list/> </data>
- <data>
-<fromnode-name>aNewDataFlow</fromnode-name>
- <fromserviceparameter-name>Init\x1</fromserviceparameter-name>
- <tonode-name>Init</tonode-name>
- <toserviceparameter-name>x1</toserviceparameter-name>
- <data-value>
-<value-type>7</value-type>
- <value>1</value> </data-value>
- <coord-list/> </data>
- <data>
-<fromnode-name>aNewDataFlow</fromnode-name>
- <fromserviceparameter-name>LoopOnViews\ViewCount</fromserviceparameter-name>
- <tonode-name>LoopOnViews</tonode-name>
- <toserviceparameter-name>ViewCount</toserviceparameter-name>
- <data-value>
-<value-type>3</value-type>
- <value>0</value> </data-value>
- <coord-list/> </data>
- <data>
-<fromnode-name>aNewDataFlow</fromnode-name>
- <fromserviceparameter-name>LoopOnViews\MinCount</fromserviceparameter-name>
- <tonode-name>LoopOnViews</tonode-name>
- <toserviceparameter-name>MinCount</toserviceparameter-name>
- <data-value>
-<value-type>3</value-type>
- <value>0</value> </data-value>
- <coord-list/> </data>
- <data>
-<fromnode-name>aNewDataFlow</fromnode-name>
- <fromserviceparameter-name>LoopOnViews\MaxCount</fromserviceparameter-name>
- <tonode-name>LoopOnViews</tonode-name>
- <toserviceparameter-name>MaxCount</toserviceparameter-name>
- <data-value>
-<value-type>3</value-type>
- <value>10</value> </data-value>
- <coord-list/> </data> </data-list></dataflow>
+++ /dev/null
-# Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
-# CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
-#
-# This library is free software; you can redistribute it and/or
-# modify it under the terms of the GNU Lesser General Public
-# License as published by the Free Software Foundation; either
-# version 2.1 of the License.
-#
-# This library is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-# Lesser General Public License for more details.
-#
-# You should have received a copy of the GNU Lesser General Public
-# License along with this library; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-#
-# See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
-#
-
-#
-#
-# File : Makefile.in
-# Module : idl
-top_srcdir=@top_srcdir@
-top_builddir=..
-srcdir=@srcdir@
-VPATH=.:${KERNEL_ROOT_DIR}/idl/salome
-
-@COMMENCE@
-
-IDL_FILES = \
- SUPERV.idl
-
-PY_CLIENT_IDL = $(IDL_FILES)
-
-# we copy all idl file in $(top_builddir)/idl
-inc: $(top_builddir)/idl/salome $(IDL_FILES:%=$(top_builddir)/idl/salome/%)
-
-$(top_builddir)/idl/salome:
- mkdir $@
-
-$(IDL_FILES:%=$(top_builddir)/idl/salome/%):$(IDL_FILES:%=$(top_srcdir)/idl/%)
-# $(CP) $< $@
- cp -f $^ $(top_builddir)/idl/salome
-
-
-lib: pyidl
-
-PYTHON_BUILD_SITE=$(top_builddir)/lib/python$(PYTHON_VERSION)/site-packages/@PACKAGE@
-
-pyidl: $(PYTHON_BUILD_SITE) $(IDL_FILES:%.idl=$(PYTHON_BUILD_SITE)/%_idl.py)
-
-$(PYTHON_BUILD_SITE):
- $(INSTALL) -d $@
-
-$(PYTHON_BUILD_SITE)/%_idl.py: $(top_builddir)/idl/salome/%.idl
- $(OMNIORB_IDL) $(OMNIORB_IDLPYFLAGS) -C$(PYTHON_BUILD_SITE) $<
-
-
-# install python client (generated from idl file
-install: install-pyidl install-idl
-
-# create directory $(idldir) and copy idl files into it
-install-idl: $(IDL_FILES:%=$(top_builddir)/idl/salome/%)
- $(INSTALL) -d $(idldir)
- $(INSTALL_DATA) $^ $(idldir)
-
-
-install-pyidl: $(IDL_FILES:%=$(top_builddir)/idl/salome/%)
- $(INSTALL) -d $(PYTHON_SITE_INSTALL)
- @for file in $^ dummy; do \
- if [ $$file != "dummy" ]; then \
- $(OMNIORB_IDL) $(OMNIORB_IDLPYFLAGS) -C$(PYTHON_SITE_INSTALL) $$file ; \
- fi ; \
- done ;
-
-#@ CONCLUDE @
-
-cleandep:
- -$(RM) .dep*
-
-distclean:
- -$(RM) *.py
- -$(RM) $(IDL_FILES:%=$(top_builddir)/idl/salome/%)
- -$(RM) Makefile
-
+++ /dev/null
-// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
-// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
-//
-// This library is free software; you can redistribute it and/or
-// modify it under the terms of the GNU Lesser General Public
-// License as published by the Free Software Foundation; either
-// version 2.1 of the License.
-//
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-// Lesser General Public License for more details.
-//
-// You should have received a copy of the GNU Lesser General Public
-// License along with this library; if not, write to the Free Software
-// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-//
-// See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
-//
-//
-//
-// File : SUPERV.idl
-// Author : Jean Rahuel
-// $Header:
-
-/*! \file SUPERV.idl This file contains a set of interfaces of the %SUPERVISION module
-*/
-
-#ifndef __SUPERV_IDL__
-#define __SUPERV_IDL__
-
-#include "SALOME_ModuleCatalog.idl"
-#include "SALOME_Component.idl"
-#include "SALOMEDS.idl"
-/*!
- The main package of interfaces of %SUPERVISION module
-*/
-module SUPERV {
-
-/*!
-This enumeration contains a set of elements defining the type of the port.
-\note <BR>In general, ports represent <STRONG>input or output parameters</STRONG> of the functions,
-implemented in different kinds of nodes of the graph.
-*/
- enum KindOfPort { UndefinedParameter , ServiceParameter , GateParameter ,
- InLineParameter , LoopParameter , SwitchParameter ,
- EndSwitchParameter , GOTOParameter , DataStreamParameter } ;
-
-/*!
-This enumeration contains a set of dependencies of InPorts and OutPorts.
-*/
-// enum KindOfDependency { UndefinedDependency , TimeDependency , IterationDependency } ;
-
-/*!
-This enumeration contains a set of schemas of InPorts.
-*/
- enum KindOfSchema { SCHENULL , TI , TF , DELTA } ;
-
-/*!
-This enumeration contains a set of interpolations of InPorts.
-*/
- enum KindOfInterpolation { INTERNULL , L0 , L1 } ;
-
-/*!
-This enumeration contains a set of extrapolations of InPorts.
-*/
- enum KindOfExtrapolation { EXTRANULL , E0 , E1 } ;
-
-/*!
-This enumeration contains a set of dependencies of Ports.
-*/
- enum KindOfDataStreamTrace { WithoutTrace , SummaryTrace , DetailedTrace } ;
-
-/*!
-This enumeration contains a set of elements defining the type of the node.
-*/
- enum KindOfNode { FactoryNode , DataFlowGraph , ComputingNode ,
- InLineNode , LoopNode , EndLoopNode ,
- SwitchNode , EndSwitchNode , GOTONode , DataStreamGraph ,
- UnknownNode };
-
-/*!
-This struct contains fields defining the date.
-*/
- struct SDate {
- short Second;
- short Minute;
- short Hour;
- short Day;
- short Month;
- short Year;
- };
-/*!
-This enumeration contains a set of elements defining the type of operation, which has been performed
-on this node(graph).
-*/
-
- enum GraphEvent { UndefinedEvent , NoEvent , NewThreadEvent ,
- WaitingEvent , ReadyEvent ,
- RunningEvent , DoneEvent , ErroredEvent ,
- SuspendEvent , ResumeEvent ,
- KillEvent , StopEvent ,
- ReRunEvent , ReStartEvent } ;
-
- // UndefinedState : Non existing Node, Port etc...
-/*!
-This enumeration contains a set of elements defining the current state of the node(graph).
-*/
-
- enum GraphState { UndefinedState , NoState , EditingState , SuspendState ,
- WaitingState , ReadyState , SuspendReadyState ,
- RunningState ,
- DoneState , ErrorState ,
- SuspendDoneState , SuspendErroredState ,
- KillState , StopState ,
- ReRunState , ReStartState ,
- NumberOfGraphStates } ;
-
-/*! A sequence of string values.
-*/
- typedef sequence<string> ListOfStrings ;
-
- interface Value ;
-
- interface Link ;
- interface StreamLink ;
-
- typedef sequence<Link> ListOfLinks ;
- typedef sequence<StreamLink> ListOfStreamLinks ;
-
- interface Port ;
- interface StreamPort ;
-
- typedef sequence<Port> ListOfPorts ;
- typedef sequence<StreamPort> ListOfStreamPorts ;
-
- interface CNode ;
- interface FNode ;
- interface INode ;
- interface GNode ;
- interface LNode ;
- interface ELNode ;
- interface SNode ;
- interface ESNode ;
- interface StreamGraph ;
- interface Graph ;
-
- typedef sequence<CNode> ListOfCNodes ;
- typedef sequence<FNode> ListOfFNodes ;
- typedef sequence<INode> ListOfINodes ;
- typedef sequence<GNode> ListOfGNodes ;
- typedef sequence<LNode> ListOfLNodes ;
- typedef sequence<ELNode> ListOfELNodes ;
- typedef sequence<SNode> ListOfSNodes ;
- typedef sequence<ESNode> ListOfESNodes ;
- typedef sequence<Graph> ListOfGraphs ;
-
-/*!
-This struct contains fields defining different types of nodes.
-*/
-
- struct ListOfNodes {
- ListOfCNodes CNodes ;
- ListOfFNodes FNodes ;
- ListOfINodes INodes ;
- ListOfGNodes GNodes ;
- ListOfLNodes LNodes ;
- ListOfELNodes ELNodes ;
- ListOfSNodes SNodes ;
- ListOfESNodes ESNodes ;
- ListOfGraphs Graphs ;
- } ;
-
- // ToSuspendState : will be Suspended before running if waiting or
- // will be Suspended while running or
- // will be Suspended after run
- // ToSuspendStartState : will be Suspended at the beginning of execution
- // ToSuspendDoneState : will be Suspended after run
-/*!
-This enumeration contains a set of elements defining the %ControlState of the node.
-The %ControlState gives a possibility to determine the "control actions" which have been done by
-the user (Suspend, SuspendDone, Kill, etc...).
-*/
- enum ControlState { VoidState , ToSuspendStartState ,
- ToSuspendState , ToSuspendDoneState ,
- ToKillState , ToKillDoneState , ToStopState ,
- NumberOfControlStates } ;
-/*!
-The AutomatonState is an internal state of the automaton of the Executor
-of the %Supervision %Engine. It is used for inner debugging purposes only.
-*/
-
- enum AutomatonState { UnKnownState ,
- DataUndefState ,
- DataWaitingState ,
- DataReadyState ,
- SuspendedReadyState,
- SuspendedReadyToResumeState ,
- ResumedReadyState ,
- KilledReadyState ,
- StoppedReadyState ,
- ExecutingState ,
- SuspendedExecutingState ,
- ResumedExecutingState ,
- KilledExecutingState ,
- StoppedExecutingState ,
- SuccessedExecutingState ,
- ErroredExecutingState ,
- SuspendedSuccessedState ,
- SuspendedErroredState,
- ResumedSuccessedState ,
- ResumedErroredState ,
- KilledSuccessedState ,
- KilledErroredState ,
- StoppedSuccessedState ,
- StoppedErroredState ,
- SuccessedState ,
- ErroredState ,
- SuspendedState ,
- KilledState ,
- StoppedState ,
- SuspendedSuccessedToReStartState ,
- SuspendedErroredToReStartState ,
- ReRunnedState ,
- ReStartedState ,
- NumberOfAutomatonStates
- } ;
-
-
-
-
-
-
-
-
- ////////////////
-/*! \brief interface %SuperG
-
-This interface contains a set of methods necessary for management of a %graph.
-*/
- interface SuperG : Engines::Component, SALOMEDS::Driver {
- ////////////////
-/*!
- Constructs a graph with possibility to read/edit it
- \param aGraph %aGraphName or %aGraphXmlFile
-*/
- SUPERV::Graph Graph(in string aGraph ) ; // aGraphName or aGraphXmlFile
-
-/*!
- Constructs a read Only graph ( for execution ).
- \note <BR>In this graph there is also a possibility to update nodes, coordinates of the links,
- of container names and input data.
- \param aGraph %aGraphName or %aGraphXmlFile
-*/
- SUPERV::Graph GraphE(in string aGraph ) ; // aGraphName or aGraphXmlFile
-
-/*!
- Constructs a StreamGraph with possibility to read/edit it
- \param aGraph %aGraphName or %aGraphXmlFile
-*/
- SUPERV::StreamGraph StreamGraph(in string aGraph ) ; // aGraphName or aGraphXmlFile
-
-/*!
- Constructs a read Only StreamGraph ( for execution ).
- \note <BR>In this graph there is also a possibility to update nodes, coordinates of the links,
- of container names and input data.
- \param aGraph %aGraphName or %aGraphXmlFile
-*/
- SUPERV::StreamGraph StreamGraphE(in string aGraph ) ; // aGraphName or aGraphXmlFile
-
-/*!
-Creates a value of <b>string</b> type which will be used for <VAR>Input</VAR> method in the interface %Node.
-\param aString Input value of string type.
-*/
- SUPERV::Value StringValue( in string aString ) ;
-/*!
-Creates a value of <b>any</b> type which will be used for <VAR>Input</VAR> method in the interface %Node.
-\param anAny Input value of any type.
-*/
- SUPERV::Value AnyValue( in any anAny ) ;
-/*!
- Gets a graph with a definite %IOR
-\param ior String parameter defining %IOR of the graph.
-*/
- SUPERV::Graph getGraph(in string ior); // get Graph from is IOR
-
-/*!
- Gets a graph with a definite %IOR
-\param ior String parameter defining %IOR of the graph.
-*/
- SUPERV::StreamGraph getStreamGraph(in string ior); // get Graph from is IOR
-
- };
-
-/*! \brief %CNode interface
-
-This is a base class of the SUPERVISION module. It contains a set of methods allowing:
-<ul>
- <li>creating a <b>Computation</b> node and setting its parameters (Name, Author, Comments etc.)
- <li>checking the current state of the node in the data flow
- <li>node execution follow-up
- <li>management of the components, which can be initialized for execution of calculations in the data flow. (For that purpose %CNode class inherits the methods of the %Engines:Component class)
-</ul>
-*/
-
- //////////////
- interface CNode : Engines::Component {
- //////////////
-
-
-/*!
-Returns the name of the node(graph).
-*/
- string Name() ;
-/*!
-Returns the service of this node .
-*/
- SALOME_ModuleCatalog::Service Service() ;
-/*!
-Returns the type of the node.
-*/
- SUPERV::KindOfNode Kind() ;
-/*!
-Returns the date of creation of the node(graph).
-*/
- SUPERV::SDate CreationDate() ;
-/*!
-Returns the date of last update of the node(graph).
-*/
- SUPERV::SDate LastUpdateDate() ;
-/*!
-Returns the name of the version of the node(graph).
-*/
- string Version() ;
-/*!
-Returns the name of the author of the node(graph).
-*/
- string Author() ;
-/*!
-Returns the string containing comments about this node(graph).
-*/
- string Comment() ;
-
-
-/*!
-Sets the name of the node(graph).
-\param aNewName String value defining the name of the node(graph).
-\return True if the name has been updated.
-*/
- boolean SetName(in string aNewName ) ;
-/*!
-Sets the name of the author. Returns True if it is updated.
-\param anAuthor String value defining the name of the author.
-\return True if the name has been updated.
-*/
- boolean SetAuthor(in string anAuthor ) ;
-/*!
-Allows to update the comments about this node(graph).
-\param aComment String value containing a comment to this node(graph).
-\return True if the old comment has been updated.
-*/
- boolean SetComment(in string aComment ) ;
-
-/*!
- Gets a port of the node (for compatibility : see GetInPort - GetOutPort).
-*/
- SUPERV::Port Port( in string aParameterName ) ;
-
-/*! Gets an Input port in a node.
-\param aParameterName This value sets the name of the parameter which will be defined in this port.
-*/
- SUPERV::Port GetInPort( in string aParameterName ) ;
-
-/*! Gets an Output port in a node.
-\param aParameterName This value sets the name of the parameter which will be defined in this port.
-*/
- SUPERV::Port GetOutPort( in string aParameterName ) ;
-
-/*! Gets an Input StreamPort in a node.
-\param aParameterName This value sets the name of the parameter which will be defined in this port.
-*/
- SUPERV::StreamPort GetInStreamPort( in string aParameterName ) ;
-
-/*! Gets an Output StreamPort in a node.
-\param aParameterName This value sets the name of the parameter which will be defined in this port.
-*/
- SUPERV::StreamPort GetOutStreamPort( in string aParameterName ) ;
-
-/*!
- Enters a value into an Input %Port
-*/
- SUPERV::Port Input( in string InputParameterName ,
- in Value aValue ) ;
-
-/*!
- Gets a list of ports of the node(graph)
-*/
- SUPERV::ListOfPorts Ports() ;
-
-/*!
- Gets a list of ports of the node(graph)
-*/
- SUPERV::ListOfStreamPorts StreamPorts() ;
-
-/*! Gets a list of links of a node(graph)
-*/
- SUPERV::ListOfLinks Links() ;
-
-/*! Gets a list of StreamLinks of a node(graph)
-*/
- SUPERV::ListOfStreamLinks StreamLinks() ;
-
-/*!
-Returns True if this node is a graph.
-\note <BR>A node of the graph can also represent in its turn another graph.
-*/
- boolean IsStreamGraph() ;
-/*!
-Returns True if this node is a graph.
-\note <BR>A node of the graph can also represent in its turn another graph.
-*/
- boolean IsGraph() ;
-/*!
-Returns True if the node appears to be a %computing node.
-*/
- boolean IsComputing() ;
-/*!
-Returns True if the node appears to be a %factory node.
-*/
- boolean IsFactory() ;
-/*!
-Returns True if the node appears to be an %inline node.
-*/
- boolean IsInLine() ;
-/*!
-Returns True if the node appears to be a %GOTO node.
-*/
- boolean IsGOTO() ;
-/*!
-Returns True if the node appears to be a %loop node.
-*/
- boolean IsLoop() ;
-/*!
-Returns True if the node appears to be an %endloop node.
-*/
- boolean IsEndLoop() ;
-/*!
-Returns True if the node appears to be a %switch node.
-*/
- boolean IsSwitch() ;
-/*!
-Returns True if the node appears to be a %endswitch node.
-*/
- boolean IsEndSwitch() ;
-
-/*!
- Returns the numero of subgraph of a node.
-*/
- long SubGraph() ;
-/*!
- Returns the numero of substreamgraph of a node.
-*/
- long SubStreamGraph() ;
-
-/*!
-Returns the number of threads of the graph.
-*/
- long Thread() ;
-
-/*!
- Returns True if the node(graph) is waiting for Data input
-*/
- boolean IsWaiting() ;
-
-/*!
- Returns True if the node(graph) is ready for execution
-*/
- boolean IsReady() ;
-
-/*!
- Returns True if the node(graph) is currently running
-*/
- boolean IsRunning() ;
-
-/*!
- Returns True if execution is finished
-*/
-
- boolean IsDone() ;
-/*!
- Returns True if execution is suspended
-*/
-
- boolean IsSuspended() ;
-/*!
-Returns the current state of the graph.
-*/
- SUPERV::GraphState State() ;
-
-/*!
- Waits for ready_to_run state, Suspend and return.
-*/
- boolean ReadyW() ;
-
-/*! Waits for running state, Suspend and return.
-*/
- boolean RunningW() ;
-
-/*! Waits for done state, Suspend and return.
-*/
- boolean DoneW() ;
-
-/*! Waits for Suspend state and return.
-*/
- boolean SuspendedW() ;
-
- // boolean Ping();
-
-/*! Kills execution.
-<br>
-If not running : will be killed when ready to run.
-If running : kills immediatly.
-*/
- boolean Kill();
-
-/*! Kills execution.
-<br>
-Execution will be killed only just after running (only for nodes).
-*/
- boolean KillDone();
-
-/*! Stops execution.
-<br>
-If not running : will be stopped when ready to run.
-If running : stops immediatly
-*/
- boolean Stop();
-/*! Suspends execution.
-<br>
-If not running : will be Suspended when ready to run. It is used in step-by-step execution.
-If running : suspends immediatly
-*/
- boolean Suspend();
-/*! Suspends execution only just after running.
-*/
- boolean SuspendDone();
-
-/*! Resumes execution.
-<br>
-If Suspended : running will be continued.
-If not Suspended : cancels the current ControlState ( Suspend, Kill, ...)
-*/
- boolean Resume();
-
-/*!
- Restarts execution of the node.
-*/
- boolean ReRun();
-/*!
-Restarts execution of the graph beginning from a definite node.
-*/
- boolean ReRunAt( in string aNodeName );
-
-/*!
- Restarts and suspends execution of the node(graph).
-*/
- boolean ReStart();
-/*!
-Restarts and suspends execution of the graph beginning from a definite node.
-\param aNodeName String parameter defining the name of the node.
-*/
- boolean ReStartAt( in string aNodeName );
-
-/*!
- Returns automaton execution state of the node(graph).
-*/
- SUPERV::AutomatonState AutoState() ;
-
- // Control state required : Kill, Suspend, Stop
-/*!
- Returns control state of the node(graph).
-*/
- SUPERV::ControlState Control() ;
-/*!
-Clears the control state of the node(graph).
-*/
- void ControlClear() ;
-
- boolean ContainerKill();
-/*!
-Sets the position of the node in the window.
-*/
- void Coords( in long X , in long Y ) ;
-/*!
-Returns the position of the node along X-axis.
-*/
- long X() ;
-/*!
-Returns the position of the node along Y-axis.
-*/
- long Y() ;
-/*!
-Returns the Cpu used by a node for execution of calculations in seconds.
-*/
- long CpuUsed() ;
-
- } ;
-/*! \brief %FNode class
-
-This class is necessary for management of factory nodes in a data flow. Besides the inherited methods it contains some methods allowing to define
-the component from the container, which will be called for execution of the calculation.
-*/
- //////////////
- interface FNode : CNode {
- //////////////
-/*! Gets the name of the component, which will be called for execution of the calculation.
-*/
- string GetComponentName() ;
-/*! Gets the name of the interface of the component.
-*/
- string GetInterfaceName() ;
-/*! Gets the container containing the component, which will be called for execution of the calculation.
-*/
- string GetContainer() ;
-/*! Sets the name of the component, which will be called for execution of the calculation.
-\param aComponentName Name of the component.
-*/
- boolean SetComponentName(in string aComponentName ) ;
-/*! Sets the name of the interface of the component.
-\param anInterfaceName Name of the interface.
-*/
- boolean SetInterfaceName(in string anInterfaceName ) ;
-/*! Gets the container containing the component, which will be called for execution of the calculation.
-\param aContainer Container containing the component.
-*/
- boolean SetContainer(in string aContainer ) ;
- } ;
-/*! \brief %INode class
-
-This class is necessary for management of inline nodes in a data flow. Besides the inherited methods it contains some methods allowing to set a Python function, which will be
-executed for performing calculations, as well as input and output parameters for the node.
-*/
- // InLine Nodes
- //////////////
- interface INode : CNode {
- //////////////
-
-/*! Sets Python function for the InLine Node.
-\param FuncName Name of the function
-\param aPyInitFunction Python initialization function of the InLine Node
-*/
- void SetPyFunction( in string FuncName ,
- in SUPERV::ListOfStrings aPyInitFunction ) ;
-/*! Returns Python function of the InLine Node.
-*/
- SUPERV::ListOfStrings PyFunction() ;
-/*! Returns the name of the Python function of the InLine Node.
-*/
- string PyFuncName() ;
-
-/*! Creates an Input port in a node.
-\param aParameterName This value sets the name of the parameter which will be defined in this port.
-\param aParameterType This value sets the type of the parameter which will be defined in this port.
-*/
- SUPERV::Port InPort( in string aParameterName , in string aParameterType ) ;
-/*! Creates an Output port in an Inline node.
-\param aParameterName This value sets the name of the parameter which will be defined in this port.
-\param aParameterType This value sets the type of the parameter which will be defined in this port.
-*/
- SUPERV::Port OutPort( in string aParameterName , in string aParameterType ) ;
-
-/*! Creates an Input DataStreamPort in an Inline node.
-\param aParameterName This value sets the name of the parameter which will be defined in this port.
-\param aParameterType This value sets the type of the parameter which will be defined in this port.
-*/
- SUPERV::StreamPort InStreamPort( in string aParameterName , in SALOME_ModuleCatalog::DataStreamType aParameterType , in SALOME_ModuleCatalog::DataStreamDependency aDependency ) ;
-
-/*! Creates an Output DataStreamPort in an Inline node.
-\param aParameterName This value sets the name of the parameter which will be defined in this port.
-\param aParameterType This value sets the type of the parameter which will be defined in this port.
-*/
- SUPERV::StreamPort OutStreamPort( in string aParameterName , in SALOME_ModuleCatalog::DataStreamType aParameterType , in SALOME_ModuleCatalog::DataStreamDependency aDependency ) ;
-
- } ;
-/*! \brief %GNode class
-
-This class is necessary for management of GOTO/EndLoop/EndSwitch nodes in the dataflow.
-Besides the inherited methods it contains some methods allowing to define the couple node, which will be linked to this one.
-*/
- // GOTO/EndLoop/EndSwitch Nodes
- ///////////////
- interface GNode : INode {
- ///////////////
-/*! Sets the coupled InLine Node to this GOTO/EndLoop/EndSwitch Node.
-*/
- boolean SetCoupled( in string anInLineNode ) ;
-/*! Returns the coupled InLine Node to this GOTO/EndLoop/EndSwitch Node.
-*/
- SUPERV::INode Coupled() ;
- } ;
-/*! %Loop Nodes class
-*/
- // Loop Nodes
- ///////////////
- interface LNode : GNode {
- ///////////////
-/*! Sets Python Init function of the Loop Node.
-\param InitName Name of the Init function
-\param aPyInitFunction Python Init function
-*/
- void SetPyInit( in string InitName ,
- in SUPERV::ListOfStrings aPyInitFunction ) ;
-/*! Returns Python Init function of the Loop Node.
-*/
- SUPERV::ListOfStrings PyInit() ;
-/*! Returns the name of the Python Init function of the Loop Node.
-*/
- string PyInitName() ;
-
-/*! Sets Python More function of the Loop Node.
-\param MoreName Name of the More function
-\param aPyMoreFunction Python More function
-*/
- void SetPyMore( in string MoreName ,
- in SUPERV::ListOfStrings aPyMoreFunction ) ;
-/*! Returns Python More function of the Loop Node.
-*/
- SUPERV::ListOfStrings PyMore() ;
-/*! Returns the name of the Python More function of the Loop Node.
-*/
- string PyMoreName() ;
-
-/*! Sets Python Next function of the Loop Node.
-\param NextName Name of the Next function
-\param aPy NextFunction Python Next function
-*/
- void SetPyNext( in string NextName ,
- in SUPERV::ListOfStrings aPyNextFunction ) ;
-
-/*! Returns Python Next function of the Loop Node.
-*/
- SUPERV::ListOfStrings PyNext() ;
-/*! Returns the name of the Python Next function of the Loop Node.
-*/
- string PyNextName() ;
-
- } ;
-
- // EndOfLoop Nodes
- ////////////////
- interface ELNode : GNode {
- ////////////////
- } ;
-
- // Switch Nodes
- ///////////////
- interface SNode : GNode {
- ///////////////
- } ;
-
- // EndOfSwitch Nodes
- ////////////////
- interface ESNode : GNode {
- ////////////////
- } ;
-
-/*! \brief Interface of a graph
-
-This interface includes a set of methods used for management of the graphs in %SUPERVISION module.
-*/
-
- ///////////////
- interface Graph : INode {
- ///////////////
-
- /*! Creates a Computing Node in a Graph.
- */
- SUPERV::CNode CNode( in SALOME_ModuleCatalog::Service aService ) ;
-
- /*! Creates a Factory Node in a Graph.
- */
- SUPERV::FNode FNode( in string aComponentName ,
- in string anInterfaceName ,
- in SALOME_ModuleCatalog::Service aService ) ;
-
- /*! Creates an InLine Node in a Graph.
- */
- SUPERV::INode INode( in string FuncName , in ListOfStrings aPythonFunction ) ;
-
- /*! Creates a GOTO Node and links it to the corresponding InLine node.
- */
- SUPERV::GNode GNode( in string FuncName , in ListOfStrings aPythonFunction ,
- in string anINode ) ;
-
- /*! Creates a Loop Node ("for" or "while" loop) and links it to the corresponding end of loop node.
- */
- SUPERV::LNode LNode( in string InitName , in ListOfStrings InitFunction ,
- in string MoreName , in ListOfStrings MoreFunction ,
- in string NextName , in ListOfStrings NextFunction ,
- out SUPERV::INode anEndOfLoop ) ;
-
- /*! Creates a conditional "if/elseif/else" or "switch" node and the corresponding end node
- */
- SUPERV::SNode SNode( in string FuncName , in ListOfStrings aPythonFunction ,
- out SUPERV::INode anEndOfSwitch ) ;
-
- /*! Returns an existing node with a definite name.
- \param aNodeName Name of the Node.
- */
- SUPERV::CNode Node( in string aNodeName ) ;
-
- /*! Creates a CORBA Component Object Reference
- */
- Engines::Component ComponentRef( in string aComputerContainer ,
- in string aComponentName ) ;
-
-/*!
- Creates a link connecting two ports (%Output %Port and %Input %Port) of the nodes in a Graph
-*/
- SUPERV::Link Link( in SUPERV::Port OutputPort ,
- in SUPERV::Port InputPort ) ;
-
-/*!
-Imports a graph into a file with XML format
-\param anXmlFile String parameter defining the name of the XML file.
-\return True, if the graph has been successfully imported.
-*/
- boolean Import( in string anXmlFile ) ;
-/*!
-Exports a graph from a file with XML format
-\param anXmlFile String parameter defining the name of the XML file.
-\return True, if the graph has been successfully imported.
-*/
- boolean Export( in string anXmlFile ) ;
-/*!
-Returns True if the graph is read Only.
-*/
- boolean IsReadOnly() ;
-
-/*!
- Starts asynchronous execution of the graph.
-*/
- boolean Run() ;
-
-/*!
- Assigns to the %Node an %Event and a %State of the %Node, if the Event is
- available. And returns immediately Nil, NoEvent and NoState if not.
- Returns false if the graph is finished, suspended, killed or stopped.
-\param aNode %Node for which this method is called
-\param anEvent An operation, which has been performed on this node(graph).
-\param aState Current state of the graph
-*/
- boolean EventNoW( out SUPERV::CNode aNode , out SUPERV::GraphEvent anEvent ,
- out SUPERV::GraphState aState ) ;
-
-/*!
- Assigns to the %Node an %Event and a %State of the %Node, if the Event is
- available. Waits if it is not available at the current moment.
- Returns false if the graph is finished, suspended, killed or stopped.
-\param aNode %Node for which this method is called
-\param anEvent An operation, which has been performed on this node(graph).
-\param aState Current state of the graph
-*/
- boolean Event( out SUPERV::CNode aNode , out SUPERV::GraphEvent anEvent ,
- out SUPERV::GraphState aState ) ;
-
- // Same as Event but execution of the thread is suspended between the
- // return of EventW and the next call to EventW
-/*!
- Assigns to the %Node an %Event and a %State of the %Node, if the Event is
- available. And returns immediately Nil, NoEvent and NoState if not.
- Returns false if the graph is finished, suspended, killed or stopped.
-\note <BR>Execution of the thread is suspended between the return of this
-method and its next usage.
-\param aNode %Node for which this method is called
-\param anEvent An operation, which has been performed on this node(graph).
-\param aState Current state of the graph
-*/
- boolean EventW( out SUPERV::CNode aNode , out SUPERV::GraphEvent anEvent ,
- out SUPERV::GraphState aState ) ;
-/*! \name Methods used for inner debugging purposes of threads management :
-*/
-/*@{*/
-
- long EventQSize() ;
- long LevelMax() ;
- SUPERV::ListOfNodes LevelNodes( in long aLevel ) ;
- long ThreadsMax() ;
-
-/*@}*/
-
-/*!
-Returns the number of currently running threads.
-*/
- long Threads();
-/*!
-Returns the number of suspended threads.
-*/
- long SuspendedThreads();
-/*!
-Returns True if the graph is valid.
-*/
- boolean IsValid() ;
-/*!
-Returns True if the graph can be executed.
-*/
- boolean IsExecutable() ;
-/*!
-Returns True if the graph is being currently edited.
-*/
- boolean IsEditing() ;
-/*!
-Returns True if the graph is being currently executed.
-*/
- boolean IsExecuting() ;
-
- long LastLevelDone() ;
-
-/*!
- Launches step-by-step execution of the graph.
-\note The execution is suspended immediatly after performance of operations of the first node and
-user can specify the nodes, where execution will be again suspended after its resuming.
-*/
- boolean Start() ;
-/*!
-Allows to copy one graph into another.
-*/
- SUPERV::Graph Copy() ;
-/*!
-Convert a FlowGraph to a StreamGraph.
-*/
- SUPERV::StreamGraph ToStreamGraph() ;
-/*!
-Merges two graphs
-*/
- boolean Merge( in Graph aGraph ) ;
-/*!
-Returns a list of nodes of the graph.
-*/
- SUPERV::ListOfNodes Nodes() ;
-/*!
-Returns a list of links of the graph.
-*/
- SUPERV::ListOfLinks GLinks() ;
-/*!
-Gets IOR of the garph.
-*/
- string getIOR();
-
-/*!
-Returns the number of independent subgraphs
-*/
- long SubGraphsNumber() ;
-/*!
-Returns a list of Nodes of a SubGraph.
-*/
- SUPERV::ListOfNodes SubGraphsNodes( in long SubGraphNumber ) ;
-
- } ;
-
-
-
-
-
-/*! \brief Interface of a StreamGraph
-
-This interface includes a set of methods used for management of the graphs in %SUPERVISION module.
-*/
-
- /////////////////////
- interface StreamGraph : Graph {
- /////////////////////
-
-/*!
-Allows to copy one graph into another.
-*/
- SUPERV::StreamGraph StreamCopy() ;
-/*!
- Creates a link connecting two ports (%Output %Port and %Input %Port) of the nodes in a Graph
-*/
- SUPERV::StreamLink StreamLink( in SUPERV::StreamPort OutputPort ,
- in SUPERV::StreamPort InputPort ) ;
-
-/*!
-Returns a list of links of the graph.
-*/
- SUPERV::ListOfStreamLinks GStreamLinks() ;
- boolean SetStreamParams( in long Timeout ,
- in SUPERV::KindOfDataStreamTrace DataStreamTrace ,
- in double DeltaTime ) ;
- void StreamParams( out long Timeout ,
- out SUPERV::KindOfDataStreamTrace DataStreamTrace ,
- out double DeltaTime ) ;
-
-/*!
-Returns the number of independent subStreamgraphs
-*/
- long SubStreamGraphsNumber() ;
-/*!
-Returns a list of Nodes of a SubStreamGraph.
-*/
- SUPERV::ListOfNodes SubStreamGraphsNodes( in long SubStreamGraphNumber ) ;
-
-/*!
-Convert a StreamGraph to a FlowGraph.
-*/
- SUPERV::Graph ToFlowGraph() ;
-
-/*!
-Merge a StreamGraph.
-*/
- boolean StreamMerge( in StreamGraph aStreamGraph ) ;
-
- } ;
-
-
-
-
-
-
-/*! \brief Interface of the %link
-
-This interface contains a set of methods used for representation and management of the links
-connecting nodes in a %graph.
-*/
-
- //////////////
- interface Link : Engines::Component {
- //////////////
-/*!
-Returns the %Output %Port of the Link
-*/
- SUPERV::Port OutPort() ;
-
-/*!
-Returns the %Input %Port of the Link
-*/
- SUPERV::Port InPort() ;
-
- // For GUI :
-/*! \name Methods used for representation of links in GUI of %SALOME application :
-*/
-/*@{*/
-/*!
-Returns the number of coordinate points which are included in the link.
-\note <BR>Every link can contain a set of coordinate points which constitute it. These points have
-index numbers (beginning from 1) and coordinates defining their position in the window. Indexing of
-the points starts from input port to output port of the corresponding link.
-*/
- long CoordsSize() ;
-/*!
-Adds a coordinate point to the link.
-\param index Index of the point.
-\param X Coordinates of the point.
-\param Y Coordinates of the point.
-*/
- boolean AddCoord( in long index , in long X , in long Y ) ;
-/*!
-Changes the location of a definite coordinate point of the link.
-\param index Index of the point.
-\param X Coordinates of the point.
-\param Y Coordinates of the point.
-*/
-
- boolean ChangeCoord( in long index , in long X , in long Y ) ;
-/*!
-Removes a coordinate point of the link.
-\param index Index of the point.
-*/
-
- boolean RemoveCoord( in long index ) ;
-
-/*!
-Sets the location of a coordinate point of the link.
-\param index Index of the point.
-\param X Coordinates of the point.
-\param Y Coordinates of the point.
-*/
-
- boolean Coords( in long index , out long X , out long Y ) ;
-/*@}*/
-
- // void Destroy() ;
-
- } ;
-
-
-
-
-
-
-/*! \brief Interface of the %link
-
-This interface contains a set of methods used for representation and management of the links
-connecting nodes in a %graph.
-*/
-
- ////////////////////
- interface StreamLink : Link {
- ////////////////////
-/*!
-Returns the %Output %StreamPort of the StreamLink
-*/
- SUPERV::StreamPort OutStreamPort() ;
-
-/*!
-Returns the %Input %StreamPort of the StreamLink
-*/
- SUPERV::StreamPort InStreamPort() ;
-
-
- } ;
-
-
-
-
-
-/*! \brief %Value interface
-
-This interface contains a set of methods used for setting initial parameters of the ports
-*/
-
- ///////////////
- interface Value : Engines::Component {
- ///////////////
-/*!
-Converts the given value into a value of string type.
-*/
- string ToString() ;
-/*!
-Converts the given value into a value of independant data type.
-*/
- any ToAny() ;
-/*!
-Returns True if the value represents an IOR.
-*/
- boolean IsIOR() ;
-/*!
-Gets data type of the component.
-*/
- string ComponentDataType() ;
-
- // void Destroy() ;
-
- } ;
-/*! \brief %Port interface
-
-This interface contains a set of methods used for management of the ports.
-*/
-
- //////////////
- interface Port : Value {
- //////////////
-
-/*!
- Gives a value to an Input %Port
-\param aValue This parameter defines the input value
-*/
- boolean Input( in SUPERV::Value aValue ) ;
-
-/*!
-Returns the node of the port
-*/
- SUPERV::CNode Node() ;
-/*!
-Sets the name of the port.
-*/
- string Name() ;
-
-/* Gets the type of a port.
-\return A string defining the type of a port
-*/
-
- string Type() ;
-
- // Link of an Input Port
-/*!
-Returns the link of an %Input %Port
-*/
- SUPERV::Link Link() ;
-
-/*!
-Returns a list of links of an Input %Port of an EndSwitchNode
-*/
- SUPERV::ListOfLinks Links() ;
-
-/*!
-Returns True if this port appears to be an %Input %Port of a Node
-*/
- boolean IsInput() ;
-
-/*!
-Returns True if an %Input %Value exists for that %Input %Port (without link)
-*/
- boolean HasInput() ;
-
-/*!
-Returns True if the %Port is linked (without value)
-*/
-// Port with link (without Value)
- boolean IsLinked() ;
-
- // Kind of a Port
-/*! Returns the type of this port.
-*/
- SUPERV::KindOfPort Kind() ;
-
- // Port from the service of the node
-/*!
-Returns True if the %Port is a parameter of a service
-*/
- boolean IsParam() ;
- // Port is a Gate of the node
-/*!
-Returns True if the %Port appears to be a Gate Port of the Node
-*/
- boolean IsGate() ;
- // Port is a parameter of an InLineNode
-/*!
-Returns True if the %Port appears to be a parameter of an InLine Node.
-*/
- boolean IsInLine() ;
-
- // Port is a LoopParameter (InitLoop or DoLoop) of an LoopNode
-/*!
-Returns True if the %Port appears to be a Loop Parameter (InitLoop or DoLoop) of a Loop Node
-*/
- boolean IsLoop() ;
- // Port is an output parameter of a SwitchNode connected to an InGate
-/*!
-Returns True if the %Port appears to be a parameter of a switch node
-*/
- // Port is a parameter of a switch node
- boolean IsSwitch() ;
- // Port is an Input parameter of a EndSwitchNode connected to several output ports
-/*!
-Returns True if the %Port appears to be an EndSwitch Node connected to several output ports.
-*/
- boolean IsEndSwitch() ;
-
- boolean IsDataStream() ;
-
-/*! Returns the current state of the port.
-*/
- SUPERV::GraphState State() ;
-/*! Returns True if computation is finished.
-*/
- boolean IsDone() ;
-
- } ;
-
- ////////////////////
- interface StreamPort : Port {
- ////////////////////
-
- // Link of a StreamPort
-/*!
-Returns the link of a %StreamPort
-*/
- SUPERV::StreamLink StreamLink() ;
-
-/*! Returns the current Dependency of the DataStreamPort : TimeDependency or IterationDependency
-*/
- SALOME_ModuleCatalog::DataStreamDependency Dependency() ;
- boolean SetDependency( in SALOME_ModuleCatalog::DataStreamDependency aDependency ) ;
-
-/*! Sets or Returns the current kinds of Schema, Interpolation and Extrapolation of the InDataStreamPort
-*/
- boolean SetParams( in KindOfSchema aKindOfSchema ,
- in KindOfInterpolation aKindOfInterpolation ,
- in KindOfExtrapolation aKindOfExtrapolation ) ;
- boolean Params( out KindOfSchema aKindOfSchema ,
- out KindOfInterpolation aKindOfInterpolation ,
- out KindOfExtrapolation aKindOfExtrapolation ) ;
-
-/*! Sets or Returns the current number of values ("NIVEAU") of the OutDataStreamPort
-*/
- boolean SetNumberOfValues( in long aNumberOfValues ) ;
- long NumberOfValues() ;
-
- } ;
-
-};
-#endif
+++ /dev/null
-language=en
\ No newline at end of file
+++ /dev/null
-<?xml version='1.0' encoding='us-ascii' ?>
-
-<!-- XML component catalog -->
-<begin-catalog>
-
-<!-- Path prefix information -->
-
-<path-prefix-list>
-</path-prefix-list>
-
-<!-- Component list -->
-<component-list>
- <component>
- <!-- Component identification -->
- <component-name>SUPERV</component-name>
- <component-username>Supervisor</component-username>
- <component-type>SUPERV</component-type>
- <component-author>ARS</component-author>
- <component-version> 1.0</component-version>
- <component-comment>Supervision control GUI</component-comment>
- <component-multistudy>1</component-multistudy>
- <component-icone>ModuleSupervision.png</component-icone>
- <constraint>hostname = localhost</constraint>
- <component-interface-list>
- <component-interface-name>SuperG</component-interface-name>
- <component-interface-comment>SupervisionEngine</component-interface-comment>
- </component-interface-list>
- </component>
-</component-list>
-</begin-catalog>
+++ /dev/null
-<?xml version='1.0' encoding='us-ascii'?>
-<!DOCTYPE application PUBLIC "" "desktop.dtd">
-
-<!-- GUI customization for SUPERV component -->
-
-<application
- title="Supervision component"
- date="2001/08/28"
- author="Arnaud Rès"
- appId="Supervision for Salome" >
-
- <desktop>
- <menubar>
- <menu-item label-id="File" item-id="1" pos-id="1">
- <popup-item item-id="301" pos-id="8" label-id="Import Dataflow" icon-id="" tooltip-id="" accel-id="" toggle-id="" execute-action=""/>
- <popup-item item-id="302" pos-id="9" label-id="Export Dataflow" icon-id="" tooltip-id="" accel-id="" toggle-id="" execute-action=""/>
- <separator pos-id="10"/>
- </menu-item>
-
- <menu-item label-id="Edit" item-id="3" pos-id="">
- <separator pos-id="7"/>
- <popup-item item-id="303" pos-id="8" label-id="New Dataflow" icon-id="" tooltip-id="" accel-id="" toggle-id="" execute-action=""/>
- <popup-item item-id="304" pos-id="9" label-id="Modify Dataflow" icon-id="" tooltip-id="" accel-id="" toggle-id="" execute-action=""/>
- </menu-item>
-
- <menu-item label-id="Supervision" item-id="300" pos-id="3">
- <popup-item item-id="305" pos-id="1" label-id="Reload" icon-id="reload.png" tooltip-id="Reload Dataflow" accel-id="" toggle-id="" execute-action=""/>
- <popup-item item-id="309" pos-id="2" label-id="Components" icon-id="components.png" tooltip-id="Components" accel-id="" toggle-id="" execute-action=""/>
- <separator pos-id="3"/>
- <popup-item item-id="306" pos-id="4" label-id="Run" icon-id="run.png" tooltip-id="Run Dataflow" accel-id="" toggle-id="" execute-action=""/>
- <popup-item item-id="310" pos-id="5" label-id="Step by Step" icon-id="steps.png" tooltip-id="Step by Step execution" accel-id="" toggle-id="" execute-action=""/>
- <popup-item item-id="307" pos-id="6" label-id="Kill" icon-id="kill.png" tooltip-id="Kill Running" accel-id="" toggle-id="" execute-action=""/>
- <popup-item item-id="308" pos-id="7" label-id="Suspend/Resume" icon-id="suspend-resume.gif" tooltip-id="Suspend or Resume" accel-id="" toggle-id="" execute-action=""/>
- </menu-item>
- </menubar>
-
- <toolbar label-id="Supervisor">
- <toolbutton-item item-id="301" label-id="Import" icon-id="import.gif" tooltip-id="Import Dataflow" accel-id="" toggle-id="" execute-action=""/>
- <toolbutton-item item-id="302" label-id="Export" icon-id="export.gif" tooltip-id="Export Dataflow" accel-id="" toggle-id="" execute-action=""/>
- <toolbutton-item item-id="303" label-id="New" icon-id="edit.png" tooltip-id="New Dataflow" accel-id="" toggle-id="" execute-action=""/>
- <toolbutton-item item-id="304" label-id="Modify" icon-id="modify.png" tooltip-id="Modify Dataflow" accel-id="" toggle-id="" execute-action=""/>
- <toolbutton-item item-id="305" label-id="Reload" icon-id="reload.png" tooltip-id="Reload Dataflow" accel-id="" toggle-id="" execute-action=""/>
- <toolbutton-item item-id="309" label-id="Components" icon-id="components.png" tooltip-id="Components" accel-id="" toggle-id="" execute-action=""/>
- </toolbar>
-
- <toolbar label-id="Execution">
- <toolbutton-item item-id="306" label-id="Run" icon-id="run.png" tooltip-id="Run Dataflow" accel-id="" toggle-id="" execute-action=""/>
- <toolbutton-item item-id="310" label-id="Step by Step" icon-id="steps.png" tooltip-id="Step by Step execution" accel-id="" toggle-id="" execute-action=""/>
- <toolbutton-item item-id="307" label-id="Kill" icon-id="kill.png" tooltip-id="Kill Running" accel-id="" toggle-id="" execute-action=""/>
- <toolbutton-item item-id="308" label-id="Suspend/Resume" icon-id="suspend-resume.gif" tooltip-id="Suspend or Resume" accel-id="" toggle-id="" execute-action=""/>
- </toolbar>
- </desktop>
-</application>
+++ /dev/null
-<?xml version='1.0' encoding='us-ascii'?>
-<!DOCTYPE application PUBLIC "" "desktop.dtd">
-
-<!-- GUI customization for SUPERV component -->
-
-<application
- title="Supervision component"
- date="2001/08/28"
- author="Arnaud Rès"
- appId="Supervision for Salome" >
-
- <desktop>
- <menubar>
- <menu-item label-id="Fichier" item-id="1" pos-id="1">
- <popup-item item-id="301" pos-id="8" label-id="Importer un dataflow" icon-id="" tooltip-id="" accel-id="" toggle-id="" execute-action=""/>
- <popup-item item-id="302" pos-id="9" label-id="Exporter un dataflow" icon-id="" tooltip-id="" accel-id="" toggle-id="" execute-action=""/>
- <separator pos-id="10"/>
- </menu-item>
-
- <menu-item label-id="Editer" item-id="3" pos-id="">
- <separator pos-id="7"/>
- <popup-item item-id="303" pos-id="8" label-id="Editer un dataflow" icon-id="" tooltip-id="" accel-id="" toggle-id="" execute-action=""/>
- <popup-item item-id="304" pos-id="9" label-id="Modifier un dataflow" icon-id="" tooltip-id="" accel-id="" toggle-id="" execute-action=""/>
- </menu-item>
-
- <menu-item label-id="Supervision" item-id="300" pos-id="3">
- <popup-item item-id="305" pos-id="1" label-id="Recharger" icon-id="" tooltip-id="" accel-id="" toggle-id="" execute-action=""/>
- <popup-item item-id="306" pos-id="2" label-id="Executer" icon-id="" tooltip-id="" accel-id="" toggle-id="" execute-action=""/>
- <popup-item item-id="307" pos-id="3" label-id="Arreter" icon-id="" tooltip-id="" accel-id="" toggle-id="" execute-action=""/>
- <popup-item item-id="308" pos-id="4" label-id="Suspendre/Continuer" icon-id="" tooltip-id="" accel-id="" toggle-id="" execute-action=""/>
- <popup-item item-id="309" pos-id="5" label-id="Composants" icon-id="" tooltip-id="" accel-id="" toggle-id="" execute-action=""/>
- </menu-item>
- </menubar>
-
- <toolbar label-id="Supervision">
- <toolbutton-item item-id="301" label-id="Import" icon-id="import.gif" tooltip-id="Importer un dataflow" accel-id="" toggle-id="" execute-action=""/>
- <toolbutton-item item-id="302" label-id="Export" icon-id="export.gif" tooltip-id="Exporter un dataflow" accel-id="" toggle-id="" execute-action=""/>
- <toolbutton-item item-id="303" label-id="Edit" icon-id="edit.png" tooltip-id="Editer un dataflow" accel-id="" toggle-id="" execute-action=""/>
- <toolbutton-item item-id="304" label-id="Modify" icon-id="modify.png" tooltip-id="Modifier un dataflow" accel-id="" toggle-id="" execute-action=""/>
- <toolbutton-item item-id="305" label-id="Reload" icon-id="reload.png" tooltip-id="Recharger un dataflow" accel-id="" toggle-id="" execute-action=""/>
- <toolbutton-item item-id="306" label-id="Run" icon-id="run.png" tooltip-id="Executer un dataflow" accel-id="" toggle-id="" execute-action=""/>
- <toolbutton-item item-id="307" label-id="Kill" icon-id="kill.png" tooltip-id="Arreter l'execution" accel-id="" toggle-id="" execute-action=""/>
- <toolbutton-item item-id="308" label-id="Suspend/Resume" icon-id="suspend-resume.gif" tooltip-id="Suspendre ou continuer" accel-id="" toggle-id="" execute-action=""/>
- <toolbutton-item item-id="309" label-id="Components" icon-id="components.png" tooltip-id="Composants" accel-id="" toggle-id="" execute-action=""/>
- </toolbar>
- </desktop>
-</application>
+++ /dev/null
-language=en
\ No newline at end of file
+++ /dev/null
-// SuperVisionTest AddComponent : example of component that adds two numbers
-//
-// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
-// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
-//
-// This library is free software; you can redistribute it and/or
-// modify it under the terms of the GNU Lesser General Public
-// License as published by the Free Software Foundation; either
-// version 2.1 of the License.
-//
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-// Lesser General Public License for more details.
-//
-// You should have received a copy of the GNU Lesser General Public
-// License along with this library; if not, write to the Free Software
-// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-//
-// See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
-//
-//
-//
-// File : AddComponent_Impl.cxx
-// Author : Jean Rahuel, CEA
-// Module : SuperVisionTest
-
-using namespace std;
-#include <stdio.h>
-#include <unistd.h>
-#include <fstream>
-#include <sstream>
-#include <string>
-
-//#include "utilities.h"
-
-#include "AddComponent_Impl.hxx"
-#include "Adder_Impl.hxx"
-
-AddComponent_Impl::AddComponent_Impl( CORBA::ORB_ptr orb,
- PortableServer::POA_ptr poa,
- PortableServer::ObjectId * contId,
- const char *instanceName,
- const char *interfaceName) :
- Engines_Component_i(orb, poa, contId, instanceName, interfaceName,1,true) {
- MESSAGE("AddComponent_Impl::AddComponent_Impl this " << hex << this << dec
- << "activate object instanceName("
- << instanceName << ") interfaceName(" << interfaceName << ")" )
- _thisObj = this ;
- _id = _poa->activate_object(_thisObj);
- LastAddition = 0 ;
-}
-
-AddComponent_Impl::AddComponent_Impl() {
- LastAddition = 0 ;
-}
-
-AddComponent_Impl::~AddComponent_Impl() {
-}
-
-SuperVisionTest::Adder_ptr AddComponent_Impl::Addition() {
- beginService( "AddComponent_Impl::Addition" );
- sendMessage(NOTIF_STEP, "AddComponent_Impl creates Adder_Impl");
- Adder_Impl * myAdder ;
- myAdder = new Adder_Impl( _orb , _poa, _contId,
- instanceName() , interfaceName() ,
- graphName() , nodeName() ) ;
- SuperVisionTest::Adder_var iobject ;
- PortableServer::ObjectId * id = myAdder->getId() ;
- CORBA::Object_var obj = _poa->id_to_reference(*id);
- iobject = SuperVisionTest::Adder::_narrow(obj) ;
- endService( "AddComponent_Impl::Addition" );
- return SuperVisionTest::Adder::_duplicate(iobject) ;
-}
-
-double AddComponent_Impl::Add( double x , double y , double & z ) {
- beginService( " AddComponent_Impl::Add" );
- z = x + y ;
- int S;
-
- sendMessage(NOTIF_STEP, "AddComponent_Impl::Add is Computing");
- S = 1+(int) (15.0*rand()/(RAND_MAX+1.0));
- sleep(S);
- MESSAGE( "AddComponent_Impl::Add( " << x << " , " << y << " , " << z
- << " ) returns " << (x - y) << " after " << S << " seconds" )
- LastAddition = z ;
- endService( " AddComponent_Impl::Add" );
- return (x - y) ;
-}
-
-long AddComponent_Impl::Sigma( long n ) {
- long sigma = 0 ;
- int i , j ;
- beginService( " AddComponent_Impl::Sigma" );
- for ( j = 0 ; j < 1000000 ; j++ ) {
- sigma = 0 ;
- for ( i = 1 ; i <= n ; i++ ) {
- sigma = sigma + i ;
- }
- }
- endService( " AddComponent_Impl::Sigma" );
- return sigma ;
-}
-
-double AddComponent_Impl::LastResult() {
- beginService( " AddComponent_Impl::LastResult" );
- sendMessage(NOTIF_STEP, "AddComponent_Impl::LastResult is Computing");
- int S;
- S = 1+(int) (15.0*rand()/(RAND_MAX+1.0));
- sleep(S);
- endService( " AddComponent_Impl::LastResult" );
- return LastAddition ;
-}
-
-extern "C"
-{
- PortableServer::ObjectId * AddComponentEngine_factory
- (CORBA::ORB_ptr orb,
- PortableServer::POA_ptr poa,
- PortableServer::ObjectId * contId,
- const char *instanceName,
- const char *interfaceName)
- {
- MESSAGE("AddComponentEngine_factory AddComponentEngine ("
- << instanceName << "," << interfaceName << "," << getpid() << ")");
- AddComponent_Impl * myAddComponent
- = new AddComponent_Impl(orb, poa, contId, instanceName, interfaceName);
- return myAddComponent->getId() ;
- }
-}
-
-Adder_Impl::Adder_Impl( CORBA::ORB_ptr orb ,
- PortableServer::POA_ptr poa ,
- PortableServer::ObjectId * contId ,
- const char * instanceName ,
- const char * interfaceName ,
- const char * graphName ,
- const char * nodeName ) :
- Engines_Component_i(orb, poa, contId, instanceName, interfaceName,1,true) {
- Names( graphName , nodeName ) ;
- MESSAGE("Adder_Impl::Adder_Impl activate object instanceName("
- << instanceName << ") interfaceName(" << interfaceName << ") --> "
- << hex << (void *) this << dec )
- beginService( "Adder_Impl::Adder_Impl" );
- _thisObj = this ;
- _id = _poa->activate_object(_thisObj);
- LastAddition = 0 ;
- sendMessage(NOTIF_STEP, "Adder_Impl is Created");
- endService( "Adder_Impl::Adder_Impl" );
-}
-
-Adder_Impl::Adder_Impl() {
- LastAddition = 0 ;
-}
-
-Adder_Impl::~Adder_Impl() {
- beginService( "Adder_Impl::~Adder_Impl" );
- endService( "Adder_Impl::~Adder_Impl" );
-}
-
-double Adder_Impl::Add( double x , double y , double & z ) {
- beginService( " Adder_Impl::Add" );
- z = x + y ;
- int S;
-
- sendMessage(NOTIF_STEP, "Adder_Impl::Add is Computing");
- S = 1+(int) (15.0*rand()/(RAND_MAX+1.0));
- sleep(S);
- MESSAGE( "Adder_Impl::Add( " << x << " , " << y << " , " << z
- << " ) returns " << -(x - y) << " after " << S << " seconds" )
- LastAddition = z ;
- endService( " Adder_Impl::Add" );
- return -(x - y) ;
-}
-
-double Adder_Impl::AddAndCompare( const double x , const double y ,
- const SuperVisionTest::Adder_ptr anOtherAdder ,
- double & z ) {
- beginService( " Adder_Impl::AddAndCompare" );
- z = x + y ;
- int S;
-
- sendMessage(NOTIF_STEP, "Adder_Impl::AddAndCompare is Computing");
- S = 1+(int) (15.0*rand()/(RAND_MAX+1.0));
- sleep(S);
- MESSAGE( "Adder_Impl::AddAndCompare( " << x << " , " << y << " , " << z
- << " ) returns " << -(x - y) << " after " << S << " seconds" )
- LastAddition = z ;
- double ValFunc ;
- sendMessage(NOTIF_TRACE, "Adder_Impl::AddAndCompare will call anOtherAdder->LastValue()");
- double RetVal ;
- anOtherAdder->LastResult( RetVal ) ;
- if ( RetVal > 0 ) {
- ValFunc = (x - y) ;
- }
- else {
- ValFunc = -(x - y) ;
- }
- sendMessage(NOTIF_TRACE, "Adder_Impl::AddAndCompare has called anOtherAdder->LastValue()");
- sendMessage(NOTIF_STEP, "Adder_Impl::AddAndCompare is Finished");
- endService( " Adder_Impl::AddAndCompare" );
- return ValFunc ;
-}
-
-void Adder_Impl::SetLastResult( double z ) {
- beginService( " Adder_Impl::SetLastResult" );
- sendMessage(NOTIF_STEP, "Adder_Impl::SetLastResult is Computing");
- int S;
- S = 1+(int) (15.0*rand()/(RAND_MAX+1.0));
- sleep(S);
- LastAddition = z ;
- endService( " Adder_Impl::SetLastResult" );
- return ;
-}
-
-void Adder_Impl::LastResult( double & z ) {
- beginService( " Adder_Impl::LastResult" );
- sendMessage(NOTIF_STEP, "Adder_Impl::LastResult is Computing");
- int S;
- S = 1+(int) (15.0*rand()/(RAND_MAX+1.0));
- sleep(S);
- z = LastAddition ;
- endService( " Adder_Impl::LastResult" );
- return ;
-}
-
-
+++ /dev/null
-// SUPERV GraphBase : contains fondamental classes for Services, Input Ports, Output Ports Links and Nodes.
-//
-// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
-// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
-//
-// This library is free software; you can redistribute it and/or
-// modify it under the terms of the GNU Lesser General Public
-// License as published by the Free Software Foundation; either
-// version 2.1 of the License.
-//
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-// Lesser General Public License for more details.
-//
-// You should have received a copy of the GNU Lesser General Public
-// License along with this library; if not, write to the Free Software
-// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-//
-// See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
-//
-//
-//
-// File : DataFlowBase_Base.cxx
-// Author : Jean Rahuel, CEA
-// Module : SUPERV
-// $Header:
-
-using namespace std;
-#include "DataFlowBase_Base.hxx"
-
-char *SuperVision_Version = "2.0" ;
-
-char *NULLSTRING = "" ;
-
-char *FACTORYSERVER = "localhost/FactoryServer" ;
-
-GraphBase::Base::Base() {
- _prof_debug = NULL ;
- _fdebug = NULL ;
-}
-
-void GraphBase::Base::SetDebug( CORBA::ORB_ptr ORB ,
- int * theprof_debug , ofstream * thefdebug ) {
- if ( _prof_debug == NULL ) {
-// *thefdebug << "GraphBase::Base::SetDebug Done _fdebug " << _fdebug << " = thefdebug " << thefdebug
-// << endl ;
- if ( theprof_debug ) {
- _Orb = CORBA::ORB::_duplicate( ORB ) ;
- _prof_debug = theprof_debug ;
- _fdebug = thefdebug ;
- }
- else {
- MESSAGE( "GraphBase::Base::SetDebug with theprof_debug == NULL" ) ;
- }
- }
- else {
- cdebug << "GraphBase::Base::SetDebug already done" << endl ;
- }
-// cdebug_in << "GraphBase::Base::SetDebug" << endl ;
-// cdebug << "GraphBase::Base::SetDebug" << endl ;
-// cdebug_out << "GraphBase::Base::SetDebug" << endl ;
-}
-
-char * GraphBase::Base::ObjectToString( CORBA::Object_ptr obj ) const {
- return _Orb->object_to_string( obj );
-}
-
-CORBA::Object_ptr GraphBase::Base::StringToObject( char * obj ) const {
- return _Orb->string_to_object( obj );
-}
-
-string DataStreamTypeToString( const SALOME_ModuleCatalog::DataStreamType aDataStreamType ) {
- string aIdlType ;
- switch ( aDataStreamType ) {
- case SALOME_ModuleCatalog::DATASTREAM_UNKNOWN : {
- aIdlType = "Unknown" ;
- break;
- }
- case SALOME_ModuleCatalog::DATASTREAM_INTEGER : {
- aIdlType = "int" ;
- break;
- }
- case SALOME_ModuleCatalog::DATASTREAM_FLOAT : {
- aIdlType = "float" ;
- break;
- }
- case SALOME_ModuleCatalog::DATASTREAM_DOUBLE : {
- aIdlType = "double" ;
- break;
- }
- case SALOME_ModuleCatalog::DATASTREAM_STRING : {
- aIdlType = "string" ;
- break;
- }
- case SALOME_ModuleCatalog::DATASTREAM_BOOLEAN : {
- aIdlType = "bool" ;
- break;
- }
- default: {
- aIdlType = "Unknown" ;
- break;
- }
- }
- return aIdlType ;
-}
-
-SALOME_ModuleCatalog::DataStreamType StringToDataStreamType( const char * aIdlType ) {
- SALOME_ModuleCatalog::DataStreamType aDataStreamType ;
- if ( !strcmp( aIdlType , "Unknown" ) ) {
- aDataStreamType = SALOME_ModuleCatalog::DATASTREAM_UNKNOWN ;
- }
- else if ( !strcmp( aIdlType , "int" ) ) {
- aDataStreamType = SALOME_ModuleCatalog::DATASTREAM_INTEGER ;
- }
- else if ( !strcmp( aIdlType , "float" ) ) {
- aDataStreamType = SALOME_ModuleCatalog::DATASTREAM_FLOAT ;
- }
- else if ( !strcmp( aIdlType , "double" ) ) {
- aDataStreamType = SALOME_ModuleCatalog::DATASTREAM_DOUBLE ;
- }
- else if ( !strcmp( aIdlType , "string" ) ) {
- aDataStreamType = SALOME_ModuleCatalog::DATASTREAM_STRING ;
- }
- else if ( !strcmp( aIdlType , "bool" ) ) {
- aDataStreamType = SALOME_ModuleCatalog::DATASTREAM_BOOLEAN ;
- }
- else {
- aDataStreamType = SALOME_ModuleCatalog::DATASTREAM_UNKNOWN ;
- }
- return aDataStreamType ;
-}
-
-string KindOfDataStreamTraceToString( SUPERV::KindOfDataStreamTrace aDataStreamTrace ) {
- string aTrace ;
- switch ( aDataStreamTrace ) {
- case SUPERV::WithoutTrace :
- aTrace = "SANS";
- break;
- case SUPERV::SummaryTrace :
- aTrace = "SUCCINT";
- break;
- case SUPERV::DetailedTrace :
- aTrace = "DETAILLE";
- break;
- default :
- aTrace = "UndefinedTrace";
- break;
- }
- return aTrace ;
-}
-
-string DataStreamDependencyToString( const SALOME_ModuleCatalog::DataStreamDependency aDataStreamDependency ) {
- string aDependency ;
- switch ( aDataStreamDependency ) {
- case SALOME_ModuleCatalog::DATASTREAM_UNDEFINED :
- aDependency = "U" ;
- break;
- case SALOME_ModuleCatalog::DATASTREAM_TEMPORAL :
- aDependency = "T" ;
- break;
- case SALOME_ModuleCatalog::DATASTREAM_ITERATIVE :
- aDependency = "I" ;
- break;
- default :
- aDependency = "?" ;
- break;
- }
-
- return aDependency;
-}
-
-string DataStreamToString( const SALOME_ModuleCatalog::DataStreamType aDataStreamType ) {
- string aStreamType ;
- switch ( aDataStreamType ) {
- case SALOME_ModuleCatalog::DATASTREAM_UNKNOWN : {
- aStreamType = "Unknown" ;
- break;
- }
- case SALOME_ModuleCatalog::DATASTREAM_INTEGER : {
- aStreamType = "ENTIER" ;
- break;
- }
- case SALOME_ModuleCatalog::DATASTREAM_FLOAT : {
- aStreamType = "REEL" ;
- break;
- }
- case SALOME_ModuleCatalog::DATASTREAM_DOUBLE : {
- aStreamType = "DOUBLE" ;
- break;
- }
- case SALOME_ModuleCatalog::DATASTREAM_STRING : {
- aStreamType = "CHAINE" ;
- break;
- }
- case SALOME_ModuleCatalog::DATASTREAM_BOOLEAN : {
- aStreamType = "LOGIQUE" ;
- break;
- }
- default: {
- aStreamType = "?" ;
- break;
- }
- }
- return aStreamType ;
-}
-
-ostream & operator<< (ostream & f ,const SALOME_ModuleCatalog::DataStreamType & s ) {
- switch (s) {
- case SALOME_ModuleCatalog::DATASTREAM_UNKNOWN :
- f << "DATASTREAM_UNKNOWN";
- break;
- case SALOME_ModuleCatalog::DATASTREAM_INTEGER :
- f << "DATASTREAM_INTEGER";
- break;
- case SALOME_ModuleCatalog::DATASTREAM_FLOAT :
- f << "DATASTREAM_FLOAT";
- break;
- case SALOME_ModuleCatalog::DATASTREAM_DOUBLE :
- f << "DATASTREAM_DOUBLE";
- break;
- case SALOME_ModuleCatalog::DATASTREAM_STRING :
- f << "DATASTREAM_STRING";
- break;
- case SALOME_ModuleCatalog::DATASTREAM_BOOLEAN :
- f << "DATASTREAM_BOOLEAN";
- break;
- default :
- f << "DATASTREAM_UNKNOWN";
- break;
- }
-
- return f;
-}
-
+++ /dev/null
-// SUPERV GraphBase : contains fondamental classes for Services, Input Ports, Output Ports Links and Nodes.
-//
-// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
-// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
-//
-// This library is free software; you can redistribute it and/or
-// modify it under the terms of the GNU Lesser General Public
-// License as published by the Free Software Foundation; either
-// version 2.1 of the License.
-//
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-// Lesser General Public License for more details.
-//
-// You should have received a copy of the GNU Lesser General Public
-// License along with this library; if not, write to the Free Software
-// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-//
-// See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
-//
-//
-//
-// File : DataFlowBase_Base.hxx
-// Author : Jean Rahuel, CEA
-// Module : SUPERV
-// $Header:
-
-#ifndef _DATAFLOW_BASE_HXX
-#define _DATAFLOW_BASE_HXX
-
-//#include <strstream>
-#include <iostream>
-#include <fstream>
-#include <sstream>
-#include <iomanip>
-#include <string>
-#include <map>
-#include <vector>
-#include <list>
-
-#include <qdom.h>
-
-#include "CORBA.h"
-
-#include <SALOMEconfig.h>
-#include CORBA_CLIENT_HEADER(SUPERV)
-
-#include "utilities.h"
-#include "OpUtil.hxx"
-
-extern char *SuperVision_Version ;
-
-extern char *NULLSTRING ;
-
-extern char *FACTORYSERVER ;
-
-inline char * my_strdup( const char * s ) {
- if (s == NULL) return NULL;
-
- size_t l = strlen(s) + 1;
- char * t = new char[l];
- strcpy(t, s);
- return t;
-}
-
-inline char * my_strblkdup( const char * s ) {
- if (s == NULL) return NULL ;
-
- size_t l = strlen(s) + 1 ;
- int i ;
- for ( i = l - 2 ; i >= 0 ; i-- ) {
- if ( s[i] != ' ' ) {
- break ;
- }
- l = l - 1 ;
- }
- char * t = new char[l] ;
- strncpy(t, s , l-1) ;
- t[l-1] = '\0' ;
- return t;
-}
-
-string DataStreamTypeToString( const SALOME_ModuleCatalog::DataStreamType aDataStreamType ) ;
-SALOME_ModuleCatalog::DataStreamType StringToDataStreamType( const char * aIdlType ) ;
-
-string KindOfDataStreamTraceToString( SUPERV::KindOfDataStreamTrace aDataStreamTrace ) ;
-
-string DataStreamDependencyToString( const SALOME_ModuleCatalog::DataStreamDependency aDataStreamDependency ) ;
-
-string DataStreamToString( const SALOME_ModuleCatalog::DataStreamType aDataStreamType ) ;
-
-enum StatusOfPort { NotConnected , PortConnected , PortAndDataConnected ,
- DataConnected } ;
-
-namespace GraphBase {
-
- struct SCoord {
- long theX ;
- long theY ;
- };
-
- typedef vector<SCoord> ListOfCoords;
-
- typedef string FuncName ;
-
- typedef vector< FuncName > ListOfFuncName ;
-
- typedef vector<const SUPERV::ListOfStrings *> ListOfPythonFunctions ;
-
- typedef vector<SALOME_ModuleCatalog::ServicesParameter> ListOfParameters;
-
- struct InDataStreamParameter {
- SALOME_ModuleCatalog::ServicesDataStreamParameter theDataStreamParameter ;
- SUPERV::KindOfSchema theKindOfSchema ;
- SUPERV::KindOfInterpolation theKindOfInterpolation ;
- SUPERV::KindOfExtrapolation theKindOfExtrapolation ;
- };
- typedef vector<InDataStreamParameter> ListOfInDataStreamParameters;
-
- struct OutDataStreamParameter {
- SALOME_ModuleCatalog::ServicesDataStreamParameter theDataStreamParameter ;
- long theNumberOfValues ;
- };
- typedef vector<OutDataStreamParameter> ListOfOutDataStreamParameters;
-
- struct SNode {
- string theComponentName ;
- string theInterfaceName ;
- string theName ;
- SUPERV::KindOfNode theKind ;
- long theTimeout ;
- SUPERV::KindOfDataStreamTrace theDataStreamTrace ;
- double theDeltaTime ;
- string theCoupledNode ;
-// int theDataStreamInArgsNumber ;
-// int theDataStreamOutArgsNumber ;
- SALOME_ModuleCatalog::Service theService ;
- ListOfInDataStreamParameters theListOfInDataStreams ;
- ListOfOutDataStreamParameters theListOfOutDataStreams ;
- ListOfFuncName theListOfFuncName ;
- ListOfPythonFunctions theListOfPythonFunctions ;
- SUPERV::SDate theFirstCreation ;
- SUPERV::SDate theLastModification ;
- string theEditorRelease ;
- string theAuthor ;
- string theContainer;
- string theComment;
- SCoord theCoords ;
- };
-
- typedef vector<SNode> ListOfNodes;
-
- struct ServicesData {
- SALOME_ModuleCatalog::ServicesParameter aDataParameter ;
- CORBA::Any aDataValue;
- };
-
- typedef vector<ServicesData> ListOfServicesData;
-
- struct SLink {
- string FromNodeName ;
- string FromServiceParameterName ;
- string ToNodeName ;
- string ToServiceParameterName ;
- CORBA::Any aLinkValue;
- ListOfCoords aListOfCoords ;
- };
-
- typedef vector<SLink> ListOfLinks;
-
- struct SGraph {
- SNode Info ;
- ListOfNodes Nodes ;
- ListOfLinks Links ;
- ListOfLinks Datas ;
- };
-
- typedef vector<SGraph> ListOfGraphs;
-
- class Base {
-
- private:
-
- CORBA::ORB_ptr _Orb ;
-
- public:
-
- int * _prof_debug ;
- ofstream * _fdebug ;
-
- Base() ;
- virtual ~Base() {} ;
-
- void SetDebug( CORBA::ORB_ptr ORB ,
- int * prof_debug , ofstream * fdebug ) ;
-
- char * ObjectToString( CORBA::Object_ptr obj ) const ;
- CORBA::Object_ptr StringToObject(char * obj ) const ;
-
- } ;
-# ifdef _DEBUG_
-
-// *GraphBase::Base::_fdebug << " " /*<< setw(3*(*GraphBase::Base::_prof_debug)) */<< " "
-
-# define cdebug if ( GraphBase::Base::_fdebug ) *GraphBase::Base::_fdebug << " " << " "
-
-# define cdebug_in if ( GraphBase::Base::_fdebug ) *GraphBase::Base::_fdebug << endl << "-->" << " "
-
-# define cdebug_out if ( GraphBase::Base::_fdebug ) *GraphBase::Base::_fdebug << endl << "<--" << " "
-
-# else
-
-# define cdebug while (false) std::cerr
-# define cdebug_in cdebug
-# define cdebug_out cdebug
-# define debugFile(x)
-
-# endif
-
-} ;
-
-ostream & operator<< (ostream &,const SALOME_ModuleCatalog::DataStreamType &);
-
-#endif
+++ /dev/null
-// SUPERV GraphBase : contains fondamental classes for Services, Input Ports, Output Ports Links and Nodes.
-//
-// Copyright (C) 2003 CEA/DEN, EDF R&D
-//
-//
-//
-// File : DataFlowBase_ComputingNode.cxx
-// Author : Jean Rahuel, CEA
-// Module : SUPERV
-// $Header:
-
-using namespace std;
-//#include <sstream>
-//#include <iostream>
-
-#include "DataFlowBase_StreamGraph.hxx"
-//#include "DataFlowBase_LoopNode.hxx"
-
-static void InitFields( //SUPERV::KindOfNode &_Kind ,
- SUPERV::SDate &_FirstCreation ,
- SUPERV::SDate &_LastModification ,
- char * &_EditorRelease ,
- char * &_Author ,
- char * &_Comment ,
- //bool &_HeadNode ,
- bool &_GeneratedName ,
- //int &_DataStreamInPortsNumber ,
- //int &_DataStreamOutPortsNumber ,
- int &_ConnectedInPortsNumber ,
- int &_DecrConnectedInPortsNumber ) {
- //int &_LinkedNodesSize ,
- //int &_SubGraphNumber ) {
- time_t T = time(NULL);
- struct tm * Tm = localtime(&T);
-
-// _Kind = SUPERV::DataFlowGraph ;
-
- _FirstCreation.Second = _LastModification.Second = Tm->tm_sec;
- _FirstCreation.Minute = _LastModification.Minute = Tm->tm_min;
- _FirstCreation.Hour = _LastModification.Hour = Tm->tm_hour;
- _FirstCreation.Day = _LastModification.Day = Tm->tm_mday;
- _FirstCreation.Month = _LastModification.Month = Tm->tm_mon + 1;
- _FirstCreation.Year = _LastModification.Year = Tm->tm_year + 1900;
-
- _EditorRelease = new char[ strlen( SuperVision_Version ) + 1 ] ;
- strcpy( _EditorRelease , SuperVision_Version ) ;
- _Author = NULLSTRING ;
-// _Computer = new char[ strlen( FACTORYSERVER ) + 1 ] ;
-// strcpy( _Computer , FACTORYSERVER ) ;
- _Comment = NULLSTRING ;
-
-// _SubGraphNumber = 0 ;
-// _HeadNode = false ;
- _GeneratedName = false ;
-
-// _DataStreamInPortsNumber = 0 ;
-// _DataStreamOutPortsNumber = 0 ;
-
- _ConnectedInPortsNumber = 0 ;
- _DecrConnectedInPortsNumber = 0 ;
-// _LinkedNodesSize = 0 ;
-// _SubGraphNumber = 0 ;
-}
-
-GraphBase::ComputingNode::ComputingNode() :
-// GraphBase::PortsOfNode::PortsOfNode() {
- GraphBase::StreamNode::StreamNode() {
-
- InitFields( //_Kind ,
- _FirstCreation ,
- _LastModification ,
- _EditorRelease ,
- _Author ,
- _Comment ,
- //_HeadNode ,
- _GeneratedName ,
- //_DataStreamInPortsNumber ,
- //_DataStreamOutPortsNumber ,
- _ConnectedInPortsNumber ,
- _DecrConnectedInPortsNumber ) ;
- //_LinkedNodesSize ,
- //_SubGraphNumber ) ;
- Kind( SUPERV::DataFlowGraph ) ;
- _NamingService = NULL ;
- _Node = SUPERV::CNode::_nil() ;
- _InNode = NULL ;
- _ThreadNo = pthread_self() ;
- cdebug << "GraphBase::Node::Node " << this << " " << endl ;
-
-}
-
-GraphBase::ComputingNode::ComputingNode( CORBA::ORB_ptr ORB ,
- SALOME_NamingService* ptrNamingService ,
- const char * aDataFlowName ,
- int * Graph_prof_debug ,
- ofstream * Graph_fdebug ) :
-// GraphBase::PortsOfNode::PortsOfNode( aDataFlowName ) {
- GraphBase::StreamNode::StreamNode( aDataFlowName ) {
-
-// MESSAGE( "GraphBase::ComputingNode::ComputingNode " << aDataFlowName << " Graph_prof_debug " << Graph_prof_debug ) ;
- InitFields( //_Kind ,
- _FirstCreation ,
- _LastModification ,
- _EditorRelease ,
- _Author ,
- _Comment ,
- //_HeadNode ,
- _GeneratedName ,
- //_DataStreamInPortsNumber ,
- //_DataStreamOutPortsNumber ,
- _ConnectedInPortsNumber ,
- _DecrConnectedInPortsNumber ) ;
- //_LinkedNodesSize ,
- //_SubGraphNumber ) ;
-
- Kind( SUPERV::DataFlowGraph ) ;
- _ORB = CORBA::ORB::_duplicate( ORB ) ;
- _NamingService = ptrNamingService ;
- _Node = SUPERV::CNode::_nil() ;
- _InNode = NULL ;
- _ThreadNo = pthread_self() ;
-
- if ( Graph_prof_debug ) {
-// MESSAGE( "GraphBase::ComputingNode::ComputingNode --> SetDebug" ) ;
-// cout << "GraphBase::ComputingNode::ComputingNode --> SetDebug" << endl ;
- _Graph_prof_debug = Graph_prof_debug ;
- _Graph_fdebug = Graph_fdebug ;
- SetDebug( ORB , Graph_prof_debug , Graph_fdebug ) ;
- }
-// else {
-// cout << "GraphBase::ComputingNode::ComputingNode NO SetDebug" << endl ;
-// }
- cdebug << "GraphBase::ComputingNode::ComputingNode " << this
- << " Name '" << Name() << "' " << _FirstCreation
- << " " << _LastModification << endl ;
-}
-
-GraphBase::ComputingNode::ComputingNode( CORBA::ORB_ptr ORB ,
- SALOME_NamingService* ptrNamingService ,
- const SALOME_ModuleCatalog::Service& aService ,
- const char *NodeName ,
- const SUPERV::KindOfNode akind ,
- const SUPERV::SDate NodeFirstCreation ,
- const SUPERV::SDate NodeLastModification ,
- const char * NodeEditorRelease ,
- const char * NodeAuthor ,
- const char * NodeComment ,
- const bool GeneratedName ,
- const long X ,
- const long Y ,
- int * Graph_prof_debug ,
- ofstream * Graph_fdebug ) :
-// GraphBase::PortsOfNode::PortsOfNode() {
- GraphBase::StreamNode::StreamNode( NodeName ) {
-
- _ORB = CORBA::ORB::_duplicate( ORB ) ;
- _NamingService = ptrNamingService ;
- _Node = SUPERV::CNode::_nil() ;
- _InNode = NULL ;
- _ThreadNo = pthread_self() ;
-
- Kind( akind ) ;
-// _Kind = akind ;
-
- time_t T = time(NULL);
- struct tm * Tm = localtime(&T);
-
- _FirstCreation.Second = _LastModification.Second = Tm->tm_sec;
- _FirstCreation.Minute = _LastModification.Minute = Tm->tm_min;
- _FirstCreation.Hour = _LastModification.Hour = Tm->tm_hour;
- _FirstCreation.Day = _LastModification.Day = Tm->tm_mday;
- _FirstCreation.Month = _LastModification.Month = Tm->tm_mon + 1;
- _FirstCreation.Year = _LastModification.Year = Tm->tm_year + 1900;
-
- if ( NodeEditorRelease != NULLSTRING ) {
- _EditorRelease = new char[ strlen( NodeEditorRelease ) + 1 ] ;
- strcpy( _EditorRelease , NodeEditorRelease ) ;
- }
- else {
- _EditorRelease = new char[ strlen( SuperVision_Version ) + 1 ] ;
- strcpy( _EditorRelease , SuperVision_Version ) ;
- }
-
- if ( NodeAuthor != NULLSTRING ) {
- _Author = new char[ strlen( NodeAuthor ) + 1 ] ;
- strcpy( _Author , NodeAuthor ) ;
- }
- else {
- _Author = NULLSTRING ;
- }
-
- if ( NodeComment != NULLSTRING ) {
- _Comment = new char[ strlen( NodeComment ) + 1 ] ;
- strcpy( _Comment , NodeComment ) ;
- }
- else {
- _Comment = NULLSTRING ;
- }
-
-// _SubGraphNumber = 0 ;
-// _HeadNode = false ;
- _GeneratedName = GeneratedName ;
-
-// const char *aNodeName = NodeName ;
-// _Name = new char[strlen(aNodeName)+1];
-// strcpy(_Name , aNodeName);
-
-// _DataStreamInPortsNumber = 0 ;
-// _DataStreamOutPortsNumber = 0 ;
-
- _ConnectedInPortsNumber = 0 ;
- _DecrConnectedInPortsNumber = 0 ;
-// _LinkedNodesSize = 0 ;
-
- _X = X ;
- _Y = Y ;
-
- _Graph_prof_debug = Graph_prof_debug ;
- _Graph_fdebug = Graph_fdebug ;
-// MESSAGE( "GraphBase::ComputingNode::ComputingNode " << NodeName
-// << " _Graph_prof_debug " << _Graph_prof_debug ) ;
- SetDebug( ORB , Graph_prof_debug , Graph_fdebug ) ;
- cdebug_in << "GraphBase::ComputingNode::ComputingNode(" << aService.ServiceName << "," << NodeName << ","
- << akind << ")" << endl;
-
-
- DefPortsOfNode( ORB , aService , NamePtr() , Kind() , Graph_prof_debug , Graph_fdebug ) ;
- cdebug << "GraphBase::ComputingNode::ComputingNode " << this
- << " Name '" << Name()
- << "' KindOfNode " << Kind()
- << " ServiceName '" << ServiceName() << "' In(" << ServiceInParameter().length()
- << ") Out(" << ServiceOutParameter().length() << ")" << endl ;
-
- cdebug_out << "GraphBase::ComputingNode::ComputingNode" << endl;
-}
-
-GraphBase::ComputingNode::~ComputingNode() {
- cdebug << "GraphBase::ComputingNode::~ComputingNode " << this
- << " Name() "<< Name() << " _Comment "
- << (void *) _Comment << " " << _Comment << " " << endl ;
-}
-
-//->StreamNode bool GraphBase::ComputingNode::Name( const char * aName) {
-//->StreamNode cdebug_in << "GraphBase::ComputingNode::Name " << _Name << endl;
-//->StreamNode if ( _Name ) {
-//->StreamNode cdebug << "GraphBase::ComputingNode::ReName " << _Name << " --> " << aName << endl ;
-//->StreamNode delete [] _Name ;
-//->StreamNode }
-//->StreamNode _Name = new char[strlen(aName)+1] ;
-//->StreamNode strcpy( _Name , aName ) ;
-//->StreamNode cdebug_out << "GraphBase::ComputingNode::Name " << _Name << endl;
-//->StreamNode return true ;
-//->StreamNode }
-
-SUPERV::SDate GraphBase::ComputingNode::FirstCreation () const {
-// cdebug << "GraphBase::ComputingNode::FirstCreation "
-// << " Name '" << Name() << "' " << _FirstCreation << " "
-// << _LastModification << endl ;
- return _FirstCreation;
-}
-
-SUPERV::SDate GraphBase::ComputingNode::LastModification () const {
- return _LastModification ;
-}
-
-void GraphBase::ComputingNode::FirstCreation(const SUPERV::SDate aDate ) {
- _FirstCreation = aDate ;
-}
-
-void GraphBase::ComputingNode::LastModification(const SUPERV::SDate aDate ) {
- _LastModification = aDate ;
-}
-
-bool GraphBase::ComputingNode::EditorRelease(const char * c){
- if ( _EditorRelease && _EditorRelease != NULLSTRING )
- delete _EditorRelease;
- _EditorRelease = my_strdup(c);
- return true ;
-}
-
-bool GraphBase::ComputingNode::Author(const char * a) {
- cdebug_in << "GraphBase::ComputingNode::Author " << _Author << endl;
- if ( _Author && _Author != NULLSTRING )
- delete _Author;
- _Author = my_strdup(a);
- cdebug_out << "GraphBase::ComputingNode::Author " << _Author << endl;
- return true ;
-}
-
-bool GraphBase::ComputingNode::Comment(const char *c) {
- cdebug_in << "GraphBase::ComputingNode::Comment " << _Comment << endl;
- if ( _Comment != NULLSTRING )
- delete [] _Comment;
- _Comment = my_strdup(c);
- cdebug_out << "GraphBase::ComputingNode::Comment " << _Comment << endl;
- return true ;
-}
-
-void GraphBase::ComputingNode::NodePort( const char * NodeName ,
- const char * ServiceParameterName ,
- char ** aNode , char ** aPort ) {
- if ( strcmp( NodeName , Name() ) ) {
- *aNode = my_strdup( NodeName ) ;
- *aPort = my_strdup( ServiceParameterName ) ;
- }
- else {
- char * BPort = strchr( ServiceParameterName , '\\' ) ;
- if ( BPort ) {
- int len = BPort - ServiceParameterName ;
- *aNode = new char [ len + 1 ] ;
- strncpy( *aNode , ServiceParameterName , len ) ;
- (*aNode)[ len ] = '\0' ;
- *aPort = my_strdup( &BPort[ 1 ] ) ;
- }
- else {
- *aNode = my_strdup( NULLSTRING ) ;
- *aPort = my_strdup( NULLSTRING ) ;
- }
- }
-}
-
-bool GraphBase::ComputingNode::IsLinked(const char * ToServiceParameterName ) {
- bool RetVal = false ;
- const GraphBase::InPort * thePort = GetInPort( ToServiceParameterName ) ;
- if ( thePort ) {
- RetVal = thePort->IsConnected() ;
- }
- else {
- const GraphBase::OutPort * thePort = GetOutPort( ToServiceParameterName ) ;
- if ( thePort ) {
- RetVal = thePort->IsConnected() ;
- }
- }
- return RetVal ;
-}
-
-bool GraphBase::ComputingNode::HasInput(const char * ToServiceParameterName ) {
- bool RetVal = false ;
- const GraphBase::InPort * thePort = GetInPort( ToServiceParameterName ) ;
- if ( IsDataFlowNode() && thePort ) {
- RetVal = true ;
- }
- else if ( thePort ) {
-// cout << "GraphBase::ComputingNode::HasInput theInPort " << thePort << " " << thePort->PortName() << " of "
-// << thePort->NodeName() << " IsDataConnected " << thePort->IsDataConnected() << " OutPort "
-// << thePort->GetOutPort() << endl ;
- RetVal = thePort->IsDataConnected() ;
- }
- else {
- const GraphBase::OutPort * thePort = GetOutPort( ToServiceParameterName ) ;
- if ( thePort ) {
- RetVal = thePort->IsDataConnected() ;
- }
- }
- return RetVal ;
-}
-
-GraphBase::SNode * GraphBase::ComputingNode::GetInfo() {
- cdebug_in << "GraphBase::ComputingNode::GetInfo" << endl;
- GraphBase::SNode * Info = new GraphBase::SNode ;
-// Info->theComponentName = ComponentName() ;
-// Info->theInterfaceName = InterfaceName() ;
- Info->theName = Name() ;
- Info->theKind = Kind() ;
- if ( IsDataStreamNode() ) {
- long Timeout ;
- SUPERV::KindOfDataStreamTrace DataStreamTrace ;
- double DeltaTime ;
- ((GraphBase::StreamGraph * ) this)->StreamParams( Timeout , DataStreamTrace , DeltaTime ) ;
- Info->theTimeout = Timeout ;
- Info->theDataStreamTrace = DataStreamTrace ;
- Info->theDeltaTime = DeltaTime ;
- }
- Info->theService = *GetService() ;
-// Info->theListOfParameters = *GetListOfParameters() ;
- Info->theFirstCreation = FirstCreation() ;
- Info->theLastModification = LastModification() ;
- Info->theEditorRelease = EditorRelease() ;
- Info->theAuthor = Author() ;
-// Info->theContainer = Computer() ;
- Info->theComment = Comment() ;
- Info->theCoords.theX = GraphBase::ComputingNode::XCoordinate() ;
- Info->theCoords.theY = GraphBase::ComputingNode::YCoordinate() ;
- cdebug_out << "GraphBase::ComputingNode::GetInfo" << endl;
- return Info ;
-}
-
-void GraphBase::ComputingNode::DelInPort( const char * InputParameterName ) {
- GraphBase::PortsOfNode::DelInPort( InputParameterName ) ;
-}
-void GraphBase::ComputingNode::DelOutPort( const char * OutputParameterName ) {
- GraphBase::PortsOfNode::DelOutPort( OutputParameterName ) ;
-}
-
-GraphBase::InPort * GraphBase::ComputingNode::AddInPort( const char * InputParameterName ,
- const char * InputParameterType ,
- const SUPERV::KindOfPort aKindOfPort ) {
- cdebug << "AddInPort " << Name() << " ConnectedInPortsNumber " << ConnectedInPortsNumber() << endl ;
- return GraphBase::PortsOfNode::AddInPort( _ORB , NamePtr() ,
- Kind() ,
- InputParameterName ,
- InputParameterType ,
- aKindOfPort ,
-// DataStreamInPortsNumber() ,
- _Graph_prof_debug , _Graph_fdebug ) ;
-}
-GraphBase::OutPort * GraphBase::ComputingNode::AddOutPort( const char * OutputParameterName ,
- const char * OutputParameterType ,
- const SUPERV::KindOfPort aKindOfPort ) {
- cdebug << "AddOutPort " << Name() << " ConnectedInPortsNumber " << ConnectedInPortsNumber() << endl ;
- return GraphBase::PortsOfNode::AddOutPort( _ORB , NamePtr() ,
- Kind() ,
- OutputParameterName ,
- OutputParameterType ,
- aKindOfPort ,
-// DataStreamOutPortsNumber() ,
- _Graph_prof_debug , _Graph_fdebug ) ;
-}
-
-void GraphBase::ComputingNode::DelInDataStreamPort( const char * InputParameterName ) {
- GraphBase::PortsOfNode::DelInPort( InputParameterName ) ;
-}
-void GraphBase::ComputingNode::DelOutDataStreamPort( const char * OutputParameterName ) {
- GraphBase::PortsOfNode::DelOutPort( OutputParameterName ) ;
-}
-
-GraphBase::InDataStreamPort * GraphBase::ComputingNode::AddInDataStreamPort( const char * InputParameterName ,
- const SALOME_ModuleCatalog::DataStreamType InputParameterType ,
- const SALOME_ModuleCatalog::DataStreamDependency aDependency ,
- const SUPERV::KindOfPort aKindOfPort ) {
-// IncrDataStreamInPorts() ;
- GraphBase::InDataStreamPort * aDataStreamPort ;
- aDataStreamPort = (GraphBase::InDataStreamPort * ) GraphBase::PortsOfNode::AddInPort( _ORB , NamePtr() ,
- Kind() ,
- InputParameterName ,
- DataStreamTypeToString( InputParameterType ).c_str() ,
- aKindOfPort ,
-// DataStreamInPortsNumber() ,
- _Graph_prof_debug , _Graph_fdebug ) ;
- aDataStreamPort->Dependency( aDependency ) ;
- if ( aDependency == SALOME_ModuleCatalog::DATASTREAM_TEMPORAL ) {
- aDataStreamPort->SetParams( SUPERV::TI , SUPERV::L1 , SUPERV::EXTRANULL ) ;
- }
- return aDataStreamPort ;
-}
-GraphBase::OutDataStreamPort * GraphBase::ComputingNode::AddOutDataStreamPort( const char * OutputParameterName ,
- const SALOME_ModuleCatalog::DataStreamType OutputParameterType ,
- const SALOME_ModuleCatalog::DataStreamDependency aDependency ,
- const SUPERV::KindOfPort aKindOfPort ) {
-// IncrDataStreamOutPorts() ;
- GraphBase::OutDataStreamPort * aDataStreamPort ;
- aDataStreamPort = (GraphBase::OutDataStreamPort * ) GraphBase::PortsOfNode::AddOutPort( _ORB , NamePtr() ,
- Kind() ,
- OutputParameterName ,
- DataStreamTypeToString( OutputParameterType ).c_str() ,
- aKindOfPort ,
-// DataStreamOutPortsNumber() ,
- _Graph_prof_debug , _Graph_fdebug ) ;
- aDataStreamPort->Dependency( aDependency ) ;
- return aDataStreamPort ;
-}
-
-
-#include <sys/time.h>
-#include <sys/resource.h>
-#include <unistd.h>
-
-const long GraphBase::ComputingNode::CpuUsed() {
- struct rusage usage ;
- if ( getrusage( RUSAGE_SELF , &usage ) == -1 ) {
- perror("GraphBase::CpuUsed") ;
- return 0 ;
- }
-// return usage.ru_utime.__time_t tv_sec ;
- cdebug << "CpuUsed " << usage.ru_utime.tv_sec << " " << usage.ru_utime.tv_usec << " "
- << usage.ru_stime.tv_sec << " " << usage.ru_stime.tv_usec << endl ;
- return usage.ru_utime.tv_sec ;
-}
-
-#if 0
-const GraphBase::ListOfParameters * GraphBase::ComputingNode::GetListOfParameters() const {
- GraphBase::ListOfParameters * aListOfParameters = new GraphBase::ListOfParameters ;
- if ( IsInLineNode() || IsGOTONode() ) {
- unsigned int i;
- for ( i = 0 ; i < GetNodeInPortsSize() ; i++ ) {
- const InPort * anInPort = GetNodeInPort( i ) ;
- if ( anInPort->IsBus() ) {
- int size = aListOfParameters->size() ;
- aListOfParameters->resize( size + 1 ) ;
- (*aListOfParameters)[size].theInParameter.Parametername = anInPort->PortName() ;
- (*aListOfParameters)[size].theInParameter.Parametertype = anInPort->PortType() ;
- const OutPort * anOutPort = GetNodeOutPort( anInPort->PortIndex() ) ;
- (*aListOfParameters)[size].theOutParameter.Parametername = anOutPort->PortName() ;
- (*aListOfParameters)[size].theOutParameter.Parametertype = anOutPort->PortType() ;
- }
- }
- }
- return aListOfParameters ;
-}
-#endif
-
-bool GraphBase::ComputingNode::SaveXML( QDomDocument & Graph , QDomElement & info ,
- const char * ComponentName ,
- const char * InterfaceName ,
- const char * Computer ,
- const char * CoupledNode ,
- const ListOfFuncName FuncNames ,
- const ListOfPythonFunctions PythonFunctions ,
- int XCoordinate , int YCoordinate ) const {
- cdebug_in << "SaveXML Node " << Name() << endl ;
- QDomElement node = Graph.createElement( "node" ) ;
- info.appendChild( node ) ;
- QDomElement componentname = Graph.createElement( "component-name" ) ;
- QDomText aField ;
- if ( strlen( ComponentName ) ) {
-// f << Tabs << "<component-name>" << ComponentName << "</component-name>"
-// << endl ;
-// componentname.setNodeValue( ComponentName ) ;
- aField = Graph.createTextNode( ComponentName ) ;
- }
- else {
-// f << Tabs << "<component-name>?</component-name>" << endl ;
-// componentname.setNodeValue( "?" ) ;
- aField = Graph.createTextNode( "?" ) ;
- }
- node.appendChild( componentname ) ;
- componentname.appendChild( aField ) ;
-
- QDomElement interfacename = Graph.createElement("interface-name") ;
- if ( strlen( InterfaceName ) ) {
-// f << Tabs << "<interface-name>" << InterfaceName << "</interface-name>"
-// << endl ;
-// interfacename.setAttribute("name" , InterfaceName ) ;
- aField = Graph.createTextNode( InterfaceName ) ;
- }
- else {
-// f << Tabs << "<interface-name>?</interface-name>" << endl ;
-// interfacename.setAttribute("name" , "?" ) ;
- aField = Graph.createTextNode( "?" ) ;
- }
- node.appendChild(interfacename) ;
- interfacename.appendChild( aField ) ;
-
-// f << Tabs << "<node-name>" << Name() << "</node-name>" << endl ;
- QDomElement nodename = Graph.createElement("node-name") ;
- aField = Graph.createTextNode( Name() ) ;
- node.appendChild( nodename ) ;
- nodename.appendChild( aField ) ;
-
-// f << Tabs << "<kind>" << (int ) Kind() << "</kind>" << endl ;
- QDomElement kind = Graph.createElement( "kind" ) ;
- QString aKind ;
-
- // san - Presumably, data stream graphs should be always saved with kind = DataStreamGraph
-// JR : the bug was at line 566 : && HasDataStream() != 0 was missing
- if ( IsDataFlowNode() || ( IsDataStreamNode() && HasDataStream() == 0 ) ) {
- aKind = aKind.setNum( SUPERV::DataFlowGraph ) ;
- }
- else {
- aKind = aKind.setNum( Kind() ) ;
- }
- aField = Graph.createTextNode( aKind ) ;
- node.appendChild( kind ) ;
- kind.appendChild( aField ) ;
-
- if ( IsDataStreamNode() && HasDataStream() != 0 ) {
- long Timeout ;
- SUPERV::KindOfDataStreamTrace DataStreamTrace ;
- double DeltaTime ;
- ((GraphBase::StreamGraph * ) this)->StreamParams( Timeout , DataStreamTrace , DeltaTime ) ;
-
- QDomElement timeout = Graph.createElement("streamgraph-timeout") ;
- QString aTimeout ;
- aTimeout = aTimeout.setNum( Timeout ) ;
- aField = Graph.createTextNode( aTimeout ) ;
- node.appendChild( timeout ) ;
- timeout.appendChild( aField ) ;
-
- QDomElement datastreamtrace = Graph.createElement("streamgraph-datastreamtrace") ;
- QString aDataStreamTrace ;
- aDataStreamTrace = aDataStreamTrace.setNum( DataStreamTrace ) ;
- aField = Graph.createTextNode( aDataStreamTrace ) ;
- node.appendChild( datastreamtrace ) ;
- datastreamtrace.appendChild( aField ) ;
-
- QDomElement deltatime = Graph.createElement("streamgraph-deltatime") ;
- QString aDeltaTime ;
- aDeltaTime = aDeltaTime.setNum( DeltaTime ) ;
- aField = Graph.createTextNode( aDeltaTime ) ;
- node.appendChild( deltatime ) ;
- deltatime.appendChild( aField ) ;
- }
-
- QDomElement couplednode = Graph.createElement("coupled-node") ;
- if ( IsGOTONode() || IsLoopNode() || IsEndLoopNode() ||
- IsSwitchNode() || IsEndSwitchNode() ) {
-// f << Tabs << "<coupled-node>" << CoupledNode << "</coupled-node>"
-// << endl ;
- aField = Graph.createTextNode( CoupledNode ) ;
- }
- else {
-// f << Tabs << "<coupled-node>?</coupled-node>" << endl ;
- aField = Graph.createTextNode( "?" ) ;
- }
- node.appendChild(couplednode) ;
- couplednode.appendChild( aField ) ;
-
-// f << Tabs << "<service>" << endl ;
- QDomElement service = Graph.createElement("service") ;
- node.appendChild(service) ;
- QDomElement servicename = Graph.createElement("service-name") ;
- if ( strlen( ServiceName() ) ) {
-// f << Tabs << " <service-name>" << ServiceName() << "</service-name>" << endl ;
- aField = Graph.createTextNode( ServiceName() ) ;
- }
- else {
-// f << Tabs << " <service-name>?</service-name>" << endl ;
- aField = Graph.createTextNode( "?" ) ;
- }
- service.appendChild(servicename) ;
- servicename.appendChild( aField ) ;
-
- QDomElement inParameterlist = Graph.createElement("inParameter-list") ;
- service.appendChild(inParameterlist) ;
- unsigned int i;
- GraphBase::ComputingNode * aNode = (GraphBase::ComputingNode * ) this ;
- for ( i = 0 ; i < ServiceInParameter().length() ; i++ ) {
- const GraphBase::InPort * anInPort ;
- anInPort = aNode->GetInPort( ServiceInParameter()[i].Parametername ) ;
- if ( !anInPort->IsDataStream() ) {
- cdebug << "SaveXML " << i << ". " << ServiceInParameter()[i].Parametername
- << " InParameterPort " << anInPort->Kind() << endl ;
- QDomElement inParameter = Graph.createElement("inParameter") ;
- inParameterlist.appendChild(inParameter) ;
- QDomElement inParametertype = Graph.createElement("inParameter-type") ;
- if ( strlen( ServiceInParameter()[i].Parametertype ) ) {
- aField = Graph.createTextNode( strdup( ServiceInParameter()[i].Parametertype ) ) ;
- }
- else {
- aField = Graph.createTextNode( "?" ) ;
- }
- inParameter.appendChild(inParametertype) ;
- inParametertype.appendChild( aField ) ;
- QDomElement inParametername = Graph.createElement("inParameter-name") ;
- if ( strlen( ServiceInParameter()[i].Parametername ) ) {
- aField = Graph.createTextNode( strdup(ServiceInParameter()[i].Parametername) ) ;
- }
- else {
- aField = Graph.createTextNode( "?" ) ;
- }
- inParameter.appendChild(inParametername) ;
- inParametername.appendChild( aField ) ;
- }
- }
- QDomElement outParameterlist = Graph.createElement("outParameter-list") ;
- service.appendChild(outParameterlist) ;
- for ( i = 0 ; i < ServiceOutParameter().length() ; i++ ) {
- const GraphBase::OutPort * anOutPort ;
- anOutPort = aNode->GetOutPort( ServiceOutParameter()[i].Parametername ) ;
- if ( !anOutPort->IsDataStream() ) {
- cdebug << "SaveXML " << i << ". " << ServiceOutParameter()[i].Parametername
- << " OutParameterPort " << anOutPort->Kind() << endl ;
- QDomElement outParameter = Graph.createElement("outParameter") ;
- outParameterlist.appendChild(outParameter) ;
- QDomElement outParametertype = Graph.createElement("outParameter-type") ;
- if ( strlen( ServiceOutParameter()[i].Parametertype ) ) {
- aField = Graph.createTextNode( strdup(ServiceOutParameter()[i].Parametertype) ) ;
- }
- else {
- aField = Graph.createTextNode( "?" ) ;
- }
- outParameter.appendChild(outParametertype) ;
- outParametertype.appendChild( aField ) ;
- QDomElement outParametername = Graph.createElement("outParameter-name") ;
- if ( strlen( ServiceOutParameter()[i].Parametername ) ) {
- aField = Graph.createTextNode( strdup(ServiceOutParameter()[i].Parametername) ) ;
- }
- else {
- aField = Graph.createTextNode( "?" ) ;
- }
- outParameter.appendChild(outParametername) ;
- outParametername.appendChild( aField ) ;
- }
- }
-
- QDomElement DataStreamlist = Graph.createElement("DataStream-list") ;
- node.appendChild( DataStreamlist ) ;
- for ( i = 0 ; i < (unsigned int ) GetNodeInPortsSize() ; i++ ) {
- const GraphBase::InPort * anInPort ;
- anInPort = aNode->GetNodeInPort( i ) ;
- if ( anInPort->IsDataStream() ) {
- cdebug << "SaveXML " << i << " " << Name() << " " << anInPort->PortName() << " " << anInPort->PortType()
- << " InDataStreamPort " << anInPort->Kind() << endl ;
- QDomElement inParameter = Graph.createElement("inParameter") ;
- DataStreamlist.appendChild(inParameter) ;
- QDomElement inParametertype = Graph.createElement("inParameter-type") ;
- QString aType ;
- aType = aType.setNum( StringToDataStreamType( anInPort->PortType() ) ) ;
- cdebug << "SaveXML " << anInPort->PortType() << " --> " << StringToDataStreamType( anInPort->PortType() )
- << " " << aType << endl ;
- aField = Graph.createTextNode( aType ) ;
- inParameter.appendChild(inParametertype) ;
- inParametertype.appendChild( aField ) ;
- QDomElement inParametername = Graph.createElement("inParameter-name") ;
- if ( strlen( anInPort->PortName() ) ) {
- aField = Graph.createTextNode( strdup(anInPort->PortName()) ) ;
- }
- else {
- aField = Graph.createTextNode( "?" ) ;
- }
- inParameter.appendChild(inParametername) ;
- inParametername.appendChild( aField ) ;
- cdebug << "SaveXML " << anInPort->PortName() << endl ;
- QDomElement inParameterdependency = Graph.createElement("inParameter-dependency") ;
- QString aDependency ;
- aDependency = aDependency.setNum( anInPort->Dependency() ) ;
- aField = Graph.createTextNode( aDependency ) ;
- inParameter.appendChild(inParameterdependency) ;
- inParameterdependency.appendChild( aField ) ;
- cdebug << "SaveXML Dependency " << anInPort->Dependency() << endl ;
- SUPERV::KindOfSchema aKindOfSchema ;
- SUPERV::KindOfInterpolation aKindOfInterpolation ;
- SUPERV::KindOfExtrapolation aKindOfExtrapolation ;
- ((GraphBase::InDataStreamPort * ) anInPort)->Params( aKindOfSchema , aKindOfInterpolation , aKindOfExtrapolation ) ;
- QDomElement inParameterKindOfSchema = Graph.createElement("inParameter-schema") ;
- QString aSchema ;
- aSchema = aSchema.setNum( aKindOfSchema ) ;
- aField = Graph.createTextNode( aSchema ) ;
- inParameter.appendChild(inParameterKindOfSchema) ;
- inParameterKindOfSchema.appendChild( aField ) ;
- cdebug << "SaveXML aKindOfSchema " << aKindOfSchema << endl ;
- QDomElement inParameterKindOfInterpolation = Graph.createElement("inParameter-interpolation") ;
- QString anInterpolation ;
- anInterpolation = anInterpolation.setNum( aKindOfInterpolation ) ;
- aField = Graph.createTextNode( anInterpolation ) ;
- inParameter.appendChild(inParameterKindOfInterpolation) ;
- inParameterKindOfInterpolation.appendChild( aField ) ;
- cdebug << "SaveXML aKindOfInterpolation " << aKindOfInterpolation << endl ;
- QDomElement inParameterKindOfExtrapolation = Graph.createElement("inParameter-extrapolation") ;
- QString anExtrapolation ;
- anExtrapolation = anExtrapolation.setNum( aKindOfExtrapolation ) ;
- aField = Graph.createTextNode( anExtrapolation ) ;
- inParameter.appendChild(inParameterKindOfExtrapolation) ;
- inParameterKindOfExtrapolation.appendChild( aField ) ;
- cdebug << "SaveXML aKindOfExtrapolation " << aKindOfExtrapolation << endl ;
- }
- }
- for ( i = 0 ; i < (unsigned int ) GetNodeOutPortsSize() ; i++ ) {
- const GraphBase::OutPort * anOutPort ;
- anOutPort = aNode->GetNodeOutPort( i ) ;
- if ( anOutPort->IsDataStream() ) {
- cdebug << "SaveXML " << i << " " << Name() << " " << anOutPort->PortName() << " " << anOutPort->PortType()
- << " OutDataStreamPort " << anOutPort->Kind() << endl ;
- QDomElement outParameter = Graph.createElement("outParameter") ;
- DataStreamlist.appendChild(outParameter) ;
- QDomElement outParametertype = Graph.createElement("outParameter-type") ;
- QString aType ;
- aType = aType.setNum( StringToDataStreamType( anOutPort->PortType() ) ) ;
- cdebug << "SaveXML " << anOutPort->PortType() << " --> " << StringToDataStreamType( anOutPort->PortType() )
- << " " << aType << endl ;
- aField = Graph.createTextNode( aType ) ;
- outParameter.appendChild(outParametertype) ;
- outParametertype.appendChild( aField ) ;
- QDomElement outParametername = Graph.createElement("outParameter-name") ;
- if ( strlen( anOutPort->PortName() ) ) {
- aField = Graph.createTextNode( strdup(anOutPort->PortName() ) ) ;
- }
- else {
- aField = Graph.createTextNode( "?" ) ;
- }
- outParameter.appendChild(outParametername) ;
- outParametername.appendChild( aField ) ;
- cdebug << "SaveXML " << anOutPort->PortName() << endl ;
- QDomElement outParameterdependency = Graph.createElement("outParameter-dependency") ;
- QString aDependency ;
- aDependency = aDependency.setNum( anOutPort->Dependency() ) ;
- aField = Graph.createTextNode( aDependency ) ;
- outParameter.appendChild(outParameterdependency) ;
- outParameterdependency.appendChild( aField ) ;
- cdebug << "SaveXML Dependency " << anOutPort->Dependency() << endl ;
- long aNumberOfValues ;
- aNumberOfValues = ((GraphBase::OutDataStreamPort * ) anOutPort)->NumberOfValues() ;
- QDomElement outParameterNumberOfValues = Graph.createElement("outParameter-values") ;
- QString aValues ;
- aValues = aValues.setNum( aNumberOfValues ) ;
- aField = Graph.createTextNode( aValues ) ;
- outParameter.appendChild(outParameterNumberOfValues) ;
- outParameterNumberOfValues.appendChild( aField ) ;
- cdebug << "SaveXML NumberOfValues " << ((GraphBase::OutDataStreamPort * ) anOutPort)->NumberOfValues() << endl ;
- }
- }
-// f << Tabs << "</Parameter-list>" << endl ;
-
-// f << Tabs << "<PyFunction-list>" << endl ;
- QDomElement PyFunctionlist = Graph.createElement("PyFunction-list") ;
- node.appendChild( PyFunctionlist ) ;
- for ( i = 0 ; i < PythonFunctions.size() ; i++ ) {
-// f << Tabs << " <PyFunction>" << endl ;
- QDomElement PyFunction = Graph.createElement("PyFunction") ;
- PyFunctionlist.appendChild( PyFunction ) ;
- int j ;
- QDomElement FuncName = Graph.createElement("FuncName") ;
- if ( strlen( FuncNames[i].c_str() ) ) {
- aField = Graph.createTextNode( FuncNames[i].c_str() ) ;
- }
- else {
- aField = Graph.createTextNode( "?" ) ;
- }
- PyFunction.appendChild( FuncName ) ;
- FuncName.appendChild( aField ) ;
- if ( (*PythonFunctions[i]).length() ) {
- for ( j = 0 ; j < (int ) (*PythonFunctions[i]).length() ; j++ ) {
- QDomElement PyFunc = Graph.createElement("PyFunc") ;
- QDomCDATASection aCDATA ;
- // mpv: Linux 8.0 compiler compatibility
- char * aCDATAChar = strdup ((*PythonFunctions[i])[j]) ;
- int i ;
- for ( i = 0 ; i < (int ) strlen( aCDATAChar ) ; i++ ) {
- if ( aCDATAChar[ i ] != ' ' ) {
- break ;
- }
- }
- if ( i == (int ) strlen( aCDATAChar ) ) {
- aCDATA = Graph.createCDATASection( "?" ) ;
- }
- else {
- aCDATA = Graph.createCDATASection( aCDATAChar ) ;
- }
- PyFunction.appendChild( PyFunc ) ;
- PyFunc.appendChild( aCDATA ) ;
- }
- }
- else {
- QDomElement PyFunc = Graph.createElement("PyFunc") ;
- QDomCDATASection aCDATA = Graph.createCDATASection( "?" ) ;
- PyFunction.appendChild( PyFunc ) ;
- PyFunc.appendChild( aCDATA ) ;
- }
- }
-
-// f << Tabs << "<creation-date>" << FirstCreation() << "</creation-date>"
-// << endl ;
- QDomElement creationdate = Graph.createElement("creation-date") ;
- char fdate[30] ;
- sprintf( fdate , "%d/%d/%d - %d:%d:%d" , FirstCreation().Day , FirstCreation().Month , FirstCreation().Year , FirstCreation().Hour , FirstCreation().Minute , FirstCreation().Second ) ;
- aField = Graph.createTextNode( fdate ) ;
- node.appendChild( creationdate ) ;
- creationdate.appendChild( aField ) ;
-// f << Tabs << "<lastmodification-date>" << LastModification()
-// << "</lastmodification-date>" << endl ;
- QDomElement lastmodificationdate = Graph.createElement("lastmodification-date") ;
- char ldate[30] ;
- sprintf( ldate , "%d/%d/%d - %d:%d:%d" , LastModification().Day , LastModification().Month , LastModification().Year , LastModification().Hour , LastModification().Minute , LastModification().Second ) ;
- aField = Graph.createTextNode( ldate ) ;
- node.appendChild( lastmodificationdate ) ;
- lastmodificationdate.appendChild( aField ) ;
-// f << Tabs << "<editor-release>" << EditorRelease() << "</editor-release>"
-// << endl ;
- QDomElement editorrelease = Graph.createElement("editor-release") ;
- aField = Graph.createTextNode( EditorRelease() ) ;
- node.appendChild( editorrelease ) ;
- editorrelease.appendChild( aField ) ;
- QDomElement author = Graph.createElement("author") ;
- if ( strlen( Author() ) ) {
-// f << Tabs << "<author>" << Author() << "</author>" << endl ;
- aField = Graph.createTextNode( Author() ) ;
- }
- else {
-// f << Tabs << "<author>?</author>" << endl ;
- aField = Graph.createTextNode( "?" ) ;
- }
- node.appendChild( author ) ;
- author.appendChild( aField ) ;
- QDomElement container = Graph.createElement("container") ;
- if ( IsFactoryNode() && strlen( Computer) ) {
-// f << Tabs << "<container>" << Computer << "</container>" << endl ;
- aField = Graph.createTextNode( Computer ) ;
- }
- else {
-// f << Tabs << "<container>?</container>" << endl ;
- aField = Graph.createTextNode( "?" ) ;
- }
- node.appendChild( container ) ;
- container.appendChild( aField ) ;
- QDomElement comment = Graph.createElement("comment") ;
- if ( strlen( Comment() ) ) {
-// f << Tabs << "<comment>" << Comment() << "</comment>" << endl ;
- aField = Graph.createTextNode( Comment() ) ;
- }
- else {
-// f << Tabs << "<comment>?</comment>" << endl ;
- aField = Graph.createTextNode( "?" ) ;
- }
- node.appendChild( comment ) ;
- comment.appendChild( aField ) ;
-// f << Tabs << "<x-position>" << XCoordinate << "</x-position>" << endl ;
- QDomElement xposition = Graph.createElement("x-position") ;
- QString aXCoordinate ;
- aXCoordinate = aKind.setNum( XCoordinate ) ;
- aField = Graph.createTextNode( aXCoordinate ) ;
- node.appendChild( xposition ) ;
- xposition.appendChild( aField ) ;
-// f << Tabs << "<y-position>" << YCoordinate << "</y-position>" << endl ;
- QDomElement yposition = Graph.createElement("y-position") ;
- QString aYCoordinate ;
- aYCoordinate = aKind.setNum( YCoordinate ) ;
- aField = Graph.createTextNode( aYCoordinate ) ;
- node.appendChild( yposition ) ;
- yposition.appendChild( aField ) ;
- cdebug_out << "SaveXML Node " << Name() << endl ;
- return true ;
-}
-
-bool GraphBase::ComputingNode::SavePY( ostream &f , const char * aGraphName ,
- const char * ComponentName ,
- const char * InterfaceName ,
- const char * Computer ,
- const GraphBase::InLineNode * aCoupledNode ,
- const ListOfFuncName FuncNames ,
- const ListOfPythonFunctions PythonFunctions ,
- int XCoordinate , int YCoordinate ) const {
- // san - Presumably, data stream graphs should be always saved with kind = DataStreamGraph
-// JR : the bug was at line 927 : && HasDataStream() != 0 was missing
- if ( IsDataFlowNode() || ( IsDataStreamNode() && HasDataStream() == 0 ) ) {
- f << Name() << " = Graph( '" << Name() << "' )" << endl ;
- }
- else if ( IsDataStreamNode() && HasDataStream() != 0 ) {
- f << Name() << " = StreamGraph( '" << Name() << "' )" << endl ;
- long Timeout ;
- SUPERV::KindOfDataStreamTrace DataStreamTrace ;
- double DeltaTime ;
- ((GraphBase::StreamGraph * ) this)->StreamParams( Timeout , DataStreamTrace , DeltaTime ) ;
- f << aGraphName << ".SetStreamParams( " << Timeout << " , SUPERV." << DataStreamTrace
- << " , " << DeltaTime << " )" << endl ;
- }
- else if ( IsComputingNode() ) {
- int i ;
- f << Name() << "_ServiceinParameter = []" << endl ;
- for ( i = 0 ; i < (int ) ServiceInParameter().length() ; i++ ) {
- f << Name() << "_ServiceinParameter.append( SALOME_ModuleCatalog.ServicesParameter( '"
- << ServiceInParameter()[i].Parametertype << "' , '"
- << ServiceInParameter()[i].Parametername << "' ) )" << endl ;
- }
- f << Name() << "_ServiceoutParameter = []" << endl ;
- for ( i = 0 ; i < (int ) ServiceOutParameter().length() ; i++ ) {
- f << Name() << "_ServiceoutParameter.append( SALOME_ModuleCatalog.ServicesParameter( '"
- << ServiceOutParameter()[i].Parametertype << "' , '"
- << ServiceOutParameter()[i].Parametername << "' ) )" << endl ;
- }
- f << Name() << "_ServiceinStreamParameter = []" << endl ;
- for ( i = 0 ; i < (int ) ServiceInStreamParameter().length() ; i++ ) {
- f << Name() << "_ServiceinStreamParameter.append( SALOME_ModuleCatalog.ServicesDataStreamParameter( SALOME_ModuleCatalog."
- << ServiceInStreamParameter()[i].Parametertype << " , '"
- << ServiceInStreamParameter()[i].Parametername << "' , SALOME_ModuleCatalog."
- << ServiceInStreamParameter()[i].Parameterdependency << " ) )" << endl ;
- }
- f << Name() << "_ServiceoutStreamParameter = []" << endl ;
- for ( i = 0 ; i < (int ) ServiceOutStreamParameter().length() ; i++ ) {
- f << Name() << "_ServiceoutStreamParameter.append( SALOME_ModuleCatalog.ServicesDataStreamParameter( SALOME_ModuleCatalog."
- << ServiceOutStreamParameter()[i].Parametertype << " , '"
- << ServiceOutStreamParameter()[i].Parametername << "' , SALOME_ModuleCatalog."
- << ServiceOutStreamParameter()[i].Parameterdependency << " ) )" << endl ;
- }
- f << Name() << "_Service = SALOME_ModuleCatalog.Service( '" << ServiceName()
- << "' , " << Name() << "_ServiceinParameter"
- << " , " << Name() << "_ServiceoutParameter"
- << " , " << Name() << "_ServiceinStreamParameter"
- << " , " << Name() << "_ServiceoutStreamParameter"
- << " , 0 , 0 )" << endl ;
- f << Name() << " = " << aGraphName << ".CNode( " << Name() << "_Service" << " )"
- << endl ;
- }
- else if ( IsFactoryNode() ) {
- f << Name() << " = " << aGraphName << ".FNode( '" << ComponentName
- << "' , '" << InterfaceName << "' , '" << ServiceName() << "' )"
- << endl ;
- }
- else if ( IsEndLoopNode() || IsEndSwitchNode() ) {
-// It is done with LoopNode or SwitchNode with CoupledNode()
- }
- else {
- f << "Py" << Name() << " = []" << endl ;
- int i ;
- SUPERV::ListOfStrings aPyFunc ;
- if ( PythonFunctions.size() ) {
- aPyFunc = *PythonFunctions[0] ;
- for ( i = 0 ; i < (int ) aPyFunc.length() ; i++ ) {
- f << "Py" << Name() << ".append( '" << aPyFunc[i] << "' )" << endl ;
- }
- }
- if ( IsInLineNode() ) {
- f << Name() << " = " << aGraphName << ".INode( '" << FuncNames[0].c_str() << "' , Py"
- << Name() << " )" << endl ;
- }
- else if ( IsGOTONode() ) {
- if ( aCoupledNode ) {
- f << Name() << " = " << aGraphName << ".GNode( '" << FuncNames[0].c_str() << "' , Py"
- << Name() << " , '" << aCoupledNode->Name() << "' )" << endl ;
- }
- else {
- f << Name() << " = " << aGraphName << ".GNode( '" << FuncNames[0].c_str() << "' , Py"
- << Name() << " , '' )" << endl ;
- }
- }
- else {
-// char * EndName = NULL ;
-// EndName = new char[ 3 + strlen( Name() ) + 1 ] ;
-// strcpy( EndName , "End" ) ;
-// strcat( EndName , Name() ) ;
- char * EndName = aCoupledNode->Name() ;
- if ( IsLoopNode() ) {
- int i ;
- SUPERV::ListOfStrings aPyMore = *PythonFunctions[1] ;
- SUPERV::ListOfStrings aPyNext = *PythonFunctions[2] ;
- f << "PyMore" << Name() << " = []" << endl ;
- for ( i = 0 ; i < (int ) aPyMore.length() ; i++ ) {
- f << "PyMore" << Name() << ".append( '" << aPyMore[i] << "' )" << endl ;
- }
- f << "PyNext" << Name() << " = []" << endl ;
- for ( i = 0 ; i < (int ) aPyNext.length() ; i++ ) {
- f << "PyNext" << Name() << ".append( '" << aPyNext[i] << "' )" << endl ;
- }
- f << Name() << "," << EndName << " = " << aGraphName << ".LNode( '"
- << FuncNames[0].c_str() << "' , Py" << Name() << " , '"
- << FuncNames[1].c_str() << "' , PyMore" << Name()
- << " , '" << FuncNames[2].c_str() << "' , PyNext"
- << Name() << " )" << endl ;
- f << EndName << ".SetName( '" << aCoupledNode->Name() << "' )" << endl ;
- f << EndName << ".SetAuthor( '" << aCoupledNode->Author() << "' )" << endl ;
- f << EndName << ".SetComment( '" << aCoupledNode->Comment() << "' )" << endl ;
- f << EndName << ".Coords( " << aCoupledNode->XCoordinate() << " , "
- << aCoupledNode->YCoordinate() << " )" << endl ;
- SUPERV::ListOfStrings aPyFunc = *aCoupledNode->PythonFunction() ;
- f << "Py" << aCoupledNode->Name() << " = []" << endl ;
- for ( i = 0 ; i < (int ) aPyFunc.length() ; i++ ) {
- f << "Py" << aCoupledNode->Name() << ".append( '" << aPyFunc[i] << "' )"
- << endl ;
- }
- f << EndName << ".SetPyFunction( '" << aCoupledNode->PyFuncName() << "' , Py" << aCoupledNode->Name() << " )" << endl ;
- for ( i = 0 ; i < GetNodeInPortsSize() ; i++ ) {
- const GraphBase::InPort * anInPort = GetNodeInPort(i) ;
- cdebug << "Node " << Name() << " InPort " << anInPort->PortName()
- << " " << anInPort->Kind() << endl ;
- if ( anInPort->IsLoop() ) {
- f << "I" << Name() << anInPort->PortName() << " = "
- << Name() << ".GetInPort( '" << anInPort->PortName() << "' )" << endl ;
- }
- else if ( anInPort->IsInLine() ) {
- f << "I" << Name() << anInPort->PortName() << " = "
- << Name() << ".InPort( '" << anInPort->PortName() << "' , '"
- << anInPort->PortType() << "' )" << endl ;
- }
- else if ( anInPort->IsDataStream() ) {
- f << "I" << Name() << anInPort->PortName() << " = " << Name()
- << ".InStreamPort( '" << anInPort->PortName()
- << "' , SALOME_ModuleCatalog." << StringToDataStreamType( anInPort->PortType() )
- << " , SALOME_ModuleCatalog." << anInPort->Dependency() << " )" << endl ;
- SUPERV::KindOfSchema aKindOfSchema ;
- SUPERV::KindOfInterpolation aKindOfInterpolation ;
- SUPERV::KindOfExtrapolation aKindOfExtrapolation ;
- ((GraphBase::InDataStreamPort * ) anInPort)->Params( aKindOfSchema , aKindOfInterpolation , aKindOfExtrapolation ) ;
- f << "I" << Name() << anInPort->PortName() << ".SetParams( SUPERV." << aKindOfSchema << " , SUPERV."
- << aKindOfInterpolation << " , SUPERV." << aKindOfExtrapolation << " )" << endl ;
- }
- else if ( anInPort->IsGate() ) {
- f << "I" << Name() << anInPort->PortName() << " = "
- << Name() << ".GetInPort( '" << anInPort->PortName() << "' )" << endl ;
- }
- }
- for ( i = 0 ; i < GetNodeOutPortsSize() ; i++ ) {
- const GraphBase::OutPort * anOutPort = GetNodeOutPort(i) ;
- cdebug << "Node " << Name() << " OutPort " << anOutPort->PortName()
- << " " << anOutPort->Kind() << endl ;
- if ( anOutPort->IsInLine() || anOutPort->IsLoop() ) {
- f << "O" << Name() << anOutPort->PortName() << " = "
- << Name() << ".GetOutPort( '" << anOutPort->PortName() << "' )" << endl ;
- }
- else if ( anOutPort->IsDataStream() ) {
- f << "O" << Name() << anOutPort->PortName() << " = " << Name()
- << ".OutStreamPort( '" << anOutPort->PortName()
- << "' , SALOME_ModuleCatalog." << StringToDataStreamType( anOutPort->PortType() )
- << " , SALOME_ModuleCatalog." << anOutPort->Dependency() << " )" << endl ;
- long aNumberOfValues ;
- aNumberOfValues = ((GraphBase::OutDataStreamPort * ) anOutPort)->NumberOfValues() ;
- f << "O" << Name() << anOutPort->PortName() << ".SetNumberOfValues( " << aNumberOfValues << " )"
- << endl ;
- }
- }
- for ( i = 0 ; i < aCoupledNode->GetNodeInPortsSize() ; i++ ) {
- const GraphBase::InPort * anInPort = aCoupledNode->GetNodeInPort(i) ;
- cdebug << "Node " << aCoupledNode->Name() << " InPort " << anInPort->PortName()
- << " " << anInPort->Kind() << endl ;
- if ( anInPort->IsInLine() || anInPort->IsLoop() || anInPort->IsGate() ) {
- f << "I" << EndName << anInPort->PortName() << " = " << EndName
- << ".GetInPort( '" << anInPort->PortName() << "' )" << endl ;
- }
- else if ( anInPort->IsDataStream() ) {
- f << "I" << EndName << anInPort->PortName() << " = " << EndName
- << ".InStreamPort( '" << anInPort->PortName()
- << "' , SALOME_ModuleCatalog." << StringToDataStreamType( anInPort->PortType() )
- << " , SALOME_ModuleCatalog." << anInPort->Dependency() << " )" << endl ;
- SUPERV::KindOfSchema aKindOfSchema ;
- SUPERV::KindOfInterpolation aKindOfInterpolation ;
- SUPERV::KindOfExtrapolation aKindOfExtrapolation ;
- ((GraphBase::InDataStreamPort * ) anInPort)->Params( aKindOfSchema , aKindOfInterpolation , aKindOfExtrapolation ) ;
- f << "I" << EndName << anInPort->PortName() << ".SetParams( SUPERV." << aKindOfSchema << " , SUPERV."
- << aKindOfInterpolation << " , SUPERV." << aKindOfExtrapolation << " )" << endl ;
- }
- }
- for ( i = 0 ; i < aCoupledNode->GetNodeOutPortsSize() ; i++ ) {
- const GraphBase::OutPort * anOutPort = aCoupledNode->GetNodeOutPort(i) ;
- cdebug << "Node " << aCoupledNode->Name() << " OutPort " << anOutPort->PortName()
- << " " << anOutPort->Kind() << endl ;
- if ( anOutPort->IsInLine() || anOutPort->IsLoop() || anOutPort->IsGate() ) {
- f << "O" << EndName << anOutPort->PortName() << " = " << EndName
- << ".GetOutPort( '" << anOutPort->PortName() << "' )" << endl ;
- }
- else if ( anOutPort->IsDataStream() ) {
- f << "O" << EndName << anOutPort->PortName() << " = " << EndName
- << ".OutStreamPort( '" << anOutPort->PortName()
- << "' , SALOME_ModuleCatalog." << StringToDataStreamType( anOutPort->PortType() )
- << " , SALOME_ModuleCatalog." << anOutPort->Dependency() << " )" << endl ;
- long aNumberOfValues ;
- aNumberOfValues = ((GraphBase::OutDataStreamPort * ) anOutPort)->NumberOfValues() ;
- f << "O" << EndName << anOutPort->PortName() << ".SetNumberOfValues( " << aNumberOfValues << " )"
- << endl ;
- }
- }
- }
- else if ( IsSwitchNode() ) {
- f << Name() << "," << EndName << " = " << aGraphName << ".SNode( '"
- << FuncNames[0].c_str() << "' , Py" << Name() << " )" << endl ;
- f << EndName << ".SetName( '" << aCoupledNode->Name() << "' )" << endl ;
- f << EndName << ".SetAuthor( '" << aCoupledNode->Author() << "' )" << endl ;
- f << EndName << ".SetComment( '" << aCoupledNode->Comment() << "' )" << endl ;
- f << EndName << ".Coords( " << aCoupledNode->XCoordinate() << " , "
- << aCoupledNode->YCoordinate() << " )" << endl ;
- SUPERV::ListOfStrings aPyFunc = *aCoupledNode->PythonFunction() ;
- f << "Py" << aCoupledNode->Name() << " = []" << endl ;
- for ( i = 0 ; i < (int ) aPyFunc.length() ; i++ ) {
- f << "Py" << aCoupledNode->Name() << ".append( '" << aPyFunc[i] << "' )"
- << endl ;
- }
- f << EndName << ".SetPyFunction( '" << aCoupledNode->PyFuncName() << "' , Py" << aCoupledNode->Name() << " )" << endl ;
- for ( i = 0 ; i < aCoupledNode->GetNodeInPortsSize() ; i++ ) {
- const GraphBase::InPort * anInPort = aCoupledNode->GetNodeInPort(i) ;
- cdebug << "Node " << aCoupledNode->Name() << " InPort " << anInPort->PortName()
- << " " << anInPort->Kind() << endl ;
-// if ( anInPort->IsGate() || anInPort->IsEndSwitch() ) {
- if ( anInPort->IsGate() ) {
- f << "I" << EndName << anInPort->PortName() << " = " << EndName
- << ".GetInPort( '" << anInPort->PortName() << "' )" << endl ;
- }
- else if ( anInPort->IsInLine() || anInPort->IsEndSwitch() ) {
- f << "I" << EndName << anInPort->PortName() << " = " << EndName
- << ".InPort( '" << anInPort->PortName()
- << "' , '" << anInPort->PortType() << "' )" << endl ;
- }
- else if ( anInPort->IsDataStream() ) {
- f << "I" << EndName << anInPort->PortName() << " = " << EndName
- << ".InStreamPort( '" << anInPort->PortName()
- << "' , SALOME_ModuleCatalog." << StringToDataStreamType( anInPort->PortType() )
- << " , SALOME_ModuleCatalog." << anInPort->Dependency() << " )" << endl ;
- SUPERV::KindOfSchema aKindOfSchema ;
- SUPERV::KindOfInterpolation aKindOfInterpolation ;
- SUPERV::KindOfExtrapolation aKindOfExtrapolation ;
- ((GraphBase::InDataStreamPort * ) anInPort)->Params( aKindOfSchema , aKindOfInterpolation , aKindOfExtrapolation ) ;
- f << "I" << EndName << anInPort->PortName() << ".SetParams( SUPERV." << aKindOfSchema << " , SUPERV."
- << aKindOfInterpolation << " , SUPERV." << aKindOfExtrapolation << " )" << endl ;
- }
- }
- for ( i = 0 ; i < aCoupledNode->GetNodeOutPortsSize() ; i++ ) {
- const GraphBase::OutPort * anOutPort = aCoupledNode->GetNodeOutPort(i) ;
- cdebug << "Node " << aCoupledNode->Name() << " OutPort " << anOutPort->PortName()
- << " " << anOutPort->Kind() << endl ;
-// if ( anOutPort->IsGate() || anOutPort->IsEndSwitch() ) {
- if ( anOutPort->IsGate() ) {
- f << "O" << EndName << anOutPort->PortName() << " = " << EndName
- << ".GetOutPort( '" << anOutPort->PortName() << "' )" << endl ;
- }
- else if ( anOutPort->IsInLine() || anOutPort->IsSwitch() ) {
- f << "O" << EndName << anOutPort->PortName() << " = " << EndName
- << ".OutPort( '" << anOutPort->PortName()
- << "' , '" << anOutPort->PortType() << "' )" << endl ;
- }
- else if ( anOutPort->IsDataStream() ) {
- f << "O" << EndName << anOutPort->PortName() << " = " << EndName
- << ".OutStreamPort( '" << anOutPort->PortName()
- << "' , SALOME_ModuleCatalog." << StringToDataStreamType( anOutPort->PortType() )
- << " , SALOME_ModuleCatalog." << anOutPort->Dependency() << " )" << endl ;
- long aNumberOfValues ;
- aNumberOfValues = ((GraphBase::OutDataStreamPort * ) anOutPort)->NumberOfValues() ;
- f << "O" << EndName << anOutPort->PortName() << ".SetNumberOfValues( " << aNumberOfValues << " )"
- << endl ;
- }
- }
- }
- delete [] EndName ;
- }
- }
-
- if ( IsEndLoopNode() || IsEndSwitchNode() ) {
-// It is done with LoopNode or SwitchNode with CoupledNode()
- }
- else {
- f << Name() << ".SetName( '" << Name() << "' )" << endl ;
- f << Name() << ".SetAuthor( '" << Author() << "' )" << endl ;
- if ( IsFactoryNode() ) {
- f << Name() << ".SetContainer( '" << Computer << "' )" << endl ;
- }
- f << Name() << ".SetComment( '" << Comment() << "' )" << endl ;
- f << Name() << ".Coords( " << XCoordinate << " , " << YCoordinate << " )" << endl ;
-
- if ( IsComputingNode() || IsFactoryNode() ) {
- int i ;
- for ( i = 0 ; i < GetNodeInPortsSize() ; i++ ) {
- const GraphBase::InPort * anInPort = GetNodeInPort(i) ;
- if ( !anInPort->IsDataStream() ) {
- cdebug << "Node " << Name() << " InPort " << anInPort->PortName()
- << " " << anInPort->Kind() << endl ;
- f << "I" << Name() << anInPort->PortName() << " = "
- << Name() << ".GetInPort( '" << anInPort->PortName() << "' )" << endl ;
- }
- }
- for ( i = 0 ; i < GetNodeOutPortsSize() ; i++ ) {
- const GraphBase::OutPort * anOutPort = GetNodeOutPort(i) ;
- if ( !anOutPort->IsDataStream() ) {
- cdebug << "Node " << Name() << " OutPort " << anOutPort->PortName()
- << " " << anOutPort->Kind() << endl ;
- f << "O" << Name() << anOutPort->PortName() << " = "
- << Name() << ".GetOutPort( '" << anOutPort->PortName() << "' )" << endl ;
- }
- }
- }
- else if ( IsOneOfInLineNodes() && !IsLoopNode() ) {
- int i ;
- for ( i = 0 ; i < GetNodeInPortsSize() ; i++ ) {
- const GraphBase::InPort * anInPort = GetNodeInPort(i) ;
- cdebug << "Node " << Name() << " InPort " << anInPort->PortName()
- << " " << anInPort->Kind() << endl ;
- if ( anInPort->IsInLine() || anInPort->IsEndSwitch() ) {
- f << "I" << Name() << anInPort->PortName() << " = "
- << Name() << ".InPort( '" << anInPort->PortName() << "' , '"
- << anInPort->PortType() << "' )" << endl ;
- }
- else if ( anInPort->IsGate() ) {
- f << "I" << Name() << anInPort->PortName() << " = "
- << Name() << ".GetInPort( '" << anInPort->PortName() << "' )" << endl ;
- }
- }
- for ( i = 0 ; i < GetNodeOutPortsSize() ; i++ ) {
- const GraphBase::OutPort * anOutPort = GetNodeOutPort(i) ;
- cdebug << "Node " << Name() << " OutPort " << anOutPort->PortName()
- << " " << anOutPort->Kind() << endl ;
- if ( anOutPort->IsInLine() || anOutPort->IsSwitch() ) {
- f << "O" << Name() << anOutPort->PortName() << " = "
- << Name() << ".OutPort( '" << anOutPort->PortName()
- << "' , '" << anOutPort->PortType() << "' )" << endl ;
- }
- else if ( anOutPort->IsGate() ) {
- f << "O" << Name() << anOutPort->PortName() << " = "
- << Name() << ".GetOutPort( '" << anOutPort->PortName() << "' )" << endl ;
- }
- }
- }
- if ( !IsDataFlowNode() && !IsDataStreamNode() ) {
- int i ;
- for ( i = 0 ; i < GetNodeInPortsSize() ; i++ ) {
- const GraphBase::InPort * anInPort = GetNodeInPort(i) ;
- cdebug << "Node " << Name() << " InPort " << anInPort->PortName()
- << " " << anInPort->Kind() << endl ;
- if ( anInPort->IsDataStream() ) {
- if ( IsOneOfInLineNodes() ) {
- f << "I" << Name() << anInPort->PortName() << " = "
- << Name() << ".InStreamPort( '" << anInPort->PortName() << "' , SALOME_ModuleCatalog."
- << StringToDataStreamType( anInPort->PortType() ) << " , SALOME_ModuleCatalog."
- << anInPort->Dependency() << " )" << endl ;
- }
- else {
- f << "I" << Name() << anInPort->PortName() << " = "
- << Name() << ".GetInStreamPort( '" << anInPort->PortName() << "' )" << endl ;
- }
- SUPERV::KindOfSchema aKindOfSchema ;
- SUPERV::KindOfInterpolation aKindOfInterpolation ;
- SUPERV::KindOfExtrapolation aKindOfExtrapolation ;
- ((GraphBase::InDataStreamPort * ) anInPort)->Params( aKindOfSchema , aKindOfInterpolation , aKindOfExtrapolation ) ;
- f << "I" << Name() << anInPort->PortName() << ".SetParams( SUPERV." << aKindOfSchema << " , SUPERV."
- << aKindOfInterpolation << " , SUPERV." << aKindOfExtrapolation << " )" << endl ;
- }
- }
- for ( i = 0 ; i < GetNodeOutPortsSize() ; i++ ) {
- const GraphBase::OutPort * anOutPort = GetNodeOutPort(i) ;
- cdebug << "Node " << Name() << " OutPort " << anOutPort->PortName()
- << " " << anOutPort->Kind() << endl ;
- if ( anOutPort->IsDataStream() ) {
- if ( IsOneOfInLineNodes() ) {
- f << "O" << Name() << anOutPort->PortName() << " = "
- << Name() << ".OutStreamPort( '" << anOutPort->PortName() << "' , SALOME_ModuleCatalog."
- << StringToDataStreamType( anOutPort->PortType() ) << " , SALOME_ModuleCatalog."
- << anOutPort->Dependency() << " )" << endl ;
- }
- else {
- f << "O" << Name() << anOutPort->PortName() << " = "
- << Name() << ".GetOutStreamPort( '" << anOutPort->PortName() << "' )" << endl ;
- }
- long aNumberOfValues ;
- aNumberOfValues = ((GraphBase::OutDataStreamPort * ) anOutPort)->NumberOfValues() ;
- f << "O" << Name() << anOutPort->PortName() << ".SetNumberOfValues( " << aNumberOfValues << " )" << endl ;
- }
- }
- }
- }
-
- return true ;
-}
-
-void GraphBase::ComputingNode::NodeInfo(ostream & s) const {
- s << *this ;
- ListPorts( s , true ) ;
- s << ends ;
-}
-
-ostream & operator<< (ostream & f,const GraphBase::ComputingNode & G) {
-// f << "ComponentName " << G.ComponentName() << endl ;
- if ( G.IsComputingNode() ) {
- f << "NodeName " << G.Name() << endl ;
- }
- else {
- f << "DataFlowName " << G.Name() << endl ;
- }
- f << "Kind " << G.Kind() << endl ;
- f << "Service " << *G.GetService() ;
- f << "FirstCreation " << G.FirstCreation () << endl ;
- f << "LastModification " << G.LastModification() << endl ;
- f << "EditorRelease " << G.EditorRelease() << endl ;
- f << "Author " << G.Author() << endl ;
-// f << "Computer " << G.Computer() << endl ;
- f << "Comment " << G.Comment() << endl ;
- f << endl ;
-
- return f;
-}
-
-void GraphBase::ComputingNode::ListLinks(ostream &f ) const {
- int i ;
- for ( i = 0 ; i < GetNodeOutPortsSize() ; i++ ) {
- const GraphBase::OutPort* fromPort = GetNodeOutPort( i ) ;
- if ( fromPort->IsPortConnected() ) {
- int j ;
- for ( j = 0 ; j < fromPort->InPortsSize() ; j++ ) {
- if ( j == 0 ) {
- f << "FromNode " << Name() << endl ;
- }
- f << " FromServiceParameterName "
- << fromPort->GetServicesParameter().Parametername ;
- const GraphBase::InPort* toPort = fromPort->InPorts( j ) ;
- f << " ToNode " << toPort->NodeName() ;
- f << " ToServiceParameterName "
- << toPort->GetServicesParameter().Parametername;
- f << " Value " ;
- fromPort->StringValue( f ) ;
- f << endl ;
- }
- }
- }
-}
-
-ostream & operator<< (ostream &fOut,const SUPERV::SDate &D) {
-// cdebug_in << "operator<< GraphEditor::Date" << endl;
-
- fOut << D.Day << "/"
- << D.Month << "/"
- << D.Year << " - "
- << D.Hour << ":"
- << D.Minute << ":"
- << D.Second;
-
-// cdebug_out << "operator<< GraphEditor::Date" << endl;
- return fOut;
-}
-
+++ /dev/null
-// SUPERV GraphBase : contains fondamental classes for Services, Input Ports, Output Ports Links and Nodes.
-//
-// Copyright (C) 2003 CEA/DEN, EDF R&D
-//
-//
-//
-// File : DataFlowBase_ComputingNode.hxx
-// Author : Jean Rahuel, CEA
-// Module : SUPERV
-// $Header:
-
-#ifndef _DATAFLOWBASE_COMPUTINGNODE_HXX
-#define _DATAFLOWBASE_COMPUTINGNODE_HXX
-
-#include "SALOME_NamingService.hxx"
-
-#include "DataFlowBase_StreamNode.hxx"
-
-namespace GraphBase {
-
- class InLineNode ;
-
- class ComputingNode : public StreamNode {
-
- private:
-
- CORBA::ORB_ptr _ORB ;
- SALOME_NamingService * _NamingService ;
-//->StreamNode int * _Graph_prof_debug ;
-//->StreamNode ofstream * _Graph_fdebug ;
- SUPERV::CNode_var _Node ;
- void * _InNode ; // From GraphExecutor:: or GraphEditor::
- bool _ObjInterface ;
-
- pthread_t _ThreadNo ;
-
-//->StreamNode char * _Name ;
-//->StreamNode SUPERV::KindOfNode _Kind ;
- SUPERV::SDate _FirstCreation ;
- SUPERV::SDate _LastModification ;
- char * _EditorRelease ;
- char * _Author ;
- char * _Comment ;
-
-//->StreamNode bool _HeadNode ;
-//->StreamNode int _LevelNumber ;
-//->StreamNode int _SubGraphNumber ;
- bool _GeneratedName ;
-
-//->StreamNode int _DataStreamInPortsNumber ;
-//->StreamNode int _DataStreamOutPortsNumber ;
-
- int _ConnectedInPortsNumber ;
- int _DecrConnectedInPortsNumber ;
-
-// For generated NodeNames with ServiceName : number of Nodes using
-// the same ServiceName. It is not the same Service if it belongs to
-// a different Interface and/or a different Component ...
-//->StreamNode map< string , int > _MapOfServiceNames ;
-
-// Nodes with LinkedInPortsNumber InPort(s) linked to Outport(s) of this node :
-//->StreamNode map< string , int > _MapOfLinkedNodes ;
-//->StreamNode int _LinkedNodesSize ;
-//->StreamNode vector<ComputingNode * > _LinkedNodes ;
-//->StreamNode vector<int > _LinkedInPortsNumber ;
-
- protected:
-
- long _X ;
- long _Y ;
-
- public:
-
- ComputingNode() ;
- ComputingNode( CORBA::ORB_ptr ORB ,
- SALOME_NamingService* ptrNamingService ,
- const char * DataFlowName ,
- int * Graph_prof_debug = NULL ,
- ofstream * Graph_fdebug = NULL ) ;
- ComputingNode( CORBA::ORB_ptr ORB ,
- SALOME_NamingService* ptrNamingService ,
- const SALOME_ModuleCatalog::Service& NodeService ,
- const char *NodeName ,
- const SUPERV::KindOfNode akind ,
- const SUPERV::SDate NodeFirstCreation ,
- const SUPERV::SDate NodeLastModification ,
- const char * NodeEditorRelease ,
- const char * NodeAuthor ,
- const char * NodeComment ,
- const bool GeneratedName ,
- const long X ,
- const long Y ,
- int * Graph_prof_debug = NULL ,
- ofstream * Graph_fdebug = NULL ) ;
- virtual ~ComputingNode() ;
-
- SALOME_NamingService * NamingService() const {
- return _NamingService ; } ;
-
- SUPERV::CNode_var ObjRef() const {
-// char * _NodeName ;
-// cdebug << "ComputingNode::ObjRef() " << _Node << " " << Name()
-// << " " << endl ;
-// SUPERV::CNode_var _NodeObjRef = SUPERV::CNode::_narrow( _Node ) ;
-// if ( CORBA::is_nil( _NodeObjRef ) ) {
-// _NodeName = "NilRef" ;
-// }
-// else {
-// try {
-// _NodeName = _NodeObjRef->Name() ;
-// }
-// catch ( ... ) {
-// _NodeName = "Catch Error" ;
-// }
-// }
-// cdebug << _NodeName << " " << Name() << endl ;
- return _Node ; } ;
- void SetObjRef(SUPERV::CNode_var aNode) {
-// char * _NodeName ;
-// if ( CORBA::is_nil( _Node ) ) {
-// _NodeName = "NilRef" ;
-// }
-// else {
-// _NodeName = _Node->Name() ;
-// }
-// cdebug << "ComputingNode::SetObjRef( " << _Node << " "
-// << _NodeName << " ) " << Name() << " --> " ;
- _Node = aNode ;
-// cdebug << _Node << " " << _Node->Name() << " ) " << Name() << endl ;
- } ;
- void InNode( void * anInNode ) {
-// cdebug << "GraphBase::ComputingNode::InNode " << Name() << endl ;
- _InNode = anInNode ; } ;
- void * GetInNode() const {
- return _InNode ; } ;
-
- void ObjInterface( bool k_interface ) { _ObjInterface = k_interface ; } ;
- bool ObjInterface() { return _ObjInterface ; } ;
-
- pthread_t ThreadNo() { return _ThreadNo ; } ;
- void ThreadNo( pthread_t aThread ) { _ThreadNo = aThread ; } ;
-
-//->StreamNode char * Name() const { return my_strdup( _Name ) ; } ;
-//->StreamNode const char *const * NamePtr() const { return &_Name ; } ;
-// const SALOME_ModuleCatalog::Service * Service() const ;
- SUPERV::SDate FirstCreation() const ;
- SUPERV::SDate LastModification() const ;
- char* Author() const { return my_strdup( _Author ) ; } ;
- char* EditorRelease() const { return my_strdup( _EditorRelease ) ; } ;
- char * Comment() const { return my_strdup( _Comment ) ; } ;
- int XCoordinate() const { return _X ; } ;
- int YCoordinate() const { return _Y ; } ;
-
-//->StreamNode bool Name( const char * aName ) ;
-// void Service( const SALOME_ModuleCatalog::Service aService ) ;
- void FirstCreation( const SUPERV::SDate aFirstCreation ) ;
- void LastModification( const SUPERV::SDate aLastModification ) ;
- bool Author( const char * anAuthor ) ;
- bool EditorRelease( const char* anEditorRelease ) ;
- bool Comment( const char *c ) ;
- void Coordinates( const int X , const int Y ) {
- _X = X ; _Y = Y ; } ;
-
- void NodePort( const char * NodeName ,
- const char * ServiceParameterName ,
- char ** aNode , char ** aPort ) ;
-
- bool IsLinked(const char * ToServiceParameterName ) ;
- bool HasInput(const char * ToServiceParameterName ) ;
-
- GraphBase::SNode * GetInfo() ;
-
-// void HeadNode( bool aHeadNode ) { _HeadNode = aHeadNode ; } ;
-// const bool IsHeadNode() const { return _HeadNode ; } ;
-
- bool RemovePorts( const char* aNodeName ) ;
-
- void DelInPort( const char * InputParameterName ) ;
- void DelOutPort( const char * OutputParameterName ) ;
-
- InPort * AddInPort( const char * InputParameterName ,
- const char * InputParameterType ,
- const SUPERV::KindOfPort aKindOfPort ) ;
- OutPort * AddOutPort( const char * OutputParameterName ,
- const char * OutputParameterType ,
- const SUPERV::KindOfPort aKindOfPort ) ;
-
- void DelInDataStreamPort( const char * InputParameterName ) ;
- void DelOutDataStreamPort( const char * OutputParameterName ) ;
-
- InDataStreamPort * AddInDataStreamPort( const char * InputParameterName ,
- const SALOME_ModuleCatalog::DataStreamType InputParameterType ,
- const SALOME_ModuleCatalog::DataStreamDependency aDependency ,
- const SUPERV::KindOfPort aKindOfPort ) ;
- OutDataStreamPort * AddOutDataStreamPort( const char * OutputParameterName ,
- const SALOME_ModuleCatalog::DataStreamType OutputParameterType ,
- const SALOME_ModuleCatalog::DataStreamDependency aDependency ,
- const SUPERV::KindOfPort aKindOfPort ) ;
-
-// ComputingNode * LinkedNodes( int i ) const { return (GraphBase::ComputingNode *) GraphBase::StreamNode::LinkedNodes( i ) ; } ;
-
- void AddLink( GraphBase::ComputingNode * ToNode ) {
- GraphBase::StreamNode::AddLink( ToNode ) ;
- cdebug << Name() << "->GraphBase::ComputingNode::AddLinkedNode( " << ToNode->Name()
- << ") ConnectedInPortsNumber " << ToNode->ConnectedInPortsNumber()
- << " + 1 Service " << ServiceName() << endl ;
- ToNode->IncrConnectedInPortsNumber() ; } ;
-
- void RemoveLink( GraphBase::ComputingNode * ToNode ) {
- if ( GraphBase::StreamNode::RemoveLink( ToNode ) ) {
- cdebug << "GraphBase::StreamNode::RemoveLink to " << ToNode->Name() << " from "
- << Name() << " ConnectedInPortsNumber "
- << ToNode->ConnectedInPortsNumber() - 1 << endl ;
- ToNode->DecrConnectedInPortsNumber() ; } } ;
-
- void ReNameLink( const char* OldNodeName ,
- const char* NewNodeName ) {
- GraphBase::StreamNode::ReNameLink( OldNodeName , NewNodeName ) ; } ;
-
- void IncrConnectedInPortsNumber() {
- cdebug << "IncrConnectedInPortsNumber " << Name() << " -> "
- << _ConnectedInPortsNumber+1 << endl ;
- _ConnectedInPortsNumber++ ; } ;
- void DecrConnectedInPortsNumber() {
- _ConnectedInPortsNumber-- ; } ;
- int ConnectedInPortsNumber() const {
- return _ConnectedInPortsNumber ; } ;
- void ConnectedInPortsNumber( int c ) {
- cdebug << "ConnectedInPortsNumber " << Name() << " -> " << c << endl ;
- _ConnectedInPortsNumber = c ; } ;
-
- void IncrDecrConnectedInPortsNumber(const int cnt ) {
- _DecrConnectedInPortsNumber += cnt ; } ;
- bool DecrIncrDecrConnectedInPortsNumber() {
- if ( _DecrConnectedInPortsNumber ) {
- _ConnectedInPortsNumber = _ConnectedInPortsNumber -
- _DecrConnectedInPortsNumber ;
- _DecrConnectedInPortsNumber = 0 ;
- return true ;
- }
- return false ; } ;
-
-// const GraphBase::ListOfParameters * GetListOfParameters() const ;
-
- const long CpuUsed() ;
-
- bool SaveXML( QDomDocument & Graph , QDomElement & info ,
- int X , int Y ) const {
- ListOfFuncName aFuncNames ;
- GraphBase::ListOfPythonFunctions aVoidList ;
- return SaveXML( Graph , info , "" , "" , "" , "" , aFuncNames , aVoidList ,
- X , Y ) ; } ;
-
- bool SavePY( ostream &f , const char * aGraphName ,
- int X , int Y ) const {
- ListOfFuncName aFuncNames ;
- GraphBase::ListOfPythonFunctions aVoidList ;
- return SavePY( f , aGraphName , "" , "" , "" , NULL , aFuncNames , aVoidList ,
- X , Y ) ; } ;
-// bool SaveXML(ostream &f , char *Tabs ,
- bool SaveXML(QDomDocument & Graph , QDomElement & info ,
- const char * ComponentName ,
- const char * InterfaceName ,
- const char * Computer ,
- const char * CoupledNode ,
- const ListOfFuncName FuncNames ,
- const GraphBase::ListOfPythonFunctions PythonFunctions ,
- int X , int Y ) const ;
-
- bool SavePY(ostream &f , const char * aGraphName ,
- const char * ComponentName ,
- const char * InterfaceName ,
- const char * Computer ,
- const GraphBase::InLineNode * aCoupledNode ,
- const ListOfFuncName FuncNames ,
- const GraphBase::ListOfPythonFunctions PythonFunctions ,
- int X , int Y ) const ;
-
- void NodeInfo(ostream & s) const ;
-
- void ListLinks(ostream &f ) const ;
-
- };
-
-};
-
-ostream & operator<< (ostream &,const GraphBase::ComputingNode & N );
-
-ostream & operator<< (ostream &,const SUPERV::SDate & D );
-
-#endif
+++ /dev/null
-// SUPERV GraphBase : contains fondamental classes for Services, Input Ports, Output Ports Links and Nodes.
-//
-// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
-// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
-//
-// This library is free software; you can redistribute it and/or
-// modify it under the terms of the GNU Lesser General Public
-// License as published by the Free Software Foundation; either
-// version 2.1 of the License.
-//
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-// Lesser General Public License for more details.
-//
-// You should have received a copy of the GNU Lesser General Public
-// License along with this library; if not, write to the Free Software
-// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-//
-// See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
-//
-//
-//
-// File : DataFlowBase_DataNode.cxx
-// Author : Jean Rahuel, CEA
-// Module : SUPERV
-// $Header:
-
-using namespace std;
-#include "DataFlowBase_DataNode.hxx"
-
-GraphBase::DataNode::DataNode() :
- InLineNode() {
- MESSAGE( "GraphBase::DataNode::DataNode" );
- _Created = false ;
-}
-
-GraphBase::DataNode::DataNode( CORBA::ORB_ptr ORB ,
- SALOME_NamingService* ptrNamingService ,
- const char *DataFlowName ) :
- InLineNode( ORB , ptrNamingService , DataFlowName ) {
-// MESSAGE( "GraphBase::DataNode::DataNode" );
- cdebug << "GraphBase::DataNode::DataNode" << endl ;
- _Created = false ;
-}
-
-GraphBase::DataNode::DataNode(
- CORBA::ORB_ptr ORB ,
- SALOME_NamingService* ptrNamingService ,
- const SALOME_ModuleCatalog::Service& DataFlowService ,
- const char *DataFlowName ,
- const SUPERV::KindOfNode DataFlowkind ,
- const SUPERV::SDate DataFlowFirstCreation ,
- const SUPERV::SDate DataFlowLastModification ,
- const char * DataFlowEditorRelease ,
- const char * DataFlowAuthor ,
- const char * DataFlowComment ) :
- InLineNode( ORB , ptrNamingService , DataFlowService ,
- DataFlowName , DataFlowkind ,
- DataFlowFirstCreation , DataFlowLastModification ,
- DataFlowEditorRelease , DataFlowAuthor ,
- DataFlowComment , false , 0 , 0) {
-// MESSAGE( "GraphBase::DataNode::DataNode" );
-}
-
-GraphBase::DataNode::~DataNode() {
-// MESSAGE( "GraphBase::DataNode::~DataNode" );
-}
-
-void GraphBase::DataNode::DataService( CORBA::ORB_ptr ORB ,
- SALOME_ModuleCatalog::Service aService ,
- int * Graph_prof_debug ,
- ofstream * Graph_fdebug ) {
- cdebug << "GraphBase::DataNode::DataService : DataFlowPortsOfNode of "
- << aService.ServiceName << endl ;
- DefPortsOfNode( ORB , aService , NamePtr() , Kind() ,
- Graph_prof_debug , Graph_fdebug ) ;
-
- if ( _Created )
- delete _DataFlowDataPorts ;
- SALOME_ModuleCatalog::Service aReversedService ;
- aReversedService.ServiceName = aService.ServiceName ;
- aReversedService.ServiceinParameter = aService.ServiceoutParameter ;
- aReversedService.ServiceoutParameter = aService.ServiceinParameter ;
- _DataFlowDataPorts = new PortsOfNode() ;
- cdebug << "GraphBase::DataNode::DataService : Mirrored DataFlowPortsOfNode of "
- << aReversedService.ServiceName << endl ;
- _DataFlowDataPorts->DefPortsOfNode( ORB , aReversedService , NamePtr() , Kind() ,
- Graph_prof_debug , Graph_fdebug ) ;
- _Created = true ;
-}
-
-int GraphBase::DataNode::CheckDataServerNodes() const {
-
- cdebug << "GraphBase::Graph::DataServerNodes ()" << endl;
-
- int i , ierr = 0 ;
-
- for ( i = 0 ; i < _DataFlowDataPorts->GetNodeOutPortsSize() ; i++ ) {
-// Not a BUG : Reversed Service of the graph
- const GraphBase::OutPort * anOutPort = _DataFlowDataPorts->GetNodeOutPort(i) ;
-// if ( !anOutPort->IsGate() && !anOutPort->IsDataStream() && !anOutPort->IsDataConnected() ) {
- if ( !anOutPort->IsGate() && !anOutPort->IsDataConnected() ) {
- cdebug << "InPort " << anOutPort->PortName() << " " << anOutPort->PortType()
- << " of DataFlow " << Name() << " has NO Data." << endl ;
- ierr++ ;
- }
- else {
- cdebug << "InPort " << anOutPort->PortName() << " " << anOutPort->PortType()
- << " of DataFlow " << Name() << " has Data : "
-// << _DataFlowDataPorts->GetNodeOutPort(i)->Value() << " kind "
-// << _DataFlowDataPorts->GetNodeOutPort(i)->Kind()
- << endl ;
- }
- }
-
- for ( i = 0 ; i < _DataFlowDataPorts->GetNodeInPortsSize() ; i++ ) {
- if ( !_DataFlowDataPorts->GetNodeInPort(i)->IsConnected() ) {
- cdebug << "OutPort " << _DataFlowDataPorts->GetNodeInPort(i)->PortName()
- << " of DataFlow " << Name() << " has Data " << endl ;
-// ierr++ ;
- }
- else {
- cdebug << "OutPort " << _DataFlowDataPorts->GetNodeInPort(i)->PortName()
- << " of DataFlow " << Name() << " has NO Data : "
-// << _DataFlowDataPorts->GetChangeNodeInPort(i)->GetLink()->Value()
-// << " kind "
-// << _DataFlowDataPorts->GetChangeNodeInPort(i)->GetLink()->Kind()
- << endl ;
- ierr++ ;
- }
- }
-
- if ( ierr ) {
- cdebug << "Some Input Data missing in the DataFlow " << Name() << endl ;
- }
-
- return ierr ;
-}
-
-void GraphBase::DataNode::ListDatas(ostream & f ) const {
- _DataFlowDataPorts->ListPorts( f , false ) ;
-}
-
-void GraphBase::DataNode::DataNodeInfo(ostream & s ) const {
- s << *this ;
- s << "Ports :" << endl ;
- ListPorts( s , true ) ;
- s << "Datas :" << endl ;
- _DataFlowDataPorts->ListPorts( s , false ) ;
- s << ends ;
-}
-
-// inlined :
-//GraphBase::OutPort * GraphBase::DataNode::GetChangeInDataNodePort( const char * DataFlowInPortName ) {
-// return _DataFlowDataPorts->GetChangeOutPort( DataFlowInPortName ) ;
-//}
-
-//GraphBase::InPort * GraphBase::DataNode::GetChangeOutDataNodePort( const char * DataFlowOutPortName ) {
-// return _DataFlowDataPorts->GetChangeInPort( DataFlowOutPortName ) ;
-//}
-
+++ /dev/null
-// SUPERV GraphBase : contains fondamental classes for Services, Input Ports, Output Ports Links and Nodes.
-//
-// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
-// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
-//
-// This library is free software; you can redistribute it and/or
-// modify it under the terms of the GNU Lesser General Public
-// License as published by the Free Software Foundation; either
-// version 2.1 of the License.
-//
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-// Lesser General Public License for more details.
-//
-// You should have received a copy of the GNU Lesser General Public
-// License along with this library; if not, write to the Free Software
-// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-//
-// See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
-//
-//
-//
-// File : DataFlowBase_DataNode.hxx
-// Author : Jean Rahuel, CEA
-// Module : SUPERV
-// $Header:
-
-#ifndef _DATAFLOWBASE_DATANODE_HXX
-#define _DATAFLOWBASE_DATANODE_HXX
-
-#include "DataFlowBase_InLineNode.hxx"
-
-namespace GraphBase {
-
- class DataNode : public InLineNode {
-
- private:
-
- bool _Created ;
-
- protected :
-
- GraphBase::PortsOfNode * _DataFlowDataPorts ;
-
- public:
-
- DataNode() ;
- DataNode( CORBA::ORB_ptr ORB ,
- SALOME_NamingService* ptrNamingService ,
- const char *DataFlowName ) ;
- DataNode( CORBA::ORB_ptr ORB ,
- SALOME_NamingService* ptrNamingService ,
- const SALOME_ModuleCatalog::Service& DataFlowService ,
- const char *DataFlowName ,
- const SUPERV::KindOfNode DataFlowkind ,
- const SUPERV::SDate DataFlowFirstCreation ,
- const SUPERV::SDate DataFlowLastModification ,
- const char * DataFlowEditorRelease ,
- const char * DataFlowAuthor ,
- const char * DataFlowComment ) ;
- virtual ~DataNode() ;
-
- void DataService( CORBA::ORB_ptr ORB ,
- const SALOME_ModuleCatalog::Service aService ,
- int * Graph_prof_debug ,
- ofstream * Graph_fdebug ) ;
-
- int CheckDataServerNodes() const ;
-
-// Mirrored methods of _DataFlowDataPorts of DataNode :
-// GetIn... gives the Out which is the input of InPort of the DataFlow
-// GetOut... gives the In which gets the output of OutPort of the DataFlow
- const int GetNodeInDataNodePortsSize() const {
- return _DataFlowDataPorts->GetNodeOutPortsSize() ; } ;
- const OutPort *GetNodeInDataNodePort(int i) const {
- return _DataFlowDataPorts->GetNodeOutPort( i ) ; } ;
- OutPort *GetChangeNodeInDataNodePort(int i) const {
- return _DataFlowDataPorts->GetChangeNodeOutPort( i ) ; } ;
- const int GetNodeOutDataNodePortsSize() const {
- return _DataFlowDataPorts->GetNodeInPortsSize() ; } ;
- const InPort *GetNodeOutDataNodePort(int i) const {
- return _DataFlowDataPorts->GetNodeInPort( i ) ; } ;
- InPort *GetChangeNodeOutDataNodePort(int i) const {
- return _DataFlowDataPorts->GetChangeNodeInPort( i ) ; } ;
-
- OutPort * GetChangeInDataNodePort( const char * DataFlowInPortName ) {
- return _DataFlowDataPorts->GetChangeOutPort( DataFlowInPortName ) ; } ;
- InPort * GetChangeOutDataNodePort( const char * DataFlowOutPortName ) {
- return _DataFlowDataPorts->GetChangeInPort( DataFlowOutPortName ) ; } ;
-
- void DataNodeInfo(ostream & s ) const ;
-
- void ListDatas(ostream & f) const ;
-
-// bool SaveXML( ostream &f , char *Tabs ,
- bool SaveXML( QDomDocument & Graph , QDomElement & info ,
- int X , int Y ) const {
- GraphBase::ListOfFuncName aFuncNames ;
- aFuncNames.resize( 0 ) ;
- GraphBase::ListOfPythonFunctions aVoidList ;
-// return GraphBase::ComputingNode::SaveXML( f , Tabs , "" , "" , "" , "" ,
- return GraphBase::ComputingNode::SaveXML( Graph , info , "" , "" , "" , "" ,
- aFuncNames , aVoidList , X , Y ) ; } ;
-
- bool SavePY( ostream &f , const char * aGraphName ,
- int X , int Y ) const {
- GraphBase::ListOfFuncName aFuncNames ;
- aFuncNames.resize( 0 ) ;
- GraphBase::ListOfPythonFunctions aVoidList ;
- return GraphBase::ComputingNode::SavePY( f , aGraphName , "" , "" , "" , NULL ,
- aFuncNames , aVoidList , X , Y ) ; } ;
- } ;
-
-} ;
-
-#endif
+++ /dev/null
-// SUPERV GraphBase : contains fondamental classes for Services, Input Ports, Output Ports Links and Nodes.
-//
-// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
-// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
-//
-// This library is free software; you can redistribute it and/or
-// modify it under the terms of the GNU Lesser General Public
-// License as published by the Free Software Foundation; either
-// version 2.1 of the License.
-//
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-// Lesser General Public License for more details.
-//
-// You should have received a copy of the GNU Lesser General Public
-// License along with this library; if not, write to the Free Software
-// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-//
-// See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
-//
-//
-//
-// File : DataFlowBase_DataPort.cxx
-// Author : Jean Rahuel, CEA
-// Module : SUPERV
-// $Header:
-
-using namespace std;
-#include <stdio.h>
-#include "DataFlowBase_DataPort.hxx"
-
-GraphBase::DataPort::DataPort() :
- Port() {
- pthread_mutex_init( &_MutexWait , NULL ) ;
- InitialValues( CORBA::Any() ) ;
-}
-
-GraphBase::DataPort::DataPort(
- const char *const * NodeName ,
- const SALOME_ModuleCatalog::ServicesParameter aserviceParameter ,
- const SUPERV::KindOfPort aKind ,
- const SALOME_ModuleCatalog::DataStreamDependency aDependency ) :
- Port( NodeName , aserviceParameter , aKind , aDependency ) {
- pthread_mutex_init( &_MutexWait , NULL ) ;
- InitialValues( CORBA::Any() ) ;
-}
-
-GraphBase::DataPort::~DataPort() {
-}
-
-void GraphBase::DataPort::InitialValues(CORBA::Any aValue ) {
- _theValue = new CORBA::Any( aValue ) ;
- string _Type = CORBA::string_dup(GetServicesParameter().Parametertype) ;
- const char * Type = _Type.c_str();
- CORBA::Any InitialValue ;
- cdebug << "InitialValues " << NodeName() << " " << PortName() << " " << PortType()
- << " : " ;
- if ( !strcmp( Type , "" ) ) {
- cdebug << "void" << endl ;
- InitialValue <<= (void *) NULL ;
- }
- else if ( !strcmp( Type , "string" ) ) {
- cdebug << "string" << endl ;
- InitialValue <<= (char *) NULL ;
- }
- else if ( !strcmp( Type , "boolean" ) ) {
- cdebug << "boolean" << endl ;
- InitialValue <<= (long ) 0 ;
- }
- else if ( !strcmp( Type , "char" ) ) {
- cdebug << "char" << endl ;
- InitialValue <<= (long ) 0 ;
- }
- else if ( !strcmp( Type , "short" ) ) {
- cdebug << "short" << endl ;
- InitialValue <<= (long ) 0 ;
- }
- else if ( !strcmp( Type , "int" ) ) {
- cdebug << "long" << endl ;
- InitialValue <<= (long ) 0 ;
- }
- else if ( !strcmp( Type , "long" ) ) {
- cdebug << "long" << endl ;
- InitialValue <<= (long ) 0 ;
- }
- else if ( !strcmp( Type , "float" ) ) {
- cdebug << "float" << endl ;
- InitialValue <<= (double ) 0. ;
- }
- else if ( !strcmp( Type , "double" ) ) {
- cdebug << "double" << endl ;
- InitialValue <<= (double ) 0. ;
- }
- else { // Default
- cdebug << "objref" << endl ;
-// InitialValue.replace(CORBA::_tc_Object, NULL);
- InitialValue <<= CORBA::Object::_nil() ;
- }
-// else {
-// cdebug << "InitialValues ERROR (other) " << Type << endl ;
-// InitialValue <<= (long ) 0 ;
-// }
- _InitialValue = new CORBA::Any( InitialValue ) ;
- _Value = &_InitialValue ;
-}
-
-void GraphBase::DataPort::Value( const CORBA::Any & aDataValue ) {
- CORBA::Any * aValue = new CORBA::Any( aDataValue ) ;
- Value( aValue ) ;
-}
-
-void GraphBase::DataPort::Value( const CORBA::Any * aDataValue ) {
-// cdebug << pthread_self() << " Value(aDataValue) --> pthread_mutex_lock " << &_MutexWait
-// << endl ;
- if ( pthread_mutex_lock( &_MutexWait ) ) {
- perror( "lock DataValue" ) ;
- exit( 0 ) ;
- }
-// cdebug << pthread_self() << " Value(aDataValue) pthread_mutex_locked " << &_MutexWait
-// << endl ;
-
- delete _theValue ;
-
- string _Type = CORBA::string_dup( GetServicesParameter().Parametertype ) ;
- const char * Type = _Type.c_str() ;
- _Value = &_theValue ;
-// cdebug << "NewValue " << NodeName() << " " << PortName() << " " << PortType()
-// << " : " << aDataValue << " kind " << aDataValue->type()->kind() << " " ;
- switch (aDataValue->type()->kind()) { // Input Value
- case CORBA::tk_string: { // Input string Value
- char * t;
- *aDataValue >>= t;
- cdebug << t << " (string)" ;
- if ( !strcmp( Type , "string" ) ) { // SuperVision Value
- _theValue = aDataValue ;
- *_theValue >>= t;
-// cdebug << " == Value( " << t << ") (string)";
- }
- else {
- CORBA::Any * theValue = new CORBA::Any() ;
- if ( !strcmp( Type , "boolean" ) || !strcmp( Type , "char" ) ||
- !strcmp( Type , "short" ) || !strcmp( Type , "int" ) || !strcmp( Type , "long" ) ) {
- long l ;
- sscanf( t , "%ld" , &l ) ;
- *theValue <<= l ;
- *theValue >>= l;
-// cdebug << " --> Value( " << l << ") (long) kind " << theValue->type()->kind() ;
- }
- else if ( !strcmp( Type , "float" ) || !strcmp( Type , "double" ) ) {
- double d ;
- sscanf( t , "%lf" , &d ) ;
- *theValue <<= d ;
- *theValue >>= d;
-// cdebug << " --> Value( " << d << ") (double) kind " << theValue->type()->kind() ;
- }
- else { // Default
- CORBA::Object_ptr ObjRef ;
- try {
- ObjRef = StringToObject( t ) ;
- *theValue <<= ObjRef ;
- }
- catch( ... ) {
- *theValue <<= CORBA::Object::_nil() ;
- }
- *theValue >>= ObjRef ;
-// cdebug << " --> Value( " << ObjectToString( ObjRef ) << ") (object reference) kind "
-// << theValue->type()->kind() ;
- }
- _theValue = theValue ;
- *_Value = theValue ;
- }
- break;
- }
- case CORBA::tk_long: { // Input long Value
- long l;
- *aDataValue >>= l;
-// cdebug << "Value( " << l << ") (long)";
- if ( !strcmp( Type , "boolean" ) || !strcmp( Type , "char" ) ||
- !strcmp( Type , "short" ) || !strcmp( Type , "int" ) || !strcmp( Type , "long" ) ) { // SuperVision Value
- _theValue = aDataValue ;
- *_Value = aDataValue ;
- *_theValue >>= l;
-// cdebug << " == Value( " << l << ") (long)";
- }
- else {
- CORBA::Any * theValue = new CORBA::Any() ;
- if ( !strcmp( Type , "string" ) ) {
- char t[40] ;
- sprintf( t , "%ld" , l ) ;
- *theValue <<= t ;
- char *tt ;
- *theValue >>= tt ;
-// cdebug << " --> Value( " << t << ") (string) kind " << theValue->type()->kind() ;
- }
- else if ( !strcmp( Type , "float" ) || !strcmp( Type , "double" ) ) {
- double d = l ;
- *theValue <<= d ;
- *theValue >>= d ;
-// cdebug << " --> Value( " << d << ") (double) kind " << theValue->type()->kind() ;
- }
- else { // Default
- CORBA::Object_ptr ObjRef ;
- *theValue <<= CORBA::Object::_nil() ;
- *theValue >>= ObjRef ;
-// cdebug << " --> Value( " << ObjectToString( ObjRef ) << ") (object reference) kind "
-// << theValue->type()->kind() ;
- }
- _theValue = theValue ;
- *_Value = theValue ;
- }
- break;
- }
- case CORBA::tk_double: { // Input double Value
- double d;
- *aDataValue >>= d;
-// cdebug << "Value( " << d << ") (double)";
- if ( !strcmp( Type , "float" ) || !strcmp( Type , "double" ) ) { // SuperVision Value
- _theValue = aDataValue ;
- *_Value = aDataValue ;
- *_theValue >>= d;
-// cdebug << " == Value( " << d << ") (double)";
- }
- else {
- CORBA::Any * theValue = new CORBA::Any() ;
- if ( !strcmp( Type , "string" ) ) {
- char t[40] ;
- sprintf( t , "%lf" , d ) ;
- *theValue <<= t ;
- char *tt ;
- *theValue >>= tt ;
-// cdebug << " --> Value( " << t << ") (string) kind " << theValue->type()->kind() ;
- }
- else if ( !strcmp( Type , "boolean" ) || !strcmp( Type , "char" ) ||
- !strcmp( Type , "short" ) || !strcmp( Type , "int" ) || !strcmp( Type , "long" ) ) {
- long l = (long ) d ;
- *theValue <<= l ;
- *theValue >>= l;
-// cdebug << " --> Value( " << l << ") (long) kind " << theValue->type()->kind() ;
- }
- else { // Default
- CORBA::Object_ptr ObjRef ;
- *theValue <<= CORBA::Object::_nil() ;
- *theValue >>= ObjRef ;
-// cdebug << " --> Value( " << ObjectToString( ObjRef ) << ") (object reference) kind "
-// << theValue->type()->kind() ;
- }
- _theValue = theValue ;
- *_Value = theValue ;
- }
- break;
- }
- case CORBA::tk_objref: { // Input objref Value
- CORBA::Object_ptr obj ;
- *aDataValue >>= obj;
-// cdebug << "Value( " << ObjectToString( obj ) << ") (object reference)";
- if ( strcmp( Type , "string" ) &&
- strcmp( Type , "boolean" ) && strcmp( Type , "char" ) &&
- strcmp( Type , "short" ) && strcmp( Type , "long" ) &&
- strcmp( Type , "double" ) ) { // SuperVision Default Value
- _theValue = aDataValue ;
- *_Value = aDataValue ;
- *_theValue >>= obj;
-// cdebug << " == Value( " << ObjectToString( obj ) << ") (object reference)";
- }
- else {
- CORBA::Any * theValue = new CORBA::Any() ;
- if ( !strcmp( Type , "string" ) ) {
- *theValue <<= ObjectToString( obj ) ;
- *theValue >>= obj ;
-// cdebug << " --> Value( " << ObjectToString( obj ) << ") (string) kind " << theValue->type()->kind() ;
- }
- else if ( !strcmp( Type , "boolean" ) || !strcmp( Type , "char" ) ||
- !strcmp( Type , "short" ) || !strcmp( Type , "int" ) || !strcmp( Type , "long" ) ) {
- long l = (long ) obj ;
- *theValue <<= l ;
- *theValue >>= l;
-// cdebug << " --> Value( " << l << ") (long) kind " << theValue->type()->kind() ;
- }
- else if ( !strcmp( Type , "float" ) || !strcmp( Type , "double" ) ) {
- double d = (double ) 0. ;
- *theValue <<= d ;
- *theValue >>= d;
-// cdebug << " --> Value( " << d << ") (double) kind " << theValue->type()->kind() ;
- }
- _theValue = theValue ;
- *_Value = theValue ;
- }
- break;
- }
- default: {
- cdebug << "Value" << " (other(tk_string,tk_double,tk_long,tk_objref)) ERROR kind "
- << aDataValue->type()->kind() ;
- break;
- }
- }
- cdebug << endl ;
- if ( pthread_mutex_unlock( &_MutexWait ) ) {
- perror( "unlock DataValue" ) ;
- exit( 0 ) ;
- }
-// cdebug << pthread_self() << " Value(aDataValue) --> pthread_mutex_unlocked " << &_MutexWait
-// << endl ;
-
-}
-
-void GraphBase::DataPort::Value( const CORBA::Any ** aDataSharedValue ) {
- delete _theValue ;
- _theValue = *aDataSharedValue ;
- _Value = aDataSharedValue ;
-// Done( true ) ;
-
-#if 0
- MESSAGE( NodePortName() << " : " << hex << _Value << " " );
- switch (_theValue->type()->kind()) {
- case CORBA::tk_string:
- char * t;
- *_theValue >>= t;
- MESSAGE( "Value( " << t << ") (string)");
- break;
- case CORBA::tk_double:
- double d;
- *_theValue >>= d;
- MESSAGE( "Value( " << d << ") (double)");
- break;
- case CORBA::tk_long:
- long l;
- *_theValue >>= l;
- MESSAGE( "Value( " << l << ") (long)");
- break;
- case CORBA::tk_objref:
- MESSAGE( "Value( " << ") (object reference)");
- break;
- default:
- MESSAGE( "Value" << " (other(tk_string,tk_double,tk_long,tk_objref)) ERROR");
- break;
- }
- MESSAGE();
-#endif
-}
-
-CORBA::Any const * GraphBase::DataPort::Value() const {
- pthread_mutex_t * aMutexWait = (pthread_mutex_t *) &_MutexWait ;
-// cdebug << pthread_self() << " Value() --> pthread_mutex_lock " << aMutexWait << endl ;
- if ( pthread_mutex_lock( aMutexWait ) ) {
- perror( "lock DataValue" ) ;
- exit( 0 ) ;
- }
-// cdebug << pthread_self() << " Value() --> pthread_mutex_locked " << aMutexWait << endl ;
- const CORBA::Any *const Value = *_Value ;
- CORBA::Any * theValue ;
-// cdebug << pthread_self() << " Value " << NodeName() << " " << PortName() << " "
-// << PortType() << " _Value " << _Value << " *_Value " << *_Value << " Value->type "
-// << Value->type() ;
- if ( Value->type() ) {
-// cdebug << " kind " << Value->type()->kind() << " :" << endl ;
- }
- else {
-// cdebug << " Null" << endl ;
- }
- if ( Done() ) {
- theValue = new CORBA::Any( *Value ) ;
- switch ( theValue->type()->kind() ) {
- case CORBA::tk_string: {
- char * t;
- *theValue >>= t;
-// cdebug << "GraphBase::DataPort::Value() : " << t << " (string) " << endl ;
- break;
- }
- case CORBA::tk_double: {
- double d;
- *theValue >>= d;
-// cdebug << "GraphBase::DataPort::Value() : " << d << " (double) " << endl ;
- break;
- }
- case CORBA::tk_long: {
- long l;
- *theValue >>= l;
-// cdebug << "GraphBase::DataPort::Value() : " << l << " (long) " << endl ;
- break;
- }
- case CORBA::tk_objref: {
- CORBA::Object_ptr obj ;
- char * retstr ;
- try {
- *theValue >>= obj ;
- retstr = ObjectToString( obj );
-// cdebug << "GraphBase::DataPort::Value() : " << retstr
-// << "(object reference) " << endl;
- }
- catch( ... ) {
- cdebug << "ToString( object ) Catched ERROR" << endl ;
- }
- break;
- }
- default: {
- cdebug << "GraphBase::DataPort::Value() : " << NodeName() << "( " << PortName() << " ) " << PortType()
- << " (other(tk_string,tk_double,tk_long,tk_objref)) ERROR" << endl ;
- break;
- }
- }
- }
- else {
-// cdebug << "GraphBase::DataPort::InitialValue() " << endl ;
- theValue = new CORBA::Any( *Value ) ;
- }
- if ( pthread_mutex_unlock( aMutexWait ) ) {
- perror( "unlock DataValue" ) ;
- exit( 0 ) ;
- }
-// cdebug << pthread_self() << " Value() --> pthread_mutex_unlocked " << aMutexWait << endl ;
-
- return theValue ;
-}
-
-bool GraphBase::DataPort::BoolValue() const {
- bool RetVal = false ;
- long val ;
- pthread_mutex_t * aMutexWait = (pthread_mutex_t *) &_MutexWait ;
-// cdebug << pthread_self() << " BoolValue() --> pthread_mutex_lock " << aMutexWait << endl ;
- if ( pthread_mutex_lock( aMutexWait ) ) {
- perror( "lock DataValue" ) ;
- exit( 0 ) ;
- }
-// cdebug << pthread_self() << " BoolValue() --> pthread_mutex_locked " << aMutexWait
-// << endl ;
- if ( (*_Value)->type()->kind() == CORBA::tk_long ) {
- **_Value >>= val ;
- if ( val ) {
- RetVal = true ;
- }
- }
- if ( pthread_mutex_unlock( aMutexWait ) ) {
- perror( "unlock DataValue" ) ;
- exit( 0 ) ;
- }
-// cdebug << pthread_self() << " BoolValue() --> pthread_mutex_unlocked " << aMutexWait
-// << endl ;
- return RetVal ;
-}
-
-const CORBA::Any ** GraphBase::DataPort::ValuePtr() const {
- return _Value ;
-}
-
-void GraphBase::DataPort::StringValue(ostream & f ) const {
- pthread_mutex_t * aMutexWait = (pthread_mutex_t *) &_MutexWait ;
-// cdebug << pthread_self() << " StringValue() --> pthread_mutex_lock " << aMutexWait
-// << endl ;
- if ( pthread_mutex_lock( aMutexWait ) ) {
- perror( "lock DataValue" ) ;
- exit( 0 ) ;
- }
-// cdebug << pthread_self() << " StringValue() --> pthread_mutex_locked " << aMutexWait
-// << endl ;
- if ( Done() ) {
-// cdebug << "StringValue " << NodeName() << " " << PortName() << " " << PortType()
-// << " _Value " << _Value << " *_Value "
-// << *_Value << " " << endl ;
- const CORBA::Any * theValue = *_Value ;
- switch (theValue->type()->kind()) {
- case CORBA::tk_string:
- char * t;
- *theValue >>= t;
- f << t << " (string)" ;
- break;
- case CORBA::tk_double:
- double d;
- *theValue >>= d;
- f << d << " (double)" ;
- break;
- case CORBA::tk_long:
- long l;
- *theValue >>= l;
- f << l << " (long)" ;
- break;
- case CORBA::tk_objref:
- CORBA::Object_ptr ObjRef ;
- try {
- *theValue >>= ObjRef ;
- f << "(object reference) " << ObjectToString( ObjRef ) ;
- }
- catch(...) {
- f << "(object reference) catched error" ;
- }
- break;
- default:
- f << "(other ERROR)" ;
- break;
- }
- }
- else {
- f << " Default (undefined) NOT DONE" ;
- }
- if ( pthread_mutex_unlock( aMutexWait ) ) {
- perror( "unlock DataValue" ) ;
- exit( 0 ) ;
- }
-// cdebug << pthread_self() << " StringValue() --> pthread_mutex_unlocked " << aMutexWait
-// << endl ;
-
-}
-
-
+++ /dev/null
-// SUPERV GraphBase : contains fondamental classes for Services, Input Ports, Output Ports Links and Nodes.
-//
-// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
-// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
-//
-// This library is free software; you can redistribute it and/or
-// modify it under the terms of the GNU Lesser General Public
-// License as published by the Free Software Foundation; either
-// version 2.1 of the License.
-//
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-// Lesser General Public License for more details.
-//
-// You should have received a copy of the GNU Lesser General Public
-// License along with this library; if not, write to the Free Software
-// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-//
-// See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
-//
-//
-//
-// File : DataFlowBase_DataPort.hxx
-// Author : Jean Rahuel, CEA
-// Module : SUPERV
-// $Header:
-
-#ifndef _DATAFLOWBASE_DATAPORT_HXX
-#define _DATAFLOWBASE_DATAPORT_HXX
-
-#include "DataFlowBase_Port.hxx"
-
-namespace GraphBase {
-
- class DataPort : public Port {
-
- private:
-
- CORBA::Any const * _InitialValue ;
- CORBA::Any const * _theValue ;
- CORBA::Any const * * _Value ;
- SUPERV::GraphState _State ;
- bool _Done ;
- pthread_mutex_t _MutexWait ;
-
- public :
-
- DataPort() ;
- DataPort( const char *const * NodeName ,
- const SALOME_ModuleCatalog::ServicesParameter aserviceParameter ,
- const SUPERV::KindOfPort aKind = SUPERV::ServiceParameter ,
- const SALOME_ModuleCatalog::DataStreamDependency aDependency = SALOME_ModuleCatalog::DATASTREAM_UNDEFINED ) ;
- virtual ~DataPort() ;
-
- void InitialValues(CORBA::Any aValue ) ;
- void Value (const CORBA::Any & aValue ) ;
- void Value( const CORBA::Any * aValue ) ;
- void Value( const CORBA::Any ** aValue ) ;
- CORBA::Any const * Value() const ;
- bool BoolValue() const ;
- const CORBA::Any ** ValuePtr() const ;
-
- void State( SUPERV::GraphState aState ) {
- _State = aState ; } ;
- SUPERV::GraphState State() { return _State ; } ;
-
- void Done( bool aDone ) {
-// cdebug << "ChgDone(.) " << NodeName() << " " << PortName() << " "
-// << _Done << " -> " << aDone << endl ;
- _Done = aDone ; } ;
- const bool Done() const { return ( _Done ) ; } ;
-
- void StringValue(ostream & f) const ;
-
- } ;
-
-} ;
-#endif
+++ /dev/null
-// SUPERV GraphBase : contains fondamental classes for Services, Input Ports, Output Ports Links and Nodes.
-//
-// Copyright (C) 2003 CEA/DEN, EDF R&D
-//
-//
-//
-// File : DataFlowBase_EndOfLoopNode.cxx
-// Author : Jean Rahuel, CEA
-// Module : SUPERV
-// $Header:
-
-using namespace std;
-//#include <sstream>
-//#include <iostream>
-
-#include "DataFlowBase_EndOfLoopNode.hxx"
-
-GraphBase::EndOfLoopNode::EndOfLoopNode() :
- GraphBase::GOTONode::GOTONode() {
-
- cdebug << "GraphBase::EndOfLoopNode::EndOfLoopNode " << this
- << " _Name " << (void *) Name() << " " << Name() << " _Comment "
- << (void *) Comment() << " " << Comment() << " " << endl ;
-
-}
-
-GraphBase::EndOfLoopNode::EndOfLoopNode( CORBA::ORB_ptr ORB ,
- SALOME_NamingService* ptrNamingService ,
- const char * FuncName ,
- const SUPERV::ListOfStrings & anInitPythonFunction ,
- const char *NodeName ,
- const SUPERV::KindOfNode akind ,
- const SUPERV::SDate NodeFirstCreation ,
- const SUPERV::SDate NodeLastModification ,
- const char * NodeEditorRelease ,
- const char * NodeAuthor ,
- const char * NodeComment ,
- const bool GeneratedName ,
- const long X ,
- const long Y ,
- int * Graph_prof_debug ,
- ofstream * Graph_fdebug ) :
- GraphBase::GOTONode::GOTONode( ORB , ptrNamingService , FuncName ,
- anInitPythonFunction ,
- NodeName , akind , NodeFirstCreation ,
- NodeLastModification , NodeEditorRelease ,
- NodeAuthor , NodeComment , GeneratedName ,
- X , Y , Graph_prof_debug , Graph_fdebug ) {
-
- cdebug_in << "GraphBase::EndOfLoopNode::EndOfLoopNode " << this
- << "' _Name " << (void *) Name() << " '" << Name() << " _Comment "
- << (void *) Comment() << " " << Comment() << " "
- << " KindOfNode " << Kind() << " FuncName " << FuncName
- << " ServiceName " << ServiceName() << " In("
- << ServiceInParameter().length()
- << ") Out(" << ServiceOutParameter().length() << ")" << endl ;
-
- cdebug_out << "GraphBase::EndOfLoopNode::EndOfLoopNode" << endl;
-}
-
-GraphBase::EndOfLoopNode::~EndOfLoopNode() {
- cdebug << "GraphBase::Node::~Node " << this
- << " _Name " << (void *) Name() << " " << Name() << " _Comment "
- << (void *) Comment() << " " << Comment() << " " << endl ;
-// if ( _ComponentName != NULLSTRING )
-// delete [] _ComponentName ;
-// delete [] _Name ;
-// delete [] _EditorRelease ;
-// if ( _Author != NULLSTRING )
-// delete [] _Author ;
-// if ( _Computer != FACTORYSERVER )
-// delete [] _Computer;
-// if ( Comment() != NULLSTRING )
-// delete [] Comment();
-}
-
+++ /dev/null
-// SUPERV GraphBase : contains fondamental classes for Services, Input Ports, Output Ports Links and Nodes.
-//
-// Copyright (C) 2003 CEA/DEN, EDF R&D
-//
-//
-//
-// File : DataFlowBase_EndOfLoopNode.hxx
-// Author : Jean Rahuel, CEA
-// Module : SUPERV
-// $Header:
-
-#ifndef _DATAFLOWBASE_ENDOFLOOPNODE_HXX
-#define _DATAFLOWBASE_ENDOFLOOPNODE_HXX
-
-#include "DataFlowBase_GOTONode.hxx"
-
-namespace GraphBase {
-
- class EndOfLoopNode : public GOTONode {
-
- private:
-
- public:
-
- EndOfLoopNode() ;
- EndOfLoopNode( CORBA::ORB_ptr ORB ,
- SALOME_NamingService* ptrNamingService ,
- const char * FuncName ,
- const SUPERV::ListOfStrings & ,
- const char *NodeName ,
- const SUPERV::KindOfNode akind ,
- const SUPERV::SDate NodeFirstCreation ,
- const SUPERV::SDate NodeLastModification ,
- const char * NodeEditorRelease ,
- const char * NodeAuthor ,
- const char * NodeComment ,
- const bool GeneratedName ,
- const long X ,
- const long Y ,
- int * Graph_prof_debug = NULL ,
- ofstream * Graph_fdebug = NULL ) ;
- virtual ~EndOfLoopNode() ;
-
- };
-
-};
-
-#endif
+++ /dev/null
-// SUPERV GraphBase : contains fondamental classes for Services, Input Ports, Output Ports Links and Nodes.
-//
-// Copyright (C) 2003 CEA/DEN, EDF R&D
-//
-//
-//
-// File : DataFlowBase_EndOfSwitchNode.cxx
-// Author : Jean Rahuel, CEA
-// Module : SUPERV
-// $Header:
-
-using namespace std;
-//#include <sstream>
-//#include <iostream>
-
-#include "DataFlowBase_EndOfSwitchNode.hxx"
-
-GraphBase::EndOfSwitchNode::EndOfSwitchNode() :
- GraphBase::GOTONode::GOTONode() {
-
- cdebug << "GraphBase::EndOfSwitchNode::EndOfSwitchNode " << this
- << " _Name " << (void *) Name() << " " << Name() << " _Comment "
- << (void *) Comment() << " " << Comment() << " " << endl ;
-
-}
-
-GraphBase::EndOfSwitchNode::EndOfSwitchNode( CORBA::ORB_ptr ORB ,
- SALOME_NamingService* ptrNamingService ,
- const char * FuncName ,
- const SUPERV::ListOfStrings & aPythonFunction ,
- const char *NodeName ,
- const SUPERV::KindOfNode akind ,
- const SUPERV::SDate NodeFirstCreation ,
- const SUPERV::SDate NodeLastModification ,
- const char * NodeEditorRelease ,
- const char * NodeAuthor ,
- const char * NodeComment ,
- const bool GeneratedName ,
- const long X ,
- const long Y ,
- int * Graph_prof_debug ,
- ofstream * Graph_fdebug ) :
- GraphBase::GOTONode::GOTONode( ORB , ptrNamingService , FuncName ,
- aPythonFunction ,
- NodeName , akind , NodeFirstCreation ,
- NodeLastModification , NodeEditorRelease ,
- NodeAuthor , NodeComment , GeneratedName ,
- X , Y , Graph_prof_debug , Graph_fdebug ) {
-
- cdebug_in << "GraphBase::EndOfSwitchNode::EndOfSwitchNode " << this
- << "' _Name " << (void *) Name() << " '" << Name() << " _Comment "
- << (void *) Comment() << " " << Comment() << " "
- << " KindOfNode " << Kind() << " FuncName " << FuncName
- << " ServiceName " << ServiceName() << " In("
- << ServiceInParameter().length()
- << ") Out(" << ServiceOutParameter().length() << ")" << endl ;
-
- cdebug_out << "GraphBase::EndOfSwitchNode::EndOfSwitchNode" << endl;
-}
-
-GraphBase::EndOfSwitchNode::~EndOfSwitchNode() {
- cdebug << "GraphBase::EndOfSwitchNode::~EndOfSwitchNode " << this
- << " _Name " << (void *) Name() << " " << Name() << " _Comment "
- << (void *) Comment() << " " << Comment() << " " << endl ;
-// if ( _ComponentName != NULLSTRING )
-// delete [] _ComponentName ;
-// delete [] _Name ;
-// delete [] _EditorRelease ;
-// if ( _Author != NULLSTRING )
-// delete [] _Author ;
-// if ( _Computer != FACTORYSERVER )
-// delete [] _Computer;
-// if ( _Comment != NULLSTRING )
-// delete [] _Comment;
-}
-
+++ /dev/null
-// SUPERV GraphBase : contains fondamental classes for Services, Input Ports, Output Ports Links and Nodes.
-//
-// Copyright (C) 2003 CEA/DEN, EDF R&D
-//
-//
-//
-// File : DataFlowBase_EndOfSwitchNode.hxx
-// Author : Jean Rahuel, CEA
-// Module : SUPERV
-// $Header:
-
-#ifndef _DATAFLOWBASE_ENDOFSWITCHNODE_HXX
-#define _DATAFLOWBASE_ENDOFSWITCHNODE_HXX
-
-#include "DataFlowBase_GOTONode.hxx"
-
-namespace GraphBase {
-
- class EndOfSwitchNode : public GOTONode {
-
- private:
-
- public:
-
- EndOfSwitchNode() ;
- EndOfSwitchNode( CORBA::ORB_ptr ORB ,
- SALOME_NamingService* ptrNamingService ,
- const char * FuncName ,
- const SUPERV::ListOfStrings & aPythonFunction ,
- const char *NodeName ,
- const SUPERV::KindOfNode akind ,
- const SUPERV::SDate NodeFirstCreation ,
- const SUPERV::SDate NodeLastModification ,
- const char * NodeEditorRelease ,
- const char * NodeAuthor ,
- const char * NodeComment ,
- const bool GeneratedName ,
- const long X ,
- const long Y ,
- int * Graph_prof_debug = NULL ,
- ofstream * Graph_fdebug = NULL ) ;
- virtual ~EndOfSwitchNode() ;
-
- };
-
-};
-
-#endif
+++ /dev/null
-// SUPERV GraphBase : contains fondamental classes for Services, Input Ports, Output Ports Links and Nodes.
-//
-// Copyright (C) 2003 CEA/DEN, EDF R&D
-//
-//
-//
-// File : DataFlowBase_FactoryNode.cxx
-// Author : Jean Rahuel, CEA
-// Module : SUPERV
-// $Header:
-
-using namespace std;
-//#include <sstream>
-//#include <iostream>
-
-#include "DataFlowBase_FactoryNode.hxx"
-
-static void InitFields( char * &_ComponentName ,
- char * &_InterfaceName ,
- char * &_Computer ) {
- _ComponentName = NULLSTRING ;
- _InterfaceName = NULLSTRING ;
-
- _Computer = FACTORYSERVER ;
-}
-
-GraphBase::FactoryNode::FactoryNode() :
- GraphBase::ComputingNode::ComputingNode() {
-
- InitFields( _ComponentName ,
- _InterfaceName ,
- _Computer ) ;
- _Container = Engines::Container::_nil() ;
- _ObjComponent = Engines::Component::_nil() ;
- cdebug << "GraphBase::FactoryNode::FactoryNode " << this
- << " _ComponentName "
- << (void *) _ComponentName << " " << _ComponentName << " _Name "
- << (void *) Name() << " " << Name() << " _Computer "
- << (void *) _Computer << " " << _Computer << " _Comment "
- << (void *) Comment() << " " << Comment() << " " << endl ;
-
-}
-
-GraphBase::FactoryNode::FactoryNode( CORBA::ORB_ptr ORB ,
- SALOME_NamingService* ptrNamingService ,
- const char * aDataFlowName ,
- int * Graph_prof_debug ,
- ofstream * Graph_fdebug ) :
- GraphBase::ComputingNode::ComputingNode( ORB , ptrNamingService , aDataFlowName ,
- Graph_prof_debug , Graph_fdebug ) {
-
- InitFields( _ComponentName ,
- _InterfaceName ,
- _Computer ) ;
-
- _Container = Engines::Container::_nil() ;
- _ObjComponent = Engines::Component::_nil() ;
-
- cdebug << "GraphBase::FactoryNode::FactoryNode " << this
- << " _ComponentName "
- << (void *) _ComponentName << " '" << _ComponentName
- << "' _InterfaceName "
- << (void *) _InterfaceName << " '" << _InterfaceName << "' _Name "
- << (void *) Name() << " '" << Name() << "' _Computer "
- << (void *) _Computer << " " << _Computer << " _Comment "
- << (void *) Comment() << " " << Comment() << " " << endl ;
-}
-
-GraphBase::FactoryNode::FactoryNode( CORBA::ORB_ptr ORB ,
- SALOME_NamingService * ptrNamingService ,
- const SALOME_ModuleCatalog::Service& aService ,
- const char * ComponentName ,
- const char * InterfaceName ,
- const char * NodeName ,
- const SUPERV::KindOfNode akind ,
- const SUPERV::SDate NodeFirstCreation ,
- const SUPERV::SDate NodeLastModification ,
- const char * NodeEditorRelease ,
- const char * NodeAuthor ,
- const char * NodeComputer ,
- const char * NodeComment ,
- const bool GeneratedName ,
- const long X ,
- const long Y ,
- int * Graph_prof_debug ,
- ofstream * Graph_fdebug ) :
- GraphBase::ComputingNode::ComputingNode( ORB , ptrNamingService , aService ,
- NodeName , akind ,
- NodeFirstCreation , NodeLastModification ,
- NodeEditorRelease , NodeAuthor , NodeComment ,
- GeneratedName , X , Y ,
- Graph_prof_debug , Graph_fdebug ) {
-
- _Container = Engines::Container::_nil() ;
- _ObjComponent = Engines::Component::_nil() ;
-
- _ComponentName = new char[strlen(ComponentName)+1];
- strcpy(_ComponentName , ComponentName ) ;
-
- _InterfaceName = new char[strlen(InterfaceName)+1];
- strcpy(_InterfaceName , InterfaceName ) ;
-
- if ( NodeComputer != NULLSTRING) {
- _Computer = new char[ strlen( NodeComputer ) + 1 ] ;
- strcpy( _Computer , NodeComputer ) ;
- }
- else {
- _Computer = FACTORYSERVER ;
- }
-
- cdebug_in << "GraphBase::FactoryNode::FactoryNode( '" << aService.ServiceName << "','"
- << _ComponentName << "','" << Name() << "'," << akind << ",'" << _Computer << "'" << endl;
-
- cdebug << "GraphBase::FactoryNode::FactoryNode " << this
- << " _ComponentName "
- << (void *) _ComponentName << " '" << _ComponentName
- << "' _InterfaceName "
- << (void *) _InterfaceName << " '" << _InterfaceName << "' _Name "
- << (void *) Name() << " '" << Name() << "' _Computer "
- << (void *) _Computer << " " << _Computer << " _Comment "
- << (void *) Comment() << " '" << Comment() << " "
- << "' KindOfNode " << Kind()
- << " ServiceName " << ServiceName() << " In(" << ServiceInParameter().length()
- << ") Out(" << ServiceOutParameter().length() << ")" << endl ;
-
- cdebug_out << "GraphBase::FactoryNode::FactoryNode" << endl;
-}
-
-GraphBase::FactoryNode::~FactoryNode() {
- cdebug << "GraphBase::Node::~Node " << this
- << "_ComponentName "
- << (void *) _ComponentName << " " << _ComponentName << " _Name "
- << (void *) Name() << " " << Name() << " _Computer "
- << (void *) _Computer << " " << _Computer << " _Comment "
- << (void *) Comment() << " " << Comment() << " " << endl ;
-// if ( _ComponentName != NULLSTRING )
-// delete [] _ComponentName ;
-// delete [] _Name ;
-// delete [] _EditorRelease ;
-// if ( _Author != NULLSTRING )
-// delete [] _Author ;
-// if ( _Computer != FACTORYSERVER )
-// delete [] _Computer;
-// if ( _Comment != NULLSTRING )
-// delete [] _Comment;
-}
-
-bool GraphBase::FactoryNode::ComponentName(const char * aComponentName) {
- if ( _ComponentName && _ComponentName != NULLSTRING )
- delete [] _ComponentName ;
- _ComponentName = new char[strlen(aComponentName)+1] ;
- strcpy( _ComponentName , aComponentName ) ;
- return true ;
-}
-
-bool GraphBase::FactoryNode::InterfaceName(const char * anInterfaceName) {
- if ( _InterfaceName && _InterfaceName != NULLSTRING )
- delete [] _InterfaceName ;
- _InterfaceName = new char[strlen(anInterfaceName)+1] ;
- strcpy( _InterfaceName , anInterfaceName ) ;
- return true ;
-}
-
-bool GraphBase::FactoryNode::Computer(const char *c) {
- cdebug_in << "GraphBase::FactoryNode::Computer" << endl;
- if ( _Computer != FACTORYSERVER )
- delete [] _Computer ;
- _Computer = my_strdup(c);
- cdebug_in << "GraphBase::FactoryNode::Computer('" << _Computer << "')" << endl;
- cdebug_out << "GraphBase::FactoryNode::Computer" << endl;
- return true ;
-}
-
-//bool GraphBase::FactoryNode::SaveXML( ostream &f , char *Tabs ,
-bool GraphBase::FactoryNode::SaveXML( QDomDocument & Graph , QDomElement & info ,
- int XCoordinate , int YCoordinate ) const {
- GraphBase::ListOfFuncName aFuncNames ;
- GraphBase::ListOfPythonFunctions aVoidList ;
-// return GraphBase::ComputingNode::SaveXML( f , Tabs , ComponentName() ,
- return GraphBase::ComputingNode::SaveXML( Graph , info , ComponentName() ,
- InterfaceName() , Computer() , "" ,
- aFuncNames , aVoidList ,
- XCoordinate , YCoordinate ) ;
-}
-
-bool GraphBase::FactoryNode::SavePY(ostream &f , const char * aGraphName ,
- int XCoordinate , int YCoordinate ) const {
- GraphBase::ListOfFuncName aFuncNames ;
- GraphBase::ListOfPythonFunctions aVoidList ;
- return GraphBase::ComputingNode::SavePY( f , aGraphName , ComponentName() ,
- InterfaceName() , Computer() , NULL ,
- aFuncNames , aVoidList ,
- XCoordinate , YCoordinate ) ;
-}
-
+++ /dev/null
-// SUPERV GraphBase : contains fondamental classes for Services, Input Ports, Output Ports Links and Nodes.
-//
-// Copyright (C) 2003 CEA/DEN, EDF R&D
-//
-//
-//
-// File : DataFlowBase_FactoryNode.hxx
-// Author : Jean Rahuel, CEA
-// Module : SUPERV
-// $Header:
-
-#ifndef _DATAFLOWBASE_FACTORYNODE_HXX
-#define _DATAFLOWBASE_FACTORYNODE_HXX
-
-#include "DataFlowBase_ComputingNode.hxx"
-
-namespace GraphBase {
-
- class FactoryNode : public ComputingNode {
-
- private:
-
- Engines::Container_var _Container ;
- Engines::Component_var _ObjComponent ;
-
- char * _ComponentName ;
- char * _InterfaceName ;
-
- char * _Computer ;
-
- public:
-
- FactoryNode() ;
- FactoryNode( CORBA::ORB_ptr ORB ,
- SALOME_NamingService* ptrNamingService ,
- const char * DataFlowName ,
- int * Graph_prof_debug = NULL ,
- ofstream * Graph_fdebug = NULL ) ;
- FactoryNode( CORBA::ORB_ptr ORB ,
- SALOME_NamingService* ptrNamingService ,
- const SALOME_ModuleCatalog::Service& NodeService ,
- const char *NodeComponentName ,
- const char* NodeInterfaceName ,
- const char *NodeName ,
- const SUPERV::KindOfNode akind ,
- const SUPERV::SDate NodeFirstCreation ,
- const SUPERV::SDate NodeLastModification ,
- const char * NodeEditorRelease ,
- const char * NodeAuthor ,
- const char * NodeComputer ,
- const char * NodeComment ,
- const bool GeneratedName ,
- const long X ,
- const long Y ,
- int * Graph_prof_debug = NULL ,
- ofstream * Graph_fdebug = NULL ) ;
- virtual ~FactoryNode() ;
-
- Engines::Container_var Container() const { return _Container ; } ;
- void SetContainer(Engines::Container_var aContainer) {
- _Container = aContainer ; } ;
- Engines::Component_var Component() const { return _ObjComponent ; } ;
- void SetComponent(Engines::Component_var anObjComponent) {
- _ObjComponent = anObjComponent ; } ;
- char * ComponentName() const { return my_strdup( _ComponentName ) ; } ;
- char * InterfaceName() const { return my_strdup( _InterfaceName ) ; } ;
- char * Computer() const {
-// cdebug_in << "GraphBase::FactoryNode::Computer returns '" << _Computer << "'"
-// << endl;
- return my_strdup( _Computer ) ; } ;
-
- bool ComponentName( const char * aComponentName ) ;
- bool InterfaceName( const char * anInterfaceName ) ;
- bool Computer( const char *c ) ;
-
-// bool SaveXML( ostream &f , char *Tabs ,
- bool SaveXML( QDomDocument & Graph , QDomElement & info ,
- int XCoordinate , int YCoordinate ) const ;
- bool SavePY( ostream &f , const char * aGraphName ,
- int XCoordinate , int YCoordinate ) const ;
-
- };
-
-};
-
-#endif
+++ /dev/null
-// SUPERV GraphBase : contains fondamental classes for Services, Input Ports, Output Ports Links and Nodes.
-//
-// Copyright (C) 2003 CEA/DEN, EDF R&D
-//
-//
-//
-// File : DataFlowBase_GOTONode.cxx
-// Author : Jean Rahuel, CEA
-// Module : SUPERV
-// $Header:
-
-using namespace std;
-//#include <sstream>
-//#include <iostream>
-
-#include "DataFlowBase_GOTONode.hxx"
-
-GraphBase::GOTONode::GOTONode() :
- GraphBase::InLineNode::InLineNode() {
-
- CoupledNode( NULL ) ;
- cdebug << "GraphBase::GOTONode::GOTONode " << this
- << " _Name " << (void *) Name() << " " << Name() << " _Comment "
- << (void *) Comment() << " " << Comment() << " " << endl ;
-
-}
-
-GraphBase::GOTONode::GOTONode( CORBA::ORB_ptr ORB ,
- SALOME_NamingService* ptrNamingService ,
- const char *FuncName ,
- const SUPERV::ListOfStrings & aPythonFunction ,
- const char *NodeName ,
- const SUPERV::KindOfNode akind ,
- const SUPERV::SDate NodeFirstCreation ,
- const SUPERV::SDate NodeLastModification ,
- const char * NodeEditorRelease ,
- const char * NodeAuthor ,
- const char * NodeComment ,
- const bool GeneratedName ,
- const long X ,
- const long Y ,
- int * Graph_prof_debug ,
- ofstream * Graph_fdebug ) :
- GraphBase::InLineNode::InLineNode( ORB , ptrNamingService , FuncName , aPythonFunction ,
- NodeName , akind , NodeFirstCreation ,
- NodeLastModification , NodeEditorRelease ,
- NodeAuthor , NodeComment , GeneratedName ,
- X , Y , Graph_prof_debug , Graph_fdebug ) {
-
- CoupledNode( NULL ) ;
- cdebug_in << "GraphBase::GOTONode::GOTONode " << this
- << "' _Name " << (void *) Name() << " '" << Name() << " _Comment "
- << (void *) Comment() << " " << Comment() << " "
- << " KindOfNode " << Kind() << " FuncName " << FuncName
- << " ServiceName " << ServiceName() << " In("
- << ServiceInParameter().length()
- << ") Out(" << ServiceOutParameter().length() << ")" << endl ;
-
- cdebug_out << "GraphBase::GOTONode::GOTONode" << endl;
-}
-
-GraphBase::GOTONode::~GOTONode() {
- cdebug << "GraphBase::GOTONode::~GOTONode " << this
- << " _Name " << (void *) Name() << " " << Name() << " _Comment "
- << (void *) Comment() << " " << Comment() << " " << endl ;
-// if ( _ComponentName != NULLSTRING )
-// delete [] _ComponentName ;
-// delete [] _Name ;
-// delete [] _EditorRelease ;
-// if ( _Author != NULLSTRING )
-// delete [] _Author ;
-// if ( _Computer != FACTORYSERVER )
-// delete [] _Computer;
-// if ( _Comment != NULLSTRING )
-// delete [] _Comment;
-}
-
-//bool GraphBase::GOTONode::SaveXML( ostream &f , char *Tabs ,
-bool GraphBase::GOTONode::SaveXML( QDomDocument & Graph , QDomElement & info ,
- int XCoordinate , int YCoordinate ) const {
- GraphBase::ListOfFuncName aFuncNames ;
- GraphBase::ListOfPythonFunctions aPythonFunction ;
- if ( PyFuncName() ) {
- aFuncNames.resize( 1 ) ;
- aFuncNames[0] = CORBA::string_dup( PyFuncName() ) ;
- aPythonFunction.resize( 1 ) ;
- aPythonFunction[0] = PythonFunction() ;
- }
- char * CoupledName = "" ;
- if ( CoupledNode() ) {
- CoupledName = CoupledNode()->Name() ;
- }
-// return GraphBase::ComputingNode::SaveXML( f , Tabs , "" , "" , "" ,
- return GraphBase::ComputingNode::SaveXML( Graph , info , "" , "" , "" ,
- CoupledName ,
- aFuncNames , aPythonFunction ,
- XCoordinate , YCoordinate ) ;
-}
-
-bool GraphBase::GOTONode::SavePY( ostream &f , const char * aGraphName ,
- int XCoordinate , int YCoordinate ) const {
- GraphBase::ListOfFuncName aFuncNames ;
- GraphBase::ListOfPythonFunctions aPythonFunction ;
- if ( PyFuncName() ) {
- aFuncNames.resize( 1 ) ;
- aFuncNames[0] = CORBA::string_dup( PyFuncName() ) ;
- aPythonFunction.resize( 1 ) ;
- aPythonFunction[0] = PythonFunction() ;
- }
- return GraphBase::ComputingNode::SavePY( f , aGraphName , "" , "" , "" ,
- CoupledNode() ,
- aFuncNames , aPythonFunction ,
- XCoordinate , YCoordinate ) ;
-}
-
+++ /dev/null
-// SUPERV GraphBase : contains fondamental classes for Services, Input Ports, Output Ports Links and Nodes.
-//
-// Copyright (C) 2003 CEA/DEN, EDF R&D
-//
-//
-//
-// File : DataFlowBase_GOTONode.hxx
-// Author : Jean Rahuel, CEA
-// Module : SUPERV
-// $Header:
-
-#ifndef _DATAFLOWBASE_GOTONODE_HXX
-#define _DATAFLOWBASE_GOTONODE_HXX
-
-#include "DataFlowBase_InLineNode.hxx"
-
-namespace GraphBase {
-
- class GOTONode : public InLineNode {
-
- private:
-
- InLineNode * _CoupledNode ;
-
- public:
-
- GOTONode() ;
- GOTONode( CORBA::ORB_ptr ORB ,
- SALOME_NamingService* ptrNamingService ,
- const char * FuncName ,
- const SUPERV::ListOfStrings & PythonFunction ,
- const char *NodeName ,
- const SUPERV::KindOfNode akind ,
- const SUPERV::SDate NodeFirstCreation ,
- const SUPERV::SDate NodeLastModification ,
- const char * NodeEditorRelease ,
- const char * NodeAuthor ,
- const char * NodeComment ,
- const bool GeneratedName ,
- const long X ,
- const long Y ,
- int * Graph_prof_debug = NULL ,
- ofstream * Graph_fdebug = NULL ) ;
- virtual ~GOTONode() ;
-
- void CoupledNode( InLineNode * aCoupledNode ) {
-// cdebug << Name() << ".GraphBase::GOTONode::CoupledNode( " ;
-// if ( aCoupledNode ) {
-// cdebug << aCoupledNode->Name() ;
-// }
-// else {
-// cdebug << "NULL" ;
-// }
-// cdebug << " )" << endl ;
- _CoupledNode = aCoupledNode ; } ;
- const InLineNode * CoupledNode() const {
-// cdebug << Name() << ".GraphBase::GOTONode::CoupledNode() --> " ;
-// if ( _CoupledNode ) {
-// cdebug << _CoupledNode->Name() ;
-// }
-// else {
-// cdebug << "NULL" ;
-// }
-// cdebug << endl ;
- return _CoupledNode ; } ;
- InLineNode * CoupledNode() {
-// cdebug << Name() << ".GraphBase::GOTONode::CoupledNode() --> " ;
-// if ( _CoupledNode ) {
-// cdebug << _CoupledNode->Name() ;
-// }
-// else {
-// cdebug << "NULL" ;
-// }
-// cdebug << endl ;
- return _CoupledNode ; } ;
-
-// bool SaveXML(ostream &f , char *Tabs , int X , int Y ) const ;
- bool SaveXML(QDomDocument & Graph , QDomElement & info , int X , int Y ) const ;
-
- bool SavePY(ostream &f , const char * aGraphName , int X , int Y ) const ;
-
- };
-
-};
-
-#endif
+++ /dev/null
-// SUPERV GraphBase : contains fondamental classes for Services, Input Ports, Output Ports Links and Nodes.
-//
-// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
-// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
-//
-// This library is free software; you can redistribute it and/or
-// modify it under the terms of the GNU Lesser General Public
-// License as published by the Free Software Foundation; either
-// version 2.1 of the License.
-//
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-// Lesser General Public License for more details.
-//
-// You should have received a copy of the GNU Lesser General Public
-// License along with this library; if not, write to the Free Software
-// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-//
-// See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
-//
-//
-//
-// File : DataFlowBase_Graph.cxx
-// Author : Jean Rahuel, CEA
-// Module : SUPERV
-// $Header:
-
-using namespace std;
-#include "DataFlowBase_StreamGraph.hxx"
-
-#include "SALOME_LifeCycleCORBA.hxx"
-
-GraphBase::Graph::Graph() :
- DataNode() {
- cdebug << "GraphBase::Graph::Graph" << endl ;
- _GraphNodesSize = 0 ;
-}
-
-GraphBase::Graph::Graph( CORBA::ORB_ptr ORB ,
- SALOME_NamingService* ptrNamingService ,
- const char *DataFlowName ,
- int * Graph_prof_debug ,
- ofstream * Graph_fdebug ) :
-// const char * DebugFileName ) :
- DataNode( ORB ,ptrNamingService , DataFlowName ) {
- _Orb = CORBA::ORB::_duplicate( ORB ) ;
- Set_prof_debug( Graph_prof_debug , Graph_fdebug ) ;
- cdebug << "GraphBase::Graph::Graph( " << DataFlowName << ") GraphNodesSize() " << GraphNodesSize() << endl ;
- _GraphNodesSize = 0 ;
-}
-
-GraphBase::Graph::Graph( CORBA::ORB_ptr ORB ,
- SALOME_NamingService* ptrNamingService ,
- const SALOME_ModuleCatalog::Service& DataFlowService ,
- const char *DataFlowComponentName ,
- const char *DataFlowInterfaceName ,
- const char *DataFlowName ,
- const SUPERV::KindOfNode DataFlowkind ,
- const SUPERV::SDate DataFlowFirstCreation ,
- const SUPERV::SDate DataFlowLastModification ,
- const char * DataFlowEditorRelease ,
- const char * DataFlowAuthor ,
- const char * DataFlowComputer ,
- const char * DataFlowComment ,
- int * Graph_prof_debug ,
- ofstream * Graph_fdebug ) :
-// const char * DebugFileName ) :
- DataNode( ORB , ptrNamingService , DataFlowService ,
- DataFlowName , DataFlowkind ,
- DataFlowFirstCreation , DataFlowLastModification ,
- DataFlowEditorRelease , DataFlowAuthor , DataFlowComment ) {
- _Orb = CORBA::ORB::_duplicate( ORB ) ;
- _GraphNodesSize = 0 ;
- Set_prof_debug( Graph_prof_debug , Graph_fdebug ) ;
- cdebug_in << "GraphBase::Graph::Graph" << endl ;
- DataService( ORB , DataFlowService , Graph_prof_debug , Graph_fdebug ) ;
- cdebug_out << "GraphBase::Graph::Graph" << endl ;
-}
-
-GraphBase::Graph::~Graph() {
- cdebug << "GraphBase::Graph::~Graph" << endl ;
-}
-
-void GraphBase::Graph::Set_prof_debug( int * Graph_prof_debug ,
- ofstream * Graph_fdebug ) {
- SetDebug( _Orb , Graph_prof_debug , Graph_fdebug ) ;
- _Graph_prof_debug = Graph_prof_debug ;
- _Graph_fdebug = Graph_fdebug ;
-}
-
-GraphBase::SNode * GraphBase::Graph::GetInfo() const {
- GraphBase::SNode * Info = new GraphBase::SNode ;
- Info->theComponentName = "" ;
- Info->theInterfaceName = "" ;
- Info->theName = Name() ;
- Info->theKind = Kind() ;
- if ( IsDataStreamNode() ) {
- long Timeout ;
- SUPERV::KindOfDataStreamTrace DataStreamTrace ;
- double DeltaTime ;
- ((GraphBase::StreamGraph * ) this)->StreamParams( Timeout , DataStreamTrace , DeltaTime ) ;
- Info->theTimeout = Timeout ;
- Info->theDataStreamTrace = DataStreamTrace ;
- Info->theDeltaTime = DeltaTime ;
- }
- Info->theService = *GetService() ;
- Info->theFirstCreation = FirstCreation() ;
- Info->theLastModification = LastModification() ;
- Info->theEditorRelease = EditorRelease() ;
- Info->theAuthor = Author() ;
- Info->theContainer = "" ;
- Info->theComment = Comment() ;
- Info->theCoords.theX = GraphBase::ComputingNode::XCoordinate() ;
- Info->theCoords.theY = GraphBase::ComputingNode::YCoordinate() ;
- return Info ;
-}
-
-//----------------------------------------------------------------------
-// Function : GetNodes
-// Purpose : get a nodes list
-//----------------------------------------------------------------------
-GraphBase::ListOfNodes * GraphBase::Graph::GetNodes() const {
- GraphBase::ListOfNodes * _list_nodes =
- new GraphBase::ListOfNodes;
-
- cdebug_in << "GraphBase::Graph::GetNodes" << endl ;
- // All the nodes from _InNodes are taken
-// vector< InNode *> Nodes = InNodes() ;
-
- _list_nodes->resize( GraphNodesSize() );
-
- int igoto ;
- int ind ;
- GraphBase::ComputingNode * aCNode = NULL ;
- for ( igoto = 0 ; igoto < 2 ; igoto++ ) {
- for ( ind = 0 ; ind < GraphNodesSize() ; ind++ ) {
- aCNode = GraphNodes( ind ) ;
- if ( ( igoto == 0 && !aCNode->IsGOTONode() ) ||
- ( igoto == 1 && aCNode->IsGOTONode() ) ) {
- if ( aCNode->IsFactoryNode() ) {
- GraphBase::FactoryNode * aFNode = (GraphBase::FactoryNode * ) aCNode ;
- (*_list_nodes)[ind].theComponentName = CORBA::string_dup( aFNode->ComponentName());
- (*_list_nodes)[ind].theInterfaceName = CORBA::string_dup( aFNode->InterfaceName());
- }
- else {
- (*_list_nodes)[ind].theComponentName = CORBA::string_dup( "" );
- (*_list_nodes)[ind].theInterfaceName = CORBA::string_dup( "" );
- }
- (*_list_nodes)[ind].theName = CORBA::string_dup( aCNode->Name() );
- (*_list_nodes)[ind].theKind = aCNode->Kind();
- if ( aCNode->IsInLineNode() ) {
- GraphBase::InLineNode * aINode = (GraphBase::InLineNode * ) aCNode ;
- (*_list_nodes)[ind].theListOfFuncName.resize( 1 ) ;
- (*_list_nodes)[ind].theListOfFuncName[0] = CORBA::string_dup( aINode->PyFuncName() ) ;
- (*_list_nodes)[ind].theListOfPythonFunctions.resize( 1 ) ;
- (*_list_nodes)[ind].theListOfPythonFunctions[0] = aINode->PythonFunction() ;
- }
- if ( aCNode->IsGOTONode() ) {
- GraphBase::GOTONode * aGNode = (GraphBase::GOTONode * ) aCNode ;
- (*_list_nodes)[ind].theListOfFuncName.resize( 1 ) ;
- (*_list_nodes)[ind].theListOfFuncName[0] = CORBA::string_dup( aGNode->PyFuncName() ) ;
- (*_list_nodes)[ind].theListOfPythonFunctions.resize( 1 ) ;
- (*_list_nodes)[ind].theListOfPythonFunctions[0] = aGNode->PythonFunction() ;
- }
- if ( aCNode->IsLoopNode() ) {
- GraphBase::LoopNode * aLNode = (GraphBase::LoopNode * ) aCNode ;
- (*_list_nodes)[ind].theCoupledNode = CORBA::string_dup( aLNode->CoupledNode()->Name() ) ;
- (*_list_nodes)[ind].theListOfFuncName.resize( 3 ) ;
- (*_list_nodes)[ind].theListOfFuncName[0] = CORBA::string_dup( aLNode->PyFuncName() ) ;
- (*_list_nodes)[ind].theListOfFuncName[1] = CORBA::string_dup( aLNode->PyMoreName() ) ;
- (*_list_nodes)[ind].theListOfFuncName[2] = CORBA::string_dup( aLNode->PyNextName() ) ;
- (*_list_nodes)[ind].theListOfPythonFunctions.resize( 3 ) ;
- (*_list_nodes)[ind].theListOfPythonFunctions[0] = aLNode->PythonFunction() ;
- (*_list_nodes)[ind].theListOfPythonFunctions[1] = aLNode->MorePythonFunction() ;
- (*_list_nodes)[ind].theListOfPythonFunctions[2] = aLNode->NextPythonFunction() ;
- }
- else if ( aCNode->IsSwitchNode() ) {
- GraphBase::SwitchNode * aSNode = (GraphBase::SwitchNode * ) aCNode ;
- (*_list_nodes)[ind].theCoupledNode = CORBA::string_dup( aSNode->CoupledNode()->Name() ) ;
- (*_list_nodes)[ind].theListOfFuncName.resize( 1 ) ;
- (*_list_nodes)[ind].theListOfFuncName[0] = CORBA::string_dup( aSNode->PyFuncName() ) ;
- (*_list_nodes)[ind].theListOfPythonFunctions.resize( 1 ) ;
- (*_list_nodes)[ind].theListOfPythonFunctions[0] = aSNode->PythonFunction() ;
- }
- else if ( aCNode->IsEndLoopNode() ) {
- GraphBase::EndOfLoopNode * aELNode = (GraphBase::EndOfLoopNode * ) aCNode ;
- (*_list_nodes)[ind].theCoupledNode = CORBA::string_dup( aELNode->CoupledNode()->Name() ) ;
- (*_list_nodes)[ind].theListOfFuncName.resize( 1 ) ;
- (*_list_nodes)[ind].theListOfFuncName[0] = CORBA::string_dup( aELNode->PyFuncName() ) ;
- (*_list_nodes)[ind].theListOfPythonFunctions.resize( 1 ) ;
- (*_list_nodes)[ind].theListOfPythonFunctions[0] = aELNode->PythonFunction() ;
- }
- else if ( aCNode->IsEndSwitchNode() ) {
- GraphBase::EndOfSwitchNode * aESNode = (GraphBase::EndOfSwitchNode * ) aCNode ;
- (*_list_nodes)[ind].theCoupledNode = CORBA::string_dup( aESNode->CoupledNode()->Name() ) ;
- (*_list_nodes)[ind].theListOfFuncName.resize( 1 ) ;
- (*_list_nodes)[ind].theListOfFuncName[0] = CORBA::string_dup( aESNode->PyFuncName() ) ;
- (*_list_nodes)[ind].theListOfPythonFunctions.resize( 1 ) ;
- (*_list_nodes)[ind].theListOfPythonFunctions[0] = aESNode->PythonFunction() ;
- }
- else {
- (*_list_nodes)[ind].theCoupledNode = CORBA::string_dup( "" ) ;
- }
-// (*_list_nodes)[ind].theDataStreamInArgsNumber = aCNode->DataStreamInPortsNumber() ;
-// (*_list_nodes)[ind].theDataStreamOutArgsNumber = aCNode->DataStreamOutPortsNumber() ;
-
- (*_list_nodes)[ind].theListOfInDataStreams.resize( aCNode->DataStreamInPortsNumber() ) ;
- cdebug << "GraphBase::Graph::GetNodes " << aCNode->Name() << " " << aCNode->DataStreamInPortsNumber() << " DataStreamInPortsNumber" << endl ;
- int iostream ;
- int streamind = 0 ;
- for ( iostream = 0 ; iostream < aCNode->GetNodeInPortsSize() ; iostream++ ) {
- const GraphBase::InPort * anInPort ;
- anInPort = aCNode->GetNodeInPort( iostream ) ;
- if ( anInPort->IsDataStream() ) {
- cdebug << "GraphBase::Graph::GetNodes In" << iostream << " " << aCNode->Name() << " " << anInPort->NodeName() << " " << anInPort->PortName()
- << endl ;
- (*_list_nodes)[ind].theListOfInDataStreams[streamind].theDataStreamParameter.Parametertype = StringToDataStreamType( anInPort->PortType() ) ;
- (*_list_nodes)[ind].theListOfInDataStreams[streamind].theDataStreamParameter.Parametername = CORBA::string_dup( anInPort->PortName() ) ;
- (*_list_nodes)[ind].theListOfInDataStreams[streamind].theDataStreamParameter.Parameterdependency = anInPort->Dependency() ;
- SUPERV::KindOfSchema aKindOfSchema ;
- SUPERV::KindOfInterpolation aKindOfInterpolation ;
- SUPERV::KindOfExtrapolation aKindOfExtrapolation ;
- ((GraphBase::InDataStreamPort * ) anInPort)->Params( aKindOfSchema , aKindOfInterpolation , aKindOfExtrapolation ) ;
- (*_list_nodes)[ind].theListOfInDataStreams[streamind].theKindOfSchema = aKindOfSchema ;
- (*_list_nodes)[ind].theListOfInDataStreams[streamind].theKindOfInterpolation = aKindOfInterpolation ;
- (*_list_nodes)[ind].theListOfInDataStreams[streamind].theKindOfExtrapolation = aKindOfExtrapolation ;
- cdebug << "GraphBase::Graph::GetNodes " << aCNode->Name() << " " << anInPort->NodeName() << " " << anInPort->PortName() << " "
- << anInPort->Dependency() << " " << aKindOfSchema << " " << aKindOfInterpolation << " " << aKindOfExtrapolation << " list_nodes "
- << (*_list_nodes)[ind].theListOfInDataStreams[streamind].theDataStreamParameter.Parametername << " "
- << (*_list_nodes)[ind].theListOfInDataStreams[streamind].theDataStreamParameter.Parametertype << " "
- << (*_list_nodes)[ind].theListOfInDataStreams[streamind].theDataStreamParameter.Parameterdependency << " "
- << (*_list_nodes)[ind].theListOfInDataStreams[streamind].theKindOfSchema << " "
- << (*_list_nodes)[ind].theListOfInDataStreams[streamind].theKindOfInterpolation << " "
- << (*_list_nodes)[ind].theListOfInDataStreams[streamind].theKindOfExtrapolation << " " << endl ;
- streamind += 1 ;
- }
- else {
- cdebug << "GraphBase::Graph::GetNodes " << aCNode->Name() << " " << anInPort->NodeName() << " " << anInPort->PortName() << " "
- << anInPort->Kind() << " IsDataStream " << anInPort->IsDataStream() << endl ;
- }
- }
-
- (*_list_nodes)[ind].theListOfOutDataStreams.resize( aCNode->DataStreamOutPortsNumber() ) ;
- cdebug << "GraphBase::Graph::GetNodes " << aCNode->Name() << " " << aCNode->DataStreamOutPortsNumber() << " DataStreamOutPortsNumber" << endl ;
- streamind = 0 ;
- for ( iostream = 0 ; iostream < aCNode->GetNodeOutPortsSize() ; iostream++ ) {
- const GraphBase::OutPort * anOutPort ;
- anOutPort = aCNode->GetNodeOutPort( iostream ) ;
- if ( anOutPort->IsDataStream() ) {
- cdebug << "GraphBase::Graph::GetNodes Out" << iostream << " " << aCNode->Name() << " " << anOutPort->NodeName() << " " << anOutPort->PortName() << " "
- << endl ;
- (*_list_nodes)[ind].theListOfOutDataStreams[streamind].theDataStreamParameter.Parametertype = StringToDataStreamType( anOutPort->PortType() ) ;
- (*_list_nodes)[ind].theListOfOutDataStreams[streamind].theDataStreamParameter.Parametername = CORBA::string_dup( anOutPort->PortName() ) ;
- (*_list_nodes)[ind].theListOfOutDataStreams[streamind].theDataStreamParameter.Parameterdependency = anOutPort->Dependency() ;
- long aNumberOfValues = ((GraphBase::OutDataStreamPort * ) anOutPort)->NumberOfValues() ;
- (*_list_nodes)[ind].theListOfOutDataStreams[streamind].theNumberOfValues = aNumberOfValues ;
- cdebug << "GraphBase::Graph::GetNodes " << aCNode->Name() << " " << anOutPort->NodeName() << " " << anOutPort->PortName() << " "
- << anOutPort->Dependency() << " " << aNumberOfValues << " list_nodes "
- << (*_list_nodes)[ind].theListOfOutDataStreams[streamind].theDataStreamParameter.Parametername << " "
- << (*_list_nodes)[ind].theListOfOutDataStreams[streamind].theDataStreamParameter.Parametertype << " "
- << (*_list_nodes)[ind].theListOfOutDataStreams[streamind].theDataStreamParameter.Parameterdependency << " "
- << (*_list_nodes)[ind].theListOfOutDataStreams[streamind].theNumberOfValues << endl ;
- streamind += 1 ;
- }
- else {
- cdebug << "GraphBase::Graph::GetNodes " << aCNode->Name() << " " << anOutPort->NodeName() << " " << anOutPort->PortName() << " "
- << anOutPort->Kind() << " IsDataStream " << anOutPort->IsDataStream() << endl ;
- }
- }
-
- (*_list_nodes)[ind].theService = *aCNode->GetService();
- cdebug << "GraphBase::Graph::GetNodes theService " << &(*_list_nodes)[ind].theService.ServiceName << endl ;
- unsigned int i ;
- for ( i = 0 ; i < (*_list_nodes)[ind].theService.ServiceinParameter.length() ; i++ ) {
- cdebug << " In" << i << " " << &(*_list_nodes)[ind].theService.ServiceinParameter[i].Parametername
- << " " << (*_list_nodes)[ind].theService.ServiceinParameter[i].Parametername
- << " " << &(*_list_nodes)[ind].theService.ServiceinParameter[i].Parametertype
- << " " << (*_list_nodes)[ind].theService.ServiceinParameter[i].Parametertype << endl ;
- }
- for ( i = 0 ; i < (*_list_nodes)[ind].theService.ServiceoutParameter.length() ; i++ ) {
- cdebug << " Out" << i << " " << &(*_list_nodes)[ind].theService.ServiceoutParameter[i].Parametername
- << " " << (*_list_nodes)[ind].theService.ServiceoutParameter[i].Parametername
- << " " << &(*_list_nodes)[ind].theService.ServiceoutParameter[i].Parametertype
- << " " << (*_list_nodes)[ind].theService.ServiceoutParameter[i].Parametertype << endl ;
- }
- for ( i = 0 ; i < (*_list_nodes)[ind].theService.ServiceinDataStreamParameter.length() ; i++ ) {
- cdebug << " InDataStream" << i << " " << &(*_list_nodes)[ind].theService.ServiceinDataStreamParameter[i].Parametername
- << " " << (*_list_nodes)[ind].theService.ServiceinDataStreamParameter[i].Parametername
- << " " << &(*_list_nodes)[ind].theService.ServiceinDataStreamParameter[i].Parametertype
- << " " << (*_list_nodes)[ind].theService.ServiceinDataStreamParameter[i].Parametertype << endl ;
- }
- for ( i = 0 ; i < (*_list_nodes)[ind].theService.ServiceoutDataStreamParameter.length() ; i++ ) {
- cdebug << " OutDataStream" << i << " " << &(*_list_nodes)[ind].theService.ServiceoutDataStreamParameter[i].Parametername
- << " " << (*_list_nodes)[ind].theService.ServiceoutDataStreamParameter[i].Parametername
- << " " << &(*_list_nodes)[ind].theService.ServiceoutDataStreamParameter[i].Parametertype
- << " " << (*_list_nodes)[ind].theService.ServiceoutDataStreamParameter[i].Parametertype << endl ;
- }
- if ( aCNode->IsOneOfInLineNodes() ) {
- GraphBase::InLineNode * aINode = (GraphBase::InLineNode * ) aCNode ;
- GraphBase::LoopNode * aLNode = NULL ;
- if ( aCNode->IsLoopNode() ) {
- aLNode = (GraphBase::LoopNode * ) aCNode ;
- (*_list_nodes)[ind].theListOfPythonFunctions.resize( 3 ) ;
- (*_list_nodes)[ind].theListOfPythonFunctions[ 0 ] = aINode->PythonFunction() ;
- (*_list_nodes)[ind].theListOfPythonFunctions[ 1 ] = aLNode->MorePythonFunction() ;
- (*_list_nodes)[ind].theListOfPythonFunctions[ 2 ] = aLNode->NextPythonFunction() ;
- }
- else if ( aCNode->IsInLineNode() || aCNode->IsGOTONode() ||
- aCNode->IsSwitchNode() || aCNode->IsEndSwitchNode() ) {
- (*_list_nodes)[ind].theListOfPythonFunctions.resize( 1 ) ;
- (*_list_nodes)[ind].theListOfPythonFunctions[ 0 ] = aINode->PythonFunction() ;
- }
- }
- (*_list_nodes)[ind].theFirstCreation = aCNode->FirstCreation();
- (*_list_nodes)[ind].theLastModification = aCNode->LastModification();
- (*_list_nodes)[ind].theEditorRelease = CORBA::string_dup( aCNode->EditorRelease());
- (*_list_nodes)[ind].theAuthor = CORBA::string_dup( aCNode->Author());
- if ( aCNode->IsFactoryNode() ) {
- GraphBase::FactoryNode * aFNode = (GraphBase::FactoryNode * ) aCNode ;
- (*_list_nodes)[ind].theContainer = CORBA::string_dup( aFNode->Computer());
- }
- else {
- (*_list_nodes)[ind].theContainer = CORBA::string_dup( "" );
- }
- (*_list_nodes)[ind].theComment = CORBA::string_dup( aCNode->Comment());
- (*_list_nodes)[ind].theCoords.theX = aCNode->XCoordinate();
- (*_list_nodes)[ind].theCoords.theY = aCNode->YCoordinate();
-#if 0
- int nports = 0 ;
- int i ;
- for ( i = 0 ; i < aCNode->GetNodeInPortsSize() ; i++ ) {
- const GraphBase::InPort * anInPort = aCNode->GetNodeInPort( i ) ;
- if ( anInPort->IsBus() ) {
- nports += 1 ;
- (*_list_nodes)[ind].theListOfParameters.resize( nports ) ;
- (*_list_nodes)[ind].theListOfParameters[ nports-1 ].theInParameter.Parametertype = CORBA::string_dup( anInPort->PortType() ) ;
- (*_list_nodes)[ind].theListOfParameters[ nports-1 ].theInParameter.Parametername = CORBA::string_dup( anInPort->PortName() ) ;
- (*_list_nodes)[ind].theListOfParameters[ nports-1 ].theOutParameter.Parametertype = CORBA::string_dup( aCNode->GetNodeOutPort( anInPort->PortIndex() )->PortType() ) ;
- (*_list_nodes)[ind].theListOfParameters[ nports-1 ].theOutParameter.Parametername = CORBA::string_dup( aCNode->GetNodeOutPort( anInPort->PortIndex() )->PortName() ) ;
- }
- }
-#endif
- }
- }
- }
- cdebug_out << "GraphBase::Graph::GetNodes" << endl ;
- return _list_nodes ;
-}
-
-
-//----------------------------------------------------------------------
-// Function : GetLinks
-// Purpose : get a links list
-//----------------------------------------------------------------------
-GraphBase::ListOfLinks * GraphBase::Graph::GetLinks(bool AllLinks ) const {
- GraphBase::ListOfLinks * _list_links =
- new GraphBase::ListOfLinks;
-
-// All the links from _LinksList are taken
-// vector< InNode *> Nodes = InNodes() ;
-
- int ind = 0 ;
- int k ;
- for ( k = 0 ; k < GraphNodesSize() ; k++ ) {
- GraphBase::ComputingNode * fromNode = GraphNodes( k ) ;
- int i ;
- for ( i = 0 ; i < fromNode->GetNodeOutPortsSize() ; i++ ) {
- const GraphBase::OutPort* fromPort = fromNode->GetNodeOutPort( i ) ;
-// if ( fromPort->IsPortConnected() && ( !fromPort->IsLoop() || AllLinks ) ) {
- int j ;
- for ( j = 0 ; j < fromPort->InPortsSize() ; j++ ) {
- const GraphBase::InPort* toPort = fromPort->InPorts( j ) ;
-// Desole pour ce cast mais avec les maps difficile de faire const ...
- const GraphBase::ComputingNode * toNode = ((GraphBase::Graph * ) this)->GetGraphNode( toPort->NodeName() ) ;
- if ( !(fromPort->IsLoop() && toPort->IsLoop() ) || AllLinks ) {
- cdebug << "GraphBase::Graph::GetLinks " << fromNode->Name() << " ("
- << fromPort->PortName() << " ) IsPortConnected" << fromPort->IsPortConnected()
- << " --> " << toNode->Name() << "( " << toPort->PortName() << " ) "
- << " " << fromPort->InPortsSize() << " ports" << endl ;
- _list_links->resize( ind+1 );
- (*_list_links)[ind].FromNodeName = CORBA::string_dup( fromNode->Name() );
- (*_list_links)[ind].FromServiceParameterName = fromPort->GetServicesParameter().Parametername;
- (*_list_links)[ind].ToNodeName = CORBA::string_dup( toPort->NodeName() );
- (*_list_links)[ind].ToServiceParameterName = toPort->GetServicesParameter().Parametername;
- (*_list_links)[ind].aLinkValue = *fromPort->Value() ;
- if ( toPort->IsEndSwitch() ) {
- (*_list_links)[ind++].aListOfCoords = *(fromPort->Coords()) ;
- }
- else {
- (*_list_links)[ind++].aListOfCoords = *(toPort->Coords()) ;
- }
- }
- else {
- cdebug << "GraphBase::Graph::GetLinks " << fromNode->Name() << " "
- << fromPort->PortName() << " ) IsPortConnected" << fromPort->IsPortConnected()
- << " --> " << toNode->Name() << "( " << toPort->PortName() << " ) "
- << " " << fromPort->InPortsSize() << " ports ignored" << endl ;
- }
- }
-// }
- }
- }
-
- return _list_links;
-}
-
-GraphBase::ListOfGraphs * GraphBase::Graph::GetGraphs() const {
- GraphBase::ListOfGraphs * _list_graphs =
- new GraphBase::ListOfGraphs;
-
- return _list_graphs;
-}
-
-GraphBase::SLink * GraphBase::Graph::GetLink( GraphBase::ComputingNode * aNode ,
- GraphBase::InPort* toPort ) {
- GraphBase::SLink * _link = new GraphBase::SLink ;
- GraphBase::OutPort* fromPort = toPort->GetOutPort() ;
- _link->FromNodeName = CORBA::string_dup( fromPort->NodeName() );
- _link->FromServiceParameterName = fromPort->GetServicesParameter().Parametername;
- _link->ToNodeName = CORBA::string_dup( toPort->NodeName() );
- _link->ToServiceParameterName = toPort->GetServicesParameter().Parametername;
- CORBA::Any aSPValue = *fromPort->Value() ;
- _link->aLinkValue = aSPValue;
- _link->aListOfCoords = *(toPort->Coords()) ;
- return _link;
-}
-//----------------------------------------------------------------------
-// Function : GetDatas
-// Purpose : get the datas list
-//----------------------------------------------------------------------
-GraphBase::ListOfLinks * GraphBase::Graph::GetDatas() const {
- GraphBase::ListOfLinks * _list_datalinks =
- new GraphBase::ListOfLinks;
-
- int ind = 0 ;
- const GraphBase::DataNode * aDataNode = this ;
- int i ;
- for ( i = 0 ; i < aDataNode->GetNodeInDataNodePortsSize() ; i++ ) {
- const GraphBase::OutPort* fromDataPort = aDataNode->GetNodeInDataNodePort( i ) ;
- if ( fromDataPort->IsDataConnected() ) {
- int j ;
-//We may have SharedData as input of a DataFlow : same input for one or several
-// input ports. Input(s) of a DataFlow match one or several output-virtual-dataport
- for ( j = 0 ; j < fromDataPort->InPortsSize() ; j++ ) {
- _list_datalinks->resize( ind+1 );
- (*_list_datalinks)[ind].FromNodeName = CORBA::string_dup( aDataNode->Name() );
- (*_list_datalinks)[ind].FromServiceParameterName = fromDataPort->GetServicesParameter().Parametername;
- const GraphBase::InPort* toPort = fromDataPort->InPorts( j ) ;
- (*_list_datalinks)[ind].ToNodeName = CORBA::string_dup( toPort->NodeName() );
- (*_list_datalinks)[ind].ToServiceParameterName = toPort->GetServicesParameter().Parametername;
- CORBA::Any aSPValue = *fromDataPort->Value() ;
- (*_list_datalinks)[ind].aLinkValue = aSPValue;
- (*_list_datalinks)[ind++].aListOfCoords = *(toPort->Coords()) ;
- }
- }
- }
-
-#if 0
-// Output(s) of a DataFlow match only one input-virtual-dataport
- for ( i = 0 ; i < aDataNode->GetNodeOutDataNodePortsSize() ; i++ ) {
- GraphBase::InPort* toDataPort = aDataNode->GetChangeNodeOutDataNodePort( i ) ;
- const GraphBase::OutPort* fromPort = toDataPort->GetLink() ;
- if ( fromPort->IsDataConnected() ) {
- _list_datalinks->length( ind+1 );
- _list_datalinks[ind].FromNodeName = CORBA::string_dup( fromPort->NodeName() );
- _list_datalinks[ind].FromServiceParameterName = fromPort->GetServicesParameter().Parametername;
- _list_datalinks[ind].ToNodeName = CORBA::string_dup( aDataNode->Name() );
- _list_datalinks[ind].ToServiceParameterName = toDataPort->GetServicesParameter().Parametername;
-// SALOME_SuperVisionBase::ServicesParameterValue aSPValue;
- CORBA::Any aSPValue = *fromPort->Value() ;
-// aSPValue.Value = CORBA::string_dup( fromPort->Value() );
-// aSPValue.Kind = fromPort->Kind();
- _list_datalinks[ind].aLinkValue = aSPValue;
- _list_datalinks[ind++].aListOfCoords = toDataPort->Coords() ;
- }
- }
-#endif
-
- return _list_datalinks ;
-}
-
-bool GraphBase::Graph::AddNode( GraphBase::ComputingNode * aNode ) {
- cdebug_in << "GraphBase::Graph::AddNode " << (void *) aNode << " " << aNode->Name() << " " << aNode->ServiceName() << endl;
- bool RetVal = false ;
- int index = GetGraphNodeIndex( aNode->Name() ) ;
- if ( index < 0 ) {
- cdebug << "GraphBase::Graph::AddNode " << _GraphNodesSize << " nodes + 1" << endl ;
- _GraphNodes.resize( _GraphNodesSize+1 ) ;
- _GraphNodes[ _GraphNodesSize ] = aNode ;
- SetGraphNodeIndex( aNode->Name() , _GraphNodesSize ) ;
- _GraphNodesSize += 1 ;
- if ( SetServiceOfMap( (GraphBase::Service * ) aNode ) ) {
- cdebug << "Graph::AddNode SetServiceOfMap " << aNode->ServiceName() << " in MapOfServices" << endl ;
- }
- else {
- cdebug << "Graph::AddNode SetServiceOfMap " << aNode->ServiceName()
- << " was already in MapOfServices" << endl ;
- }
-
- RetVal = true ;
- int i ;
- cdebug << "GraphBase::Graph::AddNode " << _GraphNodesSize << " Known nodes :" << endl ;
- for ( i = 0 ; i < _GraphNodesSize ; i++ ) {
- const GraphBase::ComputingNode * aKnownNode = GetGraphNode( i ) ;
- if ( aKnownNode ) {
- cdebug << i << ". " << aKnownNode->Name() << " " << _MapOfGraphNodes[ GetGraphNode( i )->Name() ] - 1 << endl ;
- }
- else {
- cdebug << i << ". ERROR" << endl ;
- }
- }
- }
- cdebug_out << "GraphBase::Graph::AddNode " << _GraphNodesSize << " Nodes. "
- << aNode->ServiceName() << endl;
- return RetVal ;
-}
-
-bool GraphBase::Graph::ReNameNode( const char* OldNodeName ,
- const char* NewNodeName ) {
- cdebug_in << "GraphBase::Graph::ReNameNode (" << OldNodeName << " , "
- << NewNodeName << ")" << endl;
- int i ;
- bool RetVal = false ;
- if ( !strcmp( OldNodeName , NewNodeName ) ) {
- RetVal = true ;
- }
- else if ( strcmp( Name() , OldNodeName ) ) {
- int index = GetGraphNodeIndex( OldNodeName ) ;
- int newindex = GetGraphNodeIndex( NewNodeName ) ;
- if ( index >= 0 && index < _GraphNodesSize &&
- ( newindex < 0 || newindex > _GraphNodesSize ) ) {
- _GraphNodes[ index ]->Name( NewNodeName ) ;
- _MapOfGraphNodes.erase( OldNodeName ) ;
- SetGraphNodeIndex( NewNodeName , index ) ;
-
- GraphBase::ComputingNode * aNode = GetChangeGraphNode( index ) ;
- for ( i = aNode->GetNodeInPortsSize()-1 ; i >= 0 ; i-- ) {
- cdebug << i << ". GraphBase::Graph::ReNameNode of LinkedNode : from " ;
- GraphBase::InPort * anInPort = aNode->GetChangeNodeInPort( i ) ;
- GraphBase::OutPort * anOutPort = anInPort->GetOutPort() ;
- if ( anOutPort ) {
- cdebug << anOutPort->NodeName() ;
- }
- else {
- cdebug << "without link" ;
- }
- cdebug << " to " << i << ". " << anInPort->PortName()
- << " of " << NewNodeName ;
- if ( anInPort->IsConnected() ) {
- if ( anOutPort->IsDataConnected() ) {
- cdebug << " fromDataConnected "
- << anOutPort->NodeName()
- << endl ;
- }
- else {
- GraphBase::ComputingNode * FromNode = GetChangeGraphNode( anOutPort->NodeName() ) ;
- cdebug << " fromConnected " << FromNode->Name() << endl ;
- if ( anInPort->IsDataStream() ) {
- FromNode->ReNameStreamLink( OldNodeName , NewNodeName ) ;
- }
- else {
- FromNode->ReNameLink( OldNodeName , NewNodeName ) ;
- }
- }
- char* OldNodePortName = new char[ strlen( OldNodeName ) +
- strlen( aNode->GetChangeNodeInPort( i )->PortName() ) + 2 ] ;
- char* NewNodePortName = new char[ strlen( NewNodeName ) +
- strlen( aNode->GetChangeNodeInPort( i )->PortName() ) + 2 ] ;
- strcpy( OldNodePortName , OldNodeName ) ;
- strcat( OldNodePortName , "\\" ) ;
- strcat( OldNodePortName , aNode->GetChangeNodeInPort( i )->PortName() ) ;
- strcpy( NewNodePortName , NewNodeName ) ;
- strcat( NewNodePortName , "\\" ) ;
- strcat( NewNodePortName , aNode->GetChangeNodeInPort( i )->PortName() ) ;
- RetVal = anOutPort->ReNameInPort( OldNodePortName , NewNodePortName ) ;
- delete [] OldNodePortName ;
- delete [] NewNodePortName ;
- if ( !RetVal )
- break ;
- }
- else {
- cdebug << " not connected" << endl ;
- RetVal = true ;
- }
- }
- RetVal = true ;
- }
- else {
- cdebug << "Node not found" << endl ;
- }
- }
- else {
- RetVal = Name( NewNodeName ) ;
- }
-
- cdebug_out << "GraphBase::Graph::ReNameNode" << endl;
- return RetVal ;
-}
-
-bool GraphBase::Graph::RemoveNode( const char* aNodeName ) {
- cdebug_in << "GraphBase::Graph::RemoveNode (" << aNodeName << ")" << endl;
- int i ;
- bool RetVal = false ;
- int index = GetGraphNodeIndex( aNodeName ) ;
- GraphBase::ComputingNode * aNode = GetChangeGraphNode( index ) ;
- if ( aNode ) {
- if ( aNode->GetNodeInPortsSize() ) {
- for ( i = aNode->GetNodeInPortsSize()-1 ; i >= 0 ; i-- ) {
- cdebug << i << ". GraphBase::Graph::RemoveNode of LinkedNode : from " ;
- GraphBase::InPort * anInPort = aNode->GetChangeNodeInPort( i ) ;
- GraphBase::OutPort * anOutPort = anInPort->GetOutPort() ;
- if ( anOutPort ) {
- cdebug << anOutPort->NodeName() ;
- }
- else {
- cdebug << "without link" ;
- }
- cdebug << " to " << i << ". " << anInPort->PortName()
- << " of " << aNodeName ;
- if ( anInPort->IsConnected() ) {
- if ( anOutPort->IsDataConnected() ) {
- cdebug << " fromDataConnected " << anOutPort->NodeName() << endl ;
- }
- else {
- GraphBase::ComputingNode * FromNode = GetChangeGraphNode( anOutPort->NodeName() ) ;
- cdebug << " fromConnected " << FromNode->Name() << endl ;
- if ( anInPort->IsDataStream() ) {
- FromNode->RemoveStreamLink( aNode ) ;
- }
- else {
- FromNode->RemoveLink( aNode ) ;
- }
- }
- RetVal = anOutPort->RemoveInPort( anInPort ) ;
- if ( !RetVal )
- break ;
- }
- else {
- cdebug << " not connected" << endl ;
- RetVal = true ;
- }
- }
- }
- else {
- RetVal = true ;
- }
- if ( RetVal ) {
- for ( i = aNode->GetNodeOutPortsSize() - 1 ; i >= 0 ; i-- ) {
- GraphBase::OutPort * anOutPort = aNode->GetChangeNodeOutPort( i ) ;
- cdebug << "GraphBase::Graph::Remove " <<anOutPort->InPortsSize()
- << " Links of OutPort : " << i << ". "
- << *aNode->GetChangeNodeOutPort( i ) ;
- int j ;
- for ( j = anOutPort->InPortsSize() - 1 ; j >= 0 ; j-- ) {
- cdebug << " to " << j << ". " << *anOutPort->InPorts( j )
- << endl ;
- RetVal = anOutPort->ChangeInPorts( j )->RemoveOutPort() ;
- if ( !RetVal )
- break ;
- GraphBase::ComputingNode * ToNode = GetChangeGraphNode( anOutPort->InPorts( j )->NodeName() ) ;
- if ( anOutPort->IsDataStream() ) {
- aNode->RemoveStreamLink( ToNode ) ;
- }
- else {
- aNode->RemoveLink( ToNode ) ;
- }
- RetVal = anOutPort->RemoveInPort( anOutPort->ChangeInPorts( j ) ) ;
- if ( !RetVal )
- break ;
- }
-// RetVal = aNode->GetChangeNodeOutPort( j )->RemoveLinks() ;
- if ( !RetVal )
- break ;
- }
- }
-// RetVal = aNode->RemoveLinks() ; // In PortsOfNode
-// if ( RetVal ) {
-// if ( aNode->IsLoopNode() || aNode->IsEndLoopNode() || aNode->IsSwitchNode() || aNode->IsEndSwitchNode() ) {
-// GraphBase::InLineNode * anInLineNode = ((GraphBase::GOTONode * ) aNode)->CoupledNode() ;
-// if ( anInLineNode ) {
-// RetVal = RemoveNode( anInLineNode->Name() ) ;
-// }
-// }
-// }
- if ( RetVal ) {
- delete aNode ;
- _GraphNodesSize -= 1 ;
- for ( i = index ; i < _GraphNodesSize ; i++ ) {
- SetGraphNodeIndex( _GraphNodes[ i+1 ]->Name() , i ) ;
- _GraphNodes[ i ] = _GraphNodes[ i+1 ] ;
- }
- _GraphNodes.resize( _GraphNodesSize+1 ) ;
- _MapOfGraphNodes.erase( aNodeName ) ;
- RetVal = true ;
- }
- }
- else {
- cdebug << "Node not found" << endl ;
- }
-
- cdebug_out << "GraphBase::Graph::RemoveNode" << endl;
- return RetVal ;
-}
-
-bool GraphBase::Graph::AddLink( const char* FromNodeName ,
- const char* FromServiceParameterName ,
- const char* ToNodeName ,
- const char* ToServiceParameterName ,
- const CORBA::Any aValue ) {
- bool RetVal ;
-// int index ;
- cdebug_in << "GraphBase::Graph::AddLink(" << FromNodeName << "("
- << FromServiceParameterName << ") ---> " << ToNodeName << "("
- << ToServiceParameterName << ") )" << endl;
-
- GraphBase::ComputingNode *fromNode = GetChangeGraphNode( FromNodeName ) ;
- GraphBase::ComputingNode *toNode = GetChangeGraphNode( ToNodeName ) ;
-
- GraphBase::OutPort *fromPort = NULL ;
- GraphBase::InPort *toPort = NULL ;
-
- if ( fromNode ) {
- fromPort = fromNode->GetChangeOutPort( FromServiceParameterName ) ;
- if ( !fromPort ) {
- cdebug << "AddLink fromPort " << FromServiceParameterName << " FromNode("
- << FromNodeName << ") not found." << endl ;
- }
- }
- else {
- cdebug << "AddLink FromNode " << FromNodeName << " not found." << endl ;
- }
- if ( toNode ) {
- toPort = toNode->GetChangeInPort( ToServiceParameterName ) ;
- if ( !toPort ) {
- cdebug << "AddLink toPort " << ToServiceParameterName << " ToNode("
- << ToNodeName << ") not found." << endl ;
- }
- }
- else {
- cdebug << "AddLink toNode " << ToNodeName << " not found." << endl ;
- }
-
- RetVal = AddLink( fromNode , fromPort , toNode , toPort ) ;
-
- if ( RetVal ) {
- if ( fromPort->IsGate() && toPort->IsGate() ) {
- CORBA::Any aValue ;
- aValue <<= (long ) 1 ;
- fromPort->Value( aValue ) ;
- }
- else {
- const CORBA::Any * aDataValue = new CORBA::Any( aValue ) ;
- fromPort->Value( aDataValue ) ;
- }
- }
-
- cdebug_out << "GraphBase::Graph::AddLink" << endl;
- return RetVal ;
-}
-
-bool GraphBase::Graph::AddLink( GraphBase::ComputingNode *fromNode ,
- GraphBase::OutPort *fromPort ,
- GraphBase::ComputingNode *toNode ,
- GraphBase::InPort *toPort ) {
-// bool RetVal ;
-
- if ( !fromNode ) {
- cdebug << "AddLink fromNode not found." << endl ;
- return false ;
- }
- if ( !fromPort ) {
- cdebug << "AddLink fromPort not found." << endl ;
- return false ;
- }
-
- if ( !toNode ) {
- cdebug << "AddLink toNode not found." << endl ;
- return false ;
- }
- if ( !toPort ) {
- cdebug << "AddLink toPort not found." << endl ;
- return false ;
- }
- if ( ( fromPort->IsDataStream() && !toPort->IsDataStream() ) ||
- ( !fromPort->IsDataStream() && toPort->IsDataStream() ) ) {
- cdebug << "AddLink fromPort/toPort Stream/Flow. ERROR" << endl ;
- return false ;
- }
- if ( fromPort->IsDataStream() && fromPort->Dependency() == SALOME_ModuleCatalog::DATASTREAM_TEMPORAL &&
- toPort->Dependency() == SALOME_ModuleCatalog::DATASTREAM_ITERATIVE ) {
- cdebug << "AddLink fromPort/toPort Stream DATASTREAM_TEMPORAL --> DATASTREAM_ITERATIVE. ERROR" << endl ;
- return false ;
- }
-
- cdebug_in << "GraphBase::Graph::AddLink(" << fromNode->Name() << "("
- << fromPort->PortName() << ") ---> " << toNode->Name() << "("
- << toPort->PortName() << ") )" << endl;
- if ( !fromNode->IsDataFlowNode() && !fromNode->IsDataStreamNode() &&
- !toNode->IsDataFlowNode() && !toNode->IsDataStreamNode() &&
- toPort->GetOutPort() ) {
- if ( !strcmp( toPort->GetOutPort()->NodePortName() ,
- fromPort->NodePortName() ) ) {
- cdebug << "Link already exists" << endl ;
- cdebug_out << "GraphBase::Graph::AddLink 1" << endl;
- return true ;
- }
- else if ( toPort->IsDataConnected() ) {
- toPort->RemoveOutPort() ;
- }
- else if ( fromNode->IsGOTONode() ) {
- if ( !RemoveLink( toPort->GetOutPort()->NodeName() ,
- toPort->GetOutPort()->PortName() ,
- toNode->Name() , toPort->PortName() ) ) {
- cdebug << "RemoveLink(AddLink) toPort->GetOutPort()->NodeName() Error."
- << endl ;
- cdebug_out << "GraphBase::Graph::AddLink" << endl;
- return false ;
- }
- if ( fromPort->InPortsSize() ) {
- if ( !RemoveLink( fromNode->Name() , fromPort->PortName() ,
- fromPort->ChangeInPorts(0)->NodeName() ,
- fromPort->ChangeInPorts(0)->PortName() ) ) {
- cdebug << "RemoveLink(AddLink) fromNode->IsGOTONode Error." << endl ;
- cdebug_out << "GraphBase::Graph::AddLink" << endl;
- return false ;
- }
- }
- }
- else if ( !toNode->IsEndSwitchNode() ||
- ( toNode->IsEndSwitchNode() && toPort->IsGate() ) ) {
- if ( !RemoveLink( fromNode->Name() , fromPort->PortName() ,
- toNode->Name() , toPort->PortName() ) ) {
- cdebug << "RemoveLink(AddLink) toNode->IsEndSwitchNode Error." << endl ;
- cdebug_out << "GraphBase::Graph::AddLink" << endl;
- return false ;
- }
- }
- }
- else if ( fromNode->IsGOTONode() && fromPort->InPortsSize() ) {
- if ( !RemoveLink( fromNode->Name() , fromPort->PortName() ,
- fromPort->ChangeInPorts(0)->NodeName() ,
- fromPort->ChangeInPorts(0)->PortName() ) ) {
- cdebug << "RemoveLink(AddLink) fromNode->IsGOTONode Error." << endl ;
- cdebug_out << "GraphBase::Graph::AddLink" << endl;
- return false ;
- }
- }
-
- if ( toNode->IsEndSwitchNode() && !toPort->IsGate() ) {
-// if ( !toPort->IsEndSwitch() || !fromPort->AddInPort( toPort ) ) {
- if ( !fromPort->AddInPort( toPort ) ) {
- cdebug << "toNode->IsEndSwitchNode() : !fromPort->AddInPort( toPort ) AddLink Error."
- << endl ;
- cdebug_out << "GraphBase::Graph::AddLink" << endl;
- return false ;
- }
- if ( !toPort->IsDataStream() ) {
- toPort->Kind( SUPERV::EndSwitchParameter ) ;
- }
- }
- else if ( !fromPort->AddInPort( toPort ) ) { // --> MapOfInports in the OutPort
- cdebug << "!fromPort->AddLink Error." << endl ;
- cdebug_out << "GraphBase::Graph::AddLink" << endl;
- return false ;
- }
-
- if ( ( fromNode->IsDataFlowNode() || fromNode->IsDataStreamNode() ) &&
- toPort->IsDataConnected() ) {
- toPort->RemoveOutPort() ;
- }
-
- if ( fromNode->IsGOTONode() && ( !fromPort->IsGate() || !toPort->IsGate() ||
- toNode->IsEndLoopNode() || toNode->IsEndSwitchNode() ) ) {
- cdebug << "toPort->AddLink Error( fromNode->IsGOTONode() && toNode->IsEndInLineNode() )." << endl ;
- cdebug_out << "GraphBase::Graph::AddLink" << endl;
- return false ;
- }
- else if ( !fromNode->IsSwitchNode() && fromPort->IsParam() && toPort->IsGate() ) {
- cdebug << "toPort->AddLink Error( fromPort->IsParam() && toPort->IsGate())." << endl ;
- cdebug_out << "GraphBase::Graph::AddLink" << endl;
- return false ;
- }
- else if ( !toNode->IsEndSwitchNode() && !toNode->IsEndLoopNode() ) {
- if ( !toPort->AddOutPort( fromPort ) ) { // --> Unique OutPort of the InPort
- cdebug << "toPort->AddLink Error." << endl ;
- cdebug_out << "GraphBase::Graph::AddLink" << endl;
- return false ;
- }
- }
- else {
- toPort->AddOutPort( fromPort ) ;
- }
-
- if ( ( fromNode->IsGOTONode() && toNode->IsOneOfInLineNodes() ) ||
- ( fromNode->IsEndLoopNode() && toNode->IsLoopNode() ) ) {
- cdebug << "AddLink fromPort->PortStatus( PortConnected ) "
- << "GOTONode/EndLoopNode-->InLineNode/LoopNode/SwitchNode "
- << fromNode->Name() << " " << fromPort->PortName()
- << " InLineNode/LoopNode_ConnectedInPortsNumber "
- << toNode->ConnectedInPortsNumber() << endl;
- if ( fromNode->IsGOTONode() ) {
- fromPort->Kind( SUPERV::GOTOParameter ) ;
- }
- fromPort->PortStatus( PortConnected ); // GOTO - Loop
- }
- else if ( fromNode->IsDataFlowNode() || fromNode->IsDataStreamNode() ||
- toNode->IsDataFlowNode() || toNode->IsDataStreamNode() ) {
- cdebug << "AddLink IsDataFlowNode fromPort->PortStatus( DataConnected ) "
- << fromNode->Name() << " " << fromPort->PortName() << endl ;
- fromPort->PortStatus( DataConnected );
- }
- else {
- cdebug << "AddLink fromPort->PortStatus( PortConnected ) & fromNode->toNode "
- << fromNode->Name() << " " << fromPort->PortName() << " "
- << fromPort->Kind() << " -> " << toNode->Name() << " " << " "
- << toPort->PortName() << " " << toPort->Kind() << endl;
- fromPort->PortStatus( PortConnected );
- if ( fromPort->IsDataStream() && toPort->IsDataStream() ) {
- fromNode->AddStreamLink( toNode ) ;
- }
- else {
- fromNode->AddLink( toNode ) ;
- }
- }
- if ( fromNode->IsSwitchNode() ) {
- if ( !fromPort->IsDataStream() ) {
- if ( fromPort->IsInLine() && toPort->IsGate() && !toNode->IsEndSwitchNode() ) {
- fromPort->Kind( SUPERV::SwitchParameter ) ;
- }
- else if ( !fromPort->IsGate() && !toPort->IsGate() ){
- fromPort->Kind( SUPERV::InLineParameter ) ;
- }
- }
- if ( fromPort->IsGate() && !toNode->IsEndSwitchNode() ) {
- GraphBase::InLineNode * anEndSwitchNode ;
- anEndSwitchNode = ((GraphBase::SwitchNode * ) fromNode)->CoupledNode() ;
- GraphBase::InPort * anInPort = anEndSwitchNode->GetChangeNodeInGate() ;
- GraphBase::OutPort * anOutPort = anInPort->GetOutPort() ;
- if ( anOutPort && !strcmp( fromNode->Name() , anOutPort->NodeName() ) &&
- !strcmp( fromPort->PortName() , anOutPort->PortName() ) &&
- anOutPort->IsGate() ) {
- if ( !RemoveLink( fromNode->Name() , anOutPort->PortName() ,
- anEndSwitchNode->Name() ,
- anInPort->PortName() ) ) {
- cdebug << "AddLink Error Removelink ( Switch , Default , EndSwitch , Default )"
- << endl ;
- cdebug_out << "GraphBase::Graph::AddLink" << endl;
- return false ;
- }
- }
- }
- }
-// cdebug << fromNode->ServiceName() << " " << toNode->ServiceName() << endl ;
- cdebug_out << "GraphBase::Graph::AddLink 1" << endl;
- return true ;
-}
-
-bool GraphBase::Graph::RemoveLink( const char* FromNodeName ,
- const char* FromServiceParameterName ,
- const char* ToNodeName ,
- const char* ToServiceParameterName ) {
- cdebug_in << "GraphBase::Graph::RemoveLink from " << FromNodeName << "(" << FromServiceParameterName << ")"
- << " to " << ToNodeName << "(" << ToServiceParameterName << ")" << endl;
- bool RetVal = false ;
- GraphBase::ComputingNode * toNode = GetChangeGraphNode( ToNodeName ) ;
- if ( toNode ) {
- GraphBase::InPort * anInPort = toNode->GetChangeInPort( ToServiceParameterName ) ;
- if ( anInPort && ( anInPort->IsConnected() ||
- anInPort->IsDataConnected() ) ) {
- GraphBase::OutPort * anOutPort = anInPort->GetOutPort() ;
- RetVal = anOutPort->RemoveInPort( anInPort ) ;
- anInPort->RemoveOutPort() ;
- const char * FromNodeName = anOutPort->NodeName() ;
- GraphBase::ComputingNode * fromNode = GetChangeGraphNode( FromNodeName ) ;
- if ( RetVal ) {
- if ( fromNode ) {
- if ( anInPort->IsDataStream() ) {
- fromNode->RemoveStreamLink( toNode ) ;
- }
- else {
- fromNode->RemoveLink( toNode ) ;
- }
- }
- if ( fromNode->IsSwitchNode() && !anOutPort->IsGate() && !toNode->IsEndSwitchNode() ) {
- anOutPort->Kind( SUPERV::InLineParameter ) ;
- }
- }
- }
- }
- cdebug_out << "GraphBase::Graph::RemoveLink " << RetVal << endl;
- return RetVal ;
-}
-
-bool GraphBase::Graph::GetLink(const char* ToNodeName ,
- const char* ToServiceParameterName ,
- char** FromNodeName ,
- char** FromServiceParameterName ) {
-// cdebug_in << "GraphBase::Graph::GetLink " << ToNodeName << "("
-// << ToServiceParameterName << ")" << endl;
- bool RetVal = false ;
- GraphBase::ComputingNode * toNode = GetChangeGraphNode( ToNodeName ) ;
- if ( toNode ) {
- GraphBase::InPort * anInPort = toNode->GetChangeInPort( ToServiceParameterName ) ;
- if ( anInPort && anInPort->IsConnected() ) {
- GraphBase::OutPort * anOutPort = anInPort->GetOutPort() ;
- *FromNodeName = my_strdup( anOutPort->NodeName() ) ;
- *FromServiceParameterName = my_strdup( anOutPort->PortName() ) ;
- RetVal = true ;
- }
- else {
- cdebug << "GraphEditor::OutNode::GetLink ERROR no InPort or NotConnected " << ToNodeName
- << " " << ToServiceParameterName << " " << RetVal << endl;
- }
- }
- else {
- cdebug << "GraphEditor::OutNode::GetLink ERROR no Node " << ToNodeName << " " << RetVal
- << endl;
- }
-// cdebug_out << "GraphEditor::OutNode::GetLink " << RetVal << endl;
- return RetVal ;
-}
-
-bool GraphBase::Graph::AddInputData( const char* ToNodeName ,
- const char* ToServiceParameterName ,
- const CORBA::Any aValue ) {
- bool RetVal = false ;
- cdebug_in << "GraphBase::Graph::AddInputData(" << ToNodeName << ","
- << ToServiceParameterName << " , Any " ;
- switch (aValue.type()->kind()) {
- case CORBA::tk_string:
- char * t;
- aValue >>= t;
- cdebug << t << " (string) " ;
- break;
- case CORBA::tk_double:
- double d;
- aValue >>= d;
- cdebug << d << " (double) " ;
- break;
- case CORBA::tk_long:
- long l;
- aValue >>= l;
- cdebug << l << " (long) " ;
- break;
- case CORBA::tk_objref:
- cdebug << "(object reference) " ;
- break;
- default:
- cdebug << "(other(tk_string,tk_double,tk_long,tk_objref)) ERROR";
- break;
- }
- cdebug << ")" << endl;
-
- GraphBase::OutPort *fromDataNodePort = NULL ;
-
- GraphBase::ComputingNode *toNode ;
- GraphBase::InPort *toPort ;
- char *aNode ;
- char *aPort ;
- NodePort( ToNodeName , ToServiceParameterName , &aNode , &aPort ) ;
- toNode = GetChangeGraphNode( aNode ) ;
- if ( toNode ) {
- toPort = toNode->GetChangeInPort( aPort ) ;
- if ( toPort && !toPort->IsDataConnected() ) {
- toPort->RemoveOutPort() ;
- }
- }
- else {
- toPort = NULL ;
- }
- delete aNode ;
- delete aPort ;
-
-#if 0
- int i ;
- for ( i = 0 ; i < GetNodeOutDataNodePortsSize() ; i++ ) {
- cdebug "GraphBase::Graph::AddInputData " << GetNodeOutDataNodePort(i) << endl ;
- }
- for ( i = 0 ; i < GetNodeInDataNodePortsSize() ; i++ ) {
- cdebug "GraphBase::Graph::AddInputData " << GetNodeInDataNodePort(i) << endl ;
- }
-#endif
-
- if ( toNode && toPort ) {
- fromDataNodePort = GraphBase::DataNode::GetChangeInDataNodePort( toPort->NodePortName() ) ;
- if ( fromDataNodePort && fromDataNodePort->GetInPort( toPort ) ) {
- fromDataNodePort->RemoveInPort( toPort ) ;
- }
- cdebug << "Try AddLink " << toPort->NodePortName() << " : " << Name() << "( "
- << fromDataNodePort->PortName() << " ) -->" << toNode->Name() << "( "
- << toPort->PortName() << " )" << endl ;
- RetVal = AddLink( (GraphBase::ComputingNode * ) this , fromDataNodePort ,
- toNode , toPort ) ;
- if ( RetVal ) {
- fromDataNodePort->Value( aValue ) ;
- }
- }
- else {
- cdebug << "Node not found" << endl ;
- }
-
- cdebug_out << "GraphBase::Graph::AddInputData " << RetVal << endl;
- return RetVal ;
-}
-
-bool GraphBase::Graph::ChangeInputData( const char * ToNodeName ,
- const char * ToServiceParameterName ,
- const CORBA::Any aValue ) {
- bool RetVal = false ;
- cdebug_in << "GraphBase::Graph::ChangeInputData( '" << ToNodeName << "' , '"
- << ToServiceParameterName << "' , Any " ;
- switch (aValue.type()->kind()) {
- case CORBA::tk_string:
- char * t;
- aValue >>= t;
- cdebug << t << " (string) " ;
- break;
- case CORBA::tk_double:
- double d;
- aValue >>= d;
- cdebug << d << " (double) " ;
- break;
- case CORBA::tk_long:
- long l;
- aValue >>= l;
- cdebug << l << " (long) " ;
- break;
- case CORBA::tk_objref:
- cdebug << "(object reference) " ;
- break;
- default:
- cdebug << "(other(tk_string,tk_double,tk_long,tk_objref)) ERROR";
- break;
- }
- cdebug << ")" << endl;
-
- GraphBase::ComputingNode *toNode = GetChangeGraphNode( ToNodeName ) ;
-
- GraphBase::OutPort *fromPort = NULL ;
- GraphBase::InPort *toPort = NULL ;
-
- if ( toNode ) {
- toPort = toNode->GetChangeInPort( ToServiceParameterName ) ;
- if ( toPort ) {
- fromPort = toPort->GetOutPort();
- if ( fromPort ) {
- RetVal = true ;
- fromPort->Value( aValue ) ;
- toPort->State( SUPERV::ReadyState ) ;
- }
- else {
- cdebug << "ChangeInputData fromPort not found" << endl ;
- }
- }
- else {
- cdebug << "ChangeInputData toPort not found" << endl ;
- }
- }
- else {
- cdebug << "ChangeInputData Node not found : " << ToNodeName << endl ;
- }
-
- cdebug_out << "GraphBase::Graph::ChangeInputData" << endl;
- return RetVal ;
-}
-
-bool GraphBase::Graph::AddInputData(
- const char* ToNodeName1 ,
- const char* ToServiceParameterName1 ,
- const char* ToNodeName2 ,
- const char* ToServiceParameterName2 ) {
- bool RetVal = false ;
- cdebug_in << "GraphBase::Graph::AddInputSharedData(" << ToNodeName1 << ","
- << ToServiceParameterName1 << ", " << ToNodeName2 << ","
- << ToServiceParameterName2 << " )" << endl;
-
- GraphBase::ComputingNode *toNode1 = GetChangeGraphNode( ToNodeName1 ) ;
- GraphBase::ComputingNode *toNode2 = GetChangeGraphNode( ToNodeName2 ) ;
-
- GraphBase::OutPort *fromDataNodePort1 = NULL ;
- GraphBase::OutPort *fromDataNodePort2 = NULL ;
- GraphBase::InPort *toPort1 = NULL ;
- GraphBase::InPort *toPort2 = NULL ;
-
- if ( toNode1 && toNode2 ) {
- toPort1 = toNode1->GetChangeInPort( ToServiceParameterName1 ) ;
- toPort2 = toNode2->GetChangeInPort( ToServiceParameterName2 ) ;
- fromDataNodePort1 = GraphBase::DataNode::GetChangeInDataNodePort( toPort1->NodePortName() ) ;
-// const char* aDataValue = fromDataNodePort->Value() ;
- const CORBA::Any ** aDataValue1 = fromDataNodePort1->ValuePtr() ;
- fromDataNodePort2 = GraphBase::DataNode::GetChangeInDataNodePort( toPort2->NodePortName() ) ;
- RetVal = AddLink( (GraphBase::ComputingNode * ) this , fromDataNodePort1 ,
- toNode2 , toPort2 ) ;
-// aDataValue ) ;
- fromDataNodePort2->Value( aDataValue1 ) ;
- }
- else {
- cdebug << "Node not found" << endl ;
- }
-
- cdebug_out << "GraphBase::Graph::AddInputSharedData" << endl;
- return RetVal ;
-}
-
-bool GraphBase::Graph::AddInputData( const char* ToNodeName ,
- const char* ToServiceParameterName ,
- const CORBA::Any ** aValue ) {
- bool RetVal = false ;
- cdebug_in << "GraphBase::Graph::AddInputData(" << ToNodeName << ","
- << ToServiceParameterName << " **Any " ;
- const CORBA::Any theValue = **aValue ;
- switch (theValue.type()->kind()) {
- case CORBA::tk_string:
- char * t;
- theValue >>= t;
- cdebug << t << " (string) " ;
- break;
- case CORBA::tk_double:
- double d;
- theValue >>= d;
- cdebug << d << " (double) " ;
- break;
- case CORBA::tk_long:
- long l;
- theValue >>= l;
- cdebug << l << " (long) " ;
- break;
- case CORBA::tk_objref:
- cdebug << "(object reference) " ;
- break;
- default:
- cdebug << "(other(tk_string,tk_double,tk_long,tk_objref)) ERROR";
- break;
- }
- cdebug << ")" << endl;
-
- GraphBase::ComputingNode *toNode = GetChangeGraphNode( ToNodeName ) ;
-
- GraphBase::OutPort *fromDataNodePort = NULL ;
- GraphBase::InPort *toPort = NULL ;
-
- if ( toNode ) {
- toPort = toNode->GetChangeInPort( ToServiceParameterName ) ;
- fromDataNodePort = GraphBase::DataNode::GetChangeInDataNodePort( toPort->NodePortName() ) ;
- cdebug << "Try AddLink " << Name() << "( " << fromDataNodePort << " ) -->"
- << toNode->Name() << "( " << toPort->PortName() << " )" << endl ;
- RetVal = AddLink( (GraphBase::ComputingNode * ) this , fromDataNodePort ,
- toNode , toPort ) ;
- if ( RetVal ) {
- fromDataNodePort->Value( aValue ) ;
- }
- }
- else {
- cdebug << "Node not found" << endl ;
- }
-
- cdebug_out << "GraphBase::Graph::AddInputData" << endl;
- return RetVal ;
-}
-
-bool GraphBase::Graph::AddOutputData(
- const char* FromNodeName ,
- const char* FromServiceParameterName ,
- const CORBA::Any aValue ) {
-// const char* DataValue ,
-// const SUPERV::KindOfPortValue aKindOfPortValue ) {
- bool RetVal = false ;
- cdebug_in << "GraphBase::Graph::AddOutputData(" << FromNodeName << ","
- << FromServiceParameterName
-// << FromServiceParameterName << ", " << DataValue << ","
-// << aKindOfPortValue
- << ")" << endl;
-#if 0
- GraphBase::ComputingNode *fromNode = GetChangeGraphNode( FromNodeName ) ;
-
- GraphBase::OutPort *fromPort = NULL ;
- GraphBase::InPort *toDataNodePort = NULL ;
-
- if ( fromNode ) {
- fromPort = fromNode->GetChangeOutPort( FromServiceParameterName ) ;
- toDataNodePort = GraphBase::DataNode::GetChangeOutDataNodePort( fromPort->NodePortName() ) ;
- RetVal = AddLink( fromNode , fromPort ,
- (GraphBase::ComputingNode * ) this , toDataNodePort ,
- aValue ) ;
-// DataValue , aKindOfPortValue ) ;
- }
- else {
- cdebug << "Node not found" << endl ;
- }
-#endif
- cdebug_out << "GraphBase::Graph::AddOutputData" << endl;
- return RetVal ;
-}
-
-map< string , GraphBase::Service * > GraphBase::Graph::MapOfServiceNames() {
- return _MapOfServiceNames ; }
-
-GraphBase::Service * GraphBase::Graph::GetServiceOfMap( char * name ) {
- return _MapOfServiceNames[ name ] ;
-}
-
-bool GraphBase::Graph::SetServiceOfMap( GraphBase::Service * aService ) {
- GraphBase::Service * theService = _MapOfServiceNames[ aService->ServiceName() ] ;
- if ( theService ) {
- cdebug << "SetServiceOfMap of " << aService->ServiceName()
- << " already in MapOfServiceNames : erase" << endl ;
- _MapOfServiceNames.erase( aService->ServiceName() ) ;
- }
- _MapOfServiceNames[ (char * ) aService->ServiceName() ] = aService ;
- cdebug << "SetServiceOfMap of " << aService->ServiceName() << " done" << endl ;
- return true ;
-}
-
-int GraphBase::Graph::GetServiceNameNumber( SALOME_ModuleCatalog::Service aService ) {
- GraphBase::Service * theService = _MapOfServiceNames[ (char * ) aService.ServiceName ] ;
- if ( theService == NULL ) {
- return 1 ;
- }
- return theService->NewInstance() ;
-}
-
-bool GraphBase::Graph::CreateService() {
- cdebug_in << "GraphBase::Graph::CreateService" << endl;
- bool RetVal = true ;
- SALOME_ModuleCatalog::Service aService ;
- int i , j ;
- GraphBase::ComputingNode * aToNode ;
- int dostore ;
- int innbr ;
- int instreamnbr ;
- int outnbr ;
- int outstreamnbr ;
- vector< SUPERV::KindOfPort > InPortsKind ;
- vector< SALOME_ModuleCatalog::DataStreamDependency > InDataStreamDependency ;
- vector< SUPERV::KindOfSchema > InKindOfSchema ;
- vector< SUPERV::KindOfInterpolation > InKindOfInterpolation ;
- vector< SUPERV::KindOfExtrapolation > InKindOfExtrapolation ;
- vector< SUPERV::KindOfPort > OutPortsKind ;
- vector< SALOME_ModuleCatalog::DataStreamDependency > OutDataStreamDependency ;
- vector< long > OutNumberOfValues ;
- for ( dostore = 0 ; dostore <= 2 ; dostore++ ) {
- if ( dostore == 1 ) {
- aService.ServiceName = Name() ;
- aService.ServiceinParameter.length( 0 ) ;
- aService.ServiceinParameter.length( innbr ) ;
- aService.ServiceoutParameter.length( 0 ) ;
- aService.ServiceoutParameter.length( outnbr ) ;
- InPortsKind.resize( innbr ) ;
- InDataStreamDependency.resize( innbr ) ;
- InKindOfSchema.resize( innbr ) ;
- InKindOfInterpolation.resize( innbr ) ;
- InKindOfExtrapolation.resize( innbr ) ;
- OutPortsKind.resize( outnbr ) ;
- OutDataStreamDependency.resize( outnbr ) ;
- OutNumberOfValues.resize( outnbr ) ;
- }
- else if ( dostore == 2 ) {
- cdebug << "GraphBase::Graph::CreateService ->DataService innbr " << innbr << " instreamnbr " << instreamnbr << " outnbr " << outnbr
- << " outstreamnbr " << outstreamnbr << endl ;
- DataService( _Orb , aService , Graph_prof_debug() , Graph_fdebug() ) ;
- aService.ServiceinParameter.length( innbr + instreamnbr ) ;
- aService.ServiceoutParameter.length( outnbr + outstreamnbr ) ;
- InPortsKind.resize( innbr + instreamnbr ) ;
- InDataStreamDependency.resize( innbr + instreamnbr ) ;
- InKindOfSchema.resize( innbr + instreamnbr ) ;
- InKindOfInterpolation.resize( innbr + instreamnbr ) ;
- InKindOfExtrapolation.resize( innbr + instreamnbr ) ;
- OutPortsKind.resize( outnbr + outstreamnbr ) ;
- OutDataStreamDependency.resize( outnbr + outstreamnbr ) ;
- OutNumberOfValues.resize( outnbr + outstreamnbr ) ;
- }
- if ( dostore == 0 ) {
- innbr = 0 ;
- instreamnbr = 0 ;
- outnbr = 0 ;
- outstreamnbr = 0 ;
- }
- if ( dostore == 1 ) {
- innbr = 0 ;
- outnbr = 0 ;
- }
- for ( i = 0 ; i < GraphNodesSize() ; i++ ) {
- aToNode = GraphNodes( i ) ;
- for ( j = 0 ; j < aToNode->GetNodeInPortsSize() ; j++ ) {
- GraphBase::InPort *anInPort = aToNode->GetChangeNodeInPort(j) ;
- bool isfromcouplednode = false ;
- cdebug << "GraphBase::Graph::CreateService aToNode " << aToNode->Name() << " InPort" << j << endl ;
- if ( anInPort->IsConnected() && anInPort->GetOutPort() ) {
- GraphBase::ComputingNode * aFromNode = GetChangeGraphNode( anInPort->GetOutPort()->NodeName() ) ;
- if ( aFromNode->IsEndLoopNode() && ((GraphBase::EndOfLoopNode * ) aFromNode)->CoupledNode() == aToNode ) {
- isfromcouplednode = true ;
- }
- }
- if ( !anInPort->IsGate() && !anInPort->IsLoop() &&
- ( !anInPort->IsConnected() || ( anInPort->IsConnected() && isfromcouplednode ) ) ) {
- if ( dostore == 0 ) {
- cdebug << "CreateService " << aToNode->Name() << " Input port "
- << anInPort->PortName() << " " << anInPort->Kind() << " is NOT connected " ;
- if ( anInPort->GetOutPort() ) {
- cdebug << "DataConnected from " << *(anInPort->GetOutPort() ) ;
- }
- cdebug << endl ;
- if ( anInPort->IsDataStream() ) {
- instreamnbr += 1 ;
- }
- else {
- innbr += 1 ;
- }
- }
- else if ( ( dostore == 1 && !anInPort->IsDataStream() ) ||
- ( dostore == 2 && anInPort->IsDataStream() ) ) {
- aService.ServiceinParameter[innbr].Parametertype = CORBA::string_dup( anInPort->PortType() ) ;
- aService.ServiceinParameter[innbr].Parametername = CORBA::string_dup( anInPort->NodePortName() ) ;
- InPortsKind[ innbr ] = anInPort->Kind() ;
- InDataStreamDependency[ innbr ] = anInPort->Dependency() ;
- if ( dostore == 2 && anInPort->IsDataStream() ) {
- ((GraphBase::InDataStreamPort * ) anInPort)->Params( InKindOfSchema[ innbr ] ,
- InKindOfInterpolation[ innbr ] ,
- InKindOfExtrapolation[ innbr ] ) ;
- }
- cdebug << "In" << innbr << " " << aService.ServiceinParameter[ innbr ].Parametername << " "
- << anInPort->Kind() << endl ;
- innbr += 1 ;
- }
- }
- else if ( dostore == 0 ) {
- cdebug << "CreateService " << aToNode->Name() << " Input port " << anInPort->PortName() ;
- if ( anInPort->IsConnected() ) {
- cdebug << " is connected " ;
- }
- else {
- cdebug << " is NOT connected " ;
- }
- if ( anInPort->IsGate() ) {
- cdebug << " IsGate " ;
- }
- if ( anInPort->GetOutPort() ) {
- cdebug << "DataConnected from " << *(anInPort->GetOutPort()) ;
- }
- else {
- cdebug << "NOT DataConnected" ;
- }
- cdebug << endl ;
- }
- }
- GraphBase::ComputingNode * aFromNode = aToNode ;
- for ( j = 0 ; j < aFromNode->GetNodeOutPortsSize() ; j++ ) {
- GraphBase::OutPort *anOutPort = aFromNode->GetChangeNodeOutPort(j) ;
-// cdebug << "CreateService Node " << aFromNode->Name() << ". Output port[" << j << "] ";
-// if ( anOutPort ) {
-// cdebug << anOutPort->PortName() << " " << anOutPort->ServicesParameterType() << endl ;
-// }
-// else {
-// cdebug << " NULL" << endl ;
-// }
- if ( !aFromNode->IsGOTONode() ) {
- if ( !anOutPort->IsGate() &&
- ( anOutPort->IsNotConnected() || anOutPort->IsDataConnected() ) ) {
- if ( dostore == 0 ) {
-// cdebug << "CreateService " << aFromNode->Name() << " Output port "
-// << anOutPort->PortName() << endl ;
- if ( anOutPort->IsDataStream() ) {
- outstreamnbr += 1 ;
- }
- else {
- outnbr += 1 ;
- }
- }
- else if ( ( dostore == 1 && !anOutPort->IsDataStream() ) ||
- ( dostore == 2 && anOutPort->IsDataStream() ) ) {
- aService.ServiceoutParameter[outnbr].Parametertype = CORBA::string_dup( anOutPort->PortType() ) ;
- aService.ServiceoutParameter[outnbr].Parametername = CORBA::string_dup( anOutPort->NodePortName() ) ;
- OutPortsKind[ outnbr ] = anOutPort->Kind() ;
- OutDataStreamDependency[ outnbr ] = anOutPort->Dependency() ;
- if ( dostore == 2 && anOutPort->IsDataStream() ) {
- OutNumberOfValues[ outnbr ] = ((GraphBase::OutDataStreamPort * ) anOutPort)->NumberOfValues() ;
- }
- cdebug << "Out" << outnbr << " " << aService.ServiceoutParameter[ outnbr ].Parametername << " "
- << anOutPort->Kind() << endl ;
- outnbr += 1 ;
- }
- }
- }
- }
- }
- }
-
- MESSAGE( "DataFlowNode ServiceName " << aService.ServiceName );
- for ( i = 0 ; i < innbr ; i++ ) {
- cdebug << "aService.ServiceinParameter[" << i << "].Parametertype "
- << aService.ServiceinParameter[i].Parametertype << " Parametername "
- << aService.ServiceinParameter[i].Parametername << " " << InPortsKind[ i ] << endl ;
- if ( InPortsKind[ i ] != SUPERV::DataStreamParameter ) {
- cdebug << "NodeInPort[" << i << "] " << *GetChangeNodeInPort( i ) << endl ;
- }
- }
- for ( i = 0 ; i < outnbr ; i++ ) {
- cdebug << "aService.ServiceoutParameter[" << i << "].Parametertype "
- << aService.ServiceoutParameter[i].Parametertype << " Parametername "
- << aService.ServiceoutParameter[i].Parametername << " " << OutPortsKind[ i ] << endl ;
- if ( OutPortsKind[ i ] != SUPERV::DataStreamParameter ) {
- cdebug << "NodeOutPort[" << i << "] " << *GetChangeNodeOutPort( i ) << endl ;
- }
- }
-
-// DataService( _Orb , aService , InPortsKind , OutPortsKind , Graph_prof_debug() , Graph_fdebug() ) ;
- for ( i = 0 ; i < innbr ; i++ ) {
- if ( InPortsKind[ i ] == SUPERV::DataStreamParameter ) {
- GraphBase::InDataStreamPort * anInPort = AddInDataStreamPort( aService.ServiceinParameter[ i ].Parametername ,
- StringToDataStreamType( aService.ServiceinParameter[ i ].Parametertype ) ,
- InDataStreamDependency[ i ] ,
- SUPERV::DataStreamParameter ) ;
- anInPort->SetParams( InKindOfSchema[ i ] ,
- InKindOfInterpolation[ i ] ,
- InKindOfExtrapolation[ i ] ) ;
-// NOT A BUG : AddOutPort for an inport (Reversed service)
- anInPort = (GraphBase::InDataStreamPort * ) _DataFlowDataPorts->AddOutPort( _Orb , NamePtr() ,
- Kind() ,
- aService.ServiceinParameter[ i ].Parametername ,
- aService.ServiceinParameter[ i ].Parametertype ,
- SUPERV::DataStreamParameter ,
-// _DataFlowDataPorts->DataStreamOutPortsNumber() ,
- _Graph_prof_debug , _Graph_fdebug ) ;
- anInPort->Dependency( InDataStreamDependency[ i ] ) ;
-// Attention : revoir les reversed DataStreamPorts
-// anInPort->SetParams( InKindOfSchema[ i ] ,
-// InKindOfInterpolation[ i ] ,
-// InKindOfExtrapolation[ i ] ) ;
- cdebug << "InStreamPort " << GetChangeNodeInPort( i )->PortName() << " " << GetChangeNodeInPort( i )->Kind() << endl ;
- cdebug << "ReversedInStreamPort " << _DataFlowDataPorts->GetChangeNodeOutPort( i )->PortName() << " " << _DataFlowDataPorts->GetChangeNodeOutPort( i )->Kind()
- << endl ;
- }
- else {
- GetChangeNodeInPort( i )->Kind( InPortsKind[ i ] ) ;
- _DataFlowDataPorts->GetChangeNodeOutPort( i )->Kind( InPortsKind[ i ] ) ;
- GetChangeNodeInPort( i )->Dependency( InDataStreamDependency[ i ] ) ;
- _DataFlowDataPorts->GetChangeNodeOutPort( i )->Dependency( InDataStreamDependency[ i ] ) ;
- cdebug << "InPort " << GetChangeNodeInPort( i )->PortName() << " " << GetChangeNodeInPort( i )->Kind() << endl ;
- cdebug << "ReversedInPort " << _DataFlowDataPorts->GetChangeNodeOutPort( i )->PortName() << " " << _DataFlowDataPorts->GetChangeNodeOutPort( i )->Kind()
- << endl ;
- }
- }
- for ( i = 0 ; i < outnbr ; i++ ) {
- if ( OutPortsKind[ i ] == SUPERV::DataStreamParameter ) {
- GraphBase::OutDataStreamPort * anOutPort = AddOutDataStreamPort( aService.ServiceoutParameter[ i ].Parametername ,
- StringToDataStreamType( aService.ServiceoutParameter[ i ].Parametertype ) ,
- OutDataStreamDependency[ i ] ,
- SUPERV::DataStreamParameter ) ;
- anOutPort->NumberOfValues( OutNumberOfValues[ i ] ) ;
-// NOT A BUG : AddInPort for an outport (Reversed service)
- anOutPort = (GraphBase::OutDataStreamPort * ) _DataFlowDataPorts->AddInPort( _Orb , NamePtr() ,
- Kind() ,
- aService.ServiceoutParameter[ i ].Parametername ,
- aService.ServiceoutParameter[ i ].Parametertype ,
- SUPERV::DataStreamParameter ,
-// _DataFlowDataPorts->DataStreamInPortsNumber() ,
- _Graph_prof_debug , _Graph_fdebug ) ;
- anOutPort->Dependency( OutDataStreamDependency[ i ] ) ;
-// Attention : revoir les reversed DataStreamPorts
-// anOutPort->NumberOfValues( OutNumberOfValues[ i ] ) ;
- cdebug << "OutStreamPort " << GetChangeNodeOutPort( i )->PortName() << " " << GetChangeNodeOutPort( i )->Kind() << endl ;
- cdebug << "ReversedOutStreamPort " << _DataFlowDataPorts->GetChangeNodeInPort( i )->PortName() << " " << _DataFlowDataPorts->GetChangeNodeInPort( i )->Kind()
- << endl ;
- }
- else {
- GetChangeNodeOutPort( i )->Kind( OutPortsKind[ i ] ) ;
- _DataFlowDataPorts->GetChangeNodeInPort( i )->Kind( OutPortsKind[ i ] ) ;
- GetChangeNodeOutPort( i )->Dependency( OutDataStreamDependency[ i ] ) ;
- _DataFlowDataPorts->GetChangeNodeInPort( i )->Dependency( OutDataStreamDependency[ i ] ) ;
- GetChangeNodeOutPort( i )->Dependency( OutDataStreamDependency[ i ] ) ;
- _DataFlowDataPorts->GetChangeNodeInPort( i )->Dependency( OutDataStreamDependency[ i ] ) ;
- cdebug << "OutPort " << GetChangeNodeOutPort( i )->PortName() << " " << GetChangeNodeOutPort( i )->Kind() << endl ;
- cdebug << "ReversedOutPort " << _DataFlowDataPorts->GetChangeNodeInPort( i )->PortName() << " " << _DataFlowDataPorts->GetChangeNodeInPort( i )->Kind()
- << endl ;
- }
- }
-// Restore input datas :
- DataStreamInPortsNumber( 0 ) ;
- DataStreamOutPortsNumber( 0 ) ;
- for ( i = 0 ; i < GraphNodesSize() ; i++ ) {
- aToNode = GraphNodes( i ) ;
- DataStreamInPortsNumber( DataStreamInPortsNumber() + aToNode->DataStreamInPortsNumber() ) ;
- DataStreamOutPortsNumber( DataStreamOutPortsNumber() + aToNode->DataStreamOutPortsNumber() ) ;
- for ( j = 0 ; j < aToNode->GetNodeInPortsSize() ; j++ ) {
- GraphBase::InPort *anInPort = aToNode->GetChangeNodeInPort(j) ;
- if ( anInPort->IsDataConnected() ) {
- AddInputData( anInPort->NodeName() ,
- anInPort->PortName() ,
- anInPort->GetOutPort()->ValuePtr() ) ;
- }
- }
- }
-
- cdebug_out << "GraphBase::Graph::CreateService" << endl;
- return RetVal ;
-}
-
-bool GraphBase::Graph::InLineServices() {
- cdebug_in << "GraphBase::Graph::InLineServices" << endl;
-
- int i , j ;
- ListPorts( *_Graph_fdebug , 0 ) ;
- GraphBase::InLineNode * aINode ;
- SALOME_ModuleCatalog::Service aService ;
- for ( i = 0 ; i < GraphNodesSize() ; i++ ) {
- aINode = (GraphBase::InLineNode * ) GraphNodes( i ) ;
-// if ( aINode->IsOneOfInLineNodes() || aINode->HasDataStream() ) {
- if ( aINode->IsOneOfInLineNodes() ) {
- cdebug << "GraphBase::Graph::InLineServices " << aINode->Name() << endl;
- aService.ServiceName = aINode->ServiceName() ;
- aService.ServiceinParameter.length( 0 ) ;
- aService.ServiceoutParameter.length( 0 ) ;
- aINode->DataStreamInPortsNumber( 0 ) ;
- aINode->DataStreamOutPortsNumber( 0 ) ;
- int InService = 0 ;
- int InStreamService = 0 ;
- for ( j = 0 ; j < aINode->GetNodeInPortsSize() ; j++ ) {
-// if ( aINode->GetChangeNodeInPort(j)->IsGate() || aINode->GetChangeNodeInPort(j)->IsLoop() || aINode->GetChangeNodeInPort(j)->IsDataStream() ) {
- if ( aINode->GetChangeNodeInPort(j)->IsGate() || aINode->GetChangeNodeInPort(j)->IsLoop() ) {
- cdebug << "GraphBase::Graph::InLineServices In" << j << " "
- << aINode->GetChangeNodeInPort(j)->Kind() << " "
- << aINode->GetChangeNodeInPort(j)->PortType() << " "
- << aINode->GetChangeNodeInPort(j)->PortName() << " ignored "
- << aINode->GetChangeNodeInPort(j)->IsGate() << " "
- << aINode->GetChangeNodeInPort(j)->IsLoop() << endl;
- }
- else if ( aINode->GetChangeNodeInPort(j)->IsDataStream() ) {
- aService.ServiceinDataStreamParameter.length( InStreamService+1 ) ;
- aService.ServiceinDataStreamParameter[InStreamService].Parametertype = StringToDataStreamType( aINode->GetChangeNodeInPort(j)->PortType() ) ;
- aService.ServiceinDataStreamParameter[InStreamService].Parametername = CORBA::string_dup( aINode->GetChangeNodeInPort(j)->PortName() ) ;
- aService.ServiceinDataStreamParameter[InStreamService++].Parameterdependency = aINode->GetChangeNodeInPort(j)->Dependency() ;
- aINode->IncrDataStreamInPorts() ;
- cdebug << "GraphBase::Graph::InLineServices In" << j << " "
- << aINode->GetChangeNodeInPort(j)->Kind() << " "
- << aINode->GetChangeNodeInPort(j)->PortType() << " "
- << aINode->GetChangeNodeInPort(j)->PortName() << " "
- << aINode->GetChangeNodeInPort(j)->IsGate() << " "
- << aINode->GetChangeNodeInPort(j)->IsLoop() << endl;
- }
- else {
- aService.ServiceinParameter.length( InService+1 ) ;
- aService.ServiceinParameter[InService].Parametertype = CORBA::string_dup( aINode->GetChangeNodeInPort(j)->PortType() ) ;
- aService.ServiceinParameter[InService++].Parametername = CORBA::string_dup( aINode->GetChangeNodeInPort(j)->PortName() ) ;
- cdebug << "GraphBase::Graph::InLineServices In" << j << " "
- << aINode->GetChangeNodeInPort(j)->Kind() << " "
- << aINode->GetChangeNodeInPort(j)->PortType() << " "
- << aINode->GetChangeNodeInPort(j)->PortName() << " "
- << aINode->GetChangeNodeInPort(j)->IsGate() << " "
- << aINode->GetChangeNodeInPort(j)->IsLoop() << endl;
- }
- }
- int OutService = 0 ;
- int OutStreamService = 0 ;
- for ( j = 0 ; j < aINode->GetNodeOutPortsSize() ; j++ ) {
-// if ( aINode->GetChangeNodeOutPort(j)->IsGate() || aINode->GetChangeNodeOutPort(j)->IsLoop() || aINode->GetChangeNodeOutPort(j)->IsDataStream() ) {
- if ( aINode->GetChangeNodeOutPort(j)->IsGate() || aINode->GetChangeNodeOutPort(j)->IsLoop() ) {
- cdebug << "GraphBase::Graph::InLineServices Out" << j << " "
- << aINode->GetChangeNodeOutPort(j)->Kind() << " "
- << aINode->GetChangeNodeOutPort(j)->PortType() << " "
- << aINode->GetChangeNodeOutPort(j)->PortName() << " ignored "
- << aINode->GetChangeNodeOutPort(j)->IsGate() << " "
- << aINode->GetChangeNodeOutPort(j)->IsLoop() << endl;
- }
- else if ( aINode->GetChangeNodeOutPort(j)->IsDataStream() ) {
- aService.ServiceoutDataStreamParameter.length( OutStreamService+1 ) ;
- aService.ServiceoutDataStreamParameter[OutStreamService].Parametertype = StringToDataStreamType( aINode->GetChangeNodeOutPort(j)->PortType() ) ;
- aService.ServiceoutDataStreamParameter[OutStreamService].Parametername = CORBA::string_dup( aINode->GetChangeNodeOutPort(j)->PortName() ) ;
- aService.ServiceoutDataStreamParameter[OutStreamService++].Parameterdependency = aINode->GetChangeNodeOutPort(j)->Dependency() ;
- aINode->IncrDataStreamOutPorts() ;
- cdebug << "GraphBase::Graph::InLineServices Out" << j << " "
- << aINode->GetChangeNodeOutPort(j)->Kind() << " "
- << aINode->GetChangeNodeOutPort(j)->PortType() << " "
- << aINode->GetChangeNodeOutPort(j)->PortName() << " "
- << aINode->GetChangeNodeOutPort(j)->IsGate() << " "
- << aINode->GetChangeNodeOutPort(j)->IsLoop() << endl;
- }
- else {
- aService.ServiceoutParameter.length( OutService+1 ) ;
- aService.ServiceoutParameter[OutService].Parametertype = CORBA::string_dup( aINode->GetChangeNodeOutPort(j)->PortType() ) ;
- aService.ServiceoutParameter[OutService++].Parametername = CORBA::string_dup( aINode->GetChangeNodeOutPort(j)->PortName() ) ;
- cdebug << "GraphBase::Graph::InLineServices Out" << j << " "
- << aINode->GetChangeNodeOutPort(j)->Kind() << " "
- << aINode->GetChangeNodeOutPort(j)->PortType() << " "
- << aINode->GetChangeNodeOutPort(j)->PortName() << " "
- << aINode->GetChangeNodeOutPort(j)->IsGate() << " "
- << aINode->GetChangeNodeOutPort(j)->IsLoop() << endl;
- }
- }
- aINode->SetService( aService ) ;
- if ( SetServiceOfMap( (GraphBase::Service * ) aINode ) ) {
- cdebug << "InLineServices SetServiceOfMap " << aINode->ServiceName() << " in MapOfServices"
- << " InStreamPort(" << aINode->DataStreamInPortsNumber()
- << ") OutStreamPort(" << aINode->DataStreamOutPortsNumber() << ")" << endl ;
- }
-// cdebug << "GraphBase::Graph::InLineServices" << *aINode->GetService() << endl;
- }
- }
-
- cdebug_out << "GraphBase::Graph::InLineServices" << endl;
- return true ;
-}
-
-bool GraphBase::Graph::Sort( int & SubStreamGraphsNumber ) {
- int i ;
- int j ;
- int NotSortedNumber = GraphNodesSize() ;
- bool NewSorted ;
- cdebug_in << "GraphBase::Graph::Sort" << endl;
- if ( NotSortedNumber ) {
- _LevelsNumber = 0 ;
- _ParallelExecutionNodes = false ;
- _Sorted.resize( GraphNodesSize() ) ;
- _CnxInPortsNumber.resize( GraphNodesSize() ) ;
- _DecrInPortsNumber.resize( GraphNodesSize() ) ;
- if ( _NodesNumber.size() ) {
- _NodesNumber.resize( 0 ) ;
- _SortedNodes.resize( 0 ) ;
- }
-
-// This is a simulation of the computation of the graph :
-// The initial state of nodes is :
-// - Sorted = false : the node is not sorted
-// - CnxInPortsNumber = ConnectedInPortsNumber : the number of ports that wait for a value from a link
-// - DecrInPortsNumber = 0 : there is no value available.
- cdebug << "GraphBase::Graph::Sort initial values :" << endl ;
- for ( i = 0 ; i < GraphNodesSize() ; i++ ) {
- GraphBase::ComputingNode * aNode = GraphNodes( i ) ;
- cdebug << aNode->Name() << " --> " << aNode->LinkedNodesSize() << " LinkedNodes :" << endl ;
- for ( j = 0 ; j < aNode->LinkedNodesSize() ; j++ ) {
- cdebug << " " << aNode->LinkedNodes( j )->Name() << endl ;
- }
- }
- for ( i = 0 ; i < GraphNodesSize() ; i++ ) {
- _Sorted[ i ] = false ;
- _CnxInPortsNumber[ i ] = GraphNodes( i )->ConnectedInPortsNumber() ;
- _DecrInPortsNumber[ i ] = 0 ;
- cdebug << "Sort Node [" << i << "] " << GraphNodes( i )->Name() << " initial count " << _CnxInPortsNumber[ i ] << endl ;
- }
-
-// Nodes are linked ONLY if Ports are NOT DataStream for topological sort of node
-// ==============================================================================
- while ( NotSortedNumber ) {
- NewSorted = false ;
-
- for ( i = 0 ; i < GraphNodesSize() ; i++ ) {
- cdebug << "Sort level " << _LevelsNumber << ". [" << i << "] "
- << GraphNodes( i )->Name() << " count "
- << _CnxInPortsNumber[ i ] << endl ;
- if ( !_Sorted[ i ] && _CnxInPortsNumber[ i ] == 0 ) {
-// All inputs of GraphNodes( i ) are available : "AllDataReady"
- if ( (int ) _NodesNumber.size() != _LevelsNumber+1 ) {
- _NodesNumber.resize( _LevelsNumber+1 ) ;
- _SortedNodes.resize( _LevelsNumber+1 ) ;
- _NodesNumber[ _LevelsNumber ] = -1 ;
- }
-// There is one more node at that level
- _NodesNumber[ _LevelsNumber ]++ ;
- (_SortedNodes[ _LevelsNumber ]).resize( _NodesNumber[ _LevelsNumber ]+1 ) ;
- (_SortedNodes[ _LevelsNumber ])[ _NodesNumber[ _LevelsNumber ] ] = GraphNodes( i ) ;
- _Sorted[ i ] = true ;
- NewSorted = true ;
- NotSortedNumber -= 1 ;
- cdebug << GraphNodes( i )->Name() << " belongs to level "
- << _LevelsNumber << "." << endl ;
-// GraphNodes( i ) has the state "AllDataReady". We simulate the end of its execution :
-// So we loop over all nodes that have a link from that node
-// And we increment the number of input ports of GraphNodes( i )->LinkedNodes( j ) that this
-// execution will give a value in DecrInPortsNumber : "SomeDataReady"
- for ( j = 0 ; j < GraphNodes( i )->LinkedNodesSize() ; j++ ) {
-// OutputPorts of GraphNodes( i ) will satisfy
-// GraphNodes( i )->LinkedInPortsNumber( j ) InPorts of
-// GraphNodes( i )->LinkedNodes( j )
- GraphBase::StreamNode * aLinkedNode = GraphNodes( i )->LinkedNodes( j ) ;
- int aLinkedInPortsNumber = GraphNodes( i )->LinkedInPortsNumber( j ) ;
- cdebug << j << ". LinkedNode " << aLinkedNode->Name() ;
- if ( !aLinkedNode->IsDataFlowNode() && !aLinkedNode->IsDataStreamNode() ) {
- cdebug << " _DecrInPortsNumber[ "
- << GetGraphNodeIndex( aLinkedNode->Name() )
- << " ] = "
- << _DecrInPortsNumber[ GetGraphNodeIndex( aLinkedNode->Name() ) ]
- << " += " << aLinkedInPortsNumber ;
- _DecrInPortsNumber[ GetGraphNodeIndex( aLinkedNode->Name() ) ] += aLinkedInPortsNumber ;
- }
- cdebug << endl ;
-// GraphNodes( i )->LinkedNodes( j )->IncrDecrConnectedInPortsNumber( GraphNodes( i )->LinkedInPortsNumber( j ) ) ;
- }
- }
- }
-// If no node was found, that FlowGraph is not valid : if we try to execute it, that FlowGraph
-// will wait for data(s) from node(s) not executed or not executing for ever
- if ( !NewSorted ) {
- cdebug << "Loop detected level " << _LevelsNumber << endl ;
- return false ; // Loop in the Graph
- }
- cdebug << "Bilan level " << _LevelsNumber << " : " << endl ;
- bool ChangeCount = false ;
-// We update now the number of InPorts with a link that are waiting for a value
- for ( i = 0 ; i < GraphNodesSize() ; i++ ) {
- if ( _DecrInPortsNumber[ i ] ) {
- int prevcount = _CnxInPortsNumber[ i ] ;
- _CnxInPortsNumber[ i ] -= _DecrInPortsNumber[ i ] ;
- _DecrInPortsNumber[ i ] = 0 ;
- ChangeCount = true ;
- cdebug << " " << GraphNodes( i )->Name() << " count " << prevcount
- << " --> new count " << _CnxInPortsNumber[ i ] << endl ;
- }
- }
-// If there is no loop and if the number of InPorts with a link that are waiting for a value
-// does not change, the sort is finished. But there is also NotSortedNumber ...
-// if ( !ChangeCount )
-// break ;
- if ( NotSortedNumber ) {
- _LevelsNumber += 1 ;
- }
- }
- _ThreadsMax = 0 ;
- int AllSortedNodes = 0 ;
- _HeadNodes = _SortedNodes[ 0 ] ;
- _HeadNodesSize = _SortedNodes[ 0 ].size() ;
-// QueueNodes was used in the past in order to know if the execution of a graph is finished
-// But because of loop nodes that was changed. So that part of code is a "clutter"
-// Now a graph has finished its execution when the number of executing threads is zero
- _QueueNodes = _SortedNodes[ _LevelsNumber ] ;
- _QueueNodesSize = _SortedNodes[ _LevelsNumber ].size() ;
- for ( i = 0 ; i < _QueueNodesSize ; i++ ) {
- if ( !_QueueNodes[ i ]->IsGOTONode() ) {
- break ;
- }
- }
- if ( i == _QueueNodesSize && _LevelsNumber ) {
- _QueueNodes = _SortedNodes[ _LevelsNumber - 1 ] ;
- _QueueNodesSize = _SortedNodes[ _LevelsNumber - 1 ].size() ;
- }
-// Computation of the maximum number of threads == the maximum number of nodes of all levels
- for ( i = 0 ; i <= _LevelsNumber ; i++ ) {
- AllSortedNodes += _NodesNumber[ i ]+1 ;
- if ( _NodesNumber[ i ] + 1 > _ThreadsMax ) {
- _ThreadsMax = _NodesNumber[ i ] + 1 ;
- }
- cdebug << _NodesNumber[ i ]+1 << " Nodes of level " << i << " : "
- << (_SortedNodes[ i ])[ 0 ]->Name() << endl ;
- for ( j = 1 ; j <= _NodesNumber[ i ] ; j++ ) {
- _ParallelExecutionNodes = true ;
- cdebug << " " << (_SortedNodes[ i ])[ j ]->Name()
- << endl ;
- }
- }
- if ( _ParallelExecutionNodes ) {
- cdebug << "Parallel Execution Nodes detected." << endl ;
- }
- else {
- cdebug << "No Parallel Execution Nodes detected." << endl ;
- }
- if ( AllSortedNodes != GraphNodesSize() ) {
- cdebug << "Loop detected level " << _LevelsNumber << endl ;
- return false ; // Loop in the Graph
- }
-
- for ( i= 0 ; i <= _NodesNumber[ 0 ] ; i++ ) {
- (_SortedNodes[ 0 ])[ i ]->HeadNode( true ) ;
- }
-
-// Give a subgraph/substreamgraph number > 0 to HeadNodes (level 0)
-// There is no substreamgraph for nodes without StreamPorts
- for ( j = 0 ; j <= _NodesNumber[ 0 ] ; j++ ) {
- (_SortedNodes[ 0 ])[ j ]->Level( 0 ) ;
- (_SortedNodes[ 0 ])[ j ]->SortedIndex( j ) ;
- (_SortedNodes[ 0 ])[ j ]->SubGraph( j + 1 ) ;
- if ( (_SortedNodes[ 0 ])[ j ]->HasDataStream() ) {
- (_SortedNodes[ 0 ])[ j ]->SubStreamGraph( j + 1 ) ;
- }
- else {
- (_SortedNodes[ 0 ])[ j ]->SubStreamGraph( -1 ) ;
- }
- }
-
-// Give a subgraph/substreamgraph number = 0 to all other nodes :
-// the SubGraph of that nodes is unknown
-// There is no substreamgraph for nodes without StreamPorts
- for ( i = 1 ; i <= _LevelsNumber ; i++ ) {
- for ( j = 0 ; j <= _NodesNumber[ i ] ; j++ ) {
- (_SortedNodes[ i ])[ j ]->Level( i ) ;
- (_SortedNodes[ i ])[ j ]->SortedIndex( j ) ;
- (_SortedNodes[ i ])[ j ]->SubGraph( 0 ) ;
- if ( (_SortedNodes[ i ])[ j ]->HasDataStream() ) {
- (_SortedNodes[ i ])[ j ]->SubStreamGraph( 0 ) ;
- }
- else {
- (_SortedNodes[ i ])[ j ]->SubStreamGraph( -1 ) ;
- }
- }
- }
-
-// Computation of independent SubGraphs which have NO link between them
- cdebug << endl << "Computation of SubGraphs" << endl ;
- bool Graphs = true ;
- while ( Graphs ) {
- for ( i = 0 ; i <= _LevelsNumber ; i++ ) {
- for ( j = 0 ; j <= _NodesNumber[ i ] ; j++ ) {
- GraphBase::ComputingNode * aNode = (_SortedNodes[ i ])[ j ] ;
- cdebug << "SubGraph " << aNode->SubGraph() << " " << aNode->Name()
- << endl ;
- int k ;
- for ( k = 0 ; k < aNode->LinkedNodesSize() ; k++ ) {
- if ( aNode->LinkedNodes( k )->SubGraph() ) {
- if ( aNode->LinkedNodes( k )->SubGraph() != aNode->SubGraph() &&
- aNode->LinkedNodes( k )->Level() == aNode->Level()+1 ) {
- aNode->SubGraph( aNode->LinkedNodes( k )->SubGraph() ) ;
- cdebug << " Linked " << aNode->LinkedNodes( k )->Name()
- << " SubGraph(" << aNode->LinkedNodes( k )->SubGraph()
- << ") ==>" << endl ;
- cdebug << " SubGraph " << aNode->SubGraph() << " for "
- << aNode->Name() << " ==> again" << endl ;
- int l ;
- for ( l = 0 ; l < aNode->LinkedNodesSize() ; l++ ) {
- aNode->LinkedNodes( l )->SubGraph( aNode->SubGraph() ) ;
- }
- Graphs = false ;
- break ;
- }
- else {
- cdebug << " Linked " << aNode->LinkedNodes( k )->Name()
- << " SubGraph(" << aNode->LinkedNodes( k )->SubGraph()
- << ") distance > 1 ignored" << endl ;
- }
- }
- else {
- cdebug << " Linked " << aNode->LinkedNodes( k )->Name()
- << " GraphInit to " << aNode->SubGraph() << " from "
- << aNode->Name() << endl ;
- aNode->LinkedNodes( k )->SubGraph( aNode->SubGraph() ) ;
- }
- }
- }
- if ( !Graphs )
- break ;
- }
- if ( Graphs ) {
- cdebug << endl << "SubGraphs result : " << endl ;
- break ;
- }
- cdebug << endl << "One more time" << endl ;
- Graphs = true ;
- }
-// Make a sequential renumbering of SubGraphs :
- _SubGraphsNumber = 0 ;
- int CurrGraphsNumber = 0;
- int k ;
- for ( k = 0 ; k <= _NodesNumber[ 0 ] ; k++ ) {
- if ( (_SortedNodes[ 0 ])[ k ]->SubGraph() > CurrGraphsNumber ) {
- CurrGraphsNumber = (_SortedNodes[ 0 ])[ k ]->SubGraph() ;
- _SubGraphsNumber += 1 ;
- for ( i = 0 ; i <= _LevelsNumber ; i++ ) {
- for ( j = 0 ; j <= _NodesNumber[ i ] ; j++ ) {
- if ( (_SortedNodes[ i ])[ j ]->SubGraph() == CurrGraphsNumber ) {
- (_SortedNodes[ i ])[ j ]->SubGraph( _SubGraphsNumber ) ;
- cdebug << "SubGraphsNumber " << _SubGraphsNumber << " " << " Level "
- << i << " : " << (_SortedNodes[ i ])[ j ]->Name()
- << endl ;
- }
- }
- }
- }
- }
-
- cdebug << endl << "Computation of SubStreamGraphs" << endl ;
- for ( i = 0 ; i < GraphNodesSize() ; i++ ) {
- GraphBase::ComputingNode * aNode = GraphNodes( i ) ;
- if ( aNode->SubStreamGraph() < 0 ) {
- cdebug << "Graph " << aNode->SubStreamGraph() << " " << aNode->Name()
- << " has NO streamport" << endl ;
- }
- else {
- cdebug << aNode->Name() << " SubGraph " << aNode->SubGraph() << " --> "
- << aNode->LinkedStreamNodesSize() << " LinkedStreamNodes :" << endl ;
- for ( j = 0 ; j < aNode->LinkedStreamNodesSize() ; j++ ) {
- cdebug << " " << aNode->LinkedStreamNodes( j )->Name() << endl ;
- }
- }
- }
-
-// Computation of independent SubStreamGraphs which have NO StreamLink between them
- SubStreamGraphsNumber = 0 ;
- int ilevel ;
- for ( ilevel = 0 ; ilevel <= _LevelsNumber ; ilevel++ ) {
-// Loop for _NodesNumber[ ilevel ] nodes of the level ilevel
- int jnode ;
- for ( jnode = 0 ; jnode <= _NodesNumber[ ilevel ] ; jnode++ ) {
- GraphBase::ComputingNode * aNode = (_SortedNodes[ ilevel ])[ jnode ] ;
- if ( aNode->SubStreamGraph() < 0 ) {
- cdebug << "Graph " << aNode->SubStreamGraph() << " " << aNode->Name()
- << " has NO streamport" << endl ;
- }
- else {
- int CurStreamGraphsNumber ;
- if ( aNode->SubStreamGraph() > 0 ) {
- cdebug << "SubStreamGraph " << aNode->SubStreamGraph() << " " << aNode->Name()
- << " has streamport LinkedStreamNodesSize already in a SubStreamGraph" << endl ;
- CurStreamGraphsNumber = aNode->SubStreamGraph() ;
- }
- else {
- CurStreamGraphsNumber = SubStreamGraphsNumber+1 ;
- }
- int RetVal = 0 ;
- while ( RetVal != CurStreamGraphsNumber ) {
- RetVal = CurStreamGraphsNumber ;
- aNode->SetSubStreamGraph( CurStreamGraphsNumber , RetVal ) ;
- if ( RetVal != CurStreamGraphsNumber ) {
- for ( i = 0 ; i < GraphNodesSize() ; i++ ) {
- GraphBase::ComputingNode * aNode = GraphNodes( i ) ;
- if ( aNode->SubStreamGraph() == CurStreamGraphsNumber ) {
- aNode->SubStreamGraph( RetVal ) ;
- }
- }
- CurStreamGraphsNumber = RetVal ;
- RetVal = 0 ;
- }
- if ( CurStreamGraphsNumber > SubStreamGraphsNumber ) {
- SubStreamGraphsNumber = CurStreamGraphsNumber ;
- }
- }
- }
- }
- }
-// Make a sequential renumbering of SubGraphs :
- cdebug << endl << "Last SubStreamGraphsNumber : " << SubStreamGraphsNumber << endl ;
- int CurrStreamGraphsNumber = 0 ;
- int count = 0 ;
- for ( CurrStreamGraphsNumber = 0 ; CurrStreamGraphsNumber <= SubStreamGraphsNumber ; CurrStreamGraphsNumber++ ) {
- bool SearchCurrStreamGraphsNumber = true ;
- for ( k = 0 ; k <= _LevelsNumber && SearchCurrStreamGraphsNumber ; k++ ) {
- int l ;
- for ( l = 0 ; l <= _NodesNumber[ k ] && SearchCurrStreamGraphsNumber ; l++ ) {
- if ( (_SortedNodes[ k ])[ l ]->SubStreamGraph() == CurrStreamGraphsNumber ) {
- SearchCurrStreamGraphsNumber = false ;
- count = count + 1 ;
- if ( CurrStreamGraphsNumber != count ) {
- cdebug << "CurrStreamGraphsNumber " << CurrStreamGraphsNumber << " count " << count
- << " Level " << k << " n " << l << endl ;
- for ( i = k ; i <= _LevelsNumber ; i++ ) {
- for ( j = 0 ; j <= _NodesNumber[ i ] ; j++ ) {
- if ( (_SortedNodes[ i ])[ j ]->SubStreamGraph() == CurrStreamGraphsNumber ) {
- (_SortedNodes[ i ])[ j ]->SubStreamGraph( count ) ;
- cdebug << "SubStreamGraphsNumber " << CurrStreamGraphsNumber << " --> " << count << " "
- << " Level " << i << " : " << (_SortedNodes[ i ])[ j ]->Name() << endl ;
- }
- else if ( (_SortedNodes[ i ])[ j ]->SubStreamGraph() > 0 ) {
- cdebug << "SubStreamGraphsNumber " << (_SortedNodes[ i ])[ j ]->SubStreamGraph()
- << " != " << CurrStreamGraphsNumber << " Level " << i << " : "
- << (_SortedNodes[ i ])[ j ]->Name() << endl ;
- }
- }
- }
- }
- }
- }
- }
- }
- SubStreamGraphsNumber = count ;
- cdebug << endl << "SubStreamGraphs result : " << SubStreamGraphsNumber << " SubStreamGraphs" << endl ;
-// int CurrStreamGraphsNumber ;
-// for ( CurrStreamGraphsNumber = 1 ; CurrStreamGraphsNumber <= SubStreamGraphsNumber ; CurrStreamGraphsNumber++ ) {
-// for ( ilevel = 0 ; ilevel <= _LevelsNumber ; ilevel++ ) {
-// for ( k = 0 ; k <= _NodesNumber[ ilevel ] ; k++ ) {
-// if ( (_SortedNodes[ ilevel ])[ k ]->SubStreamGraph() == CurrStreamGraphsNumber ) {
-// cdebug << "SubStreamGraphsNumber " << CurrStreamGraphsNumber << " : "
-// << (_SortedNodes[ ilevel ])[ k ]->Name() << endl ;
-// }
-// }
-// }
-// }
- }
-
- ListPorts( *_Graph_fdebug , 0 ) ;
-
- cdebug_out << "GraphBase::Graph::Sort" << endl;
- return true ;
-}
-
-// Controle de la coherence des noeuds de calcul
-// Enregistrement dans la liste des noeuds "tete" de graphe
-
-bool GraphBase::Graph::ComputingNodes() const {
- bool RetVal = true ;
- cdebug << "GraphExecutor::GraphControl::ComputingNodes ()" << endl;
-
-// list<GraphEditor::Node *> aComputingNodesList = _G->ComputingNodesList() ;
-// list<GraphEditor::Node *>::iterator aNode = aComputingNodesList.begin();
-// GraphEditor::Port * iP;
-
-// for (aNode = _G->ComputingNodesList().begin(); aNode !=_G->ComputingNodesList().end(); aNode++) {
-// while ( aNode != aComputingNodesList.end() ) {
- int i ;
- GraphBase::ComputingNode * aNode ;
- for ( i = 0 ; i < GraphNodesSize() ; i++ ) {
- aNode = GraphNodes( i ) ;
- // Tous les ports d'entree de tous les noeuds de calcul sont bien connectes
- // Enregistrement eventuel dans la liste des noeuds "tete" de graphe
-// if ((*aNode)->GetNodeInPortsSize() == 0)
-// _headNodes.push_front(*aNode);
- int j ;
- for ( j = 1 ; j < aNode->GetNodeInPortsSize() ; j++ ) {
- const GraphBase::InPort *iP = aNode->GetNodeInPort(j);
- if ( !iP->IsConnected() ){
- cdebug << "Le port d'entree " << iP->PortName()
- << " du noeud de calcul " << aNode->Name() << " du graphe "
- << Name() << " n'est pas connecte "<< endl;
- RetVal = false ;
- };
-
- };
-
- // Tous les noeuds de calcul ont au moins un port de sortie connecte
- bool oneOutPortConnected = false;
- for ( j = 1 ; j < aNode->GetNodeOutPortsSize() ; j++) {
- const GraphBase::OutPort *iP = aNode->GetNodeOutPort(j);
- if ( iP->IsPortConnected() || iP->IsDataConnected() ){
- oneOutPortConnected = true ;
-// break;
- }
- else {
- cdebug << "Le port de sortie " << iP->PortName()
- << " du noeud de calcul " << aNode->Name() << " du graphe "
- << Name() << " n'est pas connecte "<< endl;
- RetVal = false ;
- }
- };
- if (!oneOutPortConnected) {
- cdebug << "Le noeud de calcul " << aNode->Name() << " du graphe "
- << Name() << " n'a aucun port de sortie connecte "<< endl;
-// _computingError.push_front(2);
- }
- };
-// return _computingError.size () ;
- return RetVal ;
-}
-
-bool GraphBase::Graph::LinkLoopNodes(bool & NewLink ) {
- bool RetVal = true ;
- NewLink = false ;
- int i , j ;
- cdebug_in << "GraphBase::Graph::LinkLoopNodes()" << endl;
- for ( i = 0 ; i < GraphNodesSize() ; i++ ) {
- GraphBase::ComputingNode * aNode = GraphNodes( i ) ;
- if ( aNode->IsLoopNode() ) {
- GraphBase::LoopNode * aLoopNode = (GraphBase::LoopNode * ) aNode ;
- for ( j = 0 ; j < aLoopNode->GetNodeInPortsSize() ; j++ ) {
- GraphBase::InPort *anInPort = aLoopNode->GetChangeNodeInPort(j) ;
- if ( !anInPort->IsGate() && !anInPort->IsConnected() && !anInPort->IsDataConnected() ) {
- if ( !AddLink( aLoopNode->CoupledNode() , aLoopNode->CoupledNode()->GetChangeNodeOutPort( j ) ,
- aLoopNode , anInPort ) ) {
- cdebug << "GraphBase::Graph::CreateService AddLink ERROR " << aLoopNode->CoupledNode()->Name()
- << "( " << aLoopNode->CoupledNode()->GetChangeNodeOutPort( j )->PortName() << " ) --> "
- << aLoopNode->Name() << "( " << anInPort->PortName() << " )" << endl ;
- RetVal = false ;
- }
- else {
- NewLink = true ;
- }
- }
- }
- for ( j = 0 ; j < aLoopNode->CoupledNode()->GetNodeInPortsSize() ; j++ ) {
- GraphBase::InPort *anInPort = aLoopNode->CoupledNode()->GetChangeNodeInPort( j ) ;
- if ( !anInPort->IsConnected() && !anInPort->IsGate() ) {
- if ( !AddLink( aLoopNode , aLoopNode->GetChangeNodeOutPort( j ) ,
- aLoopNode->CoupledNode() , anInPort ) ) {
- cdebug << "GraphBase::Graph::CreateService AddLink ERROR " << aLoopNode->Name() << "( "
- << aLoopNode->GetChangeNodeOutPort( j )->PortName() << " ) --> "
- << aLoopNode->CoupledNode()->Name() << "( " << anInPort->PortName() << " )" << endl ;
- RetVal = false ;
- }
- else {
- NewLink = true ;
- }
- }
- }
- }
- else if ( aNode->IsGOTONode() ) {
- GraphBase::GOTONode * aGOTONode = (GraphBase::GOTONode * ) aNode ;
- GraphBase::OutPort *anOutGate = aGOTONode->GetChangeNodeOutGate() ;
- if ( !anOutGate->IsConnected() ) {
- if ( !AddLink( aGOTONode , anOutGate ,
- aGOTONode->CoupledNode() , aGOTONode->CoupledNode()->GetChangeNodeInGate() ) ) {
- cdebug << "GraphBase::Graph::CreateService AddLink ERROR " << aGOTONode->Name() << "( "
- << anOutGate->PortName() << " ) --> " << aGOTONode->CoupledNode()->Name() << "( "
- << aGOTONode->CoupledNode()->GetChangeNodeInGate()->PortName() << " )" << endl ;
- RetVal = false ;
- }
- else {
- NewLink = true ;
- }
- }
- }
- }
- cdebug_out << "GraphBase::Graph::LinkLoopNodes() " << RetVal << endl;
- return RetVal ;
-}
-
-// Controle de la coherence des noeuds de calcul
-// Enregistrement dans la liste des noeuds "tete" de graphe
-
-bool GraphBase::Graph::DataServerNodes() const {
-
- cdebug << "GraphBase::Graph::DataServerNodes ()" << endl;
-
-// const GraphExecutor::InNode *DataFlowDatas = GetDataFlowDatas() ;
- int i , j , ierr = 0 ;
-
-// if ( DataFlowDatas == NULL ) {
-// MESSAGE( "No input data available in the DataFlow " << _G->Name() );
-// return 0 ;
-// }
-
-// const GraphExecutor::InNode *DataFlowNode = _G->GetDataFlowNode() ;
-// MESSAGE( "DataServerNodes DataFlowNode : " << *DataFlowNode );
-
-// MESSAGE( "DataServerNodes DataFlowDatas : " << *DataFlowDatas );
-
-// cout are inversed because DataFlowDatas is a mirror node of the DataFlow
-
- ierr = CheckDataServerNodes() ;
-
-// list<GraphExecutor::InNode *> aComputingNodesList = _G->ComputingNodesList() ;
-// list<GraphExecutor::InNode *>::iterator aNode = aComputingNodesList.begin();
- if ( GraphNodesSize() == 0 ) {
- ierr++ ;
- }
- else {
- GraphBase::ComputingNode * aNode ;
- for ( i = 0 ; i < GraphNodesSize() ; i++ ) {
- aNode = GraphNodes( i ) ;
-// while ( aNode != aComputingNodesList.end() ) {
- if ( aNode->IsFactoryNode() ) {
- GraphBase::FactoryNode * FaNode = (GraphBase::FactoryNode * ) aNode ;
- if ( !strlen( FaNode->Computer() ) ) {
- cdebug << "ComputerName missing for node " << FaNode->Name() ;
- if ( !strlen( FaNode->Computer() ) ) {
- ierr++ ;
- cdebug << endl ;
- }
- else {
- cdebug << ". " << FaNode->Computer() << " will be used." << endl ;
- }
- }
- }
-// For Outputs of the DataFlow :
- for ( j = 0 ; j < aNode->GetNodeOutPortsSize() ; j++ ) {
- if ( !aNode->GetNodeOutPort(j)->IsConnected() ) {
- if ( aNode->GetNodeOutPort(j)->IsDataStream() ) {
- aNode->AddStreamLink( (GraphBase::ComputingNode *) this ) ;
- }
- else {
- aNode->AddLink( (GraphBase::ComputingNode *) this ) ;
- }
- }
- }
- }
- }
-
-// Chaque noeud dataserver ne possede qu'un seul port entree ou sortie et il est bien connecte
-
-// list<GraphExecutor::InNode *> aDataServerNodesList = _G->DataServerNodesList() ;
-// list<GraphExecutor::InNode *>::iterator it = aDataServerNodesList.begin() ;
-
-// for (it = _G->DataServerNodesList().begin(); it !=_G->DataServerNodesList().end(); it++){
-// while ( it != aDataServerNodesList.end() ) {
-// if ( (*it)->GetNodeOutPortsSize() && (*it)->GetNodeInPortsSize() ) {
-// cerr << "Erreur dans le noeud serveur de donnees "
-// << (*it)->Name() << " du graphe " << _G->Name() << endl;
-// cerr << "A la fois importation et exportation de donnees" << endl;
-// _dataServerError.push_front(1);
-// }
-
-// if ((*it)->GetNodeOutPortsSize()) {
-// if ((*it)->GetNodeOutPortsSize()==1){
-// if ( (*it)->GetNodeOutPort(0)->IsPortConnected() ){
-// _headNodes.push_front(*it);
-// }
-// else {
-// cerr << "Le port de sortie du noeud serveur de donnees "
-// << (*it)->Name() << " du graphe " << _G->Name()
-// << " n'est pas connecte "<< endl;
-// _dataServerError.push_front(4);
-// }
-// }
-// else {
-// cerr << "Plus d'une donnee importee du noeud serveur de donnees "
-// << (*it)->Name() << " du graphe " << _G->Name() << endl;
-// _dataServerError.push_front(2);
-// }
-// }
-
-// if ((*it)->GetNodeInPortsSize()) {
-// if ((*it)->GetNodeInPortsSize() > 1){
-// cerr << "Plus d'une donnee exportee vers le noeud serveur de donnees "
-// << (*it)->Name() << " du graphe " << _G->Name() << endl;
-// _dataServerError.push_front(3);
-// }
-// else
-// if ( !(*it)->GetNodeInPort(0)->IsPortConnected() ){
-// cerr << "Le port d'entree du noeud serveur de donnees "
-// << (*it)->Name() << " du graphe " << _G->Name()
-// << " n'est pas connecte "<< endl;
-// _dataServerError.push_front(5);
-// }
-// }
-// it++ ;
-// };
-
-// return _dataServerError.size ();
- return ( ierr == 0 ) ;
-}
-
-SUPERV::GraphState GraphBase::Graph::PortState(
- const char* NodeName ,
- const char* ServiceParameterName ) {
- SUPERV::GraphState aRet = SUPERV::UndefinedState ;
-// cdebug << "GraphBase::Graph::PortState( " << NodeName << " , "
-// << ServiceParameterName << " )" << endl ;
-
- char *theNode ;
- char *aPort ;
- NodePort( NodeName , ServiceParameterName , &theNode , &aPort ) ;
-
- GraphBase::ComputingNode * aNode = GetChangeGraphNode( theNode ) ;
- if ( aNode ) {
- GraphBase::OutPort *anOutPort ;
- anOutPort = aNode->GetChangeOutPort( aPort );
- if ( anOutPort == NULL ) {
- GraphBase::InPort *anInPort = aNode->GetChangeInPort( aPort );
- if ( anInPort )
- anOutPort = anInPort->GetOutPort() ;
- else {
- cdebug << "GraphBase::Graph::PortState OutPort/InPort not found --> "
- << aRet << endl ;
- }
- }
- if ( anOutPort ) {
- aRet = anOutPort->State() ;
-// cdebug << "GraphBase::Graph::PortState --> " << aRet << endl ;
- }
- }
- else {
- cdebug << "GraphBase::Graph::PortState Node not found --> " << aRet
- << endl ;
- }
- delete theNode ;
- delete aPort ;
- return aRet ;
-}
-
-const CORBA::Any * GraphBase::Graph::PortInData( const char* ToNodeName ,
- const char* ToServiceParameterName ) {
- const CORBA::Any * aRet = new CORBA::Any() ;
- char *theNode ;
- char *aPort ;
-// cdebug_in << "GraphBase::Graph::PortInData " << ToNodeName << " "
-// << ToServiceParameterName << endl ;
- NodePort( ToNodeName , ToServiceParameterName , &theNode , &aPort ) ;
-
- GraphBase::ComputingNode * aNode = GetChangeGraphNode( theNode ) ;
-
- if ( aNode ) {
- GraphBase::OutPort *anOutPort = NULL ;
- GraphBase::InPort *anInPort = aNode->GetChangeInPort( aPort );
- if ( anInPort ) {
- anOutPort = anInPort->GetOutPort() ;
- if ( anOutPort ) {
- aRet = anOutPort->Value() ;
-// cdebug << "OutPort value " << anOutPort->NodeName() << "("
-// << anOutPort->PortName() << ") --> InPort " << anInPort->NodeName()
-// << "(" << anInPort->PortName() << ")" << endl ;
- }
- else {
- cdebug << "GraphBase::Graph::PortInData " << ToNodeName << " "
- << ToServiceParameterName << " ERROR no OutPort" << endl ;
- }
- }
- else {
- cdebug << "GraphBase::Graph::PortInData " << ToNodeName << " "
- << ToServiceParameterName << " ERROR no InPort" << endl ;
- }
- }
- else {
- cdebug << "GraphBase::Graph::PortInData " << ToNodeName << " "
- << ToServiceParameterName << " ERROR no Node" << endl ;
- }
- delete theNode ;
- delete aPort ;
-// cdebug_out << "GraphBase::Graph::PortInData " << endl ;
- return aRet ;
-}
-
-const CORBA::Any * GraphBase::Graph::PortOutData( const char* FromNodeName ,
- const char* FromServiceParameterName ) {
- const CORBA::Any * aRet = new CORBA::Any() ;
- char *theNode ;
- char *aPort ;
-// cdebug_in << "GraphBase::Graph::PortOutData " << FromNodeName << " "
-// << FromServiceParameterName << endl ;
- NodePort( FromNodeName , FromServiceParameterName , &theNode , &aPort ) ;
-
- GraphBase::ComputingNode * aNode = GetChangeGraphNode( theNode ) ;
-
- if ( aNode ) {
- GraphBase::OutPort *anOutPort ;
- anOutPort = aNode->GetChangeOutPort( aPort );
- if ( anOutPort ) {
- aRet = anOutPort->Value() ;
- }
- else {
- cdebug << "GraphBase::Graph::PortOutData " << FromNodeName << " "
- << FromServiceParameterName << " ERROR no OutPort" << endl ;
- }
- }
- else {
- cdebug << "GraphBase::Graph::PortOutData " << FromNodeName << " "
- << FromServiceParameterName << " ERROR no Node" << endl ;
- }
- delete theNode ;
- delete aPort ;
-// cdebug_out << "GraphBase::Graph::PortOutData " << endl ;
- return aRet ;
-}
-
-SUPERV::ListOfStrings * GraphBase::Graph::LevelNodes(long aLevel ) {
- SUPERV::ListOfStrings_var RetVal = new SUPERV::ListOfStrings;
- if ( aLevel >= 0 && aLevel <= _LevelsNumber ) {
- int i ;
- RetVal->length( _NodesNumber[ aLevel ] + 1 );
- for ( i= 0 ; i <= _NodesNumber[ aLevel ] ; i++ ) {
- RetVal[i] = CORBA::string_dup( (_SortedNodes[ aLevel ])[ i ]->Name() ) ;
- }
- }
- return ( RetVal._retn() ) ;
-}
-
-bool GraphBase::Graph::StartComponent(const int aThread ,
- const char * aComputerContainer ,
- const char * ComponentName ,
- Engines::Container_var & myContainer ,
- Engines::Component_var & objComponent ) {
- cdebug_in << aThread
- << " GraphBase::Graph::StartComponent " << aComputerContainer
- << " " << ComponentName << endl;
- bool RetVal = true ;
-
- SALOME_LifeCycleCORBA LCC( NamingService() ) ;
- objComponent = LCC.FindOrLoad_Component( aComputerContainer ,
- ComponentName );
- if ( CORBA::is_nil( objComponent ) ) {
- cdebug_out << aThread
- << " StartComponent cannot FindOrLoad " << aComputerContainer
- << " " << ComponentName << endl;
- return 0 ;
- }
- else {
- myContainer = LCC.FindContainer( aComputerContainer );
- if ( CORBA::is_nil( myContainer ) ) {
- cdebug_out << aThread
- << " GraphBase::Graph::StartComponent myContainer = LCC.FindContainer( '"
- << aComputerContainer << "' ) Container does not exist"
- << endl ;
- return 0 ;
- }
- }
- cdebug_out << aThread << " GraphBase::Graph::StartComponent" << endl;
- return RetVal ;
-}
-
+++ /dev/null
-// SUPERV GraphBase : contains fondamental classes for Services, Input Ports, Output Ports Links and Nodes.
-//
-// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
-// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
-//
-// This library is free software; you can redistribute it and/or
-// modify it under the terms of the GNU Lesser General Public
-// License as published by the Free Software Foundation; either
-// version 2.1 of the License.
-//
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-// Lesser General Public License for more details.
-//
-// You should have received a copy of the GNU Lesser General Public
-// License along with this library; if not, write to the Free Software
-// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-//
-// See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
-//
-//
-//
-// File : DataFlowBase_Graph.hxx
-// Author : Jean Rahuel, CEA
-// Module : SUPERV
-// $Header:
-
-#ifndef _DATAFLOWBASE_GRAPH_HXX
-#define _DATAFLOWBASE_GRAPH_HXX
-
-#include "DataFlowBase_FactoryNode.hxx"
-#include "DataFlowBase_LoopNode.hxx"
-#include "DataFlowBase_EndOfLoopNode.hxx"
-#include "DataFlowBase_SwitchNode.hxx"
-#include "DataFlowBase_EndOfSwitchNode.hxx"
-#include "DataFlowBase_DataNode.hxx"
-
-class Graph_Impl ;
-
-namespace GraphBase {
-
- class Graph : public DataNode {
-
- private:
-
-// int _Graph_prof_debug;
-// ofstream * _Graph_fdebug;
- CORBA::ORB_ptr _Orb ;
- SUPERV::Graph_var _Graph ;
- Graph_Impl * _GraphImpl ;
-
-// Map of Nodes of the Graph
- map< string , int > _MapOfGraphNodes ;
- long _GraphNodesSize ;
- vector<bool > _Sorted ;
- vector<ComputingNode *> _GraphNodes ;
-
-// _SortedNodes[ _LevelsNumber ] : topological sort from 0 to _LevelsNumber
-// _SortedNodes[ _level ][ _NodesNumber[ _level ] ] : _NodesNumber[ _level ] Nodes in the level
- int _LevelsNumber ;
- int _ThreadsMax ;
- vector<int > _NodesNumber ;
- vector<vector<ComputingNode *> > _SortedNodes ;
-
- vector<int > _CnxInPortsNumber ;
- vector<int > _DecrInPortsNumber ;
-
- long _HeadNodesSize ;
- vector<ComputingNode *> _HeadNodes ;
- long _QueueNodesSize ;
- vector<ComputingNode *> _QueueNodes ;
- bool _ParallelExecutionNodes ;
-
-// For generated NodeNames with ServiceName : number of Nodes using
-// the same ServiceName. It is not the same Service if it belongs to
-// a different Interface and/or a different Component ...
- map< string , GraphBase::Service * > _MapOfServiceNames ;
-
-// Total number of SubGraphs
- int _SubGraphsNumber ;
-// _SubGraphs[ SubGraphNumero ] [ NodeNumero ]
-// SubGraphNumero : [ 0 , _SubGraphsSize [ ; NodeNumero : [ 0 , _SubGraphs[ SubGraphNumero ].size() [
- int _SubGraphsSize ;
- vector<vector<ComputingNode *> > _SubGraphs ;
-
-// _SubStreamGraphs[ SubStreamGraphNumero ] [ NodeNumero ]
-// SubStreamGraphNumero : [ 0 , _SubStreamGraphsSize [
-// NodeNumero : [ 0 , _SubStreamGraphs[ SubStreamGraphNumero ].size() [
-// int _SubStreamGraphsSize ;
-// vector<vector<ComputingNode *> > _SubStreamGraphs ;
-
- bool AddLink( GraphBase::ComputingNode *fromNode ,
- GraphBase::OutPort *fromPort ,
- GraphBase::ComputingNode *toNode ,
- GraphBase::InPort *toPort ) ;
-
- public:
-
- Graph() ;
- Graph( CORBA::ORB_ptr ORB ,
- SALOME_NamingService* ptrNamingService ,
- const char *DataFlowName ,
- int * Graph_prof_debug ,
- ofstream * Graph_fdebug ) ;
-// const char * DebugFileName ) ;
- Graph( CORBA::ORB_ptr ORB ,
- SALOME_NamingService* ptrNamingService ,
- const SALOME_ModuleCatalog::Service& DataFlowService ,
- const char *DataFlowComponentName ,
- const char *DataFlowInterfaceName ,
- const char *DataFlowName ,
- const SUPERV::KindOfNode DataFlowkind ,
- const SUPERV::SDate DataFlowFirstCreation ,
- const SUPERV::SDate DataFlowLastModification ,
- const char * DataFlowEditorRelease ,
- const char * DataFlowAuthor ,
- const char * DataFlowComputer ,
- const char * DataFlowComment ,
- int * Graph_prof_debug ,
- ofstream * Graph_fdebug ) ;
-// const char * DebugFileName ) ;
- virtual ~Graph() ;
-
-// void Set_prof_debug( CORBA::ORB_ptr ORB ,
-// const char * DebugFileName ) ;
- void Set_prof_debug( int * Graph_prof_debug ,
- ofstream * Graph_fdebug ) ;
- int * Graph_prof_debug() {
- return _prof_debug ; } ;
- ofstream * Graph_fdebug() { return _fdebug ; } ;
-
- SUPERV::Graph_var ObjRef() const { return _Graph ; } ;
- void SetObjRef( SUPERV::Graph_var aGraph ) {
- _Graph = aGraph ; } ;
- Graph_Impl * ObjImpl() const { return _GraphImpl ; } ;
- void SetObjImpl( Graph_Impl * aGraphImpl ) {
- _GraphImpl = aGraphImpl ; } ;
-
- void AddLink( const char* FromNodeName , GraphBase::ComputingNode * anOutNode ) {
- GetChangeGraphNode( FromNodeName )->AddLink( anOutNode ) ; } ;
-
- const int GetGraphNodeIndex( const char *name ) {
- const int index = _MapOfGraphNodes[ name ] - 1 ;
-// if ( index >= 0 )
-// cdebug << "GetGraphNodeIndex of " << name << " in _MapOfGraphNodes : "
-// << index << " Node " << hex << (void *) _GraphNodes[ index ]
-// << dec << " '" << _GraphNodes[ index ]->Name() << "'" << endl ;
- return index ; } ;
- void SetGraphNodeIndex( const char *name , const int index ) {
- _MapOfGraphNodes[ name ] = index + 1 ;
- cdebug << "SetGraphNodeIndex of " << name << " in _MapOfGraphNodes : "
- << index << " Node " << hex << (void *) _GraphNodes[ index ]
- << " '" << _GraphNodes[ index ]->Name() << "'" << endl ;
- } ;
- void DelGraphNodeIndex( const char *name ) {
- _MapOfGraphNodes.erase( name ) ; } ;
-
- const GraphBase::ComputingNode * GetGraphNode( const int index ) const {
- const ComputingNode * aNode = GetChangeGraphNode( index ) ;
- return aNode ; } ;
- ComputingNode * GetChangeGraphNode( const int index ) const {
- if ( index >= 0 && index < _GraphNodesSize ) {
- ComputingNode * aNode = _GraphNodes[ index ] ;
- return aNode ;
- }
- else
- return NULL ; } ;
- const ComputingNode * GetGraphNode( const char *name ) {
- const ComputingNode * aNode = GetChangeGraphNode( name ) ;
- return aNode ; } ;
- ComputingNode * GetChangeGraphNode( const char *name ) {
- int index = GetGraphNodeIndex( name ) ;
- if ( index >= 0 && index < _GraphNodesSize ) {
- ComputingNode * aNode = GetChangeGraphNode( index ) ;
- return aNode ;
- }
- else
- return NULL ; } ;
-
- const int GraphNodesSize() const {
- return _GraphNodesSize ; } ;
- ComputingNode * GraphNodes( int i ) const {
- return _GraphNodes[ i ] ; } ;
-
- const int HeadNodesSize() const {
- return _HeadNodesSize ; } ;
- ComputingNode * HeadNodes( int i ) const {
- return _HeadNodes[ i ] ; } ;
-
- const int QueueNodesSize() const {
- return _QueueNodesSize ; } ;
- ComputingNode * QueueNodes( int i ) const {
- return _QueueNodes[ i ] ; } ;
-
- const GraphBase::InPort * GetInPort( const char * ToServiceParameterName ) {
- return GraphBase::PortsOfNode::GetInPort( ToServiceParameterName ) ; } ;
- GraphBase::InPort * GetChangeInPort( const char * ToServiceParameterName ) {
- return GraphBase::PortsOfNode::GetChangeInPort( ToServiceParameterName ) ; } ;
- const GraphBase::OutPort * GetOutPort( const char * FromServiceParameterName ) {
- return GraphBase::PortsOfNode::GetOutPort( FromServiceParameterName ) ; } ;
- GraphBase::OutPort * GetChangeOutPort( const char * FromServiceParameterName ) {
- return GraphBase::PortsOfNode::GetChangeOutPort( FromServiceParameterName ); } ;
-
- const GraphBase::InPort * GetInPort( const char * ToNodeName ,
- const char * ToServiceParameterName ) {
- ComputingNode * aNode = GetChangeGraphNode( ToNodeName ) ;
- if ( aNode ) {
- return aNode->GetInPort(ToServiceParameterName);
- }
- else
- return NULL ; } ;
- GraphBase::InPort * GetChangeInPort( const char * ToNodeName ,
- const char * ToServiceParameterName ) {
- ComputingNode * aNode = GetChangeGraphNode( ToNodeName ) ;
- if ( aNode ) {
- return aNode->GetChangeInPort( ToServiceParameterName ) ;
- }
- else
- return NULL ; } ;
- const GraphBase::OutPort * GetOutPort( const char * FromNodeName ,
- const char * FromServiceParameterName ) {
- ComputingNode * aNode = GetChangeGraphNode( FromNodeName ) ;
- if ( aNode ) {
- return aNode->GetOutPort( FromServiceParameterName ) ;
- }
- else
- return NULL ; } ;
- GraphBase::OutPort * GetChangeOutPort( const char * FromNodeName ,
- const char * FromServiceParameterName ) {
- ComputingNode * aNode = GetChangeGraphNode( FromNodeName ) ;
- if ( aNode ) {
- return aNode->GetChangeOutPort( FromServiceParameterName );
- }
- else
- return NULL ; } ;
-
- SUPERV::GraphState PortState( const char* NodeName ,
- const char* ServiceParameterName ) ;
- bool PortDone( const char* NodeName ,
- const char* ServiceParameterName ) {
- bool aRet = false ;
- SUPERV::GraphState aState = PortState( NodeName ,
- ServiceParameterName ) ;
- if ( aState == SUPERV::DoneState )
- aRet = true ;
- return aRet ; } ;
- const CORBA::Any * PortInData( const char* ToNodeName ,
- const char* ToServiceParameterName ) ;
- const CORBA::Any * PortOutData( const char* FromNodeName ,
- const char* FromServiceParameterName ) ;
-
- bool LoadXml( CORBA::ORB_ptr Orb , const char* anXmlFile ,
- GraphBase::SGraph & aDataFlow ) ;
-
- GraphBase::SNode * GetInfo() const ;
- GraphBase::ListOfNodes * GetNodes() const ;
- GraphBase::ListOfLinks * GetLinks(bool AllLinks = false ) const ;
- GraphBase::ListOfGraphs * GetGraphs() const ;
- GraphBase::ListOfLinks * GetDatas() const ;
-
- bool AddNode( ComputingNode * aNode ) ;
- bool RemoveNode( const char* NodeName ) ;
- bool ReNameNode( const char* OldNodeName ,
- const char* NewNodeName ) ;
-
- bool AddLink( const char* FromNodeName ,
- const char* FromServiceParameterName ,
- const char* ToNodeName ,
- const char* ToServiceParameterName ,
- const CORBA::Any aValue ) ;
- bool RemoveLink( const char* FromNodeName ,
- const char* FromServiceParameterName ,
- const char* ToNodeName ,
- const char* ToServiceParameterName ) ;
- bool GetLink( const char* ToNodeName ,
- const char* ToServiceParameterName ,
- char** FromNodeName ,
- char** FromServiceParameterName ) ;
- GraphBase::SLink * GetLink( GraphBase::ComputingNode * aNode ,
- GraphBase::InPort* toPort ) ;
-
- bool AddInputData( const char* ToNodeName ,
- const char* ToParameterName ,
- const CORBA::Any aValue ) ;
- bool ChangeInputData( const char* ToNodeName ,
- const char* ToParameterName ,
- const CORBA::Any aValue ) ;
- bool AddInputData( const char* ToNodeName1 ,
- const char* ToParameterName1 ,
- const char* ToNodeName2 ,
- const char* ToParameterName2 ) ;
-
- bool AddInputData( const char* ToNodeName ,
- const char* ToParameterName ,
- const CORBA::Any ** aValue ) ;
-
- bool AddOutputData( const char* FromNodeName ,
- const char* FromParameterName ,
- const CORBA::Any aValue ) ;
-
- bool CreateService() ;
- bool InLineServices() ;
-
- bool Sort( int & SubStreamGraphsNumber ) ;
- bool ComputingNodes() const ;
- bool LinkLoopNodes(bool & NewLink ) ;
- bool DataServerNodes() const ;
-
- long LevelMax() {
- return _LevelsNumber + 1 ; } ;
-
- map< string , GraphBase::Service * > MapOfServiceNames() ;
- GraphBase::Service * GetServiceOfMap( char * name ) ;
- bool SetServiceOfMap( GraphBase::Service * aService ) ;
- int GetServiceNameNumber( SALOME_ModuleCatalog::Service aService ) ;
-
- SUPERV::ListOfStrings * LevelNodes(long aLevel ) ;
- long ThreadsMax() {
- return _ThreadsMax ; } ;
-
- long SubGraphsNumber() {
- return _SubGraphsNumber ; } ;
-
- int NodesNumber(const int aLevel ) {
- return _NodesNumber[ aLevel ] ; } ;
- GraphBase::ComputingNode * SortedNodes( const int aLevel , const int index ) {
- return (_SortedNodes[ aLevel ])[ index ] ; } ;
-
- bool StartComponent( const int aThread ,
- const char * ComputerContainer ,
- const char * ComponentName ,
- Engines::Container_var & myContainer ,
- Engines::Component_var & objComponent ) ;
-
- };
-
-};
-
-#endif
+++ /dev/null
-// SUPERV GraphBase : contains fondamental classes for Services, Input Ports, Output Ports Links and Nodes.
-//
-// Copyright (C) 2003 CEA/DEN, EDF R&D
-//
-//
-//
-// File : DataFlowBase_InDataStreamPort.cxx
-// Author : Jean Rahuel
-// Module : SUPERV
-// $Header:
-
-using namespace std;
-
-#include "DataFlowBase_InDataStreamPort.hxx"
-
-GraphBase::InDataStreamPort::InDataStreamPort() :
- GraphBase::InPort::InPort() {
- _KindOfSchema = SUPERV::SCHENULL ;
- _KindOfInterpolation = SUPERV::INTERNULL ;
- _KindOfExtrapolation = SUPERV::EXTRANULL ;
- cdebug << "GraphBase::InDataStreamPort::InDataStreamPort " << this << " " << PortName() << " " << _KindOfSchema << " " << _KindOfInterpolation
- << " " << _KindOfExtrapolation << endl ;
-}
-
-GraphBase::InDataStreamPort::InDataStreamPort(
- const char *const * NodeName ,
- const SALOME_ModuleCatalog::ServicesParameter aserviceParameter ,
- const SALOME_ModuleCatalog::DataStreamDependency aDependency ,
- const SUPERV::KindOfSchema aKindOfSchema ,
- const SUPERV::KindOfInterpolation aKindOfInterpolation ,
- const SUPERV::KindOfExtrapolation aKindOfExtrapolation ) :
- InPort( NodeName , aserviceParameter , SUPERV::DataStreamParameter , aDependency ) {
- if ( aDependency == SALOME_ModuleCatalog::DATASTREAM_TEMPORAL ) {
- _KindOfSchema = aKindOfSchema ;
- _KindOfInterpolation = aKindOfInterpolation ;
- _KindOfExtrapolation = aKindOfExtrapolation ;
- }
- else {
- _KindOfSchema = SUPERV::SCHENULL ;
- _KindOfInterpolation = SUPERV::INTERNULL ;
- _KindOfExtrapolation = SUPERV::EXTRANULL ;
- }
- cdebug << "GraphBase::InDataStreamPort::InDataStreamPort " << this << " " << PortName() << " " << _KindOfSchema << " " << _KindOfInterpolation
- << " " << _KindOfExtrapolation << endl ;
-}
-
-GraphBase::InDataStreamPort::~InDataStreamPort() {
- cdebug << "GraphBase::InDataStreamPort::~InDataStreamPort " << this << endl ;
-}
-
-bool GraphBase::InDataStreamPort::SetParams( const SUPERV::KindOfSchema aKindOfSchema ,
- const SUPERV::KindOfInterpolation aKindOfInterpolation ,
- const SUPERV::KindOfExtrapolation aKindOfExtrapolation ) {
- bool RetVal = true ;
- if ( Dependency() == SALOME_ModuleCatalog::DATASTREAM_TEMPORAL ) {
- _KindOfSchema = aKindOfSchema ;
- _KindOfInterpolation = aKindOfInterpolation ;
- _KindOfExtrapolation = aKindOfExtrapolation ;
- }
- else {
- _KindOfSchema = SUPERV::SCHENULL ;
- _KindOfInterpolation = SUPERV::INTERNULL ;
- _KindOfExtrapolation = SUPERV::EXTRANULL ;
- RetVal = false ;
- }
- cdebug << "GraphBase::InDataStreamPort::SetParams RetVal " << RetVal << " " << PortName() << " " << _KindOfSchema << " "
- << _KindOfInterpolation << " " << _KindOfExtrapolation << endl ;
- return RetVal ;
-}
-
-void GraphBase::InDataStreamPort::Params( SUPERV::KindOfSchema & aKindOfSchema ,
- SUPERV::KindOfInterpolation & aKindOfInterpolation ,
- SUPERV::KindOfExtrapolation & aKindOfExtrapolation ) const {
- aKindOfSchema = _KindOfSchema ;
- aKindOfInterpolation = _KindOfInterpolation ;
- aKindOfExtrapolation = _KindOfExtrapolation ;
- cdebug << "GraphBase::InDataStreamPort::Params " << PortName() << " " << _KindOfSchema << " " << _KindOfInterpolation << " "
- << _KindOfExtrapolation << endl ;
-}
-
-ostream & operator<< (ostream & f ,const SUPERV::KindOfSchema & s ) {
- switch (s) {
- case SUPERV::SCHENULL :
- f << "SCHENULL";
- break;
- case SUPERV::TI :
- f << "TI";
- break;
- case SUPERV::TF :
- f << "TF";
- break;
- case SUPERV::DELTA :
- f << "DELTA";
- break;
- default :
- f << "UndefinedKindOfSchema";
- break;
- }
-
- return f;
-}
-
-ostream & operator<< (ostream & f ,const SUPERV::KindOfInterpolation & s ) {
- switch (s) {
- case SUPERV::INTERNULL :
- f << "INTERNULL";
- break;
- case SUPERV::L0 :
- f << "L0";
- break;
- case SUPERV::L1 :
- f << "L1";
- break;
- default :
- f << "UndefinedKindOfInterpolation";
- break;
- }
-
- return f;
-}
-
-ostream & operator<< (ostream & f ,const SUPERV::KindOfExtrapolation & s ) {
- switch (s) {
- case SUPERV::EXTRANULL :
- f << "EXTRANULL";
- break;
- case SUPERV::E0 :
- f << "E0";
- break;
- case SUPERV::E1 :
- f << "E1";
- break;
- default :
- f << "UndefinedKindOfExtrapolation";
- break;
- }
-
- return f;
-}
-
+++ /dev/null
-// SUPERV GraphBase : contains fondamental classes for Services, Input Ports, Output Ports Links and Nodes.
-//
-// Copyright (C) 2003 CEA/DEN, EDF R&D
-//
-//
-//
-// File : DataFlowBase_InDataStreamPort.hxx
-// Author : Jean Rahuel
-// Module : SUPERV
-// $Header:
-
-#ifndef _DATAFLOWBASE_INDATASTREAMPORT_HXX
-#define _DATAFLOWBASE_INDATASTREAMPORT_HXX
-
-#include "DataFlowBase_OutPort.hxx"
-
-namespace GraphBase {
-
- class InDataStreamPort : public InPort {
-
- private:
-
-// if TimeDependency :
- SUPERV::KindOfSchema _KindOfSchema ;
- SUPERV::KindOfInterpolation _KindOfInterpolation ;
- SUPERV::KindOfExtrapolation _KindOfExtrapolation ;
-
- protected:
-
- public:
-
- InDataStreamPort() ;
-
- InDataStreamPort( const char *const * NodeName ,
- const SALOME_ModuleCatalog::ServicesParameter aserviceParameter ,
- const SALOME_ModuleCatalog::DataStreamDependency aDependency = SALOME_ModuleCatalog::DATASTREAM_UNDEFINED ,
- const SUPERV::KindOfSchema aKindOfSchema = SUPERV::SCHENULL ,
- const SUPERV::KindOfInterpolation aKindOfInterpolation = SUPERV::INTERNULL ,
- const SUPERV::KindOfExtrapolation aKindOfExtrapolation = SUPERV::EXTRANULL ) ;
-
- virtual ~InDataStreamPort() ;
-
- bool SetParams( const SUPERV::KindOfSchema aKindOfSchema ,
- const SUPERV::KindOfInterpolation aKindOfInterpolation ,
- const SUPERV::KindOfExtrapolation aKindOfExtrapolation ) ;
-
- void Params( SUPERV::KindOfSchema & aKindOfSchema ,
- SUPERV::KindOfInterpolation & aKindOfInterpolation ,
- SUPERV::KindOfExtrapolation & aKindOfExtrapolation ) const ;
-
- };
-
-};
-
-ostream & operator<< (ostream &,const SUPERV::KindOfSchema &);
-
-ostream & operator<< (ostream &,const SUPERV::KindOfInterpolation &);
-
-ostream & operator<< (ostream &,const SUPERV::KindOfExtrapolation &);
-
-#endif
-
-
-
-
+++ /dev/null
-// SUPERV GraphBase : contains fondamental classes for Services, Input Ports, Output Ports Links and Nodes.
-//
-// Copyright (C) 2003 CEA/DEN, EDF R&D
-//
-//
-//
-// File : DataFlowBase_InLineNode.cxx
-// Author : Jean Rahuel, CEA
-// Module : SUPERV
-// $Header:
-
-using namespace std;
-//#include <sstream>
-//#include <iostream>
-
-#include "DataFlowBase_InLineNode.hxx"
-
-GraphBase::InLineNode::InLineNode() :
- GraphBase::ComputingNode::ComputingNode() {
- _PythonFunction = SUPERV::ListOfStrings() ;
-}
-
-GraphBase::InLineNode::InLineNode( CORBA::ORB_ptr ORB ,
- SALOME_NamingService* ptrNamingService ,
- const char * aDataFlowName ,
- int * Graph_prof_debug ,
- ofstream * Graph_fdebug ) :
- GraphBase::ComputingNode::ComputingNode( ORB , ptrNamingService , aDataFlowName ,
- Graph_prof_debug , Graph_fdebug ) {
- _PythonFunction = SUPERV::ListOfStrings() ;
- cdebug << "GraphBase::InLineNode::Node " << this
- << "' _Name "
- << (void *) Name() << " '" << Name() << " _Comment "
- << (void *) Comment() << " " << Comment() << endl ;
-}
-
-GraphBase::InLineNode::InLineNode( CORBA::ORB_ptr ORB ,
- SALOME_NamingService* ptrNamingService ,
- const SALOME_ModuleCatalog::Service& NodeService ,
- const char *NodeName ,
- const SUPERV::KindOfNode akind ,
- const SUPERV::SDate NodeFirstCreation ,
- const SUPERV::SDate NodeLastModification ,
- const char * NodeEditorRelease ,
- const char * NodeAuthor ,
- const char * NodeComment ,
- const bool GeneratedName ,
- const long X ,
- const long Y ,
- int * Graph_prof_debug ,
- ofstream * Graph_fdebug ) :
- GraphBase::ComputingNode::ComputingNode( ORB , ptrNamingService ,
- NodeService ,
- NodeName , akind , NodeFirstCreation ,
- NodeLastModification ,
- NodeEditorRelease ,
- NodeAuthor , NodeComment , GeneratedName ,
- X , Y ,
- Graph_prof_debug , Graph_fdebug ) {
- _PythonFunction = SUPERV::ListOfStrings() ;
- _MyPyRunMethod = NULL ;
- cdebug_in << "GraphBase::InLineNode::Node " << this
- << "' _Name "
- << (void *) Name() << " '" << Name() << " _Comment "
- << (void *) Comment() << " " << Comment() << " "
- << " KindOfNode " << Kind()
- << " ServiceName " << ServiceName() << " In("
- << ServiceInParameter().length()
- << ") Out(" << ServiceOutParameter().length() << ")" << endl ;
-
- cdebug_out << "GraphBase::InLineNode::Node" << endl;
-}
-
-GraphBase::InLineNode::InLineNode( CORBA::ORB_ptr ORB ,
- SALOME_NamingService* ptrNamingService ,
- const char * FuncName ,
- const SUPERV::ListOfStrings & aPythonFunction ,
- const char *NodeName ,
- const SUPERV::KindOfNode akind ,
- const SUPERV::SDate NodeFirstCreation ,
- const SUPERV::SDate NodeLastModification ,
- const char * NodeEditorRelease ,
- const char * NodeAuthor ,
- const char * NodeComment ,
- const bool GeneratedName ,
- const long X ,
- const long Y ,
- int * Graph_prof_debug ,
- ofstream * Graph_fdebug ) :
- GraphBase::ComputingNode::ComputingNode( ORB , ptrNamingService ,
- SALOME_ModuleCatalog::Service() ,
- NodeName , akind , NodeFirstCreation ,
- NodeLastModification , NodeEditorRelease ,
- NodeAuthor , NodeComment , GeneratedName ,
- X , Y ,
- Graph_prof_debug , Graph_fdebug ) {
-
- cdebug_in << "GraphBase::InLineNode::Node " << this
- << "' _Name "
- << (void *) Name() << " '" << Name() << " _Comment "
- << (void *) Comment() << " " << Comment() << " "
- << " KindOfNode " << Kind() << " FuncName " << FuncName
- << " ServiceName " << ServiceName() << " In("
- << ServiceInParameter().length()
- << ") Out(" << ServiceOutParameter().length() << ")" << endl ;
-
- _MyPyRunMethod = NULL ;
- SetPythonFunction( FuncName , aPythonFunction ) ;
- SALOME_ModuleCatalog::Service aNodeService ;
- aNodeService.ServiceName = NodeName ;
-// python -> service
- SetService( aNodeService ) ;
- cdebug_out << "GraphBase::InLineNode::Node" << endl;
-}
-
-GraphBase::InLineNode::~InLineNode() {
- cdebug << "GraphBase::InLineNode::~Node " << this
- << " _Name "
- << (void *) Name() << " " << Name() << " _Comment "
- << (void *) Comment() << " " << Comment() << " " << endl ;
-// if ( _ComponentName != NULLSTRING )
-// delete [] _ComponentName ;
-// delete [] _Name ;
-// delete [] _EditorRelease ;
-// if ( _Author != NULLSTRING )
-// delete [] _Author ;
-// if ( _Computer != FACTORYSERVER )
-// delete [] _Computer;
-// if ( _Comment != NULLSTRING )
-// delete [] _Comment;
-}
-
-void GraphBase::InLineNode::SetPythonFunction( const char * FuncName ,
- const SUPERV::ListOfStrings & aPythonFunction ) {
- int i ;
- cdebug << "GraphBase::InLineNode::PythonFunction length " << aPythonFunction.length() ;
- if ( aPythonFunction.length() == 1 ) {
- cdebug << " aPythonFunction[ 0 ] '" << aPythonFunction[ 0 ] << "'" ;
- }
- cdebug << " FuncName " << FuncName << endl ;
- _FuncName = my_strblkdup( FuncName ) ;
- cdebug << "GraphBase::InLineNode::SetPythonFunction FuncName '" << FuncName << "' --> '"
- << _FuncName << "'" << endl ;
- if ( ( aPythonFunction.length() == 0 ) ||
- ( aPythonFunction.length() == 1 && strlen( aPythonFunction[ 0 ] ) == 0 ) ) {
- _PythonFunction.length( 0 ) ;
- }
- else {
- _PythonFunction.length( aPythonFunction.length() ) ;
- for ( i = 0 ; i < (int ) aPythonFunction.length() ; i++ ) {
- cdebug << aPythonFunction[ i ] << endl ;
- _PythonFunction[ i ] = CORBA::string_dup( aPythonFunction[ i ] ) ;
- }
- }
-}
-
-//bool GraphBase::InLineNode::SaveXML( ostream &f , char *Tabs ,
-bool GraphBase::InLineNode::SaveXML( QDomDocument & Graph , QDomElement & info ,
- int XCoordinate , int YCoordinate ) const {
- GraphBase::ListOfFuncName aFuncNames ;
- GraphBase::ListOfPythonFunctions aPythonFunction ;
- if ( PyFuncName() ) {
- aFuncNames.resize( 1 ) ;
- aFuncNames[0] = CORBA::string_dup( PyFuncName() ) ;
- aPythonFunction.resize( 1 ) ;
- aPythonFunction[0] = PythonFunction() ;
- }
-// return GraphBase::ComputingNode::SaveXML( f , Tabs , "" , "" , "" , "" ,
- return GraphBase::ComputingNode::SaveXML( Graph , info , "" , "" , "" , "" ,
- aFuncNames , aPythonFunction ,
- XCoordinate , YCoordinate ) ;
-}
-
-bool GraphBase::InLineNode::SavePY(ostream &f , const char * aGraphName ,
- int XCoordinate , int YCoordinate ) const {
- GraphBase::ListOfFuncName aFuncNames ;
- GraphBase::ListOfPythonFunctions aPythonFunction ;
- if ( PyFuncName() ) {
- aFuncNames.resize( 1 ) ;
- aFuncNames[0] = CORBA::string_dup( PyFuncName() ) ;
- aPythonFunction.resize( 1 ) ;
- aPythonFunction[0] = PythonFunction() ;
- }
- return GraphBase::ComputingNode::SavePY( f , aGraphName , "" , "" , "" , NULL ,
- aFuncNames , aPythonFunction ,
- XCoordinate , YCoordinate ) ;
-}
+++ /dev/null
-// SUPERV GraphBase : contains fondamental classes for Services, Input Ports, Output Ports Links and Nodes.
-//
-// Copyright (C) 2003 CEA/DEN, EDF R&D
-//
-//
-//
-// File : DataFlowBase_InLineNode.hxx
-// Author : Jean Rahuel, CEA
-// Module : SUPERV
-// $Header:
-
-#ifndef _DATAFLOWBASE_INLINENODE_HXX
-#define _DATAFLOWBASE_INLINENODE_HXX
-
-#include "Python.h"
-
-#include "DataFlowBase_ComputingNode.hxx"
-
-namespace GraphBase {
-
- class InLineNode : public ComputingNode {
-
- private:
-
- char * _FuncName ;
- SUPERV::ListOfStrings _PythonFunction ;
- PyObject * _MyPyRunMethod ;
-
- public:
-
- InLineNode() ;
- InLineNode( CORBA::ORB_ptr ORB ,
- SALOME_NamingService* ptrNamingService ,
- const char * DataFlowName ,
- int * Graph_prof_debug = NULL ,
- ofstream * Graph_fdebug = NULL ) ;
- InLineNode( CORBA::ORB_ptr ORB ,
- SALOME_NamingService* ptrNamingService ,
- const SALOME_ModuleCatalog::Service& NodeService ,
- const char *NodeName ,
- const SUPERV::KindOfNode akind ,
- const SUPERV::SDate NodeFirstCreation ,
- const SUPERV::SDate NodeLastModification ,
- const char * NodeEditorRelease ,
- const char * NodeAuthor ,
- const char * NodeComment ,
- const bool GeneratedName ,
- const long X ,
- const long Y ,
- int * Graph_prof_debug = NULL ,
- ofstream * Graph_fdebug = NULL ) ;
- InLineNode( CORBA::ORB_ptr ORB ,
- SALOME_NamingService* ptrNamingService ,
- const char * FuncName ,
- const SUPERV::ListOfStrings & aPythonFunction ,
- const char *NodeName ,
- const SUPERV::KindOfNode akind ,
- const SUPERV::SDate NodeFirstCreation ,
- const SUPERV::SDate NodeLastModification ,
- const char * NodeEditorRelease ,
- const char * NodeAuthor ,
- const char * NodeComment ,
- const bool GeneratedName ,
- const long X ,
- const long Y ,
- int * Graph_prof_debug = NULL ,
- ofstream * Graph_fdebug = NULL ) ;
- virtual ~InLineNode() ;
-
- void SetPythonFunction( const char * FuncName ,
- const SUPERV::ListOfStrings & aPythonFunction ) ;
- const SUPERV::ListOfStrings * PythonFunction() const {
- return &_PythonFunction ; } ;
- char * PyFuncName() const {
- return my_strdup( _FuncName ) ; } ;
- void PyRunMethod( PyObject * MyPyRunMethod ) {
- _MyPyRunMethod = MyPyRunMethod ; } ;
- PyObject * PyRunMethod() {
- return _MyPyRunMethod ; } ;
-
-
-// bool SaveXML( ostream &f , char *Tabs ,
- bool SaveXML( QDomDocument & Graph , QDomElement & info ,
- int XCoordinate , int YCoordinate ) const ;
- bool SavePY( ostream &f , const char * aGraphName ,
- int XCoordinate , int YCoordinate ) const ;
-
- };
-
-};
-
-#endif
+++ /dev/null
-// SUPERV GraphBase : contains fondamental classes for Services, Input Ports, Output Ports Links and Nodes.
-//
-// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
-// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
-//
-// This library is free software; you can redistribute it and/or
-// modify it under the terms of the GNU Lesser General Public
-// License as published by the Free Software Foundation; either
-// version 2.1 of the License.
-//
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-// Lesser General Public License for more details.
-//
-// You should have received a copy of the GNU Lesser General Public
-// License along with this library; if not, write to the Free Software
-// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-//
-// See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
-//
-//
-//
-// File : DataFlowBase_InPort.cxx
-// Author : Jean Rahuel, CEA
-// Module : SUPERV
-// $Header:
-
-using namespace std;
-#include "DataFlowBase_InPort.hxx"
-#include "DataFlowBase_OutPort.hxx"
-
-char ** _PortStateName ;
-
-GraphBase::InPort::InPort() :
- Port() {
- _State = SUPERV::UndefinedState ;
- _OutPort = NULL ;
- _InitialOutPort = NULL ;
-}
-
-GraphBase::InPort::InPort(
- const char *const * Name ,
- const SALOME_ModuleCatalog::ServicesParameter aserviceParameter ,
- const SUPERV::KindOfPort aKind ,
- const SALOME_ModuleCatalog::DataStreamDependency aDependency ) :
- Port( Name , aserviceParameter , aKind , aDependency ) {
- _State = SUPERV::UndefinedState ;
- _OutPort = NULL ;
- _InitialOutPort = NULL ;
-}
-
-//GraphBase::InPort::~InPort() {
-// cout << "InPort::~InPort()" << endl ;
-//}
-
-bool GraphBase::InPort::IsConnected() const {
- return ( _OutPort != NULL && !_OutPort->IsDataConnected() ) ;
-}
-
-bool GraphBase::InPort::IsDataConnected() const {
- return ( _OutPort != NULL && _OutPort->IsDataConnected() ) ;
-}
-
-void GraphBase::InPort::StringValue(ostream & f ) const {
- if ( _OutPort )
- _OutPort->StringValue( f ) ;
- else
- f << "(undefined)" ;
-}
-
-ostream & operator<< (ostream &f ,const GraphBase::InPort &P) {
- f << P.PortName() << ", "
- << "type : " << P.PortType() << ", " ;
- f << "from "
- << P.NodeName() << ", ";
- f << "kind "
- << P.Kind() << ", ";
-
- return f;
-}
-
+++ /dev/null
-// SUPERV GraphBase : contains fondamental classes for Services, Input Ports, Output Ports Links and Nodes.
-//
-// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
-// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
-//
-// This library is free software; you can redistribute it and/or
-// modify it under the terms of the GNU Lesser General Public
-// License as published by the Free Software Foundation; either
-// version 2.1 of the License.
-//
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-// Lesser General Public License for more details.
-//
-// You should have received a copy of the GNU Lesser General Public
-// License along with this library; if not, write to the Free Software
-// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-//
-// See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
-//
-//
-//
-// File : DataFlowBase_InPort.hxx
-// Author : Jean Rahuel, CEA
-// Module : SUPERV
-// $Header:
-
-#ifndef _DATAFLOWBASE_INPORT_HXX
-#define _DATAFLOWBASE_INPORT_HXX
-
-#include "DataFlowBase_Port.hxx"
-
-namespace GraphBase {
-
- class OutPort ;
-
- class InPort : public Port {
-
- private:
-
- SUPERV::GraphState _State ;
- OutPort * _OutPort ;
- OutPort * _InitialOutPort ;
-
- public:
-
- InPort() ;
- InPort( const char *const * NodeName ,
- const SALOME_ModuleCatalog::ServicesParameter aserviceParameter ,
- const SUPERV::KindOfPort aKind = SUPERV::ServiceParameter ,
- const SALOME_ModuleCatalog::DataStreamDependency aDependency = SALOME_ModuleCatalog::DATASTREAM_UNDEFINED ) ;
- virtual ~InPort() {
- cdebug << "GraphBase::InPort::~InPort " << PortName() << endl ; } ;
- virtual void destroy() {
- _OutPort = NULL ;
- _InitialOutPort = NULL ;
- cdebug << "GraphBase::InPort::destroy " << PortName() << " "
- << NodeName() << endl ; } ;
-
- void State( SUPERV::GraphState aState ) {
-// cdebug << pthread_self() << " " << PortName() << " from "
-// << NodeName() << " SUPERV::GraphState " << _State << " "
-// << " --> " << aState << " _EndSwitchPort "
-// << IsEndSwitch() << endl ;
- _State = aState ; } ;
- SUPERV::GraphState State() { return _State ; } ;
-
- OutPort * GetOutPort() {
- return _OutPort ; } ;
- OutPort * GetOutPort() const {
- return _OutPort ; } ;
- bool IsConnected() const ;
- bool IsDataConnected() const ;
- bool AddOutPort( OutPort * anOutPort ) {
- if ( _OutPort )
- return false ;
- _OutPort = anOutPort ;
- return true ; } ;
- bool ChangeOutPort( OutPort * anOutPort ) {
- if ( _InitialOutPort == NULL ) {
- _InitialOutPort = _OutPort ;
- }
- _OutPort = anOutPort ;
- return true ; } ;
- bool InitialOutPort() {
- if ( _InitialOutPort ) {
- _OutPort = _InitialOutPort ;
- _InitialOutPort = NULL ;
- return true ;
- }
- return false ; } ;
- bool RemoveOutPort() {
- if ( _OutPort == NULL )
- return false ;
- _OutPort = NULL ;
- return RemoveCoords() ; } ;
-
- void StringValue(ostream & f ) const ;
-
- } ;
-
-} ;
-
-ostream & operator<< (ostream &,const GraphBase::InPort &);
-
-#endif
+++ /dev/null
-// SUPERV GraphBase : contains fondamental classes for Services, Input Ports, Output Ports Links and Nodes.
-//
-// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
-// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
-//
-// This library is free software; you can redistribute it and/or
-// modify it under the terms of the GNU Lesser General Public
-// License as published by the Free Software Foundation; either
-// version 2.1 of the License.
-//
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-// Lesser General Public License for more details.
-//
-// You should have received a copy of the GNU Lesser General Public
-// License along with this library; if not, write to the Free Software
-// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-//
-// See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
-//
-//
-//
-// File : DataFlowBase_LoadXml.cxx
-// Module : SUPERV
-
-using namespace std;
-#include "DataFlowBase_XmlHandler.hxx"
-
-//#include <qaccel.h>
-#include <qxml.h>
-#include <qmessagebox.h>
-
-// Pour Jean
-// Fonction Load qui utilise un Parser de fichier xml de Dataflow
-// Utilise DataFlowEditor_XmlHandler.hxx et .cxx
-
-//#include "SALOME_NamingService.hxx"
-
-//#include <SALOMEconfig.h>
-//#include CORBA_CLIENT_HEADER(SALOME_SuperVision)
-
-#include "DataFlowBase_Graph.hxx"
-
-bool GraphBase::Graph::LoadXml( CORBA::ORB_ptr _Orb ,
- const char* myFileName ,
- GraphBase::SGraph & aDataFlow )
-{
- char * FileName = new char[ strlen( myFileName ) + 5 ] ;
- strcpy( FileName , myFileName ) ;
- QString aqstrFileName(FileName);
- QFile afile( aqstrFileName);
-
- if ( !afile.exists() || !afile.open( IO_ReadOnly ) ) {
- strcat( FileName , ".xml" ) ;
- aqstrFileName = QString(FileName);
- QFile afile( aqstrFileName );
- if ( !afile.exists() || !afile.open( IO_ReadOnly ) ) {
- return false;
- }
- afile.close();
- }
- else
- afile.close();
-
- QString qstrFileName(FileName);
- QFile file( qstrFileName);
- GraphBase::XmlHandler::XmlHandler * myXmlHandler = new GraphBase::XmlHandler::XmlHandler( _Orb , true );
- QXmlInputSource source( file );
- QXmlSimpleReader reader;
- reader.setContentHandler( myXmlHandler );
- reader.setErrorHandler( myXmlHandler );
- bool ok = reader.parse( source );
- file.close();
- if ( !ok ) {
-// QMessageBox::critical( 0,
-// QString( "INF_PARSE_ERROR" ),
-// QString( myXmlHandler->errorProtocol() ) );
- return false;
- }
-
- aDataFlow = myXmlHandler->GetDataFlow() ;
- delete myXmlHandler ;
- // Dataflow is now loaded.
- return true ;
-}
-
-
+++ /dev/null
-// SUPERV GraphBase : contains fondamental classes for Services, Input Ports, Output Ports Links and Nodes.
-//
-// Copyright (C) 2003 CEA/DEN, EDF R&D
-//
-//
-//
-// File : DataFlowBase_LoopNode.cxx
-// Author : Jean Rahuel, CEA
-// Module : SUPERV
-// $Header:
-
-using namespace std;
-//#include <sstream>
-//#include <iostream>
-
-#include "DataFlowBase_LoopNode.hxx"
-
-GraphBase::LoopNode::LoopNode() :
- GraphBase::GOTONode::GOTONode() {
-
- cdebug << "GraphBase::LoopNode::LoopNode " << this
- << " _Name " << (void *) Name() << " " << Name() << " _Comment "
- << (void *) Comment() << " " << Comment() << " " << endl ;
-
-}
-
-GraphBase::LoopNode::LoopNode( CORBA::ORB_ptr ORB ,
- SALOME_NamingService* ptrNamingService ,
- const char * InitName ,
- const SUPERV::ListOfStrings & anInitPythonFunction ,
- const char * MoreName ,
- const SUPERV::ListOfStrings & aMorePythonFunction ,
- const char * NextName ,
- const SUPERV::ListOfStrings & aNextPythonFunction ,
- const char *NodeName ,
- const SUPERV::KindOfNode akind ,
- const SUPERV::SDate NodeFirstCreation ,
- const SUPERV::SDate NodeLastModification ,
- const char * NodeEditorRelease ,
- const char * NodeAuthor ,
- const char * NodeComment ,
- const bool GeneratedName ,
- const long X ,
- const long Y ,
- int * Graph_prof_debug ,
- ofstream * Graph_fdebug ) :
- GraphBase::GOTONode::GOTONode( ORB , ptrNamingService , InitName , anInitPythonFunction ,
- NodeName , akind , NodeFirstCreation ,
- NodeLastModification , NodeEditorRelease ,
- NodeAuthor , NodeComment , GeneratedName ,
- X , Y , Graph_prof_debug , Graph_fdebug ) {
-
- cdebug_in << "GraphBase::LoopNode::LoopNode " << this
- << "' _Name " << (void *) Name() << " '" << Name() << " _Comment "
- << (void *) Comment() << " " << Comment() << " "
- << " KindOfNode " << Kind() << " InitName " << InitName
- << " MoreName " << MoreName << " NextName " << NextName
- << " ServiceName " << ServiceName() << " In("
- << ServiceInParameter().length()
- << ") Out(" << ServiceOutParameter().length() << ")" << endl ;
-
- _MyPyMoreMethod = NULL ;
- _MyPyNextMethod = NULL ;
-
- cdebug << "GraphBase::LoopNode::LoopNode SetMorePythonFunction " << MoreName << " " ;
- if ( aMorePythonFunction.length() ) {
- cdebug << aMorePythonFunction[0] ;
- }
- cdebug << endl ;
- SetMorePythonFunction( MoreName , aMorePythonFunction ) ;
- cdebug << "GraphBase::LoopNode::LoopNode SetNextPythonFunction " << NextName << " " ;
- if ( aNextPythonFunction.length() ) {
- cdebug << aNextPythonFunction[0] ;
- }
- cdebug << endl ;
- SetNextPythonFunction( NextName , aNextPythonFunction ) ;
-
- cdebug_out << "GraphBase::LoopNode::LoopNode" << endl;
-}
-
-GraphBase::LoopNode::~LoopNode() {
- cdebug << "GraphBase::Node::~Node " << this
- << " _Name " << (void *) Name() << " " << Name() << " _Comment "
- << (void *) Comment() << " " << Comment() << " " << endl ;
-// if ( _ComponentName != NULLSTRING )
-// delete [] _ComponentName ;
-// delete [] _Name ;
-// delete [] _EditorRelease ;
-// if ( _Author != NULLSTRING )
-// delete [] _Author ;
-// if ( _Computer != FACTORYSERVER )
-// delete [] _Computer;
-// if ( Comment() != NULLSTRING )
-// delete [] Comment();
-}
-
-//bool GraphBase::LoopNode::SaveXML( ostream &f , char *Tabs ,
-bool GraphBase::LoopNode::SaveXML( QDomDocument & Graph , QDomElement & info ,
- int XCoordinate , int YCoordinate ) {
- GraphBase::ListOfPythonFunctions aPythonFunction ;
- aPythonFunction.resize( 3 ) ;
- aPythonFunction[0] = PythonFunction() ;
- aPythonFunction[1] = MorePythonFunction() ;
- aPythonFunction[2] = NextPythonFunction() ;
- GraphBase::ListOfFuncName aFuncNames ;
- aFuncNames.resize( 3 ) ;
- aFuncNames[0] = CORBA::string_dup( PyFuncName() ) ;
- aFuncNames[1] = CORBA::string_dup( PyMoreName() ) ;
- aFuncNames[2] = CORBA::string_dup( PyNextName() ) ;
- char * CoupledName = "" ;
- if ( CoupledNode() ) {
- CoupledName = CoupledNode()->Name() ;
- }
-// return GraphBase::ComputingNode::SaveXML( f , Tabs , "" , "" , "" ,
- return GraphBase::ComputingNode::SaveXML( Graph , info , "" , "" , "" ,
- CoupledName ,
- aFuncNames , aPythonFunction ,
- XCoordinate , YCoordinate ) ;
-}
-
-bool GraphBase::LoopNode::SavePY( ostream &f , const char * aGraphName ,
- int XCoordinate , int YCoordinate ) {
- GraphBase::ListOfPythonFunctions aPythonFunction ;
- aPythonFunction.resize( 3 ) ;
- aPythonFunction[0] = PythonFunction() ;
- aPythonFunction[1] = MorePythonFunction() ;
- aPythonFunction[2] = NextPythonFunction() ;
- GraphBase::ListOfFuncName aFuncNames ;
- aFuncNames.resize( 3 ) ;
- aFuncNames[0] = CORBA::string_dup( PyFuncName() ) ;
- aFuncNames[1] = CORBA::string_dup( PyMoreName() ) ;
- aFuncNames[2] = CORBA::string_dup( PyNextName() ) ;
- return GraphBase::ComputingNode::SavePY( f , aGraphName , "" , "" , "" ,
- CoupledNode() ,
- aFuncNames , aPythonFunction ,
- XCoordinate , YCoordinate ) ;
-}
-
+++ /dev/null
-// SUPERV GraphBase : contains fondamental classes for Services, Input Ports, Output Ports Links and Nodes.
-//
-// Copyright (C) 2003 CEA/DEN, EDF R&D
-//
-//
-//
-// File : DataFlowBase_LoopNode.hxx
-// Author : Jean Rahuel, CEA
-// Module : SUPERV
-// $Header:
-
-#ifndef _DATAFLOWBASE_LOOPNODE_HXX
-#define _DATAFLOWBASE_LOOPNODE_HXX
-
-#include "DataFlowBase_GOTONode.hxx"
-
-namespace GraphBase {
-
- class LoopNode : public GOTONode {
-
- private:
-
- char * _MoreName ;
- SUPERV::ListOfStrings * _MorePythonFunction ;
- PyObject * _MyPyMoreMethod ;
- char * _NextName ;
- SUPERV::ListOfStrings * _NextPythonFunction ;
- PyObject * _MyPyNextMethod ;
-
- public:
-
- LoopNode() ;
- LoopNode( CORBA::ORB_ptr ORB ,
- SALOME_NamingService* ptrNamingService ,
- const char * InitName ,
- const SUPERV::ListOfStrings & aInitPythonFunction ,
- const char * MoreName ,
- const SUPERV::ListOfStrings & aMorePythonFunction ,
- const char * NextName ,
- const SUPERV::ListOfStrings & aNextPythonFunction ,
- const char *NodeName ,
- const SUPERV::KindOfNode akind ,
- const SUPERV::SDate NodeFirstCreation ,
- const SUPERV::SDate NodeLastModification ,
- const char * NodeEditorRelease ,
- const char * NodeAuthor ,
- const char * NodeComment ,
- const bool GeneratedName ,
- const long X ,
- const long Y ,
- int * Graph_prof_debug = NULL ,
- ofstream * Graph_fdebug = NULL ) ;
- virtual ~LoopNode() ;
-
- void SetMorePythonFunction( const char * MoreName ,
- const SUPERV::ListOfStrings & aMorePythonFunction ) {
- _MoreName = my_strblkdup( MoreName ) ;
- cdebug << "GraphBase::LoopNode::SetMorePythonFunction MoreName '" << MoreName << "' --> '"
- << _MoreName << "'" << endl ;
- _MorePythonFunction = new SUPERV::ListOfStrings( aMorePythonFunction ) ; } ;
-
- SUPERV::ListOfStrings * MorePythonFunction() const {
- SUPERV::ListOfStrings * aMorePythonFunction ;
- aMorePythonFunction = new SUPERV::ListOfStrings( *_MorePythonFunction ) ;
- return aMorePythonFunction ; } ;
-
- char * PyMoreName() {
- return my_strdup( _MoreName ) ; } ;
-
- void PyMoreMethod( PyObject * MyPyMoreMethod ) {
- _MyPyMoreMethod = MyPyMoreMethod ; } ;
-
- PyObject * PyMoreMethod() {
- return _MyPyMoreMethod ; } ;
-
- void SetNextPythonFunction( const char * NextName ,
- const SUPERV::ListOfStrings & aNextPythonFunction ) {
- _NextName = my_strblkdup( NextName ) ;
- cdebug << "GraphBase::LoopNode::SetNextPythonFunction NextName '" << NextName << "' --> '"
- << _NextName << "'" << endl ;
- _NextPythonFunction = new SUPERV::ListOfStrings( aNextPythonFunction ) ; } ;
-
- SUPERV::ListOfStrings * NextPythonFunction() const {
- SUPERV::ListOfStrings * aNextPythonFunction ;
- aNextPythonFunction = new SUPERV::ListOfStrings( *_NextPythonFunction ) ;
- return aNextPythonFunction ; } ;
-
- char * PyNextName() {
- return my_strdup( _NextName ) ; } ;
- void PyNextMethod( PyObject * MyPyNextMethod ) {
- _MyPyNextMethod = MyPyNextMethod ; } ;
-
- PyObject * PyNextMethod() {
- return _MyPyNextMethod ; } ;
-
-// bool SaveXML(ostream &f , char *Tabs , int X , int Y ) ;
- bool SaveXML(QDomDocument & Graph , QDomElement & info , int X , int Y ) ;
-
- bool SavePY(ostream &f , const char * aGraphName , int X , int Y ) ;
-
- };
-
-};
-
-#endif
+++ /dev/null
-// SUPERV GraphBase : contains fondamental classes for Services, Input Ports, Output Ports Links and Nodes.
-//
-// Copyright (C) 2003 CEA/DEN, EDF R&D
-//
-//
-//
-// File : DataFlowBase_OutDataStreamPort.cxx
-// Author : Jean Rahuel
-// Module : SUPERV
-// $Header:
-
-using namespace std;
-
-#include "DataFlowBase_OutDataStreamPort.hxx"
-
-GraphBase::OutDataStreamPort::OutDataStreamPort() :
- OutPort() {
- _NumberOfValues = 0 ;
- cdebug << "GraphBase::OutDataStreamPort::OutDataStreamPort " << this << " " << endl ;
-}
-
-GraphBase::OutDataStreamPort::OutDataStreamPort(
- const char *const * NodeName ,
- const SALOME_ModuleCatalog::ServicesParameter aserviceParameter ,
- const SALOME_ModuleCatalog::DataStreamDependency aDependency ,
- const long aNumberOfValues ) :
- OutPort( NodeName , aserviceParameter , SUPERV::DataStreamParameter , aDependency ) {
- _NumberOfValues = aNumberOfValues ;
- cdebug << "GraphBase::OutDataStreamPort::OutDataStreamPort " << this << " " << endl ;
-}
-
-GraphBase::OutDataStreamPort::~OutDataStreamPort() {
- cdebug << "GraphBase::OutDataStreamPort::~OutDataStreamPort " << this << endl ;
-}
-
+++ /dev/null
-// SUPERV GraphBase : contains fondamental classes for Services, Input Ports, Output Ports Links and Nodes.
-//
-// Copyright (C) 2003 CEA/DEN, EDF R&D
-//
-//
-//
-// File : DataFlowBase_OutDataStreamPort.hxx
-// Author : Jean Rahuel
-// Module : SUPERV
-// $Header:
-
-#ifndef _DATAFLOWBASE_OUTDATASTREAMPORT_HXX
-#define _DATAFLOWBASE_OUTDATASTREAMPORT_HXX
-
-#include "DataFlowBase_OutPort.hxx"
-
-namespace GraphBase {
-
- class OutDataStreamPort : public OutPort {
-
- private:
-
- long _NumberOfValues ; // Values Keeped in links ("Niveau")
-
- protected:
-
- public:
-
- OutDataStreamPort() ;
- OutDataStreamPort( const char *const * NodeName ,
- const SALOME_ModuleCatalog::ServicesParameter aserviceParameter ,
- const SALOME_ModuleCatalog::DataStreamDependency aDependency = SALOME_ModuleCatalog::DATASTREAM_UNDEFINED ,
- const long aNumberOfValues = 0 ) ;
-
- virtual ~OutDataStreamPort() ;
-
- void NumberOfValues( const long aNumberOfValues ) {
- _NumberOfValues = aNumberOfValues ; } ;
- long NumberOfValues() const {
- return _NumberOfValues ; } ;
-
- };
-
-};
-
-#endif
-
-
-
-
+++ /dev/null
-// SUPERV GraphBase : contains fondamental classes for Services, Input Ports, Output Ports Links and Nodes.
-//
-// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
-// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
-//
-// This library is free software; you can redistribute it and/or
-// modify it under the terms of the GNU Lesser General Public
-// License as published by the Free Software Foundation; either
-// version 2.1 of the License.
-//
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-// Lesser General Public License for more details.
-//
-// You should have received a copy of the GNU Lesser General Public
-// License along with this library; if not, write to the Free Software
-// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-//
-// See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
-//
-//
-//
-// File : DataFlowBase_OutPort.cxx
-// Author : Jean Rahuel, CEA
-// Module : SUPERV
-// $Header:
-
-using namespace std;
-#include "DataFlowBase_OutPort.hxx"
-
-//GraphBase::OutPort::~OutPort() {
-// In GraphExecutor::OutPort
-// int i ;
-// for ( i = 1 ; i <= _InPortsSize ; i++ ) {
-// if ( !_InPorts[ i ]->RemoveLink() )
-// cout << "GraphBase::OutPort::~OutPort error "
-// << _InPorts[ i ]->PortName() << endl ;
-// }
-//}
-
-bool GraphBase::OutPort::HasInPort() const {
- return _InPortsSize != 0 ;
-}
-
-const GraphBase::InPort * GraphBase::OutPort::GetInPort(
- const GraphBase::InPort * toPort ) {
- const GraphBase::InPort * anInPort = NULL ;
- int index = _MapOfInPorts[ toPort->NodePortName() ] ;
- if ( index > 0 && index <= _InPortsSize ) {
- anInPort = _InPorts[ index-1 ] ;
- if ( anInPort != toPort ) {
- cout << "GraphBase::OutPort::GetInPort inconsistency toPort "
- << hex << (void *) toPort << " != anInPort " << (void *) anInPort
- << dec << endl ;
- anInPort = NULL ;
- }
- }
- return anInPort ;
-}
-
-SUPERV::Link_var GraphBase::OutPort::InPortObjRef(
- const GraphBase::InPort * toPort ) {
- SUPERV::Link_var aLink = SUPERV::Link::_nil() ;
- int index = _MapOfInPorts[ toPort->NodePortName() ] ;
- if ( index > 0 && index <= _InPortsSize ) {
- aLink = _Links[ index-1 ] ;
- }
- return aLink ;
-}
-
-bool GraphBase::OutPort::AddInPort( GraphBase::InPort * toPort ) {
- int index = _MapOfInPorts[ toPort->NodePortName() ] ;
- if ( index > 0 && index <= _InPortsSize ) {
- return false ;
- }
- _InPortsSize += 1 ;
- _InPorts.resize( _InPortsSize ) ;
- _MapOfInPorts[ toPort->NodePortName() ] = _InPortsSize ;
- _InPorts[ _InPortsSize-1 ] = toPort ;
- _Links.resize( _InPortsSize ) ;
- _Links[ _InPortsSize-1 ] = SUPERV::Link::_nil() ;
- cdebug << "OutPort " << NodeName() << "(" << PortName() << ") --> InPort "
- << toPort->NodeName() << "(" << toPort->PortName() << ") SwitchPort "
- << toPort->IsEndSwitch() << endl ;
- return true ;
-}
-
-bool GraphBase::OutPort::AddInPortObjRef( GraphBase::InPort * toPort ,
- SUPERV::Link_var aLink ) {
- int index = _MapOfInPorts[ toPort->NodePortName() ] ;
- if ( index <= 0 || index > _InPortsSize ) {
- return false ;
- }
- _Links[ index - 1 ] = aLink ;
- return true ;
-}
-
-bool GraphBase::OutPort::RemoveInPort( GraphBase::InPort * toPort ) {
- int i ;
- int index = _MapOfInPorts[ toPort->NodePortName() ] ;
- if ( index <= 0 || index > _InPortsSize ) {
- cdebug << "GraphBase::OutPort::RemoveInPort Error " << NodePortName()
- << " --> " << toPort->NodePortName() << endl ;
- return false ;
- }
- _InPortsSize -= 1 ;
- for ( i = index - 1 ; i < _InPortsSize ; i++ ) {
- _MapOfInPorts[ _InPorts[ i+1 ]->NodePortName() ] = i + 1 ;
- _InPorts[ i ] = _InPorts[ i+1 ] ;
- _Links[ i ] = _Links[ i+1 ] ;
- }
- _InPorts.resize( _InPortsSize ) ;
- _Links.resize( _InPortsSize ) ;
- _MapOfInPorts.erase( toPort->NodePortName() ) ;
- if ( _InPortsSize == 0 ) {
- PortStatus(NotConnected ) ;
- }
- toPort->RemoveOutPort() ;
- return true ;
-}
-
-bool GraphBase::OutPort::ReNameInPort( const char* OldNodePortName ,
- const char* NewNodePortName ) {
- int index = _MapOfInPorts[ OldNodePortName ] ;
- if ( index <= 0 || index > _InPortsSize ) {
- cdebug << "GraphBase::OutPort::ReNameLink Error " << OldNodePortName
- << " --> " << NewNodePortName << " index " << index << endl ;
- return false ;
- }
- _MapOfInPorts.erase( OldNodePortName ) ;
- _MapOfInPorts[ NewNodePortName ] = index ;
- return true ;
-}
-
-#if 0
-bool GraphBase::OutPort::RemoveLinks() {
- bool RetVal = true ;
- int i ;
- for ( i = 0 ; i < _InPortsSize ; i++ ) {
- MESSAGE( " to " << *_InPorts[ i ] );
- RetVal = _InPorts[ i ]->RemoveLink() ;
- if ( !RetVal )
- break ;
- RetVal = RemoveLink( _InPorts[ i ] ) ;
- if ( !RetVal )
- break ;
- }
- PortStatus(NotConnected ) ;
- return RetVal ;
-}
-#endif
-
-ostream & operator<< (ostream &f ,const GraphBase::OutPort &P)
-{
- f << P.PortName() << ", "
- << "type : " << P.PortType() << ", " ;
- f << "kind "
- << P.Kind() << ", ";
- f << "from "
- << P.NodeName() << ", ";
-
- return f;
-}
-
+++ /dev/null
-// SUPERV GraphBase : contains fondamental classes for Services, Input Ports, Output Ports Links and Nodes.
-//
-// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
-// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
-//
-// This library is free software; you can redistribute it and/or
-// modify it under the terms of the GNU Lesser General Public
-// License as published by the Free Software Foundation; either
-// version 2.1 of the License.
-//
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-// Lesser General Public License for more details.
-//
-// You should have received a copy of the GNU Lesser General Public
-// License along with this library; if not, write to the Free Software
-// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-//
-// See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
-//
-//
-//
-// File : DataFlowBase_OutPort.hxx
-// Author : Jean Rahuel, CEA
-// Module : SUPERV
-// $Header:
-
-#ifndef _DATAFLOWBASE_OUTPORT_HXX
-#define _DATAFLOWBASE_OUTPORT_HXX
-
-#include "DataFlowBase_DataPort.hxx"
-#include "DataFlowBase_InPort.hxx"
-
-namespace GraphBase {
-
- class OutPort : public DataPort {
-
- private:
-
- StatusOfPort _Connected ;
-
-// Inports connected to this OutPort
- map< string , int > _MapOfInPorts ;
- int _InPortsSize ;
- vector<InPort * > _InPorts ;
- vector<SUPERV::Link_var > _Links ;
-
- public:
-
- OutPort() {
- };
- OutPort( const char *const * NodeName ,
- const SALOME_ModuleCatalog::ServicesParameter aserviceParameter ,
- const SUPERV::KindOfPort aKind = SUPERV::ServiceParameter ,
- const SALOME_ModuleCatalog::DataStreamDependency aDependency = SALOME_ModuleCatalog::DATASTREAM_UNDEFINED ) :
- DataPort( NodeName , aserviceParameter , aKind , aDependency) {
- _Connected = NotConnected ;
- _InPortsSize = 0 ; } ;
- virtual ~OutPort() {
- cdebug << "GraphBase::OutPort::~OutPort " << PortName() << endl ; } ;
- virtual void destroy() {
- int i ;
- for ( i = 0 ; i < _InPortsSize ; i++ ) {
- _MapOfInPorts.erase( _InPorts[ i ]->PortName() ) ;
-// _InPorts[ i ]->destroy() ; BUG ...
- _InPorts[ i ]->RemoveOutPort() ;
- }
- _InPorts.resize( 0 ) ;
- cdebug << "GraphBase::OutPort::destroy " << PortName() << " "
- << NodeName() << endl ; } ;
-
- const StatusOfPort PortStatus() const {
- return _Connected; } ;
- void PortStatus(StatusOfPort c) { _Connected = c; } ;
- const bool IsNotConnected() const {
- return ( _Connected == NotConnected ) ; } ;
- const bool IsConnected() const {
- return ( _Connected != NotConnected ) ; } ;
- const bool IsPortConnected() const {
- return ( _Connected == PortConnected ||
- _Connected == PortAndDataConnected ) ; } ;
- const bool IsPortAndDataConnected() const {
- return ( _Connected == PortAndDataConnected ) ; } ;
- const bool IsDataConnected() const {
- return ( _Connected == DataConnected ) ; } ;
-
- const int InPortsSize() const {
- return _InPortsSize ; } ;
- const InPort * InPorts( const int i ) const {
- return _InPorts[ i ] ; } ;
- InPort * ChangeInPorts( const int i ) {
- return _InPorts[ i ] ; } ;
- SUPERV::Link_var LinkObjRef( const int i ) const {
- return _Links[ i ] ; } ;
-
-// bool RemoveLinks() ;
-
- bool HasInPort() const ;
- const InPort * GetInPort( const InPort * toPort ) ;
- SUPERV::Link_var InPortObjRef( const InPort * toPort ) ;
- bool AddInPort( InPort * toPort ) ;
- bool AddInPortObjRef( InPort * toPort , SUPERV::Link_var aLink ) ;
-
- bool RemoveInPort( InPort * toPort ) ;
- bool ReNameInPort( const char* OldNodePortName ,
- const char* NewNodePortName ) ;
-
- } ;
-
-} ;
-
-ostream & operator<< (ostream &,const GraphBase::OutPort &);
-
-#endif
+++ /dev/null
-// SUPERV GraphBase : contains fondamental classes for Services, Input Ports, Output Ports Links and Nodes.
-//
-// Copyright (C) 2003 CEA/DEN, EDF R&D
-//
-//
-//
-// File : DataFlowBase_Port.cxx
-// Author : Jean Rahuel, CEA
-// Module : SUPERV
-// $Header:
-
-using namespace std;
-#include "DataFlowBase_Port.hxx"
-
-//GraphBase::Port::~Port() {
-// cout << "Port::~Port()" << endl ;
-//}
-
-bool GraphBase::Port::AddCoord( const int nxy , const int *x ,
- const int *y ) {
- int i ;
- if ( IsEndSwitch() ) {
- return false ;
- }
- else {
- _X.resize( nxy ) ;
- _Y.resize( nxy ) ;
- for ( i = 0 ; i < nxy ; i++ ) {
- _X[ i ] = x[ i ] ;
- _Y[ i ] = y[ i ] ;
- }
- }
- return true ;
-}
-
-bool GraphBase::Port::AddCoord( const int index ,
- const int x , const int y ) {
- if ( IsEndSwitch() ) {
- return false ;
- }
- else {
- if ( index <= 0 || index > (int ) _X.size()+1 )
- return false ;
- _X.resize( _X.size()+1 ) ;
- _Y.resize( _Y.size()+1 ) ;
- int i ;
- for ( i = _X.size() - 1 ; i >= index ; i-- ) {
- _X[ i ] = _X[ i-1 ] ;
- _Y[ i ] = _Y[ i-1 ] ;
- }
- _X[ index - 1 ] = x ;
- _Y[ index - 1 ] = y ;
-// cdebug << "AddCoord " << NodeName() << "(" << PortName() << ") ["
-// << index-1 << "] " << x << " " << y << endl ;
-// for ( i = 0 ; i < _X.size() ; i++ ) {
-// cdebug << " [" << i << "] " << _X[ i ] << " " << _Y[ i ] << endl ;
-// }
- }
- return true ;
-}
-
-bool GraphBase::Port::ChangeCoord( const int index ,
- const int x ,
- const int y ) {
- if ( IsEndSwitch() ) {
- return false ;
- }
- else {
- if ( index <= 0 || index > (int ) _X.size() )
- return false ;
- _X[ index - 1 ] = x ;
- _Y[ index - 1 ] = y ;
-// cdebug << "ChangeCoord " << NodeName() << "(" << PortName() << ") ["
-// << index-1 << "] " << x << " " << y << endl ;
-// int i ;
-// for ( i = 0 ; i < _X.size() ; i++ ) {
-// cdebug << " [" << i << "] " << _X[ i ] << " " << _Y[ i ] << endl ;
-// }
- }
- return true ;
-}
-
-bool GraphBase::Port::RemoveCoord( const int index ) {
- if ( IsEndSwitch() ) {
- return false ;
- }
- else {
- if ( index <= 0 || index > (int ) _X.size() )
- return false ;
- int i ;
- for ( i = index - 1 ; i < (int ) _X.size() - 1 ; i++ ) {
- _X[ i ] = _X[ i+1 ] ;
- _Y[ i ] = _Y[ i+1 ] ;
- }
- _X.resize( _X.size()-1 ) ;
- _Y.resize( _Y.size()-1 ) ;
- }
- return true ;
-}
-
-bool GraphBase::Port::RemoveCoords() {
- if ( IsEndSwitch() ) {
- return false ;
- }
- else {
- _X.resize( 0 ) ;
- _Y.resize( 0 ) ;
- }
- return true ;
-}
-
-int GraphBase::Port::GetCoord() const {
- int npt ;
- if ( IsEndSwitch() ) {
- return false ;
- }
- else {
- npt = _X.size() ;
- }
- return npt ;
-}
-
-bool GraphBase::Port::GetCoord( int *x , int *y ) const {
- int i ;
- if ( IsEndSwitch() ) {
- return false ;
- }
- else {
- for ( i = 0 ; i < (int ) _X.size() ; i++ ) {
- x[ i ] = _X[ i ] ;
- y[ i ] = _Y[ i ] ;
- }
- }
- return true ;
-}
-
-const GraphBase::ListOfCoords * GraphBase::Port::Coords() const {
- GraphBase::ListOfCoords * _list_Coords = new GraphBase::ListOfCoords ;
- int i ;
- if ( !IsEndSwitch() ) {
- _list_Coords->resize( _X.size() );
- for ( i = 0 ; i < (int ) _X.size() ; i++ ) {
- (*_list_Coords)[ i ].theX = _X[ i ] ;
- (*_list_Coords)[ i ].theY = _Y[ i ] ;
- }
- }
- return _list_Coords ;
-}
-
-bool GraphBase::Port::GetCoord( const int index , long &x , long &y ) const {
- if ( IsEndSwitch() ) {
- return false ;
- }
- else {
- if ( index <= 0 || index > (int ) _X.size() )
- return false ;
- x = _X[ index - 1 ] ;
- y = _Y[ index - 1 ] ;
-// cdebug << "GetCoord " << NodeName() << "(" << PortName() << ") ["
-// << index-1 << "] " << x << " " << y << endl ;
-// int i ;
-// for ( i = 0 ; i < _X.size() ; i++ ) {
-// cdebug << " [" << i << "] " << _X[ i ] << " " << _Y[ i ] << endl ;
-// }
- }
- return true ;
-}
-
-ostream & operator<< (ostream & f ,const SUPERV::KindOfPort & s ) {
- switch (s) {
- case SUPERV::UndefinedParameter :
- f << "UndefinedParameter";
- break;
- case SUPERV::ServiceParameter :
- f << "ServiceParameter";
- break;
- case SUPERV::GateParameter :
- f << "GateParameter";
- break;
- case SUPERV::InLineParameter :
- f << "InLineParameter";
- break;
- case SUPERV::LoopParameter :
- f << "LoopParameter";
- break;
- case SUPERV::SwitchParameter :
- f << "SwitchParameter";
- break;
- case SUPERV::EndSwitchParameter :
- f << "EndSwitchParameter";
- break;
- case SUPERV::GOTOParameter :
- f << "GOTOParameter";
- break;
- case SUPERV::DataStreamParameter :
- f << "DataStreamParameter";
- break;
- default :
- f << "UnknownKindOfPort";
- break;
- }
-
- return f;
-}
-
-ostream & operator<< (ostream & f ,const SALOME_ModuleCatalog::DataStreamDependency & s ) {
- switch (s) {
- case SALOME_ModuleCatalog::DATASTREAM_UNDEFINED :
- f << "DATASTREAM_UNDEFINED";
- break;
- case SALOME_ModuleCatalog::DATASTREAM_TEMPORAL :
- f << "DATASTREAM_TEMPORAL";
- break;
- case SALOME_ModuleCatalog::DATASTREAM_ITERATIVE :
- f << "DATASTREAM_ITERATIVE";
- break;
- default :
- f << "DATASTREAM_?";
- break;
- }
-
- return f;
-}
-
+++ /dev/null
-// SUPERV GraphBase : contains fondamental classes for Services, Input Ports, Output Ports Links and Nodes.
-//
-// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
-// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
-//
-// This library is free software; you can redistribute it and/or
-// modify it under the terms of the GNU Lesser General Public
-// License as published by the Free Software Foundation; either
-// version 2.1 of the License.
-//
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-// Lesser General Public License for more details.
-//
-// You should have received a copy of the GNU Lesser General Public
-// License along with this library; if not, write to the Free Software
-// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-//
-// See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
-//
-//
-//
-// File : DataFlowBase_Port.hxx
-// Author : Jean Rahuel, CEA
-// Module : SUPERV
-// $Header:
-
-#ifndef _DATAFLOWBASE_PORT_HXX
-#define _DATAFLOWBASE_PORT_HXX
-
-#include <list>
-#include <vector>
-
-#include "DataFlowBase_ServicesParameter.hxx"
-
-namespace GraphBase {
-
- class Port : public ServicesParameter {
-
- private:
-
- const char *const * _NodeName ;
- SUPERV::Port_var _Port ;
- SUPERV::KindOfPort _KindOfPort ;
-
- vector<long > _X ;
- vector<long > _Y ;
-
- SALOME_ModuleCatalog::DataStreamDependency _Dependency ; // Time or Iteration only for DataStreamPorts
-
- public:
-
- Port() {
- _NodeName = NULL ;
- _Port = SUPERV::Port::_nil() ;
- _KindOfPort = SUPERV::UndefinedParameter ;
- _Dependency = SALOME_ModuleCatalog::DATASTREAM_UNDEFINED ; } ;
- Port( const char *const * NodeName ,
- const SALOME_ModuleCatalog::ServicesParameter aserviceParameter ,
- const SUPERV::KindOfPort aKindOfPort = SUPERV::ServiceParameter ,
- const SALOME_ModuleCatalog::DataStreamDependency aDependency = SALOME_ModuleCatalog::DATASTREAM_UNDEFINED ) :
- ServicesParameter( aserviceParameter ) {
- _NodeName = NodeName ;
- _Port = SUPERV::Port::_nil() ;
- _KindOfPort = aKindOfPort ;
- if ( IsDataStream() ) {
- _Dependency = aDependency ;
- }
- else {
- _Dependency = SALOME_ModuleCatalog::DATASTREAM_UNDEFINED ;
- } } ;
- virtual ~Port() {
- cdebug << "~Port" << endl ; } ;
-
- SUPERV::Port_var ObjRef() const { return _Port ; } ;
- void ObjRef(SUPERV::Port_var aPort) {
- _Port = aPort ; } ;
-
- const char * NodeName() const { return *_NodeName ; } ;
- const char * NodePortName() const {
-// cout << "NodePortName " << hex << (void *) _NodeName << " "
-// << dec << _NodeName << endl ;
- char * _NodePortName = new char [ strlen( *_NodeName ) +
- strlen( ServicesParameterName() ) + 3 ] ;
- strcpy( _NodePortName , *_NodeName ) ;
- strcat( _NodePortName , "\\" ) ;
- strcat( _NodePortName , ServicesParameterName() ) ;
- return _NodePortName ; } ;
-
- const char * PortName() const {
- if ( this == NULL )
- return NULLSTRING ;
- return ServicesParameterName() ; } ;
- const char * PortType() const { return ServicesParameterType() ; } ;
-
- void Kind( SUPERV::KindOfPort aKindOfPort ) {
- if ( _KindOfPort == SUPERV::GateParameter && aKindOfPort == SUPERV::InLineParameter ) {
- cdebug << "GraphBase::Port::Kind " << _KindOfPort << " --> " << aKindOfPort
- << endl ;
- }
- _KindOfPort = aKindOfPort ; } ;
- const SUPERV::KindOfPort Kind() const {
- return _KindOfPort ; } ;
- bool IsParam() const {
- return _KindOfPort == SUPERV::ServiceParameter ; } ;
- bool IsGate() const {
- return _KindOfPort == SUPERV::GateParameter ||
- _KindOfPort == SUPERV::GOTOParameter ; } ;
- bool IsInLine() const {
- return _KindOfPort == SUPERV::InLineParameter ; } ;
- bool IsLoop() const {
- return _KindOfPort == SUPERV::LoopParameter ; } ;
- bool IsSwitch() const {
- return _KindOfPort == SUPERV::SwitchParameter ; } ;
- bool IsEndSwitch() const {
- return _KindOfPort == SUPERV::EndSwitchParameter ; } ;
- bool IsGOTO() const {
- return _KindOfPort == SUPERV::GOTOParameter ; } ;
- bool IsDataStream() const {
- return _KindOfPort == SUPERV::DataStreamParameter ; } ;
-
- const SALOME_ModuleCatalog::DataStreamDependency Dependency() const {
- return _Dependency ; } ;
- bool Dependency( SALOME_ModuleCatalog::DataStreamDependency aDependency ) {
- if ( IsDataStream() ) {
- _Dependency = aDependency ;
- return true ;
- }
- return false ; } ;
-
- bool AddCoord( const int nxy , const int *x , const int *y ) ;
- bool AddCoord( const int index , const int x , const int y ) ;
- bool ChangeCoord( const int index ,
- const int x ,
- const int y ) ;
- bool RemoveCoord( const int index ) ;
- bool RemoveCoords() ;
- int GetCoord() const ;
- bool GetCoord( int *x , int *y ) const ;
- const GraphBase::ListOfCoords * Coords() const ;
- bool GetCoord( const int index , long &x , long &y ) const ;
-
- } ;
-
-} ;
-
-ostream & operator<< (ostream &,const SUPERV::KindOfPort &);
-
-ostream & operator<< (ostream &,const SALOME_ModuleCatalog::DataStreamDependency &);
-
-#endif
+++ /dev/null
-// SUPERV GraphBase : contains fondamental classes for Services, Input Ports, Output Ports Links and Nodes.
-//
-// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
-// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
-//
-// This library is free software; you can redistribute it and/or
-// modify it under the terms of the GNU Lesser General Public
-// License as published by the Free Software Foundation; either
-// version 2.1 of the License.
-//
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-// Lesser General Public License for more details.
-//
-// You should have received a copy of the GNU Lesser General Public
-// License along with this library; if not, write to the Free Software
-// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-//
-// See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
-//
-//
-//
-// File : DataFlowBase_PortsOfNode.cxx
-// Author : Jean Rahuel, CEA
-// Module : SUPERV
-// $Header:
-
-using namespace std;
-#include "DataFlowBase_PortsOfNode.hxx"
-
-GraphBase::PortsOfNode::PortsOfNode() :
- GraphBase::Service::Service( SALOME_ModuleCatalog::Service() ) {
-// MESSAGE( "GraphBase::PortsOfNode::PortsOfNode " << this ) ;
-// cout << "GraphBase::PortsOfNode::PortsOfNode " << this << endl ;
-// cdebug << "GraphBase::PortsOfNode::PortsOfNode " << this << endl ;
- _NodeInPortsSize = 0 ;
- _NodeOutPortsSize = 0 ;
- _DataStreamInPortsNumber = 0 ;
- _DataStreamOutPortsNumber = 0 ;
-}
-
-GraphBase::PortsOfNode::PortsOfNode( const char *DataFlowName ) :
- GraphBase::Service::Service( SALOME_ModuleCatalog::Service() ) {
-// MESSAGE( "GraphBase::PortsOfNode::PortsOfNode " << this ) ;
-// cout << "GraphBase::PortsOfNode::PortsOfNode " << this << endl ;
-// cdebug << "GraphBase::PortsOfNode::PortsOfNode " << this << endl ;
- _NodeInPortsSize = 0 ;
- _NodeOutPortsSize = 0 ;
- _DataStreamInPortsNumber = 0 ;
- _DataStreamOutPortsNumber = 0 ;
-}
-
-GraphBase::PortsOfNode::~PortsOfNode() {
- cdebug << "GraphBase::PortsOfNode::~PortsOfNode " << this
- << endl ;
-// int i ;
-// for ( i = 0 ; i < _NodeInPortsSize ; i++ ) {
-// delete _NodeInPorts[ i ] ;
-// }
-// for ( i = 0 ; i < _NodeOutPortsSize ; i++ ) {
-// delete _NodeOutPorts[ i ] ;
-// }
-}
-
-void GraphBase::PortsOfNode::DefPortsOfNode(
- CORBA::ORB_ptr ORB ,
- const SALOME_ModuleCatalog::Service& aService ,
- const char *const * NodeName ,
- const SUPERV::KindOfNode aKind ,
- int * Graph_prof_debug ,
- ofstream * Graph_fdebug ) {
- int i ;
- SetDebug( ORB , Graph_prof_debug , Graph_fdebug ) ;
-// MESSAGE( "DefPortsOfNode " << NodeName << " Graph_prof_debug "
-// << Graph_prof_debug << " _prof_debug " << _prof_debug ) ;
- cdebug_in << "DefPortsOfNode : " << *NodeName << " ServiceName " << aService.ServiceName << endl ;
- const bool DataFlowOrComputing = (aKind == SUPERV::DataFlowGraph) ||
- (aKind == SUPERV::ComputingNode) ||
- (aKind == SUPERV::FactoryNode) ;
-// WithInLoop : InitLoop or DoLoop
- const bool WithInLoop = (aKind == SUPERV::LoopNode) || (aKind == SUPERV::EndLoopNode) ;
-// WithInGate : InGate or Default
- const bool WithInGate = (aKind == SUPERV::DataFlowGraph) || (aKind == SUPERV::DataStreamGraph) ||
- (aKind == SUPERV::ComputingNode) || (aKind == SUPERV::FactoryNode) ||
- (aKind == SUPERV::InLineNode) || (aKind == SUPERV::GOTONode) ||
- (aKind == SUPERV::LoopNode) || (aKind == SUPERV::EndLoopNode) ||
- (aKind == SUPERV::SwitchNode) || (aKind == SUPERV::EndSwitchNode) ;
-// WithOutGate : OutGate or Default
- const bool WithOutGate = (aKind == SUPERV::DataFlowGraph) || (aKind == SUPERV::DataStreamGraph) ||
- (aKind == SUPERV::ComputingNode) || (aKind == SUPERV::FactoryNode) ||
- (aKind == SUPERV::InLineNode) || (aKind == SUPERV::GOTONode) ||
- (aKind == SUPERV::SwitchNode) || (aKind == SUPERV::EndSwitchNode) ;
- SUPERV::KindOfPort aPortKind = SUPERV::ServiceParameter ;
- if ( aKind == SUPERV::InLineNode ) {
- aPortKind = SUPERV::InLineParameter ;
- }
- else if ( aKind == SUPERV::LoopNode || aKind == SUPERV::EndLoopNode ) {
- aPortKind = SUPERV::InLineParameter ;
- }
- else if ( aKind == SUPERV::SwitchNode || aKind == SUPERV::EndSwitchNode ) {
- aPortKind = SUPERV::InLineParameter ;
- }
- else if ( aKind == SUPERV::GOTONode ) {
- aPortKind = SUPERV::InLineParameter ;
- }
- for ( i = 0 ; i < _NodeInPortsSize ; i++ ) {
- cdebug << "DefPortsOfNode delete In" << i << ". " << _NodeInPorts[i]
- << endl ;
- _MapOfNodeInPorts.erase( _NodeInPorts[i]->PortName() ) ;
- delete _NodeInPorts[i] ;
- }
- _NodeInPorts.resize( 0 );
- for ( i = 0 ; i < _NodeOutPortsSize ; i++ ) {
- cdebug << "DefPortsOfNode delete Out" << i << ". " << _NodeOutPorts[i]->PortName()
- << endl ;
- _MapOfNodeOutPorts.erase( _NodeOutPorts[i]->PortName() ) ;
- delete _NodeOutPorts[i] ;
- }
- _NodeOutPorts.resize( 0 );
-
- SetService( aService ) ;
-
- int iVec = 0 ;
- _NodeInPortsSize = aService.ServiceinParameter.length() ;
- if ( WithInLoop ) {
- SALOME_ModuleCatalog::ServicesParameter anInLoopParameter ;
- _NodeInPortsSize = _NodeInPortsSize + 1 ;
- iVec += 1 ;
- char *aParametername = "InitLoop" ;
- if ( aKind == SUPERV::EndLoopNode ) {
- aParametername = "DoLoop" ;
- }
- anInLoopParameter.Parametertype = CORBA::string_dup( "long" ) ;
- anInLoopParameter.Parametername = CORBA::string_dup( aParametername ) ;
- if ( _NodeInPortsSize > (int ) _NodeInPorts.size() ) {
- _NodeInPorts.resize( _NodeInPortsSize );
- }
- _MapOfNodeInPorts[ aParametername ] = iVec ;
- _NodeInPorts[iVec-1] = new GraphBase::InPort( NodeName , anInLoopParameter ,
- SUPERV::LoopParameter );
-// MESSAGE( "GraphBase::PortsOfNode::DefPortsOfNode " << aParametername << " --> SetDebug" ) ;
- _NodeInPorts[iVec-1]->SetDebug( ORB , Graph_prof_debug , Graph_fdebug ) ;
- cdebug << "DefPortsOfNode : " << "_MapOfNodeInPorts[ " << aParametername
- << " ] = " << iVec << " " << _NodeInPorts[iVec-1]->Kind() << " "
- << _NodeInPorts[iVec-1] << endl ;
- }
- if ( _NodeInPortsSize > (int ) _NodeInPorts.size() ) {
- _NodeInPorts.resize(_NodeInPortsSize);
- }
- cdebug << "NodeInPortsSize " << _NodeInPortsSize << endl ;
- for ( i = iVec ; i < _NodeInPortsSize ; i++ ) {
- string _aParametername = CORBA::string_dup(aService.ServiceinParameter[i-iVec].Parametername) ;
- const char *aParametername = _aParametername.c_str() ;
- if ( _MapOfNodeInPorts[ aParametername ] ) {
- if ( !DataFlowOrComputing &&
- !strcmp( aParametername , "Gate" ) ) {
- }
- else {
- cdebug << "Error, Parametername duplicated : " << aParametername
- << endl ;
- }
- }
- else {
- _MapOfNodeInPorts[ aParametername ] = i+1 ;
- cdebug << "DefPortsOfNode : " << "_MapOfNodeInPorts[ " << aParametername
- << " ] = " << i+1 << endl ;
- const SALOME_ModuleCatalog::ServicesParameter aServiceParameter = aService.ServiceinParameter[i-iVec] ;
- _NodeInPorts[i] = new GraphBase::InPort( NodeName , aServiceParameter ,
- aPortKind );
-// MESSAGE( "GraphBase::PortsOfNode::DefPortsOfNode " << aParametername << " --> SetDebug" ) ;
- _NodeInPorts[i]->SetDebug( ORB , Graph_prof_debug , Graph_fdebug ) ;
- cdebug << i << ". " << *_NodeInPorts[i] << " " << _NodeInPorts[i]->Kind() << endl ;
- }
- }
- iVec += aService.ServiceinParameter.length() ;
- if ( WithInGate ) {
- SALOME_ModuleCatalog::ServicesParameter anInGateParameter ;
- _NodeInPortsSize = _NodeInPortsSize + 1 ;
- iVec += 1 ;
- char *aParametername = "Gate" ;
- if ( aKind == SUPERV::EndSwitchNode ) {
- aParametername = "Default" ;
- }
- anInGateParameter.Parametertype = CORBA::string_dup( "long" ) ;
- anInGateParameter.Parametername = CORBA::string_dup( aParametername ) ;
- _NodeInPorts.resize( _NodeInPortsSize );
- _MapOfNodeInPorts[ aParametername ] = iVec ;
- _NodeInPorts[iVec-1] = new GraphBase::InPort( NodeName , anInGateParameter ,
- SUPERV::GateParameter );
-// MESSAGE( "GraphBase::PortsOfNode::DefPortsOfNode " << aParametername << " --> SetDebug" ) ;
- _NodeInPorts[iVec-1]->SetDebug( ORB , Graph_prof_debug , Graph_fdebug ) ;
- cdebug << "DefPortsOfNode : " << "_MapOfNodeInPorts[ " << aParametername
- << " ] = " << iVec << " " << _NodeInPorts[iVec-1]->Kind() << " "
- << _NodeInPorts[iVec-1] << endl ;
- }
-
- iVec = 0 ;
- _NodeOutPortsSize = aService.ServiceoutParameter.length() ;
- if ( WithInLoop ) {
- SALOME_ModuleCatalog::ServicesParameter anOutLoopParameter ;
- _NodeOutPortsSize = _NodeOutPortsSize + 1 ;
- iVec += 1 ;
- char *aParametername = "DoLoop" ;
- anOutLoopParameter.Parametertype = CORBA::string_dup( "long" ) ;
- anOutLoopParameter.Parametername = CORBA::string_dup( aParametername ) ;
- if ( _NodeOutPortsSize > (int ) _NodeOutPorts.size() ) {
- _NodeOutPorts.resize(_NodeOutPortsSize);
- }
- _MapOfNodeOutPorts[ aParametername ] = iVec ;
- _NodeOutPorts[iVec-1] = new GraphBase::OutPort( NodeName , anOutLoopParameter ,
- SUPERV::LoopParameter );
-// MESSAGE( "GraphBase::PortsOfNode::DefPortsOfNode " << aParametername << " --> SetDebug" ) ;
- _NodeOutPorts[iVec-1]->SetDebug( ORB , Graph_prof_debug , Graph_fdebug ) ;
- cdebug << "DefPortsOfNode : " << "_MapOfNodeOutPorts[ " << aParametername
- << " ] = " << iVec << " " << _NodeOutPorts[iVec-1]->Kind() << " "
- << _NodeOutPorts[iVec-1] << endl ;
- }
- if ( _NodeOutPortsSize > (int ) _NodeOutPorts.size() ) {
- _NodeOutPorts.resize(_NodeOutPortsSize);
- }
- cdebug << "NodeOutPortsSize " << _NodeOutPortsSize << endl ;
- for ( i = iVec ; i < _NodeOutPortsSize ; i++ ) {
- string _aParametername = CORBA::string_dup(aService.ServiceoutParameter[i-iVec].Parametername) ;
- const char *aParametername = _aParametername.c_str() ;
- if ( _MapOfNodeOutPorts[ aParametername ] ) {
- if ( !DataFlowOrComputing &&
- !strcmp( aParametername , "Gate" ) ) {
- }
- else {
- cdebug << "Error, Parametername duplicated : " << aParametername
- << endl ;
- }
- }
- else {
- cdebug << "DefPortsOfNode : " << "_MapOfNodeOutPorts[ " << aParametername
- << " ] = " << i+1 << endl ;
- _MapOfNodeOutPorts[ aParametername ] = i+1 ;
- const SALOME_ModuleCatalog::ServicesParameter aServiceParameter = aService.ServiceoutParameter[i-iVec] ;
- _NodeOutPorts[i] = new GraphBase::OutPort( NodeName , aServiceParameter ,
- aPortKind );
-// MESSAGE( "GraphBase::PortsOfNode::DefPortsOfNode " << aParametername << " --> SetDebug" ) ;
- _NodeOutPorts[i]->SetDebug( ORB , Graph_prof_debug , Graph_fdebug ) ;
- cdebug << i << ". " << *_NodeOutPorts[i] << " " << _NodeOutPorts[i]->Kind() << endl ;
- }
- }
- iVec += aService.ServiceoutParameter.length() ;
- if ( WithOutGate ) {
- SALOME_ModuleCatalog::ServicesParameter anOutGateParameter ;
- _NodeOutPortsSize = _NodeOutPortsSize + 1 ;
- iVec += 1 ;
- char *aParametername = "Gate" ;
- if ( aKind == SUPERV::SwitchNode ) {
- aParametername = "Default" ;
- }
- anOutGateParameter.Parametertype = CORBA::string_dup( "long" ) ;
- anOutGateParameter.Parametername = CORBA::string_dup( aParametername ) ;
- _NodeOutPorts.resize(_NodeOutPortsSize);
- _MapOfNodeOutPorts[ aParametername ] = iVec ;
- _NodeOutPorts[iVec-1] = new GraphBase::OutPort( NodeName , anOutGateParameter ,
- SUPERV::GateParameter );
-// MESSAGE( "GraphBase::PortsOfNode::DefPortsOfNode " << aParametername << " --> SetDebug" ) ;
- _NodeOutPorts[iVec-1]->SetDebug( ORB , Graph_prof_debug , Graph_fdebug ) ;
- cdebug << "DefPortsOfNode : " << "_MapOfNodeOutPorts[ " << aParametername
- << " ] = " << iVec << " " << _NodeOutPorts[iVec-1]->Kind() << " "
- << _NodeOutPorts[iVec-1] << endl ;
- }
- cdebug_out << "DefPortsOfNode : " << *NodeName << endl ;
-}
-
-GraphBase::InPort * GraphBase::PortsOfNode::AddInPort( CORBA::ORB_ptr ORB ,
- const char *const * NodeName ,
- const SUPERV::KindOfNode aKindOfNode ,
- const char * InputParameterName ,
- const char * InputParameterType ,
- SUPERV::KindOfPort aKindOfPort ,
-// const int DataStreamInPortsNumber ,
- int * Graph_prof_debug ,
- ofstream * Graph_fdebug ) {
-// MESSAGE( "DefPortsOfNode " << *NodeName << " Graph_prof_debug "
-// << Graph_prof_debug << " _prof_debug " << _prof_debug ) ;
- cdebug_in << "PortsOfNode::AddInPort : " << *NodeName << " " << aKindOfNode << " InputParameterName " << InputParameterName << " InputParameterType "
- << InputParameterType << " aKindOfPort " << aKindOfPort << " DataStreamInPortsNumber " << DataStreamInPortsNumber() << " _NodeInPortsSize "
- << _NodeInPortsSize << endl ;
- GraphBase::InPort * anInPort = NULL ;
- int index = 0 ;
- anInPort = GetChangeInPort( InputParameterName ) ;
- if ( anInPort == NULL ) {
- _NodeInPortsSize = _NodeInPortsSize + 1 ;
- _NodeInPorts.resize(_NodeInPortsSize);
- SALOME_ModuleCatalog::ServicesParameter aServiceParameter ;
- aServiceParameter.Parametername = CORBA::string_dup( InputParameterName ) ;
- aServiceParameter.Parametertype = CORBA::string_dup( InputParameterType ) ;
- if ( aKindOfPort == SUPERV::DataStreamParameter ) {
- index = _NodeInPortsSize-2 ;
- IncrDataStreamInPorts() ;
- }
- else {
- index = _NodeInPortsSize-2 - DataStreamInPortsNumber() ;
- }
-// if ( aKindOfNode != SUPERV::EndLoopNode ) {
- int i ;
- for ( i = _NodeInPortsSize - 2 ; i >= index ; i-- ) {
- _NodeInPorts[ i + 1 ] = _NodeInPorts[ i ] ; // Gate - Default
- _MapOfNodeInPorts.erase( _NodeInPorts[ i + 1 ]->PortName() ) ;
- _MapOfNodeInPorts[ _NodeInPorts[ i + 1 ]->PortName() ] = i + 2 ;
- }
- _MapOfNodeInPorts[ InputParameterName ] = index + 1 ;
- if ( aKindOfPort == SUPERV::DataStreamParameter ) {
- _NodeInPorts[index] = new GraphBase::InDataStreamPort( NodeName ,
- aServiceParameter ) ;
- }
- else {
- _NodeInPorts[index] = new GraphBase::InPort( NodeName ,
- aServiceParameter ,
- aKindOfPort ) ;
- }
- _NodeInPorts[index]->SetDebug( ORB , Graph_prof_debug , Graph_fdebug ) ;
- anInPort = _NodeInPorts[index] ;
- cdebug << "NodeInPorts[ " << index << " ]" << endl ;
- }
-// else { // EndLoopNode
-// _MapOfNodeInPorts[ InputParameterName ] = _NodeInPortsSize-1 + 1 ;
-// _NodeInPorts[_NodeInPortsSize-1] = new GraphBase::InPort( NodeName ,
-// aServiceParameter ,//
-// aKindOfPort ) ;
-// MESSAGE( "GraphBase::PortsOfNode::AddInPort " << InputParameterName << " --> SetDebug" ) ;
-// _NodeInPorts[_NodeInPortsSize-1]->SetDebug( ORB , Graph_prof_debug , Graph_fdebug ) ;
-// anInPort = _NodeInPorts[_NodeInPortsSize-1] ;
-// cdebug << "NodeInPorts[ " << _NodeInPortsSize-1 << " ]" << endl ;
-// }
-// }
- else {
- cdebug << "GraphBase::PortsOfNode::AddInPort InPort already exists" << endl ;
- anInPort->Kind( aKindOfPort ) ;
- }
- cdebug << "GraphBase::PortsOfNode::AddInPort index " << index << " _NodeInPortsSize " << _NodeInPortsSize << endl ;
- int i ;
- for ( i = 0 ; i < _NodeInPortsSize ; i++ ) {
- cdebug << *NodeName << " _NodeInPorts[ " << i << " ] = " << _NodeInPorts[ i ]->PortName()
- << " _MapOfNodeInPorts[ " << _NodeInPorts[ i ]->PortName() << " ] = "
- << _MapOfNodeInPorts[ _NodeInPorts[ i ]->PortName() ] - 1 << " "
- << _NodeInPorts[ i ]->Kind() << " Dependency " << _NodeInPorts[ i ]->Dependency() ;
- if ( _NodeInPorts[ i ]->IsDataStream() ) {
- SUPERV::KindOfSchema aKindOfSchema ;
- SUPERV::KindOfInterpolation aKindOfInterpolation ;
- SUPERV::KindOfExtrapolation aKindOfExtrapolation ;
- ((GraphBase::InDataStreamPort * ) _NodeInPorts[ i ])->Params( aKindOfSchema , aKindOfInterpolation , aKindOfExtrapolation ) ;
- cdebug << " " << aKindOfSchema << " " << aKindOfInterpolation << " " << aKindOfExtrapolation ;
- }
- cdebug << endl ;
- }
- cdebug_out << "GraphBase::PortsOfNode::AddInPort _NodeInPortsSize " << _NodeInPortsSize
- << " " << anInPort->Kind() << endl ;
- return anInPort ;
-}
-
-GraphBase::OutPort * GraphBase::PortsOfNode::AddOutPort( CORBA::ORB_ptr ORB ,
- const char * const * NodeName ,
- const SUPERV::KindOfNode aKindOfNode ,
- const char * OutputParameterName ,
- const char * OutputParameterType ,
- SUPERV::KindOfPort aKindOfPort ,
-// const int DataStreamOutPortsNumber ,
- int * Graph_prof_debug ,
- ofstream * Graph_fdebug ) {
- cdebug_in << "GraphBase::PortsOfNode::AddOutPort : " << *NodeName << " " << aKindOfNode << " OutputParameterName " << OutputParameterName
- << " OutputParameterType " << OutputParameterType << " aKindOfPort " << aKindOfPort << " DataStreamOutPortsNumber " << DataStreamOutPortsNumber()
- << " _NodeOutPortsSize " << _NodeOutPortsSize << endl ;
- GraphBase::OutPort * anOutPort = NULL ;
- int index = 0 ;
- anOutPort = GetChangeOutPort( OutputParameterName ) ;
- if ( anOutPort == NULL ) {
- _NodeOutPortsSize = _NodeOutPortsSize + 1 ;
- _NodeOutPorts.resize(_NodeOutPortsSize);
- SALOME_ModuleCatalog::ServicesParameter aServiceParameter ;
- aServiceParameter.Parametername = CORBA::string_dup( OutputParameterName ) ;
- aServiceParameter.Parametertype = CORBA::string_dup( OutputParameterType ) ;
- if ( aKindOfPort == SUPERV::DataStreamParameter ) {
- index = _NodeOutPortsSize-2 ;
- IncrDataStreamOutPorts() ;
- }
- else {
- index = _NodeOutPortsSize-2 - DataStreamOutPortsNumber() ;
- }
- if ( aKindOfNode == SUPERV::LoopNode || aKindOfNode == SUPERV::EndLoopNode ) {
- index += 1 ;
- }
-// if ( aKindOfNode != SUPERV::LoopNode && aKindOfNode != SUPERV::EndLoopNode ) {
- int i ;
- for ( i = _NodeOutPortsSize - 2 ; i >= index ; i-- ) {
- _NodeOutPorts[ i + 1 ] = _NodeOutPorts[ i ] ; // Gate - Default
- _MapOfNodeOutPorts.erase( _NodeOutPorts[ i + 1 ]->PortName() ) ;
- _MapOfNodeOutPorts[ _NodeOutPorts[ i + 1 ]->PortName() ] = i + 2 ;
- }
- _MapOfNodeOutPorts[ OutputParameterName ] = index + 1 ;
- if ( aKindOfPort == SUPERV::DataStreamParameter ) {
- _NodeOutPorts[index] = new GraphBase::OutDataStreamPort( NodeName ,
- aServiceParameter ) ;
- }
- else {
- _NodeOutPorts[index] = new GraphBase::OutPort( NodeName ,
- aServiceParameter ,
- aKindOfPort );
- }
-// MESSAGE( "GraphBase::PortsOfNode::AddOutPort " << OutputParameterName << " --> SetDebug" ) ;
- _NodeOutPorts[index]->SetDebug( ORB , Graph_prof_debug , Graph_fdebug ) ;
- anOutPort = _NodeOutPorts[index] ;
- cdebug << "NodeOutPorts[ " << index << " ]" << endl ;
- }
-// else { // LoopNode || EndLoopNode
-// _MapOfNodeOutPorts[ OutputParameterName ] = index + 2 ;
-// _NodeOutPorts[index + 1] = new GraphBase::OutPort( NodeName ,
-// aServiceParameter ,
-// aKindOfPort );
-// MESSAGE( "GraphBase::PortsOfNode::AddOutPort " << OutputParameterName << " --> SetDebug" ) ;
-// _NodeOutPorts[index + 1]->SetDebug( ORB , Graph_prof_debug , Graph_fdebug ) ;
-// anOutPort = _NodeOutPorts[index + 1] ;
-// cdebug << "NodeOutPorts[ " << index + 1 << " ]" << endl ;
-// }
-// }
- else {
- cdebug << "GraphBase::PortsOfNode::AddOutPort OutPort already exists" << endl ;
- anOutPort->Kind( aKindOfPort ) ;
- }
- cdebug << "GraphBase::PortsOfNode::AddOutPort index " << index << " _NodeOutPortsSize " << _NodeOutPortsSize << endl ;
- int i ;
- for ( i = 0 ; i < _NodeOutPortsSize ; i++ ) {
- cdebug << *NodeName << " _NodeOutPorts[ " << i << " ] = " << _NodeOutPorts[ i ]->PortName()
- << " _MapOfNodeOutPorts[ " << _NodeOutPorts[ i ]->PortName() << " ] = "
- << _MapOfNodeOutPorts[ _NodeOutPorts[ i ]->PortName() ] - 1 << " "
- << _NodeOutPorts[ i ]->Kind() << " Dependency " << _NodeOutPorts[ i ]->Dependency() ;
- if ( _NodeOutPorts[ i ]->IsDataStream() ) {
- cdebug << " NumberOfValues " << ((GraphBase::OutDataStreamPort * ) _NodeOutPorts[ i ])->NumberOfValues() ;
- }
- cdebug << endl ;
- }
- cdebug_out << "GraphBase::PortsOfNode::AddOutPort _NodeOutPortsSize "
- << _NodeOutPortsSize << " " << anOutPort->Kind() << endl ;
- return anOutPort ;
-}
-
-void GraphBase::PortsOfNode::DelInPort( const char * InputParameterName ) {
- cdebug << "DefPortsOfNode::DelInPort : " << InputParameterName << endl ;
- int index = _MapOfNodeInPorts[ InputParameterName ] -1 ;
- if ( index >= 0 ) {
- cdebug << "DefPortsOfNode::DelInPort : _NodeInPorts[" << index << "] "
- << _NodeInPorts[ index ]->PortName() << " "
- << _NodeInPorts[ index ]->NodeName() << endl ;
- if ( _NodeInPorts[ index ]->IsDataStream() ) {
- DecrDataStreamInPorts() ;
- }
- _MapOfNodeInPorts.erase( InputParameterName ) ;
- _NodeInPorts[ index ]->destroy() ;
- int i ;
- for ( i = index ; i < _NodeInPortsSize - 1 ; i++ ) {
- _MapOfNodeInPorts.erase( _NodeInPorts[ i+1 ]->PortName() ) ;
- _MapOfNodeInPorts[ _NodeInPorts[ i+1 ]->PortName() ] = i+1 ;
- _NodeInPorts[ i ] = _NodeInPorts[ i+1 ] ;
- }
- _NodeInPortsSize = _NodeInPortsSize - 1 ;
- _NodeInPorts.resize( _NodeInPortsSize ) ;
- for ( i = 0 ; i < _NodeInPortsSize ; i++ ) {
- cdebug << "DefPortsOfNode::DelInPort ListOfInPorts : _NodeInPorts[" << i << "] "
- << _NodeInPorts[ i ]->PortName() << " "
- << _NodeInPorts[ i ]->NodeName() << endl ;
- }
- }
- else {
- cdebug << "DefPortsOfNode::DelInPort : index out of range ERROR " << index
- << endl ;
- }
-}
-
-void GraphBase::PortsOfNode::DelOutPort( const char * OutputParameterName ) {
- cdebug << "DefPortsOfNode::DelOutPort : " << OutputParameterName << endl ;
- int index = _MapOfNodeOutPorts[ OutputParameterName ] - 1 ;
- if ( index >= 0 ) {
- cdebug << "DefPortsOfNode::DelOutPort : _NodeOutPorts[" << index << "] "
- << _NodeOutPorts[ index ]->PortName() << " "
- << _NodeOutPorts[ index ]->NodeName() << endl ;
- if ( _NodeOutPorts[ index ]->IsDataStream() ) {
- DecrDataStreamOutPorts() ;
- }
- _MapOfNodeOutPorts.erase( OutputParameterName ) ;
- _NodeOutPorts[ index ]->destroy() ;
- int i ;
- for ( i = index ; i < _NodeOutPortsSize - 1 ; i++ ) {
- _MapOfNodeOutPorts.erase( _NodeOutPorts[ i+1 ]->PortName() ) ;
- _MapOfNodeOutPorts[ _NodeOutPorts[ i+1 ]->PortName() ] = i+1 ;
- _NodeOutPorts[ i ] = _NodeOutPorts[ i+1 ] ;
- }
- _NodeOutPortsSize = _NodeOutPortsSize - 1 ;
- _NodeOutPorts.resize( _NodeOutPortsSize ) ;
- for ( i = 0 ; i < _NodeOutPortsSize ; i++ ) {
- cdebug << "DefPortsOfNode::DelOutPort ListOfOutPorts : _NodeOutPorts[" << i
- << "] " << _NodeOutPorts[ i ]->PortName() << " "
- << _NodeOutPorts[ i ]->NodeName() << endl ;
- }
- }
- else {
- cdebug << "DefPortsOfNode::DelOutPort : index out of range ERROR " << index
- << endl ;
- }
-}
-
-#if 0
-void GraphBase::PortsOfNode::InOutPort( GraphBase::InPort * InputPort ,
- GraphBase::OutPort * OutputPort ) {
- cdebug_in << "DefPortsOfNode::InOutPort : " << InputPort->PortName()
- << " " << OutputPort->PortName() << endl ;
- InputPort->PortIndex( _MapOfNodeOutPorts[ OutputPort->PortName() ] - 1 ) ;
- OutputPort->PortIndex( _MapOfNodeInPorts[ InputPort->PortName() ] - 1 ) ;
- cdebug_out << "DefPortsOfNode::InOutPort " << InputPort->PortIndex()
- << " " << OutputPort->PortIndex() << endl ;
-}
-#endif
-
-const GraphBase::InPort *GraphBase::PortsOfNode::GetInPort( const char *name) {
- return GetChangeInPort( name ) ;
-}
-
-const GraphBase::OutPort *GraphBase::PortsOfNode::GetOutPort( const char *name) {
- return GetChangeOutPort( name ) ;
-}
-
-GraphBase::InPort *GraphBase::PortsOfNode::GetChangeInPort( const char * name) {
-// cdebug_in << "GraphBase::PortsOfNode::GetChangeInPort " << name << endl;
-
- GraphBase::InPort * pP = NULL;
- if ( !_MapOfNodeInPorts.empty() ) {
- int i = 0 ;
- if ( !strcmp( name , "InGate" ) ) {
- i = _MapOfNodeInPorts[ "Gate" ] ;
- }
- else {
- i = _MapOfNodeInPorts[ name ] ;
- }
- if ( i > 0 ) {
-// cdebug << "GraphBase::PortsOfNode::GetChangeInPort _MapOfNodeInPorts[ "
-// << name << " ] : " << i-1 << " " << _NodeInPorts[ i-1 ]->NodeName()
-// << endl ;
- pP = _NodeInPorts[ i-1 ] ;
- }
- }
-// if ( pP == NULL ) {
-// int i ;
-// for ( i = 0 ; i < _NodeInPortsSize ; i++ ) {
-// cdebug << " _NodeInPorts[ " << i << " ] = " << _NodeInPorts[ i ]->PortName()
-// << " _MapOfNodeInPorts[ " << _NodeInPorts[ i ]->PortName() << " ] = "
-// << _MapOfNodeInPorts[ _NodeInPorts[ i ]->PortName() ] - 1 << " "
-// << _NodeInPorts[ i ]->Kind() << " Dependency " << _NodeInPorts[ i ]->Dependency() ;
-// if ( _NodeInPorts[ i ]->IsDataStream() ) {
-// SUPERV::KindOfSchema aKindOfSchema ;
-// SUPERV::KindOfInterpolation aKindOfInterpolation ;
-// SUPERV::KindOfExtrapolation aKindOfExtrapolation ;
-// ((GraphBase::InDataStreamPort * ) _NodeInPorts[ i ])->Params( aKindOfSchema , aKindOfInterpolation , aKindOfExtrapolation ) ;
-// cdebug << " " << aKindOfSchema << " " << aKindOfInterpolation << " " << aKindOfExtrapolation ;
-// }
-// if ( !strcmp( _NodeInPorts[ i ]->PortName() , name ) ) {
-// cdebug << " ERROR" ;
-// }
-// cdebug << endl ;
-// }
-// }
-// cdebug_out << "GraphBase::PortsOfNode::GetChangeInPort " << endl;
-
- return pP;
-}
-
-GraphBase::OutPort *GraphBase::PortsOfNode::GetChangeOutPort( const char * name ) {
-// cdebug_in << "GraphBase::PortsOfNode::GetChangeOutPort " << name << endl;
-
- GraphBase::OutPort * pP = NULL;
- if ( !_MapOfNodeOutPorts.empty() ) {
- int i = 0 ;
- if ( !strcmp( name , "OutGate" ) ) {
- i = _MapOfNodeOutPorts[ "Gate" ] ;
- }
- else {
- i = _MapOfNodeOutPorts[ name ] ;
- }
- if ( i > 0 ) {
-// cdebug << "GraphBase::PortsOfNode::GetChangeOutPort _MapOfNodeOutPorts[ "
-// << name << " ] : " << i-1 << " " << _NodeOutPorts[ i-1 ]->NodeName() << endl ;
- pP = _NodeOutPorts[ i-1 ] ;
- }
- }
-// cdebug_out << "GraphBase::PortsOfNode::GetChangeOutPort " << endl;
-
-// if ( pP == NULL ) {
-// int i ;
-// for ( i = 0 ; i < _NodeOutPortsSize ; i++ ) {
-// cdebug << " _NodeOutPorts[ " << i << " ] = " << _NodeOutPorts[ i ]->PortName()
-// << " _MapOfNodeOutPorts[ " << _NodeOutPorts[ i ]->PortName() << " ] = "
-// << _MapOfNodeOutPorts[ _NodeOutPorts[ i ]->PortName() ] - 1 << " "
-// << _NodeOutPorts[ i ]->Kind() << " Dependency " << _NodeOutPorts[ i ]->Dependency() ;
-// if ( _NodeOutPorts[ i ]->IsDataStream() ) {
-// cdebug << " NumberOfValues " << ((GraphBase::OutDataStreamPort * ) _NodeOutPorts[ i ])->NumberOfValues() ;
-// }
-// if ( !strcmp( _NodeOutPorts[ i ]->PortName() , name ) ) {
-// cdebug << " ERROR" ;
-// }
-// cdebug << endl ;
-// }
-// }
- return pP;
-}
-
-#if 0
-bool GraphBase::PortsOfNode::RemoveLinks() {
- int RetVal = true ;
- int i ;
- for ( i = 0 ; i < _NodeInPortsSize ; i++ ) {
- cdebug << "GraphBase::PortsOfNode::RemoveLinks of InPorts : "
- << *_NodeInPorts[ i ] ;
- if ( _NodeInPorts[ i ]->IsConnected() ) {
- RetVal = _NodeInPorts[ i ]->GetLink()->RemoveLink( _NodeInPorts[ i ] ) ;
- cdebug << " from "
- << *_NodeInPorts[ i ]->GetLink() ;
- }
- else {
- cdebug << " not connected" ;
- }
- cdebug << endl ;
- if ( !RetVal )
- break ;
- }
- if ( RetVal ) {
- for ( i = 0 ; i < _NodeOutPortsSize ; i++ ) {
- cdebug << "GraphBase::PortsOfNode::RemoveLinks of OutPort : "
- << *_NodeOutPorts[ i ] ;
- RetVal = _NodeOutPorts[ i ]->RemoveLinks() ;
- if ( !RetVal )
- break ;
- }
- }
- return RetVal ;
-}
-#endif
-
-void GraphBase::PortsOfNode::ListPorts( ostream & f,
- const bool klink ) const {
-
- int i ;
-
- f << " Input Ports : " ;
- if ( klink ) {
- f << GetNodeInPortsSize() << " port"
- << (GetNodeInPortsSize() > 1 ? "s" : "") << endl;
-
- for ( i = 0 ; i < GetNodeInPortsSize() ; i++ ) {
- f << " Port "
-// << hex << GetNodeInPort(i) << dec << " "
- << *(GetNodeInPort(i)) << " " ;
- GetNodeInPort(i)->StringValue( f ) ;
- f << endl;
- }
-
- f << " Output Ports : " ;
- }
-
- f << GetNodeOutPortsSize() << " port"
- << (GetNodeOutPortsSize() > 1 ? "s" : "") << endl;
-
- for ( i = 0 ; i < GetNodeOutPortsSize() ; i++ ) {
- f << " Port "
-// << hex << GetNodeOutPort(i) << dec << " "
- << *(GetNodeOutPort(i)) << " " ;
- GetNodeOutPort(i)->StringValue( f ) ;
- f << endl;
- }
-
- if ( !klink ) {
- f << " Output Ports : " ;
- f << GetNodeInPortsSize() << " port"
- << (GetNodeInPortsSize() > 1 ? "s" : "") << endl;
-
- for ( i = 0 ; i < GetNodeInPortsSize() ; i++ ) {
- f << " Port "
-// << hex << GetNodeInPort(i) << dec << " "
- << *(GetNodeInPort(i)) << " " ;
- GetNodeInPort(i)->StringValue( f ) ;
- f << endl;
- }
- }
-
-}
-
-ostream & operator<< (ostream & f ,const SUPERV::KindOfNode & s ) {
- switch (s) {
- case SUPERV::ComputingNode :
- f << "ComputingNode";
- break;
- case SUPERV::FactoryNode :
- f << "FactoryNode";
- break;
- case SUPERV::InLineNode :
- f << "InLineNode";
- break;
- case SUPERV::DataFlowGraph :
- f << "DataFlowGraph";
- break;
- case SUPERV::DataStreamGraph :
- f << "DataStreamGraph";
- break;
- case SUPERV::LoopNode :
- f << "LoopNode";
- break;
- case SUPERV::EndLoopNode :
- f << "EndLoopNode";
- break;
- case SUPERV::SwitchNode :
- f << "SwitchNode";
- break;
- case SUPERV::EndSwitchNode :
- f << "EndSwitchNode";
- break;
- case SUPERV::GOTONode :
- f << "GOTONode";
- break;
- default :
- f << "UnknownKindOfNode";
- break;
- }
-
- return f;
-}
-
+++ /dev/null
-// SUPERV GraphBase : contains fondamental classes for Services, Input Ports, Output Ports Links and Nodes.
-//
-// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
-// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
-//
-// This library is free software; you can redistribute it and/or
-// modify it under the terms of the GNU Lesser General Public
-// License as published by the Free Software Foundation; either
-// version 2.1 of the License.
-//
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-// Lesser General Public License for more details.
-//
-// You should have received a copy of the GNU Lesser General Public
-// License along with this library; if not, write to the Free Software
-// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-//
-// See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
-//
-//
-//
-// File : DataFlowBase_PortsOfNode.hxx
-// Author : Jean Rahuel, CEA
-// Module : SUPERV
-// $Header:
-
-#ifndef _DATAFLOWBASE_PORTSOFNODE_HXX
-#define _DATAFLOWBASE_PORTSOFNODE_HXX
-
-#include "DataFlowBase_Service.hxx"
-
-#include "DataFlowBase_InDataStreamPort.hxx"
-#include "DataFlowBase_OutDataStreamPort.hxx"
-
-namespace GraphBase {
-
- class PortsOfNode : public Service {
-
- private:
-
-// Only For getting Ports of InNodes and OutNode
- map< string , int > _MapOfNodeInPorts ;
- int _NodeInPortsSize ;
- vector<InPort *> _NodeInPorts;
-
- map< string , int > _MapOfNodeOutPorts ;
- int _NodeOutPortsSize ;
- vector<OutPort *> _NodeOutPorts;
-
- int _DataStreamInPortsNumber ;
- int _DataStreamOutPortsNumber ;
-
- public:
-
- PortsOfNode() ;
- PortsOfNode( const char *DataFlowName ) ;
- virtual ~PortsOfNode() ;
-
- void DefPortsOfNode( CORBA::ORB_ptr ORB ,
- const SALOME_ModuleCatalog::Service& NodeService ,
- const char *const * NodeName ,
- const SUPERV::KindOfNode aKind ,
- int * Graph_prof_debug ,
- ofstream * Graph_fdebug ) ;
-
- InPort * AddInPort( CORBA::ORB_ptr ORB ,
- const char *const * NodeName ,
- const SUPERV::KindOfNode aKind ,
- const char * InputParameterName ,
- const char * InputParameterType ,
- SUPERV::KindOfPort aKindOfPort ,
-// const int DataStreamInPortsNumber ,
- int * Graph_prof_debug ,
- ofstream * Graph_fdebug ) ;
- OutPort * AddOutPort( CORBA::ORB_ptr ORB ,
- const char *const * NodeName ,
- const SUPERV::KindOfNode aKind ,
- const char * OutputParameterName ,
- const char * InputParameterType ,
- SUPERV::KindOfPort aKindOfPort ,
-// const int DataStreamOutPortsNumber ,
- int * Graph_prof_debug ,
- ofstream * Graph_fdebug ) ;
-
- void DelInPort( const char * InputParameterName ) ;
- void DelOutPort( const char * OutputParameterName ) ;
-
- int IncrDataStreamInPorts() {
- _DataStreamInPortsNumber++ ;
- return _DataStreamInPortsNumber ;
- } ;
- int DecrDataStreamInPorts() {
- _DataStreamInPortsNumber-- ;
- return _DataStreamInPortsNumber ;
- } ;
- int IncrDataStreamOutPorts() {
- _DataStreamOutPortsNumber++ ;
- return _DataStreamOutPortsNumber ;
- } ;
- int DecrDataStreamOutPorts() {
- _DataStreamOutPortsNumber-- ;
- return _DataStreamOutPortsNumber ;
- } ;
- int DataStreamInPortsNumber() {
- return _DataStreamInPortsNumber ;
- } ;
- int DataStreamOutPortsNumber() {
- return _DataStreamOutPortsNumber ;
- } ;
- void DataStreamInPortsNumber( int aDataStreamInPortsNumber ) {
- _DataStreamInPortsNumber = aDataStreamInPortsNumber ;
- } ;
- void DataStreamOutPortsNumber(int aDataStreamOutPortsNumber ) {
- _DataStreamOutPortsNumber = aDataStreamOutPortsNumber ;
- } ;
- int HasDataStream() const {
- return _DataStreamInPortsNumber + _DataStreamOutPortsNumber ;
- } ;
-
- const int GetNodeInPortsSize() const { return _NodeInPortsSize ; } ;
- const InPort * GetNodeInLoop() const {
- return _NodeInPorts[0] ; } ;
- const InPort * GetNodeInGate() const {
- return _NodeInPorts[GetNodeInPortsSize()-1] ; } ;
- const InPort * GetNodeInPort(int i) const {
- return _NodeInPorts[i] ; } ;
- InPort * GetChangeNodeInLoop() const {
- return _NodeInPorts[0] ; } ;
- InPort * GetChangeNodeInGate() const {
- return _NodeInPorts[GetNodeInPortsSize()-1] ; } ;
- InPort * GetChangeNodeInPort(int i) const {
- return _NodeInPorts[i] ; } ;
- const int GetNodeOutPortsSize() const { return _NodeOutPortsSize ; } ;
- const OutPort * GetNodeOutLoop() const {
- return _NodeOutPorts[0] ; } ;
- const OutPort * GetNodeOutGate() const {
- return _NodeOutPorts[GetNodeOutPortsSize()-1] ; } ;
- const OutPort * GetNodeOutPort(int i) const {
- return _NodeOutPorts[i] ; } ;
- OutPort * GetChangeNodeOutLoop() const {
- return _NodeOutPorts[0] ; } ;
- OutPort * GetChangeNodeOutGate() const {
- return _NodeOutPorts[GetNodeOutPortsSize()-1] ; } ;
- OutPort * GetChangeNodeOutPort(int i) const {
- return _NodeOutPorts[i] ; } ;
-
- const InPort * GetInPort( const char *name ) ;
- const OutPort * GetOutPort( const char *name ) ;
- InPort * GetChangeInPort( const char *name ) ;
- OutPort * GetChangeOutPort( const char *name ) ;
-
- void ListPorts( ostream & , const bool klink = true ) const ;
- };
-
-};
-
-ostream & operator<< (ostream &,const SUPERV::KindOfNode &);
-
-#endif
+++ /dev/null
-// SUPERV GraphBase : contains fondamental classes for Services, Input Ports, Output Ports Links and Nodes.
-//
-// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
-// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
-//
-// This library is free software; you can redistribute it and/or
-// modify it under the terms of the GNU Lesser General Public
-// License as published by the Free Software Foundation; either
-// version 2.1 of the License.
-//
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-// Lesser General Public License for more details.
-//
-// You should have received a copy of the GNU Lesser General Public
-// License along with this library; if not, write to the Free Software
-// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-//
-// See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
-//
-//
-//
-// File : DataFlowBase_Service.cxx
-// Author : Jean Rahuel, CEA
-// Module : SUPERV
-// $Header:
-
-using namespace std;
-#include "DataFlowBase_Service.hxx"
-
-void GraphBase::Service::SetService( const SALOME_ModuleCatalog::Service aService ) {
-
- _Service.ServiceName = CORBA::string_dup( aService.ServiceName ) ;
- _Service.ServiceinParameter.length( aService.ServiceinParameter.length() ) ;
- _Service.ServiceoutParameter.length( aService.ServiceoutParameter.length() ) ;
- int i ;
- for ( i = 0 ; i < (int ) _Service.ServiceinParameter.length() ; i++ ) {
- _Service.ServiceinParameter[ i ].Parametertype = CORBA::string_dup( aService.ServiceinParameter[ i ].Parametertype ) ;
- _Service.ServiceinParameter[ i ].Parametername = CORBA::string_dup( aService.ServiceinParameter[ i ].Parametername ) ;
- }
- for ( i = 0 ; i < (int ) _Service.ServiceoutParameter.length() ; i++ ) {
- _Service.ServiceoutParameter[ i ].Parametertype = CORBA::string_dup( aService.ServiceoutParameter[ i ].Parametertype ) ;
- _Service.ServiceoutParameter[ i ].Parametername = CORBA::string_dup( aService.ServiceoutParameter[ i ].Parametername ) ;
- }
-
- _Service.ServiceinDataStreamParameter.length( aService.ServiceinDataStreamParameter.length() ) ;
- _Service.ServiceoutDataStreamParameter.length( aService.ServiceoutDataStreamParameter.length() ) ;
- for ( i = 0 ; i < (int ) _Service.ServiceinDataStreamParameter.length() ; i++ ) {
- _Service.ServiceinDataStreamParameter[ i ].Parametertype = aService.ServiceinDataStreamParameter[ i ].Parametertype ;
- _Service.ServiceinDataStreamParameter[ i ].Parametername = CORBA::string_dup( aService.ServiceinDataStreamParameter[ i ].Parametername ) ;
- _Service.ServiceinDataStreamParameter[ i ].Parameterdependency = aService.ServiceinDataStreamParameter[ i ].Parameterdependency ;
- }
- for ( i = 0 ; i < (int ) _Service.ServiceoutDataStreamParameter.length() ; i++ ) {
- _Service.ServiceoutDataStreamParameter[ i ].Parametertype = aService.ServiceoutDataStreamParameter[ i ].Parametertype ;
- _Service.ServiceoutDataStreamParameter[ i ].Parametername = CORBA::string_dup( aService.ServiceoutDataStreamParameter[ i ].Parametername ) ;
- _Service.ServiceoutDataStreamParameter[ i ].Parameterdependency = aService.ServiceoutDataStreamParameter[ i ].Parameterdependency ;
- }
- cdebug << "GraphBase::Service::SetService : " << _Service << endl ;
- _Instance = 0 ;
-}
-
-ostream & operator<< (ostream & f ,const SALOME_ModuleCatalog::Service & s ) {
- f << "Name " << s.ServiceName << endl ;
- int i ;
- for ( i = 0 ; i < (int ) s.ServiceinParameter.length() ; i++ ) {
- if ( i == 0 )
- f << " Inparameters " << i ;
- else
- f << " " << i ;
- f << ". " << s.ServiceinParameter[i].Parametername
- << ". " << s.ServiceinParameter[i].Parametertype << endl ;
- }
- for ( i = 0 ; i < (int ) s.ServiceoutParameter.length() ; i++ ) {
- if ( i == 0 )
- f << " Outparameters " << i ;
- else
- f << " " << i ;
- f << ". " << s.ServiceoutParameter[i].Parametername
- << ". " << s.ServiceoutParameter[i].Parametertype << endl ;
- }
- for ( i = 0 ; i < (int ) s.ServiceinDataStreamParameter.length() ; i++ ) {
- if ( i == 0 )
- f << " InStreamparameters " << i ;
- else
- f << " " << i ;
- f << ". " << s.ServiceinDataStreamParameter[i].Parametername
- << ". " << s.ServiceinDataStreamParameter[i].Parametertype
- << ". " << s.ServiceinDataStreamParameter[i].Parameterdependency << endl ;
- }
- for ( i = 0 ; i < (int ) s.ServiceoutDataStreamParameter.length() ; i++ ) {
- if ( i == 0 )
- f << " OutStreamparameters " << i ;
- else
- f << " " << i ;
- f << ". " << s.ServiceoutDataStreamParameter[i].Parametername
- << ". " << s.ServiceoutDataStreamParameter[i].Parametertype
- << ". " << s.ServiceoutDataStreamParameter[i].Parameterdependency << endl ;
- }
- return f;
-}
-
+++ /dev/null
-// SUPERV GraphBase : contains fondamental classes for Services, Input Ports, Output Ports Links and Nodes.
-//
-// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
-// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
-//
-// This library is free software; you can redistribute it and/or
-// modify it under the terms of the GNU Lesser General Public
-// License as published by the Free Software Foundation; either
-// version 2.1 of the License.
-//
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-// Lesser General Public License for more details.
-//
-// You should have received a copy of the GNU Lesser General Public
-// License along with this library; if not, write to the Free Software
-// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-//
-// See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
-//
-//
-//
-// File : DataFlowBase_Service.hxx
-// Author : Jean Rahuel, CEA
-// Module : SUPERV
-// $Header:
-
-#ifndef _DATAFLOWBASE_SERVICE_HXX
-#define _DATAFLOWBASE_SERVICE_HXX
-
-#include "DataFlowBase_ServicesParameter.hxx"
-
-ostream & operator<< (ostream & f ,const SALOME_ModuleCatalog::Service & s ) ;
-
-namespace GraphBase {
-
- class Service : public Base {
-
- private:
-
- SALOME_ModuleCatalog::Service _Service ;
- int _Instance ;
-
- public:
-
- Service( const SALOME_ModuleCatalog::Service aService ) {
- SetService( aService ) ;
-// MESSAGE( "GraphBase::Service::Service : " << _Service ) ;
-// cout << "GraphBase::Service::Service : " << _Service << endl ;
- cdebug << "GraphBase::Service::Service : " << _Service << endl ;
- } ;
- Service( const char * aServiceName ) {
- _Service.ServiceName = CORBA::string_dup( aServiceName ) ;
- cdebug << "GraphBase::Service::Service : " << _Service << endl ;
- _Instance = 0 ; } ;
- virtual ~Service() {
- cdebug << "GraphBase::Service::~Service" << endl ; } ;
-
- void SetService( const SALOME_ModuleCatalog::Service aService ) ;
-
- const SALOME_ModuleCatalog::Service * GetService() const {
- cdebug << "GraphBase::Service::GetService : " << _Service << endl ;
- return &_Service ; } ;
- const char * ServiceName() const {
-// cdebug << "ServiceName " << hex << (void *) _Service.ServiceName
-// << dec << " = " << _Service.ServiceName << endl ;
- return _Service.ServiceName ; } ;
- const SALOME_ModuleCatalog::ListOfServicesParameter ServiceInParameter() const {
- return _Service.ServiceinParameter ; } ;
- const SALOME_ModuleCatalog::ListOfServicesParameter ServiceOutParameter() const {
- return _Service.ServiceoutParameter ; } ;
- const SALOME_ModuleCatalog::ListOfServicesDataStreamParameter ServiceInStreamParameter() const {
- return _Service.ServiceinDataStreamParameter ; } ;
- const SALOME_ModuleCatalog::ListOfServicesDataStreamParameter ServiceOutStreamParameter() const {
- return _Service.ServiceoutDataStreamParameter ; } ;
-
- const int Instances() const { return _Instance ; } ;
- int NewInstance() { _Instance += 1 ;
- return _Instance ; } ;
- void Instance( int Inst = 1 ) { if ( Inst == 1 )
- _Instance += 1 ;
- else
- _Instance = Inst ; } ; } ;
-
-} ;
-
-#endif
+++ /dev/null
-// SUPERV GraphBase : contains fondamental classes for Services, Input Ports, Output Ports Links and Nodes.
-//
-// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
-// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
-//
-// This library is free software; you can redistribute it and/or
-// modify it under the terms of the GNU Lesser General Public
-// License as published by the Free Software Foundation; either
-// version 2.1 of the License.
-//
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-// Lesser General Public License for more details.
-//
-// You should have received a copy of the GNU Lesser General Public
-// License along with this library; if not, write to the Free Software
-// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-//
-// See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
-//
-//
-//
-// File : DataFlowBase_ServicesParameter.hxx
-// Module : SUPERV
-
-#ifndef _DATAFLOWBASE_SERVICESPARAMETER_HXX
-#define _DATAFLOWBASE_SERVICESPARAMETER_HXX
-
-#include "DataFlowBase_Base.hxx"
-
-namespace GraphBase {
-
- class ServicesParameter : public Base {
-
- private:
-
- SALOME_ModuleCatalog::ServicesParameter _ServicesParameter ;
-
- public:
-
- ServicesParameter() {
- //cout << "ServicesParameter()" << endl ;
- _ServicesParameter.Parametername = (char *) NULL ;
- _ServicesParameter.Parametertype = (char *) NULL ;
- } ;
- ServicesParameter( const SALOME_ModuleCatalog::ServicesParameter aserviceParameter ) {
- _ServicesParameter.Parametertype = CORBA::string_dup( aserviceParameter.Parametertype ) ;
- _ServicesParameter.Parametername = CORBA::string_dup( aserviceParameter.Parametername ) ; } ;
- virtual ~ServicesParameter() {
-// cout << "ServicesParameter::~ServicesParameter()" << endl ;
- } ;
- const SALOME_ModuleCatalog::ServicesParameter & GetServicesParameter() const {
- return _ServicesParameter ; } ;
- const char * ServicesParameterName() const {
- return _ServicesParameter.Parametername ; } ;
- const char * ServicesParameterType() const {
- return _ServicesParameter.Parametertype ; } ;
-
- } ;
-
-} ;
-
-#endif
+++ /dev/null
-// SUPERV GraphBase : contains fondamental classes for Services, Input Ports, Output Ports Links and Nodes.
-//
-// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
-// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
-//
-// This library is free software; you can redistribute it and/or
-// modify it under the terms of the GNU Lesser General Public
-// License as published by the Free Software Foundation; either
-// version 2.1 of the License.
-//
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-// Lesser General Public License for more details.
-//
-// You should have received a copy of the GNU Lesser General Public
-// License along with this library; if not, write to the Free Software
-// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-//
-// See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
-//
-//
-//
-// File : DataFlowBase_StreamGraph.cxx
-// Author : Jean Rahuel
-// Module : SUPERV
-// $Header:
-
-using namespace std;
-#include "DataFlowBase_StreamGraph.hxx"
-
-#include "SALOME_LifeCycleCORBA.hxx"
-
-GraphBase::StreamGraph::StreamGraph() :
- Graph() {
- cdebug << "GraphBase::StreamGraph::StreamGraph" << endl ;
-}
-
-GraphBase::StreamGraph::StreamGraph( CORBA::ORB_ptr ORB ,
- SALOME_NamingService* ptrNamingService ,
- const char *DataFlowName ,
- int * Graph_prof_debug ,
- ofstream * Graph_fdebug ) :
-// const char * DebugFileName ) :
-// Graph( ORB ,ptrNamingService , DataFlowName , DebugFileName ) {
- Graph( ORB ,ptrNamingService , DataFlowName , Graph_prof_debug , Graph_fdebug ) {
- _Timeout = 300 ;
- _DataStreamTrace = SUPERV::WithoutTrace ;
- _DeltaTime = 0 ;
- Kind( SUPERV::DataStreamGraph ) ;
- cdebug << "GraphBase::StreamGraph::StreamGraph" << endl ;
-}
-
-GraphBase::StreamGraph::StreamGraph( CORBA::ORB_ptr ORB ,
- SALOME_NamingService* ptrNamingService ,
- const SALOME_ModuleCatalog::Service& DataFlowService ,
- const char *DataFlowComponentName ,
- const char *DataFlowInterfaceName ,
- const char *DataFlowName ,
- const SUPERV::KindOfNode DataFlowkind ,
- const SUPERV::SDate DataFlowFirstCreation ,
- const SUPERV::SDate DataFlowLastModification ,
- const char * DataFlowEditorRelease ,
- const char * DataFlowAuthor ,
- const char * DataFlowComputer ,
- const char * DataFlowComment ,
- int * Graph_prof_debug ,
- ofstream * Graph_fdebug ) :
-// const char * DebugFileName ) :
- Graph( ORB ,ptrNamingService , DataFlowService , DataFlowComponentName ,
- DataFlowInterfaceName , DataFlowName , DataFlowkind ,
- DataFlowFirstCreation , DataFlowLastModification ,
- DataFlowEditorRelease , DataFlowAuthor , DataFlowComputer ,
- DataFlowComment , Graph_prof_debug , Graph_fdebug ) {
-// DataFlowComment , DebugFileName ) {
- _Timeout = 300 ;
- _DataStreamTrace = SUPERV::WithoutTrace ;
- _DeltaTime = 0 ;
- cdebug << "GraphBase::StreamGraph::StreamGraph" << endl ;
-}
-
-GraphBase::StreamGraph::~StreamGraph() {
- cdebug << "GraphBase::StreamGraph::~StreamGraph" << endl ;
-}
-
-bool GraphBase::StreamGraph::SetStreamParams( const long Timeout ,
- const SUPERV::KindOfDataStreamTrace DataStreamTrace ,
- const double DeltaTime ) {
- _Timeout = Timeout ;
- _DataStreamTrace = DataStreamTrace ;
- _DeltaTime = DeltaTime ;
- cdebug << "GraphBase::StreamGraph:::SetStreamGraph _Timeout " << _Timeout << " _DataStreamTrace " << _DataStreamTrace << " _DeltaTime " << _DeltaTime
- << endl ;
- return true ;
-}
-
-void GraphBase::StreamGraph::StreamParams( long & Timeout ,
- SUPERV::KindOfDataStreamTrace & DataStreamTrace ,
- double & DeltaTime ) const {
- Timeout = _Timeout ;
- DataStreamTrace = _DataStreamTrace ;
- DeltaTime = _DeltaTime ;
- cdebug << "GraphBase::StreamGraph:::StreamGraph _Timeout " << _Timeout << " _DataStreamTrace " << _DataStreamTrace << " _DeltaTime " << _DeltaTime
- << endl ;
-}
-
-bool GraphBase::StreamGraph::CreateStreamTopology( const char * aDirectory ) {
- cdebug_in << "GraphBase::StreamGraph::CreateStreamTopology()" << endl;
- int istream ;
- for ( istream = 1 ; istream <= SubStreamGraphsNumber() ; istream++ ) {
- ostringstream astr ;
- astr << istream << ends ;
- string filename = string( Name() ) + string( "_" ) + astr.str().c_str() ;
- string fullfilename = aDirectory + filename + ".cpl" ;
- ofstream f( fullfilename.c_str() ) ;
- f << "DEBUT " << filename << endl ;
- f << " TIMEOUT " << _Timeout << endl ;
- f << " TRACE " << KindOfDataStreamTraceToString( _DataStreamTrace ) << endl ;
- f << " DELTAT " << _DeltaTime << endl ;
- f << endl ;
- f << endl ;
- f << "# Liste des codes" << endl ;
- f << endl ;
- map< string , GraphBase::Service * > aMapOfServiceNames = MapOfServiceNames() ;
- map< string , GraphBase::Service * >::iterator aMapOfServiceNamesIterator ;
- for ( aMapOfServiceNamesIterator = aMapOfServiceNames.begin() ;
- aMapOfServiceNamesIterator != aMapOfServiceNames.end() ; aMapOfServiceNamesIterator++ ) {
- GraphBase::Service * aService = aMapOfServiceNamesIterator->second ;
- int n ;
- for ( n = 0 ; n < GraphNodesSize() ; n++ ) {
- if ( GetGraphNode( n )->HasDataStream() && GetChangeGraphNode( n )->SubStreamGraph() == istream ) {
- if ( !strcmp( aService->ServiceName() , GetGraphNode( n )->ServiceName() ) ) {
- f << " CODE " << aService->ServiceName() << endl ;
- unsigned int j ;
- cdebug << "CreateStreamTopology " << aService->ServiceName() << " InStreamParameter("
- << aService->ServiceInStreamParameter().length() << ") OutStreamParameter("
- << aService->ServiceOutStreamParameter().length() << ")" << endl ;
- cdebug << aService->GetService() << endl ;
- for ( j = 0 ; j < aService->ServiceInStreamParameter().length() ; j++ ) {
- f << " " << aService->ServiceInStreamParameter()[ j ].Parametername << " "
- << DataStreamDependencyToString( aService->ServiceInStreamParameter()[ j ].Parameterdependency ) << " IN "
- << DataStreamToString( aService->ServiceInStreamParameter()[ j ].Parametertype ) << endl ;
- }
- for ( j = 0 ; j < aService->ServiceOutStreamParameter().length() ; j++ ) {
- f << " " << aService->ServiceOutStreamParameter()[ j ].Parametername << " "
- << DataStreamDependencyToString( aService->ServiceOutStreamParameter()[ j ].Parameterdependency ) << " OUT "
- << DataStreamToString( aService->ServiceOutStreamParameter()[ j ].Parametertype ) << endl ;
- }
- f << " FIN #" << aService->ServiceName() << endl ;
- f << endl ;
- f << endl ;
- break ;
- }
- }
- }
- }
- f << endl ;
- f << endl ;
- f << "# Liste des instances" << endl ;
- int j ;
- for ( j = 0 ; j < GraphNodesSize() ; j++ ) {
- if ( GetGraphNode( j )->HasDataStream() && GetChangeGraphNode( j )->SubStreamGraph() == istream ) {
- f << endl ;
- f << " INSTANCE " << GetGraphNode( j )->Name() << endl ;
- f << " CODE " << GetGraphNode( j )->ServiceName() << endl ;
- f << " EXEC \"" << GetGraphNode( j )->ServiceName() << "\"" << endl ;
- f << " FIN" << endl ;
- }
- }
- f << endl ;
- f << endl ;
- f << endl ;
- f << endl ;
- f << endl ;
- f << "# Liste des liens" << endl ;
- f << endl ;
- f << " LIEN" << endl ;
- for ( j = 0 ; j < GraphNodesSize() ; j++ ) {
- if ( GetGraphNode( j )->HasDataStream() && GetChangeGraphNode( j )->SubStreamGraph() == istream ) {
- int k ;
- for ( k = 0 ; k < GetGraphNode( j )->GetNodeOutPortsSize() ; k++ ) {
- if ( GetGraphNode( j )->GetNodeOutPort( k )->IsDataStream() ) {
- long aNumberOfValues = ((GraphBase::OutDataStreamPort *) GetGraphNode( j )->GetNodeOutPort( k ))->NumberOfValues() ;
- int n ;
- for ( n = 0 ; n < GetGraphNode( j )->GetNodeOutPort( k )->InPortsSize() ; n++ ) {
- SUPERV::KindOfSchema aKindOfSchema ;
- SUPERV::KindOfInterpolation aKindOfInterpolation ;
- SUPERV::KindOfExtrapolation aKindOfExtrapolation ;
- ((GraphBase::InDataStreamPort *) GetGraphNode( j )->GetNodeOutPort( k )->InPorts( n ))->Params( aKindOfSchema , aKindOfInterpolation , aKindOfExtrapolation ) ;
- f << " " << GetGraphNode( j )->Name() << "."
- << GetGraphNode( j )->GetNodeOutPort( k )->PortName() ;
- if ( aNumberOfValues != 0 ) {
- f << " NIVEAU " << aNumberOfValues ;
- }
- f << " => "
- << GetGraphNode( j )->GetNodeOutPort( k )->InPorts( n )->NodeName() << "."
- << GetGraphNode( j )->GetNodeOutPort( k )->InPorts( n )->PortName()
- << " " << aKindOfSchema << " " << aKindOfInterpolation ;
- if ( aKindOfExtrapolation != SUPERV::EXTRANULL ) {
- f << " " << aKindOfExtrapolation ;
- }
- f << " ;" << endl ;
- }
- }
- }
- }
- }
- f << " FIN" << endl ;
- f << endl ;
- f << "FIN" << endl ;
- }
- cdebug_out << "GraphBase::StreamGraph::CreateStreamTopology()" << endl;
- return true ;
-}
-
-ostream & operator<< (ostream & f ,const SUPERV::KindOfDataStreamTrace & s ) {
- switch (s) {
- case SUPERV::WithoutTrace :
- f << "WithoutTrace";
- break;
- case SUPERV::SummaryTrace :
- f << "SummaryTrace";
- break;
- case SUPERV::DetailedTrace :
- f << "DetailedTrace";
- break;
- default :
- f << "UndefinedKindOfDataStreamTrace";
- break;
- }
-
- return f;
-}
-
-
+++ /dev/null
-// SUPERV GraphBase : contains fondamental classes for Services, Input Ports, Output Ports Links and Nodes.
-//
-// Copyright (C) 2003 CEA/DEN, EDF R&D
-//
-//
-//
-// File : DataFlowBase_StreamGraph.hxx
-// Author : Jean Rahuel
-// Module : SUPERV
-// $Header:
-
-#ifndef _DATAFLOWBASE_STREAMGRAPH_HXX
-#define _DATAFLOWBASE_STREAMGRAPH_HXX
-
-#include "DataFlowBase_Graph.hxx"
-
-namespace GraphBase {
-
- class StreamGraph : public Graph {
-
- private:
-
-// Configuration :
-// The name is the name of the graph
- long _Timeout ;
- SUPERV::KindOfDataStreamTrace _DataStreamTrace ;
- double _DeltaTime ;
-
-// Total number of SubStreamGraphs
- int _SubStreamGraphsNumber ;
-
- protected:
-
- public:
-
- StreamGraph() ;
-
- StreamGraph( CORBA::ORB_ptr ORB ,
- SALOME_NamingService* ptrNamingService ,
- const char * DataFlowName ,
- int * Graph_prof_debug ,
- ofstream * Graph_fdebug ) ;
-
- StreamGraph( CORBA::ORB_ptr ORB ,
- SALOME_NamingService * ptrNamingService ,
- const SALOME_ModuleCatalog::Service & DataFlowService ,
- const char * DataFlowComponentName ,
- const char * DataFlowInterfaceName ,
- const char * DataFlowName ,
- const SUPERV::KindOfNode DataFlowkind ,
- const SUPERV::SDate DataFlowFirstCreation ,
- const SUPERV::SDate DataFlowLastModification ,
- const char * DataFlowEditorRelease ,
- const char * DataFlowAuthor ,
- const char * DataFlowComputer ,
- const char * DataFlowComment ,
- int * Graph_prof_debug ,
- ofstream * Graph_fdebug ) ;
-
- ~StreamGraph() ;
-
- bool SetStreamParams( const long Timeout ,
- const SUPERV::KindOfDataStreamTrace DataStreamTrace ,
- const double DeltaTime ) ;
- void StreamParams( long & Timeout ,
- SUPERV::KindOfDataStreamTrace & DataStreamTrace ,
- double & DeltaTime ) const ;
-
- bool CreateStreamTopology( const char * aDirectory ) ;
-
- void SubStreamGraphsNumber( int SubStreamGraphsNumber ) {
- _SubStreamGraphsNumber = SubStreamGraphsNumber ; } ;
- long SubStreamGraphsNumber() const {
- return _SubStreamGraphsNumber ; } ;
-
- };
-
-};
-
-ostream & operator<< (ostream &,const SUPERV::KindOfDataStreamTrace &);
-
-#endif
+++ /dev/null
-// SUPERV GraphBase : contains fondamental classes for Services, Input Ports, Output Ports Links and Nodes.
-//
-// Copyright (C) 2003 CEA/DEN, EDF R&D
-//
-//
-//
-// File : DataFlowBase_StreamNode.cxx
-// Author : Jean Rahuel
-// Module : SUPERV
-// $Header:
-
-using namespace std;
-
-#include "DataFlowBase_StreamNode.hxx"
-
-GraphBase::StreamNode::StreamNode() :
- GraphBase::PortsOfNode::PortsOfNode() {
- _Name = NULL ;
- _LinkedNodesSize = 0 ;
- _LinkedStreamNodesSize = 0 ;
- _HeadNode = false ;
- _SubGraphNumber = 0 ;
- _SubStreamGraphNumber = 0 ;
- cdebug << "GraphBase::StreamNode::StreamNode " << this << " " << endl ;
-}
-
-GraphBase::StreamNode::StreamNode( const char * NodeName ) :
- GraphBase::PortsOfNode::PortsOfNode( NodeName ) {
- if ( NodeName != NULLSTRING && strlen( NodeName ) ) {
- _Name = new char[ strlen( NodeName )+1 ] ;
- strcpy( _Name , NodeName ) ;
- }
- else {
- _Name = NULLSTRING ;
- }
- _LinkedNodesSize = 0 ;
- _LinkedStreamNodesSize = 0 ;
- _HeadNode = false ;
- _SubGraphNumber = 0 ;
- _SubStreamGraphNumber = 0 ;
- cdebug << "GraphBase::StreamNode::StreamNode " << NodeName << " "
- << this << " " << endl ;
-}
-
-GraphBase::StreamNode::~StreamNode() {
- cdebug << "GraphBase::StreamNode::~StreamNode " << this << endl ;
-}
-
-bool GraphBase::StreamNode::Name( const char * aName) {
- cdebug_in << "GraphBase::StreamNode::Name " << _Name << endl;
- if ( _Name ) {
- cdebug << "GraphBase::StreamNode::ReName " << _Name << " --> " << aName << endl ;
- delete [] _Name ;
- }
- _Name = new char[strlen(aName)+1] ;
- strcpy( _Name , aName ) ;
- cdebug_out << "GraphBase::StreamNode::Name " << _Name << endl;
- return true ;
-}
-
-void GraphBase::StreamNode::SetSubStreamGraph( int SubStreamGraphsNumber , int & RetVal ) {
- int jnode ;
- cdebug_in << Name() << " GraphBase::StreamNode::SetSubStreamGraph Level "<< Level() << " SortedIndex "
- << SortedIndex() << " SubStreamGraphsNumber " << SubStreamGraphsNumber << " RetVal " << RetVal
- << endl ;
- if ( SubStreamGraph() == 0 || SubStreamGraph() == SubStreamGraphsNumber ) {
- SubStreamGraph( SubStreamGraphsNumber ) ;
- cdebug << Name() << " SubStreamGraph " << SubStreamGraph() << " SetSubStreamGraph LinkedStreamNodesSize "
- << LinkedStreamNodesSize() << endl ;
- for ( jnode = 0 ; jnode < LinkedStreamNodesSize() ; jnode++ ) {
- if ( LinkedStreamNodes( jnode )->Level() > Level() ||
- ( LinkedStreamNodes( jnode )->Level() == Level() &&
- LinkedStreamNodes( jnode )->SortedIndex() > SortedIndex() ) ) {
- LinkedStreamNodes( jnode )->SetSubStreamGraph( SubStreamGraphsNumber , RetVal ) ;
- if ( RetVal != SubStreamGraphsNumber ) {
- break ;
- }
- }
- else if ( LinkedStreamNodes( jnode )->SubStreamGraph() == 0 ) {
- LinkedStreamNodes( jnode )->SubStreamGraph( SubStreamGraphsNumber ) ;
- cdebug << LinkedStreamNodes( jnode )->Name() << " SubStreamGraph "
- << LinkedStreamNodes( jnode )->SubStreamGraph() << endl ;
- }
- else if ( LinkedStreamNodes( jnode )->SubStreamGraph() != SubStreamGraphsNumber ) {
- cdebug << LinkedStreamNodes( jnode )->Name() << " SubStreamGraph "
- << LinkedStreamNodes( jnode )->SubStreamGraph() << " != " << SubStreamGraphsNumber << endl ;
- RetVal = LinkedStreamNodes( jnode )->SubStreamGraph() ;
- break ;
- }
- }
- }
- else {
- cdebug << Name() << " SubStreamGraph " << SubStreamGraph() << " != " << SubStreamGraphsNumber << endl ;
- RetVal = SubStreamGraph() ;
- }
-
- cdebug_out << Name() << "->GraphBase::StreamNode::SetSubStreamGraph RetVal " << RetVal << endl ;
- return ;
-}
-
-void GraphBase::StreamNode::AddLink( GraphBase::StreamNode * ToNode ) {
- int index = GetLinkedNodeIndex( ToNode->Name() ) ;
- if ( index < 0 ) {
- cdebug << Name() << "->GraphBase::StreamNode::AddLinkedNode( " << ToNode->Name()
- << " ) new LinkedNode " << endl ;
- _LinkedNodes.resize( _LinkedNodesSize+1 ) ;
- _LinkedInPortsNumber.resize( _LinkedNodesSize+1 ) ;
- _LinkedNodes[ _LinkedNodesSize ] = ToNode ;
- _LinkedInPortsNumber[ _LinkedNodesSize ] = 1 ;
- SetLinkedNodeIndex( ToNode->Name() , _LinkedNodesSize ) ;
- index = _LinkedNodesSize ;
- _LinkedNodesSize++ ;
- }
- else {
- cdebug << Name() << "->GraphBase::StreamNode::AddLinkedNode( " << ToNode->Name()
- << " ) old LinkedNode " << _LinkedNodes[index ]->Name() << endl ;
- _LinkedInPortsNumber[ index ] += 1 ;
- }
- cdebug << Name() << "->GraphBase::StreamNode::AddLinkedNode( " << ToNode->Name()
- << " ) LinkedNodesSize " << _LinkedNodesSize << " [ " << index
- << " ] _LinkedInPortsNumber " << _LinkedInPortsNumber[ index ] << endl ;
-}
-
-bool GraphBase::StreamNode::RemoveLink( GraphBase::StreamNode * ToNode ) {
- int index = GetLinkedNodeIndex( ToNode->Name() ) ;
- if ( index >= 0 ) {
- cdebug << "GraphBase::StreamNode::RemoveLink( to " << ToNode->Name() << " from "
- << Name() << " index : " << index << " LinkedInPortsNumber "
- << _LinkedInPortsNumber[ index ] << " - 1" << endl ;
- _LinkedInPortsNumber[ index ] -= 1 ;
- if ( _LinkedInPortsNumber[ index ] == 0 ) {
- _LinkedNodesSize-- ;
- cdebug << "GraphBase::StreamNode::RemoveLink new LinkedNodesSize "
- << _LinkedNodesSize << " " << ToNode->Name() << " removed from "
- << " linkednodes of " << Name() << endl ;
- int i ;
- for ( i = index ; i < _LinkedNodesSize ; i++ ) {
- _LinkedNodes[ i ] = _LinkedNodes[ i+1 ] ;
- _LinkedInPortsNumber[ i ] = _LinkedInPortsNumber[ i+1 ] ;
- SetLinkedNodeIndex( _LinkedNodes[ i ]->Name() , i ) ;
- }
- DelLinkedNodeIndex( ToNode->Name() ) ;
- _LinkedNodes.resize( _LinkedNodesSize+1 ) ;
- _LinkedInPortsNumber.resize( _LinkedNodesSize+1 ) ;
- }
- }
- else {
- cdebug << " Error index " << index << endl ;
- }
- return (index >= 0 ) ;
-}
-
-void GraphBase::StreamNode::ReNameLink( const char* OldNodeName ,
- const char* NewNodeName ) {
- cdebug_in << "GraphBase::StreamNode::ReNameLink (" << OldNodeName << " , "
- << NewNodeName << ")" << endl;
- int index = GetLinkedNodeIndex( OldNodeName ) ;
- if ( index >= 0 ) {
-// _MapOfLinkedNodes.erase( OldNodeName ) ;
- DelLinkedNodeIndex( OldNodeName ) ;
- SetLinkedNodeIndex( NewNodeName , index ) ;
- }
- cdebug_out << "GraphBase::StreamNode::ReNameLink" << endl ;
-}
-
-void GraphBase::StreamNode::AddStreamLink( GraphBase::StreamNode * ToNode ) {
- int index = GetLinkedStreamNodeIndex( ToNode->Name() ) ;
- if ( index < 0 ) {
- cdebug_in << Name() << "->GraphBase::StreamNode::AddStreamLink( " << ToNode->Name()
- << " ) new LinkedNode " << endl ;
- _LinkedStreamNodes.resize( _LinkedStreamNodesSize+1 ) ;
- _LinkedInStreamPortsNumber.resize( _LinkedStreamNodesSize+1 ) ;
- _LinkedStreamNodes[ _LinkedStreamNodesSize ] = ToNode ;
- _LinkedInStreamPortsNumber[ _LinkedStreamNodesSize ] = 1 ;
- SetLinkedStreamNodeIndex( ToNode->Name() , _LinkedStreamNodesSize ) ;
- index = _LinkedStreamNodesSize ;
- _LinkedStreamNodesSize++ ;
- }
- else {
- cdebug_in << Name() << "->GraphBase::StreamNode::AddStreamLink( " << ToNode->Name()
- << " ) old LinkedNode " << _LinkedStreamNodes[index ]->Name() << endl ;
- _LinkedInStreamPortsNumber[ index ] += 1 ;
- }
- cdebug_out << Name() << "->GraphBase::StreamNode::AddStreamLinkedNode( " << ToNode->Name()
- << " ) LinkedStreamNodesSize " << _LinkedStreamNodesSize << " [ " << index
- << " ] _LinkedInStreamPortsNumber " << _LinkedInStreamPortsNumber[ index ] << endl ;
-}
-
-bool GraphBase::StreamNode::RemoveStreamLink( GraphBase::StreamNode * ToNode ) {
- int index = GetLinkedStreamNodeIndex( ToNode->Name() ) ;
- if ( index >= 0 ) {
- cdebug << "GraphBase::StreamNode::RemoveStreamLink( to " << ToNode->Name() << " from "
- << Name() << " index : " << index << " LinkedInStreamPortsNumber "
- << _LinkedInStreamPortsNumber[ index ] << " - 1" << endl ;
- _LinkedInStreamPortsNumber[ index ] -= 1 ;
- if ( _LinkedInStreamPortsNumber[ index ] == 0 ) {
- _LinkedStreamNodesSize-- ;
- cdebug << "GraphBase::StreamNode::RemoveStreamLink new LinkedNodesSize "
- << _LinkedStreamNodesSize << " " << ToNode->Name() << " removed from "
- << " linkednodes of " << Name() << endl ;
- int i ;
- for ( i = index ; i < _LinkedStreamNodesSize ; i++ ) {
- _LinkedStreamNodes[ i ] = _LinkedStreamNodes[ i+1 ] ;
- _LinkedInStreamPortsNumber[ i ] = _LinkedInStreamPortsNumber[ i+1 ] ;
- SetLinkedStreamNodeIndex( _LinkedStreamNodes[ i ]->Name() , i ) ;
- }
- DelLinkedStreamNodeIndex( ToNode->Name() ) ;
- _LinkedStreamNodes.resize( _LinkedStreamNodesSize+1 ) ;
- _LinkedInStreamPortsNumber.resize( _LinkedStreamNodesSize+1 ) ;
- }
- }
- else {
- cdebug << " Error index " << index << endl ;
- }
- return (index >= 0 ) ;
-}
-
-void GraphBase::StreamNode::ReNameStreamLink( const char* OldNodeName ,
- const char* NewNodeName ) {
- cdebug_in << "GraphBase::StreamNode::ReNameStreamLink (" << OldNodeName << " , "
- << NewNodeName << ")" << endl;
- int index = GetLinkedStreamNodeIndex( OldNodeName ) ;
- if ( index >= 0 ) {
-// _MapOfLinkedNodes.erase( OldNodeName ) ;
- DelLinkedStreamNodeIndex( OldNodeName ) ;
- SetLinkedStreamNodeIndex( NewNodeName , index ) ;
- }
- cdebug_out << "GraphBase::StreamNode::ReNameStreamLink" << endl ;
-}
-
+++ /dev/null
-// SUPERV GraphBase : contains fondamental classes for Services, Input Ports, Output Ports Links and Nodes.
-//
-// Copyright (C) 2003 CEA/DEN, EDF R&D
-//
-//
-//
-// File : DataFlowBase_StreamNode.hxx
-// Author : Jean Rahuel
-// Module : SUPERV
-// $Header:
-
-#ifndef _DATAFLOWBASE_STREAMNODE_HXX
-#define _DATAFLOWBASE_STREAMNODE_HXX
-
-#include "DataFlowBase_PortsOfNode.hxx"
-
-namespace GraphBase {
-
- class StreamNode : public PortsOfNode {
-
- private:
-
- char * _Name ;
- SUPERV::KindOfNode _Kind ;
-
-// Nodes with LinkedInPortsNumber InPort(s) linked to Outport(s) of this node :
- map< string , int > _MapOfLinkedNodes ;
- int _LinkedNodesSize ;
- vector<StreamNode * > _LinkedNodes ;
- vector<int > _LinkedInPortsNumber ;
-
-// Nodes with InStreamPort(s) linked to OutStreamport(s) of this node :
-// NodeName <--> index of that linked node in _LinkedNodes
- map< string , int > _MapOfLinkedStreamNodes ;
- int _LinkedStreamNodesSize ;
- vector<StreamNode * > _LinkedStreamNodes ;
- vector<int > _LinkedInStreamPortsNumber ;
-
- bool _HeadNode ;
- int _LevelNumber ;
- int _SortedIndex ;
-
- int _SubGraphNumber ;
- int _SubStreamGraphNumber ;
-
- protected:
-
- int * _Graph_prof_debug ;
- ofstream * _Graph_fdebug ;
-
- StreamNode() ;
-
- StreamNode( const char * NodeName ) ;
-
- StreamNode( int * Graph_prof_debug ,
- ofstream * Graph_fdebug ) ;
-
- virtual ~StreamNode() ;
-
- public:
-
- char * Name() const { return my_strdup( _Name ) ; } ;
- const char *const * NamePtr() const { return &_Name ; } ;
- bool Name( const char * aName ) ;
-
- SUPERV::KindOfNode Kind() const {
- return _Kind; } ;
- bool Kind( SUPERV::KindOfNode aKind) {
- _Kind = aKind ;
- return true ; } ;
- const bool IsComputingNode() const {
- return (Kind() == SUPERV::ComputingNode ) ; } ;
- const bool IsFactoryNode() const {
- return (Kind() == SUPERV::FactoryNode ) ; } ;
- const bool IsOneOfGOTONodes() const {
- return (Kind() == SUPERV::LoopNode ||
- Kind() == SUPERV::EndLoopNode ||
- Kind() == SUPERV::SwitchNode ||
- Kind() == SUPERV::EndSwitchNode ||
- Kind() == SUPERV::GOTONode ) ; } ;
- const bool IsOneOfInLineNodes() const {
- return (Kind() == SUPERV::InLineNode || IsOneOfGOTONodes() ) ; } ;
- const bool IsInLineNode() const {
- return (Kind() == SUPERV::InLineNode ) ; } ;
- const bool IsDataFlowNode() const {
- return (Kind() == SUPERV::DataFlowGraph ) ; } ;
- const bool IsDataStreamNode() const {
- return (Kind() == SUPERV::DataStreamGraph ) ; } ;
- const bool IsLoopNode() const {
- return (Kind() == SUPERV::LoopNode ) ; } ;
- const bool IsEndLoopNode() const {
- return (Kind() == SUPERV::EndLoopNode ) ; } ;
- const bool IsSwitchNode() const {
- return (Kind() == SUPERV::SwitchNode ) ; } ;
- const bool IsEndSwitchNode() const {
- return (Kind() == SUPERV::EndSwitchNode ) ; } ;
- const bool IsGOTONode() const {
- return (Kind() == SUPERV::GOTONode ) ; } ;
-
- int GetLinkedNodeIndex( const char * name ) {
- int index = _MapOfLinkedNodes[ name ] -1 ;
- if ( index >= 0 ) {
- cdebug << "GetLinkedNodeIndex of " << name
- << " in _MapOfLinkedNodes : "
- << index << " Node " << hex << (void *) _LinkedNodes[ index ]
- << dec << " '" << _LinkedNodes[ index ]->Name() << "'"
- << endl ;
- }
- return index ; } ;
- void SetLinkedNodeIndex( const char * name , const int index ) {
- _MapOfLinkedNodes[ name ] = index +1 ;
- cdebug << "SetLinkedNodeIndex of " << name << " in _MapOfLinkedNodes : "
- << index << " Node " << hex << (void *) _LinkedNodes[ index ]
- << dec << " '" << _LinkedNodes[ index ]->Name() << "'"
- << " _MapOfLinkedNodes " << _MapOfLinkedNodes[ name ] - 1
- << endl ;
- } ;
- void DelLinkedNodeIndex( const char * name ) {
- _MapOfLinkedNodes.erase( name ) ; } ;
-
- int LinkedNodesSize() const { return _LinkedNodesSize ; } ;
-
- const int LinkedInPortsNumber( int i ) const { return _LinkedInPortsNumber[ i ] ; } ;
-
- StreamNode * LinkedNodes( int i ) const { return _LinkedNodes[ i ] ; } ;
-
- int GetLinkedStreamNodeIndex( const char * name ) {
- int index = _MapOfLinkedStreamNodes[ name ] -1 ;
- if ( index >= 0 ) {
- cdebug << "GetLinkedStreamNodeIndex of " << name
- << " in _MapOfLinkedStreamNodes : "
- << index << " Node " << hex << (void *) _LinkedStreamNodes[ index ]
- << dec << " '" << _LinkedStreamNodes[ index ]->Name() << "'"
- << endl ;
- }
- return index ; } ;
- void SetLinkedStreamNodeIndex( const char * name , const int index ) {
- _MapOfLinkedStreamNodes[ name ] = index +1 ;
- cdebug << "SetLinkedStreamNodeIndex of " << name << " in _MapOfLinkedStreamNodes : "
- << index << " Node " << hex << (void *) _LinkedStreamNodes[ index ]
- << dec << " '" << _LinkedStreamNodes[ index ]->Name() << "'"
- << " _MapOfLinkedStreamNodes " << _MapOfLinkedStreamNodes[ name ] - 1
- << endl ;
- } ;
- void DelLinkedStreamNodeIndex( const char * name ) {
- _MapOfLinkedStreamNodes.erase( name ) ; } ;
-
- int LinkedStreamNodesSize() const { return _LinkedStreamNodesSize ; } ;
-
- const int LinkedInStreamPortsNumber( int i ) const { return _LinkedInStreamPortsNumber[ i ] ; } ;
-
- StreamNode * LinkedStreamNodes( int i ) const { return _LinkedStreamNodes[ i ] ; } ;
-
- void HeadNode( bool aHeadNode ) { _HeadNode = aHeadNode ; } ;
- const bool IsHeadNode() const { return _HeadNode ; } ;
-
- int Level() { return _LevelNumber ; } ;
- void Level( int LevelNumber ) {
- _LevelNumber = LevelNumber ; } ;
-
- void SortedIndex( int aSortedIndex ) {
- _SortedIndex = aSortedIndex ; } ;
- int SortedIndex() const {
- return _SortedIndex ; } ;
-
- void SetSubStreamGraph( int SubStreamGraphsNumber , int & RetVal ) ;
-
- int SubGraph() { return _SubGraphNumber ; } ;
- void SubGraph( int SubGraphNumber ) {
- _SubGraphNumber = SubGraphNumber ; } ;
-
- int SubStreamGraph() { return _SubStreamGraphNumber ; } ;
- void SubStreamGraph( int SubStreamGraphNumber ) {
- _SubStreamGraphNumber = SubStreamGraphNumber ; } ;
-
- void AddLink( StreamNode * aNode ) ;
- bool RemoveLink( StreamNode * aNode ) ;
- void ReNameLink( const char* OldNodeName ,
- const char* NewNodeName ) ;
-
- void AddStreamLink( StreamNode * aNode ) ;
- bool RemoveStreamLink( StreamNode * aNode ) ;
- void ReNameStreamLink( const char* OldNodeName ,
- const char* NewNodeName ) ;
-
- };
-
-};
-
-#endif
+++ /dev/null
-// SUPERV GraphBase : contains fondamental classes for Services, Input Ports, Output Ports Links and Nodes.
-//
-// Copyright (C) 2003 CEA/DEN, EDF R&D
-//
-//
-//
-// File : DataFlowBase_SwitchNode.cxx
-// Author : Jean Rahuel, CEA
-// Module : SUPERV
-// $Header:
-
-using namespace std;
-//#include <sstream>
-//#include <iostream>
-
-#include "DataFlowBase_SwitchNode.hxx"
-
-GraphBase::SwitchNode::SwitchNode() :
- GraphBase::GOTONode::GOTONode() {
-
- cdebug << "GraphBase::SwitchNode::SwitchNode " << this
- << " _Name " << (void *) Name() << " " << Name() << " _Comment "
- << (void *) Comment() << " " << Comment() << " " << endl ;
-
-}
-
-GraphBase::SwitchNode::SwitchNode( CORBA::ORB_ptr ORB ,
- SALOME_NamingService* ptrNamingService ,
- const char * FuncName ,
- const SUPERV::ListOfStrings & aPythonFunction ,
- const char *NodeName ,
- const SUPERV::KindOfNode akind ,
- const SUPERV::SDate NodeFirstCreation ,
- const SUPERV::SDate NodeLastModification ,
- const char * NodeEditorRelease ,
- const char * NodeAuthor ,
- const char * NodeComment ,
- const bool GeneratedName ,
- const long X ,
- const long Y ,
- int * Graph_prof_debug ,
- ofstream * Graph_fdebug ) :
- GraphBase::GOTONode::GOTONode( ORB , ptrNamingService , FuncName , aPythonFunction ,
- NodeName , akind , NodeFirstCreation ,
- NodeLastModification , NodeEditorRelease ,
- NodeAuthor , NodeComment , GeneratedName ,
- X , Y , Graph_prof_debug , Graph_fdebug ) {
-
- cdebug_in << "GraphBase::SwitchNode::SwitchNode " << this
- << "' _Name " << (void *) Name() << " '" << Name() << " _Comment "
- << (void *) Comment() << " " << Comment() << " "
- << " KindOfNode " << Kind() << " FuncName " << FuncName
- << " ServiceName " << ServiceName() << " In("
- << ServiceInParameter().length()
- << ") Out(" << ServiceOutParameter().length() << ")" << endl ;
-
- cdebug_out << "GraphBase::SwitchNode::SwitchNode" << endl;
-}
-
-GraphBase::SwitchNode::~SwitchNode() {
- cdebug << "GraphBase::SwitchNode::~SwitchNode " << this
- << " _Name " << (void *) Name() << " " << Name() << " _Comment "
- << (void *) Comment() << " " << Comment() << " " << endl ;
-// if ( _ComponentName != NULLSTRING )
-// delete [] _ComponentName ;
-// delete [] _Name ;
-// delete [] _EditorRelease ;
-// if ( _Author != NULLSTRING )
-// delete [] _Author ;
-// if ( _Computer != FACTORYSERVER )
-// delete [] _Computer;
-// if ( _Comment != NULLSTRING )
-// delete [] _Comment;
-}
-
+++ /dev/null
-// SUPERV GraphBase : contains fondamental classes for Services, Input Ports, Output Ports Links and Nodes.
-//
-// Copyright (C) 2003 CEA/DEN, EDF R&D
-//
-//
-//
-// File : DataFlowBase_SwitchNode.hxx
-// Author : Jean Rahuel, CEA
-// Module : SUPERV
-// $Header:
-
-#ifndef _DATAFLOWBASE_SWITCHNODE_HXX
-#define _DATAFLOWBASE_SWITCHNODE_HXX
-
-#include "DataFlowBase_GOTONode.hxx"
-
-namespace GraphBase {
-
- class SwitchNode : public GOTONode {
-
- private:
-
- public:
-
- SwitchNode() ;
- SwitchNode( CORBA::ORB_ptr ORB ,
- SALOME_NamingService* ptrNamingService ,
- const char * FuncName ,
- const SUPERV::ListOfStrings & PythonFunction ,
- const char *NodeName ,
- const SUPERV::KindOfNode akind ,
- const SUPERV::SDate NodeFirstCreation ,
- const SUPERV::SDate NodeLastModification ,
- const char * NodeEditorRelease ,
- const char * NodeAuthor ,
- const char * NodeComment ,
- const bool GeneratedName ,
- const long X ,
- const long Y ,
- int * Graph_prof_debug = NULL ,
- ofstream * Graph_fdebug = NULL ) ;
- virtual ~SwitchNode() ;
-
- };
-
-};
-
-#endif
+++ /dev/null
-// SUPERV GraphBase : contains fondamental classes for Services, Input Ports, Output Ports Links and Nodes.
-//
-// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
-// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
-//
-// This library is free software; you can redistribute it and/or
-// modify it under the terms of the GNU Lesser General Public
-// License as published by the Free Software Foundation; either
-// version 2.1 of the License.
-//
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-// Lesser General Public License for more details.
-//
-// You should have received a copy of the GNU Lesser General Public
-// License along with this library; if not, write to the Free Software
-// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-//
-// See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
-//
-//
-//
-// File : DataFlowBase_XmlHandler.cxx
-// Author : Arnaud RES
-// Module : SUPERV
-// $Header$
-
-using namespace std;
-#include "DataFlowBase_XmlHandler.hxx"
-
-#include <qstring.h>
-//#include <qxmlattributes.h>
-#include <qxml.h>
-
-#define TRACE 0
-
-//static string NULLSTRING = string("") ;
-
-GraphBase::XmlHandler::XmlHandler( CORBA::ORB_ptr Orb ,
- const bool aConstructor ) :
- _Orb( Orb ) , dataflowxml(false), depth(0), constructor(aConstructor) {
- int i ;
- for ( i = 0 ; i < maxlevel ; i++ ) {
- fieldname[i] = NULLSTRING ;
- fieldvalue[i] = NULLSTRING ;
- step[i] = 0 ;
- }
- VXSize = 0 ;
-}
-
-GraphBase::XmlHandler::XmlHandler() {}
-
-GraphBase::XmlHandler::~XmlHandler() {}
-
-QString GraphBase::XmlHandler::errorProtocol()
-{
- return errorProt;
-}
-
-bool GraphBase::XmlHandler::startDocument()
-{
- // at the beginning of parsing: do some initialization
- errorProt = "";
- return TRUE;
-}
-
-bool GraphBase::XmlHandler::startElement( const QString&, const QString&,
- const QString& qName,
- const QXmlAttributes& atts ) {
- // do different actions depending on the name of the tag and the
- // state you are in
-
-#if TRACE
- MESSAGE( "====================startElement " << depth << " " << qName)
-
-#endif
- if ( qName == "dataflow" && depth == 0 ) {
- // Dataflow detected
- dataflowxml = TRUE;
- }
- if ( dataflowxml ) {
-// fieldname[depth++] = (const char * ) qName ;
- fieldname[depth++] = qName.latin1() ;
- }
- if ( depth == maxlevel+1 )
- return false ;
- return dataflowxml ;
-
-}
-
-static bool returnfalse( GraphBase::XmlHandler *myXmlHandler ,
- const char *msg ,
- const QString& qName ) {
- MESSAGE( "returnfalse ERROR qName " << qName << " " << msg
- << " fieldname " << myXmlHandler->getfieldname(myXmlHandler->getdepth())
- << " fieldvalue '"
- << myXmlHandler->getfieldvalue(myXmlHandler->getdepth()) << "'" )
- return false ;
-}
-
-bool GraphBase::XmlHandler::endElement( const QString&,
- const QString&,
- const QString& qName) {
-
- if ( !dataflowxml ||
- ( qName != QString( fieldname[depth].c_str() ) &&
- fieldvalue[depth] != NULLSTRING ) ) {
- MESSAGE( "endElement ERROR " << dataflowxml << " qName " << qName
- << " fieldname" << fieldname[depth] << " fieldvalue "
- << fieldvalue[depth] )
- return returnfalse( this , "top" , qName ) ;
- }
- if ( fieldvalue[depth] == NULLSTRING )
- depth -= 1 ;
-
-#if TRACE
- MESSAGE( " ====================endElement step[" << depth << "]="
- << step[depth] << " qName " << qName << " fieldvalue '"
- << fieldvalue[depth] << "'")
-#endif
- switch ( depth ) {
- case 0 : {
- if ( step[depth] == 0 && qName == "dataflow" ) {
- dataflowxml = false ;
- }
- else
- return returnfalse( this , "depth0" , qName ) ;
- break ;
- }
-
- case 1 : {
- switch ( step[depth] ) {
- case 0 :
- if ( qName == "info-list" ) {
-// aDataFlow.Info = aNode ;
- step[depth]++ ;
- }
- else
- return returnfalse( this , "depth1-0" , qName ) ;
- break ;
- case 1 :
- if ( qName == "node-list" ) {
-// node-list ok
- step[depth]++ ;
- step[3] = 16 ;
- step[4] = 3 ;
- }
- else
- return returnfalse( this , "depth1-1" , qName ) ;
- break ;
- case 2 :
- if ( qName == "link-list" ) {
- step[depth]++ ;
- }
- else
- return returnfalse( this , "depth1-2" , qName ) ;
- break ;
- case 3 :
- if ( qName == "data-list" ) {
- step[depth]++ ;
- }
- else
- return returnfalse( this , "depth1-3" , qName ) ;
- break ;
- default:
- return returnfalse( this , "depth1-d" , qName ) ;
- break ;
- }
- break ;
- }
-
- case 2 : {
- switch ( step[depth] ) {
- case 0 :
- if ( qName == "node" ) {
-// Node ok
- if ( step[1] == 0 ) {
- aDataFlow.Info = aNode ;
- }
- else if ( step[1] == 1 ) {
- int sizenode = aDataFlow.Nodes.size() ;
- aDataFlow.Nodes.resize( sizenode+1 ) ;
- aDataFlow.Nodes[ sizenode ] = aNode ;
- }
- step[3] = 0 ;
- aNode.theService.ServiceinParameter.length( 0 ) ;
- aNode.theService.ServiceoutParameter.length( 0 ) ;
- aNode.theListOfInDataStreams.resize( 0 ) ;
- aNode.theListOfOutDataStreams.resize( 0 ) ;
- aNode.theListOfFuncName.resize( 0 ) ;
- aNode.theListOfPythonFunctions.resize( 0 ) ;
- break ;
- }
- else if ( qName == "link" || qName == "data" ) {
- step[depth]++ ;
- }
- else {
- return returnfalse( this , "depth2-0" , qName ) ;
- break ;
- }
- case 1 :
- if ( qName == "link" ) {
- int sizelink = aDataFlow.Links.size() ;
- aDataFlow.Links.resize( sizelink+1 ) ;
- aDataFlow.Links[ sizelink ] = aLink ;
- if ( VXSize ) {
- aDataFlow.Links[ sizelink ].aListOfCoords.resize( VXSize ) ;
- int ic ;
- for ( ic = 0 ; ic < VXSize ; ic++ ) {
- aDataFlow.Links[ sizelink ].aListOfCoords[ ic ].theX = VX[ic] ;
- aDataFlow.Links[ sizelink ].aListOfCoords[ ic ].theY = VY[ic] ;
- }
- }
- VXSize = 0 ;
- step[3] = 16 ;
- break ;
- }
- else if ( qName == "data" ) {
- step[depth]++ ;
- }
- else {
- return returnfalse( this , "depth2-1" , qName ) ;
- break ;
- }
- case 2 :
- if ( qName == "data" ) {
-// Data ok
- if ( constructor ) {
- int sizedata = aDataFlow.Datas.size() ;
- aDataFlow.Datas.resize( sizedata+1 ) ;
- aDataFlow.Datas[ sizedata ] = aLink ;
- if ( VXSize ) {
- aDataFlow.Datas[ sizedata ].aListOfCoords.resize( VXSize ) ;
- int ic ;
- for ( ic = 0 ; ic < VXSize ; ic++ ) {
- aDataFlow.Datas[ sizedata ].aListOfCoords[ ic ].theX = VX[ic] ;
- aDataFlow.Datas[ sizedata ].aListOfCoords[ ic ].theY = VY[ic] ;
- }
- }
- }
- VXSize = 0 ;
- step[3] = 16 ;
- }
- else
- return returnfalse( this , "depth2-2" , qName ) ;
- break ;
- default:
- return returnfalse( this , "depth2-d" , qName ) ;
- break ;
- }
- break ;
- }
-
- case 3 : {
- switch ( step[depth] ) {
- case 0 :
- if ( qName == "component-name" ) {
- if ( fieldvalue[depth] == NULLSTRING )
- return returnfalse( this , "depth3-0" , qName ) ;
- if ( strcmp( fieldvalue[depth].c_str() , "?" ) )
- aNode.theComponentName = fieldvalue[depth].c_str() ;
- else
- aNode.theComponentName = "" ;
- fieldvalue[depth] = NULLSTRING ;
- step[depth]++ ;
- }
- else
- return returnfalse( this , "depth3-0" , qName ) ;
- break ;
- case 1 :
- if ( qName == "interface-name" ) {
- if ( fieldvalue[depth] == NULLSTRING )
- return returnfalse( this , "depth3-1" , qName ) ;
- if ( strcmp( fieldvalue[depth].c_str() , "?" ) )
- aNode.theInterfaceName = fieldvalue[depth].c_str() ;
- else
- aNode.theInterfaceName = "" ;
- fieldvalue[depth] = NULLSTRING ;
- step[depth]++ ;
- }
- else
- return returnfalse( this , "depth3-1" , qName ) ;
- break ;
- case 2 :
- if ( qName == "node-name" ) {
- if ( fieldvalue[depth] == NULLSTRING )
- return returnfalse( this , "depth3-2" , qName ) ;
- aNode.theName = fieldvalue[depth].c_str() ;
- fieldvalue[depth] = NULLSTRING ;
- step[depth]++ ;
- }
- else
- return returnfalse( this , "depth3-2" , qName ) ;
- break ;
- case 3 :
- if ( qName == "kind" ) {
- if ( fieldvalue[depth] == NULLSTRING )
- return returnfalse( this , "depth3-3" , qName ) ;
-// kind ok
- sscanf( fieldvalue[depth].c_str() ,"%d" , (int * ) &aNode.theKind ) ;
- fieldvalue[depth] = NULLSTRING ;
- if ( aNode.theKind != SUPERV::DataStreamGraph ) {
- step[depth]++ ;
- step[4] = 0 ;
- }
- break ;
- }
- else if ( qName == "streamgraph-timeout" ) {
- if ( fieldvalue[depth] == NULLSTRING )
- return returnfalse( this , "depth3-3" , qName ) ;
- sscanf( fieldvalue[depth].c_str() ,"%d" , (int * ) &aNode.theTimeout ) ;
- fieldvalue[depth] = NULLSTRING ;
-// step[depth]++ ;
-// step[4] = 0 ;
- break ;
- }
- else if ( qName == "streamgraph-datastreamtrace" ) {
- if ( fieldvalue[depth] == NULLSTRING )
- return returnfalse( this , "depth3-3" , qName ) ;
- sscanf( fieldvalue[depth].c_str() ,"%d" , (int * ) &aNode.theDataStreamTrace ) ;
- fieldvalue[depth] = NULLSTRING ;
-// step[depth]++ ;
-// step[4] = 0 ;
- break ;
- }
- else if ( qName == "streamgraph-deltatime" ) {
- if ( fieldvalue[depth] == NULLSTRING )
- return returnfalse( this , "depth3-3" , qName ) ;
- sscanf( fieldvalue[depth].c_str() ,"%lf" , (int * ) &aNode.theDeltaTime ) ;
- fieldvalue[depth] = NULLSTRING ;
- step[depth]++ ;
- step[4] = 0 ;
- break ;
- }
- else {
- step[depth]++ ;
- step[4] = 0 ;
- }
-// return returnfalse( this , "depth3-3" , qName ) ;
-// break ;
- case 4 :
- if ( qName == "coupled-node" ) {
- if ( fieldvalue[depth] == NULLSTRING )
- return returnfalse( this , "depth3-4" , qName ) ;
- if ( strcmp( fieldvalue[depth].c_str() , "?" ) )
- aNode.theCoupledNode = fieldvalue[depth].c_str() ;
- else
- aNode.theCoupledNode = "" ;
- fieldvalue[depth] = NULLSTRING ;
- step[depth]++ ;
- break ;
- }
- else
- step[depth]++ ;
-// return returnfalse( this , "depth3-4" , qName ) ;
-// break ;
- case 5 :
- if ( qName == "service" ) {
- if ( fieldvalue[depth] != NULLSTRING )
- return returnfalse( this , "depth3-5" , qName ) ;
- fieldvalue[depth] = NULLSTRING ;
- step[depth]++ ;
- step[4] = 6;
- step[5] = 4 ;
-// service ok
- }
- else
- return returnfalse( this , "depth3-5" , qName ) ;
- break ;
- case 6 :
- if ( qName == "DataStream-list" || qName == "Parameter-list" ) {
- if ( fieldvalue[depth] != NULLSTRING )
- return returnfalse( this , "depth3-6" , qName ) ;
- fieldvalue[depth] = NULLSTRING ;
- step[depth]++ ;
- step[4] = 8 ;
- step[5] = 8 ;
-// Parameter-list ok
- break ;
- }
- else
- step[depth]++ ;
- step[5] = 0 ;
- step[6] = 0 ;
-// NO Parameter-list
-// return returnfalse( this , "depth3-6" , qName ) ;
-// break ;
- case 7 :
- if ( qName == "PyFunction-list" ) {
- if ( fieldvalue[depth] != NULLSTRING )
- return returnfalse( this , "depth3-7" , qName ) ;
- fieldvalue[depth] = NULLSTRING ;
- step[depth]++ ;
- step[5] = 0 ;
- step[6] = 0 ;
-// Parameter-list ok
- break ;
- }
- else
- step[depth]++ ;
- step[5] = 0 ;
- step[6] = 0 ;
-// NO PyFunction-list
-// return returnfalse( this , "depth3-7" , qName ) ;
-// break ;
- case 8 :
- if ( qName == "creation-date" ) {
- SUPERV::SDate D ;
- char Date[23] ;
- strcpy( Date , fieldvalue[depth].c_str() ) ;
- int i ;
- for ( i = 0 ; i < (int ) strlen(Date) ; i++ ) {
- if ( Date[i] == '/' || Date[i] == '-' || Date[i] == ':' )
- Date[i] = ' ' ;
- }
-// MESSAGE( "Date(" << Date << ")" );
- int Day , Month , Year , Hour , Minute , Second ;
- sscanf( Date ,"%d%d%d%d%d%d" , &Day ,
- &Month ,
- &Year ,
- &Hour ,
- &Minute ,
- &Second ) ;
- D.Day = Day ;
- D.Month = Month ;
- D.Year = Year ;
- D.Hour = Hour ;
- D.Minute = Minute ;
- D.Second = Second ;
- aNode.theFirstCreation = D ;
- fieldvalue[depth] = NULLSTRING ;
- step[depth]++ ;
- }
- else
- return returnfalse( this , "depth3-8" , qName ) ;
- break ;
- case 9 :
- if ( qName == "lastmodification-date" ) {
- SUPERV::SDate D ;
- char Date[23] ;
- strcpy( Date , fieldvalue[depth].c_str() ) ;
- int i ;
- for ( i = 0 ; i < (int ) strlen(Date) ; i++ ) {
- if ( Date[i] == '/' || Date[i] == '-' || Date[i] == ':' )
- Date[i] = ' ' ;
- }
-// MESSAGE( "Date(" << Date << ")" );
- int Day , Month , Year , Hour , Minute , Second ;
- sscanf( Date ,"%d%d%d%d%d%d" , &Day ,
- &Month ,
- &Year ,
- &Hour ,
- &Minute ,
- &Second ) ;
- D.Day = Day ;
- D.Month = Month ;
- D.Year = Year ;
- D.Hour = Hour ;
- D.Minute = Minute ;
- D.Second = Second ;
- aNode.theLastModification = D ;
- fieldvalue[depth] = NULLSTRING ;
- step[depth]++ ;
- }
- else
- return returnfalse( this , "depth3-9" , qName ) ;
- break ;
- case 10 :
- if ( qName == "editor-release" ) {
- aNode.theEditorRelease = fieldvalue[depth].c_str() ;
- fieldvalue[depth] = NULLSTRING ;
- step[depth]++ ;
- }
- else
- return returnfalse( this , "depth3-10" , qName ) ;
- break ;
- case 11 :
- if ( qName == "author" ) {
- if ( strcmp( fieldvalue[depth].c_str() , "?" ) )
- aNode.theAuthor = fieldvalue[depth].c_str() ;
- else
- aNode.theAuthor = "" ;
- fieldvalue[depth] = NULLSTRING ;
- step[depth]++ ;
- }
- else
- return returnfalse( this , "depth3-11" , qName ) ;
- break ;
- case 12 :
- if ( qName == "container" ) {
- if ( fieldvalue[depth] == NULLSTRING )
- return returnfalse( this , "depth3-12" , qName ) ;
-// computer ok
- if ( strcmp( fieldvalue[depth].c_str() , "?" ) )
- aNode.theContainer = fieldvalue[depth].c_str() ;
- else
- aNode.theContainer = "" ;
- fieldvalue[depth] = NULLSTRING ;
- step[depth]++ ;
- }
- else
- return returnfalse( this , "depth3-12" , qName ) ;
- break ;
- case 13 :
- if ( qName == "comment" ) {
- if ( fieldvalue[depth] == NULLSTRING )
- return returnfalse( this , "depth3-13" , qName ) ;
-// comment ok
- if ( strcmp( fieldvalue[depth].c_str() , "?" ) )
- aNode.theComment = fieldvalue[depth].c_str() ;
- else
- aNode.theComment = "" ;
- fieldvalue[depth] = NULLSTRING ;
- step[depth]++ ;
- }
- else
- return returnfalse( this , "depth3-13" , qName ) ;
- break ;
- case 14 :
- if ( qName == "x-position" ) {
- if ( fieldvalue[depth] == NULLSTRING )
- return returnfalse( this , "depth3-14" , qName ) ;
- sscanf( fieldvalue[depth].c_str() , "%ld" , &aNode.theCoords.theX ) ;
- fieldvalue[depth] = NULLSTRING ;
- step[depth]++ ;
-// x-position ok
- }
- else
- return returnfalse( this , "depth3-14" , qName ) ;
- break ;
- case 15 :
- if ( qName == "y-position" ) {
- if ( fieldvalue[depth] == NULLSTRING )
- return returnfalse( this , "depth3-15" , qName ) ;
- sscanf( fieldvalue[depth].c_str() , "%ld" , &aNode.theCoords.theY ) ;
- fieldvalue[depth] = NULLSTRING ;
- step[depth]++ ;
-// y-position ok
- }
- else
- return returnfalse( this , "depth3-15" , qName ) ;
- break ;
- case 16 :
- if ( qName == "fromnode-name" ) {
- if ( fieldvalue[depth] == NULLSTRING )
- return returnfalse( this , "depth3-16" , qName ) ;
- if ( strcmp( fieldvalue[depth].c_str() , "?" ) )
- aLink.FromNodeName = fieldvalue[depth].c_str() ;
- else
- aLink.FromNodeName = "" ;
- fieldvalue[depth] = NULLSTRING ;
- step[depth]++ ;
- step[4] = 3 ;
- }
- else
- return returnfalse( this , "depth3-16" , qName ) ;
- break ;
- case 17 :
- if ( qName == "fromserviceparameter-name" ) {
- if ( fieldvalue[depth] == NULLSTRING )
- return returnfalse( this , "depth3-17" , qName ) ;
- aLink.FromServiceParameterName = fieldvalue[depth].c_str() ;
- fieldvalue[depth] = NULLSTRING ;
- step[depth]++ ;
- }
- else
- return returnfalse( this , "depth3-17" , qName ) ;
- break ;
- case 18 :
- if ( qName == "tonode-name" ) {
- if ( fieldvalue[depth] == NULLSTRING )
- return returnfalse( this , "depth3-18" , qName ) ;
- if ( strcmp( fieldvalue[depth].c_str() , "?" ) )
- aLink.ToNodeName = fieldvalue[depth].c_str() ;
- else
- aLink.ToNodeName = "" ;
- fieldvalue[depth] = NULLSTRING ;
- step[depth]++ ;
- }
- else
- return returnfalse( this , "depth3-18" , qName ) ;
- break ;
- case 19 :
- if ( qName == "toserviceparameter-name" ) {
- if ( fieldvalue[depth] == NULLSTRING )
- return returnfalse( this , "depth3-19" , qName ) ;
- aLink.ToServiceParameterName = fieldvalue[depth].c_str() ;
- fieldvalue[depth] = NULLSTRING ;
- step[depth]++ ;
- }
- else
- return returnfalse( this , "depth3-19" , qName ) ;
- step[5] = 2 ;
- break ;
- case 20 :
- if ( qName == "data-value" ) {
- if ( fieldvalue[depth] != NULLSTRING )
- return returnfalse( this , "depth3-20" , qName ) ;
-// data-value ok
- step[depth]++ ;
-// step[4] = 3 ;
- break ;
- }
- else
- step[depth]++ ;
-// return returnfalse( this , "depth3-20" , qName ) ;
-// break ;
- case 21 :
- if ( qName == "coord-list" ) {
- if ( fieldvalue[depth] != NULLSTRING )
- return returnfalse( this , "depth3-21" , qName ) ;
-// coord-list ok
- step[depth] = 14 ;
- step[4] = 5 ;
- }
- else
- return returnfalse( this , "depth3-21" , qName ) ;
- break ;
- default:
- return returnfalse( this , "depth3-d" , qName ) ;
- break ;
- }
- break ;
- }
-
-
- case 4 : {
- switch ( step[depth] ) {
- case 0 :
- if ( qName == "service-name" ) {
- if ( fieldvalue[depth] == NULLSTRING )
- return returnfalse( this , "depth4-0" , qName ) ;
- if ( strcmp( fieldvalue[depth].c_str() , "?" ) )
- aNode.theService.ServiceName = fieldvalue[depth].c_str() ;
- else
- aNode.theService.ServiceName = "" ;
- aNode.theService.ServiceinParameter.length( 0 ) ;
- aNode.theService.ServiceoutParameter.length( 0 ) ;
- fieldvalue[depth] = NULLSTRING ;
- step[depth]++ ;
- }
- else
- return returnfalse( this , "depth4-0" , qName ) ;
- break ;
- case 1 :
- if ( qName == "inParameter-list" ) {
- if ( fieldvalue[depth] != NULLSTRING )
- return returnfalse( this , "depth4-1" , qName ) ;
- fieldvalue[depth] = NULLSTRING ;
- step[depth]++ ;
- step[5] = 1 ;
- step[6] = 2 ; // First outParameter
-// inParameterlist ok
- }
- else
- return returnfalse( this , "depth4-1" , qName ) ;
- break ;
- case 2 :
- if ( qName == "outParameter-list" ) {
- if ( fieldvalue[depth] != NULLSTRING )
- return returnfalse( this , "depth4-2" , qName ) ;
- fieldvalue[depth] = NULLSTRING ;
- step[depth] = 0 ;
-// outParameterlist ok
- step[5] = 0 ;
- step[6] = 0 ;
- }
- else
- return returnfalse( this , "depth4-2" , qName ) ;
- break ;
- case 3 :
- if ( qName == "value-type" ) {
- if ( fieldvalue[depth] == NULLSTRING )
- return returnfalse( this , "depth4-3" , qName ) ;
- int Kind ;
- sscanf( fieldvalue[depth].c_str() , "%d" , &Kind ) ;
-// switch ( D.Value.type()->kind() ) {
- aLink.aLinkValue = CORBA::Any() ;
- switch ( Kind ) {
- case CORBA::tk_string: {
- aLink.aLinkValue <<= (char *) NULL ;
- char * t;
- aLink.aLinkValue >>= t;
-#if TRACE
- MESSAGE( t << " (string)" );
-#endif
- break;
- }
- case CORBA::tk_double: {
- aLink.aLinkValue <<= (double ) 0. ;
- double d;
- aLink.aLinkValue >>= d;
-#if TRACE
- MESSAGE( d << " (double)" );
-#endif
- break;
- }
- case CORBA::tk_long: {
- aLink.aLinkValue <<= (long ) 0 ;
- long l;
- aLink.aLinkValue >>= l;
-#if TRACE
- MESSAGE( l << " (long)" );
-#endif
- break;
- }
- case CORBA::tk_objref: {
-// aLink.aLinkValue.replace(CORBA::_tc_Object, NULL);
- aLink.aLinkValue <<= CORBA::Object::_nil() ;
-#if TRACE
- MESSAGE( " (object reference)" );
-#endif
- break;
- }
- default:
- MESSAGE( "(other ERROR)" );
- }
- fieldvalue[depth] = NULLSTRING ;
- step[depth]++ ;
- break ;
- }
- else
- step[depth]++ ;
-// return returnfalse( this , "depth4-3" , qName ) ;
-// break ;
- case 4 :
- if ( qName == "value" ) {
- if ( fieldvalue[depth] == NULLSTRING )
- return returnfalse( this , "depth4-4" , qName ) ;
- if ( !strcmp( fieldvalue[depth].c_str() , "?" ) ) {
-// aLink.aLinkValue.Value = fieldvalue[depth].c_str() ;
- aLink.aLinkValue = CORBA::Any() ; // ???
- }
- else {
- switch ( aLink.aLinkValue.type()->kind() ) {
- case CORBA::tk_string: {
- aLink.aLinkValue <<= fieldvalue[depth].c_str() ;
- char * t;
- aLink.aLinkValue >>= t;
-#if TRACE
- MESSAGE( t << " (string)" );
-#endif
- break;
- }
- case CORBA::tk_double: {
- double d;
- sscanf( fieldvalue[depth].c_str() , "%lf" , &d ) ;
- aLink.aLinkValue <<= d;
-#if TRACE
- MESSAGE( d << " (double)" );
-#endif
- break;
- }
- case CORBA::tk_long: {
- long l;
- sscanf( fieldvalue[depth].c_str() , "%ld" , &l ) ;
- aLink.aLinkValue <<= l;
-#if TRACE
- MESSAGE( l << " (long)" );
-#endif
- break;
- }
- case CORBA::tk_objref: {
- CORBA::Object_ptr ObjRef ;
- const char * IORObjRef = fieldvalue[depth].c_str() ;
- ObjRef = _Orb->string_to_object( IORObjRef ) ;
- aLink.aLinkValue <<= ObjRef;
-#if TRACE
- MESSAGE( IORObjRef << "(object reference)" );
-#endif
- break;
- }
- default: {
- aLink.aLinkValue <<= _Orb->string_to_object( fieldvalue[depth].c_str() ) ;
- MESSAGE( "(other ERROR)" );
- }
- }
- }
- fieldvalue[depth] = NULLSTRING ;
- step[depth]++ ;
- step[5] = 2 ;
- break ;
- }
- else
- step[depth]++ ;
-// return returnfalse( this , "depth4-4" , qName ) ;
-// break ;
- case 5 :
- if ( qName == "coord" ) {
- if ( fieldvalue[depth] != NULLSTRING )
- return returnfalse( this , "depth4-5" , qName ) ;
- if ( VXSize == (int ) VX.size() ) {
- VX.resize( VX.size() + 10 ) ;
- VY.resize( VY.size() + 10 ) ;
- }
- VX[ VXSize ] = X ;
- VY[ VXSize ] = Y ;
- VXSize++ ;
- step[5] = 2 ;
- }
- else
- return returnfalse( this , "depth4-5" , qName ) ;
- break ;
- case 6 :
- if ( qName == "inParameter" ) {
- if ( fieldvalue[depth] != NULLSTRING )
- return returnfalse( this , "depth4-6" , qName ) ;
- int size = aNode.theListOfInDataStreams.size() ;
- aNode.theListOfInDataStreams.resize( size+1 ) ;
- aNode.theListOfInDataStreams[ size ] = anInDataStreamParameter ;
- break ;
-// One more aParameter input
- }
- else
- step[depth]++ ;
-// return returnfalse( this , "depth4-6" , qName ) ;
-// break ;
- case 7 :
- if ( qName == "outParameter" ) {
- if ( fieldvalue[depth] != NULLSTRING )
- return returnfalse( this , "depth4-7" , qName ) ;
- int size = aNode.theListOfOutDataStreams.size() ;
- aNode.theListOfOutDataStreams.resize( size+1 ) ;
- aNode.theListOfOutDataStreams[ size ] = anOutDataStreamParameter ;
-// One more aParameter output
- step[4] = 6 ;
- step[5] = 4 ;
- }
- else
- return returnfalse( this , "depth4-7" , qName ) ;
- break ;
- case 8 :
- if ( qName == "PyFunction" ) {
- if ( fieldvalue[depth] != NULLSTRING )
- return returnfalse( this , "depth4-8" , qName ) ;
-// One more PyFunction
- step[4] = 8 ;
- step[5] = 8 ;
- }
- else
- return returnfalse( this , "depth4-8" , qName ) ;
- break ;
- default:
- return returnfalse( this , "depth4-d" , qName ) ;
- break ;
- }
- break ;
- }
-
-
- case 5 : {
- switch ( step[depth] ) {
- case 0 :
- if ( qName == "inParameter" ) {
- if ( fieldvalue[depth] != NULLSTRING )
- return returnfalse( this , "depth5-0" , qName ) ;
- fieldvalue[depth] = NULLSTRING ;
- int size = aNode.theService.ServiceinParameter.length() ;
- aNode.theService.ServiceinParameter.length( size+1 ) ;
- aNode.theService.ServiceinParameter[size] = aParameter ;
-// One more aParameter input
- step[6] = 0 ; // Next one
- }
- else
- return returnfalse( this , "depth5-0" , qName ) ;
- break ;
- case 1 :
- if ( qName == "outParameter" ) {
- if ( fieldvalue[depth] != NULLSTRING )
- return returnfalse( this , "depth5-1" , qName ) ;
- fieldvalue[depth] = NULLSTRING ;
- int size = aNode.theService.ServiceoutParameter.length() ;
- aNode.theService.ServiceoutParameter.length( size+1 ) ;
- aNode.theService.ServiceoutParameter[size] = aParameter ;
-// One more aParameter Output
- step[6] = 2 ; // Next one
- }
- else
- return returnfalse( this , "depth5-1" , qName ) ;
- break ;
- case 2 :
- if ( qName == "x" ) {
- if ( fieldvalue[depth] == NULLSTRING )
- return returnfalse( this , "depth5-2" , qName ) ;
- sscanf( fieldvalue[depth].c_str() , "%d" , &X ) ;
- fieldvalue[depth] = NULLSTRING ;
- step[depth]++ ;
- }
- else
- return returnfalse( this , "depth5-2" , qName ) ;
- break ;
- case 3 :
- if ( qName == "y" ) {
- if ( fieldvalue[depth] == NULLSTRING )
- return returnfalse( this , "depth5-3" , qName ) ;
- sscanf( fieldvalue[depth].c_str() , "%d" , &Y ) ;
- fieldvalue[depth] = NULLSTRING ;
- }
- else
- return returnfalse( this , "depth5-3" , qName ) ;
- break ;
- case 4 :
- if ( qName == "inParameter-type" ) {
- if ( fieldvalue[depth] == NULLSTRING )
- return returnfalse( this , "depth5-4" , qName ) ;
- sscanf( fieldvalue[depth].c_str() , "%d" , (int * ) &anInDataStreamParameter.theDataStreamParameter.Parametertype ) ;
- fieldvalue[depth] = NULLSTRING ;
- step[depth]++ ;
-#if TRACE
- cout << "InDataStreamParameter.inParameter-type " << anInDataStreamParameter.theDataStreamParameter.Parametertype << " step[" << depth << "]" << step[depth] << endl ;
-#endif
- break ;
- }
- else
- step[depth] = 6 ;
-// return returnfalse( this , "depth5-4" , qName ) ;
-// break ;
- case 5 :
- if ( qName == "inParameter-name" ) {
- if ( fieldvalue[depth] == NULLSTRING )
- return returnfalse( this , "depth5-5" , qName ) ;
- if ( strcmp( fieldvalue[depth].c_str() , "?" ) ) {
- anInDataStreamParameter.theDataStreamParameter.Parametername = fieldvalue[depth].c_str() ;
- }
- else {
- anInDataStreamParameter.theDataStreamParameter.Parametername = "" ;
- }
- fieldvalue[depth] = NULLSTRING ;
-#if TRACE
- cout << "InDataStreamParameter.inParameter-name " << anInDataStreamParameter.theDataStreamParameter.Parametername << " step[" << depth << "]" << step[depth] << endl ;
-#endif
-// step[depth]++ ;
-// step[depth] = 4 ;
- break ;
- }
- else if ( qName == "inParameter-dependency" ) {
- if ( fieldvalue[depth] == NULLSTRING )
- return returnfalse( this , "depth5-5" , qName ) ;
- sscanf( fieldvalue[depth].c_str() , "%d" , (int * ) &anInDataStreamParameter.theDataStreamParameter.Parameterdependency ) ;
- fieldvalue[depth] = NULLSTRING ;
-#if TRACE
- cout << "InDataStreamParameter.inParameter-dependency " << anInDataStreamParameter.theDataStreamParameter.Parameterdependency << " step[" << depth << "]"
- << step[depth] << endl ;
-#endif
-// step[depth]++ ;
-// step[depth] = 4 ;
- break ;
- }
- else if ( qName == "inParameter-schema" ) {
- if ( fieldvalue[depth] == NULLSTRING )
- return returnfalse( this , "depth5-5" , qName ) ;
- sscanf( fieldvalue[depth].c_str() , "%d" , (int * ) &anInDataStreamParameter.theKindOfSchema ) ;
- fieldvalue[depth] = NULLSTRING ;
-#if TRACE
- cout << "InDataStreamParameter.inParameter-schema " << anInDataStreamParameter.theKindOfSchema << " step[" << depth << "]"
- << step[depth] << endl ;
-#endif
-// step[depth]++ ;
-// step[depth] = 4 ;
- break ;
- }
- else if ( qName == "inParameter-interpolation" ) {
- if ( fieldvalue[depth] == NULLSTRING )
- return returnfalse( this , "depth5-5" , qName ) ;
- sscanf( fieldvalue[depth].c_str() , "%d" , (int * ) &anInDataStreamParameter.theKindOfInterpolation ) ;
- fieldvalue[depth] = NULLSTRING ;
-#if TRACE
- cout << "InDataStreamParameter.inParameter-interpolation " << anInDataStreamParameter.theKindOfInterpolation << " step[" << depth << "]"
- << step[depth] << endl ;
-#endif
-// step[depth]++ ;
-// step[depth] = 4 ;
- break ;
- }
- else if ( qName == "inParameter-extrapolation" ) {
- if ( fieldvalue[depth] == NULLSTRING )
- return returnfalse( this , "depth5-5" , qName ) ;
- sscanf( fieldvalue[depth].c_str() , "%d" , (int * ) &anInDataStreamParameter.theKindOfExtrapolation ) ;
- fieldvalue[depth] = NULLSTRING ;
-// step[depth]++ ;
- step[depth] = 4 ;
-#if TRACE
- cout << "InDataStreamParameter.inParameter-extrapolation " << anInDataStreamParameter.theKindOfExtrapolation << " step[" << depth << "]"
- << step[depth] << endl ;
-#endif
- break ;
- }
-// else
-// return returnfalse( this , "depth5-5" , qName ) ;
-// break ;
- case 6 :
- if ( qName == "outParameter-type" ) {
- if ( fieldvalue[depth] == NULLSTRING )
- return returnfalse( this , "depth5-6" , qName ) ;
- sscanf( fieldvalue[depth].c_str() , "%d" , (int * ) &anOutDataStreamParameter.theDataStreamParameter.Parametertype ) ;
- fieldvalue[depth] = NULLSTRING ;
-// step[depth]++ ;
- step[depth] = 7 ;
-#if TRACE
- cout << "OutDataStreamParameter.outParameter-type " << anOutDataStreamParameter.theDataStreamParameter.Parametertype << " step[" << depth << "]"
- << step[depth] << endl ;
-#endif
- }
- else
- return returnfalse( this , "depth5-6" , qName ) ;
- break ;
- case 7 :
- if ( qName == "outParameter-name" ) {
- if ( fieldvalue[depth] == NULLSTRING )
- return returnfalse( this , "depth5-7" , qName ) ;
- if ( strcmp( fieldvalue[depth].c_str() , "?" ) ) {
- anOutDataStreamParameter.theDataStreamParameter.Parametername = fieldvalue[depth].c_str() ;
- }
- else {
- anOutDataStreamParameter.theDataStreamParameter.Parametername = "" ;
- }
- fieldvalue[depth] = NULLSTRING ;
-#if TRACE
- cout << "OutDataStreamParameter.outParameter-name " << anOutDataStreamParameter.theDataStreamParameter.Parametername << " step[" << depth << "]"
- << step[depth] << endl ;
-#endif
-// step[depth]++ ;
-// step[depth] = 6 ;
- }
- else if ( qName == "outParameter-dependency" ) {
- if ( fieldvalue[depth] == NULLSTRING )
- return returnfalse( this , "depth5-7" , qName ) ;
- sscanf( fieldvalue[depth].c_str() , "%d" , (int * ) &anOutDataStreamParameter.theDataStreamParameter.Parameterdependency ) ;
- fieldvalue[depth] = NULLSTRING ;
-#if TRACE
- cout << "OutDataStreamParameter.outParameter-dependency " << anOutDataStreamParameter.theDataStreamParameter.Parameterdependency << " step[" << depth << "]"
- << step[depth] << endl ;
-#endif
-// step[depth]++ ;
-// step[depth] = 6 ;
- }
- else if ( qName == "outParameter-values" ) {
- if ( fieldvalue[depth] == NULLSTRING )
- return returnfalse( this , "depth5-7" , qName ) ;
- sscanf( fieldvalue[depth].c_str() , "%d" , (int * ) &anOutDataStreamParameter.theNumberOfValues ) ;
- fieldvalue[depth] = NULLSTRING ;
-// step[depth]++ ;
- step[depth] = 6 ;
-#if TRACE
- cout << "OutDataStreamParameter.outParameter-values " << anOutDataStreamParameter.theNumberOfValues << " step[" << depth << "]"
- << step[depth] << endl ;
-#endif
- }
- else
- return returnfalse( this , "depth5-7" , qName ) ;
- break ;
- case 8 :
- if ( qName == "FuncName" ) {
- if ( fieldvalue[depth] == NULLSTRING )
- return returnfalse( this , "depth5-8" , qName ) ;
- int l = aNode.theListOfFuncName.size() ;
- aNode.theListOfFuncName.resize( l+1 ) ;
- if ( strcmp( fieldvalue[depth].c_str() , "?" ) ) {
- aNode.theListOfFuncName[ l ] = fieldvalue[depth].c_str() ;
- }
- else {
- aNode.theListOfFuncName[ l ] = "" ;
- }
- aNode.theListOfPythonFunctions.resize( l+1 ) ;
- aNode.theListOfPythonFunctions[ l ] = new SUPERV::ListOfStrings() ;
-#if TRACE
- MESSAGE( " ==========theListOfFuncName/theListOfPythonFunctions size "
- << l+1 )
-#endif
- fieldvalue[depth] = NULLSTRING ;
- step[depth]++ ;
- }
- else
- return returnfalse( this , "depth5-8" , qName ) ;
- break ;
- case 9 :
- if ( qName == "PyFunc" ) {
- if ( fieldvalue[depth] == NULLSTRING )
- return returnfalse( this , "depth5-9" , qName ) ;
- int l = aNode.theListOfPythonFunctions.size() - 1 ;
- SUPERV::ListOfStrings aPythonFunction = *aNode.theListOfPythonFunctions[ l ] ;
- int ll = aPythonFunction.length() ;
- aPythonFunction.length( ll+1 ) ;
- if ( strcmp( fieldvalue[depth].c_str() , "?" ) ) {
- aPythonFunction[ ll ] = fieldvalue[depth].c_str() ;
- }
- else {
- aPythonFunction[ ll ] = NULLSTRING ;
- }
- if ( ll ) {
- aNode.theListOfPythonFunctions.resize( l ) ;
- aNode.theListOfPythonFunctions.resize( l+1 ) ;
- }
- aNode.theListOfPythonFunctions[ l ] = new SUPERV::ListOfStrings( aPythonFunction ) ;
-#if TRACE
- MESSAGE( " ==========theListOfPythonFunctions[" << l << "] size " << ll+1
- << " [" << ll << "] = " << aPythonFunction[ ll ] )
-#endif
- fieldvalue[depth] = NULLSTRING ;
-// step[depth]++ ;
- }
- else
- return returnfalse( this , "depth5-9" , qName ) ;
- break ;
- default:
- return returnfalse( this , "depth5-d" , qName ) ;
- break ;
- }
- break ;
- }
-
- case 6 : {
- switch ( step[depth] ) {
- case 0 :
- if ( qName == "inParameter-type" ) {
- if ( fieldvalue[depth] == NULLSTRING )
- return returnfalse( this , "depth6-0" , qName ) ;
- aParameter.Parametertype = fieldvalue[depth].c_str() ;
- fieldvalue[depth] = NULLSTRING ;
- step[depth]++ ;
- }
- else
- return returnfalse( this , "depth6-0" , qName ) ;
- break ;
- case 1 :
- if ( qName == "inParameter-name" ) {
- if ( fieldvalue[depth] == NULLSTRING )
- return returnfalse( this , "depth6-1" , qName ) ;
- aParameter.Parametername = fieldvalue[depth].c_str() ;
- fieldvalue[depth] = NULLSTRING ;
- step[depth]++ ;
- }
- else
- return returnfalse( this , "depth6-1" , qName ) ;
- break ;
- case 2 :
- if ( qName == "outParameter-type" ) {
- if ( fieldvalue[depth] == NULLSTRING )
- return returnfalse( this , "depth6-2" , qName ) ;
- aParameter.Parametertype = fieldvalue[depth].c_str() ;
- fieldvalue[depth] = NULLSTRING ;
- step[depth]++ ;
- }
- else
- return returnfalse( this , "depth6-2" , qName ) ;
- break ;
- case 3 :
- if ( qName == "outParameter-name" ) {
- if ( fieldvalue[depth] == NULLSTRING )
- return returnfalse( this , "depth6-3" , qName ) ;
- aParameter.Parametername = fieldvalue[depth].c_str() ;
- fieldvalue[depth] = NULLSTRING ;
- step[depth]++ ;
- }
- else
- return returnfalse( this , "depth6-3" , qName ) ;
- break ;
- default:
- return returnfalse( this , "depth6-d" , qName ) ;
- break ;
- }
- break ;
- }
- }
-
-#if TRACE
- cout << "return from endElement " << qName << " step[" << depth << "]" << step[depth] << endl ;
-#endif
- return TRUE;
-}
-
-
-bool GraphBase::XmlHandler::characters( const QString& ch ) {
- // we are not interested in whitespaces
- QString ch_simplified = ch.simplifyWhiteSpace();
- if ( ch_simplified.isEmpty() ) {
- return TRUE;
- }
- depth -= 1 ;
-#if TRACE
- MESSAGE( "characters step[" << depth << "]=" << step[depth]
- << " ch " << ch << " fieldvalue_must_be_NULL " << fieldvalue[depth] )
-#endif
- if ( depth < 0 || fieldvalue[depth] != NULLSTRING )
- return returnfalse( this , "characters " , ch ) ;
-
-// fieldvalue[depth] = (const char * ) ch ;
- fieldvalue[depth] = ch.latin1() ;
- return TRUE;
-}
-
-
-QString GraphBase::XmlHandler::errorString() {
- cout << "the document is not in the quote file format" << endl ;
- return "the document is not in the quote file format";
-}
-
-
-bool GraphBase::XmlHandler::fatalError( const QXmlParseException& exception ) {
- errorProt += QString( "fatal parsing error: %1 in line %2, column %3\n" )
- .arg( exception.message() )
- .arg( exception.lineNumber() )
- .arg( exception.columnNumber() );
- cout << "GraphBase::XmlHandler::fatalError " << errorProt.latin1() << endl ;
- return QXmlDefaultHandler::fatalError( exception );
-}
-
-#if 0
-SALOME_SuperVision::Date GraphBase::XmlHandler::StringToDate( QString& myStrDate) const
-{
- SALOME_SuperVision::Date aDate;
- QString qstrDate(myStrDate);
- QString qstrTemp;
-
- // Date
- int iPos = qstrDate.find("/");
- qstrTemp = qstrDate.left(iPos).stripWhiteSpace();
- aDate.Day = qstrTemp.toShort();
- qstrDate = qstrDate.right(qstrDate.length()-iPos);
- iPos = qstrDate.find("/");
- qstrTemp = qstrDate.left(iPos).stripWhiteSpace();
- aDate.Month = qstrTemp.toShort();
- qstrDate = qstrDate.right(qstrDate.length()-iPos);
- iPos = qstrDate.find(" ");
- qstrTemp = qstrDate.left(iPos).stripWhiteSpace();
- aDate.Year = qstrTemp.toShort();
-
- // Time
- qstrDate = qstrDate.right(qstrDate.length()-iPos);
- iPos = qstrDate.find(":");
- qstrTemp = qstrDate.left(iPos).stripWhiteSpace();
- aDate.Hour = qstrTemp.toShort();
- qstrDate = qstrDate.right(qstrDate.length()-iPos);
- iPos = qstrDate.find(":");
- qstrTemp = qstrDate.left(iPos).stripWhiteSpace();
- aDate.Minute = qstrTemp.toShort();
- qstrDate = qstrDate.right(qstrDate.length()-iPos).stripWhiteSpace();
- aDate.Second = qstrDate.toShort();
-
- return aDate;
-}
-#endif
-
-
+++ /dev/null
-// SUPERV GraphBase : contains fondamental classes for Services, Input Ports, Output Ports Links and Nodes.
-//
-// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
-// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
-//
-// This library is free software; you can redistribute it and/or
-// modify it under the terms of the GNU Lesser General Public
-// License as published by the Free Software Foundation; either
-// version 2.1 of the License.
-//
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-// Lesser General Public License for more details.
-//
-// You should have received a copy of the GNU Lesser General Public
-// License along with this library; if not, write to the Free Software
-// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-//
-// See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
-//
-//
-//
-// File : GraphBase_XmlHandler.hxx
-// Author : Arnaud RES
-// Module : SUPERV
-// $Header$
-
-#define INCLUDE_MENUITEM_DEF
-#define QT_ALTERNATE_QTSMANIP
-
-#include <qxml.h>
-#include <qstringlist.h>
-#include <qaction.h>
-#include <qlist.h>
-
-//#include <SALOMEconfig.h>
-//#include CORBA_CLIENT_HEADER(SALOME_SuperVision)
-
-#include "DataFlowBase_Graph.hxx"
-
-#define maxlevel 7
-
-namespace GraphBase {
-
- class XmlHandler : public QXmlDefaultHandler {
-
- CORBA::ORB_ptr _Orb ;
- bool dataflowxml ;
- string fieldname[maxlevel] ;
- string fieldvalue[maxlevel] ;
- long step[maxlevel] ;
- long depth ;
- bool constructor ;
- GraphBase::SNode aNode ;
- SALOME_ModuleCatalog::ServicesParameter aParameter ;
- GraphBase::InDataStreamParameter anInDataStreamParameter ;
- GraphBase::OutDataStreamParameter anOutDataStreamParameter ;
-// SALOME_ModuleCatalog::ServicesDataStreamParameter aDataStreamParameter ;
- SUPERV::ListOfStrings aPythonFunction ;
- GraphBase::SLink aLink ;
-// SALOME_SuperVisionBase::ServicesParameterValue aLinkValue ;
- CORBA::Any aLinkValue ;
- int X ;
- int Y ;
- int VXSize ;
- vector<int > VX ;
- vector<int > VY ;
- QString errorProt;
-
- GraphBase::SGraph aDataFlow ;
-
- public:
-
- XmlHandler();
- XmlHandler( CORBA::ORB_ptr Orb , const bool aConstructor );
- virtual ~XmlHandler();
-
- GraphBase::SGraph & GetDataFlow() {
- return aDataFlow ; } ;
-
- // return the error protocol if parsing failed
- QString errorProtocol();
-
- // overloaded handler functions
- bool startDocument();
- bool startElement( const QString& namespaceURI, const QString& localName,
- const QString& qName, const QXmlAttributes& atts );
- bool endElement( const QString& namespaceURI, const QString& localName,
- const QString& qName );
- bool characters( const QString& ch );
-
- QString errorString();
-
- bool fatalError (const QXmlParseException& exception);
-
- SUPERV::SDate StringToDate( QString& qstrDate) const;
-
- const long getdepth() const { return depth ; } ;
- const string getfieldname( const long adepth ) const { return fieldname[adepth] ; } ;
- const string getfieldvalue( const long adepth ) const { return fieldvalue[adepth] ; } ;
-
- };
-
-} ;
-
+++ /dev/null
-# SUPERV GraphBase : contains fondamental classes for Services, Input Ports, Output Ports Links and Nodes.
-#
-# Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
-# CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
-#
-# This library is free software; you can redistribute it and/or
-# modify it under the terms of the GNU Lesser General Public
-# License as published by the Free Software Foundation; either
-# version 2.1 of the License.
-#
-# This library is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-# Lesser General Public License for more details.
-#
-# You should have received a copy of the GNU Lesser General Public
-# License along with this library; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-#
-# See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
-#
-#
-#
-# File : Makefile.in
-# Author : , CEA
-# Module : SUPERV
-# $Header:
-
-top_srcdir=@top_srcdir@
-top_builddir=../..
-srcdir=@srcdir@
-VPATH=.:@srcdir@:@top_srcdir@/idl
-
-
-@COMMENCE@
-
-EXPORT_HEADERS = \
- DataFlowBase_Base.hxx \
- DataFlowBase_ServicesParameter.hxx \
- DataFlowBase_Port.hxx \
- DataFlowBase_DataPort.hxx \
- DataFlowBase_InPort.hxx \
- DataFlowBase_InDataStreamPort.hxx \
- DataFlowBase_OutPort.hxx \
- DataFlowBase_OutDataStreamPort.hxx \
- DataFlowBase_Service.hxx \
- DataFlowBase_PortsOfNode.hxx \
- DataFlowBase_StreamNode.hxx \
- DataFlowBase_ComputingNode.hxx \
- DataFlowBase_FactoryNode.hxx \
- DataFlowBase_InLineNode.hxx \
- DataFlowBase_GOTONode.hxx \
- DataFlowBase_LoopNode.hxx \
- DataFlowBase_EndOfLoopNode.hxx \
- DataFlowBase_SwitchNode.hxx \
- DataFlowBase_EndOfSwitchNode.hxx \
- DataFlowBase_DataNode.hxx \
- DataFlowBase_XmlHandler.hxx \
- DataFlowBase_StreamGraph.hxx \
- DataFlowBase_Graph.hxx
-
-# Libraries targets
-LIB = libSalomeSuperVisionBase.la
-LIB_SRC = \
- DataFlowBase_Base.cxx \
- DataFlowBase_Port.cxx \
- DataFlowBase_DataPort.cxx \
- DataFlowBase_InPort.cxx \
- DataFlowBase_InDataStreamPort.cxx \
- DataFlowBase_OutPort.cxx \
- DataFlowBase_OutDataStreamPort.cxx \
- DataFlowBase_Service.cxx \
- DataFlowBase_PortsOfNode.cxx \
- DataFlowBase_StreamNode.cxx \
- DataFlowBase_ComputingNode.cxx \
- DataFlowBase_FactoryNode.cxx \
- DataFlowBase_InLineNode.cxx \
- DataFlowBase_GOTONode.cxx \
- DataFlowBase_LoopNode.cxx \
- DataFlowBase_EndOfLoopNode.cxx \
- DataFlowBase_SwitchNode.cxx \
- DataFlowBase_EndOfSwitchNode.cxx \
- DataFlowBase_DataNode.cxx \
- DataFlowBase_XmlHandler.cxx \
- DataFlowBase_LoadXml.cxx \
- DataFlowBase_StreamGraph.cxx \
- DataFlowBase_Graph.cxx
-
-LIB_CLIENT_IDL = Logger.idl \
- SALOME_ModuleCatalog.idl \
- SALOME_Component.idl \
- SALOMEDS.idl \
- SUPERV.idl \
- SALOMEDS_Attributes.idl \
- SALOME_Exception.idl
-# Executables targets
-BIN = SuperVisionBase_CheckOfUndefined
-BIN_SRC =
-BIN_SERVER_IDL =
-
-CPPFLAGS+= $(PYTHON_INCLUDES) $(QT_MT_INCLUDES) $(VTK_INCLUDES) $(OGL_INCLUDES) \
- -I${KERNEL_ROOT_DIR}/include/salome
-CXXFLAGS= -g -D_DEBUG_ -D__x86__ -D__linux__ -ftemplate-depth-42 -Wall \
- -I${KERNEL_ROOT_DIR}/include/salome
-LDFLAGS= -L../../lib/salome $(CORBA_LIBS) -lSalomeNS -lSalomeLifeCycleCORBA -lOpUtil -lSALOMELocalTrace \
- -lc $(PYTHON_LIBS) $(QT_MT_LIBS) $(OGL_LIBS) \
- -L${KERNEL_ROOT_DIR}/lib/salome
-//LIBS += -Xlinker -export-dynamic $(PYTHON_LIBS)
-
-@CONCLUDE@
+++ /dev/null
-// SUPERV GraphBase : contains fondamental classes for Services, Input Ports, Output Ports Links and Nodes.
-//
-// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
-// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
-//
-// This library is free software; you can redistribute it and/or
-// modify it under the terms of the GNU Lesser General Public
-// License as published by the Free Software Foundation; either
-// version 2.1 of the License.
-//
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-// Lesser General Public License for more details.
-//
-// You should have received a copy of the GNU Lesser General Public
-// License along with this library; if not, write to the Free Software
-// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-//
-// See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
-//
-//
-//
-// File : SuperVisionBase_CheckOfUndefined.cxx
-// Module : SUPERV
-
-using namespace std;
-#include <iostream>
-#include <fstream>
-#include <unistd.h>
-
-#include "Utils_ORB_INIT.hxx"
-#include "Utils_SINGLETON.hxx"
-
-#include "SALOME_NamingService.hxx"
-#include "SALOME_LifeCycleCORBA.hxx"
-
-int _ArgC ;
-char ** _ArgV ;
-
-int main(int argc, char **argv) {
-
- Engines::Component_var objComponent ;
- CORBA::Any * anAny = new CORBA::Any() ;
- CORBA::Object_ptr obj ;
- char * IOR ;
-
- ORB_INIT &init = *SINGLETON_<ORB_INIT>::Instance() ;
- ASSERT(SINGLETON_<ORB_INIT>::IsAlreadyExisting()) ;
- CORBA::ORB_var &orb = init( argc , argv ) ;
-
- SALOME_NamingService * NamingService = new SALOME_NamingService( orb ) ;
-
- SALOME_LifeCycleCORBA LCC( NamingService ) ;
- objComponent = LCC.FindOrLoad_Component( "FactoryServer" , "AddComponent" );
- if ( CORBA::is_nil( objComponent ) ) {
- //cout << " LCC.FindOrLoad_Component( FactoryServer , AddComponent )" << endl;
- return 0 ;
- }
-
- *anAny <<= objComponent ;
- IOR = orb->object_to_string( objComponent );
- //cout << "objComponent " << objComponent << " IOR " << IOR << " nil " << CORBA::is_nil( objComponent )
- // << endl ;
-
- *anAny >>= obj ;
- IOR = orb->object_to_string( obj );
- //cout << "obj " << obj << " IOR " << IOR << " nil " << CORBA::is_nil( obj )
- // << endl ;
-
- return 0;
-}
-
+++ /dev/null
-// SUPERV GraphEditor : contains classes that permit edition of graphs
-//
-// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
-// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
-//
-// This library is free software; you can redistribute it and/or
-// modify it under the terms of the GNU Lesser General Public
-// License as published by the Free Software Foundation; either
-// version 2.1 of the License.
-//
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-// Lesser General Public License for more details.
-//
-// You should have received a copy of the GNU Lesser General Public
-// License along with this library; if not, write to the Free Software
-// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-//
-// See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
-//
-//
-//
-// File : DataFlowEditor_DataFlow.cxx
-// Module : SUPERV
-
-using namespace std;
-#include "DataFlowEditor_DataFlow.hxx"
-
-// Implementation de la classe GraphEditor::Graph
-
-GraphEditor::DataFlow::DataFlow() :
- OutNode() {
- cdebug_in << "GraphEditor::DataFlow::DataFlowEditor()" << endl;
-
- _theNamingService = NULL ;
- _DataFlowExecutor = NULL ;
- _ReadOnly = false ;
- _Executing = false ;
-
- cdebug_out << "GraphEditor::DataFlow::DataFlowEditor()" << endl;
-}
-
-//extern ostream * fdebug ;
-
-GraphEditor::DataFlow::DataFlow( CORBA::ORB_ptr ORB,
- SALOME_NamingService* ptrNamingService ,
- const char *DataFlowName ,
- const char * DebugFileName ,
- const SUPERV::KindOfNode aKindOfNode ) :
- OutNode( ORB, ptrNamingService , DataFlowName , DebugFileName , aKindOfNode ) {
-// cout << "GraphEditor::DataFlow::DataFlow(" ;
- cdebug_in << "GraphEditor::DataFlow::DataFlow(" ;
- if ( DataFlowName ) {
-// cout << DataFlowName << " , " << DebugFileName ;
- cdebug << DataFlowName << " , " << DebugFileName;
- }
-// cout << ")" << endl;
- cdebug << ")" << endl;
-
- _theNamingService = ptrNamingService ;
- _DataFlowExecutor = NULL ;
- _ReadOnly = false ;
- _Executing = false ;
-
- cdebug_out << "GraphEditor::DataFlow::DataFlow" << endl;
-// fdebug = new ofstream( DebugFileName ); // GraphBase::Base::_fdebug ;
-}
-
-GraphEditor::DataFlow::DataFlow(
- CORBA::ORB_ptr ORB,
- SALOME_NamingService* ptrNamingService ,
- const SALOME_ModuleCatalog::Service& DataFlowService ,
- const char *DataFlowComponentName ,
- const char *DataFlowInterfaceName ,
- const char *DataFlowName ,
- const SUPERV::KindOfNode DataFlowkind ,
- const SUPERV::SDate DataFlowFirstCreation ,
- const SUPERV::SDate DataFlowLastModification ,
- const char * DataFlowEditorRelease ,
- const char * DataFlowAuthor ,
- const char * DataFlowComputer ,
- const char * DataFlowComment ,
- const char * DebugFileName ) :
- OutNode( ORB, ptrNamingService , DataFlowService , DataFlowComponentName ,
- DataFlowInterfaceName , DataFlowName , DataFlowkind ,
- DataFlowFirstCreation , DataFlowLastModification ,
- DataFlowEditorRelease , DataFlowAuthor ,
- DataFlowComputer , DataFlowComment , DebugFileName ) {
- cdebug_in << "GraphEditor::DataFlow::DataFlow(" << DataFlowName << ")" << endl;
-
- _theNamingService = ptrNamingService ;
- _DataFlowExecutor = NULL ;
- _ReadOnly = false ;
- _Executing = false ;
-
- cdebug_out << "GraphEditor::DataFlow::DataFlow" << endl;
-} ;
-
-GraphEditor::DataFlow::~DataFlow() {
-// delete _DataFlowNode ;
-// delete _DataFlowDatas ;
-// delete _GT ;
-}
-
-#if 0
-GraphExecutor::DataFlow * GraphEditor::DataFlow::Run() {
- cdebug_in << "GraphEditor::DataFlow::Run" << endl;
- SUPERV::SGraph * theDataFlow ;
- GraphExecutor::DataFlow * aDataFlowExecutor ;
- theDataFlow = GetDataFlow() ;
- aDataFlowExecutor = new GraphExecutor::DataFlow( NamingService() ,
- theDataFlow->Info.theName ) ;
- if ( aDataFlowExecutor->LoadDataFlow( *theDataFlow ) ) {
- aDataFlowExecutor->Run() ;
- }
- else {
- MESSAGE( "GraphEditor::DataFlow::Run error while loading DataFlowExecutor")
- delete aDataFlowExecutor ;
- }
- cdebug_out << "GraphEditor::DataFlow::Run" << endl;
- return aDataFlowExecutor ;
-}
-#endif
-
+++ /dev/null
-// SUPERV GraphEditor : contains classes that permit edition of graphs
-//
-// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
-// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
-//
-// This library is free software; you can redistribute it and/or
-// modify it under the terms of the GNU Lesser General Public
-// License as published by the Free Software Foundation; either
-// version 2.1 of the License.
-//
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-// Lesser General Public License for more details.
-//
-// You should have received a copy of the GNU Lesser General Public
-// License along with this library; if not, write to the Free Software
-// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-//
-// See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
-//
-//
-//
-// File : DataFlowEditor_DataFlow.hxx
-// Module : SUPERV
-
-#ifndef _DATAFLOWEDITOR_DATAFLOW_HXX
-#define _DATAFLOWEDITOR_DATAFLOW_HXX
-
-//#include "DataFlowExecutor_DataFlow.hxx"
-
-#include "DataFlowExecutor_DataFlow.hxx"
-#include "DataFlowEditor_OutNode.hxx"
-
-namespace GraphEditor {
-
- class DataFlow : public GraphEditor::OutNode {
-
- private :
-
- SALOME_NamingService* _theNamingService ;
- GraphExecutor::DataFlow * _DataFlowExecutor ;
- bool _ReadOnly ;
- bool _Executing ;
- bool _EditedAfterExecution ;
-
- public:
-
- DataFlow();
- DataFlow( CORBA::ORB_ptr ORB, SALOME_NamingService * ptrNamingService ,
- const char * DataFlowName ,
- const char * DebugFileName ,
- const SUPERV::KindOfNode aKindOfNode );
- DataFlow( CORBA::ORB_ptr ORB, SALOME_NamingService * ptrNamingService ,
- const SALOME_ModuleCatalog::Service& DataFlowService ,
- const char * DataFlowComponentName ,
- const char * DataFlowInterfaceName ,
- const char * DataFlowName ,
- const SUPERV::KindOfNode DataFlowkind = SUPERV::ComputingNode ,
- const SUPERV::SDate DataFlowFirstCreation = SUPERV::SDate() ,
- const SUPERV::SDate DataFlowLastModification = SUPERV::SDate() ,
- const char * DataFlowEditorRelease = NULLSTRING ,
- const char * DataFlowAuthor = NULLSTRING ,
- const char * DataFlowComputer = NULLSTRING ,
- const char * DataFlowComment = NULLSTRING ,
- const char * DebugFileName = NULLSTRING ) ;
- virtual ~DataFlow();
-
- void ReadOnly() ;
- char * DataFlowInfo() ;
- char * DataNodeInfo() ;
- char * NodeInfo( const char * aNodeName ) ;
-
- bool LoadDataFlow( const GraphBase::SGraph * aDataFlow ) ;
- bool LoadXml( const char * myFileName ) ;
- bool LoadInfo( const GraphBase::SNode &aDataFlowInfo ) ;
-
- bool SaveXml(const char * myFileName ) ;
- bool SavePy(const char * myFileName ) ;
-
-
-// void DateModification() ;
-
- GraphBase::SGraph * GetDataFlow() ;
- GraphBase::SNode * GetInfo() const ;
- GraphBase::ListOfNodes * GetNodes() const ;
- GraphBase::ListOfLinks * GetLinks() const ;
- GraphBase::ListOfGraphs * GetGraphs() const ;
- GraphBase::ListOfLinks * GetDatas() const ;
- const SALOME_ModuleCatalog::Service * GetService() ;
-
- GraphEditor::InNode * AddService (
- SALOME_ModuleCatalog::Service& aService ,
- const char * NodeComponentName ,
- const char * NodeInterfaceName ) {
- return AddNode( aService , NodeComponentName ,
- NodeInterfaceName ) ; } ;
- GraphEditor::InNode * AddNode(
- const SALOME_ModuleCatalog::Service& NodeService ,
- const char * NodeComponentName ,
- const char * NodeInterfaceName ,
- const char * NodeName = NULLSTRING ,
- const SUPERV::KindOfNode NodeKindOfNode = SUPERV::ComputingNode ,
- GraphBase::ListOfFuncName aFuncName = GraphBase::ListOfFuncName() ,
- GraphBase::ListOfPythonFunctions aPythonFunction = GraphBase::ListOfPythonFunctions() ,
- const SUPERV::SDate NodeFirstCreation = SUPERV::SDate() ,
- const SUPERV::SDate NodeLastModification = SUPERV::SDate() ,
- const char * NodeEditorRelease = NULLSTRING ,
- const char * NodeAuthor = NULLSTRING ,
- const char * NodeComputer = NULLSTRING ,
- const char * NodeComment = NULLSTRING ,
- const int NodeX = 0 ,
- const int NodeY = 0 ) ;
- GraphEditor::InNode * GetNode( const char* NodeName ) ;
- bool RemoveNode( const char * NodeName ) ;
- bool ReNameNode( const char * OldNodeName ,
- const char * NewNodeName ) ;
-
- const SALOME_ModuleCatalog::Service * NodeService( const char * NodeName ) ;
-
- void Coordinates( const int X , const int Y ) ;
- const int XCoordinate() ;
- const int YCoordinate() ;
- void Coordinates( const char * NodeName , const int X , const int Y ) ;
- const int XCoordinate( const char * NodeName ) ;
- const int YCoordinate( const char * NodeName ) ;
-
- const GraphBase::InPort * GetInPort( const char * name ) ;
- const GraphBase::OutPort * GetOutPort( const char * name ) ;
- GraphBase::InPort * GetChangeInPort( const char * name ) ;
- GraphBase::OutPort * GetChangeOutPort( const char * name ) ;
-
- bool HasInput(const char * ToServiceParameterName ) ;
-
- bool AddLinkValue( const char * FromNodeName ,
- const char * FromServiceParameterName ,
- const char * ToNodeName ,
- const char * ToServiceParameterName ,
- const CORBA::Any aValue ) {
- return AddLink( FromNodeName, FromServiceParameterName , ToNodeName ,
- ToServiceParameterName , aValue ) ; } ;
- bool AddLink( const char * FromNodeName ,
- const char * FromServiceParameterName ,
- const char * ToNodeName ,
- const char * ToServiceParameterName ,
- const CORBA::Any aValue = CORBA::Any() ) ;
-
- bool RemoveLink( const char * FromNodeName ,
- const char * FromServiceParameterName ,
- const char * ToNodeName ,
- const char * ToServiceParameterName ) ;
-
- bool GetLink(const char * ToNodeName ,
- const char * ToServiceParameterName ,
- char ** FromNodeName ,
- char ** FromServiceParameterName ) ;
- GraphBase::SLink * GetLink( GraphBase::ComputingNode * aNode ,
- const char* ToServiceParameterName ) ;
-
- bool AddLinkCoord( const char * FromNodeName ,
- const char * FromServiceParameterName ,
- const char * ToNodeName ,
- const char * ToServiceParameterName ,
- const int nXY ,
- const int * X ,
- const int * Y ) ;
- bool AddLinkCoord( const char * FromNodeName ,
- const char * FromServiceParameterName ,
- const char * ToNodeName ,
- const char * ToServiceParameterName ,
- const int index ,
- const int X ,
- const int Y ) ;
- bool ChangeLinkCoord( const char * FromNodeName ,
- const char * FromServiceParameterName ,
- const char * ToNodeName ,
- const char * ToServiceParameterName ,
- const int index ,
- const int X ,
- const int Y ) ;
- bool RemoveLinkCoord( const char * FromNodeName ,
- const char * FromServiceParameterName ,
- const char * ToNodeName ,
- const char * ToServiceParameterName ,
- const int index ) ;
- int GetLinkCoordSize( const char * FromNodeName ,
- const char * FromServiceParameterName ,
- const char * ToNodeName ,
- const char * ToServiceParameterName ) ;
- bool GetLinkCoord( const char * FromNodeName ,
- const char * FromServiceParameterName ,
- const char * ToNodeName ,
- const char * ToServiceParameterName ,
- int * X , int * Y ) ;
- bool GetLinkCoord( const char * FromNodeName ,
- const char * FromServiceParameterName ,
- const char * ToNodeName ,
- const char * ToServiceParameterName ,
- const int index , long &X , long &Y ) ;
-
- bool AddInputData( const char * ToNodeName ,
- const char * ToParameterName ,
- const CORBA::Any aValue = CORBA::Any() ) ;
- bool AddInputSharedData( const char * ToNodeName1 ,
- const char * ToParameterName1 ,
- const char * ToNodeName2 ,
- const char * ToParameterName2 ) ;
-
- const CORBA::Any * GetInData( const char * ToNodeName ,
- const char * ToParameterName ) ;
- const CORBA::Any * GetOutData( const char * FromNodeName ,
- const char * FromParameterName ) ;
-
- bool IsValid() ;
- bool IsExecutable() ;
-
- bool IsExecuting() ;
- bool IsEditing() ;
- void EditedAfterExecution(bool EditedAfterExecution ) ;
- bool EditedAfterExecution() ;
-
- bool IsReadOnly() ;
-
- long LevelMax() ;
- SUPERV::ListOfStrings * LevelNodes(long aLevel ) ;
- long ThreadsMax() ;
- long SubGraphsNumber() ;
- long SubStreamGraphsNumber() ;
-
- void Executor(GraphExecutor::DataFlow * DataFlowExecutor ) ;
- GraphExecutor::DataFlow * GraphEditor::DataFlow::Executor() const ;
-
- };
-
-};
-
-#include "DataFlowEditor_DataFlow.lxx"
-
-ostream & operator << (ostream &,const GraphEditor::DataFlow & G);
-ostream & operator << (ostream &,const SUPERV::SDate &);
-
-#endif
-
-
-
+++ /dev/null
-// SUPERV GraphEditor : contains classes that permit edition of graphs
-//
-// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
-// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
-//
-// This library is free software; you can redistribute it and/or
-// modify it under the terms of the GNU Lesser General Public
-// License as published by the Free Software Foundation; either
-// version 2.1 of the License.
-//
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-// Lesser General Public License for more details.
-//
-// You should have received a copy of the GNU Lesser General Public
-// License along with this library; if not, write to the Free Software
-// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-//
-// See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
-//
-//
-//
-// File : DataFlowEditor_DataFlow.lxx
-// Module : SUPERV
-
-#ifndef _DATAFLOWEDITOR_DATAFLOW_LXX
-#define _DATAFLOWEDITOR_DATAFLOW_LXX
-
-#include "DataFlowEditor_OutNode.hxx"
-
-inline void GraphEditor::DataFlow::ReadOnly() {
- _ReadOnly = true ;
-}
-
-inline char * GraphEditor::DataFlow::DataFlowInfo() {
- ostringstream s;
- IsValid() ;
- GraphEditor::DataFlow::DataFlow aDataFlow = *this ;
- s << aDataFlow << ends ;
- return CORBA::string_dup( s.str().c_str() );
-}
-
-inline char * GraphEditor::DataFlow::DataNodeInfo() {
- ostringstream s;
- IsValid() ;
- Graph()->DataNodeInfo( s ) ;
- return CORBA::string_dup( s.str().c_str() );
-}
-
-inline char * GraphEditor::DataFlow::NodeInfo( const char * aNodeName ) {
- ostringstream s;
- if ( Graph()->GetGraphNode( aNodeName ) )
- Graph()->GetGraphNode( aNodeName )->NodeInfo( s ) ;
- else
- s << aNodeName << " not found" << ends ;
- return CORBA::string_dup( s.str().c_str() );
-}
-
-inline bool GraphEditor::DataFlow::LoadDataFlow( const GraphBase::SGraph *aDataFlow ) {
- if ( _ReadOnly )
- return false ;
- _EditedAfterExecution = true ;
- return GraphEditor::OutNode::LoadDataFlow( aDataFlow ) ;
-} ;
-
-inline bool GraphEditor::DataFlow::LoadXml( const char* myFileName ) {
- if ( _ReadOnly )
- return false ;
- _EditedAfterExecution = true ;
- return GraphEditor::OutNode::LoadXml( myFileName ) ;
-} ;
-
-inline bool GraphEditor::DataFlow::LoadInfo( const GraphBase::SNode &aDataFlowInfo ) {
- if ( _ReadOnly )
- return false ;
- _EditedAfterExecution = true ;
- return GraphEditor::OutNode::LoadInfo( aDataFlowInfo ) ;
-} ;
-
-inline bool GraphEditor::DataFlow::SaveXml(const char* myFileName ) {
- return GraphEditor::OutNode::SaveXml( myFileName ) ;
-} ;
-
-inline bool GraphEditor::DataFlow::SavePy(const char* myFileName ) {
- return GraphEditor::OutNode::SavePy( myFileName ) ;
-} ;
-
-// get all DataFlow informations (for a .XML file) :
-inline GraphBase::SGraph * GraphEditor::DataFlow::GetDataFlow() {
- return GraphEditor::OutNode::GetDataFlow() ;
-} ;
-
-// void DateModification() ;
-
-//inline GraphBase::SNode * GraphEditor::DataFlow::GetInfo() const {
-// return GraphEditor::OutNode::GetInfo() ;
-//} ;
-
-inline GraphBase::ListOfNodes * GraphEditor::DataFlow::GetNodes() const {
- return Graph()->GetNodes() ;
-} ;
-
-inline GraphBase::ListOfLinks * GraphEditor::DataFlow::GetLinks() const {
- return Graph()->GetLinks() ;
-} ;
-
-inline GraphBase::ListOfGraphs * GraphEditor::DataFlow::GetGraphs() const {
- return Graph()->GetGraphs() ;
-} ;
-
-inline GraphBase::ListOfLinks * GraphEditor::DataFlow::GetDatas() const {
- return Graph()->GetDatas() ;
-} ;
-
-inline const SALOME_ModuleCatalog::Service * GraphEditor::DataFlow::GetService() {
- IsValid() ;
- return Graph()->GetService() ;
-} ;
-
-inline GraphEditor::InNode * GraphEditor::DataFlow::AddNode(
- const SALOME_ModuleCatalog::Service& NodeService ,
- const char* NodeComponentName ,
- const char* NodeInterfaceName ,
- const char* NodeName,
- const SUPERV::KindOfNode NodeKindOfNode,
- GraphBase::ListOfFuncName aFuncName ,
- GraphBase::ListOfPythonFunctions aPythonFunction ,
- const SUPERV::SDate NodeFirstCreation,
- const SUPERV::SDate NodeLastModification,
- const char * NodeEditorRelease,
- const char * NodeAuthor,
- const char * NodeComputer,
- const char * NodeComment,
- const int NodeX,
- const int NodeY) {
- if ( NodeName != NULLSTRING && strlen( NodeName ) ) {
-// MESSAGE( "--> GraphEditor::DataFlow::AddNode( " << NodeName << " )" ) ;
-// cout << "--> GraphEditor::DataFlow::AddNode( " << NodeName << " )" << endl ;
- cdebug_in << "GraphEditor::DataFlow::AddNode( " << NodeName << " )" << endl ;
- }
- else {
-// MESSAGE( "--> GraphEditor::DataFlow::AddNode( NULL )" ) ;
-// cout << "--> GraphEditor::DataFlow::AddNode( NULL )" << endl ;
- NodeName = NULLSTRING ;
- cdebug_in << "GraphEditor::DataFlow::AddNode( NULL )" << endl ;
- }
- if ( _ReadOnly ) {
- return (GraphEditor::InNode * ) NULL ;
- }
- _EditedAfterExecution = true ;
- GraphEditor::InNode * aNode = GraphEditor::OutNode::AddNode( NodeService ,
- aFuncName , aPythonFunction ,
- NodeComponentName ,
- NodeInterfaceName ,
- NodeName , NodeKindOfNode ,
- NodeFirstCreation ,
- NodeLastModification ,
- NodeEditorRelease ,
- NodeAuthor , NodeComputer ,
- NodeComment , NodeX , NodeY ) ;
-// MESSAGE( "<-- GraphEditor::DataFlow::AddNode( " << aNode->Name() << " )" ) ;
-// cout << "<-- GraphEditor::DataFlow::AddNode( " << aNode->Name() << " )" << endl ;
- cdebug_out << "GraphEditor::DataFlow::AddNode( " << aNode->Name() << " )" << endl ;
- return aNode ;
-} ;
-
-inline GraphEditor::InNode * GraphEditor::DataFlow::GetNode( const char* NodeName ) {
- return GraphEditor::OutNode::GetNode( NodeName ) ;
-} ;
-
-inline bool GraphEditor::DataFlow::RemoveNode( const char* NodeName ) {
- if ( _ReadOnly ) {
- return false ;
- }
- _EditedAfterExecution = true ;
- return GraphEditor::OutNode::RemoveNode( NodeName ) ;
-} ;
-
-inline bool GraphEditor::DataFlow::ReNameNode( const char* OldNodeName ,
- const char* NewNodeName ) {
- if ( _ReadOnly ) {
- return false ;
- }
- _EditedAfterExecution = true ;
- return GraphEditor::OutNode::ReNameNode( OldNodeName , NewNodeName ) ;
-} ;
-
-inline const SALOME_ModuleCatalog::Service * GraphEditor::DataFlow::NodeService(
- const char * aNodeName ) {
- if ( Graph()->GetGraphNode( aNodeName ) ) {
- return Graph()->GetGraphNode( aNodeName )->GetService() ;
- }
- return NULL ;
-}
-
-inline void GraphEditor::DataFlow::Coordinates( const int X , const int Y ) {
- _EditedAfterExecution = true ;
- return GraphEditor::OutNode::Coordinates( X , Y ) ;
-} ;
-
-inline const int GraphEditor::DataFlow::XCoordinate() {
- return GraphEditor::OutNode::XCoordinate() ;
-} ;
-
-inline const int GraphEditor::DataFlow::YCoordinate() {
- return GraphEditor::OutNode::YCoordinate() ;
-} ;
-
-inline void GraphEditor::DataFlow::Coordinates( const char* NodeName ,
- const int X , const int Y ) {
- return GraphEditor::OutNode::Coordinates( NodeName , X , Y ) ;
-} ;
-
-inline const int GraphEditor::DataFlow::XCoordinate( const char* NodeName ) {
- return GraphEditor::OutNode::XCoordinate( NodeName ) ;
-} ;
-
-inline const int GraphEditor::DataFlow::YCoordinate( const char* NodeName ) {
- return GraphEditor::OutNode::YCoordinate( NodeName ) ;
-} ;
-
-inline const GraphBase::InPort *GraphEditor::DataFlow::GetInPort( const char *name ) {
- return GraphEditor::OutNode::GetInPort( name ) ;
-}
-inline const GraphBase::OutPort *GraphEditor::DataFlow::GetOutPort( const char *name ) {
- return GraphEditor::OutNode::GetOutPort( name ) ;
-}
-inline GraphBase::InPort *GraphEditor::DataFlow::GetChangeInPort( const char *name ) {
- return GraphEditor::OutNode::GetChangeInPort( name ) ;
-}
-inline GraphBase::OutPort *GraphEditor::DataFlow::GetChangeOutPort( const char *name ) {
- return GraphEditor::OutNode::GetChangeOutPort( name ) ;
-}
-
-inline bool GraphEditor::DataFlow::HasInput(const char * ToServiceParameterName ) {
- return GraphEditor::OutNode::HasInput( ToServiceParameterName ) ;
-}
-
-inline bool GraphEditor::DataFlow::AddLink( const char* FromNodeName ,
- const char* FromServiceParameterName ,
- const char* ToNodeName ,
- const char* ToServiceParameterName ,
- const CORBA::Any aValue ) {
- if ( !_ReadOnly ) {
- GraphEditor::InNode * aFromNode = GetNode( FromNodeName ) ;
- if ( aFromNode ) {
- GraphBase::OutPort * anOutPort = aFromNode->GetChangeOutPort( FromServiceParameterName ) ;
- if ( anOutPort ) {
- CORBA::Any const * theValue = anOutPort->Value() ; // Keep the type !
- _EditedAfterExecution = true ;
- return GraphEditor::OutNode::AddLink( FromNodeName ,
- FromServiceParameterName ,
- ToNodeName ,
- ToServiceParameterName ,
- *theValue ) ;
- }
- }
- }
- return false ;
-} ;
-
-inline bool GraphEditor::DataFlow::GetLink(const char* ToNodeName ,
- const char* ToServiceParameterName ,
- char** FromNodeName ,
- char** FromServiceParameterName ) {
- return GraphEditor::OutNode::GetLink( ToNodeName , ToServiceParameterName ,
- FromNodeName ,
- FromServiceParameterName ) ;
-}
-
-inline GraphBase::SLink * GraphEditor::DataFlow::GetLink(
- GraphBase::ComputingNode * aNode ,
- const char* ToServiceParameterName ) {
- return Graph()->GetLink( aNode , aNode->GetChangeInPort( ToServiceParameterName ) ) ;
-}
-
-inline bool GraphEditor::DataFlow::AddLinkCoord(
- const char* FromNodeName ,
- const char* FromServiceParameterName ,
- const char* ToNodeName ,
- const char* ToServiceParameterName ,
- const int nXY ,
- const int* X ,
- const int* Y ) {
- _EditedAfterExecution = true ;
- return GraphEditor::OutNode::AddLinkCoord( FromNodeName ,
- FromServiceParameterName ,
- ToNodeName ,
- ToServiceParameterName ,
- nXY , X , Y ) ;
-} ;
-
-inline bool GraphEditor::DataFlow::AddLinkCoord(
- const char* FromNodeName ,
- const char* FromServiceParameterName ,
- const char* ToNodeName ,
- const char* ToServiceParameterName ,
- const int index ,
- const int X ,
- const int Y ) {
- _EditedAfterExecution = true ;
- return GraphEditor::OutNode::AddLinkCoord( FromNodeName ,
- FromServiceParameterName ,
- ToNodeName ,
- ToServiceParameterName ,
- index , X , Y ) ;
-} ;
-
-inline bool GraphEditor::DataFlow::ChangeLinkCoord(
- const char* FromNodeName ,
- const char* FromServiceParameterName ,
- const char* ToNodeName ,
- const char* ToServiceParameterName ,
- const int index ,
- const int X ,
- const int Y ) {
- _EditedAfterExecution = true ;
- return GraphEditor::OutNode::ChangeLinkCoord( FromNodeName ,
- FromServiceParameterName ,
- ToNodeName ,
- ToServiceParameterName ,
- index , X , Y ) ;
-} ;
-
-inline bool GraphEditor::DataFlow::RemoveLinkCoord(
- const char* FromNodeName ,
- const char* FromServiceParameterName ,
- const char* ToNodeName ,
- const char* ToServiceParameterName ,
- const int index ) {
- _EditedAfterExecution = true ;
- return GraphEditor::OutNode::RemoveLinkCoord( FromNodeName ,
- FromServiceParameterName ,
- ToNodeName ,
- ToServiceParameterName ,
- index ) ;
-} ;
-
-inline int GraphEditor::DataFlow::GetLinkCoordSize(
- const char* FromNodeName ,
- const char* FromServiceParameterName ,
- const char* ToNodeName ,
- const char* ToServiceParameterName ) {
- return GraphEditor::OutNode::GetLinkCoordSize( FromNodeName ,
- FromServiceParameterName ,
- ToNodeName ,
- ToServiceParameterName ) ;
-} ;
-
-inline bool GraphEditor::DataFlow::GetLinkCoord(
- const char* FromNodeName ,
- const char* FromServiceParameterName ,
- const char* ToNodeName ,
- const char* ToServiceParameterName ,
- int *X , int *Y ) {
- return GraphEditor::OutNode::GetLinkCoord( FromNodeName ,
- FromServiceParameterName ,
- ToNodeName ,
- ToServiceParameterName ,
- X , Y ) ;
-} ;
-
-inline bool GraphEditor::DataFlow::GetLinkCoord(
- const char* FromNodeName ,
- const char* FromServiceParameterName ,
- const char* ToNodeName ,
- const char* ToServiceParameterName ,
- const int index , long &X , long &Y ) {
- return GraphEditor::OutNode::GetLinkCoord( FromNodeName ,
- FromServiceParameterName ,
- ToNodeName ,
- ToServiceParameterName ,
- index , X , Y ) ;
-} ;
-
-inline bool GraphEditor::DataFlow::RemoveLink(
- const char* FromNodeName ,
- const char* FromServiceParameterName ,
- const char* ToNodeName ,
- const char* ToServiceParameterName ) {
- if ( _ReadOnly ) {
- return false ;
- }
- _EditedAfterExecution = true ;
- return GraphEditor::OutNode::RemoveLink( FromNodeName ,
- FromServiceParameterName ,
- ToNodeName ,
- ToServiceParameterName ) ;
-} ;
-
-inline bool GraphEditor::DataFlow::AddInputData( const char* ToNodeName ,
- const char* ToParameterName ,
- const CORBA::Any aValue ) {
-#if 0
- GraphBase::Node *toNode ;
- GraphBase::InPort *toPort ;
- char *aNode ;
- char *aPort ;
- NodePort( ToNodeName , ToParameterName , &aNode , &aPort ) ;
- toNode = GetChangeGraphNode( aNode ) ;
- if ( toNode ) {
- toPort = toNode->GetChangeInPort( aPort ) ;
- if ( toPort && ( toPort->IsConnected() ||
- toPort->IsDataConnected() ) ) {
- RemoveLink( toNode->Name() , toPort->PortName() ) ;
- }
- }
- else {
- toPort = NULL ;
- }
- delete aNode ;
- delete aPort ;
-#endif
- if ( !IsValid() ) {
- return false ;
- }
- return Graph()->AddInputData( ToNodeName , ToParameterName , aValue ) ;
-} ;
-
-inline bool GraphEditor::DataFlow::AddInputSharedData(const char* ToNodeName1 ,
- const char* ToParameterName1 ,
- const char* ToNodeName2 ,
- const char* ToParameterName2 ) {
- if ( !IsValid() ) {
- return false ;
- }
- return GraphEditor::OutNode::AddInputData( ToNodeName1 , ToParameterName1 ,
- ToNodeName2 , ToParameterName2 ) ;
-} ;
-
-inline const CORBA::Any *GraphEditor::DataFlow::GetInData(
- const char * ToNodeName ,
- const char * ToParameterName ) {
- return GraphEditor::OutNode::GetInData( ToNodeName ,
- ToParameterName ) ;
-}
-inline const CORBA::Any *GraphEditor::DataFlow::GetOutData(
- const char * FromNodeName ,
- const char * FromParameterName ) {
- return GraphEditor::OutNode::GetOutData( FromNodeName ,
- FromParameterName ) ;
-}
-
-inline bool GraphEditor::DataFlow::IsValid() {
- return GraphEditor::OutNode::IsValid() ;
-}
-
-inline bool GraphEditor::DataFlow::IsExecutable() {
- return GraphEditor::OutNode::IsExecutable() ;
-}
-
-inline bool GraphEditor::DataFlow::IsExecuting() {
- if ( _DataFlowExecutor ) {
- if ( _DataFlowExecutor->IsDone() ) {
- _Executing = false ;
- }
- else {
- _Executing = true ;
- }
- }
- else {
- _Executing = false ;
- }
- return _Executing ;
-}
-
-inline bool GraphEditor::DataFlow::IsEditing() {
- return !IsExecuting() ;
-}
-
-inline void GraphEditor::DataFlow::EditedAfterExecution(bool EditedAfterExecution ) {
- _EditedAfterExecution = EditedAfterExecution ;
-}
-
-inline bool GraphEditor::DataFlow::EditedAfterExecution() {
- return _EditedAfterExecution ;
-}
-
-inline bool GraphEditor::DataFlow::IsReadOnly() {
- return _ReadOnly ;
-}
-
-inline long GraphEditor::DataFlow::LevelMax() {
- if ( !IsValid() ) {
- return 0 ;
- }
- return Graph()->LevelMax() ;
-}
-
-inline SUPERV::ListOfStrings * GraphEditor::DataFlow::LevelNodes(long aLevel ) {
- if ( !IsValid() ) {
- return ((SUPERV::ListOfStrings * ) NULL ) ;
- }
- return Graph()->LevelNodes( aLevel ) ;
-}
-
-inline long GraphEditor::DataFlow::ThreadsMax() {
- if ( !IsValid() ) {
- return 0 ;
- }
- return Graph()->ThreadsMax() ;
-}
-
-inline long GraphEditor::DataFlow::SubGraphsNumber() {
- if ( !IsValid() ) {
- return 0 ;
- }
- return Graph()->SubGraphsNumber() ;
-}
-
-inline long GraphEditor::DataFlow::SubStreamGraphsNumber() {
- if ( !IsValid() ) {
- return 0 ;
- }
- return StreamGraph()->SubStreamGraphsNumber() ;
-}
-
-inline void GraphEditor::DataFlow::Executor(
- GraphExecutor::DataFlow * DataFlowExecutor ) {
- _Executing = true ;
- _DataFlowExecutor = DataFlowExecutor ;
-}
-
-inline GraphExecutor::DataFlow * GraphEditor::DataFlow::Executor() const {
- return _DataFlowExecutor ;
-}
-
-#endif
-
-
-
+++ /dev/null
-// SUPERV GraphEditor : contains classes that permit edition of graphs
-//
-// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
-// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
-//
-// This library is free software; you can redistribute it and/or
-// modify it under the terms of the GNU Lesser General Public
-// License as published by the Free Software Foundation; either
-// version 2.1 of the License.
-//
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-// Lesser General Public License for more details.
-//
-// You should have received a copy of the GNU Lesser General Public
-// License along with this library; if not, write to the Free Software
-// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-//
-// See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
-//
-//
-//
-// File : DataFlowEditor_InNode.cxx
-// Module : SUPERV
-
-using namespace std;
-//#include <string.h>
-//#include <sstream>
-//#include <iostream>
-
-#include "DataFlowEditor_InNode.hxx"
-
-GraphEditor::InNode::InNode() {
-}
-
-//ostream * fdebug = NULL ;
-GraphEditor::InNode::InNode( CORBA::ORB_ptr ORB,
- SALOME_NamingService * ptrNamingService ,
- GraphBase::ListOfFuncName aFuncName ,
- GraphBase::ListOfPythonFunctions aPythonFunction ,
- const SALOME_ModuleCatalog::Service& aService ,
- const char * ComponentName ,
- const char * NodeInterfaceName ,
- const char * NodeName ,
- const SUPERV::KindOfNode akind ,
- const SUPERV::SDate NodeFirstCreation ,
- const SUPERV::SDate NodeLastModification ,
- const char * NodeEditorRelease ,
- const char * NodeAuthor ,
- const char * NodeComputer ,
- const char * NodeComment ,
- const bool GeneratedName ,
- const int X ,
- const int Y ,
- int * Graph_prof_debug,
- ofstream * Graph_fdebug) {
- SetDebug( ORB , Graph_prof_debug , Graph_fdebug ) ;
-// cout << "GraphEditor::InNode::InNode GraphBase::Base::_fdebug " << GraphBase::Base::_fdebug << endl ;
- cdebug_in << "GraphEditor::InNode::InNode" << endl ;
-// if ( GraphBase::Base::_fdebug )
-// *GraphBase::Base::_fdebug << endl << "xxx-->" << " " << "GraphEditor::InNode::InNode" << endl ;
-// if ( fdebug )
-// (*fdebug) << endl << "xxxxxx-->" << " " << "GraphEditor::InNode::InNode" << endl ;
-// cout << "GraphEditor::InNode::InNode GraphBase::Base::_fdebug " << GraphBase::Base::_fdebug << endl ;
- _ComputingNode = NULL ;
- _FactoryNode = NULL ;
- _InLineNode = NULL ;
- _GOTONode = NULL ;
- _LoopNode = NULL ;
- _EndOfLoopNode = NULL ;
- _SwitchNode = NULL ;
- _EndOfSwitchNode = NULL ;
- switch ( akind ) {
- case SUPERV::ComputingNode : {
- cdebug << "GraphEditor::InNode::InNode SUPERV::ComputingNode : " << NodeName << endl ;
- _ComputingNode = new GraphBase::ComputingNode( ORB , ptrNamingService , aService ,
- NodeName , akind ,
- NodeFirstCreation ,
- NodeLastModification ,
- NodeEditorRelease , NodeAuthor ,
- NodeComment , GeneratedName ,
- X , Y ,
- Graph_prof_debug , Graph_fdebug ) ;
- break ;
- }
- case SUPERV::FactoryNode : {
-// cout << "GraphEditor::InNode::InNode SUPERV::FactoryNode : " << NodeName << endl ;
- cdebug << "GraphEditor::InNode::InNode SUPERV::FactoryNode : " << NodeName << endl ;
- _FactoryNode = new GraphBase::FactoryNode( ORB , ptrNamingService , aService ,
- ComponentName , NodeInterfaceName ,
- NodeName , akind ,
- NodeFirstCreation ,
- NodeLastModification ,
- NodeEditorRelease , NodeAuthor ,
- NodeComputer , NodeComment ,
- GeneratedName , X , Y ,
- Graph_prof_debug , Graph_fdebug ) ;
-// cout << "GraphEditor::InNode::InNode SUPERV::FactoryNode : " << NodeName << endl ;
- _ComputingNode = (GraphBase::ComputingNode *) _FactoryNode ;
- break ;
- }
- case SUPERV::InLineNode : {
- cdebug << "GraphEditor::InNode::InNode SUPERV::InLineNode : " << NodeName << endl ;
- _InLineNode = new GraphBase::InLineNode( ORB , ptrNamingService ,
- aFuncName[0].c_str() , *aPythonFunction[0] ,
- NodeName , akind ,
- NodeFirstCreation , NodeLastModification ,
- NodeEditorRelease , NodeAuthor ,
- NodeComment , GeneratedName ,
- X , Y ,
- Graph_prof_debug , Graph_fdebug ) ;
- _ComputingNode = (GraphBase::ComputingNode *) _InLineNode ;
- break ;
- }
- case SUPERV::GOTONode : {
- cdebug << "GraphEditor::InNode::InNode SUPERV::GOTONode : " << NodeName << endl ;
- _GOTONode = new GraphBase::GOTONode( ORB , ptrNamingService ,
- aFuncName[0].c_str() , *aPythonFunction[0] ,
- NodeName , akind ,
- NodeFirstCreation , NodeLastModification ,
- NodeEditorRelease , NodeAuthor ,
- NodeComment , GeneratedName ,
- X , Y ,
- Graph_prof_debug , Graph_fdebug ) ;
- _ComputingNode = (GraphBase::ComputingNode *) _GOTONode ;
- _InLineNode = (GraphBase::InLineNode *) _ComputingNode ;
- break ;
- }
- case SUPERV::LoopNode : {
- cdebug << "GraphEditor::InNode::InNode SUPERV::LoopNode : " << NodeName << endl ;
- _LoopNode = new GraphBase::LoopNode( ORB , ptrNamingService ,
- aFuncName[0].c_str() , *aPythonFunction[0] ,
- aFuncName[1].c_str() , *aPythonFunction[1] ,
- aFuncName[2].c_str() , *aPythonFunction[2] ,
- NodeName , akind ,
- NodeFirstCreation , NodeLastModification ,
- NodeEditorRelease , NodeAuthor ,
- NodeComment , GeneratedName ,
- X , Y ,
- Graph_prof_debug , Graph_fdebug ) ;
- _ComputingNode = (GraphBase::ComputingNode *) _LoopNode ;
- _GOTONode = (GraphBase::GOTONode *) _ComputingNode ;
- _InLineNode = (GraphBase::InLineNode *) _ComputingNode ;
- break ;
- }
- case SUPERV::EndLoopNode : {
- cdebug << "GraphEditor::InNode::InNode SUPERV::EndOfLoopNode : " << NodeName << endl ;
- _EndOfLoopNode = new GraphBase::EndOfLoopNode(
- ORB , ptrNamingService ,
- aFuncName[0].c_str() , *aPythonFunction[0] ,
- NodeName , akind ,
- NodeFirstCreation , NodeLastModification ,
- NodeEditorRelease , NodeAuthor ,
- NodeComment , GeneratedName ,
- X , Y ,
- Graph_prof_debug , Graph_fdebug ) ;
- _ComputingNode = (GraphBase::ComputingNode *) _EndOfLoopNode ;
- _GOTONode = (GraphBase::GOTONode *) _ComputingNode ;
- _InLineNode = (GraphBase::InLineNode *) _ComputingNode ;
- break ;
- }
- case SUPERV::SwitchNode : {
- cdebug << "GraphEditor::InNode::InNode SUPERV::SwitchNode : " << NodeName << endl ;
- _SwitchNode = new GraphBase::SwitchNode( ORB , ptrNamingService ,
- aFuncName[0].c_str() , *aPythonFunction[0] ,
- NodeName , akind ,
- NodeFirstCreation , NodeLastModification ,
- NodeEditorRelease , NodeAuthor ,
- NodeComment , GeneratedName ,
- X , Y ,
- Graph_prof_debug , Graph_fdebug ) ;
- _ComputingNode = (GraphBase::ComputingNode *) _SwitchNode ;
- _GOTONode = (GraphBase::GOTONode *) _ComputingNode ;
- _InLineNode = (GraphBase::InLineNode *) _ComputingNode ;
- break ;
- }
- case SUPERV::EndSwitchNode : {
- cdebug << "GraphEditor::InNode::InNode SUPERV::EndOfSwitchNode : " << NodeName << endl ;
- _EndOfSwitchNode = new GraphBase::EndOfSwitchNode(
- ORB , ptrNamingService ,
- aFuncName[0].c_str() , *aPythonFunction[0] ,
- NodeName , akind ,
- NodeFirstCreation , NodeLastModification ,
- NodeEditorRelease , NodeAuthor ,
- NodeComment , GeneratedName ,
- X , Y ,
- Graph_prof_debug , Graph_fdebug ) ;
- _ComputingNode = (GraphBase::ComputingNode *) _EndOfSwitchNode ;
- _GOTONode = (GraphBase::GOTONode *) _ComputingNode ;
- _InLineNode = (GraphBase::InLineNode *) _ComputingNode ;
- break ;
- }
- case SUPERV::DataFlowGraph : {
- cdebug << "GraphEditor::InNode::InNode ERROR SUPERV::DataFlowGraph : " << NodeName << endl ;
- }
- case SUPERV::DataStreamGraph : {
- cdebug << "GraphEditor::InNode::InNode ERROR SUPERV::DataStreamGraph : " << NodeName << endl ;
- }
- case SUPERV::UnknownNode : {
- cdebug << "GraphEditor::InNode::InNode ERROR SUPERV::UnknownNode : " << NodeName << endl ;
- }
- }
- _ComputingNode->InNode( this ) ;
- cdebug_out << "GraphEditor::InNode::InNode " << (void *) this
- << " _ComputingNode " << (void *) _ComputingNode << endl ;
-}
-
-GraphEditor::InNode::~InNode() {
-}
-
+++ /dev/null
-// SUPERV GraphEditor : contains classes that permit edition of graphs
-//
-// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
-// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
-//
-// This library is free software; you can redistribute it and/or
-// modify it under the terms of the GNU Lesser General Public
-// License as published by the Free Software Foundation; either
-// version 2.1 of the License.
-//
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-// Lesser General Public License for more details.
-//
-// You should have received a copy of the GNU Lesser General Public
-// License along with this library; if not, write to the Free Software
-// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-//
-// See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
-//
-//
-//
-// File : DataFlowEditor_InNode.hxx
-// Module : SUPERV
-
-#ifndef _DATAFLOWEDITOR_INNODE_HXX
-#define _DATAFLOWEDITOR_INNODE_HXX
-
-#include "DataFlowBase_FactoryNode.hxx"
-#include "DataFlowBase_GOTONode.hxx"
-#include "DataFlowBase_LoopNode.hxx"
-#include "DataFlowBase_EndOfLoopNode.hxx"
-#include "DataFlowBase_SwitchNode.hxx"
-#include "DataFlowBase_EndOfSwitchNode.hxx"
-
-namespace GraphEditor {
-
- class InNode : public GraphBase::Base {
-
- private:
-
- GraphBase::ComputingNode * _ComputingNode ;
- GraphBase::FactoryNode * _FactoryNode ;
- GraphBase::InLineNode * _InLineNode ;
- GraphBase::GOTONode * _GOTONode ;
- GraphBase::LoopNode * _LoopNode ;
- GraphBase::EndOfLoopNode * _EndOfLoopNode ;
- GraphBase::SwitchNode * _SwitchNode ;
- GraphBase::EndOfSwitchNode * _EndOfSwitchNode ;
-
- public:
-
- InNode() ;
- InNode( CORBA::ORB_ptr ORB,
- SALOME_NamingService* ptrNamingService ,
- GraphBase::ListOfFuncName aFuncName ,
- GraphBase::ListOfPythonFunctions aPythonFunction ,
- const SALOME_ModuleCatalog::Service& NodeService ,
- const char *NodeComponentName ,
- const char* NodeInterfaceName ,
- const char *NodeName ,
- const SUPERV::KindOfNode akind ,
- const SUPERV::SDate NodeFirstCreation ,
- const SUPERV::SDate NodeLastModification ,
- const char * NodeEditorRelease ,
- const char * NodeAuthor ,
- const char * NodeComputer ,
- const char * NodeComment ,
- const bool GeneratedName ,
- const int NodeX ,
- const int NodeY ,
- int * Graph_prof_debug = NULL ,
- ofstream * Graph_fdebug = NULL ) ;
- virtual ~InNode() ;
-
- char * Name() const { return _ComputingNode->Name() ; } ;
- const char *const * NamePtr() const {
- return _ComputingNode->NamePtr() ; } ;
-
- SUPERV::KindOfNode Kind() const {
- return _ComputingNode->Kind() ; } ;
- const bool IsComputingNode() const {
- return _ComputingNode->IsComputingNode() ; } ;
- const bool IsFactoryNode() const {
- return _ComputingNode->IsFactoryNode() ; } ;
- const bool IsInLineNode() const {
- return _ComputingNode->IsInLineNode() ; } ;
- const bool IsOneOfInLineNodes() const {
- return _ComputingNode->IsOneOfInLineNodes() ; } ;
- const bool IsOneOfGOTONodes() const {
- return _ComputingNode->IsOneOfGOTONodes() ; } ;
- const bool IsDataFlowNode() const {
- return _ComputingNode->IsDataFlowNode() ; } ;
- const bool IsDataStreamNode() const {
- return _ComputingNode->IsDataStreamNode() ; } ;
- const bool IsGOTONode() const {
- return _ComputingNode->IsGOTONode() ; } ;
- const bool IsLoopNode() const {
- return _ComputingNode->IsLoopNode() ; } ;
- const bool IsEndLoopNode() const {
- return _ComputingNode->IsEndLoopNode() ; } ;
- const bool IsSwitchNode() const {
- return _ComputingNode->IsSwitchNode() ; } ;
- const bool IsEndSwitchNode() const {
- return _ComputingNode->IsEndSwitchNode() ; } ;
- const bool IsHeadNode() const {
- return _ComputingNode->IsHeadNode() ; } ;
- GraphBase::ComputingNode * ComputingNode() {
- return _ComputingNode ; } ;
- GraphBase::FactoryNode * FactoryNode() {
- return _FactoryNode ; } ;
- GraphBase::GOTONode * GOTONode() {
- if ( _GOTONode )
- return _GOTONode ;
- if ( _LoopNode )
- return _LoopNode ;
- if ( _EndOfLoopNode )
- return _EndOfLoopNode ;
- if ( _SwitchNode )
- return _SwitchNode ;
- if ( _EndOfSwitchNode )
- return _EndOfSwitchNode ;
- return NULL ;
- } ;
- GraphBase::GOTONode * GOTONode() const {
- if ( _GOTONode )
- return _GOTONode ;
- if ( _LoopNode )
- return _LoopNode ;
- if ( _EndOfLoopNode )
- return _EndOfLoopNode ;
- if ( _SwitchNode )
- return _SwitchNode ;
- if ( _EndOfSwitchNode )
- return _EndOfSwitchNode ;
- return NULL ;
- } ;
- GraphBase::InLineNode * InLineNode() {
- GraphBase::InLineNode * aNode = GOTONode() ;
- if ( aNode == NULL )
- return _InLineNode ;
- return aNode ;
- } ;
- GraphBase::InLineNode * InLineNode() const {
- GraphBase::InLineNode * aNode = GOTONode() ;
- if ( aNode == NULL )
- return _InLineNode ;
- return aNode ;
- } ;
- GraphBase::LoopNode * LoopNode() {
- return _LoopNode ; } ;
- GraphBase::EndOfLoopNode * EndOfLoopNode() {
- return _EndOfLoopNode ; } ;
- GraphBase::SwitchNode * SwitchNode() {
- return _SwitchNode ; } ;
- GraphBase::EndOfSwitchNode * EndOfSwitchNode() {
- return _EndOfSwitchNode ; } ;
-
- SUPERV::CNode_var ObjRef() const { return _ComputingNode->ObjRef() ; } ;
- void SetObjRef(SUPERV::CNode_var aNode) {
- _ComputingNode->SetObjRef( aNode ) ; } ;
-
- const SALOME_ModuleCatalog::Service * GetService() const {
- return _ComputingNode->GetService() ; } ;
-
- SUPERV::SDate FirstCreation() const {
- return _ComputingNode->FirstCreation() ; } ;
- SUPERV::SDate LastModification() const {
- return _ComputingNode->LastModification() ; } ;
- char* Author() const {
- return my_strdup( _ComputingNode->Author() ) ; }
- char* EditorRelease() const {
- return my_strdup( _ComputingNode->EditorRelease() ) ; } ;
- char * Comment() const {
- return my_strdup( _ComputingNode->Comment() ) ; } ;
- bool Author( const char * anAuthor ) {
- return _ComputingNode->Author( anAuthor ) ; } ;
- bool EditorRelease( const char* anEditorRelease ) {
- return _ComputingNode->EditorRelease( anEditorRelease ) ; } ;
- bool Comment( const char *c ) {
- return _ComputingNode->Comment( c ) ; };
-
- GraphBase::SNode * GetInfo() {
- return _ComputingNode->GetInfo() ; } ;
-
- GraphBase::InPort * AddInPort( const char * InputParameterName ,
- const char * InputParameterType ,
- const SUPERV::KindOfPort aKindOfPort ) {
- return _ComputingNode->AddInPort( InputParameterName ,
- InputParameterType ,
- aKindOfPort ) ; } ;
- GraphBase::OutPort * AddOutPort( const char * OutputParameterName ,
- const char * OutputParameterType ,
- const SUPERV::KindOfPort aKindOfPort ) {
- return _ComputingNode->AddOutPort( OutputParameterName ,
- OutputParameterType ,
- aKindOfPort ) ; } ;
- int IncrDataStreamInPorts() {
- return _ComputingNode->IncrDataStreamInPorts() ;
- } ;
- int IncrDataStreamOutPorts() {
- return _ComputingNode->IncrDataStreamOutPorts() ;
- } ;
-
- void DelInPort( const char * InputParameterName ) {
- _ComputingNode->DelInPort( InputParameterName ) ; } ;
- void DelOutPort( const char * OutputParameterName ) {
- _ComputingNode->DelOutPort( OutputParameterName ) ; } ;
-
- bool IsLinked(const char * ToServiceParameterName ) {
- return _ComputingNode->IsLinked( ToServiceParameterName ) ; } ;
- bool HasInput(const char * ToServiceParameterName ) {
- return _ComputingNode->HasInput( ToServiceParameterName ) ; } ;
-
-// void InOutPort( GraphBase::InPort * InputPort ,
-// GraphBase::OutPort * OutputPort ) {
-// return _ComputingNode->InOutPort( InputPort , OutputPort ) ; } ;
-
- const int GetNodeInPortsSize() const {
- return _ComputingNode->GetNodeInPortsSize() ; } ;
- const GraphBase::InPort *GetNodeInPort(int i) const {
- return _ComputingNode->GetNodeInPort( i ) ; } ;
- GraphBase::InPort *GetChangeNodeInPort(int i) const {
- return _ComputingNode->GetChangeNodeInPort( i ) ; } ;
- const int GetNodeOutPortsSize() const {
- return _ComputingNode->GetNodeOutPortsSize() ; } ;
- const GraphBase::OutPort *GetNodeOutPort(int i) const {
- return _ComputingNode->GetNodeOutPort( i ) ; } ;
- GraphBase::OutPort *GetChangeNodeOutPort(int i) const {
- return _ComputingNode->GetChangeNodeOutPort( i ) ; } ;
-
- const GraphBase::InPort *GetInPort( const char *name ) {
- return _ComputingNode->GetInPort( name ) ; } ;
- const GraphBase::OutPort *GetOutPort( const char *name ) {
- return _ComputingNode->GetOutPort( name ) ; } ;
- GraphBase::InPort *GetChangeInPort( const char *name ) {
- return _ComputingNode->GetChangeInPort( name ) ; } ;
- GraphBase::OutPort *GetChangeOutPort( const char *name ) {
- return _ComputingNode->GetChangeOutPort( name ) ; } ;
-
- void SetPythonFunction( const char * aFuncName ,
- const SUPERV::ListOfStrings & aPythonFunction ) {
- InLineNode()->SetPythonFunction( aFuncName , aPythonFunction ) ; }
- const SUPERV::ListOfStrings * PythonFunction() const {
- return InLineNode()->PythonFunction() ; } ;
- char * PyFuncName() const {
- return InLineNode()->PyFuncName() ; } ;
-
- void SetPyMorePythonFunction( const char * aMoreName ,
- const SUPERV::ListOfStrings & aMorePythonFunction ) {
- _LoopNode->SetMorePythonFunction( aMoreName , aMorePythonFunction ) ; }
- SUPERV::ListOfStrings * PyMorePythonFunction() const {
- return _LoopNode->MorePythonFunction() ; } ;
- char * PyMoreName() {
- return _LoopNode->PyMoreName() ; };
-
- void SetPyNextPythonFunction( const char * aNextName ,
- const SUPERV::ListOfStrings & aNextPythonFunction ) {
- _LoopNode->SetNextPythonFunction( aNextName , aNextPythonFunction ) ; }
- SUPERV::ListOfStrings * PyNextPythonFunction() const {
- return _LoopNode->NextPythonFunction() ; } ;
- char * PyNextName() {
- return _LoopNode->PyNextName() ; } ;
-
- void CoupledNode( GraphBase::InLineNode * aCoupledNode ) {
- _GOTONode->CoupledNode( aCoupledNode ) ; } ;
- GraphBase::InLineNode * CoupledNode() {
- return _GOTONode->CoupledNode() ; } ;
-
- int SubGraph() {
- return _ComputingNode->SubGraph() ; } ;
- int SubStreamGraph() {
- return _ComputingNode->SubStreamGraph() ; } ;
-
- char * ComponentName() const {
- return _FactoryNode->ComponentName() ; } ;
- char * InterfaceName() const {
- return _FactoryNode->InterfaceName() ; } ;
- char * Computer() const {
- return _FactoryNode->Computer() ; } ;
-
- bool ComponentName( const char * aComponentName ) {
- return _FactoryNode->ComponentName( aComponentName ) ; } ;
- bool InterfaceName( const char * anInterfaceName ) {
- return _FactoryNode->InterfaceName( anInterfaceName ) ; } ;
- bool Computer( const char *c ) {
- return _FactoryNode->Computer( c ) ; } ;
-
- void Coordinates( const int X , const int Y ) {
- _ComputingNode->Coordinates( X , Y ) ; } ;
- int XCoordinate () {
- return _ComputingNode->XCoordinate () ; } ;
- int YCoordinate () {
- return _ComputingNode->YCoordinate () ; } ;
- };
-
-
-};
-
-#endif
+++ /dev/null
-// SUPERV GraphEditor : contains classes that permit edition of graphs
-//
-// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
-// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
-//
-// This library is free software; you can redistribute it and/or
-// modify it under the terms of the GNU Lesser General Public
-// License as published by the Free Software Foundation; either
-// version 2.1 of the License.
-//
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-// Lesser General Public License for more details.
-//
-// You should have received a copy of the GNU Lesser General Public
-// License along with this library; if not, write to the Free Software
-// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-//
-// See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
-//
-//
-//
-// File : DataFlowEditor_OutNode.cxx
-// Module : SUPERV
-
-using namespace std;
-#include <sstream>
-#include <iostream>
-#include "DataFlowEditor_OutNode.hxx"
-#include "DataFlowBase_EndOfLoopNode.hxx"
-#include "DataFlowBase_EndOfSwitchNode.hxx"
-
-// Implementation de la classe GraphEditor::Graph
-
-GraphEditor::OutNode::OutNode() {
-// Graph() {
- cdebug_in << "GraphEditor::OutNode::OutNode()" << endl;
-
- _Imported = false ;
- _Valid = false ;
- _Executable = false ;
-
- cdebug_out << "GraphEditor::OutNode::OutNode()" << endl;
-}
-
-GraphEditor::OutNode::OutNode( CORBA::ORB_ptr ORB ,
- SALOME_NamingService * ptrNamingService ,
- const char * DataFlowName ,
- const char * DebugFileName ,
- const SUPERV::KindOfNode aKindOfNode ) {
-// Graph( ORB , ptrNamingService , DataFlowName , DebugFileName ) {
- Set_prof_debug( ORB , DebugFileName ) ;
- cdebug_in << "GraphEditor::OutNode::OutNode(" ;
- if ( DataFlowName ) {
- cdebug << DataFlowName ;
- }
- cdebug << ")" << endl;
-
- if ( aKindOfNode == SUPERV::DataFlowGraph ) {
- _StreamGraph = NULL ;
-// _Graph = new GraphBase::Graph( ORB , ptrNamingService , DataFlowName , DebugFileName ) ;
- _Graph = new GraphBase::Graph( ORB , ptrNamingService , DataFlowName ,
- _prof_debug , _fdebug ) ;
- }
- else if ( aKindOfNode == SUPERV::DataStreamGraph ) {
-// _StreamGraph = new GraphBase::StreamGraph( ORB , ptrNamingService , DataFlowName , DebugFileName ) ;;
- _StreamGraph = new GraphBase::StreamGraph( ORB , ptrNamingService , DataFlowName ,
- _prof_debug , _fdebug ) ;
- _Graph = _StreamGraph ;
- }
- _Orb = CORBA::ORB::_duplicate( ORB ) ;
- _Imported = false ;
- _Valid = false ;
- _Executable = false ;
-
- cdebug_out << "GraphEditor::OutNode::OutNode" << endl;
-}
-
-GraphEditor::OutNode::OutNode(
- CORBA::ORB_ptr ORB ,
- SALOME_NamingService * ptrNamingService ,
- const SALOME_ModuleCatalog::Service& DataFlowService ,
- const char * DataFlowComponentName ,
- const char * DataFlowInterfaceName ,
- const char * DataFlowName ,
- const SUPERV::KindOfNode DataFlowkind ,
- const SUPERV::SDate DataFlowFirstCreation ,
- const SUPERV::SDate DataFlowLastModification ,
- const char * DataFlowEditorRelease ,
- const char * DataFlowAuthor ,
- const char * DataFlowComputer ,
- const char * DataFlowComment ,
- const char * DebugFileName ) {
-// Graph( ORB , ptrNamingService , DataFlowService , DataFlowComponentName ,
-// DataFlowInterfaceName , DataFlowName , DataFlowkind ,
-// DataFlowFirstCreation , DataFlowLastModification ,
-// DataFlowEditorRelease , DataFlowAuthor ,
-// DataFlowComputer , DataFlowComment , DebugFileName ) {
- Set_prof_debug( ORB , DebugFileName ) ;
-
- if ( DataFlowkind == SUPERV::DataFlowGraph ) {
- _StreamGraph = NULL ;
- _Graph = new GraphBase::Graph( ORB , ptrNamingService , DataFlowService , DataFlowComponentName ,
- DataFlowInterfaceName , DataFlowName , DataFlowkind ,
- DataFlowFirstCreation , DataFlowLastModification ,
- DataFlowEditorRelease , DataFlowAuthor ,
- DataFlowComputer , DataFlowComment ,
- _prof_debug , _fdebug ) ;
-// DataFlowComputer , DataFlowComment , DebugFileName ) ;
- }
- else if ( DataFlowkind == SUPERV::DataStreamGraph ) {
- _StreamGraph = new GraphBase::StreamGraph( ORB , ptrNamingService , DataFlowService , DataFlowComponentName ,
- DataFlowInterfaceName , DataFlowName , DataFlowkind ,
- DataFlowFirstCreation , DataFlowLastModification ,
- DataFlowEditorRelease , DataFlowAuthor ,
- DataFlowComputer , DataFlowComment ,
- _prof_debug , _fdebug ) ;
-// DataFlowComputer , DataFlowComment , DebugFileName ) ;
- _Graph = _StreamGraph ;
- }
- _Orb = CORBA::ORB::_duplicate( ORB ) ;
- _Imported = false ;
- _Valid = false ;
- _Executable = false ;
-
-} ;
-
-GraphEditor::OutNode::~OutNode() {
-// delete _DataFlowNode ;
-// delete _DataFlowDatas ;
-// delete _GT ;
-}
-
-void GraphEditor::OutNode::Set_prof_debug( CORBA::ORB_ptr ORB ,
- const char * DebugFileName ) {
- _Graph_prof_debug = 0 ;
- _prof_debug = 0 ;
- if ( DebugFileName ) {
- _fdebug = new ofstream( DebugFileName );
- SetDebug( ORB , &_Graph_prof_debug , _fdebug ) ;
- MESSAGE( endl << "Trace redirected to file " << DebugFileName << endl)
- }
-}
-
-bool GraphEditor::OutNode::LoadDataFlow( const GraphBase::SGraph *aDataFlow ) {
- bool RetVal = false ;
- cdebug_in << "GraphEditor::OutNode::LoadDataFlow() " << aDataFlow->Info.theName.c_str()
- << " GraphNodesSize " << Graph()->GraphNodesSize() << endl;
- if ( !_Imported ) {
- RetVal = LoadInfo( aDataFlow->Info ) ;
- _Imported = true ;
- }
- else if ( Graph()->IsDataStreamNode() || aDataFlow->Info.theKind == SUPERV::DataFlowGraph ) {
- RetVal = true ;
- }
- cdebug << "GraphEditor::OutNode::LoadDataFlow() _Imported " << _Imported << " RetVal " << RetVal << endl;
-
- map< string , int > aMapOfNodes ;
- if ( RetVal ) {
- cdebug << "GraphEditor::OutNode::LoadDataFlow() LoadNodes GraphNodesSize " << Graph()->GraphNodesSize() << endl;
- RetVal = LoadNodes( aMapOfNodes , aDataFlow->Nodes ) ;
- }
- if ( RetVal ) {
- cdebug << "GraphEditor::OutNode::LoadDataFlow() LoadLinks GraphNodesSize " << Graph()->GraphNodesSize() << endl;
- RetVal = LoadLinks( aMapOfNodes , aDataFlow->Links ) ;
- }
- if ( RetVal ) {
- Valid() ;
- cdebug << "GraphEditor::OutNode::LoadDataFlow() LoadDatas GraphNodesSize " << Graph()->GraphNodesSize() << endl;
- RetVal = LoadDatas( aMapOfNodes , aDataFlow->Datas ) ;
- }
- cdebug_out << "GraphEditor::OutNode::LoadDataFlow done GraphNodesSize " << Graph()->GraphNodesSize() << endl;
- return RetVal ;
-}
-
-bool GraphEditor::OutNode::LoadXml( const char* myFileName ) {
- bool RetVal = false ;
- GraphBase::SGraph aDataFlow ;
- if ( myFileName == NULL ) {
- cdebug << "GraphEditor::OutNode::LoadXml() No file" << endl;
- _Imported = true ;
- RetVal = true ;
- }
- else if ( Graph()->LoadXml( _Orb , myFileName , aDataFlow ) ) {
- cdebug_in << "GraphEditor::OutNode::LoadXml() " << myFileName << endl;
- RetVal = LoadDataFlow( &aDataFlow ) ;
- cdebug_out << "GraphEditor::OutNode::LoadXml " << RetVal << endl;
- }
- return RetVal ;
-}
-
-bool GraphEditor::OutNode::LoadInfo(const GraphBase::SNode &aDataFlowInfo ) {
- bool RetVal = false ;
- cdebug_in << "GraphEditor::OutNode::LoadInfo " << aDataFlowInfo.theName.c_str()
- << endl ;
-// MESSAGE( "GraphEditor::OutNode::LoadDataFlow" );
-// ComponentName( aDataFlowInfo.theComponentName.c_str() ) ;
-// InterfaceName( aDataFlowInfo.theInterfaceName.c_str() ) ;
- if ( Graph()->IsDataStreamNode() || aDataFlowInfo.theKind == SUPERV::DataFlowGraph ) {
- Graph()->Name( aDataFlowInfo.theName.c_str() ) ;
-// Graph()->Kind( aDataFlowInfo.theKind ) ;
- cdebug << "GraphEditor::OutNode::LoadInfo aDataFlowInfo.Kind " << aDataFlowInfo.theKind
- << " Kind() " << Graph()->Kind() << endl ;
- if ( Graph()->IsDataStreamNode() ) {
- Graph()->Kind( SUPERV::DataStreamGraph ) ;
- StreamGraph()->SetStreamParams( aDataFlowInfo.theTimeout , aDataFlowInfo.theDataStreamTrace , aDataFlowInfo.theDeltaTime ) ;
- }
- else {
- Graph()->Kind( SUPERV::DataFlowGraph ) ;
- }
- Graph()->SetService( aDataFlowInfo.theService ) ;
- Graph()->FirstCreation( aDataFlowInfo.theFirstCreation ) ;
- Graph()->LastModification( aDataFlowInfo.theLastModification ) ;
- Graph()->EditorRelease( aDataFlowInfo.theEditorRelease.c_str() ) ;
- Graph()->Author( aDataFlowInfo.theAuthor.c_str() ) ;
-// Graph()->Computer( aDataFlowInfo.theContainer.c_str() ) ;
- Graph()->Comment( aDataFlowInfo.theComment.c_str() ) ;
-// Not in OutNode/DataFlow but in InNode/DataFlow_in_an_other_DataFlow
-// Graph()->Coordinates( aDataFlowInfo.theX , aDataFlowInfo.theY ) ;
- RetVal = true ;
- }
- else {
- Graph()->Kind( aDataFlowInfo.theKind ) ;
- cdebug << "GraphEditor::OutNode::LoadInfo aDataFlowInfo.Kind " << aDataFlowInfo.theKind
- << " != IsDataStreamNode() " << Graph()->IsDataStreamNode() << endl ;
- }
- cdebug_out << "GraphEditor::OutNode::LoadInfo " << RetVal << endl ;
- return RetVal ;
-}
-
-bool GraphEditor::OutNode::LoadNodes(map< string , int > & aMapOfNodes ,
- const GraphBase::ListOfNodes &aListOfNodes ) {
- GraphEditor::InNode * anInNode ;
- cdebug_in << "GraphEditor::OutNode::LoadNodes " << endl ;
- int i ;
- for ( i = 0 ; i < (int ) aListOfNodes.size() ; i++ ) {
- GraphBase::SNode aNode = aListOfNodes[ i ] ;
- const char * aNodeName = aNode.theName.c_str() ;
- cout << "GraphEditor::OutNode::LoadNodes " << aNodeName << " "
- << aNode.theListOfInDataStreams.size() << " InDataStreams "
- << aNode.theListOfOutDataStreams.size() << " OutDataStreams "
- << " _prof_debug " << _prof_debug << endl ;
- cdebug << "GraphEditor::OutNode::LoadNodes " << aNodeName << " "
- << aNode.theListOfInDataStreams.size() << " InDataStreams "
- << aNode.theListOfOutDataStreams.size() << " OutDataStreams "
- << endl ;
- if ( aNode.theListOfFuncName.size() == 0 ) {
- aNode.theListOfFuncName.resize( 1 ) ;
- aNode.theListOfFuncName[ 0 ] = "" ;
- aNode.theListOfPythonFunctions.resize( 1 ) ;
- aNode.theListOfPythonFunctions[ 0 ] = new SUPERV::ListOfStrings() ;
- }
- if ( Graph()->GetGraphNode( aNode.theName.c_str() ) ) {
- aNodeName = NULLSTRING ;
- }
-
- aNode.theService.ServiceinDataStreamParameter.length( aNode.theListOfInDataStreams.size() ) ;
- aNode.theService.ServiceoutDataStreamParameter.length( aNode.theListOfOutDataStreams.size() ) ;
- unsigned int j ;
- for ( j = 0 ; j < aNode.theListOfInDataStreams.size() ; j++ ) {
- aNode.theService.ServiceinDataStreamParameter[ j ].Parametername = aNode.theListOfInDataStreams[ j ].theDataStreamParameter.Parametername ,
- aNode.theService.ServiceinDataStreamParameter[ j ].Parametertype = aNode.theListOfInDataStreams[ j ].theDataStreamParameter.Parametertype ,
- aNode.theService.ServiceinDataStreamParameter[ j ].Parameterdependency = aNode.theListOfInDataStreams[ j ].theDataStreamParameter.Parameterdependency ;
- }
- for ( j = 0 ; j < aNode.theListOfOutDataStreams.size() ; j++ ) {
- aNode.theService.ServiceoutDataStreamParameter[ j ].Parametername = aNode.theListOfOutDataStreams[ j ].theDataStreamParameter.Parametername ,
- aNode.theService.ServiceoutDataStreamParameter[ j ].Parametertype = aNode.theListOfOutDataStreams[ j ].theDataStreamParameter.Parametertype ,
- aNode.theService.ServiceoutDataStreamParameter[ j ].Parameterdependency = aNode.theListOfOutDataStreams[ j ].theDataStreamParameter.Parameterdependency ;
- }
-
- anInNode = AddNode( aNode.theService ,
- aNode.theListOfFuncName ,
- aNode.theListOfPythonFunctions ,
- aNode.theComponentName.c_str() ,
- aNode.theInterfaceName.c_str() , aNodeName ,
- aNode.theKind ,
- aNode.theFirstCreation , aNode.theLastModification ,
- aNode.theEditorRelease.c_str() ,
- aNode.theAuthor.c_str() , aNode.theContainer.c_str() ,
- aNode.theComment.c_str() ,
- aNode.theCoords.theX , aNode.theCoords.theY ) ;
- string * aNodetheName = new string( aNode.theName ) ;
- aMapOfNodes[ *aNodetheName ] = Graph()->GetGraphNodeIndex( anInNode->Name() ) ;
- if ( anInNode->IsOneOfInLineNodes() ) {
- anInNode->GraphEditor::InNode::InLineNode()->DefPortsOfNode(
- _Orb , aNode.theService , anInNode->NamePtr() ,
- anInNode->Kind() ,
- _prof_debug , _fdebug ) ;
- GraphBase::InLineNode * aINode = anInNode->InLineNode() ;
- GraphBase::LoopNode * aLNode = NULL ;
- if ( aINode->IsLoopNode() ) {
- aLNode = anInNode->LoopNode() ;
- aLNode->SetPythonFunction( aNode.theListOfFuncName[ 0 ].c_str() ,
- *aNode.theListOfPythonFunctions[ 0 ] ) ;
- aLNode->SetMorePythonFunction( aNode.theListOfFuncName[ 1 ].c_str() ,
- *aNode.theListOfPythonFunctions[ 1 ] ) ;
- aLNode->SetNextPythonFunction( aNode.theListOfFuncName[ 2 ].c_str() ,
- *aNode.theListOfPythonFunctions[ 2 ] ) ;
- }
- else if ( aINode->IsInLineNode() || aINode->IsGOTONode() ||
- aINode->IsSwitchNode() || aINode->IsEndSwitchNode() ) {
- aINode->SetPythonFunction( aNode.theListOfFuncName[ 0 ].c_str() ,
- *aNode.theListOfPythonFunctions[ 0 ] ) ;
- }
- }
-
- for ( j = 0 ; j < aNode.theListOfInDataStreams.size() ; j++ ) {
- GraphBase::InPort * anInPort ;
- if ( anInNode->IsOneOfInLineNodes() ) {
- anInPort = anInNode->ComputingNode()->AddInDataStreamPort( aNode.theListOfInDataStreams[ j ].theDataStreamParameter.Parametername ,
- aNode.theListOfInDataStreams[ j ].theDataStreamParameter.Parametertype ,
- aNode.theListOfInDataStreams[ j ].theDataStreamParameter.Parameterdependency ,
- SUPERV::DataStreamParameter ) ;
- }
- else {
- anInPort = anInNode->ComputingNode()->GetChangeInPort( aNode.theListOfInDataStreams[ j ].theDataStreamParameter.Parametername ) ;
- }
- ((GraphBase::InDataStreamPort * ) anInPort)->SetParams( aNode.theListOfInDataStreams[ j ].theKindOfSchema ,
- aNode.theListOfInDataStreams[ j ].theKindOfInterpolation ,
- aNode.theListOfInDataStreams[ j ].theKindOfExtrapolation ) ;
- }
- for ( j = 0 ; j < aNode.theListOfOutDataStreams.size() ; j++ ) {
- GraphBase::OutPort * anOutPort ;
- if ( anInNode->IsOneOfInLineNodes() ) {
- anOutPort = anInNode->ComputingNode()->AddOutDataStreamPort( aNode.theListOfOutDataStreams[ j ].theDataStreamParameter.Parametername ,
- aNode.theListOfOutDataStreams[ j ].theDataStreamParameter.Parametertype ,
- aNode.theListOfOutDataStreams[ j ].theDataStreamParameter.Parameterdependency ,
- SUPERV::DataStreamParameter ) ;
- }
- else {
- anOutPort = anInNode->ComputingNode()->GetChangeOutPort( aNode.theListOfOutDataStreams[ j ].theDataStreamParameter.Parametername ) ;
- }
- ((GraphBase::OutDataStreamPort * ) anOutPort)->NumberOfValues( aNode.theListOfOutDataStreams[ j ].theNumberOfValues ) ;
- }
- delete aNodetheName ;
- if ( !anInNode ) {
- return false ;
- }
- }
- for ( i = 0 ; i < (int ) aListOfNodes.size() ; i++ ) {
- GraphBase::SNode aNode = aListOfNodes[ i ] ;
- cdebug << "GraphEditor::OutNode::LoadNodes " << aNode.theName.c_str() << " Coupled to "
- << aNode.theCoupledNode.c_str() << endl ;
- anInNode = (GraphEditor::InNode * ) Graph()->GetChangeGraphNode( aNode.theName.c_str() )->GetInNode() ;
- if ( anInNode->IsOneOfGOTONodes() && strlen( aNode.theCoupledNode.c_str() ) ) {
- GraphBase::GOTONode * aCoupledNode ;
- aCoupledNode = (GraphBase::GOTONode * ) Graph()->GetGraphNode( aNode.theName.c_str() ) ;
- aCoupledNode->CoupledNode( (GraphBase::GOTONode * ) Graph()->GetChangeGraphNode( aNode.theCoupledNode.c_str() ) ) ;
- }
- }
- cdebug_out << "GraphEditor::OutNode::LoadNodes" << endl ;
- return true ;
-}
-
-bool GraphEditor::OutNode::LoadLinks(map< string , int > & aMapOfNodes ,
- const GraphBase::ListOfLinks &aListOfLinks ) {
- bool RetVal = true ;
- cdebug_in << "GraphEditor::OutNode::LoadLinks" << endl ;
-// MESSAGE( "GraphEditor::OutNode::LoadLinks" );
- int i , j ;
- for ( i = 0 ; i < (int ) aListOfLinks.size() ; i++ ) {
- GraphBase::SLink aLink = aListOfLinks[ i ] ;
- string * aLinkFromNodeName = new string( aLink.FromNodeName.c_str() ) ;
- string * aLinkToNodeName = new string( aLink.ToNodeName.c_str() ) ;
- cdebug << "LoadLinks " << aLinkFromNodeName->c_str() << "( "
- << aLink.FromServiceParameterName.c_str() << " ) --> "
- << aLinkToNodeName->c_str() << "( "
- << aLink.ToServiceParameterName.c_str() << " )" << endl ;
- if ( Graph()->GetGraphNode( aMapOfNodes[ aLinkFromNodeName->c_str() ] ) &&
- Graph()->GetGraphNode( aMapOfNodes[ aLinkToNodeName->c_str() ] ) ) {
- GraphBase::ComputingNode * aFromNode = (GraphBase::ComputingNode * ) Graph()->GetGraphNode( aMapOfNodes[ aLinkFromNodeName->c_str() ] ) ;
- const GraphBase::OutPort * anOutPort = aFromNode->GetOutPort( aLink.FromServiceParameterName.c_str() ) ;
- RetVal = AddLink( Graph()->GetGraphNode( aMapOfNodes[ aLinkFromNodeName->c_str() ] )->Name() ,
- aLink.FromServiceParameterName.c_str() ,
- Graph()->GetGraphNode( aMapOfNodes[ aLinkToNodeName->c_str() ] )->Name() ,
- aLink.ToServiceParameterName.c_str() ,
- *anOutPort->Value() ) ;
- }
- else {
- RetVal = false ;
- }
-// aLink.aLinkValue ) ;
- if ( !RetVal )
- break ;
- else {
- for ( j = 0 ; j < (int ) aLink.aListOfCoords.size() ; j++ ) {
- RetVal = AddLinkCoord( Graph()->GetGraphNode( aMapOfNodes[ aLinkFromNodeName->c_str() ] )->Name() ,
- aLink.FromServiceParameterName.c_str() ,
- Graph()->GetGraphNode( aMapOfNodes[ aLink.ToNodeName.c_str() ] )->Name() ,
- aLink.ToServiceParameterName.c_str() ,
- j + 1 ,
- aLink.aListOfCoords[j].theX ,
- aLink.aListOfCoords[j].theY ) ;
- if ( !RetVal )
- break ;
- }
- }
- delete aLinkFromNodeName ;
- delete aLinkToNodeName ;
- }
- cdebug_out << "GraphEditor::OutNode::LoadLinks" << endl ;
- return RetVal ;
-}
-
-bool GraphEditor::OutNode::LoadDatas(map< string , int > & aMapOfNodes ,
- const GraphBase::ListOfLinks &aListOfDatas ) {
- bool RetVal = true ;
- cdebug_in << "GraphEditor::OutNode::LoadDatas" << endl ;
-// MESSAGE( "GraphEditor::OutNode::LoadDatas" );
- int i ;
- for ( i = 0 ; i < (int ) aListOfDatas.size() ; i++ ) {
- GraphBase::SLink aLink = aListOfDatas[ i ] ;
- if ( !strcmp( aLink.FromNodeName.c_str() , Graph()->Name() ) ) {
- cdebug << "GraphEditor::OutNode::LoadDatas Warning "
- << aLink.FromNodeName.c_str()
- << " and " << aLink.ToNodeName.c_str() << " differents from " << Graph()->Name()
- << endl ;
- }
- string * aLinkFromNodeName = new string( aLink.FromNodeName.c_str() ) ;
- string * aLinkToNodeName = new string( aLink.ToNodeName.c_str() ) ;
-// cout << "LoadDatas " << aLink.FromNodeName.c_str() << " "
-// << aMapOfNodes[ aLinkFromNodeName->c_str() ] << endl ;
-// cout << " " << aLink.ToNodeName.c_str() << " "
-// << aMapOfNodes[ aLinkToNodeName->c_str() ] << endl ;
- RetVal = Graph()->AddInputData( Graph()->GetGraphNode( aMapOfNodes[ aLinkToNodeName->c_str() ] )->Name() ,
- aLink.ToServiceParameterName.c_str() ,
- aLink.aLinkValue ) ;
- delete aLinkFromNodeName ;
- delete aLinkToNodeName ;
- if ( !RetVal )
- break ;
- }
- cdebug_out << "GraphEditor::OutNode::LoadDatas" << endl ;
- return RetVal ;
-}
-
-bool GraphEditor::OutNode::SaveXml(const char* filename) {
- bool test;
- cdebug_in << "GraphEditor::OutNode::SaveXml(" << filename << ")" << endl;
- ofstream f(filename);
- IsValid() ;
-// test = SaveXML( f );
- QDomDocument Graph ;
- test = SaveXML( Graph );
- if ( test ) {
- QString xml = Graph.toString() ;
-// cout << "GraphEditor::OutNode::SaveXML " << xml << endl ;
- f << xml << endl ;
- }
- cdebug_out << "GraphEditor::OutNode::SaveXml" << endl;
- return test;
-}
-
-
-bool GraphEditor::OutNode::SavePy( const char* filename ) {
- bool test;
- cdebug_in << "GraphEditor::OutNode::SavePy(" << filename << ")" << endl;
- ofstream f( filename ) ;
- IsValid() ;
- test = SavePY( f );
- cdebug_out << "GraphEditor::OutNode::SavePy" << endl;
- return test;
-}
-
-GraphBase::SGraph * GraphEditor::OutNode::GetDataFlow() {
- GraphBase::SGraph * aDataFlow = new GraphBase::SGraph;
- if ( Graph()->IsDataFlowNode() ) {
- aDataFlow->Info = *Graph()->GetInfo() ;
- aDataFlow->Nodes = *Graph()->GetNodes() ;
- aDataFlow->Links = *Graph()->GetLinks( true ) ;
- aDataFlow->Datas = *Graph()->GetDatas() ;
- }
- else {
- aDataFlow->Info = *StreamGraph()->GetInfo() ;
- aDataFlow->Nodes = *StreamGraph()->GetNodes() ;
- aDataFlow->Links = *StreamGraph()->GetLinks( true ) ;
- aDataFlow->Datas = *StreamGraph()->GetDatas() ;
- }
- return aDataFlow ;
-}
-
-void GraphEditor::OutNode::DateModification() {
- time_t T = time(NULL);
- struct tm * Tm = localtime(&T);
- SUPERV::SDate aLastModificationDate ;
-
- aLastModificationDate.Second = Tm->tm_sec;
- aLastModificationDate.Minute = Tm->tm_min;
- aLastModificationDate.Hour = Tm->tm_hour;
- aLastModificationDate.Day = Tm->tm_mday;
- aLastModificationDate.Month = Tm->tm_mon + 1;
- aLastModificationDate.Year = Tm->tm_year + 1900;
- Graph()->LastModification( aLastModificationDate ) ;
-}
-
-void GraphEditor::OutNode::Coordinates( const char* NodeName ,
- const int X ,
- const int Y ) {
- ((GraphEditor::InNode * ) Graph()->GetChangeGraphNode( NodeName ))->Coordinates( X , Y ) ;
-}
-
-const int GraphEditor::OutNode::XCoordinate( const char* NodeName ) {
- return ((GraphEditor::InNode * ) Graph()->GetChangeGraphNode( NodeName ))->XCoordinate() ;
-}
-
-const int GraphEditor::OutNode::YCoordinate( const char* NodeName ) {
- return ((GraphEditor::InNode * ) Graph()->GetChangeGraphNode( NodeName ))->YCoordinate() ;
-}
-
-GraphEditor::InNode * GraphEditor::OutNode::AddNode(
- const SALOME_ModuleCatalog::Service& NodeService ,
- GraphBase::ListOfFuncName aFuncName ,
- GraphBase::ListOfPythonFunctions aPythonFunction ,
- const char * NodeComponentName ,
- const char * NodeInterfaceName ,
- const char * theNodeName ,
- const SUPERV::KindOfNode NodeKindOfNode ,
- const SUPERV::SDate NodeFirstCreation ,
- const SUPERV::SDate NodeLastModification ,
- const char * NodeEditorRelease ,
- const char * NodeAuthor ,
- const char * NodeComputer ,
- const char * NodeComment ,
- const int NodeX ,
- const int NodeY ) {
- cdebug_in << "GraphEditor::OutNode::AddNode( " ;
- if ( NodeComponentName != NULLSTRING && strlen( NodeComponentName ) ) {
- cdebug << "Component('" << NodeComponentName << "') , Node('" ;
- }
- else {
- cdebug << "NodeComponentName[NULL] )" << endl;
- }
- if ( theNodeName == NULL ) {
- theNodeName = NULLSTRING ;
- }
- if ( theNodeName != NULLSTRING && strlen( theNodeName ) ) {
- cdebug << theNodeName << "' )" ;
- }
- else {
- cdebug << "NodeName[NULLSTRING]' )" ;
- }
- cdebug << " " << NodeKindOfNode << endl ;
- char * RetVal = NULLSTRING ;
- GraphEditor::InNode *Nd = NULL ;
- char * aNodeName = NULL ;
- bool GeneratedName = false ;
- if ( NodeKindOfNode == SUPERV::InLineNode ||
- NodeKindOfNode == SUPERV::LoopNode ||
- NodeKindOfNode == SUPERV::EndLoopNode ||
- NodeKindOfNode == SUPERV::SwitchNode ||
- NodeKindOfNode == SUPERV::EndSwitchNode ||
- NodeKindOfNode == SUPERV::GOTONode ) {
- if ( theNodeName == NULLSTRING || strlen( theNodeName ) == 0 ) {
- if ( NodeKindOfNode == SUPERV::InLineNode ) {
- ((SALOME_ModuleCatalog::Service& ) NodeService).ServiceName = my_strdup( "InLine" ) ;
- }
- else if ( NodeKindOfNode == SUPERV::LoopNode ) {
- ((SALOME_ModuleCatalog::Service& ) NodeService).ServiceName = my_strdup( "Loop" ) ;
- }
- else if ( NodeKindOfNode == SUPERV::EndLoopNode ) {
- ((SALOME_ModuleCatalog::Service& ) NodeService).ServiceName = my_strdup( "EndLoop" ) ;
- }
- else if ( NodeKindOfNode == SUPERV::SwitchNode ) {
- ((SALOME_ModuleCatalog::Service& ) NodeService).ServiceName = my_strdup( "Switch" ) ;
- }
- else if ( NodeKindOfNode == SUPERV::EndSwitchNode ) {
- ((SALOME_ModuleCatalog::Service& ) NodeService).ServiceName = my_strdup( "EndSwitch" ) ;
- }
- else if ( NodeKindOfNode == SUPERV::GOTONode ) {
- ((SALOME_ModuleCatalog::Service& ) NodeService).ServiceName = my_strdup( "GOTO" ) ;
- }
- }
- else {
- ((SALOME_ModuleCatalog::Service& ) NodeService).ServiceName = CORBA::string_dup( theNodeName ) ;
- }
- theNodeName = NULLSTRING ;
- }
- if ( theNodeName == NULLSTRING || strlen( theNodeName ) == 0 ) {
- aNodeName = new char[ strlen( NodeService.ServiceName )+1 ] ;
- strcpy( aNodeName , NodeService.ServiceName ) ;
- if ( Graph()->GetGraphNode( NodeService.ServiceName ) ) {
- GeneratedName = true ;
- while ( Graph()->GetGraphNode( aNodeName ) ) {
- if ( aNodeName ) {
- delete [] aNodeName ;
- }
- int num = Graph()->GetServiceNameNumber( NodeService ) ;
- ostringstream astr ;
- astr << num << ends ;
- const char * n_instance = astr.str().c_str() ;
- int lname = strlen( NodeService.ServiceName ) + 1 +
- strlen( n_instance ) + 1 ;
- aNodeName = new char[lname] ;
- strcpy( aNodeName , NodeService.ServiceName ) ;
- strcat( aNodeName , "_" ) ;
- strcat( aNodeName , n_instance ) ;
- }
- }
- }
- else {
- if ( Graph()->GetGraphNode( theNodeName ) == NULL ) {
- aNodeName = new char[ strlen( theNodeName )+1 ] ;
- strcpy( aNodeName , theNodeName ) ;
- }
- }
- if ( aNodeName != NULLSTRING ) {
- Nd = new GraphEditor::InNode( _Orb , Graph()->NamingService() ,
- aFuncName , aPythonFunction , NodeService ,
- NodeComponentName , NodeInterfaceName ,
- aNodeName , NodeKindOfNode ,
- NodeFirstCreation , NodeLastModification ,
- NodeEditorRelease , NodeAuthor ,
- NodeComputer , NodeComment , GeneratedName ,
- NodeX , NodeY ,
- _prof_debug , _fdebug ) ;
-// MESSAGE( "GraphEditor::OutNode::AddNode " << hex << (void *) Nd << dec );
-// if ( GraphBase::Graph::AddNode( Nd ) ) {
-
- if ( Graph()->IsDataStreamNode() && ( Nd->IsComputingNode() || Nd->IsFactoryNode() ) ) {
- unsigned int i ;
- for ( i = 0 ; i < NodeService.ServiceinDataStreamParameter.length() ; i++ ) {
- GraphBase::InDataStreamPort * aDataStreamPort ;
- aDataStreamPort = Nd->ComputingNode()->AddInDataStreamPort(
- my_strdup( NodeService.ServiceinDataStreamParameter[i].Parametername ) ,
- NodeService.ServiceinDataStreamParameter[i].Parametertype ,
- NodeService.ServiceinDataStreamParameter[i].Parameterdependency ,
- SUPERV::DataStreamParameter ) ;
- }
- for ( i = 0 ; i < NodeService.ServiceoutDataStreamParameter.length() ; i++ ) {
- GraphBase::OutDataStreamPort * aDataStreamPort ;
- aDataStreamPort = Nd->ComputingNode()->AddOutDataStreamPort(
- my_strdup( NodeService.ServiceoutDataStreamParameter[i].Parametername ) ,
- NodeService.ServiceoutDataStreamParameter[i].Parametertype ,
- NodeService.ServiceoutDataStreamParameter[i].Parameterdependency ,
- SUPERV::DataStreamParameter ) ;
- }
- }
-
- if ( Graph()->AddNode( Nd->ComputingNode() ) ) {
- DateModification() ;
- RetVal = Nd->Name() ;
- }
- else {
- cdebug << "NodeName already exists." << endl ;
- }
- }
- else {
- cdebug << "ERROR NodeName is NULL or already exists." << endl ;
- }
-// delete [] aNodeName ;
- cdebug_out << "GraphEditor::OutNode::AddNode" << endl;
- _Valid = false ;
- return Nd ;
-}
-
-bool GraphEditor::OutNode::AddLinkCoord( const char* FromNodeName ,
- const char* FromServiceParameterName ,
- const char* ToNodeName ,
- const char* ToServiceParameterName ,
- const int nXY ,
- const int* X ,
- const int* Y ) {
- GraphBase::InPort * anInPort = Graph()->GetChangeInPort( ToNodeName ,
- ToServiceParameterName ) ;
-// cdebug << "GraphEditor::OutNode::AddLinkCoord " << ToNodeName << "( " << ToServiceParameterName
-// << " ) " << anInPort << " IsEndSwitch " << anInPort->IsEndSwitch() << endl ;
- if ( anInPort ) {
- if ( anInPort->IsEndSwitch() ) {
-// cdebug << "GraphEditor::OutNode::AddLinkCoord " << FromNodeName << "( " << FromServiceParameterName
-// << " )" << endl ;
- return Graph()->GetChangeOutPort( FromNodeName , FromServiceParameterName )->AddCoord( nXY , X , Y ) ;
- }
- else {
- return anInPort->AddCoord( nXY , X , Y ) ;
- }
- }
- return false ;
-}
-
-bool GraphEditor::OutNode::AddLinkCoord( const char* FromNodeName ,
- const char* FromServiceParameterName ,
- const char* ToNodeName ,
- const char* ToServiceParameterName ,
- const int index ,
- const int X ,
- const int Y ) {
- GraphBase::InPort * anInPort = Graph()->GetChangeInPort( ToNodeName ,
- ToServiceParameterName ) ;
-// cdebug << "GraphEditor::OutNode::AddLinkCoord " << ToNodeName << "( " << ToServiceParameterName
-// << " ) " << anInPort << " IsEndSwitch " << anInPort->IsEndSwitch() << endl ;
- if ( anInPort ) {
- if ( anInPort->IsEndSwitch() ) {
-// cdebug << "GraphEditor::OutNode::AddLinkCoord " << FromNodeName << "( " << FromServiceParameterName
-// << " )" << endl ;
- return Graph()->GetChangeOutPort( FromNodeName , FromServiceParameterName )->AddCoord( index , X , Y ) ;
- }
- else {
- return anInPort->AddCoord( index , X , Y ) ;
- }
- }
- return false ;
-}
-
-bool GraphEditor::OutNode::ChangeLinkCoord( const char* FromNodeName ,
- const char* FromServiceParameterName ,
- const char* ToNodeName ,
- const char* ToServiceParameterName ,
- const int index ,
- const int X ,
- const int Y ) {
- GraphBase::InPort * anInPort = Graph()->GetChangeInPort( ToNodeName ,
- ToServiceParameterName ) ;
-// cdebug << "GraphEditor::OutNode::ChangeLinkCoord " << ToNodeName << "( " << ToServiceParameterName
-// << " ) " << anInPort << " IsEndSwitch " << anInPort->IsEndSwitch() << endl ;
- if ( anInPort ) {
- if ( anInPort->IsEndSwitch() ) {
-// cdebug << "GraphEditor::OutNode::ChangeLinkCoord " << FromNodeName << "( " << FromServiceParameterName
-// << " )" << endl ;
- return Graph()->GetChangeOutPort( FromNodeName , FromServiceParameterName )->ChangeCoord( index , X , Y ) ;
- }
- else {
- return anInPort->ChangeCoord( index , X , Y ) ;
- }
- }
- return false ;
-}
-
-bool GraphEditor::OutNode::RemoveLinkCoord( const char* FromNodeName ,
- const char* FromServiceParameterName ,
- const char* ToNodeName ,
- const char* ToServiceParameterName ,
- const int index ) {
- GraphBase::InPort * anInPort = Graph()->GetChangeInPort( ToNodeName ,
- ToServiceParameterName ) ;
-// cdebug << "GraphEditor::OutNode::RemoveLinkCoord " << ToNodeName << "( " << ToServiceParameterName
-// << " ) " << anInPort << " IsEndSwitch " << anInPort->IsEndSwitch() << endl ;
- if ( anInPort ) {
- if ( anInPort->IsEndSwitch() ) {
-// cdebug << "GraphEditor::OutNode::RemoveLinkCoord " << FromNodeName << "( " << FromServiceParameterName
-// << " )" << endl ;
- return Graph()->GetChangeOutPort( FromNodeName , FromServiceParameterName )->RemoveCoord( index ) ;
- }
- else {
- return anInPort->RemoveCoord( index ) ;
- }
- }
- return false ;
-}
-
-int GraphEditor::OutNode::GetLinkCoordSize( const char* FromNodeName ,
- const char* FromServiceParameterName ,
- const char* ToNodeName ,
- const char* ToServiceParameterName ) {
- const GraphBase::InPort * anInPort = Graph()->GetInPort( ToNodeName , ToServiceParameterName ) ;
-// cdebug << "GraphEditor::OutNode::GetLinkCoordSize " << ToNodeName << "( " << ToServiceParameterName
-// << " ) " << anInPort << " IsEndSwitch " << anInPort->IsEndSwitch() << endl ;
- if ( anInPort ) {
- if ( anInPort->IsEndSwitch() ) {
-// cdebug << "GraphEditor::OutNode::GetLinkCoordSize " << FromNodeName << "( " << FromServiceParameterName
-// << " )" << endl ;
- return Graph()->GetChangeOutPort( FromNodeName , FromServiceParameterName )->GetCoord() ;
- }
- else {
- return anInPort->GetCoord() ;
- }
- }
- return 0 ;
-}
-
-bool GraphEditor::OutNode::GetLinkCoord( const char* FromNodeName ,
- const char* FromServiceParameterName ,
- const char* ToNodeName ,
- const char* ToServiceParameterName ,
- int *X , int *Y ) {
- const GraphBase::InPort * anInPort = Graph()->GetInPort( ToNodeName , ToServiceParameterName ) ;
-// cdebug << "GraphEditor::OutNode::GetLinkCoord " << ToNodeName << "( " << ToServiceParameterName
-// << " ) " << anInPort << " IsEndSwitch " << anInPort->IsEndSwitch() << endl ;
- if ( anInPort ) {
- if ( anInPort->IsEndSwitch() ) {
-// cdebug << "GraphEditor::OutNode::GetLinkCoord " << FromNodeName << "( " << FromServiceParameterName
-// << " )" << endl ;
- return Graph()->GetChangeOutPort( FromNodeName , FromServiceParameterName )->GetCoord( X , Y ) ;
- }
- else {
- return anInPort->GetCoord( X , Y ) ;
- }
- }
- return false ;
-}
-
-bool GraphEditor::OutNode::GetLinkCoord( const char* FromNodeName ,
- const char* FromServiceParameterName ,
- const char* ToNodeName ,
- const char* ToServiceParameterName ,
- const int index , long &X , long &Y ) {
- GraphBase::InPort * anInPort = Graph()->GetChangeInPort( ToNodeName ,
- ToServiceParameterName ) ;
-// cdebug << "GraphEditor::OutNode::GetLinkCoord " << ToNodeName << "( " << ToServiceParameterName
-// << " ) " << anInPort << " IsEndSwitch " << anInPort->IsEndSwitch() << endl ;
- if ( anInPort ) {
- if ( anInPort->IsEndSwitch() ) {
-// cdebug << "GraphEditor::OutNode::GetLinkCoord " << FromNodeName << "( " << FromServiceParameterName
-// << " )" << endl ;
- return Graph()->GetChangeOutPort( FromNodeName , FromServiceParameterName )->GetCoord( index , X , Y ) ;
- }
- else {
- return anInPort->GetCoord( index , X , Y ) ;
- }
- }
- return false ;
-}
-
-bool GraphEditor::OutNode::AddInputData( const char* ToNodeName1 ,
- const char* ToParameterName1 ,
- const char* ToNodeName2 ,
- const char* ToParameterName2 ) {
- cdebug_in << "GraphEditor::OutNode::AddInputData" << endl;
- bool RetVal = Graph()->AddInputData( ToNodeName1 ,
- ToParameterName1 ,
- ToNodeName2 ,
- ToParameterName2 ) ;
- cdebug_out << "GraphEditor::OutNode::AddInputData" << endl;
- _Valid = false ;
- return RetVal ;
-}
-
-bool GraphEditor::OutNode::Valid() {
- if ( _Valid )
- return true ;
-
- cdebug_in << "GraphEditor::OutNode::Valid" << endl;
- _Executable = false ;
-
- Graph()->CreateService() ;
-
- int SubStreamGraphsNumber = 0 ;
- if ( !Graph()->Sort( SubStreamGraphsNumber ) ) {
- cdebug << "This DataFlow is not valid." << endl ;
- return false ;
- }
- if ( Graph()->IsDataStreamNode() ) {
- StreamGraph()->SubStreamGraphsNumber( SubStreamGraphsNumber ) ;
- }
-
-// CreateService() ;
-
- Graph()->InLineServices() ;
-
- Graph()->ComputingNodes() ;
-
- _Valid = true ;
-
- cdebug_out << "GraphEditor::OutNode::Valid" << endl;
- return _Valid ;
-}
-
-bool GraphEditor::OutNode::Executable() {
- cdebug_in << "GraphEditor::OutNode::Executable" << endl;
- bool NewLink ;
- if ( Graph()->LinkLoopNodes( NewLink ) ) {
- if ( NewLink ) {
- _Valid = false ;
- }
- }
- else {
- cdebug << "This DataFlow is not executable." << endl ;
- _Executable = false ;
- }
- if ( !IsValid() ) {
- Valid() ;
- }
- if ( !IsValid() ) {
- return false ;
- }
- if ( Graph()->DataServerNodes() )
- _Executable = true ;
- else {
- cdebug << "This DataFlow is not executable." << endl ;
- _Executable = false ;
- }
-
- if ( _Executable && Graph()->IsDataStreamNode() ) {
- StreamGraph()->CreateStreamTopology( "/tmp/" ) ;
- }
-
- cdebug_out << "GraphEditor::OutNode::Executable" << endl;
- return _Executable ;
-}
-
-const CORBA::Any *GraphEditor::OutNode::GetInData(
- const char * ToNodeName ,
- const char * ToParameterName ) {
-// cdebug_in << "GraphEditor::OutNode::GetInData " << ToNodeName
-// << " " << ToParameterName << endl ;
- const CORBA::Any * retdata = Graph()->PortInData( ToNodeName , ToParameterName ) ;
-// cdebug_out << "GraphEditor::OutNode::GetInData" << endl ;
- return retdata ;
-}
-
-const CORBA::Any *GraphEditor::OutNode::GetOutData(
- const char * FromNodeName ,
- const char * FromParameterName ) {
-// cdebug_in << "GraphEditor::OutNode::GetOutData " << FromNodeName
-// << " " << FromParameterName << endl ;
- const CORBA::Any * retdata = Graph()->PortOutData( FromNodeName , FromParameterName ) ;
-// cdebug_out << "GraphEditor::OutNode::GetOutData" << endl ;
- return retdata ;
-}
-
-//bool GraphEditor::OutNode::LinkSaveXML( ostream &f , char *Tabs ,
-bool GraphEditor::OutNode::LinkSaveXML( QDomDocument & Graph , QDomElement & link ,
- GraphBase::SLink aLink ,
- bool wdata ) const {
- cdebug_in << "GraphEditor::OutNode::LinkSaveXML " << aLink.FromNodeName
- << "(" << aLink.FromServiceParameterName << ") --> "
- << aLink.ToNodeName << "(" << aLink.ToServiceParameterName << ")" << endl ;
- QDomElement fromnodename = Graph.createElement( "fromnode-name" ) ;
- QDomText aField ;
- if ( strlen( aLink.FromNodeName.c_str() ) ) {
-// f << Tabs << "<fromnode-name>" << aLink.FromNodeName.c_str()
-// << "</fromnode-name>" << endl ;
- aField = Graph.createTextNode( aLink.FromNodeName.c_str() ) ;
- }
- else {
-// f << Tabs << "<fromnode-name>?</fromnode-name>" << endl ;
- aField = Graph.createTextNode( "?" ) ;
- }
- link.appendChild( fromnodename ) ;
- fromnodename.appendChild( aField ) ;
-
-// f << Tabs << "<fromserviceparameter-name>"
-// << aLink.FromServiceParameterName.c_str() << "</fromserviceparameter-name>"
-// << endl ;
- QDomElement fromserviceparametername = Graph.createElement( "fromserviceparameter-name" ) ;
- aField = Graph.createTextNode( aLink.FromServiceParameterName.c_str() ) ;
- link.appendChild( fromserviceparametername ) ;
- fromserviceparametername.appendChild( aField ) ;
-
- QDomElement tonodename = Graph.createElement( "tonode-name" ) ;
- if ( strlen( aLink.ToNodeName.c_str() ) ) {
-// f << Tabs << "<tonode-name>" << aLink.ToNodeName.c_str()
-// << "</tonode-name>" << endl ;
- aField = Graph.createTextNode( aLink.ToNodeName.c_str() ) ;
- }
- else {
-// f << Tabs << "<tonode-name>?</tonode-name>" << endl ;
- aField = Graph.createTextNode( "?" ) ;
- }
- link.appendChild( tonodename ) ;
- tonodename.appendChild( aField ) ;
-
-// f << Tabs << "<toserviceparameter-name>"
-// << aLink.ToServiceParameterName.c_str() << "</toserviceparameter-name>"
-// << endl ;
- QDomElement toserviceparametername = Graph.createElement( "toserviceparameter-name" ) ;
- aField = Graph.createTextNode( aLink.ToServiceParameterName.c_str() ) ;
- link.appendChild( toserviceparametername ) ;
- toserviceparametername.appendChild( aField ) ;
-
- if ( wdata ) {
-// f << Tabs << "<data-value>" << endl ;
- QDomElement datavalue = Graph.createElement( "data-value" ) ;
- link.appendChild( datavalue ) ;
-// f << Tabs << " <value-type>" << aLink.aLinkValue.type()->kind()
-// << "</value-type>" << endl ;
- QDomElement valuetype = Graph.createElement( "value-type" ) ;
- QString aKind ;
- aKind = aKind.setNum( aLink.aLinkValue.type()->kind() ) ;
- aField = Graph.createTextNode( aKind ) ;
- datavalue.appendChild( valuetype ) ;
- valuetype.appendChild( aField ) ;
- switch (aLink.aLinkValue.type()->kind()) {
- case CORBA::tk_string: {
- char* retstr ;
- aLink.aLinkValue >>= retstr;
-// f << Tabs << " <value>" << retstr << "</value>" << endl ;
- QDomElement value = Graph.createElement( "value" ) ;
- aField = Graph.createTextNode( retstr ) ;
- datavalue.appendChild( value ) ;
- value.appendChild( aField ) ;
-// MESSAGE( "ToString( string ) " << retstr );
- break ;
- }
- case CORBA::tk_double: {
- double d;
- aLink.aLinkValue >>= d;
-// f << Tabs << " <value>" << d << "</value>" << endl ;
- QDomElement value = Graph.createElement( "value" ) ;
- QString aKind ;
- aKind = aKind.setNum( d ) ;
- aField = Graph.createTextNode( aKind ) ;
- datavalue.appendChild( value ) ;
- value.appendChild( aField ) ;
-// MESSAGE( "ToString( double ) " << d );
- break ;
- }
- case CORBA::tk_long: {
- long l;
- aLink.aLinkValue >>= l;
-// f << Tabs << " <value>" << l << "</value>" << endl ;
- QDomElement value = Graph.createElement( "value" ) ;
- QString aKind ;
- aKind = aKind.setNum( l ) ;
- aField = Graph.createTextNode( aKind ) ;
- datavalue.appendChild( value ) ;
- value.appendChild( aField ) ;
-// MESSAGE( "ToString( long ) " << l );
- break ;
- }
- case CORBA::tk_objref: {
- char* retstr ;
- CORBA::Object_ptr obj ;
- aLink.aLinkValue >>= obj ;
- retstr = _Orb->object_to_string(obj );
-// f << Tabs << " <value>" << retstr << "</value>" << endl ;
- QDomElement value = Graph.createElement( "value" ) ;
- aField = Graph.createTextNode( retstr ) ;
- datavalue.appendChild( value ) ;
- value.appendChild( aField ) ;
-// MESSAGE( "ToString( object ) " << retstr );
- break ;
- }
- default: {
-// f << Tabs << " <value>?</value>" << endl ;
- QDomElement value = Graph.createElement( "value" ) ;
- aField = Graph.createTextNode( "?" ) ;
- datavalue.appendChild( value ) ;
- value.appendChild( aField ) ;
-// MESSAGE( "Unknown CORBA::Any Type" );
- break ;
- }
- }
-// f << Tabs << "</data-value>" << endl ;
- }
-// f << Tabs << "<coord-list>" << endl ;
- QDomElement coordlist = Graph.createElement( "coord-list" ) ;
- link.appendChild( coordlist ) ;
-
- int i ;
- for ( i = 0 ; i < (int ) aLink.aListOfCoords.size() ; i++ ) {
-// f << Tabs << " <coord>" << endl ;
- QDomElement coord = Graph.createElement( "coord" ) ;
- coordlist.appendChild( coord ) ;
-// f << Tabs << " <x>" << aLink.aListOfCoords[ i ].theX << "</x>" << endl ;
- QDomElement x = Graph.createElement( "x" ) ;
- QString ax ;
- ax = ax.setNum( aLink.aListOfCoords[ i ].theX ) ;
- aField = Graph.createTextNode( ax ) ;
- coord.appendChild( x ) ;
- x.appendChild( aField ) ;
-// f << Tabs << " <y>" << aLink.aListOfCoords[ i ].theY << "</y>" << endl ;
- QDomElement y = Graph.createElement( "y" ) ;
- QString ay ;
- ay = ay.setNum( aLink.aListOfCoords[ i ].theY ) ;
- aField = Graph.createTextNode( ay ) ;
- coord.appendChild( y ) ;
- y.appendChild( aField ) ;
-// f << Tabs << " </coord>" << endl ;
- }
-// f << Tabs << "</coord-list>" << endl ;
- cdebug_out << "GraphEditor::OutNode::LinkSaveXML " << aLink.FromNodeName
- << "(" << aLink.FromServiceParameterName << ") --> "
- << aLink.ToNodeName << "(" << aLink.ToServiceParameterName << ")"
- << endl ;
- return true ;
-}
-
-bool GraphEditor::OutNode::LinkSavePY( ostream &f , const char * aGraphName ,
- GraphBase::SLink aLink ,
- bool fromparam , bool toparam ,
- bool wdata ) const {
- if ( !wdata ) {
-// if ( intervar ) {
-// f << "O" << aLink.FromNodeName.c_str() << aLink.FromServiceParameterName.c_str()
-// << " = "
-// << aLink.FromNodeName.c_str() << ".GetOutPort( '"
-// << aLink.FromServiceParameterName.c_str()
-// << "' )" << endl ;
-// }
- f << "L" << aLink.FromNodeName.c_str() << aLink.FromServiceParameterName.c_str()
- << aLink.ToNodeName.c_str() << aLink.ToServiceParameterName.c_str() ;
- if ( ((GraphBase::Graph *) Graph())->GetChangeGraphNode( aLink.FromNodeName.c_str() )->GetChangeOutPort( aLink.FromServiceParameterName.c_str() )->IsDataStream() ) {
- f << " = " << aGraphName << ".StreamLink( " ;
- }
- else {
- f << " = " << aGraphName << ".Link( " ;
- }
-// if ( !fromparam ) {
- f << "O" ;
-// }
- f << aLink.FromNodeName.c_str() << aLink.FromServiceParameterName.c_str() << " , " ;
-// if ( !toparam ) {
- f << "I" ;
-// }
- f << aLink.ToNodeName.c_str() << aLink.ToServiceParameterName.c_str() << " )" << endl ;
- }
- else {
- f << "I"<< aLink.ToNodeName.c_str() << aLink.ToServiceParameterName.c_str()
-// << " = " << aLink.ToNodeName.c_str() << ".Input( '"
-// << aLink.ToServiceParameterName.c_str() << "' , " ;
- << ".Input( " ;
- switch (aLink.aLinkValue.type()->kind()) {
- case CORBA::tk_string: {
- char* retstr ;
- aLink.aLinkValue >>= retstr;
- f << "'" << retstr << "'" ;
- break ;
- }
- case CORBA::tk_double: {
- double d;
- aLink.aLinkValue >>= d;
- f << d ;
- break ;
- }
- case CORBA::tk_long: {
- long l;
- aLink.aLinkValue >>= l;
- f << l ;
- break ;
- }
- case CORBA::tk_objref: {
- char* retstr ;
- CORBA::Object_ptr obj ;
- aLink.aLinkValue >>= obj ;
- retstr = _Orb->object_to_string(obj );
- f << "'" << retstr << "'" ;
- break ;
- }
- default: {
- f << "?" ;
-// MESSAGE( "Unknown CORBA::Any Type" );
- break ;
- }
- }
- f << " )" << endl ;
- }
- int i ;
- for ( i = 0 ; i < (int ) aLink.aListOfCoords.size() ; i++ ) {
- f << "L" << aLink.FromNodeName.c_str() << aLink.FromServiceParameterName.c_str()
- << aLink.ToNodeName.c_str() << aLink.ToServiceParameterName.c_str() << ".AddCoord( " << i+1 << " , "
- << aLink.aListOfCoords[ i ].theX << " , "
- << aLink.aListOfCoords[ i ].theY << " )" << endl ;
- }
- return true ;
-}
-
-//bool GraphEditor::OutNode::SaveXML(ostream & f ) {
-bool GraphEditor::OutNode::SaveXML(QDomDocument & GraphQDom ) {
- int i ;
-// f << "<?xml version='1.0' encoding='us-ascii' ?>" << endl << endl ;
-// f << "<!-- XML Dataflow -->" << endl << endl ;
-// f << "<!-- Dataflow information -->" << endl ;
- QString Dataflow("Dataflow") ;
- GraphQDom = QDomDocument(Dataflow) ;
-// f << "<dataflow>" << endl ;
- QDomElement dataflow = GraphQDom.createElement( "dataflow" ) ;
- GraphQDom.appendChild( dataflow ) ;
-// f << " <info-list>" << endl ;
- QDomElement info = GraphQDom.createElement( "info-list" ) ;
- dataflow.appendChild( info ) ;
-
-// f << " <node>" << endl ;
-
-// GraphBase::DataNode::SaveXML( f , " " , 0 , 0 ) ;
- Graph()->SaveXML( GraphQDom , info , 0 , 0 ) ;
-
-// f << " </node>" << endl ;
-
-// f << " </info-list>" << endl << endl ;
-
-// f << " <node-list>" << endl ;
- QDomElement nodelist = GraphQDom.createElement( "node-list" ) ;
- dataflow.appendChild( nodelist ) ;
- for ( i = 0 ; i < Graph()->GraphNodesSize() ; i++ ) {
-// f << " <node>" << endl ;
- if ( Graph()->GraphNodes( i )->IsComputingNode() ) {
-// ((GraphBase::ComputingNode *)GraphNodes( i ))->SaveXML( f ,
-// " " ,
- ((GraphBase::ComputingNode *) Graph()->GraphNodes( i ))->SaveXML( GraphQDom , nodelist ,
- Graph()->GraphNodes( i )->XCoordinate() ,
- Graph()->GraphNodes( i )->YCoordinate() ) ;
- }
- else if ( Graph()->GraphNodes( i )->IsFactoryNode() ) {
-// ((GraphBase::FactoryNode * ) GraphNodes( i ))->SaveXML( f ,
-// " " ,
- ((GraphBase::FactoryNode * ) Graph()->GraphNodes( i ))->SaveXML( GraphQDom , nodelist ,
- Graph()->GraphNodes( i )->XCoordinate() ,
- Graph()->GraphNodes( i )->YCoordinate() ) ;
- }
- else if ( Graph()->GraphNodes( i )->IsInLineNode() ) {
-// ((GraphBase::InLineNode * ) GraphNodes( i ))->SaveXML( f ,
-// " " ,
- ((GraphBase::InLineNode * ) Graph()->GraphNodes( i ))->SaveXML( GraphQDom , nodelist ,
- Graph()->GraphNodes( i )->XCoordinate() ,
- Graph()->GraphNodes( i )->YCoordinate() ) ;
- }
- else if ( Graph()->GraphNodes( i )->IsGOTONode() ) {
-// ((GraphBase::GOTONode * ) GraphNodes( i ))->SaveXML( f ,
-// " " ,
- ((GraphBase::GOTONode * ) Graph()->GraphNodes( i ))->SaveXML( GraphQDom , nodelist ,
- Graph()->GraphNodes( i )->XCoordinate() ,
- Graph()->GraphNodes( i )->YCoordinate() ) ;
- }
- else if ( Graph()->GraphNodes( i )->IsLoopNode() ) {
-// ((GraphBase::LoopNode * ) GraphNodes( i ))->SaveXML( f ,
-// " " ,
- ((GraphBase::LoopNode * ) Graph()->GraphNodes( i ))->SaveXML( GraphQDom , nodelist ,
- Graph()->GraphNodes( i )->XCoordinate() ,
- Graph()->GraphNodes( i )->YCoordinate() ) ;
- }
- else if ( Graph()->GraphNodes( i )->IsEndLoopNode() ) {
-// ((GraphBase::EndOfLoopNode * ) GraphNodes( i ))->SaveXML( f ,
-// " " ,
- ((GraphBase::EndOfLoopNode * ) Graph()->GraphNodes( i ))->SaveXML( GraphQDom , nodelist ,
- Graph()->GraphNodes( i )->XCoordinate() ,
- Graph()->GraphNodes( i )->YCoordinate() ) ;
- }
- else if ( Graph()->GraphNodes( i )->IsSwitchNode() ) {
-// ((GraphBase::SwitchNode * ) GraphNodes( i ))->SaveXML( f ,
-// " " ,
- ((GraphBase::SwitchNode * ) Graph()->GraphNodes( i ))->SaveXML( GraphQDom , nodelist ,
- Graph()->GraphNodes( i )->XCoordinate() ,
- Graph()->GraphNodes( i )->YCoordinate() ) ;
- }
- else if ( Graph()->GraphNodes( i )->IsEndSwitchNode() ) {
-// ((GraphBase::EndOfSwitchNode * ) GraphNodes( i ))->SaveXML( f ,
-// " " ,
- ((GraphBase::EndOfSwitchNode * ) Graph()->GraphNodes( i ))->SaveXML( GraphQDom , nodelist ,
- Graph()->GraphNodes( i )->XCoordinate() ,
- Graph()->GraphNodes( i )->YCoordinate() ) ;
- }
-// f << " </node>" << endl ;
-// }
- }
-// f << " </node-list>" << endl << endl ;
-
-// f << " <link-list>" << endl ;
- QDomElement linklist = GraphQDom.createElement( "link-list" ) ;
- dataflow.appendChild( linklist ) ;
- const GraphBase::ListOfLinks * Links = Graph()->GetLinks( true ) ;
- for ( i = 0 ; i < (int ) Links->size() ; i++ ) {
-// f << " <link>" << endl ;
- QDomElement link = GraphQDom.createElement( "link" ) ;
- linklist.appendChild( link ) ;
-// LinkSaveXML( f , " " , (*Links)[ i ] , false ) ;
- LinkSaveXML( GraphQDom , link , (*Links)[ i ] , false ) ;
-// f << " </link>" << endl ;
- }
-// f << " </link-list>" << endl << endl ;
-
-// f << " <data-list>" << endl ;
- QDomElement datalist = GraphQDom.createElement( "data-list" ) ;
- dataflow.appendChild( datalist ) ;
- const GraphBase::ListOfLinks * Datas = Graph()->GetDatas() ;
- for ( i = 0 ; i < (int ) Datas->size() ; i++ ) {
-// f << " <data>" << endl ;
- QDomElement data = GraphQDom.createElement( "data" ) ;
- datalist.appendChild( data ) ;
-// LinkSaveXML( f , " " , (*Datas)[ i ] , true ) ;
- LinkSaveXML( GraphQDom , data , (*Datas)[ i ] , true ) ;
-// f << " </data>" << endl ;
- }
-//#if 0
-// const GraphEditor::OutNode * aDataNode = (GraphEditor::OutNode *) this ;
-// if ( aDataNode ) {
-// int i ;
-// for ( i = 0 ; i < aDataNode->GetNodeOutPortsSize() ; i++ ) {
-// const GraphBase::InPort *aLink = aDataNode->GetNodeOutPort(i)->GetLink() ;
-// if ( aLink ) {
-// f << " <data>" << endl ;
-// aLink->SaveXML( f , " " ) ;
-// f << " </data>" << endl ;
-// }
-// }
-// for ( i = 0 ; i < aDataNode->GetNodeInPortsSize() ; i++ ) {
-// const GraphBase::InPort *aLink = aDataNode->GetNodeInPort(i)->GetLink() ;
-// if ( aLink ) {
-// f << " <data>" << endl ;
-// aLink->SaveXML( f , " " ) ;
-// f << " </data>" << endl ;
-// }
-// }
-// }
-//#endif
-
-#if 0
- f << " </data-list>" << endl << endl ;
- f << "</dataflow>" << endl ;
-#endif
-
- return true ;
-}
-
-bool GraphEditor::OutNode::SavePY( ostream & f ) {
- int i ;
- int j ;
- f << endl << "# Generated python file of Graph " << Graph()->Name() << endl << endl ;
-
- f << "from SuperV import *" << endl ;
-
- f << "# Graph creation " << endl ;
- Graph()->SavePY( f , Graph()->Name() , 0 , 0 ) ;
-
- f << endl << "# Creation of Factory Nodes" << endl ;
- for ( i = 0 ; i < Graph()->GraphNodesSize() ; i++ ) {
- if ( Graph()->GraphNodes( i )->IsFactoryNode() ) {
- f << endl ;
- ((GraphBase::FactoryNode * ) Graph()->GraphNodes( i ))->SavePY( f , Graph()->Name() ,
- Graph()->GraphNodes( i )->XCoordinate() ,
- Graph()->GraphNodes( i )->YCoordinate() ) ;
- }
- }
-
- bool first = true ;
- for ( i = 0 ; i < Graph()->GraphNodesSize() ; i++ ) {
- if ( Graph()->GraphNodes( i )->IsComputingNode() ) {
- if ( first ) {
- f << endl << "# Creation of Computing Nodes" << endl ;
- first = false ;
- }
- else {
- f << endl ;
- }
- ((GraphBase::ComputingNode * ) Graph()->GraphNodes( i ))->SavePY( f , Graph()->Name() ,
- Graph()->GraphNodes( i )->XCoordinate() ,
- Graph()->GraphNodes( i )->YCoordinate() ) ;
- }
- }
-
- first = true ;
- for ( i = 0 ; i < Graph()->GraphNodesSize() ; i++ ) {
- if ( Graph()->GraphNodes( i )->IsInLineNode() ) {
- if ( first ) {
- f << endl << "# Creation of InLine Nodes" << endl ;
- first = false ;
- }
- else {
- f << endl ;
- }
- ((GraphBase::InLineNode * ) Graph()->GraphNodes( i ))->SavePY( f , Graph()->Name() ,
- Graph()->GraphNodes( i )->XCoordinate() ,
- Graph()->GraphNodes( i )->YCoordinate() ) ;
- }
- }
-
- first = true ;
- for ( i = 0 ; i < Graph()->GraphNodesSize() ; i++ ) {
- if ( Graph()->GraphNodes( i )->IsLoopNode() ) {
- if ( first ) {
- f << endl << "# Creation of Loop Nodes" << endl ;
- first = false ;
- }
- else {
- f << endl ;
- }
- ((GraphBase::LoopNode * ) Graph()->GraphNodes( i ))->SavePY( f , Graph()->Name() ,
- Graph()->GraphNodes( i )->XCoordinate() ,
- Graph()->GraphNodes( i )->YCoordinate() ) ;
- }
- }
-
- first = true ;
- for ( i = 0 ; i < Graph()->GraphNodesSize() ; i++ ) {
- if ( Graph()->GraphNodes( i )->IsSwitchNode() ) {
- if ( first ) {
- f << endl << "# Creation of Switch Nodes" << endl ;
- first = false ;
- }
- else {
- f << endl ;
- }
- ((GraphBase::SwitchNode * ) Graph()->GraphNodes( i ))->SavePY( f , Graph()->Name() ,
- Graph()->GraphNodes( i )->XCoordinate() ,
- Graph()->GraphNodes( i )->YCoordinate() ) ;
- }
- }
-
- first = true ;
- for ( i = 0 ; i < Graph()->GraphNodesSize() ; i++ ) {
- if ( Graph()->GraphNodes( i )->IsGOTONode() ) {
- if ( first ) {
- f << endl << "# Creation of GOTO Nodes" << endl ;
- first = false ;
- }
- else {
- f << endl ;
- }
- ((GraphBase::GOTONode * ) Graph()->GraphNodes( i ))->SavePY( f , Graph()->Name() ,
- Graph()->GraphNodes( i )->XCoordinate() ,
- Graph()->GraphNodes( i )->YCoordinate() ) ;
- }
- }
-
- const GraphBase::ListOfLinks * Links = Graph()->GetLinks() ;
-// bool intervar ;
-// map< string , int > aMapOfOutPorts ;
- first = true ;
- for ( i = 0 ; i < Graph()->GraphNodesSize() ; i++ ) {
- for ( j = 0 ; j < (int ) Links->size() ; j++ ) {
- if ( !strcmp( Graph()->GraphNodes( i )->Name() , (*Links)[ j ].FromNodeName.c_str() ) ) {
- if ( first ) {
- f << endl
- << "# Creation of Links"
- << endl ;
- first = false ;
- }
- else {
- f << endl ;
- }
-// char * NodePort = new char [ strlen( (*Links)[ j ].FromNodeName.c_str() ) +
-// strlen( (*Links)[ j ].FromServiceParameterName.c_str() ) + 1 ] ;
-// strcpy( NodePort , (*Links)[ j ].FromNodeName.c_str() ) ;
-// strcat( NodePort , (*Links)[ j ].FromServiceParameterName.c_str() ) ;
-// if ( aMapOfOutPorts[ NodePort ] == 0 ) {
-// aMapOfOutPorts[ NodePort ] = j + 1 ;
-// intervar = true ;
-// }
-// else {
-// intervar = false ;
-// }
- bool fromparam = false ;
- if ( Graph()->GraphNodes( i )->GetOutPort( (*Links)[ j ].FromServiceParameterName.c_str() )->IsParam() ) {
- fromparam = true ;
- }
- bool toparam = false ;
- if ( Graph()->GetChangeGraphNode( (*Links)[ j ].ToNodeName.c_str() )->GetInPort( (*Links)[ j ].ToServiceParameterName.c_str() )->IsParam() ) {
- toparam = true ;
- }
- LinkSavePY( f , Graph()->Name() , (*Links)[ j ] , fromparam , toparam , false ) ;
-// delete [] NodePort ;
- }
- }
- }
-
- const GraphBase::ListOfLinks * Datas = Graph()->GetDatas() ;
- first = true ;
- for ( i = 0 ; i < (int ) Datas->size() ; i++ ) {
- if ( first ) {
- f << endl << "# Input datas" << endl ;
- first = false ;
- }
- bool fromparam = true ;
- bool toparam = true ;
- LinkSavePY( f , Graph()->Name() , (*Datas)[ i ] , fromparam , toparam , true ) ;
- }
-
- first = true ;
- const SALOME_ModuleCatalog::ListOfServicesParameter ListOfInParam = Graph()->ServiceInParameter() ;
- for ( i = 0 ; i < (int ) ListOfInParam.length() ; i++ ) {
- string _aParam = CORBA::string_dup(ListOfInParam[ i ].Parametername) ;
- const char * aParam = _aParam.c_str() ;
- char * aNodeName ;
- char * aPortName ;
- int j ;
- for ( j = 0 ; j < (int ) strlen( aParam ) ; j++ ) {
- if ( aParam[ j ] == '\\' ) {
- aNodeName = new char[ j+1 ] ;
- strncpy( aNodeName , aParam , j ) ;
- aNodeName[ j ] = '\0' ;
- aPortName = new char[ strlen( aParam ) - j ] ;
- strncpy( aPortName , &aParam[ j+1 ] , strlen( aParam ) - j ) ;
- break ;
- }
- }
- const GraphBase::InPort * anInPort = Graph()->GetChangeGraphNode( aNodeName )->GetInPort( aPortName ) ;
- if ( !anInPort->IsDataConnected() ) {
- if ( first ) {
- f << endl << "# Input Ports of the graph" << endl ;
- first = false ;
- }
- f << "#I" << aNodeName << aPortName << " = " << aNodeName << ".GetInPort( '"
- << aPortName << "' )" << endl ;
- }
- delete [] aNodeName ;
- delete [] aPortName ;
- }
-
- f << endl << "# Output Ports of the graph" << endl ;
- const SALOME_ModuleCatalog::ListOfServicesParameter ListOfOutParam = Graph()->ServiceOutParameter() ;
- for ( i = 0 ; i < (int ) ListOfOutParam.length() ; i++ ) {
- string _aParam = CORBA::string_dup(ListOfOutParam[ i ].Parametername) ;
- const char * aParam = _aParam.c_str() ;
- char * aNodeName ;
- char * aPortName ;
- int j ;
- for ( j = 0 ; j < (int ) strlen( aParam ) ; j++ ) {
- if ( aParam[ j ] == '\\' ) {
- aNodeName = new char[ j+1 ] ;
- strncpy( aNodeName , aParam , j ) ;
- aNodeName[ j ] = '\0' ;
- aPortName = new char[ strlen( aParam ) - j ] ;
- strncpy( aPortName , &aParam[ j+1 ] , strlen( aParam ) - j ) ;
- break ;
- }
- }
- f << "#O" << aNodeName << aPortName << " = " << aNodeName << ".GetOutPort( '"
- << aPortName << "' )" << endl ;
- delete [] aNodeName ;
- delete [] aPortName ;
- }
- return true ;
-}
-
-
-
-ostream & operator<< (ostream & f,const GraphEditor::OutNode & G) {
- f << (GraphBase::ComputingNode ) *(G.Graph()) ;
- f << endl ;
-
- f << " Nodes : " << (G.Graph())->GraphNodesSize() << " node"
- << ((G.Graph())->GraphNodesSize() > 1 ? "s" : "") << endl;
-
- int i ;
- for ( i = 0 ; i < (G.Graph())->GraphNodesSize() ; i++ ) {
- f
-// << hex << (void *) G.Graph().GraphNodes( i ) << dec << " "
- << (G.Graph())->GraphNodes( i ) << endl;
- }
-
- f << " Links : " << endl ;
- for ( i = 0 ; i < (G.Graph())->GraphNodesSize() ; i++ ) {
- (G.Graph())->GraphNodes( i )->ListLinks( f ) ;
- }
-
- f << " Datas : " << endl ;
- (G.Graph())->ListDatas( f ) ;
-
- f << "DataFlow " << (G.Graph())->Name() << " is " ;
- if ( G.IsNotValid() )
- f << "not " ;
- f << "valid and is " ;
- if ( G.IsNotExecutable() )
- f << "not " ;
- f << "executable." << endl ;
-
- f << endl ;
-
- return f;
-}
-
-ostream & operator<< (ostream &fOut,const SUPERV::SDate &D)
-{
-// cdebug_in << "operator<< GraphEditor::Date" << endl;
-
- fOut << D.Day << "/"
- << D.Month << "/"
- << D.Year << " - "
- << D.Hour << ":"
- << D.Minute << ":"
- << D.Second;
-
-// cdebug_out << "operator<< GraphEditor::Date" << endl;
- return fOut;
-}
-
-
-
-
-
-
-
-
+++ /dev/null
-// SUPERV GraphEditor : contains classes that permit edition of graphs
-//
-// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
-// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
-//
-// This library is free software; you can redistribute it and/or
-// modify it under the terms of the GNU Lesser General Public
-// License as published by the Free Software Foundation; either
-// version 2.1 of the License.
-//
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-// Lesser General Public License for more details.
-//
-// You should have received a copy of the GNU Lesser General Public
-// License along with this library; if not, write to the Free Software
-// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-//
-// See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
-//
-//
-//
-// File : DataFlowEditor_OutNode.hxx
-// Module : SUPERV
-
-#ifndef _DATAFLOWEDITOR_OUTNODE_HXX
-#define _DATAFLOWEDITOR_OUTNODE_HXX
-
-#include "DataFlowBase_StreamGraph.hxx"
-
-#include "DataFlowEditor_InNode.hxx"
-
-namespace GraphEditor {
-
-// class OutNode : public GraphBase::Graph {
- class OutNode : public GraphBase::Base {
-
- private :
-
- GraphBase::StreamGraph * _StreamGraph ;
- GraphBase::Graph * _Graph ;
-
- int _Graph_prof_debug ;
-
- bool _Imported ;
-
- bool _Valid ;
-
- bool _Executable ;
-
- CORBA::ORB_ptr _Orb;
-
- bool Valid() ;
- bool Executable() ;
-
- bool LoadNodes( map< string , int > & aMapOfNodes ,
- const GraphBase::ListOfNodes &aNodes ) ;
- bool LoadLinks( map< string , int > & aMapOfNodes ,
- const GraphBase::ListOfLinks &aLinks ) ;
- bool LoadDatas( map< string , int > & aMapOfNodes ,
- const GraphBase::ListOfLinks &aDatas ) ;
-
-// bool GraphEditor::OutNode::LinkSaveXML( ostream &f , char *Tabs ,
- bool GraphEditor::OutNode::LinkSaveXML( QDomDocument & Graph , QDomElement & link ,
- GraphBase::SLink aLink ,
- bool wdata ) const ;
-// bool SaveXML(ostream &f ) ;QDomDocument & Graph
- bool SaveXML(QDomDocument & Graph ) ;
-
- bool GraphEditor::OutNode::LinkSavePY( ostream &f ,
- const char *aGraphName ,
- GraphBase::SLink aLink ,
- bool fromparam ,
- bool toparam ,
- bool wdata ) const;
- bool SavePY(ostream &f ) ;
-
- void DateModification() ;
-
- public:
-
- OutNode();
- OutNode( CORBA::ORB_ptr ORB,
- SALOME_NamingService* ptrNamingService ,
- const char *DataFlowName ,
- const char * DebugFileName ,
- const SUPERV::KindOfNode aKindOfNode );
- OutNode( CORBA::ORB_ptr ORB,
- SALOME_NamingService* ptrNamingService ,
- const SALOME_ModuleCatalog::Service& DataFlowService ,
- const char *DataFlowComponentName ,
- const char *DataFlowInterfaceName ,
- const char *DataFlowName ,
- const SUPERV::KindOfNode DataFlowkind ,
- const SUPERV::SDate DataFlowFirstCreation ,
- const SUPERV::SDate DataFlowLastModification ,
- const char * DataFlowEditorRelease ,
- const char * DataFlowAuthor ,
- const char * DataFlowComputer ,
- const char * DataFlowComment ,
- const char * DebugFileName ) ;
- virtual ~OutNode();
-
- void Set_prof_debug( CORBA::ORB_ptr ORB , const char * DebugFileName ) ;
- GraphBase::StreamGraph * StreamGraph() {
- return _StreamGraph ; } ;
- GraphBase::StreamGraph * StreamGraph() const {
- return _StreamGraph ; } ;
- GraphBase::Graph * Graph() {
- return _Graph ; } ;
- const GraphBase::Graph * Graph() const {
- return _Graph ; } ;
-
- bool LoadDataFlow( const GraphBase::SGraph *aDataFlow ) ;
- bool LoadXml( const char* myFileName ) ;
- bool LoadInfo( const GraphBase::SNode &aDataFlowInfo ) ;
-
- bool SaveXml(const char* myFileName ) ;
-
- bool SavePy(const char* myFileName ) ;
-
-// get all DataFlow informations (for a .XML file) :
- GraphBase::SGraph * GetDataFlow() ;
-
-// void DateModification() ;
-
- GraphEditor::InNode * AddNode(
- const SALOME_ModuleCatalog::Service& NodeService ,
- GraphBase::ListOfFuncName aFuncName ,
- GraphBase::ListOfPythonFunctions aPythonFunction ,
- const char* NodeComponentName ,
- const char* NodeInterfaceName ,
- const char* NodeName ,
- const SUPERV::KindOfNode NodeKindOfNode ,
- const SUPERV::SDate NodeFirstCreation ,
- const SUPERV::SDate NodeLastModification ,
- const char * NodeEditorRelease ,
- const char * NodeAuthor ,
- const char * NodeComputer ,
- const char * NodeComment ,
- const int NodeX ,
- const int NodeY ) ;
- GraphEditor::InNode * GetNode( const char* NodeName ) {
- const GraphBase::Graph::ComputingNode * aNode = _Graph->GetGraphNode( NodeName ) ;
- if ( aNode ) {
- return (GraphEditor::InNode * ) (aNode->GetInNode()) ;
- }
- else {
- return (GraphEditor::InNode * ) NULL ;
- } } ;
- bool RemoveNode( const char* NodeName ) {
- DateModification() ;
- _Valid = false ;
- return _Graph->RemoveNode( NodeName ) ; } ;
- bool ReNameNode( const char* OldNodeName ,
- const char* NewNodeName ) {
- DateModification() ;
- _Valid = false ;
- return _Graph->ReNameNode( OldNodeName , NewNodeName ) ; } ;
-
- void Coordinates( const int X , const int Y ) {
- return _Graph->Coordinates( X , Y ) ; } ;
- const int XCoordinate() {
- return _Graph->XCoordinate() ; } ;
- const int YCoordinate() {
- return _Graph->YCoordinate() ; } ;
- void Coordinates( const char* NodeName , const int X , const int Y ) ;
- const int XCoordinate( const char* NodeName ) ;
- const int YCoordinate( const char* NodeName ) ;
-
- const GraphBase::InPort *GetInPort( const char * InPortName ) {
- return _Graph->GetInPort( InPortName ) ; } ;
- const GraphBase::OutPort *GetOutPort( const char * OutPortName ) {
- return _Graph->GetOutPort( OutPortName ) ; } ;
- GraphBase::InPort *GetChangeInPort( const char * InPortName ) {
- return _Graph->GetChangeInPort( InPortName ) ; } ;
- GraphBase::OutPort *GetChangeOutPort( const char * OutPortName ) {
- return _Graph->GetChangeOutPort( OutPortName ) ; } ;
-
- bool HasInput(const char * ToServiceParameterName ) {
- return _Graph->HasInput( ToServiceParameterName ) ;
- }
-
- bool AddLink( const char* FromNodeName ,
- const char* FromServiceParameterName ,
- const char* ToNodeName ,
- const char* ToServiceParameterName ,
- const CORBA::Any aValue ) {
- DateModification() ;
- _Valid = false ;
- return _Graph->AddLink( FromNodeName , FromServiceParameterName ,
- ToNodeName , ToServiceParameterName ,
- aValue ) ; } ;
-
- bool RemoveLink( const char* FromNodeName ,
- const char* FromServiceParameterName ,
- const char* ToNodeName ,
- const char* ToServiceParameterName ) {
- bool RetVal = _Graph->RemoveLink( FromNodeName ,
- FromServiceParameterName ,
- ToNodeName ,
- ToServiceParameterName ) ;
- if ( RetVal )
- DateModification() ;
- _Valid = false ;
- return RetVal ; } ;
-
- bool GetLink(const char* ToNodeName ,
- const char* ToServiceParameterName ,
- char** FromNodeName ,
- char** FromServiceParameterName ) {
- return _Graph->GetLink( ToNodeName ,
- ToServiceParameterName ,
- FromNodeName ,
- FromServiceParameterName ) ; } ;
-
- bool AddLinkCoord( const char* FromNodeName ,
- const char* FromServiceParameterName ,
- const char* ToNodeName ,
- const char* ToServiceParameterName ,
- const int nXY ,
- const int* X ,
- const int* Y ) ;
- bool AddLinkCoord( const char* FromNodeName ,
- const char* FromServiceParameterName ,
- const char* ToNodeName ,
- const char* ToServiceParameterName ,
- const int index ,
- const int X ,
- const int Y ) ;
- bool ChangeLinkCoord( const char* FromNodeName ,
- const char* FromServiceParameterName ,
- const char* ToNodeName ,
- const char* ToServiceParameterName ,
- const int index ,
- const int X ,
- const int Y ) ;
- bool RemoveLinkCoord( const char* FromNodeName ,
- const char* FromServiceParameterName ,
- const char* ToNodeName ,
- const char* ToServiceParameterName ,
- const int index ) ;
- int GetLinkCoordSize( const char* FromNodeName ,
- const char* FromServiceParameterName ,
- const char* ToNodeName ,
- const char* ToServiceParameterName ) ;
- bool GetLinkCoord( const char* FromNodeName ,
- const char* FromServiceParameterName ,
- const char* ToNodeName ,
- const char* ToServiceParameterName ,
- int *X , int *Y ) ;
- bool GetLinkCoord( const char* FromNodeName ,
- const char* FromServiceParameterName ,
- const char* ToNodeName ,
- const char* ToServiceParameterName ,
- const int index , long &X , long &Y ) ;
-
- bool AddInputData( const char* ToNodeName1 ,
- const char* ToParameterName1 ,
- const char* ToNodeName2 ,
- const char* ToParameterName2 ) ;
-
- bool IsValid() {
- if ( !_Valid )
- Valid() ;
- return _Valid ; } ;
- bool IsNotValid() const {
- return !_Valid ; } ;
- bool UnValid() {
- bool RetVal = _Valid ;
- _Valid = false ;
- return RetVal ; } ;
-
- bool IsExecutable() {
- if ( !_Valid )
- Valid() ;
- if ( _Valid ) {
- if ( !_Executable )
- Executable() ;
- }
- else
- _Executable = false ;
- return _Executable ; } ;
- bool IsNotExecutable() const {
- return !_Executable ; } ;
-
- const CORBA::Any *GetInData( const char *ToNodeName ,
- const char *ToParameterName ) ;
- const CORBA::Any *GetOutData( const char *FromNodeName ,
- const char *FromParameterName ) ;
- } ;
-
-};
-
-ostream & operator << (ostream &,const GraphEditor::OutNode & G);
-ostream & operator << (ostream &,const SUPERV::SDate &);
-
-#endif
-
-
-
+++ /dev/null
-# SUPERV GraphEditor : contains classes that permit edition of graphs
-#
-# Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
-# CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
-#
-# This library is free software; you can redistribute it and/or
-# modify it under the terms of the GNU Lesser General Public
-# License as published by the Free Software Foundation; either
-# version 2.1 of the License.
-#
-# This library is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-# Lesser General Public License for more details.
-#
-# You should have received a copy of the GNU Lesser General Public
-# License along with this library; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-#
-# See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
-#
-#
-#
-# File : Makefile.in
-# Author : , CEA
-# Module : SUPERV
-# $Header:
-
-top_srcdir=@top_srcdir@
-top_builddir=../..
-srcdir=@srcdir@
-VPATH=.:@srcdir@:@top_srcdir@/idl
-
-
-@COMMENCE@
-
-EXPORT_HEADERS = \
- DataFlowEditor_InNode.hxx \
- DataFlowEditor_OutNode.hxx \
- DataFlowEditor_DataFlow.hxx \
- DataFlowEditor_DataFlow.lxx
-
-# Libraries targets
-LIB = libSalomeSuperVisionEditor.la
-LIB_SRC = \
- DataFlowEditor_InNode.cxx \
- DataFlowEditor_OutNode.cxx \
- DataFlowEditor_DataFlow.cxx
-
-LIB_CLIENT_IDL = SALOME_ModuleCatalog.idl \
- SALOME_Component.idl \
- SALOMEDS.idl \
- SUPERV.idl \
- SALOME_Exception.idl
-
-# Executables targets
-#BIN = SuperVisionEditor_CheckOfUndefined
-BIN_SRC =
-BIN_SERVER_IDL =
-
-CPPFLAGS+= $(PYTHON_INCLUDES) $(QT_MT_INCLUDES) $(VTK_INCLUDES) $(OGL_INCLUDES) \
- -I${KERNEL_ROOT_DIR}/include/salome
-CXXFLAGS= -g -D_DEBUG_ -D__x86__ -D__linux__ -ftemplate-depth-42 -Wall \
- -I${KERNEL_ROOT_DIR}/include/salome
-LDFLAGS+= -lSalomeNS -lSalomeLifeCycleCORBA -lSalomeSuperVisionBase -lSalomeSuperVisionExecutor -lOpUtil -lSALOMELocalTrace \
- -lc $(QT_MT_LIBS) $(OGL_LIBS) -L${KERNEL_ROOT_DIR}/lib/salome
-#LIBS += -Xlinker -export-dynamic $(PYTHON_LIBS)
-
-
-@CONCLUDE@
-
-
+++ /dev/null
-// SUPERV GraphEditor : contains classes that permit edition of graphs
-//
-// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
-// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
-//
-// This library is free software; you can redistribute it and/or
-// modify it under the terms of the GNU Lesser General Public
-// License as published by the Free Software Foundation; either
-// version 2.1 of the License.
-//
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-// Lesser General Public License for more details.
-//
-// You should have received a copy of the GNU Lesser General Public
-// License along with this library; if not, write to the Free Software
-// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-//
-// See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
-//
-//
-//
-// File : SuperVisionEditor_CheckOfUndefined.cxx
-// Module : SUPERV
-
-using namespace std;
-#include <iostream>
-#include <fstream>
-#include <unistd.h>
-
-#include "DataFlowBase_Base.hxx"
-#include "DataFlowBase_Graph.hxx"
-#include "DataFlowEditor_InNode.hxx"
-#include "DataFlowEditor_OutNode.hxx"
-#include "DataFlowEditor_DataFlow.hxx"
-#include "DataFlowEditor_DataFlow.lxx"
-
-int _ArgC ;
-char ** _ArgV ;
-
-int main(int argc, char **argv) {
-
- return 1;
-}
-
+++ /dev/null
-// SUPERV GraphExecutor : contains classes that permit execution of graphs and particularly the execution automaton
-//
-// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
-// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
-//
-// This library is free software; you can redistribute it and/or
-// modify it under the terms of the GNU Lesser General Public
-// License as published by the Free Software Foundation; either
-// version 2.1 of the License.
-//
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-// Lesser General Public License for more details.
-//
-// You should have received a copy of the GNU Lesser General Public
-// License along with this library; if not, write to the Free Software
-// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-//
-// See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
-//
-//
-//
-// File : DataFlowExecutor_DataFlow.cxx
-// Module : SUPERV
-
-using namespace std;
-#include "DataFlowExecutor_DataFlow.hxx"
-
-// Implementation de la classe GraphExecutor::Graph
-
-GraphExecutor::DataFlow::DataFlow() :
- OutNode() {
- cdebug_in << "GraphExecutor::DataFlow::DataFlowExecutor()" << endl;
-
- _theNamingService = NULL ;
-
- cdebug_out << "GraphExecutor::DataFlow::DataFlowExecutor()" << endl;
-}
-
-GraphExecutor::DataFlow::DataFlow( CORBA::ORB_ptr ORB,
- SALOME_NamingService* ptrNamingService ,
- const char *DataFlowName ,
- const char * DebugFileName ,
- const SUPERV::KindOfNode aKindOfNode ) :
- OutNode( ORB, ptrNamingService , DataFlowName , DebugFileName , aKindOfNode ) {
- cdebug_in << "GraphExecutor::DataFlow::DataFlow(" ;
- if ( DataFlowName ) {
- cdebug << DataFlowName ;
- }
- cdebug << ")" << endl;
-
- _theNamingService = ptrNamingService ;
-
- cdebug_out << "GraphExecutor::DataFlow::DataFlow" << endl;
-}
-
-GraphExecutor::DataFlow::DataFlow(
- CORBA::ORB_ptr ORB,
- SALOME_NamingService* ptrNamingService ,
- const SALOME_ModuleCatalog::Service& DataFlowService ,
- const char *DataFlowComponentName ,
- const char *DataFlowInterfaceName ,
- const char *DataFlowName ,
- const SUPERV::KindOfNode DataFlowkind ,
- const SUPERV::SDate DataFlowFirstCreation ,
- const SUPERV::SDate DataFlowLastModification ,
- const char * DataFlowExecutorRelease ,
- const char * DataFlowAuthor ,
- const char * DataFlowComputer ,
- const char * DataFlowComment ,
- const char * DebugFileName ) :
- OutNode( ORB, ptrNamingService , DataFlowService , DataFlowComponentName ,
- DataFlowInterfaceName , DataFlowName , DataFlowkind ,
- DataFlowFirstCreation , DataFlowLastModification ,
- DataFlowExecutorRelease , DataFlowAuthor ,
- DataFlowComputer , DataFlowComment , DebugFileName ) {
- cdebug_in << "GraphExecutor::DataFlow::DataFlow(" << DataFlowName << ")" << endl;
-
- _theNamingService = ptrNamingService ;
-
- cdebug_out << "GraphExecutor::DataFlow::DataFlow" << endl;
-} ;
-
-GraphExecutor::DataFlow::~DataFlow() {
-// delete _DataFlowNode ;
-// delete _DataFlowDatas ;
-// delete _GT ;
-}
-
-bool GraphExecutor::DataFlow::Ping( const char *aNodeName ) {
- cdebug_in << "GraphExecutor::DataFlow::Ping" << aNodeName << " )" << endl;
- bool RetVal = false ;
- if ( Graph()->GetGraphNode( aNodeName ) )
- RetVal = ((GraphExecutor::InNode *) Graph()->GetGraphNode( aNodeName )->GetInNode())->Ping() ;
- cdebug_out << "GraphExecutor::DataFlow::Ping" << endl;
- return RetVal ;
-}
-
-bool GraphExecutor::DataFlow::ContainerKill() {
- cdebug_in << "GraphExecutor::DataFlow::ContainerKill()" << endl;
- bool RetVal = GraphExecutor::OutNode::ContainerKill() ;
- cdebug_out << "GraphExecutor::DataFlow::ContainerKill()" << endl;
- return RetVal ;
-}
-
-bool GraphExecutor::DataFlow::ContainerKill( const char *aNodeName ) {
-// cdebug_in << "GraphExecutor::DataFlow::ContainerKill( " << aNodeName << " )"<< endl;
- bool RetVal = false ;
- GraphExecutor::InNode * aNode = ((GraphExecutor::InNode *) Graph()->GetGraphNode( aNodeName )->GetInNode()) ;
- if ( aNode ) {
- RetVal = aNode->ContainerKill() ;
- }
-// cdebug_out << "GraphExecutor::DataFlow::ContainerKill" << endl;
- return RetVal ;
-}
-
-bool GraphExecutor::DataFlow::Kill() {
- cdebug_in << "GraphExecutor::DataFlow::Kill()" << endl;
- bool RetVal = GraphExecutor::OutNode::Kill() ;
- cdebug_out << "GraphExecutor::DataFlow::Kill()" << endl;
- return RetVal ;
-}
-
-bool GraphExecutor::DataFlow::Kill( const char *aNodeName ) {
-// cdebug_in << "GraphExecutor::DataFlow::Kill( " << aNodeName << " )"<< endl;
- bool RetVal = false ;
- GraphExecutor::InNode * aNode = ((GraphExecutor::InNode *) Graph()->GetGraphNode( aNodeName )->GetInNode()) ;
- if ( aNode ) {
- RetVal = aNode->Kill() ;
- }
-// cdebug_out << "GraphExecutor::DataFlow::Kill" << endl;
- return RetVal ;
-}
-
-bool GraphExecutor::DataFlow::KillDone( const char *aNodeName ) {
-// cdebug_in << "GraphExecutor::DataFlow::KillDone( " << aNodeName << " )"<< endl;
- bool RetVal = false ;
- GraphExecutor::InNode * aNode = ((GraphExecutor::InNode *) Graph()->GetGraphNode( aNodeName )->GetInNode()) ;
- if ( aNode ) {
- RetVal = aNode->KillDone() ;
- }
-// cdebug_out << "GraphExecutor::DataFlow::KillDone" << endl;
- return RetVal ;
-}
-
-bool GraphExecutor::DataFlow::Suspend() {
- cdebug_in << "GraphExecutor::DataFlow::Suspend()" << endl;
- bool RetVal = GraphExecutor::OutNode::Suspend() ;
- cdebug_out << "GraphExecutor::DataFlow::Suspend()" << RetVal << endl;
- return RetVal ;
-}
-
-bool GraphExecutor::DataFlow::Suspend( const char *aNodeName ) {
-// cdebug_in << "GraphExecutor::DataFlow::Suspend( " << aNodeName << " )"<< endl;
- bool RetVal = false ;
- GraphExecutor::InNode * aNode = ((GraphExecutor::InNode *) Graph()->GetGraphNode( aNodeName )->GetInNode()) ;
- if ( aNode ) {
- RetVal = aNode->Suspend() ;
- }
-// cdebug_out << "GraphExecutor::DataFlow::Suspend" << endl;
- return RetVal ;
-}
-
-bool GraphExecutor::DataFlow::SuspendDone() {
- cdebug_in << "GraphExecutor::DataFlow::SuspendDone()" << endl;
- bool RetVal = false ;
- cdebug << "Kill not yet implemented." << endl;
- cdebug_out << "GraphExecutor::DataFlow::SuspendDone()" << endl;
- return RetVal ;
-}
-
-bool GraphExecutor::DataFlow::SuspendDone( const char *aNodeName ) {
-// cdebug_in << "GraphExecutor::DataFlow::SuspendDone( " << aNodeName << " )"<< endl;
- bool RetVal = false ;
- GraphExecutor::InNode * aNode = ((GraphExecutor::InNode *) Graph()->GetGraphNode( aNodeName )->GetInNode()) ;
- if ( aNode ) {
- RetVal = aNode->SuspendDone() ;
- }
-// cdebug_out << "GraphExecutor::DataFlow::SuspendDone" << endl;
- return RetVal ;
-}
-
-bool GraphExecutor::DataFlow::Resume() {
- cdebug_in << "GraphExecutor::DataFlow::Resume()" << endl;
- bool RetVal = GraphExecutor::OutNode::Resume() ;
- cdebug_out << "GraphExecutor::DataFlow::Resume()" << RetVal << endl;
- return RetVal ;
-}
-
-bool GraphExecutor::DataFlow::Resume( const char *aNodeName ) {
-// cdebug_in << "GraphExecutor::DataFlow::Resume( " << aNodeName << " )"<< endl;
- bool RetVal = false ;
- GraphExecutor::InNode * aNode = ((GraphExecutor::InNode *) Graph()->GetGraphNode( aNodeName )->GetInNode()) ;
- if ( aNode ) {
- RetVal = aNode->Resume() ;
- }
-// cdebug_out << "GraphExecutor::DataFlow::Resume" << endl;
- return RetVal ;
-}
-
-bool GraphExecutor::DataFlow::Stop() {
- cdebug_in << "GraphExecutor::DataFlow::Stop()" << endl;
- bool RetVal = GraphExecutor::OutNode::Stop() ;
- cdebug_out << "GraphExecutor::DataFlow::Stop()" << endl;
- return RetVal ;
-}
-
-bool GraphExecutor::DataFlow::Stop( const char *aNodeName ) {
-// cdebug_in << "GraphExecutor::DataFlow::Stop( " << aNodeName << " )"<< endl;
- bool RetVal = false ;
- GraphExecutor::InNode * aNode = ((GraphExecutor::InNode *) Graph()->GetGraphNode( aNodeName )->GetInNode()) ;
- if ( aNode ) {
- RetVal = aNode->Stop() ;
- }
-// cdebug_out << "GraphExecutor::DataFlow::Stop" << endl;
- return RetVal ;
-}
-
+++ /dev/null
-// SUPERV GraphExecutor : contains classes that permit execution of graphs and particularly the execution automaton
-//
-// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
-// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
-//
-// This library is free software; you can redistribute it and/or
-// modify it under the terms of the GNU Lesser General Public
-// License as published by the Free Software Foundation; either
-// version 2.1 of the License.
-//
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-// Lesser General Public License for more details.
-//
-// You should have received a copy of the GNU Lesser General Public
-// License along with this library; if not, write to the Free Software
-// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-//
-// See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
-//
-//
-//
-// File : DataFlowExecutor_DataFlow.hxx
-// Module : SUPERV
-
-#ifndef _DATAFLOWEXECUTOR_DATAFLOW_HXX
-#define _DATAFLOWEXECUTOR_DATAFLOW_HXX
-
-#include "DataFlowExecutor_OutNode.hxx"
-
-namespace GraphExecutor {
-
- class DataFlow : public GraphExecutor::OutNode {
-
- private :
-
- SALOME_NamingService* _theNamingService ;
-
- public:
-
- DataFlow();
- DataFlow( CORBA::ORB_ptr ORB, SALOME_NamingService* ptrNamingService ,
- const char * DataFlowName ,
- const char * DebugFileName ,
- const SUPERV::KindOfNode aKindOfNode );
- DataFlow( CORBA::ORB_ptr ORB, SALOME_NamingService* ptrNamingService ,
- const SALOME_ModuleCatalog::Service& DataFlowService ,
- const char *DataFlowComponentName ,
- const char *DataFlowInterfaceName ,
- const char *DataFlowName ,
- const SUPERV::KindOfNode DataFlowkind = SUPERV::ComputingNode ,
- const SUPERV::SDate DataFlowFirstCreation = SUPERV::SDate() ,
- const SUPERV::SDate DataFlowLastModification = SUPERV::SDate() ,
- const char * DataFlowEditorRelease = NULLSTRING ,
- const char * DataFlowAuthor = NULLSTRING ,
- const char * DataFlowComputer = NULLSTRING ,
- const char * DataFlowComment = NULLSTRING ,
- const char * DebugFileName = NULLSTRING ) ;
- virtual ~DataFlow();
-
- bool LoadDataFlow( const GraphBase::SGraph &aDataFlow ) ;
- bool LoadXml( const char* myFileName ) ;
-
- const SALOME_ModuleCatalog::Service * NodeService( const char * NodeName ) ;
-
- bool ChangeInputData( const char* ToNodeName ,
- const char* ToParameterName ,
- const CORBA::Any aValue = CORBA::Any() ) ;
- bool AddInputSharedData( const char* ToNodeName1 ,
- const char* ToParameterName1 ,
- const char* ToNodeName2 ,
- const char* ToParameterName2 ) ;
-
- bool IsValid() ;
- bool IsExecutable() ;
-
- bool Run( const bool AndSuspend ) ;
- bool Run( const char * aNodeName ,
- const char * AtNodeName , const bool AndSuspend ) ;
-
- long LastLevelDone() ;
-
- SUPERV::GraphState State() ;
- SUPERV::GraphState State(const char * aNodeName ) ;
- SUPERV::GraphState State( const char * aNodeName ,
- const char * anOutServiceParameterName ) ;
-
- long Thread() ;
- long Thread(const char * aNodeName ) ;
-
- SUPERV::AutomatonState AutomatonState() ;
- SUPERV::AutomatonState AutomatonState(const char * aNodeName ) ;
-
- SUPERV::ControlState ControlState() ;
- SUPERV::ControlState ControlState(const char * aNodeName ) ;
- void ControlClear() ;
- void ControlClear(const char * aNodeName ) ;
-
- bool Event( char ** aNodeName ,
- SUPERV::GraphEvent & anEvent ,
- SUPERV::GraphState & aState ,
- bool WithWait = true ) ;
- bool EventW( char ** aNodeName ,
- SUPERV::GraphEvent & anEvent ,
- SUPERV::GraphState & aState ) ;
- long EventQSize() ;
-
- bool IsWaiting() ;
- bool IsReady() ;
- bool IsRunning() ;
- bool IsDone() ;
- bool IsSuspended() ;
- bool IsWaiting(const char * aNodeName ) ;
- bool IsReady(const char * aNodeName ) ;
- bool IsRunning(const char * aNodeName ) ;
- bool IsDone(const char * aNodeName ) ;
- bool IsSuspended(const char * aNodeName ) ;
- bool IsDone(const char * aNodeName ,
- const char * anOutServiceParameterName ) ;
-
- const CORBA::Any *GetInData( const char * ToNodeName ,
- const char * ToParameterName ) ;
- const CORBA::Any *GetOutData( const char * FromNodeName ,
- const char * FromParameterName ) ;
-
- long Threads() ;
-
- bool ReadyWait() ;
- bool RunningWait() ;
- bool DoneWait() ;
- bool SuspendedWait() ;
- bool ReadyWait(const char * aNodeName ) ;
- bool RunningWait(const char * aNodeName ) ;
- bool DoneWait(const char * aNodeName ) ;
- bool SuspendedWait(const char * aNodeName ) ;
-
- bool Ping(const char * aNodeName ) ;
- bool ContainerKill() ;
- bool ContainerKill(const char * aNodeName ) ;
-
- bool Kill() ;
- bool Kill(const char * aNodeName ) ;
- bool KillDone(const char * aNodeName ) ;
- bool Suspend() ;
- bool Suspend(const char * aNodeName ) ;
- bool SuspendDone() ;
- bool SuspendDone(const char * aNodeName ) ;
- bool Resume() ;
- bool Resume(const char * aNodeName ) ;
- bool Stop() ;
- bool Stop(const char * aNodeName ) ;
-
- };
-
-};
-
-#include "DataFlowExecutor_DataFlow.lxx"
-
-ostream & operator << (ostream &,const GraphExecutor::DataFlow & G);
-ostream & operator << (ostream &,const SUPERV::SDate &);
-
-#endif
-
-
-
+++ /dev/null
-// SUPERV GraphExecutor : contains classes that permit execution of graphs and particularly the execution automaton
-//
-// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
-// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
-//
-// This library is free software; you can redistribute it and/or
-// modify it under the terms of the GNU Lesser General Public
-// License as published by the Free Software Foundation; either
-// version 2.1 of the License.
-//
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-// Lesser General Public License for more details.
-//
-// You should have received a copy of the GNU Lesser General Public
-// License along with this library; if not, write to the Free Software
-// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-//
-// See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
-//
-//
-//
-// File : DataFlowExecutor_DataFlow.lxx
-// Module : SUPERV
-
-#ifndef _DATAFLOWEXECUTOR_DATAFLOW_LXX
-#define _DATAFLOWEXECUTOR_DATAFLOW_LXX
-
-#include "DataFlowExecutor_OutNode.hxx"
-
-inline bool GraphExecutor::DataFlow::LoadDataFlow(
- const GraphBase::SGraph &aDataFlow ) {
- return GraphExecutor::OutNode::LoadDataFlow( aDataFlow ) ;
-}
-
-inline bool GraphExecutor::DataFlow::LoadXml( const char* myFileName ) {
- return GraphExecutor::OutNode::LoadXml( myFileName ) ;
-}
-
-inline const SALOME_ModuleCatalog::Service * GraphExecutor::DataFlow::NodeService(
- const char * aNodeName ) {
- if ( Graph()->GetGraphNode( aNodeName ) )
- return Graph()->GetGraphNode( aNodeName )->GetService() ;
- return NULL ;
-}
-
-inline bool GraphExecutor::DataFlow::ChangeInputData( const char* ToNodeName ,
- const char* ToParameterName ,
- const CORBA::Any aValue ) {
- if ( !IsValid() )
- return false ;
- return Graph()->ChangeInputData( ToNodeName , ToParameterName , aValue ) ;
-} ;
-
-inline bool GraphExecutor::DataFlow::AddInputSharedData(const char* ToNodeName1 ,
- const char* ToParameterName1 ,
- const char* ToNodeName2 ,
- const char* ToParameterName2 ) {
- if ( !IsValid() )
- return false ;
- return GraphExecutor::OutNode::AddInputData( ToNodeName1 ,
- ToParameterName1 ,
- ToNodeName2 ,
- ToParameterName2 ) ;
-// aKindOfPortValue ) ;
-} ;
-
-inline bool GraphExecutor::DataFlow::IsValid() {
- return GraphExecutor::OutNode::IsValid() ;
-}
-
-inline bool GraphExecutor::DataFlow::IsExecutable() {
- return GraphExecutor::OutNode::IsExecutable() ;
-}
-
-inline bool GraphExecutor::DataFlow::Run( const bool AndSuspend ) {
- return GraphExecutor::OutNode::Run( AndSuspend ) ;
-}
-inline bool GraphExecutor::DataFlow::Run( const char * aNodeName ,
- const char * AtNodeName ,
- const bool AndSuspend ) {
- return GraphExecutor::OutNode::Run( aNodeName , AtNodeName , AndSuspend ) ;
-}
-
-inline long GraphExecutor::DataFlow::LastLevelDone() {
- return GraphExecutor::OutNode::LastLevelDone() ;
-}
-
-inline long GraphExecutor::DataFlow::Threads() {
- return GraphExecutor::OutNode::Threads() ;
-}
-
-inline bool GraphExecutor::DataFlow::Event( char ** aNodeName ,
- SUPERV::GraphEvent & anEvent ,
- SUPERV::GraphState & aState ,
- bool WithWait ) {
- return GraphExecutor::OutNode::Event( aNodeName , anEvent , aState , WithWait ) ;
-}
-inline bool GraphExecutor::DataFlow::EventW( char ** aNodeName ,
- SUPERV::GraphEvent & anEvent ,
- SUPERV::GraphState & aState ) {
- return GraphExecutor::OutNode::EventW( aNodeName , anEvent , aState ) ;
-}
-inline long GraphExecutor::DataFlow::EventQSize() {
- return GraphExecutor::OutNode::EventQSize() ;
-}
-
-inline SUPERV::GraphState GraphExecutor::DataFlow::State() {
- return GraphExecutor::OutNode::State() ;
-}
-
-inline SUPERV::GraphState GraphExecutor::DataFlow::State(
- const char * aNodeName ) {
- return GraphExecutor::OutNode::State( aNodeName ) ;
-}
-
-inline SUPERV::GraphState GraphExecutor::DataFlow::State(
- const char * aNodeName ,
- const char * anOutServiceParameterName ) {
- return GraphExecutor::OutNode::State( aNodeName ,
- anOutServiceParameterName ) ;
-}
-
-inline long GraphExecutor::DataFlow::Thread() {
- return GraphExecutor::OutNode::ThreadNo() ;
-}
-inline long GraphExecutor::DataFlow::Thread( const char * aNodeName ) {
- return GraphExecutor::OutNode::Thread( aNodeName ) ;
-}
-
-inline SUPERV::AutomatonState GraphExecutor::DataFlow::AutomatonState() {
- return GraphExecutor::OutNode::AutomatonState() ;
-}
-
-inline SUPERV::AutomatonState GraphExecutor::DataFlow::AutomatonState(
- const char * aNodeName ) {
- return GraphExecutor::OutNode::AutomatonState( aNodeName ) ;
-}
-
-inline SUPERV::ControlState GraphExecutor::DataFlow::ControlState() {
- return GraphExecutor::OutNode::ControlState() ;
-}
-
-inline SUPERV::ControlState GraphExecutor::DataFlow::ControlState(
- const char * aNodeName ) {
- return GraphExecutor::OutNode::ControlState( aNodeName ) ;
-}
-
-inline void GraphExecutor::DataFlow::ControlClear() {
- return GraphExecutor::OutNode::ControlClear() ;
-}
-
-inline void GraphExecutor::DataFlow::ControlClear(
- const char * aNodeName ) {
- return GraphExecutor::OutNode::ControlClear( aNodeName ) ;
-}
-
-inline bool GraphExecutor::DataFlow::IsWaiting() {
- return GraphExecutor::OutNode::IsWaiting() ;
-}
-inline bool GraphExecutor::DataFlow::IsReady() {
- return GraphExecutor::OutNode::IsReady() ;
-}
-inline bool GraphExecutor::DataFlow::IsRunning() {
- return GraphExecutor::OutNode::IsRunning() ;
-}
-inline bool GraphExecutor::DataFlow::IsDone() {
- return GraphExecutor::OutNode::IsDone() ;
-}
-inline bool GraphExecutor::DataFlow::IsSuspended() {
- return GraphExecutor::OutNode::IsSuspended() ;
-}
-
-inline bool GraphExecutor::DataFlow::IsWaiting(const char * aNodeName ) {
- return GraphExecutor::OutNode::IsWaiting( aNodeName ) ;
-}
-inline bool GraphExecutor::DataFlow::IsReady(const char * aNodeName ) {
- return GraphExecutor::OutNode::IsReady( aNodeName ) ;
-}
-inline bool GraphExecutor::DataFlow::IsRunning(const char * aNodeName ) {
- return GraphExecutor::OutNode::IsRunning( aNodeName ) ;
-}
-inline bool GraphExecutor::DataFlow::IsDone(const char * aNodeName ) {
- return GraphExecutor::OutNode::IsDone( aNodeName ) ;
-}
-inline bool GraphExecutor::DataFlow::IsSuspended(const char * aNodeName ) {
- return GraphExecutor::OutNode::IsSuspended( aNodeName ) ;
-}
-
-inline bool GraphExecutor::DataFlow::IsDone(
- const char * aNodeName ,
- const char * anOutServiceParameterName ) {
- return GraphExecutor::OutNode::IsDone( aNodeName ,
- anOutServiceParameterName ) ;
-}
-
-inline bool GraphExecutor::DataFlow::ReadyWait() {
- return GraphExecutor::OutNode::ReadyWait() ;
-}
-inline bool GraphExecutor::DataFlow::RunningWait() {
- return GraphExecutor::OutNode::RunningWait() ;
-}
-inline bool GraphExecutor::DataFlow::DoneWait() {
- return GraphExecutor::OutNode::DoneWait() ;
-}
-inline bool GraphExecutor::DataFlow::SuspendedWait() {
- return GraphExecutor::OutNode::SuspendedWait() ;
-}
-
-inline bool GraphExecutor::DataFlow::ReadyWait(const char * aNodeName ) {
- return GraphExecutor::OutNode::ReadyWait( aNodeName ) ;
-}
-inline bool GraphExecutor::DataFlow::RunningWait(const char * aNodeName ) {
- return GraphExecutor::OutNode::RunningWait( aNodeName ) ;
-}
-inline bool GraphExecutor::DataFlow::DoneWait(const char * aNodeName ) {
- return GraphExecutor::OutNode::DoneWait( aNodeName ) ;
-}
-inline bool GraphExecutor::DataFlow::SuspendedWait(const char * aNodeName ) {
- return GraphExecutor::OutNode::SuspendedWait( aNodeName ) ;
-}
-
-inline const CORBA::Any *GraphExecutor::DataFlow::GetInData(
- const char * ToNodeName ,
- const char * ToParameterName ) {
- return GraphExecutor::OutNode::GetInData( ToNodeName ,
- ToParameterName ) ;
-}
-inline const CORBA::Any *GraphExecutor::DataFlow::GetOutData(
- const char * FromNodeName ,
- const char * FromParameterName ) {
- return GraphExecutor::OutNode::GetOutData( FromNodeName ,
- FromParameterName ) ;
-}
-#endif
-
-
-
+++ /dev/null
-// SUPERV GraphExecutor : contains classes that permit execution of graphs and particularly the execution automaton
-//
-// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
-// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
-//
-// This library is free software; you can redistribute it and/or
-// modify it under the terms of the GNU Lesser General Public
-// License as published by the Free Software Foundation; either
-// version 2.1 of the License.
-//
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-// Lesser General Public License for more details.
-//
-// You should have received a copy of the GNU Lesser General Public
-// License along with this library; if not, write to the Free Software
-// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-//
-// See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
-//
-//
-//
-// File : DataFlowBase_DynInvoke.cxx
-// Author : Marc Tajchman, CEA
-// Module : SUPERV
-// $Header:
-
-using namespace std;
-#include <stdarg.h>
-#include <map>
-
-#include "DataFlowExecutor_InNode.hxx"
-
-using namespace CORBA ;
-
-
-
-void GraphExecutor::InNode::DynInvoke(Engines::Component_ptr objComponent ,
- const char *method ,
- ServicesAnyData * inParams , int nInParams ,
- ServicesAnyData * outParams , int nOutParams ) {
- Request_var req = objComponent->_request( method ) ;
- const char *ArgName ;
- int Type ;
-
- NVList_ptr arguments = req->arguments() ;
-
- int i ;
-
- int n_in = nInParams ;
- int n_out = nOutParams ;
-
-// char * aComponent = ObjectToString( objComponent ) ;
-// MESSAGE( aComponent << "->" << method ) ;
- for ( i = 0 ; i < n_in ; i++ ) {
- CORBA::Any & data = inParams[i].Value ;
- ArgName = inParams[i].Name.c_str() ;
- Type = data.type()->kind() ;
- arguments->add_value( ArgName , data , CORBA::ARG_IN ) ;
-#if 0
- switch ( Type ) {
- case CORBA::tk_string : {
- char * t ;
- data >>= t ;
- MESSAGE( "ArgIn" << i << " : " << ArgName << " Value " << t << " (string)" ) ;
- break ;
- }
- case CORBA::tk_boolean : {
- bool b ;
- data >>= (CORBA::Any::to_boolean ) b ;
- MESSAGE( "ArgIn" << i << " : " << ArgName << " Value " << b << " (boolean)" ) ;
- break ;
- }
- case CORBA::tk_char : {
- unsigned char c ;
- data >>= (CORBA::Any::to_char ) c ;
- MESSAGE( "ArgIn" << i << " : " << ArgName << " Value " << (int ) c << " (char)" ) ;
- break ;
- }
- case CORBA::tk_short : {
- short s ;
- data >>= s ;
- MESSAGE( "ArgIn" << i << " : " << ArgName << " Value " << s << " (short)" ) ;
- break ;
- }
- case CORBA::tk_long : {
- long l ;
- data >>= l ;
- MESSAGE( "ArgIn" << i << " : " << ArgName << " Value " << l << " (long)" ) ;
- break ;
- }
- case CORBA::tk_float : {
- float f ;
- data >>= f ;
- MESSAGE( "ArgIn" << i << " : " << ArgName << " Value " << f << " (float)" ) ;
- break ;
- }
- case CORBA::tk_double : {
- double d ;
- data >>= d ;
- MESSAGE( "ArgIn" << i << " : " << ArgName << " Value " << d << " (double)" ) ;
- break ;
- }
- case CORBA::tk_objref : {
- CORBA::Object_ptr obj ;
- char * retstr = "Catched ERROR";
- try {
- data >>= obj ;
- retstr = ObjectToString( obj ) ;
- }
- catch( ... ) {
- }
- MESSAGE( "ArgIn" << i << " : " << ArgName << " Value " << retstr << "(object reference)" ) ;
- break ;
- }
- default : {
- MESSAGE( "ArgIn" << i << " : " << ArgName << " Value " << "(other ERROR) kind " << Type ) ;
- }
- }
- MESSAGE("") ;
-#endif
- }
-
- for ( i = 0 ; i < n_out ; i++ ) {
- CORBA::Any & data = outParams[i].Value ;
- ArgName = outParams[i].Name.c_str() ;
- Type = data.type()->kind() ;
- arguments->add_value( ArgName , data , CORBA::ARG_OUT ) ;
-#if 0
- switch ( Type ) {
- case CORBA::tk_string : {
- char * t ;
- data >>= t ;
- MESSAGE( "ArgOut" << i << " : " << ArgName << " Value " << t << " (string)" ) ;
- break ;
- }
- case CORBA::tk_boolean : {
- bool b ;
- data >>= (CORBA::Any::to_boolean ) b ;
- MESSAGE( "ArgOut" << i << " : " << ArgName << " Value " << b << " (boolean)" ) ;
- break ;
- }
- case CORBA::tk_char : {
- unsigned char c ;
- data >>= (CORBA::Any::to_char ) c ;
- MESSAGE( "ArgOut" << i << " : " << ArgName << " Value " << (int ) c << " (char)" ) ;
- break ;
- }
- case CORBA::tk_short : {
- short s ;
- data >>= s ;
- MESSAGE( "ArgOut" << i << " : " << ArgName << " Value " << s << " (short)" ) ;
- break ;
- }
- case CORBA::tk_long : {
- long l ;
- data >>= l ;
- MESSAGE( "ArgOut" << i << " : " << ArgName << " Value " << l << " (long)" ) ;
- break ;
- }
- case CORBA::tk_float : {
- float f ;
- data >>= f ;
- MESSAGE( "ArgOut" << i << " : " << ArgName << " Value " << f << " (float)" ) ;
- break ;
- }
- case CORBA::tk_double : {
- double d ;
- data >>= d ;
- MESSAGE( "ArgOut" << i << " : " << ArgName << " Value " << d << " (double)" ) ;
- break ;
- }
- case CORBA::tk_objref : {
- CORBA::Object_ptr obj ;
- char * retstr = "Catched ERROR";
- try {
- data >>= obj ;
- retstr = ObjectToString( obj ) ;
- }
- catch( ... ) {
- }
- MESSAGE( "ArgOut" << i << " : " << ArgName << " Value " << retstr << "(object reference)" ) ;
- break ;
- }
- default : {
- MESSAGE( "ArgOut" << i << " : " << ArgName << " Value " << "(other ERROR) kind " << Type ) ;
- }
- }
- MESSAGE("") ;
-#endif
- }
-
- req->invoke();
-
- if( req->env()->exception() ) {
- req->env()->exception()->_raise() ;
- return ; // pas utile ?
- }
-
- for ( i = 0 ; i < n_out ; i++ ) {
-
- outParams[i].Value = *( arguments->item( i + n_in )->value() ) ;
- }
-
- return;
-
-}
-
-void GraphExecutor::InNode::DynInvoke( Engines::Component_ptr obj ,
- const char *method ,
- const char * aGraphName ,
- const char * aNodeName ) {
- Request_var req = obj->_request( method ) ;
-
- NVList_ptr arguments =req->arguments() ;
-
- CORBA::Any graph ;
- graph <<= aGraphName ;
- arguments->add_value( "aGraphName" , graph , CORBA::ARG_IN ) ;
- CORBA::Any node ;
- node <<= aNodeName ;
- arguments->add_value( "aNodeName" , node , CORBA::ARG_IN ) ;
-
- req->invoke() ;
-
- if( req->env()->exception() ) {
- req->env()->exception()->_raise();
- }
- return;
-
-}
+++ /dev/null
-// SUPERV GraphExecutor : contains classes that permit execution of graphs and particularly the execution automaton
-//
-// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
-// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
-//
-// This library is free software; you can redistribute it and/or
-// modify it under the terms of the GNU Lesser General Public
-// License as published by the Free Software Foundation; either
-// version 2.1 of the License.
-//
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-// Lesser General Public License for more details.
-//
-// You should have received a copy of the GNU Lesser General Public
-// License along with this library; if not, write to the Free Software
-// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-//
-// See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
-//
-//
-//
-// File : DataFlowExecutor_DynInvoke.hxx
-// Module : SUPERV
-
-#ifndef _DATAFLOWEXECUTOR_DYNINVOKE_
-#define _DATAFLOWEXECUTOR_DYNINVOKE_
-
-#include <SALOMEconfig.h>
-//#include CORBA_CLIENT_HEADER(SALOME_Component)
-//#include CORBA_CLIENT_HEADER(SUPERV)
-#include <string>
-
-struct ServicesAnyData {
-
- string Name;
- CORBA::Any Value;
-
-};
-
-
-// dynamic call for function with list of in parameters, followed
-// by out parameters with no return value
-
-void DynInvoke(Engines::Component_ptr obj,
- const char *method,
- ServicesAnyData * inParams, int nInParams,
- ServicesAnyData * inParams, int nOutParams);
-void DynInvoke(Engines::Component_ptr obj,
- const char *method,
- const char * aGraphName ,
- const char * aNodeName );
-
-#endif
+++ /dev/null
-// SUPERV GraphExecutor : contains classes that permit execution of graphs and particularly the execution automaton
-//
-// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
-// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
-//
-// This library is free software; you can redistribute it and/or
-// modify it under the terms of the GNU Lesser General Public
-// License as published by the Free Software Foundation; either
-// version 2.1 of the License.
-//
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-// Lesser General Public License for more details.
-//
-// You should have received a copy of the GNU Lesser General Public
-// License along with this library; if not, write to the Free Software
-// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-//
-// See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
-//
-//
-//
-// File : DataFlowBase_FiniteStateMachine.cxx
-// Author : Jean Rahuel, CEA
-// Module : SUPERV
-// $Header:
-
-using namespace std;
-#include <stdlib.h>
-#include <iostream>
-#include <unistd.h>
-#include <stdio.h>
-
-#include "DataFlowExecutor_FiniteStateMachine.hxx"
-
-void * start_function( void *p ) ;
-
-// ControlStates :
-#define VoidState SUPERV::VoidState
-#define ToSuspendStartState SUPERV::ToSuspendStartState
-#define ToSuspendState SUPERV::ToSuspendState
-#define ToSuspendDoneState SUPERV::ToSuspendDoneState
-#define ToKillState SUPERV::ToKillState
-#define ToKillDoneState SUPERV::ToKillDoneState
-#define ToStopState SUPERV::ToStopState
-
-// States :
-#define UnKnownState SUPERV::UnKnownState
-#define DataUndefState SUPERV::DataUndefState
-#define DataWaitingState SUPERV::DataWaitingState
-#define DataReadyState SUPERV::DataReadyState
-#define SuspendedReadyState SUPERV::SuspendedReadyState
-#define SuspendedReadyToResumeState SUPERV::SuspendedReadyToResumeState
-#define ResumedReadyState SUPERV::ResumedReadyState
-#define KilledReadyState SUPERV::KilledReadyState
-#define StoppedReadyState SUPERV::StoppedReadyState
-#define ExecutingState SUPERV::ExecutingState
-#define SuspendedExecutingState SUPERV::SuspendedExecutingState
-#define ResumedExecutingState SUPERV::ResumedExecutingState
-#define KilledExecutingState SUPERV::KilledExecutingState
-#define StoppedExecutingState SUPERV::StoppedExecutingState
-#define SuccessedExecutingState SUPERV::SuccessedExecutingState
-#define ErroredExecutingState SUPERV::ErroredExecutingState
-#define SuspendedSuccessedState SUPERV::SuspendedSuccessedState
-#define SuspendedErroredState SUPERV::SuspendedErroredState
-#define SuspendedSuccessedToReStartState SUPERV::SuspendedSuccessedToReStartState
-#define SuspendedErroredToReStartState SUPERV::SuspendedErroredToReStartState
-#define ResumedSuccessedState SUPERV::ResumedSuccessedState
-#define ResumedErroredState SUPERV::ResumedErroredState
-#define KilledSuccessedState SUPERV::KilledSuccessedState
-#define KilledErroredState SUPERV::KilledErroredState
-#define StoppedSuccessedState SUPERV::StoppedSuccessedState
-#define StoppedErroredState SUPERV::StoppedErroredState
-#define SuccessedState SUPERV::SuccessedState
-#define ErroredState SUPERV::ErroredState
-#define SuspendedState SUPERV::SuspendedState
-#define KilledState SUPERV::KilledState
-#define StoppedState SUPERV::StoppedState
-#define ReRunnedState SUPERV::ReRunnedState
-#define ReStartedState SUPERV::ReStartedState
-#define NumberOfAutomatonStates SUPERV::NumberOfAutomatonStates
-
-// Events :
-#define UndefinedEvent GraphExecutor::UndefinedEvent
-#define NewThreadEvent GraphExecutor::NewThreadEvent
-#define SuspendEvent GraphExecutor::SuspendEvent
-#define ToResumeEvent GraphExecutor::ToResumeEvent
-#define ResumeEvent GraphExecutor::ResumeEvent
-#define KillEvent GraphExecutor::KillEvent
-#define StopEvent GraphExecutor::StopEvent
-#define ExecuteEvent GraphExecutor::ExecuteEvent
-#define SuccessEvent GraphExecutor::SuccessEvent
-#define ErrorEvent GraphExecutor::ErrorEvent
-#define ReStartEvent GraphExecutor::ReStartEvent
-#define ReStartAndSuspendEvent GraphExecutor::ReStartAndSuspendEvent
-#define NoDataReadyEvent GraphExecutor::NoDataReadyEvent
-#define SomeDataReadyEvent GraphExecutor::SomeDataReadyEvent
-#define NotAllDataReadyEvent GraphExecutor::NotAllDataReadyEvent
-#define AllDataReadyEvent GraphExecutor::AllDataReadyEvent
-#define ReadyEvent GraphExecutor::ReadyEvent
-#define SuspendedReadyEvent GraphExecutor::SuspendedReadyEvent
-#define ResumedReadyEvent GraphExecutor::ResumedReadyEvent
-#define KilledReadyEvent GraphExecutor::KilledReadyEvent
-#define StoppedReadyEvent GraphExecutor::StoppedReadyEvent
-#define ExecutingEvent GraphExecutor::ExecutingEvent
-#define SuspendedExecutingEvent GraphExecutor::SuspendedExecutingEvent
-#define ResumedExecutingEvent GraphExecutor::ResumedExecutingEvent
-#define KilledExecutingEvent GraphExecutor::KilledExecutingEvent
-#define StoppedExecutingEvent GraphExecutor::StoppedExecutingEvent
-#define SuccessedExecutingEvent GraphExecutor::SuccessedExecutingEvent
-#define ErroredExecutingEvent GraphExecutor::ErroredExecutingEvent
-#define SuspendedSuccessedEvent GraphExecutor::SuspendedSuccessedEvent
-#define SuspendedErroredEvent GraphExecutor::SuspendedErroredEvent
-#define ResumedSuccessedEvent GraphExecutor::ResumedSuccessedEvent
-#define ResumedErroredEvent GraphExecutor::ResumedErroredEvent
-#define KilledEvent GraphExecutor::KilledEvent
-#define StoppedEvent GraphExecutor::StoppedEvent
-#define ToReStartEvent GraphExecutor::ToReStartEvent
-#define ReStartedEvent GraphExecutor::ReStartedEvent
-#define ReStartedAndSuspendEvent GraphExecutor::ReStartedAndSuspendEvent
-#define EndExecuteEvent GraphExecutor::EndExecuteEvent
-#define NumberOfEvents GraphExecutor::NumberOfEvents
-
-GraphExecutor::FiniteStateMachine::FiniteStateMachine() {
-// cdebug_in << "FiniteStateMachine::FiniteStateMachine" << endl;
-
- _ControlStateName[ VoidState ] = "VoidState" ;
- _ControlStateName[ ToSuspendStartState ]= "ToSuspendStartState" ;
- _ControlStateName[ ToSuspendState ] = "ToSuspendState" ;
- _ControlStateName[ ToSuspendDoneState ] = "ToSuspendDoneState" ;
- _ControlStateName[ ToKillState ] = "ToKillState" ;
- _ControlStateName[ ToKillDoneState ] = "ToKillDoneState" ;
- _ControlStateName[ ToStopState ] = "ToStopState" ;
-
- _StateName[ UnKnownState ] = "UnKnownState" ;
- _StateName[ DataUndefState ] = "DataUndefState" ;
- _StateName[ DataWaitingState ] = "DataWaitingState" ;
- _StateName[ DataReadyState ] = "DataReadyState" ;
- _StateName[ SuspendedReadyState ] = "SuspendedReadyState" ;
- _StateName[ SuspendedReadyToResumeState ] = "SuspendedReadyToResumeState" ;
- _StateName[ ResumedReadyState ] = "ResumedReadyState" ;
- _StateName[ KilledReadyState ] = "KilledReadyState" ;
- _StateName[ StoppedReadyState ] = "StoppedReadyState" ;
- _StateName[ ExecutingState ] = "ExecutingState" ;
- _StateName[ SuspendedExecutingState ] = "SuspendedExecutingState" ;
- _StateName[ ResumedExecutingState ] = "ResumedExecutingState" ;
- _StateName[ KilledExecutingState ] = "KilledExecutingState" ;
- _StateName[ StoppedExecutingState ] = "StoppedExecutingState" ;
- _StateName[ SuccessedExecutingState ] = "SuccessedExecutingState" ;
- _StateName[ ErroredExecutingState ] = "ErroredExecutingState" ;
- _StateName[ SuspendedSuccessedState ] = "SuspendedSuccessedState" ;
- _StateName[ SuspendedErroredState ] = "SuspendedErroredState" ;
- _StateName[ SuspendedSuccessedToReStartState ] = "SuspendedSuccessedToReStartState" ;
- _StateName[ SuspendedErroredToReStartState ] = "SuspendedErroredToReStartState" ;
- _StateName[ ResumedSuccessedState ] = "ResumedSuccessedState" ;
- _StateName[ ResumedErroredState ] = "ResumedErroredState" ;
- _StateName[ KilledSuccessedState ] = "KilledSuccessedState" ;
- _StateName[ KilledErroredState ] = "KilledErroredState" ;
- _StateName[ StoppedSuccessedState ] = "StoppedSuccessedState" ;
- _StateName[ StoppedErroredState ] = "StoppedErroredState" ;
- _StateName[ SuccessedState ] = "SuccessedState" ;
- _StateName[ ErroredState ] = "ErroredState" ;
- _StateName[ SuspendedState ] = "SuspendedState" ;
- _StateName[ KilledState ] = "KilledState" ;
- _StateName[ StoppedState ] = "StoppedState" ;
- _StateName[ ReRunnedState ] = "ReRunnedState" ;
- _StateName[ ReStartedState ] = "ReStartedState" ;
-
- _EventName[ UndefinedEvent ] = "UndefinedEvent" ;
- _EventName[ NewThreadEvent ] = "NewThreadEvent" ;
- _EventName[ SuspendEvent ] = "SuspendEvent" ;
- _EventName[ ToResumeEvent ] = "ToResumeEvent" ;
- _EventName[ ResumeEvent ] = "ResumeEvent" ;
- _EventName[ KillEvent ] = "KillEvent" ;
- _EventName[ StopEvent ] = "StopEvent" ;
- _EventName[ ExecuteEvent ] = "ExecuteEvent" ;
- _EventName[ SuccessEvent ] = "SuccessEvent" ;
- _EventName[ ErrorEvent ] = "ErrorEvent" ;
- _EventName[ ToReStartEvent ] = "ToReStartEvent" ;
- _EventName[ ReStartEvent ] = "ReStartEvent" ;
- _EventName[ ReStartAndSuspendEvent ] = "ReStartAndSuspendEvent" ;
- _EventName[ NoDataReadyEvent ] = "NoDataReadyEvent" ;
- _EventName[ SomeDataReadyEvent ] = "SomeDataReadyEvent" ;
- _EventName[ NotAllDataReadyEvent ] = "NotAllDataReadyEvent" ;
- _EventName[ AllDataReadyEvent ] = "AllDataReadyEvent" ;
- _EventName[ ReadyEvent ] = "ReadyEvent" ;
- _EventName[ SuspendedReadyEvent ] = "SuspendedReadyEvent" ;
- _EventName[ ResumedReadyEvent ] = "ResumedReadyEvent" ;
- _EventName[ KilledReadyEvent ] = "KilledReadyEvent" ;
- _EventName[ StoppedReadyEvent ] = "StoppedReadyEvent" ;
- _EventName[ ExecutingEvent ] = "ExecutingEvent" ;
- _EventName[ SuspendedExecutingEvent ] = "SuspendedExecutingEvent" ;
- _EventName[ ResumedExecutingEvent ] = "ResumedExecutingEvent" ;
- _EventName[ KilledExecutingEvent ] = "KilledExecutingEvent" ;
- _EventName[ StoppedExecutingEvent ] = "StoppedExecutingEvent" ;
- _EventName[ SuccessedExecutingEvent ] = "SuccessedExecutingEvent" ;
- _EventName[ ErroredExecutingEvent ] = "ErroredExecutingEvent" ;
- _EventName[ SuspendedSuccessedEvent ] = "SuspendedSuccessedEvent" ;
- _EventName[ SuspendedErroredEvent ] = "SuspendedErroredEvent" ;
- _EventName[ ResumedSuccessedEvent ] = "ResumedSuccessedEvent" ;
- _EventName[ ResumedErroredEvent ] = "ResumedErroredEvent" ;
- _EventName[ KilledEvent ] = "KilledEvent" ;
- _EventName[ StoppedEvent ] = "StoppedEvent" ;
- _EventName[ ReStartedEvent ] = "ReStartedEvent" ;
- _EventName[ ReStartedAndSuspendEvent ]= "ReStartedAndSuspendEvent" ;
- _EventName[ EndExecuteEvent ] = "EndExecuteEvent" ;
-
- _ActionName[ ErrorAction ] = "ErrorAction" ;
- _ActionName[ VoidAction ] = "VoidAction" ;
- _ActionName[ executeAction ] = "executeAction" ;
- _ActionName[ ExecuteAction ] = "ExecuteAction" ;
- _ActionName[ DataWaiting_SomeDataReadyAction ] = "DataWaiting_SomeDataReadyAction" ;
- _ActionName[ DataUndef_NotAllDataReadyAction ] = "DataUndef_NotAllDataReadyAction";
- _ActionName[ DataUndef_AllDataReadyAction ] = "DataUndef_AllDataReadyAction" ;
-
- _ActionName[ DataReady_SuspendAction ] = "DataReady_SuspendAction" ;
- _ActionName[ SuspendedReady_ResumeAction ] = "SuspendedReady_ResumeAction" ;
- _ActionName[ DataReady_KillAction ] = "DataReady_KillAction" ;
- _ActionName[ DataReady_StopAction ] = "DataReady_StopAction" ;
-
- _ActionName[ DataReady_ExecuteAction ] = "DataReady_ExecuteAction" ;
-
- _ActionName[ Executing_SuspendAction ] = "Executing_SuspendAction" ;
- _ActionName[ SuspendedExecuting_ResumeAction ] = "SuspendedExecuting_ResumeAction" ;
- _ActionName[ Executing_KillAction ] = "Executing_KillAction" ;
- _ActionName[ Executing_StopAction ] = "Executing_StopAction" ;
-
- _ActionName[ Executing_SuccessAction ] = "Executing_SuccessAction" ;
- _ActionName[ Executing_ErrorAction ] = "Executing_ErrorAction" ;
- _ActionName[ Successed_SuccessAction ] = "Successed_SuccessAction" ;
- _ActionName[ Errored_ErrorAction ] = "Errored_ErrorAction" ;
-
- _ActionName[ Successed_SuspendAction ] = "Successed_SuspendAction" ;
- _ActionName[ Errored_SuspendAction ] = "Errored_SuspendAction" ;
- _ActionName[ SuspendedSuccessed_ResumeAction ] = "SuspendedSuccessed_ResumeAction" ;
- _ActionName[ SuspendedErrored_ResumeAction ] = "SuspendedErrored_ResumeAction" ;
- _ActionName[ Successed_KillAction ] = "Successed_KillAction" ;
- _ActionName[ Errored_KillAction ] = "Errored_KillAction" ;
- _ActionName[ Successed_StopAction ] = "Successed_StopAction" ;
- _ActionName[ Errored_StopAction ] = "Errored_StopAction" ;
-
- _ActionName[ SuspendedSuccessed_ReStartAction ] = "SuspendedSuccessed_ReStartAction" ;
- _ActionName[ SuspendedErrored_ReStartAction ] = "SuspendedErrored_ReStartAction" ;
- _ActionName[ SuspendedSuccessed_ReStartAndSuspendAction ] = "SuspendedSuccessed_ReStartAndSuspendAction" ;
- _ActionName[ SuspendedErrored_ReStartAndSuspendAction ] = "SuspendedErrored_ReStartAndSuspendAction" ;
-
- _GraphStateName[ SUPERV::UndefinedState ] = "UndefinedState" ;
- _GraphStateName[ SUPERV::NoState ] = "NoState" ;
- _GraphStateName[ SUPERV::EditingState ] = "EditingState" ;
- _GraphStateName[ SUPERV::SuspendState ] = "SuspendState" ;
- _GraphStateName[ SUPERV::WaitingState ] = "WaitingState" ;
- _GraphStateName[ SUPERV::ReadyState ] = "ReadyState" ;
- _GraphStateName[ SUPERV::SuspendReadyState ] = "SuspendReadyState" ;
- _GraphStateName[ SUPERV::RunningState ] = "RunningState" ;
- _GraphStateName[ SUPERV::DoneState ] = "DoneState" ;
- _GraphStateName[ SUPERV::ErrorState ] = "ErrorState" ;
- _GraphStateName[ SUPERV::SuspendDoneState ] = "SuspendDoneState" ;
- _GraphStateName[ SUPERV::SuspendErroredState ] = "SuspendErroredState" ;
- _GraphStateName[ SUPERV::KillState ] = "KillState" ;
- _GraphStateName[ SUPERV::StopState ] = "StopState" ;
- _GraphStateName[ SUPERV::ReRunState ] = "ReRunState" ;
- _GraphStateName[ SUPERV::ReStartState ] = "ReStartState" ;
-
- int i , j ;
-// NewStates = _TransitionTable[ States ] [ Events ]
-// associated action = _ActionTable[ NewStates ] [ Events ]
- for ( i = 0 ; i < NumberOfAutomatonStates ; i++ ) {
- for ( j = 0 ; j < NumberOfEvents ; j++ ) {
-// id est = SameState and VoidAction
- _TransitionTable[ i ][ j ] = (SUPERV::AutomatonState ) i ;
- _ActionTable[ i ][ j ] = GraphExecutor::ErrorAction ;
- }
- }
-// OneEvent ===> Change of State and associated Action :
-// _TransitionTable[ OldState ][ OneEvent ] gives a NewState
-// _Action[ NewState ][ OneEvent ] gives what to do
-
-// INPUT-DATAS :
-// NoDataReadyEvent :
- _TransitionTable[ DataUndefState ][ NoDataReadyEvent ] = DataWaitingState ;
- _ActionTable[ DataWaitingState ][ NoDataReadyEvent ] = VoidAction ;
-// SomeDataReadyEvent :
- _TransitionTable[ DataWaitingState ][ SomeDataReadyEvent ] = DataUndefState ;
- _ActionTable[ DataUndefState ][ SomeDataReadyEvent ] = DataWaiting_SomeDataReadyAction;
-// NotAllDataReadyEvent :
- _TransitionTable[ DataUndefState ][ NotAllDataReadyEvent ] = DataWaitingState ;
- _ActionTable[ DataWaitingState ][ NotAllDataReadyEvent ] = DataUndef_NotAllDataReadyAction;
-// AllDataReadyEvent
- _TransitionTable[ DataUndefState ][ AllDataReadyEvent ] = DataReadyState ;
- _ActionTable[ DataReadyState ][ AllDataReadyEvent ] = DataUndef_AllDataReadyAction ;
-
-// DATAS-READY-CONTROL :
-// SuspendEvent
- _TransitionTable[ DataReadyState ][ SuspendEvent ] = SuspendedReadyState ;
- _ActionTable[ SuspendedReadyState ][ SuspendEvent ] = DataReady_SuspendAction;
-// ResumeEvent
- _TransitionTable[ SuspendedReadyState ][ ToResumeEvent ] = SuspendedReadyToResumeState ;
- _ActionTable[ SuspendedReadyToResumeState ][ ToResumeEvent ] = VoidAction ;
-
- _TransitionTable[ SuspendedReadyToResumeState ][ ResumeEvent ] = ResumedReadyState ;
- _ActionTable[ ResumedReadyState ][ ResumeEvent] = SuspendedReady_ResumeAction ;
-// KillEvent
- _TransitionTable[ SuspendedReadyState ][ KillEvent ] = KilledReadyState ;
-// StopEvent
- _TransitionTable[ SuspendedReadyState ][ StopEvent ] = StoppedReadyState ;
-// KillEvent
- _TransitionTable[ DataReadyState ][ KillEvent ] = KilledReadyState ;
- _ActionTable[ KilledReadyState ][ KillEvent] = DataReady_KillAction ;
-// StopEvent
- _TransitionTable[ DataReadyState ][ StopEvent ] = StoppedReadyState ;
- _ActionTable[ StoppedReadyState ][ StopEvent] = DataReady_StopAction ;
-
-// RUN :
-// ExecuteEvent
- _TransitionTable[ SuspendedReadyToResumeState ][ ExecuteEvent ] = ExecutingState ;
-// ExecuteEvent
- _TransitionTable[ ResumedReadyState ][ ExecuteEvent ] = ExecutingState ;
-// ExecuteEvent
- _TransitionTable[ DataReadyState ][ ExecuteEvent ] = ExecutingState ;
-// ExecuteEvent
- _TransitionTable[ ReStartedState ][ ExecuteEvent ] = ExecutingState ;
- _ActionTable[ ExecutingState ][ ExecuteEvent ] = DataReady_ExecuteAction;
-
-// RUN-CONTROL :
-// SuspendEvent
- _TransitionTable[ ExecutingState ][ SuspendEvent ] = SuspendedExecutingState ;
- _ActionTable[ SuspendedExecutingState ][ SuspendEvent ] = Executing_SuspendAction;
-// ResumeEvent
- _TransitionTable[ SuspendedExecutingState ][ ResumeEvent ] = ResumedExecutingState ;
- _ActionTable[ ResumedExecutingState ][ ResumeEvent] = SuspendedExecuting_ResumeAction;
-// ExecuteEvent
- _TransitionTable[ ResumedExecutingState ][ ExecuteEvent ] = ExecutingState ;
-// KillEvent
- _TransitionTable[ SuspendedExecutingState ][ KillEvent ] = KilledExecutingState ;
-// StopEvent
- _TransitionTable[ SuspendedExecutingState ][ StopEvent ] = StoppedExecutingState ;
-// KillEvent
- _TransitionTable[ ExecutingState ][ KillEvent ] = KilledExecutingState ;
- _ActionTable[ KilledExecutingState ][ KillEvent] = Executing_KillAction;
- _TransitionTable[ KilledExecutingState ][ KillEvent ] = KilledState ;
- _ActionTable[ KilledState ][ KillEvent] = VoidAction;
-// StopEvent
- _TransitionTable[ ExecutingState ][ StopEvent ] = StoppedExecutingState ;
- _ActionTable[ StoppedExecutingState ][ StopEvent] = Executing_StopAction;
- _TransitionTable[ StoppedExecutingState ][ StopEvent ] = StoppedState ;
- _ActionTable[ StoppedState ][ StopEvent] = VoidAction;
-
-// DONE :
-// SuccessEvent
- _TransitionTable[ ExecutingState ][ SuccessEvent ] = SuccessedExecutingState ;
- _ActionTable[ SuccessedExecutingState ][ SuccessEvent ] = Executing_SuccessAction;
-// SuspendedExecutingState : NO ResumeEvent 13-03-2003
- _TransitionTable[ SuspendedExecutingState ][ SuccessEvent ] = SuccessedExecutingState ;
- _ActionTable[ SuccessedExecutingState ][ SuccessEvent ] = Executing_SuccessAction;
-// ErrorEvent
- _TransitionTable[ ExecutingState ][ ErrorEvent ] = ErroredExecutingState ;
- _ActionTable[ ErroredExecutingState ][ ErrorEvent ] = Executing_ErrorAction;
-// SuspendedExecutingState : NO ResumeEvent 13-03-2003
- _TransitionTable[ SuspendedExecutingState ][ ErrorEvent ] = ErroredExecutingState ;
- _ActionTable[ ErroredExecutingState ][ ErrorEvent ] = Executing_ErrorAction;
-
-// DONE-CONTROL :
-// SuccessedExecutingState - SuccessEvent
- _TransitionTable[ SuccessedExecutingState ][ SuccessEvent ] = SuccessedState ;
- _ActionTable[ SuccessedState ][ SuccessEvent ] = Successed_SuccessAction ;
-// ErroredExecutingState - ErrorEvent
- _TransitionTable[ ErroredExecutingState ][ ErrorEvent ] = ErroredState ;
- _ActionTable[ ErroredState ][ ErrorEvent ] = Errored_ErrorAction ;
-
-// SuccessedState - SuspendEvent
- _TransitionTable[ SuccessedExecutingState ][ SuspendEvent ] = SuspendedSuccessedState ;
- _ActionTable[ SuspendedSuccessedState ][ SuspendEvent ] = Successed_SuspendAction;
-// ErroredState - SuspendEvent
- _TransitionTable[ ErroredExecutingState ][ SuspendEvent ] = SuspendedErroredState ;
- _ActionTable[ SuspendedErroredState ][ SuspendEvent ] = Errored_SuspendAction;
-
-// SuccessedState - KillEvent
- _TransitionTable[ SuccessedExecutingState ][ KillEvent ] = KilledSuccessedState ;
- _ActionTable[ KilledSuccessedState ][ KillEvent ] = Successed_KillAction;
-// ErroredState - KillEvent
- _TransitionTable[ ErroredExecutingState ][ KillEvent ] = KilledErroredState ;
- _ActionTable[ KilledErroredState ][ KillEvent ] = Errored_KillAction;
-
-// SuccessedState - StopEvent
- _TransitionTable[ SuccessedExecutingState ][ StopEvent ] = StoppedSuccessedState ;
- _ActionTable[ StoppedSuccessedState ][ StopEvent ] = Successed_StopAction;
-// ErroredState - StopEvent
- _TransitionTable[ ErroredExecutingState ][ StopEvent ] = StoppedErroredState ;
- _ActionTable[ StoppedErroredState ][ StopEvent ] = Errored_StopAction;
-
-// SuspendedSuccessedState - ResumeEvent
- _TransitionTable[ SuspendedSuccessedState ][ ResumeEvent ] = ResumedSuccessedState ;
- _ActionTable[ ResumedSuccessedState ][ ResumeEvent ] = SuspendedSuccessed_ResumeAction;
-
- _TransitionTable[ ResumedSuccessedState ][ ResumedSuccessedEvent ] = SuccessedState ;
- _ActionTable[ SuccessedState ][ ResumedSuccessedEvent] = Successed_SuccessAction;
-
-// SuspendedErroredState - ResumeEvent
- _TransitionTable[ SuspendedErroredState ][ ResumeEvent ] = ResumedErroredState ;
- _ActionTable[ ResumedErroredState ][ ResumeEvent ] = SuspendedErrored_ResumeAction;
- _TransitionTable[ ResumedErroredState ][ ResumedErroredEvent ] = ErroredState ;
- _ActionTable[ ErroredState ][ ResumedErroredEvent ] = Errored_ErrorAction;
-
-// SuccessedState - KillEvent
- _TransitionTable[ SuccessedState ][ KillEvent ] = KilledSuccessedState ;
- _ActionTable[ KilledSuccessedState ][ KillEvent] = Successed_KillAction;
- _TransitionTable[ KilledSuccessedState ][ KillEvent ] = KilledState ;
- _ActionTable[ KilledState ][ KillEvent ] = VoidAction;
-// ErroredState - KillEvent
- _TransitionTable[ ErroredState ][ KillEvent ] = KilledErroredState ;
- _ActionTable[ KilledErroredState ][ KillEvent] = Errored_KillAction;
- _TransitionTable[ KilledErroredState ][ KillEvent ] = KilledState ;
- _ActionTable[ KilledState ][ KillEvent ] = VoidAction;
-
-// SuccessedState - StopEvent
- _TransitionTable[ SuccessedState ][ StopEvent ] = StoppedSuccessedState ;
- _ActionTable[ StoppedSuccessedState ][ StopEvent] = Successed_StopAction;
- _TransitionTable[ StoppedSuccessedState ][ StopEvent ] = StoppedState ;
- _ActionTable[ StoppedState ][ StopEvent ] = VoidAction;
-// ErroredState - StopEvent
- _TransitionTable[ ErroredState ][ StopEvent ] = StoppedErroredState ;
- _ActionTable[ StoppedErroredState ][ StopEvent] = Errored_StopAction;
- _TransitionTable[ StoppedErroredState ][ StopEvent ] = StoppedState ;
- _ActionTable[ StoppedState ][ StopEvent ] = VoidAction;
-
-// ReStartEvent
- _TransitionTable[ SuspendedSuccessedState ][ ToReStartEvent ] = SuspendedSuccessedToReStartState ;
- _ActionTable[ SuspendedSuccessedToReStartState ][ ToReStartEvent] = VoidAction ;
-
- _TransitionTable[ SuspendedSuccessedToReStartState ][ ReStartEvent ] = ReStartedState ;
- _TransitionTable[ SuspendedSuccessedToReStartState ][ ReStartAndSuspendEvent ] = ReStartedState ;
-// ReStartEvent
- _TransitionTable[ SuspendedErroredState ][ ToReStartEvent ] = SuspendedErroredToReStartState ;
- _ActionTable[ SuspendedErroredToReStartState ][ ToReStartEvent] = VoidAction ;
-
- _TransitionTable[ SuspendedErroredToReStartState ][ ReStartEvent ] = ReStartedState ;
- _TransitionTable[ SuspendedErroredToReStartState ][ ReStartAndSuspendEvent ] = ReStartedState ;
-
- _ActionTable[ ReStartedState ][ ReStartEvent] = SuspendedSuccessed_ReStartAction;
- _ActionTable[ ReStartedState ][ ReStartAndSuspendEvent] = SuspendedSuccessed_ReStartAndSuspendAction;
-
- pthread_mutex_init( &_MutexJoinWait , NULL ) ;
- if ( pthread_cond_init( &_JoinWait , NULL ) ) {
- perror("pthread_cond_init( &_JoinWait , NULL )") ;
- exit( 0 ) ;
- }
- _JoinThread = true ;
- if ( pthread_create( &_JoinThreadNo , NULL , start_function , this ) ) {
- char * msg = "Cannot pthread_create " ;
- perror( msg ) ;
- }
-
- pthread_mutex_init( &_MutexPythonWait , NULL ) ;
- _ExecNumber = 0 ;
- _GraphExecutingNumber = 0 ;
- _PyInitModule = false ;
-
-// cdebug_out << "FiniteStateMachine::FiniteStateMachine _TransitionTable "
-// << endl;
-}
-
-void * start_function( void *p ) {
- GraphExecutor::FiniteStateMachine *anAutomaton = (GraphExecutor::FiniteStateMachine *) p;
- if ( pthread_setcanceltype( PTHREAD_CANCEL_ASYNCHRONOUS , NULL ) ) {
- perror("pthread_setcanceltype ") ;
- exit(0) ;
- }
- if ( pthread_setcancelstate( PTHREAD_CANCEL_ENABLE , NULL ) ) {
- perror("pthread_setcancelstate ") ;
- exit(0) ;
- }
- anAutomaton->JoinThread() ;
- pthread_exit( PTHREAD_CANCELED ) ;
-}
-
-int GraphExecutor::FiniteStateMachine::ExecNumber() {
- PyLock() ;
- _ExecNumber += 1 ;
- int RetVal = _ExecNumber ;
- _GraphExecutingNumber += 1 ;
- PyUnLock() ;
- return RetVal ;
-}
-
-void GraphExecutor::FiniteStateMachine::Executed() {
- PyLock() ;
- _GraphExecutingNumber -= 1 ;
- if ( _GraphExecutingNumber == 0 ) {
- map< string , PyObject * >::iterator aPyFunction ;
- for ( aPyFunction = _MapOfPyFunctions.begin() ; aPyFunction != _MapOfPyFunctions.end() ; aPyFunction++ ) {
- if ( !strcmp( aPyFunction->first.c_str() , "PyObjRef" ) ||
- !strcmp( aPyFunction->first.c_str() , "PyObjIor" ) ) {
- //cout << "GraphExecutor::FiniteStateMachine::Executed " << aPyFunction->first << " keeped ..."<< endl ;
- }
- else {
- //cout << "GraphExecutor::FiniteStateMachine::Executed " << aPyFunction->first << " erased ..."<< endl ;
- _MapOfPyFunctions.erase( aPyFunction->first ) ;
- }
- }
- }
- else {
- //cout << "GraphExecutor::FiniteStateMachine::Executed _GraphExecutingNumber " << _GraphExecutingNumber
- // << " != 0 ==> no erase" << endl ;
- }
- PyUnLock() ;
- return ;
-}
-
-bool GraphExecutor::FiniteStateMachine::PyInitModule() {
- bool InitedModule = _PyInitModule ;
- _PyInitModule = true ;
- return InitedModule ;
-}
-
-void GraphExecutor::FiniteStateMachine::PyLock() {
-// cout << pthread_self() << " GraphExecutor::FiniteStateMachine::PyLock " << &_MutexPythonWait << endl ;
- if ( pthread_mutex_lock( &_MutexPythonWait ) ) {
- perror( "GraphExecutor::FiniteStateMachine::PyLock" ) ;
- exit( 0 ) ;
- }
-// cout << pthread_self() << " GraphExecutor::FiniteStateMachine::PyLocked " << &_MutexPythonWait << endl ;
-}
-
-void GraphExecutor::FiniteStateMachine::PyUnLock() {
-// cout << pthread_self() << " GraphExecutor::FiniteStateMachine::PyUnLock " << &_MutexPythonWait << endl ;
- if ( pthread_mutex_unlock( &_MutexPythonWait ) ) {
- perror( "GraphExecutor::FiniteStateMachine::PyUnLock" ) ;
- exit( 0 ) ;
- }
-// cout << pthread_self() << " GraphExecutor::FiniteStateMachine::PyUnLocked " << &_MutexPythonWait << endl ;
-}
-
-PyObject * GraphExecutor::FiniteStateMachine::PyFunction( const char * aPyFuncName ) {
-
- PyObject * RetVal = NULL ;
- bool PyObjRefIor = !strcmp( aPyFuncName , "PyObjRef" ) || !strcmp( aPyFuncName , "PyObjIor" ) ;
- PyObject * PyFunctionMapped = _MapOfPyFunctions[ aPyFuncName ] ;
- if ( _GraphExecutingNumber > 1 && !PyObjRefIor ) {
- RetVal = PyFunctionMapped ;
- //cout << "GraphExecutor::FiniteStateMachine::PyFunction( '" << aPyFuncName << "' ) --> " ;
- if ( RetVal ) {
- //cout << RetVal << " ob_refcnt " << RetVal->ob_refcnt ;
- }
- else {
- //cout << " NULL" ;
- }
- //cout << endl ;
- }
- else {
- RetVal = PyFunctionMapped ;
- //cout << "GraphExecutor::FiniteStateMachine::PyFunction( '" << aPyFuncName << "' ) --> " ;
- if ( RetVal && PyObjRefIor ) {
- //cout << RetVal << " " << RetVal->ob_refcnt << endl ;
- }
- else if ( RetVal ) {
- //cout << RetVal << " " << RetVal->ob_refcnt << endl ;
-// _MapOfPyFunctions.erase( aPyFuncName ) ;
-// cout << "GraphExecutor::FiniteStateMachine::PyFunction( '" << aPyFuncName << "' ) erased --> NULL" << endl ;
- }
- else {
- //cout << " NULL" << endl ;
- }
- }
-
- return RetVal ;
-}
-
-bool GraphExecutor::FiniteStateMachine::PyFunction( const char * aPyFuncName , PyObject * aPyFunction ) {
-
- bool RetVal = false ;
- if ( _MapOfPyFunctions[ aPyFuncName ] != NULL ) {
- //PyObject * aPyFunc = _MapOfPyFunctions[ aPyFuncName ] ;
- //cout << "GraphExecutor::FiniteStateMachine::PyFunction( '" << aPyFuncName << "' , " << aPyFunction
- // << " ) ob_refcnt " << aPyFunction->ob_refcnt << " already mapped : " << aPyFunc << " ob_refcnt "
- // << aPyFunc->ob_refcnt << endl ;
- }
- else {
- _MapOfPyFunctions[ aPyFuncName ] = aPyFunction ;
- //cout << "GraphExecutor::FiniteStateMachine::PyFunction( '" << aPyFuncName << "' , " << aPyFunction
- // << " ) ob_refcnt " << aPyFunction->ob_refcnt << " mapped" << endl ;
- RetVal = true ;
- }
-
- return RetVal ;
-}
-
-void GraphExecutor::FiniteStateMachine::JoinThread() {
- if ( pthread_mutex_lock( &_MutexJoinWait ) ) {
- perror("Join pthread_mutex_lock ") ;
- exit( 0 ) ;
- }
- while ( _JoinThread ) {
- while ( _ThreadList.size() == 0) {
-// MESSAGE( pthread_self() << " Join pthread_cond_wait" );
- if ( pthread_cond_wait( &_JoinWait , &_MutexJoinWait ) ) {
- perror("Join pthread_cond_wait ") ;
- }
- }
- pthread_t _Thread = _ThreadList.front() ;
-// MESSAGE( pthread_self() << " Join pthread_cond_waited : " << _Thread )
- _ThreadList.pop_front() ;
-// MESSAGE( pthread_self() << " Join pthread_join : " << _Thread );
- int joinsts = pthread_join( _Thread , NULL ) ;
-// MESSAGE( pthread_self() << " Join pthread_joined : " << _Thread );
- if ( joinsts ) {
- perror("Join pthread_join ") ;
-// exit( 0 ) ;
- }
- }
- if ( pthread_mutex_unlock( &_MutexJoinWait ) ) {
- perror("Join pthread_mutex_unlock ") ;
- exit( 0 ) ;
- }
-}
-
-void GraphExecutor::FiniteStateMachine::JoinThread( pthread_t aThread ) {
- if ( pthread_mutex_lock( &_MutexJoinWait ) ) {
- perror("Join pthread_mutex_lock ") ;
- exit( 0 ) ;
- }
-// MESSAGE(pthread_self() << " JoinThread pthread_cond_signal for " << aThread)
- _ThreadList.push_back( aThread ) ;
- if ( pthread_cond_signal( &_JoinWait ) ) {
- perror("Join pthread_cond_signal ") ;
- }
-// MESSAGE( pthread_self() << " JoinThread pthread_cond_signaled for " << aThread)
-
- if ( pthread_mutex_unlock( &_MutexJoinWait ) ) {
- perror("Join pthread_mutex_unlock ") ;
- exit( 0 ) ;
- }
-}
-
+++ /dev/null
-// SUPERV GraphExecutor : contains classes that permit execution of graphs and particularly the execution automaton
-//
-// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
-// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
-//
-// This library is free software; you can redistribute it and/or
-// modify it under the terms of the GNU Lesser General Public
-// License as published by the Free Software Foundation; either
-// version 2.1 of the License.
-//
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-// Lesser General Public License for more details.
-//
-// You should have received a copy of the GNU Lesser General Public
-// License along with this library; if not, write to the Free Software
-// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-//
-// See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
-//
-//
-//
-// File : DataFlowBase_FiniteStateMachine.hxx
-// Author : Jean Rahuel, CEA
-// Module : SUPERV
-// $Header:
-
-#ifndef _DATAFLOWEXECUTOR_FINITESTATEMACHINE
-#define _DATAFLOWEXECUTOR_FINITESTATEMACHINE
-
-#include <stdlib.h>
-#include <iostream>
-#include <unistd.h>
-#include <stdio.h>
-
-#include <Python.h>
-
-#include <string>
-#include <map>
-
-#include "DataFlowBase_Base.hxx"
-
-#include <SALOMEconfig.h>
-//#include CORBA_SERVER_HEADER(SUPERV)
-#include <SALOME_LifeCycleCORBA.hxx>
-
-namespace GraphExecutor {
-
- enum NodeEvent { UndefinedEvent , NewThreadEvent ,
- SuspendEvent , ToResumeEvent , ResumeEvent ,
- KillEvent , StopEvent ,
- ExecuteEvent , SuccessEvent , ErrorEvent ,
- ToReStartEvent , ReStartEvent , ReStartAndSuspendEvent ,
- EndExecuteEvent ,
- NoDataReadyEvent , SomeDataReadyEvent ,
- NotAllDataReadyEvent , AllDataReadyEvent ,
- ReadyEvent , SuspendedReadyEvent ,ResumedReadyEvent ,
- KilledReadyEvent , StoppedReadyEvent ,
- ExecutingEvent , SuspendedExecutingEvent ,
- ResumedExecutingEvent , KilledExecutingEvent ,
- StoppedExecutingEvent ,
- SuccessedExecutingEvent , ErroredExecutingEvent ,
- SuspendedSuccessedEvent , SuspendedErroredEvent ,
- ResumedSuccessedEvent , ResumedErroredEvent ,
- KilledEvent , StoppedEvent ,
- ReStartedEvent , ReStartedAndSuspendEvent ,
- NumberOfEvents } ;
-
- enum StateEventAction { ErrorAction ,
- VoidAction ,
- executeAction , // +- pthread_create
- ExecuteAction , // +- pthread_create
- DataWaiting_SomeDataReadyAction ,
- DataUndef_NotAllDataReadyAction ,
- DataUndef_AllDataReadyAction ,
- DataReady_SuspendAction ,
- SuspendedReady_ResumeAction ,
- DataReady_KillAction ,
- DataReady_StopAction ,
- DataReady_ExecuteAction ,
- Executing_SuspendAction ,
- SuspendedExecuting_ResumeAction ,
- Executing_KillAction ,
- Executing_StopAction ,
- Executing_SuccessAction ,
- Executing_ErrorAction ,
- Successed_SuccessAction ,
- Errored_ErrorAction ,
- Successed_SuspendAction ,
- Errored_SuspendAction ,
- SuspendedSuccessed_ResumeAction ,
- SuspendedErrored_ResumeAction ,
- Successed_KillAction ,
- Errored_KillAction ,
- Successed_StopAction ,
- Errored_StopAction ,
- SuspendedSuccessed_ReStartAction ,
- SuspendedErrored_ReStartAction ,
- SuspendedSuccessed_ReStartAndSuspendAction ,
- SuspendedErrored_ReStartAndSuspendAction ,
- NumberOfActions } ;
-
- class FiniteStateMachine {
-
- private :
-
- char * _ControlStateName[ SUPERV::NumberOfControlStates ] ;
- char * _StateName[ SUPERV::NumberOfAutomatonStates ] ;
- char * _GraphStateName[ SUPERV::NumberOfGraphStates ] ;
- char * _EventName[ GraphExecutor::NumberOfEvents ] ;
- char * _ActionName[ NumberOfActions ] ;
- SUPERV::AutomatonState _TransitionTable[ SUPERV::NumberOfAutomatonStates ]
- [ GraphExecutor::NumberOfEvents ] ;
- GraphExecutor::StateEventAction _ActionTable[ SUPERV::NumberOfAutomatonStates ]
- [ GraphExecutor::NumberOfEvents ] ;
-
- pthread_mutex_t _MutexPythonWait ;
- map< string , PyObject * > _MapOfPyFunctions ;
- bool _PyInitModule ;
- int _ExecNumber ;
- int _GraphExecutingNumber ;
-
- bool _JoinThread ;
- pthread_t _JoinThreadNo ;
- pthread_mutex_t _MutexJoinWait ;
- pthread_cond_t _JoinWait ;
- list< pthread_t > _ThreadList ;
-
- public :
-
- FiniteStateMachine() ;
- virtual ~FiniteStateMachine() {} ;
-
- int ExecNumber() ;
- void Executed() ;
- bool PyInitModule() ;
- void PyLock() ;
- void PyUnLock() ;
- bool PyFunction( const char * aPyFuncName , PyObject * aPyFunction ) ;
- PyObject * PyFunction( const char * aPyFuncName ) ;
-
- void JoinThread() ;
- void JoinThread( pthread_t aThread ) ;
-
- const char * ControlStateName( const SUPERV::ControlState & aState ) const {
- return _ControlStateName[ aState ] ; } ;
- const char * StateName( const SUPERV::AutomatonState & aState ) const {
- return _StateName[ aState ] ; } ;
- const char * StateName( const SUPERV::GraphState & aState ) const {
- return _GraphStateName[ aState ] ; } ;
- const char * EventName( const GraphExecutor::NodeEvent & anEvent ) const {
- return _EventName[ anEvent ] ; } ;
- const char * ActionName( const GraphExecutor::StateEventAction & anAction ) const {
- return _ActionName[ anAction ] ; } ;
-
- const SUPERV::AutomatonState NextState( const SUPERV::AutomatonState & aState ,
- const GraphExecutor::NodeEvent & anEvent ) const {
- return _TransitionTable[ aState ][ anEvent ] ; } ;
-
- const GraphExecutor::StateEventAction NextAction( const SUPERV::AutomatonState & aState ,
- const GraphExecutor::NodeEvent & anEvent ) const {
- return _ActionTable[ aState ][ anEvent ] ; } ;
- };
-
-};
-
-#endif
+++ /dev/null
-// SUPERV GraphExecutor : contains classes that permit execution of graphs and particularly the execution automaton
-//
-// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
-// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
-//
-// This library is free software; you can redistribute it and/or
-// modify it under the terms of the GNU Lesser General Public
-// License as published by the Free Software Foundation; either
-// version 2.1 of the License.
-//
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-// Lesser General Public License for more details.
-//
-// You should have received a copy of the GNU Lesser General Public
-// License along with this library; if not, write to the Free Software
-// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-//
-// See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
-//
-//
-//
-// File : DataFlowExecutor_InNode.cxx
-// Author : Jean Rahuel, CEA
-// Module : SUPERV
-// $Header:
-
-using namespace std;
-
-#include <stdlib.h>
-#include <iostream>
-#include <unistd.h>
-#include <stdio.h>
-
-#include "OpUtil.hxx"
-
-#include <SALOMEconfig.h>
-#include CORBA_CLIENT_HEADER(SALOME_Component)
-//#include "SALOME_NamingService.hxx"
-#include "SALOME_LifeCycleCORBA.hxx"
-
-#include "DataFlowBase_FactoryNode.hxx"
-#include "DataFlowBase_GOTONode.hxx"
-#include "DataFlowBase_LoopNode.hxx"
-#include "DataFlowBase_EndOfLoopNode.hxx"
-#include "DataFlowBase_SwitchNode.hxx"
-#include "DataFlowBase_EndOfSwitchNode.hxx"
-
-#include "DataFlowExecutor_OutNode.hxx"
-
-static void InitInNode( int &_RewindStack ,
- SUPERV::ControlState &_ControlState ,
- SUPERV::AutomatonState &_currentState ,
- GraphExecutor::InNode ** _aReStartNode ,
- bool & _PyFuncRunned ,
- PyObject ** _MyPyRunMethod ,
- pthread_mutex_t &_MutexDataWait ,
- bool &_DataWait ,
- pthread_mutex_t &_MutexWait ,
- pthread_cond_t &_ReadyWait ,
- pthread_cond_t &_RunningWait ,
- pthread_cond_t &_DoneWait ,
- pthread_cond_t &_SuspendedWait ,
- pthread_cond_t &_SuspendWait ,
- bool &_SuspendSync ,
- pthread_cond_t &_ResumeWait ,
- bool &_ResumeSync ,
- pthread_cond_t &_KillWait ,
- bool &_KillSync ,
- pthread_cond_t &_ThreadStartedWait ,
- bool &_ThreadStartedSync ,
- pthread_cond_t &_StopWait ,
- GraphExecutor::FiniteStateMachine ** _Automaton ,
- GraphExecutor::FiniteStateMachine * theAutomaton ,
- CORBA::ORB_ptr * _Orb ,
- CORBA::ORB_ptr ORB ) {
- _RewindStack = 0 ;
- _ControlState = SUPERV::VoidState ;
- _currentState = SUPERV::UnKnownState ;
- *_aReStartNode = NULL ;
- _PyFuncRunned = false ;
- *_MyPyRunMethod = NULL ;
- pthread_mutex_init( &_MutexDataWait , NULL ) ;
- _DataWait = false ;
- pthread_mutex_init( &_MutexWait , NULL ) ;
- if ( pthread_cond_init( &_ReadyWait , NULL ) ) {
- perror("pthread_cond_init( &_ReadyWait , NULL )") ;
- exit( 0 ) ;
- }
- if ( pthread_cond_init( &_RunningWait , NULL ) ) {
- perror("pthread_cond_init( &_RunningWait , NULL )") ;
- exit( 0 ) ;
- }
- if ( pthread_cond_init( &_DoneWait , NULL ) ) {
- perror("pthread_cond_init( &_DoneWait , NULL )") ;
- exit( 0 ) ;
- }
- if ( pthread_cond_init( &_SuspendedWait , NULL ) ) {
- perror("pthread_cond_init( &_SuspendedWait , NULL )") ;
- exit( 0 ) ;
- }
- if ( pthread_cond_init( &_SuspendWait , NULL ) ) {
- perror("pthread_cond_init( &_SuspendWait , NULL )") ;
- exit( 0 ) ;
- }
- _SuspendSync = false ;
- if ( pthread_cond_init( &_ResumeWait , NULL ) ) {
- perror("pthread_cond_init( &_ResumeWait , NULL )") ;
- exit( 0 ) ;
- }
- _ResumeSync = false ;
- if ( pthread_cond_init( &_KillWait , NULL ) ) {
- perror("pthread_cond_init( &_KillWait , NULL )") ;
- exit( 0 ) ;
- }
- _KillSync = false ;
- if ( pthread_cond_init( &_ThreadStartedWait , NULL ) ) {
- perror("pthread_cond_init( &_ThreadStartedWait , NULL )") ;
- exit( 0 ) ;
- }
- _ThreadStartedSync = false ;
- if ( pthread_cond_init( &_StopWait , NULL ) ) {
- perror("pthread_cond_init( &_StopWait , NULL )") ;
- exit( 0 ) ;
- }
- *_Automaton = theAutomaton ;
- *_Orb = CORBA::ORB::_nil();
-}
-
-GraphExecutor::FiniteStateMachine * theAutomaton = new GraphExecutor::FiniteStateMachine() ;
-
-//GraphExecutor::InNode::InNode() :
-// GraphBase::FactoryNode() {
-GraphExecutor::InNode::InNode() {
- InitInNode( _RewindStack ,
- _ControlState ,
- _currentState ,
- &_aReStartNode ,
- _PyFuncRunned ,
- &_MyPyRunMethod ,
- _MutexDataWait ,
- _DataWait ,
- _MutexWait ,
- _ReadyWait ,
- _RunningWait ,
- _DoneWait ,
- _SuspendedWait ,
- _SuspendWait ,
- _SuspendSync ,
- _ResumeWait ,
- _ResumeSync ,
- _KillWait ,
- _KillSync ,
- _ThreadStartedWait ,
- _ThreadStartedSync ,
- _StopWait ,
- &_Automaton ,
- theAutomaton ,
- &_Orb ,
- CORBA::ORB::_nil() ) ;
-}
-
-GraphExecutor::InNode::InNode( CORBA::ORB_ptr ORB,
- SALOME_NamingService* ptrNamingService ,
- const SALOME_ModuleCatalog::Service& aService ,
- const char * ComponentName ,
- const char * NodeInterfaceName ,
- const char * NodeName ,
- const SUPERV::KindOfNode akind ,
- GraphBase::ListOfFuncName aFuncName ,
- GraphBase::ListOfPythonFunctions aPythonFunction ,
- const SUPERV::SDate NodeFirstCreation ,
- const SUPERV::SDate NodeLastModification ,
- const char * NodeEditorRelease ,
- const char * NodeAuthor ,
- const char * NodeComputer ,
- const char * NodeComment ,
- const bool GeneratedName ,
- const int NodeX ,
- const int NodeY ,
- int * Graph_prof_debug,
- ofstream * Graph_fdebug) {
-// ostream * Graph_fdebug = NULL ) :
-// GraphBase::FactoryNode( ORB , ptrNamingService , aService ,
-// ComponentName , NodeInterfaceName ,
-// NodeName , akind ,
-// NodeFirstCreation , NodeLastModification ,
-// NodeEditorRelease , NodeAuthor ,
-// NodeComputer , NodeComment , GeneratedName ,
-// 0 , 0 ,
-// Graph_prof_debug , Graph_fdebug ) {
- InitInNode( _RewindStack ,
- _ControlState ,
- _currentState ,
- &_aReStartNode ,
- _PyFuncRunned ,
- &_MyPyRunMethod ,
- _MutexDataWait ,
- _DataWait ,
- _MutexWait ,
- _ReadyWait ,
- _RunningWait ,
- _DoneWait ,
- _SuspendedWait ,
- _SuspendWait ,
- _SuspendSync ,
- _ResumeWait ,
- _ResumeSync ,
- _KillWait ,
- _KillSync ,
- _ThreadStartedWait ,
- _ThreadStartedSync ,
- _StopWait ,
- &_Automaton ,
- theAutomaton ,
- &_Orb ,
- ORB ) ;
- SetDebug( ORB , Graph_prof_debug , Graph_fdebug ) ;
-
- _ComputingNode = NULL ;
- _FactoryNode = NULL ;
- _InLineNode = NULL ;
- _GOTONode = NULL ;
- _LoopNode = NULL ;
- _EndOfLoopNode = NULL ;
- _SwitchNode = NULL ;
- _EndOfSwitchNode = NULL ;
- switch ( akind ) {
- case SUPERV::ComputingNode : {
- cdebug << "GraphExecutor::InNode::InNode SUPERV::ComputingNode : " << NodeName ;
- _ComputingNode = new GraphBase::ComputingNode( ORB , ptrNamingService ,
- aService ,
- NodeName , akind ,
- NodeFirstCreation ,
- NodeLastModification ,
- NodeEditorRelease , NodeAuthor ,
- NodeComment , GeneratedName ,
- NodeX , NodeY ,
- Graph_prof_debug , Graph_fdebug ) ;
- break ;
- }
- case SUPERV::FactoryNode : {
- cdebug << "GraphExecutor::InNode::InNode SUPERV::FactoryNode : " << NodeName ;
- _FactoryNode = new GraphBase::FactoryNode( ORB , ptrNamingService , aService ,
- ComponentName , NodeInterfaceName ,
- NodeName , akind ,
- NodeFirstCreation ,
- NodeLastModification ,
- NodeEditorRelease , NodeAuthor ,
- NodeComputer , NodeComment ,
- GeneratedName , NodeX , NodeY ,
- Graph_prof_debug , Graph_fdebug ) ;
- _ComputingNode = (GraphBase::ComputingNode *) _FactoryNode ;
- break ;
- }
- case SUPERV::InLineNode : {
- cdebug << "GraphExecutor::InNode::InNode SUPERV::InLineNode : " << NodeName ;
- _InLineNode = new GraphBase::InLineNode( ORB , ptrNamingService ,
- aFuncName[0].c_str() , *aPythonFunction[0] ,
- NodeName , akind ,
- NodeFirstCreation , NodeLastModification ,
- NodeEditorRelease , NodeAuthor ,
- NodeComment , GeneratedName ,
- NodeX , NodeY ,
- Graph_prof_debug , Graph_fdebug ) ;
- _ComputingNode = (GraphBase::ComputingNode *) _InLineNode ;
- break ;
- }
- case SUPERV::GOTONode : {
- cdebug << "GraphEditor::InNode::InNode SUPERV::GOTONode : " << NodeName ;
- _GOTONode = new GraphBase::GOTONode( ORB , ptrNamingService ,
- aFuncName[0].c_str() , *aPythonFunction[0] ,
- NodeName , akind ,
- NodeFirstCreation , NodeLastModification ,
- NodeEditorRelease , NodeAuthor ,
- NodeComment , GeneratedName ,
- NodeX , NodeY ,
- Graph_prof_debug , Graph_fdebug ) ;
- _ComputingNode = (GraphBase::ComputingNode *) _GOTONode ;
- _InLineNode = (GraphBase::InLineNode *) _ComputingNode ;
- break ;
- }
- case SUPERV::LoopNode : {
- cdebug << "GraphExecutor::InNode::InNode SUPERV::LoopNode : " << NodeName ;
- _LoopNode = new GraphBase::LoopNode( ORB , ptrNamingService ,
- aFuncName[0].c_str() , *aPythonFunction[0] ,
- aFuncName[1].c_str() , *aPythonFunction[1] ,
- aFuncName[2].c_str() , *aPythonFunction[2] ,
- NodeName , akind ,
- NodeFirstCreation , NodeLastModification ,
- NodeEditorRelease , NodeAuthor ,
- NodeComment , GeneratedName ,
- NodeX , NodeY ,
- Graph_prof_debug , Graph_fdebug ) ;
- _ComputingNode = (GraphBase::ComputingNode *) _LoopNode ;
- _GOTONode = (GraphBase::GOTONode *) _ComputingNode ;
- _InLineNode = (GraphBase::InLineNode *) _ComputingNode ;
- break ;
- }
- case SUPERV::EndLoopNode : {
- cdebug << "GraphEditor::InNode::InNode SUPERV::EndOfLoopNode : " << NodeName ;
- _EndOfLoopNode = new GraphBase::EndOfLoopNode(
- ORB , ptrNamingService ,
- aFuncName[0].c_str() , *aPythonFunction[0] ,
- NodeName , akind ,
- NodeFirstCreation , NodeLastModification ,
- NodeEditorRelease , NodeAuthor ,
- NodeComment , GeneratedName ,
- NodeX , NodeY ,
- Graph_prof_debug , Graph_fdebug ) ;
- _ComputingNode = (GraphBase::ComputingNode *) _EndOfLoopNode ;
- _GOTONode = (GraphBase::GOTONode *) _ComputingNode ;
- _InLineNode = (GraphBase::InLineNode *) _ComputingNode ;
- break ;
- }
- case SUPERV::SwitchNode : {
- cdebug << "GraphExecutor::InNode::InNode SUPERV::SwitchNode : " << NodeName ;
- _SwitchNode = new GraphBase::SwitchNode( ORB , ptrNamingService ,
- aFuncName[0].c_str() , *aPythonFunction[0] ,
- NodeName , akind ,
- NodeFirstCreation , NodeLastModification ,
- NodeEditorRelease , NodeAuthor ,
- NodeComment , GeneratedName ,
- NodeX , NodeY ,
- Graph_prof_debug , Graph_fdebug ) ;
- _ComputingNode = (GraphBase::ComputingNode *) _SwitchNode ;
- _GOTONode = (GraphBase::GOTONode *) _ComputingNode ;
- _InLineNode = (GraphBase::InLineNode *) _ComputingNode ;
- break ;
- }
- case SUPERV::EndSwitchNode : {
- cdebug << "GraphEditor::InNode::InNode SUPERV::EndOfSwitchNode : " << NodeName ;
- _EndOfSwitchNode = new GraphBase::EndOfSwitchNode(
- ORB , ptrNamingService ,
- aFuncName[0].c_str() , *aPythonFunction[0] ,
- NodeName , akind ,
- NodeFirstCreation , NodeLastModification ,
- NodeEditorRelease , NodeAuthor ,
- NodeComment , GeneratedName ,
- NodeX , NodeY ,
- Graph_prof_debug , Graph_fdebug ) ;
- _ComputingNode = (GraphBase::ComputingNode *) _EndOfSwitchNode ;
- _GOTONode = (GraphBase::GOTONode *) _ComputingNode ;
- _InLineNode = (GraphBase::InLineNode *) _ComputingNode ;
- break ;
- }
- case SUPERV::DataFlowGraph : {
- cdebug << "GraphEditor::InNode::InNode SUPERV::DataFlowGraph ERROR : " << NodeName ;
- }
- case SUPERV::DataStreamGraph : {
- cdebug << "GraphEditor::InNode::InNode SUPERV::DataStreamGraph ERROR : " << NodeName ;
- }
- case SUPERV::UnknownNode : {
- cdebug << "GraphEditor::InNode::InNode SUPERV::UnknownNode ERROR : " << NodeName ;
- }
- }
- cdebug << "GraphExecutor::InNode::InNode " << (void *) this
- << " _ComputingNode " << (void *) _ComputingNode ;
- _ComputingNode->InNode( this ) ;
-}
-
-GraphExecutor::InNode::~InNode() {
-}
-
-void GraphExecutor::InNode::LockDataWait() {
- if ( pthread_mutex_lock( &_MutexDataWait ) ) {
- perror("Ready pthread_mutex_lock ") ;
- exit( 0 ) ;
- }
- _DataWait = true ;
-}
-void GraphExecutor::InNode::UnLockDataWait() {
- _DataWait = false ;
- if ( pthread_mutex_unlock( &_MutexDataWait ) ) {
- perror("Ready pthread_mutex_unlock ") ;
- exit( 0 ) ;
- }
-}
-
-Engines::Component_var GraphExecutor::InNode::Component() const {
- if ( IsFactoryNode() ) {
- return _FactoryNode->Component() ;
- }
- else {
- CORBA::Any const * anAnyComponent = GetChangeNodeInPort( 0 )->GetOutPort()->Value() ; // this
- CORBA::Object_ptr obj ;
- try {
- *anAnyComponent >>= obj ;
- return Engines::Component::_narrow( obj ) ;
- }
- catch( ... ) {
- cdebug << "GraphExecutor::InNode::Component Component catch" << endl ;
- }
- }
- return Engines::Component::_nil() ;
-}
-
-Engines::Container_var GraphExecutor::InNode::Container() const {
- if ( IsFactoryNode() ) {
- return _FactoryNode->Container() ;
- }
- return Engines::Container::_nil() ;
-}
-
-
-bool GraphExecutor::InNode::Ping() {
-// cdebug_in << "GraphExecutor::InNode::Ping" << endl;
- bool RetVal ;
- if ( IsFactoryNode() ) {
- RetVal = !CORBA::is_nil( _FactoryNode->Component() ) ;
- if ( RetVal ) {
- if ( State() != SUPERV::SuspendedExecutingState ) {
- try {
- _FactoryNode->Component()->ping() ;
- }
- catch( ... ) {
- cdebug << "InNode::Ping() catched" << endl ;
- State( SUPERV::ErroredState ) ;
- _OutNode->State( SUPERV::ErroredState ) ;
- RetVal = false ;
- }
- }
- else {
- RetVal = false ;
- }
- }
- }
-// cdebug_out << "GraphExecutor::InNode::Ping" << endl ;
- return RetVal ;
-}
-
-void GraphExecutor::InNode::NewThread( pthread_t aThread ) {
- ThreadNo ( aThread ) ;
- if ( aThread )
- _OutNode->NewThread() ;
-}
-void GraphExecutor::InNode::ExitThread() {
- ThreadNo( 0 ) ;
- _OutNode->ExitThread() ;
-}
-
-bool GraphExecutor::InNode::Suspend() {
- cdebug_in << "GraphExecutor::InNode::Suspend " << Name() << " " << ThreadNo()
- << endl;
- bool RetVal ;
- if ( IsDone() ) {
- ControlState( SUPERV::VoidState ) ;
- if ( _OutNode->IsDone() ) {
- ControlState( SUPERV::VoidState ) ;
- }
- RetVal = false ;
- }
- else if ( IsWaiting() || IsReady() ) {
- ControlState( SUPERV::ToSuspendState ) ;
- RetVal = true ;
- }
- else if ( IsRunning() ) {
- ControlState( SUPERV::ToSuspendState ) ;
- if ( IsFactoryNode() || IsComputingNode() ) {
- if ( !CORBA::is_nil( Component() ) ) {
- try {
- RetVal = Component()->Suspend_impl() ;
- }
- catch( ... ) {
- cdebug << "InNode::Suspend() catched" << endl ;
- State( SUPERV::ErroredState ) ;
- _OutNode->State( SUPERV::ErroredState ) ;
- RetVal = false ;
- }
- if ( RetVal ) {
- if ( IsRunning() ) {
- cdebug << pthread_self() << "GraphExecutor::InNode::Suspend_impl " << Name()
- << " --> thread" << ThreadNo() << " SuspendEvent " << endl;
- SendEvent( GraphExecutor::SuspendEvent ) ;
- cdebug << pthread_self() << "GraphExecutor::InNode::Suspended_impl in Container"
- << Name() << " --> thread" << ThreadNo() << endl;
- }
- else if ( IsDone() ) {
- ControlState( SUPERV::VoidState ) ;
- RetVal = false ; // Too late ...
- }
- else {
- cdebug << "component Suspended and !IsDone and !IsRunning !"
- << endl ;
- }
- }
- }
- else {
- cdebug << "Suspend cannot Suspend component !" << endl ;
- RetVal = false ;
- }
- }
- else {
- cdebug << "Suspend with nilComponent while RunningState !" << endl ;
- RetVal = false ;
- }
- }
- else {
- cdebug << "Suspend and !IsDone and !IsRunning and !IsWaiting ?"
- << endl ;
- RetVal = false ;
- }
- cdebug_out << "GraphExecutor::InNode::Suspend " << RetVal << " "
- << Automaton()->StateName( State() ) << endl ;
- return RetVal ;
-}
-
-bool GraphExecutor::InNode::ContainerKill() {
- cdebug_in << "GraphExecutor::InNode::ContainerKill " << Name() << " "
- << ThreadNo() << endl;
- bool RetVal ;
- if ( IsFactoryNode() ) {
- Kill() ;
- RetVal = Container()->Kill_impl() ;
- }
- cdebug_out << "GraphExecutor::InNode::ContainerKill" << endl ;
- return RetVal ;
-}
-
-bool GraphExecutor::InNode::Kill() {
- cdebug_in << "GraphExecutor::InNode::Kill " << Name() << " " << ThreadNo() << " "
- << Automaton()->StateName( State() ) << endl;
- bool RetVal ;
- if ( IsDone() ) {
- ControlState( SUPERV::ToKillState ) ; // if loop
- if ( _OutNode->IsDone() ) {
- ControlState( SUPERV::VoidState ) ;
- }
- RetVal = false ;
- }
- else {
- ControlState( SUPERV::ToKillState ) ;
- if ( IsDone() ) {
- if ( _OutNode->IsDone() ) {
- ControlState( SUPERV::VoidState ) ;
- }
- RetVal = false ;
- }
- else {
- if ( IsRunning() ) {
- if ( IsFactoryNode() || IsComputingNode() ) {
- if ( !CORBA::is_nil( Component() ) ) {
- try {
- RetVal = Component()->Kill_impl() ;
- }
- catch( ... ) {
- cdebug << "InNode::Suspend() catched" << endl ;
- State( SUPERV::ErroredState ) ;
- _OutNode->State( SUPERV::ErroredState ) ;
- RetVal = false ;
- }
- cdebug << "Component()->Kill_impl() returns status " << RetVal << endl ;
- RetVal = true ;
- if ( IsRunning() ) {
- cdebug << pthread_self() << "GraphExecutor::InNode::Kill_impl " << Name()
- << " --> thread" << ThreadNo() << " SuspendEvent " << endl;
- SendEvent( GraphExecutor::KillEvent ) ;
- cdebug << pthread_self() << "GraphExecutor::InNode::Killed_impl in Container"
- << Name() << " --> thread" << ThreadNo() << endl;
- }
- else if ( IsDone() ) {
- ControlState( SUPERV::VoidState ) ;
- RetVal = false ; // Too late ...
- }
- else {
- cdebug << "component Killed and !IsDone and !IsRunning !"
- << endl ;
- }
- }
- else {
- cdebug << "Kill with nilComponent cannot Kill component !" << endl ;
- RetVal = false ;
- }
- }
- }
- else if ( IsSuspended() ) {
- cdebug << pthread_self() << "GraphExecutor::InNode::Kill " << Name()
- << " --> thread" << ThreadNo() << " Resume()" << endl;
- Resume() ;
- RetVal = true ;
- }
- else if ( IsWaiting() ) {
- RetVal = true ;
- }
- else {
- cdebug << "Kill and !IsDone and !IsRunning and !IsWaiting ?"
- << endl ;
- RetVal = false ;
- }
- }
- }
- cdebug_out << "GraphExecutor::InNode::Kill" << endl ;
- return RetVal ;
-}
-
-bool GraphExecutor::InNode::KillDone() {
- cdebug_in << "GraphExecutor::InNode::KillDone " << Name() << " " << ThreadNo()
- << endl;
- bool RetVal ;
- if ( ControlState() == SUPERV::ToKillDoneState || IsDone() ) {
- RetVal = false ;
- }
- else {
- ControlState( SUPERV::ToKillDoneState ) ;
- if ( IsDone() ) {
- if ( _OutNode->IsDone() ) {
- ControlState( SUPERV::VoidState ) ;
- }
- RetVal = false ;
- }
- else {
- if ( IsRunning() ) {
- RetVal = true ;
- }
- else if ( IsWaiting() ) {
- RetVal = true ;
- }
- else {
- cdebug << "KillDone and !IsDone and !IsRunning and !IsWaiting ?"
- << endl ;
- RetVal = false ;
- }
- }
- }
- cdebug_out << "GraphExecutor::InNode::KillDone" << endl ;
- return RetVal ;
-}
-
-bool GraphExecutor::InNode::Stop() {
- cdebug_in << "GraphExecutor::InNode::Stop " << Name() << " " << ThreadNo()
- << endl;
- bool RetVal ;
- if ( ControlState() == SUPERV::ToStopState || IsDone() ) {
- RetVal = false ;
- }
- else {
- ControlState( SUPERV::ToStopState ) ;
- if ( IsDone() ) {
- if ( _OutNode->IsDone() ) {
- ControlState( SUPERV::VoidState ) ;
- }
- RetVal = false ;
- }
- else {
- if ( IsRunning() ) {
- if ( IsFactoryNode() || IsComputingNode() ) {
- if ( !CORBA::is_nil( Component() ) ) {
- try {
- RetVal = Component()->Stop_impl() ;
- }
- catch( ... ) {
- cdebug << "InNode::Stop() catched" << endl ;
- State( SUPERV::ErroredState ) ;
- _OutNode->State( SUPERV::ErroredState ) ;
- RetVal = false ;
- }
- if ( RetVal ) {
- if ( IsRunning() ) {
- SendEvent( GraphExecutor::StopEvent ) ;
- }
- else if ( IsDone() ) {
- ControlState( SUPERV::VoidState ) ;
- RetVal = false ; // Too late ...
- }
- else {
- cdebug << "component Suspended and !IsDone and !IsRunning !"
- << endl ;
- }
- }
- }
- else {
- cdebug << "Suspend cannot Suspend component !" << endl ;
- RetVal = false ;
- }
- }
- else {
- cdebug << "Suspend with nilComponent while RunningState !" << endl ;
- RetVal = false ;
- }
- }
- else if ( IsWaiting() ) {
- RetVal = true ;
- }
- else {
- cdebug << "Suspend and !IsDone and !IsRunning and !IsWaiting ?"
- << endl ;
- RetVal = false ;
- }
- }
- }
- cdebug_out << "GraphExecutor::InNode::Stop" << endl ;
- return RetVal ;
-}
-
-bool GraphExecutor::InNode::SuspendDone() {
- cdebug_in << "GraphExecutor::InNode::SuspendDone " << Name() << " "
- << ThreadNo() << endl;
- bool RetVal ;
- if ( ControlState() == SUPERV::ToSuspendDoneState || IsDone() ) {
- RetVal = false ;
- }
- else {
- ControlState( SUPERV::ToSuspendDoneState ) ;
- if ( IsDone() ) {
- if ( _OutNode->IsDone() ) {
- ControlState( SUPERV::VoidState ) ;
- }
- RetVal = false ;
- }
- else {
- RetVal = true ;
- }
- }
- cdebug_out << "GraphExecutor::InNode::SuspendDone" << endl ;
- return RetVal ;
-}
-
-bool GraphExecutor::InNode::Resume() {
- cdebug_in << pthread_self() << "/" << ThreadNo()
- << " GraphExecutor::InNode::Resume " << Name() << " "
- << Automaton()->StateName( State() ) << endl;
- bool RetVal = false ;
- if ( IsSuspended() ) {
- if ( State() == SUPERV::SuspendedReadyState ) {
- ResumeAction( GraphExecutor::ToResumeEvent ) ;
- RetVal = true ;
- }
- else if ( State() == SUPERV::SuspendedExecutingState ) {
- if ( IsFactoryNode() || IsComputingNode() ) {
- try {
- RetVal = Component()->Resume_impl() ;
- }
- catch( ... ) {
- cdebug << "InNode::Resume() catched" << endl ;
- State( SUPERV::ErroredState ) ;
- _OutNode->State( SUPERV::ErroredState ) ;
- RetVal = false ;
- }
- }
- }
- else if ( State() == SUPERV::SuspendedSuccessedState ) {
- ResumeAction( GraphExecutor::ResumeEvent ) ;
- RetVal = true ;
- }
- else if ( State() == SUPERV::SuspendedErroredState ) {
- ResumeAction( GraphExecutor::ResumeEvent ) ;
- RetVal = true ;
- }
- else {
- cdebug << "GraphExecutor::InNode::Resume Not SuspendedReady/Executing/Successed/ErroredState "
- << Automaton()->StateName( State() ) << endl ;
- RetVal = false ;
- }
- }
- else {
- cdebug << "GraphExecutor::InNode::Resume Not Suspended State "
- << Automaton()->StateName( State() ) << endl ;
- RetVal = false ;
- }
- if ( ControlState() == SUPERV::ToSuspendStartState ) {
- ControlState( SUPERV::VoidState ) ;
- }
-
-#if 0
- if ( ControlState() == SUPERV::ToSuspendRunState ||
- ( ControlState() == SUPERV::ToSuspendState &&
- State() == SUPERV::SuspendedReadyState) ) {
- if ( IsSuspended() ) {
- if ( State() == SUPERV::SuspendedReadyState ) {
- ResumeAction() ;
- RetVal = true ;
- }
- else if ( State() == SUPERV::SuspendedExecutingState ) {
- ResumeAction() ;
- RetVal = Component()->Resume_impl() ;
- }
- else {
- cdebug << "GraphExecutor::InNode::Resume State "
- << Automaton()->StateName( State() ) << endl ;
- RetVal = false ;
- }
- if ( ControlState() != SUPERV::ToSuspendState ) {
- ControlState( SUPERV::VoidState ) ;
- }
- }
- else if ( IsRunning() ) {
- RetVal = true ;
- }
- else if ( IsWaiting() ) {
- ControlState( SUPERV::VoidState ) ;
- RetVal = true ;
- }
- else if ( IsDone() ) {
- RetVal = true ;
- }
- }
- else if ( ControlState() == SUPERV::ToSuspendDoneState ||
- ( ControlState() == SUPERV::ToSuspendState &&
- State() == SUPERV::SuspendedSuccessedState) ) {
- if ( IsSuspended() ) {
- if ( State() == SUPERV::SuspendedSuccessedState ) {
- ResumeAction() ;
- RetVal = true ;
- }
- else if ( State() == SUPERV::SuspendedErroredState ) {
- ResumeAction() ;
- RetVal = true ;
- }
- else {
- cdebug << "GraphExecutor::InNode::Resume State " << State() << endl ;
- RetVal = false ;
- }
- if ( ControlState() != SUPERV::ToSuspendState ) {
- ControlState( SUPERV::VoidState ) ;
- }
- }
- else if ( IsRunning() ) {
- ControlState( SUPERV::VoidState ) ;
- RetVal = true ;
- }
- else if ( IsWaiting() ) {
- ControlState( SUPERV::VoidState ) ;
- RetVal = true ;
- }
- else if ( IsDone() ) {
- ControlState( SUPERV::VoidState ) ;
- RetVal = true ;
- }
- }
-#endif
- cdebug_out << "GraphExecutor::InNode::Resume " << RetVal << endl ;
- return RetVal ;
-}
-
-bool GraphExecutor::InNode::ReStart( const char * AtNodeName ,
- const bool AndSuspend ) {
- bool RetVal = false ;
- GraphExecutor::InNode * aRestartNode = (GraphExecutor::InNode *) _OutNode->Graph()->GetGraphNode( AtNodeName )->GetInNode() ;
- cdebug_in << pthread_self() << "/" << ThreadNo()
- << " --> GraphExecutor::InNode::ReStartAt( "
- << AtNodeName << " , " << AndSuspend << ") " << endl
- << "thread " << aRestartNode->ThreadNo() << " "
- << Automaton()->StateName( aRestartNode->State() )
- << " from " << Name() << " " << Automaton()->StateName( State() )
- << endl ;
- if ( IsWaiting() && aRestartNode->IsSuspended() ) {
- RetVal = aRestartNode->Resume() ;
- }
- else if ( IsSuspended() ) {
- if ( strcmp( AtNodeName , Name() ) ) {
- aRestartNode->State( SUPERV::SuspendedSuccessedState ) ;
- }
- if ( AndSuspend ) {
- ReStartAction( aRestartNode , GraphExecutor::ReStartAndSuspendEvent ) ;
- }
- else {
- ReStartAction( aRestartNode , GraphExecutor::ReStartEvent ) ;
- }
- RetVal = true ;
- }
- cdebug_out << "<-- GraphExecutor::InNode::ReStartAt" << endl ;
- return RetVal ;
-}
-
-bool GraphExecutor::InNode::IsWaiting() {
- bool aret = false ;
-// cdebug_in << "GraphExecutor::InNode::IsWaiting " << Name() << endl;
- SUPERV::AutomatonState aState = State() ;
- if ( aState == SUPERV::DataUndefState ||
- aState == SUPERV::DataWaitingState ||
- aState == SUPERV::SuspendedReadyState )
-// aState == SUPERV::SuspendedExecutingState ||
-// aState == SUPERV::SuspendedSuccessedState ||
-// aState == SUPERV::SuspendedErroredState ||
-// aState == SUPERV::SuspendedState
- aret = true ;
-// cdebug_out << "GraphExecutor::InNode::IsWaiting" << endl ;
- return aret ;
-}
-
-bool GraphExecutor::InNode::IsReady() {
- bool aret = false ;
-// cdebug_in << "GraphExecutor::InNode::IsReady " << Name() << endl;
- SUPERV::AutomatonState aState = State() ;
- if ( aState == SUPERV::DataUndefState ||
- aState == SUPERV::DataWaitingState ||
- aState == SUPERV::DataReadyState ||
- aState == SUPERV::ResumedReadyState )
- aret = true ;
-// cdebug_out << "GraphExecutor::InNode::IsReady" << endl ;
- return aret ;
-}
-
-bool GraphExecutor::InNode::IsRunning() {
- bool aret = false ;
-// cdebug_in << "GraphExecutor::InNode::IsRunning " << Name() << endl;
- SUPERV::AutomatonState aState = State() ;
- if ( aState == SUPERV::ExecutingState ||
- aState == SUPERV::ResumedExecutingState )
- aret = true ;
-// cdebug_out << "GraphExecutor::InNode::IsRunning" << endl ;
- return aret ;
-}
-
-bool GraphExecutor::InNode::IsDone() {
- bool aret = false ;
-// cdebug_in << "GraphExecutor::InNode::IsDone " << Name() << endl;
- SUPERV::AutomatonState aState = State() ;
- if ( aState == SUPERV::KilledReadyState ||
- aState == SUPERV::StoppedReadyState ||
- aState == SUPERV::KilledExecutingState ||
- aState == SUPERV::StoppedExecutingState ||
- aState == SUPERV::SuspendedSuccessedState ||
- aState == SUPERV::SuspendedErroredState ||
-// aState == SUPERV::SuccessedExecutingState ||
-// aState == SUPERV::ErroredExecutingState ||
- aState == SUPERV::SuccessedState ||
- aState == SUPERV::ErroredState ||
- aState == SUPERV::ResumedSuccessedState ||
- aState == SUPERV::ResumedErroredState ||
- aState == SUPERV::KilledSuccessedState ||
- aState == SUPERV::StoppedSuccessedState )
- aret = true ;
-// cdebug_out << "GraphExecutor::InNode::IsDone" << endl ;
- return aret ;
-}
-
-bool GraphExecutor::InNode::IsSuspended() {
- bool aret = false ;
-// cdebug_in << "GraphExecutor::InNode::IsSuspended " << Name() << endl;
- SUPERV::AutomatonState aState = State() ;
- if ( aState == SUPERV::SuspendedReadyState ||
- aState == SUPERV::SuspendedExecutingState ||
- aState == SUPERV::SuspendedSuccessedState ||
- aState == SUPERV::SuspendedErroredState )
- aret = true ;
-// cdebug_out << "GraphExecutor::InNode::IsSuspended" << endl ;
- return aret ;
-}
-bool GraphExecutor::InNode::IsKilled() {
- bool aret = false ;
-// cdebug_in << "GraphExecutor::InNode::IsKilled " << Name() << endl;
- SUPERV::AutomatonState aState = State() ;
- if ( aState == SUPERV::KilledReadyState ||
- aState == SUPERV::KilledExecutingState ||
- aState == SUPERV::KilledSuccessedState ||
- aState == SUPERV::KilledErroredState ||
- aState == SUPERV::KilledState )
- aret = true ;
-// cdebug_out << "GraphExecutor::InNode::IsKilled" << endl ;
- return aret ;
-}
-bool GraphExecutor::InNode::IsStopped() {
- bool aret = false ;
-// cdebug_in << "GraphExecutor::InNode::IsStopped " << Name() << endl;
- SUPERV::AutomatonState aState = State() ;
- if ( aState == SUPERV::StoppedReadyState ||
- aState == SUPERV::StoppedExecutingState ||
- aState == SUPERV::StoppedSuccessedState ||
- aState == SUPERV::StoppedErroredState ||
- aState == SUPERV::StoppedState )
- aret = true ;
-// cdebug_out << "GraphExecutor::InNode::IsStopped" << endl ;
- return aret ;
-}
-
-bool GraphExecutor::InNode::StateWait( SUPERV::GraphState aState ) {
- bool RetVal = false ;
- if ( pthread_mutex_lock( &_MutexWait ) ) {
- perror("pthread_mutex_lock _Wait") ;
- exit( 0 ) ;
- }
- switch ( aState ) {
- case SUPERV::ReadyState : {
- RetVal = IsReady() ;
- cdebug_in << pthread_self() << " StateWait( Ready ) " << RetVal
- << " " << Automaton()->StateName( _currentState )
- << " pthread_cond_wait _ReadyWait " << Name() << endl ;
- while ( !RetVal && !IsDone() ) {
- cdebug << pthread_self() << " pthread_cond_wait ReadyWait" << endl ;
- pthread_cond_wait( &_ReadyWait , &_MutexWait );
- RetVal = IsReady() ;
- cdebug << pthread_self() << " pthread_cond_waited ReadyWait "
- << Automaton()->StateName( _currentState ) << " " << RetVal
- << endl ;
- }
- cdebug_out << pthread_self() << " StateWait( Ready ) " << RetVal
- << " " << Automaton()->StateName( _currentState )
- << " pthread_cond_wait _ReadyWait " << Name() << endl ;
- break ;
- }
- case SUPERV::RunningState : {
- RetVal = IsRunning() ;
- cdebug_in << pthread_self() << " StateWait( Running ) " << RetVal
- << " " << Automaton()->StateName( _currentState )
- << " pthread_cond_wait _RunningWait " << Name() << endl ;
- while ( !RetVal && !IsDone() ) {
- cdebug << pthread_self() << " pthread_cond_wait RunningWait" << endl ;
- pthread_cond_wait( &_RunningWait , &_MutexWait );
- RetVal = IsRunning() ;
- cdebug << pthread_self() << " pthread_cond_waited RunningWait "
- << Automaton()->StateName( _currentState ) << " " << RetVal
- << endl ;
- }
- cdebug_out << pthread_self() << " StateWait( Running ) " << RetVal
- << " " << Automaton()->StateName( _currentState )
- << " pthread_cond_wait _RunningWait " << Name() << endl ;
- break ;
- }
- case SUPERV::DoneState : {
- RetVal = IsDone() ;
- cdebug_in << pthread_self() << " StateWait( Done ) " << RetVal
- << " " << Automaton()->StateName( _currentState )
- << " pthread_cond_wait _DoneWait " << Name() << endl ;
- while ( !RetVal ) {
- cdebug << pthread_self() << " pthread_cond_wait DoneWait" << endl ;
- pthread_cond_wait( &_DoneWait , &_MutexWait );
- RetVal = IsDone() ;
- cdebug << pthread_self() << " pthread_cond_waited DoneWait "
- << Automaton()->StateName( _currentState ) << " " << RetVal
- << endl ;
- }
- cdebug_out << pthread_self() << " StateWait( Done ) " << RetVal
- << " " << Automaton()->StateName( _currentState )
- << " pthread_cond_wait _DoneWait " << Name() << endl ;
- break ;
- }
- case SUPERV::SuspendState : {
- RetVal = IsSuspended() ;
- cdebug_in << pthread_self() << " StateWait( Suspend ) " << RetVal
- << " " << Automaton()->StateName( _currentState )
- << " pthread_cond_wait _SuspendedWait " << Name() << endl ;
- while ( !RetVal && !IsDone() ) {
- cdebug << pthread_self() << " pthread_cond_wait SuspendedWait" << endl ;
- pthread_cond_wait( &_SuspendedWait , &_MutexWait );
- RetVal = IsSuspended() ;
- cdebug << pthread_self() << " pthread_cond_waited SuspendedWait "
- << Automaton()->StateName( _currentState ) << " " << RetVal
- << endl ;
- }
- cdebug_out << pthread_self() << " StateWait( Suspend ) " << RetVal
- << " " << Automaton()->StateName( _currentState )
- << " pthread_cond_wait _SuspendedWait " << Name() << endl ;
- break ;
- }
- default : {
- cdebug << " GraphExecutor::OutNode::StateWait Error Undefined State : "
- << aState << endl ;
- }
- }
- if ( pthread_mutex_unlock( &_MutexWait ) ) {
- perror("pthread_mutex_lock _Wait") ;
- exit( 0 ) ;
- }
- return RetVal ;
-}
-
-bool GraphExecutor::InNode::ReadyWait() {
-// cdebug_in << "GraphExecutor::InNode::ReadyWait " << Name() << endl;
- bool aret ;
- aret = StateWait( SUPERV::ReadyState ) ;
-// cdebug_out << "GraphExecutor::InNode::ReadyWait" << endl ;
- return aret ;
-}
-
-bool GraphExecutor::InNode::RunningWait() {
-// cdebug_in << "GraphExecutor::InNode::RunningWait " << Name() << endl;
- bool aret ;
- aret = StateWait( SUPERV::RunningState ) ;
- return aret ;
-}
-
-bool GraphExecutor::InNode::DoneWait() {
-// cdebug_in << "GraphExecutor::InNode::DoneWait " << Name() << endl;
- bool aret ;
- aret = StateWait( SUPERV::DoneState ) ;
- return aret ;
-}
-
-bool GraphExecutor::InNode::SuspendedWait() {
-// cdebug_in << "GraphExecutor::InNode::SuspendedWait " << Name() << endl;
- bool aret ;
- aret = StateWait( SUPERV::SuspendState ) ;
- return aret ;
-}
-
-void GraphExecutor::InNode::InitialState( GraphExecutor::OutNode * theOutNode )
-{
- cdebug_in << "GraphExecutor::InNode::InitialState Node " << Name() << endl;
-
- _OutNode = theOutNode ;
-
- int i;
- _ControlState = SUPERV::VoidState ;
- CreateNewThread( false ) ;
- CreateNewThreadIf( false ) ;
- _SuspendSync = false ;
- _ResumeSync = false ;
-// ThreadNo( pthread_self() ) ;
- ThreadNo( 0 ) ;
-
- for ( i = 0 ; i < GetNodeOutPortsSize() ; i++ ) {
- if ( GetNodeOutPort(i)->IsDataStream() ) {
- GetChangeNodeOutPort(i)->State( SUPERV::ReadyState ) ;
- GetChangeNodeOutPort(i)->Done( true ) ;
- }
- else if ( i != 0 || !IsGOTONode() ) {
- GetChangeNodeOutPort(i)->State( SUPERV::WaitingState ) ;
- GetChangeNodeOutPort(i)->Done( false ) ;
- }
- }
-
- int Pc = GetNodeInPortsSize() ;
- for ( i = 0 ; i < GetNodeInPortsSize() ; i++ ) {
- const GraphBase::InPort * anInPort = GetNodeInPort(i) ;
- GraphBase::OutPort * anOutPort = anInPort->GetOutPort() ;
- if ( IsHeadNode() && IsLoopNode() && anInPort->IsLoop() ) {
- anOutPort->PortStatus( DataConnected );
- anOutPort->State( SUPERV::ReadyState ) ;
- anOutPort->Done( true ) ;
- CORBA::Any * anAny = new CORBA::Any() ;
- *anAny <<= (long ) 1 ;
- anOutPort->Value( anAny ) ;
- }
- else if ( anInPort->IsGate() && anOutPort ) {
- if ( IsComputingNode() || IsFactoryNode() ) {
- anOutPort->State( SUPERV::WaitingState ) ;
- anOutPort->Done( false ) ;
- }
- else if ( IsOneOfInLineNodes() ) {
- anOutPort->PortStatus( DataConnected );
- anOutPort->State( SUPERV::ReadyState ) ;
- anOutPort->Done( true ) ;
- }
- }
-// if ( ( anInPort->IsGate() || anInPort->IsBus() ) && anOutPort == NULL ) {
- if ( anInPort->IsGate() && anOutPort == NULL ) {
- Pc-- ;
- }
- else if ( anOutPort ) {
- if ( anOutPort->IsDataConnected() || anOutPort->IsDataStream() ) {
- Pc-- ;
- }
- if ( anOutPort->IsDataConnected() || anOutPort->IsDataStream() ) {
- anOutPort->State( SUPERV::ReadyState ) ;
- anOutPort->Done( true ) ;
- }
- else if ( anOutPort->IsPortConnected() ) {
- anOutPort->State( SUPERV::WaitingState ) ;
- anOutPort->Done( false ) ;
- }
- }
- if ( anOutPort ) {
- if ( !anOutPort->IsDataStream() || anInPort->IsDataStream() ) {
- cdebug << "InPort" << i << " state change : " << anInPort->PortName() << " from OutPort "
- << anOutPort->PortName() << " from Node " << anOutPort->NodeName()
- << " with state " << theAutomaton->StateName( anOutPort->State() ) << endl ;
- GetChangeNodeInPort(i)->State( anOutPort->State() ) ;
- }
- else {
- cdebug << "InPort" << i << " state change : " << anInPort->PortName() << " from OutPort "
- << anOutPort->PortName() << " from Node " << anOutPort->NodeName()
- << " with state ReadyState" << endl ;
- GetChangeNodeInPort(i)->State( SUPERV::ReadyState ) ;
- }
- }
- if ( anOutPort ) {
- cdebug << "InPort" << i << " : " << anInPort->PortName() << " from OutPort "
- << anOutPort->PortName() << " from Node " << anOutPort->NodeName()
- << " with state " ;
- if ( anOutPort->State() == SUPERV::WaitingState ) {
- cdebug << "WaitingState" ;
- }
- else if ( anOutPort->State() == SUPERV::ReadyState ) {
- cdebug << "ReadyState" ;
- }
- else {
- cdebug << "???" ;
- }
- cdebug << " PortConnected("
- << anOutPort->IsPortConnected() << ") DataConnected("
- << anOutPort->IsDataConnected() << ")" << endl ;
- }
- }
-
- _currentState = Pc > 0 ? SUPERV::DataWaitingState
- : SUPERV::DataReadyState ;
- if ( Pc == GetNodeInPortsSize() ) {
- _OutNode->PushEvent( this , GraphExecutor::NoDataReadyEvent ,
- _currentState ) ;
- }
- else if ( Pc != 0 ) {
- _OutNode->PushEvent( this , GraphExecutor::SomeDataReadyEvent ,
- _currentState ) ;
- }
- else {
- _OutNode->PushEvent( this , GraphExecutor::AllDataReadyEvent ,
- _currentState ) ;
- }
-
- for ( i = 0 ; i < GetNodeOutPortsSize() ; i++ ) {
- cdebug << "OutPort" << i << " : " << GetNodeOutPort(i)->PortName() << " "
- << theAutomaton->StateName( GetChangeNodeOutPort(i)->State() )
- << " " << GetNodeOutPort(i)->Kind() << endl ;
- }
-
- cdebug << "CurrentState = " << theAutomaton->StateName( _currentState )
- << endl;
-
- cdebug_out << "GraphExecutor::InNode::InitialState" << endl;
-}
-
-bool GraphExecutor::InNode::InitPythonFunctions(bool WithErr ) {
- cdebug_in << "GraphExecutor::InNode::InitPythonFunctions " << Name() << endl;
- bool Err = false ;
- if ( !PyFuncRunned() && IsOneOfInLineNodes() ) {
- if ( IsLoopNode() ) {
- PyObject * PyRunMethod = InLineNode()->PyRunMethod() ;
- PyObject * PyMoreMethod = NULL ;
- PyObject * PyNextMethod = NULL ;
- if ( PyRunMethod ) {
- }
- else {
- PyRunMethod = InitPyDynInvoke( InLineNode()->PyFuncName() ,
- InLineNode()->PythonFunction() ,
- Err ) ;
- InLineNode()->PyRunMethod( PyRunMethod ) ;
- }
- if ( !Err ) {
- PyMoreMethod = LoopNode()->PyMoreMethod() ;
- if ( PyMoreMethod ) {
- }
- else {
- PyMoreMethod = InitPyDynInvoke( LoopNode()->PyMoreName() ,
- LoopNode()->MorePythonFunction() ,
- Err ) ;
- LoopNode()->PyMoreMethod( PyMoreMethod ) ;
- }
- }
- if ( !Err ) {
- PyNextMethod = LoopNode()->PyNextMethod() ;
- if ( PyNextMethod ) {
- }
- else {
- PyNextMethod = InitPyDynInvoke( LoopNode()->PyNextName() ,
- LoopNode()->NextPythonFunction() ,
- Err ) ;
- LoopNode()->PyNextMethod( PyNextMethod ) ;
- }
- }
- cdebug << "GraphExecutor::InNode::InitPythonFunctions " << Name() << " PyRunMethod(Init) " << PyRunMethod
- << " PyMoreMethod " << PyMoreMethod << " PyNextMethod " << PyNextMethod << endl;
- }
- else if ( IsInLineNode() || IsSwitchNode() ) {
- PyObject * PyRunMethod = InLineNode()->PyRunMethod() ;
- if ( PyRunMethod ) {
- }
- else {
- PyRunMethod = InitPyDynInvoke( InLineNode()->PyFuncName() ,
- InLineNode()->PythonFunction() ,
- Err ) ;
- InLineNode()->PyRunMethod( PyRunMethod ) ;
- }
- cdebug << "GraphExecutor::InNode::InitPythonFunctions " << Name() << " PyRunMethod " << PyRunMethod << endl;
- }
- else if ( ( IsEndLoopNode() || IsEndSwitchNode() || IsGOTONode() ) &&
- (*InLineNode()->PythonFunction()).length() ) {
- PyObject * PyRunMethod = InLineNode()->PyRunMethod() ;
- if ( PyRunMethod ) {
- }
- else {
- PyRunMethod = InitPyDynInvoke( InLineNode()->PyFuncName() ,
- InLineNode()->PythonFunction() ,
- Err ) ;
- InLineNode()->PyRunMethod( PyRunMethod ) ;
- }
- cdebug << "GraphExecutor::InNode::InitPythonFunctions " << Name() << " PyRunMethod " << PyRunMethod << endl;
- }
- }
- Err = WithErr && Err ;
- cdebug_out << "GraphExecutor::InNode::InitPythonFunctions " << Name() ;
- if ( Err ) {
- cdebug << " Error " << Err ;
- }
- cdebug << endl;
- return !Err ;
-}
-
-const long GraphExecutor::InNode::CpuUsed( bool tot ) {
- CORBA::Long cpu = 0 ;
-// cdebug_in << "GraphExecutor::InNode::CpuUsed( " << tot << " )" << Name() << endl ;
- if ( IsOneOfInLineNodes() ) {
-// cdebug << "CpuUsed " << Name() << " --> PyCpuUsed()" << endl ;
-// cout << "CpuUsed " << Name() << " --> PyCpuUsed()" << endl ;
- cpu = PyCpuUsed( tot ) ;
- }
- else {
- if ( !CORBA::is_nil( Component() ) ) {
-// cdebug << "CpuUsed " << Name() << " --> Component()->CpuUsed_impl()" << endl ;
-// cout << "CpuUsed " << Name() << " --> Component()->CpuUsed_impl()" << endl ;
- try {
- cpu = Component()->CpuUsed_impl() ;
- }
- catch ( ... ) {
- cdebug << "CpuUsed " << Name() << " --> Component()->CpuUsed_impl() ERROR catched " << endl ;
- State( SUPERV::ErroredState ) ;
- _OutNode->State( SUPERV::ErroredState ) ;
- cpu = 0 ;
- }
- }
- }
-// cdebug_out << "GraphExecutor::InNode::CpuUsed " << Name() << " CpuUsed : " << cpu << endl ;
-// cout << "CpuUsed " << Name() << " CpuUsed : " << cpu << endl ;
- return cpu ;
-}
-
-#include <sys/time.h>
-#include <sys/resource.h>
-#include <unistd.h>
-
-long GraphExecutor::InNode::PyCpu() {
- struct rusage usage ;
- long cpu ;
- if ( getrusage( RUSAGE_SELF , &usage ) == -1 ) {
- perror("GraphExecutor::InNode::PyCpu") ;
- return 0 ;
- }
-// return usage.ru_utime.__time_t tv_sec ;
-// cdebug << pthread_self() << "PyCpu " << Name() << " " << usage.ru_utime.tv_sec << " "
-// << usage.ru_utime.tv_usec << " " << usage.ru_stime.tv_sec << " " << usage.ru_stime.tv_usec
-// << endl ;
- cpu = usage.ru_utime.tv_sec ;
- return cpu ;
-}
-
-long GraphExecutor::InNode::PyCpuUsed( bool tot ) {
- long cpu ;
- if ( _PyTotCpuUsed == -1 ) {
- if ( _Pythread == pthread_self() ) {
-// cdebug << pthread_self() << "GraphExecutor::InNode::PyCpuUsed(" << tot << ") " << Name()
-// << " _PyTotCpuUsed " << _PyTotCpuUsed << " PyCpu() " << PyCpu() << " - " << " _PyCpuUsed "
-// << _PyCpuUsed << endl ;
- cpu = PyCpu() - _PyCpuUsed ;
- if ( tot ) {
- _PyTotCpuUsed = cpu ;
- }
- }
- else {
- cpu = 0 ;
- }
- }
- else {
- cpu = _PyTotCpuUsed ;
- }
-// cdebug << pthread_self() << "GraphExecutor::InNode::PyCpuUsed(" << tot << ") " << Name() << "_PyTotCpuUsed"
-// << _PyTotCpuUsed << " CpuUsed : " << cpu << endl ;
- return cpu ;
-}
-
-void GraphExecutor::InNode::SetPyCpuUsed() {
- _PyTotCpuUsed = -1 ;
- _PyCpuUsed = 0 ;
- _Pythread = pthread_self() ;
- _PyCpuUsed = PyCpu() ;
-// cdebug << pthread_self() << "GraphExecutor::InNode::SetPyCpuUsed " << Name() << " _PyCpuUsed : "
-// << _PyCpuUsed << endl ;
-}
-
+++ /dev/null
-// SUPERV GraphExecutor : contains classes that permit execution of graphs and particularly the execution automaton
-//
-// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
-// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
-//
-// This library is free software; you can redistribute it and/or
-// modify it under the terms of the GNU Lesser General Public
-// License as published by the Free Software Foundation; either
-// version 2.1 of the License.
-//
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-// Lesser General Public License for more details.
-//
-// You should have received a copy of the GNU Lesser General Public
-// License along with this library; if not, write to the Free Software
-// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-//
-// See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
-//
-//
-//
-// File : DataFlowBase_InNode.hxx
-// Author : Jean Rahuel, CEA
-// Module : SUPERV
-// $Header:
-
-#ifndef _DATAFLOWEXECUTOR_INNODE_HXX
-#define _DATAFLOWEXECUTOR_INNODE_HXX
-
-#include <stdio.h>
-
-#include <Python.h>
-
-#include "DataFlowBase_FactoryNode.hxx"
-#include "DataFlowBase_GOTONode.hxx"
-#include "DataFlowBase_LoopNode.hxx"
-#include "DataFlowBase_EndOfLoopNode.hxx"
-#include "DataFlowBase_SwitchNode.hxx"
-#include "DataFlowBase_EndOfSwitchNode.hxx"
-
-#include "DataFlowExecutor_FiniteStateMachine.hxx"
-
-#define MAXSTACKTHREADSIZE 8191
-
-void * run_function(void *p);
-
-extern GraphExecutor::FiniteStateMachine * theAutomaton ;
-
-extern "C" PyObject * PyRunMethod( PyObject * dummy , PyObject * args ) ;
-
-namespace GraphExecutor {
-
- struct ServicesAnyData {
- string Name;
- CORBA::Any Value;
- };
-
- class OutNode ;
-
-// class InNode : public GraphBase::Node {
- class InNode : public GraphBase::Base {
-
- private:
-
- GraphBase::ComputingNode * _ComputingNode ;
- GraphBase::FactoryNode * _FactoryNode ;
- GraphBase::InLineNode * _InLineNode ;
- GraphBase::GOTONode * _GOTONode ;
- GraphBase::LoopNode * _LoopNode ;
- GraphBase::EndOfLoopNode * _EndOfLoopNode ;
- GraphBase::SwitchNode * _SwitchNode ;
- GraphBase::EndOfSwitchNode * _EndOfSwitchNode ;
-
- PyObject * _MyPyRunMethod ;
-
- bool _createNewThread ;
- bool _createNewThreadIf ;
- int _RewindStack ;
- SUPERV::AutomatonState _OldState ;
- SUPERV::AutomatonState _currentState ;
- GraphExecutor::NodeEvent _CurrentEvent ;
- SUPERV::ControlState _ControlState ;
- SUPERV::AutomatonState _NextState ;
- GraphExecutor::StateEventAction _NextAction ;
- bool _PyFuncRunned ;
-
- pthread_mutex_t _MutexDataWait ;
- bool _DataWait ;
-
- pthread_mutex_t _MutexWait ;
-
- pthread_cond_t _ReadyWait ;
- pthread_cond_t _RunningWait ;
- pthread_cond_t _DoneWait ;
- pthread_cond_t _SuspendedWait ;
-
- pthread_cond_t _SuspendWait ;
- bool _SuspendSync ;
- pthread_cond_t _ResumeWait ;
- bool _ResumeSync ;
- GraphExecutor::NodeEvent _aResumeEvent ;
- GraphExecutor::InNode * _aReStartNode ;
- GraphExecutor::NodeEvent _aReStartEvent ;
-
- pthread_cond_t _KillWait ;
- bool _KillSync ;
- pthread_cond_t _StopWait ;
-
- pthread_cond_t _ThreadStartedWait ;
- bool _ThreadStartedSync ;
-
- pthread_t _Pythread ;
- long _PyCpuUsed ;
- long _PyTotCpuUsed ;
-
- GraphExecutor::FiniteStateMachine * _Automaton ;
-
- CORBA::ORB_ptr _Orb;
-
- GraphExecutor::OutNode * _OutNode ;
-
- char * _DataFromNode ;
-
- public:
-
- InNode() ;
- InNode( CORBA::ORB_ptr ORB, SALOME_NamingService* ptrNamingService,
- const SALOME_ModuleCatalog::Service& NodeService ,
- const char *NodeComponentName ,
- const char* NodeInterfaceName ,
- const char *NodeName ,
- const SUPERV::KindOfNode akind = SUPERV::ComputingNode ,
- GraphBase::ListOfFuncName aFuncName = GraphBase::ListOfFuncName() ,
- GraphBase::ListOfPythonFunctions aPythonFunction = GraphBase::ListOfPythonFunctions() ,
- const SUPERV::SDate NodeFirstCreation = SUPERV::SDate() ,
- const SUPERV::SDate NodeLastModification = SUPERV::SDate() ,
- const char * NodeEditorRelease = NULLSTRING ,
- const char * NodeAuthor = NULLSTRING ,
- const char * NodeComputer = NULLSTRING ,
- const char * NodeComment = NULLSTRING ,
- const bool GeneratedName = false ,
- const int NodeX = 0 ,
- const int NodeY = 0 ,
- int * Graph_prof_debug = NULL ,
- ofstream * Graph_fdebug = NULL ) ;
- virtual ~InNode() ;
-
- pthread_t ThreadNo() {
- return _ComputingNode->ThreadNo() ; } ;
- void ThreadNo( pthread_t aThread ) {
- _ComputingNode->ThreadNo ( aThread ) ; } ;
-
- char * Name() const {
- return _ComputingNode->Name() ; } ;
- const char *const * NamePtr() const {
- return _ComputingNode->NamePtr() ; } ;
- SUPERV::KindOfNode Kind() const {
- return _ComputingNode->Kind() ; } ;
- const bool IsComputingNode() const {
- return _ComputingNode->IsComputingNode() ; } ;
- const bool IsFactoryNode() const {
- return _ComputingNode->IsFactoryNode() ; } ;
- const bool IsInLineNode() const {
- return _ComputingNode->IsInLineNode() ; } ;
- const bool IsOneOfInLineNodes() const {
- return _ComputingNode->IsOneOfInLineNodes() ; } ;
- const bool IsOneOfGOTONodes() const {
- return _ComputingNode->IsOneOfGOTONodes() ; } ;
- const bool IsDataFlowNode() const {
- return _ComputingNode->IsDataFlowNode() ; } ;
- const bool IsLoopNode() const {
- return _ComputingNode->IsLoopNode() ; } ;
- const bool IsEndLoopNode() const {
- return _ComputingNode->IsEndLoopNode() ; } ;
- const bool IsSwitchNode() const {
- return _ComputingNode->IsSwitchNode() ; } ;
- const bool IsEndSwitchNode() const {
- return _ComputingNode->IsEndSwitchNode() ; } ;
- const bool IsGOTONode() const {
- return _ComputingNode->IsGOTONode() ; } ;
- const bool IsHeadNode() const {
- return _ComputingNode->IsHeadNode() ; } ;
- GraphBase::ComputingNode * ComputingNode() {
- return _ComputingNode ; } ;
- GraphBase::FactoryNode * FactoryNode() {
- return _FactoryNode ; } ;
- GraphBase::GOTONode * GOTONode() {
- if ( _GOTONode )
- return _GOTONode ;
- if ( _LoopNode )
- return _LoopNode ;
- if ( _EndOfLoopNode )
- return _EndOfLoopNode ;
- if ( _SwitchNode )
- return _SwitchNode ;
- if ( _EndOfSwitchNode )
- return _EndOfSwitchNode ;
- return NULL ;
- } ;
- GraphBase::InLineNode * InLineNode() {
- GraphBase::InLineNode * aNode = GOTONode() ;
- if ( aNode == NULL )
- return _InLineNode ;
- return aNode ;
- } ;
- GraphBase::LoopNode * LoopNode() {
- return _LoopNode ; } ;
-
- Engines::Component_var Component() const ;
- Engines::Container_var Container() const ;
- void SetContainer(Engines::Container_var aContainer) {
- _FactoryNode->SetContainer( aContainer ) ; } ;
- void SetComponent(Engines::Component_var anObjComponent) {
- _FactoryNode->SetComponent( anObjComponent ) ; } ;
- void ObjInterface( bool k_interface ) {
- _ComputingNode->ObjInterface( k_interface ) ; } ;
- bool ObjInterface() {
- return _FactoryNode->ObjInterface() ; } ;
- char * ComponentName() const { return _FactoryNode->ComponentName() ; } ;
- char * InterfaceName() const { return _FactoryNode->InterfaceName() ; } ;
- char * Computer() const { return _FactoryNode->Computer() ; } ;
- const char * ServiceName() const {
- return _ComputingNode->ServiceName() ; } ;
- const SALOME_ModuleCatalog::ListOfServicesParameter ServiceInParameter() const {
- return _ComputingNode->ServiceInParameter() ; } ;
- const SALOME_ModuleCatalog::ListOfServicesParameter ServiceOutParameter() const {
- return _ComputingNode->ServiceOutParameter() ; } ;
-
- void CoupledNode( GraphBase::InLineNode * aCoupledNode ) {
- GOTONode()->CoupledNode( aCoupledNode ) ; } ;
- GraphBase::InLineNode * CoupledNode() {
- return GOTONode()->CoupledNode() ; } ;
-
- GraphBase::InPort * AddInPort( const char * InputParameterName ,
- const char * InputParameterType ,
- const SUPERV::KindOfPort aKindOfPort ) {
- return _ComputingNode->AddInPort( InputParameterName ,
- InputParameterType ,
- aKindOfPort ) ; } ;
- GraphBase::OutPort * AddOutPort( const char * OutputParameterName ,
- const char * OutputParameterType ,
- const SUPERV::KindOfPort aKindOfPort ) {
- return _ComputingNode->AddOutPort( OutputParameterName ,
- OutputParameterType ,
- aKindOfPort ) ; } ;
-// void InOutPort( GraphBase::InPort * InputPort ,
-// GraphBase::OutPort * OutputPort ) {
-// return _ComputingNode->InOutPort( InputPort , OutputPort ) ; } ;
- int LinkedNodesSize() const {
- return _ComputingNode->LinkedNodesSize() ; } ;
-// GraphBase::ComputingNode * LinkedNodes( int i ) const {
- GraphBase::StreamNode * LinkedNodes( int i ) const {
- return _ComputingNode->LinkedNodes( i ) ; } ;
- const int LinkedInPortsNumber( int i ) const {
- return _ComputingNode->LinkedInPortsNumber( i ) ; } ;
-
- const int GetNodeInPortsSize() const {
- return _ComputingNode->GetNodeInPortsSize() ; } ;
- const GraphBase::InPort *GetNodeInLoop() const {
- return _ComputingNode->GetNodeInLoop() ; } ;
- const GraphBase::InPort *GetNodeInGate() const {
- return _ComputingNode->GetNodeInGate() ; } ;
- const GraphBase::InPort *GetNodeInPort(int i) const {
- return _ComputingNode->GetNodeInPort( i ) ; } ;
- GraphBase::InPort *GetChangeNodeInLoop() const {
- return _ComputingNode->GetChangeNodeInLoop() ; } ;
- GraphBase::InPort *GetChangeNodeInGate() const {
- return _ComputingNode->GetChangeNodeInGate() ; } ;
- GraphBase::InPort *GetChangeNodeInPort(int i) const {
- return _ComputingNode->GetChangeNodeInPort( i ) ; } ;
- const int GetNodeOutPortsSize() const {
- return _ComputingNode->GetNodeOutPortsSize() ; } ;
- const GraphBase::OutPort *GetNodeOutLoop() const {
- return _ComputingNode->GetNodeOutLoop() ; } ;
- const GraphBase::OutPort *GetNodeOutGate() const {
- return _ComputingNode->GetNodeOutGate() ; } ;
- const GraphBase::OutPort *GetNodeOutPort(int i) const {
- return _ComputingNode->GetNodeOutPort( i ) ; } ;
- GraphBase::OutPort *GetChangeNodeOutLoop() const {
- return _ComputingNode->GetChangeNodeOutLoop() ; } ;
- GraphBase::OutPort *GetChangeNodeOutGate() const {
- return _ComputingNode->GetChangeNodeOutGate() ; } ;
- GraphBase::OutPort *GetChangeNodeOutPort(int i) const {
- return _ComputingNode->GetChangeNodeOutPort( i ) ; } ;
-
- const GraphBase::InPort *GetInPort( const char *name ) {
- return _ComputingNode->GetInPort( name ) ; } ;
- const GraphBase::OutPort *GetOutPort( const char *name ) {
- return _ComputingNode->GetOutPort( name ) ; } ;
- GraphBase::InPort *GetChangeInPort( const char *name ) {
- return _ComputingNode->GetChangeInPort( name ) ; } ;
- GraphBase::OutPort *GetChangeOutPort( const char *name ) {
- return _ComputingNode->GetChangeOutPort( name ) ; } ;
-
- void PyFuncRunned( bool arunned ) {
- _PyFuncRunned = arunned ; } ;
- bool PyFuncRunned() {
- return _PyFuncRunned ; } ;
-
- bool InitPython() ;
- PyObject * InitPyDynInvoke( char * PyFuncName ,
- const SUPERV::ListOfStrings * aPythonFunction ,
- bool & Err ) ;
-
- void LockDataWait() ;
- void UnLockDataWait() ;
- bool IsLockedDataWait() { return _DataWait ; } ;
-
- bool Ping() ;
- bool ContainerKill() ;
-
- bool Kill() ;
- bool KillDone() ;
- bool Suspend() ;
- bool SuspendDone() ;
- bool Resume() ;
- bool ReStart( const char * AtNodeName , const bool AndSuspend ) ;
- bool Stop() ;
-
- void CreateNewThread( bool k_create ) { _createNewThread = k_create ; } ;
- void CreateNewThreadIf( bool k_create ) { _createNewThreadIf = k_create ; } ;
- bool CreateNewThread() { return _createNewThread ; } ;
- bool CreateNewThreadIf() { return _createNewThreadIf ; } ;
- void NewThread( pthread_t aThread ) ;
- void ExitThread() ;
- void RewindStack( int aRewindStack ) { _RewindStack = aRewindStack ; } ;
- int RewindStack() const { return _RewindStack ; } ;
-
- SUPERV::AutomatonState State() const {
- return _currentState; };
- void State(SUPERV::AutomatonState aState ) {
-// cdebug << "GraphExecutor::InNode::State( "
-// << Automaton()->StateName( _currentState ) << " --> "
-// << Automaton()->StateName( aState ) << " )" << endl ;
- _currentState = aState ; } ;
- SUPERV::ControlState ControlState() const {
- return _ControlState; };
- void ControlState(SUPERV::ControlState aControlState ) {
- _ControlState = aControlState ; } ;
- void ControlClear() {
- _ControlState = SUPERV::VoidState ; } ;
-
- void SetAutomaton() {
- _Automaton = theAutomaton ; } ;
- GraphExecutor::FiniteStateMachine * Automaton() const {
- return _Automaton ; } ;
-
- bool IsWaiting() ;
- bool IsReady() ;
- bool IsRunning() ;
- bool IsDone() ;
- bool IsSuspended() ;
- bool IsKilled() ;
- bool IsStopped() ;
-
- bool StateWait( SUPERV::GraphState aState ) ;
- bool ReadyWait() ;
- bool RunningWait() ;
- bool DoneWait() ;
- bool SuspendedWait() ;
-
- void InitialState( GraphExecutor::OutNode * theOutNode ) ;
- bool InitPythonFunctions(bool WithErr ) ;
- void SetWaitingStates(GraphExecutor::InNode * EndNode ) ;
-
- int SendEvent(const GraphExecutor::NodeEvent anEvent ) ;
- void DataFromNode( char * FromNodeName ) {
- _DataFromNode = FromNodeName ; } ;
- const char * DataFromNode() const { return _DataFromNode ; } ;
-
- int ErrorAction();
- int VoidAction();
- void ReadyAction() ;
- void RunningAction() ;
- void DoneAction() ;
- void SuspendedAction() ;
- GraphExecutor::InNode * SuspendAction() ;
- bool ResumeAction(GraphExecutor::NodeEvent aResumeEvent ) ;
- bool ReStartAction( GraphExecutor::InNode * aRestartNode ,
- GraphExecutor::NodeEvent anEvent ) ;
- void KillAction() ;
- void KilledAction() ;
- void ThreadStartAction() ;
- void ThreadStartedAction() ;
- void StopAction() ;
- void StoppedAction() ;
- int executeAction() ; // New Thread or Same Thread
- int ExecuteAction() ;
-
- int DataWaiting_SomeDataReadyAction() ;
- int DataUndef_NotAllDataReadyAction() ;
- int DataUndef_AllDataReadyAction() ;
- int DataReady_SuspendAction() ;
- int SuspendedReady_ResumeAction() ;
- int DataReady_KillAction() ;
- int DataReady_StopAction() ;
- int DataReady_ExecuteAction() ;
- void DynInvoke( Engines::Component_ptr obj,
- const char *method,
- ServicesAnyData * inParams, int nInParams,
- ServicesAnyData * outParams, int nOutParams) ;
- void DynInvoke( Engines::Component_ptr obj,
- const char *method,
- const char * aGraphName ,
- const char * aNodeName );
- bool PyDynInvoke( PyObject * MyPyRunMethod ,
- const char *method ,
- ServicesAnyData * inParams , int nInParams ,
- ServicesAnyData * inParams , int nOutParams ) ;
-
- int Executing_SuspendAction() ;
- int SuspendedExecuting_ResumeAction() ;
- int Executing_KillAction() ;
- int Executing_StopAction() ;
- int Executing_SuccessAction() ;
- int Executing_ErrorAction() ;
- int Successed_SuccessAction() ;
- bool SendSomeDataReady( char * FromNodeName ) ;
- int Errored_ErrorAction() ;
- int Successed_SuspendAction() ;
- int Errored_SuspendAction() ;
- int SuspendedSuccessed_ResumeAction() ;
- int SuspendedErrored_ResumeAction() ;
- int Successed_KillAction() ;
- int Errored_KillAction() ;
- int Successed_StopAction() ;
- int Errored_StopAction() ;
- int SuspendedSuccessed_ReStartAction() ;
- int SuspendedErrored_ReStartAction() ;
- int SuspendedSuccessed_ReStartAndSuspendAction() ;
- int SuspendedErrored_ReStartAndSuspendAction() ;
-
- void InParametersSet( bool & Err ,
- int nInParams ,
- ServicesAnyData * InParametersList ) ;
- void InOutParametersSet( int nOutParams ,
- ServicesAnyData * OutParametersList ) ;
- bool OutParametersSet( bool Err , SUPERV::GraphState NewState ,
- int nOutParams ,
- ServicesAnyData * OutParametersList ) ;
- void coutbegin() ;
- void coutexit() ;
-
- const long CpuUsed( bool tot = false ) ;
-
- long PyCpuUsed( bool tot = false ) ;
- void SetPyCpuUsed() ;
- long PyCpu() ;
- } ;
-
-} ;
-
-#endif
-
+++ /dev/null
-// SUPERV GraphExecutor : contains classes that permit execution of graphs and particularly the execution automaton
-//
-// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
-// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
-//
-// This library is free software; you can redistribute it and/or
-// modify it under the terms of the GNU Lesser General Public
-// License as published by the Free Software Foundation; either
-// version 2.1 of the License.
-//
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-// Lesser General Public License for more details.
-//
-// You should have received a copy of the GNU Lesser General Public
-// License along with this library; if not, write to the Free Software
-// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-//
-// See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
-//
-//
-//
-// File : DataFlowBase_InNodeThreads.cxx
-// Author : Jean Rahuel, CEA
-// Module : SUPERV
-// $Header:
-
-using namespace std;
-
-#include <stdlib.h>
-#include <iostream>
-#include <unistd.h>
-#include <stdio.h>
-
-#include "Python.h"
-
-#include "OpUtil.hxx"
-
-#include <SALOMEconfig.h>
-#include CORBA_CLIENT_HEADER(SALOME_Component)
-#include "SALOME_LifeCycleCORBA.hxx"
-
-//#include "StreamGraph_Impl.hxx"
-
-#include "DataFlowExecutor_OutNode.hxx"
-
-
-static void UpperCase(std::string& rstr)
-{
- std::transform(rstr.begin(), rstr.end(), rstr.begin(), towupper);
-}
-
-
-int GraphExecutor::InNode::SendEvent( const GraphExecutor::NodeEvent anEvent ) {
-
- _CurrentEvent = (GraphExecutor::NodeEvent ) anEvent ;
- cdebug << pthread_self() << "/" << ThreadNo() << " -->SendEvent Node " << Name()
- << " ControlState : "
- << Automaton()->ControlStateName( ControlState() )
- << " Event : " << Automaton()->EventName( anEvent )
- << " State : " << Automaton()->StateName( State() ) << " _RewindStack " << _RewindStack << endl;
-
- _OldState = State() ;
- _NextState = Automaton()->NextState( _OldState , anEvent ) ;
- if ( _NextState == _OldState ) {
- cdebug << pthread_self() << "/" << ThreadNo()
- << " GraphExecutor::InNodeThreads::SendEvent SameStates "
- << _OldState << endl ;
- _NextAction = GraphExecutor::VoidAction ;
- }
- else {
- _NextAction = Automaton()->NextAction( _NextState , anEvent ) ;
- }
-
-// State( _NextState ) ;
-// if ( _OldState == SUPERV::SuccessedExecutingState ||
-// _OldState == SUPERV::ErroredExecutingState ) {
-// DoneAction() ;
-// }
-
- cdebug << pthread_self() << "/" << ThreadNo() << " SendedEvent Node "
- << Name() << endl << " ControlState : "
- << Automaton()->ControlStateName( ControlState() ) << endl
- << " OldState : " << Automaton()->StateName( _OldState ) << endl
- << " Event : " << Automaton()->EventName( anEvent ) << endl
- << " NextState : " << Automaton()->StateName( _NextState ) << endl
- << " Action : " << Automaton()->ActionName( _NextAction ) << endl
- << " CreateNewThread " << CreateNewThread() << endl
- << " _RewindStack " << _RewindStack << endl ;
-
-#if 0
- cout << pthread_self() << "/" << ThreadNo() << " SendedEvent Node " << Name()
- << endl << " ControlState : "
- << Automaton()->ControlStateName( ControlState() ) << endl
- << " OldState : " << Automaton()->StateName( _OldState ) << endl
- << " Event : " << Automaton()->EventName( anEvent ) << endl
- << " NextState : " << Automaton()->StateName( _NextState ) << endl
- << " Action : " << Automaton()->ActionName( _NextAction ) << endl
- << " CreateNewThread " << CreateNewThread() << endl ;
-#endif
-
- int sts = executeAction() ;
-
- cdebug << pthread_self() << "/" << ThreadNo() << " <--- SendEvent Node " << Name()
- << " Event : " << Automaton()->EventName( anEvent )
- << " State : " << Automaton()->StateName( State() )
- << endl;
-
- return sts ;
-
-}
-
-// ReadyAction - RunningAction - DoneAction - SuspendedAction :
-// for StateWait( ReadyW - RunningW - DoneW - SuspendedW )
-void GraphExecutor::InNode::ReadyAction() {
- if ( pthread_mutex_lock( &_MutexWait ) ) {
- perror("Ready pthread_mutex_lock ") ;
- exit( 0 ) ;
- }
- cdebug << pthread_self() << "/" << ThreadNo()
- << "ReadyAction pthread_cond_broadcast _ReadyWait "
- << Name() << endl ;
- if ( pthread_cond_broadcast( &_ReadyWait ) ) {
- perror("Ready pthread_cond_broadcast ") ;
- }
- if ( pthread_mutex_unlock( &_MutexWait ) ) {
- perror("Ready pthread_mutex_unlock ") ;
- exit( 0 ) ;
- }
-}
-
-void GraphExecutor::InNode::RunningAction() {
- if ( pthread_mutex_lock( &_MutexWait ) ) {
- perror("Running pthread_mutex_lock ") ;
- exit( 0 ) ;
- }
- cdebug << pthread_self() << "/" << ThreadNo()
- << "RunningAction pthread_cond_broadcast _RunningWait "
- << Name() << endl ;
- if ( pthread_cond_broadcast( &_RunningWait ) ) {
- perror("Running pthread_cond_broadcast ") ;
- }
- if ( pthread_mutex_unlock( &_MutexWait ) ) {
- perror("Running pthread_mutex_unlock ") ;
- exit( 0 ) ;
- }
-}
-
-void GraphExecutor::InNode::DoneAction() {
- if ( pthread_mutex_lock( &_MutexWait ) ) {
- perror("Done pthread_mutex_lock ") ;
- exit( 0 ) ;
- }
- cdebug << pthread_self() << "/" << ThreadNo()
- << "DoneAction pthread_cond_broadcast _DoneWait "
- << Name() << endl ;
- if ( pthread_cond_broadcast( &_DoneWait ) ) {
- perror("Done pthread_cond_broadcast ") ;
- }
- if ( pthread_mutex_unlock( &_MutexWait ) ) {
- perror("Done pthread_mutex_unlock ") ;
- exit( 0 ) ;
- }
-}
-
-void GraphExecutor::InNode::SuspendedAction() {
- if ( pthread_mutex_lock( &_MutexWait ) ) {
- perror("Suspended pthread_mutex_lock ") ;
- exit( 0 ) ;
- }
- cdebug << pthread_self() << "/" << ThreadNo()
- << "SuspendedAction pthread_cond_broadcast _SuspendedWait "
- << Name() << endl ;
- if ( pthread_cond_broadcast( &_SuspendedWait ) ) {
- perror("Suspended pthread_cond_broadcast ") ;
- }
- if ( pthread_mutex_unlock( &_MutexWait ) ) {
- perror("Suspended pthread_mutex_unlock ") ;
- exit( 0 ) ;
- }
-}
-
-// SuspendAction <--> { ResumeAction - ReStartAction }
-GraphExecutor::InNode * GraphExecutor::InNode::SuspendAction() {
- SuspendedAction() ;
- if ( pthread_mutex_lock( &_MutexWait ) ) {
- perror("Suspend pthread_mutex_lock ") ;
- exit( 0 ) ;
- }
- if ( !_SuspendSync ) {
- cdebug << pthread_self() << "/" << ThreadNo() << " pthread_cond " << Name()
- << " SuspendAction pthread_cond_wait _SuspendWait "
- << Automaton()->StateName( State() ) << endl ;
- _SuspendSync = true ;
- _OutNode->SuspendThread() ;
- if ( pthread_cond_wait( &_SuspendWait , &_MutexWait ) ) {
- perror("SuspendAction pthread_cond_wait ") ;
- }
- _OutNode->ResumeThread() ;
- cdebug << pthread_self() << "/" << ThreadNo() << " pthread_cond " << Name()
- << " SuspendAction pthread_cond_waited"
- << Automaton()->StateName( State() ) << endl ;
- }
- else {
- cdebug << pthread_self() << "/" << ThreadNo() << " pthread_cond " << Name()
- << " NO SuspendAction pthread_cond_wait"
- << Automaton()->StateName( State() ) << endl ;
- }
-// SendEvent( _aResumeEvent ) ; ===> Mutex with myself !
- _SuspendSync = false ;
- if ( ControlState() == SUPERV::ToSuspendStartState ||
- ControlState() == SUPERV::ToSuspendState ) {
- ControlState( SUPERV::VoidState ) ;
- }
- if ( pthread_mutex_unlock( &_MutexWait ) ) {
- perror("SuspendAction pthread_mutex_unlock ") ;
- exit( 0 ) ;
- }
-
- SendEvent( _aResumeEvent ) ;
-// if ( ControlState() == SUPERV::ToSuspendStartState ) {
-// ControlState( SUPERV::VoidState ) ;
-// }
-
- if ( pthread_mutex_lock( &_MutexWait ) ) {
- perror("SuspendAction pthread_mutex_lock ") ;
- exit( 0 ) ;
- }
- if ( _ResumeSync ) {
- cdebug << pthread_self() << "/" << ThreadNo() << " pthread_cond " << Name()
- << " SuspendAction pthread_cond_signal _ResumeWait" << endl ;
- if ( pthread_cond_signal( &_ResumeWait ) ) {
- perror("SuspendAction pthread_cond_signal _ResumeWait ") ;
- }
- cdebug << pthread_self() << "/" << ThreadNo() << " pthread_cond " << Name()
- << " SuspendAction pthread_cond_signaled _ResumeWait " << endl ;
- }
- else {
- cdebug << pthread_self() << "/" << ThreadNo() << " pthread_cond " << Name()
- << " NO SuspendAction pthread_cond_signal _ResumeWait" << endl ;
- _ResumeSync = true ;
- }
- if ( pthread_mutex_unlock( &_MutexWait ) ) {
- perror("SuspendAction pthread_mutex_unlock ") ;
- exit( 0 ) ;
- }
- if ( _aReStartNode ) {
- cdebug << Name() << " " << Automaton()->StateName( State() )
- << "aReStartNode : " << _aReStartNode->Name() << " "
- << Automaton()->StateName( _aReStartNode->State() ) << endl ;
- _aReStartNode->SendEvent( _aResumeEvent ) ;
- }
- else {
- cdebug << "NO aReStartNode"
- << Automaton()->StateName( State() ) << endl ;
- }
- return _aReStartNode ;
-}
-
-bool GraphExecutor::InNode::ResumeAction( GraphExecutor::NodeEvent aResumeEvent ) {
- bool RetVal ;
- if ( pthread_mutex_lock( &_MutexWait ) ) {
- perror("ResumeAction pthread_mutex_lock ") ;
- exit( 0 ) ;
- }
- _aResumeEvent = aResumeEvent ;
- if ( _SuspendSync ) {
- cdebug << pthread_self() << "/" << ThreadNo() << " pthread_cond " << Name()
- << " ResumeAction pthread_cond_signal" << endl ;
- if ( pthread_cond_signal( &_SuspendWait ) ) {
- perror("ResumeAction pthread_cond_signal ") ;
- }
- cdebug << pthread_self() << "/" << ThreadNo() << " pthread_cond " << Name()
- << " ResumeAction pthread_cond_signaled _SuspendWait " << endl ;
- RetVal = true ;
- }
- else {
- cdebug << pthread_self() << "/" << ThreadNo() << " pthread_cond " << Name()
- << " NO ResumeAction pthread_cond_signal" << endl ;
- if ( pthread_self() == ThreadNo() ) {
- RetVal = false ; /*/ Ne pas s'attendre soi-meme !...*/
- }
- else {
- _SuspendSync = true ;
- RetVal = true ; // Il faut tout de meme attendre ci-apres ...
- }
- }
- if ( pthread_mutex_unlock( &_MutexWait ) ) {
- perror("ResumeAction pthread_mutex_unlock ") ;
- exit( 0 ) ;
- }
-
- if ( RetVal ) {
- if ( pthread_mutex_lock( &_MutexWait ) ) {
- perror("ResumeAction pthread_mutex_lock ") ;
- exit( 0 ) ;
- }
- if ( !_ResumeSync ) {
- cdebug << pthread_self() << "/" << ThreadNo() << " pthread_cond "
- << Name() << " ResumeAction pthread_cond_wait _ResumeWait "
- << Automaton()->StateName( State() ) << endl ;
- _ResumeSync = true ;
- if ( pthread_cond_wait( &_ResumeWait , &_MutexWait ) ) {
- perror("ResumeAction pthread_cond_wait ") ;
- }
- cdebug << pthread_self() << "/" << ThreadNo() << " pthread_cond "
- << Name() << " ResumeAction pthread_cond_waited _ResumeWait"
- << Automaton()->StateName( State() ) << endl ;
- RetVal = true ;
- }
- else {
- cdebug << pthread_self() << "/" << ThreadNo() << " pthread_cond "
- << Name() << " NO ResumeAction pthread_cond_wait _ResumeWait"
- << Automaton()->StateName( State() ) << endl ;
- RetVal = false ;
- }
- _ResumeSync = false ;
- if ( pthread_mutex_unlock( &_MutexWait ) ) {
- perror("ResumeAction pthread_mutex_unlock ") ;
- exit( 0 ) ;
- }
- }
- cdebug << pthread_self() << "/" << ThreadNo()
- << "GraphExecutor::InNodeThreads::ResumeAction RetVal " << RetVal << endl ;
- return RetVal ;
-}
-
-bool GraphExecutor::InNode::ReStartAction( GraphExecutor::InNode * aReStartNode ,
- GraphExecutor::NodeEvent anEvent ) {
- GraphExecutor::InNode * oldReStartNode = _aReStartNode ;
- _aReStartNode = aReStartNode ;
- _aReStartEvent = anEvent ;
- cdebug << pthread_self() << " GraphExecutor::InNodeThreads::ReStartAction from "
- << Name() << " " << Automaton()->StateName( State() ) << " to "
- << aReStartNode->ThreadNo() << " " << aReStartNode->Name() << " "
- << Automaton()->StateName( aReStartNode->State() ) ;
- if ( oldReStartNode ) {
- cdebug << " oldReStartNode " << oldReStartNode->Name() << endl ;
- }
- else {
- cdebug << endl ;
- }
- return ResumeAction( GraphExecutor::ToReStartEvent ) ;
-}
-
-void GraphExecutor::InNode::KilledAction() {
- if ( pthread_mutex_lock( &_MutexWait ) ) {
- perror("Killed pthread_mutex_lock ") ;
- exit( 0 ) ;
- }
- if ( !_KillSync ) {
- cdebug << "pthread_cond " << Name() << " Killed pthread_cond_wait"
- << endl ;
- _KillSync = true ;
- if ( pthread_cond_wait( &_KillWait , &_MutexWait ) ) {
- perror("Killed pthread_cond_wait ") ;
- }
- cdebug << "pthread_cond " << Name() << " Killed pthread_cond_waited"
- << endl ;
- }
- else {
- cdebug << "pthread_cond " << Name() << " NO Killed pthread_cond_wait"
- << endl ;
- }
- _KillSync = false ;
- if ( pthread_mutex_unlock( &_MutexWait ) ) {
- perror("Killed pthread_mutex_unlock ") ;
- exit( 0 ) ;
- }
-}
-
-void GraphExecutor::InNode::KillAction() {
- if ( pthread_mutex_lock( &_MutexWait ) ) {
- perror("Kill pthread_mutex_lock ") ;
- exit( 0 ) ;
- }
- if ( _KillSync ) {
- cdebug << "pthread_cond " << Name() << " Kill pthread_cond_signal"
- << endl ;
-// if ( pthread_cond_broadcast( &_KillWait ) ) {
- if ( pthread_cond_signal( &_KillWait ) ) {
- perror("Kill pthread_cond_broadcast ") ;
- }
- cdebug << "pthread_cond " << Name() << " Kill pthread_cond_signaled"
- << endl ;
- }
- else {
- cdebug << "pthread_cond " << Name() << " NO Kill pthread_cond_signal"
- << endl ;
- _KillSync = true ;
- }
- if ( pthread_mutex_unlock( &_MutexWait ) ) {
- perror("Kill pthread_mutex_unlock ") ;
- exit( 0 ) ;
- }
-}
-
-void GraphExecutor::InNode::StoppedAction() {
- if ( pthread_mutex_lock( &_MutexWait ) ) {
- perror("Stopped pthread_mutex_lock ") ;
- exit( 0 ) ;
- }
- if ( pthread_cond_wait( &_StopWait , &_MutexWait ) ) {
- perror("Stopped pthread_cond_wait ") ;
- }
- if ( pthread_mutex_unlock( &_MutexWait ) ) {
- perror("Stopped pthread_mutex_unlock ") ;
- exit( 0 ) ;
- }
-}
-
-void GraphExecutor::InNode::StopAction() {
- if ( pthread_mutex_lock( &_MutexWait ) ) {
- perror("Stop pthread_mutex_lock ") ;
- exit( 0 ) ;
- }
- if ( pthread_cond_broadcast( &_StopWait ) ) {
- perror("Stop pthread_cond_broadcast ") ;
- }
- if ( pthread_mutex_unlock( &_MutexWait ) ) {
- perror("Stop pthread_mutex_unlock ") ;
- exit( 0 ) ;
- }
-}
-
-void GraphExecutor::InNode::ThreadStartedAction() {
- if ( pthread_mutex_lock( &_MutexWait ) ) {
- perror("ThreadStarted pthread_mutex_lock ") ;
- exit( 0 ) ;
- }
- if ( !_ThreadStartedSync ) {
- cdebug << "pthread_cond " << Name() << " ThreadStarted pthread_cond_wait"
- << endl ;
- _ThreadStartedSync = true ;
- if ( pthread_cond_wait( &_ThreadStartedWait , &_MutexWait ) ) {
- perror("ThreadStarted pthread_cond_wait ") ;
- }
- cdebug << "pthread_cond " << Name() << " ThreadStarted pthread_cond_waited"
- << endl ;
- }
- else {
- cdebug << "pthread_cond " << Name() << " NO ThreadStarted pthread_cond_wait"
- << endl ;
-//Debug :
- _ThreadStartedSync = false ;
- if ( pthread_cond_signal( &_ThreadStartedWait ) ) {
- perror("ThreadStart pthread_cond_signal ") ;
- }
-//Debug
- cdebug << "pthread_cond " << Name() << " NO ThreadStarted pthread_cond_signaled"
- << endl ;
- }
- if ( pthread_mutex_unlock( &_MutexWait ) ) {
- perror("ThreadStarted pthread_mutex_unlock ") ;
- exit( 0 ) ;
- }
-}
-
-void GraphExecutor::InNode::ThreadStartAction() {
- if ( pthread_mutex_lock( &_MutexWait ) ) {
- perror("ThreadStart pthread_mutex_lock ") ;
- exit( 0 ) ;
- }
- if ( _ThreadStartedSync ) {
- cdebug << "pthread_cond " << Name() << " ThreadStart pthread_cond_signal"
- << endl ;
- _ThreadStartedSync = false ;
- if ( pthread_cond_signal( &_ThreadStartedWait ) ) {
- perror("ThreadStart pthread_cond_broadcast ") ;
- }
- cdebug << "pthread_cond " << Name() << " ThreadStart pthread_cond_signaled"
- << endl ;
- }
- else {
- cdebug << "pthread_cond " << Name() << " NO ThreadStart pthread_cond_signal"
- << endl ;
- _ThreadStartedSync = true ;
-//Debug :
- if ( pthread_cond_wait( &_ThreadStartedWait , &_MutexWait ) ) {
- perror("ThreadStarted pthread_cond_wait ") ;
- }
-//Debug
- cdebug << "pthread_cond " << Name() << " NO ThreadStart pthread_cond_waited"
- << endl ;
- }
- if ( pthread_mutex_unlock( &_MutexWait ) ) {
- perror("ThreadStart pthread_mutex_unlock ") ;
- exit( 0 ) ;
- }
-}
-
-int GraphExecutor::InNode::executeAction() {
- int oldRewindStack = ( _RewindStack > MAXSTACKTHREADSIZE ) ;
- if ( !CreateNewThread() && oldRewindStack ) {
- cdebug << pthread_self() << "/" << ThreadNo()
- << " executeAction start Thread _RewindStack " << _RewindStack << " > "
- << MAXSTACKTHREADSIZE << " CreateNewThread "
- << CreateNewThread() << " " << Automaton()->ActionName( _NextAction ) << "(" << Name() << ")"
- << endl;
- CreateNewThread( true ) ;
- ThreadNo( 0 ) ;
- }
- if ( CreateNewThread() ) {
- CreateNewThread( false ) ;
- if ( ThreadNo() == 0 ) {
- _RewindStack = 1 ;
- cdebug << pthread_self() << "/" << ThreadNo()
- << " executeAction start Thread _RewindStack " << _RewindStack << " "
- << Automaton()->ActionName( _NextAction ) << "(" << Name() << ")"
- << endl;
- pthread_t T;
- int pthread_sts = 1 ;
-// _OutNode->PushEvent( NULL , GraphExecutor::NewThreadEvent ,
-// SUPERV::ExecutingState ) ;
- while ( (pthread_sts = pthread_create(&T, NULL, run_function, this )) ) {
- char * msg = "Cannot pthread_create " ;
- perror( msg ) ;
- cdebug << ThreadNo() << " " << msg << " --> sleep(5)" << endl ;
- cdebug << ThreadNo() << " PTHREAD_THREADS_MAX : "
- << PTHREAD_THREADS_MAX << " pthread_create status : " ;
- if ( pthread_sts == EAGAIN ) {
- cdebug << "EAGAIN(" << pthread_sts << ")" << endl ;
- cdebug << "It seems to me that with gdb we are limited to 256 threads because of defunct" << endl ;
- }
- else {
- cdebug << pthread_sts << endl ;
- }
- string smsg = msg ;
- delete [] msg ;
- pthread_exit( msg ) ;
- }
- cdebug << pthread_self() << "/" << ThreadNo()
- << "executeAction has created thread " << T << endl ;
- ThreadStartedAction() ;
- cdebug << pthread_self() << "/" << ThreadNo()
- << "executeAction the thread " << T << " has called NewThread and will call ExecuteAction for node "
- << Name() << endl ;
- }
- else {
- cdebug << pthread_self() << "/" << ThreadNo()
- << " executeAction restart Thread _RewindStack " << _RewindStack << " "
- << Automaton()->StateName( State() ) << " "
- << Automaton()->ActionName( _NextAction ) << "(" << Name()
- << ") ReStartAction ==>" << endl;
- State( SUPERV::SuspendedSuccessedState ) ;
- if ( !ReStartAction( this , GraphExecutor::ReStartEvent ) ) {
- cdebug << pthread_self() << "/" << ThreadNo()
- << " executeAction STATE & CALLED "
- << Automaton()->ActionName( _NextAction ) << "(" << Name()
- << ") ERROR-DEBUG " << endl;
- }
- else {
- cdebug << pthread_self() << "/" << ThreadNo() << " executeAction NO CALL "
- << Automaton()->ActionName( _NextAction ) << "(" << Name()
- << ")" << endl;
- }
- }
- }
- else {
- if ( _CurrentEvent == ExecuteEvent ) {
- _RewindStack += 1 ;
- }
- cdebug << pthread_self() << "/" << ThreadNo() << " executeAction call "
- << Automaton()->ActionName( _NextAction ) << "(" << Name() << ") _RewindStack " << _RewindStack
- << endl;
- return ExecuteAction() ;
- }
- return 1 ;
-}
-
-void GraphExecutor::InNode::coutbegin() {
- cdebug << ThreadNo() << " " << pthread_self() << " run_function begin"
- << " " << Name() << " " << Automaton()->StateName( State() ) << endl ;
-}
-void GraphExecutor::InNode::coutexit() {
- cdebug << pthread_self() << "/" << ThreadNo() << " run_function pthread_exit _RewindStack " << _RewindStack
- << " " << Name() << " " << Automaton()->StateName( State() ) << endl ;
-}
-void * run_function(void *p) {
- GraphExecutor::InNode *aNode = (GraphExecutor::InNode *) p;
- aNode->coutbegin() ;
- aNode->NewThread( pthread_self() ) ;
- if ( pthread_setcanceltype( PTHREAD_CANCEL_ASYNCHRONOUS , NULL ) ) {
- perror("pthread_setcanceltype ") ;
- exit(0) ;
- }
- if ( pthread_setcancelstate( PTHREAD_CANCEL_ENABLE , NULL ) ) {
- perror("pthread_setcancelstate ") ;
- exit(0) ;
- }
- aNode->ThreadStartAction() ;
- aNode->ExecuteAction() ;
- char * msg = new char[40] ;
- sprintf( msg , "%d" , (int ) aNode->ThreadNo() ) ;
- strcat( msg , " thread exit" ) ;
- aNode->coutexit() ;
- aNode->ExitThread() ;
- string smsg = msg ;
- delete [] msg ;
- pthread_exit( (void * ) smsg.c_str() ) ;
- return msg ;
-}
-
-int GraphExecutor::InNode::ExecuteAction() {
- int sts ;
-
-// const char * nextactionname = Automaton()->ActionName( _NextAction ) ;
-// const char * statename = Automaton()->StateName( State() ) ;
-// const char * nextstatename = Automaton()->StateName( _NextState ) ;
-// cdebug << pthread_self() << "/" << ThreadNo() << " --> ExecuteAction "
-// << nextactionname << " " << statename << " NextState "
-// << nextstatename << endl ;
-
- State( _NextState ) ;
- switch ( _NextAction ) {
- case GraphExecutor::ErrorAction : {
- sts = ErrorAction() ;
- break ;
- }
- case GraphExecutor::VoidAction : {
- sts = VoidAction() ;
- break ;
- }
- case GraphExecutor::DataWaiting_SomeDataReadyAction : {
- sts = DataWaiting_SomeDataReadyAction() ;
- break ;
- }
- case GraphExecutor::DataUndef_NotAllDataReadyAction : {
- sts = DataUndef_NotAllDataReadyAction() ;
- break ;
- }
- case GraphExecutor::DataUndef_AllDataReadyAction : {
- sts = DataUndef_AllDataReadyAction() ;
- break ;
- }
- case GraphExecutor::DataReady_SuspendAction : {
- sts = DataReady_SuspendAction() ;
- break ;
- }
- case GraphExecutor::SuspendedReady_ResumeAction : {
- sts = SuspendedReady_ResumeAction() ;
- break ;
- }
- case GraphExecutor::DataReady_KillAction : {
- sts = DataReady_KillAction() ;
- break ;
- }
- case GraphExecutor::DataReady_StopAction : {
- sts = DataReady_StopAction() ;
- break ;
- }
- case GraphExecutor::DataReady_ExecuteAction : {
- sts = DataReady_ExecuteAction() ;
- break ;
- }
- case GraphExecutor::Executing_SuspendAction : {
- sts = Executing_SuspendAction() ;
- break ;
- }
- case GraphExecutor::SuspendedExecuting_ResumeAction : {
- sts = SuspendedExecuting_ResumeAction() ;
- break ;
- }
- case GraphExecutor::Executing_KillAction : {
- sts = Executing_KillAction() ;
- break ;
- }
- case GraphExecutor::Executing_StopAction : {
- sts = Executing_StopAction() ;
- break ;
- }
- case GraphExecutor::Executing_SuccessAction : {
- sts = Executing_SuccessAction() ;
- break ;
- }
- case GraphExecutor::Executing_ErrorAction : {
- sts = Executing_ErrorAction() ;
- break ;
- }
- case GraphExecutor::Successed_SuccessAction : {
- sts = Successed_SuccessAction() ;
- break ;
- }
- case GraphExecutor::Errored_ErrorAction : {
- sts = Errored_ErrorAction() ;
- break ;
- }
- case GraphExecutor::Successed_SuspendAction : {
- sts = Successed_SuspendAction() ;
- break ;
- }
- case GraphExecutor::Errored_SuspendAction : {
- sts = Errored_SuspendAction() ;
- break ;
- }
- case GraphExecutor::SuspendedSuccessed_ResumeAction : {
- sts = SuspendedSuccessed_ResumeAction() ;
- break ;
- }
- case GraphExecutor::SuspendedErrored_ResumeAction : {
- sts = SuspendedErrored_ResumeAction() ;
- break ;
- }
- case GraphExecutor::Successed_KillAction : {
- sts = Successed_KillAction() ;
- break ;
- }
- case GraphExecutor::Errored_KillAction : {
- sts = Errored_KillAction() ;
- break ;
- }
- case GraphExecutor::Successed_StopAction : {
- sts = Successed_StopAction() ;
- break ;
- }
- case GraphExecutor::Errored_StopAction : {
- sts = Errored_StopAction() ;
- break ;
- }
- case GraphExecutor::SuspendedSuccessed_ReStartAction : {
- sts = SuspendedSuccessed_ReStartAction() ;
- break ;
- }
- case GraphExecutor::SuspendedErrored_ReStartAction : {
- sts = SuspendedErrored_ReStartAction() ;
- break ;
- }
- case GraphExecutor::SuspendedSuccessed_ReStartAndSuspendAction : {
- sts = SuspendedSuccessed_ReStartAndSuspendAction() ;
- break ;
- }
- case GraphExecutor::SuspendedErrored_ReStartAndSuspendAction : {
- sts = SuspendedErrored_ReStartAndSuspendAction() ;
- break ;
- }
- default : {
- cdebug << pthread_self() << "/" << ThreadNo()
- << " GraphExecutor::InNodeThreads::SendEvent Error Undefined Action : "
- << _NextAction << endl ;
- return 0 ;
- }
- }
-// cdebug << pthread_self() << "/" << ThreadNo() << "<-- ExecuteAction "
-// << Automaton()->ActionName( nextaction ) << endl ;
- return sts ;
-}
-
-int GraphExecutor::InNode::ErrorAction() {
- cdebug << pthread_self() << "/" << ThreadNo() << " Automaton ErrorAction Node "
- << Name() << endl;
- return 0;
-}
-
-int GraphExecutor::InNode::VoidAction() {
- cdebug << pthread_self() << "/" << ThreadNo() << " VoidAction " << Name() << endl;
- return 1;
-}
-
-
-int GraphExecutor::InNode::DataWaiting_SomeDataReadyAction() {
- cdebug << pthread_self() << "/" << ThreadNo()
- << " --> DataWaiting_SomeDataReadyAction from " << DataFromNode()
- << " to " << Name() << endl;
- unsigned int k;
- int InReady = 0 ;
- int res = 1;
- bool LoopFinished = false ;
- bool LoopBeginning = false ;
- bool SwitchFinished = false ;
-
- if ( IsEndLoopNode() && !GetChangeNodeInLoop()->GetOutPort()->BoolValue() ) {
- LoopFinished = true ; // End of Loop
- }
- if ( IsLoopNode() && GetChangeNodeInLoop()->GetOutPort()->BoolValue() ) {
- LoopBeginning = true ; // Beginning of Loop
- }
- if ( IsEndSwitchNode() && !GetChangeNodeInGate()->GetOutPort()->BoolValue() ) {
- SwitchFinished = true ; // End of Switch
- }
- cdebug << pthread_self() << "/" << ThreadNo() << " " << Name() << " LoopFinished " << LoopFinished
- << " LoopBeginning " << LoopBeginning << " SwitchFinished " << SwitchFinished << endl ;
- for ( k = 0 ; k < (unsigned int ) GetNodeInPortsSize() ; k++ ) {
- GraphBase::InPort * anInPort = GetChangeNodeInPort(k) ;
- GraphBase::OutPort * anOutPort = anInPort->GetOutPort() ;
- cdebug << pthread_self() << "/" << ThreadNo() << " " << Name() << " InPort " << anInPort->PortName() << endl ;
- if ( anInPort->IsGate() && anOutPort == NULL ) {
- InReady += 1 ;
- anInPort->State( SUPERV::ReadyState ) ;
- cdebug << pthread_self() << "/" << ThreadNo() << " " << Name() << " "
- << anInPort->PortName() << " ControlPort inactive." << endl ;
- }
- else if ( strcmp( DataFromNode() , anOutPort->NodeName() ) ) {
- if ( anInPort->State() == SUPERV::ReadyState ) {
- InReady += 1 ;
- cdebug << pthread_self() << "/" << ThreadNo() << " " << Name() << " "
- << anInPort->PortName() << " Was Done from "
- << anOutPort->NodeName() << " " << anOutPort->PortName()
- << " ReadyState " ;
-#ifdef _DEBUG_
- if ( GraphBase::Base::_prof_debug ) {
- anOutPort->StringValue( *GraphBase::Base::_fdebug ) ;
- }
-#endif
- cdebug << endl ;
- }
- else if ( IsLoopNode() && anInPort->IsDataConnected() ) {
- anInPort->State( SUPERV::ReadyState ) ;
- InReady += 1 ;
- cdebug << pthread_self() << "/" << ThreadNo() << " " << Name() << " "
- << anInPort->PortName() << " Was Done from "
- << anOutPort->NodeName() << " " << anOutPort->PortName()
- << " LoopBeginning " << LoopBeginning ;
-#ifdef _DEBUG_
- if ( GraphBase::Base::_prof_debug ) {
- anOutPort->StringValue( *GraphBase::Base::_fdebug ) ;
- }
-#endif
- cdebug << endl ;
- }
- else if ( LoopFinished ) {
- anInPort->State( SUPERV::ReadyState ) ;
- InReady += 1 ;
- cdebug << pthread_self() << "/" << ThreadNo() << " " << Name() << " "
- << anInPort->PortName() << " Was Done from "
- << anOutPort->NodeName() << " " << anOutPort->PortName()
- << " LoopFinished" ;
-#ifdef _DEBUG_
- if ( GraphBase::Base::_prof_debug ) {
- anOutPort->StringValue( *GraphBase::Base::_fdebug ) ;
- }
-#endif
- cdebug << endl ;
- }
- else if ( anInPort->IsGate() && SwitchFinished ) {
- anInPort->State( SUPERV::ReadyState ) ;
- InReady += 1 ;
- cdebug << pthread_self() << "/" << ThreadNo() << " " << Name() << " "
- << anInPort->PortName() << " Was Done from "
- << anOutPort->NodeName() << " " << anOutPort->PortName()
- << " SwitchFinished" ;
-#ifdef _DEBUG_
- if ( GraphBase::Base::_prof_debug ) {
- anOutPort->StringValue( *GraphBase::Base::_fdebug ) ;
- }
-#endif
- cdebug << endl ;
- }
- else {
- cdebug << pthread_self() << "/" << ThreadNo() << " " << Name() << " "
- << anInPort->PortName() << " Was NOT Done from "
- << anOutPort->NodeName() << " " << anOutPort->PortName() << " "
- << " " << Automaton()->StateName( State() ) << " DataConnected "
- << anInPort->IsDataConnected() << " LoopBeginning "
- << LoopBeginning << endl ;
- }
- }
- else if ( anInPort->IsGate() ) {
- const CORBA::Any * theValue = anOutPort->Value() ;
- long GateOpened ;
- (*theValue) >>= GateOpened ;
- if ( GateOpened != 0 ) {
- InReady += 1 ;
- anInPort->State( SUPERV::ReadyState ) ;
- cdebug << pthread_self() << "/" << ThreadNo() << " " << Name() << " "
- << anInPort->PortName() << " Gate is Opened from "
- << anOutPort->NodeName() << " " << anOutPort->PortName()
- << " " ;
-#ifdef _DEBUG_
- if ( GraphBase::Base::_prof_debug ) {
- anOutPort->StringValue( *GraphBase::Base::_fdebug ) ;
- }
-#endif
- cdebug << endl ;
- }
- else if ( LoopFinished ) {
- anInPort->State( SUPERV::ReadyState ) ;
- cdebug << pthread_self() << "/" << ThreadNo() << " " << Name() << " "
- << anInPort->PortName() << " GATE IS CLOSED from "
- << anOutPort->NodeName() << " " << anOutPort->PortName()
- << " LoopFinished" ;
-#ifdef _DEBUG_
- if ( GraphBase::Base::_prof_debug ) {
- anOutPort->StringValue( *GraphBase::Base::_fdebug ) ;
- }
-#endif
- cdebug << endl ;
- }
- else {
- cdebug << pthread_self() << "/" << ThreadNo() << " " << Name() << " "
- << anInPort->PortName() << " GATE IS CLOSED from "
- << anOutPort->NodeName() << " " << anOutPort->PortName()
- << " " ;
-#ifdef _DEBUG_
- if ( GraphBase::Base::_prof_debug ) {
- anOutPort->StringValue( *GraphBase::Base::_fdebug ) ;
- }
-#endif
- cdebug << endl ;
- }
- }
- else {
- InReady += 1 ;
- anInPort->State( SUPERV::ReadyState ) ;
- cdebug << pthread_self() << "/" << ThreadNo() << " " << Name() << " "
- << anInPort->PortName() << " is Done from "
- << anOutPort->NodeName() << " " << anOutPort->PortName() << " " ;
-#ifdef _DEBUG_
- if ( GraphBase::Base::_prof_debug ) {
- anOutPort->StringValue( *GraphBase::Base::_fdebug ) ;
- }
-#endif
- cdebug << endl ;
- }
- }
-
- if ( InReady == GetNodeInPortsSize() ) { // All Flags != 0 :
- res = SendEvent( GraphExecutor::AllDataReadyEvent ); // ==> Ready to execute
- }
- else { // At least one Flag == 0 :
- res = SendEvent( GraphExecutor::NotAllDataReadyEvent );
- }
-
- cdebug << pthread_self() << "/" << ThreadNo()
- << " <-- DataWaiting_SomeDataReadyAction " << Name() << endl;
- return res ;
-
-}
-
-int GraphExecutor::InNode::DataUndef_NotAllDataReadyAction() {
- CreateNewThreadIf( false ) ;
-// cdebug << pthread_self() << " for " << ThreadNo()
-// << " DataUndef_NotAllDataReadyAction " << Name() << endl;
- return 1;
-}
-
-int GraphExecutor::InNode::DataUndef_AllDataReadyAction() {
-// cdebug << pthread_self() << "/" << ThreadNo()
-// << " --> DataUndef_AllDataReadyAction " << Name()
-// << " CreateNewThreadIf " << CreateNewThreadIf() << " IsLockedDataWait "
-// << IsLockedDataWait() ;
- if ( IsLockedDataWait() ) {
-// cdebug << " WOULD DEAD-LOCK" << endl ;
- return 0 ; // ==> DataUndef_AllDataReadyAction() after UnLockDataWait()
- }
-// cdebug << endl ;
- CreateNewThread( CreateNewThreadIf() ) ;
- if ( !CreateNewThread() ) {
-// cdebug << "Thread " << ThreadNo() << "-->" << pthread_self() << endl ;
- ThreadNo( pthread_self() ) ;
- }
- _OutNode->PushEvent( this , GraphExecutor::AllDataReadyEvent ,
- SUPERV::DataReadyState ) ;
- ReadyAction() ;
- SUPERV::ControlState aControl = ControlState() ;
- switch ( aControl ) {
- case SUPERV::VoidState : {
- SendEvent( GraphExecutor::ExecuteEvent ) ;
- break ;
- }
- case SUPERV::ToSuspendState : {
- SendEvent( GraphExecutor::SuspendEvent ) ;
- break ;
- }
- case SUPERV::ToSuspendStartState : {
- SendEvent( GraphExecutor::SuspendEvent ) ;
- break ;
- }
- case SUPERV::ToSuspendDoneState : {
- SendEvent( GraphExecutor::ExecuteEvent ) ;
- break ;
- }
- case SUPERV::ToKillState : {
- SendEvent( GraphExecutor::KillEvent ) ;
- break ;
- }
- case SUPERV::ToKillDoneState : {
- SendEvent( GraphExecutor::ExecuteEvent ) ;
- break ;
- }
- case SUPERV::ToStopState : {
- SendEvent( GraphExecutor::StopEvent ) ;
- break ;
- }
- default : {
- cdebug << ThreadNo()
- << " GraphExecutor::InNodeThreads::DataUndef_AllDataReadyAction Error Undefined Control : "
- << aControl << endl ;
- return 0;
- }
- }
-// cdebug << pthread_self() << "/" << ThreadNo()
-// << " <-- DataUndef_AllDataReadyAction " << Name() << endl;
- return 1;
-}
-
-int GraphExecutor::InNode::DataReady_SuspendAction() {
- cdebug << pthread_self() << "/" << ThreadNo()
- << "DataReady_SuspendAction --> Suspend " << Name()
- << " Threads " << _OutNode->Threads() << " SuspendedThreads "
- << _OutNode->SuspendedThreads() << endl;
- _OutNode->PushEvent( this , GraphExecutor::SuspendedReadyEvent ,
- SUPERV::SuspendedReadyState ) ;
- GraphExecutor::InNode * aReStartNode = SuspendAction() ;
- cdebug << pthread_self() << "/" << ThreadNo()
- << "DataReady_SuspendAction Resumed " << Name() << endl;
- if ( aReStartNode ) {
- _aReStartNode = NULL ;
- aReStartNode->SendEvent( _aReStartEvent ) ;
- }
- else {
- SendEvent( GraphExecutor::ExecuteEvent ) ;
- }
- return 1 ;
-}
-
-int GraphExecutor::InNode::SuspendedReady_ResumeAction() {
- cdebug << pthread_self() << "/" << ThreadNo() << "SuspendedReady_ResumeAction "
- << Name() << endl;
-// ResumeAction() ;
- _OutNode->PushEvent( this , GraphExecutor::ResumedReadyEvent ,
- SUPERV::ResumedReadyState ) ;
- return 1 ;
-}
-
-int GraphExecutor::InNode::DataReady_KillAction() {
- _OutNode->PushEvent( this , GraphExecutor::KilledReadyEvent ,
- SUPERV::KilledReadyState ) ;
- KillAction() ;
- cdebug << pthread_self() << "/" << ThreadNo() << "DataReady_KillAction " << Name()
- << " will pthread_exit()" << endl;
- return 1 ;
-}
-
-int GraphExecutor::InNode::DataReady_StopAction() {
- _OutNode->PushEvent( this , GraphExecutor::StoppedReadyEvent ,
- SUPERV::StoppedReadyState ) ;
- StopAction() ;
- cdebug << pthread_self() << "/" << ThreadNo() << "DataReady_StopAction " << Name()
- << " will pthread_exit()" << endl;
- return 1 ;
-}
-
-#include <CORBA.h>
-
-int GraphExecutor::InNode::DataReady_ExecuteAction() {
- int i;
-
-// cdebug << pthread_self() << "/" << ThreadNo() << " --> DataReady_ExecuteAction "
-// << Name() << endl;
- _OutNode->PushEvent( this , GraphExecutor::ExecuteEvent ,
- SUPERV::ExecutingState ) ;
-
- RunningAction() ;
- SUPERV::GraphState PortState = SUPERV::ReadyState ;
- SUPERV::AutomatonState NewState = SUPERV::DataUndefState ;
- GraphExecutor::NodeEvent NewEvent = GraphExecutor::UndefinedEvent ;
-
- bool Err = false ;
-
- int nInParams = GetNodeInPortsSize() ;
- ServicesAnyData * InParametersList = new ServicesAnyData[nInParams];
- InParametersSet( Err , nInParams , InParametersList ) ;
-
- Engines::Container_var myContainer ;
- Engines::Component_var myObjComponent ;
- if ( !IsFactoryNode() ) {
-// cdebug << ThreadNo() << "No Component : NO StartComponent & No Ping" << endl ;
- if ( IsComputingNode() ) {
- ObjInterface( true ) ;
- CORBA::Object_ptr obj ;
- InParametersList[0].Value >>= obj ;
- CORBA::Object_var objvar = CORBA::Object_var( obj ) ;
- myObjComponent = Engines::Component::_narrow( objvar ) ;
- }
- else {
- }
- }
- else if ( CORBA::is_nil( Component() ) ) {
- ostringstream astr ;
- astr << "Graph " << _OutNode->Graph()->Name() << " Node " << Name()
- << " : load of component " << ComponentName() << " in container "
- << Computer() ;
-// _OutNode->Graph()->ObjImpl()->sendMessage( NOTIF_STEP, astr.str().c_str() ) ;
- Err = !_OutNode->Graph()->StartComponent( ThreadNo() , Computer() ,
- my_strdup( ComponentName() ) ,
- myContainer , myObjComponent ) ;
- ObjInterface( false ) ;
- SetContainer( myContainer ) ;
- SetComponent( myObjComponent ) ;
- }
- else {
- myContainer = Container() ;
- myObjComponent = Component() ;
-// cdebug << ThreadNo() << "Component known : NO StartComponent & Ping"
-// << endl ;
- try {
- myObjComponent->ping() ;
- }
- catch( ... ) {
- cdebug << "ping() catched" << endl ;
- Err = true ;
- }
- }
-
- int nOutParams = GetNodeOutPortsSize() ;
- ServicesAnyData * OutParametersList = new ServicesAnyData[nOutParams];
- InOutParametersSet( nOutParams , OutParametersList ) ;
-
- if ( Err || ControlState() == SUPERV::ToKillState ||
- ControlState() == SUPERV::ToKillDoneState ||
- ControlState() == SUPERV::ToStopState ) {
- cdebug << ThreadNo() << "StartComponent Error or ToKillState" << endl ;
- Err = true ;
- }
- else {
- if ( !Err ) {
- ostringstream astr ;
- astr << "Graph " << _OutNode->Graph()->Name() << " Run of Node " << Name() ;
-// _OutNode->Graph()->ObjImpl()->sendMessage( NOTIF_STEP, astr.str().c_str() ) ;
- cdebug << ThreadNo() << " Run( '" << ServiceName() << "'" ;
- for ( i = 0 ; i < (int ) ServiceInParameter().length() ; i++ ) {
- cdebug << " , " << InParametersList[ i ].Name << "[kind"
- << InParametersList[ i ].Value.type()->kind() << "]" ;
- }
- for ( i = 0 ; i < (int ) ServiceOutParameter().length() ; i++ ) {
- cdebug << " , " << OutParametersList[ i ].Name << "[kind"
- << OutParametersList[ i ].Value.type()->kind() << "]" ;
- }
- if ( IsOneOfInLineNodes() ) {
- cdebug << " , PyFuncName '" << InLineNode()->PyFuncName() << "' PyRunMethod "
- << InLineNode()->PyRunMethod() << " length " << (*InLineNode()->PythonFunction()).length() ;
- }
- cdebug << ")" << endl ;
-
- if ( IsOneOfInLineNodes() ) {
- bool StsPyDynInvoke = true;
- _OutNode->PyThreadLock() ;
- SetPyCpuUsed() ;
- try {
-// if ( IsInLineNode() && (*InLineNode()->PythonFunction()).length() &&
- bool CopyInOut = false ;
- if ( IsInLineNode() && /*InLineNode()->PyRunMethod() &&*/
- strlen( InLineNode()->PyFuncName() ) ) {
-// cdebug << ThreadNo() << " !ObjInterface " << Name() << " PyFuncName '"
-// << InLineNode()->PyFuncName()
-// << "' IsInLineNode PyDynInvoke" << endl ;
- StsPyDynInvoke = PyDynInvoke( InLineNode()->PyRunMethod() ,
- InLineNode()->PyFuncName() ,
- &InParametersList[0] , ServiceInParameter().length() ,
- &OutParametersList[0] , ServiceOutParameter().length() ) ;
- }
- else if ( IsLoopNode() ) {
- bool CopyOutIn = false ;
- if ( GetNodeInLoop()->GetOutPort()->BoolValue() && /*InLineNode()->PyRunMethod() &&*/
- strlen( InLineNode()->PyFuncName() ) ) { // InLoop Port
-// cdebug << ThreadNo() << " !ObjInterface " << Name()
-// << " IsLoopNode PyDynInvoke '" << InLineNode()->PyFuncName()
-// << "'" << endl ;
- StsPyDynInvoke = PyDynInvoke( InLineNode()->PyRunMethod() ,
- InLineNode()->PyFuncName() ,
- &InParametersList[1] , ServiceInParameter().length() ,
- &OutParametersList[1] , ServiceOutParameter().length() ) ;
- CopyOutIn = true ;
- }
- else if ( LoopNode()->PyNextMethod() &&
- strlen( LoopNode()->PyNextName() ) ){
-// cdebug << ThreadNo() << " !ObjInterface " << Name()
-// << " IsLoopNode PyDynInvoke '" << LoopNode()->PyNextName()
-// << "'" << endl ;
- StsPyDynInvoke = PyDynInvoke( LoopNode()->PyNextMethod() ,
- LoopNode()->PyNextName() ,
- &InParametersList[1] , ServiceInParameter().length() ,
- &OutParametersList[1] , ServiceOutParameter().length() ) ;
- CopyOutIn = true ;
- }
- if ( StsPyDynInvoke && CopyOutIn ) {
-// cdebug << ThreadNo() << " !ObjInterface " << Name()
-// << " IsLoopNode PyDynInvoke '" << LoopNode()->PyMoreName()
-// << "' Copy of " << ServiceInParameter().length()
-// << " OutParameters" << endl ;
- int i ;
- for ( i = 1 ; i <= (int ) ServiceInParameter().length() ; i++ ) {
- InParametersList[i].Value = OutParametersList[i].Value ;
- InParametersList[i].Name = OutParametersList[i].Name ;
-//#if 0
- switch ( InParametersList[i].Value.type()->kind() ) {
- case CORBA::tk_string :
- char * t;
- InParametersList[i].Value >>= t ;
- cdebug << "ArgOut->In" << i << " : "
- << InParametersList[i].Name.c_str()
- << " Value(string) " << t << endl ;
- break ;
- case CORBA::tk_double :
- double d;
- InParametersList[i].Value >>= d;
- cdebug << "ArgOut->In" << i << " : "
- << InParametersList[i].Name.c_str()
- << " Value(double) " << d << endl ;
- break ;
- case CORBA::tk_long :
- long l;
- InParametersList[i].Value >>= l;
- cdebug << "ArgOut->In" << i << " : "
- << InParametersList[i].Name.c_str()
- << " Value(long) " << l << endl ;
- break ;
- case CORBA::tk_objref :
- CORBA::Object_ptr obj ;
- char * retstr ;
- try {
- InParametersList[i].Value >>= obj ;
- retstr = ObjectToString( obj );
- cdebug << "ArgOut->In" << i << " : "
- << InParametersList[i].Name.c_str()
- << " Value(object reference) " << retstr << endl ;
- }
- catch ( ... ) {
- cdebug << "ArgOut->In" << i << " : "
- << InParametersList[i].Name.c_str()
- << " Value(object reference) Catched ERROR" << endl ;
- }
- break ;
- default :
- cdebug << "ArgOut->In" << i << " : "
- << InParametersList[i].Name.c_str()
- << " Value(other) ERROR" << endl ;
- }
-//#endif
- }
- if ( LoopNode()->PyMoreMethod() && strlen( LoopNode()->PyMoreName() ) ) {
- StsPyDynInvoke = PyDynInvoke( LoopNode()->PyMoreMethod() ,
- LoopNode()->PyMoreName() ,
- &InParametersList[1] , ServiceInParameter().length() ,
- &OutParametersList[0] , ServiceOutParameter().length()+1 ) ;
- }
- else {
- CopyInOut = true ;
- }
- }
- else if ( !StsPyDynInvoke ) {
- Err = true ;
- cdebug << ThreadNo() << " InLineNode " << Name() << " "
- << InLineNode()->PyFuncName() << "/" << LoopNode()->PyNextName()
- << " Python Dynamic Call Error"
- << endl ;
- }
- }
- else if ( IsSwitchNode() && /*InLineNode()->PyRunMethod() &&*/
- strlen( InLineNode()->PyFuncName() ) ) {
-// cdebug << ThreadNo() << " !ObjInterface " << Name() << " PyFuncName '"
-// << InLineNode()->PyFuncName()
-// << "' IsSwitchNode PyDynInvoke" << endl ;
- StsPyDynInvoke = PyDynInvoke( InLineNode()->PyRunMethod() ,
- InLineNode()->PyFuncName() ,
- &InParametersList[0] , ServiceInParameter().length() ,
- &OutParametersList[0] , ServiceOutParameter().length() ) ;
- }
-// else if ( IsGOTONode() && (*GOTONode()->PythonFunction()).length() &&
- else if ( IsGOTONode() && /*InLineNode()->PyRunMethod() &&*/
- strlen( InLineNode()->PyFuncName() ) ) {
-// cdebug << ThreadNo() << " !ObjInterface " << Name() << " PyFuncName '"
-// << InLineNode()->PyFuncName()
-// << "' IsGOTONode PyDynInvoke" << endl ;
- StsPyDynInvoke = PyDynInvoke( InLineNode()->PyRunMethod() ,
- InLineNode()->PyFuncName() ,
- &InParametersList[0] , ServiceInParameter().length() ,
- &OutParametersList[0] , ServiceOutParameter().length() ) ;
- }
-// else if ( IsEndSwitchNode() && (*InLineNode()->PythonFunction()).length() &&
- else if ( ( IsEndSwitchNode() ) &&
- InLineNode()->PyRunMethod() && strlen( InLineNode()->PyFuncName() ) ) {
-// cdebug << ThreadNo() << " !ObjInterface " << Name() << " PyFuncName '"
-// << InLineNode()->PyFuncName()
-// << "' IsSwitchNode PyDynInvoke" << endl ;
- StsPyDynInvoke = PyDynInvoke( InLineNode()->PyRunMethod() ,
- InLineNode()->PyFuncName() ,
- &InParametersList[0] , ServiceInParameter().length() ,
- &OutParametersList[0] , ServiceOutParameter().length() ) ;
- }
- else if ( ( IsEndLoopNode() ) &&
- InLineNode()->PyRunMethod() && strlen( InLineNode()->PyFuncName() ) ) {
-// cdebug << ThreadNo() << " !ObjInterface " << Name() << " PyFuncName '"
-// << InLineNode()->PyFuncName()
-// << "' IsSwitchNode PyDynInvoke" << endl ;
- StsPyDynInvoke = PyDynInvoke( InLineNode()->PyRunMethod() ,
- InLineNode()->PyFuncName() ,
- &InParametersList[0] , ServiceInParameter().length() + 1 ,
- &OutParametersList[0] , ServiceOutParameter().length() + 1 ) ;
- }
-// else if ( (*InLineNode()->PythonFunction()).length() == 0 ||
- if ( InLineNode()->PyRunMethod() == NULL ||
- strlen( InLineNode()->PyFuncName() ) == 0 || CopyInOut ) {
-// cdebug << ThreadNo() << " !ObjInterface " << Name()
-// << " Copy of " << ServiceInParameter().length()
-// << " OutParameters" << endl ;
- int i ;
- int argout0 = 0 ;
- int argin0 = 0 ;
- if ( IsLoopNode() || IsEndLoopNode() ) {
- argout0 = 1 ;
- argin0 = 1 ; // after DoLoop
- if ( IsLoopNode() ) {
- OutParametersList[0].Value = InParametersList[0].Value ; // DoLoop
- }
- }
- for ( i = 0 ; i < (int ) ServiceInParameter().length() ; i++ ) {
- OutParametersList[argout0 + i].Value = InParametersList[argin0 + i].Value ;
-//#if 0
- switch ( InParametersList[argin0 + i].Value.type()->kind() ) {
- case CORBA::tk_string :
- cdebug << "ArgOut->In" << argin0 + i << " : "
- << InParametersList[argin0 + i].Name.c_str()
- << " Value(string) "
- << OutParametersList[argout0 + i].Name.c_str() << endl ;
- break ;
- case CORBA::tk_double :
- cdebug << "ArgOut->In" << argin0 + i << " : "
- << InParametersList[argin0 + i].Name.c_str()
- << " Value(double) "
- << OutParametersList[argout0 + i].Name.c_str() << endl ;
- break ;
- case CORBA::tk_long :
- cdebug << "ArgOut->In" << argin0 + i << " : "
- << InParametersList[argin0 + i].Name.c_str()
- << " Value(long) "
- << OutParametersList[argout0 + i ].Name.c_str() << endl ;
- break ;
- case CORBA::tk_objref :
- cdebug << "ArgOut->In" << argin0 + i << " : "
- << InParametersList[argin0 + i].Name.c_str()
- << " Value(object reference) "
- << OutParametersList[argout0 + i].Name.c_str() << endl ;
- break ;
- default :
- cdebug << "ArgOut->In" << argin0 + i << " : "
- << InParametersList[argin0 + i].Name.c_str()
- << " Value(other) ERROR "
- << OutParametersList[argout0 + i].Name.c_str() << endl ;
- }
-//#endif
- }
- }
- if ( !StsPyDynInvoke ) {
- Err = true ;
- cdebug << ThreadNo() << " InLineNode " << Name()
- << " Python Dynamic Call Error"
- << endl ;
- }
- }
- catch( ... ) {
- Err = true ;
- cdebug << ThreadNo() << " InLineNode " << Name()
- << " Python Dynamic Call Exception catched ERROR"
- << endl ;
- }
- CpuUsed( true ) ;
- _OutNode->PyThreadUnLock() ;
- }
- else {
- try {
- try {
- cdebug << "DynInvoke -> Names " << _OutNode->Graph()->Name() << " " << Name() << endl ;
- DynInvoke( myObjComponent, "Names" ,
- _OutNode->Graph()->Name() , Name() ) ;
- }
- catch( ... ) {
- cdebug << "DynInvoke Names catched ERROR" << endl ;
- }
-// for DataStreamNodes : call of SetProperties ===> environment variables in the component/container
- if ( ComputingNode()->HasDataStream() ) {
- try {
- cdebug << "DynInvoke -> SetProperties " << _OutNode->Graph()->Name() << " " << Name() << endl ;
- Engines::FieldsDict_var dict = new Engines::FieldsDict;
- dict->length( 4 );
- dict[ 0 ].key = CORBA::string_dup( "CAL_MACHINE");
- // myContainer->getHostName() ne renvoit pas le nom complet (avec domaine).
- // dict[ 0 ].value <<= myContainer->getHostName() ;
- char FullyQualifiedDomainName[256]="";
- gethostname(FullyQualifiedDomainName,255);
- dict[ 0 ].value <<= FullyQualifiedDomainName ;
- dict[ 1 ].key = CORBA::string_dup( "CAL_REPERTOIRE");
- dict[ 1 ].value <<= "/tmp" ;
- dict[ 2 ].key = CORBA::string_dup( "CAL_COUPLAGE");
- stringstream ofst1 ;
- ofst1 << ComputingNode()->SubStreamGraph() ;
- string cpl = string( "/tmp/" ) + string( _OutNode->Graph()->Name() ) + string( "_" ) +
- ofst1.str() + string( ".cpl" );
- dict[ 2 ].value <<= cpl.c_str() ;
- dict[ 3 ].key = CORBA::string_dup( "SALOME_INSTANCE_NAME");
- string uname = Name();
- UpperCase( uname);
- dict[ 3 ].value <<= uname.c_str() ;
-
- myObjComponent->setProperties( dict ) ;
- }
- catch( ... ) {
- cdebug << "DynInvoke setProperties catched ERROR" << endl ;
- Err = true ;
- }
- }
- if ( !Err && IsComputingNode() ) {
- cdebug << ThreadNo() << " !ObjInterface " << Name()
- << " IsComputingNode DynInvoke" << endl ;
- cdebug << ServiceInParameter().length()-1 << " input parameters and "
- << ServiceOutParameter().length() << " output parameters" << endl ;
- DynInvoke( myObjComponent,
- ServiceName() ,
- &InParametersList[1] , ServiceInParameter().length()-1 ,
- &OutParametersList[0] , ServiceOutParameter().length() ) ;
- }
- else if ( !Err &&IsFactoryNode() ) {
- cdebug << ThreadNo() << " !ObjInterface " << Name()
- << " IsFactoryNode DynInvoke" << endl ;
- cdebug << ServiceInParameter().length() << " input parameters and "
- << ServiceOutParameter().length() << " output parameters" << endl ;
- DynInvoke( myObjComponent,
- ServiceName() ,
- &InParametersList[0] , ServiceInParameter().length() ,
- &OutParametersList[0] , ServiceOutParameter().length() ) ;
- }
-// cdebug << ThreadNo() << " Component::CpuUsed " << Name() << " "
-// << myObjComponent->CpuUsed_impl() << endl ;
- }
- catch( ... ) {
- Err = true ;
- cdebug << ThreadNo() << " !ObjInterface " << Name()
- << " Node(Component) Dynamic Call Exception catched ERROR"
- << endl ;
- }
- }
- }
- }
-// }
-// else {
-// sleep( 1 ) ;
-// }
-
- ostringstream astr ;
- astr << "Graph " << _OutNode->Graph()->Name() << " Node " << Name() << " is done : "
- << Automaton()->StateName( State() ) ;
-// _OutNode->Graph()->ObjImpl()->sendMessage( NOTIF_STEP, astr.str().c_str() ) ;
- if ( Err ) {
- if ( ControlState() == SUPERV::ToKillState ||
- ControlState() == SUPERV::ToKillDoneState ||
- ControlState() == SUPERV::ToStopState ) {
- PortState = SUPERV::ErrorState ;
- NewState = SUPERV::KilledState ;
- NewEvent = GraphExecutor::KillEvent ;
- }
- else {
- PortState = SUPERV::ErrorState ;
- NewState = SUPERV::ErroredState ;
- NewEvent = GraphExecutor::ErrorEvent ;
- }
- }
- else {
- PortState = SUPERV::ReadyState ;
- NewState = SUPERV::DataReadyState ;
- NewEvent = GraphExecutor::SuccessEvent ;
- }
-
- bool ErrOut = OutParametersSet( Err , PortState , nOutParams , OutParametersList ) ;
-
- if ( !ErrOut ) {
- NewEvent = GraphExecutor::ErrorEvent ;
- }
-
- delete [] InParametersList ;
- delete [] OutParametersList ;
-
-
- SendEvent( NewEvent );
-
-// cdebug << ThreadNo() << " <-- DataReady_ExecuteAction " << Name() << endl;
- return 1 ;
-}
-
-int GraphExecutor::InNode::Executing_SuspendAction() {
- _OutNode->PushEvent( this , GraphExecutor::SuspendedExecutingEvent ,
- SUPERV::SuspendedExecutingState ) ;
- cdebug << ThreadNo() << " Executing_SuspendAction " << Name() << endl;
- return 1 ;
-}
-
-int GraphExecutor::InNode::SuspendedExecuting_ResumeAction() {
- cdebug << ThreadNo() << " SuspendedExecuting_ResumeAction " << Name() << endl;
- SUPERV::AutomatonState next_state ;
- next_state = Automaton()->NextState( State() , GraphExecutor::ExecutingEvent ) ;
- _OutNode->NewThread() ; // Only for Threads count
- _OutNode->PushEvent( this , GraphExecutor::ResumedExecutingEvent ,
- next_state ) ;
- State( next_state ) ;
- return 1 ;
-}
-
-int GraphExecutor::InNode::Executing_KillAction() {
- cdebug << ThreadNo() << " Executing_KillAction " << Name() << endl;
- int RetVal = 0 ;
- if ( pthread_self() == ThreadNo() ) {
- cdebug << "Executing_KillAction would pthread_canceled itself" << endl ;
- KillAction() ;
- _OutNode->PushEvent( this , GraphExecutor::KilledExecutingEvent ,
- SUPERV::KilledExecutingState ) ;
- RetVal = 1 ;
- }
- else if ( pthread_cancel( ThreadNo() ) ) {
- perror("Executing_KillAction pthread_cancel error") ;
- }
- else {
- cdebug << "Executing_KillAction : ThreadId " << ThreadNo()
- << " pthread_canceled" << endl ;
- KillAction() ;
- _OutNode->ExitThread() ;
- _OutNode->PushEvent( this , GraphExecutor::KilledExecutingEvent ,
- SUPERV::KilledExecutingState ) ;
- }
- return RetVal ;
-}
-
-int GraphExecutor::InNode::Executing_StopAction() {
- cdebug << ThreadNo() << " Executing_StopAction " << Name() << endl;
- int RetVal = 0 ;
- if ( pthread_cancel( ThreadNo() ) ) {
- perror("Executing_KillAction pthread_cancel error") ;
- }
- else {
- cdebug << "Executing_KillAction : ThreadId " << ThreadNo()
- << " pthread_canceled" << endl ;
- StopAction() ;
- _OutNode->ExitThread() ;
- _OutNode->PushEvent( this , GraphExecutor::StoppedExecutingEvent ,
- SUPERV::StoppedExecutingState ) ;
- }
- return RetVal ;
-}
-
-int GraphExecutor::InNode::Executing_SuccessAction() {
-// cdebug << ThreadNo() << " --> Executing_SuccessAction " << Name() << endl;
- _OutNode->PushEvent( this , GraphExecutor::SuccessedExecutingEvent ,
- SUPERV::SuccessedState ) ;
- SUPERV::ControlState aControl = ControlState() ;
- switch ( aControl ) {
- case SUPERV::VoidState : {
- SendEvent( SuccessEvent ) ;
- break ;
- }
- case SUPERV::ToSuspendState : {
- SendEvent( SuccessEvent ) ;
- break ;
- }
- case SUPERV::ToSuspendDoneState : {
- SendEvent( GraphExecutor::SuspendEvent ) ;
- return 1 ;
- }
- case SUPERV::ToKillState : {
- SendEvent( GraphExecutor::KillEvent ) ;
- return 1 ;
- }
- case SUPERV::ToKillDoneState : {
- SendEvent( GraphExecutor::KillEvent ) ;
- return 1 ;
- }
- case SUPERV::ToStopState : {
- SendEvent( GraphExecutor::StopEvent ) ;
- return 1 ;
- }
- default : {
- cdebug << ThreadNo()
- << " GraphExecutor::InNodeThreads::Executing_SuccessAction Error Undefined Control : "
- << aControl << endl ;
- return 0;
- }
- }
-// cdebug << ThreadNo() << " <-- Executing_SuccessAction " << Name() << endl;
- return 1 ;
-}
-
-int GraphExecutor::InNode::Executing_ErrorAction() {
- cdebug << ThreadNo() << " --> Executing_ErrorAction " << Name() << endl;
- _OutNode->PushEvent( this , GraphExecutor::ErroredExecutingEvent ,
- SUPERV::ErroredState ) ;
-
- SUPERV::ControlState aControl = ControlState() ;
- switch ( aControl ) {
- case SUPERV::VoidState : {
- SendEvent( ErrorEvent ) ;
- break ;
- }
- case SUPERV::ToSuspendState : {
- SendEvent( ErrorEvent ) ;
- break ;
- }
- case SUPERV::ToSuspendDoneState : {
- SendEvent( GraphExecutor::SuspendEvent ) ;
- return 1 ;
- }
- case SUPERV::ToKillState : {
- SendEvent( GraphExecutor::KillEvent ) ;
- return 1 ;
- }
- case SUPERV::ToKillDoneState : {
- SendEvent( GraphExecutor::KillEvent ) ;
- return 1 ;
- }
- case SUPERV::ToStopState : {
- SendEvent( GraphExecutor::StopEvent ) ;
- return 1 ;
- }
- default : {
- cdebug << ThreadNo()
- << " GraphExecutor::InNodeThreads::Executing_ErrorAction Error Undefined Control : "
- << aControl << endl ;
- return 0;
- }
- }
- cdebug << ThreadNo() << " <-- Executing_ErrorAction " << Name() << endl;
- return 1 ;
-}
-
-// Set SUPERV::WaitingState to all InPorts
-void GraphExecutor::InNode::SetWaitingStates(GraphExecutor::InNode * EndNode ) {
- int i ;
- int j ;
- bool docdebug = false ;
- State( SUPERV::DataWaitingState ) ;
- for ( i = 0 ; i < GetNodeInPortsSize() ; i++ ) {
- GraphBase::InPort * anInPort = GetChangeNodeInPort( i ) ;
- if ( anInPort->IsGate() ) { // Loop : Open the doors
- GraphBase::OutPort * anOutPort = anInPort->GetOutPort() ;
- if ( anOutPort ) {
- CORBA::Any * anAny = new CORBA::Any() ;
- *anAny <<= (long ) 1 ;
- anOutPort->Value( anAny ) ;
- anInPort->State( SUPERV::ReadyState ) ;
- }
- }
- else if ( anInPort->State() != SUPERV::WaitingState ) {
- if ( !docdebug ) {
-// cdebug << ThreadNo()
-// << " --> GraphExecutor::InNodeThreads::SetWaitingStates " << Name() << endl;
- docdebug = true ;
- }
- if ( !anInPort->IsDataStream() ) {
- anInPort->State( SUPERV::WaitingState ) ;
- }
- }
- }
- for ( i = 0 ; i < GetNodeOutPortsSize() ; i++ ) {
- GraphBase::OutPort * anOutPort = GetChangeNodeOutPort( i ) ;
- for ( j = 0 ; j < anOutPort->InPortsSize() ; j++ ) {
- if ( !( IsGOTONode() && anOutPort->IsGate() ) &&
- !( IsEndLoopNode() && ( anOutPort->IsGate() ||
- anOutPort->IsLoop() ) ) &&
- !anOutPort->IsDataStream() &&
- !anOutPort->ChangeInPorts( j )->IsDataStream() ) {
-// cdebug << ThreadNo()
-// << " GraphExecutor::InNodeThreads::SetWaitingStates "
-// << Name() << "( " << anOutPort->PortName() << " ) --> InPort "
-// << anOutPort->ChangeInPorts( j )->PortName() << " from Node "
-// << anOutPort->ChangeInPorts( j )->NodeName() << endl;
- GraphExecutor::InNode * aNode = (GraphExecutor::InNode * ) _OutNode->Graph()->GetChangeGraphNode( anOutPort->ChangeInPorts( j )->NodeName() )->GetInNode() ;
- if ( aNode != EndNode ) {
- aNode->SetWaitingStates( EndNode ) ;
- }
- }
- }
- }
-}
-
-int GraphExecutor::InNode::Successed_SuccessAction() {
-// cdebug << ThreadNo() << " --> Successed_SuccessAction " << Name() << endl;
- int res = 1;
- int linkednodesnumber = LinkedNodesSize() ;
- GraphExecutor::InNode *firstzeroNode = NULL ;
- GraphExecutor::InNode *firsttoNode = NULL ;
- GraphExecutor::InNode *toNode ;
- int i ;
- int j ;
- list<GraphExecutor::InNode *> SomeDataNodes ;
-
- DoneAction() ;
-
- if ( IsGOTONode() ||
- ( IsEndLoopNode() && GetNodeInLoop()->GetOutPort()->BoolValue() ) ) {
- cdebug << ThreadNo() << " Successed_SuccessAction " << Name()
- << " SetWaitingStates " << endl ;
- const GraphBase::OutPort * aGateOutPort ;
- if ( IsGOTONode() ) {
- aGateOutPort = GetNodeOutGate() ;
- }
- else {
- aGateOutPort = GetNodeOutLoop() ;
- }
- for ( i = 0 ; i < aGateOutPort->InPortsSize() ; i++ ) {
- const GraphBase::InPort * anInPort = aGateOutPort->InPorts( i ) ;
- GraphExecutor::InNode * aLabelNode = (GraphExecutor::InNode *) _OutNode->Graph()->GetChangeGraphNode( anInPort->NodeName() )->GetInNode() ;
-// cdebug << ThreadNo() << " Successed_SuccessAction " << Name() << " will Loop to HeadNode "
-// << aLabelNode->Name() << " from port " << anInPort->PortName() << endl ;
- aLabelNode->SetWaitingStates( this ) ;
- for ( j = 0 ; j < aLabelNode->GetNodeInPortsSize() ; j++ ) {
- const GraphBase::InPort * anInPort = aLabelNode->GetNodeInPort( j ) ;
- if ( anInPort->GetOutPort() ) {
-// cdebug << aLabelNode->Name() << "(" << anInPort->PortName() << ") value : "
-// << anInPort->GetOutPort()->NodeName() << "(" << anInPort->GetOutPort()->PortName() << ")"
-// << endl ;
- }
- }
- for ( j = 0 ; j < GetNodeOutPortsSize() ; j++ ) {
- GraphBase::OutPort * aBusParamOutPort = GetChangeNodeOutPort( j ) ;
- if ( !aBusParamOutPort->IsGate() ) {
- GraphBase::InPort * aBusParamChangeInPort = NULL ;
- if ( aBusParamOutPort->IsLoop() ) {
- aBusParamChangeInPort = aLabelNode->GetChangeNodeInLoop() ;
- }
- else {
- aBusParamChangeInPort = aLabelNode->GetChangeInPort( aBusParamOutPort->PortName() ) ;
- }
- if ( aBusParamChangeInPort ) {
- aBusParamChangeInPort->ChangeOutPort( aBusParamOutPort ) ;
-// cdebug << ThreadNo() << " Successed_SuccessAction " << Name() << " ChangeOutPort to HeadNode "
-// << aLabelNode->Name() << "(" << aBusParamChangeInPort->PortName() << ") from port "
-// << aBusParamOutPort->PortName() << endl ;
- if ( !aLabelNode->IsLockedDataWait() ) {
- res = aLabelNode->SendSomeDataReady( Name() ) ;
- if ( res ) {
- if ( firsttoNode == NULL &&
- aLabelNode->ThreadNo() == pthread_self() ) {
- firsttoNode = aLabelNode ;
-// cdebug << ThreadNo() << " Successed_SuccessAction firsttoNode "
-// << aLabelNode->Name() << endl ;
- }
- else if ( firstzeroNode == NULL &&
- aLabelNode->ThreadNo() == 0 ) {
- firstzeroNode = aLabelNode ;
- }
- else {
- SomeDataNodes.push_back( aLabelNode ) ;
-// cdebug << ThreadNo() << " Successed_SuccessAction " << Name() << " push "
-// << aLabelNode->Name() << " " << SomeDataNodes.size()
-// << endl ;
- }
- }
- }
- else {
-// cdebug << ThreadNo()
-// << " Successed_SuccessAction Loop to HeadNode "
-// << aLabelNode->Name() << " with datas from " << Name() << "("
-// << aBusParamOutPort->PortName() << ") to port "
-// << aBusParamChangeInPort->PortName() << endl;
- }
- }
- else {
-// cdebug << ThreadNo() << " ERROR in Successed_SuccessAction of " << Name()
-// << " NO port " << aBusParamOutPort->PortName() << " in "
-// << aLabelNode->Name() << endl;
- }
- }
- }
- for ( j = 0 ; j < aLabelNode->GetNodeInPortsSize() ; j++ ) {
- const GraphBase::InPort * anInPort = aLabelNode->GetNodeInPort( j ) ;
- if ( anInPort->GetOutPort() ) {
-// cdebug << aLabelNode->Name() << "(" << anInPort->PortName() << ") value : "
-// << anInPort->GetOutPort()->NodeName() << "(" << anInPort->GetOutPort()->PortName() << ")"
-// << endl ;
- }
- }
- const GraphBase::InPort * aGateInPort = aLabelNode->GetNodeInGate() ;
- if ( aGateInPort ) {
- if ( aGateInPort->GetOutPort() ) {
- aGateInPort->GetOutPort()->Value( aGateOutPort->Value() ) ;
- }
- if ( !aLabelNode->IsLockedDataWait() ) {
- res = aLabelNode->SendSomeDataReady( Name() ) ;
- if ( res ) {
- if ( firsttoNode == NULL &&
- aLabelNode->ThreadNo() == pthread_self() ) {
- firsttoNode = aLabelNode ;
-// cdebug << ThreadNo() << " Successed_SuccessAction firsttoNode "
-// << aLabelNode->Name() << endl ;
- }
- else if ( firstzeroNode == NULL &&
- aLabelNode->ThreadNo() == 0 ) {
- firstzeroNode = aLabelNode ;
- }
- else {
- SomeDataNodes.push_back( aLabelNode ) ;
-// cdebug << ThreadNo() << " Successed_SuccessAction " << Name() << " push "
-// << aLabelNode->Name() << " " << SomeDataNodes.size()
-// << endl ;
- }
- }
- }
- }
- else {
- cdebug << ThreadNo() << " ERROR in Successed_SuccessAction of " << Name()
- << " NO port " << aGateOutPort->PortName() << " in "
- << aLabelNode->Name() << endl;
- }
- }
- }
-
- else {
-// cdebug << ThreadNo() << " Successed_SuccessAction of " << Name()
-// << " with " << LinkedNodesSize() << " linked nodes :" ;
- for ( i = 0 ; i < LinkedNodesSize() ; i++ ) {
- if ( LinkedNodes( i )->IsDataFlowNode() ) {
- linkednodesnumber -= 1 ;
- }
-// cdebug << " " << LinkedNodes( i )->Name() ;
- }
-// cdebug << endl;
- for ( i = 0 ; i < LinkedNodesSize() ; i++ ) {
- bool IgnoreForEndLoop = false ;
- GraphBase::ComputingNode * aComputingNode ;
- aComputingNode = (GraphBase::ComputingNode * ) LinkedNodes( i ) ;
- toNode = (GraphExecutor::InNode *) aComputingNode->GetInNode() ;
-// cdebug << ThreadNo() << " Successed_SuccessAction of " << Name()
-// << " [" << i << "] " << LinkedNodes( i )->Name() << endl ;
- if ( toNode && !toNode->IsDataFlowNode() ) {
- if ( IsComputingNode() && toNode->IsInLineNode() ) {
- GraphBase::InPort * toGateInPort = toNode->GetChangeNodeInGate() ;
- toGateInPort->State( SUPERV::ReadyState ) ;
- GraphBase::OutPort * GateOutPort = toGateInPort->GetOutPort() ;
- if ( GateOutPort ) {
- GateOutPort->PortStatus( DataConnected );
- GateOutPort->State( SUPERV::ReadyState ) ;
- GateOutPort->Done( true ) ;
- }
- }
- }
- if ( toNode && IsLoopNode() ) {
- GraphBase::OutPort * fromLoopOutPort = GetChangeNodeOutLoop() ;
- if ( !fromLoopOutPort->BoolValue() ) { // Ne pas faire la boucle
- if ( strcmp( toNode->Name() , CoupledNode()->Name() ) ) {
- IgnoreForEndLoop = true ;
- }
- else { // toNode is the EndLoopNode
- GraphBase::InPort * toLoopInPort ;
- toLoopInPort = toNode->GetChangeNodeInLoop() ;
- if ( toLoopInPort->State() != SUPERV::ReadyState ) {
- toLoopInPort->State( SUPERV::ReadyState ) ;
- }
- }
- }
- }
- else if ( toNode && IsSwitchNode() ) {
- }
- else if ( toNode && toNode->IsInLineNode() ) {
- int j ;
- for ( j = 0 ; j < toNode->GetNodeInPortsSize() ; j++ ) {
- toNode->GetChangeNodeInPort( j )->InitialOutPort() ;
- }
- }
- if ( toNode && !IgnoreForEndLoop ) {
- if ( toNode && toNode->IsLoopNode() ) {
- GraphBase::InPort * toLoopInPort = toNode->GetChangeNodeInLoop() ;
- toLoopInPort->State( SUPERV::ReadyState ) ;
- GraphBase::OutPort * LoopOutPort = toLoopInPort->GetOutPort() ;
- LoopOutPort->PortStatus( DataConnected );
- LoopOutPort->State( SUPERV::ReadyState ) ;
- LoopOutPort->Done( true ) ;
- CORBA::Any * anAny = new CORBA::Any() ;
- *anAny <<= (long ) 1 ;
- LoopOutPort->Value( anAny ) ;
- int j ;
- for ( j = 0 ; j < toNode->GetNodeInPortsSize() ; j++ ) {
- toNode->GetChangeNodeInPort( j )->InitialOutPort() ;
- }
- }
- res = toNode->SendSomeDataReady( Name() ) ;
- if ( res ) {
- if ( firsttoNode == NULL &&
- toNode->ThreadNo() == pthread_self() ) {
- firsttoNode = toNode ;
-// cdebug << ThreadNo() << " Successed_SuccessAction firsttoNode "
-// << toNode->Name() << endl ;
- }
- else if ( firstzeroNode == NULL &&
- toNode->ThreadNo() == 0 ) {
- firstzeroNode = toNode ;
- }
- else {
- SomeDataNodes.push_back( toNode ) ;
-// cdebug << ThreadNo() << " Successed_SuccessAction " << Name() << " push "
-// << toNode->Name() << " " << SomeDataNodes.size() << endl ;
- }
- }
- }
- }
- }
-
- if ( firsttoNode == NULL && firstzeroNode ) {
- firsttoNode = firstzeroNode ;
-// cdebug << ThreadNo()
-// << " Successed_SuccessAction firsttoNode = firstzeroNode "
-// << endl ;
- }
- else if ( firsttoNode && firstzeroNode ) {
- SomeDataNodes.push_back( firstzeroNode ) ;
-// cdebug << ThreadNo() << " Successed_SuccessAction " << Name() << " push firstzeroNode "
-// << firstzeroNode->Name() << " " << SomeDataNodes.size() << endl ;
- }
-
- while ( SomeDataNodes.size() ) {
- GraphExecutor::InNode *aNode = SomeDataNodes.front() ;
- SomeDataNodes.pop_front() ;
-// cdebug << pthread_self() << "/" << ThreadNo()
-// << " Successed_SuccessAction pop "
-// << SomeDataNodes.size() << " " << aNode->Name() << endl ;
- if ( aNode->State() == SUPERV::DataReadyState ) {
- aNode->CreateNewThreadIf( true ) ;
- aNode->UnLockDataWait() ;
- res = aNode->DataUndef_AllDataReadyAction() ;
- }
- else {
-// cdebug << pthread_self() << "/" << ThreadNo() << " ERROR "
-// << aNode->Name() << " "
-// << Automaton()->StateName( aNode->State() ) << endl ;
- }
- }
-
- if ( firsttoNode ) {
-// cdebug << pthread_self() << "/" << ThreadNo()
-// << " Successed_SuccessAction start firsttoNode "
-// << SomeDataNodes.size() << " " << firsttoNode->Name() << endl ;
- firsttoNode->CreateNewThreadIf( false ) ;
- firsttoNode->RewindStack( RewindStack() ) ;
- if ( firsttoNode->State() == SUPERV::SuccessedState ) {
-// cdebug << pthread_self() << "/" << ThreadNo() << " " << Name()
-// << " : " << firsttoNode->Name() << " "
-// << Automaton()->StateName( firsttoNode->State() )
-// << " --> DataWaitingState for Thread "
-// << firsttoNode->ThreadNo() << endl ;
- firsttoNode->State( SUPERV::DataWaitingState ) ;
- }
-// pthread_t OldT = firsttoNode->ThreadNo() ;
- firsttoNode->ThreadNo( pthread_self() ) ;
-// On continue avec le meme thread
-// cdebug << pthread_self() << "/" << ThreadNo() << " firsttoNode "
-// << firsttoNode->Name() << "Thread(" << OldT << "-->"
-// << firsttoNode->ThreadNo() << ")" << endl ;
- ThreadNo( 0 ) ;
-// cdebug << ThreadNo() << " Successed_SuccessAction " << Name()
-// << " for " << firsttoNode->Name()
-// << " !firsttoNode->CreateNewThreadIf() "
-// << !firsttoNode->CreateNewThreadIf()
-// << " " << Automaton()->StateName( firsttoNode->State() ) ;
- if ( firsttoNode->State() == SUPERV::DataReadyState ) {
- cdebug << endl ;
- firsttoNode->UnLockDataWait() ;
- res = firsttoNode->DataUndef_AllDataReadyAction() ;
- }
- else {
- cdebug << " ERROR " << endl ;
- }
- }
- else {
-// cdebug << ThreadNo() << " Successed_SuccessAction " << Name()
-// << " NO DataReady ==> ThreadNo( 0 ) firsttoNode == NULL LINKEDnodesnumber " << linkednodesnumber << endl ;
- ThreadNo( 0 ) ;
- }
-
-// if ( linkednodesnumber == 0 && firsttoNode == NULL ) {
-// cdebug << ThreadNo() << " Successed_SuccessAction " << Name() << " LinkedNodesSize " << LinkedNodesSize()
-// << " firsttoNode == NULL LINKEDnodesnumber " << linkednodesnumber << " CHECK" << endl ;
-// _OutNode->CheckAllDone() ;
-// }
-
-// cdebug << pthread_self() << "/" << ThreadNo()
-// << " <-- Successed_SuccessAction " << Name() << " linkednodesnumber "
-// << linkednodesnumber << endl;
- return 1 ;
-}
-
-bool GraphExecutor::InNode::SendSomeDataReady( char * FromNodeName ) {
- bool RetVal = false ;
- if ( IsDataFlowNode() ) {
-// cdebug << ThreadNo() << " ----> " << Name()
-// << " send Result to graph " << Name() << endl;
- }
- else {
-// cdebug << pthread_self() << "/" << ThreadNo() << " ----> " << FromNodeName
-// << " send SomeDataReady to " << Name() << " "
-// << Automaton()->StateName( State() )
-// << " CreateNewThreadIf() " << CreateNewThreadIf()
-// << " LockedDataWait " << IsLockedDataWait() << endl;
-#if 0
- cout << pthread_self() << "/" << ThreadNo() << " ----> " << FromNodeName
- << " send SomeDataReady to " << Name() << " "
- << Automaton()->StateName( State() )
- << " CreateNewThreadIf() " << CreateNewThreadIf()
- << " LockedDataWait " << IsLockedDataWait() << endl;
-#endif
- if ( State() == SUPERV::SuccessedState ||
- State() == SUPERV::SuspendedSuccessedState ||
- State() == SUPERV::SuspendedSuccessedToReStartState ) {
-// cdebug << ThreadNo() << " " << FromNodeName
-// << " : " << Name() << " " << Automaton()->StateName( State() )
-// << " --> DataWaitingState for Thread "
-// << ThreadNo() << " " << endl ;
- State( SUPERV::DataWaitingState ) ;
- }
- LockDataWait() ;
- DataFromNode( FromNodeName ) ;
- RetVal = !SendEvent( GraphExecutor::SomeDataReadyEvent );
- if ( !RetVal ) {
- UnLockDataWait() ;
- }
- }
- return RetVal ;
-}
-
-int GraphExecutor::InNode::Errored_ErrorAction() {
- cdebug << ThreadNo() << " Errored_ErrorAction " << Name()
- << " will pthread_exit" << endl;
- DoneAction() ;
- return 1 ;
-}
-
-int GraphExecutor::InNode::Successed_SuspendAction() {
- cdebug << ThreadNo() << " Successed_SuspendAction -->Suspend " << Name()
- << " Threads " << _OutNode->Threads() << " SuspendedThreads "
- << _OutNode->SuspendedThreads() << endl;
- _OutNode->PushEvent( this , GraphExecutor::SuspendedSuccessedEvent ,
- SUPERV::SuspendedSuccessedState ) ;
- DoneAction() ;
- GraphExecutor::InNode * aReStartNode = SuspendAction() ;
- cdebug << ThreadNo() << " Successed_SuspendAction Resumed " << Name() ;
- if ( aReStartNode ) {
- _aReStartNode = NULL ;
- cdebug << " for " << aReStartNode->Name() << endl;
- aReStartNode->SendEvent( _aReStartEvent ) ;
- }
- else {
- cdebug << endl;
- SendEvent( GraphExecutor::ResumeEvent ) ;
- }
- return 1 ;
-}
-
-int GraphExecutor::InNode::Errored_SuspendAction() {
- cdebug << ThreadNo() << " Errored_SuspendAction -->Suspend " << Name()
- << " Threads " << _OutNode->Threads() << " SuspendedThreads "
- << _OutNode->SuspendedThreads() << endl;
- _OutNode->PushEvent( this , GraphExecutor::SuspendedErroredEvent ,
- SUPERV::SuspendedErroredState ) ;
- DoneAction() ;
- GraphExecutor::InNode * aReStartNode = SuspendAction() ;
- cdebug << ThreadNo() << " Errored_SuspendAction Resumed " << Name()
- << endl;
- if ( aReStartNode ) {
- _aReStartNode = NULL ;
- aReStartNode->SendEvent( _aReStartEvent ) ;
- }
- else {
- SendEvent( GraphExecutor::ResumeEvent ) ;
- }
- return 1 ;
-}
-
-int GraphExecutor::InNode::SuspendedSuccessed_ResumeAction() {
- cdebug << ThreadNo() << " SuspendedSuccessed_ResumeAction " << Name() << endl;
-// ResumeAction() ;
- _OutNode->PushEvent( this , GraphExecutor::ResumedSuccessedEvent ,
- SUPERV::ResumedSuccessedState ) ;
- SendEvent( ResumedSuccessedEvent ) ;
- return 1 ;
-}
-
-int GraphExecutor::InNode::SuspendedErrored_ResumeAction() {
- cdebug << ThreadNo() << " SuspendedErrored_ResumeAction " << Name() << endl;
-// ResumeAction() ;
- _OutNode->PushEvent( this , GraphExecutor::ResumedErroredEvent ,
- SUPERV::ResumedErroredState ) ;
- SendEvent( ResumedErroredEvent ) ;
- return 1 ;
-}
-
-int GraphExecutor::InNode::Successed_KillAction() {
- KillAction() ;
- _OutNode->PushEvent( this , GraphExecutor::KilledEvent ,
- SUPERV::KilledSuccessedState ) ;
- cdebug << ThreadNo() << " Successed_KillAction " << Name() << endl;
- return 1 ;
-}
-
-int GraphExecutor::InNode::Errored_KillAction() {
- KillAction() ;
- _OutNode->PushEvent( this , GraphExecutor::KilledEvent ,
- SUPERV::KilledErroredState ) ;
- cdebug << ThreadNo() << " Errored_KillAction " << Name() << endl;
- return 1 ;
-}
-
-int GraphExecutor::InNode::Successed_StopAction() {
- StopAction() ;
- _OutNode->PushEvent( this , GraphExecutor::StoppedEvent ,
- SUPERV::StoppedSuccessedState ) ;
- cdebug << ThreadNo() << " Successed_StopAction " << Name() << endl;
- return 1 ;
-}
-
-int GraphExecutor::InNode::Errored_StopAction() {
- StopAction() ;
- _OutNode->PushEvent( this , GraphExecutor::StoppedEvent ,
- SUPERV::StoppedErroredState ) ;
- cdebug << ThreadNo() << " Errored_StopAction " << Name() << endl;
- return 1 ;
-}
-
-int GraphExecutor::InNode::SuspendedSuccessed_ReStartAction() {
- cdebug << ThreadNo() << " SuspendedSuccessed_ReStartAction " << Name() << endl;
- _OutNode->PushEvent( this , GraphExecutor::ReStartedEvent ,
- SUPERV::ReStartedState ) ;
- int i ;
- for ( i = 0 ; i < GetNodeInPortsSize() ; i++ ) {
- GetChangeNodeInPort( i )->State( SUPERV::ReadyState ) ;
- }
- SendEvent( ExecuteEvent ) ;
- cdebug << ThreadNo() << " SuspendedSuccessed_ReStartAction " << Name() << endl;
- return 1 ;
-}
-
-int GraphExecutor::InNode::SuspendedErrored_ReStartAction() {
- cdebug << ThreadNo() << " SuspendedErrored_ReStartAction " << Name() << endl;
- _OutNode->PushEvent( this , GraphExecutor::ReStartedEvent ,
- SUPERV::ReStartedState ) ;
- int i ;
- for ( i = 0 ; i < GetNodeInPortsSize() ; i++ ) {
- GetChangeNodeInPort( i )->State( SUPERV::ReadyState ) ;
- }
- SendEvent( ExecuteEvent ) ;
- cdebug << ThreadNo() << " SuspendedErrored_ReStartAction " << Name() << endl;
- return 1 ;
-}
-
-int GraphExecutor::InNode::SuspendedSuccessed_ReStartAndSuspendAction() {
- cdebug << ThreadNo() << " SuspendedSuccessed_ReStartAndSuspendAction " << Name()
- << endl;
- _OutNode->PushEvent( this , GraphExecutor::ReStartedAndSuspendEvent ,
- SUPERV::ReStartedState ) ;
- State( SUPERV::DataWaitingState ) ;
- if ( !Suspend() ) {
- cdebug << "InNode::Suspend() Node " << Name() << endl ;
- return false ;
- }
- else if ( SendEvent( GraphExecutor::SomeDataReadyEvent ) ) {
- cdebug << "InNode::SendEvent( SomeDataReadyEvent ) Node "
- << Name() << endl ;
- return false ;
- }
- cdebug << ThreadNo() << " SuspendedSuccessed_ReStartAndSuspendAction " << Name()
- << endl;
- return 1 ;
-}
-
-int GraphExecutor::InNode::SuspendedErrored_ReStartAndSuspendAction() {
- cdebug << ThreadNo() << " SuspendedErrored_ReStartAndSuspendAction " << Name()
- << endl;
- _OutNode->PushEvent( this , GraphExecutor::ReStartedAndSuspendEvent ,
- SUPERV::ReStartedState ) ;
- State( SUPERV::DataWaitingState ) ;
- if ( !Suspend() ) {
- cdebug << "InNode::Suspend() Node " << Name() << endl ;
- return false ;
- }
- else if ( SendEvent( GraphExecutor::SomeDataReadyEvent ) ) {
- cdebug << "InNode::SendEvent( SomeDataReadyEvent ) Node "
- << Name() << endl ;
- return false ;
- }
- cdebug << ThreadNo() << " SuspendedErrored_ReStartAndSuspendAction " << Name()
- << endl;
- return 1 ;
-}
-
-void GraphExecutor::InNode::InParametersSet( bool & Err ,
- int nInParams ,
- ServicesAnyData * InParametersList ) {
- int i ;
- for ( i = 0 ; i < nInParams ; i++ ) {
- ServicesAnyData D = InParametersList[i];
- GraphBase::InPort * anInPort = GetChangeNodeInPort(i) ;
- GraphBase::OutPort * theOutPort = anInPort->GetOutPort() ;
- if ( anInPort->IsGate() && theOutPort == NULL ) {
- cdebug << ThreadNo() << " ArgIn" << i << " " << D.Name << " "
- << anInPort->GetServicesParameter().Parametertype
- << " is inactive. " << anInPort->Kind() << endl ;
- }
- else if ( anInPort->State() == SUPERV::ReadyState ) {
- if ( anInPort->IsGate() ) {
- CORBA::Any * anAny = new CORBA::Any() ;
- *anAny <<= (long ) 0 ;
- theOutPort->Value( anAny ) ;
- }
- if ( !anInPort->IsDataStream() ) {
- anInPort->State( SUPERV::WaitingState ) ;
- }
- D.Name = CORBA::string_dup( anInPort->GetServicesParameter().Parametername ) ;
- cdebug << ThreadNo() << " ArgIn" << i << " " << anInPort->Kind() ;
- cdebug << " " << D.Name << " " << anInPort->GetServicesParameter().Parametertype << " : " ;
- D.Value = *theOutPort->Value() ; // CORBA::Any
- string _Type = CORBA::string_dup( anInPort->GetServicesParameter().Parametertype ) ;
- const char * Type = _Type.c_str() ;
- switch ( D.Value.type()->kind() ) { // { string , long , double , objref }
- case CORBA::tk_string:
- char * t;
- D.Value >>= t;
- cdebug << t << " (string)" ;
- if ( !strcmp( Type , "string" ) ) {
- }
- else if ( !strcmp( Type , "boolean" ) ) {
- bool b ;
- long d ;
- sscanf( t , "%ld" , &d ) ;
- b = (bool ) d ;
- D.Value <<= (CORBA::Any::from_boolean ) b ;
-// theOutPort->Value( D.Value ) ;
- }
- else if ( !strcmp( Type , "char" ) ) {
- unsigned char c ;
- long d ;
- sscanf( t , "%ld" , &d ) ;
- c = (short ) d ;
- D.Value <<= (CORBA::Any::from_char ) c ;
- cdebug << "string '" << t << "' --> " << d << " --> char " << c ;
-// theOutPort->Value( D.Value ) ;
- }
- else if ( !strcmp( Type , "short" ) ) {
- short s ;
- long d ;
- sscanf( t , "%ld" , &d ) ;
- s = (short ) d ;
- D.Value <<= s ;
- cdebug << "string '" << t << "' --> " << d << " --> short " << s ;
-// theOutPort->Value( D.Value ) ;
- }
- else if ( !strcmp( Type , "int" ) || !strcmp( Type , "long" ) ) {
- long l ;
- sscanf( t , "%ld" , &l ) ;
- D.Value <<= l ;
- cdebug << "string '" << t << " --> long " << l ;
-// theOutPort->Value( D.Value ) ;
- }
- else if ( !strcmp( Type , "float" ) ) {
- double d ;
- sscanf( t , "%lf" , &d ) ;
- float f = d ;
- D.Value <<= f ;
- cdebug << "string '" << t << "' --> " << setw(25) << setprecision(18) << d << " --> float " << " = "
- << setw(25) << setprecision(18) << f ;
-// theOutPort->Value( D.Value ) ;
- }
- else if ( !strcmp( Type , "double" ) ) {
- double d ;
- sscanf( t , "%lf" , &d ) ;
- D.Value <<= d ;
- cdebug << "string '" << t << " --> double " << setw(25) << setprecision(18) << d ;
-// theOutPort->Value( D.Value ) ;
- }
-// else if ( !strcmp( Type , "objref" ) ) {
- else { // Default
- CORBA::Object_ptr ObjRef ;
- try {
- ObjRef = StringToObject( t ) ;
- D.Value <<= ObjRef ;
- }
- catch( ... ) {
- D.Value <<= CORBA::Object::_nil() ;
- }
-// theOutPort->Value( D.Value ) ;
- }
-// else {
-// cdebug << " (other ERROR)" << endl ;
-// }
- cdebug << " --> call_kind " << D.Value.type()->kind() << endl ;
- break;
- case CORBA::tk_long:
- long l;
- D.Value >>= l;
- cdebug << l << " (long)" << endl ;
- if ( !strcmp( Type , "string" ) ) {
- char t[40] ;
- sprintf( t , "%ld" , l ) ;
- D.Value <<= t ;
-// theOutPort->Value( D.Value ) ;
- }
- else if ( !strcmp( Type , "boolean" ) ) {
- bool b ;
- b = (bool ) l ;
- D.Value <<= (CORBA::Any::from_boolean ) b ;
-// theOutPort->Value( D.Value ) ;
- }
- else if ( !strcmp( Type , "char" ) ) {
- unsigned char c ;
- c = (unsigned char ) l ;
- D.Value <<= (CORBA::Any::from_char ) c ;
-// theOutPort->Value( D.Value ) ;
- }
- else if ( !strcmp( Type , "short" ) ) {
- short s ;
- s = (short ) l ;
- D.Value <<= s ;
-// theOutPort->Value( D.Value ) ;
- }
- else if ( !strcmp( Type , "int" ) || !strcmp( Type , "long" ) ) {
- }
- else if ( !strcmp( Type , "float" ) ) {
- float f ;
- f = (float ) l ;
- D.Value <<= f ;
-// theOutPort->Value( D.Value ) ;
- }
- else if ( !strcmp( Type , "double" ) ) {
- double d ;
- d = (double ) l ;
- D.Value <<= d ;
-// theOutPort->Value( D.Value ) ;
- }
-// else if ( !strcmp( Type , "objref" ) ) {
- else { // Default
- D.Value <<= CORBA::Object::_nil() ;
-// theOutPort->Value( D.Value ) ;
- }
-// else {
-// cdebug << " (other ERROR)" << endl ;
-// }
- cdebug << " --> call_kind " << D.Value.type()->kind() << endl ;
- break;
- case CORBA::tk_double:
- double d;
- D.Value >>= d;
- cdebug << d << " (double)" << endl ;
- if ( !strcmp( Type , "string" ) ) {
- char t[40] ;
- sprintf( t , "%lf" , d ) ;
- D.Value <<= t ;
-// theOutPort->Value( D.Value ) ;
- }
- else if ( !strcmp( Type , "boolean" ) ) {
- bool b ;
- b = (bool ) d ;
- D.Value <<= (CORBA::Any::from_boolean ) b ;
-// theOutPort->Value( D.Value ) ;
- }
- else if ( !strcmp( Type , "char" ) ) {
- unsigned char c ;
- c = (unsigned char ) d ;
- D.Value <<= (CORBA::Any::from_char ) c ;
-// theOutPort->Value( D.Value ) ;
- }
- else if ( !strcmp( Type , "short" ) ) {
- short s ;
- s = (short ) d ;
- D.Value <<= s ;
-// theOutPort->Value( D.Value ) ;
- }
- else if ( !strcmp( Type , "int" ) || !strcmp( Type , "long" ) ) {
- long l ;
- l = (long ) d ;
- D.Value <<= l ;
-// theOutPort->Value( D.Value ) ;
- }
- else if ( !strcmp( Type , "float" ) ) {
- float f ;
- f = (float ) d ;
- D.Value <<= f ;
-// theOutPort->Value( D.Value ) ;
- }
- else if ( !strcmp( Type , "double" ) ) {
- }
-// else if ( !strcmp( Type , "objref" ) ) {
- else { // Default
- D.Value <<= CORBA::Object::_nil() ;
-// theOutPort->Value( D.Value ) ;
- }
-// else {
-// cdebug << " (other ERROR)" << endl ;
-// }
- cdebug << " --> call_kind " << D.Value.type()->kind() << endl ;
- break;
- case CORBA::tk_objref:
- if ( !strcmp( Type , "string" ) ) {
- CORBA::Object_ptr ObjRef ;
- char * retstr ;
- try {
- D.Value >>= ObjRef ;
- retstr = ObjectToString( ObjRef ) ;
- D.Value <<= retstr ;
-// theOutPort->Value( D.Value ) ;
- }
- catch( ... ) {
- if ( i != 0 ) {
- Err = true ;
- }
- cdebug << "ToString( object ) Catched ERROR" << endl ;
- }
- }
- else if ( !strcmp( Type , "boolean" ) ) {
- bool b = 0 ;
- D.Value <<= (CORBA::Any::from_boolean ) b ;
-// theOutPort->Value( D.Value ) ;
- }
- else if ( !strcmp( Type , "char" ) ) {
- unsigned char c = 0 ;
- D.Value <<= (CORBA::Any::from_char ) c ;
-// theOutPort->Value( D.Value ) ;
- }
- else if ( !strcmp( Type , "short" ) ) {
- short s = 0 ;
- D.Value <<= s ;
-// theOutPort->Value( D.Value ) ;
- }
- else if ( !strcmp( Type , "int" ) || !strcmp( Type , "long" ) ) {
- long l = 0 ;
- D.Value <<= l ;
-// theOutPort->Value( D.Value ) ;
- }
- else if ( !strcmp( Type , "float" ) ) {
- float f = 0 ;
- D.Value <<= f ;
-// theOutPort->Value( D.Value ) ;
- }
- else if ( !strcmp( Type , "double" ) ) {
- double d = 0 ;
- D.Value <<= d ;
-// theOutPort->Value( D.Value ) ;
- }
-// else if ( !strcmp( Type , "objref" ) ) {
- else { // Default
- CORBA::Object_ptr obj ;
- char * retstr ;
- try {
- D.Value >>= obj ;
- retstr = ObjectToString( obj ) ;
- cdebug << retstr << endl ;
- }
- catch( ... ) {
- if ( i != 0 ) {
- Err = true ;
- }
- cdebug << "ToString( object ) Catched ERROR" << endl ;
- }
- }
-// else {
-// cdebug << " (other ERROR)" << endl ;
-// }
- cdebug << " --> call_kind " << D.Value.type()->kind() << endl ;
- break;
- default:
- cdebug << " (other ERROR) " << D.Value.type()->kind() << endl ;
- }
- }
- else {
- cdebug << ThreadNo() << " In" << i << " : wrong state ERROR State "
- << anInPort->State() << " NameState "
- << Automaton()->StateName( anInPort->State() ) << " PortName "
- << anInPort->PortName() << " Parametername "
- << anInPort->GetServicesParameter().Parametername << endl ;
- Err = true ;
- }
- InParametersList[i] = D ;
- }
-}
-
-void GraphExecutor::InNode::InOutParametersSet( int nOutParams ,
- ServicesAnyData * OutParametersList ) {
- int i ;
- for ( i = 0 ; i < nOutParams ; i++ ) {
- ServicesAnyData D = OutParametersList[i] ;
-
- D.Name = GetChangeNodeOutPort(i)->GetServicesParameter().Parametername;
- string _Type = CORBA::string_dup(GetChangeNodeOutPort(i)->GetServicesParameter().Parametertype) ;
- const char * Type = _Type.c_str() ;
- bool OutDone = GetChangeNodeOutPort(i)->Done() ;
- cdebug << ThreadNo() << " ArgOut" << i << " " << D.Name << " Done("
- << OutDone << ") " << Type << " : " << endl ;
- if ( !strcmp( Type , "string" ) ) {
- D.Value <<= (char *) NULL ;
- }
- else if ( !strcmp( Type , "boolean" ) ) {
- bool b = 0 ;
- D.Value <<= (CORBA::Any::from_boolean ) b ;
- }
- else if ( !strcmp( Type , "char" ) ) {
- unsigned char c = 0 ;
- D.Value <<= (CORBA::Any::from_char ) c ;
- }
- else if ( !strcmp( Type , "short" ) ) {
- short s = 0 ;
- D.Value <<= s ;
- }
- else if ( !strcmp( Type , "int" ) || !strcmp( Type , "long" ) ) {
- D.Value <<= (long ) 0 ;
- }
- else if ( !strcmp( Type , "float" ) ) {
- float f = 0 ;
- D.Value <<= f ;
- }
- else if ( !strcmp( Type , "double" ) ) {
- double d = 0 ;
- D.Value <<= d ;
- }
- else {
- D.Value <<= CORBA::Object::_nil() ;
- }
-//#if 0
- switch (D.Value.type()->kind()) { // { string , long , double , objref }
- case CORBA::tk_string:
- char * t;
- D.Value >>= t;
- cdebug << ThreadNo() << " " << t << "(string)" << endl ;
- break;
- case CORBA::tk_boolean:
- bool b ;
- D.Value >>= (CORBA::Any::to_boolean ) b;
- cdebug << ThreadNo() << " " << b << "(boolean)" << endl ;
- break;
- case CORBA::tk_char:
- unsigned char c ;
- D.Value >>= (CORBA::Any::to_char ) c;
- cdebug << ThreadNo() << " " << c << "(char)" << endl ;
- break;
- case CORBA::tk_short:
- short s;
- D.Value >>= s;
- cdebug << ThreadNo() << " " << s << "(short)" << endl ;
- break;
- case CORBA::tk_long:
- long l;
- D.Value >>= l;
- cdebug << ThreadNo() << " " << l << "(long)" << endl ;
- break;
- case CORBA::tk_float:
- float f;
- D.Value >>= f;
- cdebug << ThreadNo() << " " << f << "(float)" << endl ;
- break;
- case CORBA::tk_double:
- double d;
- D.Value >>= d;
- cdebug << ThreadNo() << " " << d << "(double)" << endl ;
- break;
- case CORBA::tk_objref:
- try {
- CORBA::Object_ptr obj ;
- char * retstr ;
- D.Value >>= obj ;
- retstr = ObjectToString( obj ) ;
- cdebug << ThreadNo() << retstr << endl ;
- }
- catch( ... ) {
- cdebug << "ToString( object ) Catched ERROR" << endl ;
- }
- break;
- default:
- cdebug << ThreadNo() << " " << "(other ERROR)" << endl ;
- }
-//#endif
- OutParametersList[i] = D ;
- }
-}
-
-bool GraphExecutor::InNode::OutParametersSet( bool Err ,
- SUPERV::GraphState NewState ,
- int nOutParams ,
- ServicesAnyData * OutParametersList ) {
- bool RetVal = true ;
- int i ;
- GraphBase::OutPort * aGateOutPort = NULL ;
- bool OrSwitch = false ;
- if ( nOutParams ) {
- GraphBase::OutPort * anOutPort ;
- for ( i = 0 ; i < nOutParams ; i++ ) {
- anOutPort = GetChangeNodeOutPort(i) ;
- if ( Err ) {
- anOutPort->State( NewState ) ;
- anOutPort->Done( true ) ;
- }
- else {
- cdebug << ThreadNo() << " " << "Out" << i << " " << Name() << " "
- << anOutPort->PortName() << " " << anOutPort->Kind() ;
- ServicesAnyData D = OutParametersList[i] ;
- switch (D.Value.type()->kind()) { // { string , long , double , objref }
- case CORBA::tk_string: {
- char * t;
- D.Value >>= t;
- cdebug << ThreadNo() << " " << t << "(string)" << endl ;
- break;
- }
- case CORBA::tk_boolean: {
- bool b ;
- D.Value >>= (CORBA::Any::to_boolean ) b;
- long l = (long ) b ;
- D.Value <<= l ;
- cdebug << ThreadNo() << " " << b << "(boolean)" << endl ;
- break;
- }
- case CORBA::tk_char: {
- unsigned char c ;
- D.Value >>= (CORBA::Any::to_char ) c;
- long l = (long ) c ;
- D.Value <<= l ;
- cdebug << ThreadNo() << " " << c << "(char)" << endl ;
- break;
- }
- case CORBA::tk_short: {
- short s;
- D.Value >>= s;
- long l = (long ) s ;
- D.Value <<= l ;
- cdebug << ThreadNo() << " " << s << "(short)" << endl ;
- break;
- }
- case CORBA::tk_long: {
- long l;
- D.Value >>= l;
- cdebug << ThreadNo() << " " << l << "(long)" << endl ;
- break;
- }
- case CORBA::tk_float: {
- float f;
- D.Value >>= f;
- double d = (double ) f ;
- D.Value <<= d ;
- cdebug << ThreadNo() << " " << f << "(float)" << endl ;
- break;
- }
- case CORBA::tk_double: {
- double d;
- D.Value >>= d;
- cdebug << ThreadNo() << " " << d << "(double)" << endl ;
- break;
- }
- case CORBA::tk_objref: {
- try {
- CORBA::Object_ptr obj ;
- char * retstr ;
- D.Value >>= obj ;
- retstr = ObjectToString( obj ) ;
- cdebug << ThreadNo() << retstr << endl ;
- }
- catch( ... ) {
- cdebug << "ToString( object ) Catched ERROR" << endl ;
- }
- break;
- }
- default: {
- cdebug << ThreadNo() << " " << "(other ERROR)" << endl ;
- }
- }
- OutParametersList[i] = D ;
- if ( !anOutPort->IsDataStream() ) {
- if ( anOutPort->IsGate() ) {
- aGateOutPort = anOutPort ;
- cdebug << " Gate " ;
- long l = 1;
- OutParametersList[i].Value <<= l;
- anOutPort->Value( OutParametersList[i].Value );
- }
- else if ( anOutPort->IsLoop() ) {
- cdebug << " Loop " ;
- anOutPort->Value( OutParametersList[i].Value );
-// InLoop Port of EndLoopNode is ready :
- anOutPort->ChangeInPorts(0)->State( SUPERV::ReadyState ) ;
- }
- else if ( anOutPort->IsSwitch() ) {
- cdebug << " Switch " ;
- anOutPort->Value( OutParametersList[i].Value );
- if ( anOutPort->InPortsSize() && anOutPort->ChangeInPorts( 0 )->IsGate() ) {
- if ( OrSwitch && anOutPort->BoolValue() ) {
- cdebug << "GraphExecutor::InNodeThreads::OutParameters more than one switch is true WARNING"
- << endl ;
- }
- else {
- OrSwitch = OrSwitch | anOutPort->BoolValue() ;
- }
- }
- cdebug << "OrSwitch " << OrSwitch ;
- }
- else {
- cdebug << " Param " ;
- anOutPort->Value( OutParametersList[i].Value );
- }
- anOutPort->State( NewState ) ;
- anOutPort->Done( true ) ;
- }
- int j ;
- for ( j = 0 ; j < anOutPort->InPortsSize() ; j++ ) {
- bool fromGOTO = false ;
- GraphBase::OutPort * aGOTOPort = _OutNode->Graph()->GetChangeGraphNode( anOutPort->ChangeInPorts( j )->NodeName() )->GetChangeNodeInGate()->GetOutPort() ;
- if ( aGOTOPort ) {
- fromGOTO = aGOTOPort->IsGOTO() ;
- }
- if ( anOutPort->ChangeInPorts( j )->IsEndSwitch() || fromGOTO ) {
- cdebug << anOutPort->ChangeInPorts( j )->NodeName() << "("
- << anOutPort->ChangeInPorts( j )->PortName() << ","
- << anOutPort->ChangeInPorts( j )->Kind() << ") WILL BE changed from "
- << anOutPort->ChangeInPorts( j )->GetOutPort()->NodeName()
- << "("
- << anOutPort->ChangeInPorts( j )->GetOutPort()->PortName()
- << ") to " << anOutPort->NodeName() << "("
- << anOutPort->PortName() << ")" << endl ;
- anOutPort->ChangeInPorts( j )->ChangeOutPort( anOutPort ) ;
- }
- else {
- cdebug << anOutPort->ChangeInPorts( j )->NodeName() << "("
- << anOutPort->ChangeInPorts( j )->PortName() << ","
- << anOutPort->ChangeInPorts( j )->Kind() << ") NOT changed from "
- << anOutPort->ChangeInPorts( j )->GetOutPort()->NodeName()
- << "("
- << anOutPort->ChangeInPorts( j )->GetOutPort()->PortName()
- << ") to " << anOutPort->NodeName() << "("
- << anOutPort->PortName() << ")" << endl ;
- }
- }
-//#if 0
- switch (anOutPort->Value()->type()->kind()) {
- case CORBA::tk_string:
- char * t;
- (*anOutPort->Value()) >>= t;
- cdebug << ThreadNo() << " Out" << i << " : " << t << "(string)" << endl ;
- break;
- case CORBA::tk_boolean:
- bool b ;
- (*anOutPort->Value()) >>= (CORBA::Any::to_boolean ) b;
- cdebug << ThreadNo() << " Out" << i << " : " << b << "(boolean)" << endl ;
- break;
- case CORBA::tk_char:
- unsigned char c ;
- (*anOutPort->Value()) >>= (CORBA::Any::to_char ) c;
- cdebug << ThreadNo() << " Out" << i << " : " << c << "(char)" << endl ;
- break;
- case CORBA::tk_short:
- short s;
- (*anOutPort->Value()) >>= s;
- cdebug << ThreadNo() << " Out" << i << " : " << s << "(short)" << endl ;
- break;
- case CORBA::tk_long:
- long l;
- (*anOutPort->Value()) >>= l;
- cdebug << ThreadNo() << " Out" << i << " : " << l << "(long)" << endl ;
- break;
- case CORBA::tk_float:
- float f;
- (*anOutPort->Value()) >>= f;
- cdebug << ThreadNo() << " Out" << i << " : " << f << "(float)" << endl ;
- break;
- case CORBA::tk_double:
- double d;
- (*anOutPort->Value()) >>= d;
- cdebug << ThreadNo() << " Out" << i << " : " << d << "(double)" << endl ;
- break;
- case CORBA::tk_objref:
- CORBA::Object_ptr obj ;
- char * retstr ;
- try {
- (*anOutPort->Value()) >>= obj ;
- retstr = ObjectToString( obj );
- cdebug << ThreadNo() << " Out" << i << " : " << "ToString( object ) "
- << retstr << endl ;
- }
- catch ( ... ) {
- cdebug << ThreadNo() << " Out" << i << " : " << "ToString( object ) "
- << "Catched ERROR" << endl ;
- }
- break;
- default:
- cdebug << ThreadNo() << " Out" << i << " : " << "(other ERROR)" << endl ;
- RetVal = false ;
- }
-//#endif
- }
- }
- if ( aGateOutPort && IsSwitchNode() ) {
- if ( OrSwitch ) {
-// cdebug << ThreadNo() << " " << "Out0 " << Name() << " Close of "
-// << aGateOutPort->PortName() << " " << aGateOutPort->Kind() ;
- long l = 0;
- OutParametersList[0].Value <<= l ;
- aGateOutPort->Value( OutParametersList[0].Value ) ;
- }
- else {
-// cdebug << ThreadNo() << " " << "Out0 " << Name() << " Open of "
-// << aGateOutPort->PortName() << " " << aGateOutPort->Kind() ;
- long l = 1;
- OutParametersList[0].Value <<= l ;
- aGateOutPort->Value( OutParametersList[0].Value ) ;
- int i ;
- for ( i = 0 ; i < GetNodeOutPortsSize() ; i++ ) {
- GraphBase::InPort * anInPort ;
- anInPort = CoupledNode()->GetChangeInPort( GetNodeOutPort( i )->PortName() ) ;
- if ( anInPort ) {
- anInPort->ChangeOutPort( GetChangeNodeOutPort( i ) ) ;
- }
- }
- }
- }
- }
- return RetVal ;
-}
+++ /dev/null
-// SUPERV GraphExecutor : contains classes that permit execution of graphs and particularly the execution automaton
-//
-// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
-// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
-//
-// This library is free software; you can redistribute it and/or
-// modify it under the terms of the GNU Lesser General Public
-// License as published by the Free Software Foundation; either
-// version 2.1 of the License.
-//
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-// Lesser General Public License for more details.
-//
-// You should have received a copy of the GNU Lesser General Public
-// License along with this library; if not, write to the Free Software
-// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-//
-// See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
-//
-//
-//
-// File : DataFlowBase_OutNode.cxx
-// Author : Jean Rahuel, CEA
-// Module : SUPERV
-// $Header:
-
-using namespace std;
-
-#include "DataFlowExecutor_OutNode.hxx"
-
-// Implementation de la classe GraphEditor::GraphControl
-
-extern GraphExecutor::FiniteStateMachine * theAutomaton ;
-
-// static const char *ComponentName = "SalomeSuperVisionComponent" ;
-
-extern int _ArgC ;
-extern char ** _ArgV ;
-
-GraphExecutor::OutNode::OutNode() {
-// Graph() {
- _Valid = false ;
- _Executable = false ;
- _Done = false ;
- _Threads = 0 ;
- _ControlState = SUPERV::VoidState ;
- _State = SUPERV::UnKnownState ;
- _PyInitialized = false ;
- pthread_mutex_init( &_MutexWait , NULL ) ;
- pthread_mutex_init( &_PyMutexWait , NULL ) ;
- if ( pthread_cond_init( &_EventWait , NULL ) ) {
- perror("pthread_cond_init( &_EventWait , NULL )") ;
- exit( 0 ) ;
- }
- if ( pthread_cond_init( &_JoinWait , NULL ) ) {
- perror("pthread_cond_init( &_JoinWait , NULL )") ;
- exit( 0 ) ;
- }
-}
-
-GraphExecutor::OutNode::OutNode( CORBA::ORB_ptr ORB,
- SALOME_NamingService* ptrNamingService ,
- const char *DataFlowName ,
- const char * DebugFileName ,
- const SUPERV::KindOfNode aKindOfNode ) {
-// Graph( ORB , ptrNamingService , DataFlowName , DebugFileName ) {
- Set_prof_debug( ORB , DebugFileName ) ;
- cdebug_in << "GraphEditor::OutNode::OutNode(" << DataFlowName << " , " << aKindOfNode << ")" << endl;
- if ( aKindOfNode == SUPERV::DataFlowGraph ) {
- _StreamGraph = NULL ;
-// _Graph = new GraphBase::Graph( ORB , ptrNamingService , DataFlowName , DebugFileName ) ;
- _Graph = new GraphBase::Graph( ORB , ptrNamingService , DataFlowName ,
- _prof_debug , _fdebug ) ;
- }
- else if ( aKindOfNode == SUPERV::DataStreamGraph ) {
-// _StreamGraph = new GraphBase::StreamGraph( ORB , ptrNamingService , DataFlowName , DebugFileName ) ;;
- _StreamGraph = new GraphBase::StreamGraph( ORB , ptrNamingService , DataFlowName ,
- _prof_debug , _fdebug ) ;
- _Graph = _StreamGraph ;
- }
- _Valid = false ;
- _Executable = false ;
- _Done = false ;
- _Threads = 0 ;
- _ControlState = SUPERV::VoidState ;
- _State = SUPERV::UnKnownState ;
- _PyInitialized = false ;
- _Orb = CORBA::ORB::_duplicate( ORB ) ;
- pthread_mutex_init( &_MutexWait , NULL ) ;
- pthread_mutex_init( &_PyMutexWait , NULL ) ;
- if ( pthread_cond_init( &_EventWait , NULL ) ) {
- perror("pthread_cond_init( &_EventWait , NULL )") ;
- exit( 0 ) ;
- }
- if ( pthread_cond_init( &_JoinWait , NULL ) ) {
- perror("pthread_cond_init( &_JoinWait , NULL )") ;
- exit( 0 ) ;
- }
- cdebug_out << "GraphEditor::OutNode::OutNode" << endl;
-}
-
-GraphExecutor::OutNode::OutNode(
- CORBA::ORB_ptr ORB,
- SALOME_NamingService* ptrNamingService ,
- const SALOME_ModuleCatalog::Service& DataFlowService ,
- const char *DataFlowComponentName ,
- const char *DataFlowInterfaceName ,
- const char *DataFlowName ,
- const SUPERV::KindOfNode DataFlowkind ,
- const SUPERV::SDate DataFlowFirstCreation ,
- const SUPERV::SDate DataFlowLastModification ,
- const char * DataFlowEditorRelease ,
- const char * DataFlowAuthor ,
- const char * DataFlowComputer ,
- const char * DataFlowComment ,
- const char * DebugFileName ) {
-// Graph( ORB , ptrNamingService , DataFlowService , DataFlowComponentName ,
-// DataFlowInterfaceName , DataFlowName , DataFlowkind ,
-// DataFlowFirstCreation , DataFlowLastModification ,
-// DataFlowEditorRelease , DataFlowAuthor ,
-// DataFlowComputer , DataFlowComment , DebugFileName ) {
- Set_prof_debug( ORB , DebugFileName ) ;
-
- cdebug_in << "GraphEditor::OutNode::OutNode(" << DataFlowName << " , " << DataFlowkind << ")" << endl;
- if ( DataFlowkind == SUPERV::DataFlowGraph ) {
- _StreamGraph = NULL ;
- _Graph = new GraphBase::Graph( ORB , ptrNamingService , DataFlowService , DataFlowComponentName ,
- DataFlowInterfaceName , DataFlowName , DataFlowkind ,
- DataFlowFirstCreation , DataFlowLastModification ,
- DataFlowEditorRelease , DataFlowAuthor ,
- DataFlowComputer , DataFlowComment ,
- _prof_debug , _fdebug ) ;
-// DataFlowComputer , DataFlowComment , DebugFileName ) ;
- }
- else if ( DataFlowkind == SUPERV::DataStreamGraph ) {
- _StreamGraph = new GraphBase::StreamGraph( ORB , ptrNamingService , DataFlowService , DataFlowComponentName ,
- DataFlowInterfaceName , DataFlowName , DataFlowkind ,
- DataFlowFirstCreation , DataFlowLastModification ,
- DataFlowEditorRelease , DataFlowAuthor ,
- DataFlowComputer , DataFlowComment ,
- _prof_debug , _fdebug ) ;
- _Graph = _StreamGraph ;
- }
- _Valid = false ;
- _Executable = false ;
- _Done = false ;
- _Threads = 0 ;
- _ControlState = SUPERV::VoidState ;
- _State = SUPERV::UnKnownState ;
- _PyInitialized = false ;
- _Orb = CORBA::ORB::_duplicate( ORB ) ;
- pthread_mutex_init( &_MutexWait , NULL ) ;
- pthread_mutex_init( &_PyMutexWait , NULL ) ;
- if ( pthread_cond_init( &_EventWait , NULL ) ) {
- perror("pthread_cond_init( &_EventWait , NULL )") ;
- exit( 0 ) ;
- }
- if ( pthread_cond_init( &_JoinWait , NULL ) ) {
- perror("pthread_cond_init( &_JoinWait , NULL )") ;
- exit( 0 ) ;
- }
-}
-
-GraphExecutor::OutNode::~OutNode() {
-}
-
-void GraphExecutor::OutNode::Set_prof_debug( CORBA::ORB_ptr ORB ,
- const char * DebugFileName ) {
- _Graph_prof_debug = 0 ;
- if ( DebugFileName ) {
- _fdebug = new ofstream( DebugFileName );
- SetDebug( ORB , &_Graph_prof_debug , _fdebug ) ;
- MESSAGE( endl << "Trace redirected to file " << DebugFileName << endl)
- }
-}
-
-bool GraphExecutor::OutNode::LoadDataFlow(const GraphBase::SGraph &aDataFlow ) {
- bool RetVal = false ;
- RetVal = LoadInfo( aDataFlow.Info ) ;
- if ( Graph()->ServiceName() != NULL ) {
-// MESSAGE( "GraphExecutor::OutNode::LoadDataFlow" );
- if ( RetVal ) {
- RetVal = LoadNodes( aDataFlow.Nodes ) ;
- if ( RetVal ) {
- RetVal = LoadLinks( aDataFlow.Links ) ;
- if ( RetVal ) {
- IsValid() ;
- RetVal = LoadDatas( aDataFlow.Datas ) ;
- IsExecutable() ;
- if ( !RetVal) {
- cdebug << "GraphExecutor::OutNode::LoadDataFlow LoadDatas Error."
- << endl ;
- }
- }
- else {
- cdebug << "GraphExecutor::OutNode::LoadDataFlow LoadLinks Error."
- << endl ;
- }
- }
- else {
- cdebug << "GraphExecutor::OutNode::LoadDataFlow LoadNodes Error."
- << endl ;
- }
- }
- else {
- cdebug << "GraphExecutor::OutNode::LoadDataFlow LoadInfo Error."
- << endl ;
- }
- }
- else {
- cdebug << "GraphExecutor::OutNode::LoadDataFlow ServiceName Error." << endl ;
- }
- return RetVal ;
-}
-
-bool GraphExecutor::OutNode::LoadXml( const char* myFileName ) {
- bool RetVal = false ;
- GraphBase::SGraph aDataFlow ;
- if ( Graph()->LoadXml( _Orb , myFileName , aDataFlow ) ) {
- RetVal = LoadDataFlow( aDataFlow ) ;
-// if ( aConstructor && RetVal )
-// RetVal = Name( aDataFlow.Info.theName.c_str() ) ;
- }
- return RetVal ;
-}
-
-bool GraphExecutor::OutNode::LoadInfo(const GraphBase::SNode &aDataFlowInfo ) {
- cdebug << "GraphExecutor::OutNode::LoadInfo _StreamGraph " << _StreamGraph << endl ;
-// ComponentName( aDataFlowInfo.theComponentName.c_str() ) ;
- Graph()->Name( aDataFlowInfo.theName.c_str() ) ;
- Graph()->Kind( aDataFlowInfo.theKind ) ;
- if ( Graph()->IsDataStreamNode() ) {
- StreamGraph()->SetStreamParams( aDataFlowInfo.theTimeout , aDataFlowInfo.theDataStreamTrace , aDataFlowInfo.theDeltaTime ) ;
- }
- Graph()->DataService( _Orb , aDataFlowInfo.theService , _prof_debug , _fdebug ) ;
- Graph()->FirstCreation( aDataFlowInfo.theFirstCreation ) ;
- Graph()->LastModification( aDataFlowInfo.theLastModification ) ;
- Graph()->EditorRelease( aDataFlowInfo.theEditorRelease.c_str() ) ;
- Graph()->Author( aDataFlowInfo.theAuthor.c_str() ) ;
-// Graph()->Computer( aDataFlowInfo.theContainer.c_str() ) ;
- Graph()->Comment( aDataFlowInfo.theComment.c_str() ) ;
-// Not in OutNode/DataFlow but in InNode/DataFlow_in_an_other_DataFlow
-// Graph()->Coordinates( aDataFlowInfo.theX , aDataFlowInfo.theY ) ;
- return true ;
-}
-
-bool GraphExecutor::OutNode::LoadNodes(const GraphBase::ListOfNodes &aListOfNodes ) {
- bool RetVal = true ;
- GraphExecutor::InNode * anInNode ;
- cdebug << "GraphExecutor::OutNode::LoadNodes" << endl ;
- int i ;
- for ( i = 0 ; i < (int ) aListOfNodes.size() ; i++ ) {
- GraphBase::SNode aNode = aListOfNodes[ i ] ;
- anInNode = AddNode( aNode.theService ,
- aNode.theListOfFuncName ,
- aNode.theListOfPythonFunctions ,
- aNode.theComponentName.c_str() ,
- aNode.theInterfaceName.c_str() , aNode.theName.c_str() ,
- aNode.theKind ,
- aNode.theFirstCreation , aNode.theLastModification ,
- aNode.theEditorRelease.c_str() ,
- aNode.theAuthor.c_str() , aNode.theContainer.c_str() ,
- aNode.theComment.c_str() ,
- aNode.theCoords.theX , aNode.theCoords.theY ) ;
- if ( !anInNode ) {
- RetVal = false ;
- break ;
- }
- if ( anInNode->IsOneOfInLineNodes() ) {
- anInNode->GraphExecutor::InNode::InLineNode()->DefPortsOfNode(
- _Orb , aNode.theService , anInNode->NamePtr() ,
- anInNode->Kind() ,
- _prof_debug , _fdebug ) ;
- }
-// GraphBase::ComputingNode * theNode = Graph()->GetChangeGraphNode( aNode.theName.c_str() ) ;
-
- unsigned int j ;
- for ( j = 0 ; j < aNode.theListOfInDataStreams.size() ; j++ ) {
- GraphBase::InPort * anInPort ;
- anInPort = anInNode->ComputingNode()->AddInDataStreamPort( aNode.theListOfInDataStreams[ j ].theDataStreamParameter.Parametername ,
- aNode.theListOfInDataStreams[ j ].theDataStreamParameter.Parametertype ,
- aNode.theListOfInDataStreams[ j ].theDataStreamParameter.Parameterdependency ,
- SUPERV::DataStreamParameter ) ;
- ((GraphBase::InDataStreamPort * ) anInPort)->SetParams( aNode.theListOfInDataStreams[ j ].theKindOfSchema ,
- aNode.theListOfInDataStreams[ j ].theKindOfInterpolation ,
- aNode.theListOfInDataStreams[ j ].theKindOfExtrapolation ) ;
- }
- for ( j = 0 ; j < aNode.theListOfOutDataStreams.size() ; j++ ) {
- GraphBase::OutPort * anOutPort ;
- anOutPort = anInNode->ComputingNode()->AddOutDataStreamPort( aNode.theListOfOutDataStreams[ j ].theDataStreamParameter.Parametername ,
- aNode.theListOfOutDataStreams[ j ].theDataStreamParameter.Parametertype ,
- aNode.theListOfOutDataStreams[ j ].theDataStreamParameter.Parameterdependency ,
- SUPERV::DataStreamParameter ) ;
- ((GraphBase::OutDataStreamPort * ) anOutPort)->NumberOfValues( aNode.theListOfOutDataStreams[ j ].theNumberOfValues ) ;
- }
-
-
-// theNode->DataStreamInPortsNumber( aNode.theDataStreamInArgsNumber ) ;
-// theNode->DataStreamOutPortsNumber( aNode.theDataStreamOutArgsNumber ) ;
-// cdebug << "GraphExecutor::OutNode::LoadNodes " << anInNode->Name()
-// << " InPortsSize " << theNode->GetNodeInPortsSize()
-// << " OutPortsSize " << theNode->GetNodeOutPortsSize()
-// << " DataStreamInPortsNumber " << aNode.theDataStreamInArgsNumber
-// << " DataStreamOutPortsNumber " << aNode.theDataStreamOutArgsNumber
-// << endl ;
-// int j ;
-// if ( aNode.theDataStreamInArgsNumber ) { // -1 because of Gates
-// for ( j = theNode->GetNodeInPortsSize() - aNode.theDataStreamInArgsNumber - 1 ; j < theNode->GetNodeInPortsSize() - 1 ; j++ ) {
-// cdebug << "GraphExecutor::OutNode::LoadNodes " << anInNode->Name()
-// << " InPort " << theNode->GetChangeNodeInPort( j )->PortName()
-// << " Kind( DataStreamParameter)" << endl ;
-// theNode->GetChangeNodeInPort( j )->Kind( SUPERV::DataStreamParameter ) ;
-// }
-// }
-// if ( aNode.theDataStreamOutArgsNumber ) {
-// int withgate = 1 ;
-// if ( theNode->IsLoopNode() || theNode->IsEndLoopNode() ) {
-// withgate = 0 ;
-// }
-// for ( j = theNode->GetNodeOutPortsSize() - aNode.theDataStreamOutArgsNumber - withgate ; j < theNode->GetNodeOutPortsSize() - withgate ; j++ ) {
-// cdebug << "GraphExecutor::OutNode::LoadNodes " << anInNode->Name()
-// << " OutPort " << theNode->GetChangeNodeOutPort( j )->PortName()
-// << " Kind( DataStreamParameter)" << endl ;
-// theNode->GetChangeNodeOutPort( j )->Kind( SUPERV::DataStreamParameter ) ;
-// }
-// }
- }
- for ( i = 0 ; i < (int ) aListOfNodes.size() ; i++ ) {
- GraphBase::SNode aNode = aListOfNodes[ i ] ;
- anInNode = (GraphExecutor::InNode * ) Graph()->GetChangeGraphNode( aNode.theName.c_str() )->GetInNode() ;
- cdebug << "GraphExecutor::OutNode::LoadNodes " << anInNode->Name() << " IsOneOfGOTONodes "
- << anInNode->IsOneOfGOTONodes() << " " << aNode.theCoupledNode.c_str() << endl ;
- if ( anInNode->IsOneOfGOTONodes() && strlen( aNode.theCoupledNode.c_str() ) ) {
- GraphBase::GOTONode * aCoupledNode ;
- aCoupledNode = (GraphBase::GOTONode * ) Graph()->GetGraphNode( aNode.theName.c_str() ) ;
- aCoupledNode->CoupledNode( (GraphBase::GOTONode * ) Graph()->GetChangeGraphNode( aNode.theCoupledNode.c_str() ) ) ;
- }
- }
- return RetVal ;
-}
-
-bool GraphExecutor::OutNode::LoadLinks(const GraphBase::ListOfLinks &aListOfLinks ) {
- bool RetVal = true ;
- cdebug << "GraphExecutor::OutNode::LoadLinks " << aListOfLinks.size()
- << endl ;
- int i ;
- for ( i = 0 ; i < (int ) aListOfLinks.size() ; i++ ) {
- GraphBase::SLink aLink = aListOfLinks[ i ] ;
- RetVal = Graph()->AddLink( aLink.FromNodeName.c_str() ,
- aLink.FromServiceParameterName.c_str() ,
- aLink.ToNodeName.c_str() ,
- aLink.ToServiceParameterName.c_str() ,
- aLink.aLinkValue ) ;
-// aLink.aLinkValue.Value , aLink.aLinkValue.Kind ) ;
- if ( !RetVal )
- break ;
- }
- return RetVal ;
-}
-
-bool GraphExecutor::OutNode::LoadDatas(const GraphBase::ListOfLinks &aListOfDatas ) {
- bool RetVal = true ;
- cdebug << "GraphExecutor::OutNode::LoadDatas " << aListOfDatas.size()
- << endl ;
- int i ;
- for ( i = 0 ; i < (int ) aListOfDatas.size() ; i++ ) {
- GraphBase::SLink aLink = aListOfDatas[ i ] ;
- if ( !strcmp( aLink.FromNodeName.c_str() , Graph()->Name() ) )
- RetVal = Graph()->AddInputData( aLink.ToNodeName.c_str() ,
- aLink.ToServiceParameterName.c_str() ,
- aLink.aLinkValue ) ;
-// aLink.aLinkValue.Value , aLink.aLinkValue.Kind ) ;
- else if ( !strcmp( aLink.ToNodeName.c_str() , Graph()->Name() ) ) {
- RetVal = Graph()->AddOutputData( aLink.FromNodeName.c_str() ,
- aLink.FromServiceParameterName.c_str() ,
- aLink.aLinkValue ) ;
-// aLink.aLinkValue.Value ,
-// aLink.aLinkValue.Kind ) ;
- Graph()->AddLink( aLink.FromNodeName.c_str() , (GraphBase::ComputingNode *) this ) ;
- }
- else {
- cdebug << "GraphExecutor::OutNode::LoadDatas Error " << aLink.FromNodeName
- << " and " << aLink.ToNodeName << " differents from " << Graph()->Name()
- << endl ;
- RetVal = false ;
- }
- if ( !RetVal )
- break ;
- }
- return RetVal ;
-}
-
-GraphExecutor::InNode *GraphExecutor::OutNode::AddNode(
- const SALOME_ModuleCatalog::Service& NodeService ,
- GraphBase::ListOfFuncName aFuncName ,
- GraphBase::ListOfPythonFunctions aPythonFunction ,
- const char * NodeComponentName ,
- const char * NodeInterfaceName ,
- const char * NodeName ,
- const SUPERV::KindOfNode NodeKindOfNode ,
- const SUPERV::SDate NodeFirstCreation ,
- const SUPERV::SDate NodeLastModification ,
- const char * NodeEditorRelease ,
- const char * NodeAuthor ,
- const char * NodeComputer ,
- const char * NodeComment ,
- const int NodeX ,
- const int NodeY ) {
- cdebug_in << "GraphExecutor::OutNode::AddNode(" << NodeComponentName << " , "
- << NodeName << ")" << endl;
- GraphExecutor::InNode *Nd = NULL ;
- Nd = new GraphExecutor::InNode( _Orb, Graph()->NamingService() , NodeService ,
- NodeComponentName , NodeInterfaceName ,
- NodeName , NodeKindOfNode ,
- aFuncName , aPythonFunction ,
- NodeFirstCreation , NodeLastModification ,
- NodeEditorRelease , NodeAuthor ,
- NodeComputer , NodeComment , false , NodeX , NodeY ,
- _prof_debug , _fdebug ) ;
- Graph()->AddNode( Nd->ComputingNode() ) ;
- cdebug_out << "GraphExecutor::OutNode::AddNode" << endl;
- return Nd ;
-}
-
-
-bool GraphExecutor::OutNode::AddInputData( const char* ToNodeName1 ,
- const char* ToParameterName1 ,
- const char* ToNodeName2 ,
- const char* ToParameterName2 ) {
- cdebug_in << "GraphExecutor::OutNode::AddInputData" << endl;
- bool RetVal = Graph()->AddInputData( ToNodeName1 ,
- ToParameterName1 ,
- ToNodeName2 ,
- ToParameterName2 ) ;
- cdebug_out << "GraphExecutor::OutNode::AddInputData" << endl;
- _Valid = false ;
- return RetVal ;
-}
-
-bool GraphExecutor::OutNode::Valid() {
- cdebug_in << "GraphExecutor::OutNode::Valid" << endl;
-
- if ( _Valid )
- return true ;
-
- _Executable = false ;
-
- if ( !Graph()->CreateService() ) {
- cdebug << "This DataFlow has invalid type(s)." << endl ;
- return false ;
- }
- int SubStreamGraphsNumber = 0 ;
- if ( !Graph()->Sort( SubStreamGraphsNumber ) ) {
- cdebug << "This DataFlow is not valid." << endl ;
- return false ;
- }
- if ( Graph()->IsDataStreamNode() ) {
- StreamGraph()->SubStreamGraphsNumber( SubStreamGraphsNumber ) ;
- }
-
-// CreateService() ;
-
- Graph()->InLineServices() ;
-
- Graph()->ComputingNodes() ;
-
- _Valid = true ;
-
- cdebug_out << "GraphExecutor::OutNode::Valid" << endl;
- return _Valid ;
-}
-
-
-bool GraphExecutor::OutNode::Executable() {
-
- cdebug_in << "GraphExecutor::OutNode::Executable" << endl;
- if ( !IsValid() )
- return false ;
-
- if ( Graph()->DataServerNodes() )
- _Executable = true ;
- else {
- cdebug << "This DataFlow is not executable." << endl ;
- _Executable = false ;
- }
-
- cdebug_out << "GraphExecutor::OutNode::Executable" << endl;
- return _Executable ;
-}
-
-bool GraphExecutor::OutNode::Run( const bool AndSuspend ) {
- bool RetVal = false ;
- cdebug_in << "GraphExecutor::OutNode::Run" << endl;
-
- if ( Executable() ) {
- _ControlState = SUPERV::VoidState ;
- _SuspendedThreads = 0 ;
- Graph()->ThreadNo( pthread_self() ) ;
- Done( false ) ;
- _JustStarted = true ;
- int i ;
- for ( i = 0 ; i < Graph()->GraphNodesSize() ; i++ ) {
- GraphExecutor::InNode * anInNode = (GraphExecutor::InNode *) Graph()->GraphNodes( i )->GetInNode() ;
- if ( !PyInitialized() && anInNode->IsOneOfInLineNodes() ) {
- if ( !Py_IsInitialized() ) {
-// Py_Initialize() ;
- PySys_SetArgv( _ArgC , _ArgV ) ;
- }
- anInNode->InitPython() ;
- PyInitialized( true ) ;
- }
- anInNode->InitialState( this ) ;
- if ( anInNode->IsOneOfInLineNodes() ) {
- anInNode->InitPythonFunctions( false ) ;
- }
- }
-// One more time because inline nodes may share one definition of the same function
- for ( i = 0 ; i < Graph()->GraphNodesSize() ; i++ ) {
- GraphExecutor::InNode * anInNode = (GraphExecutor::InNode *) Graph()->GraphNodes( i )->GetInNode() ;
- if ( anInNode->IsOneOfInLineNodes() ) {
- if ( !anInNode->InitPythonFunctions( true ) ) {
- anInNode->State( SUPERV::ErroredState ) ;
- State( SUPERV::ErroredState ) ;
- cdebug_out << "GraphExecutor::OutNode::Run InitPythonFunctions ERROR "
- << anInNode->Name() << endl ;
- return false ;
- }
- }
- }
-
- cdebug << "Execution starting GraphExecutor::Action_DataOk_RunService Node "
- << Graph()->Name() << endl ;
-
- PushEvent( NULL , GraphExecutor::ReadyEvent ,
- SUPERV::DataReadyState ) ;
- State( SUPERV::DataReadyState ) ;
-
- for ( i = 0 ; i < Graph()->HeadNodesSize() ; i++ ) {
- GraphExecutor::InNode * anInNode = (GraphExecutor::InNode *) Graph()->HeadNodes( i )->GetInNode() ;
- if ( anInNode->State() != SUPERV::DataReadyState ) {
- cdebug << "GraphExecutor::OutNode::Run inconsistency State of Node "
- << anInNode->Name() << " : " << anInNode->State() << endl ;
- cdebug_out << "GraphExecutor::OutNode::Run State ERROR" << endl ;
- return false ;
- }
-// PushEvent( anInNode , GraphExecutor::ReadyEvent ,
-// SUPERV::DataReadyState ) ;
- anInNode->CreateNewThread( true ) ;
- anInNode->DataFromNode( Graph()->Name() ) ;
- if ( AndSuspend ) {
- anInNode->State( SUPERV::DataWaitingState ) ;
- anInNode->ControlState( SUPERV::ToSuspendStartState ) ;
- if ( !anInNode->SendEvent( GraphExecutor::SomeDataReadyEvent ) ) {
- cdebug << "InNode::SendEvent( SomeDataReadyEvent ) ERROR Node "
- << anInNode->Name() << endl ;
- cdebug_out << "GraphExecutor::OutNode::Run SendEvent ERROR" << endl ;
- return false ;
- }
- anInNode->SuspendedWait() ;
- }
- else if ( !anInNode->SendEvent( GraphExecutor::ExecuteEvent ) ) {
- cdebug << "InNode::SendEvent( ExecuteEvent ) ERROR Node "
- << anInNode->Name() << endl ;
- cdebug_out << "GraphExecutor::OutNode::Run SendEvent ERROR" << endl ;
- return false ;
- }
- else {
- anInNode->RunningWait() ;
- }
- }
-
- if ( AndSuspend ) {
- PushEvent( NULL , GraphExecutor::SuspendedReadyEvent ,
- SUPERV::SuspendedReadyState ) ;
- }
- else {
- PushEvent( NULL , GraphExecutor::ExecutingEvent ,
- SUPERV::ExecutingState ) ;
- if (AutomatonState() == SUPERV::DataReadyState) {
- State( SUPERV::ExecutingState ) ;
- };
- }
-// ostringstream astr ;
-// astr << "Graph " << Graph()->Name() << " is running" ;
-// Graph()->ObjImpl()->sendMessage( NOTIF_STEP, astr.str().c_str() ) ;
- RetVal = true ;
- }
- else {
- PushEvent( NULL , GraphExecutor::NoDataReadyEvent ,
- SUPERV::DataUndefState ) ;
- }
-
- cdebug_out << "GraphExecutor::OutNode::Run" << endl ;
- return RetVal ;
-}
-
-bool GraphExecutor::OutNode::Run( const char * aNodeName ,
- const char * AtNodeName ,
- const bool AndSuspend ) {
- bool RetVal = false ;
- cdebug_in << "GraphExecutor::OutNode::Run( " << aNodeName << " , "
- << AtNodeName << " , " << AndSuspend << ")" << endl;
- GraphExecutor::InNode *anInNode = (GraphExecutor::InNode *) Graph()->GetGraphNode( aNodeName )->GetInNode() ;
- if ( anInNode ) {
- RetVal = anInNode->ReStart( AtNodeName , AndSuspend ) ;
- }
- cdebug_out << "GraphExecutor::OutNode::Run" << endl ;
- return RetVal ;
-}
-
-void GraphExecutor::OutNode::CheckAllDone() {
- int j ;
- cdebug_in << "GraphExecutor::OutNode::CheckAllDone " << endl;
- SUPERV::AutomatonState OutNodeState = SUPERV::SuccessedState ;
- SUPERV::AutomatonState InNodeState ;
- bool AllDone = true ;
- if ( !Done() ) {
- for ( j = 0 ; j < Graph()->QueueNodesSize() ; j++ ) {
- InNodeState = ( (GraphExecutor::InNode * ) Graph()->QueueNodes( j )->GetInNode() )->State() ;
- cdebug << j << ". "
- << ( (GraphExecutor::InNode * ) Graph()->QueueNodes( j )->GetInNode() )->Name()
- << " " << theAutomaton->StateName( InNodeState ) << endl ;
- if ( InNodeState != SUPERV::SuccessedState &&
- InNodeState != SUPERV::ErroredState &&
- InNodeState != SUPERV::DataWaitingState ) {
- AllDone = false ;
- }
- if ( InNodeState != SUPERV::SuccessedState &&
- InNodeState != SUPERV::DataWaitingState &&
- InNodeState != SUPERV::DataReadyState ) {
- OutNodeState = InNodeState ;
- }
- }
- if ( AllDone ) {
- if( _Threads == 0 && _SuspendedThreads == 0 ) {
- if ( OutNodeState != SUPERV::ErroredState ) {
- OutNodeState = SUPERV::SuccessedState ;
- }
- }
- else {
- AllDone = false ;
- }
- }
- if ( AllDone ) {
- int alivenodes = 0 ;
- for ( j = 0 ; j < Graph()->GraphNodesSize() ; j++ ) {
- GraphExecutor::InNode * aNode ;
- aNode = (GraphExecutor::InNode * ) Graph()->GraphNodes( j )->GetInNode() ;
- SUPERV::GraphState aState = AutomatonGraphState( aNode->State() ) ;
- cdebug << "GraphExecutor::OutNode::CheckAllDone " << aNode->Name() << " "
- << theAutomaton->StateName( aNode->State() ) << " CreateNewThread " << aNode->CreateNewThread()
- << endl ;
- if ( aState == SUPERV::ErrorState ||
- aState == SUPERV::SuspendErroredState ||
- aState == SUPERV::KillState ||
- aState == SUPERV::StopState ) {
- OutNodeState = aNode->State() ;
- State( OutNodeState ) ;
- }
- else if ( aState == SUPERV::ReadyState ||
- aState == SUPERV::SuspendReadyState ||
- aState == SUPERV::RunningState ||
- aState == SUPERV::SuspendDoneState ||
- aState == SUPERV::SuspendErroredState ||
- aState == SUPERV::ReRunState ||
- aState == SUPERV::ReStartState ||
- aState == SUPERV::SuspendState ) {
- alivenodes += 1 ;
- }
- aNode->SuspendedAction() ;
- aNode->DoneAction() ;
- }
-// PushEvent AFTER State and _Done ! ...
- if ( alivenodes == 0 ) {
- State( OutNodeState ) ;
- Done( true ) ;
- _JustStarted = false ;
- }
- PushEvent( NULL , GraphExecutor::EndExecuteEvent ,
- OutNodeState ) ;
-// Py_Finalize() ;
-// PyInitialized( false ) ;
- }
- }
- if ( IsDone() ) {
- MESSAGE("================================================================================") ;
- MESSAGE( Graph()->Name() << " IS DONE : " << theAutomaton->StateName( AutomatonState() ) << " EventQSize "
- << EventQSize() ) ;
- MESSAGE("================================================================================") ;
- cdebug << "================================================================================" << endl ;
- cdebug << Graph()->Name() << " IS DONE : " << theAutomaton->StateName( AutomatonState() ) << " EventQSize "
- << EventQSize() << endl ;
- cdebug << "================================================================================" << endl ;
-// ostringstream astr ;
-// astr << "Graph " << Graph()->Name() << " is done : "
-// << theAutomaton->StateName( AutomatonState() ) ;
-// Graph()->ObjImpl()->sendMessage( NOTIF_STEP, astr.str().c_str() ) ;
- //cout << Graph()->Name() << " IS DONE : " << theAutomaton->StateName( AutomatonState() ) << " EventQSize "
- // << EventQSize() << endl ;
- }
- cdebug_out << "GraphExecutor::OutNode::CheckAllDone " << IsDone()
- << " GraphAutomatonState " << theAutomaton->StateName( AutomatonState() )
- << " State " << State() << " Threads " << _Threads << " SuspendedThreads "
- << _SuspendedThreads << " EventQSize " << EventQSize() << endl ;
-}
-
-void GraphExecutor::OutNode::PThreadLock( pthread_mutex_t * aMutex , char * errmsg ) {
-// if ( strcmp( errmsg , "EventLoop" ) && strcmp( errmsg , "EventW" ) ) {
-// cdebug << "GraphExecutor::OutNode::PThreadLock " << pthread_self() << " " << aMutex << " "
-// << errmsg << endl ;
-// }
- if ( pthread_mutex_lock( aMutex ) ) {
- perror( errmsg ) ;
- exit( 0 ) ;
- }
-// if ( strcmp( errmsg , "EventLoop" ) && strcmp( errmsg , "EventW" ) ) {
-// cdebug << "GraphExecutor::OutNode::PThreadLocked " << pthread_self() << " " << aMutex << " "
-// << errmsg << endl ;
-// }
-}
-
-void GraphExecutor::OutNode::PThreadUnLock( pthread_mutex_t * aMutex , char * errmsg ) {
-// if ( strcmp( errmsg , "EventLoop" ) && strcmp( errmsg , "EventW" ) ) {
-// cdebug << " GraphExecutor::OutNode::PThreadUnLock " << pthread_self() << " " << aMutex << " "
-// << errmsg << endl ;
-// }
- if ( pthread_mutex_unlock( aMutex ) ) {
- perror( errmsg ) ;
- exit( 0 ) ;
- }
-}
-
-void GraphExecutor::OutNode::PyThreadLock() {
-// cout << " GraphExecutor::OutNode::PyThreadLock " << pthread_self() << endl ;
- if ( pthread_mutex_lock( &_PyMutexWait ) ) {
- perror( "GraphExecutor::OutNode::PyThreadLock" ) ;
- exit( 0 ) ;
- }
- theAutomaton->PyLock() ;
-// cout << " GraphExecutor::OutNode::PyThreadLocked " << pthread_self() << endl ;
-}
-
-void GraphExecutor::OutNode::PyThreadUnLock() {
-// cout << " GraphExecutor::OutNode::PyThreadUnLock " << pthread_self() << endl ;
- if ( pthread_mutex_unlock( &_PyMutexWait ) ) {
- perror( "GraphExecutor::OutNode::PyThreadUnLock" ) ;
- exit( 0 ) ;
- }
- theAutomaton->PyUnLock() ;
-// cout << " GraphExecutor::OutNode::PyThreadUnLocked " << pthread_self() << endl ;
-}
-
-void GraphExecutor::OutNode::NewThread() {
- if ( pthread_mutex_lock( &_MutexWait ) ) {
- perror("pthread_mutex_lock _NewThread") ;
- exit( 0 ) ;
- }
- _Threads += 1 ;
- cdebug << "NewThread : " << _Threads << " running threads "
- << _SuspendedThreads << " suspended threads"
- << endl ;
- if ( pthread_mutex_unlock( &_MutexWait ) ) {
- perror("pthread_mutex_unlock _NewThread") ;
- exit( 0 ) ;
- }
-}
-
-void GraphExecutor::OutNode::ExitThread() {
- if ( pthread_mutex_lock( &_MutexWait ) ) {
- perror("pthread_mutex_lock _ExitThread") ;
- exit( 0 ) ;
- }
- _Threads -= 1 ;
- theAutomaton->JoinThread( pthread_self() ) ;
- if ( pthread_cond_signal( &_JoinWait ) ) {
- perror("ExitThread pthread_cond_signal ") ;
- }
- cdebug << "ExitThread : " << _Threads << " running threads "
- << _SuspendedThreads << " suspended threads"
- << endl ;
- if ( pthread_mutex_unlock( &_MutexWait ) ) {
- perror("pthread_mutex_unlock _ExitThread") ;
- exit( 0 ) ;
- }
- if ( _Threads == 0 && _SuspendedThreads == 0 ) {
- CheckAllDone() ;
- if ( IsDone() ) {
- theAutomaton->Executed() ;
- }
- }
-}
-void GraphExecutor::OutNode::JoinedWait() {
- if ( pthread_mutex_lock( &_MutexWait ) ) {
- perror("pthread_mutex_lock JoinedWait") ;
- exit( 0 ) ;
- }
- while ( _Threads ) {
- if ( pthread_cond_wait( &_JoinWait , &_MutexWait ) ) {
- perror("JoinedWait pthread_cond_wait ") ;
- }
- }
- if ( pthread_mutex_unlock( &_MutexWait ) ) {
- perror("pthread_mutex_unlock JoinedWait") ;
- exit( 0 ) ;
- }
-}
-
-void GraphExecutor::OutNode::SuspendThread() {
- if ( pthread_mutex_lock( &_MutexWait ) ) {
- perror("pthread_mutex_lock _SuspendThread") ;
- exit( 0 ) ;
- }
- _SuspendedThreads += 1 ;
- cdebug << "SuspendThread : " << _Threads << " running threads "
- << _SuspendedThreads << " suspended threads"
- << endl ;
- if ( pthread_mutex_unlock( &_MutexWait ) ) {
- perror("pthread_mutex_unlock _SuspendThread") ;
- exit( 0 ) ;
- }
- if ( IsSuspended() ) {
- PushEvent( NULL , GraphExecutor::SuspendEvent , SUPERV::SuspendedState ) ;
- }
-}
-void GraphExecutor::OutNode::ResumeThread() {
- if ( pthread_mutex_lock( &_MutexWait ) ) {
- perror("pthread_mutex_lock _ResumeThread") ;
- exit( 0 ) ;
- }
- _SuspendedThreads -= 1 ;
- cdebug << "ResumeThread : " << _Threads << " running threads "
- << _SuspendedThreads << " suspended threads"
- << endl ;
- if ( pthread_mutex_unlock( &_MutexWait ) ) {
- perror("pthread_mutex_unlock _ResumeThread") ;
- exit( 0 ) ;
- }
-}
-
-long GraphExecutor::OutNode::Thread( const char * aNodeName ) {
- long RetVal = 0 ;
- GraphExecutor::InNode *anInNode = (GraphExecutor::InNode *) Graph()->GetGraphNode( aNodeName )->GetInNode() ;
- if ( anInNode ) {
- RetVal = anInNode->ThreadNo() ;
- }
- return RetVal ;
-}
-
-SUPERV::GraphEvent GraphExecutor::OutNode::AutomatonGraphEvent(GraphExecutor::NodeEvent anEvent ) {
- SUPERV::GraphEvent aGraphEvent ;
- switch ( anEvent ) {
- case GraphExecutor::UndefinedEvent : {
- aGraphEvent = SUPERV::UndefinedEvent ;
- break ;
- }
- case GraphExecutor::NewThreadEvent : {
- aGraphEvent = SUPERV::NewThreadEvent ;
- break ;
- }
- case GraphExecutor::SuspendEvent : {
- aGraphEvent = SUPERV::SuspendEvent ;
- break ;
- }
- case GraphExecutor::ResumeEvent : {
- aGraphEvent = SUPERV::ResumeEvent ;
- break ;
- }
- case GraphExecutor::KillEvent : {
- aGraphEvent = SUPERV::KillEvent ;
- break ;
- }
- case GraphExecutor::StopEvent : {
- aGraphEvent = SUPERV::StopEvent ;
- break ;
- }
- case GraphExecutor::ExecuteEvent : {
- aGraphEvent = SUPERV::RunningEvent ;
- break ;
- }
- case GraphExecutor::SuccessEvent : {
- aGraphEvent = SUPERV::DoneEvent ;
- break ;
- }
- case GraphExecutor::ErrorEvent : {
- aGraphEvent = SUPERV::ErroredEvent ;
- break ;
- }
- case GraphExecutor::ReStartEvent : {
- aGraphEvent = SUPERV::ReRunEvent ;
- break ;
- }
- case GraphExecutor::ReStartAndSuspendEvent : {
- aGraphEvent = SUPERV::ReStartEvent ;
- break ;
- }
- case GraphExecutor::NoDataReadyEvent : {
- aGraphEvent = SUPERV::WaitingEvent ;
- break ;
- }
- case GraphExecutor::SomeDataReadyEvent : {
- aGraphEvent = SUPERV::WaitingEvent ;
- break ;
- }
- case GraphExecutor::NotAllDataReadyEvent : {
- aGraphEvent = SUPERV::WaitingEvent ;
- break ;
- }
- case GraphExecutor::AllDataReadyEvent : {
- aGraphEvent = SUPERV::ReadyEvent ;
- break ;
- }
- case GraphExecutor::ReadyEvent : {
- aGraphEvent = SUPERV::ReadyEvent ;
- break ;
- }
- case GraphExecutor::SuspendedReadyEvent : {
- aGraphEvent = SUPERV::SuspendEvent ;
- break ;
- }
- case GraphExecutor::ResumedReadyEvent : {
- aGraphEvent = SUPERV::ResumeEvent ;
- break ;
- }
- case GraphExecutor::KilledReadyEvent : {
- aGraphEvent = SUPERV::KillEvent ;
- break ;
- }
- case GraphExecutor::StoppedReadyEvent : {
- aGraphEvent = SUPERV::StopEvent ;
- break ;
- }
- case GraphExecutor::ExecutingEvent : {
- aGraphEvent = SUPERV::RunningEvent ;
- break ;
- }
- case GraphExecutor::SuspendedExecutingEvent : {
- aGraphEvent = SUPERV::SuspendEvent ;
- break ;
- }
- case GraphExecutor::ResumedExecutingEvent : {
- aGraphEvent = SUPERV::ResumeEvent ;
- break ;
- }
- case GraphExecutor::KilledExecutingEvent : {
- aGraphEvent = SUPERV::KillEvent ;
- break ;
- }
- case GraphExecutor::StoppedExecutingEvent : {
- aGraphEvent = SUPERV::StopEvent ;
- break ;
- }
- case GraphExecutor::SuccessedExecutingEvent : {
- aGraphEvent = SUPERV::DoneEvent ;
- break ;
- }
- case GraphExecutor::ErroredExecutingEvent : {
- aGraphEvent = SUPERV:: ErroredEvent;
- break ;
- }
- case GraphExecutor::SuspendedSuccessedEvent : {
- aGraphEvent = SUPERV::SuspendEvent ;
- break ;
- }
- case GraphExecutor::SuspendedErroredEvent : {
- aGraphEvent = SUPERV::SuspendEvent ;
- break ;
- }
- case GraphExecutor::ResumedSuccessedEvent : {
- aGraphEvent = SUPERV::ResumeEvent ;
- break ;
- }
- case GraphExecutor::ResumedErroredEvent : {
- aGraphEvent = SUPERV::ResumeEvent ;
- break ;
- }
- case GraphExecutor::KilledEvent : {
- aGraphEvent = SUPERV::KillEvent ;
- break ;
- }
- case GraphExecutor::StoppedEvent : {
- aGraphEvent = SUPERV::StopEvent ;
- break ;
- }
- case GraphExecutor::ReStartedEvent : {
- aGraphEvent = SUPERV::ReRunEvent ;
- break ;
- }
- case GraphExecutor::ReStartedAndSuspendEvent : {
- aGraphEvent = SUPERV::ReStartEvent ;
- break ;
- }
- case GraphExecutor::EndExecuteEvent : {
- aGraphEvent = SUPERV::DoneEvent ;
- break ;
- }
- default : {
- cdebug << " GraphExecutor::OutNode::AutomatonGraphEvent Error Undefined Event : "
- << anEvent << endl ;
- aGraphEvent = SUPERV::UndefinedEvent ;
- }
- }
- return aGraphEvent ;
-}
-
-SUPERV::GraphState GraphExecutor::OutNode::AutomatonGraphState(SUPERV::AutomatonState aState ) {
- SUPERV::GraphState aGraphState ;
- switch ( aState ) {
- case SUPERV::UnKnownState : {
- aGraphState = SUPERV::UndefinedState ;
- break ;
- }
- case SUPERV::DataUndefState : {
- aGraphState = SUPERV::UndefinedState ;
- break ;
- }
- case SUPERV::DataWaitingState : {
- aGraphState = SUPERV::WaitingState ;
- break ;
- }
- case SUPERV::DataReadyState : {
- aGraphState = SUPERV::ReadyState ;
- break ;
- }
- case SUPERV::SuspendedReadyState : {
- aGraphState = SUPERV::SuspendReadyState ;
- break ;
- }
- case SUPERV::ResumedReadyState : {
- aGraphState = SUPERV::ReadyState ;
- break ;
- }
- case SUPERV::KilledReadyState : {
- aGraphState = SUPERV::KillState ;
- break ;
- }
- case SUPERV::StoppedReadyState : {
- aGraphState = SUPERV::StopState ;
- break ;
- }
- case SUPERV::ExecutingState : {
- aGraphState = SUPERV::RunningState ;
- break ;
- }
- case SUPERV::SuspendedExecutingState : {
- aGraphState = SUPERV::SuspendState ;
- break ;
- }
- case SUPERV::ResumedExecutingState : {
- aGraphState = SUPERV::RunningState ;
- break ;
- }
- case SUPERV::KilledExecutingState : {
- aGraphState = SUPERV::KillState ;
- break ;
- }
- case SUPERV::StoppedExecutingState : {
- aGraphState = SUPERV::StopState ;
- break ;
- }
- case SUPERV::SuccessedExecutingState : {
- aGraphState = SUPERV::DoneState ;
- break ;
- }
- case SUPERV::ErroredExecutingState : {
- aGraphState = SUPERV::ErrorState ;
- break ;
- }
- case SUPERV::SuspendedSuccessedState : {
- aGraphState = SUPERV::SuspendDoneState ;
- break ;
- }
- case SUPERV::SuspendedErroredState : {
- aGraphState = SUPERV::SuspendErroredState ;
- break ;
- }
- case SUPERV::ResumedSuccessedState : {
- aGraphState = SUPERV::DoneState ;
- break ;
- }
- case SUPERV::ResumedErroredState : {
- aGraphState = SUPERV::ErrorState ;
- break ;
- }
- case SUPERV::KilledSuccessedState : {
- aGraphState = SUPERV::KillState ;
- break ;
- }
- case SUPERV::KilledErroredState : {
- aGraphState = SUPERV::KillState ;
- break ;
- }
- case SUPERV::StoppedSuccessedState : {
- aGraphState = SUPERV::StopState ;
- break ;
- }
- case SUPERV::StoppedErroredState : {
- aGraphState = SUPERV::StopState ;
- break ;
- }
- case SUPERV::SuccessedState : {
- aGraphState = SUPERV::DoneState ;
- break ;
- }
- case SUPERV::ErroredState : {
- aGraphState = SUPERV::ErrorState ;
- break ;
- }
- case SUPERV::SuspendedState : {
- aGraphState = SUPERV::SuspendState ;
- break ;
- }
- case SUPERV::KilledState : {
- aGraphState = SUPERV::KillState ;
- break ;
- }
- case SUPERV::StoppedState : {
- aGraphState = SUPERV::StopState ;
- break ;
- }
- case SUPERV::ReRunnedState : {
- aGraphState = SUPERV::ReRunState ;
- break ;
- }
- case SUPERV::ReStartedState : {
- aGraphState = SUPERV::ReStartState ;
- break ;
- }
- default : {
- cdebug << " GraphExecutor::OutNode::AutomatonGraphState Error Undefined State : "
- << aGraphState << endl ;
- aGraphState = SUPERV::UndefinedState ;
- }
- }
- return aGraphState ;
-}
-
-int GraphExecutor::OutNode::GetListSize() {
- return _EventNodes.size();
-}
-
-bool GraphExecutor::OutNode::PushEvent( GraphExecutor::InNode * aNode ,
- GraphExecutor::NodeEvent anEvent ,
- SUPERV::AutomatonState aState ) {
-// cdebug_in << "PushEvent Threads " << Threads() << " SuspendedThreads "
-// << SuspendedThreads() << endl ;
- if ( pthread_mutex_lock( &_MutexWait ) ) {
- perror("PushEvent pthread_mutex_lock ") ;
- exit( 0 ) ;
- }
- if ( aNode ) {
- _EventNodes.push_back( aNode->Name() ) ;
- }
- else {
- _EventNodes.push_back( Graph()->Name() ) ;
- }
- _Events.push_back( anEvent ) ;
- _States.push_back( aState ) ;
- pthread_cond_broadcast( &_EventWait );
- if ( aNode ) {
-// cdebug << aNode->ThreadNo() << " PushEvent " << aNode->Name() ;
-// cdebug << " " << aNode->Automaton()->EventName( anEvent )
-// << " " << aNode->Automaton()->StateName( aState )
-// << " ControleState "
-// << aNode->Automaton()->ControlStateName( aNode->ControlState() ) ;
- }
- else {
-// cdebug << "PushEvent " << Graph()->Name() ;
-// cdebug << " " << theAutomaton->EventName( anEvent ) << " "
-// << theAutomaton->StateName( aState ) ;
- }
-// cdebug_out << "PushEvent Threads " << Threads() << " SuspendedThreads "
-// << SuspendedThreads() << endl ;
-#if 0
- if ( _EventNodes.size() > 101 ) {
- while ( _EventNodes.size() > 31 ) {
- _EventNodes.pop_front() ;
- _Events.pop_front() ;
- _States.pop_front() ;
- }
- }
-#endif
- if ( pthread_mutex_unlock( &_MutexWait ) ) {
- perror("PushEvent pthread_mutex_unlock ") ;
- exit( 0 ) ;
- }
- return true ;
-}
-
-bool GraphExecutor::OutNode::StateWait( SUPERV::GraphState aState ) {
- return false ;
-}
-
-bool GraphExecutor::OutNode::Event( char ** aNodeName ,
- SUPERV::GraphEvent & anEvent ,
- SUPERV::GraphState & aState ,
- bool WithWait ) {
- int ThreadsNumber ;
- int SuspendedThreadsNumber ;
- if ( _EventNodes.size() > 0 ) {
- cdebug_in << "GraphExecutor::OutNode::Event " << _EventNodes.size() << " in queue" << endl ;
- }
- if ( pthread_mutex_lock( &_MutexWait ) ) {
- perror("EventLoop pthread_mutex_lock ") ;
- exit( 0 ) ;
- }
- _JustStarted = false ;
- ThreadsNumber = Threads() ;
- SuspendedThreadsNumber = SuspendedThreads() ;
- bool RetVal = ( ThreadsNumber - SuspendedThreadsNumber) != 0 ||
- _EventNodes.size() > 0 ;
- char * NodeName = "" ;
- GraphExecutor::NodeEvent theEvent = GraphExecutor::UndefinedEvent ;
- SUPERV::AutomatonState theState = SUPERV::UnKnownState ;
- anEvent = SUPERV::UndefinedEvent ;
- aState = SUPERV::UndefinedState ;
- if ( ( Done() || IsKilled() || IsStopped() ) && _EventNodes.size() == 0 ) {
-// cdebug << "EventLoop Done()/IsKilled()/IsStopped() && _EventNodes.size() == 0" << endl ;
- RetVal = false ;
- }
- else if ( !WithWait && _EventNodes.size() == 0 ) {
- anEvent = SUPERV::NoEvent ;
- aState = SUPERV::NoState ;
- RetVal = true ;
- }
- else if ( RetVal ) {
- while ( !IsSuspended() && _EventNodes.size() == 0 ) {
-// cdebug << "EventLoop pthread_cond_wait _EventWait" << endl ;
- pthread_cond_wait( &_EventWait , &_MutexWait );
-// cdebug << "EventLoop pthread_cond_waited _EventWait"
-// << " _EventNodes.size() " << _EventNodes.size() << endl ;
- }
- if ( _EventNodes.size() ) {
- ThreadsNumber = Threads() ;
- NodeName = _EventNodes.front() ;
- _EventNodes.pop_front() ;
- theEvent = _Events.front() ;
- anEvent = AutomatonGraphEvent( theEvent ) ;
- _Events.pop_front() ;
- theState = _States.front() ;
- aState = AutomatonGraphState( theState ) ;
- _States.pop_front() ;
- }
- }
- *aNodeName = NodeName ;
- if ( IsSuspended() && _EventNodes.size() == 0 ) {
- RetVal = false ;
- }
- if ( anEvent != SUPERV::NoEvent ) {
-// cdebug << pthread_self() << "EventLoop "
-// << NodeName << " " << theAutomaton->StateName( theState )
-// << " _EventNodes.size() " << _EventNodes.size()
-// << " Threads " << Threads() << " SuspendedThreads "
-// << SuspendedThreads() << " RetVal " << RetVal << endl ;
- }
- if ( pthread_mutex_unlock( &_MutexWait ) ) {
- perror("EventLoop pthread_mutex_lock ") ;
- exit( 0 ) ;
- }
- if ( _EventNodes.size() > 0 ) {
- cdebug_out << "GraphExecutor::OutNode::Event " << _EventNodes.size() << " in queue" << endl ;
- }
- return RetVal ;
-}
-
-bool GraphExecutor::OutNode::EventW( char ** aNodeName ,
- SUPERV::GraphEvent & anEvent ,
- SUPERV::GraphState & aState ) {
- bool sts = true ;
- char * NodeName ;
- aState = SUPERV::UndefinedState ;
- while ( sts &&
- aState != SUPERV::SuspendReadyState &&
- aState != SUPERV::RunningState &&
- aState != SUPERV::SuspendDoneState &&
- aState != SUPERV::SuspendErroredState ) {
- NodeName = Graph()->Name() ;
- while ( sts && !strcmp( NodeName , Graph()->Name() ) ) {
- sts = EventWait( aNodeName , anEvent , aState ) ;
- NodeName = *aNodeName ;
- }
- }
- return sts ;
-}
-
-bool GraphExecutor::OutNode::EventWait( char ** aNodeName ,
- SUPERV::GraphEvent & anEvent ,
- SUPERV::GraphState & aState ) {
- if ( pthread_mutex_lock( &_MutexWait ) ) {
- perror("EventW pthread_mutex_lock ") ;
- exit( 0 ) ;
- }
- int ThreadsNumber ;
- int SuspendedThreadsNumber ;
- ThreadsNumber = Threads() ;
- SuspendedThreadsNumber = SuspendedThreads() ;
- bool RetVal = ( ThreadsNumber - SuspendedThreadsNumber) != 0 ||
- _EventNodes.size() > 0 ;
- cdebug << "--> EventW RetVal " << RetVal << endl ;
- char * NodeName = "" ;
- GraphExecutor::NodeEvent theEvent = GraphExecutor::UndefinedEvent ;
- SUPERV::AutomatonState theState = SUPERV::UnKnownState ;
- anEvent = SUPERV::UndefinedEvent ;
- aState = SUPERV::UndefinedState ;
- if ( IsDone() && _EventNodes.size() == 0 ) {
- cdebug << "EventW IsDone() && _EventNodes.size() == 0" << endl ;
- RetVal = 0 ;
- }
- else if ( RetVal ) {
- GraphExecutor::InNode * aNode = NULL ;
- while ( aNode == NULL && RetVal ) {
- NodeName = _EventNodes.front() ;
- theEvent = _Events.front() ;
- anEvent = AutomatonGraphEvent( theEvent ) ;
- theState = _States.front() ;
- aState = AutomatonGraphState( theState ) ;
-
- if ( _JustStarted ) {
- _JustStarted = false ;
- }
- else {
- _EventNodes.pop_front() ;
- _Events.pop_front() ;
- _States.pop_front() ;
- }
-
- aNode = ((GraphExecutor::InNode *) Graph()->GetGraphNode( NodeName )->GetInNode()) ;
- cdebug << "EventW Previous Node " << NodeName << " ThreadsNumber "
- << ThreadsNumber
- << " _EventNodes.size() " << _EventNodes.size() << " "
- << theAutomaton->StateName( theState )
- << " Threads " << Threads() << " SuspendedThreads "
- << SuspendedThreads() << endl ;
- if ( aNode ) {
- }
- else if ( IsDone() && _EventNodes.size() == 0 ) {
- cdebug << "EventW IsDone() && _EventNodes.size() == 0" << endl ;
- RetVal = 0 ;
- }
- else {
- cdebug << "EventW Not InNode " << NodeName
- << " _EventNodes.size() " << _EventNodes.size() << endl ;
- while ( _EventNodes.size() == 0 ) {
- pthread_cond_wait( &_EventWait , &_MutexWait );
- }
- cdebug << "EventW pthread_cond_waited Not InNode " << NodeName
- << " _EventNodes.size() " << _EventNodes.size() << endl ;
- }
- }
-
- if ( aNode ) {
- if ( aState == SUPERV::SuspendState ||
- aState == SUPERV::SuspendReadyState ||
- aState == SUPERV::SuspendDoneState ||
- aState == SUPERV::SuspendErroredState ) {
- aNode->ControlState( SUPERV::ToSuspendState ) ;
- if ( aNode->IsSuspended() ) {
- if ( pthread_mutex_unlock( &_MutexWait ) ) {
- perror("EventW pthread_mutex_lock ") ;
- exit( 0 ) ;
- }
- cdebug << "EventW " << aNode->Name() << " ResumeAction" << endl ;
- aNode->ResumeAction( GraphExecutor::ToResumeEvent ) ;
- cdebug << "EventW " << aNode->Name() << " ResumedAction" << endl ;
- if ( pthread_mutex_lock( &_MutexWait ) ) {
- perror("EventW pthread_mutex_lock ") ;
- exit( 0 ) ;
- }
- }
- else {
- cdebug << "EventW inconsistent SuspendState" << endl ;
- RetVal = false ;
- }
- }
- else {
- if ( aNode->IsDone() ) {
- RetVal = true ;
- }
- else {
- cdebug << "EventW NOT SuspendedState _EventNodes.size() "
- << _EventNodes.size() << endl ;
- RetVal = true ;
- }
- }
- if ( RetVal ) {
- cdebug << "EventW " << aNode->Name() << " pthread_cond_wait" << endl ;
- while ( _EventNodes.size() == 0 ) {
- pthread_cond_wait( &_EventWait , &_MutexWait );
- }
- ThreadsNumber = Threads() ;
- NodeName = _EventNodes.front() ;
- theEvent = _Events.front() ;
- anEvent = AutomatonGraphEvent( theEvent ) ;
- theState = _States.front() ;
- aState = AutomatonGraphState( theState ) ;
- }
- }
- }
- *aNodeName = NodeName ;
- cdebug << "<-- EventW RetVal " << RetVal << " " << NodeName
- << " Threads " << Threads() << " SuspendedThreads "
- << SuspendedThreads()
- << " _EventNodes.size() " << _EventNodes.size()
- << " " << theAutomaton->EventName( theEvent ) << " "
- << theAutomaton->StateName( theState ) << endl ;
- if ( pthread_mutex_unlock( &_MutexWait ) ) {
- perror("EventW pthread_mutex_lock ") ;
- exit( 0 ) ;
- }
- return RetVal ;
-}
-long GraphExecutor::OutNode::EventQSize() {
- return _EventNodes.size() ;
-}
-
-void GraphExecutor::OutNode::EventList() {
- if ( pthread_mutex_lock( &_MutexWait ) ) {
- perror("EventList pthread_mutex_lock ") ;
- exit( 0 ) ;
- }
- list< char * >::iterator itEventNodes = _EventNodes.begin() ;
- list< GraphExecutor::NodeEvent >::iterator itEvents = _Events.begin() ;
- list< SUPERV::AutomatonState >::iterator itStates = _States.begin() ;
- while ( itEventNodes != _EventNodes.end() ) {
- cdebug << pthread_self() << "EVENTSTACK "
- << *itEventNodes << " " << *itEvents << " "
- << theAutomaton->StateName( *itStates )
- << " Threads " << Threads() << " SuspendedThreads " << SuspendedThreads() << endl ;
- itEventNodes++ ;
- itEvents++ ;
- itStates++ ;
- }
- if ( pthread_mutex_unlock( &_MutexWait ) ) {
- perror("EventList pthread_mutex_lock ") ;
- exit( 0 ) ;
- }
-}
-
-void GraphExecutor::OutNode::State(SUPERV::AutomatonState aState ) {
-// cdebug << "GraphExecutor::OutNode::State " << Graph()->Name() << " "
-// << theAutomaton->StateName( AutomatonGraphState( _State ) ) << " ---> "
-// << theAutomaton->StateName( AutomatonGraphState( aState ) ) << endl ;
- _State = aState ;
-}
-
-SUPERV::GraphState GraphExecutor::OutNode::State() {
-// cdebug_in << "GraphExecutor::OutNode::State" << endl;
-// cdebug_out << "GraphExecutor::OutNode::State" << endl ;
-// cdebug << "GraphExecutor::OutNode::State GraphState "
-// << theAutomaton->StateName( AutomatonGraphState( _State ) ) << endl ;
- return AutomatonGraphState( _State ) ;
-}
-
-SUPERV::GraphState GraphExecutor::OutNode::State( const char * NodeName ) {
-// cdebug_in << "GraphExecutor::OutNode::State " << NodeName << endl;
- SUPERV::AutomatonState aret = SUPERV::UnKnownState ;
- const GraphBase::ComputingNode * aCNode = Graph()->GetGraphNode( NodeName ) ;
- if ( aCNode ) {
- GraphExecutor::InNode *anInNode = (GraphExecutor::InNode *)aCNode->GetInNode() ;
- if ( anInNode ) {
- aret = anInNode->State() ;
-// cdebug << "GraphExecutor::OutNode::State( " << NodeName << " ) "
-// << theAutomaton->StateName( AutomatonGraphState( aret ) ) << endl ;
- }
- }
-// cdebug_out << "GraphExecutor::OutNode::State" << endl ;
- return AutomatonGraphState( aret ) ;
-}
-
-SUPERV::GraphState GraphExecutor::OutNode::State( const char * NodeName ,
- const char * ServiceParameterName ) {
-// cdebug_in << "GraphExecutor::OutNode::State " << NodeName << " "
-// << ServiceParameterName<< endl;
- SUPERV::GraphState aret = Graph()->PortState( NodeName , ServiceParameterName ) ;
-// cdebug_out << "GraphExecutor::OutNode::State" << endl ;
- return aret ;
-}
-
-SUPERV::AutomatonState GraphExecutor::OutNode::AutomatonState() {
-// cdebug_in << "GraphExecutor::OutNode::AutomatonState" << endl;
-// cdebug_out << "GraphExecutor::OutNode::AutomatonState" << endl ;
- return _State ;
-}
-
-SUPERV::AutomatonState GraphExecutor::OutNode::AutomatonState( const char * NodeName ) {
-// cdebug_in << "GraphExecutor::OutNode::AutomatonState " << NodeName << endl;
- SUPERV::AutomatonState aret = SUPERV::UnKnownState ;
- GraphExecutor::InNode *anInNode = (GraphExecutor::InNode *) Graph()->GetGraphNode( NodeName )->GetInNode() ;
- if ( anInNode )
- aret = anInNode->State() ;
-// cdebug_out << "GraphExecutor::OutNode::AutomatonState" << endl ;
- return aret ;
-}
-
-SUPERV::ControlState GraphExecutor::OutNode::ControlState() {
-// cdebug_in << "GraphExecutor::OutNode::ControlState" << endl;
-// cdebug_out << "GraphExecutor::OutNode::ControlState" << endl ;
- return _ControlState ;
-}
-
-SUPERV::ControlState GraphExecutor::OutNode::ControlState( const char * NodeName ) {
-// cdebug_in << "GraphExecutor::OutNode::ControlState " << NodeName << endl;
- SUPERV::ControlState aret = SUPERV::VoidState ;
- GraphExecutor::InNode *anInNode = (GraphExecutor::InNode *) Graph()->GetGraphNode( NodeName )->GetInNode() ;
- if ( anInNode )
- aret = anInNode->ControlState() ;
-// cdebug_out << "GraphExecutor::OutNode::ControlState" << endl ;
- return aret ;
-}
-
-void GraphExecutor::OutNode::ControlClear() {
-// cdebug_in << "GraphExecutor::OutNode::ControlClear" << endl;
-// cdebug_out << "GraphExecutor::OutNode::ControlClear" << endl ;
- _ControlState = SUPERV::VoidState;
-}
-
-void GraphExecutor::OutNode::ControlClear( const char * NodeName ) {
-// cdebug_in << "GraphExecutor::OutNode::ControlClear " << NodeName << endl;
- GraphExecutor::InNode *anInNode = (GraphExecutor::InNode *) Graph()->GetGraphNode( NodeName )->GetInNode() ;
- if ( anInNode )
- anInNode->ControlClear() ;
-// cdebug_out << "GraphExecutor::OutNode::ControlClear" << endl ;
-}
-
-bool GraphExecutor::OutNode::IsWaiting() {
-// cdebug_in << "GraphExecutor::OutNode::IsWaiting" << endl;
-// cdebug_out << "GraphExecutor::OutNode::IsWaiting" << endl ;
- return !IsDone() ;
-}
-
-bool GraphExecutor::OutNode::IsReady() {
-// cdebug_in << "GraphExecutor::OutNode::IsReady" << endl;
-// cdebug_out << "GraphExecutor::OutNode::IsReady" << endl ;
- return !IsDone() ;
-}
-
-bool GraphExecutor::OutNode::IsRunning() {
-// cdebug_in << "GraphExecutor::OutNode::IsRunning" << endl;
-// cdebug_out << "GraphExecutor::OutNode::IsRunning" << endl ;
- return !IsDone() ;
-}
-
-bool GraphExecutor::OutNode::IsDone() {
-// cdebug_in << "GraphExecutor::OutNode::IsDone" << endl;
-// cdebug_out << "GraphExecutor::OutNode::IsDone" << endl ;
- return ( Done() || IsKilled() || IsStopped() ) ;
-}
-
-bool GraphExecutor::OutNode::IsSuspended() {
-// cdebug_in << "GraphExecutor::OutNode::IsSuspended" << endl;
- bool aret = false ;
- if ( _SuspendedThreads == _Threads ) {
- aret = true ;
- }
-// cdebug_out << "GraphExecutor::OutNode::IsSuspended" << endl ;
- return aret ;
-}
-
-bool GraphExecutor::OutNode::IsKilled() {
-// cdebug_in << "GraphExecutor::OutNode::IsKilled" << endl;
- bool aret = false ;
- if ( AutomatonGraphState( _State ) == SUPERV::KillState ) {
- aret = true ;
- }
-// cdebug_out << "GraphExecutor::OutNode::IsKilled" << endl ;
- return aret ;
-}
-
-bool GraphExecutor::OutNode::IsStopped() {
-// cdebug_in << "GraphExecutor::OutNode::IsStopped" << endl;
- bool aret = false ;
- if ( AutomatonGraphState( _State ) == SUPERV::StopState ) {
- aret = true ;
- }
-// cdebug_out << "GraphExecutor::OutNode::IsStopped" << endl ;
- return aret ;
-}
-
-bool GraphExecutor::OutNode::IsWaiting( const char * NodeName ) {
- bool aret = false ;
-// cdebug_in << "GraphExecutor::OutNode::IsWaiting " << NodeName << endl;
- GraphExecutor::InNode *anInNode = (GraphExecutor::InNode *) Graph()->GetGraphNode( NodeName )->GetInNode() ;
- if ( anInNode ) {
- aret = anInNode->IsWaiting() ;
- }
-// cdebug_out << "GraphExecutor::OutNode::IsWaiting" << endl ;
- return aret ;
-}
-
-bool GraphExecutor::OutNode::IsReady( const char * NodeName ) {
- bool aret = false ;
-// cdebug_in << "GraphExecutor::OutNode::IsReady " << NodeName << endl;
- GraphExecutor::InNode *anInNode = (GraphExecutor::InNode *) Graph()->GetGraphNode( NodeName )->GetInNode() ;
- if ( anInNode ) {
- aret = anInNode->IsReady() ;
- }
-// cdebug_out << "GraphExecutor::OutNode::IsReady" << endl ;
- return aret ;
-}
-
-bool GraphExecutor::OutNode::IsRunning( const char * NodeName ) {
- bool aret = false ;
-// cdebug_in << "GraphExecutor::OutNode::IsRunning " << NodeName << endl;
- GraphExecutor::InNode *anInNode = (GraphExecutor::InNode *) Graph()->GetGraphNode( NodeName )->GetInNode() ;
- if ( anInNode ) {
- aret = anInNode->IsRunning() ;
- }
-// cdebug_out << "GraphExecutor::OutNode::IsRunning" << endl ;
- return aret ;
-}
-
-bool GraphExecutor::OutNode::IsDone( const char * NodeName ) {
- bool aret = false ;
-// cdebug_in << "GraphExecutor::OutNode::IsDone " << NodeName << endl;
- GraphExecutor::InNode *anInNode = (GraphExecutor::InNode *) Graph()->GetGraphNode( NodeName )->GetInNode() ;
- if ( anInNode ) {
- aret = anInNode->IsDone() ;
- }
-// cdebug_out << "GraphExecutor::OutNode::IsDone" << endl ;
- return aret ;
-}
-
-bool GraphExecutor::OutNode::IsSuspended( const char * NodeName ) {
- bool aret = false ;
-// cdebug_in << "GraphExecutor::OutNode::IsSuspended " << NodeName << endl;
- GraphExecutor::InNode *anInNode = (GraphExecutor::InNode *) Graph()->GetGraphNode( NodeName )->GetInNode() ;
- if ( anInNode ) {
- aret = anInNode->IsSuspended() ;
- }
-// cdebug_out << "GraphExecutor::OutNode::IsSuspended" << endl ;
- return aret ;
-}
-
-bool GraphExecutor::OutNode::IsDone( const char * NodeName ,
- const char * ServiceParameterName ) {
-// cdebug_in << "GraphExecutor::OutNode::IsDone " << NodeName << " "
-// << ServiceParameterName<< endl;
- bool aret = Graph()->PortDone( NodeName , ServiceParameterName ) ;
-// cdebug_out << "GraphExecutor::OutNode::IsDone" << endl ;
- return aret ;
-}
-
-bool GraphExecutor::OutNode::ContainerKill() {
- bool RetVal = true ;
- cdebug_in << "GraphExecutor::OutNode::ContainerKill" << endl;
- _ControlState = SUPERV::ToSuspendState ;
- int i ;
- for ( i = 0 ; i < Graph()->GraphNodesSize() ; i++ ) {
- GraphExecutor::InNode * aNode = (GraphExecutor::InNode * ) Graph()->GraphNodes( i )->GetInNode() ;
- bool sts = aNode->ContainerKill() ;
- if ( sts && aNode->IsKilled() ) {
- cdebug << aNode->Name() << " killed" << endl ;
- }
- else if ( aNode->IsWaiting() || aNode->IsDone() ) {
- cdebug << aNode->Name() << " not killed : "
- << theAutomaton->StateName( aNode->State() ) << endl ;
- }
- else {
- cdebug << aNode->Name() << " cannot be killed : "
- << theAutomaton->StateName( aNode->State() ) << endl ;
- RetVal = false ;
- }
- }
- if ( !RetVal || Threads() != 0 ) {
- for ( i = 0 ; i < Graph()->GraphNodesSize() ; i++ ) {
- GraphExecutor::InNode * aNode = (GraphExecutor::InNode * ) Graph()->GraphNodes( i )->GetInNode() ;
- if ( !aNode->IsKilled() && !aNode->IsWaiting() && !aNode->IsDone() ) {
- aNode->KilledAction() ;
- }
- }
- RetVal = true ;
- }
- State( SUPERV::KilledState ) ;
- cdebug_out << "GraphExecutor::OutNode::ContainerKill" << endl ;
- return RetVal ;
-}
-
-bool GraphExecutor::OutNode::Suspend() {
- int RetVal = 0 ;
- cdebug_in << "GraphExecutor::OutNode::Suspend" << endl;
-// _ControlState = SUPERV::ToSuspendState ;
- int i ;
- for ( i = 0 ; i < Graph()->GraphNodesSize() ; i++ ) {
- GraphExecutor::InNode * aNode = (GraphExecutor::InNode * ) Graph()->GraphNodes( i )->GetInNode() ;
- bool sts = aNode->Suspend() ;
- if ( sts && aNode->IsSuspended() ) {
- RetVal += 1 ;
- cdebug << aNode->Name() << " Suspended" << endl ;
- }
- else if ( aNode->IsWaiting() || aNode->IsDone() ) {
- cdebug << aNode->Name() << " not Suspended : "
- << theAutomaton->StateName( aNode->State() ) << endl ;
- }
- else {
- RetVal += 1 ;
- cdebug << aNode->Name() << " cannot be Suspended : "
- << theAutomaton->StateName( aNode->State() ) << endl ;
- }
- }
- if ( RetVal ) {
- State( SUPERV::SuspendedState ) ;
- MESSAGE("================================================================================") ;
- MESSAGE( Graph()->Name() << " IS SUSPENDED" ) ;
- MESSAGE("================================================================================") ;
- }
- else {
- MESSAGE("================================================================================") ;
- MESSAGE( Graph()->Name() << " IS NOT SUSPENDED" ) ;
- MESSAGE("================================================================================") ;
- }
- cdebug_out << "GraphExecutor::OutNode::Suspend" << theAutomaton->StateName( State() ) << endl ;
- return RetVal ;
-}
-
-bool GraphExecutor::OutNode::Resume() {
- int RetVal = 0 ;
- cdebug_in << "GraphExecutor::OutNode::Resume" << endl;
- if ( IsSuspended() ) {
- State( SUPERV::ExecutingState ) ;
- int i ;
- for ( i = 0 ; i < Graph()->GraphNodesSize() ; i++ ) {
- GraphExecutor::InNode * aNode = (GraphExecutor::InNode * ) Graph()->GraphNodes( i )->GetInNode() ;
- aNode->ControlState( SUPERV::VoidState ) ;
- if ( aNode->IsSuspended() ) {
- cdebug << aNode->Name() << "->Resume " << theAutomaton->StateName( aNode->State() )
- << endl ;
- if ( aNode->Resume() ) {
- cdebug << aNode->Name() << " Resumed " << theAutomaton->StateName( aNode->State() )
- << endl ;
- RetVal += 1 ;
- }
- else {
- cdebug << aNode->Name() << " Resume failed"
- << theAutomaton->StateName( aNode->State() ) << endl ;
- }
- }
- else {
- cdebug << aNode->Name() << " " << theAutomaton->StateName( aNode->State() )
- << endl ;
- }
- }
- }
- else {
- cdebug << Graph()->Name() << " not suspended " << theAutomaton->StateName( State() ) << endl ;
- }
- if ( RetVal ) {
- MESSAGE("================================================================================") ;
- MESSAGE( Graph()->Name() << " IS RESUMED" ) ;
- MESSAGE("================================================================================") ;
- }
- else {
- MESSAGE("================================================================================") ;
- MESSAGE( Graph()->Name() << " IS NOT RESUMED" ) ;
- MESSAGE("================================================================================") ;
- }
- cdebug_out << "GraphExecutor::OutNode::Resume" << theAutomaton->StateName( State() ) << " " << RetVal << endl ;
- return RetVal ;
-}
-
-bool GraphExecutor::OutNode::Kill() {
- bool RetVal = true ;
- cdebug_in << "GraphExecutor::OutNode::Kill" << endl;
- _ControlState = SUPERV::ToSuspendState ;
- int i ;
- for ( i = 0 ; i < Graph()->GraphNodesSize() ; i++ ) {
- GraphExecutor::InNode * aNode = (GraphExecutor::InNode * ) Graph()->GraphNodes( i )->GetInNode() ;
- bool sts = aNode->Kill() ;
- if ( sts && aNode->IsKilled() ) {
- cdebug << aNode->Name() << " killed" << endl ;
- }
- else if ( aNode->IsWaiting() || aNode->IsDone() ) {
- cdebug << aNode->Name() << " not killed : "
- << theAutomaton->StateName( aNode->State() ) << endl ;
- }
- else {
- cdebug << aNode->Name() << " cannot be killed : "
- << theAutomaton->StateName( aNode->State() ) << endl ;
- RetVal = false ;
- }
- }
- if ( !RetVal || Threads() != 0 ) {
- for ( i = 0 ; i < Graph()->GraphNodesSize() ; i++ ) {
- GraphExecutor::InNode * aNode = (GraphExecutor::InNode * ) Graph()->GraphNodes( i )->GetInNode() ;
- if ( !aNode->IsKilled() && !aNode->IsWaiting() && !aNode->IsDone() ) {
- cdebug << aNode->Name() << " not killed : "
- << theAutomaton->StateName( aNode->State() ) << " " << aNode->Name() << "->"
- << "KilledAction()" << endl ;
- aNode->KilledAction() ;
- }
- }
- RetVal = true ;
- }
- State( SUPERV::KilledState ) ;
- if ( RetVal ) {
- MESSAGE("================================================================================") ;
- MESSAGE( Graph()->Name() << " IS KILLED" << theAutomaton->StateName( AutomatonState() ) << " EventQSize "
- << EventQSize() ) ;
- MESSAGE("================================================================================") ;
- }
- else {
- MESSAGE("================================================================================") ;
- MESSAGE( Graph()->Name() << " IS NOT KILLED" ) ;
- MESSAGE("================================================================================") ;
- }
- cdebug_out << "GraphExecutor::OutNode::Kill " << RetVal << endl ;
- return RetVal ;
-}
-
-bool GraphExecutor::OutNode::Stop() {
- bool RetVal = false ;
- cdebug_in << "GraphExecutor::OutNode::Stop" << endl;
- RetVal = Kill() ;
- cdebug_out << "GraphExecutor::OutNode::Stop" << endl ;
- if ( RetVal ) {
- MESSAGE("================================================================================") ;
- MESSAGE( Graph()->Name() << " IS STOPPED" ) ;
- MESSAGE("================================================================================") ;
- }
- return RetVal ;
-}
-bool GraphExecutor::OutNode::ReRun() {
- bool RetVal = false ;
- cdebug_in << "GraphExecutor::OutNode::ReRun" << endl;
- if ( IsSuspended() ) {
- }
- cdebug_out << "GraphExecutor::OutNode::ReRun" << endl ;
- return RetVal ;
-}
-bool GraphExecutor::OutNode::ReStart() {
- bool RetVal = false ;
- cdebug_in << "GraphExecutor::OutNode::ReStart" << endl;
- if ( IsSuspended() ) {
- }
- cdebug_out << "GraphExecutor::OutNode::ReStart" << endl ;
- return RetVal ;
-}
-
-bool GraphExecutor::OutNode::ReadyWait() {
- cdebug_in << "GraphExecutor::OutNode::ReadyWait" << endl;
- bool aret ;
- if ( pthread_mutex_lock( &_MutexWait ) ) {
- perror("pthread_mutex_lock _ReadyWait") ;
- exit( 0 ) ;
- }
- aret = IsReady() ;
- if ( !aret ) {
- Suspend() ;
- pthread_cond_wait( &_EventWait , &_MutexWait );
- aret = IsReady() ;
- }
- if ( pthread_mutex_unlock( &_MutexWait ) ) {
- perror("pthread_mutex_lock _ReadyWait") ;
- exit( 0 ) ;
- }
- cdebug_out << "GraphExecutor::OutNode::ReadyWait" << endl ;
- return aret ;
-}
-
-bool GraphExecutor::OutNode::RunningWait() {
- cdebug_in << "GraphExecutor::OutNode::RunningWait" << endl;
- bool aret ;
- if ( pthread_mutex_lock( &_MutexWait ) ) {
- perror("pthread_mutex_lock _RunningWait") ;
- exit( 0 ) ;
- }
- aret = IsRunning() ;
- if ( !aret ) {
- cdebug << "RunningWait pthread_cond_wait _EventWait" << endl;
- pthread_cond_wait( &_EventWait , &_MutexWait );
- aret = IsRunning() ;
- cdebug << "RunningWait pthread_cond_waited _EventWait " << aret << endl;
- }
- if ( pthread_mutex_unlock( &_MutexWait ) ) {
- perror("pthread_mutex_lock _RunningWait") ;
- exit( 0 ) ;
- }
- cdebug_out << "GraphExecutor::OutNode::RunningWait " << aret << endl ;
- return aret ;
-}
-
-bool GraphExecutor::OutNode::DoneWait() {
- cdebug_in << "GraphExecutor::OutNode::DoneWait" << endl;
- bool aret ;
- if ( pthread_mutex_lock( &_MutexWait ) ) {
- perror("pthread_mutex_lock _DoneWait") ;
- exit( 0 ) ;
- }
- aret = IsDone() ;
- while ( !aret && !IsSuspended() && IsRunning() ) {
- cdebug << "DoneWait pthread_cond_wait _EventWait" << endl;
- pthread_cond_wait( &_EventWait , &_MutexWait );
- aret = IsDone() ;
- cdebug << "DoneWait pthread_cond_waited _EventWait " << aret << endl;
- }
- if ( pthread_mutex_unlock( &_MutexWait ) ) {
- perror("pthread_mutex_lock _DoneWait") ;
- exit( 0 ) ;
- }
- cdebug_out << "GraphExecutor::OutNode::DoneWait " << aret << endl ;
- return aret ;
-}
-
-bool GraphExecutor::OutNode::SuspendedWait() {
- cdebug_in << "GraphExecutor::OutNode::SuspendedWait" << endl;
- bool aret ;
- if ( pthread_mutex_lock( &_MutexWait ) ) {
- perror("pthread_mutex_lock _SuspendedWait") ;
- exit( 0 ) ;
- }
- aret = IsSuspended() ;
- while ( !aret && !IsDone() ) {
- pthread_cond_wait( &_EventWait , &_MutexWait );
- aret = IsSuspended() ;
- }
- if ( pthread_mutex_unlock( &_MutexWait ) ) {
- perror("pthread_mutex_lock _SuspendedWait") ;
- exit( 0 ) ;
- }
- cdebug_out << "GraphExecutor::OutNode::SuspendedWait" << endl ;
- return aret ;
-}
-
-bool GraphExecutor::OutNode::ReadyWait( const char * NodeName ) {
- bool aret = false ;
- cdebug_in << "GraphExecutor::OutNode::ReadyWait " << NodeName << endl;
- GraphExecutor::InNode *anInNode = (GraphExecutor::InNode *) Graph()->GetGraphNode( NodeName )->GetInNode() ;
- if ( anInNode ) {
- aret = anInNode->ReadyWait() ;
- }
- cdebug_out << "GraphExecutor::OutNode::ReadyWait" << endl ;
- return aret ;
-}
-
-bool GraphExecutor::OutNode::RunningWait( const char * NodeName ) {
- bool aret = false ;
- cdebug_in << "GraphExecutor::OutNode::RunningWait " << NodeName << endl;
- GraphExecutor::InNode *anInNode = (GraphExecutor::InNode *) Graph()->GetGraphNode( NodeName )->GetInNode() ;
- if ( anInNode ) {
- aret = anInNode->RunningWait() ;
- }
- cdebug_out << "GraphExecutor::OutNode::RunningWait" << endl ;
- return aret ;
-}
-
-bool GraphExecutor::OutNode::DoneWait( const char * NodeName ) {
- bool aret = false ;
- cdebug_in << "GraphExecutor::OutNode::DoneWait " << NodeName << endl;
- GraphExecutor::InNode *anInNode = (GraphExecutor::InNode *) Graph()->GetGraphNode( NodeName )->GetInNode() ;
- if ( anInNode ) {
- aret = anInNode->DoneWait() ;
- }
- cdebug_out << "GraphExecutor::OutNode::DoneWait" << endl ;
- return aret ;
-}
-
-bool GraphExecutor::OutNode::SuspendedWait( const char * NodeName ) {
- bool aret = false ;
- cdebug_in << "GraphExecutor::OutNode::SuspendedWait " << NodeName << endl;
- GraphExecutor::InNode *anInNode = (GraphExecutor::InNode *) Graph()->GetGraphNode( NodeName )->GetInNode() ;
- if ( anInNode ) {
- aret = anInNode->SuspendedWait() ;
- }
- cdebug_out << "GraphExecutor::OutNode::SuspendedWait" << endl ;
- return aret ;
-}
-
-long GraphExecutor::OutNode::LastLevelDone() {
- int RetVal = -1 ;
- int i , j ;
- for ( i = 0 ; i <= Graph()->LevelMax() ; i++ ) {
- for ( j = 0 ; j <= Graph()->NodesNumber( i ) ; j++ ) {
- GraphBase::ComputingNode * aNode = Graph()->SortedNodes( i , j ) ;
- if ( !IsDone( aNode->Name() ) ) {
- break ;
- }
- }
- if ( j != Graph()->NodesNumber( i ) + 1 )
- break ;
- RetVal = i ;
- }
- return RetVal ;
-}
-
-
-const CORBA::Any *GraphExecutor::OutNode::GetInData( const char * NodeName ,
- const char * ServiceParameterName ) {
-// cdebug_in << "GraphExecutor::OutNode::GetInData " << NodeName << " "
-// << ServiceParameterName << endl ;
- const CORBA::Any * retdata = Graph()->PortInData( NodeName , ServiceParameterName ) ;
-// cdebug_out << "GraphExecutor::OutNode::GetInData" << endl ;
- return retdata ;
-}
-
-const CORBA::Any *GraphExecutor::OutNode::GetOutData( const char * NodeName ,
- const char * ServiceParameterName ) {
-// cdebug_in << "GraphExecutor::OutNode::GetOutData " << NodeName << " "
-// << ServiceParameterName << endl ;
- const CORBA::Any * retdata = Graph()->PortOutData( NodeName , ServiceParameterName ) ;
-// cdebug_out << "GraphExecutor::OutNode::GetOutData" << endl ;
- return retdata ;
-}
-
-const long GraphExecutor::OutNode::CpuUsed() {
- return Graph()->CpuUsed() ;
-}
-
-const long GraphExecutor::OutNode::CpuUsed( const char * aNodeName ) {
- GraphBase::ComputingNode * aNode = Graph()->GetChangeGraphNode( aNodeName ) ;
- if ( aNode ) {
- GraphExecutor::InNode * anInNode = (GraphExecutor::InNode * ) aNode->GetInNode() ;
- if ( anInNode ) {
- return anInNode->CpuUsed() ;
- }
- }
- return 0 ;
-}
-
-
+++ /dev/null
-// SUPERV GraphExecutor : contains classes that permit execution of graphs and particularly the execution automaton
-//
-// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
-// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
-//
-// This library is free software; you can redistribute it and/or
-// modify it under the terms of the GNU Lesser General Public
-// License as published by the Free Software Foundation; either
-// version 2.1 of the License.
-//
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-// Lesser General Public License for more details.
-//
-// You should have received a copy of the GNU Lesser General Public
-// License along with this library; if not, write to the Free Software
-// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-//
-// See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
-//
-//
-//
-// File : DataFlowBase_OutNode.hxx
-// Author : Jean Rahuel, CEA
-// Module : SUPERV
-// $Header:
-
-#ifndef _DATAFLOWEXECUTOR_OUTNODE_HXX
-#define _DATAFLOWEXECUTOR_OUTNODE_HXX
-
-#include "SALOME_Component_i.hxx"
-
-#include "DataFlowExecutor_InNode.hxx"
-
-#include "DataFlowBase_StreamGraph.hxx"
-
-namespace GraphExecutor {
-
-// class OutNode : public GraphBase::Graph {
- class OutNode : public GraphBase::Base {
-
- private :
-
- GraphBase::StreamGraph * _StreamGraph ;
- GraphBase::Graph * _Graph ;
-
- int _Graph_prof_debug ;
-
- bool _PyInitialized ;
- bool _Valid ;
- bool _Executable ;
- SUPERV::AutomatonState _State ;
- SUPERV::ControlState _ControlState ;
- bool _Done ;
-
- pthread_mutex_t _PyMutexWait ;
- pthread_mutex_t _MutexWait ;
- pthread_cond_t _EventWait ;
- pthread_cond_t _JoinWait ;
- bool _JustStarted ;
- int _Threads ; // Number of threads
- int _SuspendedThreads ;
- list< char * > _EventNodes ;
- list< GraphExecutor::NodeEvent > _Events ;
- list< SUPERV::AutomatonState > _States ;
-
- bool Valid() ;
- void UnValid() ;
- bool Executable() ;
-
- bool LoadNodes( const GraphBase::ListOfNodes &aNodes ) ;
- bool LoadLinks( const GraphBase::ListOfLinks &aLinks ) ;
- bool LoadDatas( const GraphBase::ListOfLinks &aDatas ) ;
-
- CORBA::ORB_ptr _Orb ;
-
- public :
-
- OutNode() ;
- OutNode( CORBA::ORB_ptr ORB, SALOME_NamingService* ptrNamingService ,
- const char *DataFlowName ,
- const char * DebugFileName ,
- const SUPERV::KindOfNode aKindOfNode );
- OutNode( CORBA::ORB_ptr ORB, SALOME_NamingService* ptrNamingService ,
- const SALOME_ModuleCatalog::Service& DataFlowService ,
- const char *DataFlowComponentName ,
- const char *DataFlowInterfaceName ,
- const char *DataFlowName ,
- const SUPERV::KindOfNode DataFlowkind ,
- const SUPERV::SDate DataFlowFirstCreation ,
- const SUPERV::SDate DataFlowLastModification ,
- const char * DataFlowEditorRelease ,
- const char * DataFlowAuthor ,
- const char * DataFlowComputer ,
- const char * DataFlowComment ,
- const char * DebugFileName ) ;
- virtual ~OutNode() ;
-
- void Set_prof_debug( CORBA::ORB_ptr ORB , const char * DebugFileName ) ;
- GraphBase::StreamGraph * StreamGraph() {
- return _StreamGraph ; } ;
- GraphBase::StreamGraph * StreamGraph() const {
- return _StreamGraph ; } ;
- GraphBase::Graph * Graph() {
- return _Graph ; } ;
- GraphBase::Graph * Graph() const {
- return _Graph ; } ;
-
- bool LoadDataFlow( const GraphBase::SGraph &aDataFlow ) ;
- bool LoadXml( const char* myFileName ) ;
- bool LoadInfo( const GraphBase::SNode &aDataFlowInfo ) ;
-
- GraphExecutor::InNode * AddNode(
- const SALOME_ModuleCatalog::Service& NodeService ,
- GraphBase::ListOfFuncName aFuncName ,
- GraphBase::ListOfPythonFunctions aPythonFunction ,
- const char * NodeComponentName ,
- const char * NodeInterfaceName ,
- const char * NodeName ,
- const SUPERV::KindOfNode NodeKindOfNode = SUPERV::ComputingNode ,
- const SUPERV::SDate NodeFirstCreation = SUPERV::SDate() ,
- const SUPERV::SDate NodeLastModification = SUPERV::SDate() ,
- const char * NodeEditorRelease = NULLSTRING ,
- const char * NodeAuthor = NULLSTRING ,
- const char * NodeComputer = NULLSTRING ,
- const char * NodeComment = NULLSTRING ,
- const int NodeX = 0 ,
- const int NodeY = 0 ) ;
-
- bool AddInputData( const char* ToNodeName1 ,
- const char* ToParameterName1 ,
- const char* ToNodeName2 ,
- const char* ToParameterName2 ) ;
-
- bool IsValid() { if ( !_Valid )
- return Valid() ;
- return _Valid ; } ;
- bool IsExecutable() { if ( !_Executable )
- return Executable() ;
- return _Executable ; } ;
-
- bool Run( const bool AndSuspend ) ;
- bool Run( const char * aNodeName , const char * AtNodeName ,
- const bool AndSuspend ) ;
-
- void PyInitialized( bool init ) {
- _PyInitialized = init ; } ;
- bool PyInitialized() {
- return _PyInitialized ; } ;
-
- void CheckAllDone() ;
-
- void PThreadLock( pthread_mutex_t * aMutex , char * errmsg ) ;
- void PThreadUnLock( pthread_mutex_t * aMutex , char * errmsg ) ;
- void PyThreadLock() ;
- void PyThreadUnLock() ;
-
- void NewThread() ;
- void ExitThread() ;
- void SuspendThread() ;
- void ResumeThread() ;
- long Threads() { return _Threads ; } ;
- long SuspendedThreads() { return _SuspendedThreads ; } ;
- void JoinedWait() ;
-
- pthread_t ThreadNo() {
- return _Graph->ThreadNo() ; } ;
- long Thread( const char * NodeName ) ;
-
- bool PushEvent( GraphExecutor::InNode * aNode ,
- GraphExecutor::NodeEvent anEvent ,
- SUPERV::AutomatonState aState ) ;
- int GetListSize();
- bool StateWait( SUPERV::GraphState aState ) ;
- bool Event( char ** aNodeName ,
- SUPERV::GraphEvent & anEvent ,
- SUPERV::GraphState & aState ,
- bool WithWait ) ;
- bool EventW( char ** aNodeName ,
- SUPERV::GraphEvent & anEvent ,
- SUPERV::GraphState & aState ) ;
- bool EventWait( char ** aNodeName ,
- SUPERV::GraphEvent & anEvent ,
- SUPERV::GraphState & aState ) ;
- long EventQSize() ;
- void EventList() ;
-
- void State(SUPERV::AutomatonState aState ) ;
- const char * StateName(SUPERV::AutomatonState aState ) {
- return theAutomaton->StateName( aState ) ; }
-
- SUPERV::GraphState State() ;
- SUPERV::GraphState State( const char * NodeName ) ;
- SUPERV::GraphState State( const char * NodeName ,
- const char * ServiceParameterName ) ;
-
- SUPERV::GraphEvent AutomatonGraphEvent(GraphExecutor::NodeEvent anEvent) ;
- SUPERV::GraphState AutomatonGraphState(SUPERV::AutomatonState anAutomatonState) ;
-
- SUPERV::AutomatonState AutomatonState() ;
- SUPERV::AutomatonState AutomatonState( const char * NodeName ) ;
-
- SUPERV::ControlState ControlState() ;
- SUPERV::ControlState ControlState( const char * aNodeName ) ;
- void ControlClear() ;
- void ControlClear( const char * aNodeName ) ;
-
- bool ContainerKill() ;
-
- bool Suspend() ;
- bool Resume() ;
- bool Kill() ;
- bool Stop() ;
- bool ReRun() ;
- bool ReStart() ;
-
- bool IsWaiting() ;
- bool IsReady() ;
- bool IsRunning() ;
- void Done( bool aDone ) { _Done = aDone ; } ;
- bool Done() { return _Done ; } ;
- bool IsDone() ;
- bool IsSuspended() ;
- bool IsKilled() ;
- bool IsStopped() ;
- bool IsWaiting( const char * NodeName ) ;
- bool IsReady( const char * NodeName ) ;
- bool IsRunning( const char * NodeName ) ;
- bool IsDone( const char * NodeName ) ;
- bool IsSuspended( const char * NodeName ) ;
- bool IsDone( const char * NodeName ,
- const char * ServiceParameterName ) ;
- long LastLevelDone() ;
-
- bool ReadyWait() ;
- bool RunningWait() ;
- bool DoneWait() ;
- bool SuspendedWait() ;
- bool ReadyWait( const char * NodeName ) ;
- bool RunningWait( const char * NodeName ) ;
- bool DoneWait( const char * NodeName ) ;
- bool SuspendedWait( const char * NodeName ) ;
-
- const CORBA::Any *GetInData( const char *ToNodeName ,
- const char *ToParameterName ) ;
- const CORBA::Any *GetOutData( const char *FromNodeName ,
- const char *FromParameterName ) ;
- const long CpuUsed() ;
- const long CpuUsed( const char *aNodeName ) ;
- };
-};
-
-#endif
+++ /dev/null
-// SUPERV GraphExecutor : contains classes that permit execution of graphs and particularly the execution automaton
-//
-// Copyright (C) 2003 CEA/DEN, EDF R&D
-//
-//
-//
-// File : DataFlowExecutor_PyDynInvoke.cxx
-// Author : Jean Rahuel, CEA
-// Module : SUPERV
-// $Header:
-
-using namespace std;
-
-#include <stdarg.h>
-#include <map>
-
-#include "DataFlowExecutor_InNode.hxx"
-
-using namespace CORBA ;
-
-static PyObject * MyPyObjRef = NULL ;
-static PyObject * MyPyObjIor = NULL ;
-static PyObject * MyPyRunMethod = NULL ;
-
-static PyMethodDef MethodPyRunMethod[] = {
- { "RunMethod", PyRunMethod, METH_VARARGS },
- { NULL, NULL }
-};
-
-bool GraphExecutor::InNode::InitPython() {
- cdebug_in << "InitPython" << endl ;
-
- Automaton()->PyLock() ;
-// PyObject * Module = Py_InitModule( "InitPyRunMethod" , MethodPyRunMethod ) ;
- if ( !Automaton()->PyInitModule() ) {
- Py_InitModule( "InitPyRunMethod" , MethodPyRunMethod ) ;
- }
-// PyObject * Dictionnary = PyModule_GetDict( Module ) ;
-// InitPyDynInvokeError = PyErr_NewException( "InitPyDynInvokeError" , NULL , NULL ) ;
-// PyDict_SetItemString( Dictionnary , InitPyDynInvokeError ) ;
- cdebug << ThreadNo() << "Py_Initialized() " << endl ;
-
- if ( Automaton()->PyFunction( "PyObjRef" ) == NULL ) {
- string aPyFunc ;
-// aPyFunc = "print 'InitPyRunMethod'\n" ;
- aPyFunc = "import InitPyRunMethod\n" ;
-// aPyFunc += "print 'sys'\n" ;
- aPyFunc += "import sys\n" ;
-// aPyFunc += "print 'CORBA'\n" ;
- aPyFunc += "import CORBA\n" ;
-// aPyFunc += "print 'omniORB'\n" ;
- aPyFunc += "import omniORB\n" ;
-// aPyFunc += "print 'PyObjRef'\n" ;
- aPyFunc += "def PyObjRef( IORObjStr ) :\n" ;
-// aPyFunc += " print 'PyObjRef',IORObjStr\n" ;
- aPyFunc += " orb = CORBA.ORB_init( sys.argv , CORBA.ORB_ID )\n" ;
-// aPyFunc += " print 'PyObjRef orb',orb\n" ;
- aPyFunc += " objref = orb.string_to_object( IORObjStr )\n" ;
-// aPyFunc += " print 'PyObjRef IORObjStr objref',IORObjStr,objref\n" ;
- aPyFunc += " return objref\n" ;
- aPyFunc += "InitPyRunMethod.RunMethod( PyObjRef )\n" ;
- if ( PyRun_SimpleString( (char *) aPyFunc.c_str() ) ) {
- cdebug << ThreadNo() << " " << Name() << " PyRun_SimpleString ERROR " << endl << aPyFunc << endl ;
- Automaton()->PyUnLock() ;
- return false ;
- }
- MyPyObjRef = MyPyRunMethod ;
- Automaton()->PyFunction( "PyObjRef" , MyPyObjRef ) ;
- }
- else {
- MyPyObjRef = Automaton()->PyFunction( "PyObjRef" ) ;
- }
-
- if ( Automaton()->PyFunction( "PyObjIor" ) == NULL ) {
- string aPyFunc ;
- aPyFunc = "import InitPyRunMethod\n" ;
- aPyFunc += "import sys\n" ;
- aPyFunc += "import CORBA\n" ;
- aPyFunc += "import omniORB\n" ;
- aPyFunc += "def PyObjIor( ObjRef ) :\n" ;
-// aPyFunc += " print 'PyObjIor',ObjRef\n" ;
- aPyFunc += " orb = CORBA.ORB_init( sys.argv , CORBA.ORB_ID )\n" ;
-// aPyFunc += " print 'PyObjIor orb',orb\n" ;
- aPyFunc += " objIor = orb.object_to_string( ObjRef )\n" ;
-// aPyFunc += " print 'PyObjIor ObjRef objIor',ObjRef,objIor\n" ;
- aPyFunc += " return objIor\n" ;
- aPyFunc += "InitPyRunMethod.RunMethod( PyObjIor )\n" ;
- if ( PyRun_SimpleString( (char *) aPyFunc.c_str() ) ) {
- cdebug << ThreadNo() << " " << Name() << " PyRun_SimpleString ERROR " << endl << aPyFunc << endl ;
- Automaton()->PyUnLock() ;
- return false ;
- }
- MyPyObjIor = MyPyRunMethod ;
- Automaton()->PyFunction( "PyObjIor" , MyPyObjIor ) ;
- }
- else {
- MyPyObjIor = Automaton()->PyFunction( "PyObjIor" ) ;
- }
- Automaton()->PyUnLock() ;
-
- cdebug_out << "InitPython" << endl ;
-
- return true ;
-}
-
-PyObject * GraphExecutor::InNode::InitPyDynInvoke( char * PyFuncName ,
- const SUPERV::ListOfStrings * aPythonFunction ,
- bool & Err ) {
- bool RetVal = true ;
- Err = false ;
- string aPyFunc ;
- PyObject * thePyRunMethod = NULL ;
-
- cdebug_in << "InitPyDynInvoke '" << PyFuncName << "' length " << (*aPythonFunction).length() << endl ;
-
- if ( strlen( PyFuncName ) ) {
- Automaton()->PyLock() ;
- thePyRunMethod = Automaton()->PyFunction( PyFuncName ) ;
- if ( (*aPythonFunction).length() ) {
- if ( thePyRunMethod == NULL ) {
- unsigned int i ;
- aPyFunc += "import InitPyRunMethod\n" ;
- for ( i = 0 ; i < (*aPythonFunction).length() ; i++ ) {
- aPyFunc += (*aPythonFunction)[ i ] ;
- aPyFunc += "\n" ;
- }
- aPyFunc += "InitPyRunMethod.RunMethod( " ;
- aPyFunc += PyFuncName ;
- aPyFunc += " )\n" ;
- /*cdebug *///cout<< "InitPyDynInvoke PyRun_SimpleString " << endl << aPyFunc << endl ;
- if ( PyRun_SimpleString( (char *) aPyFunc.c_str() ) ) {
- cdebug << ThreadNo() << " " << Name() << " PyRun_SimpleString ERROR " << endl << aPyFunc << endl ;
- RetVal = false ;
- Err = true ;
- }
- else {
- PyFuncRunned( true ) ;
- thePyRunMethod = MyPyRunMethod ;
-
- Automaton()->PyFunction( PyFuncName , thePyRunMethod ) ;
- cdebug << ThreadNo() << "PyRun_SimpleString( " << (*aPythonFunction)[ 0 ] << " ) " << endl ;
- }
- }
- if ( RetVal ) {
- Automaton()->PyUnLock() ;
- cdebug_out << "InitPyDynInvoke '" << PyFuncName << "' thePyRunMethod " << thePyRunMethod << " "
- << thePyRunMethod->ob_refcnt << endl ;
- return thePyRunMethod ;
- }
- }
- else if ( thePyRunMethod ) {
- Automaton()->PyUnLock() ;
- cdebug_out << "InitPyDynInvoke '" << PyFuncName << "' thePyRunMethod " << thePyRunMethod << " "
- << thePyRunMethod->ob_refcnt << endl ;
- return thePyRunMethod ;
- }
- Automaton()->PyUnLock() ;
- }
-
- cdebug_out << "InitPyDynInvoke '" << PyFuncName << "' thePyRunMethod Null" << endl ;
-
- return NULL ;
-}
-
-extern "C" PyObject * PyRunMethod( PyObject * dummy , PyObject * Args ) {
- PyObject * Result = NULL ;
- PyObject * Temp = NULL ;
- if ( PyArg_ParseTuple( Args , "O:set_callback" , & Temp ) ) {
-// cout << "PyArg_ParsedTuple" << endl ;
- if ( !PyCallable_Check( Temp ) ) {
-// PyErr_SetString( PyExc_TypeError , "PyRunMethod must be callable" ) ;
-// cout << "PyRunMethod must be callable" << endl ;
- return NULL ;
- }
- Py_XINCREF( Temp ) ;
- Py_XDECREF( MyPyRunMethod ) ;
- MyPyRunMethod = Temp ;
- Py_INCREF( Py_None ) ;
- Result = Py_None ;
- }
- return Result ;
-}
-
-bool GraphExecutor::InNode::PyDynInvoke( PyObject * MyPyRunMethod ,
- const char *method ,
- ServicesAnyData * inParams , int nInParams ,
- ServicesAnyData * outParams , int nOutParams ) {
- int i ;
-
- bool RetVal = true ;
-
- int n_in = nInParams ;
- int n_out = nOutParams ;
- const char * sname;
-
- cdebug_in << ThreadNo() << "GraphExecutor::InNode::PyDynInvoke Node " << Name() << " method " << method
- << " " << n_in << " InArgs " << n_out << " OutArgs MyPyRunMethod " ;
- if ( MyPyRunMethod ) {
- cdebug << MyPyRunMethod << " " << MyPyRunMethod->ob_refcnt << endl ;
- }
- else {
- cdebug << " NULL" << endl ;
- return false ;
- }
-
- CORBA::Any data ;
-
- PyObject * ArgsList = NULL ;
- PyObject * ArgValue = NULL ;
- PyObject * Result = NULL ;
- PyObject * MyPyObjRefList = NULL ;
- PyObject * ResultObj = NULL ;
- PyObject * MyPyObjIorList = NULL ;
- PyObject * ResultIor = NULL ;
-
- CORBA::Object_ptr ObjRef ;
- char * IORObjRef ;
-
- if ( !PyCallable_Check( MyPyRunMethod ) ) {
- Result = NULL ;
- RetVal = false ;
- }
- else {
- ArgsList = PyTuple_New( n_in ) ;
-
- for ( i = 0 ; i < n_in ; i++ ) {
- data = inParams[i].Value ;
- sname = inParams[i].Name.c_str() ;
- switch ( data.type()->kind() ) {
- case CORBA::tk_string : {
- char * t ;
- data >>= t ;
- ArgValue = Py_BuildValue( "s" , t ) ;
- PyTuple_SetItem( ArgsList , i , ArgValue ) ;
- cdebug << "ArgIn" << i << " : " << sname << " " << method << " Value " << t << " (string) "
- << " ArgsList->ob_refcnt" << ArgsList->ob_refcnt << " ArgValue->ob_refcnt"
- << ArgValue->ob_refcnt << endl ;
- break ;
- }
- case CORBA::tk_boolean : {
- bool b ;
- data >>= (CORBA::Any::to_boolean ) b ;
- ArgValue = Py_BuildValue( "b" , b ) ;
- PyTuple_SetItem( ArgsList , i , ArgValue ) ;
- cdebug << "ArgIn" << i << " : " << sname << " " << method << " Value " << b
- << " (boolean) ArgsList->ob_refcnt" << ArgsList->ob_refcnt << " ArgValue->ob_refcnt"
- << ArgValue->ob_refcnt << endl ;
- break ;
- }
- case CORBA::tk_char : {
- unsigned char c ;
- data >>= (CORBA::Any::to_char ) c ;
- ArgValue = Py_BuildValue( "c" , c ) ;
- PyTuple_SetItem( ArgsList , i , ArgValue ) ;
- cdebug << "ArgIn" << i << " : " << sname << " " << method << " Value " << c
- << " (char) ArgsList->ob_refcnt" << ArgsList->ob_refcnt << " ArgValue->ob_refcnt"
- << ArgValue->ob_refcnt << endl ;
- break ;
- }
- case CORBA::tk_short : {
- short s ;
- data >>= s ;
- ArgValue = Py_BuildValue( "h" , s ) ;
- PyTuple_SetItem( ArgsList , i , ArgValue ) ;
- cdebug << "ArgIn" << i << " : " << sname << " " << method << " Value " << s
- << " (short) ArgsList->ob_refcnt" << ArgsList->ob_refcnt << " ArgValue->ob_refcnt"
- << ArgValue->ob_refcnt << endl ;
- break ;
- }
- case CORBA::tk_long : {
- long l ;
- data >>= l ;
- ArgValue = Py_BuildValue( "l" , l ) ;
- PyTuple_SetItem( ArgsList , i , ArgValue ) ;
- cdebug << "ArgIn" << i << " : " << sname << " " << method << " Value " << l
- << " (long) ArgsList->ob_refcnt" << ArgsList->ob_refcnt << " ArgValue->ob_refcnt"
- << ArgValue->ob_refcnt << endl ;
- break ;
- }
- case CORBA::tk_float : {
- float f ;
- data >>= f ;
- ArgValue = Py_BuildValue( "f" , f ) ;
- PyTuple_SetItem( ArgsList , i , ArgValue ) ;
- cdebug << "ArgIn" << i << " : " << sname << " " << method << " Value " << f
- << " (float) ArgsList->ob_refcnt" << ArgsList->ob_refcnt << " ArgValue->ob_refcnt"
- << ArgValue->ob_refcnt << endl ;
- break ;
- }
- case CORBA::tk_double : {
- double d ;
- data >>= d ;
- ArgValue = Py_BuildValue( "d" , d ) ;
- PyTuple_SetItem( ArgsList , i , ArgValue ) ;
- cdebug << "ArgIn" << i << " : " << sname << " " << method << " Value " << d
- << " (double) ArgsList->ob_refcnt" << ArgsList->ob_refcnt << " ArgValue->ob_refcnt"
- << ArgValue->ob_refcnt << endl ;
- break ;
- }
- case CORBA::tk_objref : {
- MyPyObjRefList = PyTuple_New( 1 ) ;
- PyObject * ObjValue ;
- data >>= ObjRef ;
- IORObjRef = ObjectToString( ObjRef ) ;
- ObjValue = Py_BuildValue( "s" , IORObjRef ) ;
- PyTuple_SetItem( MyPyObjRefList , 0 , ObjValue ) ;
- cdebug << "ArgIn" << i << " : " << sname << " " << method << " " << " Value " << IORObjRef << " (objref) "
- << MyPyObjRef->ob_refcnt << "/" << MyPyObjRefList->ob_refcnt << endl ;
- ResultObj = PyEval_CallObject( MyPyObjRef , MyPyObjRefList ) ;
- cdebug << "ObjValue->ob_refcnt" << ObjValue->ob_refcnt << endl ;
- ArgValue = Py_BuildValue( "O" , ResultObj ) ;
- PyTuple_SetItem( ArgsList , i , ArgValue ) ;
- cdebug << "ArgIn" << i << " : " << sname << " " << method << " Value (objref) ArgsList->ob_refcnt"
- << ArgsList->ob_refcnt << " ArgValue->ob_refcnt" << ArgValue->ob_refcnt << endl ;
- cdebug << "MyPyObjRefList->ob_refcnt " << MyPyObjRefList->ob_refcnt-1 << endl ;
- Py_DECREF( MyPyObjRefList ) ;
- if ( CORBA::is_nil( ObjRef ) ) {
- ResultObj = NULL ;
- }
- else {
- cdebug << "ResultObj->ob_refcnt " << ResultObj->ob_refcnt-1 << endl ;
- Py_DECREF( ResultObj ) ;
- }
- break ;
- }
- default : {
- cdebug << "ArgIn" << i << " : " << sname << " Value " << "(other ERROR)" << endl ;
- }
- }
- }
-
- Result = PyEval_CallObject( MyPyRunMethod , ArgsList ) ;
-
- cdebug << "ArgsList->ob_refcnt" << ArgsList->ob_refcnt << endl ;
-
- if ( Result == NULL ) {
- cdebug_out << "GraphExecutor::InNode::PyDynInvoke Node " << Name() << " " << method << " Error Result == NULL"
- << endl ;
- RetVal = false ;
- }
- else {
- for ( i = 0 ; i < n_out ; i++ ) {
- data = outParams[i].Value ;
- sname = outParams[i].Name.c_str() ;
- switch ( data.type()->kind() ) {
- case CORBA::tk_string : {
- char * t = "" ;
- if ( PyTuple_Check( Result ) ) {
- ArgValue = PyTuple_GetItem( Result , i ) ;
- }
- else {
- ArgValue = Result ;
- }
- if ( !PyString_Check( ArgValue ) ) {
- cdebug << "ArgOut" << i << " : " << sname << " " << method << " ERROR (string)" << endl ;
- }
- else {
- t = PyString_AsString( ArgValue ) ;
- }
- data <<= t ;
- cdebug << "ArgOut" << i << " : " << sname << " " << method << " Value " << t << " (string)"
- << " ArgsList->ob_refcnt" << ArgsList->ob_refcnt << " ArgValue->ob_refcnt"
- << ArgValue->ob_refcnt << endl ;
- break ;
- }
- case CORBA::tk_boolean : {
- bool b = false ;
- if ( PyTuple_Check( Result ) ) {
- ArgValue = PyTuple_GetItem( Result , i ) ;
- }
- else {
- ArgValue = Result ;
- }
- if ( !PyInt_Check( ArgValue ) ) {
- cdebug << "ArgOut" << i << " : " << sname << " " << method << " ERROR (boolean)" << endl ;
- }
- else {
- b = PyInt_AsLong( ArgValue ) ;
- }
- data <<= (CORBA::Any::from_boolean ) b ;
- cdebug << "ArgOut" << i << " : " << sname << " " << method << " Value " << b << " (boolean)"
- << " ArgsList->ob_refcnt" << ArgsList->ob_refcnt << " ArgValue->ob_refcnt"
- << ArgValue->ob_refcnt << endl ;
- break ;
- }
- case CORBA::tk_char : {
- unsigned char c = 0 ;
- if ( PyTuple_Check( Result ) ) {
- ArgValue = PyTuple_GetItem( Result , i ) ;
- }
- else {
- ArgValue = Result ;
- }
- if ( !PyInt_Check( ArgValue ) ) {
- cdebug << "ArgOut" << i << " : " << sname << " " << method << " ERROR (char)" << endl ;
- }
- else {
- c = PyInt_AsLong( ArgValue ) ;
- }
- data <<= (CORBA::Any::from_char ) c ;
- cdebug << "ArgOut" << i << " : " << sname << " " << method << " Value " << c << " (char)"
- << " ArgsList->ob_refcnt" << ArgsList->ob_refcnt << " ArgValue->ob_refcnt"
- << ArgValue->ob_refcnt << endl ;
- break ;
- }
- case CORBA::tk_short : {
- short s = 0 ;
- if ( PyTuple_Check( Result ) ) {
- ArgValue = PyTuple_GetItem( Result , i ) ;
- }
- else {
- ArgValue = Result ;
- }
- if ( !PyInt_Check( ArgValue ) ) {
- cdebug << "ArgOut" << i << " : " << sname << " " << method << " ERROR (short)" << endl ;
- }
- else {
- s = PyInt_AsLong( ArgValue ) ;
- }
- data <<= s ;
- cdebug << "ArgOut" << i << " : " << sname << " " << method << " Value " << s << " (short)"
- << " ArgsList->ob_refcnt" << ArgsList->ob_refcnt << " ArgValue->ob_refcnt"
- << ArgValue->ob_refcnt << endl ;
- break ;
- }
- case CORBA::tk_long : {
- long l = 0 ;
- if ( PyTuple_Check( Result ) ) {
- ArgValue = PyTuple_GetItem( Result , i ) ;
- }
- else {
- ArgValue = Result ;
- }
- if ( PyLong_Check( ArgValue ) ) {
- l = PyLong_AsLong( ArgValue ) ;
- }
- else if ( PyInt_Check( ArgValue ) ) {
- l = PyInt_AsLong( ArgValue ) ;
- }
- else {
- cdebug << "ArgOut" << i << " : " << sname << " " << method << " ERROR (CORBA::tk_long)" << endl ;
- }
- data <<= l ;
- cdebug << "ArgOut" << i << " : " << sname << " " << method << " Value " << l << " (long)"
- << " ArgsList->ob_refcnt" << ArgsList->ob_refcnt << " ArgValue->ob_refcnt"
- << ArgValue->ob_refcnt << endl ;
- break ;
- }
- case CORBA::tk_float : {
- float f = 0 ;
- if ( PyTuple_Check( Result ) ) {
- ArgValue = PyTuple_GetItem( Result , i ) ;
- }
- else {
- ArgValue = Result ;
- }
- if ( !PyFloat_Check( ArgValue ) ) {
- cdebug << "ArgOut" << i << " : " << sname << " " << method << " ERROR (float)" << endl ;
- }
- else {
- f = PyFloat_AsDouble( ArgValue ) ;
- }
- data <<= f ;
- cdebug << "ArgOut" << i << " : " << sname << " " << method << " Value " << f << " (float)"
- << " ArgsList->ob_refcnt" << ArgsList->ob_refcnt << " ArgValue->ob_refcnt"
- << ArgValue->ob_refcnt << endl ;
- break ;
- }
- case CORBA::tk_double : {
- double d = 0 ;
- if ( PyTuple_Check( Result ) ) {
- ArgValue = PyTuple_GetItem( Result , i ) ;
- }
- else {
- ArgValue = Result ;
- }
- if ( !PyFloat_Check( ArgValue ) ) {
- cdebug << "ArgOut" << i << " : " << sname << " " << method << " ERROR (double)" << endl ;
- }
- else {
- d = PyFloat_AsDouble( ArgValue ) ;
- }
- data <<= d ;
- cdebug << "ArgOut" << i << " : " << sname << " " << method << " Value " << d << " (double)"
- << " ArgsList->ob_refcnt" << ArgsList->ob_refcnt << " ArgValue->ob_refcnt"
- << ArgValue->ob_refcnt << endl ;
- break ;
- }
- case CORBA::tk_objref : {
- PyObject * ObjIor ;
- MyPyObjIorList = PyTuple_New( 1 ) ;
- if ( PyTuple_Check( Result ) ) {
- ObjIor = PyTuple_GetItem( Result , i ) ;
- }
- else {
- ObjIor = Result ;
- }
- cdebug << "ArgOut" << i << " : " << sname << " " << method << " Value " << "(object reference) "
- << " ArgsList->ob_refcnt" << ArgsList->ob_refcnt << " ObjIor->ob_refcnt"
- << ObjIor->ob_refcnt << endl ;
- Py_INCREF( ObjIor ) ;
-// PyObject_Print( ObjIor , stdout , 0 ) ;
- PyTuple_SetItem( MyPyObjIorList , 0 , ObjIor ) ;
- ResultIor = PyEval_CallObject( MyPyObjIor , MyPyObjIorList ) ;
- cdebug << "ObjIor->ob_refcnt " << ObjIor->ob_refcnt-1 << endl ;
- Py_DECREF( ObjIor ) ;
- cdebug << "MyPyObjIorList->ob_refcnt " << MyPyObjIorList->ob_refcnt-1 << endl ;
- Py_DECREF( MyPyObjIorList ) ;
- cdebug << "MyPyObjIor->ob_refcnt " << MyPyObjIor->ob_refcnt << endl ;
- if ( ResultIor ) {
- char * IOR = NULL ;
- IOR = PyString_AsString( ResultIor ) ;
- ObjRef = StringToObject( IOR ) ;
- data <<= ObjRef ;
- IORObjRef = ObjectToString( ObjRef ) ;
- cdebug << "ArgOut" << i << " : " << sname << " " << method << " Value " << IORObjRef << " (objref) "
- << endl ;
- if ( CORBA::is_nil( ObjRef ) ) {
- ResultIor = NULL ;
- }
- else {
- cdebug << "ResultIor->ob_refcnt " << ResultIor->ob_refcnt-1 << endl ;
- Py_DECREF( ResultIor ) ;
- }
- }
- else {
- cdebug_out << "GraphExecutor::InNode::PyDynInvoke Error ResultIor == NULL Node "
- << Name() << " method " << method << " " << endl ;
- RetVal = false ;
- }
- break ;
- }
- default : {
- cdebug << "ArgOut" << i << " : " << sname << " " << method << " Value " << "(other ERROR)" << endl ;
- }
- }
- outParams[i].Value = data ;
- }
-
- cdebug << "Result->ob_refcnt" << Result->ob_refcnt-1 << endl ;
- Py_DECREF( Result ) ;
- }
-
- cdebug << "GraphExecutor::InNode::PyDynInvoke ArgsList->ob_refcnt"
- << ArgsList->ob_refcnt-1 << endl ;
- Py_DECREF( ArgsList ) ;
- }
-
- cdebug_out << "GraphExecutor::InNode::PyDynInvoke Node " << Name() << " method " << method << " " << RetVal
- << endl ;
-
- return RetVal ;
-
-}
+++ /dev/null
-#==============================================================================
-# File : Makefile.in
-# Created : aug 21 2001
-# Author : , CEA
-# Project : SALOME
-# Copyright : CEA 2001
-# $Header:
-#==============================================================================
-
-# source path
-top_srcdir=@top_srcdir@
-top_builddir=../..
-srcdir=@srcdir@
-VPATH=.:@srcdir@:@top_srcdir@/idl
-
-
-@COMMENCE@
-
-EXPORT_HEADERS = \
- DataFlowExecutor_FiniteStateMachine.hxx \
- DataFlowExecutor_InNode.hxx \
- DataFlowExecutor_OutNode.hxx \
- DataFlowExecutor_DataFlow.hxx \
- DataFlowExecutor_DataFlow.lxx
-
-# Libraries targets
-LIB = libSalomeSuperVisionExecutor.la
-LIB_SRC = \
- DataFlowExecutor_FiniteStateMachine.cxx \
- DataFlowExecutor_PyDynInvoke.cxx \
- DataFlowExecutor_DynInvoke.cxx \
- DataFlowExecutor_InNodeThreads.cxx \
- DataFlowExecutor_InNode.cxx \
- DataFlowExecutor_OutNode.cxx \
- DataFlowExecutor_DataFlow.cxx
-
-LIB_CLIENT_IDL = SALOME_ModuleCatalog.idl \
- SALOME_Component.idl \
- SALOMEDS.idl \
- SUPERV.idl \
- SALOME_Exception.idl
-
-# Executables targets
-#BIN = SuperVisionExecutor_CheckOfUndefined
-BIN_SRC =
-BIN_SERVER_IDL =
-
-CPPFLAGS+= $(PYTHON_INCLUDES) $(QT_MT_INCLUDES) $(VTK_INCLUDES) $(OGL_INCLUDES) \
- -I${KERNEL_ROOT_DIR}/include/salome
-CXXFLAGS= -g -D_DEBUG_ -D__x86__ -D__linux__ -ftemplate-depth-42 -Wall \
- -I${KERNEL_ROOT_DIR}/include/salome
-LDFLAGS+= -export-dynamic -lSalomeNS -lSalomeLifeCycleCORBA -lSalomeSuperVisionBase -lOpUtil -lSALOMELocalTrace \
- -lc $(QT_MT_LIBS) $(OGL_LIBS) \
- -L${KERNEL_ROOT_DIR}/lib/salome
-#LIBS += -Xlinker -export-dynamic $(PYTHON_LIBS)
-
-
-@CONCLUDE@
-
-
+++ /dev/null
-using namespace std;
-#include <iostream>
-#include <fstream>
-#include <unistd.h>
-
-#include <Python.h>
-
-#include "DataFlowBase_Base.hxx"
-#include "DataFlowBase_Graph.hxx"
-#include "DataFlowExecutor_InNode.hxx"
-#include "DataFlowExecutor_OutNode.hxx"
-#include "DataFlowExecutor_DataFlow.hxx"
-#include "DataFlowExecutor_DataFlow.lxx"
-
-static PyMethodDef MethodPyVoidMethod[] = {
- { NULL, NULL }
-};
-
-int main(int argc, char **argv) {
- Py_Initialize() ;
- Py_InitModule( "InitPyRunMethod" , MethodPyVoidMethod ) ;
- return 0;
-}
-
+++ /dev/null
-# Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
-# CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
-#
-# This library is free software; you can redistribute it and/or
-# modify it under the terms of the GNU Lesser General Public
-# License as published by the Free Software Foundation; either
-# version 2.1 of the License.
-#
-# This library is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-# Lesser General Public License for more details.
-#
-# You should have received a copy of the GNU Lesser General Public
-# License along with this library; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-#
-# See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
-#
-#
-#
-# File : Makefile.in
-# Author : Patrick GOLDBRONN (CEA)
-# Module : SUPERV
-# $Header$
-
-top_srcdir=@top_srcdir@
-top_builddir=..
-srcdir=@srcdir@
-VPATH=.:@srcdir@
-
-@COMMENCE@
-
-SUBDIRS = GraphBase GraphExecutor GraphEditor Supervision SUPERVGUI
-
-@MODULE@
+++ /dev/null
-// SuperVisionTest MulComponent : example of component that multiplies two numbers
-//
-// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
-// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
-//
-// This library is free software; you can redistribute it and/or
-// modify it under the terms of the GNU Lesser General Public
-// License as published by the Free Software Foundation; either
-// version 2.1 of the License.
-//
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-// Lesser General Public License for more details.
-//
-// You should have received a copy of the GNU Lesser General Public
-// License along with this library; if not, write to the Free Software
-// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-//
-// See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
-//
-//
-//
-// File : MulComponentEngine.cxx
-// Author : MARC TAJCHMAN, CEA
-// Module : SuperVisionTest
-
-using namespace std;
-#include <stdio.h>
-#include <unistd.h>
-#include <fstream>
-#include <sstream>
-#include <string>
-
-//#include "utilities.h"
-#include "MulComponent.hxx"
-
-MulComponentEngine::MulComponentEngine( CORBA::ORB_ptr orb,
- PortableServer::POA_ptr poa,
- PortableServer::ObjectId * contId,
- const char *instanceName,
- const char *interfaceName) :
- Engines_Component_i(orb, poa, contId, instanceName, interfaceName,1,true)
-{
-// MESSAGE("MulComponentEngine::MulComponentEngine activate object instanceName("
-// << instanceName << ") interfaceName(" << interfaceName << ")" )
- _thisObj = this ;
- _id = _poa->activate_object(_thisObj);
- _nexec = 0 ;
-}
-
-MulComponentEngine::MulComponentEngine()
-{
-}
-
-MulComponentEngine::~MulComponentEngine()
-{
-}
-
-void MulComponentEngine::Mul( double x , double y , double & z ) {
- beginService( " MulComponentEngine::Mul" );
- z = x * y ;
- int S;
-
- sendMessage(NOTIF_STEP, "Mul is Computing");
- S = 1+(int) (15.0*rand()/(RAND_MAX+1.0));
- sleep(S);
- MESSAGE( "MulComponentEngine::Mul( " << x << " , " << y << " , " << z
- << " ) after " << S << " seconds" )
- endService( " MulComponentEngine::Mul" );
-}
-
-extern "C"
-{
- PortableServer::ObjectId * MulComponentEngine_factory
- (CORBA::ORB_ptr orb,
- PortableServer::POA_ptr poa,
- PortableServer::ObjectId * contId,
- const char *instanceName,
- const char *interfaceName)
- {
- MESSAGE("MulComponentEngine_factory MulComponentEngine ("
- << instanceName << "," << interfaceName << ")");
- MulComponentEngine * myMulComponent
- = new MulComponentEngine(orb, poa, contId, instanceName, interfaceName);
- return myMulComponent->getId() ;
- }
-}
-
-
+++ /dev/null
-// SuperVisionTest SubComponent : example of component that sunstracts one number from another
-//
-// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
-// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
-//
-// This library is free software; you can redistribute it and/or
-// modify it under the terms of the GNU Lesser General Public
-// License as published by the Free Software Foundation; either
-// version 2.1 of the License.
-//
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-// Lesser General Public License for more details.
-//
-// You should have received a copy of the GNU Lesser General Public
-// License along with this library; if not, write to the Free Software
-// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-//
-// See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
-//
-//
-//
-// File : SubComponentEngine.cxx
-// Author : MARC TAJCHMAN, CEA
-// Module : SuperVisionTest
-
-using namespace std;
-#include <stdio.h>
-#include <unistd.h>
-#include <fstream>
-#include <sstream>
-#include <string>
-
-//#include "utilities.h"
-#include "SubComponent.hxx"
-
-SubComponentEngine::SubComponentEngine( CORBA::ORB_ptr orb,
- PortableServer::POA_ptr poa,
- PortableServer::ObjectId * contId,
- const char *instanceName,
- const char *interfaceName) :
- Engines_Component_i(orb, poa, contId, instanceName, interfaceName,1,true)
-{
-// MESSAGE("SubComponentEngine::SubComponentEngine activate object instanceName("
-// << instanceName << ") interfaceName(" << interfaceName << ")" )
- _thisObj = this ;
- _id = _poa->activate_object(_thisObj);
- _nexec = 0 ;
-}
-
-SubComponentEngine::SubComponentEngine()
-{
-}
-
-SubComponentEngine::~SubComponentEngine()
-{
-}
-
-void SubComponentEngine::Sub( double x , double y , double & z ) {
- beginService( " SubComponentEngine::Sub" );
- z = x - y ;
- int S;
-
- sendMessage(NOTIF_STEP, "Sub is Computing");
- S = 1+(int) (15.0*rand()/(RAND_MAX+1.0));
- sleep(S);
- MESSAGE( "SubComponentEngine::Sub( " << x << " , " << y << " , " << z
- << " ) after " << S << " seconds" )
- endService( " SubComponentEngine::Sub" );
-}
-
-extern "C"
-{
- PortableServer::ObjectId * SubComponentEngine_factory
- (CORBA::ORB_ptr orb,
- PortableServer::POA_ptr poa,
- PortableServer::ObjectId * contId,
- const char *instanceName,
- const char *interfaceName)
- {
- MESSAGE("SubComponentEngine_factory SubComponentEngine ("
- << instanceName << "," << interfaceName << ")");
- SubComponentEngine * mySubComponent
- = new SubComponentEngine(orb, poa, contId, instanceName, interfaceName);
- return mySubComponent->getId() ;
- }
-}
-
-
+++ /dev/null
-// SUPERV Supervision : contains the implementation of interfaces of SuperVision described in SUPERV.idl
-//
-// Copyright (C) 2003 CEA/DEN, EDF R&D
-//
-//
-//
-// File : CNode_Impl.cxx
-// Author : Jean Rahuel
-// Module : SUPERV
-// $Header:
-
-using namespace std;
-#include <stdio.h>
-#include <fstream>
-//#include <sstream>
-#include <string>
-
-//#include "utilities.h"
-
-#include "StreamGraph_Impl.hxx"
-
-#include "CNode_Impl.hxx"
-
-#include "StreamPort_Impl.hxx"
-
-CNode_Impl::CNode_Impl( CORBA::ORB_ptr orb ,
- PortableServer::POA_ptr poa ,
- PortableServer::ObjectId * contId ,
- const char *instanceName ,
- const char *interfaceName ,
- const char *aDataFlowName ) :
- Engines_Component_i(orb, poa, contId, instanceName, interfaceName, false, false) {
-// MESSAGE("CNode_Impl::CNode_Impl activate object instanceName("
-// << instanceName << ") interfaceName(" << interfaceName << ") --> "
-// << hex << (void *) this << dec )
-// _thisObj = this ;
-// _id = _poa->activate_object(_thisObj);
-// MESSAGE( "CNode_Impl::CNode_Impl " << aDataFlowName << " " );
- beginService( "CNode_Impl::CNode_Impl" );
- _Orb = CORBA::ORB::_duplicate(orb);
- _Poa = poa ;
- _ContId = contId ;
- _DataFlowNode = NULL ;
- _IsNode = false ;
- endService( "CNode_Impl::CNode_Impl" );
-}
-
-CNode_Impl::CNode_Impl() {
-}
-
-CNode_Impl::CNode_Impl( CORBA::ORB_ptr orb ,
- PortableServer::POA_ptr poa ,
- PortableServer::ObjectId * contId ,
- const char *instanceName ,
- const char *interfaceName ,
- GraphEditor::DataFlow * DataFlowEditor ,
- const SALOME_ModuleCatalog::Service &NodeService ,
- const char * NodeName ,
- const SUPERV::KindOfNode NodeKindOfNode ,
- const char * FuncName ,
- const SUPERV::ListOfStrings & PythonFunction ) :
- Engines_Component_i(orb, poa, contId, instanceName, interfaceName, false, false) {
- beginService( "CNode_Impl::CNode_Impl" );
-// cout << "CNode_Impl::CNode_Impl -->" << endl ;
-// if ( FuncName && NodeName ) {
-// cout << "CNode_Impl::CNode_Impl " << (void *) NodeName << " " << NodeName
-// << " " << strlen(NodeName) << " " << (void *) FuncName << " " << FuncName
-// << " " << strlen( FuncName ) << endl ;
-// }
- if ( NodeKindOfNode == SUPERV::ComputingNode ) {
- MESSAGE( "CNode_Impl::CNode_Impl " << FuncName << " _poa->activate_object" );
- _thisObj = this ;
- _id = _poa->activate_object(_thisObj);
- }
- _Orb = CORBA::ORB::_duplicate(orb);
- _Poa = poa ;
- _ContId = contId ;
- _DataFlowEditor = DataFlowEditor ;
- GraphBase::ListOfFuncName aFuncName ;
- GraphBase::ListOfPythonFunctions aPythonFunction ;
- if ( FuncName ) {
- aFuncName.resize(1) ;
- aFuncName[0] = my_strdup( FuncName ) ;
- aPythonFunction.resize(1) ;
- aPythonFunction[0] = &PythonFunction ;
- }
- _DataFlowNode = _DataFlowEditor->AddNode( NodeService , "" , "" , NodeName ,
- NodeKindOfNode ,
- aFuncName ,
- aPythonFunction ) ;
- _IsNode = true ;
- endService( "CNode_Impl::CNode_Impl" );
-// cout << "<-- CNode_Impl::CNode_Impl" << endl ;
-}
-
-CNode_Impl::CNode_Impl( CORBA::ORB_ptr orb ,
- PortableServer::POA_ptr poa ,
- PortableServer::ObjectId * contId ,
- const char *instanceName ,
- const char *interfaceName ,
- GraphEditor::DataFlow * DataFlowEditor ,
- const SALOME_ModuleCatalog::Service &NodeService ,
- const char * NodeName ,
- const SUPERV::KindOfNode NodeKindOfNode ,
- const GraphBase::ListOfFuncName & aFuncName ,
- const GraphBase::ListOfPythonFunctions & aPythonFunction ) :
- Engines_Component_i(orb, poa, contId, instanceName, interfaceName, false, false) {
- MESSAGE( NodeName << " " );
- beginService( "CNode_Impl::CNode_Impl" );
- if ( NodeName ) {
- MESSAGE("CNode_Impl::CNode_Impl " << NodeName << " " << strlen( NodeName ) ) ;
- }
- if ( NodeKindOfNode == SUPERV::ComputingNode ) {
- MESSAGE( "CNode_Impl::CNode_Impl " << aFuncName[0] << " _poa->activate_object" );
- _thisObj = this ;
- _id = _poa->activate_object(_thisObj);
- }
- _Orb = CORBA::ORB::_duplicate(orb);
- _Poa = poa ;
- _ContId = contId ;
- _DataFlowEditor = DataFlowEditor ;
- _DataFlowNode = _DataFlowEditor->AddNode( NodeService , "" , "" , NodeName ,
- NodeKindOfNode ,
- aFuncName ,
- aPythonFunction ) ;
- _IsNode = true ;
- endService( "CNode_Impl::CNode_Impl" );
-}
-
-CNode_Impl::CNode_Impl( CORBA::ORB_ptr orb ,
- PortableServer::POA_ptr poa ,
- PortableServer::ObjectId * contId ,
- const char *instanceName ,
- const char *interfaceName ,
- GraphEditor::DataFlow * DataFlowEditor ,
- GraphEditor::InNode * DataFlowNode ) :
- Engines_Component_i(orb, poa, contId, instanceName, interfaceName, false, false) {
- MESSAGE( DataFlowNode->Name() << " " );
- beginService( "CNode_Impl::CNode_Impl" );
- if ( DataFlowNode->IsComputingNode() ) {
- MESSAGE( "CNode_Impl::CNode_Impl _poa->activate_object" );
- _thisObj = this ;
- _id = _poa->activate_object(_thisObj);
- }
- else {
- MESSAGE( "CNode_Impl::CNode_Impl NO _poa->activate_object " );
- }
- _Orb = CORBA::ORB::_duplicate(orb);
- _Poa = poa ;
- _ContId = contId ;
- _DataFlowEditor = DataFlowEditor ;
- _DataFlowNode = DataFlowNode ;
- _IsNode = true ;
- endService( "CNode_Impl::CNode_Impl" );
-}
-
-CNode_Impl::~CNode_Impl() {
- beginService( "CNode_Impl::~CNode_Impl" );
- endService( "CNode_Impl::~CNode_Impl" );
-}
-
-void CNode_Impl::destroy() {
- beginService( "CNode_Impl::Destroy" );
- if ( _DataFlowEditor->IsEditing() ) {
- if ( Delete() ) {
- _DataFlowNode = NULL ;
- _poa->deactivate_object(*_id) ;
- CORBA::release(_poa) ;
- delete(_id) ;
- _thisObj->_remove_ref();
- }
- }
-// endService( "CNode_Impl::Destroy" );
-}
-
-bool CNode_Impl::Delete() {
- beginService( "CNode_Impl::Delete" );
- bool RetVal = false ;
- if ( _DataFlowEditor->IsEditing() ) {
- RetVal = _DataFlowEditor->RemoveNode( Name() ) ;
- if ( RetVal ) {
- RetVal = _DataFlowEditor->UnValid() ;
- }
- }
- endService( "CNode_Impl::Delete" );
- return RetVal ;
-}
-
-SALOME_ModuleCatalog::Service * CNode_Impl::Service() {
-// beginService( "CNode_Impl::Service" );
- SALOME_ModuleCatalog::Service * RetVal ;
- if ( _IsNode ) {
- RetVal = new SALOME_ModuleCatalog::Service( *_DataFlowNode->GetService() ) ;
- }
- else {
- RetVal = new SALOME_ModuleCatalog::Service( *_DataFlowEditor->GetService() ) ;
- }
-// endService( "CNode_Impl::Service" );
- return RetVal ;
-}
-
-char * CNode_Impl::Name() {
-// beginService( "CNode_Impl::Name" );
- char * RetVal = NULL ;
- if ( _IsNode ) {
- RetVal = _DataFlowNode->Name() ;
- }
- else {
- RetVal = _DataFlowEditor->Graph()->Name() ;
- }
-// endService( "CNode_Impl::Name" );
- return CORBA::string_dup( RetVal );
-}
-bool CNode_Impl::SetName( const char * aDataFlowName ) {
-// beginService( "CNode_Impl::SetName" );
- bool RetVal = false ;
- if ( _DataFlowEditor->IsEditing() ) {
- if ( _IsNode ) {
- RetVal = _DataFlowEditor->ReNameNode( _DataFlowNode->Name() ,
- aDataFlowName ) ;
- }
- else {
- RetVal = _DataFlowEditor->Graph()->Name( aDataFlowName ) ;
- }
- }
-// endService( "CNode_Impl::SetName" );
- return RetVal ;
-}
-SUPERV::KindOfNode CNode_Impl::Kind() {
-// beginService( "CNode_Impl::Kind" );
- SUPERV::KindOfNode RetVal = SUPERV::UnknownNode ;
- if ( _IsNode ) {
- RetVal = _DataFlowNode->Kind() ;
- }
- else {
- RetVal = _DataFlowEditor->Graph()->Kind() ;
- }
-// endService( "CNode_Impl::Kind" );
- return RetVal ;
-}
-bool CNode_Impl::IsGraph() {
-// beginService( "CNode_Impl::IsGraph" );
- bool RetVal = false ;
- if ( _IsNode ) {
- RetVal = _DataFlowNode->IsDataFlowNode() ;
- }
- else {
- RetVal = _DataFlowEditor->Graph()->IsDataFlowNode() ;
- }
-// endService( "CNode_Impl::IsGraph" );
- return RetVal ;
-}
-bool CNode_Impl::IsStreamGraph() {
-// beginService( "CNode_Impl::IsStreamGraph" );
- bool RetVal = false ;
- if ( _IsNode ) {
- RetVal = _DataFlowNode->IsDataStreamNode() ;
- }
- else {
- RetVal = _DataFlowEditor->Graph()->IsDataStreamNode() ;
- }
-// endService( "CNode_Impl::IsStreamGraph" );
- return RetVal ;
-}
-bool CNode_Impl::IsComputing() {
-// beginService( "CNode_Impl::IsComputing" );
- bool RetVal = SUPERV::UnknownNode ;
- if ( _IsNode ) {
- RetVal = _DataFlowNode->IsComputingNode() ;
- }
- else {
- RetVal = _DataFlowEditor->Graph()->IsComputingNode() ;
- }
-// endService( "CNode_Impl::IsComputing" );
- return RetVal ;
-}
-bool CNode_Impl::IsFactory() {
-// beginService( "CNode_Impl::IsFactory" );
- bool RetVal = SUPERV::UnknownNode ;
- if ( _IsNode ) {
- RetVal = _DataFlowNode->IsFactoryNode() ;
- }
- else {
- RetVal = _DataFlowEditor->Graph()->IsFactoryNode() ;
- }
-// endService( "CNode_Impl::IsFactory" );
- return RetVal ;
-}
-bool CNode_Impl::IsInLine() {
-// beginService( "CNode_Impl::IsInLine" );
- bool RetVal = SUPERV::UnknownNode ;
- if ( _IsNode ) {
- RetVal = _DataFlowNode->IsInLineNode() ;
- }
- else {
- RetVal = _DataFlowEditor->Graph()->IsInLineNode() ;
- }
-// endService( "CNode_Impl::IsInLine" );
- return RetVal ;
-}
-bool CNode_Impl::IsGOTO() {
-// beginService( "CNode_Impl::IsGOTO" );
- bool RetVal = SUPERV::UnknownNode ;
- if ( _IsNode ) {
- RetVal = _DataFlowNode->IsGOTONode() ;
- }
- else {
- RetVal = _DataFlowEditor->Graph()->IsGOTONode() ;
- }
-// endService( "CNode_Impl::IsGOTO" );
- return RetVal ;
-}
-bool CNode_Impl::IsLoop() {
-// beginService( "CNode_Impl::IsLoop" );
- bool RetVal = SUPERV::UnknownNode ;
- if ( _IsNode ) {
- RetVal = _DataFlowNode->IsLoopNode() ;
- }
- else {
- RetVal = _DataFlowEditor->Graph()->IsLoopNode() ;
- }
-// endService( "CNode_Impl::IsLoop" );
- return RetVal ;
-}
-bool CNode_Impl::IsEndLoop() {
-// beginService( "CNode_Impl::IsEndLoop" );
- bool RetVal = SUPERV::UnknownNode ;
- if ( _IsNode ) {
- RetVal = _DataFlowNode->IsEndLoopNode() ;
- }
- else {
- RetVal = _DataFlowEditor->Graph()->IsEndLoopNode() ;
- }
-// endService( "CNode_Impl::IsEndLoop" );
- return RetVal ;
-}
-bool CNode_Impl::IsSwitch() {
-// beginService( "CNode_Impl::IsSwitch" );
- bool RetVal = SUPERV::UnknownNode ;
- if ( _IsNode ) {
- RetVal = _DataFlowNode->IsSwitchNode() ;
- }
- else {
- RetVal = _DataFlowEditor->Graph()->IsSwitchNode() ;
- }
-// endService( "CNode_Impl::IsSwitch" );
- return RetVal ;
-}
-bool CNode_Impl::IsEndSwitch() {
-// beginService( "CNode_Impl::IsEndSwitch" );
- bool RetVal = SUPERV::UnknownNode ;
- if ( _IsNode ) {
- RetVal = _DataFlowNode->IsEndSwitchNode() ;
- }
- else {
- RetVal = _DataFlowEditor->Graph()->IsEndSwitchNode() ;
- }
-// endService( "CNode_Impl::IsEndSwitch" );
- return RetVal ;
-}
-
-SUPERV::SDate CNode_Impl::CreationDate() {
-// beginService( "CNode_Impl::CreationDate" );
- SUPERV::SDate_var RetVal ;
- if ( _IsNode ) {
- RetVal = new SUPERV::SDate( _DataFlowNode->FirstCreation() ) ;
- }
- else {
-// cout << " CNode_Impl::CreationDate " << _DataFlowEditor->FirstCreation()
-// << endl ;
- RetVal = new SUPERV::SDate( _DataFlowEditor->Graph()->FirstCreation() ) ;
- }
-// endService( "CNode_Impl::CreationDate" );
- return (RetVal._retn()) ;
-}
-SUPERV::SDate CNode_Impl::LastUpdateDate() {
-// beginService( "CNode_Impl::LastUpdateDate" );
- SUPERV::SDate_var RetVal ;
- if ( _IsNode ) {
- RetVal = new SUPERV::SDate( _DataFlowNode->LastModification() ) ;
- }
- else {
- RetVal = new SUPERV::SDate( _DataFlowEditor->Graph()->LastModification() ) ;
- }
-// endService( "CNode_Impl::LastUpdateDate" );
- return (RetVal._retn()) ;
-}
-char * CNode_Impl::Version() {
-// beginService( "CNode_Impl::Version" );
- char * RetVal ;
- if ( _IsNode ) {
- RetVal = _DataFlowNode->EditorRelease() ;
- }
- else {
- RetVal = _DataFlowEditor->Graph()->EditorRelease() ;
- }
-// endService( "CNode_Impl::Version" );
- return CORBA::string_dup( RetVal ) ;
-}
-char * CNode_Impl::Author() {
-// beginService( "CNode_Impl::Author" );
- char * RetVal ;
- if ( _IsNode ) {
- RetVal = _DataFlowNode->Author() ;
- }
- else {
- RetVal = _DataFlowEditor->Graph()->Author() ;
- }
-// endService( "CNode_Impl::Author" );
- return CORBA::string_dup( RetVal ) ;
-}
-bool CNode_Impl::SetAuthor( const char * aDataFlowAuthor ) {
-// beginService( "CNode_Impl::SetAuthor" );
- bool RetVal = false ;
- if ( _DataFlowEditor->IsEditing() ) {
- if ( _IsNode ) {
- RetVal = _DataFlowNode->Author( aDataFlowAuthor ) ;
- }
- else {
- RetVal = _DataFlowEditor->Graph()->Author( aDataFlowAuthor ) ;
- }
- }
-// endService( "CNode_Impl::SetAuthor" );
- return RetVal ;
-}
-char * CNode_Impl::Comment() {
-// beginService( "CNode_Impl::Comment" );
- char * RetVal ;
- if ( _IsNode ) {
- RetVal = _DataFlowNode->Comment() ;
- }
- else {
- RetVal = _DataFlowEditor->Graph()->Comment() ;
- }
-// endService( "CNode_Impl::Comment" );
- return CORBA::string_dup( RetVal ) ;
-}
-bool CNode_Impl::SetComment( const char * aDataFlowComment ) {
-// beginService( "CNode_Impl::SetComment" );
- bool RetVal = false ;
- if ( _DataFlowEditor->IsEditing() ) {
- if ( _IsNode ) {
- RetVal = _DataFlowNode->Comment( aDataFlowComment ) ;
- }
- else {
- RetVal = _DataFlowEditor->Graph()->Comment( aDataFlowComment ) ;
- }
- }
-// endService( "CNode_Impl::SetComment" );
- return RetVal ;
-}
-
-void CNode_Impl::Coords(long X , long Y ) {
-// beginService( "CNode_Impl::Coords" );
- if ( _DataFlowEditor->IsEditing() ) {
- if ( _IsNode ) {
- ((GraphEditor::InNode *) _DataFlowNode)->Coordinates( X , Y ) ;
- }
- else {
- _DataFlowEditor->Graph()->Coordinates( X , Y ) ;
- }
- }
-// endService( "CNode_Impl::Coords" );
-}
-long CNode_Impl::X() {
-// beginService( "CNode_Impl::X" );
- long RetVal ;
- if ( _IsNode ) {
- RetVal = _DataFlowNode->XCoordinate() ;
- }
- else {
- RetVal = _DataFlowEditor->Graph()->XCoordinate() ;
- }
-// endService( "CNode_Impl::X" );
- return RetVal ;
-}
-long CNode_Impl::Y() {
-// beginService( "CNode_Impl::Y" );
- long RetVal ;
- if ( _IsNode ) {
- RetVal = _DataFlowNode->YCoordinate() ;
- }
- else {
- RetVal = _DataFlowEditor->Graph()->YCoordinate() ;
- }
-// endService( "CNode_Impl::Y" );
- return RetVal ;
-}
-
-SUPERV::Port_ptr CNode_Impl::Port( const char * ServiceParameterName ) {
- bool begin = true ;
- Port_Impl * myPort = NULL ;
- SUPERV::Port_var iobject = SUPERV::Port::_nil() ;
- bool aninport ;
- if ( _IsNode ) {
- aninport = _DataFlowNode->GetInPort( ServiceParameterName ) ;
- }
- else {
- aninport = _DataFlowEditor->GetInPort( ServiceParameterName ) ;
- }
- bool anoutport ;
- if ( _IsNode ) {
- anoutport = _DataFlowNode->GetOutPort( ServiceParameterName ) ;
- }
- else {
- anoutport = _DataFlowEditor->GetOutPort( ServiceParameterName ) ;
- }
- if ( aninport ) {
- GraphBase::InPort * anInPort ;
- if ( _IsNode ) {
- anInPort = _DataFlowNode->GetChangeInPort( ServiceParameterName ) ;
- }
- else {
- anInPort = _DataFlowEditor->GetChangeInPort( ServiceParameterName ) ;
- }
- if ( anInPort->IsDataStream() ) {
- MESSAGE( "CNode_Impl::Port ERROR IsDataStream " ) ;
- }
- else if ( CORBA::is_nil( anInPort->ObjRef() ) ) {
- if ( begin ) {
- beginService( "CNode_Impl::Port" );
- begin = false ;
- }
- bool hasinput ;
- if ( _IsNode ) {
- hasinput = _DataFlowNode->HasInput( anInPort->PortName() ) ;
- }
- else {
- hasinput = _DataFlowEditor->HasInput( anInPort->PortName() ) ;
- }
- if ( hasinput ) {
- const CORBA::Any * anAny = anInPort->GetOutPort()->Value() ;
- myPort = new Port_Impl( _Orb , _Poa , _ContId ,
- instanceName() , interfaceName() ,
- _DataFlowEditor ,
- _DataFlowNode ,
-// ServiceParameterName ,
- (GraphBase::Port * ) anInPort ,
- true ,
- anAny ) ;
- }
- else {
- myPort = new Port_Impl( _Orb , _Poa , _ContId ,
- instanceName() , interfaceName() ,
- _DataFlowEditor ,
- _DataFlowNode ,
-// ServiceParameterName ) ;
- (GraphBase::Port * ) anInPort ,
- true ) ;
- }
- PortableServer::ObjectId * id = myPort->getId() ;
- CORBA::Object_var obj = _poa->id_to_reference(*id);
- iobject = SUPERV::Port::_narrow(obj) ;
- anInPort->ObjRef( SUPERV::Port::_duplicate( iobject ) ) ;
- }
- else {
- iobject = anInPort->ObjRef() ;
- }
- }
- else if ( anoutport ) {
- GraphBase::OutPort * anOutPort ;
- if ( _IsNode ) {
- anOutPort = _DataFlowNode->GetChangeOutPort( ServiceParameterName ) ;
- }
- else {
- anOutPort = _DataFlowEditor->GetChangeOutPort( ServiceParameterName ) ;
- }
- if ( anOutPort->IsDataStream() ) {
- MESSAGE( "CNode_Impl::Port ERROR IsDataStream " ) ;
- }
- else if ( CORBA::is_nil( anOutPort->ObjRef() ) ) {
- if ( begin ) {
- beginService( "CNode_Impl::Port" );
- begin = false ;
- }
- const CORBA::Any * anAny = anOutPort->Value() ;
- myPort = new Port_Impl( _Orb , _Poa , _ContId ,
- instanceName() , interfaceName() ,
- _DataFlowEditor ,
- _DataFlowNode ,
-// ServiceParameterName ,
- (GraphBase::Port * ) anOutPort ,
- false ,
- anAny ) ;
- PortableServer::ObjectId * id = myPort->getId() ;
- CORBA::Object_var obj = _poa->id_to_reference(*id);
- iobject = SUPERV::Port::_narrow(obj) ;
- anOutPort->ObjRef( SUPERV::Port::_duplicate( iobject ) ) ;
- }
- else {
- iobject = anOutPort->ObjRef() ;
- }
- }
- if ( !begin ) {
- endService( "CNode_Impl::Port" );
- }
- DataFlowEditor()->UnValid() ;
- return SUPERV::Port::_duplicate( iobject ) ;
-}
-
-SUPERV::Port_ptr CNode_Impl::Input( const char * ToServiceParameterName ,
- const SUPERV::Value_ptr aValue ) {
- bool begin = true ;
- SUPERV::Port_var iobject = SUPERV::Port::_nil() ;
- GraphExecutor::DataFlow * _DataFlowExecutor = _DataFlowEditor->Executor() ;
- bool sts = false ;
- GraphBase::InPort * anInPort = NULL ;
- if ( _DataFlowEditor->IsEditing() ) {
- if ( _IsNode ) {
- sts = _DataFlowEditor->AddInputData( _DataFlowNode->Name() ,
- ToServiceParameterName ,
- *aValue->ToAny() ) ;
- anInPort = _DataFlowNode->GetChangeInPort( ToServiceParameterName ) ;
- }
- else {
- sts = _DataFlowEditor->AddInputData( _DataFlowEditor->Graph()->Name() ,
- ToServiceParameterName ,
- *aValue->ToAny() ) ;
- anInPort = _DataFlowEditor->Graph()->GetChangeInPort( ToServiceParameterName ) ;
- }
- if ( sts && anInPort ) {
- if ( CORBA::is_nil( anInPort->ObjRef() ) ) {
- if ( begin ) {
- beginService( "CNode_Impl::Input" );
- begin = false ;
- }
- Port_Impl * myPort ;
- myPort = new Port_Impl( _Orb , _Poa , _ContId ,
- instanceName() , interfaceName() ,
- _DataFlowEditor ,
- _DataFlowNode ,
-// ToServiceParameterName ,
- (GraphBase::Port * ) anInPort ,
- true ,
- aValue->ToAny() ) ;
- PortableServer::ObjectId * id = myPort->getId() ;
- CORBA::Object_var obj = _poa->id_to_reference(*id);
- iobject = SUPERV::Port::_narrow(obj) ;
- anInPort->ObjRef( SUPERV::Port::_duplicate( iobject ) ) ;
- }
- else {
- iobject = anInPort->ObjRef() ;
- }
- }
- }
- else if ( _DataFlowExecutor ) {
- if ( _IsNode ) {
- sts = _DataFlowExecutor->ChangeInputData( _DataFlowNode->Name() ,
- ToServiceParameterName ,
- *aValue->ToAny() ) ;
- anInPort = _DataFlowNode->GetChangeInPort( ToServiceParameterName ) ;
- }
- else {
- sts = _DataFlowExecutor->ChangeInputData( _DataFlowEditor->Graph()->Name() ,
- ToServiceParameterName ,
- *aValue->ToAny() ) ;
- anInPort = _DataFlowEditor->Graph()->GetChangeInPort( ToServiceParameterName ) ;
- }
- if ( sts && anInPort ) {
- if ( CORBA::is_nil( anInPort->ObjRef() ) ) {
- if ( begin ) {
- beginService( "CNode_Impl::Input" );
- begin = false ;
- }
- Port_Impl * myPort ;
- myPort = new Port_Impl( _Orb , _Poa , _ContId ,
- instanceName() , interfaceName() ,
- _DataFlowEditor ,
- _DataFlowNode ,
-// ToServiceParameterName ,
- (GraphBase::Port * ) anInPort ,
- true ,
- aValue->ToAny() ) ;
- PortableServer::ObjectId * id = myPort->getId() ;
- CORBA::Object_var obj = _poa->id_to_reference(*id);
- iobject = SUPERV::Port::_narrow(obj) ;
- anInPort->ObjRef( SUPERV::Port::_duplicate( iobject ) ) ;
- }
- else {
- iobject = anInPort->ObjRef() ;
- }
- }
- }
- if ( !begin ) {
- endService( "CNode_Impl::Input" );
- }
- if ( CORBA::is_nil( iobject ) ) {
- MESSAGE( "CNode_Impl::Input returns nil object _IsNode " << _IsNode << " sts " << sts << " anInPort "
- << anInPort ) ;
- }
- DataFlowEditor()->UnValid() ;
- return SUPERV::Port::_duplicate( iobject ) ;
-}
-
-SUPERV::Port_ptr CNode_Impl::GetInPort( const char *aParameterName ) {
- SUPERV::Port_ptr Inobject = SUPERV::Port::_nil() ;
- Port_Impl * myInPort = NULL ;
- GraphBase::InPort * anInPort = DataFlowNode()->GetChangeInPort( aParameterName ) ;
- if ( anInPort && !anInPort->IsDataStream() ) {
- Inobject = anInPort->ObjRef() ;
- if ( CORBA::is_nil( Inobject ) ) {
- myInPort = new Port_Impl( _Orb , _Poa , _ContId ,
- instanceName() , interfaceName() ,
- DataFlowEditor() ,
- DataFlowNode() ,
- (GraphBase::Port * ) anInPort ,
- true ) ;
- if ( myInPort ) {
- PortableServer::ObjectId * id = myInPort->getId() ;
- CORBA::Object_var obj = _poa->id_to_reference(*id) ;
- Inobject = SUPERV::Port::_narrow(obj) ;
- anInPort->ObjRef( SUPERV::Port::_duplicate( Inobject ) ) ;
- }
- }
- }
- return SUPERV::Port::_duplicate( Inobject ) ;
-}
-
-SUPERV::Port_ptr CNode_Impl::GetOutPort( const char *aParameterName ) {
- Port_Impl * myOutPort = NULL ;
- SUPERV::Port_ptr Outobject = SUPERV::Port::_nil() ;
- GraphBase::OutPort * anOutPort = DataFlowNode()->GetChangeOutPort( aParameterName ) ;
- if ( anOutPort && !anOutPort->IsDataStream() ) {
- Outobject = anOutPort->ObjRef() ;
- if ( CORBA::is_nil( Outobject ) ) {
- const CORBA::Any * anAny = anOutPort->Value() ;
- myOutPort = new Port_Impl( _Orb , _Poa , _ContId ,
- instanceName() , interfaceName() ,
- DataFlowEditor() ,
- DataFlowNode() ,
- (GraphBase::Port * ) anOutPort ,
- false ,
- anAny ) ;
- if ( myOutPort ) {
- PortableServer::ObjectId * id = myOutPort->getId() ;
- CORBA::Object_var obj = _poa->id_to_reference(*id) ;
- Outobject = SUPERV::Port::_narrow(obj) ;
- anOutPort->ObjRef( SUPERV::Port::_duplicate( Outobject ) ) ;
- }
- }
- }
- return SUPERV::Port::_duplicate( Outobject );
-}
-
-SUPERV::StreamPort_ptr CNode_Impl::GetInStreamPort( const char *aParameterName ) {
- SUPERV::StreamPort_ptr Inobject = SUPERV::StreamPort::_nil() ;
- if ( DataFlowEditor()->Graph()->IsDataStreamNode() ) {
- StreamPort_Impl * myInStreamPort = NULL ;
- GraphBase::InPort * anInPort = DataFlowNode()->GetChangeInPort( aParameterName ) ;
- if ( anInPort && anInPort->IsDataStream() ) {
- Inobject = SUPERV::StreamPort::_narrow( anInPort->ObjRef() ) ;
- if ( CORBA::is_nil( Inobject ) ) {
- myInStreamPort = new StreamPort_Impl( _Orb , _Poa , _ContId ,
- instanceName() , interfaceName() ,
- DataFlowEditor() ,
- DataFlowNode() ,
- (GraphBase::Port * ) anInPort ,
- true ) ;
- if ( myInStreamPort ) {
- PortableServer::ObjectId * id = myInStreamPort->getId() ;
- CORBA::Object_var obj = _poa->id_to_reference(*id) ;
- Inobject = SUPERV::StreamPort::_narrow(obj) ;
- anInPort->ObjRef( SUPERV::StreamPort::_duplicate( Inobject ) ) ;
- }
- }
- }
- }
- return SUPERV::StreamPort::_duplicate( Inobject ) ;
-}
-
-SUPERV::StreamPort_ptr CNode_Impl::GetOutStreamPort( const char *aParameterName ) {
- StreamPort_Impl * myOutStreamPort = NULL ;
- SUPERV::StreamPort_ptr Outobject = SUPERV::StreamPort::_nil() ;
- if ( DataFlowEditor()->Graph()->IsDataStreamNode() ) {
- GraphBase::OutPort * anOutPort = DataFlowNode()->GetChangeOutPort( aParameterName ) ;
- if ( anOutPort && anOutPort->IsDataStream() ) {
- Outobject = SUPERV::StreamPort::_narrow( anOutPort->ObjRef() ) ;
- if ( CORBA::is_nil( Outobject ) ) {
- const CORBA::Any * anAny = anOutPort->Value() ;
- myOutStreamPort = new StreamPort_Impl( _Orb , _Poa , _ContId ,
- instanceName() , interfaceName() ,
- DataFlowEditor() ,
- DataFlowNode() ,
- (GraphBase::Port * ) anOutPort ,
- false ,
- anAny ) ;
- if ( myOutStreamPort ) {
- PortableServer::ObjectId * id = myOutStreamPort->getId() ;
- CORBA::Object_var obj = _poa->id_to_reference(*id) ;
- Outobject = SUPERV::StreamPort::_narrow(obj) ;
- anOutPort->ObjRef( SUPERV::StreamPort::_duplicate( Outobject ) ) ;
- }
- }
- }
- }
- return SUPERV::StreamPort::_duplicate( Outobject );
-}
-
-SUPERV::Link_ptr CNode_Impl::GetLink(const char * ToServiceParameterName ) {
- bool begin = true ;
- SUPERV::Link_var iobject = SUPERV::Link::_nil() ;
- char* FromNodeName ;
- char* FromServiceParameterName ;
- bool status = _DataFlowEditor->GetLink( _DataFlowNode->Name() ,
- ToServiceParameterName ,
- & FromNodeName ,
- & FromServiceParameterName ) ;
- if ( status ) {
- GraphBase::InPort * anInPort = _DataFlowNode->GetChangeInPort( ToServiceParameterName ) ;
- if ( !anInPort->IsDataStream() && anInPort->GetOutPort() ) {
- GraphBase::OutPort * anOutPort = anInPort->GetOutPort() ;
- if ( CORBA::is_nil( anOutPort->InPortObjRef( anInPort ) ) ) {
- if ( begin ) {
- beginService( "CNode_Impl::GetLink" );
- begin = false ;
- }
- bool Success ;
- Link_Impl * myLink = new Link_Impl( _Orb , _Poa , _ContId ,
- instanceName() , interfaceName() ,
- _DataFlowEditor ,
- _DataFlowNode ,
- ToServiceParameterName ,
- (GraphEditor::InNode *) _DataFlowEditor->Graph()->GetChangeGraphNode( FromNodeName )->GetInNode() ,
- FromServiceParameterName ,
- true , false , Success ) ;
- if ( Success ) {
- PortableServer::ObjectId * id = myLink->getId() ;
- CORBA::Object_var obj = _poa->id_to_reference(*id);
- iobject = SUPERV::Link::_narrow(obj) ;
- anOutPort->AddInPortObjRef( anInPort , SUPERV::Link::_duplicate( iobject ) ) ;
- }
- }
- else {
- iobject = anOutPort->InPortObjRef( anInPort ) ;
- }
- }
- }
- if ( !begin ) {
- endService( "CNode_Impl::GetLink" );
- }
- return SUPERV::Link::_duplicate( iobject ) ;
-}
-
-SUPERV::StreamLink_ptr CNode_Impl::GetStreamLink(const char * ToServiceParameterName ) {
- bool begin = true ;
- SUPERV::StreamLink_var iobject = SUPERV::StreamLink::_nil() ;
- char* FromNodeName ;
- char* FromServiceParameterName ;
- if ( DataFlowEditor()->Graph()->IsDataStreamNode() ) {
- bool status = _DataFlowEditor->GetLink( _DataFlowNode->Name() ,
- ToServiceParameterName ,
- & FromNodeName ,
- & FromServiceParameterName ) ;
- if ( status ) {
- GraphBase::InPort * anInPort = _DataFlowNode->GetChangeInPort( ToServiceParameterName ) ;
- if ( anInPort->IsDataStream() && anInPort->GetOutPort() ) {
- GraphBase::OutPort * anOutPort = anInPort->GetOutPort() ;
- if ( CORBA::is_nil( anOutPort->InPortObjRef( anInPort ) ) ) {
- if ( begin ) {
- beginService( "CNode_Impl::GetLink" );
- begin = false ;
- }
- bool Success ;
- StreamLink_Impl * myStreamLink = new StreamLink_Impl(
- _Orb , _Poa , _ContId ,
- instanceName() , interfaceName() ,
- _DataFlowEditor ,
- _DataFlowNode ,
- ToServiceParameterName ,
- (GraphEditor::InNode *) _DataFlowEditor->Graph()->GetChangeGraphNode( FromNodeName )->GetInNode() ,
- FromServiceParameterName ,
- true , Success ) ;
- if ( Success ) {
- PortableServer::ObjectId * id = myStreamLink->getId() ;
- CORBA::Object_var obj = _poa->id_to_reference(*id);
- iobject = SUPERV::StreamLink::_narrow(obj) ;
- anOutPort->AddInPortObjRef( anInPort , SUPERV::StreamLink::_duplicate( iobject ) ) ;
- }
- }
- else {
- iobject = SUPERV::StreamLink::_narrow( anOutPort->InPortObjRef( anInPort ) ) ;
- }
- }
- }
- }
- if ( !begin ) {
- endService( "CNode_Impl::GetLink" );
- }
- return SUPERV::StreamLink::_duplicate( iobject ) ;
-}
-
-SUPERV::ListOfPorts * CNode_Impl::Ports() {
- bool begin = true ;
- int i , j ;
- int PortCount = 0 ;
- SUPERV::ListOfPorts_var RetVal = new SUPERV::ListOfPorts ;
- if ( _IsNode ) {
-// RetVal->length( _DataFlowNode->GetNodeInPortsSize() +
-// _DataFlowNode->GetNodeOutPortsSize() ) ;
- for ( i = 0 ; i < _DataFlowNode->GetNodeInPortsSize() ; i++ ) {
- GraphBase::InPort * anInPort = _DataFlowNode->GetChangeNodeInPort( i ) ;
- if ( !anInPort->IsDataStream() ) {
- if ( begin ) {
- beginService( "CNode_Impl::Ports" );
- begin = false ;
- }
- if ( anInPort->IsLoop() || ( anInPort->IsGate() && !anInPort->IsConnected() &&
- ( _DataFlowEditor->IsExecuting() || _DataFlowEditor->IsReadOnly() ) ) ) {
- MESSAGE( "InPort " << i << " " << anInPort->PortName() << " of Node " << Name() << " ignored" ) ;
-// RetVal[ i ] = SUPERV::Port::_duplicate( SUPERV::Port::_narrow( CORBA::Object::_nil() ) ) ;
- }
- else if ( CORBA::is_nil( anInPort->ObjRef() ) ) {
- MESSAGE( "InPort " << i << " " << anInPort->PortName() << " of Node " << Name() << " IsExecuting "
- << _DataFlowEditor->IsExecuting() << " IsGate/IsConnected " << anInPort->IsGate()
- << "/" << anInPort->IsConnected() ) ;
- Port_Impl * myPort ;
- if ( _DataFlowNode->HasInput( anInPort->PortName() ) ) {
- const CORBA::Any * anAny = anInPort->GetOutPort()->Value() ;
- myPort = new Port_Impl( _Orb , _Poa , _ContId ,
- instanceName() , interfaceName() ,
- _DataFlowEditor ,
- _DataFlowNode ,
- (GraphBase::Port * ) anInPort ,
- true ,
- anAny ) ;
- }
- else {
- myPort = new Port_Impl( _Orb , _Poa , _ContId ,
- instanceName() , interfaceName() ,
- _DataFlowEditor ,
- _DataFlowNode ,
- (GraphBase::Port * ) anInPort ,
- true ) ;
- }
- PortableServer::ObjectId * id = myPort->getId() ;
- CORBA::Object_var obj = _poa->id_to_reference(*id);
- SUPERV::Port_var iobject ;
- iobject = SUPERV::Port::_narrow(obj) ;
- PortCount += 1 ;
- RetVal->length( PortCount ) ;
- RetVal[ PortCount - 1 ] = SUPERV::Port::_duplicate( iobject ) ;
- anInPort->ObjRef( SUPERV::Port::_duplicate( iobject ) ) ;
- }
- else {
- MESSAGE( "InPort " << i << " " << anInPort->PortName() << " of Node " << Name() ) ;
- PortCount += 1 ;
- RetVal->length( PortCount ) ;
- RetVal[ PortCount - 1 ] = SUPERV::Port::_duplicate( anInPort->ObjRef() ) ;
- }
- }
- else {
- MESSAGE( "InPort " << i << " " << anInPort->PortName() << " of Node " << Name() << " IsDataStream" ) ;
-// RetVal[ i ] = SUPERV::Port::_duplicate( SUPERV::Port::_narrow( CORBA::Object::_nil() ) ) ;
- }
- }
- for ( i = 0 ; i < _DataFlowNode->GetNodeOutPortsSize() ; i++ ) {
- GraphBase::OutPort * anOutPort = _DataFlowNode->GetChangeNodeOutPort( i ) ;
- if ( !anOutPort->IsDataStream() ) {
- if ( begin ) {
- beginService( "CNode_Impl::Ports" );
- begin = false ;
- }
- if ( anOutPort->IsLoop() || ( anOutPort->IsGate() && !anOutPort->IsConnected() &&
- ( _DataFlowEditor->IsExecuting() || _DataFlowEditor->IsReadOnly() ) ) ) {
- MESSAGE( "OutPort " << i << " " << anOutPort->PortName() << " of Node " << Name() << " ignored" ) ;
-// RetVal[ _DataFlowNode->GetNodeInPortsSize() + i ] = SUPERV::Port::_duplicate( SUPERV::Port::_narrow( CORBA::Object::_nil() ) ) ;
- }
- else if ( CORBA::is_nil( anOutPort->ObjRef() ) ) {
- MESSAGE( "OutPort " << i << " " << anOutPort->PortName() << " of Node " << Name() ) ;
- const CORBA::Any * anAny = anOutPort->Value() ;
- Port_Impl * myPort = new Port_Impl( _Orb , _Poa , _ContId ,
- instanceName() , interfaceName() ,
- _DataFlowEditor ,
- _DataFlowNode ,
- (GraphBase::Port * ) anOutPort ,
- false ,
- anAny ) ;
- PortableServer::ObjectId * id = myPort->getId() ;
- CORBA::Object_var obj = _poa->id_to_reference(*id);
- SUPERV::Port_var iobject ;
- iobject = SUPERV::Port::_narrow(obj) ;
- PortCount += 1 ;
- RetVal->length( PortCount ) ;
- RetVal[ PortCount - 1 ] = SUPERV::Port::_duplicate( iobject ) ;
- anOutPort->ObjRef( SUPERV::Port::_duplicate( iobject ) ) ;
- }
- else {
- MESSAGE( "OutPort " << i << " " << anOutPort->PortName() << " of Node " << Name() ) ;
- PortCount += 1 ;
- RetVal->length( PortCount ) ;
- RetVal[ PortCount - 1 ] = SUPERV::Port::_duplicate( anOutPort->ObjRef() ) ;
- }
- }
- else {
- MESSAGE( "OutPort " << i << " " << anOutPort->PortName() << " of Node " << Name() << " IsDataStream" ) ;
-// RetVal[ _DataFlowNode->GetNodeInPortsSize() + i ] = SUPERV::Port::_duplicate( SUPERV::Port::_narrow( CORBA::Object::_nil() ) ) ;
- }
- }
- }
- else {
- if ( _DataFlowEditor->IsValid() ) {
- RetVal->length( _DataFlowEditor->Graph()->GetNodeInDataNodePortsSize() +
- _DataFlowEditor->Graph()->GetNodeOutDataNodePortsSize() ) ;
- for ( i = 0 ; i < _DataFlowEditor->Graph()->GetNodeInDataNodePortsSize() ; i++ ) {
- GraphBase::OutPort * anOutPort = _DataFlowEditor->Graph()->GetChangeNodeInDataNodePort(i) ;
- if ( !anOutPort->IsDataStream() ) {
- if ( CORBA::is_nil( anOutPort->ObjRef() ) ) {
- if ( begin ) {
- beginService( "CNode_Impl::Ports" );
- begin = false ;
- }
- Port_Impl * myPort ;
- if ( anOutPort->IsDataConnected() ) {
- const CORBA::Any * anAny = anOutPort->Value() ;
- myPort = new Port_Impl( _Orb , _Poa , _ContId ,
- instanceName() , interfaceName() ,
- _DataFlowEditor ,
- _DataFlowNode ,
- (GraphBase::Port * ) anOutPort ,
- true ,
- anAny ) ;
- }
- else {
- myPort = new Port_Impl( _Orb , _Poa , _ContId ,
- instanceName() , interfaceName() ,
- _DataFlowEditor ,
- _DataFlowNode ,
- (GraphBase::Port * ) anOutPort ,
- true ) ;
- }
- PortableServer::ObjectId * id = myPort->getId() ;
- CORBA::Object_var obj = _poa->id_to_reference(*id);
- SUPERV::Port_var iobject ;
- iobject = SUPERV::Port::_narrow(obj) ;
- PortCount += 1 ;
- RetVal->length( PortCount ) ;
- RetVal[ PortCount - 1 ] = SUPERV::Port::_duplicate( iobject ) ;
- anOutPort->ObjRef( SUPERV::Port::_duplicate( iobject ) ) ;
- }
- else {
- PortCount += 1 ;
- RetVal->length( PortCount ) ;
- RetVal[ PortCount - 1 ] = SUPERV::Port::_duplicate( anOutPort->ObjRef() ) ;
- }
- }
- else {
-// RetVal[ i ] = SUPERV::Port::_duplicate( SUPERV::Port::_narrow( CORBA::Object::_nil() ) ) ;
- }
- }
- j = _DataFlowEditor->Graph()->GetNodeInDataNodePortsSize() ;
- for ( i = 0 ; i < _DataFlowEditor->Graph()->GetNodeOutDataNodePortsSize() ; i++ ) {
- GraphBase::InPort * anInPort = _DataFlowEditor->Graph()->GetChangeNodeOutDataNodePort(i) ;
- if ( !anInPort->IsDataStream() ) {
- if ( CORBA::is_nil( anInPort->ObjRef() ) ) {
- if ( begin ) {
- beginService( "CNode_Impl::Ports" );
- begin = false ;
- }
- Port_Impl * myPort ;
- if ( anInPort->IsDataConnected() ) {
- const CORBA::Any * anAny = anInPort->GetOutPort()->Value() ;
- myPort = new Port_Impl( _Orb , _Poa , _ContId ,
- instanceName() , interfaceName() ,
- _DataFlowEditor ,
- _DataFlowNode ,
- (GraphBase::Port * ) anInPort ,
- false ,
- anAny ) ;
- }
- else {
- myPort = new Port_Impl( _Orb , _Poa , _ContId ,
- instanceName() , interfaceName() ,
- _DataFlowEditor ,
- _DataFlowNode ,
- anInPort ,
- false ) ;
- }
- PortableServer::ObjectId * id = myPort->getId() ;
- CORBA::Object_var obj = _poa->id_to_reference(*id);
- SUPERV::Port_var iobject ;
- iobject = SUPERV::Port::_narrow(obj) ;
- PortCount += 1 ;
- RetVal->length( PortCount ) ;
- RetVal[ PortCount - 1 ] = SUPERV::Port::_duplicate( iobject ) ;
- anInPort->ObjRef( SUPERV::Port::_duplicate( iobject ) ) ;
- }
- else {
- PortCount += 1 ;
- RetVal->length( PortCount ) ;
- RetVal[ PortCount - 1 ] = SUPERV::Port::_duplicate( anInPort->ObjRef() ) ;
- }
- }
- else {
-// RetVal[ j + i ] = SUPERV::Port::_duplicate( SUPERV::Port::_narrow( CORBA::Object::_nil() ) ) ;
- }
- }
- }
- }
-// int RetVallength = (unsigned int ) RetVal->length() ;
-// for ( i = 0 ; i < RetVallength ; i++ ) {
-// MESSAGE( "Port " << i << " " << RetVal[i]->Name() << " of Node " << Name() ) ;
-// }
- if ( !begin ) {
- endService( "CNode_Impl::Ports " ) ;
- }
- return ( RetVal._retn() ) ;
-}
-
-SUPERV::ListOfStreamPorts * CNode_Impl::StreamPorts() {
- bool begin = true ;
- int i , j ;
- int PortCount = 0 ;
- SUPERV::ListOfStreamPorts_var RetVal = new SUPERV::ListOfStreamPorts ;
- if ( !DataFlowEditor()->Graph()->IsDataStreamNode() ) {
-// MESSAGE("CNode_Impl::StreamPorts NOT a DataStreamNode" ) ;
- }
- else if ( _IsNode ) {
-// RetVal->length( _DataFlowNode->GetNodeInPortsSize() +
-// _DataFlowNode->GetNodeOutPortsSize() ) ;
- for ( i = 0 ; i < _DataFlowNode->GetNodeInPortsSize() ; i++ ) {
- GraphBase::InPort * anInPort = _DataFlowNode->GetChangeNodeInPort( i ) ;
- if ( anInPort->IsDataStream() ) {
- if ( begin ) {
- beginService( "CNode_Impl::StreamPorts" );
- begin = false ;
- }
- if ( anInPort->IsLoop() || ( anInPort->IsGate() && !anInPort->IsConnected() &&
- ( _DataFlowEditor->IsExecuting() || _DataFlowEditor->IsReadOnly() ) ) ) {
- MESSAGE( "InStreamPort " << i << " " << anInPort->PortName() << " of Node " << Name() << " ignored" ) ;
-// RetVal[ i ] = SUPERV::StreamPort::_duplicate( SUPERV::StreamPort::_narrow( CORBA::Object::_nil() ) ) ;
- }
- else if ( CORBA::is_nil( anInPort->ObjRef() ) ) {
- MESSAGE( "InStreamPort " << i << " " << anInPort->PortName() << " of Node " << Name() << " IsExecuting "
- << _DataFlowEditor->IsExecuting() << " IsGate/IsConnected " << anInPort->IsGate()
- << "/" << anInPort->IsConnected() ) ;
- StreamPort_Impl * myStreamPort ;
- if ( _DataFlowNode->HasInput( anInPort->PortName() ) ) {
- const CORBA::Any * anAny = anInPort->GetOutPort()->Value() ;
- myStreamPort = new StreamPort_Impl( _Orb , _Poa , _ContId ,
- instanceName() , interfaceName() ,
- _DataFlowEditor ,
- _DataFlowNode ,
- (GraphBase::Port * ) anInPort ,
- true ,
- anAny ) ;
- }
- else {
- myStreamPort = new StreamPort_Impl( _Orb , _Poa , _ContId ,
- instanceName() , interfaceName() ,
- _DataFlowEditor ,
- _DataFlowNode ,
- (GraphBase::Port * ) anInPort ,
- true ) ;
- }
- PortableServer::ObjectId * id = myStreamPort->getId() ;
- CORBA::Object_var obj = _poa->id_to_reference(*id);
- SUPERV::StreamPort_var iobject ;
- iobject = SUPERV::StreamPort::_narrow(obj) ;
- PortCount += 1 ;
- RetVal->length( PortCount ) ;
- RetVal[ PortCount - 1 ] = SUPERV::StreamPort::_duplicate( iobject ) ;
- anInPort->ObjRef( SUPERV::StreamPort::_duplicate( iobject ) ) ;
- }
- else {
- MESSAGE( "InStreamPort " << i << " " << anInPort->PortName() << " of Node " << Name() ) ;
- PortCount += 1 ;
- RetVal->length( PortCount ) ;
- RetVal[ PortCount - 1 ] = SUPERV::StreamPort::_duplicate( SUPERV::StreamPort::_narrow( anInPort->ObjRef() ) ) ;
- }
- }
- else {
-// RetVal[ i ] = SUPERV::StreamPort::_duplicate( SUPERV::StreamPort::_narrow( CORBA::Object::_nil() ) ) ;
- }
- }
- for ( i = 0 ; i < _DataFlowNode->GetNodeOutPortsSize() ; i++ ) {
- GraphBase::OutPort * anOutPort = _DataFlowNode->GetChangeNodeOutPort( i ) ;
- if ( anOutPort->IsDataStream() ) {
- if ( begin ) {
- beginService( "CNode_Impl::StreamPorts" );
- begin = false ;
- }
- if ( anOutPort->IsLoop() || ( anOutPort->IsGate() && !anOutPort->IsConnected() &&
- ( _DataFlowEditor->IsExecuting() || _DataFlowEditor->IsReadOnly() ) ) ) {
- MESSAGE( "OutStreamPort " << i << " " << anOutPort->PortName() << " of Node " << Name() << " ignored" ) ;
-// RetVal[ _DataFlowNode->GetNodeInPortsSize() + i ] = SUPERV::StreamPort::_duplicate( SUPERV::StreamPort::_narrow( CORBA::Object::_nil() ) ) ;
- }
- else if ( CORBA::is_nil( anOutPort->ObjRef() ) ) {
- MESSAGE( "OutStreamPort " << i << " " << anOutPort->PortName() << " of Node " << Name() ) ;
- const CORBA::Any * anAny = anOutPort->Value() ;
- StreamPort_Impl * myStreamPort = new StreamPort_Impl( _Orb , _Poa , _ContId ,
- instanceName() , interfaceName() ,
- _DataFlowEditor ,
- _DataFlowNode ,
- (GraphBase::Port * ) anOutPort ,
- false ,
- anAny ) ;
- PortableServer::ObjectId * id = myStreamPort->getId() ;
- CORBA::Object_var obj = _poa->id_to_reference(*id);
- SUPERV::StreamPort_var iobject ;
- iobject = SUPERV::StreamPort::_narrow(obj) ;
- PortCount += 1 ;
- RetVal->length( PortCount ) ;
- RetVal[ PortCount - 1 ] = SUPERV::StreamPort::_duplicate( iobject ) ;
- anOutPort->ObjRef( SUPERV::StreamPort::_duplicate( iobject ) ) ;
- }
- else {
- MESSAGE( "OutStreamPort " << i << " " << anOutPort->PortName() << " of Node " << Name() ) ;
- PortCount += 1 ;
- RetVal->length( PortCount ) ;
- RetVal[ PortCount - 1 ] = SUPERV::StreamPort::_duplicate( SUPERV::StreamPort::_narrow( anOutPort->ObjRef() ) ) ;
- }
- }
- else {
-// RetVal[ i ] = SUPERV::StreamPort::_duplicate( SUPERV::StreamPort::_narrow( CORBA::Object::_nil() ) ) ;
- }
- }
- }
- else {
- if ( _DataFlowEditor->IsValid() ) {
-// RetVal->length( _DataFlowEditor->Graph()->GetNodeInDataNodePortsSize() +
-// _DataFlowEditor->Graph()->GetNodeOutDataNodePortsSize() ) ;
- for ( i = 0 ; i < _DataFlowEditor->Graph()->GetNodeInDataNodePortsSize() ; i++ ) {
- GraphBase::OutPort * anOutPort = _DataFlowEditor->Graph()->GetChangeNodeInDataNodePort(i) ;
- if ( anOutPort->IsDataStream() ) {
- if ( CORBA::is_nil( anOutPort->ObjRef() ) ) {
- if ( begin ) {
- beginService( "CNode_Impl::StreamPorts" );
- begin = false ;
- }
- StreamPort_Impl * myStreamPort ;
- if ( anOutPort->IsDataConnected() ) {
- const CORBA::Any * anAny = anOutPort->Value() ;
- myStreamPort = new StreamPort_Impl( _Orb , _Poa , _ContId ,
- instanceName() , interfaceName() ,
- _DataFlowEditor ,
- _DataFlowNode ,
- (GraphBase::Port * ) anOutPort ,
- true ,
- anAny ) ;
- }
- else {
- myStreamPort = new StreamPort_Impl( _Orb , _Poa , _ContId ,
- instanceName() , interfaceName() ,
- _DataFlowEditor ,
- _DataFlowNode ,
- (GraphBase::Port * ) anOutPort ,
- true ) ;
- }
- PortableServer::ObjectId * id = myStreamPort->getId() ;
- CORBA::Object_var obj = _poa->id_to_reference(*id);
- SUPERV::StreamPort_var iobject ;
- iobject = SUPERV::StreamPort::_narrow(obj) ;
- PortCount += 1 ;
- RetVal->length( PortCount ) ;
- RetVal[ PortCount - 1 ] = SUPERV::StreamPort::_duplicate( iobject ) ;
- anOutPort->ObjRef( SUPERV::StreamPort::_duplicate( iobject ) ) ;
- }
- else {
- PortCount += 1 ;
- RetVal->length( PortCount ) ;
- RetVal[ PortCount - 1 ] = SUPERV::StreamPort::_duplicate( SUPERV::StreamPort::_narrow( anOutPort->ObjRef() ) ) ;
- }
- }
- else {
-// RetVal[ i ] = SUPERV::StreamPort::_duplicate( SUPERV::StreamPort::_narrow( CORBA::Object::_nil() ) ) ;
- }
- }
- j = _DataFlowEditor->Graph()->GetNodeInDataNodePortsSize() ;
- for ( i = 0 ; i < _DataFlowEditor->Graph()->GetNodeOutDataNodePortsSize() ; i++ ) {
- GraphBase::InPort * anInPort = _DataFlowEditor->Graph()->GetChangeNodeOutDataNodePort(i) ;
- if ( anInPort->IsDataStream() ) {
- if ( CORBA::is_nil( anInPort->ObjRef() ) ) {
- if ( begin ) {
- beginService( "CNode_Impl::StreamPorts" );
- begin = false ;
- }
- StreamPort_Impl * myStreamPort ;
- if ( anInPort->IsDataConnected() ) {
- const CORBA::Any * anAny = anInPort->GetOutPort()->Value() ;
- myStreamPort = new StreamPort_Impl( _Orb , _Poa , _ContId ,
- instanceName() , interfaceName() ,
- _DataFlowEditor ,
- _DataFlowNode ,
- (GraphBase::Port * ) anInPort ,
- false ,
- anAny ) ;
- }
- else {
- myStreamPort = new StreamPort_Impl( _Orb , _Poa , _ContId ,
- instanceName() , interfaceName() ,
- _DataFlowEditor ,
- _DataFlowNode ,
- anInPort ,
- false ) ;
- }
- PortableServer::ObjectId * id = myStreamPort->getId() ;
- CORBA::Object_var obj = _poa->id_to_reference(*id);
- SUPERV::StreamPort_var iobject ;
- iobject = SUPERV::StreamPort::_narrow(obj) ;
- PortCount += 1 ;
- RetVal->length( PortCount ) ;
- RetVal[ PortCount - 1 ] = SUPERV::StreamPort::_duplicate( iobject ) ;
- anInPort->ObjRef( SUPERV::StreamPort::_duplicate( iobject ) ) ;
- }
- else {
- PortCount += 1 ;
- RetVal->length( PortCount ) ;
- RetVal[ PortCount - 1 ] = SUPERV::StreamPort::_duplicate( SUPERV::StreamPort::_narrow( anInPort->ObjRef() ) ) ;
- }
- }
- else {
-// RetVal[ i ] = SUPERV::StreamPort::_duplicate( SUPERV::StreamPort::_narrow( CORBA::Object::_nil() ) ) ;
- }
- }
- }
- }
-// int RetVallength = (unsigned int ) RetVal->length() ;
-// for ( i = 0 ; i < RetVallength ; i++ ) {
-// MESSAGE( "StreamPort " << i << " " << RetVal[i]->Name() << " of Node " << Name() ) ;
-// }
- if ( !begin ) {
- endService( "CNode_Impl::StreamPorts " ) ;
- }
- return ( RetVal._retn() ) ;
-}
-
-SUPERV::ListOfLinks * CNode_Impl::Links() {
- beginService( "CNode_Impl::Links" ) ;
- SUPERV::ListOfLinks_var RetVal = new SUPERV::ListOfLinks ;
- if ( _DataFlowNode ) {
- RetVal = DataFlowEditor()->Graph()->ObjImpl()->Links( _DataFlowNode->ComputingNode() , NULL ) ;
- }
- else {
- RetVal = DataFlowEditor()->Graph()->ObjImpl()->Links( NULL , NULL ) ;
- }
- MESSAGE( "CNode_Impl::Links " << RetVal->length() << " Links" ) ;
- endService( "CNode_Impl::Links" ) ;
- return ( RetVal._retn() ) ;
-}
-
-SUPERV::ListOfStreamLinks * CNode_Impl::StreamLinks() {
- beginService( "CNode_Impl::StreamLinks" ) ;
- SUPERV::ListOfStreamLinks_var RetVal = new SUPERV::ListOfStreamLinks ;
- if ( _DataFlowNode && DataFlowEditor()->Graph()->IsDataStreamNode() ) {
- RetVal = ((StreamGraph_Impl *) (DataFlowEditor()->StreamGraph()->ObjImpl()))->StreamLinks( _DataFlowNode->ComputingNode() , NULL ) ;
- }
- else if ( DataFlowEditor()->Graph()->IsDataStreamNode() ) {
- RetVal = ((StreamGraph_Impl *) (DataFlowEditor()->StreamGraph()->ObjImpl()))->StreamLinks( NULL , NULL ) ;
- }
- MESSAGE( "CNode_Impl::StreamLinks " << RetVal->length() << " StreamLinks" ) ;
- endService( "CNode_Impl::StreamLinks" ) ;
- return ( RetVal._retn() ) ;
-}
-
-long CNode_Impl::SubGraph() {
-// beginService( "CNode_Impl::SubGraph" );
- long RetVal = 0 ;
- if ( _IsNode ) {
- RetVal = _DataFlowNode->SubGraph() ;
- }
-// endService( "CNode_Impl::SubGraph" );
- return RetVal ;
-}
-
-long CNode_Impl::SubStreamGraph() {
-// beginService( "CNode_Impl::SubStreamGraph" );
- long RetVal = 0 ;
- if ( _IsNode ) {
- RetVal = _DataFlowNode->SubStreamGraph() ;
- }
-// endService( "CNode_Impl::SubStreamGraph" );
- return RetVal ;
-}
-
-bool CNode_Impl::IsLinked(const char * ServiceParameterName ) {
- beginService( "CNode_Impl::IsLinked" );
- bool RetVal = _DataFlowNode->IsLinked( ServiceParameterName ) ;
- MESSAGE( Name() << "->IsLinked( '" << ServiceParameterName << "' )" ) ;
- endService( "CNode_Impl::IsLinked" );
- return RetVal ;
-}
-
-bool CNode_Impl::HasInput(const char * ServiceParameterName ) {
-// beginService( "CNode_Impl::HasInput" );
- bool RetVal = _DataFlowNode->HasInput( ServiceParameterName ) ;
-// endService( "CNode_Impl::HasInput" );
- return RetVal ;
-}
-
-SUPERV::GraphState CNode_Impl::State() {
-// beginService( "CNode_Impl::State" );
- SUPERV::GraphState RetVal = SUPERV::EditingState ;
- GraphExecutor::DataFlow * _DataFlowExecutor = _DataFlowEditor->Executor() ;
- if ( _DataFlowExecutor && !_DataFlowEditor->EditedAfterExecution() ) {
- //JR : 12/06/03 if ( _DataFlowExecutor ) {
- if ( _IsNode ) {
- RetVal = _DataFlowExecutor->State( Name() ) ;
- }
- else {
- RetVal = _DataFlowExecutor->State() ;
- }
- }
-// endService( "CNode_Impl::State" );
- return RetVal ;
-}
-long CNode_Impl::Thread() {
-// beginService( "CNode_Impl::Thread" );
- long RetVal = 0 ;
- GraphExecutor::DataFlow * _DataFlowExecutor = _DataFlowEditor->Executor() ;
- if ( _DataFlowExecutor ) {
- if ( _IsNode ) {
- RetVal = _DataFlowExecutor->Thread( Name() ) ;
- }
- else {
- RetVal = _DataFlowExecutor->Thread() ;
- }
- }
-// endService( "CNode_Impl::Thread" );
- return RetVal ;
-}
-SUPERV::AutomatonState CNode_Impl::AutoState() {
-// beginService( "CNode_Impl::AutoState" );
- SUPERV::AutomatonState RetVal = SUPERV::UnKnownState ;
- GraphExecutor::DataFlow * _DataFlowExecutor = _DataFlowEditor->Executor() ;
- if ( _DataFlowExecutor ) {
- if ( _IsNode ) {
- RetVal = _DataFlowExecutor->AutomatonState( Name() ) ;
- }
- else {
- RetVal = _DataFlowExecutor->AutomatonState() ;
- }
- }
-// endService( "CNode_Impl::AutoState" );
- return RetVal ;
-}
-SUPERV::ControlState CNode_Impl::Control() {
-// beginService( "CNode_Impl::Control" );
- SUPERV::ControlState RetVal = SUPERV::VoidState ;
- GraphExecutor::DataFlow * _DataFlowExecutor = _DataFlowEditor->Executor() ;
- if ( _DataFlowExecutor ) {
- if ( _IsNode ) {
- RetVal = _DataFlowExecutor->ControlState( Name() ) ;
- }
- else {
- RetVal = _DataFlowExecutor->ControlState() ;
- }
- }
-// endService( "CNode_Impl::Control" );
- return RetVal ;
-}
-void CNode_Impl::ControlClear() {
-// beginService( "CNode_Impl::ControlClear" );
-// SUPERV::ControlState RetVal = SUPERV::VoidState ;
- GraphExecutor::DataFlow * _DataFlowExecutor = _DataFlowEditor->Executor() ;
- if ( _DataFlowExecutor ) {
- if ( _IsNode ) {
- _DataFlowExecutor->ControlClear( Name() ) ;
- }
- else {
- _DataFlowExecutor->ControlClear() ;
- }
- }
-// endService( "CNode_Impl::ControlClear" );
- return ;
-}
-
-bool CNode_Impl::IsReady() {
-// beginService( "CNode_Impl::IsReady" );
- bool RetVal = false ;
- GraphExecutor::DataFlow * _DataFlowExecutor = _DataFlowEditor->Executor() ;
- if ( _DataFlowExecutor ) {
- if ( _IsNode ) {
- RetVal = _DataFlowExecutor->IsReady( Name() ) ;
- }
- else {
- RetVal = _DataFlowExecutor->IsReady() ;
- }
- }
-// endService( "CNode_Impl::IsReady" );
- return RetVal ;
-}
-
-bool CNode_Impl::IsWaiting() {
-// beginService( "CNode_Impl::IsWaiting" );
- bool RetVal = false ;
- GraphExecutor::DataFlow * _DataFlowExecutor = _DataFlowEditor->Executor() ;
- if ( _DataFlowExecutor ) {
- if ( _IsNode ) {
- RetVal = _DataFlowExecutor->IsWaiting( Name() ) ;
- }
- else {
- RetVal = _DataFlowExecutor->IsWaiting() ;
- }
- }
-// endService( "CNode_Impl::IsWaiting" );
- return RetVal ;
-}
-
-bool CNode_Impl::IsRunning() {
-// beginService( "CNode_Impl::IsRunning" );
- bool RetVal = false ;
- GraphExecutor::DataFlow * _DataFlowExecutor = _DataFlowEditor->Executor() ;
- if ( _DataFlowExecutor ) {
- if ( _IsNode ) {
- RetVal = _DataFlowExecutor->IsRunning( Name() ) ;
- }
- else {
- RetVal = _DataFlowExecutor->IsRunning() ;
- }
- }
-// endService( "CNode_Impl::IsRunning" );
- return RetVal ;
-}
-
-bool CNode_Impl::IsDone() {
-// beginService( "CNode_Impl::IsDone" );
- bool RetVal = false ;
- GraphExecutor::DataFlow * _DataFlowExecutor = _DataFlowEditor->Executor() ;
- if ( _DataFlowExecutor ) {
- if ( _IsNode ) {
- RetVal = _DataFlowExecutor->IsDone( Name() ) ;
- }
- else {
- RetVal = _DataFlowExecutor->IsDone() ;
- }
- }
-// endService( "CNode_Impl::IsDone" );
- return RetVal ;
-}
-
-bool CNode_Impl::IsSuspended() {
-// beginService( "CNode_Impl::IsSuspended" );
- bool RetVal = false ;
- GraphExecutor::DataFlow * _DataFlowExecutor = _DataFlowEditor->Executor() ;
- if ( _DataFlowExecutor ) {
- if ( _IsNode ) {
- RetVal = _DataFlowExecutor->IsSuspended( Name() ) ;
- }
- else {
- RetVal = _DataFlowExecutor->IsSuspended() ;
- }
- }
-// endService( "CNode_Impl::IsSuspended" );
- return RetVal ;
-}
-
-bool CNode_Impl::ReadyW() {
-// beginService( "CNode_Impl::ReadyW" );
- bool RetVal = false ;
- GraphExecutor::DataFlow * _DataFlowExecutor = _DataFlowEditor->Executor() ;
- if ( _DataFlowExecutor ) {
- if ( _IsNode ) {
- RetVal = _DataFlowExecutor->ReadyWait( Name() ) ;
- }
- else {
- RetVal = _DataFlowExecutor->ReadyWait() ;
- }
- }
-// endService( "CNode_Impl::ReadyW" );
- return RetVal ;
-}
-
-bool CNode_Impl::RunningW() {
-// beginService( "CNode_Impl::RunningW" );
- bool RetVal = false ;
- GraphExecutor::DataFlow * _DataFlowExecutor = _DataFlowEditor->Executor() ;
- if ( _DataFlowExecutor ) {
- if ( _IsNode ) {
- RetVal = _DataFlowExecutor->RunningWait( Name() ) ;
- }
- else {
- RetVal = _DataFlowExecutor->RunningWait() ;
- }
- }
-// endService( "CNode_Impl::RunningW" );
- return RetVal ;
-}
-
-bool CNode_Impl::DoneW() {
-// beginService( "CNode_Impl::DoneW" );
- bool RetVal = false ;
- GraphExecutor::DataFlow * _DataFlowExecutor = _DataFlowEditor->Executor() ;
- if ( _DataFlowExecutor ) {
- if ( _IsNode ) {
- RetVal = _DataFlowExecutor->DoneWait( Name() ) ;
- }
- else {
- RetVal = _DataFlowExecutor->DoneWait() ;
- }
- }
-// endService( "CNode_Impl::DoneW" );
- return RetVal ;
-}
-
-bool CNode_Impl::SuspendedW() {
-// beginService( "CNode_Impl::SuspendedW" );
- bool RetVal = false ;
- GraphExecutor::DataFlow * _DataFlowExecutor = _DataFlowEditor->Executor() ;
- if ( _DataFlowExecutor ) {
- if ( _IsNode ) {
- RetVal = _DataFlowExecutor->SuspendedWait( Name() ) ;
- }
- else {
- RetVal = _DataFlowExecutor->SuspendedWait() ;
- }
- }
-// endService( "CNode_Impl::SuspendedW" );
- return RetVal ;
-}
-
-void CNode_Impl::ping() {
-// beginService( "CNode_Impl::ping" );
- bool RetVal = false ;
- GraphExecutor::DataFlow * _DataFlowExecutor = _DataFlowEditor->Executor() ;
- if ( _DataFlowExecutor ) {
- if ( _IsNode ) {
- RetVal = _DataFlowExecutor->Ping( Name() ) ;
- }
- else {
- RetVal = false ;
- }
- }
-// endService( "CNode_Impl::ping" );
- return ;
-}
-
-bool CNode_Impl::ContainerKill() {
- beginService( "CNode_Impl::ContainerKill" );
- bool RetVal = false ;
- GraphExecutor::DataFlow * _DataFlowExecutor = _DataFlowEditor->Executor() ;
- if ( _DataFlowExecutor && _DataFlowEditor->IsExecuting() ) {
- if ( _IsNode ) {
- RetVal = _DataFlowExecutor->ContainerKill( Name() ) ;
- }
- else {
- RetVal = _DataFlowExecutor->ContainerKill() ;
- }
- }
- endService( "CNode_Impl::ContainerKill" );
- return RetVal ;
-}
-bool CNode_Impl::Kill() {
- beginService( "CNode_Impl::Kill" );
- bool RetVal = false ;
- GraphExecutor::DataFlow * _DataFlowExecutor = _DataFlowEditor->Executor() ;
- if ( _DataFlowExecutor ) {
- if ( _IsNode ) {
- RetVal = _DataFlowExecutor->Kill( Name() ) ;
- }
- else {
- RetVal = _DataFlowExecutor->Kill() ;
- MESSAGE( "Graph execution was killed " << RetVal ) ;
- }
- }
- endService( "CNode_Impl::Kill" );
- return RetVal ;
-}
-bool CNode_Impl::KillDone() {
-// beginService( "CNode_Impl::KillDone" );
- bool RetVal = false ;
- GraphExecutor::DataFlow * _DataFlowExecutor = _DataFlowEditor->Executor() ;
- if ( _DataFlowExecutor ) {
- if ( _IsNode ) {
- RetVal = _DataFlowExecutor->KillDone( Name() ) ;
- }
- }
-// endService( "CNode_Impl::KillDone" );
- return RetVal ;
-}
-bool CNode_Impl::Stop() {
-// beginService( "CNode_Impl::Stop" );
- bool RetVal ; // = _DataFlowExecutor->Stop() ;
-// endService( "CNode_Impl::Stop" );
- return RetVal ;
-}
-bool CNode_Impl::Suspend() {
- beginService( "CNode_Impl::Suspend" );
- bool RetVal = false ;
- GraphExecutor::DataFlow * _DataFlowExecutor = _DataFlowEditor->Executor() ;
- if ( _DataFlowExecutor ) {
- if ( _IsNode ) {
- MESSAGE( "CNode_Impl::Suspend " << Name() ) ;
- RetVal = _DataFlowExecutor->Suspend( Name() ) ;
- }
- else {
- MESSAGE( "CNode_Impl::Suspend " << _DataFlowExecutor->Graph()->Name() ) ;
- RetVal = _DataFlowExecutor->Suspend() ;
- }
- }
- endService( "CNode_Impl::Suspend" );
- return RetVal ;
-}
-bool CNode_Impl::SuspendDone() {
-// beginService( "CNode_Impl::SuspendDone" );
- bool RetVal = false ;
- GraphExecutor::DataFlow * _DataFlowExecutor = _DataFlowEditor->Executor() ;
- if ( _DataFlowExecutor ) {
- if ( _IsNode ) {
- RetVal = _DataFlowExecutor->SuspendDone( Name() ) ;
- }
- else {
- RetVal = _DataFlowExecutor->SuspendDone() ;
- }
- }
-// endService( "CNode_Impl::SuspendDone" );
- return RetVal ;
-}
-bool CNode_Impl::Resume() {
- bool RetVal = false ;
- beginService( "CNode_Impl::Resume" );
- GraphExecutor::DataFlow * _DataFlowExecutor = _DataFlowEditor->Executor() ;
- if ( _DataFlowExecutor ) {
- if ( _IsNode ) {
- MESSAGE( "CNode_Impl::Resume " << Name() ) ;
- RetVal = _DataFlowExecutor->Resume( Name() ) ;
- }
- else {
- MESSAGE( "CNode_Impl::Resume " << _DataFlowExecutor->Graph()->Name() ) ;
- RetVal = _DataFlowExecutor->Resume() ;
- }
- }
- endService( "CNode_Impl::Resume" );
- return RetVal ;
-}
-
-bool CNode_Impl::Run() {
- beginService( "CNode_Impl::Run" );
- bool RetVal = false ;
- GraphExecutor::DataFlow * _DataFlowExecutor = _DataFlowEditor->Executor() ;
- if ( _DataFlowExecutor ) {
- _DataFlowEditor->EditedAfterExecution( false ) ;
- if ( _IsNode ) {
- RetVal = _DataFlowExecutor->Run( Name() , Name() , false ) ;
- }
- else {
- RetVal = _DataFlowExecutor->Run( false ) ;
- }
- }
- endService( "CNode_Impl::Run" );
- return RetVal ;
-}
-
-bool CNode_Impl::ReRun() {
- beginService( "CNode_Impl::ReRun" );
- bool RetVal = false ;
- GraphExecutor::DataFlow * _DataFlowExecutor = _DataFlowEditor->Executor() ;
- if ( _DataFlowExecutor ) {
- _DataFlowEditor->EditedAfterExecution( false ) ;
- if ( _IsNode ) {
- RetVal = _DataFlowExecutor->Run( Name() , Name() , false ) ;
- }
- else if ( DataFlowEditor()->IsEditing() ) {
- // RetVal = _DataFlowExecutor->Run( false ) ;
- return ((Graph_Impl::Graph_Impl *) this)->Graph_Impl::Run() ;
- }
- }
- endService( "CNode_Impl::ReRun" );
- return RetVal ;
-}
-
-bool CNode_Impl::ReRunAt( const char * aNodeName ) {
- beginService( "CNode_Impl::ReRunAt" );
- bool RetVal = false ;
- GraphExecutor::DataFlow * _DataFlowExecutor = _DataFlowEditor->Executor() ;
- if ( _DataFlowExecutor ) {
- _DataFlowEditor->EditedAfterExecution( false ) ;
- if ( _IsNode ) {
- RetVal = _DataFlowExecutor->Run( Name() , aNodeName , false ) ;
- }
- }
- endService( "CNode_Impl::ReRunAt" );
- return RetVal ;
-}
-
-bool CNode_Impl::ReStart() {
- beginService( "CNode_Impl::ReStart" );
- bool RetVal = false ;
- GraphExecutor::DataFlow * _DataFlowExecutor = _DataFlowEditor->Executor() ;
- if ( _DataFlowExecutor ) {
- if ( _IsNode ) {
- RetVal = _DataFlowExecutor->Run( Name() , Name() , true ) ;
- }
- else {
- RetVal = _DataFlowExecutor->Run( true ) ;
- }
- }
- endService( "CNode_Impl::ReStart" );
- return RetVal ;
-}
-
-bool CNode_Impl::ReStartAt( const char * aNodeName ) {
- beginService( "CNode_Impl::ReStartAt" );
- bool RetVal = false ;
- GraphExecutor::DataFlow * _DataFlowExecutor = _DataFlowEditor->Executor() ;
- if ( _DataFlowExecutor ) {
- if ( _IsNode ) {
- RetVal = _DataFlowExecutor->Run( Name() , aNodeName , true ) ;
- }
- }
- endService( "CNode_Impl::ReStartAt" );
- return RetVal ;
-}
-
-long CNode_Impl::CpuUsed() {
- long RetVal = 0 ;
- GraphExecutor::DataFlow * _DataFlowExecutor = _DataFlowEditor->Executor() ;
- if ( _DataFlowExecutor ) {
- if ( _IsNode ) {
- RetVal = _DataFlowExecutor->CpuUsed( Name() ) ;
- }
- else {
- RetVal = _DataFlowExecutor->CpuUsed() ;
- }
- }
- return RetVal ;
-}
-
-
+++ /dev/null
-// SUPERV Supervision : contains the implementation of interfaces of SuperVision described in SUPERV.idl
-//
-// Copyright (C) 2003 CEA/DEN, EDF R&D
-//
-//
-//
-// File : CNode_Impl.hxx
-// Author : Jean Rahuel
-// Module : SUPERV
-// $Header:
-
-#ifndef _CNODE_IMPL_HXX_
-#define _CNODE_IMPL_HXX_
-
-#include <iostream>
-
-#include "CORBA.h"
-
-#include <SALOMEconfig.h>
-#include "SALOME_Component_i.hxx"
-#include "SALOME_LifeCycleCORBA.hxx"
-
-#include "DataFlowEditor_DataFlow.hxx"
-#include "DataFlowExecutor_DataFlow.hxx"
-
-class CNode_Impl : public POA_SUPERV::CNode ,
- public Engines_Component_i {
- private:
-
- CORBA::ORB_ptr _Orb ;
- PortableServer::POA_ptr _Poa ;
- PortableServer::ObjectId * _ContId ;
-
- GraphEditor::DataFlow * _DataFlowEditor ;
- GraphEditor::InNode * _DataFlowNode ;
- bool _IsNode ;
-
- public:
- CNode_Impl();
- CNode_Impl( CORBA::ORB_ptr orb ,
- PortableServer::POA_ptr poa ,
- PortableServer::ObjectId * contId ,
- const char *instanceName ,
- const char *interfaceName ,
- const char *aDataFlowName ) ;
- CNode_Impl( CORBA::ORB_ptr orb ,
- PortableServer::POA_ptr poa ,
- PortableServer::ObjectId * contId ,
- const char *instanceName ,
- const char *interfaceName ,
- GraphEditor::DataFlow * DataFlowEditor ,
- const SALOME_ModuleCatalog::Service &NodeService ,
- const char * NodeName = NULLSTRING ,
- const SUPERV::KindOfNode NodeKindOfNode = SUPERV::ComputingNode ,
- const char * aFuncName = NULLSTRING ,
- const SUPERV::ListOfStrings & aPythonFunction = SUPERV::ListOfStrings() ) ;
- CNode_Impl( CORBA::ORB_ptr orb ,
- PortableServer::POA_ptr poa ,
- PortableServer::ObjectId * contId ,
- const char *instanceName ,
- const char *interfaceName ,
- GraphEditor::DataFlow * DataFlowEditor ,
- const SALOME_ModuleCatalog::Service &NodeService ,
- const char * NodeName = NULLSTRING ,
- const SUPERV::KindOfNode NodeKindOfNode = SUPERV::InLineNode ,
- const GraphBase::ListOfFuncName & aFuncName = GraphBase::ListOfFuncName() ,
- const GraphBase::ListOfPythonFunctions & aPythonFunction = GraphBase::ListOfPythonFunctions() ) ;
- CNode_Impl( CORBA::ORB_ptr orb ,
- PortableServer::POA_ptr poa ,
- PortableServer::ObjectId * contId ,
- const char *instanceName ,
- const char *interfaceName ,
- GraphEditor::DataFlow * DataFlowEditor ,
- GraphEditor::InNode * DataFlowNode ) ;
- virtual ~CNode_Impl() ;
- virtual void destroy() ;
- virtual bool Delete() ;
-
- virtual void DataFlowEditor( GraphEditor::DataFlow * DataFlowEditor ) {
- _DataFlowEditor = DataFlowEditor ; } ;
- virtual GraphEditor::DataFlow * DataFlowEditor() {
- return _DataFlowEditor ; } ;
- virtual void DataFlowNode( GraphEditor::InNode * DataFlowNode ) {
- _DataFlowNode = DataFlowNode ; } ;
- virtual GraphEditor::InNode * DataFlowNode() {
- return _DataFlowNode ; } ;
-
- virtual char * Name() ;
- virtual bool SetName( const char * aDataFlowName ) ;
- virtual SALOME_ModuleCatalog::Service * Service() ;
- virtual SUPERV::KindOfNode Kind() ;
- virtual SUPERV::SDate CreationDate() ;
- virtual SUPERV::SDate LastUpdateDate() ;
- virtual char * Version() ;
- virtual char * Author() ;
- virtual bool SetAuthor( const char * aDataFlowAuthor ) ;
- virtual char * Comment() ;
- virtual bool SetComment( const char * aDataFlowComment ) ;
-
- virtual GraphEditor::InNode * DataFlowNode() const {
- return _DataFlowNode ; } ;
- virtual GraphBase::ComputingNode * BaseNode() {
- return _DataFlowNode->ComputingNode() ; } ;
-
- virtual SUPERV::CNode_var ObjRef() {
- SUPERV::CNode_var iobject = SUPERV::GNode::_nil() ;
- if ( _DataFlowNode && _IsNode ) {
- iobject = SUPERV::CNode::_narrow( _DataFlowNode->ObjRef() ) ;
- }
- else {
- iobject = SUPERV::CNode::_narrow( _DataFlowEditor->Graph()->ObjRef() ) ;
- }
- return iobject ; } ;
- virtual void SetObjRef(SUPERV::CNode_var aNode ) {
- if ( _DataFlowNode && _IsNode ) {
- _DataFlowNode->SetObjRef( aNode ) ;
- }
- else {
- _DataFlowEditor->Graph()->SetObjRef( SUPERV::Graph::_narrow( aNode ) ) ;
- }
- } ;
-
- virtual void Coords( const long X , const long Y ) ;
- virtual long X() ;
- virtual long Y() ;
-
- virtual SUPERV::Port_ptr Port( const char * aParameterName ) ;
-
-// virtual bool BusPorts( const char * InputParameterName ,
-// const char * InputParameterType ,
-// const char * OutputParameterName ,
-// const char * OutputParameterType ,
-// SUPERV::Port_out InputPort ,
-// SUPERV::Port_out OutputPort ) ;
-
-// virtual SUPERV::Link_ptr Link( const char * ToServiceParameterName ,
-// const SUPERV::Value_ptr aValue ) ;
-
- virtual SUPERV::Port_ptr Input( const char * ToServiceParameterName ,
- const SUPERV::Value_ptr aValue ) ;
-
- virtual SUPERV::Port_ptr GetInPort( const char * aParameterName ) ;
- virtual SUPERV::Port_ptr GetOutPort( const char * aParameterName ) ;
-
- virtual SUPERV::StreamPort_ptr GetInStreamPort( const char * aParameterName ) ;
- virtual SUPERV::StreamPort_ptr GetOutStreamPort( const char * aParameterName ) ;
-
- virtual SUPERV::ListOfPorts * Ports() ;
- virtual SUPERV::ListOfStreamPorts * StreamPorts() ;
-
- virtual SUPERV::ListOfLinks * Links() ;
- virtual SUPERV::ListOfStreamLinks * StreamLinks() ;
-
- virtual SUPERV::Link_ptr GetLink( const char * ToServiceParameterName ) ;
- virtual SUPERV::StreamLink_ptr GetStreamLink( const char * ToServiceParameterName ) ;
-
- virtual bool IsStreamGraph() ;
- virtual bool IsGraph() ;
- virtual bool IsComputing() ;
- virtual bool IsFactory() ;
- virtual bool IsInLine() ;
- virtual bool IsGOTO() ;
- virtual bool IsLoop() ;
- virtual bool IsEndLoop() ;
- virtual bool IsSwitch() ;
- virtual bool IsEndSwitch() ;
-
- virtual long SubGraph() ;
- virtual long SubStreamGraph() ;
-
- virtual bool IsLinked(const char * ToServiceParameterName ) ;
- virtual bool HasInput(const char * ToServiceParameterName ) ;
-
-// virtual SUPERV::Link_ptr GetLink(const char * ToServiceParameterName ) ;
-// virtual SUPERV::Value_ptr GetValue(const char * FromServiceParameterName ) ;
-
- virtual bool IsReady() ;
- virtual bool IsWaiting() ;
- virtual bool IsRunning() ;
- virtual bool IsDone() ;
- virtual bool IsSuspended() ;
-
- virtual SUPERV::GraphState State() ;
- virtual SUPERV::ControlState Control() ;
- virtual void ControlClear() ;
-
- virtual long Thread() ;
-
- virtual SUPERV::AutomatonState AutoState() ;
-
- virtual bool ReadyW() ;
- virtual bool RunningW() ;
- virtual bool DoneW() ;
- virtual bool SuspendedW() ;
-
- virtual void ping() ;
- virtual bool ContainerKill() ;
-
- virtual bool Kill() ;
- virtual bool KillDone() ;
- virtual bool Stop() ;
- virtual bool Suspend() ;
- virtual bool SuspendDone() ;
- virtual bool Resume() ;
-
- virtual bool Run() ;
- virtual bool ReRun() ;
- virtual bool ReRunAt( const char * aNodeName ) ;
- virtual bool ReStart() ;
- virtual bool ReStartAt( const char * aNodeName ) ;
-
- virtual long CpuUsed() ;
-
-} ;
-
-#endif
+++ /dev/null
-// SUPERV Supervision : contains the implementation of interfaces of SuperVision described in SUPERV.idl
-//
-// Copyright (C) 2003 CEA/DEN, EDF R&D
-//
-//
-//
-// File : ELNode_Impl.cxx
-// Author : Jean Rahuel
-// Module : SUPERV
-// $Header:
-
-using namespace std;
-#include <stdio.h>
-#include <fstream>
-//#include <sstream>
-#include <string>
-
-//#include "utilities.h"
-
-#include "ELNode_Impl.hxx"
-
-ELNode_Impl::ELNode_Impl() {
-}
-
-ELNode_Impl::ELNode_Impl( CORBA::ORB_ptr orb ,
- PortableServer::POA_ptr poa ,
- PortableServer::ObjectId * contId ,
- const char *instanceName ,
- const char *interfaceName ,
- GraphEditor::DataFlow * aDataFlowEditor ,
- const char * EndName ,
- const SUPERV::KindOfNode NodeKindOfNode ) :
-// Engines_Component_i(orb, poa, contId, instanceName, interfaceName, false, false) {
- GNode_Impl( orb , poa , contId , instanceName , interfaceName , aDataFlowEditor , EndName , SUPERV::ListOfStrings() , NodeKindOfNode ) {
-// MESSAGE( NodeName << " " );
- beginService( "ELNode_Impl::ELNode_Impl" );
- _thisObj = this ;
- _id = _poa->activate_object(_thisObj);
- _Orb = CORBA::ORB::_duplicate(orb);
- _Poa = poa ;
- _ContId = contId ;
-// DataFlowNode( DataFlowEditor()->AddNode( InitFunction , MoreFunction , NextFunction ,
-// NodeName , NodeKindOfNode ) ) ;
-// DataFlowNode( DataFlowEditor()->AddNode( SALOME_ModuleCatalog::Service() ,
-// "" , "" , "" ,
-// NodeKindOfNode ) ) ;
- endService( "ELNode_Impl::ELNode_Impl" );
-}
-
-ELNode_Impl::ELNode_Impl( CORBA::ORB_ptr orb ,
- PortableServer::POA_ptr poa ,
- PortableServer::ObjectId * contId ,
- const char *instanceName ,
- const char *interfaceName ,
- GraphEditor::DataFlow * aDataFlowEditor ,
- GraphEditor::InNode * aDataFlowNode ) :
-// Engines_Component_i(orb, poa, contId, instanceName, interfaceName, false, false) {
- GNode_Impl( orb , poa , contId , instanceName , interfaceName , aDataFlowEditor , aDataFlowNode ) {
- MESSAGE( DataFlowNode()->Name() << " " );
- beginService( "ELNode_Impl::ELNode_Impl" );
- _thisObj = this ;
- _id = _poa->activate_object(_thisObj);
- _Orb = CORBA::ORB::_duplicate(orb);
- _Poa = poa ;
- _ContId = contId ;
- endService( "ELNode_Impl::ELNode_Impl" );
-}
-
-ELNode_Impl::~ELNode_Impl() {
- beginService( "ELNode_Impl::~ELNode_Impl" );
- endService( "ELNode_Impl::~ELNode_Impl" );
-}
-
-void ELNode_Impl::destroy() {
-// MESSAGE("--------> ELNode_Impl::destroy() BEGIN");
-// beginService( "ELNode_Impl::Destroy" );
- if ( DataFlowEditor()->IsEditing() ) {
- MESSAGE("--------> Editing dataflow");
- SUPERV::GNode_ptr aCoupled = SUPERV::GNode::_narrow( Coupled() ) ;
- if ( Delete() ) {
- MESSAGE("--------> Delete return true");
- _poa->deactivate_object(*_id) ;
- CORBA::release(_poa) ;
- delete(_id) ;
- _thisObj->_remove_ref();
- }
- if ( !CORBA::is_nil( aCoupled ) ) {
- aCoupled->SetCoupled( "" ) ;
- aCoupled->destroy() ;
- }
- }
-// endService( "ELNode_Impl::Destroy" );
-// MESSAGE("--------> ELNode_Impl::destroy() END");
-}
-
-bool ELNode_Impl::Delete() {
-// beginService( "ELNode_Impl::Delete" );
- MESSAGE("--------> ELNode_Impl::Delete() BEGIN");
- bool RetVal = false ;
- if ( DataFlowEditor()->IsEditing() ) {
- MESSAGE("--------> In Delete: Editing dataflow");
- RetVal = DataFlowEditor()->RemoveNode( Name() ) ;
- MESSAGE("--------> RetVal = "<<RetVal);
- if ( RetVal ) {
- MESSAGE("--------> Before IsValid");
- RetVal = DataFlowEditor()->IsValid() ;
- MESSAGE("--------> After IsValid");
- }
- }
-// endService( "ELNode_Impl::Delete" );
- MESSAGE("--------> ELNode_Impl::Delete() END");
- return RetVal ;
-}
+++ /dev/null
-// SUPERV Supervision : contains the implementation of interfaces of SuperVision described in SUPERV.idl
-//
-// Copyright (C) 2003 CEA/DEN, EDF R&D
-//
-//
-//
-// File : ELNode_Impl.hxx
-// Author : Jean Rahuel
-// Module : SUPERV
-// $Header:
-
-#ifndef _ELNODE_IMPL_HXX_
-#define _ELNODE_IMPL_HXX_
-
-//#include <iostream.h>
-
-#include "CORBA.h"
-
-#include <SALOMEconfig.h>
-#include "SALOME_Component_i.hxx"
-#include "SALOME_LifeCycleCORBA.hxx"
-
-#include "GNode_Impl.hxx"
-
-#include "Port_Impl.hxx"
-
-#include "DataFlowEditor_DataFlow.hxx"
-#include "DataFlowExecutor_DataFlow.hxx"
-
-class ELNode_Impl : public GNode_Impl ,
- public POA_SUPERV::ELNode {
- private:
-
- CORBA::ORB_ptr _Orb ;
- PortableServer::POA_ptr _Poa ;
- PortableServer::ObjectId * _ContId ;
-
- public:
- ELNode_Impl();
- ELNode_Impl( CORBA::ORB_ptr orb ,
- PortableServer::POA_ptr poa ,
- PortableServer::ObjectId * contId ,
- const char *instanceName ,
- const char *interfaceName ,
- GraphEditor::DataFlow * DataFlowEditor ,
- const char * EndName ,
- const SUPERV::KindOfNode NodeKindOfNode = SUPERV::EndLoopNode ) ;
- ELNode_Impl( CORBA::ORB_ptr orb ,
- PortableServer::POA_ptr poa ,
- PortableServer::ObjectId * contId ,
- const char *instanceName ,
- const char *interfaceName ,
- GraphEditor::DataFlow * DataFlowEditor ,
- GraphEditor::InNode * DataFlowNode ) ;
- virtual ~ELNode_Impl() ;
- virtual void destroy() ;
- virtual bool Delete() ;
-
- virtual GraphBase::EndOfLoopNode * BaseNode() {
- return DataFlowNode()->EndOfLoopNode() ; } ;
-
-} ;
-
-#endif
+++ /dev/null
-// SUPERV Supervision : contains the implementation of interfaces of SuperVision described in SUPERV.idl
-//
-// Copyright (C) 2003 CEA/DEN, EDF R&D
-//
-//
-//
-// File : ESNode_Impl.cxx
-// Author : Jean Rahuel
-// Module : SUPERV
-// $Header:
-
-using namespace std;
-#include <stdio.h>
-#include <fstream>
-//#include <sstream>
-#include <string>
-
-//#include "utilities.h"
-
-#include "ESNode_Impl.hxx"
-
-ESNode_Impl::ESNode_Impl() {
-}
-
-ESNode_Impl::ESNode_Impl( CORBA::ORB_ptr orb ,
- PortableServer::POA_ptr poa ,
- PortableServer::ObjectId * contId ,
- const char *instanceName ,
- const char *interfaceName ,
- GraphEditor::DataFlow * aDataFlowEditor ,
- const char * FuncName ,
- const SUPERV::KindOfNode NodeKindOfNode ) :
-// Engines_Component_i(orb, poa, contId, instanceName, interfaceName, false, false) {
- GNode_Impl( orb , poa , contId , instanceName , interfaceName , aDataFlowEditor , FuncName , SUPERV::ListOfStrings() , NodeKindOfNode ) {
-// MESSAGE( NodeName << " " );
- beginService( "ESNode_Impl::ESNode_Impl" );
-// if ( FuncName ) {
-// cout << "ESNode_Impl::GNode_Impl " << (void *) FuncName << " " << FuncName
-// << " " << strlen( FuncName ) << endl ;
-// }
- _thisObj = this ;
- _id = _poa->activate_object(_thisObj);
- _Orb = CORBA::ORB::_duplicate(orb);
- _Poa = poa ;
- _ContId = contId ;
-// DataFlowNode( DataFlowEditor()->AddNode( NodeService , NodeComponentName ,
-// NodeInterfaceName , NodeName ,
-// NodeKindOfNode ) ) ;
-// DataFlowNode( DataFlowEditor()->AddNode( SALOME_ModuleCatalog::Service() ,
-// "" , "" , "" ,
-// NodeKindOfNode ) ) ;
- endService( "ESNode_Impl::ESNode_Impl" );
-}
-
-ESNode_Impl::ESNode_Impl( CORBA::ORB_ptr orb ,
- PortableServer::POA_ptr poa ,
- PortableServer::ObjectId * contId ,
- const char *instanceName ,
- const char *interfaceName ,
- GraphEditor::DataFlow * aDataFlowEditor ,
- GraphEditor::InNode * aDataFlowNode ) :
-// Engines_Component_i(orb, poa, contId, instanceName, interfaceName, false, false) {
- GNode_Impl( orb , poa , contId , instanceName , interfaceName , aDataFlowEditor , aDataFlowNode ) {
- MESSAGE( DataFlowNode()->Name() << " " );
- beginService( "ESNode_Impl::ESNode_Impl" );
- _thisObj = this ;
- _id = _poa->activate_object(_thisObj);
- _Orb = CORBA::ORB::_duplicate(orb);
- _Poa = poa ;
- _ContId = contId ;
- endService( "ESNode_Impl::ESNode_Impl" );
-}
-
-ESNode_Impl::~ESNode_Impl() {
- beginService( "ESNode_Impl::~ESNode_Impl" );
- endService( "ESNode_Impl::~ESNode_Impl" );
-}
-
-void ESNode_Impl::destroy() {
- beginService( "ESNode_Impl::Destroy" );
- if ( DataFlowEditor()->IsEditing() ) {
- SUPERV::GNode_ptr aCoupled = SUPERV::GNode::_narrow( Coupled() ) ;
- if ( Delete() ) {
- _poa->deactivate_object(*_id) ;
- CORBA::release(_poa) ;
- delete(_id) ;
- _thisObj->_remove_ref();
- }
- if ( !CORBA::is_nil( aCoupled ) ) {
- aCoupled->SetCoupled( "" ) ;
- aCoupled->destroy() ;
- }
- }
-// endService( "ESNode_Impl::Destroy" );
-}
-
-bool ESNode_Impl::Delete() {
-// beginService( "ESNode_Impl::Delete" );
- bool RetVal = false ;
- if ( DataFlowEditor()->IsEditing() ) {
- RetVal = DataFlowEditor()->RemoveNode( Name() ) ;
- if ( RetVal )
- RetVal = DataFlowEditor()->IsValid() ;
- }
-// endService( "ESNode_Impl::Delete" );
- return RetVal ;
-}
-
+++ /dev/null
-// SUPERV Supervision : contains the implementation of interfaces of SuperVision described in SUPERV.idl
-//
-// Copyright (C) 2003 CEA/DEN, EDF R&D
-//
-//
-//
-// File : ESNode_Impl.hxx
-// Author : Jean Rahuel
-// Module : SUPERV
-// $Header:
-
-#ifndef _ESNODE_IMPL_HXX_
-#define _ESNODE_IMPL_HXX_
-
-//#include <iostream.h>
-
-#include "CORBA.h"
-
-#include <SALOMEconfig.h>
-#include "SALOME_Component_i.hxx"
-#include "SALOME_LifeCycleCORBA.hxx"
-
-#include "GNode_Impl.hxx"
-#include "Port_Impl.hxx"
-
-#include "DataFlowEditor_DataFlow.hxx"
-#include "DataFlowExecutor_DataFlow.hxx"
-
-class ESNode_Impl : public GNode_Impl ,
- public POA_SUPERV::ESNode {
- private:
-
- CORBA::ORB_ptr _Orb ;
- PortableServer::POA_ptr _Poa ;
- PortableServer::ObjectId * _ContId ;
-
- public:
- ESNode_Impl();
- ESNode_Impl( CORBA::ORB_ptr orb ,
- PortableServer::POA_ptr poa ,
- PortableServer::ObjectId * contId ,
- const char *instanceName ,
- const char *interfaceName ,
- GraphEditor::DataFlow * DataFlowEditor ,
- const char * FuncName ,
- const SUPERV::KindOfNode NodeKindOfNode = SUPERV::EndSwitchNode ) ;
- ESNode_Impl( CORBA::ORB_ptr orb ,
- PortableServer::POA_ptr poa ,
- PortableServer::ObjectId * contId ,
- const char *instanceName ,
- const char *interfaceName ,
- GraphEditor::DataFlow * DataFlowEditor ,
- GraphEditor::InNode * DataFlowNode ) ;
- virtual ~ESNode_Impl() ;
- virtual void destroy() ;
- virtual bool Delete() ;
-
- virtual GraphBase::EndOfSwitchNode * BaseNode() {
- return DataFlowNode()->EndOfSwitchNode() ; } ;
-
-} ;
-
-#endif
+++ /dev/null
-// SUPERV Supervision : contains the implementation of interfaces of SuperVision described in SUPERV.idl
-//
-// Copyright (C) 2003 CEA/DEN, EDF R&D
-//
-//
-//
-// File : FNode_Impl.cxx
-// Author : Jean Rahuel
-// Module : SUPERV
-// $Header:
-
-using namespace std;
-#include <stdio.h>
-#include <fstream>
-//#include <sstream>
-#include <string>
-
-//#include "utilities.h"
-
-#include "FNode_Impl.hxx"
-
-FNode_Impl::FNode_Impl() {
-}
-
-FNode_Impl::FNode_Impl( CORBA::ORB_ptr orb ,
- PortableServer::POA_ptr poa ,
- PortableServer::ObjectId * contId ,
- const char * instanceName ,
- const char * interfaceName ,
- GraphEditor::DataFlow * aDataFlowEditor ,
- const SALOME_ModuleCatalog::Service &NodeService ,
- const char * NodeComponentName ,
- const char * NodeInterfaceName ,
- const char * NodeName ,
- const SUPERV::KindOfNode NodeKindOfNode ) :
-// Engines_Component_i(orb, poa, contId, instanceName, interfaceName, false, false) {
- CNode_Impl( orb , poa , contId , instanceName , interfaceName , aDataFlowEditor , NodeService , NodeName , NodeKindOfNode , NULLSTRING ) {
-// MESSAGE( NodeName << " " );
- beginService( "FNode_Impl::FNode_Impl" );
-// cout << "FNode_Impl::FNode_Impl -->" << endl ;
- _thisObj = this ;
- _id = _poa->activate_object(_thisObj);
- _Orb = CORBA::ORB::_duplicate(orb);
- _Poa = poa ;
- _ContId = contId ;
-// DataFlowNode( DataFlowEditor()->AddNode( NodeService , NodeComponentName ,
-// NodeInterfaceName , NodeName ,
-// NodeKindOfNode ) ) ;
- DataFlowNode()->ComponentName( NodeComponentName ) ;
- DataFlowNode()->InterfaceName( NodeInterfaceName ) ;
- endService( "FNode_Impl::FNode_Impl" );
-// cout << "<-- FNode_Impl::FNode_Impl" << endl ;
-}
-
-FNode_Impl::FNode_Impl( CORBA::ORB_ptr orb ,
- PortableServer::POA_ptr poa ,
- PortableServer::ObjectId * contId ,
- const char * instanceName ,
- const char * interfaceName ,
- GraphEditor::DataFlow * aDataFlowEditor ,
- GraphEditor::InNode * aDataFlowNode ) :
-// Engines_Component_i(orb, poa, contId, instanceName, interfaceName, false, false) {
- CNode_Impl( orb , poa , contId , instanceName , interfaceName , aDataFlowEditor , aDataFlowNode ) {
- MESSAGE( DataFlowNode()->Name() << " " );
- beginService( "FNode_Impl::FNode_Impl" );
- _thisObj = this ;
- _id = _poa->activate_object(_thisObj);
- _Orb = CORBA::ORB::_duplicate(orb);
- _Poa = poa ;
- _ContId = contId ;
- endService( "FNode_Impl::FNode_Impl" );
-}
-
-FNode_Impl::~FNode_Impl() {
- beginService( "FNode_Impl::~Node_Impl" );
- endService( "FNode_Impl::~Node_Impl" );
-}
-
-void FNode_Impl::destroy() {
- beginService( "FNode_Impl::Destroy" );
- if ( DataFlowEditor()->IsEditing() ) {
- if ( Delete() ) {
- _poa->deactivate_object(*_id) ;
- CORBA::release(_poa) ;
- delete(_id) ;
- _thisObj->_remove_ref();
- }
- }
-// endService( "FNode_Impl::Destroy" );
-}
-
-bool FNode_Impl::Delete() {
-// beginService( "FNode_Impl::Delete" );
- bool RetVal = false ;
- if ( DataFlowEditor()->IsEditing() ) {
- RetVal = DataFlowEditor()->RemoveNode( Name() ) ;
- if ( RetVal )
- RetVal = DataFlowEditor()->IsValid() ;
- }
-// endService( "FNode_Impl::Delete" );
- return RetVal ;
-}
-
-char * FNode_Impl::GetComponentName() {
-// beginService( "FNode_Impl::GetComponentName" );
- char * RetVal = DataFlowNode()->ComponentName() ;
-// endService( "FNode_Impl::GetComponentName" );
- return CORBA::string_dup( RetVal );
-}
-bool FNode_Impl::SetComponentName( const char * aComponentName ) {
-// beginService( "FNode_Impl::SetComponentName" );
- bool RetVal = false ;
- if ( DataFlowEditor()->IsEditing() ) {
- RetVal = DataFlowNode()->ComponentName( aComponentName ) ;
- }
-// endService( "FNode_Impl::SetComponentName" );
- return RetVal ;
-}
-char * FNode_Impl::GetInterfaceName() {
-// beginService( "FNode_Impl::GetInterfaceName" );
- char * RetVal = DataFlowNode()->InterfaceName() ;
-// endService( "FNode_Impl::GetInterfaceName" );
- return CORBA::string_dup( RetVal );
-}
-bool FNode_Impl::SetInterfaceName( const char * anInterfaceName ) {
-// beginService( "FNode_Impl::SetInterfaceName" );
- bool RetVal = false ;
- if ( DataFlowEditor()->IsEditing() ) {
- RetVal = DataFlowNode()->InterfaceName( anInterfaceName ) ;
- }
-// endService( "FNode_Impl::SetInterfaceName" );
- return RetVal ;
-}
-char * FNode_Impl::GetContainer() {
-// beginService( "FNode_Impl::GetContainer" );
- char * RetVal = DataFlowNode()->Computer() ;
-// endService( "FNode_Impl::GetContainer" );
- return CORBA::string_dup( RetVal ) ;
-}
-bool FNode_Impl::SetContainer( const char * aDataFlowContainer ) {
-// beginService( "FNode_Impl::SetContainer" );
- bool RetVal = false ;
- GraphExecutor::DataFlow * _DataFlowExecutor = DataFlowEditor()->Executor() ;
- if ( DataFlowEditor()->IsEditing() ) {
- RetVal = DataFlowNode()->Computer( aDataFlowContainer ) ;
- }
- else if ( _DataFlowExecutor && ( _DataFlowExecutor->IsSuspended() ||
- _DataFlowExecutor->IsSuspended( DataFlowNode()->Name() ) ) ) {
- if ( _DataFlowExecutor->Graph()->GetChangeGraphNode( DataFlowNode()->Name() ) ) {
- RetVal = ((GraphEditor::InNode * ) _DataFlowExecutor->Graph()->GetChangeGraphNode( DataFlowNode()->Name() )->GetInNode())->Computer( aDataFlowContainer ) ;
- }
- }
-// endService( "FNode_Impl::SetContainer" );
- return RetVal ;
-}
-
+++ /dev/null
-// SUPERV Supervision : contains the implementation of interfaces of SuperVision described in SUPERV.idl
-//
-// Copyright (C) 2003 CEA/DEN, EDF R&D
-//
-//
-//
-// File : FNode_Impl.hxx
-// Author : Jean Rahuel
-// Module : SUPERV
-// $Header:
-
-#ifndef _FNODE_IMPL_HXX_
-#define _FNODE_IMPL_HXX_
-
-//#include <iostream.h>
-
-#include "CORBA.h"
-
-#include <SALOMEconfig.h>
-#include "SALOME_Component_i.hxx"
-#include "SALOME_LifeCycleCORBA.hxx"
-
-#include "CNode_Impl.hxx"
-
-#include "Port_Impl.hxx"
-
-#include "DataFlowEditor_DataFlow.hxx"
-#include "DataFlowExecutor_DataFlow.hxx"
-
-class FNode_Impl : public CNode_Impl ,
- public POA_SUPERV::FNode {
- private:
-
- CORBA::ORB_ptr _Orb ;
- PortableServer::POA_ptr _Poa ;
- PortableServer::ObjectId * _ContId ;
-
- public:
- FNode_Impl();
- FNode_Impl( CORBA::ORB_ptr orb ,
- PortableServer::POA_ptr poa ,
- PortableServer::ObjectId * contId ,
- const char * instanceName ,
- const char * interfaceName ,
- const char * aDataFlowName ) ;
- FNode_Impl( CORBA::ORB_ptr orb ,
- PortableServer::POA_ptr poa ,
- PortableServer::ObjectId * contId ,
- const char * instanceName ,
- const char * interfaceName ,
- GraphEditor::DataFlow * DataFlowEditor ,
- const SALOME_ModuleCatalog::Service &NodeService ,
- const char * NodeComponentName ,
- const char * NodeInterfaceName ,
- const char * NodeName = NULLSTRING ,
- const SUPERV::KindOfNode NodeKindOfNode = SUPERV::FactoryNode ) ;
- FNode_Impl( CORBA::ORB_ptr orb ,
- PortableServer::POA_ptr poa ,
- PortableServer::ObjectId * contId ,
- const char * instanceName ,
- const char * interfaceName ,
- GraphEditor::DataFlow * DataFlowEditor ,
- GraphEditor::InNode * DataFlowNode ) ;
- virtual ~FNode_Impl() ;
- virtual void destroy() ;
- virtual bool Delete() ;
-
- virtual char * GetComponentName() ;
- virtual bool SetComponentName(const char *) ;
- virtual char * GetInterfaceName() ;
- virtual bool SetInterfaceName(const char *) ;
- virtual char * GetContainer() ;
- virtual bool SetContainer( const char * aDataFlowContainer ) ;
-
- virtual GraphBase::FactoryNode * BaseNode() {
- return DataFlowNode()->FactoryNode() ; } ;
-
-} ;
-
-#endif
+++ /dev/null
-// SUPERV Supervision : contains the implementation of interfaces of SuperVision described in SUPERV.idl
-//
-// Copyright (C) 2003 CEA/DEN, EDF R&D
-//
-//
-//
-// File : GNode_Impl.cxx
-// Author : Jean Rahuel
-// Module : SUPERV
-// $Header:
-
-using namespace std;
-#include <stdio.h>
-#include <fstream>
-//#include <sstream>
-#include <string>
-
-//#include "utilities.h"
-
-#include "GNode_Impl.hxx"
-
-GNode_Impl::GNode_Impl() {
-}
-
-GNode_Impl::GNode_Impl( CORBA::ORB_ptr orb ,
- PortableServer::POA_ptr poa ,
- PortableServer::ObjectId * contId ,
- const char *instanceName ,
- const char *interfaceName ,
- GraphEditor::DataFlow * aDataFlowEditor ,
- const char * FuncName ,
- const SUPERV::ListOfStrings & PythonFunction ,
- const SUPERV::KindOfNode NodeKindOfNode ) :
-// Engines_Component_i(orb, poa, contId, instanceName, interfaceName, false, false) {
- INode_Impl( orb , poa , contId , instanceName , interfaceName , aDataFlowEditor , FuncName , PythonFunction , NodeKindOfNode ) {
-// MESSAGE( NodeName << " " );
- beginService( "GNode_Impl::GNode_Impl" );
- if ( FuncName ) {
-// cout << "GNode_Impl::GNode_Impl " << (void *) FuncName << " " << FuncName
-// << " " << strlen( FuncName ) << endl ;
- }
- if ( NodeKindOfNode == SUPERV::GOTONode ) {
- _thisObj = this ;
- _id = _poa->activate_object(_thisObj);
- }
- _Orb = CORBA::ORB::_duplicate(orb);
- _Poa = poa ;
- _ContId = contId ;
-// DataFlowNode( DataFlowEditor()->AddNode( NodeService , NodeComponentName ,
-// NodeInterfaceName , NodeName ,
-// NodeKindOfNode ) );
-// DataFlowNode( DataFlowEditor()->AddNode( SALOME_ModuleCatalog::Service() ,
-// "" , "" , "" ,
-// NodeKindOfNode ) ) ;
- endService( "GNode_Impl::GNode_Impl" );
-}
-
-GNode_Impl::GNode_Impl( CORBA::ORB_ptr orb ,
- PortableServer::POA_ptr poa ,
- PortableServer::ObjectId * contId ,
- const char *instanceName ,
- const char *interfaceName ,
- GraphEditor::DataFlow * aDataFlowEditor ,
- GraphBase::ListOfFuncName FuncNameList ,
- GraphBase::ListOfPythonFunctions PythonFunctionList ,
- const SUPERV::KindOfNode NodeKindOfNode ) :
-// Engines_Component_i(orb, poa, contId, instanceName, interfaceName, false, false) {
- INode_Impl( orb , poa , contId , instanceName , interfaceName , aDataFlowEditor , FuncNameList , PythonFunctionList , NodeKindOfNode ) {
-// MESSAGE( NodeName << " " );
- beginService( "GNode_Impl::GNode_Impl" );
- if ( NodeKindOfNode == SUPERV::GOTONode ) {
- _thisObj = this ;
- _id = _poa->activate_object(_thisObj);
- }
- _Orb = CORBA::ORB::_duplicate(orb);
- _Poa = poa ;
- _ContId = contId ;
-// DataFlowNode( DataFlowEditor()->AddNode( NodeService , NodeComponentName ,
-// NodeInterfaceName , NodeName ,
-// NodeKindOfNode ) );
-// DataFlowNode( DataFlowEditor()->AddNode( SALOME_ModuleCatalog::Service() ,
-// "" , "" , "" ,
-// NodeKindOfNode ) ) ;
- endService( "GNode_Impl::GNode_Impl" );
-}
-
-GNode_Impl::GNode_Impl( CORBA::ORB_ptr orb ,
- PortableServer::POA_ptr poa ,
- PortableServer::ObjectId * contId ,
- const char *instanceName ,
- const char *interfaceName ,
- GraphEditor::DataFlow * aDataFlowEditor ,
- GraphEditor::InNode * aDataFlowNode ) :
-// Engines_Component_i(orb, poa, contId, instanceName, interfaceName, false, false) {
- INode_Impl( orb , poa , contId , instanceName , interfaceName , aDataFlowEditor , aDataFlowNode ) {
- MESSAGE( DataFlowNode()->Name() << " " );
- beginService( "GNode_Impl::GNode_Impl" );
- if ( DataFlowNode()->IsGOTONode() ) {
- _thisObj = this ;
- _id = _poa->activate_object(_thisObj);
- }
- _Orb = CORBA::ORB::_duplicate(orb);
- _Poa = poa ;
- _ContId = contId ;
- endService( "GNode_Impl::GNode_Impl" );
-}
-
-GNode_Impl::~GNode_Impl() {
- beginService( "GNode_Impl::~GNode_Impl" );
- endService( "GNode_Impl::~GNode_Impl" );
-}
-
-void GNode_Impl::destroy() {
- beginService( "GNode_Impl::Destroy" );
- if ( DataFlowEditor()->IsEditing() ) {
- if ( Delete() ) {
- _poa->deactivate_object(*_id) ;
- CORBA::release(_poa) ;
- delete(_id) ;
- _thisObj->_remove_ref();
- }
- }
-// endService( "GNode_Impl::Destroy" );
-}
-
-bool GNode_Impl::Delete() {
- beginService( "GNode_Impl::Delete" );
- bool RetVal = false ;
- if ( DataFlowEditor()->IsEditing() ) {
- RetVal = DataFlowEditor()->RemoveNode( Name() ) ;
- if ( RetVal )
- RetVal = DataFlowEditor()->IsValid() ;
- }
- endService( "GNode_Impl::Delete" );
- return RetVal ;
-}
-
-SUPERV::INode_ptr GNode_Impl::Coupled() {
-// beginService( "GNode_Impl::Coupled" );
- SUPERV::INode_var iobject = SUPERV::INode::_nil() ;
- if ( DataFlowNode()->CoupledNode() ) {
- if ( CORBA::is_nil( DataFlowNode()->CoupledNode()->ObjRef() ) ) {
- INode_Impl * myNode = new INode_Impl( _Orb , _Poa , _ContId ,
- instanceName() , interfaceName() ,
- DataFlowEditor() ,
- (GraphEditor::InNode *) DataFlowNode()->CoupledNode()->GetInNode() ) ;
- PortableServer::ObjectId * id = myNode->getId() ;
- CORBA::Object_var obj = _poa->id_to_reference(*id);
- iobject = SUPERV::INode::_narrow(obj) ;
- myNode->SetObjRef( SUPERV::INode::_duplicate( iobject ) ) ;
- }
- else {
- iobject = SUPERV::INode::_narrow( DataFlowNode()->CoupledNode()->ObjRef() ) ;
- }
- }
-// endService( "GNode_Impl::Coupled" );
- return SUPERV::INode::_duplicate( iobject ) ;
-}
-
+++ /dev/null
-// SUPERV Supervision : contains the implementation of interfaces of SuperVision described in SUPERV.idl
-//
-// Copyright (C) 2003 CEA/DEN, EDF R&D
-//
-//
-//
-// File : GNode_Impl.hxx
-// Author : Jean Rahuel
-// Module : SUPERV
-// $Header:
-
-#ifndef _GNODE_IMPL_HXX_
-#define _GNODE_IMPL_HXX_
-
-//#include <iostream.h>
-
-#include "CORBA.h"
-
-#include <SALOMEconfig.h>
-#include "SALOME_Component_i.hxx"
-#include "SALOME_LifeCycleCORBA.hxx"
-
-#include "INode_Impl.hxx"
-#include "Port_Impl.hxx"
-
-#include "DataFlowEditor_DataFlow.hxx"
-#include "DataFlowExecutor_DataFlow.hxx"
-
-class GNode_Impl : public INode_Impl ,
- public POA_SUPERV::GNode {
- private:
-
- CORBA::ORB_ptr _Orb ;
- PortableServer::POA_ptr _Poa ;
- PortableServer::ObjectId * _ContId ;
-
- public:
- GNode_Impl();
- GNode_Impl( CORBA::ORB_ptr orb ,
- PortableServer::POA_ptr poa ,
- PortableServer::ObjectId * contId ,
- const char *instanceName ,
- const char *interfaceName ,
- GraphEditor::DataFlow * DataFlowEditor ,
- const char * FuncName ,
- const SUPERV::ListOfStrings & PythonFunction ,
- const SUPERV::KindOfNode NodeKindOfNode = SUPERV::GOTONode ) ;
- GNode_Impl( CORBA::ORB_ptr orb ,
- PortableServer::POA_ptr poa ,
- PortableServer::ObjectId * contId ,
- const char *instanceName ,
- const char *interfaceName ,
- GraphEditor::DataFlow * DataFlowEditor ,
- GraphBase::ListOfFuncName FuncNameList ,
- GraphBase::ListOfPythonFunctions PythonFunctionList ,
- const SUPERV::KindOfNode NodeKindOfNode = SUPERV::GOTONode ) ;
- GNode_Impl( CORBA::ORB_ptr orb ,
- PortableServer::POA_ptr poa ,
- PortableServer::ObjectId * contId ,
- const char *instanceName ,
- const char *interfaceName ,
- GraphEditor::DataFlow * DataFlowEditor ,
- GraphEditor::InNode * DataFlowNode ) ;
- virtual ~GNode_Impl() ;
- virtual void destroy() ;
- virtual bool Delete() ;
-
- virtual bool SetCoupled( const char * anInLineNode ) {
- GraphBase::InLineNode * CoupledINode = (GraphBase::InLineNode * ) DataFlowEditor()->Graph()->GetGraphNode( anInLineNode ) ;
-// cout << Name() << ".SetCoupled " << anInLineNode << endl ;
-// if ( CoupledINode && ( IsGOTO() &&
- if ( ( IsGOTO() &&
- ( CoupledINode->IsInLineNode() || CoupledINode->IsLoopNode() ||
- CoupledINode->IsSwitchNode() ) ) ||
- ( !IsGOTO() && ( IsLoop() || IsSwitch() ||
- IsEndLoop() || IsEndSwitch() ) ) ) {
- DataFlowNode()->CoupledNode( CoupledINode ) ;
- if ( CoupledINode && IsSwitch() ) {
- DataFlowEditor()->AddLink( Name() , "Default" ,
- CoupledINode->Name() , "Default" ) ;
- }
- else if ( CoupledINode && ( IsLoop() || IsEndLoop() ) ) {
- DataFlowEditor()->AddLink( Name() , "DoLoop" ,
- CoupledINode->Name() , "DoLoop" ) ;
- }
- else if ( CoupledINode && IsGOTO() ) {
- DataFlowEditor()->AddLink( Name() , "OutGate" ,
- CoupledINode->Name() , "InGate" ) ;
- }
-// cout << "SetCoupled " << CoupledINode->Name() << endl ;
- return true ;
- }
-// cout << Name() << ".SetCoupled ERROR " << anInLineNode << " " << CoupledINode
-// << " of " << Kind() ;
-// if ( CoupledINode ) {
-// cout << " kinfOkCoupled " << CoupledINode->Kind() ;
-// }
-// cout << endl ;
- return false ; } ;
- virtual SUPERV::INode_ptr Coupled() ;
-
- virtual GraphBase::GOTONode * BaseNode() {
- return DataFlowNode()->GOTONode() ; } ;
-
-} ;
-
-#endif
+++ /dev/null
-// SUPERV Supervision : contains the implementation of interfaces of SuperVision described in SUPERV.idl
-//
-// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
-// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
-//
-// This library is free software; you can redistribute it and/or
-// modify it under the terms of the GNU Lesser General Public
-// License as published by the Free Software Foundation; either
-// version 2.1 of the License.
-//
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-// Lesser General Public License for more details.
-//
-// You should have received a copy of the GNU Lesser General Public
-// License along with this library; if not, write to the Free Software
-// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-//
-// See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
-//
-//
-//
-// File : Graph_Impl.cxx
-// Author : Jean Rahuel
-// Module : SUPERV
-// $Header:
-
-using namespace std;
-#include <stdio.h>
-#include <fstream>
-//#include <sstream>
-#include <string>
-
-//#include "utilities.h"
-
-#include "Graph_Impl.hxx"
-
-#include "DataFlowEditor_DataFlow.hxx"
-
-extern GraphExecutor::FiniteStateMachine * theAutomaton ;
-
-Graph_Impl::Graph_Impl( CORBA::ORB_ptr orb ,
- PortableServer::POA_ptr poa ,
- PortableServer::ObjectId * contId ,
- const char *instanceName ,
- const char *interfaceName ,
- const char *aDataFlowName ,
- const SUPERV::KindOfNode aKindOfNode ) :
- INode_Impl( orb , poa , contId , instanceName , interfaceName , aDataFlowName ) {
-// MESSAGE("Graph_Impl::Graph_Impl activate object instanceName("
-// << instanceName << ") interfaceName(" << interfaceName << ") --> "
-// << hex << (void *) this << dec )
- beginService( "Graph_Impl::Graph_Impl" );
- _Orb = CORBA::ORB::_duplicate(orb);
- _Poa = poa ;
- _ContId = contId ;
- if ( aKindOfNode == SUPERV::DataFlowGraph ) {
- _thisObj = this ;
- _id = _poa->activate_object(_thisObj);
- }
-
- string dbgfile = "/tmp/" ;
- dbgfile += instanceName ;
- dbgfile += "_" ;
- int lenname = strlen( aDataFlowName ) ;
- char * theDataFlowName = new char [ lenname+1 ] ;
- strcpy( theDataFlowName , aDataFlowName ) ;
- if ( aDataFlowName ) {
- if ( lenname > 4 && !strcmp( &aDataFlowName[ lenname - 4 ] , ".xml" ) ) {
- strncpy( theDataFlowName , &aDataFlowName[ 0 ] , lenname-4 ) ;
- theDataFlowName[ lenname-4 ] = '\0' ;
- int i ;
- for ( i = lenname - 5 ; i >= 0 ; i-- ) {
- if ( aDataFlowName[ i ] == '/' ) {
- strncpy( theDataFlowName , &aDataFlowName[ i + 1 ] , lenname-5-i ) ;
- theDataFlowName[ lenname-5-i ] = '\0' ;
- break ;
- }
- }
- }
- else {
- strcpy( theDataFlowName , &aDataFlowName[ 0 ] ) ;
- }
- dbgfile += theDataFlowName ;
- }
- dbgfile += ".log" ;
- _DebugFileName = new char[ strlen( dbgfile.c_str() )+1 ] ;
- strcpy( _DebugFileName , dbgfile.c_str() ) ;
-
- _NamingService = new SALOME_NamingService( orb ) ;
- GraphEditor::DataFlow * aDataFlowEditor ;
- aDataFlowEditor = new GraphEditor::DataFlow( _Orb , _NamingService ,
- theDataFlowName , _DebugFileName ,
- aKindOfNode ) ;
- DataFlowEditor( aDataFlowEditor ) ;
- DataFlowEditor()->Graph()->SetObjImpl( this ) ;
- pthread_mutex_init( &_MutexExecutorWait , NULL ) ;
- _DataFlowExecutor = NULL ;
- delete [] theDataFlowName ;
- endService( "Graph_Impl::Graph_Impl" );
-}
-
-Graph_Impl::Graph_Impl() {
-}
-
-Graph_Impl::~Graph_Impl() {
- beginService( "Graph_Impl::~Graph_Impl" );
- endService( "Graph_Impl::~Graph_Impl" );
-}
-
-void Graph_Impl::destroy() {
- beginService( "Graph_Impl::destroy" );
- _poa->deactivate_object(*_id) ;
- CORBA::release(_poa) ;
- delete(_id) ;
- _thisObj->_remove_ref();
-// endService( "Graph_Impl::destroy" );
-}
-
-char* Graph_Impl::getIOR() {
- if (CORBA::is_nil(myServant)) {
- PortableServer::ObjectId* id = getId();
- CORBA::Object_var obj;
- obj = _poa->id_to_reference(*id);
- myServant = SUPERV::Graph::_narrow(obj);
- }
- return(CORBA::string_dup(_Orb->object_to_string(myServant)));
-}
-
-SUPERV::Graph_ptr Graph_Impl::Copy() {
- beginService( "Graph_Impl::Copy" );
- Graph_Impl * myGraph ;
- myGraph = new Graph_Impl( _Orb , _Poa, _ContId,
- instanceName() , interfaceName() ,
- DataFlowEditor()->Graph()->Name() , SUPERV::DataFlowGraph ) ;
- PortableServer::ObjectId * id = myGraph->getId() ;
- CORBA::Object_var obj = _poa->id_to_reference(*id);
- SUPERV::Graph_var iobject ;
- iobject = SUPERV::Graph::_narrow(obj) ;
- GraphBase::SGraph * aSGraph = GetGraph() ;
- myGraph->LoadGraph( aSGraph ) ;
- endService( "Graph_Impl::Copy" );
- return SUPERV::Graph::_duplicate(iobject) ;
-}
-
-void Graph_Impl::ReadOnly() {
- DataFlowEditor()->ReadOnly() ;
-}
-
-SUPERV::INode_ptr Graph_Impl::Node() {
-// beginService( "Graph_Impl::Node" );
- PortableServer::ObjectId * id = getId() ;
- CORBA::Object_var obj = _poa->id_to_reference(*id);
- SUPERV::Graph_var iobject ;
- iobject = SUPERV::Graph::_narrow(obj) ;
-// endService( "Graph_Impl::Node" );
- return SUPERV::Graph::_duplicate(iobject) ;
-}
-
-GraphBase::SGraph * Graph_Impl::GetGraph() {
- return DataFlowEditor()->GetDataFlow() ;
-}
-
-#if 0
-char * Graph_Impl::DataFlowInfo() {
- beginService( "Graph_Impl::DataFlowInfo" );
- char * RetVal = DataFlowEditor()->DataFlowInfo() ;
- endService( "Graph_Impl::DataFlowInfo" );
- return CORBA::string_dup( RetVal ) ;
-}
-
-char * Graph_Impl::DataNodeInfo() {
- beginService( "Graph_Impl::DataNodeInfo" );
- char * RetVal = DataFlowEditor()->DataNodeInfo() ;
- endService( "Graph_Impl::DataNodeInfo" );
- return CORBA::string_dup( RetVal ) ;
-}
-
-char * Graph_Impl::NodeInfo( const char * aNodeName ) {
- beginService( "Graph_Impl::NodeInfo" );
- char * RetVal = DataFlowEditor()->NodeInfo( aNodeName ) ;
- endService( "Graph_Impl::NodeInfo" );
- return CORBA::string_dup( RetVal ) ;
-}
-#endif
-
-bool Graph_Impl::LoadGraph(const GraphBase::SGraph * aDataFlow ) {
-// beginService( "Graph_Impl::LoadGraph" );
- bool RetVal = false ;
- if ( DataFlowEditor()->IsEditing() ) {
- RetVal = DataFlowEditor()->LoadDataFlow( aDataFlow ) ;
- }
-// endService( "Graph_Impl::LoadGraph" );
- return RetVal ;
-}
-
-bool Graph_Impl::Import(const char * aXmlFile ) {
-// beginService( "Graph_Impl::Import" );
- bool RetVal = false ;
- if ( DataFlowEditor()->IsEditing() ) {
- RetVal = DataFlowEditor()->LoadXml( aXmlFile ) ;
- }
-// endService( "Graph_Impl::Import" );
- return RetVal ;
-}
-
-bool Graph_Impl::Export(const char * anXmlFile ) {
- beginService( "Graph_Impl::Export" );
- char * aFile = new char [ strlen( anXmlFile ) + 5 ] ;
- strcpy( aFile , anXmlFile ) ;
- int len = strlen( aFile ) ;
- if ( !strcmp( &aFile[ len - 4 ] , ".xml" ) ) {
- }
- else if ( !strcmp( &aFile[ len - 3 ] , ".py" ) ) {
- strcpy( &aFile[ len - 3 ] , ".xml" ) ;
- len = strlen( aFile ) ;
- }
- else {
- strcat( aFile , ".xml" ) ;
- len = strlen( aFile ) ;
- }
- bool RetVal = DataFlowEditor()->SaveXml( aFile ) ;
- if ( RetVal ) {
- strcpy( &aFile[ len - 4 ] , ".py" ) ;
- RetVal = DataFlowEditor()->SavePy( aFile ) ;
- }
- delete [] aFile ;
- endService( "Graph_Impl::Export" );
- return RetVal ;
-}
-
-#if 0
-GraphBase::ListOfNodes * Graph_Impl::GetNodes() {
-// beginService( "Graph_Impl::GetNodes" );
- GraphBase::ListOfNodes * RetVal = DataFlowEditor()->GetNodes() ;
-// endService( "Graph_Impl::GetNodes" );
- return RetVal ;
-}
-GraphBase::ListOfLinks * Graph_Impl::GetLinks() {
-// beginService( "Graph_Impl::GetLinks" );
- GraphBase::ListOfLinks * RetVal = DataFlowEditor()->GetLinks() ;
-// endService( "Graph_Impl::GetLinks" );
- return RetVal ;
-}
-GraphBase::ListOfLinks * Graph_Impl::GetDatas() {
-// beginService( "Graph_Impl::GetDatas" );
- GraphBase::ListOfLinks * RetVal = DataFlowEditor()->GetDatas() ;
-// endService( "Graph_Impl::GetDatas" );
- return RetVal ;
-}
-#endif
-
-SUPERV::CNode_ptr Graph_Impl::CNode( const SALOME_ModuleCatalog::Service &NodeService ) {
- beginService( "Graph_Impl::CNode" );
- SUPERV::CNode_var iobject = SUPERV::CNode::_nil() ;
- if ( DataFlowEditor()->IsEditing() && !DataFlowEditor()->IsReadOnly() ) {
- CNode_Impl * myNode = new CNode_Impl( _Orb , _Poa , _ContId ,
- instanceName() , interfaceName() ,
- DataFlowEditor() ,
- NodeService , NULLSTRING ,
- SUPERV::ComputingNode , NULLSTRING ) ;
- if ( myNode->DataFlowNode() ) {
- PortableServer::ObjectId * id = myNode->getId() ;
- CORBA::Object_var obj = _poa->id_to_reference(*id);
- iobject = SUPERV::CNode::_narrow(obj) ;
- myNode->SetObjRef( SUPERV::CNode::_duplicate( iobject ) ) ;
- }
- }
- endService( "Graph_Impl::CNode" );
- return SUPERV::CNode::_duplicate( iobject ) ;
-}
-
-SUPERV::FNode_ptr Graph_Impl::FNode( const char * NodeComponentName ,
- const char * NodeInterfaceName ,
- const SALOME_ModuleCatalog::Service &NodeService ) {
- beginService( "Graph_Impl::FNode" );
- SUPERV::FNode_var iobject = SUPERV::FNode::_nil() ;
- if ( DataFlowEditor()->IsEditing() && !DataFlowEditor()->IsReadOnly() ) {
- FNode_Impl * myNode = new FNode_Impl( _Orb , _Poa , _ContId ,
- instanceName() , interfaceName() ,
- DataFlowEditor() ,
- NodeService ,
- NodeComponentName ,
- NodeInterfaceName ) ;
- if ( myNode->DataFlowNode() ) {
- PortableServer::ObjectId * id = myNode->getId() ;
- CORBA::Object_var obj = _poa->id_to_reference(*id);
- iobject = SUPERV::FNode::_narrow(obj) ;
- myNode->SetObjRef( SUPERV::FNode::_duplicate( iobject ) ) ;
- }
- }
- endService( "Graph_Impl::FNode" );
- return SUPERV::FNode::_duplicate( iobject ) ;
-}
-
-SUPERV::INode_ptr Graph_Impl::INode( const char * FuncName ,
- const SUPERV::ListOfStrings & PythonFuntion ) {
- beginService( "Graph_Impl::INode" );
- SUPERV::INode_var iobject = SUPERV::INode::_nil() ;
- if ( DataFlowEditor()->IsEditing() && !DataFlowEditor()->IsReadOnly() ) {
- INode_Impl * myNode = new INode_Impl( _Orb , _Poa , _ContId ,
- instanceName() , interfaceName() ,
- DataFlowEditor() ,
- FuncName , PythonFuntion ,
- SUPERV::InLineNode ) ;
- if ( myNode->DataFlowNode() ) {
- PortableServer::ObjectId * id = myNode->getId() ;
- CORBA::Object_var obj = _poa->id_to_reference(*id);
- iobject = SUPERV::INode::_narrow(obj) ;
- myNode->SetObjRef( SUPERV::INode::_duplicate( iobject ) ) ;
- }
- }
- endService( "Graph_Impl::INode" );
- return SUPERV::INode::_duplicate( iobject ) ;
-}
-
-
-SUPERV::GNode_ptr Graph_Impl::GNode( const char * FuncName ,
- const SUPERV::ListOfStrings & PythonFuntion ,
- const char * anInLineNode ) {
- beginService( "Graph_Impl::GNode" );
- SUPERV::GNode_var iobject = SUPERV::GNode::_nil() ;
- if ( DataFlowEditor()->IsEditing() && !DataFlowEditor()->IsReadOnly() ) {
- GNode_Impl * myNode = new GNode_Impl( _Orb , _Poa , _ContId ,
- instanceName() , interfaceName() ,
- DataFlowEditor() ,
- FuncName , PythonFuntion ,
- SUPERV::GOTONode ) ;
- if ( myNode->DataFlowNode() ) {
- PortableServer::ObjectId * id = myNode->getId() ;
- CORBA::Object_var obj = _poa->id_to_reference(*id);
- iobject = SUPERV::GNode::_narrow(obj) ;
- myNode->SetObjRef( SUPERV::GNode::_duplicate( iobject ) ) ;
- if ( strlen( anInLineNode ) ) {
- GraphBase::InLineNode * CoupledINode = (GraphBase::InLineNode * ) DataFlowEditor()->Graph()->GetGraphNode( anInLineNode ) ;
- if ( anInLineNode ) {
- myNode->SetCoupled( anInLineNode ) ;
- Link( myNode->Port( "OutGate" ) , CoupledINode->ObjRef()->Port( "InGate" ) ) ;
- }
- }
- }
- }
- endService( "Graph_Impl::GNode" );
- return SUPERV::GNode::_duplicate( iobject ) ;
-}
-
-SUPERV::LNode_ptr Graph_Impl::LNode( const char * InitName ,
- const SUPERV::ListOfStrings & InitFunction ,
- const char * MoreName ,
- const SUPERV::ListOfStrings & MoreFunction ,
- const char * NextName ,
- const SUPERV::ListOfStrings & NextFunction ,
- SUPERV::INode_out anEndOfLoop ) {
- beginService( "Graph_Impl::LNode" );
- SUPERV::LNode_var iobject = SUPERV::LNode::_nil() ;
- SUPERV::ELNode_var iendobject = SUPERV::ELNode::_nil() ;
- if ( DataFlowEditor()->IsEditing() && !DataFlowEditor()->IsReadOnly() ) {
- GraphBase::ListOfFuncName FuncNameList ;
- FuncNameList.resize(3) ;
- FuncNameList[0] = InitName ;
- FuncNameList[1] = MoreName ;
- FuncNameList[2] = NextName ;
- GraphBase::ListOfPythonFunctions PythonFunctionList ;
- PythonFunctionList.resize(3) ;
- PythonFunctionList[0] = &InitFunction ;
- PythonFunctionList[1] = &MoreFunction ;
- PythonFunctionList[2] = &NextFunction ;
- LNode_Impl * myNode = new LNode_Impl( _Orb , _Poa , _ContId ,
- instanceName() , interfaceName() ,
- DataFlowEditor() ,
- FuncNameList , PythonFunctionList ,
-// InitName , InitFunction ,
-// MoreName , MoreFunction ,
-// NextName , NextFunction ,
- SUPERV::LoopNode ) ;
- if ( myNode->DataFlowNode() ) {
- PortableServer::ObjectId * id = myNode->getId() ;
- CORBA::Object_var obj = _poa->id_to_reference(*id);
- iobject = SUPERV::LNode::_narrow(obj) ;
- myNode->SetObjRef( SUPERV::LNode::_duplicate( iobject ) ) ;
-
- SALOME_ModuleCatalog::Service aVoidService = SALOME_ModuleCatalog::Service() ;
- char * anEndName ;
- if ( strlen( InitName ) ) {
- anEndName = new char( 3 + strlen( InitName ) + 1 ) ;
- strcpy( anEndName , "End" ) ;
- strcat( anEndName , InitName ) ;
- }
- else {
- anEndName = new char( 3 + strlen( "Loop" ) + 1 ) ;
- strcpy( anEndName , "EndLoop" ) ;
- }
- ELNode_Impl * myEndNode = new ELNode_Impl( _Orb , _Poa , _ContId ,
- instanceName() , interfaceName() ,
- DataFlowEditor() ,
- anEndName ,
- SUPERV::EndLoopNode ) ;
- PortableServer::ObjectId * endid = myEndNode->getId() ;
- CORBA::Object_var endobj = _poa->id_to_reference(*endid);
- iendobject = SUPERV::ELNode::_narrow(endobj) ;
- myEndNode->SetObjRef( SUPERV::ELNode::_duplicate( iendobject ) ) ;
- myNode->SetCoupled( myEndNode->BaseNode()->Name() ) ;
- myEndNode->SetCoupled( myNode->BaseNode()->Name() ) ;
- Link( myNode->Port( "DoLoop" ) , myEndNode->Port( "DoLoop" ) ) ;
- Link( myEndNode->Port( "DoLoop" ) , myNode->Port( "InitLoop" ) ) ;
- }
- }
- anEndOfLoop = SUPERV::ELNode::_duplicate( iendobject ) ;
- endService( "Graph_Impl::LNode" );
- return SUPERV::LNode::_duplicate( iobject ) ;
-}
-
-SUPERV::SNode_ptr Graph_Impl::SNode( const char * FuncName ,
- const SUPERV::ListOfStrings & PythonFunction ,
- SUPERV::INode_out anEndOfSwitch ) {
- beginService( "Graph_Impl::SNode" );
- SUPERV::SNode_var iobject = SUPERV::SNode::_nil() ;
- SUPERV::ESNode_var iendobject = SUPERV::ESNode::_nil() ;
- if ( DataFlowEditor()->IsEditing() && !DataFlowEditor()->IsReadOnly() ) {
- SNode_Impl * myNode = new SNode_Impl( _Orb , _Poa , _ContId ,
- instanceName() , interfaceName() ,
- DataFlowEditor() ,
- FuncName , PythonFunction ,
- SUPERV::SwitchNode ) ;
- if ( myNode->DataFlowNode() ) {
- PortableServer::ObjectId * id = myNode->getId() ;
- CORBA::Object_var obj = _poa->id_to_reference(*id);
- iobject = SUPERV::SNode::_narrow(obj) ;
- myNode->SetObjRef( SUPERV::SNode::_duplicate( iobject ) ) ;
-
- string anEndName = "End" ;
- if ( strlen( FuncName ) ) {
- anEndName += FuncName ;
- }
- else {
- anEndName += "Switch" ;
- }
-// cout << "Graph_Impl::SNode anEndName " << (void *) FuncName << " " << FuncName
-// << " " << strlen(FuncName) << " " << (void *) anEndName.c_str() << " "
-// << anEndName.c_str() << endl ;
- ESNode_Impl * myEndNode = new ESNode_Impl( _Orb , _Poa , _ContId ,
- instanceName() , interfaceName() ,
- DataFlowEditor() ,
- anEndName.c_str() ,
- SUPERV::EndSwitchNode ) ;
-// cout << "Graph_Impl::SNode returned anEndName " << (void *) FuncName << " "
-// << FuncName << " " << strlen(FuncName) << " " << (void *) anEndName.c_str()
-// << " " << anEndName.c_str() << endl ;
- PortableServer::ObjectId * endid = myEndNode->getId() ;
- CORBA::Object_var endobj = _poa->id_to_reference(*endid);
- iendobject = SUPERV::ESNode::_narrow(endobj) ;
- myEndNode->SetObjRef( SUPERV::ESNode::_duplicate( iendobject ) ) ;
- myNode->SetCoupled( myEndNode->BaseNode()->Name() ) ;
- myEndNode->SetCoupled( myNode->BaseNode()->Name() ) ;
- if ( !Link( myNode->Port( "Default" ) , myEndNode->Port( "Default" ) ) ) {
- iobject = SUPERV::SNode::_nil() ;
- iendobject = SUPERV::ESNode::_nil() ;
- }
- }
- }
- anEndOfSwitch = SUPERV::ESNode::_duplicate( iendobject ) ;
- endService( "Graph_Impl::SNode" );
- return SUPERV::SNode::_duplicate( iobject ) ;
-}
-
-
-SUPERV::CNode_ptr Graph_Impl::Node(char const * aNodeName ) {
-// beginService( "Graph_Impl::Node" );
- SUPERV::CNode_var iobject = SUPERV::CNode::_nil() ;
- /* JR : 13/06/03
- if ( CORBA::is_nil( DataFlowEditor()->GetNode( aNodeName )->ObjRef() ) ) {
- CNode_Impl * myNode = new CNode_Impl( _Orb , _Poa , _ContId ,
- instanceName() , interfaceName() ,
- DataFlowEditor() ,
- DataFlowEditor()->GetNode( aNodeName ) ) ;
- PortableServer::ObjectId * id = myNode->getId() ;
- CORBA::Object_var obj = _poa->id_to_reference(*id);
- iobject = SUPERV::CNode::_narrow(obj) ;
- myNode->SetObjRef( SUPERV::CNode::_duplicate( iobject ) ) ;
- }
- else {
- iobject = DataFlowEditor()->GetNode( aNodeName )->ObjRef() ;
- */
- GraphEditor::InNode * anInNode = DataFlowEditor()->GetNode( aNodeName ) ;
- if ( anInNode ) {
- if ( CORBA::is_nil( anInNode->ObjRef() ) ) {
- SetNodeObjRef( anInNode ) ;
- }
- iobject = anInNode->ObjRef() ;
- }
-// endService( "Graph_Impl::Node" );
- return SUPERV::CNode::_duplicate( iobject ) ;
-}
-
-SUPERV::Link_ptr Graph_Impl::Link( SUPERV::Port_ptr OutPort ,
- SUPERV::Port_ptr InPort ) {
- beginService( "Graph_Impl::Link" );
- SUPERV::Link_var iobject = SUPERV::Link::_nil() ;
- if ( DataFlowEditor()->IsEditing() && !DataFlowEditor()->IsReadOnly() &&
- !OutPort->IsDataStream() && !InPort->IsDataStream() ) {
- GraphBase::InPort * anInPort = DataFlowEditor()->GetNode( InPort->Node()->Name() )->ComputingNode()->GetChangeInPort( InPort->Name() ) ;
- GraphBase::OutPort * anOutPort = DataFlowEditor()->GetNode( OutPort->Node()->Name() )->ComputingNode()->GetChangeOutPort( OutPort->Name() ) ;
- if ( CORBA::is_nil( anOutPort->InPortObjRef( anInPort ) ) ) {
- const char * DataFlowOutNodeName = OutPort->Node()->Name() ;
- GraphEditor::InNode * DataFlowOutNode = DataFlowEditor()->GetNode( DataFlowOutNodeName ) ;
- const char * DataFlowInNodeName = InPort->Node()->Name() ;
- GraphEditor::InNode * DataFlowInNode = DataFlowEditor()->GetNode( DataFlowInNodeName ) ;
- if ( DataFlowOutNode && DataFlowInNode ) {
- bool Success ;
- Link_Impl * myLink = new Link_Impl( _Orb , _Poa , _ContId ,
- instanceName() , interfaceName() ,
- DataFlowEditor() ,
- DataFlowInNode ,
- InPort->Name() ,
- DataFlowOutNode ,
- OutPort->Name() ,
- true , false , Success ) ;
- if ( Success ) {
- PortableServer::ObjectId * id = myLink->getId() ;
- CORBA::Object_var obj = _poa->id_to_reference(*id);
- iobject = SUPERV::Link::_narrow(obj) ;
- anOutPort->AddInPortObjRef( anInPort , SUPERV::Link::_duplicate( iobject ) ) ;
- }
- }
- }
- else {
- iobject = anOutPort->InPortObjRef( anInPort ) ;
- }
- }
- endService( "Graph_Impl::Link" );
- return SUPERV::Link::_duplicate( iobject ) ;
-}
-
-void Graph_Impl::SetNodeObjRef( GraphEditor::InNode * anInNode ) {
- CORBA::Object_var obj ;
- if ( anInNode->IsComputingNode() ) {
- CNode_Impl * myNode = new CNode_Impl( _Orb , _Poa , _ContId ,
- instanceName() , interfaceName() ,
- DataFlowEditor() ,
- anInNode ) ;
- PortableServer::ObjectId * id = myNode->getId() ;
- obj = _poa->id_to_reference(*id);
- SUPERV::CNode_var iobject = SUPERV::CNode::_narrow(obj) ;
- myNode->SetObjRef( SUPERV::CNode::_duplicate( iobject ) ) ;
- }
- else if ( anInNode->IsFactoryNode() ) {
- FNode_Impl * myNode = new FNode_Impl( _Orb , _Poa , _ContId ,
- instanceName() , interfaceName() ,
- DataFlowEditor() ,
- anInNode ) ;
- PortableServer::ObjectId * id = myNode->getId() ;
- obj = _poa->id_to_reference(*id);
- SUPERV::FNode_var iobject = SUPERV::FNode::_narrow(obj) ;
- myNode->SetObjRef( SUPERV::FNode::_duplicate( iobject ) ) ;
- }
- else if ( anInNode->IsInLineNode() ) {
- INode_Impl * myNode = new INode_Impl( _Orb , _Poa , _ContId ,
- instanceName() , interfaceName() ,
- DataFlowEditor() ,
- anInNode ) ;
- PortableServer::ObjectId * id = myNode->getId() ;
- obj = _poa->id_to_reference(*id);
- SUPERV::INode_var iobject = SUPERV::INode::_narrow(obj) ;
- myNode->SetObjRef( SUPERV::INode::_duplicate( iobject ) ) ;
- }
- else if ( anInNode->IsGOTONode() ) {
- GNode_Impl * myNode = new GNode_Impl( _Orb , _Poa , _ContId ,
- instanceName() , interfaceName() ,
- DataFlowEditor() ,
- anInNode ) ;
- PortableServer::ObjectId * id = myNode->getId() ;
- obj = _poa->id_to_reference(*id);
- SUPERV::GNode_var iobject = SUPERV::GNode::_narrow(obj) ;
- myNode->SetObjRef( SUPERV::GNode::_duplicate( iobject ) ) ;
- }
- else if ( anInNode->IsLoopNode() ) {
- LNode_Impl * myNode = new LNode_Impl( _Orb , _Poa , _ContId ,
- instanceName() , interfaceName() ,
- DataFlowEditor() ,
- anInNode ) ;
- PortableServer::ObjectId * id = myNode->getId() ;
- obj = _poa->id_to_reference(*id);
- SUPERV::LNode_var iobject = SUPERV::LNode::_narrow(obj) ;
- myNode->SetObjRef( SUPERV::LNode::_duplicate( iobject ) ) ;
- }
- else if ( anInNode->IsEndLoopNode() ) {
- ELNode_Impl * myNode = new ELNode_Impl( _Orb , _Poa , _ContId ,
- instanceName() , interfaceName() ,
- DataFlowEditor() ,
- anInNode ) ;
- PortableServer::ObjectId * id = myNode->getId() ;
- obj = _poa->id_to_reference(*id);
- SUPERV::ELNode_var iobject = SUPERV::ELNode::_narrow(obj) ;
- myNode->SetObjRef( SUPERV::ELNode::_duplicate( iobject ) ) ;
- }
- else if ( anInNode->IsSwitchNode() ) {
- SNode_Impl * myNode = new SNode_Impl( _Orb , _Poa , _ContId ,
- instanceName() , interfaceName() ,
- DataFlowEditor() ,
- anInNode ) ;
- PortableServer::ObjectId * id = myNode->getId() ;
- obj = _poa->id_to_reference(*id);
- SUPERV::SNode_var iobject = SUPERV::SNode::_narrow(obj) ;
- myNode->SetObjRef( SUPERV::SNode::_duplicate( iobject ) ) ;
- }
- else if ( anInNode->IsEndSwitchNode() ) {
- ESNode_Impl * myNode = new ESNode_Impl( _Orb , _Poa , _ContId ,
- instanceName() , interfaceName() ,
- DataFlowEditor() ,
- anInNode ) ;
- PortableServer::ObjectId * id = myNode->getId() ;
- obj = _poa->id_to_reference(*id);
- SUPERV::ESNode_var iobject = SUPERV::ESNode::_narrow(obj) ;
- myNode->SetObjRef( SUPERV::ESNode::_duplicate( iobject ) ) ;
- }
-}
-
-SUPERV::ListOfNodes_var Graph_Impl::SetNode( SUPERV::ListOfNodes_var RetVal ,
- GraphBase::ComputingNode * aNode ) {
- int index = 0 ;
- if ( _DataFlowExecutor ) {
- MESSAGE("Graph_Impl::SetNode " << aNode->Name() << " " << aNode->Kind() << " "
- << _DataFlowExecutor->StateName( _DataFlowExecutor->AutomatonState( aNode->Name() ) ) ) ;
- }
- else {
- MESSAGE("Graph_Impl::SetNode " << aNode->Name() << " " << aNode->Kind() ) ;
- }
- if ( aNode->IsComputingNode() ) {
- index = RetVal->CNodes.length() ;
- RetVal->CNodes.length( index+1 );
- }
- else if ( aNode->IsFactoryNode() ) {
- index = RetVal->FNodes.length() ;
- RetVal->FNodes.length( index+1 );
- }
- else if ( aNode->IsInLineNode() ) {
- index = RetVal->INodes.length() ;
- RetVal->INodes.length( index+1 );
- }
- else if ( aNode->IsGOTONode() ) {
- index = RetVal->GNodes.length() ;
- RetVal->GNodes.length( index+1 );
- }
- else if ( aNode->IsLoopNode() ) {
- index = RetVal->LNodes.length() ;
- RetVal->LNodes.length( index+1 );
- }
- else if ( aNode->IsEndLoopNode() ) {
- index = RetVal->ELNodes.length() ;
- RetVal->ELNodes.length( index+1 );
- }
- else if ( aNode->IsSwitchNode() ) {
- index = RetVal->SNodes.length() ;
- RetVal->SNodes.length( index+1 );
- }
- else if ( aNode->IsEndSwitchNode() ) {
- index = RetVal->ESNodes.length() ;
- RetVal->ESNodes.length( index+1 );
- }
- if ( CORBA::is_nil( aNode->ObjRef() ) ) {
- SetNodeObjRef( (GraphEditor::InNode * ) aNode->GetInNode() ) ;
- }
- SUPERV::CNode_var aNodeObjRef = aNode->ObjRef() ;
- if ( aNode->IsComputingNode() ) {
- RetVal->CNodes[index] = SUPERV::CNode::_duplicate( aNodeObjRef ) ;
- }
- else if ( aNode->IsFactoryNode() ) {
- RetVal->FNodes[index] = SUPERV::FNode::_duplicate( SUPERV::FNode::_narrow( aNodeObjRef ) ) ;
- }
- else if ( aNode->IsInLineNode() ) {
- RetVal->INodes[index] = SUPERV::INode::_duplicate( SUPERV::INode::_narrow( aNodeObjRef ) ) ;
- }
- else if ( aNode->IsGOTONode() ) {
- RetVal->GNodes[index] = SUPERV::GNode::_duplicate( SUPERV::GNode::_narrow( aNodeObjRef ) ) ;
- }
- else if ( aNode->IsLoopNode() ) {
- RetVal->LNodes[index] = SUPERV::LNode::_duplicate( SUPERV::LNode::_narrow( aNodeObjRef ) ) ;
- }
- else if ( aNode->IsEndLoopNode() ) {
- RetVal->ELNodes[index] = SUPERV::ELNode::_duplicate( SUPERV::ELNode::_narrow( aNodeObjRef ) ) ;
- }
- else if ( aNode->IsSwitchNode() ) {
- RetVal->SNodes[index] = SUPERV::SNode::_duplicate( SUPERV::SNode::_narrow( aNodeObjRef ) ) ;
- }
- else if ( aNode->IsEndSwitchNode() ) {
- RetVal->ESNodes[index] = SUPERV::ESNode::_duplicate( SUPERV::ESNode::_narrow( aNodeObjRef ) ) ;
- }
- return ( RetVal._retn() ) ;
-}
-
-SUPERV::ListOfNodes * Graph_Impl::Nodes() {
- SUPERV::ListOfNodes_var RetVal = new SUPERV::ListOfNodes;
- beginService( "Graph_Impl::Nodes" );
- RetVal->CNodes.length(0) ;
- RetVal->FNodes.length(0) ;
- RetVal->INodes.length(0) ;
- RetVal->LNodes.length(0) ;
- RetVal->SNodes.length(0) ;
- RetVal->GNodes.length(0) ;
- int i ;
- for ( i = 0 ; i < DataFlowEditor()->Graph()->GraphNodesSize() ; i++ ) {
- GraphBase::ComputingNode * aNode = DataFlowEditor()->Graph()->GraphNodes( i ) ;
- RetVal = SetNode( RetVal , aNode ) ;
- }
-#if 0
- char * aStateG = "" ;
- if ( _DataFlowExecutor ) {
- aStateG = (char *) _DataFlowExecutor->StateName( _DataFlowExecutor->AutomatonState() ) ;
- }
- MESSAGE("Graph_Impl::Nodes GraphState " << aStateG
- << " CNodes " << RetVal->CNodes.length()
- << " FNodes " << RetVal->FNodes.length()
- << " INodes " << RetVal->INodes.length()
- << " GNodes " << RetVal->GNodes.length()
- << " LNodes " << RetVal->LNodes.length()
- << " ELNodes " << RetVal->ELNodes.length()
- << " SNodes " << RetVal->SNodes.length()
- << " ESNodes " << RetVal->ESNodes.length() ) ;
- if ( _DataFlowExecutor ) {
- _DataFlowExecutor->EventList() ;
- }
-#endif
- endService( "Graph_Impl::Nodes" );
- return ( RetVal._retn() ) ;
-}
-
-SUPERV::ListOfLinks * Graph_Impl::GLinks() {
- return Links( NULL , NULL ) ;
-}
-
-SUPERV::ListOfLinks * Graph_Impl::Links( GraphBase::ComputingNode * theNode ,
- const char * anInputParam ) {
- bool begin = true ;
- SUPERV::ListOfLinks_var RetVal = new SUPERV::ListOfLinks ;
- RetVal->length( 0 ) ;
- int i , j , countlink ;
- countlink = 0 ;
- for ( i = 0 ; i < DataFlowEditor()->Graph()->GraphNodesSize() ; i++ ) {
- GraphEditor::InNode * aNode = NULL ;
- aNode = (GraphEditor::InNode * ) DataFlowEditor()->Graph()->GraphNodes( i )->GetInNode() ;
- bool ToProcess = false ;
- if ( theNode == NULL ) {
- ToProcess = true ;
- }
- else {
- if ( !strcmp( theNode->Name() , aNode->Name() ) ) {
- if ( !theNode->IsEndSwitchNode() ) {
- ToProcess = true ;
- }
- }
- else if ( theNode->IsEndSwitchNode() ) {
- ToProcess = true ;
- }
- }
- if ( ToProcess ) {
- for ( j = 0 ; j < aNode->GetNodeInPortsSize() ; j++ ) {
- GraphBase::InPort * anInPort = NULL ;
- anInPort = aNode->GetChangeNodeInPort( j ) ;
- if ( anInputParam == NULL ||
- !strcmp( anInPort->PortName() , anInputParam ) ) {
- GraphBase::OutPort * anOutPort = NULL ;
- anOutPort = anInPort->GetOutPort() ;
- if ( anOutPort && !anOutPort->IsDataStream() ) {
- if ( strcmp( anOutPort->NodeName() , Name() ) ) {
-// MESSAGE("Graph_Impl::Links " << anOutPort->NodeName() << "("
-// << anOutPort->PortName() << ") --> " << aNode->Name() << "("
-// << anInPort->PortName() << ")" ) ;
- if ( theNode == NULL ||
- ( theNode != NULL && !theNode->IsEndSwitchNode() &&
- !strcmp( theNode->Name() , aNode->Name() ) ) ) {
- if ( anInPort->IsLoop() || anOutPort->IsLoop() ||
- ( aNode->IsEndLoopNode() && !strcmp( aNode->CoupledNode()->Name() ,
- anOutPort->NodeName() ) ) ) {
-// MESSAGE( "Link " << anOutPort->NodeName() << "("
-// << anOutPort->PortName() << ") --> " << aNode->Name() << "("
-// << anInPort->PortName() << ")" << " ignored" ) ;
- }
- else if ( CORBA::is_nil( anOutPort->InPortObjRef( anInPort ) ) ) {
- if ( begin ) {
- beginService( "Graph_Impl::Links" );
- begin = false ;
- }
- GraphEditor::InNode * anOutNode = NULL ;
- anOutNode = (GraphEditor::InNode * ) DataFlowEditor()->Graph()->GetChangeGraphNode( anOutPort->NodeName() )->GetInNode() ;
- if ( anOutNode ) {
- bool Success ;
- Link_Impl * myLink = new Link_Impl( _Orb , _Poa , _ContId ,
- instanceName() , interfaceName() ,
- DataFlowEditor() ,
- aNode ,
- anInPort->PortName() ,
- anOutNode ,
- anOutPort->PortName() ,
- false , true , Success ) ;
- if ( Success ) {
- PortableServer::ObjectId * id = myLink->getId() ;
- CORBA::Object_var obj = _poa->id_to_reference(*id);
- SUPERV::Link_var iobject ;
- iobject = SUPERV::Link::_narrow(obj) ;
- RetVal->length( countlink + 1 ) ;
- RetVal[ countlink++ ] = SUPERV::Link::_duplicate( iobject ) ;
- anOutPort->AddInPortObjRef( anInPort , SUPERV::Link::_duplicate( iobject ) ) ;
- }
- }
- }
- else {
- RetVal->length( countlink + 1 ) ;
- RetVal[ countlink++ ] = SUPERV::Link::_duplicate( anOutPort->InPortObjRef( anInPort ) ) ;
- }
-// MESSAGE( "Link " << anOutPort->NodeName() << "("
-// << anOutPort->PortName() << ") --> " << aNode->Name() << "("
-// << anInPort->PortName() << ")" << " selected" ) ;
- }
- else {
-// MESSAGE( "Link " << anOutPort->NodeName() << "("
-// << anOutPort->PortName() << ") --> " << aNode->Name() << "("
-// << anInPort->PortName() << ")" << " skipped" ) ;
- }
- }
- }
- }
- }
- }
- for ( j = 0 ; j < aNode->GetNodeOutPortsSize() ; j++ ) {
- GraphBase::OutPort * anOutPort = aNode->GetChangeNodeOutPort( j ) ;
- int k ;
- for ( k = 0 ; k < anOutPort->InPortsSize() ; k++ ) {
- GraphBase::InPort * anInPort = anOutPort->ChangeInPorts( k ) ;
- GraphEditor::InNode * toNode = (GraphEditor::InNode * ) DataFlowEditor()->Graph()->GetChangeGraphNode( anInPort->NodeName() )->GetInNode() ;
- if ( theNode == NULL ||
- !strcmp( theNode->Name() , aNode->Name() ) ) {
- if ( !anInPort->IsDataStream() ) {
- if ( theNode || ( toNode->IsEndSwitchNode() && !aNode->IsSwitchNode() ) ) {
- if ( anInputParam == NULL ||
- !strcmp( anInPort->PortName() , anInputParam ) ) {
- if ( anInPort->IsLoop() || anOutPort->IsLoop() ||
- ( toNode->IsEndLoopNode() && !strcmp( toNode->CoupledNode()->Name() ,
- anOutPort->NodeName() ) ) ) {
-// MESSAGE( "Link " << anOutPort->NodeName() << "("
-// << anOutPort->PortName() << ") --> " << toNode->Name() << "("
-// << anInPort->PortName() << ")" << " ignored" ) ;
- }
- else if ( CORBA::is_nil( anOutPort->InPortObjRef( anInPort ) ) ) {
- if ( begin ) {
- beginService( "Graph_Impl::Links" );
- begin = false ;
- }
- bool Success ;
- Link_Impl * myLink = new Link_Impl( _Orb , _Poa , _ContId ,
- instanceName() , interfaceName() ,
- DataFlowEditor() ,
- toNode ,
- anInPort->PortName() ,
- aNode ,
- anOutPort->PortName() ,
- false , true , Success ) ;
- if ( Success ) {
- PortableServer::ObjectId * id = myLink->getId() ;
- CORBA::Object_var obj = _poa->id_to_reference(*id);
- SUPERV::Link_var iobject ;
- iobject = SUPERV::Link::_narrow(obj) ;
- RetVal->length( countlink + 1 ) ;
- RetVal[ countlink++ ] = SUPERV::Link::_duplicate( iobject ) ;
- anOutPort->AddInPortObjRef( anInPort , SUPERV::Link::_duplicate( iobject ) ) ;
- }
- }
- else {
- RetVal->length( countlink + 1 ) ;
- RetVal[ countlink++ ] = SUPERV::Link::_duplicate( SUPERV::Link::_narrow( anOutPort->InPortObjRef( anInPort ) ) ) ;
- }
-// MESSAGE( "Link " << anOutPort->NodeName() << "("
-// << anOutPort->PortName() << ") --> " << toNode->Name() << "("
-// << anInPort->PortName() << ")" << " selected" ) ;
- }
- else {
-// MESSAGE( "Link " << anOutPort->NodeName() << "("
-// << anOutPort->PortName() << ") --> " << toNode->Name() << "("
-// << anInPort->PortName() << ")" << " skipped" ) ;
- }
- }
- }
- }
- }
- }
- }
-#if 0
- const char * NodeName = "" ;
- const char * InputParamName = "" ;
- if ( theNode ) {
- NodeName = theNode->Name() ;
- }
- if ( anInputParam ) {
- InputParamName = anInputParam ;
- }
- MESSAGE( RetVal->length() << " Links of Node " << NodeName << " and of InPort " << InputParamName ) ;
- for ( i = 0 ; i < (int ) RetVal->length() ; i++ ) {
- MESSAGE( "Link " << RetVal[i]->OutPort()->Node()->Name() << "("
- << RetVal[i]->OutPort()->Name() << ") --> "
- << RetVal[i]->InPort()->Node()->Name() << "("
- << RetVal[i]->InPort()->Name() << ")" ) ;
- }
-#endif
- if ( !begin ) {
- endService( "Graph_Impl::Links" );
- }
- return ( RetVal._retn() ) ;
-}
-
-Engines::Component_ptr Graph_Impl::ComponentRef( const char * aComputerContainer ,
- const char * aComponentName ) {
- Engines::Container_var myContainer ;
- Engines::Component_var objComponent ;
- DataFlowEditor()->Graph()->StartComponent( 0 , aComputerContainer , aComponentName ,
- myContainer , objComponent ) ;
- return Engines::Component::_duplicate( objComponent ) ;
-}
-
-bool Graph_Impl::IsValid() {
-// beginService( "Graph_Impl::IsValid" );
- bool RetVal = DataFlowEditor()->IsValid() ;
-// endService( "Graph_Impl::IsValid" );
- return RetVal ;
-}
-bool Graph_Impl::IsExecutable() {
-// beginService( "Graph_Impl::IsExecutable" );
- bool RetVal = DataFlowEditor()->IsExecutable() ;
-// endService( "Graph_Impl::IsExecutable" );
- return RetVal ;
-}
-
-bool Graph_Impl::IsEditing() {
-// beginService( "Graph_Impl::IsEditing" );
- bool RetVal = DataFlowEditor()->IsEditing() ;
-// endService( "Graph_Impl::IsEditing" );
- return RetVal ;
-}
-bool Graph_Impl::IsExecuting() {
-// beginService( "Graph_Impl::IsExecuting" );
- bool RetVal = !DataFlowEditor()->IsEditing() ;
-// endService( "Graph_Impl::IsExecuting" );
- return RetVal ;
-}
-
-bool Graph_Impl::IsReadOnly() {
-// beginService( "Graph_Impl::IsExecuting" );
- bool RetVal = DataFlowEditor()->IsReadOnly() ;
-// endService( "Graph_Impl::IsExecuting" );
- return RetVal ;
-}
-
-long Graph_Impl::LevelMax() {
-// beginService( "Graph_Impl::LevelMax" );
- long RetVal = DataFlowEditor()->LevelMax() ;
-// endService( "Graph_Impl::LevelMax" );
- return RetVal ;
-}
-SUPERV::ListOfNodes * Graph_Impl::LevelNodes(long aLevel ) {
-// beginService( "Graph_Impl::LevelNodes" );
- SUPERV::ListOfNodes_var RetVal = new SUPERV::ListOfNodes;
- int i ;
- SUPERV::ListOfStrings_var Nodes = DataFlowEditor()->LevelNodes( aLevel ) ;
-// RetVal->length( Nodes->length() );
- for ( i = 0 ; i < (int ) Nodes->length() ; i++ ) {
-// char * aNode = Nodes[ i ] ;
- GraphBase::ComputingNode * aNode = DataFlowEditor()->Graph()->GetChangeGraphNode( Nodes[ i ] ) ;
- RetVal = SetNode( RetVal , aNode ) ;
-// cout << "Graph_Impl::LevelNodes( " << aLevel << " ) " << aNode->Name() << endl ;
-// CNode_Impl * myNode = new CNode_Impl( _Orb , _Poa , _ContId ,
-// instanceName() , interfaceName() ,
-// DataFlowEditor() ,
-// (GraphEditor::InNode * ) DataFlowEditor()->GetChangeGraphNode( aNode )->GetInNode() ) ;
-// PortableServer::ObjectId * id = myNode->getId() ;
-// CORBA::Object_var obj = _poa->id_to_reference(*id);
-// SUPERV::CNode_var iobject ;
-// iobject = SUPERV::CNode::_narrow(obj) ;
-// RetVal[i] = SUPERV::CNode::_duplicate( iobject ) ;
- }
-// endService( "Graph_Impl::LevelNodes" );
- return ( RetVal._retn() ) ;
-}
-long Graph_Impl::ThreadsMax() {
-// beginService( "Graph_Impl::ThreadsMax" );
- long RetVal = DataFlowEditor()->ThreadsMax() ;
-// endService( "Graph_Impl::ThreadsMax" );
- return RetVal ;
-}
-long Graph_Impl::Threads() {
-// beginService( "Node_Impl::Threads" );
- long RetVal = _DataFlowExecutor->Threads() ;
-// endService( "Node_Impl::Threads" );
- return RetVal ;
-}
-long Graph_Impl::SuspendedThreads() {
-// beginService( "Node_Impl::SuspendedThreads" );
- long RetVal = _DataFlowExecutor->SuspendedThreads() ;
-// endService( "Node_Impl::SuspendedThreads" );
- return RetVal ;
-}
-
-bool Graph_Impl::Begin() {
- bool RetVal = false ;
- if ( DataFlowEditor()->IsEditing() ) {
- if ( pthread_mutex_lock( &_MutexExecutorWait ) ) {
- perror("pthread_mutex_lock _MutexExecutorWait") ;
- exit( 0 ) ;
- }
- if ( _DataFlowExecutor ) {
- MESSAGE( "Graph_Impl::Begin " << _DataFlowExecutor->Threads() << " threads" )
- if ( _DataFlowExecutor->Threads() ) {
- _DataFlowExecutor->JoinedWait() ;
- }
- delete _DataFlowExecutor ;
- _DataFlowExecutor = NULL ;
- DataFlowEditor()->Executor( NULL ) ;
- }
- DataFlowEditor()->EditedAfterExecution( false ) ;
- int _ExecNumber = theAutomaton->ExecNumber() ;
- char ExecNumber[30] ;
- sprintf( ExecNumber , "_%d" , _ExecNumber ) ;
- int len = strlen( _DebugFileName ) ;
- char * DebugFileName = new char [ len + strlen( ExecNumber ) + 6 ] ;
- strncpy( DebugFileName , _DebugFileName , len - 4 ) ;
- DebugFileName[ len - 4 ] = '\0' ;
- strcat( DebugFileName , ExecNumber ) ;
- strcat( DebugFileName , "_Exec.log" ) ;
- GraphBase::SGraph * myGraph = DataFlowEditor()->GetDataFlow() ;
- _DataFlowExecutor = new GraphExecutor::DataFlow( _Orb , _NamingService ,
- myGraph->Info.theName.c_str() ,
- DebugFileName , Kind() ) ;
- MESSAGE( "Graph_Impl::Begin : DataFlowExecutor created" );
- RetVal = _DataFlowExecutor->LoadDataFlow( *myGraph ) ;
- if ( RetVal ) {
- _DataFlowExecutor->Graph()->SetObjImpl( DataFlowEditor()->Graph()->ObjImpl() ) ;
- DataFlowEditor()->Executor( _DataFlowExecutor ) ;
- }
- if ( pthread_mutex_unlock( &_MutexExecutorWait ) ) {
- perror("pthread_mutex_unlock _MutexExecutorWait") ;
- exit( 0 ) ;
- }
- }
- return RetVal ;
-}
-bool Graph_Impl::Run() {
- beginService( "Graph_Impl::Run" );
- bool RetVal = false ;
- if ( DataFlowEditor()->IsEditing() ) {
- MESSAGE( "Graph_Impl::Run IsEditing" );
- RetVal = Begin() ;
- if ( RetVal ) {
- MESSAGE( "Graph_Impl::(Re)Run " );
- RetVal = CNode_Impl::Run() ;
- }
- }
- else {
- MESSAGE( "Graph_Impl::(Re)Run " );
- RetVal = CNode_Impl::ReRun() ;
- }
- endService( "Graph_Impl::Run" );
- return RetVal ;
-}
-bool Graph_Impl::Start() {
- beginService( "Graph_Impl::Start" );
- bool RetVal = false ;
- if ( DataFlowEditor()->IsEditing() ) {
- MESSAGE( "Graph_Impl::Start IsEditing" );
- RetVal = Begin() ;
- }
- else {
- RetVal = true ;
- }
- if ( RetVal ) {
- MESSAGE( "Graph_Impl::(Re)Start " );
- RetVal = ReStart() ;
- }
- endService( "Graph_Impl::Start" );
- return RetVal ;
-}
-
-bool Graph_Impl::EventNoW( SUPERV::CNode_out aNode ,
- SUPERV::GraphEvent & anEvent ,
- SUPERV::GraphState & aState ) {
- bool RetVal = false ;
- char * aNodeName = NULL ;
- SUPERV::GraphEvent theEvent = SUPERV::UndefinedEvent ;
- SUPERV::GraphState theState = SUPERV::UndefinedState ;
- if ( pthread_mutex_lock( &_MutexExecutorWait ) ) {
- perror("pthread_mutex_lock _MutexExecutorWait") ;
- exit( 0 ) ;
- }
- if ( _DataFlowExecutor &&
- ( _DataFlowExecutor->GetListSize() || !DataFlowEditor()->IsEditing() ) ) {
- RetVal = _DataFlowExecutor->Event( & aNodeName , theEvent , theState , false ) ;
-// endService( "Graph_Impl::Event" );
- if ( strlen( aNodeName ) ) {
- if ( strcmp( aNodeName , Name() ) ) {
- aNode = Node( aNodeName ) ;
- }
- else {
- aNode = Node() ;
- }
- }
- else {
- aNode = SUPERV::Graph::_duplicate( SUPERV::Graph::_nil() ) ;
- }
-// cout << "Graph_Impl::EventNoW " << aNode->Name() << " QSize " << _DataFlowExecutor->GetListSize() << endl ;
- }
- else {
-// cout << "Graph_Impl::EventNoW NO DataFlowExecutor or QSize=0 " << endl ;
- }
- if ( pthread_mutex_unlock( &_MutexExecutorWait ) ) {
- perror("pthread_mutex_unlock _MutexExecutorWait") ;
- exit( 0 ) ;
- }
- anEvent = theEvent ;
- aState = theState ;
- return RetVal ;
-}
-
-bool Graph_Impl::Event( SUPERV::CNode_out aNode ,
- SUPERV::GraphEvent & anEvent ,
- SUPERV::GraphState & aState ) {
-// beginService( "Graph_Impl::Event" );
- bool RetVal = false ;
- char * aNodeName = NULL ;
- SUPERV::GraphEvent theEvent = SUPERV::UndefinedEvent ;
- SUPERV::GraphState theState = SUPERV::UndefinedState ;
- if ( pthread_mutex_lock( &_MutexExecutorWait ) ) {
- perror("pthread_mutex_lock _MutexExecutorWait") ;
- exit( 0 ) ;
- }
- if ( _DataFlowExecutor &&
- ( _DataFlowExecutor->GetListSize() || !DataFlowEditor()->IsEditing() ) ){
- RetVal = _DataFlowExecutor->Event( & aNodeName , theEvent , theState ) ;
-// endService( "Graph_Impl::Event" );
- if ( strlen( aNodeName ) ) {
- if ( strcmp( aNodeName , Name() ) ) {
- aNode = Node( aNodeName ) ;
- }
- else {
- aNode = Node() ;
- }
- }
- else {
- aNode = SUPERV::Graph::_duplicate( SUPERV::Graph::_nil() ) ;
- }
-// cout << "Graph_Impl::Event " << aNode->Name() << " QSize " << _DataFlowExecutor->GetListSize() << endl ;
- }
- else {
-// cout << "Graph_Impl::Event NO DataFlowExecutor or QSize=0 " << endl ;
- }
- if ( pthread_mutex_unlock( &_MutexExecutorWait ) ) {
- perror("pthread_mutex_unlock _MutexExecutorWait") ;
- exit( 0 ) ;
- }
- anEvent = theEvent ;
- aState = theState ;
- return RetVal ;
-}
-
-bool Graph_Impl::EventW( SUPERV::CNode_out aNode ,
- SUPERV::GraphEvent & anEvent ,
- SUPERV::GraphState & aState ) {
-// beginService( "Graph_Impl::EventW" );
- bool RetVal = false ;
- char * aNodeName = NULL ;
- SUPERV::GraphEvent theEvent = SUPERV::UndefinedEvent ;
- SUPERV::GraphState theState = SUPERV::UndefinedState ;
- if ( pthread_mutex_lock( &_MutexExecutorWait ) ) {
- perror("pthread_mutex_lock _MutexExecutorWait") ;
- exit( 0 ) ;
- }
- if ( _DataFlowExecutor &&
- ( _DataFlowExecutor->GetListSize() || !DataFlowEditor()->IsEditing() ) ) {
- RetVal = _DataFlowExecutor->EventW( & aNodeName , theEvent , theState ) ;
- if ( RetVal && strcmp( aNodeName , Name() ) ) {
- aNode = Node( aNodeName ) ;
- }
- else {
- aNode = Node() ;
- }
- }
- if ( pthread_mutex_unlock( &_MutexExecutorWait ) ) {
- perror("pthread_mutex_unlock _MutexExecutorWait") ;
- exit( 0 ) ;
- }
- anEvent = theEvent ;
- aState = theState ;
-// endService( "Graph_Impl::EventW" );
- return RetVal ;
-}
-
-long Graph_Impl::EventQSize() {
-// beginService( "Graph_Impl::EventQSize" );
- long QSize = -1 ;
- if ( pthread_mutex_lock( &_MutexExecutorWait ) ) {
- perror("pthread_mutex_lock _MutexExecutorWait") ;
- exit( 0 ) ;
- }
- if ( _DataFlowExecutor ) {
- QSize = _DataFlowExecutor->EventQSize() ;
- }
- if ( pthread_mutex_unlock( &_MutexExecutorWait ) ) {
- perror("pthread_mutex_unlock _MutexExecutorWait") ;
- exit( 0 ) ;
- }
-// endService( "Graph_Impl::EventQSize" );
- return QSize ;
-}
-
-long Graph_Impl::LastLevelDone() {
-// beginService( "Graph_Impl::LastLevelDone" );
- if ( pthread_mutex_lock( &_MutexExecutorWait ) ) {
- perror("pthread_mutex_lock _MutexExecutorWait") ;
- exit( 0 ) ;
- }
- long RetVal = 0 ;
- if ( _DataFlowExecutor ) {
- RetVal = _DataFlowExecutor->LastLevelDone() ;
- }
- if ( pthread_mutex_unlock( &_MutexExecutorWait ) ) {
- perror("pthread_mutex_unlock _MutexExecutorWait") ;
- exit( 0 ) ;
- }
-// endService( "Graph_Impl::LastLevelDone" );
- return RetVal ;
-}
-
-long Graph_Impl::SubGraphsNumber() {
-// beginService( "Graph_Impl::SubGraphsNumber" );
- long RetVal = 0 ;
- if ( DataFlowEditor()->IsExecutable() ) {
- RetVal = DataFlowEditor()->SubGraphsNumber() ;
- }
-// endService( "Graph_Impl::SubGraphsNumber" );
- return RetVal ;
-}
-
-SUPERV::ListOfNodes * Graph_Impl::SubGraphsNodes( const long aSubGraphNumber ) {
- beginService( "Graph_Impl::SubGraphsNodes" );
- SUPERV::ListOfNodes_var RetVal = new SUPERV::ListOfNodes ;
- if ( DataFlowEditor()->IsEditing() ) {
- SUPERV::ListOfNodes * aGraphNodes = Nodes() ;
- int i ;
-// ComputingNodes
- for ( i = 0 ; i < (int ) aGraphNodes->CNodes.length() ; i++ ) {
- SUPERV::CNode_var aNode = (aGraphNodes->CNodes)[ i ] ;
- if ( aNode->SubGraph() == aSubGraphNumber ) {
- RetVal = SetNode( RetVal , DataFlowEditor()->Graph()->GetChangeGraphNode( aNode->Name() ) ) ;
- }
- }
-// FactoryNodes
- for ( i = 0 ; i < (int ) aGraphNodes->FNodes.length() ; i++ ) {
- SUPERV::FNode_var aNode = (aGraphNodes->FNodes)[ i ] ;
- if ( aNode->SubGraph() == aSubGraphNumber ) {
- RetVal = SetNode( RetVal , DataFlowEditor()->Graph()->GetChangeGraphNode( aNode->Name() ) ) ;
- }
- }
-// InLineNodes
- for ( i = 0 ; i < (int ) aGraphNodes->INodes.length() ; i++ ) {
- SUPERV::INode_var aNode = (aGraphNodes->INodes)[ i ] ;
- if ( aNode->SubGraph() == aSubGraphNumber ) {
- RetVal = SetNode( RetVal , DataFlowEditor()->Graph()->GetChangeGraphNode( aNode->Name() ) ) ;
- }
- }
-// GOTONodes
- for ( i = 0 ; i < (int ) aGraphNodes->GNodes.length() ; i++ ) {
- SUPERV::GNode_var aNode = (aGraphNodes->GNodes)[ i ] ;
- if ( aNode->SubGraph() == aSubGraphNumber ) {
- RetVal = SetNode( RetVal , DataFlowEditor()->Graph()->GetChangeGraphNode( aNode->Name() ) ) ;
- }
- }
-// LoopNodes
- for ( i = 0 ; i < (int ) aGraphNodes->LNodes.length() ; i++ ) {
- SUPERV::LNode_var aNode = (aGraphNodes->LNodes)[ i ] ;
- if ( aNode->SubGraph() == aSubGraphNumber ) {
- RetVal = SetNode( RetVal , DataFlowEditor()->Graph()->GetChangeGraphNode( aNode->Name() ) ) ;
- }
- }
-// EndLoopNodes
- for ( i = 0 ; i < (int ) aGraphNodes->ELNodes.length() ; i++ ) {
- SUPERV::ELNode_var aNode = (aGraphNodes->ELNodes)[ i ] ;
- if ( aNode->SubGraph() == aSubGraphNumber ) {
- RetVal = SetNode( RetVal , DataFlowEditor()->Graph()->GetChangeGraphNode( aNode->Name() ) ) ;
- }
- }
-// SwitchNodes
- for ( i = 0 ; i < (int ) aGraphNodes->SNodes.length() ; i++ ) {
- SUPERV::SNode_var aNode = (aGraphNodes->SNodes)[ i ] ;
- if ( aNode->SubGraph() == aSubGraphNumber ) {
- RetVal = SetNode( RetVal , DataFlowEditor()->Graph()->GetChangeGraphNode( aNode->Name() ) ) ;
- }
- }
-// EndSwitchNodes
- for ( i = 0 ; i < (int ) aGraphNodes->ESNodes.length() ; i++ ) {
- SUPERV::ESNode_var aNode = (aGraphNodes->ESNodes)[ i ] ;
- if ( aNode->SubGraph() == aSubGraphNumber ) {
- RetVal = SetNode( RetVal , DataFlowEditor()->Graph()->GetChangeGraphNode( aNode->Name() ) ) ;
- }
- }
- }
- endService( "Graph_Impl::SubGraphsNodes" );
- return ( RetVal._retn() ) ;
-}
-
-bool Graph_Impl::Merge(const SUPERV::Graph_ptr aGraph ) {
-// beginService( "Graph_Impl::Merge" );
- bool RetVal = true ;
- map< string , int > aMapOfNodes ;
- RetVal = Merge( aGraph , aMapOfNodes ) ;
-// endService( "Graph_Impl::Merge" );
- return RetVal ;
-}
-
-bool Graph_Impl::Merge(const SUPERV::Graph_ptr aGraph , map< string , int > & aMapOfNodes ) {
- beginService( "Graph_Impl::Merge" );
- bool RetVal = true ;
- if ( DataFlowEditor()->IsEditing() ) {
- SUPERV::ListOfNodes * aGraphNodes = aGraph->Nodes() ;
- int i ;
- SUPERV::Port_ptr aPort ;
-// SUPERV::StreamPort_ptr aStreamPort ;
-// ComputingNodes
- for ( i = 0 ; i < (int ) aGraphNodes->CNodes.length() ; i++ ) {
- SUPERV::CNode_var aNode = (aGraphNodes->CNodes)[ i ] ;
- SUPERV::CNode_ptr myNode = CNode( *(aNode->Service()) ) ;
- if ( !CORBA::is_nil( myNode ) ) {
- myNode->SetName( aNode->Name() ) ;
- myNode->SetAuthor( aNode->Author() ) ;
- myNode->SetComment( aNode->Comment() ) ;
- myNode->Coords( aNode->X() , aNode->Y() ) ;
- string * aNodetheName = new string( aNode->Name() ) ;
- aMapOfNodes[ *aNodetheName ] = DataFlowEditor()->Graph()->GetGraphNodeIndex( myNode->Name() ) ;
- delete aNodetheName ;
- RetVal = true ;
- }
- else {
- RetVal = false ;
- break ;
- }
-// The following informations are now in the service from SALOME_ModuleCatalog
-// SUPERV::ListOfStreamPorts myStreamPorts = *(aNode->StreamPorts()) ;
-// int j ;
-// for ( j = 0 ; j < (int ) myStreamPorts.length() ; j++ ) {
-// if ( myStreamPorts[ j ]->IsInput() && myStreamPorts[ j ]->IsDataStream() ) {
-// aStreamPort = myNode->InStreamPort( myStreamPorts[ j ]->Name() , myStreamPorts[ j ]->Type() ) ;
-// }
-// else if ( myStreamPorts[ j ]->IsDataStream() ) {
-// aStreamPort = myNode->OutStreamPort( myStreamPorts[ j ]->Name() , myStreamPorts[ j ]->Type() ) ;
-// }
-// }
- }
-// FactoryNodes
- if ( RetVal ) {
- for ( i = 0 ; i < (int ) aGraphNodes->FNodes.length() ; i++ ) {
- SUPERV::FNode_var aNode = (aGraphNodes->FNodes)[ i ] ;
- SUPERV::FNode_ptr myNode = FNode( aNode->GetComponentName() ,
- aNode->GetInterfaceName() ,
- *(aNode->Service()) ) ;
- if ( !CORBA::is_nil( myNode ) ) {
- myNode->SetName( aNode->Name() ) ;
- myNode->SetAuthor( aNode->Author() ) ;
- myNode->SetComment( aNode->Comment() ) ;
- myNode->Coords( aNode->X() , aNode->Y() ) ;
- string * aNodetheName = new string( aNode->Name() ) ;
- aMapOfNodes[ *aNodetheName ] = DataFlowEditor()->Graph()->GetGraphNodeIndex( myNode->Name() ) ;
- delete aNodetheName ;
- RetVal = true ;
- }
- else {
- RetVal = false ;
- break ;
- }
-// The following informations are now in the service from SALOME_ModuleCatalog
-// SUPERV::ListOfStreamPorts myStreamPorts = *(aNode->StreamPorts()) ;
-// int j ;
-// for ( j = 0 ; j < (int ) myStreamPorts.length() ; j++ ) {
-// if ( myStreamPorts[ j ]->IsInput() && myStreamPorts[ j ]->IsDataStream() ) {
-// aStreamPort = myNode->InStreamPort( myStreamPorts[ j ]->Name() , myStreamPorts[ j ]->Type() ) ;
-// }
-// else if ( myStreamPorts[ j ]->IsDataStream() ) {
-// aStreamPort = myNode->OutStreamPort( myStreamPorts[ j ]->Name() , myStreamPorts[ j ]->Type() ) ;
-// }
-// }
- }
- }
-// InLineNodes
- if ( RetVal ) {
- for ( i = 0 ; i < (int ) aGraphNodes->INodes.length() ; i++ ) {
- SUPERV::INode_var aNode = (aGraphNodes->INodes)[ i ] ;
- SUPERV::INode_ptr myNode = INode( aNode->PyFuncName() , *(aNode->PyFunction()) ) ;
- if ( !CORBA::is_nil( myNode ) ) {
- myNode->SetName( aNode->Name() ) ;
- myNode->SetAuthor( aNode->Author() ) ;
- myNode->SetComment( aNode->Comment() ) ;
- myNode->Coords( aNode->X() , aNode->Y() ) ;
- string * aNodetheName = new string( aNode->Name() ) ;
- aMapOfNodes[ *aNodetheName ] = DataFlowEditor()->Graph()->GetGraphNodeIndex( myNode->Name() ) ;
- delete aNodetheName ;
- SUPERV::ListOfPorts myPorts = *(aNode->Ports()) ;
- int j ;
- for ( j = 0 ; j < (int ) myPorts.length() ; j++ ) {
- if ( myPorts[ j ]->IsInput() ) {
- aPort = myNode->InPort( myPorts[ j ]->Name() , myPorts[ j ]->Type() ) ;
- }
- else {
- aPort = myNode->OutPort( myPorts[ j ]->Name() , myPorts[ j ]->Type() ) ;
- }
- }
- if ( DataFlowEditor()->Graph()->IsDataStreamNode() ) {
- SUPERV::ListOfStreamPorts myStreamPorts = *(aNode->StreamPorts()) ;
- for ( j = 0 ; j < (int ) myStreamPorts.length() ; j++ ) {
- if ( myStreamPorts[ j ]->IsInput() ) {
- aPort = myNode->InStreamPort( myStreamPorts[ j ]->Name() , StringToDataStreamType( myStreamPorts[ j ]->Type() ) , myStreamPorts[ j ]->Dependency() ) ;
- }
- else {
- aPort = myNode->OutStreamPort( myStreamPorts[ j ]->Name() , StringToDataStreamType( myStreamPorts[ j ]->Type() ) , myStreamPorts[ j ]->Dependency() ) ;
- }
- }
- }
- RetVal = true ;
- }
- else {
- RetVal = false ;
- break ;
- }
- }
- }
-// GOTONodes
- if ( RetVal ) {
- for ( i = 0 ; i < (int ) aGraphNodes->GNodes.length() ; i++ ) {
- SUPERV::GNode_var aNode = (aGraphNodes->GNodes)[ i ] ;
- SUPERV::GNode_ptr myNode = GNode( aNode->PyFuncName() , *(aNode->PyFunction()) , aNode->Coupled()->Name() ) ;
- if ( !CORBA::is_nil( myNode ) ) {
- myNode->SetName( aNode->Name() ) ;
- myNode->SetAuthor( aNode->Author() ) ;
- myNode->SetComment( aNode->Comment() ) ;
- myNode->Coords( aNode->X() , aNode->Y() ) ;
- string * aNodetheName = new string( aNode->Name() ) ;
- aMapOfNodes[ *aNodetheName ] = DataFlowEditor()->Graph()->GetGraphNodeIndex( myNode->Name() ) ;
- delete aNodetheName ;
- SUPERV::ListOfPorts myPorts = *(aNode->Ports()) ;
- int j ;
- for ( j = 0 ; j < (int ) myPorts.length() ; j++ ) {
- if ( myPorts[ j ]->IsInput() ) {
- aPort = myNode->InPort( myPorts[ j ]->Name() , myPorts[ j ]->Type() ) ;
- }
- else {
- aPort = myNode->OutPort( myPorts[ j ]->Name() , myPorts[ j ]->Type() ) ;
- }
- }
- if ( DataFlowEditor()->Graph()->IsDataStreamNode() ) {
- SUPERV::ListOfStreamPorts myStreamPorts = *(aNode->StreamPorts()) ;
- for ( j = 0 ; j < (int ) myStreamPorts.length() ; j++ ) {
- if ( myStreamPorts[ j ]->IsInput() ) {
- aPort = myNode->InStreamPort( myStreamPorts[ j ]->Name() , StringToDataStreamType( myStreamPorts[ j ]->Type() ) , myStreamPorts[ j ]->Dependency() ) ;
- }
- else {
- aPort = myNode->OutStreamPort( myStreamPorts[ j ]->Name() , StringToDataStreamType( myStreamPorts[ j ]->Type() ) , myStreamPorts[ j ]->Dependency() ) ;
- }
- }
- }
- RetVal = true ;
- }
- else {
- RetVal = false ;
- break ;
- }
- }
- }
-// LoopNodes
- if ( RetVal ) {
- for ( i = 0 ; i < (int ) aGraphNodes->LNodes.length() ; i++ ) {
- SUPERV::LNode_var aNode = (aGraphNodes->LNodes)[ i ] ;
- SUPERV::INode_ptr anEndOfLoop ;
- SUPERV::LNode_ptr myNode = LNode( aNode->PyInitName() ,
- *(aNode->PyInit()) ,
- aNode->PyMoreName() ,
- *(aNode->PyMore()) ,
- aNode->PyNextName() ,
- *(aNode->PyNext()) ,
- anEndOfLoop ) ;
- if ( !CORBA::is_nil( myNode ) ) {
- myNode->SetName( aNode->Name() ) ;
- myNode->SetAuthor( aNode->Author() ) ;
- myNode->SetComment( aNode->Comment() ) ;
- myNode->Coords( aNode->X() , aNode->Y() ) ;
- string * aNodetheName = new string( aNode->Name() ) ;
- aMapOfNodes[ *aNodetheName ] = DataFlowEditor()->Graph()->GetGraphNodeIndex( myNode->Name() ) ;
- delete aNodetheName ;
- SUPERV::ListOfPorts myPorts = *(aNode->Ports()) ;
- int j ;
- for ( j = 0 ; j < (int ) myPorts.length() ; j++ ) {
- if ( myPorts[ j ]->IsInput() ) {
- aPort = myNode->InPort( myPorts[ j ]->Name() , myPorts[ j ]->Type() ) ;
- }
- else {
- aPort = myNode->OutPort( myPorts[ j ]->Name() , myPorts[ j ]->Type() ) ;
- }
- }
- if ( DataFlowEditor()->Graph()->IsDataStreamNode() ) {
- SUPERV::ListOfStreamPorts myStreamPorts = *(aNode->StreamPorts()) ;
- for ( j = 0 ; j < (int ) myStreamPorts.length() ; j++ ) {
- if ( myStreamPorts[ j ]->IsInput() ) {
- aPort = myNode->InStreamPort( myStreamPorts[ j ]->Name() , StringToDataStreamType( myStreamPorts[ j ]->Type() ) , myStreamPorts[ j ]->Dependency() ) ;
- }
- else {
- aPort = myNode->OutStreamPort( myStreamPorts[ j ]->Name() , StringToDataStreamType( myStreamPorts[ j ]->Type() ) , myStreamPorts[ j ]->Dependency() ) ;
- }
- }
- }
- SUPERV::INode_ptr myEndOfLoop = aNode->Coupled() ;
- anEndOfLoop->SetName( myEndOfLoop->Name() ) ;
- anEndOfLoop->SetAuthor( myEndOfLoop->Author() ) ;
- anEndOfLoop->SetComment( myEndOfLoop->Comment() ) ;
- anEndOfLoop->Coords( myEndOfLoop->X() , myEndOfLoop->Y() ) ;
- anEndOfLoop->SetPyFunction( myEndOfLoop->PyFuncName() , *(myEndOfLoop->PyFunction()) ) ;
- aNodetheName = new string( myEndOfLoop->Name() ) ;
- aMapOfNodes[ *aNodetheName ] = DataFlowEditor()->Graph()->GetGraphNodeIndex( anEndOfLoop->Name() ) ;
- if ( DataFlowEditor()->Graph()->IsDataStreamNode() ) {
- SUPERV::ListOfStreamPorts myStreamLoopPorts = *(myEndOfLoop->StreamPorts()) ;
- for ( j = 0 ; j < (int ) myStreamLoopPorts.length() ; j++ ) {
- if ( myStreamLoopPorts[ j ]->IsInput() ) {
- aPort = myNode->InStreamPort( myStreamLoopPorts[ j ]->Name() , StringToDataStreamType( myStreamLoopPorts[ j ]->Type() ) , myStreamLoopPorts[ j ]->Dependency() ) ;
- }
- else {
- aPort = myNode->OutStreamPort( myStreamLoopPorts[ j ]->Name() , StringToDataStreamType( myStreamLoopPorts[ j ]->Type() ) , myStreamLoopPorts[ j ]->Dependency() ) ;
- }
- }
- }
- delete aNodetheName ;
- RetVal = true ;
- }
- else {
- RetVal = false ;
- break ;
- }
- }
- }
-// SwitchNodes
- if ( RetVal ) {
- for ( i = 0 ; i < (int ) aGraphNodes->SNodes.length() ; i++ ) {
- SUPERV::SNode_var aNode = (aGraphNodes->SNodes)[ i ] ;
- SUPERV::INode_ptr anEndOfSwitch ;
- SUPERV::SNode_ptr myNode = SNode( aNode->PyFuncName() , *(aNode->PyFunction()) , anEndOfSwitch ) ;
- if ( !CORBA::is_nil( myNode ) ) {
- myNode->SetName( aNode->Name() ) ;
- myNode->SetAuthor( aNode->Author() ) ;
- myNode->SetComment( aNode->Comment() ) ;
- myNode->Coords( aNode->X() , aNode->Y() ) ;
- string * aNodetheName = new string( aNode->Name() ) ;
- aMapOfNodes[ *aNodetheName ] = DataFlowEditor()->Graph()->GetGraphNodeIndex( myNode->Name() ) ;
- delete aNodetheName ;
- SUPERV::ListOfPorts myPorts = *(aNode->Ports()) ;
- int j ;
- for ( j = 0 ; j < (int ) myPorts.length() ; j++ ) {
- if ( myPorts[ j ]->IsInput() ) {
- aPort = myNode->InPort( myPorts[ j ]->Name() , myPorts[ j ]->Type() ) ;
- }
- else {
- aPort = myNode->OutPort( myPorts[ j ]->Name() , myPorts[ j ]->Type() ) ;
- }
- }
- if ( DataFlowEditor()->Graph()->IsDataStreamNode() ) {
- SUPERV::ListOfStreamPorts myStreamPorts = *(aNode->StreamPorts()) ;
- for ( j = 0 ; j < (int ) myStreamPorts.length() ; j++ ) {
- if ( myStreamPorts[ j ]->IsInput() ) {
- aPort = myNode->InStreamPort( myStreamPorts[ j ]->Name() , StringToDataStreamType( myStreamPorts[ j ]->Type() ) , myStreamPorts[ j ]->Dependency() ) ;
- }
- else {
- aPort = myNode->OutStreamPort( myStreamPorts[ j ]->Name() , StringToDataStreamType( myStreamPorts[ j ]->Type() ) , myStreamPorts[ j ]->Dependency() ) ;
- }
- }
- }
- SUPERV::INode_ptr myEndOfSwitch = aNode->Coupled() ;
- anEndOfSwitch->SetName( myEndOfSwitch->Name() ) ;
- anEndOfSwitch->SetAuthor( myEndOfSwitch->Author() ) ;
- anEndOfSwitch->SetComment( myEndOfSwitch->Comment() ) ;
- anEndOfSwitch->Coords( myEndOfSwitch->X() , myEndOfSwitch->Y() ) ;
- anEndOfSwitch->SetPyFunction( myEndOfSwitch->PyFuncName() , *(myEndOfSwitch->PyFunction()) ) ;
- aNodetheName = new string( myEndOfSwitch->Name() ) ;
- aMapOfNodes[ *aNodetheName ] = DataFlowEditor()->Graph()->GetGraphNodeIndex( anEndOfSwitch->Name() ) ;
- delete aNodetheName ;
- myPorts = *(myEndOfSwitch->Ports()) ;
- for ( j = 0 ; j < (int ) myPorts.length() ; j++ ) {
- if ( myPorts[ j ]->IsInput() ) {
- aPort = myNode->InPort( myPorts[ j ]->Name() , myPorts[ j ]->Type() ) ;
- }
- else {
- aPort = myNode->OutPort( myPorts[ j ]->Name() , myPorts[ j ]->Type() ) ;
- }
- }
- if ( DataFlowEditor()->Graph()->IsDataStreamNode() ) {
- SUPERV::ListOfStreamPorts myStreamSwitchPorts = *(myEndOfSwitch->StreamPorts()) ;
- for ( j = 0 ; j < (int ) myStreamSwitchPorts.length() ; j++ ) {
- if ( myStreamSwitchPorts[ j ]->IsInput() ) {
- aPort = myNode->InStreamPort( myStreamSwitchPorts[ j ]->Name() , StringToDataStreamType( myStreamSwitchPorts[ j ]->Type() ) , myStreamSwitchPorts[ j ]->Dependency() ) ;
- }
- else {
- aPort = myNode->OutStreamPort( myStreamSwitchPorts[ j ]->Name() , StringToDataStreamType( myStreamSwitchPorts[ j ]->Type() ) , myStreamSwitchPorts[ j ]->Dependency() ) ;
- }
- }
- }
- RetVal = true ;
- }
- else {
- RetVal = false ;
- break ;
- }
- }
- }
- if ( RetVal ) {
- SUPERV::ListOfLinks * aGraphLinks = aGraph->GLinks() ;
- SUPERV::ListOfPorts * aGraphPorts = aGraph->Ports() ;
-// cout << "Graph_Impl::Merge " << aGraphLinks->length() << " links " << aGraphPorts->length() << " GraphPorts"
-// << endl ;
- for ( i = 0 ; i < (int ) aGraphLinks->length() ; i++ ) {
- SUPERV::Link_var aLink = (*aGraphLinks)[ i ] ;
- SUPERV::Port_var OutPort = aLink->OutPort() ;
- SUPERV::Port_var InPort = aLink->InPort() ;
- string * aLinkFromNodeName = new string( OutPort->Node()->Name() ) ;
- string * aLinkToNodeName = new string( InPort->Node()->Name() ) ;
- RetVal = DataFlowEditor()->AddLink( DataFlowEditor()->Graph()->GetGraphNode( aMapOfNodes[ aLinkFromNodeName->c_str() ] )->Name() ,
- OutPort->Name() ,
- DataFlowEditor()->Graph()->GetGraphNode( aMapOfNodes[ aLinkToNodeName->c_str() ] )->Name() ,
- InPort->Name() ) ;
- if ( RetVal ) {
- int j ;
- for ( j = 1 ; j <= aLink->CoordsSize() ; j++ ) {
- long X , Y ;
- RetVal = aLink->Coords( j , X , Y ) ;
- if ( !RetVal )
- break ;
- RetVal = DataFlowEditor()->AddLinkCoord( DataFlowEditor()->Graph()->GetGraphNode( aMapOfNodes[ aLinkFromNodeName->c_str() ] )->Name() ,
- OutPort->Name() ,
- DataFlowEditor()->Graph()->GetGraphNode( aMapOfNodes[ aLinkToNodeName->c_str() ] )->Name() ,
- InPort->Name() ,
- j , X , Y ) ;
- if ( !RetVal ) {
- break ;
- }
- }
- }
- delete aLinkFromNodeName ;
- delete aLinkToNodeName ;
- if ( !RetVal ) {
- break ;
- }
- }
- if ( RetVal ) {
- for ( i = 0 ; i < (int ) aGraphPorts->length() ; i++ ) {
- SUPERV::Port_var aPort = (*aGraphPorts)[ i ] ;
- if ( !aPort->IsGate() ) {
- MESSAGE( "Graph_Impl::Merge " << i << ". " << aPort->Node()->Name() << " " << aPort->Name() ) ;
- char * aPortName = aPort->Name() ;
- char * aNodeName = new char[ strlen( aPortName ) + 1 ] ;
- strcpy( aNodeName , aPortName ) ;
- char * thePortName = strchr( aNodeName , '\\' ) ;
- thePortName[ 0 ] = '\0' ;
- bool hasinput = aGraph->Node( aNodeName )->Port( thePortName + 1 )->HasInput() ;
-// cout << "Graph_Impl::Merge " << " aNodeName " << aNodeName << " aPort " << thePortName + 1
-// << " HasInput " << hasinput << endl ;
- if ( hasinput ) {
- RetVal = DataFlowEditor()->AddInputData( DataFlowEditor()->Graph()->GetGraphNode( aMapOfNodes[ aNodeName ] )->Name() ,
- thePortName + 1 ,
- *(aPort->ToAny()) ) ;
- }
- delete [] aNodeName ;
- if ( !RetVal ) {
- break ;
- }
- }
- }
- }
- }
- }
- MESSAGE( "Graph_Impl::Merge returns " << RetVal ) ;
- endService( "Graph_Impl::Merge" );
- return RetVal ;
-}
-
-SUPERV::StreamGraph_ptr Graph_Impl::ToStreamGraph() {
- SUPERV::StreamGraph_var iobject = SUPERV::StreamGraph::_nil() ;
- beginService( "Graph_Impl::ToStreamGraph" );
- if ( IsStreamGraph() ) {
-// StreamGraph_Impl * myStreamGraph = new StreamGraph_Impl( _Orb , _Poa , _ContId ,
-// instanceName() , interfaceName() ) ;
-// PortableServer::ObjectId * id = myStreamGraph->getId() ;
-// CORBA::Object_var obj = _poa->id_to_reference(*id);
- iobject = SUPERV::StreamGraph::_narrow( ObjRef() ) ;
- if ( CORBA::is_nil( iobject ) ) {
- MESSAGE( "ToStreamGraph of " << Name() << " (IsStreamGraph) --> nil reference" ) ;
- }
- }
- else {
- MESSAGE( "ToStreamGraph of " << Name() << " (IsNOTStreamGraph) --> nil reference" ) ;
- }
- endService( "Graph_Impl::ToStreamGraph" );
- return SUPERV::StreamGraph::_duplicate( iobject ) ;
-}
-
-
+++ /dev/null
-// SUPERV Supervision : contains the implementation of interfaces of SuperVision described in SUPERV.idl
-//
-// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
-// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
-//
-// This library is free software; you can redistribute it and/or
-// modify it under the terms of the GNU Lesser General Public
-// License as published by the Free Software Foundation; either
-// version 2.1 of the License.
-//
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-// Lesser General Public License for more details.
-//
-// You should have received a copy of the GNU Lesser General Public
-// License along with this library; if not, write to the Free Software
-// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-//
-// See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
-//
-//
-//
-// File : Graph_Impl.hxx
-// Author : Jean Rahuel
-// Module : SUPERV
-// $Header:
-
-#ifndef _GRAPH_IMPL_HXX_
-#define _GRAPH_IMPL_HXX_
-
-//#include <iostream.h>
-
-#include "CORBA.h"
-
-#include <SALOMEconfig.h>
-#include "SALOME_Component_i.hxx"
-#include "SALOME_LifeCycleCORBA.hxx"
-
-#include "StreamLink_Impl.hxx"
-#include "FNode_Impl.hxx"
-#include "GNode_Impl.hxx"
-#include "LNode_Impl.hxx"
-#include "ELNode_Impl.hxx"
-#include "SNode_Impl.hxx"
-#include "ESNode_Impl.hxx"
-
-#include "DataFlowEditor_DataFlow.hxx"
-#include "DataFlowExecutor_DataFlow.hxx"
-
-class Graph_Impl :public INode_Impl ,
- public POA_SUPERV::Graph {
- private:
-
- CORBA::ORB_ptr _Orb ;
- PortableServer::POA_ptr _Poa ;
- PortableServer::ObjectId * _ContId ;
-
- SALOME_NamingService * _NamingService ;
- char * _DebugFileName ;
-
- pthread_mutex_t _MutexExecutorWait ;
- GraphExecutor::DataFlow * _DataFlowExecutor ;
-
- SUPERV::Graph_var myServant; // mpv 23.12.2002: store servant of graph to get constant IOR
-
- public:
- Graph_Impl();
- Graph_Impl( CORBA::ORB_ptr orb ,
- PortableServer::POA_ptr poa ,
- PortableServer::ObjectId * contId ,
- const char *instanceName ,
- const char *interfaceName ,
- const char *aDataFlowName ,
- const SUPERV::KindOfNode aKindOfNode ) ;
- virtual SUPERV::Graph_ptr Copy() ;
-
- virtual ~Graph_Impl() ;
- virtual void destroy() ;
-
- virtual char* getIOR();
-
- virtual void ReadOnly() ;
-
- virtual SUPERV::INode_ptr Node() ;
-
-// virtual char * DataFlowInfo() ;
-// virtual char * DataNodeInfo() ;
-// virtual char * NodeInfo( const char * aNodeName ) ;
-
- virtual GraphBase::SGraph * GetGraph() ;
-
- virtual bool LoadGraph(const GraphBase::SGraph *aGraph ) ;
- virtual bool Import(const char * aXmlFile ) ;
-
- virtual bool Export(const char * aXmlFile ) ;
-
- virtual SUPERV::CNode_ptr CNode(
- const SALOME_ModuleCatalog::Service &NodeService ) ;
- virtual SUPERV::FNode_ptr FNode(
- const char * NodeComponentName ,
- const char * InterfaceName ,
- const SALOME_ModuleCatalog::Service &NodeService ) ;
- virtual SUPERV::INode_ptr INode(
- const char * FuncName ,
- const SUPERV::ListOfStrings & PythonFunction ) ;
- virtual SUPERV::GNode_ptr GNode(
- const char * FuncName ,
- const SUPERV::ListOfStrings & PythonFunction ,
- const char * anInLineNode ) ;
- virtual SUPERV::LNode_ptr LNode(
- const char * InitName ,
- const SUPERV::ListOfStrings & InitFunction ,
- const char * MoreName ,
- const SUPERV::ListOfStrings & MoreFunction ,
- const char * NextName ,
- const SUPERV::ListOfStrings & NextFunction ,
- SUPERV::INode_out anEndOfLoop ) ;
- virtual SUPERV::SNode_ptr SNode(
- const char * FuncName ,
- const SUPERV::ListOfStrings & PythonFunction ,
- SUPERV::INode_out anEndOfSwitch ) ;
-
- virtual SUPERV::CNode_ptr Node( const char * NodeName );
-
- virtual SUPERV::Link_ptr Link( SUPERV::Port_ptr OutPort ,
- SUPERV::Port_ptr InPort ) ;
-
- virtual SUPERV::ListOfNodes_var Graph_Impl::SetNode( SUPERV::ListOfNodes_var RetVal ,
- GraphBase::ComputingNode * aNode ) ;
- virtual SUPERV::ListOfNodes * Nodes() ;
- virtual void SetNodeObjRef( GraphEditor::InNode * anInNode ) ;
-
- virtual SUPERV::ListOfLinks * GLinks() ;
- virtual SUPERV::ListOfLinks * Links( GraphBase::ComputingNode * aNode ,
- const char * anInputParam ) ;
-
- virtual Engines::Component_ptr ComponentRef( const char * aComputerContainer ,
- const char * aComponentName ) ;
-
- virtual bool IsValid() ;
- virtual bool IsExecutable() ;
-
- virtual bool IsEditing() ;
- virtual bool IsExecuting() ;
-
- virtual bool IsReadOnly() ;
-
- virtual long LevelMax() ;
- virtual SUPERV::ListOfNodes * LevelNodes(long aLevel ) ;
- virtual long ThreadsMax() ;
- virtual long Threads() ;
- virtual long SuspendedThreads() ;
-
- virtual bool Begin() ;
- virtual bool Run() ;
- virtual bool Start() ;
- virtual long LastLevelDone() ;
-
- virtual bool EventNoW( SUPERV::CNode_out aNode ,
- SUPERV::GraphEvent & anEvent ,
- SUPERV::GraphState & aState ) ;
- virtual bool Event( SUPERV::CNode_out aNode ,
- SUPERV::GraphEvent & anEvent ,
- SUPERV::GraphState & aState ) ;
- virtual bool EventW( SUPERV::CNode_out aNode ,
- SUPERV::GraphEvent & anEvent ,
- SUPERV::GraphState & aState ) ;
- virtual long EventQSize() ;
-
- virtual long SubGraphsNumber() ;
- virtual SUPERV::ListOfNodes * SubGraphsNodes( const long aSubGraphNumber ) ;
-
- virtual bool Merge(const SUPERV::Graph_ptr aGraph ) ;
- virtual bool Merge(const SUPERV::Graph_ptr aGraph , map< string , int > & aMapOfNodes ) ;
-
- virtual SUPERV::StreamGraph_ptr ToStreamGraph() ;
-
-};
-
-
-#endif
+++ /dev/null
-// SUPERV Supervision : contains the implementation of interfaces of SuperVision described in SUPERV.idl
-//
-// Copyright (C) 2003 CEA/DEN, EDF R&D
-//
-//
-//
-// File : INode_Impl.cxx
-// Author : Jean Rahuel
-// Module : SUPERV
-// $Header:
-
-using namespace std;
-#include <stdio.h>
-#include <fstream>
-//#include <sstream>
-#include <string>
-
-//#include "utilities.h"
-
-#include "LNode_Impl.hxx"
-
-INode_Impl::INode_Impl( CORBA::ORB_ptr orb ,
- PortableServer::POA_ptr poa ,
- PortableServer::ObjectId * contId ,
- const char *instanceName ,
- const char *interfaceName ,
- const char *aDataFlowName ) :
-// Engines_Component_i(orb, poa, contId, instanceName, interfaceName, false, false) {
- CNode_Impl( orb , poa , contId , instanceName , interfaceName , aDataFlowName ) {
-// MESSAGE("INode_Impl::INode_Impl activate object instanceName("
-// << instanceName << ") interfaceName(" << interfaceName << ") --> "
-// << hex << (void *) this << dec )
-// _thisObj = this ;
-// _id = _poa->activate_object(_thisObj);
- MESSAGE( "INode_Impl::INode_Impl " << aDataFlowName );
- beginService( "INode_Impl::INode_Impl" );
- _Orb = CORBA::ORB::_duplicate(orb);
- _Poa = poa ;
- _ContId = contId ;
- endService( "INode_Impl::INode_Impl" );
-}
-
-INode_Impl::INode_Impl() {
-}
-
-INode_Impl::INode_Impl( CORBA::ORB_ptr orb ,
- PortableServer::POA_ptr poa ,
- PortableServer::ObjectId * contId ,
- const char *instanceName ,
- const char *interfaceName ,
- GraphEditor::DataFlow * aDataFlowEditor ,
- const char * FuncName ,
- const SUPERV::ListOfStrings & aPythonFunction ,
- const SUPERV::KindOfNode NodeKindOfNode ) :
-// Engines_Component_i(orb, poa, contId, instanceName, interfaceName, false, false) {
- CNode_Impl( orb , poa , contId , instanceName , interfaceName , aDataFlowEditor , SALOME_ModuleCatalog::Service() , FuncName , NodeKindOfNode , FuncName , aPythonFunction ) {
- beginService( "INode_Impl::INode_Impl" );
- if ( FuncName ) {
-// cout << "INode_Impl::CNode_Impl " << (void *) FuncName << " " << FuncName
-// << " " << strlen( FuncName ) << endl ;
- }
- if ( NodeKindOfNode == SUPERV::InLineNode ) {
- MESSAGE( "INode_Impl::INode_Impl " << FuncName << " _poa->activate_object" );
- _thisObj = this ;
- _id = _poa->activate_object(_thisObj);
- }
- MESSAGE("INode_Impl::INode_Impl " << FuncName << " " << strlen( FuncName ) ) ;
- _Orb = CORBA::ORB::_duplicate(orb);
- _Poa = poa ;
- _ContId = contId ;
-// DataFlowNode()->SetPythonFunction( FuncName , aPythonFunction ) ;
- endService( "INode_Impl::INode_Impl" );
-}
-
-INode_Impl::INode_Impl( CORBA::ORB_ptr orb ,
- PortableServer::POA_ptr poa ,
- PortableServer::ObjectId * contId ,
- const char *instanceName ,
- const char *interfaceName ,
- GraphEditor::DataFlow * aDataFlowEditor ,
- const GraphBase::ListOfFuncName FuncName ,
- const GraphBase::ListOfPythonFunctions aPythonFunction ,
- const SUPERV::KindOfNode NodeKindOfNode ) :
-// Engines_Component_i(orb, poa, contId, instanceName, interfaceName, false, false) {
- CNode_Impl( orb , poa , contId , instanceName , interfaceName , aDataFlowEditor , SALOME_ModuleCatalog::Service() , FuncName[0].c_str() , NodeKindOfNode , FuncName , aPythonFunction ) {
- beginService( "INode_Impl::INode_Impl" );
- if ( NodeKindOfNode == SUPERV::InLineNode ) {
- MESSAGE( "INode_Impl::INode_Impl " << FuncName[0] << " _poa->activate_object" );
- _thisObj = this ;
- _id = _poa->activate_object(_thisObj);
- }
- MESSAGE("INode_Impl::INode_Impl " << FuncName[0].c_str() << " " << strlen( FuncName[0].c_str() ) ) ;
- _Orb = CORBA::ORB::_duplicate(orb);
- _Poa = poa ;
- _ContId = contId ;
-// DataFlowNode()->SetPythonFunction( FuncName , aPythonFunction ) ;
- endService( "INode_Impl::INode_Impl" );
-}
-
-INode_Impl::INode_Impl( CORBA::ORB_ptr orb ,
- PortableServer::POA_ptr poa ,
- PortableServer::ObjectId * contId ,
- const char *instanceName ,
- const char *interfaceName ,
- GraphEditor::DataFlow * aDataFlowEditor ,
- GraphEditor::InNode * aDataFlowNode ) :
-// Engines_Component_i(orb, poa, contId, instanceName, interfaceName, false, false) {
- CNode_Impl( orb , poa , contId , instanceName , interfaceName , aDataFlowEditor , aDataFlowNode ) {
- MESSAGE( DataFlowNode()->Name() << " " );
- beginService( "INode_Impl::INode_Impl" );
- if ( DataFlowNode()->IsInLineNode() ) {
- MESSAGE( "INode_Impl::INode_Impl " << DataFlowNode()->PyFuncName()
- << " _poa->activate_object" );
- _thisObj = this ;
- _id = _poa->activate_object(_thisObj);
- }
- _Orb = CORBA::ORB::_duplicate(orb);
- _Poa = poa ;
- _ContId = contId ;
- endService( "INode_Impl::INode_Impl" );
-}
-
-INode_Impl::~INode_Impl() {
- beginService( "INode_Impl::~INode_Impl" );
- endService( "INode_Impl::~INode_Impl" );
-}
-
-void INode_Impl::destroy() {
- beginService( "INode_Impl::Destroy" );
- if ( DataFlowEditor()->IsEditing() ) {
- if ( Delete() ) {
- _poa->deactivate_object(*_id) ;
- CORBA::release(_poa) ;
- delete(_id) ;
- _thisObj->_remove_ref();
- }
- }
- endService( "INode_Impl::Destroy" );
-}
-
-bool INode_Impl::Delete() {
-// beginService( "INode_Impl::Delete" );
- bool RetVal = false ;
- if ( DataFlowEditor()->IsEditing() ) {
- RetVal = DataFlowEditor()->RemoveNode( Name() ) ;
- if ( RetVal )
- RetVal = DataFlowEditor()->UnValid() ;
- }
-// endService( "INode_Impl::Delete" );
- return RetVal ;
-}
-
-void INode_Impl::SetPyFunction( const char * FuncName ,
- const SUPERV::ListOfStrings & aPyFunction ) {
- beginService( "INode_Impl::SetPyFunction" );
- if ( DataFlowEditor()->IsEditing() ) {
- DataFlowNode()->SetPythonFunction( FuncName , aPyFunction ) ;
- }
- endService( "INode_Impl::SetPyFunction" );
- return ;
-}
-
-SUPERV::ListOfStrings * INode_Impl::PyFunction() {
- beginService( "INode_Impl::PyFunction" );
- SUPERV::ListOfStrings * aPyFunc = NULL ;
- if ( DataFlowEditor()->IsEditing() ) {
- aPyFunc = new SUPERV::ListOfStrings( *DataFlowNode()->PythonFunction() ) ;
- }
- else {
- aPyFunc = new SUPERV::ListOfStrings() ;
- }
- endService( "INode_Impl::PyFunction" );
- return aPyFunc ;
-}
-
-char * INode_Impl::PyFuncName() {
- return CORBA::string_dup( DataFlowNode()->PyFuncName() ) ;
-}
-
-SUPERV::Port_ptr INode_Impl::InPort( const char *aParameterName ,
- const char *aParameterType ) {
- SUPERV::Port_ptr Inobject = SUPERV::Port::_nil() ;
- SUPERV::Port_ptr Outobject = SUPERV::Port::_nil() ;
- SUPERV::Port_ptr InEndobject = SUPERV::Port::_nil() ;
- Port_Impl * myInPort = NULL ;
- bool InPortCreated = false ;
- MESSAGE( "CNode_Impl::InPort " << DataFlowNode()->Name() << "->AddInPort( " << aParameterName << " , "
- << aParameterType << " )" ) ;
- GraphBase::InPort * anInPort = DataFlowNode()->GetChangeInPort( aParameterName ) ;
- if ( anInPort == NULL ) {
- anInPort = DataFlowNode()->AddInPort( aParameterName , aParameterType , SUPERV::InLineParameter ) ;
- InPortCreated = true ;
- }
- if ( anInPort ) {
- Inobject = anInPort->ObjRef() ;
- if ( CORBA::is_nil( Inobject ) ) {
- myInPort = new Port_Impl( _Orb , _Poa , _ContId ,
- instanceName() , interfaceName() ,
- DataFlowEditor() ,
- DataFlowNode() ,
- (GraphBase::Port * ) anInPort ,
- true ) ;
- if ( myInPort ) {
- PortableServer::ObjectId * id = myInPort->getId() ;
- CORBA::Object_var obj = _poa->id_to_reference(*id) ;
- Inobject = SUPERV::Port::_narrow(obj) ;
- }
- }
- }
-
- if ( !CORBA::is_nil( Inobject ) && InPortCreated &&
- ( DataFlowNode()->IsLoopNode() || DataFlowNode()->IsEndLoopNode() ) ) {
-// || DataFlowNode()->IsEndSwitchNode() ) ) {
- Outobject = OutPort( aParameterName , aParameterType ) ;
- if ( DataFlowNode()->IsLoopNode() ) {
- LNode_Impl * myLoopNode = (LNode_Impl * ) this ;
- InEndobject = myLoopNode->Coupled()->InPort( aParameterName , aParameterType ) ;
- DataFlowEditor()->AddLink( Outobject->Node()->Name() , Outobject->Name() ,
- InEndobject->Node()->Name() , InEndobject->Name() ) ;
- }
- }
- DataFlowEditor()->UnValid() ;
- return SUPERV::Port::_duplicate( Inobject ) ;
-}
-
-SUPERV::Port_ptr INode_Impl::OutPort( const char *aParameterName ,
- const char *aParameterType ) {
- Port_Impl * myOutPort = NULL ;
- SUPERV::Port_ptr Outobject = SUPERV::Port::_nil() ;
- MESSAGE( "CNode_Impl::OutPort " << DataFlowNode()->Name() << "->AddOutPort( " << aParameterName << " , "
- << aParameterType << " )" ) ;
- GraphBase::OutPort * anOutPort = DataFlowNode()->GetChangeOutPort( aParameterName ) ;
- if ( anOutPort == NULL ) {
- anOutPort = DataFlowNode()->AddOutPort( aParameterName , aParameterType , SUPERV::InLineParameter ) ;
- }
- if ( anOutPort ) {
- Outobject = anOutPort->ObjRef() ;
- if ( CORBA::is_nil( Outobject ) ) {
- const CORBA::Any * anAny = anOutPort->Value() ;
- myOutPort = new Port_Impl( _Orb , _Poa , _ContId ,
- instanceName() , interfaceName() ,
- DataFlowEditor() ,
- DataFlowNode() ,
- (GraphBase::Port * ) anOutPort ,
- false ,
- anAny ) ;
- if ( myOutPort ) {
- PortableServer::ObjectId * id = myOutPort->getId() ;
- CORBA::Object_var obj = _poa->id_to_reference(*id) ;
- Outobject = SUPERV::Port::_narrow(obj) ;
- }
- }
- }
- DataFlowEditor()->UnValid() ;
- return SUPERV::Port::_duplicate( Outobject );
-}
-
-SUPERV::StreamPort_ptr INode_Impl::InStreamPort( const char *aParameterName ,
- const SALOME_ModuleCatalog::DataStreamType aParameterType ,
- const SALOME_ModuleCatalog::DataStreamDependency aDependency ) {
- SUPERV::StreamPort_ptr Inobject = SUPERV::StreamPort::_nil() ;
- if ( DataFlowEditor()->Graph()->IsDataStreamNode() ) {
- StreamPort_Impl * myInStreamPort = NULL ;
- bool InPortCreated = false ;
- MESSAGE( "INode_Impl::InStreamPort " << DataFlowNode()->Name() << "->AddInPort( " << aParameterName << " , "
- << aParameterType << " )" ) ;
- GraphBase::InPort * anInPort = DataFlowNode()->GetChangeInPort( aParameterName ) ;
- if ( anInPort && !anInPort->IsDataStream() ) {
- MESSAGE( "INode_Impl::InStreamPort ERROR !IsDataStream " ) ;
- }
- else if ( DataFlowEditor()->Graph()->IsDataStreamNode() ) {
- if ( anInPort == NULL ) {
- anInPort = DataFlowNode()->ComputingNode()->AddInDataStreamPort( aParameterName , aParameterType , aDependency , SUPERV::DataStreamParameter ) ;
- InPortCreated = true ;
- }
-
- if ( anInPort ) {
- Inobject = SUPERV::StreamPort::_narrow( anInPort->ObjRef() ) ;
- if ( CORBA::is_nil( Inobject ) ) {
- myInStreamPort = new StreamPort_Impl( _Orb , _Poa , _ContId ,
- instanceName() , interfaceName() ,
- DataFlowEditor() ,
- DataFlowNode() ,
- (GraphBase::Port * ) anInPort ,
- true ) ;
- if ( myInStreamPort ) {
- PortableServer::ObjectId * id = myInStreamPort->getId() ;
- CORBA::Object_var obj = _poa->id_to_reference(*id) ;
- Inobject = SUPERV::StreamPort::_narrow(obj) ;
- anInPort->ObjRef( SUPERV::StreamPort::_duplicate( Inobject ) ) ;
- }
- }
- }
- }
-
-// if ( !CORBA::is_nil( Inobject ) && InPortCreated &&
-// ( DataFlowNode()->IsLoopNode() || DataFlowNode()->IsEndLoopNode() ||
-// DataFlowNode()->IsEndSwitchNode() ) ) {
-// Outobject = OutPort( aParameterName , aParameterType ) ;
-// if ( DataFlowNode()->IsLoopNode() ) {
-// LNode_Impl * myLoopNode = (LNode_Impl * ) this ;
-// InEndobject = myLoopNode->Coupled()->InPort( aParameterName , aParameterType ) ;
-// DataFlowEditor()->AddLink( Outobject->Node()->Name() , Outobject->Name() ,
-// InEndobject->Node()->Name() , InEndobject->Name() ) ;
-// }
-// }
- DataFlowEditor()->UnValid() ;
- }
- return SUPERV::StreamPort::_duplicate( Inobject ) ;
-}
-
-SUPERV::StreamPort_ptr INode_Impl::OutStreamPort( const char * aParameterName ,
- const SALOME_ModuleCatalog::DataStreamType aParameterType ,
- const SALOME_ModuleCatalog::DataStreamDependency aDependency ) {
- StreamPort_Impl * myOutStreamPort = NULL ;
- SUPERV::StreamPort_ptr Outobject = SUPERV::StreamPort::_nil() ;
- if ( DataFlowEditor()->Graph()->IsDataStreamNode() ) {
- MESSAGE( "INode_Impl::OutStreamPort " << DataFlowNode()->Name() << "->AddOutPort( " << aParameterName << " , "
- << aParameterType << " )" ) ;
- GraphBase::OutPort * anOutPort = DataFlowNode()->GetChangeOutPort( aParameterName ) ;
- if ( anOutPort && !anOutPort->IsDataStream() ) {
- MESSAGE( "INode_Impl::OutStreamPort ERROR !IsDataStream " ) ;
- }
- else if ( DataFlowEditor()->Graph()->IsDataStreamNode() ) {
- if ( anOutPort == NULL ) {
- anOutPort = DataFlowNode()->ComputingNode()->AddOutDataStreamPort( aParameterName , aParameterType , aDependency , SUPERV::DataStreamParameter ) ;
- }
-
- if ( anOutPort ) {
- Outobject = SUPERV::StreamPort::_narrow( anOutPort->ObjRef() ) ;
- if ( CORBA::is_nil( Outobject ) ) {
- const CORBA::Any * anAny = anOutPort->Value() ;
- myOutStreamPort = new StreamPort_Impl( _Orb , _Poa , _ContId ,
- instanceName() , interfaceName() ,
- DataFlowEditor() ,
- DataFlowNode() ,
- (GraphBase::Port * ) anOutPort ,
- false ,
- anAny ) ;
- if ( myOutStreamPort ) {
- PortableServer::ObjectId * id = myOutStreamPort->getId() ;
- CORBA::Object_var obj = _poa->id_to_reference(*id) ;
- Outobject = SUPERV::StreamPort::_narrow(obj) ;
- anOutPort->ObjRef( SUPERV::StreamPort::_duplicate( Outobject ) ) ;
- }
- }
- }
- }
- DataFlowEditor()->UnValid() ;
- }
- return SUPERV::StreamPort::_duplicate( Outobject );
-}
-
-
+++ /dev/null
-// SUPERV Supervision : contains the implementation of interfaces of SuperVision described in SUPERV.idl
-//
-// Copyright (C) 2003 CEA/DEN, EDF R&D
-//
-//
-//
-// File : INode_Impl.hxx
-// Author : Jean Rahuel
-// Module : SUPERV
-// $Header:
-
-#ifndef _INODE_IMPL_HXX_
-#define _INODE_IMPL_HXX_
-
-//#include <iostream.h>
-
-#include "CORBA.h"
-
-#include <SALOMEconfig.h>
-#include "SALOME_Component_i.hxx"
-#include "SALOME_LifeCycleCORBA.hxx"
-
-#include "CNode_Impl.hxx"
-
-#include "StreamPort_Impl.hxx"
-
-#include "DataFlowEditor_DataFlow.hxx"
-#include "DataFlowExecutor_DataFlow.hxx"
-
-class INode_Impl : public CNode_Impl ,
- public POA_SUPERV::INode {
- private:
-
- CORBA::ORB_ptr _Orb ;
- PortableServer::POA_ptr _Poa ;
- PortableServer::ObjectId * _ContId ;
-
- public:
- INode_Impl();
- INode_Impl( CORBA::ORB_ptr orb ,
- PortableServer::POA_ptr poa ,
- PortableServer::ObjectId * contId ,
- const char *instanceName ,
- const char *interfaceName ,
- const char *aDataFlowName ) ;
- INode_Impl( CORBA::ORB_ptr orb ,
- PortableServer::POA_ptr poa ,
- PortableServer::ObjectId * contId ,
- const char *instanceName ,
- const char *interfaceName ,
- GraphEditor::DataFlow * DataFlowEditor ,
- const char * FuncName ,
- const SUPERV::ListOfStrings & PythonFunction ,
- const SUPERV::KindOfNode NodeKindOfNode = SUPERV::InLineNode ) ;
- INode_Impl( CORBA::ORB_ptr orb ,
- PortableServer::POA_ptr poa ,
- PortableServer::ObjectId * contId ,
- const char *instanceName ,
- const char *interfaceName ,
- GraphEditor::DataFlow * DataFlowEditor ,
- const GraphBase::ListOfFuncName FuncName ,
- const GraphBase::ListOfPythonFunctions PythonFunction ,
- const SUPERV::KindOfNode NodeKindOfNode = SUPERV::InLineNode ) ;
- INode_Impl( CORBA::ORB_ptr orb ,
- PortableServer::POA_ptr poa ,
- PortableServer::ObjectId * contId ,
- const char *instanceName ,
- const char *interfaceName ,
- GraphEditor::DataFlow * DataFlowEditor ,
- GraphEditor::InNode * DataFlowNode ) ;
- virtual ~INode_Impl() ;
- virtual void destroy() ;
- virtual bool Delete() ;
-
- virtual void SetPyFunction( const char * FuncName ,
- const SUPERV::ListOfStrings & aPyFunction ) ;
- virtual SUPERV::ListOfStrings * PyFunction() ;
- virtual char * PyFuncName() ;
-
- virtual GraphBase::InLineNode * BaseNode() {
- return DataFlowNode()->InLineNode() ; } ;
-
- virtual SUPERV::Port_ptr InPort( const char * aParameterName ,
- const char * aParameterType ) ;
- virtual SUPERV::Port_ptr OutPort( const char * aParameterName ,
- const char * aParameterType ) ;
-
- virtual SUPERV::StreamPort_ptr InStreamPort( const char * aParameterName ,
- const SALOME_ModuleCatalog::DataStreamType aParameterType ,
- const SALOME_ModuleCatalog::DataStreamDependency aDependency ) ;
- virtual SUPERV::StreamPort_ptr OutStreamPort( const char * aParameterName ,
- const SALOME_ModuleCatalog::DataStreamType aParameterType ,
- const SALOME_ModuleCatalog::DataStreamDependency aDependency ) ;
-
-} ;
-
-#endif
+++ /dev/null
-// SUPERV Supervision : contains the implementation of interfaces of SuperVision described in SUPERV.idl
-//
-// Copyright (C) 2003 CEA/DEN, EDF R&D
-//
-//
-//
-// File : LNode_Impl.cxx
-// Author : Jean Rahuel
-// Module : SUPERV
-// $Header:
-
-using namespace std;
-#include <stdio.h>
-#include <fstream>
-//#include <sstream>
-#include <string>
-
-//#include "utilities.h"
-
-#include "LNode_Impl.hxx"
-
-LNode_Impl::LNode_Impl() {
-}
-
-LNode_Impl::LNode_Impl( CORBA::ORB_ptr orb ,
- PortableServer::POA_ptr poa ,
- PortableServer::ObjectId * contId ,
- const char *instanceName ,
- const char *interfaceName ,
- GraphEditor::DataFlow * aDataFlowEditor ,
- GraphBase::ListOfFuncName FuncNameList ,
- GraphBase::ListOfPythonFunctions PythonFunctionList ,
-// const char * InitName ,
-// const SUPERV::ListOfStrings & anInitPythonFunction ,
-// const char * MoreName ,
-// const SUPERV::ListOfStrings & aMorePythonFunction ,
-// const char * NextName ,
-// const SUPERV::ListOfStrings & aNextPythonFunction ,
- const SUPERV::KindOfNode NodeKindOfNode ) :
-// Engines_Component_i(orb, poa, contId, instanceName, interfaceName, false, false) {
-// GNode_Impl( orb , poa , contId , instanceName , interfaceName , aDataFlowEditor , InitName , anInitPythonFunction , NodeKindOfNode ) {
- GNode_Impl( orb , poa , contId , instanceName , interfaceName , aDataFlowEditor , FuncNameList , PythonFunctionList , NodeKindOfNode ) {
-// MESSAGE( NodeName << " " );
- beginService( "LNode_Impl::LNode_Impl" );
- _thisObj = this ;
- _id = _poa->activate_object(_thisObj);
- _Orb = CORBA::ORB::_duplicate(orb);
- _Poa = poa ;
- _ContId = contId ;
-// DataFlowNode()->SetPyMorePythonFunction( MoreName , aMorePythonFunction ) ;
-// DataFlowNode()->SetPyNextPythonFunction( NextName , aNextPythonFunction ) ;
- endService( "LNode_Impl::LNode_Impl" );
-}
-
-LNode_Impl::LNode_Impl( CORBA::ORB_ptr orb ,
- PortableServer::POA_ptr poa ,
- PortableServer::ObjectId * contId ,
- const char *instanceName ,
- const char *interfaceName ,
- GraphEditor::DataFlow * aDataFlowEditor ,
- GraphEditor::InNode * aDataFlowNode ) :
-// Engines_Component_i(orb, poa, contId, instanceName, interfaceName, false, false) {
- GNode_Impl( orb , poa , contId , instanceName , interfaceName , aDataFlowEditor , aDataFlowNode ) {
- MESSAGE( DataFlowNode()->Name() << " " );
- beginService( "LNode_Impl::LNode_Impl" );
- _thisObj = this ;
- _id = _poa->activate_object(_thisObj);
- _Orb = CORBA::ORB::_duplicate(orb);
- _Poa = poa ;
- _ContId = contId ;
- endService( "LNode_Impl::LNode_Impl" );
-}
-
-LNode_Impl::~LNode_Impl() {
- beginService( "LNode_Impl::~LNode_Impl" );
- endService( "LNode_Impl::~LNode_Impl" );
-}
-
-void LNode_Impl::destroy() {
- beginService( "LNode_Impl::Destroy" );
- if ( DataFlowEditor()->IsEditing() ) {
- SUPERV::GNode_ptr aCoupled = SUPERV::GNode::_narrow( Coupled() ) ;
- if ( Delete() ) {
- _poa->deactivate_object(*_id) ;
- CORBA::release(_poa) ;
- delete(_id) ;
- _thisObj->_remove_ref();
- }
- if ( !CORBA::is_nil( aCoupled ) ) {
- aCoupled->SetCoupled( "" ) ;
- aCoupled->destroy() ;
- }
- }
-// endService( "LNode_Impl::Destroy" );
-}
-
-bool LNode_Impl::Delete() {
- beginService( "LNode_Impl::Delete" );
- bool RetVal = false ;
- if ( DataFlowEditor()->IsEditing() ) {
- RetVal = DataFlowEditor()->RemoveNode( Name() ) ;
- if ( RetVal ) {
- RetVal = DataFlowEditor()->IsValid() ;
- }
- }
- endService( "LNode_Impl::Delete" );
- return RetVal ;
-}
-
-void LNode_Impl::SetPyInit( const char * InitName ,
- const SUPERV::ListOfStrings & aPyInit ) {
- beginService( "LNode_Impl::SetPyInit" );
- SetPyFunction( InitName , aPyInit ) ;
- endService( "LNode_Impl::SetPyInit" );
- return ;
-}
-
-SUPERV::ListOfStrings * LNode_Impl::PyInit() {
- SUPERV::ListOfStrings * aPythonFunction ;
- beginService( "LNode_Impl::PyInit" );
- aPythonFunction = PyFunction() ;
- endService( "LNode_Impl::PyInit" );
- return aPythonFunction ;
-}
-
-char * LNode_Impl::PyInitName() {
- beginService( "LNode_Impl::PyInitName" );
- char * RetVal = PyFuncName() ;
- endService( "LNode_Impl::PyInitName" );
- return CORBA::string_dup( RetVal ) ;
-}
-
-void LNode_Impl::SetPyMore( const char * MoreName ,
- const SUPERV::ListOfStrings & aPyMore ) {
- beginService( "LNode_Impl::SetPyMore" );
- DataFlowNode()->SetPyMorePythonFunction( MoreName , aPyMore ) ;
- endService( "LNode_Impl::SetPyMore" );
- return ;
-}
-
-SUPERV::ListOfStrings * LNode_Impl::PyMore() {
- SUPERV::ListOfStrings * aPythonFunction ;
- beginService( "LNode_Impl::PyMore" );
- aPythonFunction = DataFlowNode()->PyMorePythonFunction() ;
- endService( "LNode_Impl::PyMore" );
- return aPythonFunction ;
-}
-
-char * LNode_Impl::PyMoreName() {
- beginService( "LNode_Impl::PyMoreName" );
- char * RetVal = DataFlowNode()->PyMoreName() ;
- endService( "LNode_Impl::PyMoreName" );
- return CORBA::string_dup( RetVal ) ;
-}
-
-void LNode_Impl::SetPyNext( const char * NextName ,
- const SUPERV::ListOfStrings & aPyNext ) {
- beginService( "LNode_Impl::SetPyNext" );
- DataFlowNode()->SetPyNextPythonFunction( NextName , aPyNext ) ;
- endService( "LNode_Impl::SetPyNext" );
- return ;
-}
-
-SUPERV::ListOfStrings * LNode_Impl::PyNext() {
- SUPERV::ListOfStrings * aPythonFunction ;
- beginService( "LNode_Impl::PyNext" );
- aPythonFunction = DataFlowNode()->PyNextPythonFunction() ;
- endService( "LNode_Impl::PyNext" );
- return aPythonFunction ;
-}
-
-char * LNode_Impl::PyNextName() {
- beginService( "LNode_Impl::PyNextName" );
- char * RetVal = DataFlowNode()->PyNextName() ;
- endService( "LNode_Impl::PyNextName" );
- return CORBA::string_dup( RetVal );
-}
-
-
+++ /dev/null
-// SUPERV Supervision : contains the implementation of interfaces of SuperVision described in SUPERV.idl
-//
-// Copyright (C) 2003 CEA/DEN, EDF R&D
-//
-//
-//
-// File : LNode_Impl.hxx
-// Author : Jean Rahuel
-// Module : SUPERV
-// $Header:
-
-#ifndef _LNODE_IMPL_HXX_
-#define _LNODE_IMPL_HXX_
-
-//#include <iostream.h>
-
-#include "CORBA.h"
-
-#include <SALOMEconfig.h>
-#include "SALOME_Component_i.hxx"
-#include "SALOME_LifeCycleCORBA.hxx"
-
-#include "GNode_Impl.hxx"
-
-#include "Port_Impl.hxx"
-
-#include "DataFlowEditor_DataFlow.hxx"
-#include "DataFlowExecutor_DataFlow.hxx"
-
-class LNode_Impl : public GNode_Impl ,
- public POA_SUPERV::LNode {
- private:
-
- CORBA::ORB_ptr _Orb ;
- PortableServer::POA_ptr _Poa ;
- PortableServer::ObjectId * _ContId ;
-
- public:
- LNode_Impl();
- LNode_Impl( CORBA::ORB_ptr orb ,
- PortableServer::POA_ptr poa ,
- PortableServer::ObjectId * contId ,
- const char *instanceName ,
- const char *interfaceName ,
- GraphEditor::DataFlow * DataFlowEditor ,
- GraphBase::ListOfFuncName FuncName ,
- GraphBase::ListOfPythonFunctions PythonFunction ,
-// const char * InitName ,
-// const SUPERV::ListOfStrings & InitFunction ,
-// const char * MoreName ,
-// const SUPERV::ListOfStrings & MoreFunction ,
-// const char * NextName ,
-// const SUPERV::ListOfStrings & NextFunction ,
- const SUPERV::KindOfNode NodeKindOfNode = SUPERV::LoopNode ) ;
- LNode_Impl( CORBA::ORB_ptr orb ,
- PortableServer::POA_ptr poa ,
- PortableServer::ObjectId * contId ,
- const char *instanceName ,
- const char *interfaceName ,
- GraphEditor::DataFlow * DataFlowEditor ,
- GraphEditor::InNode * DataFlowNode ) ;
- virtual ~LNode_Impl() ;
- virtual void destroy() ;
- virtual bool Delete() ;
-
- virtual void SetPyInit( const char * InitName ,
- const SUPERV::ListOfStrings & aPyMoreFunction ) ;
- virtual SUPERV::ListOfStrings * PyInit() ;
- virtual char * PyInitName() ;
-
- virtual void SetPyMore( const char * MoreName ,
- const SUPERV::ListOfStrings & aPyMoreFunction ) ;
- virtual SUPERV::ListOfStrings * PyMore() ;
- virtual char * PyMoreName() ;
-
- virtual void SetPyNext( const char * NextName ,
- const SUPERV::ListOfStrings & aPyNextFunction ) ;
- virtual SUPERV::ListOfStrings * PyNext() ;
- virtual char * PyNextName() ;
-
- virtual GraphBase::LoopNode * BaseNode() {
- return DataFlowNode()->LoopNode() ; } ;
-
-} ;
-
-#endif
+++ /dev/null
-// SUPERV Supervision : contains the implementation of interfaces of SuperVision described in SUPERV.idl
-//
-// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
-// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
-//
-// This library is free software; you can redistribute it and/or
-// modify it under the terms of the GNU Lesser General Public
-// License as published by the Free Software Foundation; either
-// version 2.1 of the License.
-//
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-// Lesser General Public License for more details.
-//
-// You should have received a copy of the GNU Lesser General Public
-// License along with this library; if not, write to the Free Software
-// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-//
-// See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
-//
-//
-//
-// File : Link_Impl.cxx
-// Author : Jean Rahuel
-// Module : SUPERV
-// $Header:
-
-using namespace std;
-#include <stdio.h>
-#include <fstream>
-//#include <sstream>
-#include <string>
-
-//#include "utilities.h"
-
-#include "StreamLink_Impl.hxx"
-
-Link_Impl::Link_Impl( CORBA::ORB_ptr orb ,
- PortableServer::POA_ptr poa ,
- PortableServer::ObjectId * contId ,
- const char *instanceName ,
- const char *interfaceName ,
- GraphEditor::DataFlow * DataFlowEditor ,
- GraphEditor::InNode * DataFlowNode ,
- const char *InputParameterName ,
- GraphEditor::InNode * DataFlowOutNode ,
- const char *OutputParameterName ,
- const bool Create ,
- const bool Get ,
- bool & Success ) :
- Engines_Component_i(orb, poa, contId, instanceName, interfaceName, false, false) {
-// MESSAGE("Link_Impl::Link_Impl activate object instanceName("
-// << instanceName << ") interfaceName(" << interfaceName << ") --> "
-// << hex << (void *) this << dec )
-// beginService( "Link_Impl::Link_Impl" );
- _Orb = CORBA::ORB::_duplicate(orb);
- _Poa = poa ;
- _ContId = contId ;
- _DataFlowEditor = DataFlowEditor ;
- _DataFlowNode = DataFlowNode ;
- _DataFlowNodeName = DataFlowNode->Name() ;
- _InputParameterName = new char[ strlen( InputParameterName ) + 1 ] ;
- strcpy( _InputParameterName , InputParameterName ) ;
- _DataFlowOutNode = DataFlowOutNode ;
- _DataFlowOutNodeName = DataFlowOutNode->Name() ;
- _OutputParameterName = new char[ strlen( OutputParameterName ) + 1 ] ;
- strcpy( _OutputParameterName , OutputParameterName ) ;
- if ( Create ) {
- Success = _DataFlowEditor->AddLink( _DataFlowOutNode->Name() ,
- _OutputParameterName ,
- _DataFlowNode->Name() ,
- _InputParameterName ) ;
- }
- else if ( Get ) {
- char * DataFlowOutNodeName = NULL ;
- char * OutParamName = NULL ;
- Success = _DataFlowEditor->GetLink( _DataFlowNode->Name() ,
- _InputParameterName ,
- &DataFlowOutNodeName ,
- &OutParamName ) ;
- }
- else {
- Success = false ;
- }
- if ( Success ) {
- _thisObj = this ;
- _id = _poa->activate_object(_thisObj) ;
- }
-// endService( "Link_Impl::Link_Impl" );
-}
-
-Link_Impl::Link_Impl() {
-}
-
-Link_Impl::~Link_Impl() {
- beginService( "Link_Impl::~Link_Impl" );
- endService( "Link_Impl::~Link_Impl" );
-}
-
-void Link_Impl::destroy() {
- beginService( "Link_Impl::destroy" );
- Delete() ;
- _poa->deactivate_object(*_id) ;
- CORBA::release(_poa) ;
- delete(_id) ;
- _thisObj->_remove_ref();
- endService( "Link_Impl::destroy" );
-}
-
-bool Link_Impl::Delete() {
-// beginService( "Link_Impl::Delete" ) ;
- bool RetVal = _DataFlowEditor->RemoveLink( _DataFlowOutNode->Name() ,
- _OutputParameterName ,
- _DataFlowNode->Name() ,
- _InputParameterName ) ;
- if ( RetVal ) {
- DataFlowEditor()->UnValid() ;
- }
-// endService( "Link_Impl::Delete" );
- return RetVal ;
-}
-
-SUPERV::Port_ptr Link_Impl::InPort() {
-// beginService( "Link_Impl::InPort" );
- SUPERV::Port_var iobject = SUPERV::Port::_nil() ;
- GraphBase::InPort * anInPort = _DataFlowNode->GetChangeInPort( _InputParameterName ) ;
- if ( anInPort ) {
- iobject = anInPort->ObjRef() ;
- if ( CORBA::is_nil( iobject ) ) {
- if ( !anInPort->IsDataStream() ) {
- Port_Impl * myPort = new Port_Impl( _Orb , _Poa , _ContId ,
- instanceName() , interfaceName() ,
- _DataFlowEditor ,
- _DataFlowNode ,
- (GraphBase::Port * ) anInPort ,
- true ) ;
- PortableServer::ObjectId * id = myPort->getId() ;
- CORBA::Object_var obj = _poa->id_to_reference(*id);
- iobject = SUPERV::Port::_narrow(obj) ;
- anInPort->ObjRef( SUPERV::Port::_duplicate( iobject ) ) ;
- }
- else {
- StreamPort_Impl * myStreamPort = new StreamPort_Impl(
- _Orb , _Poa , _ContId ,
- instanceName() , interfaceName() ,
- DataFlowEditor() ,
- DataFlowOutNode() ,
- (GraphBase::Port * ) anInPort ,
- false ) ;
- PortableServer::ObjectId * id = myStreamPort->getId() ;
- CORBA::Object_var obj = _poa->id_to_reference(*id);
- SUPERV::StreamPort_var iStreamobject ;
- iStreamobject = SUPERV::StreamPort::_narrow(obj) ;
- anInPort->ObjRef( SUPERV::StreamPort::_duplicate( iStreamobject ) ) ;
- iobject = SUPERV::Port::_narrow( iStreamobject ) ;
- }
- }
- else {
- iobject = anInPort->ObjRef() ;
- }
- }
-// endService( "Link_Impl::InPort" );
- return SUPERV::Port::_duplicate( iobject ) ;
-}
-
-SUPERV::Port_ptr Link_Impl::OutPort() {
-// beginService( "Link_Impl::OutPort" );
- SUPERV::Port_var iobject = SUPERV::Port::_nil() ;
- GraphBase::OutPort * anOutPort = _DataFlowOutNode->GetChangeOutPort( _OutputParameterName ) ;
- if ( anOutPort ) {
- iobject = anOutPort->ObjRef() ;
- if ( CORBA::is_nil( iobject ) ) {
- if ( !anOutPort->IsDataStream() ) {
- Port_Impl * myPort = new Port_Impl( _Orb , _Poa , _ContId ,
- instanceName() , interfaceName() ,
- _DataFlowEditor ,
- _DataFlowOutNode ,
- (GraphBase::Port * ) anOutPort ,
- false ) ;
- PortableServer::ObjectId * id = myPort->getId() ;
- CORBA::Object_var obj = _poa->id_to_reference(*id);
- iobject = SUPERV::Port::_narrow(obj) ;
- anOutPort->ObjRef( SUPERV::Port::_duplicate( iobject ) ) ;
- }
- else {
- StreamPort_Impl * myStreamPort = new StreamPort_Impl(
- _Orb , _Poa , _ContId ,
- instanceName() , interfaceName() ,
- DataFlowEditor() ,
- DataFlowOutNode() ,
- (GraphBase::Port * ) anOutPort ,
- false ) ;
- PortableServer::ObjectId * id = myStreamPort->getId() ;
- CORBA::Object_var obj = _poa->id_to_reference(*id);
- SUPERV::StreamPort_var iStreamobject ;
- iStreamobject = SUPERV::StreamPort::_narrow(obj) ;
- anOutPort->ObjRef( SUPERV::StreamPort::_duplicate( iStreamobject ) ) ;
- iobject = SUPERV::Port::_narrow( iStreamobject ) ;
- }
- }
- else {
- iobject = anOutPort->ObjRef() ;
- }
- }
-// endService( "Link_Impl::OutPort" );
- return SUPERV::Port::_duplicate( iobject ) ;
-}
-
-GraphBase::SLink * Link_Impl::Info() {
-// beginService( "Link_Impl::Info" );
-// char* FromNodeName ;
-// char* FromServiceParameterName ;
- GraphBase::SLink * RetVal = _DataFlowEditor->GetLink( _DataFlowNode->ComputingNode() ,
- _InputParameterName ) ;
-// endService( "Link_Impl::Info" );
- return RetVal ;
-}
-
-long Link_Impl::CoordsSize() {
-// beginService( "Link_Impl::CoordsSize" ) ;
- long RetVal = _DataFlowEditor->GetLinkCoordSize( _DataFlowOutNode->Name() ,
- _OutputParameterName ,
- _DataFlowNode->Name() ,
- _InputParameterName ) ;
-// endService( "Link_Impl::CoordsSize" );
- return RetVal ;
-}
-bool Link_Impl::AddCoord( const long index ,
- const long X ,
- const long Y ) {
-// beginService( "Link_Impl::AddCoord" ) ;
- bool RetVal = _DataFlowEditor->AddLinkCoord( _DataFlowOutNode->Name() ,
- _OutputParameterName ,
- _DataFlowNode->Name() ,
- _InputParameterName,
- index , X , Y ) ;
-// endService( "Link_Impl::AddCoord" );
- return RetVal ;
-}
-bool Link_Impl::ChangeCoord( const long index ,
- const long X ,
- const long Y ) {
-// beginService( "Link_Impl::ChangeCoord" ) ;
- bool RetVal = _DataFlowEditor->ChangeLinkCoord( _DataFlowOutNode->Name() ,
- _OutputParameterName ,
- _DataFlowNode->Name() ,
- _InputParameterName,
- index , X , Y ) ;
-// endService( "Link_Impl::ChangeCoord" );
- return RetVal ;
-}
-bool Link_Impl::RemoveCoord( const long index ) {
-// beginService( "Link_Impl::RemoveCoord" ) ;
- bool RetVal = _DataFlowEditor->RemoveLinkCoord( _DataFlowOutNode->Name() ,
- _OutputParameterName ,
- _DataFlowNode->Name() ,
- _InputParameterName,
- index ) ;
-// endService( "Link_Impl::RemoveCoord" );
- return RetVal ;
-}
-bool Link_Impl::Coords( const long index , long & X , long & Y ) {
-// beginService( "Link_Impl::Coords" ) ;
- bool RetVal = _DataFlowEditor->GetLinkCoord( _DataFlowOutNode->Name() ,
- _OutputParameterName ,
- _DataFlowNode->Name() ,
- _InputParameterName,
- index , X , Y ) ;
-// endService( "Link_Impl::Coords" );
- return RetVal ;
-}
-
+++ /dev/null
-// SUPERV Supervision : contains the implementation of interfaces of SuperVision described in SUPERV.idl
-//
-// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
-// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
-//
-// This library is free software; you can redistribute it and/or
-// modify it under the terms of the GNU Lesser General Public
-// License as published by the Free Software Foundation; either
-// version 2.1 of the License.
-//
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-// Lesser General Public License for more details.
-//
-// You should have received a copy of the GNU Lesser General Public
-// License along with this library; if not, write to the Free Software
-// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-//
-// See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
-//
-//
-//
-// File : Link_Impl.hxx
-// Author : Jean Rahuel
-// Module : SUPERV
-// $Header:
-
-#ifndef _LINK_IMPL_HXX_
-#define _LINK_IMPL_HXX_
-
-//#include <iostream.h>
-
-#include "CORBA.h"
-
-#include <SALOMEconfig.h>
-#include "SALOME_Component_i.hxx"
-#include "SALOME_LifeCycleCORBA.hxx"
-
-#include "Value_Impl.hxx"
-#include "Port_Impl.hxx"
-
-#include "DataFlowEditor_DataFlow.hxx"
-
-class Link_Impl : public POA_SUPERV::Link ,
- public Engines_Component_i {
- private:
-
- CORBA::ORB_ptr _Orb ;
- PortableServer::POA_ptr _Poa ;
- PortableServer::ObjectId * _ContId ;
-
- GraphEditor::DataFlow * _DataFlowEditor ;
- GraphEditor::InNode * _DataFlowNode ;
- char * _DataFlowNodeName ;
- char * _InputParameterName ;
- GraphEditor::InNode * _DataFlowOutNode ;
- char * _DataFlowOutNodeName ;
- char * _OutputParameterName ;
-
- public:
- Link_Impl();
- Link_Impl( CORBA::ORB_ptr orb ,
- PortableServer::POA_ptr poa ,
- PortableServer::ObjectId * contId ,
- const char *instanceName ,
- const char *interfaceName ,
- GraphEditor::DataFlow * DataFlowEditor ,
- GraphEditor::InNode * DataFlowNode ,
- const char *InputParameterName ,
- GraphEditor::InNode * DataFlowOutNode ,
- const char *OutputParameterName ,
- const bool Create ,
- const bool Get ,
- bool & Success ) ;
-
- virtual ~Link_Impl() ;
- virtual void destroy() ;
- virtual bool Delete() ;
-
- GraphEditor::DataFlow * DataFlowEditor() {
- return _DataFlowEditor ; } ;
- GraphEditor::InNode * DataFlowNode() {
- return _DataFlowNode ; } ;
- char * DataFlowNodeName() {
- return _DataFlowNodeName ; } ;
- char * InputParameterName() {
- return _InputParameterName ; } ;
- GraphEditor::InNode * DataFlowOutNode() {
- return _DataFlowOutNode ; } ;
- char * DataFlowOutNodeName() {
- return _DataFlowOutNodeName ; } ;
- char * OutputParameterName() {
- return _OutputParameterName ; } ;
-
- SUPERV::Port_ptr OutPort() ;
- SUPERV::Port_ptr InPort() ;
-
- virtual GraphBase::SLink * Info() ;
-
- virtual long CoordsSize() ;
- virtual bool AddCoord( const long index ,
- const long X ,
- const long Y ) ;
- virtual bool ChangeCoord( const long index ,
- const long X ,
- const long Y ) ;
- virtual bool RemoveCoord( const long index ) ;
- virtual bool Coords( const long index , long & X , long & Y ) ;
-
-
-} ;
-
-#endif
+++ /dev/null
-# SUPERV Supervision : contains the implementation of interfaces of SuperVision described in SUPERV.idl
-#
-# Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
-# CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
-#
-# This library is free software; you can redistribute it and/or
-# modify it under the terms of the GNU Lesser General Public
-# License as published by the Free Software Foundation; either
-# version 2.1 of the License.
-#
-# This library is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-# Lesser General Public License for more details.
-#
-# You should have received a copy of the GNU Lesser General Public
-# License along with this library; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-#
-# See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
-#
-#
-#
-# File : Makefile.in
-# Author : , CEA
-# Module : SUPERV
-# $Header:
-
-top_srcdir=@top_srcdir@
-top_builddir=../..
-srcdir=@srcdir@
-VPATH=.:@srcdir@:@top_srcdir@/idl:$(top_builddir)/idl
-
-
-@COMMENCE@
-
-EXPORT_PYSCRIPTS = SuperV.py batchmode_SuperV.py
-EXPORT_SHAREDPYSCRIPTS = SUPERV_shared_modules.py
-
-EXPORT_HEADERS = \
- SuperV_Impl.hxx \
- StreamGraph_Impl.hxx \
- Graph_Impl.hxx \
- CNode_Impl.hxx \
- FNode_Impl.hxx \
- INode_Impl.hxx \
- GNode_Impl.hxx \
- LNode_Impl.hxx \
- ELNode_Impl.hxx \
- SNode_Impl.hxx \
- ESNode_Impl.hxx \
- StreamLink_Impl.hxx \
- Link_Impl.hxx \
- StreamPort_Impl.hxx \
- Port_Impl.hxx \
- Value_Impl.hxx
-
-# Libraries targets
-LIB = libSUPERVEngine.la
-LIB_SRC = Value_Impl.cxx \
- Port_Impl.cxx \
- StreamPort_Impl.cxx \
- Link_Impl.cxx \
- StreamLink_Impl.cxx \
- CNode_Impl.cxx \
- FNode_Impl.cxx \
- INode_Impl.cxx \
- GNode_Impl.cxx \
- LNode_Impl.cxx \
- ELNode_Impl.cxx \
- SNode_Impl.cxx \
- ESNode_Impl.cxx \
- Graph_Impl.cxx \
- StreamGraph_Impl.cxx \
- SuperV_Impl.cxx
-
-LIB_CLIENT_IDL = SALOME_ModuleCatalog.idl \
- SALOME_Component.idl \
- SALOMEDS.idl \
- SUPERV.idl \
- SALOME_Exception.idl
-
-# Executables targets
-#BIN = SuperV_CheckOfUndefined
-BIN_SRC =
-BIN_SERVER_IDL =
-
-CPPFLAGS+= $(PYTHON_INCLUDES) $(QT_MT_INCLUDES) $(VTK_INCLUDES) $(OGL_INCLUDES) $(OCC_INCLUDES) \
- -I${KERNEL_ROOT_DIR}/include/salome
-CXXFLAGS += -g -D_DEBUG_ -D__x86__ -D__linux__ -ftemplate-depth-42 -Wall \
- -I${KERNEL_ROOT_DIR}/include/salome
-LDFLAGS+= -lSalomeSuperVisionEditor -lSalomeSuperVisionExecutor -lSalomeSuperVisionBase \
- -lSalomeContainer -lSalomeNotification -lSalomeNS -lSalomeLifeCycleCORBA \
- -lOpUtil -lRegistry -lTOOLSDS -lSALOMELocalTrace \
- $(QT_MT_LIBS) -L${KERNEL_ROOT_DIR}/lib/salome
-#LIBS += -Xlinker -export-dynamic $(PYTHON_LIBS)
-
-@CONCLUDE@
-
+++ /dev/null
-// SUPERV Supervision : contains the implementation of interfaces of SuperVision described in SUPERV.idl
-//
-// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
-// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
-//
-// This library is free software; you can redistribute it and/or
-// modify it under the terms of the GNU Lesser General Public
-// License as published by the Free Software Foundation; either
-// version 2.1 of the License.
-//
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-// Lesser General Public License for more details.
-//
-// You should have received a copy of the GNU Lesser General Public
-// License along with this library; if not, write to the Free Software
-// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-//
-// See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
-//
-//
-//
-// File : Port_Impl.cxx
-// Author : Jean Rahuel
-// Module : SUPERV
-// $Header:
-
-using namespace std;
-#include <stdio.h>
-#include <fstream>
-//#include <sstream>
-#include <string>
-
-//#include "utilities.h"
-
-#include "Graph_Impl.hxx"
-#include "Port_Impl.hxx"
-
-Port_Impl::Port_Impl( CORBA::ORB_ptr orb ,
- PortableServer::POA_ptr poa ,
- PortableServer::ObjectId * contId ,
- const char *instanceName ,
- const char *interfaceName ,
- GraphEditor::DataFlow * DataFlowEditor ,
- GraphEditor::InNode * DataFlowNode ,
- GraphBase::Port * DataFlowPort ,
- bool InputPort ,
- const CORBA::Any * anAny ) :
- Value_Impl(orb, poa, contId, instanceName, interfaceName,
- DataFlowEditor , DataFlowNode , DataFlowPort->PortName(), anAny ,
- false ) {
-// MESSAGE("Port_Impl::Port_Impl activate object instanceName("
-// << instanceName << ") interfaceName(" << interfaceName
-// << ") IsDataStream " << DataFlowPort->IsDataStream() )
- _Orb = CORBA::ORB::_duplicate(orb);
- _Poa = poa ;
- _ContId = contId ;
- if ( !DataFlowPort->IsDataStream() ) {
- _thisObj = this ;
- _id = _poa->activate_object(_thisObj) ;
- }
- _DataFlowEditor = DataFlowEditor ;
- _DataFlowNode = DataFlowNode ;
- _DataFlowPort = DataFlowPort ;
- _InputPort = InputPort ;
- InPort( _InputPort ) ;
-}
-
-Port_Impl::Port_Impl( CORBA::ORB_ptr orb ,
- PortableServer::POA_ptr poa ,
- PortableServer::ObjectId * contId ,
- const char *instanceName ,
- const char *interfaceName ,
- GraphEditor::DataFlow * DataFlowEditor ,
- GraphEditor::InNode * DataFlowNode ,
- GraphBase::Port * DataFlowPort ,
- bool InputPort ) :
- Value_Impl(orb, poa, contId, instanceName, interfaceName,
- DataFlowEditor , DataFlowNode , DataFlowPort->PortName() , false ) {
- char * nodename = DataFlowEditor->Graph()->Name() ;
- if ( DataFlowNode ) {
- nodename = DataFlowNode->Name() ;
- }
-// MESSAGE("Port_Impl::Port_Impl activate object instanceName("
-// << instanceName << ") interfaceName(" << interfaceName
-// << ") " << nodename << "(" << DataFlowPort->PortName()
-// << ") IsDataStream " << DataFlowPort->IsDataStream() ) ;
- _Orb = CORBA::ORB::_duplicate(orb);
- _Poa = poa ;
- _ContId = contId ;
- if ( !DataFlowPort->IsDataStream() ) {
- _thisObj = this ;
- _id = _poa->activate_object(_thisObj) ;
- }
- _DataFlowEditor = DataFlowEditor ;
- _DataFlowNode = DataFlowNode ;
- _DataFlowPort = DataFlowPort ;
- _InputPort = InputPort ;
- InPort( _InputPort ) ;
-}
-
-Port_Impl::Port_Impl() {
-}
-
-Port_Impl::~Port_Impl() {
- beginService( "Port_Impl::~Port_Impl" );
- endService( "Port_Impl::~Port_Impl" );
-}
-
-void Port_Impl::destroy() {
- beginService( "Port_Impl::destroy" );
- bool destroyed = false ;
- if ( _DataFlowNode->IsOneOfInLineNodes() ) {
- if ( _InputPort ) {
- GraphBase::InPort * anInPort = (GraphBase::InPort * ) _DataFlowPort ;
- if ( anInPort->GetOutPort() ) {
- anInPort->GetOutPort()->RemoveInPort( anInPort ) ;
- }
- _DataFlowNode->DelInPort( _DataFlowPort->PortName() ) ;
- if ( _DataFlowNode->IsLoopNode() ) {
- _DataFlowNode->DelOutPort( _DataFlowPort->PortName() ) ;
- _DataFlowNode->CoupledNode()->DelInPort( _DataFlowPort->PortName() ) ;
- _DataFlowNode->CoupledNode()->DelOutPort( _DataFlowPort->PortName() ) ;
- }
- destroyed = true ;
- }
- else if ( !_DataFlowNode->IsLoopNode() ) {
- _DataFlowNode->DelOutPort( _DataFlowPort->PortName() ) ;
- destroyed = true ;
- }
- if ( destroyed ) {
- _DataFlowEditor->UnValid() ;
-// _DataFlowEditor->IsValid() ;
- }
- }
- if ( destroyed ) {
- _poa->deactivate_object(*_id) ;
- CORBA::release(_poa) ;
- delete(_id) ;
- _thisObj->_remove_ref();
- }
- endService( "Port_Impl::destroy" );
-}
-
-bool Port_Impl::Input( const SUPERV::Value_ptr aValue ) {
- return Input( aValue->ToAny() ) ;
-}
-
-bool Port_Impl::Input( const CORBA::Any * anAny ) {
- beginService( "Port_Impl::Input" );
- bool RetVal = false ;
- if ( _InputPort && _DataFlowEditor->IsEditing() ) {
- RetVal = true ;
- Value_Impl::Input( anAny ) ;
- RetVal = _DataFlowEditor->AddInputData( _DataFlowNode->Name() ,
- _DataFlowPort->PortName() ,
- *anAny ) ;
- }
- else if ( _DataFlowEditor->IsExecuting() ) {
- GraphExecutor::DataFlow * _DataFlowExecutor = _DataFlowEditor->Executor() ;
-// if ( _DataFlowExecutor && ( _DataFlowExecutor->IsSuspended() ||
-// _DataFlowExecutor->IsSuspended( _DataFlowNode->Name() ) ) ) {
- if ( _DataFlowExecutor ) {
- RetVal = _DataFlowExecutor->ChangeInputData( _DataFlowNode->Name() ,
- _DataFlowPort->PortName() ,
- *anAny ) ;
- }
- }
- if ( !RetVal ) {
- MESSAGE( "Port_Impl::Input returns false _InputPort " << _InputPort << " IsEditing "
- << _DataFlowEditor->IsEditing() << " Executor " << _DataFlowEditor->Executor() ) ;
- }
- endService( "Port_Impl::Input" );
- return RetVal ;
-}
-
-char * Port_Impl::Name() {
-// beginService( "Port_Impl::Name" ) ;
- const char * RetVal = _DataFlowPort->PortName() ;
-// endService( "Port_Impl::Name" ) ;
- return CORBA::string_dup( RetVal ) ;
-}
-
-char * Port_Impl::Type() {
-// beginService( "Port_Impl::Type" ) ;
- const char * RetVal = _DataFlowPort->PortType() ;
-// endService( "Port_Impl::Type" ) ;
- return CORBA::string_dup( RetVal ) ;
-}
-
-SUPERV::CNode_ptr Port_Impl::Node() {
- bool begin = true ;
- SUPERV::CNode_var iobject ;
- if ( _DataFlowNode ) {
-// MESSAGE( "Port_Impl::Node " << _DataFlowNode->Name() ) ;
- iobject = SUPERV::CNode::_narrow( _DataFlowNode->ObjRef() ) ;
- if ( CORBA::is_nil( iobject ) ) {
- if ( begin ) {
- beginService( "Port_Impl::Node" ) ;
- begin = false ;
- }
- PortableServer::ObjectId * id ;
- CORBA::Object_var obj ;
- if ( _DataFlowNode->IsComputingNode() ) {
- CNode_Impl * myNode = NULL ;
- myNode = new CNode_Impl( _Orb , _Poa , _ContId ,
- instanceName() , interfaceName() ,
- _DataFlowEditor ,
- _DataFlowNode ) ;
- id = myNode->getId() ;
- obj = _poa->id_to_reference(*id);
- iobject = SUPERV::CNode::_narrow( obj ) ;
- myNode->SetObjRef( SUPERV::CNode::_duplicate( iobject ) ) ;
- }
- else if ( _DataFlowNode->IsFactoryNode() ) {
- FNode_Impl * myNode = NULL ;
- myNode = new FNode_Impl( _Orb , _Poa , _ContId ,
- instanceName() , interfaceName() ,
- _DataFlowEditor ,
- _DataFlowNode ) ;
- id = myNode->getId() ;
- obj = _poa->id_to_reference(*id);
- SUPERV::FNode_var Fiobject = SUPERV::FNode::_narrow( obj ) ;
- iobject = SUPERV::CNode::_narrow( Fiobject ) ;
- myNode->SetObjRef( SUPERV::FNode::_duplicate( Fiobject ) ) ;
- }
- else if ( _DataFlowNode->IsInLineNode() ) {
- INode_Impl * myNode = NULL ;
- myNode = new INode_Impl( _Orb , _Poa , _ContId ,
- instanceName() , interfaceName() ,
- _DataFlowEditor ,
- _DataFlowNode ) ;
- id = myNode->getId() ;
- obj = _poa->id_to_reference(*id);
- SUPERV::INode_var Iiobject = SUPERV::INode::_narrow( obj ) ;
- iobject = SUPERV::CNode::_narrow( Iiobject ) ;
- myNode->SetObjRef( SUPERV::INode::_duplicate( Iiobject ) ) ;
- }
- else if ( _DataFlowNode->IsGOTONode() ) {
- GNode_Impl * myNode = NULL ;
- myNode = new GNode_Impl( _Orb , _Poa , _ContId ,
- instanceName() , interfaceName() ,
- _DataFlowEditor ,
- _DataFlowNode ) ;
- id = myNode->getId() ;
- obj = _poa->id_to_reference(*id);
- SUPERV::GNode_var Giobject = SUPERV::GNode::_narrow( obj ) ;
- iobject = SUPERV::CNode::_narrow( Giobject ) ;
- myNode->SetObjRef( SUPERV::GNode::_duplicate( Giobject ) ) ;
- }
- else if ( _DataFlowNode->IsLoopNode() ) {
- LNode_Impl * myNode = NULL ;
- myNode = new LNode_Impl( _Orb , _Poa , _ContId ,
- instanceName() , interfaceName() ,
- _DataFlowEditor ,
- _DataFlowNode ) ;
- id = myNode->getId() ;
- obj = _poa->id_to_reference(*id);
- SUPERV::LNode_var Liobject = SUPERV::LNode::_narrow( obj ) ;
- iobject = SUPERV::CNode::_narrow( Liobject ) ;
- myNode->SetObjRef( SUPERV::LNode::_duplicate( Liobject ) ) ;
- }
- else if ( _DataFlowNode->IsEndLoopNode() ) {
- ELNode_Impl * myNode = NULL ;
- myNode = new ELNode_Impl( _Orb , _Poa , _ContId ,
- instanceName() , interfaceName() ,
- _DataFlowEditor ,
- _DataFlowNode ) ;
- id = myNode->getId() ;
- obj = _poa->id_to_reference(*id);
- SUPERV::ELNode_var ELiobject = SUPERV::ELNode::_narrow( obj ) ;
- iobject = SUPERV::CNode::_narrow( ELiobject ) ;
- myNode->SetObjRef( SUPERV::ELNode::_duplicate( ELiobject ) ) ;
- }
- else if ( _DataFlowNode->IsSwitchNode() ) {
- SNode_Impl * myNode = NULL ;
- myNode = new SNode_Impl( _Orb , _Poa , _ContId ,
- instanceName() , interfaceName() ,
- _DataFlowEditor ,
- _DataFlowNode ) ;
- id = myNode->getId() ;
- obj = _poa->id_to_reference(*id);
- SUPERV::SNode_var Siobject = SUPERV::SNode::_narrow( obj ) ;
- iobject = SUPERV::CNode::_narrow( Siobject ) ;
- myNode->SetObjRef( SUPERV::SNode::_duplicate( Siobject ) ) ;
- }
- else if ( _DataFlowNode->IsEndSwitchNode() ) {
- ESNode_Impl * myNode = NULL ;
- myNode = new ESNode_Impl( _Orb , _Poa , _ContId ,
- instanceName() , interfaceName() ,
- _DataFlowEditor ,
- _DataFlowNode ) ;
- id = myNode->getId() ;
- obj = _poa->id_to_reference(*id);
- SUPERV::ESNode_var ESiobject = SUPERV::ESNode::_narrow( obj ) ;
- iobject = SUPERV::CNode::_narrow( ESiobject ) ;
- myNode->SetObjRef( SUPERV::ESNode::_duplicate( ESiobject ) ) ;
- }
- }
- else {
-// MESSAGE( "Port_Impl::Node known objref " << iobject->Name() ) ;
- }
- }
- else {
- MESSAGE( "Port_Impl::GraphNode " << _DataFlowEditor->Graph()->Name() ) ;
- iobject = SUPERV::CNode::_narrow( _DataFlowEditor->Graph()->ObjRef() ) ;
- if ( CORBA::is_nil( iobject ) ) {
- MESSAGE( "Port_Impl::GraphNode NilRef" ) ;
- }
- }
- if ( !begin ) {
- endService( "Port_Impl::Node" ) ;
- }
- return SUPERV::CNode::_duplicate( iobject ) ;
-}
-
-SUPERV::ListOfLinks * Port_Impl::Links() {
- beginService( "Port_Impl::Links" ) ;
- SUPERV::ListOfLinks_var RetVal = new SUPERV::ListOfLinks ;
- RetVal = _DataFlowEditor->Graph()->ObjImpl()->Links( _DataFlowNode->ComputingNode() ,
- _DataFlowPort->PortName() ) ;
- MESSAGE( "Links of Node " << _DataFlowNode->ComputingNode()->Name()
- << " and of Port " << _DataFlowPort->PortName()
- << " _InputPort " << _InputPort ) ;
- int i ;
- for ( i = 0 ; i < (int ) RetVal->length() ; i++ ) {
- MESSAGE( "Link " << RetVal[i]->OutPort()->Node()->Name() << "("
- << RetVal[i]->OutPort()->Name() << ") --> "
- << RetVal[i]->InPort()->Node()->Name() << "("
- << RetVal[i]->InPort()->Name() << ")" ) ;
- }
- endService( "Port_Impl::Links" ) ;
- return ( RetVal._retn() ) ;
-}
-
-SUPERV::Link_ptr Port_Impl::Link() {
- bool begin = true ;
- SUPERV::Link_var iobject = SUPERV::Link::_nil() ;
- if ( _DataFlowNode->IsEndSwitchNode() ) {
- beginService( "Port_Impl::Link" ) ;
- begin = false ;
- SUPERV::ListOfLinks_var Links = new SUPERV::ListOfLinks ;
-// cout << "Port_Impl::Link " << _DataFlowNode->Name() << " "
-// << _DataFlowPort->PortName() << endl ;
- Links = _DataFlowEditor->Graph()->ObjImpl()->Links( _DataFlowNode->ComputingNode() ,
- _DataFlowPort->PortName() ) ;
- if ( Links->length() ) {
- iobject = Links[ 0 ] ;
- }
- }
- else {
- char * FromNodeName = NULL ;
- char * FromServiceParameterName = NULL ;
- bool status = _DataFlowEditor->GetLink( _DataFlowNode->Name() ,
- _DataFlowPort->PortName() ,
- & FromNodeName ,
- & FromServiceParameterName ) ;
- if ( status ) {
-// cout << "Port_Impl::Link " << FromNodeName << "("
-// << FromServiceParameterName << ") --> " << _DataFlowNode->Name()
-// << "(" << _DataFlowPort->PortName() << ")" << endl ;
-// SUPERV::Port_ptr theOutPort = Port( FromServiceParameterName ) ;
-
- GraphBase::InPort * anInPort = _DataFlowNode->GetChangeInPort( _DataFlowPort->PortName() ) ;
- if ( anInPort->GetOutPort() ) {
- GraphBase::OutPort * anOutPort = anInPort->GetOutPort() ;
- if ( _DataFlowNode->IsEndLoopNode() && !strcmp( _DataFlowNode->CoupledNode()->Name() ,
- anOutPort->NodeName() ) ) {
-// MESSAGE( "Link " << anOutPort->NodeName() << "("
-// << anOutPort->PortName() << ") --> " << _DataFlowNode->Name() << "("
-// << anInPort->PortName() << ")" << " ignored" ) ;
- }
- else if ( CORBA::is_nil( anOutPort->InPortObjRef( anInPort ) ) ) {
- if ( begin ) {
- beginService( "Port_Impl::Link" ) ;
- begin = false ;
- }
- bool Success ;
- Link_Impl * myLink = new Link_Impl( _Orb , _Poa , _ContId ,
- instanceName() , interfaceName() ,
- _DataFlowEditor ,
- _DataFlowNode ,
- _DataFlowPort->PortName() ,
- (GraphEditor::InNode * ) _DataFlowEditor->Graph()->GetChangeGraphNode( FromNodeName )->GetInNode() ,
- FromServiceParameterName ,
- false , true , Success ) ;
- if ( Success ) {
- PortableServer::ObjectId * id = myLink->getId() ;
- CORBA::Object_var obj = _poa->id_to_reference(*id);
- iobject = SUPERV::Link::_narrow(obj) ;
- anOutPort->AddInPortObjRef( anInPort , SUPERV::Link::_duplicate( iobject ) ) ;
- }
- }
- else {
- iobject = anOutPort->InPortObjRef( anInPort ) ;
- }
- }
- }
- }
- if ( !begin ) {
- MESSAGE( "Link " << iobject->OutPort()->Node()->Name() << "( " << iobject->OutPort()->Name() << " ) --> "
- << iobject->InPort()->Node()->Name() << "( " << iobject->InPort()->Name() << " ) " ) ;
- endService( "Port_Impl::Link" ) ;
- }
- return SUPERV::Link::_duplicate( iobject ) ;
-}
-
-bool Port_Impl::IsInput() {
-// beginService( "Port_Impl::IsInput" ) ;
- bool RetVal = _InputPort ;
-// MESSAGE( Name() << "IsInput() " << _InputPort ) ;
-// endService( "Port_Impl::IsInput" ) ;
- return RetVal ;
-}
-
-bool Port_Impl::IsLinked() {
-// beginService( "Port_Impl::IsLinked" ) ;
- bool RetVal = false ;
- if ( _DataFlowNode ) {
- GraphBase::InPort * anInPort = _DataFlowNode->GetChangeInPort( _DataFlowPort->PortName() ) ;
- GraphBase::OutPort * anOutPort = NULL ;
- if ( anInPort) {
- anOutPort = anInPort->GetOutPort() ;
- }
- if ( _DataFlowNode->IsEndLoopNode() && anOutPort &&
- !strcmp( _DataFlowNode->CoupledNode()->Name() , anOutPort->NodeName() ) ) {
-// MESSAGE( "Link " << anOutPort->NodeName() << "("
-// << anOutPort->PortName() << ") --> " << _DataFlowNode->Name() << "("
-// << anInPort->PortName() << ")" << " ignored" ) ;
- }
- else {
- RetVal = _DataFlowNode->IsLinked( _DataFlowPort->PortName() ) ;
- }
- }
-// endService( "Port_Impl::IsLinked" ) ;
- return RetVal ;
-}
-
-SUPERV::KindOfPort Port_Impl::Kind() {
-// beginService( "Port_Impl::Kind" ) ;
- SUPERV::KindOfPort RetVal = _DataFlowPort->Kind() ;
-// endService( "Port_Impl::Kind" ) ;
- return RetVal ;
-}
-
-void Port_Impl::SetKind( SUPERV::KindOfPort aKindOfPort ) {
-// beginService( "Port_Impl::SetKind" ) ;
- _DataFlowPort->Kind( aKindOfPort ) ;
-// endService( "Port_Impl::SetKind" ) ;
-}
-
-bool Port_Impl::IsParam() {
-// beginService( "Port_Impl::IsParam" ) ;
- bool RetVal = _DataFlowPort->IsParam() ;
-// endService( "Port_Impl::IsParam" ) ;
- return RetVal ;
-}
-
-bool Port_Impl::IsGate() {
-// beginService( "Port_Impl::IsGate" ) ;
- bool RetVal = _DataFlowPort->IsGate() ;
-// endService( "Port_Impl::IsGate" ) ;
- return RetVal ;
-}
-
-bool Port_Impl::IsInLine() {
-// beginService( "Port_Impl::IsInLine" ) ;
-// bool RetVal = _DataFlowPort->IsBus() ;
- bool RetVal = _DataFlowPort->IsInLine() ;
-// endService( "Port_Impl::IsInLine" ) ;
- return RetVal ;
-}
-
-bool Port_Impl::IsLoop() {
-// beginService( "Port_Impl::IsLoop" ) ;
- bool RetVal = _DataFlowPort->IsLoop() ;
-// endService( "Port_Impl::IsLoop" ) ;
- return RetVal ;
-}
-
-bool Port_Impl::IsSwitch() {
-// beginService( "Port_Impl::IsSwitch" ) ;
- bool RetVal = _DataFlowPort->IsSwitch() ;
-// endService( "Port_Impl::IsSwitch" ) ;
- return RetVal ;
-}
-
-bool Port_Impl::IsEndSwitch() {
-// beginService( "Port_Impl::IsEndSwitch" ) ;
- bool RetVal = _DataFlowPort->IsEndSwitch() ;
-// endService( "Port_Impl::IsEndSwitch" ) ;
- return RetVal ;
-}
-
-bool Port_Impl::IsDataStream() {
-// beginService( "Port_Impl::IsDataStream" ) ;
- bool RetVal = _DataFlowPort->IsDataStream() ;
-// endService( "Port_Impl::IsDataStream" ) ;
- return RetVal ;
-}
-
-bool Port_Impl::HasInput() {
-// beginService( "Port_Impl::" ) ;
- bool RetVal = false ;
- if ( _DataFlowNode ) {
- RetVal = _DataFlowNode->HasInput( _DataFlowPort->PortName() ) ;
-// cout << "Port_Impl::HasInput " << RetVal << " NodeName " << _DataFlowPort->NodeName() << " PortName "
-// << _DataFlowPort->PortName() << endl ;
- }
-// endService( "Port_Impl::" ) ;
- return RetVal ;
-}
-
-SUPERV::GraphState Port_Impl::State() {
-// beginService( "Port_Impl::State" );
- SUPERV::GraphState RetVal = SUPERV::EditingState ;
- if ( _DataFlowEditor ) {
- GraphExecutor::DataFlow * _DataFlowExecutor = _DataFlowEditor->Executor() ;
- if ( _DataFlowExecutor ) {
- RetVal = _DataFlowExecutor->State( _DataFlowPort->NodeName() ,
- _DataFlowPort->PortName() ) ;
- }
- }
-// endService( "Port_Impl::State" );
- return RetVal ;
-}
-
-bool Port_Impl::IsDone() {
-// beginService( "Port_Impl::IsDone" );
- bool RetVal = false ;
- if ( _DataFlowEditor ) {
- GraphExecutor::DataFlow * _DataFlowExecutor = _DataFlowEditor->Executor() ;
- if ( _DataFlowExecutor ) {
- RetVal = _DataFlowExecutor->IsDone( _DataFlowPort->NodeName() ,
- _DataFlowPort->PortName() ) ;
- }
- }
-// endService( "Port_Impl::IsDone" );
- return RetVal ;
-}
-
+++ /dev/null
-// SUPERV Supervision : contains the implementation of interfaces of SuperVision described in SUPERV.idl
-//
-// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
-// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
-//
-// This library is free software; you can redistribute it and/or
-// modify it under the terms of the GNU Lesser General Public
-// License as published by the Free Software Foundation; either
-// version 2.1 of the License.
-//
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-// Lesser General Public License for more details.
-//
-// You should have received a copy of the GNU Lesser General Public
-// License along with this library; if not, write to the Free Software
-// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-//
-// See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
-//
-//
-//
-// File : Port_Impl.hxx
-// Author : Jean Rahuel
-// Module : SUPERV
-// $Header:
-
-#ifndef _PORT_IMPL_HXX_
-#define _PORT_IMPL_HXX_
-
-#include <sstream>
-#include <iostream>
-
-#include "CORBA.h"
-
-#include <SALOMEconfig.h>
-#include "SALOME_Component_i.hxx"
-#include "SALOME_LifeCycleCORBA.hxx"
-
-#include "Value_Impl.hxx"
-#include "Link_Impl.hxx"
-#include "FNode_Impl.hxx"
-
-#include "DataFlowEditor_DataFlow.hxx"
-
-class Port_Impl : public Value_Impl ,
- public POA_SUPERV::Port {
- private:
-
- CORBA::ORB_ptr _Orb ;
- PortableServer::POA_ptr _Poa ;
- PortableServer::ObjectId * _ContId ;
-
- GraphEditor::DataFlow * _DataFlowEditor ;
- GraphEditor::InNode * _DataFlowNode ;
- GraphBase::Port * _DataFlowPort ;
- bool _InputPort ;
-
- public:
- Port_Impl();
- Port_Impl( CORBA::ORB_ptr orb ,
- PortableServer::POA_ptr poa ,
- PortableServer::ObjectId * contId ,
- const char *instanceName ,
- const char *interfaceName ,
- GraphEditor::DataFlow * DataFlowEditor ,
- GraphEditor::InNode * DataFlowNode ,
- GraphBase::Port * DataFlowPort ,
- bool InputPort ,
-// const char *ParameterName ,
- const CORBA::Any * anAny ) ;
- Port_Impl( CORBA::ORB_ptr orb ,
- PortableServer::POA_ptr poa ,
- PortableServer::ObjectId * contId ,
- const char *instanceName ,
- const char *interfaceName ,
- GraphEditor::DataFlow * DataFlowEditor ,
- GraphEditor::InNode * DataFlowNode ,
- GraphBase::Port * DataFlowPort ,
- bool InputPort ) ;
-// const char *ParameterName ) ;
- virtual ~Port_Impl() ;
- virtual void destroy() ;
-
- GraphEditor::DataFlow * DataFlowEditor() {
- return _DataFlowEditor ; } ;
- GraphEditor::InNode * DataFlowNode() {
- return _DataFlowNode ; } ;
- GraphBase::Port * DataFlowPort() {
- return _DataFlowPort ; } ;
-
- virtual bool Input( const SUPERV::Value_ptr aValue ) ;
- virtual bool Input( const CORBA::Any * anAny ) ;
-
- virtual char * Name() ;
- virtual char * Type() ;
-
- virtual SUPERV::CNode_ptr Node() ;
-
- virtual SUPERV::Link_ptr Link() ;
- virtual SUPERV::ListOfLinks * Links() ;
-
- virtual bool IsInput() ;
- virtual bool IsLinked() ;
- virtual bool HasInput() ;
-
- virtual SUPERV::KindOfPort Kind() ;
- virtual void SetKind( SUPERV::KindOfPort ) ;
-
- virtual bool IsParam() ;
- virtual bool IsGate() ;
- virtual bool IsInLine() ;
- virtual bool IsLoop() ;
- virtual bool IsSwitch() ;
- virtual bool IsEndSwitch() ;
- virtual bool IsDataStream() ;
-
- virtual SUPERV::GraphState State() ;
- virtual bool IsDone() ;
-
-} ;
-
-#endif
+++ /dev/null
-// SUPERV Supervision : contains the implementation of interfaces of SuperVision described in SUPERV.idl
-//
-// Copyright (C) 2003 CEA/DEN, EDF R&D
-//
-//
-//
-// File : SNode_Impl.cxx
-// Author : Jean Rahuel
-// Module : SUPERV
-// $Header:
-
-using namespace std;
-#include <stdio.h>
-#include <fstream>
-//#include <sstream>
-#include <string>
-
-//#include "utilities.h"
-
-#include "SNode_Impl.hxx"
-
-SNode_Impl::SNode_Impl() {
-}
-
-SNode_Impl::SNode_Impl( CORBA::ORB_ptr orb ,
- PortableServer::POA_ptr poa ,
- PortableServer::ObjectId * contId ,
- const char *instanceName ,
- const char *interfaceName ,
- GraphEditor::DataFlow * aDataFlowEditor ,
- const char * FuncName ,
- const SUPERV::ListOfStrings & PythonFunction ,
- const SUPERV::KindOfNode NodeKindOfNode ) :
-// Engines_Component_i(orb, poa, contId, instanceName, interfaceName, false, false) {
- GNode_Impl( orb , poa , contId , instanceName , interfaceName , aDataFlowEditor , FuncName , PythonFunction , NodeKindOfNode ) {
-// MESSAGE( NodeName << " " );
- beginService( "SNode_Impl::SNode_Impl" );
- _thisObj = this ;
- _id = _poa->activate_object(_thisObj);
- _Orb = CORBA::ORB::_duplicate(orb);
- _Poa = poa ;
- _ContId = contId ;
-// DataFlowNode( DataFlowEditor()->AddNode( NodeService , NodeComponentName ,
-// NodeInterfaceName , NodeName ,
-// NodeKindOfNode ) ) ;
-// DataFlowNode( DataFlowEditor()->AddNode( SALOME_ModuleCatalog::Service() ,
-// "" , "" , "" ,
-// NodeKindOfNode ) ) ;
- endService( "SNode_Impl::SNode_Impl" );
-}
-
-SNode_Impl::SNode_Impl( CORBA::ORB_ptr orb ,
- PortableServer::POA_ptr poa ,
- PortableServer::ObjectId * contId ,
- const char *instanceName ,
- const char *interfaceName ,
- GraphEditor::DataFlow * aDataFlowEditor ,
- GraphEditor::InNode * aDataFlowNode ) :
-// Engines_Component_i(orb, poa, contId, instanceName, interfaceName, false, false) {
- GNode_Impl( orb , poa , contId , instanceName , interfaceName , aDataFlowEditor , aDataFlowNode ) {
- MESSAGE( DataFlowNode()->Name() << " " );
- beginService( "SNode_Impl::SNode_Impl" );
- _thisObj = this ;
- _id = _poa->activate_object(_thisObj);
- _Orb = CORBA::ORB::_duplicate(orb);
- _Poa = poa ;
- _ContId = contId ;
- endService( "SNode_Impl::SNode_Impl" );
-}
-
-SNode_Impl::~SNode_Impl() {
- beginService( "SNode_Impl::~SNode_Impl" );
- endService( "SNode_Impl::~SNode_Impl" );
-}
-
-void SNode_Impl::destroy() {
- beginService( "SNode_Impl::Destroy" );
- if ( DataFlowEditor()->IsEditing() ) {
- SUPERV::GNode_ptr aCoupled = SUPERV::GNode::_narrow( Coupled() ) ;
- if ( Delete() ) {
- _poa->deactivate_object(*_id) ;
- CORBA::release(_poa) ;
- delete(_id) ;
- _thisObj->_remove_ref();
- }
- if ( !CORBA::is_nil( aCoupled ) ) {
- aCoupled->SetCoupled( "" ) ;
- aCoupled->destroy() ;
- }
- }
-// endService( "SNode_Impl::Destroy" );
-}
-
-bool SNode_Impl::Delete() {
-// beginService( "SNode_Impl::Delete" );
- bool RetVal = false ;
- if ( DataFlowEditor()->IsEditing() ) {
- RetVal = DataFlowEditor()->RemoveNode( Name() ) ;
- if ( RetVal )
- RetVal = DataFlowEditor()->IsValid() ;
- }
-// endService( "SNode_Impl::Delete" );
- return RetVal ;
-}
-
+++ /dev/null
-// SUPERV Supervision : contains the implementation of interfaces of SuperVision described in SUPERV.idl
-//
-// Copyright (C) 2003 CEA/DEN, EDF R&D
-//
-//
-//
-// File : SNode_Impl.hxx
-// Author : Jean Rahuel
-// Module : SUPERV
-// $Header:
-
-#ifndef _SNODE_IMPL_HXX_
-#define _SNODE_IMPL_HXX_
-
-//#include <iostream.h>
-
-#include "CORBA.h"
-
-#include <SALOMEconfig.h>
-#include "SALOME_Component_i.hxx"
-#include "SALOME_LifeCycleCORBA.hxx"
-
-#include "GNode_Impl.hxx"
-#include "Port_Impl.hxx"
-
-#include "DataFlowEditor_DataFlow.hxx"
-#include "DataFlowExecutor_DataFlow.hxx"
-
-class SNode_Impl : public GNode_Impl ,
- public POA_SUPERV::SNode {
- private:
-
- CORBA::ORB_ptr _Orb ;
- PortableServer::POA_ptr _Poa ;
- PortableServer::ObjectId * _ContId ;
-
- public:
- SNode_Impl();
- SNode_Impl( CORBA::ORB_ptr orb ,
- PortableServer::POA_ptr poa ,
- PortableServer::ObjectId * contId ,
- const char *instanceName ,
- const char *interfaceName ,
- GraphEditor::DataFlow * DataFlowEditor ,
- const char * FuncName ,
- const SUPERV::ListOfStrings & PythonFunction ,
- const SUPERV::KindOfNode NodeKindOfNode = SUPERV::SwitchNode ) ;
- SNode_Impl( CORBA::ORB_ptr orb ,
- PortableServer::POA_ptr poa ,
- PortableServer::ObjectId * contId ,
- const char *instanceName ,
- const char *interfaceName ,
- GraphEditor::DataFlow * DataFlowEditor ,
- GraphEditor::InNode * DataFlowNode ) ;
- virtual ~SNode_Impl() ;
- virtual void destroy() ;
- virtual bool Delete() ;
-
- virtual GraphBase::SwitchNode * BaseNode() {
- return DataFlowNode()->SwitchNode() ; } ;
-
-} ;
-
-#endif
+++ /dev/null
-"""
-
-"""
-
-# force SUPERV importation at interpretor initialization
-# see salome_shared_modules.py
-# (avoids incomplete import at run time)
-
-print "============== import SUPERV ======================="
-
-import SUPERV
-
-# this function is required
-
-def init_shared_modules():
- """
- This function initializes shared modules that need to be
- """
- pass
+++ /dev/null
-// SUPERV Supervision : contains the implementation of interfaces of SuperVision described in SUPERV.idl
-//
-// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
-// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
-//
-// This library is free software; you can redistribute it and/or
-// modify it under the terms of the GNU Lesser General Public
-// License as published by the Free Software Foundation; either
-// version 2.1 of the License.
-//
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-// Lesser General Public License for more details.
-//
-// You should have received a copy of the GNU Lesser General Public
-// License along with this library; if not, write to the Free Software
-// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-//
-// See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
-//
-//
-//
-// File : StreamGraph_Impl.cxx
-// Author : Jean Rahuel
-// Module : SUPERV
-// $Header:
-
-using namespace std;
-
-#include "StreamGraph_Impl.hxx"
-
-StreamGraph_Impl::StreamGraph_Impl( CORBA::ORB_ptr orb ,
- PortableServer::POA_ptr poa ,
- PortableServer::ObjectId * contId ,
- const char *instanceName ,
- const char *interfaceName ,
- const char *aDataFlowName ) :
- Graph_Impl(orb, poa, contId, instanceName, interfaceName, aDataFlowName , SUPERV::DataStreamGraph ) {
-// MESSAGE("StreamGraph_Impl::StreamGraph_Impl activate object instanceName("
-// << instanceName << ") interfaceName(" << interfaceName << ") --> "
-// << hex << (void *) this << dec )
- beginService( "StreamGraph_Impl::StreamGraph_Impl" );
- _thisObj = this ;
- _id = _poa->activate_object(_thisObj);
- _Orb = CORBA::ORB::_duplicate(orb);
- _Poa = poa ;
- _ContId = contId ;
-
- endService( "StreamGraph_Impl::StreamGraph_Impl" );
-}
-
-StreamGraph_Impl::StreamGraph_Impl() {
-}
-
-StreamGraph_Impl::~StreamGraph_Impl() {
- beginService( "StreamGraph_Impl::~StreamGraph_Impl" );
- endService( "StreamGraph_Impl::~StreamGraph_Impl" );
-}
-
-void StreamGraph_Impl::destroy() {
- beginService( "StreamGraph_Impl::destroy" );
- _poa->deactivate_object(*_id) ;
- CORBA::release(_poa) ;
- delete(_id) ;
- _thisObj->_remove_ref();
- endService( "StreamGraph_Impl::destroy" );
-}
-
-SUPERV::StreamGraph_ptr StreamGraph_Impl::StreamCopy() {
- beginService( "StreamGraph_Impl::StreamCopy" );
- StreamGraph_Impl * myStreamGraph ;
- myStreamGraph = new StreamGraph_Impl( _Orb , _Poa, _ContId,
- instanceName() , interfaceName() ,
- DataFlowEditor()->Graph()->Name() ) ;
- PortableServer::ObjectId * id = myStreamGraph->getId() ;
- CORBA::Object_var obj = _poa->id_to_reference(*id);
- SUPERV::StreamGraph_var iobject ;
- iobject = SUPERV::StreamGraph::_narrow(obj) ;
- GraphBase::SGraph * aSGraph = GetGraph() ;
- myStreamGraph->LoadGraph( aSGraph ) ;
- endService( "StreamGraph_Impl::StreamCopy" );
- return SUPERV::StreamGraph::_duplicate(iobject) ;
-}
-
-SUPERV::StreamLink_ptr StreamGraph_Impl::StreamLink( SUPERV::StreamPort_ptr OutStreamPort ,
- SUPERV::StreamPort_ptr InStreamPort ) {
- beginService( "StreamGraph_Impl::StreamLink" );
- SUPERV::StreamLink_var iobject = SUPERV::StreamLink::_nil() ;
- if ( DataFlowEditor()->IsEditing() && !DataFlowEditor()->IsReadOnly() &&
- OutStreamPort->IsDataStream() && InStreamPort->IsDataStream() ) {
- GraphBase::InPort * anInPort = DataFlowEditor()->GetNode( InStreamPort->Node()->Name() )->ComputingNode()->GetChangeInPort( InStreamPort->Name() ) ;
- GraphBase::OutPort * anOutPort = DataFlowEditor()->GetNode( OutStreamPort->Node()->Name() )->ComputingNode()->GetChangeOutPort( OutStreamPort->Name() ) ;
- if ( CORBA::is_nil( anOutPort->InPortObjRef( anInPort ) ) ) {
- const char * DataFlowOutNodeName = OutStreamPort->Node()->Name() ;
- GraphEditor::InNode * DataFlowOutNode = DataFlowEditor()->GetNode( DataFlowOutNodeName ) ;
- const char * DataFlowInNodeName = InStreamPort->Node()->Name() ;
- GraphEditor::InNode * DataFlowInNode = DataFlowEditor()->GetNode( DataFlowInNodeName ) ;
- if ( DataFlowOutNode && DataFlowInNode ) {
- bool Success ;
- StreamLink_Impl * myStreamLink = new StreamLink_Impl( _Orb , _Poa , _ContId ,
- instanceName() , interfaceName() ,
- DataFlowEditor() ,
- DataFlowInNode ,
- InStreamPort->Name() ,
- DataFlowOutNode ,
- OutStreamPort->Name() ,
- true , Success ) ;
- if ( Success ) {
- PortableServer::ObjectId * id = myStreamLink->getId() ;
- CORBA::Object_var obj = _poa->id_to_reference(*id);
- iobject = SUPERV::StreamLink::_narrow(obj) ;
- anOutPort->AddInPortObjRef( anInPort , SUPERV::StreamLink::_duplicate(iobject) ) ;
- DataFlowEditor()->UnValid() ;
- }
- }
- }
- else {
- iobject = SUPERV::StreamLink::_narrow( anOutPort->InPortObjRef( anInPort ) ) ;
- }
- }
- endService( "StreamGraph_Impl::StreamLink" );
- return SUPERV::StreamLink::_duplicate(iobject) ;
-}
-
-SUPERV::ListOfStreamLinks * StreamGraph_Impl::GStreamLinks() {
- return StreamLinks( NULL , NULL ) ;
-}
-
-SUPERV::ListOfStreamLinks * StreamGraph_Impl::StreamLinks( GraphBase::ComputingNode * theNode ,
- const char * anInputParam ) {
- bool begin = true ;
- SUPERV::ListOfStreamLinks_var RetVal = new SUPERV::ListOfStreamLinks ;
- int i , j , countlink ;
- countlink = 0 ;
- for ( i = 0 ; i < DataFlowEditor()->Graph()->GraphNodesSize() ; i++ ) {
- GraphEditor::InNode * aNode = NULL ;
- aNode = (GraphEditor::InNode * ) DataFlowEditor()->Graph()->GraphNodes( i )->GetInNode() ;
- bool ToProcess = false ;
- if ( theNode == NULL ) {
- ToProcess = true ;
- }
- else {
- if ( !strcmp( theNode->Name() , aNode->Name() ) ) {
- if ( !theNode->IsEndSwitchNode() ) {
- ToProcess = true ;
- }
- }
- else if ( theNode->IsEndSwitchNode() ) {
- ToProcess = true ;
- }
- }
- if ( ToProcess ) {
- for ( j = 0 ; j < aNode->GetNodeInPortsSize() ; j++ ) {
- GraphBase::InPort * anInPort = NULL ;
- anInPort = aNode->GetChangeNodeInPort( j ) ;
- if ( anInputParam == NULL ||
- !strcmp( anInPort->PortName() , anInputParam ) ) {
- GraphBase::OutPort * anOutPort = NULL ;
- anOutPort = anInPort->GetOutPort() ;
- if ( anOutPort && anOutPort->IsDataStream() ) {
- if ( strcmp( anOutPort->NodeName() , Name() ) ) {
- MESSAGE("StreamGraph_Impl::StreamLinks " << anOutPort->NodeName() << "("
- << anOutPort->PortName() << ") --> " << aNode->Name() << "("
- << anInPort->PortName() << ")" ) ;
- if ( theNode == NULL ||
- ( theNode != NULL && !theNode->IsEndSwitchNode() &&
- !strcmp( theNode->Name() , aNode->Name() ) ) ) {
- if ( anInPort->IsLoop() || anOutPort->IsLoop() ||
- ( aNode->IsEndLoopNode() && !strcmp( aNode->CoupledNode()->Name() ,
- anOutPort->NodeName() ) ) ) {
- MESSAGE( "StreamLink " << anOutPort->NodeName() << "("
- << anOutPort->PortName() << ") --> " << aNode->Name() << "("
- << anInPort->PortName() << ")" << " ignored" ) ;
- }
- else if ( CORBA::is_nil( anOutPort->InPortObjRef( anInPort ) ) ) {
- if ( begin ) {
- beginService( "StreamGraph_Impl::StreamLinks" );
- begin = false ;
- }
- GraphEditor::InNode * anOutNode = NULL ;
- anOutNode = (GraphEditor::InNode * ) DataFlowEditor()->Graph()->GetChangeGraphNode( anOutPort->NodeName() )->GetInNode() ;
- if ( anOutNode ) {
- bool Success ;
- StreamLink_Impl * myStreamLink = new StreamLink_Impl(
- _Orb , _Poa , _ContId ,
- instanceName() , interfaceName() ,
- DataFlowEditor() ,
- aNode ,
- anInPort->PortName() ,
- anOutNode ,
- anOutPort->PortName() ,
- false , Success ) ;
- if ( Success ) {
- PortableServer::ObjectId * id = myStreamLink->getId() ;
- CORBA::Object_var obj = _poa->id_to_reference(*id);
- SUPERV::StreamLink_var iobject ;
- iobject = SUPERV::StreamLink::_narrow(obj) ;
- RetVal->length( countlink + 1 ) ;
- RetVal[ countlink++ ] = SUPERV::StreamLink::_duplicate( iobject ) ;
- anOutPort->AddInPortObjRef( anInPort , SUPERV::StreamLink::_duplicate( iobject ) ) ;
- MESSAGE( "Link" << countlink-1 << " "
- << RetVal[countlink-1]->OutStreamPort()->Node()->Name() << "("
- << RetVal[countlink-1]->OutStreamPort()->Name() << ") --> "
- << RetVal[countlink-1]->InStreamPort()->Node()->Name() << "("
- << RetVal[countlink-1]->InStreamPort()->Name() << ")" ) ;
- }
- }
- }
- else {
- RetVal->length( countlink + 1 ) ;
- RetVal[ countlink++ ] = SUPERV::StreamLink::_duplicate( SUPERV::StreamLink::_narrow( anOutPort->InPortObjRef( anInPort ) ) ) ;
- MESSAGE( "Link" << countlink-1 << " "
- << RetVal[countlink-1]->OutStreamPort()->Node()->Name() << "("
- << RetVal[countlink-1]->OutStreamPort()->Name() << ") --> "
- << RetVal[countlink-1]->InStreamPort()->Node()->Name() << "("
- << RetVal[countlink-1]->InStreamPort()->Name() << ")" ) ;
- }
- }
- }
- }
- }
- }
- }
- for ( j = 0 ; j < aNode->GetNodeOutPortsSize() ; j++ ) {
- GraphBase::OutPort * anOutPort = aNode->GetChangeNodeOutPort( j ) ;
- int k ;
- for ( k = 0 ; k < anOutPort->InPortsSize() ; k++ ) {
- GraphBase::InPort * anInPort = anOutPort->ChangeInPorts( k ) ;
- GraphEditor::InNode * toNode = (GraphEditor::InNode * ) DataFlowEditor()->Graph()->GetChangeGraphNode( anInPort->NodeName() )->GetInNode() ;
- if ( theNode == NULL ||
- !strcmp( theNode->Name() , aNode->Name() ) ) {
- if ( anInPort->IsDataStream() ) {
- if ( theNode || ( toNode->IsEndSwitchNode() && !aNode->IsSwitchNode() ) ) {
- if ( anInputParam == NULL ||
- !strcmp( anInPort->PortName() , anInputParam ) ) {
- MESSAGE( "StreamLink " << anOutPort->NodeName() << "("
- << anOutPort->PortName() << ") --> " << toNode->Name() << "("
- << anInPort->PortName() << ")" ) ;
- MESSAGE( " IOR " << DataFlowEditor()->ObjectToString( anOutPort->InPortObjRef( anInPort ) ) ) ;
- if ( anInPort->IsLoop() || anOutPort->IsLoop() ||
- ( toNode->IsEndLoopNode() && !strcmp( toNode->CoupledNode()->Name() ,
- anOutPort->NodeName() ) ) ) {
- MESSAGE( "StreamLink " << anOutPort->NodeName() << "("
- << anOutPort->PortName() << ") --> " << toNode->Name() << "("
- << anInPort->PortName() << ")" << " ignored" ) ;
- }
- else if ( CORBA::is_nil( anOutPort->InPortObjRef( anInPort ) ) ) {
- if ( begin ) {
- beginService( "Graph_Impl::StreamLinks" );
- begin = false ;
- }
- bool Success ;
- StreamLink_Impl * myStreamLink = new StreamLink_Impl(
- _Orb , _Poa , _ContId ,
- instanceName() , interfaceName() ,
- DataFlowEditor() ,
- toNode ,
- anInPort->PortName() ,
- aNode ,
- anOutPort->PortName() ,
- false , Success ) ;
- if ( Success ) {
- PortableServer::ObjectId * id = myStreamLink->getId() ;
- CORBA::Object_var obj = _poa->id_to_reference(*id);
- SUPERV::StreamLink_var iobject ;
- iobject = SUPERV::StreamLink::_narrow(obj) ;
- RetVal->length( countlink + 1 ) ;
- RetVal[ countlink++ ] = SUPERV::StreamLink::_duplicate( iobject ) ;
- anOutPort->AddInPortObjRef( anInPort , SUPERV::StreamLink::_duplicate( iobject ) ) ;
- MESSAGE( "Link" << countlink-1 << " "
- << RetVal[countlink-1]->OutStreamPort()->Node()->Name() << "("
- << RetVal[countlink-1]->OutStreamPort()->Name() << ") --> "
- << RetVal[countlink-1]->InStreamPort()->Node()->Name() << "("
- << RetVal[countlink-1]->InStreamPort()->Name() << ")" ) ;
- }
- }
- else {
- RetVal->length( countlink + 1 ) ;
- RetVal[ countlink++ ] = SUPERV::StreamLink::_duplicate( SUPERV::StreamLink::_narrow( anOutPort->InPortObjRef( anInPort ) ) ) ;
- MESSAGE( "Link" << countlink-1 << " "
- << RetVal[countlink-1]->OutStreamPort()->Node()->Name() << "("
- << RetVal[countlink-1]->OutStreamPort()->Name() << ") --> "
- << RetVal[countlink-1]->InStreamPort()->Node()->Name() << "("
- << RetVal[countlink-1]->InStreamPort()->Name() << ")" ) ;
- }
- }
- else {
- MESSAGE( "StreamLink " << anOutPort->NodeName() << "("
- << anOutPort->PortName() << ") --> " << toNode->Name() << "("
- << anInPort->PortName() << ")" << " skipped" ) ;
- }
- }
- }
- }
- }
- }
- }
-//#if 0
- const char * NodeName = "" ;
- const char * InputParamName = "" ;
- if ( theNode ) {
- NodeName = theNode->Name() ;
- }
- if ( anInputParam ) {
- InputParamName = anInputParam ;
- }
- MESSAGE( RetVal->length() << " StreamLinks of Node " << NodeName << " and of InPort " << InputParamName ) ;
- for ( i = 0 ; i < (int ) RetVal->length() ; i++ ) {
- MESSAGE( "Link" << i << " " << RetVal[i]->OutStreamPort()->Node()->Name() << "("
- << RetVal[i]->OutStreamPort()->Name() << ") --> "
- << RetVal[i]->InStreamPort()->Node()->Name() << "("
- << RetVal[i]->InStreamPort()->Name() << ")" ) ;
- }
-//#endif
- if ( !begin ) {
- endService( "StreamGraph_Impl::StreamLinks" );
- }
- return ( RetVal._retn() ) ;
-}
-
-bool StreamGraph_Impl::SetStreamParams( const long Timeout ,
- const SUPERV::KindOfDataStreamTrace DataStreamTrace ,
- const double DeltaTime ) {
- bool sts = DataFlowEditor()->StreamGraph()->SetStreamParams( Timeout , DataStreamTrace , DeltaTime ) ;
- if ( sts ) {
- DataFlowEditor()->UnValid() ;
- }
- return sts ;
-}
-
-void StreamGraph_Impl::StreamParams( long & Timeout ,
- SUPERV::KindOfDataStreamTrace & DataStreamTrace ,
- double & DeltaTime ) {
- DataFlowEditor()->StreamGraph()->StreamParams( Timeout , DataStreamTrace , DeltaTime ) ;
-}
-
-long StreamGraph_Impl::SubStreamGraphsNumber() {
-// beginService( "StreamGraph_Impl::StreamGraphsNumber" );
- long RetVal = 0 ;
- if ( DataFlowEditor()->IsExecutable() ) {
- RetVal = DataFlowEditor()->SubStreamGraphsNumber() ;
- }
-// endService( "StreamGraph_Impl::SubStreamGraphsNumber" );
- return RetVal ;
-}
-
-SUPERV::ListOfNodes * StreamGraph_Impl::SubStreamGraphsNodes( const long aSubStreamGraphNumber ) {
- beginService( "StreamGraph_Impl::SubStreamGraphsNodes" );
- SUPERV::ListOfNodes_var RetVal = new SUPERV::ListOfNodes ;
- if ( DataFlowEditor()->IsEditing() ) {
- SUPERV::ListOfNodes * aGraphNodes = Nodes() ;
- int i ;
-// ComputingNodes
- for ( i = 0 ; i < (int ) aGraphNodes->CNodes.length() ; i++ ) {
- SUPERV::CNode_var aNode = (aGraphNodes->CNodes)[ i ] ;
- if ( aNode->SubStreamGraph() == aSubStreamGraphNumber ) {
- RetVal = SetNode( RetVal , DataFlowEditor()->Graph()->GetChangeGraphNode( aNode->Name() ) ) ;
- }
- }
-// FactoryNodes
- for ( i = 0 ; i < (int ) aGraphNodes->FNodes.length() ; i++ ) {
- SUPERV::FNode_var aNode = (aGraphNodes->FNodes)[ i ] ;
- if ( aNode->SubStreamGraph() == aSubStreamGraphNumber ) {
- RetVal = SetNode( RetVal , DataFlowEditor()->Graph()->GetChangeGraphNode( aNode->Name() ) ) ;
- }
- }
-// InLineNodes
- for ( i = 0 ; i < (int ) aGraphNodes->INodes.length() ; i++ ) {
- SUPERV::INode_var aNode = (aGraphNodes->INodes)[ i ] ;
- if ( aNode->SubStreamGraph() == aSubStreamGraphNumber ) {
- RetVal = SetNode( RetVal , DataFlowEditor()->Graph()->GetChangeGraphNode( aNode->Name() ) ) ;
- }
- }
-// GOTONodes
- for ( i = 0 ; i < (int ) aGraphNodes->GNodes.length() ; i++ ) {
- SUPERV::GNode_var aNode = (aGraphNodes->GNodes)[ i ] ;
- if ( aNode->SubStreamGraph() == aSubStreamGraphNumber ) {
- RetVal = SetNode( RetVal , DataFlowEditor()->Graph()->GetChangeGraphNode( aNode->Name() ) ) ;
- }
- }
-// LoopNodes
- for ( i = 0 ; i < (int ) aGraphNodes->LNodes.length() ; i++ ) {
- SUPERV::LNode_var aNode = (aGraphNodes->LNodes)[ i ] ;
- if ( aNode->SubStreamGraph() == aSubStreamGraphNumber ) {
- RetVal = SetNode( RetVal , DataFlowEditor()->Graph()->GetChangeGraphNode( aNode->Name() ) ) ;
- }
- }
-// EndLoopNodes
- for ( i = 0 ; i < (int ) aGraphNodes->ELNodes.length() ; i++ ) {
- SUPERV::ELNode_var aNode = (aGraphNodes->ELNodes)[ i ] ;
- if ( aNode->SubStreamGraph() == aSubStreamGraphNumber ) {
- RetVal = SetNode( RetVal , DataFlowEditor()->Graph()->GetChangeGraphNode( aNode->Name() ) ) ;
- }
- }
-// SwitchNodes
- for ( i = 0 ; i < (int ) aGraphNodes->SNodes.length() ; i++ ) {
- SUPERV::SNode_var aNode = (aGraphNodes->SNodes)[ i ] ;
- if ( aNode->SubStreamGraph() == aSubStreamGraphNumber ) {
- RetVal = SetNode( RetVal , DataFlowEditor()->Graph()->GetChangeGraphNode( aNode->Name() ) ) ;
- }
- }
-// EndSwitchNodes
- for ( i = 0 ; i < (int ) aGraphNodes->ESNodes.length() ; i++ ) {
- SUPERV::ESNode_var aNode = (aGraphNodes->ESNodes)[ i ] ;
- if ( aNode->SubStreamGraph() == aSubStreamGraphNumber ) {
- RetVal = SetNode( RetVal , DataFlowEditor()->Graph()->GetChangeGraphNode( aNode->Name() ) ) ;
- }
- }
- }
- endService( "StreamGraph_Impl::SubStreamGraphsNodes" );
- return ( RetVal._retn() ) ;
-}
-
-SUPERV::Graph_ptr StreamGraph_Impl::ToFlowGraph() {
- SUPERV::Graph_var iobject = SUPERV::Graph::_nil() ;
- beginService( "StreamGraph_Impl::ToFlowGraph" );
-// Graph_Impl * myFlowGraph = new Graph_Impl( _Orb , _Poa , _ContId ,
-// instanceName() , interfaceName() ) ;
-// PortableServer::ObjectId * id = myFlowGraph->getId() ;
-// CORBA::Object_var obj = _poa->id_to_reference(*id);
- if ( !CORBA::is_nil( DataFlowEditor()->StreamGraph()->ObjRef() ) ) {
- iobject = SUPERV::Graph::_narrow( DataFlowEditor()->StreamGraph()->ObjRef() ) ;
- }
- endService( "StreamGraph_Impl::ToFlowGraph" );
- return SUPERV::Graph::_duplicate( iobject ) ;
-}
-
-bool StreamGraph_Impl::StreamMerge(const SUPERV::StreamGraph_ptr aStreamGraph ) {
- beginService( "StreamGraph_Impl::StreamMerge" );
- map< string , int > aMapOfNodes ;
- bool RetVal = Merge( aStreamGraph , aMapOfNodes ) ;
- if ( RetVal ) {
- SUPERV::ListOfStreamLinks * aGraphLinks = aStreamGraph->GStreamLinks() ;
- SUPERV::ListOfStreamPorts * aGraphPorts = aStreamGraph->StreamPorts() ;
- cout << "Graph_Impl::Merge " << aGraphLinks->length() << " links " << aGraphPorts->length() << " GraphPorts"
- << endl ;
- int i ;
- for ( i = 0 ; i < (int ) aGraphLinks->length() ; i++ ) {
- SUPERV::StreamLink_var aLink = (*aGraphLinks)[ i ] ;
- SUPERV::StreamPort_var OutPort = aLink->OutStreamPort() ;
- SUPERV::StreamPort_var InPort = aLink->InStreamPort() ;
- string * aLinkFromNodeName = new string( OutPort->Node()->Name() ) ;
- string * aLinkToNodeName = new string( InPort->Node()->Name() ) ;
- cout << "Graph_Impl::Merge " << aLinkFromNodeName << "(" << OutPort->Name() << ") ---> "
- << aLinkToNodeName << "(" << InPort->Name() << ")" << endl ;
- RetVal = DataFlowEditor()->AddLink( DataFlowEditor()->Graph()->GetGraphNode( aMapOfNodes[ aLinkFromNodeName->c_str() ] )->Name() ,
- OutPort->Name() ,
- DataFlowEditor()->Graph()->GetGraphNode( aMapOfNodes[ aLinkToNodeName->c_str() ] )->Name() ,
- InPort->Name() ) ;
- cout << "Graph_Impl::Merge " << aLinkFromNodeName << "(" << OutPort->Name() << ") ---> "
- << aLinkToNodeName << "(" << InPort->Name() << ") RetVal" << RetVal << endl ;
- if ( RetVal ) {
- int j ;
- for ( j = 1 ; j <= aLink->CoordsSize() ; j++ ) {
- long X , Y ;
- RetVal = aLink->Coords( j , X , Y ) ;
- if ( !RetVal )
- break ;
- RetVal = DataFlowEditor()->AddLinkCoord( DataFlowEditor()->Graph()->GetGraphNode( aMapOfNodes[ aLinkFromNodeName->c_str() ] )->Name() ,
- OutPort->Name() ,
- DataFlowEditor()->Graph()->GetGraphNode( aMapOfNodes[ aLinkToNodeName->c_str() ] )->Name() ,
- InPort->Name() ,
- j , X , Y ) ;
- if ( !RetVal ) {
- break ;
- }
- }
- }
- delete aLinkFromNodeName ;
- delete aLinkToNodeName ;
- if ( !RetVal ) {
- break ;
- }
- }
- if ( RetVal ) {
- for ( i = 0 ; i < (int ) aGraphPorts->length() ; i++ ) {
- SUPERV::StreamPort_var aPort = (*aGraphPorts)[ i ] ;
- if ( !aPort->IsGate() ) {
- MESSAGE( "Graph_Impl::Merge " << i << ". " << aPort->Node()->Name() << " " << aPort->Name() ) ;
- char * aPortName = aPort->Name() ;
- char * aNodeName = new char[ strlen( aPortName ) + 1 ] ;
- strcpy( aNodeName , aPortName ) ;
- char * thePortName = strchr( aNodeName , '\\' ) ;
- thePortName[ 0 ] = '\0' ;
- bool hasinput = aStreamGraph->Node( aNodeName )->Port( thePortName + 1 )->HasInput() ;
-// cout << "Graph_Impl::Merge " << " aNodeName " << aNodeName << " aPort " << thePortName + 1
-// << " HasInput " << hasinput << endl ;
- if ( hasinput ) {
- RetVal = DataFlowEditor()->AddInputData( DataFlowEditor()->StreamGraph()->GetGraphNode( aMapOfNodes[ aNodeName ] )->Name() ,
- thePortName + 1 ,
- *(aPort->ToAny()) ) ;
- }
- delete [] aNodeName ;
- if ( !RetVal ) {
- break ;
- }
- }
- }
- }
- }
- endService( "StreamGraph_Impl::StreamMerge" );
- return RetVal ;
-}
-
+++ /dev/null
-// SUPERV Supervision : contains the implementation of interfaces of SuperVision described in SUPERV.idl
-//
-// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
-// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
-//
-// This library is free software; you can redistribute it and/or
-// modify it under the terms of the GNU Lesser General Public
-// License as published by the Free Software Foundation; either
-// version 2.1 of the License.
-//
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-// Lesser General Public License for more details.
-//
-// You should have received a copy of the GNU Lesser General Public
-// License along with this library; if not, write to the Free Software
-// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-//
-// See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
-//
-//
-//
-// File : StreamGraph_Impl.hxx
-// Author : Jean Rahuel
-// Module : SUPERV
-// $Header:
-
-#ifndef _STREAMGRAPH_IMPL_HXX_
-#define _STREAMGRAPH_IMPL_HXX_
-
-//#include <iostream.h>
-
-#include "CORBA.h"
-
-#include <SALOMEconfig.h>
-#include "SALOME_Component_i.hxx"
-#include "SALOME_LifeCycleCORBA.hxx"
-
-#include "Graph_Impl.hxx"
-
-class StreamGraph_Impl : public Graph_Impl ,
- public POA_SUPERV::StreamGraph {
- private:
-
- CORBA::ORB_ptr _Orb ;
- PortableServer::POA_ptr _Poa ;
- PortableServer::ObjectId * _ContId ;
-
- public:
- StreamGraph_Impl();
- StreamGraph_Impl( CORBA::ORB_ptr orb ,
- PortableServer::POA_ptr poa ,
- PortableServer::ObjectId * contId ,
- const char *instanceName ,
- const char *interfaceName ,
- const char *aDataFlowName ) ;
-
- virtual ~StreamGraph_Impl() ;
- virtual void destroy() ;
-
- virtual SUPERV::StreamGraph_ptr StreamCopy() ;
-
- virtual SUPERV::StreamLink_ptr StreamLink( SUPERV::StreamPort_ptr OutStreamPort ,
- SUPERV::StreamPort_ptr InStreamPort ) ;
-
- virtual SUPERV::ListOfStreamLinks * GStreamLinks() ;
-
- virtual SUPERV::ListOfStreamLinks * StreamLinks( GraphBase::ComputingNode * aNode ,
- const char * anInputParam ) ;
-
- virtual bool SetStreamParams( const long Timeout ,
- const SUPERV::KindOfDataStreamTrace DataStreamTrace ,
- const double DeltaTime ) ;
- virtual void StreamParams( long & Timeout ,
- SUPERV::KindOfDataStreamTrace & DataStreamTrace ,
- double & DeltaTime ) ;
-
- virtual long SubStreamGraphsNumber() ;
- virtual SUPERV::ListOfNodes * SubStreamGraphsNodes( const long aSubStreamGraphNumber ) ;
-
- virtual SUPERV::Graph_ptr ToFlowGraph() ;
-
- bool StreamMerge( const SUPERV::StreamGraph_ptr aStreamGraph ) ;
-
-};
-
-
-#endif
+++ /dev/null
-// SUPERV Supervision : contains the implementation of interfaces of SuperVision described in SUPERV.idl
-//
-// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
-// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
-//
-// This library is free software; you can redistribute it and/or
-// modify it under the terms of the GNU Lesser General Public
-// License as published by the Free Software Foundation; either
-// version 2.1 of the License.
-//
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-// Lesser General Public License for more details.
-//
-// You should have received a copy of the GNU Lesser General Public
-// License along with this library; if not, write to the Free Software
-// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-//
-// See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
-//
-//
-//
-// File : StreamLink_Impl.cxx
-// Author : Jean Rahuel
-// Module : SUPERV
-// $Header:
-
-using namespace std;
-
-#include "StreamLink_Impl.hxx"
-
-StreamLink_Impl::StreamLink_Impl( CORBA::ORB_ptr orb ,
- PortableServer::POA_ptr poa ,
- PortableServer::ObjectId * contId ,
- const char *instanceName ,
- const char *interfaceName ,
- GraphEditor::DataFlow * DataFlowEditor ,
- GraphEditor::InNode * DataFlowNode ,
- const char *InputParameterName ,
- GraphEditor::InNode * DataFlowOutNode ,
- const char *OutputParameterName ,
- const bool Create ,
- bool & Success ) :
- Link_Impl( orb , poa , contId , instanceName , interfaceName , DataFlowEditor ,
- DataFlowNode , InputParameterName , DataFlowOutNode ,
- OutputParameterName , false , false , Success ) {
-// MESSAGE("StreamLink_Impl::StreamLink_Impl activate object instanceName("
-// << instanceName << ") interfaceName(" << interfaceName << ") --> "
-// << hex << (void *) this << dec )
-// bool linksts ;
-// beginService( "StreamLink_Impl::Link_Impl" );
- _Orb = CORBA::ORB::_duplicate(orb);
- _Poa = poa ;
- _ContId = contId ;
- if ( Create ) {
- Success = DataFlowEditor->AddLink( DataFlowOutNode->Name() ,
- OutputParameterName ,
- DataFlowNode->Name() ,
- InputParameterName ) ;
- }
- else {
- char * DataFlowOutNodeName = NULL ;
- char * OutParamName = NULL ;
- Success = DataFlowEditor->GetLink( DataFlowNode->Name() ,
- InputParameterName ,
- &DataFlowOutNodeName ,
- &OutParamName ) ;
- }
- _thisObj = this ;
- _id = _poa->activate_object(_thisObj);
-// endService( "StreamLink_Impl::Link_Impl" );
-}
-
-StreamLink_Impl::StreamLink_Impl() {
-}
-
-StreamLink_Impl::~StreamLink_Impl() {
- beginService( "Link_Impl::~Link_Impl" );
- endService( "Link_Impl::~Link_Impl" );
-}
-
-void StreamLink_Impl::destroy() {
- beginService( "StreamLink_Impl::destroy" );
- Delete() ;
- _poa->deactivate_object(*_id) ;
- CORBA::release(_poa) ;
- delete(_id) ;
- _thisObj->_remove_ref();
- endService( "StreamLink_Impl::destroy" );
-}
-
-bool StreamLink_Impl::Delete() {
-// beginService( "StreamLink_Impl::Delete" ) ;
- bool RetVal = DataFlowEditor()->RemoveLink( DataFlowOutNode()->Name() ,
- OutputParameterName() ,
- DataFlowNode()->Name() ,
- InputParameterName() ) ;
- if ( RetVal ) {
- DataFlowEditor()->UnValid() ;
- }
-// endService( "StreamLink_Impl::Delete" );
- return RetVal ;
-}
-
-SUPERV::StreamPort_ptr StreamLink_Impl::InStreamPort() {
-// beginService( "Link_Impl::InStreamPort" );
- SUPERV::StreamPort_var iobject = SUPERV::StreamPort::_nil() ;
- GraphBase::InPort * anInPort = DataFlowNode()->GetChangeInPort( InputParameterName() ) ;
- if ( anInPort && anInPort->IsDataStream() ) {
- iobject = SUPERV::StreamPort::_narrow( anInPort->ObjRef() ) ;
- if ( CORBA::is_nil( iobject ) ) {
-// MESSAGE( "StreamLink_Impl::InStreamPort creates myStreamPort "
-// << DataFlowNode()->Name() << "( " << anInPort->PortName() << " )" ) ;
- StreamPort_Impl * myStreamPort = new StreamPort_Impl(
- _Orb , _Poa , _ContId ,
- instanceName() , interfaceName() ,
- DataFlowEditor() ,
- DataFlowNode() ,
- (GraphBase::Port * ) anInPort ,
- true ) ;
- PortableServer::ObjectId * id = myStreamPort->getId() ;
- CORBA::Object_var obj = _poa->id_to_reference(*id);
- iobject = SUPERV::StreamPort::_narrow(obj) ;
- anInPort->ObjRef( SUPERV::StreamPort::_duplicate( iobject ) ) ;
- }
- else {
-// MESSAGE( "StreamLink_Impl::InStreamPort Gets ObjRef "
-// << iobject->Node()->Name() << "( " << iobject->Name() << " )" ) ;
- }
- }
-// endService( "StreamLink_Impl::InStreamPort" );
- return SUPERV::StreamPort::_duplicate( iobject ) ;
-}
-
-SUPERV::StreamPort_ptr StreamLink_Impl::OutStreamPort() {
-// beginService( "StreamLink_Impl::OutStreamPort" );
- SUPERV::StreamPort_var iobject ;
- GraphBase::OutPort * anOutPort = DataFlowOutNode()->GetChangeOutPort( OutputParameterName() ) ;
- if ( anOutPort && anOutPort->IsDataStream() ) {
- iobject = SUPERV::StreamPort::_narrow( anOutPort->ObjRef() ) ;
- if ( CORBA::is_nil( iobject ) ) {
-// MESSAGE( "StreamLink_Impl::OutStreamPort creates myStreamPort "
-// << DataFlowNode()->Name() << "( " << anOutPort->PortName() << " )" ) ;
- StreamPort_Impl * myStreamPort = new StreamPort_Impl(
- _Orb , _Poa , _ContId ,
- instanceName() , interfaceName() ,
- DataFlowEditor() ,
- DataFlowOutNode() ,
- (GraphBase::Port * ) anOutPort ,
- false ) ;
- PortableServer::ObjectId * id = myStreamPort->getId() ;
- CORBA::Object_var obj = _poa->id_to_reference(*id);
- iobject = SUPERV::StreamPort::_narrow(obj) ;
- anOutPort->ObjRef( SUPERV::StreamPort::_duplicate( iobject ) ) ;
- }
- else {
-// MESSAGE( "StreamLink_Impl::OutStreamPort Gets ObjRef "
-// << iobject->Node()->Name() << "( " << iobject->Name() << " )" ) ;
- }
- }
-// endService( "StreamLink_Impl::OutStreamPort" );
- return SUPERV::StreamPort::_duplicate( iobject ) ;
-}
-
+++ /dev/null
-// SUPERV Supervision : contains the implementation of interfaces of SuperVision described in SUPERV.idl
-//
-// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
-// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
-//
-// This library is free software; you can redistribute it and/or
-// modify it under the terms of the GNU Lesser General Public
-// License as published by the Free Software Foundation; either
-// version 2.1 of the License.
-//
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-// Lesser General Public License for more details.
-//
-// You should have received a copy of the GNU Lesser General Public
-// License along with this library; if not, write to the Free Software
-// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-//
-// See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
-//
-//
-//
-// File : StreamLink_Impl.hxx
-// Author : Jean Rahuel
-// Module : SUPERV
-// $Header:
-
-#ifndef _STREAMLINK_IMPL_HXX_
-#define _STREAMLINK_IMPL_HXX_
-
-#include "StreamPort_Impl.hxx"
-
-#include "Link_Impl.hxx"
-
-class StreamLink_Impl : public POA_SUPERV::StreamLink ,
- public Link_Impl {
- private:
-
- CORBA::ORB_ptr _Orb ;
- PortableServer::POA_ptr _Poa ;
- PortableServer::ObjectId * _ContId ;
-
- public:
- StreamLink_Impl();
- StreamLink_Impl( CORBA::ORB_ptr orb ,
- PortableServer::POA_ptr poa ,
- PortableServer::ObjectId * contId ,
- const char *instanceName ,
- const char *interfaceName ,
- GraphEditor::DataFlow * DataFlowEditor ,
- GraphEditor::InNode * DataFlowNode ,
- const char *InputParameterName ,
- GraphEditor::InNode * DataFlowOutNode ,
- const char *OutputParameterName ,
- const bool Create ,
- bool & Success ) ;
-
- virtual ~StreamLink_Impl() ;
- virtual void destroy() ;
- virtual bool Delete() ;
-
- SUPERV::StreamPort_ptr OutStreamPort() ;
- SUPERV::StreamPort_ptr InStreamPort() ;
-
-} ;
-
-#endif
+++ /dev/null
-// SUPERV Supervision : contains the implementation of interfaces of SuperVision described in SUPERV.idl
-//
-// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
-// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
-//
-// This library is free software; you can redistribute it and/or
-// modify it under the terms of the GNU Lesser General Public
-// License as published by the Free Software Foundation; either
-// version 2.1 of the License.
-//
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-// Lesser General Public License for more details.
-//
-// You should have received a copy of the GNU Lesser General Public
-// License along with this library; if not, write to the Free Software
-// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-//
-// See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
-//
-//
-//
-// File : StreamPort_Impl.cxx
-// Author : Jean Rahuel
-// Module : SUPERV
-// $Header:
-
-using namespace std;
-
-#include "StreamPort_Impl.hxx"
-
-StreamPort_Impl::StreamPort_Impl( CORBA::ORB_ptr orb ,
- PortableServer::POA_ptr poa ,
- PortableServer::ObjectId * contId ,
- const char *instanceName ,
- const char *interfaceName ,
- GraphEditor::DataFlow * DataFlowEditor ,
- GraphEditor::InNode * DataFlowNode ,
- GraphBase::Port * DataFlowPort ,
- bool InputPort ,
- const CORBA::Any * anAny ) :
- Port_Impl( orb , poa , contId , instanceName , interfaceName ,
- DataFlowEditor , DataFlowNode , DataFlowPort , InputPort , anAny ) {
-// MESSAGE("StreamPort_Impl::StreamPort_Impl activate object instanceName("
-// << instanceName << ") interfaceName(" << interfaceName << ") --> "
-// << hex << (void *) this << dec )
- _Orb = CORBA::ORB::_duplicate(orb);
- _Poa = poa ;
- _ContId = contId ;
- _thisObj = this ;
- _id = _poa->activate_object(_thisObj);
-}
-
-StreamPort_Impl::StreamPort_Impl( CORBA::ORB_ptr orb ,
- PortableServer::POA_ptr poa ,
- PortableServer::ObjectId * contId ,
- const char *instanceName ,
- const char *interfaceName ,
- GraphEditor::DataFlow * DataFlowEditor ,
- GraphEditor::InNode * DataFlowNode ,
- GraphBase::Port * DataFlowPort ,
- bool InputPort ) :
- Port_Impl( orb , poa , contId , instanceName , interfaceName ,
- DataFlowEditor , DataFlowNode , DataFlowPort , InputPort ) {
-// MESSAGE("StreamPort_Impl::StreamPorte_Impl activate object instanceName("
-// << instanceName << ") interfaceName(" << interfaceName << ") --> "
-// << hex << (void *) this << dec )
- _Orb = CORBA::ORB::_duplicate(orb);
- _Poa = poa ;
- _ContId = contId ;
- _thisObj = this ;
- _id = _poa->activate_object(_thisObj);
-}
-
-StreamPort_Impl::StreamPort_Impl() {
-}
-
-StreamPort_Impl::~StreamPort_Impl() {
- beginService( "StreamPort_Impl::~StreamPort_Impl" );
- endService( "StreamPort_Impl::~StreamPort_Impl" );
-}
-
-void StreamPort_Impl::destroy() {
- beginService( "StreamPort_Impl::destroy" );
- bool destroyed = false ;
- if ( DataFlowNode()->IsOneOfInLineNodes() ) {
- if ( IsInput() ) {
- GraphBase::InPort * anInPort = (GraphBase::InPort * ) DataFlowPort() ;
- if ( anInPort->GetOutPort() ) {
- anInPort->GetOutPort()->RemoveInPort( anInPort ) ;
- }
- DataFlowNode()->DelInPort( DataFlowPort()->PortName() ) ;
- destroyed = true ;
- }
- else {
- DataFlowNode()->DelOutPort( DataFlowPort()->PortName() ) ;
- destroyed = true ;
- }
- if ( destroyed ) {
- DataFlowEditor()->UnValid() ;
- }
- }
- if ( destroyed ) {
- _poa->deactivate_object(*_id) ;
- CORBA::release(_poa) ;
- delete(_id) ;
- _thisObj->_remove_ref();
- }
- endService( "StreamPort_Impl::destroy" );
-}
-
-
-SUPERV::StreamLink_ptr StreamPort_Impl::StreamLink() {
- bool begin = true ;
- SUPERV::StreamLink_var iobject = SUPERV::StreamLink::_nil() ;
- char * FromNodeName = NULL ;
- char * FromServiceParameterName = NULL ;
- bool status = DataFlowEditor()->GetLink( DataFlowNode()->Name() ,
- DataFlowPort()->PortName() ,
- & FromNodeName ,
- & FromServiceParameterName ) ;
- if ( status ) {
-// cout << "Port_Impl::Link " << FromNodeName << "("
-// << FromServiceParameterName << ") --> " << _DataFlowNode->Name()
-// << "(" << _DataFlowPort->PortName() << ")" << endl ;
-// SUPERV::Port_ptr theOutPort = Port( FromServiceParameterName ) ;
-
- GraphBase::InPort * anInPort = DataFlowNode()->GetChangeInPort( DataFlowPort()->PortName() ) ;
- if ( anInPort->GetOutPort() ) {
- GraphBase::OutPort * anOutPort = anInPort->GetOutPort() ;
- if ( CORBA::is_nil( anOutPort->InPortObjRef( anInPort ) ) ) {
- if ( begin ) {
- beginService( "Port_Impl::Link" ) ;
- begin = false ;
- }
- bool Success ;
- StreamLink_Impl * myStreamLink = new StreamLink_Impl( _Orb , _Poa , _ContId ,
- instanceName() , interfaceName() ,
- DataFlowEditor() ,
- DataFlowNode() ,
- DataFlowPort()->PortName() ,
- (GraphEditor::InNode * ) DataFlowEditor()->Graph()->GetChangeGraphNode( FromNodeName )->GetInNode() ,
- FromServiceParameterName ,
- false , Success ) ;
- if ( Success ) {
- PortableServer::ObjectId * id = myStreamLink->getId() ;
- CORBA::Object_var obj = _poa->id_to_reference(*id);
- iobject = SUPERV::StreamLink::_narrow(obj) ;
- anOutPort->AddInPortObjRef( anInPort , SUPERV::StreamLink::_duplicate( iobject ) ) ;
- }
- }
- else {
- iobject = SUPERV::StreamLink::_narrow( anOutPort->InPortObjRef( anInPort ) ) ;
- }
- }
- }
- if ( !begin ) {
- MESSAGE( "Link " << iobject->OutPort()->Node()->Name() << "( " << iobject->OutPort()->Name() << " ) --> "
- << iobject->InPort()->Node()->Name() << "( " << iobject->InPort()->Name() << " ) " ) ;
- endService( "StreamPort_Impl::StreamLink" ) ;
- }
- return SUPERV::StreamLink::_duplicate( iobject ) ;
-}
-
-SALOME_ModuleCatalog::DataStreamDependency StreamPort_Impl::Dependency() {
-// beginService( "StreamPort_Impl::Dependency" );
- SALOME_ModuleCatalog::DataStreamDependency RetVal = DataFlowPort()->Dependency() ;
-// endService( "StreamPort_Impl::Dependency" );
- return RetVal ;
-}
-
-bool StreamPort_Impl::SetDependency( const SALOME_ModuleCatalog::DataStreamDependency aDependency ) {
-// beginService( "StreamPort_Impl::SetDependency" );
- DataFlowPort()->Dependency( aDependency ) ;
-// endService( "StreamPort_Impl::SetDependency" );
- return true ;
-}
-
-bool StreamPort_Impl::SetParams( const SUPERV::KindOfSchema aKindOfSchema ,
- const SUPERV::KindOfInterpolation aKindOfInterpolation ,
- const SUPERV::KindOfExtrapolation aKindOfExtrapolation ) {
-// beginService( "StreamPort_Impl::SetParams" );
- bool RetVal = false ;
- if ( IsInput() ) {
- GraphBase::InDataStreamPort * anInStreamPort = (GraphBase::InDataStreamPort * ) DataFlowPort() ;
- RetVal = anInStreamPort->SetParams( aKindOfSchema , aKindOfInterpolation , aKindOfExtrapolation ) ;
- if ( RetVal ) {
- MESSAGE( "OutStreamPort_Impl::SetParams( " << aKindOfSchema << " , " << aKindOfInterpolation
- << " , " << aKindOfExtrapolation << " ) SUCCESS " ) ;
- DataFlowEditor()->UnValid() ;
- }
- else {
- MESSAGE( "OutStreamPort_Impl::SetParams( " << aKindOfSchema << " , " << aKindOfInterpolation
- << " , " << aKindOfExtrapolation << " ) FAILED " ) ;
- }
- }
- else {
- MESSAGE( "OutStreamPort_Impl::SetParams( " << aKindOfSchema << " , " << aKindOfInterpolation
- << " , " << aKindOfExtrapolation << " ) ERROR : OutPort" ) ;
- }
-// endService( "StreamPort_Impl::SetParams" );
- return RetVal ;
-}
-
-bool StreamPort_Impl::Params( SUPERV::KindOfSchema & aKindOfSchema ,
- SUPERV::KindOfInterpolation & aKindOfInterpolation ,
- SUPERV::KindOfExtrapolation & aKindOfExtrapolation ) {
-// beginService( "StreamPort_Impl::Params" );
- bool RetVal = false ;
- if ( IsInput() ) {
- GraphBase::InDataStreamPort * anInStreamPort = (GraphBase::InDataStreamPort * ) DataFlowPort() ;
- anInStreamPort->Params( aKindOfSchema , aKindOfInterpolation , aKindOfExtrapolation ) ;
- MESSAGE( "InStreamPort_Impl::Params( " << aKindOfSchema << " , " << aKindOfInterpolation << " , " << aKindOfExtrapolation << " )" ) ;
- RetVal = true ;
- }
- else {
- aKindOfSchema = (SUPERV::KindOfSchema ) -1 ;
- aKindOfInterpolation = (SUPERV::KindOfInterpolation ) -1 ;
- aKindOfExtrapolation = (SUPERV::KindOfExtrapolation ) -1 ;
- MESSAGE( "OutStreamPort_Impl::Params( " << aKindOfSchema << " , " << aKindOfInterpolation
- << " , " << aKindOfExtrapolation << " ) ERROR: OutPort" ) ;
- }
-// endService( "StreamPort_Impl::Params" );
- return RetVal ;
-}
-
-bool StreamPort_Impl::SetNumberOfValues( const long aNumberOfValues ) {
-// beginService( "StreamPort_Impl::SetNumberOfValues" );
- bool RetVal = false ;
- if ( !IsInput() ) {
- GraphBase::OutDataStreamPort * anOutStreamPort = (GraphBase::OutDataStreamPort * ) DataFlowPort() ;
- anOutStreamPort->NumberOfValues( aNumberOfValues ) ;
- DataFlowEditor()->UnValid() ;
- RetVal = true ;
- }
- else {
- MESSAGE( "OutStreamPort_Impl::SetNumberOfValues( " << aNumberOfValues << " ) ERROR : InPort" ) ;
- }
-// endService( "StreamPort_Impl::SetNumberOfValues" );
- return RetVal ;
-}
-
-long StreamPort_Impl::NumberOfValues() {
-// beginService( "StreamPort_Impl::NumberOfValues" );
- long RetVal = -1 ;
- if ( !IsInput() ) {
- GraphBase::OutDataStreamPort * anOutStreamPort = (GraphBase::OutDataStreamPort * ) DataFlowPort() ;
- RetVal = anOutStreamPort->NumberOfValues() ;
- MESSAGE( "OutStreamPort_Impl::NumberOfValues() " << RetVal ) ;
- }
- else {
- MESSAGE( "OutStreamPort_Impl::NumberOfValues() ERROR : InPort" ) ;
- }
-// endService( "StreamPort_Impl::NumberOfValues" );
- return RetVal ;
-}
-
+++ /dev/null
-// SUPERV Supervision : contains the implementation of interfaces of SuperVision described in SUPERV.idl
-//
-// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
-// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
-//
-// This library is free software; you can redistribute it and/or
-// modify it under the terms of the GNU Lesser General Public
-// License as published by the Free Software Foundation; either
-// version 2.1 of the License.
-//
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-// Lesser General Public License for more details.
-//
-// You should have received a copy of the GNU Lesser General Public
-// License along with this library; if not, write to the Free Software
-// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-//
-// See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
-//
-//
-//
-// File : StreamPort_Impl.hxx
-// Author : Jean Rahuel
-// Module : SUPERV
-// $Header:
-
-#ifndef _STREAMPORT_IMPL_HXX_
-#define _STREAMPORT_IMPL_HXX_
-
-#include "Port_Impl.hxx"
-
-#include "StreamLink_Impl.hxx"
-
-class StreamPort_Impl : public Port_Impl ,
- public POA_SUPERV::StreamPort {
- private:
-
- CORBA::ORB_ptr _Orb ;
- PortableServer::POA_ptr _Poa ;
- PortableServer::ObjectId * _ContId ;
-
- public:
- StreamPort_Impl();
- StreamPort_Impl( CORBA::ORB_ptr orb ,
- PortableServer::POA_ptr poa ,
- PortableServer::ObjectId * contId ,
- const char *instanceName ,
- const char *interfaceName ,
- GraphEditor::DataFlow * DataFlowEditor ,
- GraphEditor::InNode * DataStreamNode ,
- GraphBase::Port * DataStreamPort ,
- bool InputPort ,
- const CORBA::Any * anAny ) ;
- StreamPort_Impl( CORBA::ORB_ptr orb ,
- PortableServer::POA_ptr poa ,
- PortableServer::ObjectId * contId ,
- const char *instanceName ,
- const char *interfaceName ,
- GraphEditor::DataFlow * DataFlowEditor ,
- GraphEditor::InNode * DataFlowNode ,
- GraphBase::Port * DataStreamPort ,
- bool InputPort ) ;
- virtual ~StreamPort_Impl() ;
- virtual void destroy() ;
-
- virtual SUPERV::StreamLink_ptr StreamLink() ;
-
- virtual SALOME_ModuleCatalog::DataStreamDependency Dependency() ;
- virtual bool SetDependency( const SALOME_ModuleCatalog::DataStreamDependency aDependency ) ;
-
- virtual bool SetParams( const SUPERV::KindOfSchema aKindOfSchema ,
- const SUPERV::KindOfInterpolation aKindOfInterpolation ,
- const SUPERV::KindOfExtrapolation aKindOfExtrapolation ) ;
- virtual bool Params( SUPERV::KindOfSchema & aKindOfSchema ,
- SUPERV::KindOfInterpolation & aKindOfInterpolation ,
- SUPERV::KindOfExtrapolation & aKindOfExtrapolation ) ;
-
- virtual bool SetNumberOfValues( const long aNumberOfValues ) ;
- virtual long NumberOfValues() ;
-
-} ;
-
-#endif
+++ /dev/null
-#! /usr/bin/env python
-#
-# SUPERV Supervision : contains the implementation of interfaces of SuperVision described in SUPERV.idl
-#
-# Copyright (C) 2003 CEA/DEN, EDF R&D
-#
-#
-#
-# File : SuperV.py
-# Module : SUPERV
-
-try :
- from salome import orb
- from salome import lcc
- from salome import naming_service
- from salome import CORBA
- from salome import sg
- import SALOME_ModuleCatalog
- import SUPERV
- import SUPERV_idl
-except :
- import curses
- from LifeCycleCORBA import *
- from SALOME_NamingServicePy import *
- import SUPERV
- import SUPERV_idl
- import SALOME_ModuleCatalog
-# try :
-# from libSuperVision_Swig import SuperV_Swig
-# print 'SuperV_Swig imported'
-# except :
-# SuperV_Swig = None
- orb = CORBA.ORB_init([''], CORBA.ORB_ID)
- lcc = LifeCycleCORBA(orb)
- naming_service = SALOME_NamingServicePy_i(orb)
-
-import os
-import re
-from types import *
-
-#try :
-# SuperVision = SuperV_Swig( len(sys.argv) , sys.argv )
-# SuperVision.Swig = 1
-# print 'SuperV_Swig created'
-#except :
-# SuperVision = lcc.FindOrLoadComponent("SuperVisionContainer","SUPERV")
-# SuperVision.Swig = 0
-# print 'Supervision Component loaded'
-
-SuperVision = lcc.FindOrLoadComponent("SuperVisionContainer","SUPERV")
-#SuperVision.Swig = 0
-
-modulecatalog = naming_service.Resolve("/Kernel/ModulCatalog")
-
-
-
-def PortInputFloat(obj, x):
- return obj.Input( SuperVision.AnyValue( CORBA.Any(CORBA.TC_double, x)))
-
-def PortInputLong(obj, x):
- return obj.Input( SuperVision.AnyValue( CORBA.Any(CORBA.TC_long, x)))
-
-def PortInputObject(obj, x):
- try:
- return obj.Input( SuperVision.AnyValue( CORBA.Any(CORBA.TC_Object, x)))
- except:
- return obj.Input( SuperVision.AnyValue( x ) )
-
-def PortInputString(obj, x):
- return obj.Input( SuperVision.AnyValue( CORBA.Any(CORBA.TC_string, x)))
-
-def InputFloat(obj, nodein_port, x):
- return obj.Input(nodein_port, SuperVision.AnyValue( CORBA.Any(CORBA.TC_double, x)))
-
-def InputLong(obj, nodein_port, x):
- return obj.Input(nodein_port, SuperVision.AnyValue( CORBA.Any(CORBA.TC_long, x)))
-
-def InputObject(obj, nodein_port, x):
- try:
- return obj.Input(nodein_port, SuperVision.AnyValue( CORBA.Any(CORBA.TC_Object, x)))
- except:
- return obj.Input(nodein_port, SuperVision.AnyValue( x ) )
-
-def InputString(obj, nodein_port, x):
- return obj.Input(nodein_port, SuperVision.AnyValue( CORBA.Any(CORBA.TC_string, x)))
-
-
-
-typestring = re.compile(r"_[^_]+_([^_]+)_.*")
-
-def getRealArgs(self,args):
- types = []
- realargs = []
-
- try:
- t = self.this
- types.append(typestring.match(self).group(1))
- realargs.append(t)
- except:
- types.append(type(self))
- realargs.append(self)
- for a in args:
- try:
- t = a.this
- types.append(typestring.match(a).group(1))
- realargs.append(t)
- except:
- types.append(type(a))
- realargs.append(a)
-
- return tuple(types), tuple(realargs)
-
-bs_AddInput_valuedict = {
- (InstanceType, FloatType) : PortInputFloat,
- (InstanceType, IntType) : PortInputLong,
- (InstanceType, StringType) : PortInputString,
- (InstanceType, InstanceType) : PortInputObject,
- (InstanceType, StringType, FloatType) : InputFloat,
- (InstanceType, StringType, IntType) : InputLong,
- (InstanceType, StringType, StringType) : InputString,
- (InstanceType, StringType, InstanceType) : InputObject,
- (InstanceType, StringType, ListType) : InputObject,
-}
-
-
-def Args( aService , aNodeName , verbose ):
- lenin = len( aService.ServiceinParameter )
- infos = aNodeName + 'info = "'
- infos = infos + 'NodeName : ' + aNodeName + '\\n'
- infos = infos + 'ServiceName : ' + aService.ServiceName + '\\n'
- infos = infos + 'PortNames : \\n'
- defnames = aNodeName + " = " + "'" + aNodeName + "' ; "
- i = 0
- while i < lenin :
- argname = aNodeName + aService.ServiceinParameter[ i ].Parametername
- valname = aNodeName + "\\\\"
- valname = valname + aService.ServiceinParameter[ i ].Parametername
- defnames = defnames + argname + " = " + "'" + valname + "' ; "
- infos = infos + str(i) + '. ' + argname + ' : Input'
- infos = infos + str(i) + ' '
- infos = infos + aService.ServiceinParameter[ i ].Parametername + ' '
- infos = infos + aService.ServiceinParameter[ i ].Parametertype + '\\n'
- i = i + 1
- lenout = len( aService.ServiceoutParameter )
- i = 0
- while i < lenout :
- argname = aNodeName + aService.ServiceoutParameter[ i ].Parametername
- valname = aNodeName + "\\\\"
- valname = valname + aService.ServiceoutParameter[ i ].Parametername
- defnames = defnames + argname + " = " + "'" + valname + "' ; "
- infos = infos + str(lenin+i) + '. ' + argname + ' : Output'
- infos = infos + str(i) + ' '
- infos = infos + aService.ServiceoutParameter[ i ].Parametername + ' '
- infos = infos + aService.ServiceoutParameter[ i ].Parametertype + '\\n'
- i = i + 1
- infos = infos + '"'
- defnames = defnames + infos
- if verbose :
- defnames = defnames + " ; print " + aNodeName + "info"
- return defnames
-
-def Service_Swig( aCatalogService ) :
- aService = SuperVision.Service()
- aService.ServiceName = aCatalogService.ServiceName
- i = 0
- while i < len( aCatalogService.ServiceinParameter ) :
- p = SuperVision.ServicesParameter( aCatalogService.ServiceinParameter[i].Parametertype , aCatalogService.ServiceinParameter[i].Parametername )
- SuperVision.AddInParameter( aService , p )
- i = i + 1
- i = 0
- while i < len( aCatalogService.ServiceoutParameter ) :
- p = SuperVision.ServicesParameter( aCatalogService.ServiceoutParameter[i].Parametertype , aCatalogService.ServiceoutParameter[i].Parametername )
- SuperVision.AddOutParameter( aService , p )
- i = i + 1
- return aService
-
-##########################################################
-class CNode:
-##########################################################
- def __init__( self , aNode , Verbose ):
- self.N = aNode
- self.N.Verbose = Verbose
- def Name( self ):
- return self.N.Name()
- def Service( self ):
- return self.N.Service()
- def Kind( self ):
- return self.N.Kind()
- def CreationDate( self ):
- return self.N.CreationDate()
- def LastUpdateDate( self ):
- return self.N.LastUpdateDate()
- def Version( self ):
- return self.N.Version()
- def Author( self ):
- return self.N.Author()
- def Comment( self ):
- return self.N.Comment()
-
- def SetName( self , aNewName ):
- return self.N.SetName( aNewName )
- def SetAuthor( self , anAuthor ):
- return self.N.SetAuthor( anAuthor )
- def SetComment( self , aComment ):
- return self.N.SetComment( aComment )
-
- def Print( self ):
- print "Name ",self.N.Name()
- if self.N.IsFactory() :
- print "ComponentName ",self.N.GetComponentName()
- print "InterfaceName ",self.N.GetInterfaceName()
- if self.N.IsStreamGraph() :
- Timeout,DataStreamTrace,DeltaTime = self.G.StreamParams()
- print "Timeout",Timeout
- print "DataStreamTrace",DataStreamTrace
- print "DeltaTime",DeltaTime
- aService = self.N.Service()
- print "Service Name ",aService.ServiceName
- lenin = len( aService.ServiceinParameter )
- print " ",lenin," input argument(s) :"
- i = 0
- while i < lenin :
- print " ",i,". ",aService.ServiceinParameter[ i ].Parametername," ",aService.ServiceinParameter[ i ].Parametertype
- i = i + 1
- lenout = len( aService.ServiceoutParameter )
- print " ",lenout," output argument(s) :"
- i = 0
- while i < lenout :
- print " ",i,". ",aService.ServiceoutParameter[ i ].Parametername," ",aService.ServiceoutParameter[ i ].Parametertype
- i = i + 1
- aKind = self.N.Kind()
- print "KindOfNode",aKind
- aFirstCreation = self.N.CreationDate()
- print "Creation Date ",aFirstCreation.Day,"-",aFirstCreation.Month,"-",aFirstCreation.Year," ",aFirstCreation.Hour,":",aFirstCreation.Minute,":",aFirstCreation.Second
- aLastModification = self.N.LastUpdateDate()
- print "Update Date ",aLastModification.Day,"-",aLastModification.Month,"-",aLastModification.Year," ",aLastModification.Hour,":",aLastModification.Minute,":",aLastModification.Second
- print "Version ",self.N.Version()
- print "Author ",self.N.Author()
- if self.N.IsFactory() :
- print "Container ",self.N.GetContainer()
- print "Comment ",self.N.Comment()
- print "Coords ",self.N.X()," ",self.N.Y()
- def Port( self , aPortName ):
- aPort = self.N.Port( aPortName )
- if aPort != None :
- myPort = Port( aPort , self.N.Verbose )
- return myPort
- if self.N.Verbose :
- print "Error while creating the Port : ",aPortName
- return None
- def Input( self , *args ):
- types, realargs = getRealArgs(self.N,args)
- fn = bs_AddInput_valuedict[types]
- anInput = apply( fn, realargs)
- if anInput != None :
- myInput = Port( anInput , self.N.Verbose )
- return myInput
- ErrMsg = "Failed to create the Input"
- if self.N.Verbose :
- print ErrMsg
- return anInput
- def InStreamPort( self , aParameterName , aParameterType , aDependency ):
- aPort = self.N.InStreamPort( aParameterName , aParameterType , aDependency )
- if aPort != None :
- myPort = StreamPort( aPort , self.N.Verbose )
- return myPort
- if self.N.Verbose :
- print "Error while creating the Port : ",aParameterName
- return None
- def OutStreamPort( self , aParameterName , aParameterType , aDependency ):
- aPort = self.N.OutStreamPort( aParameterName , aParameterType , aDependency )
- if aPort != None :
- myPort = StreamPort( aPort , self.N.Verbose )
- return myPort
- if self.N.Verbose :
- print "Error while creating the Port : ",aParameterName
- return None
- def GetInPort( self , aParameterName ):
- aPort = self.N.GetInPort( aParameterName )
- if aPort != None :
- myPort = Port( aPort , self.N.Verbose )
- return myPort
- if self.N.Verbose :
- print "Error while creating the Port : ",aParameterName
- return None
- def GetOutPort( self , aParameterName ):
- aPort = self.N.GetOutPort( aParameterName )
- if aPort != None :
- myPort = Port( aPort , self.N.Verbose )
- return myPort
- if self.N.Verbose :
- print "Error while creating the Port : ",aParameterName
- return None
- def GetInStreamPort( self , aParameterName ):
- aPort = self.N.GetInStreamPort( aParameterName )
- if aPort != None :
- myPort = StreamPort( aPort , self.N.Verbose )
- return myPort
- if self.N.Verbose :
- print "Error while creating the Port : ",aParameterName
- return None
- def GetOutStreamPort( self , aParameterName ):
- aPort = self.N.GetOutStreamPort( aParameterName )
- if aPort != None :
- myPort = StreamPort( aPort , self.N.Verbose )
- return myPort
- if self.N.Verbose :
- print "Error while creating the Port : ",aParameterName
- return None
- def Ports( self ):
- ports = self.N.Ports()
- i = 0
- while i < len( ports ) :
- ports[ i ] = Port( ports[i] , self.N.Verbose )
- i = i + 1
- return ports
- def StreamPorts( self ):
- ports = self.N.StreamPorts()
- i = 0
- while i < len( ports ) :
- ports[ i ] = StreamPort( ports[i] , self.N.Verbose )
- i = i + 1
- return ports
- def AllPorts( self ):
- allports = self.N.Ports()
- lenports = len( allports )
- i = 0
- while i < lenports :
- allports[ i ] = Port( allports[i] , self.N.Verbose )
- i = i + 1
- ports = self.N.StreamPorts()
- i = 0
- while i < len( ports ) :
- allports.append( StreamPort( ports[i] , self.N.Verbose ) )
- i = i + 1
- return allports
- def ListPorts( self , *args ):
- if len( args ) == 0 :
- aName = self.N.Name()
- else :
- aName = args[ 0 ]
- ports = self.AllPorts()
- listofports = ""
- ilst = 0
- if len( ports ) :
- portsname = ports[ 0 ].Name()
- bs = portsname.find('\\')
- if bs != -1 :
- portsname1,portsname2 = portsname.split('\\')
- portsname = portsname1 + portsname2
- if ports[ 0 ].IsInput():
- listofports = 'I' + aName + portsname
- else :
- listofports = 'O' + aName + portsname
- i = 1
- while i < len( ports ) :
- portsname = ports[ i ].Name()
- bs = portsname.find('\\')
- if bs != -1 :
- portsname1,portsname2 = portsname.split('\\')
- portsname = portsname1 + portsname2
- if ports[ i ].IsInput():
- listofports = listofports + ',' + 'I' + aName + portsname
- else :
- listofports = listofports + ',' + 'O' + aName + portsname
- i = i + 1
- print listofports
- if len( ports ) == 1 :
- listofports = "[" + listofports + "] = " + aName + ".AllPorts()"
- else :
- listofports = listofports + " = " + aName + ".AllPorts()"
- return listofports
- def PrintPorts( self ):
- ports = self.AllPorts()
- i = 0
- while i < len( ports ) :
- Direction = "Out"
- if ports[ i ].IsInput() :
- Direction = "In"
- if ( ports[ i ].IsDataStream() ) & ( self.N.IsStreamGraph() == 0 ) :
- if ports[ i ].IsInput() :
- sts,aKindOfSchema,aKindOfInterpolation,aKindOfExtrapolation = ports[ i ].Params()
- print Direction,self.N.Name(),'(',ports[ i ].Name(),ports[ i ].Kind(),ports[ i ].Type(),') = ',ports[ i ].ToString(),ports[ i ].Dependency(),aKindOfSchema,aKindOfInterpolation,aKindOfExtrapolation
- else :
- numberofvalues = ports[ i ].NumberOfValues()
- print Direction,self.N.Name(),'(',ports[ i ].Name(),ports[ i ].Kind(),ports[ i ].Type(),') = ',ports[ i ].ToString(),ports[ i ].Dependency(),'NumberOfValues',numberofvalues
- else :
- print Direction,self.N.Name(),'(',ports[ i ].Name(),ports[ i ].Kind(),ports[ i ].Type(),') = ',ports[ i ].ToString()
- i = i + 1
- def Links( self ) :
- links = self.N.Links()
- i = 0
- while i < len( links ) :
- links[ i ] = Link( links[i] , self.N.Verbose )
- i = i + 1
- return links
- def StreamLinks( self ) :
- links = self.N.StreamLinks()
- i = 0
- while i < len( links ) :
- links[ i ] = StreamLink( links[i] , self.N.Verbose )
- i = i + 1
- return links
- def AllLinks( self ) :
- alllinks = self.N.Links()
- lenlinks = len( alllinks )
- i = 0
- while i < lenlinks :
- alllinks[ i ] = Link( alllinks[i] , self.N.Verbose )
- i = i + 1
- links = self.N.StreamLinks()
- i = 0
- while i < len( links ) :
- alllinks.append( StreamLink( links[i] , self.N.Verbose ) )
- i = i + 1
- return alllinks
- def ListLinks( self , *args ):
- links = self.AllLinks()
- if len( links ) :
- listoflinks = 'L' + links[ 0 ].OutPort().Node().Name()
- listoflinks = listoflinks + links[ 0 ].OutPort().Name()
- listoflinks = listoflinks + links[ 0 ].InPort().Node().Name()
- listoflinks = listoflinks + links[ 0 ].InPort().Name()
- i = 1
- while i < len( links ) :
- listoflinks = listoflinks + ',' + 'L' + links[ i ].OutPort().Node().Name()
- listoflinks = listoflinks + links[ i ].OutPort().Name()
- listoflinks = listoflinks + links[ i ].InPort().Node().Name()
- listoflinks = listoflinks + links[ i ].InPort().Name()
- i = i + 1
- print listoflinks
- if len( args ) == 0 :
- aName = self.N.Name()
- else :
- aName = args[ 0 ]
- if len( links ) == 1 :
- listoflinks = "[" + listoflinks + "] = " + aName + ".AllLinks()"
- else :
- listoflinks = listoflinks + " = " + aName + ".AllLinks()"
- return listoflinks
- def PrintLinks( self ):
- links = self.AllLinks()
- i = 0
- while i < len( links ) :
- links[i].Print()
- i = i + 1
- def IsStreamGraph( self ):
- return self.N.IsStreamGraph()
- def IsGraph( self ):
- return self.N.IsGraph()
- def IsComputing( self ):
- return self.N.IsComputing()
- def IsFactory( self ):
- return self.N.IsFactory()
- def IsInLine( self ):
- return self.N.IsInLine()
- def IsGOTO( self ):
- return self.N.IsGOTO()
- def IsLoop( self ):
- return self.N.IsLoop()
- def IsEndLoop( self ):
- return self.N.IsEndLoop()
- def IsSwitch( self ):
- return self.N.IsSwitch()
- def IsEndSwitch( self ):
- return self.N.IsEndSwitch()
- def SubGraph( self ):
- return self.N.SubGraph()
- def SubStreamGraph( self ):
- return self.N.SubStreamGraph()
- def Thread( self ):
- return self.N.Thread()
- def IsWaiting( self ):
- return self.N.IsWaiting()
- def IsRunning( self ):
- return self.N.IsRunning()
- def IsDone( self ):
- return self.N.IsDone()
- def IsSuspended( self ):
- return self.N.IsSuspended()
- def State( self ):
- return self.N.State()
- def Control( self ):
- return self.N.Control()
- def ControlClear( self ):
- return self.N.ControlClear()
- def AutoState( self ):
- return self.N.AutoState()
- def ReadyW( self ):
- return self.N.ReadyW()
- def RunningW( self ):
- return self.N.RunningW()
- def DoneW( self ):
- return self.N.DoneW()
- def SuspendedW( self ):
- return self.N.SuspendedW()
- def ReRun( self ):
- return self.N.ReRun()
- def ReStart( self ):
- return self.N.ReStart()
- def ReRunAt( self , aNodeName ):
- return self.N.ReRunAt( aNodeName )
- def ReStartAt( self , aNodeName ):
- return self.N.ReStartAt( aNodeName )
- def Ping( self ):
- return self.N.ping()
- def Kill( self ):
- return self.N.Kill()
- def KillDone( self ):
- return self.N.KillDone()
- def Suspend( self ):
- return self.N.Suspend()
- def SuspendDone( self ):
- return self.N.SuspendDone()
- def Resume( self ):
- return self.N.Resume()
- def Stop( self ):
- return self.N.Stop()
- def Coords( self , X , Y ):
- return self.N.Coords( X , Y )
- def X( self ):
- return self.N.X()
- def Y( self ):
- return self.N.Y()
- def destroy( self ):
- self.N.destroy()
- def CpuUsed( self ):
- return self.N.CpuUsed()
-
-##########################################################
-class FNode(CNode):
-##########################################################
- def __init__( self , aNode , Verbose ):
- self.N = aNode
- self.N.Verbose = Verbose
- def GetComponentName( self ):
- return self.N.GetComponentName()
- def GetInterfaceName( self ):
- return self.N._get_interfaceName()
- def GetContainer( self ):
- return self.N.GetContainer()
- def SetComponentName( self , aComponentName ):
- return self.N.SetComponentName( aComponentName )
- def SetInterfaceName( self , anInterfaceName ):
- return self.N.SetInterfaceName( anInterfaceName )
- def SetContainer( self , aComputer ):
- return self.N.SetContainer( aComputer )
-
-##########################################################
-class INode(CNode):
-##########################################################
- def __init__( self , aNode , Verbose ):
- self.N = aNode
- self.N.Verbose = Verbose
- def Edit( self , FuncName , PyFunc ) :
- import os
- import random
- suf = str(random.randrange(1,10000))
- file = '/tmp/' + FuncName + '_' + suf + '.py'
- try :
- #d = dir ()
- #print "dir()",d
- fd = os.open( file , os.O_CREAT | os.O_WRONLY | os.O_TRUNC )
- #d = dir (fd)
- #print "dir(fd)",d
- i = 0
- while ( i < len( PyFunc ) ) :
- print i,'/',len( PyFunc ),PyFunc[ i ]
- os.write( fd , PyFunc[ i ] + '\n' )
- i = i + 1
- os.close( fd )
- edit = '${EDITOR} ' + file
- os.system( edit )
- fd = os.open( file , os.O_RDONLY )
- line = os.read( fd , 132 )
- res = ''
- while len( line ) :
- res = res + line
- line = os.read( fd , 132 )
- os.close( fd )
- PyFunc = res.splitlines()
- i = 0
- while i < len( PyFunc ) :
- print PyFunc[i]
- i = i + 1
- except :
- print "Open of",file,"failed."
- return PyFunc
- def SetPyFunction( self , FuncName , aPyFunction ):
- return self.N.SetPyFunction( FuncName , aPyFunction )
- def PyFunction( self ):
- return self.N.PyFunction()
- def PyFuncName( self ):
- return self.N.PyFuncName()
- def InPort( self , aParameterName , aParameterType ):
- aPort = self.N.InPort( aParameterName ,
- aParameterType )
- if aPort != None :
- myPort = Port( aPort , self.N.Verbose )
- return myPort
- if self.N.Verbose :
- print "Error while creating the Port : ",aParameterName
- return None
- def OutPort( self , aParameterName , aParameterType ):
- aPort = self.N.OutPort( aParameterName ,
- aParameterType )
- if aPort != None :
- myPort = Port( aPort , self.N.Verbose )
- return myPort
- if self.N.Verbose :
- print "Error while creating the Port : ",aParameterName
- return None
- def EPyFunc( self ):
- PyFunc = self.N.PyFunction()
- PyFunc = self.Edit( self.N.PyFuncName() , PyFunc )
- self.N.SetPyFunction( self.N.PyFuncName() , PyFunc )
-
-##########################################################
-class GNode(INode):
-##########################################################
- def __init__( self , aNode , Verbose ):
- self.N = aNode
- self.N.Verbose = Verbose
- def SetCoupled( self , anInLineNode ):
- if self.N.IsGOTO() :
- node = self.N.SetCoupled( anInLineNode )
- else :
- node = None
- return node
- def Coupled( self ):
- node = self.N.Coupled()
- if node != None :
- if node.IsInLine() :
- node = INode( node , self.N.Verbose )
- elif node.IsLoop() :
- node = LNode( node , self.N.Verbose )
- elif node.IsEndLoop() :
- node = ELNode( node , self.N.Verbose )
- elif node.IsSwitch() :
- node = SNode( node , self.N.Verbose )
- elif node.IsEndSwitch() :
- node = ESNode( node , self.N.Verbose )
- return node
-
-##########################################################
-class LNode(GNode):
-##########################################################
- def __init__( self , aNode , Verbose ):
- self.N = aNode
- self.N.Verbose = Verbose
- def SetPyInit( self , InitName , aPyFunction ):
- return self.N.SetPyInit( InitName , aPyFunction )
- def PyInit( self ):
- return self.N.PyInit()
- def PyInitName( self ) :
- return self.N.PyInitName()
- def EPyInit( self ):
- PyFunc = self.N.PyFunction()
- PyFunc = self.Edit( self.N.PyFuncName() , PyFunc )
- self.N.SetPyFunction( self.N.PyFuncName() , PyFunc )
- def SetPyMore( self , MoreName , aPyFunction ):
- return self.N.SetPyMore( MoreName , aPyFunction )
- def PyMore( self ):
- return self.N.PyMore()
- def PyMoreName( self ) :
- return self.N.PyMoreName()
- def EPyMore( self ):
- PyMore = self.N.PyMore()
- PyMore = self.Edit( self.N.PyMoreName() , PyMore )
- self.N.SetPyMore( self.N.PyMoreName() , PyMore )
- def SetPyNext( self , NextName , aPyFunction ):
- return self.N.SetPyNext( NextName , aPyFunction )
- def PyNext( self ):
- return self.N.PyNext()
- def PyNextName( self ) :
- return self.N.PyNextName()
- def EPyNext( self ):
- PyNext = self.N.PyNext()
- PyNext = self.Edit( self.N.PyNextName() , PyNext )
- self.N.SetPyNext( self.N.PyNextName() , PyNext )
-
-##########################################################
-class ELNode(GNode):
-##########################################################
- def __init__( self , aNode , Verbose ):
- self.N = aNode
- self.N.Verbose = Verbose
-
-##########################################################
-class SNode(GNode):
-##########################################################
- def __init__( self , aNode , Verbose ):
- self.N = aNode
- self.N.Verbose = Verbose
-
-##########################################################
-class ESNode(GNode):
-##########################################################
- def __init__( self , aNode , Verbose ):
- self.N = aNode
- self.N.Verbose = Verbose
-
-##########################################################
-#class ServicesParameter_Swig :
-##########################################################
-# def __init__( self , aServicesParameter ):
-# self.Parametertype = aServicesParameter.Parametertype
-# self.Parametername = aServicesParameter.Parametername
-
-##########################################################
-class Graph(INode):
-##########################################################
- def __init__( self , aName ):
- try:
- graph = SuperVision.Graph( aName )
- except:
- try:
- graph = aName.G.Copy()
- except:
- graph = None
- if graph != None :
- if graph.IsStreamGraph() :
- aGraph = graph.ToStreamGraph()
- if aGraph != None :
- graph = StreamGraph( aGraph )
- else :
- print "Graph creation failed"
- self.G = graph
- self.G.Verbose = 1
- self.N = graph
- self.N.Verbose = 1
- else :
- print "Graph creation failed"
- def CNode( self , *args ):
- if len( args ) == 1 :
- aService = args[ 0 ]
- else :
- aComponent = args[ 0 ]
- anInterface = args[ 1 ]
- aService = args[ 2 ]
- NodeComponent = modulecatalog.GetComponent( aComponent )
- aService = NodeComponent.GetService( anInterface , aService )
- aNode = self.G.CNode( aService )
- if aNode != None :
- myNode = CNode( aNode , self.G.Verbose )
- return myNode
- ErrMsg = "Failed to create a Node with Service " + aService.ServiceName
- if self.G.Verbose :
- print ErrMsg
- return aNode
- def Node( self , aComponent , anInterface , aService ):
- #if SuperVision.Swig :
- #aService = Service_Swig( aService )
- return self.FNode( aComponent , anInterface , aService )
- def FNode( self , aComponent , anInterface , aService ):
- NodeComponent = modulecatalog.GetComponent( aComponent )
- aService = NodeComponent.GetService( anInterface , aService )
- #if SuperVision.Swig :
- #aService = Service_Swig( aService )
- aNode = self.G.FNode( aComponent , anInterface , aService )
- if aNode != None :
- myNode = FNode( aNode , self.G.Verbose )
- return myNode
- ErrMsg = "Failed to create a Node with Service " + aService.ServiceName
- if self.G.Verbose :
- print ErrMsg
- return aNode
- def INode( self , FuncName , aPythonFunction ):
- aNode = self.G.INode( FuncName , aPythonFunction )
- if aNode != None :
- myNode = INode( aNode , self.G.Verbose )
- return myNode
- ErrMsg = "Failed to create a Node"
- if self.G.Verbose :
- print ErrMsg
- return aNode
- def GNode( self , FuncName , aPythonFunction , anINode ):
- aNode = self.G.GNode( FuncName , aPythonFunction , anINode )
- if aNode != None :
- myNode = GNode( aNode , self.G.Verbose )
- return myNode
- ErrMsg = "Failed to create a Node"
- if self.G.Verbose :
- print ErrMsg
- return aNode
- def LNode( self , InitName , InitFunction , MoreName , MoreFunction , NextName , NextFunction ):
- aNode,anEndOfLoop = self.G.LNode( InitName , InitFunction , MoreName , MoreFunction , NextName , NextFunction )
- if aNode != None :
- myNode = LNode( aNode , self.G.Verbose )
- myEndOfLoop = INode( anEndOfLoop , self.G.Verbose )
- return myNode,myEndOfLoop
- ErrMsg = "Failed to create a Node with Service " + aService.ServiceName
- if self.G.Verbose :
- print ErrMsg
- return aNode
- def SNode( self , FuncName , aPythonFunction ):
- aNode,anEndOfSwitch = self.G.SNode( FuncName , aPythonFunction )
- if aNode != None :
- myNode = SNode( aNode , self.G.Verbose )
- myEndOfSwitch = INode( anEndOfSwitch , self.G.Verbose )
- return myNode,myEndOfSwitch
- ErrMsg = "Failed to create a Node"
- if self.G.Verbose :
- print ErrMsg
- return aNode
- def PrintService( self , aComponent , anInterface , aService ):
- NodeComponent = modulecatalog.GetComponent( aComponent )
- aService = NodeComponent.GetService( anInterface , aService )
- print "ServiceName ",aService.ServiceName," :"
- lenin = len( aService.ServiceinParameter )
- print " ",lenin," input argument(s) :"
- i = 0
- while i < lenin :
- print " ",i,". ",aService.ServiceinParameter[ i ].Parametername," ",aService.ServiceinParameter[ i ].Parametertype
- i = i + 1
- lenout = len( aService.ServiceoutParameter )
- print " ",lenout," output argument(s) :"
- i = 0
- while i < lenout :
- print " ",i,". ",aService.ServiceoutParameter[ i ].Parametername," ",aService.ServiceoutParameter[ i ].Parametertype
- i = i + 1
- def Link( self , aFromNodePort , aToNodePort ):
- aLink = self.G.Link( aFromNodePort.P , aToNodePort.P )
- if aLink != None :
- myLink = Link( aLink , self.G.Verbose )
- return myLink
- ErrMsg = "Failed to create a Link from " + aFromNodePort.Node().Name() + "(" + aFromNodePort.Name() + ") to " + aToNodePort.Node().Name() + "(" + aToNodePort.Name() + ")"
- if self.G.Verbose :
- print ErrMsg
- return aLink
- def Import( self , anXmlFileName ):
- return self.G.Import( anXmlFileName )
- def Export( self , anXmlFileName ):
- return self.G.Export( anXmlFileName )
- def IsReadOnly( self ) :
- return self.G.IsReadOnly()
- def ComponentRef( self , aFactoryServer , aComponent ) :
- return self.G.ComponentRef( aFactoryServer , aComponent )
- def IsValid( self ):
- return self.G.IsValid()
- def IsExecutable( self ):
- return self.G.IsExecutable()
- def IsEditing( self ):
- return self.G.IsEditing()
- def IsExecuting( self ):
- return self.G.IsExecuting()
- def LevelMax( self ):
- return self.G.LevelMax()
- def ThreadsMax( self ):
- return self.G.ThreadsMax()
- def SubGraphsNumber( self ):
- return self.G.SubGraphsNumber()
- def LevelNodes( self , aLevel ):
- nodes = self.G.LevelNodes( aLevel )
- return self.nodesTuple( nodes )
- def Run( self , *args ):
- self.S = -1
- aService = self.Service()
- nargs = len( args )
- i = 0
- while nargs > 0 :
- print aService.ServiceinParameter[ i ].Parametername," = ",args[i]
- self.Input( aService.ServiceinParameter[ i ].Parametername , args[i] )
- i = i + 1
- nargs = nargs - 1
- return self.G.Run()
- def Start( self , *args ):
- self.S = -1
- aService = self.Service()
- nargs = len( args )
- i = 0
- while nargs > 0 :
- print aService.ServiceinParameter[ i ].Parametername," = ",args[i]
- self.Input( aService.ServiceinParameter[ i ].Parametername , args[i] )
- i = i + 1
- nargs = nargs - 1
- return self.G.Start()
- def Event( self ):
- sts,aNode,anEvent,aState = self.G.Event()
- self.S = sts
- return sts,aNode,anEvent,aState
- def EventNoW( self ):
- sts,aNode,anEvent,aState = self.G.EventNoW()
- self.S = sts
- return sts,aNode,anEvent,aState
- def EventW( self ):
- sts,aNode,anEvent,aState = self.G.EventW()
- self.S = sts
- return sts,aNode,anEvent,aState
- def NextW( self ):
- if self.S != 0 :
- sts,aNode,anEvent,aState = self.G.EventW()
- self.S = sts
- print sts,aNode.Thread(),aNode.SubGraph(),aNode.Name(),anEvent,aState
- return sts
- def Threads( self ):
- return self.G.Threads()
- def SuspendedThreads( self ):
- return self.G.SuspendedThreads()
- def LastLevelDone( self ):
- return self.G.LastLevelDone()
- def Verbose( self , verbose ):
- preverbose = self.G.Verbose
- self.G.Verbose = verbose
- return preverbose
- def Nodes( self ):
- nodes = self.G.Nodes()
- return self.nodesTuple( nodes )
- def nodesTuple( self , nodes ) :
- n = len( nodes.CNodes )
- i = 0
- j = 0
- pynodes = []
- while i < n :
- pynodes.append( CNode( nodes.CNodes[i] , self.G.Verbose ) )
- i = i + 1
- j = j + 1
- n = len( nodes.FNodes )
- i = 0
- while i < n :
- pynodes.append( FNode( nodes.FNodes[i] , self.G.Verbose ) )
- i = i + 1
- j = j + 1
- n = len( nodes.INodes )
- i = 0
- while i < n :
- pynodes.append( INode( nodes.INodes[i] , self.G.Verbose ) )
- i = i + 1
- j = j + 1
- n = len( nodes.GNodes )
- i = 0
- while i < n :
- pynodes.append( GNode( nodes.GNodes[i] , self.G.Verbose ) )
- i = i + 1
- j = j + 1
- n = len( nodes.LNodes )
- i = 0
- while i < n :
- pynodes.append( LNode( nodes.LNodes[i] , self.G.Verbose ) )
- i = i + 1
- j = j + 1
- n = len( nodes.ELNodes )
- i = 0
- while i < n :
- pynodes.append( GNode( nodes.ELNodes[i] , self.G.Verbose ) )
- i = i + 1
- j = j + 1
- n = len( nodes.SNodes )
- i = 0
- while i < n :
- pynodes.append( SNode( nodes.SNodes[i] , self.G.Verbose ) )
- i = i + 1
- j = j + 1
- n = len( nodes.ESNodes )
- i = 0
- while i < n :
- pynodes.append( GNode( nodes.ESNodes[i] , self.G.Verbose ) )
- i = i + 1
- j = j + 1
- return pynodes
- def ListNodes( self , *args ):
- nodes = self.Nodes()
- listofnodes = ""
- if len( nodes ) :
- listofnodes = nodes[ 0 ].Name()
- i = 1
- while i < len( nodes ) :
- listofnodes = listofnodes + ',' + nodes[ i ].Name()
- i = i + 1
- print listofnodes
- if len( args ) == 0 :
- aName = self.N.Name()
- else :
- aName = args[ 0 ]
- if len( nodes ) == 1 :
- listofnodes = "[" + listofnodes + "] = " + aName + ".Nodes()"
- else :
- listofnodes = listofnodes + " = " + aName + ".Nodes()"
- return listofnodes
- def PrintNodes( self ):
- nodes = self.Nodes()
- n = len( nodes )
- i = 0
- while i < n :
- print ' '
- nodes[ i ].Print()
- i = i + 1
- def PrintThreads( self ):
- nodes = self.Nodes()
- i = 0
- while i < len( nodes ) :
- print nodes[i].Name(),nodes[i].Thread(),nodes[i].State(),nodes[i].Control(),nodes[i].AutoState()
- i = i + 1
- def GLinks( self ):
- links = self.G.GLinks()
- i = 0
- linkslen = len( links )
- #print 'GLinks ',linkslen,'Links'
- while i < linkslen :
- links[ i ] = Link( links[i] , self.G.Verbose )
- i = i + 1
- def GStreamLinks( self ):
- streamlinks = self.G.GStreamLinks()
- i = 0
- #print 'GStreamLinks ',len( streamlinks ),'StreamLinks'
- while i < len( streamlinks ) :
- streamlinks[ i ] = StreamLink( streamlinks[i] , self.G.Verbose )
- i = i + 1
- return streamlinks
- def GAllLinks( self ) :
- alllinks = self.G.GLinks()
- lenlinks = len( alllinks )
- i = 0
- while i < lenlinks :
- alllinks[ i ] = Link( alllinks[i] , self.N.Verbose )
- i = i + 1
- links = self.G.StreamLinks()
- j = 0
- while j < len(links) :
- alllinks.append( StreamLink( links[j] , self.N.Verbose ) )
- i = i + 1
- j = j + 1
- return alllinks
- def ListLinks( self , *args ):
- links = self.GAllLinks()
- if len( links ) :
- listoflinks = 'L' + links[ 0 ].OutPort().Node().Name()
- listoflinks = listoflinks + links[ 0 ].OutPort().Name()
- listoflinks = listoflinks + links[ 0 ].InPort().Node().Name()
- listoflinks = listoflinks + links[ 0 ].InPort().Name()
- i = 1
- while i < len( links ) :
- listoflinks = listoflinks + ',' + 'L' + links[ i ].OutPort().Node().Name()
- listoflinks = listoflinks + links[ i ].OutPort().Name()
- listoflinks = listoflinks + links[ i ].InPort().Node().Name()
- listoflinks = listoflinks + links[ i ].InPort().Name()
- i = i + 1
- print listoflinks
- if len( args ) == 0 :
- aName = self.N.Name()
- else :
- aName = args[ 0 ]
- if len( links ) == 1 :
- listoflinks = "[" + listoflinks + "] = " + aName + ".GAllLinks()"
- else :
- listoflinks = listoflinks + " = " + aName + ".GAllLinks()"
- return listoflinks
- def PrintLinks( self ):
- links = self.GAllLinks()
- i = 0
- while i < len( links ) :
- links[ i ].Print()
- i = i + 1
- def Graphs( self ):
- graphs = self.G.Graphs()
- outgraphs = graphs
- i = 0
- while i < len( graphs ) :
- outgraphs[ i ] = Graph( graphs[i].Name() , self.G.Verbose )
- outgraphs[ i ].Merge( graphs[i] )
- i = i + 1
- return outgraphs
- def Copy( self ):
- aCopy = self.G.Copy()
- if aCopy != None:
- myCopy = Graph( aCopy )
- return myCopy
- ErrMsg = "Failed to get a Copy of " + self.G.Name()
- if self.G.Verbose :
- print ErrMsg
- return aCopy
- def ToStreamGraph( self ):
- aGraph = self.G.ToStreamGraph()
- if aGraph != None :
- return StreamGraph( aGraph )
- return None
- def SubGraphsNodes( self , aSubGraphsNumber ):
- nodes = self.G.SubGraphsNodes( aSubGraphsNumber )
- return self.nodesTuple( nodes )
- def Merge( self , aGraph ):
- return self.G.Merge( aGraph.G )
- def Destroy( self ):
- self.N.destroy()
-
-##########################################################
-class GraphE(Graph):
-##########################################################
- def __init__( self , aName ):
- graph = SuperVision.GraphE( aName )
- self.G = graph
- self.G.Verbose = 1
- self.N = graph
- self.N.Verbose = 1
- def ToStreamGraph( self ):
- aGraph = self.G.ToStreamGraph()
- if aGraph != None :
- return StreamGraphE( aGraph )
- return None
-
-##########################################################
-class StreamGraph(Graph):
-##########################################################
- def __init__( self , aName ):
- try:
- graph = SuperVision.StreamGraph( aName )
- except:
- try:
- graph = aName.G.StreamCopy()
- except:
- graph = aName
- if graph != None :
- self.G = graph
- self.G.Verbose = 1
- self.N = graph
- self.N.Verbose = 1
- else :
- print "StreamGraph creation failed"
- def StreamCopy( self ):
- aCopy = self.G.StreamCopy()
- if aCopy != None:
- myCopy = StreamGraph( aCopy )
- return myCopy
- ErrMsg = "Failed to get a Copy of " + self.G.Name()
- if self.G.Verbose :
- print ErrMsg
- return aCopy
- def StreamLink( self , anOutStreamPort , anInStreamPort ) :
- aStreamLink = self.G.StreamLink( anOutStreamPort.P , anInStreamPort.P )
- if aStreamLink!= None:
- myStreamLink = StreamLink( aStreamLink , self.G.Verbose )
- return myStreamLink
- ErrMsg = "Failed to make a StreamLink in " + self.G.Name()
- if self.G.Verbose :
- print ErrMsg
- return aStreamLink
- def SetStreamParams( self , Timeout , DataStreamTrace , DeltaTime ):
- return self.G.SetStreamParams( Timeout , DataStreamTrace , DeltaTime )
- def StreamParams( self ):
- Timeout,DataStreamTrace,DeltaTime = self.G.StreamParams()
- return Timeout,DataStreamTrace,DeltaTime
- def ToFlowGraph( self ):
- return self.G.ToFlowGraph()
- def SubStreamGraphsNumber( self ):
- return self.G.SubStreamGraphsNumber()
- def SubStreamGraphsNodes( self , aSubStreamGraphsNumber ):
- nodes = self.G.SubStreamGraphsNodes( aSubStreamGraphsNumber )
- return self.nodesTuple( nodes )
- def StreamMerge( self , aStreamGraph ):
- return self.G.StreamMerge( aStreamGraph.G )
-
-##########################################################
-class StreamGraphE(StreamGraph):
-##########################################################
- def __init__( self , aName ):
- graph = SuperVision.StreamGraphE( aName )
- self.G = graph
- self.G.Verbose = 1
- self.N = graph
- self.N.Verbose = 1
-
-##########################################################
-class Value:
-##########################################################
- def __init__( self , aValue , Verbose ):
- self.V = aValue
- self.V.Verbose = Verbose
- def ToString( self ):
- return self.V.ToString()
- def ToAny( self ):
- return self.V.ToAny()
- def Destroy( self ):
- self.N.destroy()
-
-##########################################################
-class Port:
-##########################################################
- def __init__( self , aPort , Verbose ):
- self.P = aPort
- self.P.Verbose = Verbose
- def Input( self , *args ):
- types, realargs = getRealArgs(self.P,args)
- fn = bs_AddInput_valuedict[types]
- anInput = apply( fn, realargs)
- return anInput
- def Node( self ):
- aNode = self.P.Node()
- if aNode != None :
- if aNode.IsComputing() :
- myNode = CNode( aNode , self.P.Verbose )
- elif aNode.IsFactory() :
- myNode = FNode( aNode , self.P.Verbose )
- elif aNode.IsInLine() :
- myNode = INode( aNode , self.P.Verbose )
- elif aNode.IsGOTO() :
- myNode = GNode( aNode , self.P.Verbose )
- elif aNode.IsLoop() :
- myNode = LNode( aNode , self.P.Verbose )
- elif aNode.IsEndLoop() :
- myNode = ELNode( aNode , self.P.Verbose )
- elif aNode.IsSwitch() :
- myNode = SNode( aNode , self.P.Verbose )
- elif aNode.IsEndSwitch() :
- myNode = ESNode( aNode , self.P.Verbose )
- else :
- myNode = None
- return myNode
- return aNode
- def Name( self ):
- return self.P.Name()
- def Type( self ):
- return self.P.Type()
- def Link( self ):
- aLink = self.P.Link()
- if aLink != None :
- myLink = Link( aLink , self.P.Verbose )
- return myLink
- ErrMsg = "Failed to get a Link to " + self.P.Node().Name() + "(" + self.P.Name() + ")"
- if self.P.Verbose :
- print ErrMsg
- return aLink
- def Links( self ):
- links = self.P.Links()
- i = 0
- while i < len( links ) :
- links[ i ] = Link( links[i] , self.P.Verbose )
- i = i + 1
- return links
- def PrintLinks( self ):
- links = self.P.Links()
- i = 0
- while i < len( links ) :
- Link( links[ i ] , self.P.Verbose ).Print()
- i = i + 1
- def IsInput( self ):
- return self.P.IsInput()
- def IsLinked( self ):
- return self.P.IsLinked()
- def HasInput( self ):
- return self.P.HasInput()
- def Kind( self ) :
- return self.P.Kind()
- def IsParam( self ):
- return self.P.IsParam()
- def IsGate( self ):
- return self.P.IsGate()
- def IsLoop( self ):
- return self.P.IsLoop()
- def IsInLine( self ):
- return self.P.IsInLine()
- def IsSwitch( self ):
- return self.P.IsSwitch()
- def IsEndSwitch( self ):
- return self.P.IsEndSwitch()
- def IsDataStream( self ):
- return self.P.IsDataStream()
-# def IsBus( self ):
-# return self.P.IsBus()
- def Done( self ):
- return self.P.Done()
- def State( self ):
- return self.P.State()
- def ToString( self ):
- return self.P.ToString()
- def ToAny( self ):
- return self.P.ToAny()
- def Print( self ):
- if self.P.IsInput() :
- if self.P.IsLinked() :
- print "In",self.P.Node().Name(),'(',self.P.Name(),self.P.Kind(),self.P.Type(),') = ',self.P.ToString(),' from ',self.Link().OutPort().Print()
- else :
- print "In",self.P.Node().Name(),'(',self.P.Name(),self.P.Kind(),self.P.Type(),') = ',self.P.ToString()
- else :
- print "Out",self.P.Node().Name(),'(',self.P.Name(),self.P.Kind(),self.P.Type(),') = ',self.P.ToString()
- def Destroy( self ):
- self.P.destroy()
-
-##########################################################
-class StreamPort(Port):
-##########################################################
- def __init__( self , aPort , Verbose ):
- self.P = aPort
- self.P.Verbose = Verbose
- def StreamLink( self ) :
- return self.P.StreamLink()
- def Dependency( self ) :
- return self.P.Dependency()
- def SetDependency( self , aDependency ) :
- return self.P.SetDependency( aDependency )
- def Params( self ) :
- sts,aKindOfSchema,aKindOfInterpolation,aKindOfExtrapolation = self.P.Params()
- return sts,aKindOfSchema,aKindOfInterpolation,aKindOfExtrapolation
- def SetParams( self , aKindOfSchema , aKindOfInterpolation , aKindOfExtrapolation ) :
- return self.P.SetParams( aKindOfSchema , aKindOfInterpolation , aKindOfExtrapolation )
- def NumberOfValues( self ) :
- return self.P.NumberOfValues()
- def SetNumberOfValues( self , aNumberOfValues ) :
- return self.P.SetNumberOfValues( aNumberOfValues )
-
-##########################################################
-class Link:
-##########################################################
- def __init__( self , aLink , Verbose ):
- self.L = aLink
- self.L.Verbose = Verbose
- def OutPort( self ):
- aPort = self.L.OutPort()
- if aPort != None :
- myPort = Port( aPort , self.L.Verbose )
- return myPort
- if self.L.Verbose :
- print "Error while getting the Port : "
- return None
- def InPort( self ):
- aPort = self.L.InPort()
- if aPort != None :
- myPort = Port( aPort , self.L.Verbose )
- return myPort
- if self.L.Verbose :
- print "Error while getting the Port : "
- return None
- def Print( self ):
- anOutPort = self.L.OutPort()
- anOutPortName = anOutPort.Name()
- anOutPortKind = anOutPort.Kind()
- anOutPortValue = anOutPort.ToString()
- anOutNode = anOutPort.Node()
- anOutNodeName = anOutNode.Name()
- anInPort = self.L.InPort()
- anInPortName = anInPort.Name()
- anInPortKind = anInPort.Kind()
- anInNode = anInPort.Node()
- anInNodeName = anInNode.Name()
- print anOutNodeName,'(',anOutPortName,' ',anOutPortKind,') =',anOutPortValue,' --> ',anInNodeName,'(',anInPortName,')',' ',anInPortKind
- def CoordsSize( self ):
- return self.L.CoordsSize()
- def AddCoord( self , index , X , Y ):
- return self.L.AddCoord( index , X , Y )
- def ChangeCoord( self , index , X , Y ):
- return self.L.ChangeCoord( index , X , Y )
- def RemoveCoord( self , index ):
- return self.L.RemoveCoord( index )
- def Coords( self , index ):
- return self.L.Coords( index )
- def destroy( self ):
- self.L.destroy()
-
-
-
-##########################################################
-class StreamLink(Link):
-##########################################################
- def __init__( self , aLink , Verbose ):
- self.L = aLink
- self.L.Verbose = Verbose
- def OutStreamPort( self ):
- aPort = self.L.OutStreamPort()
- if aPort != None :
- myPort = StreamPort( aPort , self.L.Verbose )
- return myPort
- if self.L.Verbose :
- print "Error while getting the Port : "
- return None
- def InStreamPort( self ):
- aPort = self.L.InStreamPort()
- if aPort != None :
- myPort = StreamPort( aPort , self.L.Verbose )
- return myPort
- if self.L.Verbose :
- print "Error while getting the Port : "
- return None
+++ /dev/null
-// SUPERV Supervision : contains the implementation of interfaces of SuperVision described in SUPERV.idl
-//
-// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
-// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
-//
-// This library is free software; you can redistribute it and/or
-// modify it under the terms of the GNU Lesser General Public
-// License as published by the Free Software Foundation; either
-// version 2.1 of the License.
-//
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-// Lesser General Public License for more details.
-//
-// You should have received a copy of the GNU Lesser General Public
-// License along with this library; if not, write to the Free Software
-// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-//
-// See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
-//
-//
-//
-// File : SuperV_CheckOfUndefined.cxx
-// Module : SUPERV
-
-using namespace std;
-#include <iostream>
-#include <fstream>
-#include <unistd.h>
-
-#include <Python.h>
-
-#include "DataFlowBase_Base.hxx"
-#include "DataFlowBase_Graph.hxx"
-#include "DataFlowExecutor_InNode.hxx"
-#include "DataFlowExecutor_OutNode.hxx"
-#include "DataFlowExecutor_DataFlow.hxx"
-#include "DataFlowExecutor_DataFlow.lxx"
-#include "DataFlowEditor_InNode.hxx"
-#include "DataFlowEditor_OutNode.hxx"
-#include "DataFlowEditor_DataFlow.hxx"
-#include "DataFlowEditor_DataFlow.lxx"
-
-int _ArgC ;
-char ** _ArgV ;
-
-static PyMethodDef MethodPyVoidMethod[] = {
- { NULL, NULL }
-};
-
-int main(int argc, char **argv) {
- Py_Initialize() ;
- Py_InitModule( "InitPyRunMethod" , MethodPyVoidMethod ) ;
- return 0;
-}
-
+++ /dev/null
-// SUPERV Supervision : contains the implementation of interfaces of SuperVision described in SUPERV.idl
-//
-// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
-// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
-//
-// This library is free software; you can redistribute it and/or
-// modify it under the terms of the GNU Lesser General Public
-// License as published by the Free Software Foundation; either
-// version 2.1 of the License.
-//
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-// Lesser General Public License for more details.
-//
-// You should have received a copy of the GNU Lesser General Public
-// License along with this library; if not, write to the Free Software
-// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-//
-// See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
-//
-//
-//
-// File : SuperV_Impl.cxx
-// Author : Jean Rahuel
-// Module : SUPERV
-// $Header$
-
-using namespace std;
-#include <stdio.h>
-#include <fcntl.h>
-#include <sys/stat.h>
-
-#include <fstream>
-//#include <sstream>
-#include <string>
-
-#include "Python.h"
-
-//#include "utilities.h"
-
-#include "SALOME_Container_i.hxx"
-
-#include "SuperV_Impl.hxx"
-
-#include "SALOMEDS_Attributes.hh"
-#include <TCollection_AsciiString.hxx>
-#include <TColStd_SequenceOfAsciiString.hxx>
-#include "SALOMEDS_Tool.hxx"
-
-#include "Utils_CorbaException.hxx"
-
-#define STUDY_SUPERVISION "SUPERV"
-
-SuperV_Impl::SuperV_Impl( CORBA::ORB_ptr orb ,
- PortableServer::POA_ptr poa ,
- PortableServer::ObjectId * contId ,
- const char *instanceName ,
- const char *interfaceName
-// , int argc ,
-// char ** argv
- ) :
- Engines_Component_i(orb, poa, contId, instanceName, interfaceName, false, false) {
- MESSAGE("SuperV_Impl::SuperV_Impl activate object instanceName("
- << instanceName << ") interfaceName(" << interfaceName << ") --> "
- << hex << (void *) this << dec )
- _thisObj = this ;
- _id = _poa->activate_object(_thisObj);
- _Orb = CORBA::ORB::_duplicate(orb);
- _Poa = poa ;
- _ContId = contId ;
-}
-
-SuperV_Impl::SuperV_Impl() {
-}
-
-SuperV_Impl::~SuperV_Impl() {
- beginService( "SuperV_Impl::~SuperV_Impl" );
- endService( "SuperV_Impl::~SuperV_Impl" );
-}
-
-void SuperV_Impl::Destroy() {
- beginService( "SuperV_Impl::Destroy" );
- _poa->deactivate_object(*_id) ;
- CORBA::release(_poa) ;
- delete(_id) ;
- _thisObj->_remove_ref();
- Py_Finalize();
- endService( "SuperV_Impl::Destroy" );
-}
-
-// void SuperV_Impl::Save(const char *IORSComponent, const char *aUrlOfFile) {
-SALOMEDS::TMPFile* SuperV_Impl::Save(SALOMEDS::SComponent_ptr theComponent,
- const char* theURL,
- bool isMultiFile) {
- SALOMEDS::TMPFile_var aStreamFile;
- // Get a temporary directory to store a file
- TCollection_AsciiString aTmpDir("");
- // Create a list to store names of created files
- SALOMEDS::ListOfFileNames_var aSeq = new SALOMEDS::ListOfFileNames;
-
- TCollection_AsciiString myStudyName("");
- if (isMultiFile) myStudyName = strdup(SALOMEDS_Tool::GetNameFromPath(theComponent->GetStudy()->URL()));
-
- SALOMEDS::ChildIterator_var anIter = theComponent->GetStudy()->NewChildIterator(theComponent);
- TColStd_SequenceOfAsciiString aFileNames;
- TCollection_AsciiString aName;
-
- for(; anIter->More(); anIter->Next()) {
- SALOMEDS::SObject_var aSO = anIter->Value();
- SALOMEDS::GenericAttribute_var anAttr;
- if (aSO->FindAttribute(anAttr,"AttributeIOR")) {
- aName = myStudyName +
- TCollection_AsciiString("_SUPERVISION_") +
- TCollection_AsciiString(aSO->Tag()) +
- TCollection_AsciiString(".xml");
- aFileNames.Append(aName);
-
- // save to the file
- CORBA::Object_var anObj = _orb->string_to_object(SALOMEDS::AttributeIOR::_narrow(anAttr)->Value()) ;
- SUPERV::Graph_var graph = SUPERV::Graph::_narrow(anObj);
- if (aTmpDir.Length() == 0)
- aTmpDir = (isMultiFile)?TCollection_AsciiString((char*)theURL):SALOMEDS_Tool::GetTmpDir();
- graph->Export((aTmpDir + aName).ToCString());
- }
- }
-
- if (aFileNames.Length() == 0) return new SALOMEDS::TMPFile(0);
-
- aSeq->length(aFileNames.Length());
- int aCounter;
- for(aCounter = aFileNames.Length(); aCounter > 0; aCounter--)
- aSeq[aCounter-1] = CORBA::string_dup(aFileNames.Value(aCounter).ToCString());
-
- // Conver a file to the byte stream
- aStreamFile = SALOMEDS_Tool::PutFilesToStream(aTmpDir.ToCString(), aSeq.in(), isMultiFile);
- // Remove the created file and tmp directory
- if (!isMultiFile) SALOMEDS_Tool::RemoveTemporaryFiles(aTmpDir.ToCString(), aSeq.in(), true);
-
- // Add python files to the temporary files sequence
- SALOMEDS::ListOfFileNames_var aPySeq = new SALOMEDS::ListOfFileNames;
- aPySeq->length(aSeq->length());
- for(aCounter = aSeq->length(); aCounter > 0; aCounter--) {
- char* aCName = CORBA::string_dup(aSeq[aCounter-1]);
- int a = strlen(aCName);
- aCName[a-3] = 'p';aCName[a-2] = 'y';aCName[a-1] = 0;
- aPySeq[aCounter-1] = aCName;
- }
- // Remove the created file and tmp directory
- SALOMEDS_Tool::RemoveTemporaryFiles(aTmpDir.ToCString(), aPySeq.in(), true);
- // Return the created byte stream
- return aStreamFile._retn();
-}
-
-SALOMEDS::TMPFile* SuperV_Impl::SaveASCII(SALOMEDS::SComponent_ptr theComponent,
- const char* theURL,
- bool isMultiFile) {
- SALOMEDS::TMPFile_var aStreamFile = Save(theComponent, theURL, isMultiFile);
- return aStreamFile._retn();
-}
-
-// void SuperV_Impl::Load(const char* IORSComponent, const char* aUrlOfFile) {
-CORBA::Boolean SuperV_Impl::Load(SALOMEDS::SComponent_ptr theComponent,
- const SALOMEDS::TMPFile& theStream,
- const char* theURL,
- bool isMultiFile) {
- // MESSAGE("SuperV_Impl::Load : IOR = " << IORSComponent << " , Url = " << aUrlOfFile);
- // Get a temporary directory for a file
- if (theStream.length() != 0) {
- TCollection_AsciiString aTmpDir = (isMultiFile)?TCollection_AsciiString((char*)theURL):SALOMEDS_Tool::GetTmpDir();
- myStrURL = strdup(aTmpDir.ToCString());
- SALOMEDS_Tool::PutStreamToFiles(theStream, myStrURL, isMultiFile);
- }
- return true;
-}
-
-CORBA::Boolean SuperV_Impl::LoadASCII(SALOMEDS::SComponent_ptr theComponent,
- const SALOMEDS::TMPFile& theStream,
- const char* theURL,
- bool isMultiFile) {
- return Load(theComponent, theStream, theURL, isMultiFile);
-}
-
-void SuperV_Impl::Close(SALOMEDS::SComponent_ptr theComponent) {
-// mpv 06.03.2003: bug SAL1508 - graphs will be destructed at the GUI-level at the supervision frame closing
-
-// SALOMEDS::ChildIterator_var anIter = theComponent->GetStudy()->NewChildIterator(theComponent);
-// for(; anIter->More(); anIter->Next()) {
-// SALOMEDS::SObject_var aSO = anIter->Value();
-// SALOMEDS::GenericAttribute_var anAttr;
-// if (aSO->FindAttribute(anAttr,"AttributeIOR")) {
-// CORBA::Object_var anObj = _orb->string_to_object(SALOMEDS::AttributeIOR::_narrow(anAttr)->Value()) ;
-// SUPERV::Graph_var graph = SUPERV::Graph::_narrow(anObj);
-// graph->destroy();
-// }
-// }
-}
-
-char* SuperV_Impl::ComponentDataType() {
- return(strdup("SUPERV"));
-}
-
-char* SuperV_Impl::IORToLocalPersistentID(SALOMEDS::SObject_ptr theSObject,
- const char* IORString,
- CORBA::Boolean isMultiFile,
- CORBA::Boolean isASCII) {
- MESSAGE("SuperV_Impl::IORToLocalPersistentID: IOR:"<<IORString);
-
- try {
- CORBA::Object_var anObj = _orb->string_to_object(IORString) ;
- if (CORBA::is_nil(anObj)) return CORBA::string_dup(IORString);
- SUPERV::Graph_var aGraph = SUPERV::Graph::_narrow(anObj);
- if (aGraph->_is_nil()) return CORBA::string_dup(IORString);
- } catch (...) {
- return CORBA::string_dup(IORString);
- }
-
-// sprintf(aName, "%s_SUPERVISION_tmp_%d.xml",myStudyName,myCounter);
-// CORBA::String_var myStudyName("");
-// if (isMultiFile) myStudyName = strdup(SALOMEDS_Tool::GetNameFromPath(theSObject->GetStudy()->URL()));
- TCollection_AsciiString aName = //TCollection_AsciiString(myStudyName) +
- TCollection_AsciiString("_SUPERVISION_") +
- TCollection_AsciiString(theSObject->Tag()) +
- TCollection_AsciiString(".xml");
- return CORBA::string_dup(aName.ToCString());
-}
-
-char* SuperV_Impl::LocalPersistentIDToIOR(SALOMEDS::SObject_ptr theSObject,
- const char* aLocalPersistentID,
- CORBA::Boolean isMultiFile,
- CORBA::Boolean isASCII)
- throw(SALOME::SALOME_Exception)
-{
- MESSAGE("SuperV_Impl::LocalPersistentIDToIOR : IOR = " << aLocalPersistentID);
- CORBA::String_var aFatherID = theSObject->GetFather()->GetID();
- CORBA::String_var aComponentID = theSObject->GetFatherComponent()->GetID();
- if (strcmp(aFatherID, aComponentID)) return CORBA::string_dup(aLocalPersistentID);
-
- string myStudyName("");
- if (isMultiFile) myStudyName = strdup(SALOMEDS_Tool::GetNameFromPath(theSObject->GetStudy()->URL()));
-
- string aStr(myStrURL);
- aStr += myStudyName + string(aLocalPersistentID);
- SUPERV::StreamGraph_ptr graph = StreamGraph(aStr.c_str());
-
- if (graph->_is_nil())
- THROW_SALOME_CORBA_EXCEPTION("Unable to find graph in the file",SALOME::BAD_PARAM);
-
- // mpv: remove IORs input ports on loading
- MESSAGE("Remove IORs input ports on loading");
- SUPERV::ListOfNodes_var aNodes = graph->Nodes();
- SUPERV::CNode_var aNode;
- const char* aStrIOR = "";
- CORBA::Any * anAny = new CORBA::Any();
- *anAny <<= aStrIOR ;
- int i, j;
- for(i = aNodes->CNodes.length() - 1; i >= 0; i--) {
- aNode = aNodes->CNodes[i];
- SUPERV::ListOfPorts_var aPorts = aNode->Ports();
- for(j = aPorts->length() - 1; j >= 0; j--) {
- SUPERV::Port_var aPort = aPorts[j];
- if (aPort->IsIOR()) {
- aPort->Input(AnyValue(*anAny));
- }
- }
- }
- for(i = aNodes->FNodes.length() - 1; i >= 0; i--) {
- aNode = aNodes->FNodes[i];
- SUPERV::ListOfPorts_var aPorts = aNode->Ports();
- for(j = aPorts->length() - 1; j >= 0; j--) {
- SUPERV::Port_var aPort = aPorts[j];
- if (aPort->IsIOR()) {
- //CORBA::Any * anAny = new CORBA::Any(CORBA::TypeCode::PR_null_tc(), (void*)NULL, 0) ;
- aPort->Input(AnyValue(*anAny));
- }
- }
- }
- for(i = aNodes->INodes.length() - 1; i >= 0; i--) {
- aNode = aNodes->INodes[i];
- SUPERV::ListOfPorts_var aPorts = aNode->Ports();
- for(j = aPorts->length() - 1; j >= 0; j--) {
- SUPERV::Port_var aPort = aPorts[j];
- if (aPort->IsIOR()) {
- aPort->Input(AnyValue(*anAny));
- }
- }
- }
- for(i = aNodes->GNodes.length() - 1; i >= 0; i--) {
- aNode = aNodes->GNodes[i];
- SUPERV::ListOfPorts_var aPorts = aNode->Ports();
- for(j = aPorts->length() - 1; j >= 0; j--) {
- SUPERV::Port_var aPort = aPorts[j];
- if (aPort->IsIOR()) {
- aPort->Input(AnyValue(*anAny));
- }
- }
- }
- for(i = aNodes->GNodes.length() - 1; i >= 0; i--) {
- aNode = aNodes->GNodes[i];
- SUPERV::ListOfPorts_var aPorts = aNode->Ports();
- for(j = aPorts->length() - 1; j >= 0; j--) {
- SUPERV::Port_var aPort = aPorts[j];
- if (aPort->IsIOR()) {
- aPort->Input(AnyValue(*anAny));
- }
- }
- }
- for(i = aNodes->LNodes.length() - 1; i >= 0; i--) {
- aNode = aNodes->LNodes[i];
- SUPERV::ListOfPorts_var aPorts = aNode->Ports();
- for(j = aPorts->length() - 1; j >= 0; j--) {
- SUPERV::Port_var aPort = aPorts[j];
- if (aPort->IsIOR()) {
- aPort->Input(AnyValue(*anAny));
- }
- }
- }
- for(i = aNodes->ELNodes.length() - 1; i >= 0; i--) {
- aNode = aNodes->ELNodes[i];
- SUPERV::ListOfPorts_var aPorts = aNode->Ports();
- for(j = aPorts->length() - 1; j >= 0; j--) {
- SUPERV::Port_var aPort = aPorts[j];
- if (aPort->IsIOR()) {
- aPort->Input(AnyValue(*anAny));
- }
- }
- }
- for(i = aNodes->SNodes.length() - 1; i >= 0; i--) {
- aNode = aNodes->SNodes[i];
- SUPERV::ListOfPorts_var aPorts = aNode->Ports();
- for(j = aPorts->length() - 1; j >= 0; j--) {
- SUPERV::Port_var aPort = aPorts[j];
- if (aPort->IsIOR()) {
- aPort->Input(AnyValue(*anAny));
- }
- }
- }
- for(i = aNodes->ESNodes.length() - 1; i >= 0; i--) {
- aNode = aNodes->ESNodes[i];
- SUPERV::ListOfPorts_var aPorts = aNode->Ports();
- for(j = aPorts->length() - 1; j >= 0; j--) {
- SUPERV::Port_var aPort = aPorts[j];
- if (aPort->IsIOR()) {
- aPort->Input(AnyValue(*anAny));
- }
- }
- }
-
-
- SALOMEDS::ListOfFileNames_var aSeq = new SALOMEDS::ListOfFileNames;
- aSeq->length(1);
- aSeq[0]=aLocalPersistentID;
- if (!isMultiFile) SALOMEDS_Tool::RemoveTemporaryFiles(myStrURL, aSeq.in(), true);
-
- return _Orb->object_to_string(graph);
-}
-
-bool SuperV_Impl::CanPublishInStudy(CORBA::Object_ptr theIOR) {
- SUPERV::Graph_var aGraph = SUPERV::Graph::_narrow(theIOR);
- return !(aGraph->_is_nil());
-}
-
-SALOMEDS::SObject_ptr SuperV_Impl::PublishInStudy(SALOMEDS::Study_ptr theStudy,
- SALOMEDS::SObject_ptr theSObject,
- CORBA::Object_ptr theObject,
- const char* theName) throw (SALOME::SALOME_Exception) {
- SALOMEDS::SObject_var aResultSO;
-
- if(CORBA::is_nil(theObject)) return aResultSO._retn();;
-
- if(theStudy->_is_nil()) return aResultSO._retn();;
-
- SALOMEDS::StudyBuilder_var aBuilder = theStudy->NewBuilder();
- SALOMEDS::GenericAttribute_var anAttr;
- SALOMEDS::AttributeName_var aName;
- SALOMEDS::AttributeIOR_var anIOR;
- SALOMEDS::AttributePixMap_var aPixmap;
- SALOMEDS::SComponent_var aFather = theStudy->FindComponent(STUDY_SUPERVISION);
-
- if (aFather->_is_nil()) {
- aFather = aBuilder->NewComponent(STUDY_SUPERVISION);
- anAttr = aBuilder->FindOrCreateAttribute(aFather, "AttributeName");
- aName = SALOMEDS::AttributeName::_narrow(anAttr);
- //NRI aName->SetValue(STUDY_SUPERVISION);
-
- SALOME_NamingService *NamingService = new SALOME_NamingService(_Orb);
- CORBA::Object_var objVarN = NamingService->Resolve("/Kernel/ModulCatalog");
- SALOME_ModuleCatalog::ModuleCatalog_var Catalogue = SALOME_ModuleCatalog::ModuleCatalog::_narrow(objVarN);
- SALOME_ModuleCatalog::Acomponent_var Comp = Catalogue->GetComponent( STUDY_SUPERVISION );
- if ( !Comp->_is_nil() ) {
- aName->SetValue( Comp->componentusername() );
- }
- anAttr = aBuilder->FindOrCreateAttribute(aFather, "AttributePixMap");
- aPixmap = SALOMEDS::AttributePixMap::_narrow(anAttr);
- aPixmap->SetPixMap( "ICON_OBJBROWSER_Supervision" );
-
- aBuilder->DefineComponentInstance(aFather, SuperG::_this());
- }
-
- SALOMEDS::SObject_var dataflowI;
- SALOMEDS::ChildIterator_var dataflowS = theStudy->NewChildIterator(aFather);
-
- SUPERV::Graph_var aGraph = SUPERV::Graph::_narrow(theObject);
-
- const char* name = aGraph->Name();
-
- if (CORBA::is_nil(theSObject)) { // if SObject is null, then searching for exist graph SObject
- for (; dataflowS->More(); dataflowS->Next()) {
- dataflowI = dataflowS->Value();
- if (dataflowI->FindAttribute(anAttr, "AttributeName")) {
- aName = SALOMEDS::AttributeName::_narrow(anAttr);
- if (strcmp(aName->Value(), name) == 0) {
- aResultSO = dataflowI;
- break;
- }
- }
- }
- } else { // else searching for referenced SObject
- if (!theSObject->ReferencedObject(aResultSO))
- THROW_SALOME_CORBA_EXCEPTION("Publish in study supervision graph error",SALOME::BAD_PARAM);
- }
-
- if (strlen(theName) != 0) name = theName;
- if (CORBA::is_nil(aResultSO)) aResultSO = aBuilder->NewObject(aFather);
-
- aName = SALOMEDS::AttributeName::_narrow(aBuilder->FindOrCreateAttribute(aResultSO, "AttributeName"));
- aName->SetValue(name);
- anIOR = SALOMEDS::AttributeIOR::_narrow(aBuilder->FindOrCreateAttribute(aResultSO, "AttributeIOR"));
- anIOR->SetValue(aGraph->getIOR());
-// aBuilder->Addreference(theSObject, aResultSO);
- return aResultSO._retn();
-}
-
-CORBA::Boolean SuperV_Impl::CanCopy(SALOMEDS::SObject_ptr theObject) {
- // Try to retrieve known by SUPERVISION component Graph by given IOR
- SALOMEDS::GenericAttribute_var anAttr;
- if (!theObject->FindAttribute(anAttr, "AttributeIOR")) return false;
- try {
- CORBA::Object_var anObj = _orb->string_to_object(SALOMEDS::AttributeIOR::_narrow(anAttr)->Value());
- if (CORBA::is_nil(anObj)) return false;
- else {
- SUPERV::Graph_var aGraph = SUPERV::Graph::_narrow(anObj);
- if (aGraph->_is_nil()) return false;
- }
- } catch (...) {
- return false;
- }
- return true;
-}
-
-SALOMEDS::TMPFile* SuperV_Impl::CopyFrom(SALOMEDS::SObject_ptr theObject, CORBA::Long& theObjectID) {
- // Declare a sequence of the byte to store the copied object
- SALOMEDS::TMPFile_var aStreamFile;
-
- // Try to get GEOM_Shape object by given SObject
- SALOMEDS::GenericAttribute_var anAttr;
- if (!theObject->FindAttribute(anAttr, "AttributeIOR")) return aStreamFile._retn();
- CORBA::String_var anIOR = strdup(SALOMEDS::AttributeIOR::_narrow(anAttr)->Value());
-
- bool isGraph = true;
- SUPERV::Graph_var aGraph;
- try {
- CORBA::Object_var anObj = _orb->string_to_object(anIOR) ;
- if (CORBA::is_nil(anObj)) isGraph = false;
- else {
- aGraph = SUPERV::Graph::_narrow(anObj);
- if (aGraph->_is_nil()) isGraph = false;
- }
- } catch (...) {
- isGraph = false;
- }
-
- if (!isGraph) { // it's just a value, stored in the IOR attribute
- int aLen = strlen(anIOR);
- CORBA::Octet* anOctetBuf = (CORBA::Octet*)strdup(anIOR);
- aStreamFile = SALOMEDS::TMPFile_var(new SALOMEDS::TMPFile(aLen, aLen, anOctetBuf, 1));
- return aStreamFile._retn();
- }
-
- // Get a temporary directory to store a temporary file
- CORBA::String_var aTmpDir = SALOMEDS_Tool::GetTmpDir();
- // Create a list to store names of created files
- SALOMEDS::ListOfFileNames_var aSeq = new SALOMEDS::ListOfFileNames;
- aSeq->length(1);
- aSeq[0] = strdup("_SUPERVISION_tmp.xml");
- char* aFullName = new char[strlen(aTmpDir)+strlen(aSeq[0])+1];
- strcpy(aFullName, aTmpDir);
- strcpy(aFullName+strlen(aTmpDir), aSeq[0]);
- aGraph->Export(strdup(aFullName));
- delete(aFullName);
-
- aStreamFile = SALOMEDS_Tool::PutFilesToStream(aTmpDir, aSeq.in(), false);
- SALOMEDS_Tool::RemoveTemporaryFiles(aTmpDir, aSeq.in(), true);
-
- // Assign an ID = 1 the the type SUPERV::Graph
- theObjectID = 1;
-
- return aStreamFile._retn();
-}
-
-CORBA::Boolean SuperV_Impl::CanPaste(const char* theComponentName, CORBA::Long theObjectID) {
- // The Supervision component can paste only objects copied by Supervision component
- // and with the object type = 1
- if (strcmp(theComponentName, ComponentDataType()) != 0 || theObjectID != 1) return false;
- return true;
-}
-
-SALOMEDS::SObject_ptr SuperV_Impl::PasteInto(const SALOMEDS::TMPFile& theStream,
- CORBA::Long theObjectID,
- SALOMEDS::SObject_ptr theObject) {
- SALOMEDS::SObject_var aResultSO;
- if(CORBA::is_nil(theObject)) return aResultSO._retn();
- SALOMEDS::StudyBuilder_var aBuilder = theObject->GetStudy()->NewBuilder();
-
- aResultSO = SALOMEDS::SObject::_narrow(CORBA::Object::_duplicate(theObject));
-
- bool isGraph = (strcmp(theObject->GetFatherComponent()->GetID(),theObject->GetID()) == 0);
-
-
- if (!isGraph) {
- SALOMEDS::AttributeIOR_var anIOR =
- SALOMEDS::AttributeIOR::_narrow(aBuilder->FindOrCreateAttribute(theObject, "AttributeIOR"));
- int aLen = theStream.length();
- char* aVal = new char[aLen+1];
- aVal[aLen] = (char)0;
- memcpy((void*)aVal, (void*)theStream.NP_data(), aLen);
- anIOR->SetValue(aVal);
- return aResultSO._retn();
- }
-
- TCollection_AsciiString aTmpDir = SALOMEDS_Tool::GetTmpDir();
- SALOMEDS::ListOfFileNames_var aSeq = SALOMEDS_Tool::PutStreamToFiles(theStream, aTmpDir.ToCString(), false);
- TCollection_AsciiString aFullName;
- aFullName = aTmpDir+aSeq[0];
- SUPERV::Graph_var aGraph = Graph(aFullName.ToCString());
-
- SALOMEDS_Tool::RemoveTemporaryFiles(aTmpDir.ToCString(), aSeq.in(), true);
-
- if (isGraph) {
- aResultSO = aBuilder->NewObject(theObject);
- }
-
- SALOMEDS::AttributeIOR_var anIOR =
- SALOMEDS::AttributeIOR::_narrow(aBuilder->FindOrCreateAttribute(aResultSO, "AttributeIOR"));
- anIOR->SetValue(CORBA::string_dup(aGraph->getIOR()));
-
- return aResultSO._retn();
-}
-
-SUPERV::Value_ptr SuperV_Impl::StringValue( const char * aStrIOR ) {
-// beginService( "Super_Impl::StringValue" );
- CORBA::Any * anAny = new CORBA::Any() ;
-
- try {
- CORBA::Object_ptr obj = _Orb->string_to_object( aStrIOR ) ;
- if ( obj ) {
- *anAny <<= obj ;
-// return(anAny);
- }
- }
- catch ( CORBA::BAD_PARAM ) {
-
-// JR : objref or string only ==> the eventual convertion to long or double is done in
-// the SuperVisionEngine with the real type of the argument
-#if 0
- long l;
- double d;
- if ( strchr( aStrIOR , '.' ) != NULL &&
- sscanf( aStrIOR , "%lf%*n", &d)) {
- *anAny <<= d;
-// MESSAGE( "Value( " << aStrIOR << " ) --> double " << d );
-// return(anAny);
- }
- else if (sscanf( aStrIOR , "%ld%*n", &l)) {
- *anAny <<= l;
-// MESSAGE( "Value( " << aStrIOR << " ) --> long " << l );
-// return(anAny);
- }
- else {
-#endif
- *anAny <<= aStrIOR ;
-// MESSAGE( "Value( " << aStrIOR << " ) --> string " << aStrIOR );
-#if 0
- }
-#endif
- }
-
-// endService( "SuperV_Impl::StringValue" );
- return Value( anAny ) ;
-}
-
-SUPERV::Value_ptr SuperV_Impl::AnyValue( const CORBA::Any & anAny ) {
-// beginService( "Super_Impl::AnyValue" );
- CORBA::Any * aAny = new CORBA::Any( anAny ) ;
-// endService( "SuperV_Impl::AnyValue" );
- return Value( aAny ) ;
-}
-
-SUPERV::Value_ptr SuperV_Impl::Value( CORBA::Any * anAny ) {
-// beginService( "Super_Impl::Value" );
- Value_Impl * myValue = new Value_Impl( _Orb , _Poa , _ContId ,
- instanceName() , interfaceName() ,
- NULL , NULL , NULL , anAny , true ) ;
- PortableServer::ObjectId * id = myValue->getId() ;
- CORBA::Object_var obj = _poa->id_to_reference(*id);
- SUPERV::Value_var iobject ;
- iobject = SUPERV::Value::_narrow(obj) ;
-// endService( "SuperV_Impl::Value" );
- return SUPERV::Value::_duplicate( iobject ) ;
-}
-
-SUPERV::Graph_ptr SuperV_Impl::Graph(const char * aGraphName ) {
- beginService( "SuperV_Impl::Graph" );
- bool created = true ;
- SUPERV::Graph_var iobject = SUPERV::Graph::_nil() ;
- Graph_Impl * myGraph ;
- myGraph = new Graph_Impl( _Orb , _Poa, _ContId, instanceName() , interfaceName() ,
- aGraphName , SUPERV::DataFlowGraph ) ;
- int lenname = strlen( aGraphName ) ;
- if ( lenname > 4 && !strcmp( &aGraphName[ lenname - 4 ] , ".xml" ) ) {
- created = myGraph->Import( aGraphName ) ;
- }
- else {
- myGraph->Import( (char * ) NULL ) ;
- }
- if ( !created && myGraph->IsStreamGraph() ) {
- MESSAGE( "SuperV_Impl::Graph " << aGraphName << " IsStreamGraph !" ) ;
- myGraph->destroy() ;
- SUPERV::StreamGraph_var streamiobject = StreamGraph( aGraphName ) ;
- iobject = SUPERV::Graph::_narrow( streamiobject ) ;
- if ( CORBA::is_nil( iobject ) ) {
- created = false ;
- }
- }
- else if ( created ) {
- PortableServer::ObjectId * id = myGraph->getId() ;
- CORBA::Object_var obj = _poa->id_to_reference(*id);
- iobject = SUPERV::Graph::_narrow(obj) ;
- myGraph->SetObjRef( SUPERV::Graph::_duplicate( iobject ) ) ;
- }
- endService( "SuperV_Impl::Graph" );
- return SUPERV::Graph::_duplicate(iobject) ;
-}
-
-SUPERV::Graph_ptr SuperV_Impl::GraphE(const char * aGraphName ) {
- beginService( "SuperV_Impl::GraphE" );
- bool created = true ;
- SUPERV::Graph_var iobject = SUPERV::Graph::_nil() ;
- Graph_Impl * myGraph ;
- myGraph = new Graph_Impl( _Orb , _Poa, _ContId, instanceName() , interfaceName() ,
- aGraphName , SUPERV::DataFlowGraph ) ;
- int lenname = strlen( aGraphName ) ;
- if ( lenname > 4 && !strcmp( &aGraphName[ lenname - 4 ] , ".xml" ) ) {
- created = myGraph->Import( aGraphName ) ;
- }
- else {
- myGraph->Import( (char * ) NULL ) ;
- }
- if ( !created && myGraph->IsStreamGraph() ) {
- myGraph->destroy() ;
- SUPERV::StreamGraph_var streamiobject = StreamGraphE( aGraphName ) ;
- iobject = SUPERV::Graph::_narrow( streamiobject ) ;
- if ( CORBA::is_nil( iobject ) ) {
- created = false ;
- }
- }
- else if ( created ) {
- PortableServer::ObjectId * id = myGraph->getId() ;
- CORBA::Object_var obj = _poa->id_to_reference(*id);
- iobject = SUPERV::Graph::_narrow(obj) ;
- myGraph->SetObjRef( SUPERV::Graph::_duplicate( iobject ) ) ;
- }
- myGraph->ReadOnly() ;
- endService( "SuperV_Impl::GraphE" );
- return SUPERV::Graph::_duplicate(iobject) ;
-}
-
-SUPERV::StreamGraph_ptr SuperV_Impl::StreamGraph(const char * aGraphName ) {
- beginService( "SuperV_Impl::StreamGraph" );
- bool created = true ;
- StreamGraph_Impl * myStreamGraph ;
- myStreamGraph = new StreamGraph_Impl( _Orb , _Poa, _ContId, instanceName() ,
- interfaceName() , aGraphName ) ;
- int lenname = strlen( aGraphName ) ;
- if ( lenname > 4 && !strcmp( &aGraphName[ lenname - 4 ] , ".xml" ) ) {
- created = myStreamGraph->Import( aGraphName ) ;
- }
- else {
- myStreamGraph->Import( (char * ) NULL ) ;
- }
- SUPERV::StreamGraph_var iobject = SUPERV::StreamGraph::_nil() ;
- if ( created ) {
- PortableServer::ObjectId * id = myStreamGraph->getId() ;
- CORBA::Object_var obj = _poa->id_to_reference(*id);
- iobject = SUPERV::StreamGraph::_narrow(obj) ;
- myStreamGraph->SetObjRef( SUPERV::StreamGraph::_duplicate( iobject ) ) ;
- }
- endService( "SuperV_Impl::StreamGraph" );
- return SUPERV::StreamGraph::_duplicate(iobject) ;
-}
-
-SUPERV::StreamGraph_ptr SuperV_Impl::StreamGraphE(const char * aGraphName ) {
- beginService( "SuperV_Impl::StreamGraphE" );
- bool created = true ;
- StreamGraph_Impl * myStreamGraph ;
- myStreamGraph = new StreamGraph_Impl( _Orb , _Poa, _ContId, instanceName() ,
- interfaceName() , aGraphName ) ;
- int lenname = strlen( aGraphName ) ;
- if ( lenname > 4 && !strcmp( &aGraphName[ lenname - 4 ] , ".xml" ) ) {
- created = myStreamGraph->Import( aGraphName ) ;
- }
- else {
- myStreamGraph->Import( (char * ) NULL ) ;
- }
- SUPERV::StreamGraph_var iobject = SUPERV::StreamGraph::_nil() ;
- if ( created ) {
- PortableServer::ObjectId * id = myStreamGraph->getId() ;
- CORBA::Object_var obj = _poa->id_to_reference(*id);
- iobject = SUPERV::StreamGraph::_narrow(obj) ;
- myStreamGraph->SetObjRef( SUPERV::StreamGraph::_duplicate( iobject ) ) ;
- }
- myStreamGraph->ReadOnly() ;
- endService( "SuperV_Impl::StreamGraphE" );
- return SUPERV::StreamGraph::_duplicate(iobject) ;
-}
-
-SUPERV::Graph_ptr SuperV_Impl::getGraph(const char* ior) {
- SUPERV::Graph_var iobject = SUPERV::Graph::_nil();
- try {
- CORBA::Object_ptr obj = _Orb->string_to_object(ior);
- iobject = SUPERV::Graph::_narrow(obj);
- } catch ( ... ) {
- return SUPERV::Graph::_nil();
- // SUPERV::Graph_var iobject = (SUPERV::Graph_var)NULL;
- };
- return(SUPERV::Graph::_duplicate(iobject));
-}
-
-SUPERV::StreamGraph_ptr SuperV_Impl::getStreamGraph(const char* ior) {
- SUPERV::StreamGraph_var iobject = SUPERV::StreamGraph::_nil();
- try {
- CORBA::Object_ptr obj = _Orb->string_to_object(ior);
- iobject = SUPERV::StreamGraph::_narrow(obj);
- } catch ( ... ) {
- return SUPERV::StreamGraph::_nil();
- // SUPERV::Graph_var iobject = (SUPERV::Graph_var)NULL;
- };
- return(SUPERV::StreamGraph::_duplicate(iobject));
-}
-
-PortableServer::ObjectId * SUPERVEngine_factory (
- CORBA::ORB_ptr orb ,
- PortableServer::POA_ptr poa ,
- PortableServer::ObjectId * contId ,
- const char *instanceName ,
- const char *interfaceName
-// , int argc ,
-// char ** argv
- ) {
- MESSAGE("SuperV_factory SuperV ("
- << instanceName << "," << interfaceName << ")");
- SuperV_Impl * mySuperV = new SuperV_Impl( orb , poa , contId ,
- instanceName, interfaceName
-// , argc , argv
- );
- return mySuperV->getId() ;
-}
+++ /dev/null
-// SUPERV Supervision : contains the implementation of interfaces of SuperVision described in SUPERV.idl
-//
-// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
-// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
-//
-// This library is free software; you can redistribute it and/or
-// modify it under the terms of the GNU Lesser General Public
-// License as published by the Free Software Foundation; either
-// version 2.1 of the License.
-//
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-// Lesser General Public License for more details.
-//
-// You should have received a copy of the GNU Lesser General Public
-// License along with this library; if not, write to the Free Software
-// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-//
-// See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
-//
-//
-//
-// File : SuperV_Impl.hxx
-// Author : Jean Rahuel
-// Module : SUPERV
-// $Header$
-
-#ifndef _SUPERV_IMPL_HXX_
-#define _SUPERV_IMPL_HXX_
-
-#include <iostream>
-
-#include "CORBA.h"
-
-#include <SALOMEconfig.h>
-#include CORBA_SERVER_HEADER(SALOMEDS)
-#include "SALOME_Component_i.hxx"
-#include "SALOME_LifeCycleCORBA.hxx"
-
-#include "StreamGraph_Impl.hxx"
-
-#include "DataFlowEditor_DataFlow.hxx"
-
-class SuperV_Impl : public POA_SUPERV::SuperG ,
- public Engines_Component_i {
- private:
-
- CORBA::ORB_ptr _Orb ;
- PortableServer::POA_ptr _Poa ;
- PortableServer::ObjectId * _ContId ;
- char *myStrURL;
-
- public:
- SuperV_Impl();
- SuperV_Impl( CORBA::ORB_ptr orb ,
- PortableServer::POA_ptr poa ,
- PortableServer::ObjectId * contId ,
- const char *instanceName ,
- const char *interfaceName
-// , int argc ,
-// char ** argv
- ) ;
-
- virtual ~SuperV_Impl() ;
- virtual void Destroy() ;
-
-// void Save(const char* IORSComponent, const char* aUrlOfFile);
-// void Load(const char* IORSComponent, const char* aUrlOfFile);
- SALOMEDS::TMPFile* Save(SALOMEDS::SComponent_ptr theComponent,
- const char* theURL,
- bool isMultiFile);
- SALOMEDS::TMPFile* SaveASCII(SALOMEDS::SComponent_ptr theComponent,
- const char* theURL,
- bool isMultiFile);
- CORBA::Boolean Load(SALOMEDS::SComponent_ptr theComponent,
- const SALOMEDS::TMPFile& theStream,
- const char* theURL,
- bool isMultiFile);
- CORBA::Boolean LoadASCII(SALOMEDS::SComponent_ptr theComponent,
- const SALOMEDS::TMPFile& theStream,
- const char* theURL,
- bool isMultiFile);
-
- void Close(SALOMEDS::SComponent_ptr theComponent);
- char* ComponentDataType();
-
- char* IORToLocalPersistentID(SALOMEDS::SObject_ptr theSObject,
- const char* IORString,
- CORBA::Boolean isMultiFile,
- CORBA::Boolean isASCII);
- char* LocalPersistentIDToIOR(SALOMEDS::SObject_ptr theSObject,
- const char* aLocalPersistentID,
- CORBA::Boolean isMultiFile,
- CORBA::Boolean isASCII)
- throw(SALOME::SALOME_Exception);
-
- char* IORToLocalPersistentID(SALOMEDS::SObject_ptr theSObject, CORBA::Boolean isMultiFile);
- char* LocalPersistentIDToIOR(SALOMEDS::SObject_ptr theSObject, CORBA::Boolean isMultiFile);
-
- bool CanPublishInStudy(CORBA::Object_ptr theIOR);
- SALOMEDS::SObject_ptr PublishInStudy(SALOMEDS::Study_ptr theStudy,
- SALOMEDS::SObject_ptr theSObject,
- CORBA::Object_ptr theObject,
- const char* theName) throw (SALOME::SALOME_Exception) ;
-
- CORBA::Boolean CanCopy(SALOMEDS::SObject_ptr theObject);
- SALOMEDS::TMPFile* CopyFrom(SALOMEDS::SObject_ptr theObject, CORBA::Long& theObjectID);
- CORBA::Boolean CanPaste(const char* theComponentName, CORBA::Long theObjectID);
- SALOMEDS::SObject_ptr PasteInto(const SALOMEDS::TMPFile& theStream,
- CORBA::Long theObjectID,
- SALOMEDS::SObject_ptr theObject);
-
- virtual SUPERV::Value_ptr StringValue( const char * aStrIOR ) ;
- virtual SUPERV::Value_ptr AnyValue( const CORBA::Any & anAny ) ;
- virtual SUPERV::Value_ptr Value( CORBA::Any * anAny ) ;
-
- virtual SUPERV::Graph_ptr Graph( const char * aDataFlowName ) ;
-
- virtual SUPERV::Graph_ptr GraphE( const char * aDataFlowName ) ;
-
- virtual SUPERV::StreamGraph_ptr StreamGraph( const char * aDataFlowName ) ;
-
- virtual SUPERV::StreamGraph_ptr StreamGraphE( const char * aDataFlowName ) ;
-
- virtual SUPERV::StreamGraph_ptr getStreamGraph(const char* ior);
- virtual SUPERV::Graph_ptr getGraph(const char* ior);
-
-};
-
-extern "C"
- PortableServer::ObjectId * SUPERVEngine_factory
- ( CORBA::ORB_ptr orb ,
- PortableServer::POA_ptr poa ,
- PortableServer::ObjectId * contId ,
- const char *instanceName ,
- const char *interfaceName
-// , int argc ,
-// char ** argv
- ) ;
-
-#endif
+++ /dev/null
-// SUPERV Supervision : contains the implementation of interfaces of SuperVision described in SUPERV.idl
-//
-// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
-// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
-//
-// This library is free software; you can redistribute it and/or
-// modify it under the terms of the GNU Lesser General Public
-// License as published by the Free Software Foundation; either
-// version 2.1 of the License.
-//
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-// Lesser General Public License for more details.
-//
-// You should have received a copy of the GNU Lesser General Public
-// License along with this library; if not, write to the Free Software
-// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-//
-// See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
-//
-//
-//
-// File : Value_Impl.cxx
-// Author : Jean Rahuel
-// Module : SUPERV
-// $Header:
-
-using namespace std;
-#include <stdio.h>
-#include <fstream>
-//#include <strstream>
-//#include <sstream>
-#include <string>
-
-//#include "utilities.h"
-
-#include "Value_Impl.hxx"
-
-Value_Impl::Value_Impl( CORBA::ORB_ptr orb ,
- PortableServer::POA_ptr poa ,
- PortableServer::ObjectId * contId ,
- const char *instanceName ,
- const char *interfaceName ,
- GraphEditor::DataFlow * DataFlowEditor ,
- GraphEditor::InNode * DataFlowNode ,
- const char *ParameterName ,
- const CORBA::Any * anAny ,
- const bool activate ) :
- Engines_Component_i(orb, poa, contId, instanceName, interfaceName, false, false) {
- if ( activate ) {
-// MESSAGE("Value_Impl::Value_Impl activate object instanceName("
-// << instanceName << ") interfaceName(" << interfaceName << ") --> "
-// << hex << (void *) this << dec )
- _thisObj = this ;
- _id = _poa->activate_object(_thisObj);
- }
- _Orb = CORBA::ORB::_duplicate(orb);
- _Poa = poa ;
- _ContId = contId ;
- _DataFlowEditor = DataFlowEditor ;
- _DataFlowNode = DataFlowNode ;
- if ( ParameterName != NULL ) {
- _ParameterName = new char[ strlen( ParameterName ) + 1 ] ;
- strcpy( _ParameterName , ParameterName ) ;
- }
- else {
- _ParameterName = NULL ;
- }
- _InputValue = false ;
- _Any = new CORBA::Any( *anAny ) ;
-}
-
-Value_Impl::Value_Impl( CORBA::ORB_ptr orb ,
- PortableServer::POA_ptr poa ,
- PortableServer::ObjectId * contId ,
- const char *instanceName ,
- const char *interfaceName ,
- GraphEditor::DataFlow * DataFlowEditor ,
- GraphEditor::InNode * DataFlowNode ,
- const char *ParameterName ,
- const bool activate ) :
- Engines_Component_i(orb, poa, contId, instanceName, interfaceName, false, false) {
- if ( activate ) {
-// MESSAGE("Value_Impl::Value_Impl activate object instanceName("
-// << instanceName << ") interfaceName(" << interfaceName << ") --> "
-// << hex << (void *) this << dec )
- _thisObj = this ;
- _id = _poa->activate_object(_thisObj);
- }
- _Orb = CORBA::ORB::_duplicate(orb);
- _Poa = poa ;
- _ContId = contId ;
- _DataFlowEditor = DataFlowEditor ;
- _DataFlowNode = DataFlowNode ;
- if ( ParameterName != NULL ) {
- _ParameterName = new char[ strlen( ParameterName ) + 1 ] ;
- strcpy( _ParameterName , ParameterName ) ;
- }
- else {
- _ParameterName = NULL ;
- }
- _InputValue = false ;
- _Any = new CORBA::Any() ;
-}
-
-Value_Impl::Value_Impl() {
-}
-
-Value_Impl::~Value_Impl() {
- beginService( "Value_Impl::~Value_Impl" );
- endService( "Value_Impl::~Value_Impl" );
-}
-
-void Value_Impl::destroy() {
- beginService( "Value_Impl::destroy" );
- _poa->deactivate_object(*_id) ;
- CORBA::release(_poa) ;
- delete(_id) ;
- _thisObj->_remove_ref();
- endService( "Value_Impl::destroy" );
-}
-
-void Value_Impl::InPort( bool anInput ) {
- _InputPort = anInput ;
-}
-
-bool Value_Impl::Input( const CORBA::Any * anAny ) {
-// _DataFlowEditor->AddInputData( _DataFlowNode->Name() ,
-// _ParameterName ,
-// *anAny ) ;
- delete _Any ;
- _Any = new CORBA::Any( *anAny ) ;
- _InputValue = true ;
- return true ;
-}
-
-CORBA::Any * Value_Impl::ToAny() {
- CORBA::Any * anAny ;
- if ( _DataFlowEditor ) {
- char * name ;
- if ( _DataFlowNode ) {
- name = _DataFlowNode->Name() ;
- }
- else {
- name = _DataFlowEditor->Graph()->Name() ;
- }
- if ( _InputPort ) {
- if ( _DataFlowNode ) {
- _InputValue = _DataFlowNode->HasInput( _ParameterName ) ;
- }
- else {
- _InputValue = _DataFlowEditor->HasInput( _ParameterName ) ;
- }
- if ( _InputValue && _DataFlowEditor->IsEditing() ) {
- anAny = new CORBA::Any( * _DataFlowEditor->GetInData( name ,
- _ParameterName ) ) ;
- }
- else {
- GraphExecutor::DataFlow * _DataFlowExecutor = _DataFlowEditor->Executor() ;
- if ( _DataFlowExecutor ) {
- anAny = new CORBA::Any( * _DataFlowExecutor->GetInData( name ,
- _ParameterName ) ) ;
- }
- else {
- anAny = new CORBA::Any( *_Any ) ;
- }
- }
- }
- else {
- if ( _InputValue && _DataFlowEditor->IsEditing() ) {
- anAny = new CORBA::Any( * _DataFlowEditor->GetOutData( name ,
- _ParameterName ) ) ;
- }
- else {
- GraphExecutor::DataFlow * _DataFlowExecutor = _DataFlowEditor->Executor() ;
- if ( _DataFlowExecutor ) {
- anAny = new CORBA::Any( * _DataFlowExecutor->GetOutData( name ,
- _ParameterName ) ) ;
- }
- else {
- anAny = new CORBA::Any( *_Any ) ;
- }
- }
- }
- }
- else {
- anAny = new CORBA::Any( *_Any ) ;
- }
- return anAny ;
-}
-
-char * Value_Impl::ToString() {
-// beginService( "Value_Impl::ToString" );
- CORBA::Any anAny = *ToAny() ;
-// cout << "Value_Impl::ToString " << _DataFlowNode->Name() << " "
-// << _ParameterName << " " ;
- if ( _DataFlowEditor ) {
- char * name ;
- if ( _DataFlowNode ) {
- name = _DataFlowNode->Name() ;
- }
- else {
- name = _DataFlowEditor->Graph()->Name() ;
- }
- if ( _InputPort ) {
- if ( _DataFlowNode ) {
- _InputValue = _DataFlowNode->HasInput( _ParameterName ) ;
- }
- else {
- _InputValue = _DataFlowEditor->HasInput( _ParameterName ) ;
- }
- if ( _InputValue && _DataFlowEditor->IsEditing() ) {
- anAny = * _DataFlowEditor->GetInData( name ,
- _ParameterName ) ;
- }
- else {
- GraphExecutor::DataFlow * _DataFlowExecutor = _DataFlowEditor->Executor() ;
- if ( _DataFlowExecutor ) {
- anAny = * _DataFlowExecutor->GetInData( name ,
- _ParameterName ) ;
- }
- }
- }
- else {
- if ( _InputValue && _DataFlowEditor->IsEditing() ) {
- anAny = * _DataFlowEditor->GetOutData( name ,
- _ParameterName ) ;
- }
- else {
- GraphExecutor::DataFlow * _DataFlowExecutor = _DataFlowEditor->Executor() ;
- if ( _DataFlowExecutor ) {
- anAny = * _DataFlowExecutor->GetOutData( name ,
- _ParameterName ) ;
- }
- }
- }
- }
- ostringstream astr ;
- const char * retstr ;
- int startstr = 0 ;
- switch (anAny.type()->kind()) {
- case CORBA::tk_string: {
- anAny >>= retstr;
-// MESSAGE( "ToString( string ) '" << retstr << "'" );
- break ;
- }
- case CORBA::tk_long: {
- long l;
- anAny >>= l;
- astr << l << ends ;
- retstr = astr.str().c_str() ;
-// MESSAGE( "ToString( long ) '" << l << " " << retstr << "'" );
- break ;
- }
- case CORBA::tk_double: {
- double d;
- anAny >>= d;
- astr << setw(25) << setprecision(18) << d << ends ;
- retstr = astr.str().c_str() ;
- int i = 0 ;
- while ( i < (int ) strlen( retstr ) && retstr[ i++ ] == ' ' ) {
- startstr = i ;
- }
-// MESSAGE( "ToString( double ) '" << d << "' '" << retstr << "' '" << &retstr[ startstr ] << "'");
- break ;
- }
- case CORBA::tk_objref: {
- CORBA::Object_ptr obj ;
- try {
- anAny >>= obj ;
- retstr = _Orb->object_to_string( obj );
-// MESSAGE( "ToString( object ) '" << retstr << "'" );
- }
- catch ( ... ) {
- retstr = "object_to_string catched " ;
- }
- break ;
- }
- default: {
- retstr = "Unknown CORBA::Any Type" ;
-// MESSAGE( retstr );
- break ;
- }
- }
-// endService( "Value_Impl::ToString" );
- return CORBA::string_dup( &retstr[ startstr ] ) ;
-}
-
-bool Value_Impl::IsIOR() {
- CORBA::Any anAny = *ToAny() ;
- if ( _DataFlowEditor ) {
- char * name ;
- if ( _DataFlowNode ) {
- name = _DataFlowNode->Name() ;
- }
- else {
- name = _DataFlowEditor->Graph()->Name() ;
- }
- if ( _InputPort ) {
- if ( _DataFlowNode ) {
- _InputValue = _DataFlowNode->HasInput( _ParameterName ) ;
- }
- else {
- _InputValue = _DataFlowEditor->HasInput( _ParameterName ) ;
- }
- if ( _InputValue && _DataFlowEditor->IsEditing() ) {
- anAny = * _DataFlowEditor->GetInData( name ,
- _ParameterName ) ;
- }
- else {
- GraphExecutor::DataFlow * _DataFlowExecutor = _DataFlowEditor->Executor() ;
- if ( _DataFlowExecutor ) {
- anAny = * _DataFlowExecutor->GetInData( name ,
- _ParameterName ) ;
- }
- }
- }
- else {
- if ( _InputValue && _DataFlowEditor->IsEditing() ) {
- anAny = * _DataFlowEditor->GetOutData( name ,
- _ParameterName ) ;
- }
- else {
- GraphExecutor::DataFlow * _DataFlowExecutor = _DataFlowEditor->Executor() ;
- if ( _DataFlowExecutor ) {
- anAny = * _DataFlowExecutor->GetOutData( name ,
- _ParameterName ) ;
- }
- }
- }
- }
- return(anAny.type()->kind() == CORBA::tk_objref);
-}
-
-char* Value_Impl::ComponentDataType() {
- GraphExecutor::DataFlow* _DataFlowExecutor = _DataFlowEditor->Executor();
- const GraphBase::ComputingNode* node = _DataFlowExecutor->Graph()->GetGraphNode(_DataFlowNode->Name());
- if ( node->IsFactoryNode() ) {
- Engines::Component_var compo = ((GraphBase::FactoryNode * ) node )->Component();
- if ( CORBA::is_nil( compo ) ) {
- return ( strdup( "UnknownComponent" ) ) ;
- }
- else {
- return ( strdup( compo->instanceName() ) ) ;
- }
- }
- return ( strdup ( "UnknownComponent" ) ) ;
-}
+++ /dev/null
-// SUPERV Supervision : contains the implementation of interfaces of SuperVision described in SUPERV.idl
-//
-// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
-// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
-//
-// This library is free software; you can redistribute it and/or
-// modify it under the terms of the GNU Lesser General Public
-// License as published by the Free Software Foundation; either
-// version 2.1 of the License.
-//
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-// Lesser General Public License for more details.
-//
-// You should have received a copy of the GNU Lesser General Public
-// License along with this library; if not, write to the Free Software
-// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-//
-// See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
-//
-//
-//
-// File : Value_Impl.hxx
-// Author : Jean Rahuel
-// Module : SUPERV
-// $Header:
-
-#ifndef _VALUE_IMPL_HXX_
-#define _VALUE_IMPL_HXX_
-
-//#include <iostream.h>
-
-#include "CORBA.h"
-
-#include <SALOMEconfig.h>
-#include "SALOME_Component_i.hxx"
-#include "SALOME_LifeCycleCORBA.hxx"
-
-#include "DataFlowBase_Base.hxx"
-#include "DataFlowEditor_DataFlow.hxx"
-
-class Value_Impl : public POA_SUPERV::Value ,
- public Engines_Component_i {
- private:
-
- CORBA::ORB_ptr _Orb ;
- PortableServer::POA_ptr _Poa ;
- PortableServer::ObjectId * _ContId ;
-
- GraphEditor::DataFlow * _DataFlowEditor ;
- GraphEditor::InNode * _DataFlowNode ;
- char * _ParameterName ;
- bool _InputPort ;
- bool _InputValue ;
- CORBA::Any * _Any ;
-
- public:
- Value_Impl();
- Value_Impl( CORBA::ORB_ptr orb ,
- PortableServer::POA_ptr poa ,
- PortableServer::ObjectId * contId ,
- const char *instanceName ,
- const char *interfaceName ,
- GraphEditor::DataFlow * DataFlowEditor ,
- GraphEditor::InNode * DataFlowNode ,
- const char *ParameterName ,
- const CORBA::Any * anAny ,
- const bool activate ) ;
- Value_Impl( CORBA::ORB_ptr orb ,
- PortableServer::POA_ptr poa ,
- PortableServer::ObjectId * contId ,
- const char *instanceName ,
- const char *interfaceName ,
- GraphEditor::DataFlow * DataFlowEditor ,
- GraphEditor::InNode * DataFlowNode ,
- const char *ParameterName ,
- const bool activate ) ;
-
- virtual ~Value_Impl() ;
- virtual void destroy() ;
-
- virtual void InPort( bool anInput ) ;
-
- virtual bool Input( const CORBA::Any * anAny ) ;
-
- virtual CORBA::Any * ToAny() ;
- virtual char * ToString() ;
- virtual bool IsIOR() ;
- virtual char* ComponentDataType() ;
-
-} ;
-
-#endif
+++ /dev/null
-#! /usr/bin/env python
-#
-# SUPERV Supervision : contains the implementation of interfaces of SuperVision described in SUPERV.idl
-#
-# Copyright (C) 2003 CEA/DEN, EDF R&D
-#
-#
-#
-# File : batchmode_SuperV.py
-# Module : SUPERV
-
-try :
- from batchmode_salome import orb
- from batchmode_salome import lcc
- from batchmode_salome import naming_service
- from batchmode_salome import CORBA
- from batchmode_salome import myStudy
-except :
- import curses
- from LifeCycleCORBA import *
- from SALOME_NamingServicePy import *
- import SUPERV
- import SUPERV_idl
- from batchmode_salome import *
-# try :
-# from libSuperVision_Swig import SuperV_Swig
-# print 'SuperV_Swig imported'
-# except :
-# SuperV_Swig = None
- orb = CORBA.ORB_init([''], CORBA.ORB_ID)
- lcc = LifeCycleCORBA(orb)
- naming_service = SALOME_NamingServicePy_i(orb)
-
-import re
-from types import *
-import SALOMEDS
-import SALOMEDS_Attributes_idl
-#try :
-# SuperVision = SuperV_Swig( len(sys.argv) , sys.argv )
-# SuperVision.Swig = 1
-# print 'SuperV_Swig created'
-#except :
-# SuperVision = lcc.FindOrLoadComponent("SuperVisionContainer","SUPERV")
-# SuperVision.Swig = 0
-# print 'Supervision Component loaded'
-
-SuperVision = lcc.FindOrLoadComponent("SuperVisionContainer","SUPERV")
-SuperVision.Swig = 0
-
-modulecatalog = naming_service.Resolve("/Kernel/ModulCatalog")
-
-myBuilder = myStudy.NewBuilder()
-father = myStudy.FindComponent("SUPERV")
-if father is None:
- father = myBuilder.NewComponent("SUPERV")
- A1 = myBuilder.FindOrCreateAttribute(father, "AttributeName");
- FName = A1._narrow(SALOMEDS.AttributeName)
- #FName.SetValue("Supervision")
- Comp = modulecatalog.GetComponent( "SUPERV" )
- FName.SetValue(Comp._get_componentusername())
- A2 = myBuilder.FindOrCreateAttribute(father, "AttributePixMap");
- aPixmap = A2._narrow(SALOMEDS.AttributePixMap);
- aPixmap.SetPixMap( "ICON_OBJBROWSER_Supervision" );
- myBuilder.DefineComponentInstance(father,SuperVision)
-
-
-def PortInputFloat(obj, x):
- return obj.Input( SuperVision.AnyValue( CORBA.Any(CORBA.TC_double, x)))
-
-def PortInputLong(obj, x):
- return obj.Input( SuperVision.AnyValue( CORBA.Any(CORBA.TC_long, x)))
-
-def PortInputObject(obj, x):
- try:
- return obj.Input( SuperVision.AnyValue( CORBA.Any(CORBA.TC_Object, x)))
- except:
- return obj.Input( SuperVision.AnyValue( x ) )
-
-def PortInputString(obj, x):
- return obj.Input( SuperVision.AnyValue( CORBA.Any(CORBA.TC_string, x)))
-
-def InputFloat(obj, nodein_port, x):
- return obj.Input(nodein_port, SuperVision.AnyValue( CORBA.Any(CORBA.TC_double, x)))
-
-def InputLong(obj, nodein_port, x):
- return obj.Input(nodein_port, SuperVision.AnyValue( CORBA.Any(CORBA.TC_long, x)))
-
-def InputObject(obj, nodein_port, x):
- try:
- return obj.Input(nodein_port, SuperVision.AnyValue( CORBA.Any(CORBA.TC_Object, x)))
- except:
- return obj.Input(nodein_port, SuperVision.AnyValue( x ) )
-
-def InputString(obj, nodein_port, x):
- return obj.Input(nodein_port, SuperVision.AnyValue( CORBA.Any(CORBA.TC_string, x)))
-
-
-def addStudy(ior):
- dataflow = SuperVision.getGraph(ior)
- name=dataflow.Name()
- itr = myStudy.NewChildIterator(father)
- while itr.More():
- item=itr.Value()
- res,A=item.FindAttribute("AttributeName")
- if res:
- aName = A._narrow(SALOMEDS.AttributeName)
- if aName.Value() == name :
- res, A = myBuilder.FindOrCreateAttribute(item, "AttributeIOR")
- anIOR = A._narrow(SALOMEDS.AttributeIOR);
- anIOR.SetValue(dataflow.getIOR())
- return
- itr.Next()
- obj = myBuilder.NewObject(father)
- A=myBuilder.FindOrCreateAttribute(obj, "AttributeName")
- aName=A._narrow(SALOMEDS.AttributeName)
- aName.SetValue(name)
- A=myBuilder.FindOrCreateAttribute(obj, "AttributeIOR")
- anIOR = A._narrow(SALOMEDS.AttributeIOR)
- anIOR.SetValue(dataflow.getIOR())
-
-typestring = re.compile(r"_[^_]+_([^_]+)_.*")
-
-def getRealArgs(self,args):
- types = []
- realargs = []
-
- try:
- t = self.this
- types.append(typestring.match(self).group(1))
- realargs.append(t)
- except:
- types.append(type(self))
- realargs.append(self)
- for a in args:
- try:
- t = a.this
- types.append(typestring.match(a).group(1))
- realargs.append(t)
- except:
- types.append(type(a))
- realargs.append(a)
-
- return tuple(types), tuple(realargs)
-
-bs_AddInput_valuedict = {
- (InstanceType, FloatType) : PortInputFloat,
- (InstanceType, IntType) : PortInputLong,
- (InstanceType, StringType) : PortInputString,
- (InstanceType, InstanceType) : PortInputObject,
- (InstanceType, StringType, FloatType) : InputFloat,
- (InstanceType, StringType, IntType) : InputLong,
- (InstanceType, StringType, StringType) : InputString,
- (InstanceType, StringType, InstanceType) : InputObject,
- (InstanceType, StringType, ListType) : InputObject,
-}
-
-
-def Args( aService , aNodeName , verbose ):
- lenin = len( aService.ServiceinParameter )
- infos = aNodeName + 'info = "'
- infos = infos + 'NodeName : ' + aNodeName + '\\n'
- infos = infos + 'ServiceName : ' + aService.ServiceName + '\\n'
- infos = infos + 'PortNames : \\n'
- defnames = aNodeName + " = " + "'" + aNodeName + "' ; "
- i = 0
- while i < lenin :
- argname = aNodeName + aService.ServiceinParameter[ i ].Parametername
- valname = aNodeName + "\\\\"
- valname = valname + aService.ServiceinParameter[ i ].Parametername
- defnames = defnames + argname + " = " + "'" + valname + "' ; "
- infos = infos + str(i) + '. ' + argname + ' : Input'
- infos = infos + str(i) + ' '
- infos = infos + aService.ServiceinParameter[ i ].Parametername + ' '
- infos = infos + aService.ServiceinParameter[ i ].Parametertype + '\\n'
- i = i + 1
- lenout = len( aService.ServiceoutParameter )
- i = 0
- while i < lenout :
- argname = aNodeName + aService.ServiceoutParameter[ i ].Parametername
- valname = aNodeName + "\\\\"
- valname = valname + aService.ServiceoutParameter[ i ].Parametername
- defnames = defnames + argname + " = " + "'" + valname + "' ; "
- infos = infos + str(lenin+i) + '. ' + argname + ' : Output'
- infos = infos + str(i) + ' '
- infos = infos + aService.ServiceoutParameter[ i ].Parametername + ' '
- infos = infos + aService.ServiceoutParameter[ i ].Parametertype + '\\n'
- i = i + 1
- infos = infos + '"'
- defnames = defnames + infos
- if verbose :
- defnames = defnames + " ; print " + aNodeName + "info"
- return defnames
-
-def Service_Swig( aCatalogService ) :
- aService = SuperVision.Service()
- aService.ServiceName = aCatalogService.ServiceName
- i = 0
- while i < len( aCatalogService.ServiceinParameter ) :
- p = SuperVision.ServicesParameter( aCatalogService.ServiceinParameter[i].Parametertype , aCatalogService.ServiceinParameter[i].Parametername )
- SuperVision.AddInParameter( aService , p )
- i = i + 1
- i = 0
- while i < len( aCatalogService.ServiceoutParameter ) :
- p = SuperVision.ServicesParameter( aCatalogService.ServiceoutParameter[i].Parametertype , aCatalogService.ServiceoutParameter[i].Parametername )
- SuperVision.AddOutParameter( aService , p )
- i = i + 1
- return aService
-
-##########################################################
-class CNode:
-##########################################################
- def __init__( self , aNode , Verbose ):
- self.N = aNode
- self.N.Verbose = Verbose
- def Name( self ):
- return self.N.Name()
- def Service( self ):
- return self.N.Service()
- def Kind( self ):
- return self.N.Kind()
- def CreationDate( self ):
- return self.N.CreationDate()
- def LastUpdateDate( self ):
- return self.N.LastUpdateDate()
- def Version( self ):
- return self.N.Version()
- def Author( self ):
- return self.N.Author()
- def Comment( self ):
- return self.N.Comment()
-
- def SetName( self , aNewName ):
- return self.N.SetName( aNewName )
- def SetAuthor( self , anAuthor ):
- return self.N.SetAuthor( anAuthor )
- def SetComment( self , aComment ):
- return self.N.SetComment( aComment )
-
- def Print( self ):
- print "Name ",self.N.Name()
- if self.N.IsFactory() :
- print "ComponentName ",self.N.GetComponentName()
- print "InterfaceName ",self.N.GetInterfaceName()
- aService = self.N.Service()
- print "Service Name ",aService.ServiceName
- lenin = len( aService.ServiceinParameter )
- print " ",lenin," input argument(s) :"
- i = 0
- while i < lenin :
- print " ",i,". ",aService.ServiceinParameter[ i ].Parametername," ",aService.ServiceinParameter[ i ].Parametertype
- i = i + 1
- lenout = len( aService.ServiceoutParameter )
- print " ",lenout," output argument(s) :"
- i = 0
- while i < lenout :
- print " ",i,". ",aService.ServiceoutParameter[ i ].Parametername," ",aService.ServiceoutParameter[ i ].Parametertype
- i = i + 1
- aKind = self.N.Kind()
- print "KindOfNode",aKind
- aFirstCreation = self.N.CreationDate()
- print "Creation Date ",aFirstCreation.Day,"-",aFirstCreation.Month,"-",aFirstCreation.Year," ",aFirstCreation.Hour,":",aFirstCreation.Minute,":",aFirstCreation.Second
- aLastModification = self.N.LastUpdateDate()
- print "Update Date ",aLastModification.Day,"-",aLastModification.Month,"-",aLastModification.Year," ",aLastModification.Hour,":",aLastModification.Minute,":",aLastModification.Second
- print "Version ",self.N.Version()
- print "Author ",self.N.Author()
- if self.N.IsFactory() :
- print "Container ",self.N.GetContainer()
- print "Comment ",self.N.Comment()
- print "Coords ",self.N.X()," ",self.N.Y()
- def Port( self , aPortName ):
- aPort = self.N.Port( aPortName )
- if aPort != None :
- myPort = Port( aPort , self.N.Verbose )
- return myPort
- if self.N.Verbose :
- print "Error while creating the Port : ",aPortName
- return None
- def Input( self , *args ):
- types, realargs = getRealArgs(self.N,args)
- fn = bs_AddInput_valuedict[types]
- anInput = apply( fn, realargs)
- if anInput != None :
- myInput = Port( anInput , self.N.Verbose )
- return myInput
- ErrMsg = "Failed to create the Input"
- if self.N.Verbose :
- print ErrMsg
- return anInput
-# def BusPort( self , InOutParameterName , InOutParameterType ):
-# sts,inp,outp = self.N.BusPort( InOutParameterName ,
-# InOutParameterType )
-# inp = Port( inp , self.N.Verbose )
-# outp = Port( outp , self.N.Verbose )
-# return sts,inp,outp
-# def BusPorts( self , InputParameterName , InputParameterType ,
-# OutputParameterName , OutputParameterType ):
-# sts,inp,outp = self.N.BusPorts( InputParameterName ,
-# InputParameterType ,
-# OutputParameterName ,
-# OutputParameterType )
-# inp = Port( inp , self.N.Verbose )
-# outp = Port( outp , self.N.Verbose )
-# return sts,inp,outp
- def Ports( self ):
- ports = self.N.Ports()
- i = 0
- while i < len( ports ) :
- ports[ i ] = Port( ports[i] , self.N.Verbose )
- i = i + 1
- return ports
- def ListPorts( self , *args ):
- if len( args ) == 0 :
- aName = self.N.Name()
- else :
- aName = args[ 0 ]
- ports = self.N.Ports()
- listofports = ""
- if len( ports ) :
- portsname = ports[ 0 ].Name()
- bs = portsname.find('\\')
- if bs != -1 :
- portsname1,portsname2 = portsname.split('\\')
- portsname = portsname1 + portsname2
- if ports[ 0 ].IsInput():
- listofports = aName + 'In' + portsname
- else :
- listofports = aName + 'Out' + portsname
- i = 1
- while i < len( ports ) :
- portsname = ports[ i ].Name()
- bs = portsname.find('\\')
- if bs != -1 :
- portsname1,portsname2 = portsname.split('\\')
- portsname = portsname1 + portsname2
- if ports[ i ].IsInput():
- listofports = listofports + ',' + aName + 'In' + portsname
- else :
- listofports = listofports + ',' + aName + 'Out' + portsname
- i = i + 1
- print listofports
- if len( ports ) == 1 :
- listofports = "[" + listofports + "] = " + aName + ".Ports()"
- else :
- listofports = listofports + " = " + aName + ".Ports()"
- return listofports
- def PrintPorts( self ):
- ports = self.N.Ports()
- i = 0
- while i < len( ports ) :
- Direction = "Out"
- if ports[ i ].IsInput() :
- Direction = "In"
- print Direction,self.N.Name(),'(',ports[ i ].Name(),ports[ i ].Kind(),ports[ i ].Type(),') = ',ports[ i ].ToString()
- i = i + 1
- def Links( self ) :
- links = self.N.Links()
- i = 0
- while i < len( links ) :
- links[ i ] = Link( links[i] , self.N.Verbose )
- i = i + 1
- return links
- def PrintLinks( self ):
- links = self.Links()
- i = 0
- while i < len( links ) :
- links[i].Print()
- i = i + 1
- def IsGraph( self ):
- return self.N.IsGraph()
- def IsComputing( self ):
- return self.N.IsComputing()
- def IsFactory( self ):
- return self.N.IsFactory()
- def IsInLine( self ):
- return self.N.IsInLine()
- def IsGOTO( self ):
- return self.N.IsGOTO()
- def IsLoop( self ):
- return self.N.IsLoop()
- def IsEndLoop( self ):
- return self.N.IsEndLoop()
- def IsSwitch( self ):
- return self.N.IsSwitch()
- def IsEndSwitch( self ):
- return self.N.IsEndSwitch()
- def SubGraph( self ):
- return self.N.SubGraph()
- def Thread( self ):
- return self.N.Thread()
- def IsWaiting( self ):
- return self.N.IsWaiting()
- def IsRunning( self ):
- return self.N.IsRunning()
- def IsDone( self ):
- return self.N.IsDone()
- def IsSuspended( self ):
- return self.N.IsSuspended()
- def State( self ):
- return self.N.State()
- def Control( self ):
- return self.N.Control()
- def ControlClear( self ):
- return self.N.ControlClear()
- def AutoState( self ):
- return self.N.AutoState()
- def ReadyW( self ):
- return self.N.ReadyW()
- def RunningW( self ):
- return self.N.RunningW()
- def DoneW( self ):
- return self.N.DoneW()
- def SuspendedW( self ):
- return self.N.SuspendedW()
- def ReRun( self ):
- return self.N.ReRun()
- def ReStart( self ):
- return self.N.ReStart()
- def ReRunAt( self , aNodeName ):
- return self.N.ReRunAt( aNodeName )
- def ReStartAt( self , aNodeName ):
- return self.N.ReStartAt( aNodeName )
- def Ping( self ):
- return self.N.ping()
- def Kill( self ):
- return self.N.Kill()
- def KillDone( self ):
- return self.N.KillDone()
- def Suspend( self ):
- return self.N.Suspend()
- def SuspendDone( self ):
- return self.N.SuspendDone()
- def Resume( self ):
- return self.N.Resume()
- def Stop( self ):
- return self.N.Stop()
- def Coords( self , X , Y ):
- return self.N.Coords( X , Y )
- def X( self ):
- return self.N.X()
- def Y( self ):
- return self.N.Y()
- def destroy( self ):
- self.N.destroy()
- def CpuUsed( self ):
- return self.N.CpuUsed()
-
-##########################################################
-class FNode(CNode):
-##########################################################
- def __init__( self , aNode , Verbose ):
- self.N = aNode
- self.N.Verbose = Verbose
- def GetComponentName( self ):
- return self.N.GetComponentName()
- def GetInterfaceName( self ):
- return self.N._get_interfaceName()
- def GetContainer( self ):
- return self.N.GetContainer()
- def SetComponentName( self , aComponentName ):
- return self.N.SetComponentName( aComponentName )
- def SetInterfaceName( self , anInterfaceName ):
- return self.N.SetInterfaceName( anInterfaceName )
- def SetContainer( self , aComputer ):
- return self.N.SetContainer( aComputer )
-
-##########################################################
-class INode(CNode):
-##########################################################
- def __init__( self , aNode , Verbose ):
- self.N = aNode
- self.N.Verbose = Verbose
- def Edit( self , FuncName , PyFunc ) :
- import os
- import random
- suf = str(random.randrange(1,10000))
- file = '/tmp/' + FuncName + '_' + suf + '.py'
- try :
- #d = dir ()
- #print "dir()",d
- fd = os.open( file , os.O_CREAT | os.O_WRONLY | os.O_TRUNC )
- #d = dir (fd)
- #print "dir(fd)",d
- i = 0
- while ( i < len( PyFunc ) ) :
- print i,'/',len( PyFunc ),PyFunc[ i ]
- os.write( fd , PyFunc[ i ] + '\n' )
- i = i + 1
- os.close( fd )
- edit = '${EDITOR} ' + file
- os.system( edit )
- fd = os.open( file , os.O_RDONLY )
- line = os.read( fd , 132 )
- res = ''
- while len( line ) :
- res = res + line
- line = os.read( fd , 132 )
- os.close( fd )
- PyFunc = res.splitlines()
- i = 0
- while i < len( PyFunc ) :
- print PyFunc[i]
- i = i + 1
- except :
- print "Open of",file,"failed."
- return PyFunc
- def SetPyFunction( self , FuncName , aPyFunction ):
- return self.N.SetPyFunction( FuncName , aPyFunction )
- def PyFunction( self ):
- return self.N.PyFunction()
- def PyFuncName( self ):
- return self.N.PyFuncName()
- def EPyFunc( self ):
- PyFunc = self.N.PyFunction()
- PyFunc = self.Edit( self.N.PyFuncName() , PyFunc )
- self.N.SetPyFunction( self.N.PyFuncName() , PyFunc )
- def InPort( self , aParameterName , aParameterType ):
- aPort = self.N.InPort( aParameterName ,
- aParameterType )
- if aPort != None :
- myPort = Port( aPort , self.N.Verbose )
- return myPort
- if self.N.Verbose :
- print "Error while creating the Port : ",aParameterName
- return None
- def OutPort( self , aParameterName , aParameterType ):
- aPort = self.N.OutPort( aParameterName ,
- aParameterType )
- if aPort != None :
- myPort = Port( aPort , self.N.Verbose )
- return myPort
- if self.N.Verbose :
- print "Error while creating the Port : ",aParameterName
- return None
-
-##########################################################
-class GNode(INode):
-##########################################################
- def __init__( self , aNode , Verbose ):
- self.N = aNode
- self.N.Verbose = Verbose
- def SetCoupled( self , anInLineNode ):
- if self.N.IsGOTO() :
- node = self.N.SetCoupled( anInLineNode )
- else :
- node = None
- return node
- def Coupled( self ):
- node = self.N.Coupled()
- if node != None :
- if node.IsInLine() :
- node = INode( node , self.N.Verbose )
- elif node.IsLoop() :
- node = LNode( node , self.N.Verbose )
- elif node.IsEndLoop() :
- node = ELNode( node , self.N.Verbose )
- elif node.IsSwitch() :
- node = SNode( node , self.N.Verbose )
- elif node.IsEndSwitch() :
- node = ESNode( node , self.N.Verbose )
- return node
-
-##########################################################
-class LNode(GNode):
-##########################################################
- def __init__( self , aNode , Verbose ):
- self.N = aNode
- self.N.Verbose = Verbose
- def SetPyInit( self , InitName , aPyFunction ):
- return self.N.SetPyInit( InitName , aPyFunction )
- def PyInit( self ):
- return self.N.PyInit()
- def PyInitName( self ) :
- return self.N.PyInitName()
- def EPyInit( self ):
- PyFunc = self.N.PyFunction()
- PyFunc = self.Edit( self.N.PyFuncName() , PyFunc )
- self.N.SetPyFunction( self.N.PyFuncName() , PyFunc )
- def SetPyMore( self , MoreName , aPyFunction ):
- return self.N.SetPyMore( MoreName , aPyFunction )
- def PyMore( self ):
- return self.N.PyMore()
- def PyMoreName( self ) :
- return self.N.PyMoreName()
- def EPyMore( self ):
- PyMore = self.N.PyMore()
- PyMore = self.Edit( self.N.PyMoreName() , PyMore )
- self.N.SetPyMore( self.N.PyMoreName() , PyMore )
- def SetPyNext( self , NextName , aPyFunction ):
- return self.N.SetPyNext( NextName , aPyFunction )
- def PyNext( self ):
- return self.N.PyNext()
- def PyNextName( self ) :
- return self.N.PyNextName()
- def EPyNext( self ):
- PyNext = self.N.PyNext()
- PyNext = self.Edit( self.N.PyNextName() , PyNext )
- self.N.SetPyNext( self.N.PyNextName() , PyNext )
-
-##########################################################
-class ELNode(GNode):
-##########################################################
- def __init__( self , aNode , Verbose ):
- self.N = aNode
- self.N.Verbose = Verbose
-
-##########################################################
-class SNode(GNode):
-##########################################################
- def __init__( self , aNode , Verbose ):
- self.N = aNode
- self.N.Verbose = Verbose
-
-##########################################################
-class ESNode(GNode):
-##########################################################
- def __init__( self , aNode , Verbose ):
- self.N = aNode
- self.N.Verbose = Verbose
-
-##########################################################
-#class ServicesParameter_Swig :
-##########################################################
-# def __init__( self , aServicesParameter ):
-# self.Parametertype = aServicesParameter.Parametertype
-# self.Parametername = aServicesParameter.Parametername
-
-##########################################################
-class Graph(INode):
-##########################################################
- def __init__( self , aName ):
- try:
- graph = SuperVision.Graph( aName )
- except:
- try:
- graph = aName.G.Copy()
- except:
- graph = None
- if graph != None :
- self.G = graph
- self.G.Verbose = 1
- self.N = graph
- self.N.Verbose = 1
- else :
- print "Graph creation failed"
- def CNode( self , *args ):
- if len( args ) == 1 :
- aService = args[ 0 ]
- else :
- aComponent = args[ 0 ]
- anInterface = args[ 1 ]
- aService = args[ 2 ]
- NodeComponent = modulecatalog.GetComponent( aComponent )
- aService = NodeComponent.GetService( anInterface , aService )
- aNode = self.G.CNode( aService )
- if aNode != None :
- myNode = CNode( aNode , self.G.Verbose )
- return myNode
- ErrMsg = "Failed to create a Node with Service " + aService.ServiceName
- if self.G.Verbose :
- print ErrMsg
- return aNode
- def Node( self , aComponent , anInterface , aService ):
- if SuperVision.Swig :
- aService = Service_Swig( aService )
- return self.FNode( aComponent , anInterface , aService )
- def FNode( self , aComponent , anInterface , aService ):
- NodeComponent = modulecatalog.GetComponent( aComponent )
- aService = NodeComponent.GetService( anInterface , aService )
- if SuperVision.Swig :
- aService = Service_Swig( aService )
- aNode = self.G.FNode( aComponent , anInterface , aService )
- if aNode != None :
- myNode = FNode( aNode , self.G.Verbose )
- return myNode
- ErrMsg = "Failed to create a Node with Service " + aService.ServiceName
- if self.G.Verbose :
- print ErrMsg
- return aNode
- def INode( self , FuncName , aPythonFunction ):
- aNode = self.G.INode( FuncName , aPythonFunction )
- if aNode != None :
- myNode = INode( aNode , self.G.Verbose )
- return myNode
- ErrMsg = "Failed to create a Node"
- if self.G.Verbose :
- print ErrMsg
- return aNode
- def GNode( self , FuncName , aPythonFunction , anINode ):
- aNode = self.G.GNode( FuncName , aPythonFunction , anINode )
- if aNode != None :
- myNode = GNode( aNode , self.G.Verbose )
- return myNode
- ErrMsg = "Failed to create a Node"
- if self.G.Verbose :
- print ErrMsg
- return aNode
- def LNode( self , InitName , InitFunction , MoreName , MoreFunction , NextName , NextFunction ):
- aNode,anEndOfLoop = self.G.LNode( InitName , InitFunction , MoreName , MoreFunction , NextName , NextFunction )
- if aNode != None :
- myNode = LNode( aNode , self.G.Verbose )
- myEndOfLoop = INode( anEndOfLoop , self.G.Verbose )
- return myNode,myEndOfLoop
- ErrMsg = "Failed to create a Node with Service " + aService.ServiceName
- if self.G.Verbose :
- print ErrMsg
- return aNode
- def SNode( self , FuncName , aPythonFunction ):
- aNode,anEndOfSwitch = self.G.SNode( FuncName , aPythonFunction )
- if aNode != None :
- myNode = SNode( aNode , self.G.Verbose )
- myEndOfSwitch = INode( anEndOfSwitch , self.G.Verbose )
- return myNode,myEndOfSwitch
- ErrMsg = "Failed to create a Node"
- if self.G.Verbose :
- print ErrMsg
- return aNode
-# def LoopNode( self , aComponent , anInterface , aService , aNodeName ):
-# NodeComponent = modulecatalog.GetComponent( aComponent )
-# aService = NodeComponent.GetService( anInterface , aService )
-# aNode,anEndNode = self.G.LoopNode( aComponent , anInterface , aService , aNodeName )
-# myNode = aNode
-# myEndNode = anEndNode
-# if aNode != None :
-# myNode = Node( aNode , self.G.Verbose )
-# if anEndNode != None :
-# myEndNode = Node( anEndNode , self.G.Verbose )
-# if ( aNode != None ) & ( anEndNode != None ) :
-# return myNode,myEndNode
-# ErrMsg = "Failed to create a Node with Service " + aService.ServiceName
-# if self.G.Verbose :
-# print ErrMsg
-# return aNode,anEndNode
-# def SwitchNode( self , aComponent , anInterface , aService , aNodeName ):
-# NodeComponent = modulecatalog.GetComponent( aComponent )
-# aService = NodeComponent.GetService( anInterface , aService )
-# aNode,anEndNode = self.G.SwitchNode( aComponent , anInterface , aService , aNodeName )
-# myNode = aNode
-# myEndNode = anEndNode
-# if aNode != None :
-# myNode = Node( aNode , self.G.Verbose )
-# if anEndNode != None :
-# myEndNode = Node( anEndNode , self.G.Verbose )
-# if ( aNode != None ) & ( anEndNode != None ) :
-# return myNode,myEndNode
-# ErrMsg = "Failed to create a Node with Service " + aService.ServiceName
-# if self.G.Verbose :
-# print ErrMsg
-# return aNode,anEndNode
-# def LNode( self , aNodeName ):
-# aNode = self.G.LNode( aNodeName )
-# if aNode != None :
-# myNode = Node( aNode , self.G.Verbose )
-# return myNode
-# ErrMsg = "Failed to create a Node with Service " + aService.ServiceName
-# if self.G.Verbose :
-# print ErrMsg
-# return aNode
-# def LService( self , aComponent , anInterface , aService ):
-# NodeComponent = modulecatalog.GetComponent( aComponent )
-# aService = NodeComponent.GetService( anInterface , aService )
-# aNode = self.G.LService( aComponent , anInterface , aService )
-# if aNode != None :
-# myNode = Node( aNode , self.G.Verbose )
-# return myNode
-# ErrMsg = "Failed to create a Node with Service " + aService.ServiceName
-# if self.G.Verbose :
-# print ErrMsg
-# return aNode
-# def CNode( self , aNodeName ):
-# aNode = self.G.CNode( aNodeName )
-# if aNode != None :
-# myNode = Node( aNode , self.G.Verbose )
-# return myNode
-# ErrMsg = "Failed to create a Node with Service " + aService.ServiceName
-# if self.G.Verbose :
-# print ErrMsg
-# return aNode
-# def CService( self , aComponent , anInterface , aService ):
-# NodeComponent = modulecatalog.GetComponent( aComponent )
-# aService = NodeComponent.GetService( anInterface , aService )
-# aNode = self.G.CService( aComponent , anInterface , aService )
-# if aNode != None :
-# myNode = Node( aNode , self.G.Verbose )
-# return myNode
-# ErrMsg = "Failed to create a Node with Service " + aService.ServiceName
-# if self.G.Verbose :
-# print ErrMsg
-# return aNode
- def PrintService( self , aComponent , anInterface , aService ):
- NodeComponent = modulecatalog.GetComponent( aComponent )
- aService = NodeComponent.GetService( anInterface , aService )
- print "ServiceName ",aService.ServiceName," :"
- lenin = len( aService.ServiceinParameter )
- print " ",lenin," input argument(s) :"
- i = 0
- while i < lenin :
- print " ",i,". ",aService.ServiceinParameter[ i ].Parametername," ",aService.ServiceinParameter[ i ].Parametertype
- i = i + 1
- lenout = len( aService.ServiceoutParameter )
- print " ",lenout," output argument(s) :"
- i = 0
- while i < lenout :
- print " ",i,". ",aService.ServiceoutParameter[ i ].Parametername," ",aService.ServiceoutParameter[ i ].Parametertype
- i = i + 1
- def Link( self , aFromNodePort , aToNodePort ):
- aLink = self.G.Link( aFromNodePort.P , aToNodePort.P )
- if aLink != None :
- myLink = Link( aLink , self.G.Verbose )
- return myLink
- ErrMsg = "Failed to create a Link from " + aFromNodePort.Node().Name() + "(" + aFromNodePort.Name() + ") to " + aToNodePort.Node().Name() + "(" + aToNodePort.Name() + ")"
- if self.G.Verbose :
- print ErrMsg
- return aLink
- def Import( self , anXmlFileName ):
- return self.G.Import( anXmlFileName )
- def Export( self , anXmlFileName ):
- return self.G.Export( anXmlFileName )
- def IsReadOnly( self ) :
- return self.G.IsReadOnly()
- def ComponentRef( self , aFactoryServer , aComponent ) :
- return self.G.ComponentRef( aFactoryServer , aComponent )
- def IsValid( self ):
- return self.G.IsValid()
- def IsExecutable( self ):
- return self.G.IsExecutable()
- def IsEditing( self ):
- return self.G.IsEditing()
- def IsExecuting( self ):
- return self.G.IsExecuting()
- def LevelMax( self ):
- return self.G.LevelMax()
- def ThreadsMax( self ):
- return self.G.ThreadsMax()
- def GraphsNumber( self ):
- return self.G.GraphsNumber()
- def LevelNodes( self , aLevel ):
- nodes = self.G.LevelNodes( aLevel )
- return self.nodesTuple( nodes )
- def Run( self , *args ):
- self.S = -1
- aService = self.Service()
- nargs = len( args )
- i = 0
- while nargs > 0 :
- print aService.ServiceinParameter[ i ].Parametername," = ",args[i]
- self.Input( aService.ServiceinParameter[ i ].Parametername , args[i] )
- i = i + 1
- nargs = nargs - 1
- return self.G.Run()
- def Start( self , *args ):
- self.S = -1
- aService = self.Service()
- nargs = len( args )
- i = 0
- while nargs > 0 :
- print aService.ServiceinParameter[ i ].Parametername," = ",args[i]
- self.Input( aService.ServiceinParameter[ i ].Parametername , args[i] )
- i = i + 1
- nargs = nargs - 1
- return self.G.Start()
- def Event( self ):
- sts,aNode,anEvent,aState = self.G.Event()
- self.S = sts
- return sts,aNode,anEvent,aState
- def EventNoW( self ):
- sts,aNode,anEvent,aState = self.G.EventNoW()
- self.S = sts
- return sts,aNode,anEvent,aState
- def EventW( self ):
- sts,aNode,anEvent,aState = self.G.EventW()
- self.S = sts
- return sts,aNode,anEvent,aState
- def NextW( self ):
- if self.S != 0 :
- sts,aNode,anEvent,aState = self.G.EventW()
- self.S = sts
- print sts,aNode.Thread(),aNode.SubGraph(),aNode.Name(),anEvent,aState
- return sts
- def Threads( self ):
- return self.G.Threads()
- def SuspendedThreads( self ):
- return self.G.SuspendedThreads()
- def LastLevelDone( self ):
- return self.G.LastLevelDone()
- def Verbose( self , verbose ):
- preverbose = self.G.Verbose
- self.G.Verbose = verbose
- return preverbose
- def Nodes( self ):
- nodes = self.G.Nodes()
- return self.nodesTuple( nodes )
- def nodesTuple( self , nodes ) :
- n = len( nodes.CNodes )
- i = 0
- j = 0
- pynodes = []
- while i < n :
- pynodes.append( CNode( nodes.CNodes[i] , self.G.Verbose ) )
- i = i + 1
- j = j + 1
- n = len( nodes.FNodes )
- i = 0
- while i < n :
- pynodes.append( FNode( nodes.FNodes[i] , self.G.Verbose ) )
- i = i + 1
- j = j + 1
- n = len( nodes.INodes )
- i = 0
- while i < n :
- pynodes.append( INode( nodes.INodes[i] , self.G.Verbose ) )
- i = i + 1
- j = j + 1
- n = len( nodes.GNodes )
- i = 0
- while i < n :
- pynodes.append( GNode( nodes.GNodes[i] , self.G.Verbose ) )
- i = i + 1
- j = j + 1
- n = len( nodes.LNodes )
- i = 0
- while i < n :
- pynodes.append( LNode( nodes.LNodes[i] , self.G.Verbose ) )
- i = i + 1
- j = j + 1
- n = len( nodes.ELNodes )
- i = 0
- while i < n :
- pynodes.append( GNode( nodes.ELNodes[i] , self.G.Verbose ) )
- i = i + 1
- j = j + 1
- n = len( nodes.SNodes )
- i = 0
- while i < n :
- pynodes.append( SNode( nodes.SNodes[i] , self.G.Verbose ) )
- i = i + 1
- j = j + 1
- n = len( nodes.ESNodes )
- i = 0
- while i < n :
- pynodes.append( GNode( nodes.ESNodes[i] , self.G.Verbose ) )
- i = i + 1
- j = j + 1
- return pynodes
- def ListNodes( self , *args ):
- nodes = self.Nodes()
- listofnodes = ""
- if len( nodes ) :
- listofnodes = nodes[ 0 ].Name()
- i = 1
- while i < len( nodes ) :
- listofnodes = listofnodes + ',' + nodes[ i ].Name()
- i = i + 1
- print listofnodes
- if len( args ) == 0 :
- aName = self.N.Name()
- else :
- aName = args[ 0 ]
- if len( nodes ) == 1 :
- listofnodes = "[" + listofnodes + "] = " + aName + ".Nodes()"
- else :
- listofnodes = listofnodes + " = " + aName + ".Nodes()"
- return listofnodes
- def PrintNodes( self ):
- nodes = self.Nodes()
- n = len( nodes )
- i = 0
- while i < n :
- print ' '
- nodes[i].Print()
- i = i + 1
- def PrintThreads( self ):
- nodes = self.Nodes()
- i = 0
- while i < len( nodes ) :
- print nodes[i].Name(),nodes[i].Thread(),nodes[i].State(),nodes[i].Control(),nodes[i].AutoState()
- i = i + 1
- def GLinks( self ):
- links = self.G.GLinks()
- i = 0
- while i < len( links ) :
- links[ i ] = Link( links[i] , self.G.Verbose )
- i = i + 1
- return links
- def ListLinks( self , *args ):
- links = self.G.GLinks()
- if len( links ) :
- listoflinks = links[ 0 ].InPort().Node().Name()
- listoflinks = listoflinks + links[ 0 ].InPort().Name()
- i = 1
- while i < len( links ) :
- listoflinks = listoflinks + ',' + links[ i ].InPort().Node().Name()
- listoflinks = listoflinks + links[ i ].InPort().Name()
- i = i + 1
- print listoflinks
- if len( args ) == 0 :
- aName = self.N.Name()
- else :
- aName = args[ 0 ]
- if len( links ) == 1 :
- listoflinks = "[" + listoflinks + "] = " + aName + ".GLinks()"
- else :
- listoflinks = listoflinks + " = " + aName + ".GLinks()"
- return listoflinks
- def PrintLinks( self ):
- links = self.G.GLinks()
- i = 0
- while i < len( links ) :
- Link( links[ i ] , self.G.Verbose ).Print()
- i = i + 1
- def Graphs( self ):
- graphs = self.G.Graphs()
- outgraphs = graphs
- i = 0
- while i < len( graphs ) :
- outgraphs[ i ] = Graph( graphs[i].Name() , self.G.Verbose )
- outgraphs[ i ].Merge( graphs[i] )
- i = i + 1
- return outgraphs
- def Copy( self ):
- aCopy = self.G.Copy()
- if aCopy != None:
- myCopy = Graph( aCopy )
- return myCopy
- ErrMsg = "Failed to get a Copy of " + self.G.Name()
- if self.G.Verbose :
- print ErrMsg
- return aCopy
- def Merge( self , aGraph ):
- return self.G.Merge( aGraph.G )
- def Destroy( self ):
- self.N.destroy()
-
-##########################################################
-class GraphE(Graph):
-##########################################################
- def __init__( self , aName ):
- graph = SuperVision.GraphE( aName )
- self.G = graph
- self.G.Verbose = 1
- self.N = graph
- self.N.Verbose = 1
-
-##########################################################
-class Value:
-##########################################################
- def __init__( self , aValue , Verbose ):
- self.V = aValue
- self.V.Verbose = Verbose
- def ToString( self ):
- return self.V.ToString()
- def ToAny( self ):
- return self.V.ToAny()
- def Destroy( self ):
- self.N.destroy()
-
-##########################################################
-class Port:
-##########################################################
- def __init__( self , aPort , Verbose ):
- self.P = aPort
- self.P.Verbose = Verbose
- def Input( self , *args ):
- types, realargs = getRealArgs(self.P,args)
- fn = bs_AddInput_valuedict[types]
- anInput = apply( fn, realargs)
- return anInput
- def Node( self ):
- aNode = self.P.Node()
- if aNode != None :
- if aNode.IsComputing() :
- myNode = CNode( aNode , self.P.Verbose )
- elif aNode.IsFactory() :
- myNode = FNode( aNode , self.P.Verbose )
- elif aNode.IsInLine() :
- myNode = INode( aNode , self.P.Verbose )
- elif aNode.IsGOTO() :
- myNode = GNode( aNode , self.P.Verbose )
- elif aNode.IsLoop() :
- myNode = LNode( aNode , self.P.Verbose )
- elif aNode.IsEndLoop() :
- myNode = ELNode( aNode , self.P.Verbose )
- elif aNode.IsSwitch() :
- myNode = SNode( aNode , self.P.Verbose )
- elif aNode.IsEndSwitch() :
- myNode = ESNode( aNode , self.P.Verbose )
- else :
- myNode = None
- return myNode
- return aNode
- def Name( self ):
- return self.P.Name()
- def Type( self ):
- return self.P.Type()
- def Link( self ):
- aLink = self.P.Link()
- if aLink != None :
- myLink = Link( aLink , self.P.Verbose )
- return myLink
- ErrMsg = "Failed to get a Link to " + self.P.Node().Name() + "(" + self.P.Name() + ")"
- if self.P.Verbose :
- print ErrMsg
- return aLink
- def Links( self ):
- links = self.P.Links()
- i = 0
- while i < len( links ) :
- links[ i ] = Link( links[i] , self.P.Verbose )
- i = i + 1
- return links
- def PrintLinks( self ):
- links = self.P.Links()
- i = 0
- while i < len( links ) :
- Link( links[ i ] , self.P.Verbose ).Print()
- i = i + 1
- def IsInput( self ):
- return self.P.IsInput()
- def IsLinked( self ):
- return self.P.IsLinked()
- def HasInput( self ):
- return self.P.HasInput()
- def Kind( self ) :
- return self.P.Kind()
- def IsParam( self ):
- return self.P.IsParam()
- def IsGate( self ):
- return self.P.IsGate()
- def IsLoop( self ):
- return self.P.IsLoop()
- def IsInLine( self ):
- return self.P.IsInLine()
- def IsSwitch( self ):
- return self.P.IsSwitch()
- def IsEndSwitch( self ):
- return self.P.IsEndSwitch()
-# def IsBus( self ):
-# return self.P.IsBus()
- def Done( self ):
- return self.P.Done()
- def State( self ):
- return self.P.State()
- def ToString( self ):
- return self.P.ToString()
- def ToAny( self ):
- return self.P.ToAny()
- def Print( self ):
- if self.P.IsInput() :
- if self.P.IsLinked() :
- print "In",self.P.Node().Name(),'(',self.P.Name(),self.P.Kind(),self.P.Type(),') = ',self.P.ToString(),' from ',self.Link().OutPort().Print()
- else :
- print "In",self.P.Node().Name(),'(',self.P.Name(),self.P.Kind(),self.P.Type(),') = ',self.P.ToString()
- else :
- print "Out",self.P.Node().Name(),'(',self.P.Name(),self.P.Kind(),self.P.Type(),') = ',self.P.ToString()
- def Destroy( self ):
- self.P.destroy()
-
-##########################################################
-class Link:
-##########################################################
- def __init__( self , aLink , Verbose ):
- self.L = aLink
- self.L.Verbose = Verbose
- def OutPort( self ):
- aPort = self.L.OutPort()
- if aPort != None :
- myPort = Port( aPort , self.L.Verbose )
- return myPort
- if self.L.Verbose :
- print "Error while getting the Port : "
- return None
- def InPort( self ):
- aPort = self.L.InPort()
- if aPort != None :
- myPort = Port( aPort , self.L.Verbose )
- return myPort
- if self.L.Verbose :
- print "Error while getting the Port : "
- return None
- def Print( self ):
- anOutPort = self.L.OutPort()
- anInPort = self.L.InPort()
- print anOutPort.Node().Name(),'(',anOutPort.Name(),' ',anOutPort.Kind(),') =',anOutPort.ToString(),' --> ',anInPort.Node().Name(),'(',anInPort.Name(),')',' ',anInPort.Kind()
- def CoordsSize( self ):
- return self.L.CoordsSize()
- def AddCoord( self , index , X , Y ):
- return self.L.AddCoord( index , X , Y )
- def ChangeCoord( self , index , X , Y ):
- return self.L.ChangeCoord( index , X , Y )
- def RemoveCoord( self , index ):
- return self.L.RemoveCoord( index )
- def Coords( self , index ):
- return self.L.Coords( index )
- def destroy( self ):
- self.L.destroy()
-
-
+++ /dev/null
-// SuperVisionTest SyrComponent : example of component performing some mathinatical operations
-//
-// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
-// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
-//
-// This library is free software; you can redistribute it and/or
-// modify it under the terms of the GNU Lesser General Public
-// License as published by the Free Software Foundation; either
-// version 2.1 of the License.
-//
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-// Lesser General Public License for more details.
-//
-// You should have received a copy of the GNU Lesser General Public
-// License along with this library; if not, write to the Free Software
-// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-//
-// See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
-//
-//
-//
-// File : SyrComponent_Impl.cxx
-// Author : Jean Rahuel, CEA
-// Module : SuperVisionTest
-
-using namespace std;
-#include <stdio.h>
-#include <unistd.h>
-#include <fstream>
-#include <sstream>
-#include <string>
-
-//#include "utilities.h"
-
-#include "SyrComponent_Impl.hxx"
-#include "Adder_Impl.hxx"
-
-SyrComponent_Impl::SyrComponent_Impl( CORBA::ORB_ptr orb ,
- PortableServer::POA_ptr poa ,
- PortableServer::ObjectId * contId ,
- const char *instanceName ,
- const char *interfaceName ,
- const bool kactivate ) :
- Engines_Component_i(orb, poa, contId, instanceName, interfaceName,1,true) {
- MESSAGE("SyrComponent_Impl::SyrComponent_Impl this " << hex << this << dec
- << "activate object instanceName("
- << instanceName << ") interfaceName(" << interfaceName << ")" )
- if ( kactivate ) {
- _thisObj = this ;
- _id = _poa->activate_object(_thisObj);
- }
-}
-
-SyrComponent_Impl::SyrComponent_Impl() {
-}
-
-SyrComponent_Impl::~SyrComponent_Impl() {
-}
-
-long SyrComponent_Impl::C_ISEVEN( const long anInteger ) {
- bool RetVal ;
- beginService( " SyrComponent_Impl::C_ISEVEN" );
- sendMessage(NOTIF_STEP, "SyrComponent_Impl::C_ISEVEN is Computing");
- int S = 1+(int) (2.0*rand()/(RAND_MAX+1.0));
- sleep(S);
- RetVal = ( anInteger & 1 ) == 0 ;
- endService( " SyrComponent_Impl::C_ISEVEN" );
- return RetVal ;
-}
-
-long SyrComponent_Impl::C_ISONE( const long anOddInteger ) {
- bool RetVal ;
- beginService( " SyrComponent_Impl::C_ISONE" );
- sendMessage(NOTIF_STEP, "SyrComponent_Impl::C_ISONE is Computing");
- int S = 1+(int) (2.0*rand()/(RAND_MAX+1.0));
- sleep(S);
- RetVal = ( anOddInteger == 1 ) ;
- endService( " SyrComponent_Impl::C_ISONE" );
- return RetVal ;
-}
-
-long SyrComponent_Impl::C_M3( const long anOddInteger ) {
- beginService( " SyrComponent_Impl::C_M3" );
- sendMessage(NOTIF_STEP, "SyrComponent_Impl::C_M3 is Computing");
- int S = 1+(int) (2.0*rand()/(RAND_MAX+1.0));
- sleep(S);
- endService( " SyrComponent_Impl::C_M3" );
- if ( C_ISEVEN( anOddInteger ) )
- return 0 ;
- return ( 3*anOddInteger ) ;
-}
-
-long SyrComponent_Impl::C_M3P1( const long anOddInteger ) {
- beginService( " SyrComponent_Impl::C_M3P1" );
- sendMessage(NOTIF_STEP, "SyrComponent_Impl::C_M3P1 is Computing");
- int S = 1+(int) (2.0*rand()/(RAND_MAX+1.0));
- sleep(S);
- endService( " SyrComponent_Impl::C_M3P1" );
- if ( C_ISEVEN( anOddInteger ) )
- return 0 ;
- return ( 3*anOddInteger + 1 ) ;
-}
-
-long SyrComponent_Impl::C_DIV2( const long anEvenInteger ) {
- beginService( " SyrComponent_Impl::C_DIV2" );
- sendMessage(NOTIF_STEP, "SyrComponent_Impl::C_DIV2 is Computing");
- int S = 1+(int) (2.0*rand()/(RAND_MAX+1.0));
- sleep(S);
- endService( " SyrComponent_Impl::C_DIV2" );
- if ( !C_ISEVEN( anEvenInteger ) )
- return 0 ;
- return ( anEvenInteger >> 1 ) ;
-}
-
-long SyrComponent_Impl::C_INCR( const long aCount ) {
- beginService( " SyrComponent_Impl::C_INCR" );
- sendMessage(NOTIF_STEP, "SyrComponent_Impl::C_INCR is Computing");
- int S = 1+(int) (2.0*rand()/(RAND_MAX+1.0));
- sleep(S);
- endService( " SyrComponent_Impl::C_INCR" );
- return ( aCount + 1 ) ;
-}
-
-long SyrComponent_Impl::C_MIN( const long aMinVal , const long anInteger ) {
- beginService( " SyrComponent_Impl::C_MIN" );
- sendMessage(NOTIF_STEP, "SyrComponent_Impl::C_MIN is Computing");
- int S = 1+(int) (2.0*rand()/(RAND_MAX+1.0));
- sleep(S);
- int min = aMinVal ;
- if ( anInteger < min || aMinVal == 0 ) {
- min = anInteger ;
- }
- string trace = "SyrComponent_Impl::C_MIN : " ;
- char cmin[ 30 ] ;
- sprintf( cmin , "%d" , min ) ;
- trace += cmin ;
- sendMessage(NOTIF_TRACE, trace.c_str() );
- endService( " SyrComponent_Impl::C_MIN" );
- return min ;
-}
-
-long SyrComponent_Impl::C_MAX( const long aMaxVal , const long anInteger ) {
- beginService( " SyrComponent_Impl::C_MAX" );
- sendMessage(NOTIF_STEP, "SyrComponent_Impl::C_MAX is Computing");
- int S = 1+(int) (2.0*rand()/(RAND_MAX+1.0));
- sleep(S);
- int max = aMaxVal ;
- if ( anInteger > max ) {
- max = anInteger ;
- }
- string trace = "SyrComponent_Impl::C_MAX : " ;
- char cmax[ 30 ] ;
- sprintf( cmax , "%d" , max ) ;
- trace += cmax ;
- sendMessage(NOTIF_TRACE, trace.c_str() );
- endService( " SyrComponent_Impl::C_MAX" );
- return max ;
-}
-
-SuperVisionTest::ListOfSyr_ptr SyrComponent_Impl::C_LISTOFSYR() {
- beginService( " SyrComponent_Impl::C_LISTOFSYR" );
- sendMessage(NOTIF_STEP, "SyrComponent_Impl::C_LISTOFSYR is Computing");
- int S = 1+(int) (2.0*rand()/(RAND_MAX+1.0));
- sleep(S);
- ListOfSyr_Impl * aNewListOfSyr = new ListOfSyr_Impl( _orb , _poa, _contId,
- instanceName() , interfaceName() ,
- graphName() , nodeName() ) ;
- SuperVisionTest::ListOfSyr_var iobject = (SuperVisionTest::ListOfSyr_var ) NULL ;
- PortableServer::ObjectId * id = aNewListOfSyr->getId() ;
- CORBA::Object_var obj = _poa->id_to_reference(*id);
- iobject = SuperVisionTest::ListOfSyr::_narrow(obj) ;
- endService( " SyrComponent_Impl::C_LISTOFSYR" );
- return SuperVisionTest::ListOfSyr::_duplicate( iobject ) ;
-// return ( aNewListOfSyr._retn() ) ;
-}
-
-SuperVisionTest::ListOfSyr_ptr SyrComponent_Impl::C_AVERAGE(
- const SuperVisionTest::ListOfSyr_ptr aListOfSyr ,
- const long anInteger ,
- const long aCount ,
- double & anAverage ) {
- beginService( " SyrComponent_Impl::C_AVERAGE" );
- sendMessage(NOTIF_STEP, "SyrComponent_Impl::C_AVERAGE is Computing");
- int S = 1+(int) (2.0*rand()/(RAND_MAX+1.0));
- sleep(S);
- SuperVisionTest::SeqOfSyr * aSeqOfSyr = aListOfSyr->GetSeqOfSyr() ;
- int len = aSeqOfSyr->length() ;
- aSeqOfSyr->length( len + 1 ) ;
- (*aSeqOfSyr)[ len ] = anInteger ;
- aListOfSyr->SetSeqOfSyr( *aSeqOfSyr ) ;
- anAverage = 0 ;
- int i ;
- for ( i = 0 ; i < len + 1 ; i++ ) {
- anAverage += (*aSeqOfSyr)[ i ] ;
- }
- anAverage = anAverage / ( len + 1 ) ;
- string end = " SyrComponent_Impl::C_AVERAGE " ;
- char caverage[ 30 ] ;
- sprintf( caverage , "%fd" , anAverage ) ;
- end += caverage ;
- endService( end.c_str() );
- return SuperVisionTest::ListOfSyr::_duplicate( aListOfSyr ) ;
-}
-
-SuperVisionTest::Syr_ptr SyrComponent_Impl::Init( const long anOddInteger ) {
- beginService( "SyrComponent_Impl::Init" );
- sendMessage(NOTIF_STEP, "SyrComponent_Impl creates Syr_Impl");
- int S = 1+(int) (2.0*rand()/(RAND_MAX+1.0));
- sleep(S);
- Syr_Impl * mySyr ;
- mySyr = new Syr_Impl( _orb , _poa, _contId,
- instanceName() , interfaceName() ,
- graphName() , nodeName() , anOddInteger ) ;
- SuperVisionTest::Syr_var iobject = (SuperVisionTest::Syr_var ) NULL ;
- PortableServer::ObjectId * id = mySyr->getId() ;
- CORBA::Object_var obj = _poa->id_to_reference(*id);
- iobject = SuperVisionTest::Syr::_narrow(obj) ;
- endService( "SyrComponent_Impl::Init" );
- return SuperVisionTest::Syr::_duplicate(iobject) ;
-}
-
-ListOfSyr_Impl::ListOfSyr_Impl( CORBA::ORB_ptr orb ,
- PortableServer::POA_ptr poa ,
- PortableServer::ObjectId * contId ,
- const char * instanceName ,
- const char * interfaceName ,
- const char * graphName ,
- const char * nodeName ) :
- Engines_Component_i(orb, poa, contId, instanceName, interfaceName,1,true) {
- Names( graphName , nodeName ) ;
- MESSAGE("ListOfSyr_Impl::ListOfSyr_Impl activate object instanceName("
- << instanceName << ") interfaceName(" << interfaceName << ") --> "
- << hex << (void *) this << dec )
- beginService( "ListOfSyr_Impl::ListOfSyr_Impl" );
- _thisObj = this ;
- _id = _poa->activate_object(_thisObj);
- sendMessage(NOTIF_STEP, "ListOfSyr_Impl is Created");
- endService( "ListOfSyr_Impl::ListOfSyr_Impl" );
-}
-
-ListOfSyr_Impl::ListOfSyr_Impl() {
-}
-
-ListOfSyr_Impl::~ListOfSyr_Impl() {
- beginService( "ListOfSyr_Impl::~ListOfSyr_Impl" );
- endService( "ListOfSyr_Impl::~ListOfSyr_Impl" );
-}
-
-SuperVisionTest::SeqOfSyr * ListOfSyr_Impl::GetSeqOfSyr() {
- SuperVisionTest::SeqOfSyr_var aSeqOfSyr = new SuperVisionTest::SeqOfSyr( _SeqOfSyr ) ;
- return ( aSeqOfSyr._retn() ) ;
-}
-
-void ListOfSyr_Impl::SetSeqOfSyr( const SuperVisionTest::SeqOfSyr & aSeqOfSyr ) {
- _SeqOfSyr = aSeqOfSyr ;
- return ;
-}
-
-extern "C"
-{
- PortableServer::ObjectId * SyrComponentEngine_factory
- (CORBA::ORB_ptr orb,
- PortableServer::POA_ptr poa,
- PortableServer::ObjectId * contId,
- const char *instanceName,
- const char *interfaceName)
- {
- MESSAGE("SyrComponentEngine_factory SyrComponentEngine ("
- << instanceName << "," << interfaceName << "," << getpid() << ")");
- SyrComponent_Impl * mySyrComponent
- = new SyrComponent_Impl(orb, poa, contId, instanceName, interfaceName);
- return mySyrComponent->getId() ;
- }
-}
-
-Syr_Impl::Syr_Impl( CORBA::ORB_ptr orb ,
- PortableServer::POA_ptr poa ,
- PortableServer::ObjectId * contId ,
- const char * instanceName ,
- const char * interfaceName ,
- const char * graphName ,
- const char * nodeName ,
- const long anOddInteger ) :
- SyrComponent_Impl(orb, poa, contId, instanceName, interfaceName,false) {
- Names( graphName , nodeName ) ;
- MESSAGE("Syr_Impl::Syr_Impl activate object instanceName("
- << instanceName << ") interfaceName(" << interfaceName << ") --> "
- << hex << (void *) this << dec )
- beginService( "Syr_Impl::Syr_Impl" );
- _thisObj = this ;
- _id = _poa->activate_object(_thisObj);
- _InitialInteger = anOddInteger ;
- _CurrentInteger = anOddInteger ;
- _Count = 0 ;
- sendMessage(NOTIF_STEP, "Syr_Impl is Created");
- endService( "Syr_Impl::Syr_Impl" );
-}
-
-Syr_Impl::Syr_Impl() {
-}
-
-Syr_Impl::~Syr_Impl() {
- beginService( "Syr_Impl::~Syr_Impl" );
- endService( "Syr_Impl::~Syr_Impl" );
-}
-
-long Syr_Impl::Initial() {
- beginService( " Syr_Impl::Initial" );
- sendMessage(NOTIF_STEP, "Syr_Impl::Initial is Computing");
- int S = 1+(int) (2.0*rand()/(RAND_MAX+1.0));
- sleep(S);
- endService( " Syr_Impl::Initial" );
- return _InitialInteger ;
-}
-
-long Syr_Impl::Current() {
- beginService( " Syr_Impl::Current" );
- sendMessage(NOTIF_STEP, "Syr_Impl::Current is Computing");
- int S = 1+(int) (2.0*rand()/(RAND_MAX+1.0));
- sleep(S);
- endService( " Syr_Impl::Current" );
- return _CurrentInteger ;
-}
-
-long Syr_Impl::IsEven() {
- bool RetVal ;
- beginService( " Syr_Impl::IsEven" );
- sendMessage(NOTIF_STEP, "Syr_Impl::IsEven is Computing");
- int S = 1+(int) (2.0*rand()/(RAND_MAX+1.0));
- sleep(S);
- RetVal = ( _CurrentInteger & 1 ) == 0 ;
- MESSAGE( " Syr_Impl::IsEven " << _CurrentInteger << " " << RetVal );
- endService( " Syr_Impl::IsEven" );
- return RetVal ;
-}
-
-long Syr_Impl::IsOne() {
- bool RetVal ;
- beginService( " Syr_Impl::IsOne" );
- sendMessage(NOTIF_STEP, "Syr_Impl::IsOne is Computing");
- int S = 1+(int) (2.0*rand()/(RAND_MAX+1.0));
- sleep(S);
- RetVal = ( _CurrentInteger == 1 ) ;
- MESSAGE( " Syr_Impl::IsOne " << _CurrentInteger << " " << RetVal );
- endService( " Syr_Impl::IsOne" );
- return RetVal ;
-}
-
-long Syr_Impl::Count() {
- beginService( " Syr_Impl::Count" );
- sendMessage(NOTIF_STEP, "Syr_Impl::Count is Computing");
- int S = 1+(int) (2.0*rand()/(RAND_MAX+1.0));
- sleep(S);
- MESSAGE( " Syr_Impl::Count " << _Count );
- endService( " Syr_Impl::Count" );
- return _Count ;
-}
-
-void Syr_Impl::M3p1() {
- beginService( " Syr_Impl::M3p1" );
- sendMessage(NOTIF_STEP, "Syr_Impl::M3p1 is Computing");
- int S = 1+(int) (2.0*rand()/(RAND_MAX+1.0));
- sleep(S);
- if ( IsEven() )
- _CurrentInteger = 0 ;
- else
- _CurrentInteger = 3*_CurrentInteger + 1 ;
- MESSAGE( " Syr_Impl::M3p1 " << _CurrentInteger );
- endService( " Syr_Impl::M3p1" );
-}
-
-void Syr_Impl::Div2() {
- beginService( " Syr_Impl::Div2" );
- sendMessage(NOTIF_STEP, "Syr_Impl::Div2 is Computing");
- int S = 1+(int) (2.0*rand()/(RAND_MAX+1.0));
- sleep(S);
- if ( !IsEven() )
- _CurrentInteger = 0 ;
- else
- _CurrentInteger = ( _CurrentInteger >> 1 ) ;
- MESSAGE( " Syr_Impl::Div2 " << _CurrentInteger );
- endService( " Syr_Impl::Div2" );
-}
-
-void Syr_Impl::Incr() {
- beginService( " Syr_Impl::Incr" );
- sendMessage(NOTIF_STEP, "Syr_Impl::Incr is Computing");
- int S = 1+(int) (2.0*rand()/(RAND_MAX+1.0));
- sleep(S);
- _Count = _Count + 1 ;
- MESSAGE( " Syr_Impl::Incr " << _Count );
- endService( " Syr_Impl::Incr" );
-}
-
-
-