]> SALOME platform Git repositories - modules/superv.git/commitdiff
Salome HOME
NRI : Merge doc from V1.2c.
authornri <nri@opencascade.com>
Tue, 21 Oct 2003 15:45:12 +0000 (15:45 +0000)
committernri <nri@opencascade.com>
Tue, 21 Oct 2003 15:45:12 +0000 (15:45 +0000)
17 files changed:
doc/html/INPUT/HTML/SUPERV.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 [new file with mode: 0755]
doc/html/INPUT/sources/bg_salomepro.gif [deleted file]
doc/html/INPUT/sources/doxygen.css [deleted file]
doc/html/INPUT/sources/static/doxygen.css [new file with mode: 0755]
doc/html/INPUT/sources/static/examples_SUPERV.html [new file with mode: 0755]
doc/html/INPUT/sources/static/nodestypes.jpg [new file with mode: 0755]
doc/html/INPUT/sources/static/overview_Supervision.html [new file with mode: 0755]
doc/html/INPUT/sources/static/page2.html [new file with mode: 0755]
doc/html/INPUT/sources/static/tree.js [new file with mode: 0755]
doc/html/INPUT/sources/static/treeview.js [new file with mode: 0644]
doc/html/Makefile.in

index 22cd5ee7158f6a8154d83f27e25897e3a9badef8..a191eaaba1b3bd1bb82b734f091dc26a12d37482 100644 (file)
 <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">
index df2181474e55f00c0d5c1544fcef1452b5296305..923f7d59a58f810372ba1cc255808bc2f356a0e7 100755 (executable)
@@ -3,7 +3,7 @@
 #---------------------------------------------------------------------------
 # General configuration options
 #---------------------------------------------------------------------------
-PROJECT_NAME           = "SALOME PRO - SUPERV - v.1.2"
+PROJECT_NAME           = "SALOME - SUPERV - v.1.2"
 PROJECT_NUMBER         = id#1.0
 OUTPUT_DIRECTORY       = ../
 OUTPUT_LANGUAGE        = English
@@ -96,11 +96,11 @@ GENERATE_HTMLHELP      = NO
 CHM_FILE               = 
 HHC_LOCATION           = 
 GENERATE_CHI           = NO
-BINARY_TOC             = NO
-TOC_EXPAND             = NO
-DISABLE_INDEX          = NO
+BINARY_TOC             = YES
+TOC_EXPAND             = YES
+DISABLE_INDEX          = YES
 ENUM_VALUES_PER_LINE   = 4
-GENERATE_TREEVIEW      = NO
+GENERATE_TREEVIEW      = YES
 TREEVIEW_WIDTH         = 250
 #---------------------------------------------------------------------------
 # configuration options related to the LaTeX output
index 80e0bcb063acf425fa1001d39beea368bb4497a3..7b58330d50856e28562e8f9ed80dae72d6e6dda3 100755 (executable)
Binary files a/doc/html/INPUT/sources/Application-About.png and b/doc/html/INPUT/sources/Application-About.png differ
index b8f2cfb6da8aa2f60922b1c60f642ce9e1eebab5..cf7ab8ba025d6bd9212f8bd5681e77d1aaef8e4f 100755 (executable)
Binary files a/doc/html/INPUT/sources/Application-About1.jpg and b/doc/html/INPUT/sources/Application-About1.jpg differ
index 10da488d2dcf2a063029d868686e1882e45487ab..0b05d5c18ee88779d283508781836e2b151f606f 100644 (file)
Binary files a/doc/html/INPUT/sources/application.gif and b/doc/html/INPUT/sources/application.gif differ
index 6d3b6a0a8c281dca8747fdd34b4d4de0f737c4a3..a6979ab9999552ccb91a0358f75103b09db5246c 100755 (executable)
Binary files a/doc/html/INPUT/sources/application.jpg and b/doc/html/INPUT/sources/application.jpg differ
diff --git a/doc/html/INPUT/sources/bg_salome.gif b/doc/html/INPUT/sources/bg_salome.gif
new file mode 100755 (executable)
index 0000000..677b704
Binary files /dev/null and b/doc/html/INPUT/sources/bg_salome.gif differ
diff --git a/doc/html/INPUT/sources/bg_salomepro.gif b/doc/html/INPUT/sources/bg_salomepro.gif
deleted file mode 100755 (executable)
index 677b704..0000000
Binary files a/doc/html/INPUT/sources/bg_salomepro.gif and /dev/null differ
diff --git a/doc/html/INPUT/sources/doxygen.css b/doc/html/INPUT/sources/doxygen.css
deleted file mode 100755 (executable)
index 6e2c772..0000000
+++ /dev/null
@@ -1,49 +0,0 @@
-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_salomepro.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 }
diff --git a/doc/html/INPUT/sources/static/doxygen.css b/doc/html/INPUT/sources/static/doxygen.css
new file mode 100755 (executable)
index 0000000..0a8e93d
--- /dev/null
@@ -0,0 +1,49 @@
+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 }
diff --git a/doc/html/INPUT/sources/static/examples_SUPERV.html b/doc/html/INPUT/sources/static/examples_SUPERV.html
new file mode 100755 (executable)
index 0000000..8642d34
--- /dev/null
@@ -0,0 +1,495 @@
+<!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
+ &nbsp; \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>,&nbsp;\r
+in string <i>anInterfaceName</i>,&nbsp; 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 *&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ' )<br>\r
+PyAdd.append( 'def Add(a,b) :&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\r
+' )<br>\r
+PyAdd.append( '&nbsp;&nbsp;&nbsp; print "Add will wait 5 seconds"&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\r
+' )<br>\r
+PyAdd.append( '&nbsp;&nbsp;&nbsp; d = dir()&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\r
+' )<br>\r
+PyAdd.append( '&nbsp;&nbsp;&nbsp; print "Add",d&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\r
+' )<br>\r
+PyAdd.append( '&nbsp;&nbsp;&nbsp; d = dir(sleep)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\r
+' )<br>\r
+PyAdd.append( '&nbsp;&nbsp;&nbsp; print "Add",d&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\r
+' )<br>\r
+PyAdd.append( '&nbsp;&nbsp;&nbsp; sleep(5)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\r
+' )<br>\r
+PyAdd.append( '&nbsp;&nbsp;&nbsp; print "Add waited"&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\r
+' )<br>\r
+PyAdd.append( '&nbsp;&nbsp;&nbsp; n = 0&nbsp;&nbsp;&nbsp;&nbsp; ' )<br>\r
+PyAdd.append( '&nbsp;&nbsp;&nbsp; while n &lt; 10000 :&nbsp;&nbsp;&nbsp;&nbsp;\r
+' )<br>\r
+PyAdd.append( '&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; i = 0&nbsp;&nbsp;&nbsp;&nbsp;\r
+' )<br>\r
+PyAdd.append( '&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; s = 0&nbsp;&nbsp;&nbsp;&nbsp;\r
+' )<br>\r
+PyAdd.append( '&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; while i &lt;= b\r
+:&nbsp;&nbsp;&nbsp;&nbsp; ' )<br>\r
+PyAdd.append( '&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\r
+s = s + i&nbsp;&nbsp;&nbsp;&nbsp; ' )<br>\r
+PyAdd.append( '&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\r
+i = i + 1&nbsp;&nbsp;&nbsp;&nbsp; ' )<br>\r
+PyAdd.append( '&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; n = n + 1&nbsp;&nbsp;&nbsp;&nbsp;\r
+' )<br>\r
+PyAdd.append( '&nbsp;&nbsp;&nbsp; return s&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\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( '&nbsp;&nbsp;&nbsp; print "label_begin",ValEven,ValOne,NB,KB'\r
+)<br>\r
+Pylabel_test.append( '&nbsp;&nbsp;&nbsp; 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( '&nbsp;&nbsp;&nbsp; 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( '&nbsp;&nbsp;&nbsp; N = max' )<br>\r
+PyforN.append( '&nbsp;&nbsp;&nbsp; if min &gt; 0 :' )<br>\r
+PyforN.append( '&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if max &gt;= min\r
+:' )<br>\r
+PyforN.append( '&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\r
+N = min' )<br>\r
+PyforN.append( '&nbsp;&nbsp;&nbsp; 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( '&nbsp;&nbsp;&nbsp; N = 0' )<br>\r
+PyMoreforN.append( '&nbsp;&nbsp;&nbsp; OutLoop = 0' )<br>\r
+PyMoreforN.append( '&nbsp;&nbsp;&nbsp; if max &gt; NN :' )<br>\r
+PyMoreforN.append( '&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; N = NN' )<br>\r
+PyMoreforN.append( '&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; OutLoop =\r
+1' )<br>\r
+PyMoreforN.append( '&nbsp;&nbsp;&nbsp; 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( '&nbsp;&nbsp;&nbsp; N = NN + 1' )<br>\r
+PyNextforN.append( '&nbsp;&nbsp;&nbsp; K = KK' )<br>\r
+PyNextforN.append( '&nbsp;&nbsp;&nbsp; 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( '&nbsp;&nbsp;&nbsp; Even = SyrComponent.C_ISEVEN( N )'\r
+)<br>\r
+PyifNotEven.append( '&nbsp;&nbsp;&nbsp; Odd = 1 - Even' )<br>\r
+PyifNotEven.append( '&nbsp;&nbsp;&nbsp; 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> ,&nbsp; in Port <i>InputPort</i>\r
+)</b></big><br>\r
+<br>\r
+<u><i><big>Creates a link&nbsp; 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(&nbsp; 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
+&nbsp;&nbsp;&nbsp; print aNode.Thread(),aNode.SubGraph(),aNode.Name(),anEvent,aState<br>\r
+&nbsp;&nbsp;&nbsp; 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(), " &nbsp;Author:", AddAndCompare.Author(),\r
+" &nbsp; 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> ,&nbsp; 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(), " &nbsp; 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> ,&nbsp; 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) :&nbsp;&nbsp; ' )<br>\r
+PyIsOdd.append( '&nbsp;&nbsp;&nbsp; print a,"IsOdd"&nbsp; ' )<br>\r
+PyIsOdd.append( '&nbsp;&nbsp;&nbsp; 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:", &nbsp;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> ,&nbsp; in ListOfStrings\r
+<i>aPyInitFunction</i> )</big></b><br>\r
+<b><big>void SetPyMore( in string <i>MoreName</i> ,&nbsp; in ListOfStrings\r
+<i>aPyMoreFunction</i> )<br>\r
+void SetPyNext( in string <i>NextName</i> ,&nbsp; 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( '&nbsp;&nbsp;&nbsp; return 1,0,K' )<br>\r
+PyMorefori = []<br>\r
+PyMorefori.append( 'def Morefori( ii , K ) :' )<br>\r
+PyMorefori.append( '&nbsp;&nbsp;&nbsp; OutLoop = 0' )<br>\r
+PyMorefori.append( '&nbsp;&nbsp;&nbsp; if 2 &gt; ii :' )<br>\r
+PyMorefori.append( '&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; OutLoop =\r
+1' )<br>\r
+PyMorefori.append( '&nbsp;&nbsp;&nbsp; return OutLoop,ii,K' )<br>\r
+PyNextfori = []<br>\r
+PyNextfori.append( 'def Nextfori( ii , K ) :' )<br>\r
+PyNextfori.append( '&nbsp;&nbsp;&nbsp; ii = ii + 1' )<br>\r
+PyNextfori.append( '&nbsp;&nbsp;&nbsp; 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
diff --git a/doc/html/INPUT/sources/static/nodestypes.jpg b/doc/html/INPUT/sources/static/nodestypes.jpg
new file mode 100755 (executable)
index 0000000..22f0ce4
Binary files /dev/null and b/doc/html/INPUT/sources/static/nodestypes.jpg differ
diff --git a/doc/html/INPUT/sources/static/overview_Supervision.html b/doc/html/INPUT/sources/static/overview_Supervision.html
new file mode 100755 (executable)
index 0000000..ef630f8
--- /dev/null
@@ -0,0 +1,324 @@
+<!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
+&nbsp; \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
diff --git a/doc/html/INPUT/sources/static/page2.html b/doc/html/INPUT/sources/static/page2.html
new file mode 100755 (executable)
index 0000000..064a2c9
--- /dev/null
@@ -0,0 +1,31 @@
+<!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>
+&nbsp;
+<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>
diff --git a/doc/html/INPUT/sources/static/tree.js b/doc/html/INPUT/sources/static/tree.js
new file mode 100755 (executable)
index 0000000..f5cdde5
--- /dev/null
@@ -0,0 +1,65 @@
+foldersTree = gFld("<b>SALOME v.1.2 </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"))
+*/
+
diff --git a/doc/html/INPUT/sources/static/treeview.js b/doc/html/INPUT/sources/static/treeview.js
new file mode 100644 (file)
index 0000000..55eb43d
--- /dev/null
@@ -0,0 +1,505 @@
+//**************************************************************** 
+// 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+">&nbsp;</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
index 6b636a242121ce8b4e90d2391361c730eb6ea185..18769d2db21552122065c53ad174d5d7489cb979 100644 (file)
@@ -1,10 +1,12 @@
-# -* Makefile *- 
+#  Copyright (C) 2003  CEA/DEN, EDF R&D
 #
-# Author : Vasily Rusyaev (Open Cascade NN)
-# Date : 13/02/2003
-# $Header: 
 #
-# source path
+#
+#  File   : Makefile.in
+#  Author : Vasily Rusyaev (Open Cascade NN)
+#  Module : doc
+#  $Header: 
+
 top_srcdir=@top_srcdir@
 top_builddir=../..
 srcdir=@srcdir@
@@ -20,9 +22,8 @@ doc:
        mv -f doxyfile1 doxyfile; \
        $(doxygen) ./doxyfile; \
        cd ..; \
-       cp -f $(srcdir)/INPUT/sources/doxygen.css ./html/doxygen.css
+       cp -fr $(srcdir)/INPUT/sources/static/*.* ./html/
        cp -fr $(srcdir)/INPUT/sources/ html/
-       cp -fr $(srcdir)/INPUT/exemple/ html/
        cp -fr $(srcdir)/INPUT/HTML/  html/
 
 clean: