]> SALOME platform Git repositories - modules/paravis.git/commitdiff
Salome HOME
Merge branch 'abn/doc'
authorabn <adrien.bruneton@cea.fr>
Wed, 18 Mar 2015 08:55:31 +0000 (09:55 +0100)
committerabn <adrien.bruneton@cea.fr>
Wed, 18 Mar 2015 08:55:31 +0000 (09:55 +0100)
21 files changed:
doc/CMakeLists.txt
doc/GeneralArchitecture.html [deleted file]
doc/GeneralArchitecture_html_m4ed0a034.gif [deleted file]
doc/UserDocumentation.html [deleted file]
doc/dev/CMakeLists.txt [new file with mode: 0644]
doc/dev/conf.py.in [new file with mode: 0644]
doc/dev/images/archi.jpg [new file with mode: 0644]
doc/dev/index.rst [new file with mode: 0644]
doc/doxygen/CMakeLists.txt [new file with mode: 0644]
doc/doxygen/doxyfile.in [new file with mode: 0644]
doc/doxygen/images/head.png [new file with mode: 0755]
doc/doxygen/static/footer.html [new file with mode: 0755]
doc/doxygen/static/header.html.in [new file with mode: 0755]
doc/doxygen/static/salome_extra.css [new file with mode: 0644]
doc/salome/CMakeLists.txt [deleted file]
doc/salome/gui/CMakeLists.txt [deleted file]
doc/salome/gui/doxyfile.in [deleted file]
doc/salome/gui/images/occ.gif [deleted file]
doc/salome/gui/static/doxygen.css [deleted file]
doc/salome/gui/static/footer.html [deleted file]
doc/salome/gui/static/myheader.html [deleted file]

index 70284cdfc6ce9f626928a77b730cad5add06bd4a..8337b6eca868f9dbb0755d8f13d2b7fd428da122 100644 (file)
@@ -17,4 +17,5 @@
 # See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
 #
 
-ADD_SUBDIRECTORY(salome)
+ADD_SUBDIRECTORY(doxygen)
+ADD_SUBDIRECTORY(dev)
diff --git a/doc/GeneralArchitecture.html b/doc/GeneralArchitecture.html
deleted file mode 100644 (file)
index 4f568ce..0000000
+++ /dev/null
@@ -1,935 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
-<HTML>
-<HEAD>
-       <META HTTP-EQUIV="CONTENT-TYPE" CONTENT="text/html; charset=utf-8">
-       <TITLE></TITLE>
-       <META NAME="GENERATOR" CONTENT="OpenOffice.org 2.2  (Linux)">
-       <META NAME="CREATED" CONTENT="20100112;18335600">
-       <META NAME="CHANGED" CONTENT="20100126;17235200">
-       <STYLE TYPE="text/css">
-       <!--
-               H2 { margin-top: 0.33in; margin-bottom: 0.08in; color: #ff0000; text-align: left }
-               H2.western { font-family: "Liberation Serif", serif; font-size: 14pt }
-               H2.cjk { font-family: "DejaVu Sans"; font-size: 14pt }
-               H2.ctl { font-family: "DejaVu Sans"; font-size: 14pt }
-       -->
-       </STYLE>
-</HEAD>
-<BODY LANG="en-US" DIR="LTR">
-<P ALIGN=CENTER><FONT SIZE=6><B>PARAVIS development</B></FONT></P>
-<P ALIGN=CENTER><FONT SIZE=6><B>General architecture of PARAVIEW
-extractor</B></FONT></P>
-<H1 STYLE="page-break-before: always"><A NAME="1.Introduction|outline"></A>
-<A HREF="#1.Introduction|outline"><FONT FACE="Liberation Serif, serif"><FONT SIZE=4 STYLE="font-size: 15pt"><B>1.Introduction</B></FONT></FONT></A></H1>
-<P><A HREF="#2.General architecture|outline"><FONT FACE="Liberation Serif, serif"><FONT SIZE=4 STYLE="font-size: 15pt"><B>2.General
-architecture</B></FONT></FONT></A></P>
-<P><A HREF="#3.Automatic generation of container classes|outline"><FONT FACE="Liberation Serif, serif"><FONT SIZE=4 STYLE="font-size: 15pt"><B>3.Automatic
-generation of container classes</B></FONT></FONT></A></P>
-<H1><A NAME="3.1. Source files related to PARAVIS server definition|outline"></A>
-<A HREF="#3.1. Source files related to PARAVIS server definition|outline"><FONT FACE="Liberation Serif, serif"><FONT SIZE=4 STYLE="font-size: 15pt"><B>3.1.
-Source files related to PARAVIS server definition</B></FONT></FONT></A></H1>
-<P><A HREF="#3.2. Process of generation|outline"><FONT FACE="Liberation Serif, serif"><FONT SIZE=4 STYLE="font-size: 15pt"><B>3.2.
-Process of generation</B></FONT></FONT></A></P>
-<P><A HREF="#3.3. Definition of IDL interfaces|outline"><FONT FACE="Liberation Serif, serif"><FONT SIZE=4 STYLE="font-size: 15pt"><B>3.3.
-Definition of IDL interfaces</B></FONT></FONT></A></P>
-<P><A HREF="#3.4. Base interface and its implementation|outline"><FONT FACE="Liberation Serif, serif"><FONT SIZE=4 STYLE="font-size: 15pt"><B>3.4.
-Base interface and its implementation</B></FONT></FONT></A></P>
-<H1><A NAME="3.5. GUI events queue|outline"></A><A HREF="#3.5. GUI events queue|outline"><FONT FACE="Liberation Serif, serif"><FONT SIZE=4 STYLE="font-size: 15pt"><B>3.5.
-GUI events queue</B></FONT></FONT></A></H1>
-<P><A HREF="#3.6. Overloaded methods definition|outline"><FONT FACE="Liberation Serif, serif"><FONT SIZE=4 STYLE="font-size: 15pt"><B>3.6.
-Overloaded methods definition</B></FONT></FONT></A></P>
-<P><A HREF="#3.7. Creation of objects in Python|outline"><FONT FACE="Liberation Serif, serif"><FONT SIZE=4 STYLE="font-size: 15pt"><B>3.7.
-Creation of objects in Python</B></FONT></FONT></A></P>
-<P><A HREF="#3.8. servermanager.py and simple.py|outline"><FONT FACE="Liberation Serif, serif"><FONT SIZE=4 STYLE="font-size: 15pt"><B>3.8.
-servermanager.py and simple.py</B></FONT></FONT></A></P>
-<P><A HREF="#4.Trace functionality|outline"><FONT FACE="Liberation Serif, serif"><FONT SIZE=4 STYLE="font-size: 15pt"><B>4.Trace
-functionality</B></FONT></FONT></A></P>
-<P><BR><BR>
-</P>
-<P><BR><BR>
-</P>
-<H1>Introduction</H1>
-<P>This document describes development of ParaView server manager API
-for PARAVIS module. The new API must provide following features:</P>
-<OL>
-       <LI><P>Define interaction between two different processes: Python
-       console and PARAVIS GUI defined in SALOME desktop.</P>
-       <LI><P>Make possible to manage PARAVIS GUI and ParaView server data
-       from Python scripts in synchronized mode.</P>
-       <LI><P>The new API must be similar as much as possible to the API
-       provided by servermanager.py module from ParaView in order to make
-       possible launching the same scripts as in ParaView as in PARAVIS
-       without modifications.</P>
-</OL>
-<P>General architecture and development features of this task are
-described below.</P>
-<H1><A NAME="2.General architecture|outline"></A>General architecture</H1>
-<P>Main components of PARAVIS architecture and their relations can be
-represented as on the following picture:</P>
-<P><IMG SRC="GeneralArchitecture_html_m4ed0a034.gif" NAME="graphics1" ALIGN=LEFT WIDTH=100% BORDER=0><BR CLEAR=LEFT><BR><BR>
-</P>
-<P>The usual way to implement SALOME module is to develop a
-Data/Algorithms engine unit as a CORBA server and module GUI as a
-CORBA client. But in case if we need to use GUI and Algorithms from
-Python console (what usually is an external process) in synchronized
-mode then we have to implement them together as a CORBA server within
-a one process.</P>
-<P>On the diagram above following component are shown: 
-</P>
-<UL>
-       <LI><P>PARAVIS module GUI which is responsible for creation of
-       necessary widgets within SALOME Desktop, initialization of ParaView
-       client objects, connection of ParaView GUI objects to created
-       widgets.</P>
-       <LI><P>ParaView client code is a set of ParaView objects what
-       provides ParaView GUI.</P>
-       <LI><P>ParaView server for PARAVIS module can be used as built-in
-       (by default) as remote. For connection to remote server it is
-       necessary to use corresponded menu commands connect/disconnect as it
-       is used in standard ParaView GUI client.</P>
-       <LI><P>ParaView server manager API is a set of classes provided by
-       ParaView for definition of API for Python interpreter.</P>
-       <LI><P>Container objects - implementation of CORBA servants for
-       wrapping server manager object instances and redirection of CORBA
-       interface calls to corresponded server manager object.</P>
-</UL>
-<H1><A NAME="3.Automatic generation of container classes|outline"></A>
-Automatic generation of container classes</H1>
-<H2 CLASS="western">Source files related to PARAVIS server definition</H2>
-<P STYLE="margin-bottom: 0in">In PARAVIS_SRC/idl/ directory:</P>
-<OL>
-       <LI><P><B>PARAVIS_Gen.idl</B> – defines main interfaces to PARAVIS
-       module.</P>
-       <LI><P><B>PARAVIS_Gen_Types.idl</B> – defines data collection
-       types.</P>
-       <LI><P><B>hints_paravis</B> – defines sizes of arrays missed in
-       standard VTK hints file. If some functions of VTK classes which
-       return array data are not extracted then it is necessary to edit
-       this file in order to describe missed functions.</P>
-       <LI><P><B>pythonIDL.py</B> – command file which is used for
-       extraction of IDL interfaces to Python files. This is modification
-       of similar file from omniidl product what takes into account
-       overloading of methods in class.</P>
-       <LI><P><B>vtkWrapIDL.c</B> – source file for building extraction
-       executables: <SPAN STYLE="font-weight: medium">vtkWrapIDL,
-       vtkWrapIDL_CC, vtkWrapIDL_HH.</SPAN></P>
-</OL>
-<P STYLE="font-weight: medium">In PARAVIS_SRC/src/PVGUI directory:</P>
-<OL>
-       <LI><P><B>PARAVIS_Gen_i.cc</B> <SPAN STYLE="font-weight: medium">and
-       </SPAN><B>PARAVIS_Gen_i.hh</B> – <SPAN STYLE="font-weight: medium">implementation
-       of PARAVIS_Gen interface.</SPAN></P>
-       <LI><P><B>PV_Events.h</B> – <SPAN STYLE="font-weight: medium">defines
-       events for synchronization of CORBA client calls with main GUI
-       events queue.</SPAN></P>
-       <LI><P STYLE="font-weight: medium">Other files are related to GUI
-       definition and auxiliary tools.</P>
-</OL>
-<P STYLE="font-weight: medium">In <SPAN STYLE="font-weight: medium">PARAVIS_SRC/src/PV_SWIG
-directory:</SPAN></P>
-<OL>
-       <LI><P STYLE="font-weight: medium"><B>paravis.py</B> – <SPAN STYLE="font-weight: medium">general
-       Python module for PARAVIS. It installs connection to PARAVIS CORBA
-       server, defines a variable </SPAN><B>myParavis</B> <SPAN STYLE="font-weight: medium">in
-       order to provide acces to </SPAN><B>PARAVIS_Gen</B> <SPAN STYLE="font-weight: medium">functions,
-       creates a set of empty constructors for all extracted ParaView
-       classes.</SPAN></P>
-       <LI><P STYLE="font-weight: medium"><B>paravisSM.py</B> – <SPAN STYLE="font-weight: medium">modified
-       copy of servermanager.py module from ParaView. Modification done
-       according to conventions defined by paravis.py module and features
-       of working with CORBA server.</SPAN></P>
-       <LI><P STYLE="font-weight: medium"><B>pvsimple.py</B> – <SPAN STYLE="font-weight: medium">modified
-       copy of simple.py module from ParaView. Modifications done because
-       of the same reasons.</SPAN></P>
-</OL>
-<H2 CLASS="western">Process of generation</H2>
-<P>CORBA servant classes for wrapping of server manager API classes
-is generated automatically. The process of building PARAVIS module
-with generation of wrappers is performed in the following way:</P>
-<OL>
-       <LI><P>Execute <B>cmake</B> command from a build directory. 
-       During performing of this command it performs some standard steps 
-       of SALOME module building and calls a Python command file 
-       <B>getwrapclasses.py</B> is called. This procedure creates a list 
-       of ParaView and VTK class names what has to be extracted. 
-       This list includes all <B>vtkSM*</B> classes and <B>vtk*</B> classes 
-       what are referred by previous group of classes. Results
-       of build_configure step are:</P>
-       <OL TYPE=a>
-               <LI><P>idl/wrap.cmake – defines variables what lists all interfaces
-               (*.idl and *.cc files) what will be generated.</P>
-               <LI><P>idl/vtkWrapIDL.c – defines a list of extracted classes in
-               form of char* array.</P>
-               <LI><P>src/PVGUI/PARAVIS_CreateClass.cxx is a C++ file what
-               contains a one function CreateInstance. This function creates a
-               servant class which corresponds to a given name of original
-               ParaView/VTK class.</P>
-       </OL>
-       <LI><P>Call <B>make</B> command in build directory. This command
-       does following steps related to automatic generation:</P>
-       <OL TYPE=a>
-               <LI><P>Builds <B>vtkWrapIDL</B> executable in <B>idl</B> directory
-               what is responsible for generation of IDL files using names of
-               classes to wrap. This executable analyzes related header files for
-               classes from vtkWrapIDL.h and defines corresponded IDL file.</P>
-               <LI><P>Defines all IDL files with help of this executable and
-               launches standard SALOME compilation for <B>idl</B> directory.</P>
-               <LI><P>Compiles <B>vtkWrapIDL_CC </B><SPAN STYLE="font-weight: medium">and
-               </SPAN><B>vtkWrapIDL_HH</B> <SPAN STYLE="font-weight: medium">executables
-               in src/PVGUI directory what are responsible for generation of
-               header files (*.hh) and implementation files (*.cc) for servants
-               classes.</SPAN></P>
-               <LI><P STYLE="font-weight: medium">Generation of servant classes
-               with help of these executables and building the library.</P>
-       </OL>
-       <LI><P><SPAN STYLE="font-weight: medium">Call </SPAN><B>make install</B>
-       <SPAN STYLE="font-weight: medium">command in build directory. This
-       will finalize building of libraries and generate Python files for
-       IDL interfaces.</SPAN></P>
-</OL>
-<P STYLE="font-weight: medium"><SPAN STYLE="background: transparent">Note:</SPAN></P>
-<P STYLE="font-weight: medium"><SPAN STYLE="background: transparent">make
-command can not be used with -j key because extraction of parent
-classes should be done before extraction of child classes.</SPAN></P>
-<H2 CLASS="western">Definition of IDL interfaces</H2>
-<P>Process of IDL interfaces generation has to respect following
-restrictions of IDL format:</P>
-<OL>
-       <LI><P>IDL does not support several functions with the same name
-       within a one interface definition. Even they have different
-       parameters (overloading of methods as in C++). Also this is not
-       supported between parent and its ancestors.</P>
-       <LI><P>In context of PARAVIS it is difficult to extract methods what
-       accept or return “void*” data type. In IDL it can be described
-       as “ANY” data type, but in context of ParaView it is not clear
-       to what type it has to be casted.</P>
-</OL>
-<P>IDL interfaces extracted following to the next principals:</P>
-<OL>
-       <LI><P>All interfaces are inherited from a common parent interface
-       Base. 
-       </P>
-       <LI><P>Each interface includes all extracted methods of its
-       prototype class including all its parents.</P>
-       <LI><P>If the prototype class contains overloaded methods (methods
-       with the same name) then each appearance of this method name is
-       supplied with index.</P>
-       <LI><P>If prototype class contains methods which return or accept
-       void* then these methods are ignored.</P>
-       <LI><P>If prototype class contains methods which return array (int*,
-       double*, ...) which size is not defined in “hints” or
-       “hints_paravis” files then these methods are ignored.</P>
-       <LI><P><SPAN STYLE="background: transparent">If prototype class
-       contains methods which get a pointer to function then these methods
-       are ignored.</SPAN></P>
-       <LI><P>If a method of prototype class returns/accepts a pointer on
-       ParaView/VTK class instance then interface will return/accept Base
-       interface.</P>
-</OL>
-<H2 CLASS="western">Base interface and its implementation</H2>
-<P>Base interface is defined in order to satisfy following points:</P>
-<OL>
-       <LI><P>Sometimes we need to have a possibility to use a servant as a
-       pointer on a common interface.</P>
-       <LI><P>We need to have possibility to define a common auxiliary
-       methods for all generated interfaces which out of ParaView/VTK
-       definitions.</P>
-       <LI><P>We need to have a base implementation for all servant
-       classes.</P>
-</OL>
-<P>Currently Base class implements smart pointer on a vtkObjectBase
-instance and several methods to Get/Set this pointer. By default each
-ancestor class initializes this pointer with help of New() method.
-This useful for classes what contain static methods. But after this
-pointer can be reinitialized from outside what is used when we need
-to have access to certain instance.</P>
-<P>Also Base interface introduces a method IsSame(Base theOther). We
-need this method when it is necessary to compare two ParaView objects
-in Python process. In fact if we will apply standard operation “==”
-then we will compare two wrapper instances instead of ParaView
-objects instances. So, method IsSame(Base theOther) checks if two
-wrappers refer to the same ParaView instance or not.</P>
-<H2 CLASS="western">GUI events queue</H2>
-<P>Some calls of server manager API functions cause a modification of
-GUI state: creation of new widgets, update of widgets state,
-visualization of presentable objects in viewers. In our case we have
-two different processes: Python console and PARAVIS GUI. At the same
-moment the Python console “manages” PARAVIS GUI with help of
-server manager API functions calls. So, for correct performance of
-Python scripts the calls of Python commands have to be synchronized
-with PARAVIS GUI events queue.</P>
-<P>For this purposes all calls to server manager API from servant are
-additionally wrapped by event classes. Therefore implementation of
-servants methods accords to following general template:</P>
-<OL>
-       <LI><P>Get an encapsulated pointer on VTK object instance.</P>
-       <LI><P>Create a special event instance for target function call.</P>
-       <LI><P>Launch event and wait while it returns.</P>
-       <LI><P>Get result from event (if result is supposed).</P>
-       <LI><P>Return this result as result of servant method.</P>
-</OL>
-<P>For example:</P>
-<P>Class vtkSMProxyManager has a method GetProxy. This method
-implemented in corresponded servant class as following:</P>
-<TABLE WIDTH=100% BORDER=1 BORDERCOLOR="#000000" CELLPADDING=3 CELLSPACING=0>
-       <COL WIDTH=12*>
-       <COL WIDTH=164*>
-       <COL WIDTH=80*>
-       <TR VALIGN=TOP>
-               <TD WIDTH=5% BGCOLOR="#000080">
-                       <P ALIGN=LEFT STYLE="font-weight: medium; text-decoration: none"><FONT COLOR="#ffffff"><FONT FACE="Liberation Serif, serif"><FONT SIZE=2><I>#</I></FONT></FONT></FONT></P>
-               </TD>
-               <TD WIDTH=64% BGCOLOR="#000080">
-                       <P ALIGN=LEFT STYLE="font-weight: medium; text-decoration: none"><FONT COLOR="#ffffff"><FONT FACE="Liberation Serif, serif"><FONT SIZE=2><I>Code</I></FONT></FONT></FONT></P>
-               </TD>
-               <TD WIDTH=31% BGCOLOR="#000080">
-                       <P ALIGN=LEFT STYLE="font-weight: medium; text-decoration: none"><FONT COLOR="#ffffff"><FONT FACE="Liberation Serif, serif"><FONT SIZE=2><I>Remarks</I></FONT></FONT></FONT></P>
-               </TD>
-       </TR>
-       <TR VALIGN=TOP>
-               <TD WIDTH=5% BGCOLOR="#4d4d4d">
-                       <P ALIGN=LEFT STYLE="font-weight: medium; text-decoration: none"><FONT COLOR="#ffffff"><FONT FACE="Liberation Serif, serif"><FONT SIZE=2><I>1</I></FONT></FONT></FONT></P>
-               </TD>
-               <TD WIDTH=64% BGCOLOR="#ffffff">
-                       <P ALIGN=LEFT STYLE="font-weight: medium; text-decoration: none"><FONT COLOR="#000000"><FONT FACE="Liberation Serif, serif"><FONT SIZE=2><I>//C++:
-                       vtkSMProxy *GetProxy (const char *groupname, const char *name);</I></FONT></FONT></FONT></P>
-               </TD>
-               <TD WIDTH=31% BGCOLOR="#cccccc">
-                       <P ALIGN=LEFT><BR>
-                       </P>
-               </TD>
-       </TR>
-       <TR VALIGN=TOP>
-               <TD WIDTH=5% BGCOLOR="#4d4d4d">
-                       <P ALIGN=LEFT STYLE="font-weight: medium; text-decoration: none"><FONT COLOR="#ffffff"><FONT FACE="Liberation Serif, serif"><FONT SIZE=2><I>2</I></FONT></FONT></FONT></P>
-               </TD>
-               <TD WIDTH=64% BGCOLOR="#ffffff">
-                       <P ALIGN=LEFT STYLE="font-weight: medium; text-decoration: none"><FONT COLOR="#000000"><FONT FACE="Liberation Serif, serif"><FONT SIZE=2><I>struct
-                       CreateEventName(GetProxy_0): public SALOME_Event</I></FONT></FONT></FONT></P>
-               </TD>
-               <TD WIDTH=31% BGCOLOR="#cccccc">
-                       <P ALIGN=LEFT STYLE="font-weight: medium; text-decoration: none"><FONT COLOR="#000000"><FONT FACE="Liberation Serif, serif"><FONT SIZE=2><I>Generation
-                       of unique event class name with help of a special macros</I></FONT></FONT></FONT></P>
-               </TD>
-       </TR>
-       <TR VALIGN=TOP>
-               <TD WIDTH=5% BGCOLOR="#4d4d4d">
-                       <P ALIGN=LEFT STYLE="font-weight: medium; text-decoration: none"><FONT COLOR="#ffffff"><FONT FACE="Liberation Serif, serif"><FONT SIZE=2><I>3</I></FONT></FONT></FONT></P>
-               </TD>
-               <TD WIDTH=64% BGCOLOR="#ffffff">
-                       <P ALIGN=LEFT STYLE="font-weight: medium; text-decoration: none"><FONT COLOR="#000000"><FONT FACE="Liberation Serif, serif"><FONT SIZE=2><I>{</I></FONT></FONT></FONT></P>
-               </TD>
-               <TD WIDTH=31% BGCOLOR="#cccccc">
-                       <P ALIGN=LEFT><BR>
-                       </P>
-               </TD>
-       </TR>
-       <TR VALIGN=TOP>
-               <TD WIDTH=5% BGCOLOR="#4d4d4d">
-                       <P ALIGN=LEFT STYLE="font-weight: medium; text-decoration: none"><FONT COLOR="#ffffff"><FONT FACE="Liberation Serif, serif"><FONT SIZE=2><I>4</I></FONT></FONT></FONT></P>
-               </TD>
-               <TD WIDTH=64% BGCOLOR="#ffffff">
-                       <P ALIGN=LEFT STYLE="font-weight: medium; text-decoration: none"><FONT COLOR="#000000"><FONT FACE="Liberation Serif, serif"><FONT SIZE=2><I>typedef
-                       ::vtkSMProxy* TResult;</I></FONT></FONT></FONT></P>
-               </TD>
-               <TD WIDTH=31% BGCOLOR="#cccccc">
-                       <P ALIGN=LEFT><BR>
-                       </P>
-               </TD>
-       </TR>
-       <TR VALIGN=TOP>
-               <TD WIDTH=5% BGCOLOR="#4d4d4d">
-                       <P ALIGN=LEFT STYLE="font-weight: medium; text-decoration: none"><FONT COLOR="#ffffff"><FONT FACE="Liberation Serif, serif"><FONT SIZE=2><I>5</I></FONT></FONT></FONT></P>
-               </TD>
-               <TD WIDTH=64% BGCOLOR="#ffffff">
-                       <P ALIGN=LEFT STYLE="font-weight: medium; text-decoration: none"><FONT COLOR="#000000"><FONT FACE="Liberation Serif, serif"><FONT SIZE=2><I>TResult
-                       myResult;</I></FONT></FONT></FONT></P>
-               </TD>
-               <TD WIDTH=31% BGCOLOR="#cccccc">
-                       <P ALIGN=LEFT STYLE="font-weight: medium; text-decoration: none"><FONT COLOR="#000000"><FONT FACE="Liberation Serif, serif"><FONT SIZE=2><I>Definition
-                       of the return type</I></FONT></FONT></FONT></P>
-               </TD>
-       </TR>
-       <TR VALIGN=TOP>
-               <TD WIDTH=5% BGCOLOR="#4d4d4d">
-                       <P ALIGN=LEFT STYLE="font-weight: medium; text-decoration: none"><FONT COLOR="#ffffff"><FONT FACE="Liberation Serif, serif"><FONT SIZE=2><I>6</I></FONT></FONT></FONT></P>
-               </TD>
-               <TD WIDTH=64% BGCOLOR="#ffffff">
-                       <P ALIGN=LEFT STYLE="font-weight: medium; text-decoration: none"><FONT COLOR="#000000"><FONT FACE="Liberation Serif, serif"><FONT SIZE=2><I>typedef
-                       ::vtkSMProxyManager* TObj;</I></FONT></FONT></FONT></P>
-               </TD>
-               <TD WIDTH=31% BGCOLOR="#cccccc">
-                       <P ALIGN=LEFT><BR>
-                       </P>
-               </TD>
-       </TR>
-       <TR VALIGN=TOP>
-               <TD WIDTH=5% BGCOLOR="#4d4d4d">
-                       <P ALIGN=LEFT STYLE="font-weight: medium; text-decoration: none"><FONT COLOR="#ffffff"><FONT FACE="Liberation Serif, serif"><FONT SIZE=2><I>7</I></FONT></FONT></FONT></P>
-               </TD>
-               <TD WIDTH=64% BGCOLOR="#ffffff">
-                       <P ALIGN=LEFT STYLE="font-weight: medium; text-decoration: none"><FONT COLOR="#000000"><FONT FACE="Liberation Serif, serif"><FONT SIZE=2><I>TObj
-                       myObj;</I></FONT></FONT></FONT></P>
-               </TD>
-               <TD WIDTH=31% BGCOLOR="#cccccc">
-                       <P ALIGN=LEFT STYLE="font-weight: medium; text-decoration: none"><FONT COLOR="#000000"><FONT FACE="Liberation Serif, serif"><FONT SIZE=2><I>Definition
-                       of parameters</I></FONT></FONT></FONT></P>
-               </TD>
-       </TR>
-       <TR VALIGN=TOP>
-               <TD WIDTH=5% BGCOLOR="#4d4d4d">
-                       <P ALIGN=LEFT STYLE="font-weight: medium; text-decoration: none"><FONT COLOR="#ffffff"><FONT FACE="Liberation Serif, serif"><FONT SIZE=2><I>8</I></FONT></FONT></FONT></P>
-               </TD>
-               <TD WIDTH=64% BGCOLOR="#ffffff">
-                       <P ALIGN=LEFT STYLE="font-weight: medium; text-decoration: none"><FONT COLOR="#000000"><FONT FACE="Liberation Serif, serif"><FONT SIZE=2><I>typedef
-                       char* TParam0;</I></FONT></FONT></FONT></P>
-               </TD>
-               <TD WIDTH=31% BGCOLOR="#cccccc">
-                       <P ALIGN=LEFT><BR>
-                       </P>
-               </TD>
-       </TR>
-       <TR VALIGN=TOP>
-               <TD WIDTH=5% BGCOLOR="#4d4d4d">
-                       <P ALIGN=LEFT STYLE="font-weight: medium; text-decoration: none"><FONT COLOR="#ffffff"><FONT FACE="Liberation Serif, serif"><FONT SIZE=2><I>9</I></FONT></FONT></FONT></P>
-               </TD>
-               <TD WIDTH=64% BGCOLOR="#ffffff">
-                       <P ALIGN=LEFT STYLE="font-weight: medium; text-decoration: none"><FONT COLOR="#000000"><FONT FACE="Liberation Serif, serif"><FONT SIZE=2><I>TParam0
-                       myParam0;</I></FONT></FONT></FONT></P>
-               </TD>
-               <TD WIDTH=31% BGCOLOR="#cccccc">
-                       <P ALIGN=LEFT><BR>
-                       </P>
-               </TD>
-       </TR>
-       <TR VALIGN=TOP>
-               <TD WIDTH=5% BGCOLOR="#4d4d4d">
-                       <P ALIGN=LEFT STYLE="font-weight: medium; text-decoration: none"><FONT COLOR="#ffffff"><FONT FACE="Liberation Serif, serif"><FONT SIZE=2><I>10</I></FONT></FONT></FONT></P>
-               </TD>
-               <TD WIDTH=64% BGCOLOR="#ffffff">
-                       <P ALIGN=LEFT STYLE="font-weight: medium; text-decoration: none"><FONT COLOR="#000000"><FONT FACE="Liberation Serif, serif"><FONT SIZE=2><I>typedef
-                       char* TParam1;</I></FONT></FONT></FONT></P>
-               </TD>
-               <TD WIDTH=31% BGCOLOR="#cccccc">
-                       <P ALIGN=LEFT><BR>
-                       </P>
-               </TD>
-       </TR>
-       <TR VALIGN=TOP>
-               <TD WIDTH=5% BGCOLOR="#4d4d4d">
-                       <P ALIGN=LEFT STYLE="font-weight: medium; text-decoration: none"><FONT COLOR="#ffffff"><FONT FACE="Liberation Serif, serif"><FONT SIZE=2><I>11</I></FONT></FONT></FONT></P>
-               </TD>
-               <TD WIDTH=64% BGCOLOR="#ffffff">
-                       <P ALIGN=LEFT STYLE="font-weight: medium; text-decoration: none"><FONT COLOR="#000000"><FONT FACE="Liberation Serif, serif"><FONT SIZE=2><I>TParam1
-                       myParam1;</I></FONT></FONT></FONT></P>
-               </TD>
-               <TD WIDTH=31% BGCOLOR="#cccccc">
-                       <P ALIGN=LEFT><BR>
-                       </P>
-               </TD>
-       </TR>
-       <TR VALIGN=TOP>
-               <TD WIDTH=5% BGCOLOR="#4d4d4d">
-                       <P ALIGN=LEFT STYLE="font-weight: medium; text-decoration: none"><FONT COLOR="#ffffff"><FONT FACE="Liberation Serif, serif"><FONT SIZE=2><I>12</I></FONT></FONT></FONT></P>
-               </TD>
-               <TD WIDTH=64% BGCOLOR="#ffffff">
-                       <P ALIGN=LEFT><BR>
-                       </P>
-               </TD>
-               <TD WIDTH=31% BGCOLOR="#cccccc">
-                       <P ALIGN=LEFT><BR>
-                       </P>
-               </TD>
-       </TR>
-       <TR VALIGN=TOP>
-               <TD WIDTH=5% BGCOLOR="#4d4d4d">
-                       <P ALIGN=LEFT STYLE="font-weight: medium; text-decoration: none"><FONT COLOR="#ffffff"><FONT FACE="Liberation Serif, serif"><FONT SIZE=2><I>13</I></FONT></FONT></FONT></P>
-               </TD>
-               <TD WIDTH=64% BGCOLOR="#ffffff">
-                       <P ALIGN=LEFT STYLE="font-weight: medium; text-decoration: none"><FONT COLOR="#000000"><FONT FACE="Liberation Serif, serif"><FONT SIZE=2><I>CreateEventName(GetProxy_0)(TObj
-                       theObj, TParam0 theParam0, TParam1 theParam1):</I></FONT></FONT></FONT></P>
-               </TD>
-               <TD WIDTH=31% BGCOLOR="#cccccc">
-                       <P ALIGN=LEFT STYLE="font-weight: medium; text-decoration: none"><FONT COLOR="#000000"><FONT FACE="Liberation Serif, serif"><FONT SIZE=2><I>Constructor
-                       of event. Defines object instance and necessary parameters</I></FONT></FONT></FONT></P>
-               </TD>
-       </TR>
-       <TR VALIGN=TOP>
-               <TD WIDTH=5% BGCOLOR="#4d4d4d">
-                       <P ALIGN=LEFT STYLE="font-weight: medium; text-decoration: none"><FONT COLOR="#ffffff"><FONT FACE="Liberation Serif, serif"><FONT SIZE=2><I>14</I></FONT></FONT></FONT></P>
-               </TD>
-               <TD WIDTH=64% BGCOLOR="#ffffff">
-                       <P ALIGN=LEFT STYLE="font-weight: medium; text-decoration: none"><FONT COLOR="#000000"><FONT FACE="Liberation Serif, serif"><FONT SIZE=2><I>myObj(theObj),
-                       myParam0(theParam0), myParam1(theParam1)</I></FONT></FONT></FONT></P>
-               </TD>
-               <TD WIDTH=31% BGCOLOR="#cccccc">
-                       <P ALIGN=LEFT><BR>
-                       </P>
-               </TD>
-       </TR>
-       <TR VALIGN=TOP>
-               <TD WIDTH=5% BGCOLOR="#4d4d4d">
-                       <P ALIGN=LEFT STYLE="font-weight: medium; text-decoration: none"><FONT COLOR="#ffffff"><FONT FACE="Liberation Serif, serif"><FONT SIZE=2><I>15</I></FONT></FONT></FONT></P>
-               </TD>
-               <TD WIDTH=64% BGCOLOR="#ffffff">
-                       <P ALIGN=LEFT STYLE="font-weight: medium; text-decoration: none"><FONT COLOR="#000000"><FONT FACE="Liberation Serif, serif"><FONT SIZE=2><I>{
-                       }</I></FONT></FONT></FONT></P>
-               </TD>
-               <TD WIDTH=31% BGCOLOR="#cccccc">
-                       <P ALIGN=LEFT><BR>
-                       </P>
-               </TD>
-       </TR>
-       <TR VALIGN=TOP>
-               <TD WIDTH=5% BGCOLOR="#4d4d4d">
-                       <P ALIGN=LEFT STYLE="font-weight: medium; text-decoration: none"><FONT COLOR="#ffffff"><FONT FACE="Liberation Serif, serif"><FONT SIZE=2><I>16</I></FONT></FONT></FONT></P>
-               </TD>
-               <TD WIDTH=64% BGCOLOR="#ffffff">
-                       <P ALIGN=LEFT><BR>
-                       </P>
-               </TD>
-               <TD WIDTH=31% BGCOLOR="#cccccc">
-                       <P ALIGN=LEFT><BR>
-                       </P>
-               </TD>
-       </TR>
-       <TR VALIGN=TOP>
-               <TD WIDTH=5% BGCOLOR="#4d4d4d">
-                       <P ALIGN=LEFT STYLE="font-weight: medium; text-decoration: none"><FONT COLOR="#ffffff"><FONT FACE="Liberation Serif, serif"><FONT SIZE=2><I>17</I></FONT></FONT></FONT></P>
-               </TD>
-               <TD WIDTH=64% BGCOLOR="#ffffff">
-                       <P ALIGN=LEFT STYLE="font-weight: medium; text-decoration: none"><FONT COLOR="#000000"><FONT FACE="Liberation Serif, serif"><FONT SIZE=2><I>virtual
-                       void Execute()</I></FONT></FONT></FONT></P>
-               </TD>
-               <TD WIDTH=31% BGCOLOR="#cccccc">
-                       <P ALIGN=LEFT STYLE="font-weight: medium; text-decoration: none"><FONT COLOR="#000000"><FONT FACE="Liberation Serif, serif"><FONT SIZE=2><I>Execution
-                       method.</I></FONT></FONT></FONT></P>
-               </TD>
-       </TR>
-       <TR VALIGN=TOP>
-               <TD WIDTH=5% BGCOLOR="#4d4d4d">
-                       <P ALIGN=LEFT STYLE="font-weight: medium; text-decoration: none"><FONT COLOR="#ffffff"><FONT FACE="Liberation Serif, serif"><FONT SIZE=2><I>18</I></FONT></FONT></FONT></P>
-               </TD>
-               <TD WIDTH=64% BGCOLOR="#ffffff">
-                       <P ALIGN=LEFT STYLE="font-weight: medium; text-decoration: none"><FONT COLOR="#000000"><FONT FACE="Liberation Serif, serif"><FONT SIZE=2><I>{</I></FONT></FONT></FONT></P>
-               </TD>
-               <TD WIDTH=31% BGCOLOR="#cccccc">
-                       <P ALIGN=LEFT><BR>
-                       </P>
-               </TD>
-       </TR>
-       <TR VALIGN=TOP>
-               <TD WIDTH=5% BGCOLOR="#4d4d4d">
-                       <P ALIGN=LEFT STYLE="font-weight: medium; text-decoration: none"><FONT COLOR="#ffffff"><FONT FACE="Liberation Serif, serif"><FONT SIZE=2><I>19</I></FONT></FONT></FONT></P>
-               </TD>
-               <TD WIDTH=64% BGCOLOR="#ffffff">
-                       <P ALIGN=LEFT STYLE="font-weight: medium; text-decoration: none"><FONT COLOR="#000000"><FONT FACE="Liberation Serif, serif"><FONT SIZE=2><I>myResult
-                       = myObj-&gt;GetProxy(myParam0, myParam1);</I></FONT></FONT></FONT></P>
-               </TD>
-               <TD WIDTH=31% BGCOLOR="#cccccc">
-                       <P ALIGN=LEFT STYLE="font-weight: medium; text-decoration: none"><FONT COLOR="#000000"><FONT FACE="Liberation Serif, serif"><FONT SIZE=2><I>Call
-                       of target method</I></FONT></FONT></FONT></P>
-               </TD>
-       </TR>
-       <TR VALIGN=TOP>
-               <TD WIDTH=5% BGCOLOR="#4d4d4d">
-                       <P ALIGN=LEFT STYLE="font-weight: medium; text-decoration: none"><FONT COLOR="#ffffff"><FONT FACE="Liberation Serif, serif"><FONT SIZE=2><I>20</I></FONT></FONT></FONT></P>
-               </TD>
-               <TD WIDTH=64% BGCOLOR="#ffffff">
-                       <P ALIGN=LEFT STYLE="font-weight: medium; text-decoration: none"><FONT COLOR="#000000"><FONT FACE="Liberation Serif, serif"><FONT SIZE=2><I>}</I></FONT></FONT></FONT></P>
-               </TD>
-               <TD WIDTH=31% BGCOLOR="#cccccc">
-                       <P ALIGN=LEFT><BR>
-                       </P>
-               </TD>
-       </TR>
-       <TR VALIGN=TOP>
-               <TD WIDTH=5% BGCOLOR="#4d4d4d">
-                       <P ALIGN=LEFT STYLE="font-weight: medium; text-decoration: none"><FONT COLOR="#ffffff"><FONT FACE="Liberation Serif, serif"><FONT SIZE=2><I>21</I></FONT></FONT></FONT></P>
-               </TD>
-               <TD WIDTH=64% BGCOLOR="#ffffff">
-                       <P ALIGN=LEFT STYLE="font-weight: medium; text-decoration: none"><FONT COLOR="#000000"><FONT FACE="Liberation Serif, serif"><FONT SIZE=2><I>};</I></FONT></FONT></FONT></P>
-               </TD>
-               <TD WIDTH=31% BGCOLOR="#cccccc">
-                       <P ALIGN=LEFT><BR>
-                       </P>
-               </TD>
-       </TR>
-       <TR VALIGN=TOP>
-               <TD WIDTH=5% BGCOLOR="#4d4d4d">
-                       <P ALIGN=LEFT STYLE="font-weight: medium; text-decoration: none"><FONT COLOR="#ffffff"><FONT FACE="Liberation Serif, serif"><FONT SIZE=2><I>22</I></FONT></FONT></FONT></P>
-               </TD>
-               <TD WIDTH=64% BGCOLOR="#ffffff">
-                       <P ALIGN=LEFT STYLE="font-weight: medium; text-decoration: none"><FONT COLOR="#000000"><FONT FACE="Liberation Serif, serif"><FONT SIZE=2><I>//</I></FONT></FONT></FONT></P>
-               </TD>
-               <TD WIDTH=31% BGCOLOR="#cccccc">
-                       <P ALIGN=LEFT><BR>
-                       </P>
-               </TD>
-       </TR>
-       <TR VALIGN=TOP>
-               <TD WIDTH=5% BGCOLOR="#4d4d4d">
-                       <P ALIGN=LEFT STYLE="font-weight: medium; text-decoration: none"><FONT COLOR="#ffffff"><FONT FACE="Liberation Serif, serif"><FONT SIZE=2><I>23</I></FONT></FONT></FONT></P>
-               </TD>
-               <TD WIDTH=64% BGCOLOR="#ffffff">
-                       <P ALIGN=LEFT STYLE="font-weight: medium; text-decoration: none"><FONT COLOR="#000000"><FONT FACE="Liberation Serif, serif"><FONT SIZE=2><I>PARAVIS_Base_ptr
-                       vtkSMProxyManager_i::GetProxy_0 (const char *temp0, const char
-                       *temp1) {</I></FONT></FONT></FONT></P>
-               </TD>
-               <TD WIDTH=31% BGCOLOR="#cccccc">
-                       <P ALIGN=LEFT STYLE="font-weight: medium; text-decoration: none"><FONT COLOR="#000000"><FONT FACE="Liberation Serif, serif"><FONT SIZE=2><I>Implementation
-                       of servant method</I></FONT></FONT></FONT></P>
-               </TD>
-       </TR>
-       <TR VALIGN=TOP>
-               <TD WIDTH=5% BGCOLOR="#4d4d4d">
-                       <P ALIGN=LEFT STYLE="font-weight: medium; text-decoration: none"><FONT COLOR="#ffffff"><FONT FACE="Liberation Serif, serif"><FONT SIZE=2><I>24</I></FONT></FONT></FONT></P>
-               </TD>
-               <TD WIDTH=64% BGCOLOR="#ffffff">
-                       <P ALIGN=LEFT STYLE="font-weight: medium; text-decoration: none"><FONT COLOR="#000000"><FONT FACE="Liberation Serif, serif"><FONT SIZE=2><I>try
-                       {</I></FONT></FONT></FONT></P>
-               </TD>
-               <TD WIDTH=31% BGCOLOR="#cccccc">
-                       <P ALIGN=LEFT><BR>
-                       </P>
-               </TD>
-       </TR>
-       <TR VALIGN=TOP>
-               <TD WIDTH=5% BGCOLOR="#4d4d4d">
-                       <P ALIGN=LEFT STYLE="font-weight: medium; text-decoration: none"><FONT COLOR="#ffffff"><FONT FACE="Liberation Serif, serif"><FONT SIZE=2><I>25</I></FONT></FONT></FONT></P>
-               </TD>
-               <TD WIDTH=64% BGCOLOR="#ffffff">
-                       <P ALIGN=LEFT STYLE="font-weight: medium; text-decoration: none"><FONT COLOR="#000000"><FONT FACE="Liberation Serif, serif"><FONT SIZE=2><I>char
-                       *c_temp0 = CORBA::string_dup(temp0);</I></FONT></FONT></FONT></P>
-               </TD>
-               <TD WIDTH=31% BGCOLOR="#cccccc">
-                       <P ALIGN=LEFT STYLE="font-weight: medium; text-decoration: none"><FONT COLOR="#000000"><FONT FACE="Liberation Serif, serif"><FONT SIZE=2><I>Getting
-                       parameters</I></FONT></FONT></FONT></P>
-               </TD>
-       </TR>
-       <TR VALIGN=TOP>
-               <TD WIDTH=5% BGCOLOR="#4d4d4d">
-                       <P ALIGN=LEFT STYLE="font-weight: medium; text-decoration: none"><FONT COLOR="#ffffff"><FONT FACE="Liberation Serif, serif"><FONT SIZE=2><I>26</I></FONT></FONT></FONT></P>
-               </TD>
-               <TD WIDTH=64% BGCOLOR="#ffffff">
-                       <P ALIGN=LEFT STYLE="font-weight: medium; text-decoration: none"><FONT COLOR="#000000"><FONT FACE="Liberation Serif, serif"><FONT SIZE=2><I>char
-                       *c_temp1 = CORBA::string_dup(temp1);</I></FONT></FONT></FONT></P>
-               </TD>
-               <TD WIDTH=31% BGCOLOR="#cccccc">
-                       <P ALIGN=LEFT><BR>
-                       </P>
-               </TD>
-       </TR>
-       <TR VALIGN=TOP>
-               <TD WIDTH=5% BGCOLOR="#4d4d4d">
-                       <P ALIGN=LEFT STYLE="font-weight: medium; text-decoration: none"><FONT COLOR="#ffffff"><FONT FACE="Liberation Serif, serif"><FONT SIZE=2><I>27</I></FONT></FONT></FONT></P>
-               </TD>
-               <TD WIDTH=64% BGCOLOR="#ffffff">
-                       <P ALIGN=LEFT STYLE="font-weight: medium; text-decoration: none"><FONT COLOR="#000000"><FONT FACE="Liberation Serif, serif"><FONT SIZE=2><I>::vtkSMProxy*
-                       avtkSMProxy = (getVTKObject() != NULL) ? ProcessEvent(new
-                       CreateEventName(GetProxy_0)((::vtkSMProxyManager*)getVTKObject(),
-                       c_temp0 , c_temp1)):NULL;</I></FONT></FONT></FONT></P>
-               </TD>
-               <TD WIDTH=31% BGCOLOR="#cccccc">
-                       <P ALIGN=LEFT STYLE="font-weight: medium; text-decoration: none"><FONT COLOR="#000000"><FONT FACE="Liberation Serif, serif"><FONT SIZE=2><I>If
-                       wrapped object is defined then create event and launch it. Finally
-                       it will return result.</I></FONT></FONT></FONT></P>
-               </TD>
-       </TR>
-       <TR VALIGN=TOP>
-               <TD WIDTH=5% BGCOLOR="#4d4d4d">
-                       <P ALIGN=LEFT STYLE="font-weight: medium; text-decoration: none"><FONT COLOR="#ffffff"><FONT FACE="Liberation Serif, serif"><FONT SIZE=2><I>28</I></FONT></FONT></FONT></P>
-               </TD>
-               <TD WIDTH=64% BGCOLOR="#ffffff">
-                       <P ALIGN=LEFT><BR>
-                       </P>
-               </TD>
-               <TD WIDTH=31% BGCOLOR="#cccccc">
-                       <P ALIGN=LEFT><BR>
-                       </P>
-               </TD>
-       </TR>
-       <TR VALIGN=TOP>
-               <TD WIDTH=5% BGCOLOR="#4d4d4d">
-                       <P ALIGN=LEFT STYLE="font-weight: medium; text-decoration: none"><FONT COLOR="#ffffff"><FONT FACE="Liberation Serif, serif"><FONT SIZE=2><I>29</I></FONT></FONT></FONT></P>
-               </TD>
-               <TD WIDTH=64% BGCOLOR="#ffffff">
-                       <P ALIGN=LEFT STYLE="font-weight: medium; text-decoration: none"><FONT COLOR="#000000"><FONT FACE="Liberation Serif, serif"><FONT SIZE=2><I>if(avtkSMProxy
-                       == NULL) {</I></FONT></FONT></FONT></P>
-               </TD>
-               <TD WIDTH=31% BGCOLOR="#cccccc">
-                       <P ALIGN=LEFT><BR>
-                       </P>
-               </TD>
-       </TR>
-       <TR VALIGN=TOP>
-               <TD WIDTH=5% BGCOLOR="#4d4d4d">
-                       <P ALIGN=LEFT STYLE="font-weight: medium; text-decoration: none"><FONT COLOR="#ffffff"><FONT FACE="Liberation Serif, serif"><FONT SIZE=2><I>30</I></FONT></FONT></FONT></P>
-               </TD>
-               <TD WIDTH=64% BGCOLOR="#ffffff">
-                       <P ALIGN=LEFT STYLE="font-weight: medium; text-decoration: none"><FONT COLOR="#000000"><FONT FACE="Liberation Serif, serif"><FONT SIZE=2><I>return
-                       PARAVIS::vtkSMProxy::_nil();</I></FONT></FONT></FONT></P>
-               </TD>
-               <TD WIDTH=31% BGCOLOR="#cccccc">
-                       <P ALIGN=LEFT><BR>
-                       </P>
-               </TD>
-       </TR>
-       <TR VALIGN=TOP>
-               <TD WIDTH=5% BGCOLOR="#4d4d4d">
-                       <P ALIGN=LEFT STYLE="font-weight: medium; text-decoration: none"><FONT COLOR="#ffffff"><FONT FACE="Liberation Serif, serif"><FONT SIZE=2><I>31</I></FONT></FONT></FONT></P>
-               </TD>
-               <TD WIDTH=64% BGCOLOR="#ffffff">
-                       <P ALIGN=LEFT STYLE="font-weight: medium; text-decoration: none"><FONT COLOR="#000000"><FONT FACE="Liberation Serif, serif"><FONT SIZE=2><I>}</I></FONT></FONT></FONT></P>
-               </TD>
-               <TD WIDTH=31% BGCOLOR="#cccccc">
-                       <P ALIGN=LEFT><BR>
-                       </P>
-               </TD>
-       </TR>
-       <TR VALIGN=TOP>
-               <TD WIDTH=5% BGCOLOR="#4d4d4d">
-                       <P ALIGN=LEFT STYLE="font-weight: medium; text-decoration: none"><FONT COLOR="#ffffff"><FONT FACE="Liberation Serif, serif"><FONT SIZE=2><I>32</I></FONT></FONT></FONT></P>
-               </TD>
-               <TD WIDTH=64% BGCOLOR="#ffffff">
-                       <P ALIGN=LEFT STYLE="font-weight: medium; text-decoration: none"><FONT COLOR="#000000"><FONT FACE="Liberation Serif, serif"><FONT SIZE=2><I>PARAVIS_Base_i*
-                       aPtr = ::CreateInstance(<FONT COLOR="#000000"><SPAN STYLE="text-decoration: none"><FONT FACE="Liberation Serif, serif"><FONT SIZE=2><SPAN STYLE="font-weight: medium">avtkSMProxy</SPAN></FONT></FONT></SPAN></FONT>,
-                       avtkSMProxy-&gt;GetClassName());</I></FONT></FONT></FONT></P>
-               </TD>
-               <TD WIDTH=31% BGCOLOR="#cccccc">
-                       <P ALIGN=LEFT STYLE="font-weight: medium; text-decoration: none"><FONT COLOR="#000000"><FONT FACE="Liberation Serif, serif"><FONT SIZE=2><I>Create
-                       a wrapper (servant) class according to class name of result object</I></FONT></FONT></FONT></P>
-               </TD>
-       </TR>
-       <TR VALIGN=TOP>
-               <TD WIDTH=5% BGCOLOR="#4d4d4d">
-                       <P ALIGN=LEFT STYLE="font-weight: medium; text-decoration: none"><FONT COLOR="#ffffff"><FONT FACE="Liberation Serif, serif"><FONT SIZE=2><I>33</I></FONT></FONT></FONT></P>
-               </TD>
-               <TD WIDTH=64% BGCOLOR="#ffffff">
-                       <P ALIGN=LEFT STYLE="font-weight: medium; text-decoration: none"><FONT COLOR="#000000"><FONT FACE="Liberation Serif, serif"><FONT SIZE=2><I>aPtr-&gt;Init(avtkSMProxy);</I></FONT></FONT></FONT></P>
-               </TD>
-               <TD WIDTH=31% BGCOLOR="#cccccc">
-                       <P ALIGN=LEFT STYLE="font-weight: medium; text-decoration: none"><FONT COLOR="#000000"><FONT FACE="Liberation Serif, serif"><FONT SIZE=2><I>Initialize
-                       the internal pointer of wrapper class by result</I></FONT></FONT></FONT></P>
-               </TD>
-       </TR>
-       <TR VALIGN=TOP>
-               <TD WIDTH=5% BGCOLOR="#4d4d4d">
-                       <P ALIGN=LEFT STYLE="font-weight: medium; text-decoration: none"><FONT COLOR="#ffffff"><FONT FACE="Liberation Serif, serif"><FONT SIZE=2><I>34</I></FONT></FONT></FONT></P>
-               </TD>
-               <TD WIDTH=64% BGCOLOR="#ffffff">
-                       <P ALIGN=LEFT STYLE="font-weight: medium; text-decoration: none"><FONT COLOR="#000000"><FONT FACE="Liberation Serif, serif"><FONT SIZE=2><I>return
-                       aPtr-&gt;_this();</I></FONT></FONT></FONT></P>
-               </TD>
-               <TD WIDTH=31% BGCOLOR="#cccccc">
-                       <P ALIGN=LEFT STYLE="font-weight: medium; text-decoration: none"><FONT COLOR="#000000"><FONT FACE="Liberation Serif, serif"><FONT SIZE=2><I>Return
-                       wrapper instance as result</I></FONT></FONT></FONT></P>
-               </TD>
-       </TR>
-       <TR VALIGN=TOP>
-               <TD WIDTH=5% BGCOLOR="#4d4d4d">
-                       <P ALIGN=LEFT STYLE="font-weight: medium; text-decoration: none"><FONT COLOR="#ffffff"><FONT FACE="Liberation Serif, serif"><FONT SIZE=2><I>35</I></FONT></FONT></FONT></P>
-               </TD>
-               <TD WIDTH=64% BGCOLOR="#ffffff">
-                       <P ALIGN=LEFT STYLE="font-weight: medium; text-decoration: none"><FONT COLOR="#000000"><FONT FACE="Liberation Serif, serif"><FONT SIZE=2><I>}
-                       catch(...) {</I></FONT></FONT></FONT></P>
-               </TD>
-               <TD WIDTH=31% BGCOLOR="#cccccc">
-                       <P ALIGN=LEFT><BR>
-                       </P>
-               </TD>
-       </TR>
-       <TR VALIGN=TOP>
-               <TD WIDTH=5% BGCOLOR="#4d4d4d">
-                       <P ALIGN=LEFT STYLE="font-weight: medium; text-decoration: none"><FONT COLOR="#ffffff"><FONT FACE="Liberation Serif, serif"><FONT SIZE=2><I>36</I></FONT></FONT></FONT></P>
-               </TD>
-               <TD WIDTH=64% BGCOLOR="#ffffff">
-                       <P ALIGN=LEFT STYLE="font-weight: medium; text-decoration: none"><FONT COLOR="#000000"><FONT FACE="Liberation Serif, serif"><FONT SIZE=2><I>MESSAGE(&quot;GetProxy
-                       - Unknown exception was occurred!!!&quot;);</I></FONT></FONT></FONT></P>
-               </TD>
-               <TD WIDTH=31% BGCOLOR="#cccccc">
-                       <P ALIGN=LEFT><BR>
-                       </P>
-               </TD>
-       </TR>
-       <TR VALIGN=TOP>
-               <TD WIDTH=5% BGCOLOR="#4d4d4d">
-                       <P ALIGN=LEFT STYLE="font-weight: medium; text-decoration: none"><FONT COLOR="#ffffff"><FONT FACE="Liberation Serif, serif"><FONT SIZE=2><I>37</I></FONT></FONT></FONT></P>
-               </TD>
-               <TD WIDTH=64% BGCOLOR="#ffffff">
-                       <P ALIGN=LEFT STYLE="font-weight: medium; text-decoration: none"><FONT COLOR="#000000"><FONT FACE="Liberation Serif, serif"><FONT SIZE=2><I>return
-                       PARAVIS::vtkSMProxy::_nil();</I></FONT></FONT></FONT></P>
-               </TD>
-               <TD WIDTH=31% BGCOLOR="#cccccc">
-                       <P ALIGN=LEFT><BR>
-                       </P>
-               </TD>
-       </TR>
-       <TR VALIGN=TOP>
-               <TD WIDTH=5% BGCOLOR="#4d4d4d">
-                       <P ALIGN=LEFT STYLE="font-weight: medium; text-decoration: none"><FONT COLOR="#ffffff"><FONT FACE="Liberation Serif, serif"><FONT SIZE=2><I>38</I></FONT></FONT></FONT></P>
-               </TD>
-               <TD WIDTH=64% BGCOLOR="#ffffff">
-                       <P ALIGN=LEFT STYLE="font-weight: medium; text-decoration: none"><FONT COLOR="#000000"><FONT FACE="Liberation Serif, serif"><FONT SIZE=2><I>}</I></FONT></FONT></FONT></P>
-               </TD>
-               <TD WIDTH=31% BGCOLOR="#cccccc">
-                       <P ALIGN=LEFT><BR>
-                       </P>
-               </TD>
-       </TR>
-       <TR VALIGN=TOP>
-               <TD WIDTH=5% BGCOLOR="#4d4d4d">
-                       <P ALIGN=LEFT STYLE="font-weight: medium; text-decoration: none"><FONT COLOR="#ffffff"><FONT FACE="Liberation Serif, serif"><FONT SIZE=2><I>39</I></FONT></FONT></FONT></P>
-               </TD>
-               <TD WIDTH=64% BGCOLOR="#cccccc">
-                       <P ALIGN=LEFT STYLE="font-weight: medium; text-decoration: none"><FONT COLOR="#000000"><FONT FACE="Liberation Serif, serif"><FONT SIZE=2><I>}</I></FONT></FONT></FONT></P>
-               </TD>
-               <TD WIDTH=31% BGCOLOR="#cccccc">
-                       <P ALIGN=LEFT><BR>
-                       </P>
-               </TD>
-       </TR>
-</TABLE>
-<P STYLE="margin-bottom: 0in"><BR>
-</P>
-<H2 CLASS="western">Overloaded methods definition</H2>
-<P>Classes of ParaView server manager API have overloaded methods. As
-it is mentioned above description of IDL interface prohibits using of
-the same name for various methods even they have different
-parameters. To avoid this limitation we have to add index to name in
-each appearance of overloaded method. But at Python script level it
-is necessary to avoid using of function names with indexes. It is
-necessary to provide possibility to use methods as they was defined
-in API of corresponded class.</P>
-<P>For tis purposes we redefined standard IDL to Python wrapping in
-order to add a function which has a name of overloaded method and
-accepts any parameters. This function analyzes input parameters and
-selects what function (with which index) it has to be called.</P>
-<P>For example:</P>
-<P>vtkObject class contains definition of overloaded functions:</P>
-<P STYLE="margin-bottom: 0in"><FONT SIZE=2><I>void RemoveObservers
-(unsigned long event);</I></FONT></P>
-<P STYLE="margin-bottom: 0in"><FONT SIZE=2><I>void RemoveObservers
-(const char *event);</I></FONT></P>
-<P STYLE="margin-bottom: 0in"><BR>
-</P>
-<P STYLE="margin-bottom: 0in">In IDL interface these function will be
-defined as:</P>
-<P STYLE="margin-bottom: 0in"><FONT SIZE=2><I>void _RemoveObservers_0
-(in long temp0);</I></FONT></P>
-<P STYLE="margin-bottom: 0in"><FONT SIZE=2><I>void _RemoveObservers_1
-(in string temp0);</I></FONT></P>
-<P STYLE="margin-bottom: 0in"><BR>
-</P>
-<P STYLE="margin-bottom: 0in; font-style: normal">These functions
-will be wrapped by standard IDL to Python wrapper as it is (with
-indexes). But we need to call this function in Python as they were
-defined in vtkObject definition – by name “RemoveObservers”.
-For this purposes we modify IDL to Python wrapper in order to add the
-following function:</P>
-<P STYLE="margin-bottom: 0in"><FONT SIZE=2><I>def
-RemoveObservers(self, *args):</I></FONT></P>
-<P STYLE="margin-bottom: 0in"><FONT SIZE=2><I>if len(args) == 1 and
-(type(args[0]) in [IntType, LongType]):</I></FONT></P>
-<P STYLE="margin-bottom: 0in"><FONT SIZE=2><I>return
-self.RemoveObservers_0(*args)</I></FONT></P>
-<P STYLE="margin-bottom: 0in"><FONT SIZE=2><I>if len(args) == 1 and
-(type(args[0]) in [StringType]):</I></FONT></P>
-<P STYLE="margin-bottom: 0in"><FONT SIZE=2><I>return
-self.RemoveObservers_1(*args)</I></FONT></P>
-<P STYLE="margin-bottom: 0in"><FONT SIZE=2><I>print 'Warning: The
-corresponding method of RemoveObservers group is not found for ' +
-str(args)</I></FONT></P>
-<P STYLE="margin-bottom: 0in"><BR>
-</P>
-<P STYLE="margin-bottom: 0in">After this we can use function
-RemoveObserves in Python as it was defined without indexes.</P>
-<H2 CLASS="western">Creation of objects in Python</H2>
-<P>Creation of CORBA object on client side is not so trivial as
-usually. When client requests a creation of object then it has to be
-created: 
-</P>
-<UL>
-       <LI><P>CORBA client object instance on client side, 
-       </P>
-       <LI><P>CORBA servant instance on server side 
-       </P>
-       <LI><P>and both of them are connected to each other across CORBA
-       interface. 
-       </P>
-</UL>
-<P STYLE="margin-bottom: 0.08in">More simplest way is to request an
-object from PARAVIS server interface <B>PARAVIS_Gen</B>. For this
-purposes a method <B>CreateClass</B> function in <B>PARAVIS_Gen
-</B>interface is defined. Also there is a function <B>GetClassesList</B>
-which returns list of names of extracted classes. Both these methods
-let to define a set of functions which looks like an object
-constructor for all extracted classes. 
-</P>
-<P STYLE="margin-bottom: 0.08in">These definitions done in paravis.py
-module with help of createConstructors function. Result of this
-function is a set of functions which looks like vtkClassName(). These
-functions return an object instance which wraps a pointer on
-requested class vtkClassName instance with corresponded API.</P>
-<P STYLE="margin-bottom: 0.08in">For example call in Python console</P>
-<P STYLE="margin-bottom: 0.08in"><FONT SIZE=2><I>&gt; a =
-vtkSMProxyManager()</I></FONT></P>
-<P STYLE="margin-bottom: 0.08in">returns an instance of
-PARAVIS_Gen_vtkSMProxyManager object on client side which implements
-all methods of vtkSMProxyManager class readdressing them to
-incapsulated vtkSMProxyManager instance on server side.</P>
-<H2 CLASS="western">servermanager.py and simple.py</H2>
-<P STYLE="margin-bottom: 0.08in">In ParaView Python API is defined
-with help of two modules servermanager.py and simple.py. PARAVIS has
-corresponded modules paravisSM.py and pvsimple.py. Because of actions
-described above we got a set of Python interfaces which is very close
-to original Python API of ParaView. So, PARAVIS Python modules have
-fiew modifications in comparison to original ones. These
-modifications mainly related to:</P>
-<OL>
-       <LI><P STYLE="margin-bottom: 0.08in">Already mentioned problem with
-       “==” operation to wrapper classes.</P>
-       <LI><P STYLE="margin-bottom: 0.08in">Impossibility to use observers.</P>
-       <LI><P STYLE="margin-bottom: 0.08in">Reimplementation of hidden code
-       existing in ParaView which is called in Python console on its
-       creation.</P>
-       <LI><P STYLE="margin-bottom: 0.08in">Providing access to Trace
-       functionality.</P>
-</OL>
-<H1><A NAME="4.Trace functionality|outline"></A>Trace functionality</H1>
-<P>Trace functionality in PARAVIS module is defined in GUI of module
-using already existing Python functions in ParaView.</P>
-<P>Because this trace functionality is used for “Dump Study”
-functionality defined in SALOME then tracing is started automatically
-on loading of PARAVIS module and registers all actions during whole
-session. In case if there are no necessity tracing can be switched
-off in preferences dialog box. But it is necessary to take into
-account that dumping of study can't be done for PARAVIS module in
-this case.</P>
-<P>To check the trace content there are two functions defined in
-pvsimple.py module and accessible in SALOME Python console:</P>
-<UL>
-       <LI><P>PrintTrace() - this function prints trace directly to Python
-       console</P>
-       <LI><P>SaveTrace(fileName) – this function outputs trace into disk
-       file according to given name.</P>
-</UL>
-<H1>Connection with other SALOME modules</H1>
-<P>According to SALOME general architecture each module independs
-from other modules by default. In general case adding of module to
-module dependency can be caused by necessity to transfer some data
-from one module to another. In this case a module consumer has to
-“know” about API of module supplier what is going to be used. If
-this API is not defined on a general module level then we have to use
-direct connection to module object instance what implements a
-necessary API.</P>
-<P>In general algorithm of connected to a module-supplier API on a
-module-consumer side looks like following:</P>
-<OL>
-       <LI><P>Find and load a module-supplier component CORBA object from
-       active study.</P>
-       <LI><P>Get a module-supplier engine from the component.</P>
-       <LI><P>Using of the engine to get necessary data.</P>
-</OL>
-</BODY>
-</HTML>
\ No newline at end of file
diff --git a/doc/GeneralArchitecture_html_m4ed0a034.gif b/doc/GeneralArchitecture_html_m4ed0a034.gif
deleted file mode 100644 (file)
index 7bc987d..0000000
Binary files a/doc/GeneralArchitecture_html_m4ed0a034.gif and /dev/null differ
diff --git a/doc/UserDocumentation.html b/doc/UserDocumentation.html
deleted file mode 100644 (file)
index 2960bc8..0000000
+++ /dev/null
@@ -1,166 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
-<HTML>
-<HEAD>
-       <META HTTP-EQUIV="CONTENT-TYPE" CONTENT="text/html; charset=iso-8859-1">
-       <TITLE></TITLE>
-       <META NAME="GENERATOR" CONTENT="OpenOffice.org 1.1.5  (Linux)">
-       <META NAME="CREATED" CONTENT="20100112;19261000">
-       <META NAME="CHANGED" CONTENT="20100528;14505900">
-</HEAD>
-<BODY LANG="en-US" DIR="LTR">
-<P ALIGN=CENTER><FONT SIZE=6><B>PARAVIS development</B></FONT></P>
-<P ALIGN=CENTER><FONT SIZE=6><B>PARAVIS user documentation</B></FONT></P>
-<P STYLE="page-break-before: always"><A HREF="#1.Introduction|outline"><B><SPAN LANG="fr-FR"><FONT SIZE=4 STYLE="font-size: 15pt">1.Introduction</FONT></SPAN></B></A></P>
-<P><A HREF="#2.Building environment|outline"><B><SPAN LANG="fr-FR"><FONT SIZE=4 STYLE="font-size: 15pt">2.Building
-environment</FONT></SPAN></B></A></P>
-<P><A HREF="#3.VTK library|outline"><B><SPAN LANG="fr-FR"><FONT SIZE=4 STYLE="font-size: 15pt">3.VTK
-library</FONT></SPAN></B></A></P>
-<P><A HREF="#4.Building of PARAVIS|outline"><B><SPAN LANG="fr-FR"><FONT SIZE=4 STYLE="font-size: 15pt">4.Building
-of PARAVIS</FONT></SPAN></B></A></P>
-<P><A HREF="#5.Starting SALOME with PARAVIS|outline"><B><SPAN LANG="fr-FR"><FONT SIZE=4 STYLE="font-size: 15pt">5.Starting
-SALOME with PARAVIS</FONT></SPAN></B></A></P>
-<P><A HREF="#6.Commands accessible in Python console|outline"><B><SPAN LANG="fr-FR"><FONT SIZE=4 STYLE="font-size: 15pt">6.Commands
-accessible in Python console</FONT></SPAN></B></A></P>
-<P><A HREF="#7.Trace management|outline"><B><SPAN LANG="fr-FR"><FONT SIZE=4 STYLE="font-size: 15pt">7.Trace
-management</FONT></SPAN></B></A></P>
-<P><A HREF="#8.PARAVIS GUI specific|outline"><B><SPAN LANG="fr-FR"><FONT SIZE=4 STYLE="font-size: 15pt">8.PARAVIS
-GUI specific</FONT></SPAN></B></A></P>
-<P><A HREF="#PARAVIEW options|outline"><B><SPAN LANG="fr-FR"><FONT SIZE=4 STYLE="font-size: 15pt">9.
-PARAVIEW options</FONT></SPAN></B></A></P>
-<H1><A NAME="1.Introduction|outline"></A>Introduction</H1>
-<P STYLE="margin-bottom: 0in">This document describes features of
-ParaView Python extractor using in PARAVIS module of SALOME platform.
-In general building of PARAVIEW module is not too much differ from
-usual process of any other SALOME module building, and result Python
-API extracted for using in SALOME Python console is similar to the
-server manager API of ParaView. But there are some features what is
-desirable to understand for effective using of extractor.</P>
-<H1><A NAME="2.Building environment|outline"></A>Building environment</H1>
-<P STYLE="margin-bottom: 0in; page-break-inside: auto">It is
-necessary to check that PARAVIS_SRC directory contains following
-files and they are up-to-date:</P>
-<OL>
-       <LI><P STYLE="margin-bottom: 0in; page-break-inside: auto">src/Paraview/lex.yy.c</P>
-       <LI><P STYLE="margin-bottom: 0in; page-break-inside: auto">src/Paraview/vtkParse.tab.c</P>
-       <LI><P STYLE="margin-bottom: 0in; page-break-inside: auto">src/Paraview/vtkParse.h</P>
-</OL>
-<H1><A NAME="3.VTK library|outline"></A>VTK library</H1>
-<P STYLE="margin-bottom: 0in; page-break-inside: auto">SALOME already
-uses VTK library for visualization and post-processing purposes.
-PARAVIS also uses VTK library supplied with ParaView. In order to
-avoid problem with using of different versions of VTK library in
-different components of SALOME platform it is necessary to use the
-same version supplied with ParaView for all components and modules of
-SALOME. 
-</P>
-<P STYLE="margin-bottom: 0in; page-break-inside: auto">For this
-purposes a new option &ldquo;--with-paraview&rdquo; has been defined
-for configure script. This option configures building procedure to
-use VTK from ParaView. It means that GUI package and all modules has
-to be configured with this option.</P>
-<H1><A NAME="4.Building of PARAVIS|outline"></A>Building of PARAVIS</H1>
-<P STYLE="margin-bottom: 0in; page-break-inside: auto"><BR>
-</P>
-<OL>
-       <LI><P ALIGN=JUSTIFY STYLE="margin-bottom: 0.08in; page-break-inside: auto; widows: 2; orphans: 2">
-       Call <B>cmake</B> in a build directory: 
-       </P>
-       <P ALIGN=JUSTIFY STYLE="margin-bottom: 0.08in; page-break-inside: auto; widows: 2; orphans: 2">
-       <I><FONT SIZE=3><FONT FACE="Nimbus Roman No9 L"><FONT COLOR="#000000">&gt;
-       ccmake ../PARAVIS_SRC</FONT></FONT></FONT></I></P>
-       <LI><P>Call <B>make</B> command in build directory. 
-       </P>
-       <P><I>&gt; make</I></P>
-       <LI><P ALIGN=JUSTIFY STYLE="margin-bottom: 0.08in; page-break-inside: auto; widows: 2; orphans: 2">
-       <FONT FACE="Nimbus Roman No9 L"><B><FONT SIZE=2><FONT COLOR="#000000">Call
-       </FONT></FONT>make install</B> command in</FONT> build directory. 
-       </P>
-       <P ALIGN=JUSTIFY STYLE="margin-bottom: 0.08in; page-break-inside: auto; widows: 2; orphans: 2">
-       <FONT FACE="Nimbus Roman No9 L"><FONT SIZE=3><I>&gt; <FONT COLOR="#000000">make
-       </FONT>install</I></FONT></FONT></P>
-</OL>
-<H1 ALIGN=LEFT STYLE="margin-top: 0.42in; margin-bottom: 0.08in; page-break-inside: avoid; widows: 2; orphans: 2; page-break-after: avoid"><A NAME="5.Starting SALOME with PARAVIS|outline"></A>
-<FONT COLOR="#000000"><FONT FACE="Arial, sans-serif"><FONT SIZE=4 STYLE="font-size: 16pt"><B>Starting
-SALOME with PARAVIS</B></FONT></FONT></FONT></H1>
-<P>&gt; runSalome &ndash;modules=&quot;PARAVIS&quot;</P>
-<P>If it is necessary then other SALOME modules can be added to
-&ldquo;modules&rdquo; list separated by comma.</P>
-<H1><A NAME="6.Commands accessible in Python console|outline"></A>Commands
-accessible in Python console</H1>
-<P>Loading ParaView Python API for PARAVIS can be done with help of
-command:</P>
-<P><I>&gt; from pvsimple import *</I></P>
-<P>This command makes accessible the same Python API what provided by
-simple.py module in ParaView (see ParaView documentation). 
-</P>
-<H1><A NAME="7.Trace management|outline"></A>Trace management</H1>
-<P>Last version of ParaView is supplied with trace functionality.
-PARAVIS also supports this feature. But in contrary to ParaView,
-which can start/stop trace in any moment, in PARAVIS trace is
-activating or deactivating for whole session.</P>
-<P>Trace functionality can be switched on/off in SALOME preferences
-dialog box in PARAVIS tab (main menu | Preferences...). It contains
-check box &ldquo;Deactivate Trace&rdquo;. By default the trace is
-activated. Change of check box state makes effect only for next
-session.</P>
-<P>User can get the trace with help of two commands (after pvsimple
-import):</P>
-<OL>
-       <LI><P>PrintTrace() - prints the trace content directly into Python
-       console window.</P>
-       <LI><P>SaveTrace(fileName) - saves the trace into a given disk file.</P>
-</OL>
-<P>Also trace is using for &ldquo;Dump Study&rdquo; functionality.
-But if the tracing is switched off then &ldquo;Dump Study&rdquo;
-doesn't saves PARAVIS module state.</P>
-<H1>SALOME study save</H1>
-<P>On SALOME study saving PARAVIS module data is also saved in the
-study. This data is saved in form of ParaView state file. ParaView
-state file could have references on external files imported during
-PARAVIS working session. These referenced files can be saved with the
-current study depending on preference &ldquo;Paraview state saving
-type&rdquo; defined in PARAVIS preferences dialog box. This
-preference can have three possible state:</P>
-<OL>
-       <LI><P>&ldquo;Save referenced files only for built-in server&rdquo;.
-       In case if this option is active then referenced files will be saved
-       in study together with ParaView state only if in PARAVIS was used
-       built-in ParaView server. In case of remote ParaView server the
-       state will be saved as it is without referenced files.</P>
-       <LI><P>&ldquo;Always save referenced files if they are accessible&rdquo;.
-       In this case referenced files will be saved with ParaView state for
-       any type of ParaView server but only in case if they are accessible
-       across local file system.</P>
-       <LI><P>&ldquo;Never save referenced files&rdquo;. In this case
-       referenced files will be never saved with ParaView state.</P>
-</OL>
-<P>It is necessary to be aware that if referenced files are not saved
-in study then there is no guarantee that the saved study will be
-opened correctly on other station or if the referenced files will be
-moved or deleted.</P>
-<H1><A NAME="8.PARAVIS GUI specific|outline"></A>PARAVIS GUI specific</H1>
-<P STYLE="margin-bottom: 0in; page-break-inside: auto">In fact
-PARAVIS is a ParaView GUI integrated into SALOME environment. General
-architecture of ParaView is very different from general architecture
-of SALOME. If SALOME is an application which is able to open several
-documents (studies) within one application session because it has
-multi-document architecture, then ParaView has a single document
-architecture what means that it can have only one document (data
-structure) opened within one session.</P>
-<P STYLE="margin-bottom: 0in; page-break-inside: auto">This leads to
-the fact that PARAVIS module can be opened only once within SALOME
-application session. It can be opened only in a first desktop
-appeared after SALOME launch. Other desktops, even they opened with
-study containing PARAVIS data, can not load PARAVIS module.</P>
-<P ALIGN=LEFT><BR><BR>
-</P>
-<H1><A NAME="PARAVIEW options|outline"></A>PARAVIEW options</H1>
-<P ALIGN=LEFT>If it is necessary to define a spcific command line
-parameters for ParaView application then it can be defined with help
-of PARAVIS_OPTIONS environment variable. For example:</P>
-<P ALIGN=LEFT>export PARAVIS_OPTIONS=--server=myServer</P>
-<P ALIGN=LEFT>If it is necessary to define several command line
-parameters then these parameters has to be separated by &ldquo;:&rdquo;
-symbol.</P>
-</BODY>
-</HTML>
\ No newline at end of file
diff --git a/doc/dev/CMakeLists.txt b/doc/dev/CMakeLists.txt
new file mode 100644 (file)
index 0000000..95121a0
--- /dev/null
@@ -0,0 +1,32 @@
+# Copyright (C) 2012-2015  CEA/DEN, EDF R&D
+#
+# 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
+#
+# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
+#
+
+SALOME_CONFIGURE_FILE(conf.py.in conf.py)
+
+SET(_cmd_options -c ${CMAKE_CURRENT_BINARY_DIR} -b html -d doctrees -D latex_paper_size=a4 ${CMAKE_CURRENT_SOURCE_DIR} html)
+SALOME_GENERATE_ENVIRONMENT_SCRIPT(_cmd env_script "${SPHINX_EXECUTABLE}" "${_cmd_options}")            
+
+ADD_CUSTOM_TARGET(html_docs COMMAND ${_cmd})
+
+INSTALL(CODE "EXECUTE_PROCESS(COMMAND \"${CMAKE_COMMAND}\" --build ${PROJECT_BINARY_DIR} --target html_docs)")
+INSTALL(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/html/ DESTINATION ${SALOME_INSTALL_DOC}/dev/PARAVIS)
+INSTALL(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/images DESTINATION ${SALOME_INSTALL_DOC}/dev/PARAVIS/images)
+
+SET(make_clean_files html doctrees)
+SET_DIRECTORY_PROPERTIES(PROPERTIES ADDITIONAL_MAKE_CLEAN_FILES "${make_clean_files}")
diff --git a/doc/dev/conf.py.in b/doc/dev/conf.py.in
new file mode 100644 (file)
index 0000000..ec03f67
--- /dev/null
@@ -0,0 +1,222 @@
+# -*- coding: iso-8859-1 -*-
+#
+# yacs documentation build configuration file, created by
+# sphinx-quickstart on Fri Aug 29 09:57:25 2008.
+#
+# This file is execfile()d with the current directory set to its containing dir.
+#
+# The contents of this file are pickled, so don't put values in the namespace
+# that aren't pickleable (module imports are okay, they're removed automatically).
+#
+# All configuration values have a default; values that are commented out
+# serve to show the default.
+
+import sys, os
+
+# If your extensions are in another directory, add it here. If the directory
+# is relative to the documentation root, use os.path.abspath to make it
+# absolute, like shown here.
+#sys.path.append(os.path.abspath('.'))
+
+# General configuration
+# ---------------------
+
+# Add any Sphinx extension module names here, as strings. They can be extensions
+# coming with Sphinx (named 'sphinx.ext.*') or your custom ones.
+extensions = ['sphinx.ext.autodoc']
+
+# Uncomment the following line to build the links with Python documentation
+# (you might need to set http_proxy environment variable for this to work)
+#extensions += ['sphinx.ext.intersphinx']
+
+# Intersphinx mapping to add links to modules and objects in the Python
+# standard library documentation
+intersphinx_mapping = {'http://docs.python.org': None}
+
+# Add any paths that contain templates here, relative to this directory.
+templates_path = [os.path.join('@CMAKE_CURRENT_SOURCE_DIR@','_templates')]
+
+# The suffix of source filenames.
+source_suffix = '.rst'
+
+# The encoding of source files.
+source_encoding = 'utf-8'
+
+# The master toctree document.
+master_doc = 'index'
+
+# General information about the project.
+project = 'PARAVIS, Module architecture - Conception'
+copyright = '2010-2015 CEA/DEN, EDF R&D, A. Bruneton'
+
+# The version info for the project you're documenting, acts as replacement for
+# |version| and |release|, also used in various other places throughout the
+# built documents.
+#
+# The short X.Y version.
+version = '@SALOMEPARAVIS_VERSION@'
+# The full version, including alpha/beta/rc tags.
+release = '@SALOMEPARAVIS_VERSION@'
+
+# The language for content autogenerated by Sphinx. Refer to documentation
+# for a list of supported languages.
+language = 'fr'
+
+# There are two options for replacing |today|: either, you set today to some
+# non-false value, then it is used:
+#today = ''
+# Else, today_fmt is used as the format for a strftime call.
+#today_fmt = '%B %d, %Y'
+
+# List of documents that shouldn't be included in the build.
+#unused_docs = []
+
+# List of directories, relative to source directory, that shouldn't be searched
+# for source files.
+exclude_trees = ['.build','ref','images','CVS','.svn']
+
+# A list of glob-style patterns that should be excluded when looking for source
+# files. They are matched against the source file names relative to the
+# source directory, using slashes as directory separators on all platforms.
+exclude_patterns = ['**/CVS']
+
+# The reST default role (used for this markup: `text`) to use for all documents.
+#default_role = None
+
+# If true, '()' will be appended to :func: etc. cross-reference text.
+#add_function_parentheses = True
+
+# If true, the current module name will be prepended to all description
+# unit titles (such as .. function::).
+#add_module_names = True
+
+# If true, sectionauthor and moduleauthor directives will be shown in the
+# output. They are ignored by default.
+#show_authors = False
+
+# The name of the Pygments (syntax highlighting) style to use.
+pygments_style = 'sphinx'
+
+
+# Options for HTML output
+# -----------------------
+
+# The theme to use for HTML and HTML Help pages.  Major themes that come with
+# Sphinx are currently 'default' and 'sphinxdoc'.
+#html_theme = 'omadoc'
+html_theme_options = {
+    "stickysidebar": "false",
+    "rightsidebar": "false",
+}
+
+# Add any paths that contain custom themes here, relative to this directory.
+#html_theme_path = ['themes']
+
+# The name for this set of Sphinx documents.  If None, it defaults to
+# "<project> v<release> documentation".
+#html_title = None
+
+# A shorter title for the navigation bar.  Default is the same as html_title.
+#html_short_title = None
+
+# The name of an image file (relative to this directory) to place at the top
+# of the sidebar.
+#html_logo = None
+
+# The name of an image file (within the static path) to use as favicon of the
+# docs.  This file should be a Windows icon file (.ico) being 16x16 or 32x32
+# pixels large.
+#html_favicon = None
+
+
+# The stylecheet file will be searched within the static path, while
+# the layout.html file will be searched within the template path
+# (Note that this parameter can't be used together with html_theme. Exclusive)
+#html_style = ''
+
+# Add any paths that contain custom static files (such as style sheets) here,
+# relative to this directory. They are copied after the builtin static files,
+# so a file named "default.css" will overwrite the builtin "default.css".
+html_static_path = [os.path.join('@CMAKE_CURRENT_SOURCE_DIR@','_static')]
+
+# If not '', a 'Last updated on:' timestamp is inserted at every page bottom,
+# using the given strftime format.
+#html_last_updated_fmt = '%b %d, %Y'
+
+# If true, SmartyPants will be used to convert quotes and dashes to
+# typographically correct entities.
+#html_use_smartypants = True
+
+# Custom sidebar templates, maps document names to template names.
+#html_sidebars = {}
+
+# Additional templates that should be rendered to pages, maps page names to
+# template names.
+#html_additional_pages = {}
+
+# If false, no module index is generated.
+html_use_modindex = False
+
+# If false, no index is generated.
+#html_use_index = True
+
+# If true, the index is split into individual pages for each letter.
+#html_split_index = False
+
+# If true, the reST sources are included in the HTML build as _sources/<name>.
+html_copy_source = True
+
+# If true, an OpenSearch description file will be output, and all pages will
+# contain a <link> tag referring to it.  The value of this option must be the
+# base URL from which the finished HTML is served.
+#html_use_opensearch = ''
+
+# If nonempty, this is the file name suffix for HTML files (e.g. ".xhtml").
+#html_file_suffix = ''
+
+# Output file base name for HTML help builder.
+htmlhelp_basename = 'paravis_dev'
+
+
+# Options for LaTeX output
+# ------------------------
+
+latex_elements = {
+    # The paper size ('letterpaper' or 'a4paper').
+    'papersize': 'a4paper',
+    # Select another font family
+    #'fontpkg':'\\usepackage{eucal}',
+    # get rid off blank pages
+    'classoptions': ',openany,oneside',
+    'babel' : '\\usepackage[english]{babel}',
+    # The font size ('10pt', '11pt' or '12pt').
+    #'pointsize': '10pt',
+}
+
+# Grouping the document tree into LaTeX files. List of tuples
+# (source start file, target name, title, author, document class [howto/manual]).
+#latex_documents = []
+
+# The name of an image file (relative to this directory) to place at the top of
+# the title page.
+#latex_logo = os.path.join("@CMAKE_CURRENT_SOURCE_DIR@","_static","head.png")
+
+# For "manual" documents, if this is true, then toplevel headings are parts,
+# not chapters.
+latex_use_parts = True
+
+# Additional stuff for the LaTeX preamble.
+#latex_preamble = ''
+
+# Documents to append as an appendix to all manuals.
+#latex_appendices = []
+
+# If false, no module index is generated.
+latex_use_modindex = False
+
+# Definition of substitute variables for rst texts
+# ------------------------------------------------
+# The rst_epilog can be used to define variable in conf.py and use the
+# values of these variables in the rst text files.
+srcdir = '@CMAKE_CURRENT_SOURCE_DIR@'
+rst_epilog = '.. |SPHINXDOC_SRCDIR| replace:: %s' % srcdir
diff --git a/doc/dev/images/archi.jpg b/doc/dev/images/archi.jpg
new file mode 100644 (file)
index 0000000..803bc79
Binary files /dev/null and b/doc/dev/images/archi.jpg differ
diff --git a/doc/dev/index.rst b/doc/dev/index.rst
new file mode 100644 (file)
index 0000000..9f379e7
--- /dev/null
@@ -0,0 +1,274 @@
+
+PARAVIS Module - Architecture and conception
+############################################
+
+*This documentation is intended for SALOME's developpers or anyone wishing to modify the module itself.
+If you are looking for user documentation, please launch SALOME, activate the PARAVIS module, and refer 
+to the Help menu there.*
+
+PARAVIS is the visualization module of SALOME. The module is a tight integration of the functionalities
+offered by ParaView in the SALOME architecture.
+The architecture of the PARAVIS module has been revised end of 2014 to offer a smoother integration with ParaView.
+
+If you are looking for the Doxygen of the C++ code, it can be found here: `Doxygen documentation <api/index.html>`_
+
+Overview - Executive summary
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+The PARAVIS module represents the integration of ParaView inside SALOME.
+
+SALOME uses by default the *detached* server mode of ParaView: the ``pvserver`` is launched outside the main Salome process
+and the ParaVis module, or the PVViewer view (Window -> ParaView view) connects to it.
+
+Following this logic, the PVSERVER CORBA service has a very restrained role. Its only purpose is to:
+
+* control the start and stop of the pvserver process
+* provide the URL of the pvserver, so that a client can connect to it.
+
+Hence, we emphazise the fact that the CORBA engine does *not* provide any access to the objects or the visualisation 
+results themselves. It only serves to establish the link with the ``pvserver``. The latter can then be queried (with 
+the standard ParaView mechanisms) to retrieve those objects.   
+
+A typical session looks like this:
+
+* start SALOME's GUI
+* request activation of PARAVIS (or request activation of a *Paraview's View*)
+       * activation of the PVSERVER CORBA service
+       * invokation of the method ``FindOrStartPVServer()``: launches the pvserver process and returns its URL
+         (in the standard ParaView's format, e.g. ``cs://localhost:11111``)
+       * invokation of the standard ParaView's API to connect to the pvserver (e.g. ``Connect()`` method in the 
+         Python module ``paraview.simple``)
+* use the standard ParaView's API to interact with the server (either from the C++ side, within SALOME's GUI
+  or from a Python script, using for example the methods provided in the Python module ``pvsimple``). 
+
+The picture below summarizes the architecture:
+
+.. image:: images/archi.jpg
+       :scale: 70
+
+In terms of code structure, the main, all the initialization logic of ParaView is attached to the ``PVViewer``
+(ParaView's viewer) located in the GUI module in the **src/PVViewer** folder. 
+The CORBA engine and the graphical interface of the ParaVis module are located in the ParaVis module of SALOME.
+
+Functionalities
+%%%%%%%%%%%%%%%
+
+The following functionalities are offered by the PVSERVER and the ParaVis module:
+
+* full embedding of ParaView's functionalities inside SALOME environment
+* manage ParaVis GUI and ParaView server data from Python scripts in synchronized mode.
+* compatibility of the Python scripting interface with the ``paraview.simple`` and the ``paraview.servermanager`` 
+  modules.
+
+Folder structure
+%%%%%%%%%%%%%%%%
+
+ParaVis module
+==============
+
+In the ParaVis module, here is the list of code folders:
+
+* **idl**: contains the IDL for the PVSERVER CORBA service
+* **src/ENGINE**: implementation of the IDL's functionalities in Python. Mainly deal with the start/stop of the pvserver
+* **src/Plugins**: SALOME's specific plugins for ParaView: MEDReader, etc ...
+* **src/PVGUI**: graphical elements constituing the ParaVis client in the SALOME GUI. Management of the menus, the toolbars,
+  etc ... seen in PARAVIS interface.
+* **src/PV_SWIG**: Python modules to be able to invoke visualization functionalities from a script
+
+At the time of writing the PVSERVER CORBA service is sitll hosted by the ParaVis module, but it should move to GUI
+to be able to compile GUI without any dependency to PARAVIS. At present, this is only a weak dependency in the sense
+that nothing is needed at link time, but only at run-time. 
+
+GUI module
+==========
+
+One can request a ParaView view without activating the ParaVis module itself. For example the MED module now integrates
+a control visualization which is in fact a ParaView view.
+
+To make this work, a specific type of viewer (*PVViewer*, short for ParaView viewer) has been created in the GUI module itself.
+The code is located in **src/PVViewer**. 
+
+This folder contains the following classes:
+
+* ``PVViewer_Behaviors``: re-instanciates the desired ParaView behaviors (a behavior defines for example the fact that ParaView
+  should automatically reconnect to the server if a disconnection occurs) 
+* ``PVViewer_EngineWrapper``: encapsulates the calls to the PVSERVER CORBA service in a dynamic fashion, so that GUI can be
+  compiled without having a link dependency to the ParaVis module 
+* ``PVViewer_GUIElements``: see :ref:`view_part`
+* ``PVViewer_LogWindowAdapter``: an adapter to redirect VTK and ParaView's output messages to the SALOME's message 
+  window (not working?)
+
+The folder also contain the adaptor classes needed to make the ParaView 
+native 3D view (a ``pqTabbedMultiViewWidget``) fit into the *SUIT*
+model (i.e. the model imposed by SALOME's GUI architecture to define a new type of view):
+
+* ``PVViewer_ViewManager``: this class centralizes all the initialization logic (see method ``ParaviewInitApp``) of the
+  ParaView application (``pqCoreApplication``).
+* ``PVViewer_ViewModel``
+* ``PVViewer_ViewWindow``
+
+Reminder about ParaView's architecture
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+ParaView works in a client/server mode. In two words, a server part (the ``pvserver``) takes care of the 'intensive' 
+computations (filter, etc ...) and a client part serves to control this server, and obviously visualize the final rendering.  
+
+The ``pvserver`` represents the main visualisation server, and can be either:
+
+* *built-in*, in which case, launching ParaView suffices to activate it automatically; 
+* *detached*, in which case, one has to launch the server first (possibly on another host) and then connect
+  to it from a client.
+
+The various types of clients are:
+
+* either the standard ParaView GUI (where the name and type of the current server can be 
+  seen by looking at the top element in the pipeline widget)
+* or a Python script, using for example the module ``paraview.simple`` and the ``Connect()`` method. 
+
+Historically the pvserver was not able to receive the connections from multiple clients, but this has been changed from 
+ParaView 4.0 (or was it 3.98?). Salome now exploits this feature.
+
+.. _view_part:
+
+Viewer part (in GUI module)
+%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+In the GUI module of SALOME, the folder **src/PVViewer** contains all the code needed to activate a minimal ParaView
+3D view, without activating the ParaVis module itself. 
+This folder hence deals with:
+
+* the initialization of the ParaView application (``pqApplicationCore``)
+* the initialization of ParaView's desired behaviors (class ``PVViewer_GUIElements``)
+* the initialization of all the GUI elements needed for a later activation of the ParaVis interface: at the time of 
+  writing the pipeline, some menus, and other elements are very hard to connect *after* having set up a 3D view. They are
+  however not wanted when the user just requested a 3D view, outside the ParaVis interface. We hence create those elements
+  any way, but hide them, so that we can later show them again, once the ParaVis module is activated.
+  The class ``PVViewer_GUIElements`` is in charge of this.
+
+The PVViewer follows otherwise the standard structure of a Salome's view (SUIT model).
+
+A special trick is used to make ``PVGUI_ViewWindow`` the parent of the ``pqViewManager`` widget. 
+It is created initally by ``pqMainWindowCore`` 
+with the desktop as a parent, so when it is shown, a ``PVGUI_ViewWindow`` instance is passed to its ``setParent()`` method. 
+In the destructor ``PVGUI_ViewWindow::~PVGUI_ViewWindow()``the parent is nullified to avoid deletion
+of the ``pqViewManager`` widget (that would break the ``pqMainWindowCore`` class).
+
+
+ParaVis graphical interface
+%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+The initialization of the viewer (see previous section) takes part of instantiating the most important widgets, notably:
+
+* the pipeline
+* the dynamic menus (filters and sources)
+* the macros
+* the Properties panel
+* and finally the toolbars
+
+All those menus are dynamic in the sense that they are automatically populated when a plugin/a configuration is loaded
+(this is also they need to be connected so early by the ``PVViewer_GUIElements`` class seen before).
+
+In the ParaVis module, the class ``PVGUI_Module`` represents the GUI client compliant with the usual architecture of
+a SALOME GUI module. The implementation is split in three ``cxx`` files:
+
+* ``PVGUI_Module.cxx``: core stuff: module initialization and activation, management of the Python trace, etc ...
+* ``PVGUI_Module_actions.cxx``: creation of the Qt actions and menus
+* ``PVGUI_Module_widgets.cxx``: hide/show various widgets and save/restore their positions in the main window. 
+
+Embedded Python interpreter - Multi-threading
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+ParaView is a mono-threaded application. It also provides an embedded Python interpreter to make the Python shell work.
+SALOME on the other hand is multi-threaded, and also provides an embedded Python's interpreter.
+
+Making the two work together has often been (and still is) a painful job! 
+If you run into this sort of problems, take a look at what the GIL is: 
+`Global Interpreter Lock <https://wiki.python.org/moin/GlobalInterpreterLock>`_  
+
+In Salome, the current setup is to:
+
+* patch ParaView itself so that all calls to the Python C API are GIL safe (using ``PyGILState_Ensure``, ``PyGILState_Release``)
+* have Salome's embedded Python console work in mono-threaded mode (although it is fully capable of being asynchronous).
+  This is achieved in ``src/PyConsole/PyConsole_Editor.cxx`` and the initialization of the ``myIsSync`` boolean member to ``True``. 
+
+**The last point is of crucial importance**: it basically means that all the GUI events are in a single thread.
+Even without considering 
+
+All the calls to the Python API in the rest of SALOME are (should be!) GIL safe.
+
+The ParaView Python's trace mechanism has long been a problem, but has fortunately been rationalized thanks to the API of
+ParaView providing clear methods to control the start/stop (and other options of the trace). 
+This is grouped in the ``ParaViewCore/ServerManager/Core/vtkSMTrace`` class and used in the 
+method ``PVGUI_Module::startTrace()``.
+
+Python modules
+%%%%%%%%%%%%%%
+The modules found in **src/PV_SWIG** are mostly simple namespace forwards from the original ParaView's modules (i.e. they
+redirect to the original modules):
+
+* ``pvsimple`` is a forward of ``paraview.simple`` with little extra functionalities to make sure:
+       * the connection to the correct PVSERVER is automatically established
+       * that a ParaView's view is available when importing the module from the embedded Python console.  
+* ``paravisSM`` is a forward of ``paraview.servermanager``. It is left mostly for backward compatibility (it used to be
+  full of nasty overrides).  
+
+Those forward/similarities are naturally intended so that a script written for pure ParaView can easily be ported 
+to ParaVis. The conversion boils down to replacing ``import paraview.simple`` by ``impory pvsimple`` (with a few other
+extra details of lesser importance).
+
+Updating to a newer ParaView version
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+The following items should be revised each time an upgrade to a newer ParaView version is done.
+They are often a copy/paste of ParaView's source code with a slight amendment to fit SALOME's requirements.
+
+* *initialization sequence*: currently located in GUI module, ``PVViewer_ViewManager::ParaViewInitApp()``: the following
+  classes should be inspected, and compared with their equivalent in ParaView source code to see if an update is necessary:
+       * ``PVViewer_ViewManager`` (GUI module): method ``ParaviewInitApp()``, ``ParaviewInitBehaviors()``, ``ParaviewLoadConfigurations()``
+         and finally ``ConnectToExternalPVServer()`` should be re-read. Their precise ordering is used in ``PVGUI_Module::initialize()``
+         and the whole sequence should be compared with what can be found in:
+               * ``Applications/ParaView/ParaViewMainWindow.cxx``
+               * ``CMake/branded_paraview_initializer.cxx.in``, and the method ``Initialize()``
+       * ``PVViewer_Behaviors`` (GUI module): compare with ``Qt/ApplicationComponents/pqParaViewBehaviors.cxx``
+* *menus and actions*: ``PVGUI_Module_widgets.cxx`` (ParaVis module) should be compared with ``Applications/ParaView/ParaViewMainWindow.cxx``
+* *toolbars*: ``PVViewer_GUIElements::myBuildToolbars()`` (GUI module): compare with ``pqParaViewMenuBuilders::buildToolbars()``
+* *settings dialog box*: ``PVGUI_ParaViewSettingsPane`` (ParaVis module) should be compared with ``Qt/Components/pqSettingsDialog.h``
+* *trace mechanism*: method ``PVGUI_Module::startTrace()`` should be compared with ``pqTraceReaction::start()`` in file 
+  ``Qt/ApplicationComponents/pqTraceReaction.h``
+
+Miscellaneous
+%%%%%%%%%%%%%
+
+**Trace management**
+
+Contrary to ParaView, which can start/stop its trace at any moment, in PARAVIS the trace is activated
+or deactivated for the whole session.
+
+The trace functionality can be switched on/off in SALOME preferences dialog box, in the PARAVIS tab (main menu | Preferences...).
+It contains a check box “Deactivate Trace”. By default the trace is activated. 
+Change of check box state makes effect only for next session.
+
+Also, the trace is used for the "Dump Study" functionality. But if the tracing is switched off then the "Dump Study" 
+doesn't save PARAVIS module trace.
+
+**Application options**
+
+If it is necessary to define a spcific command line parameter for ParaView application,
+then it can be defined with the help of the PARAVIS_OPTIONS environment variable. For example: ::
+
+       export PARAVIS_OPTIONS=--server=myServer
+
+If it is necessary to define several command line parameters, these parameters have to be separated by the “:” character.
+
+
+Various TODO
+%%%%%%%%%%%%
+
+* make the PVSERVER a true CORBA service not linked to the PARAVIS module
+* the PARAVIS module should be a *light* module (TODO check again why this is blocking). 
+
+Doxygen documentation
+%%%%%%%%%%%%%%%%%%%%%
+
+If you are looking for the Doxygen of the C++ code, it can be found here: `Doxygen documentation <api/index.html>`_
diff --git a/doc/doxygen/CMakeLists.txt b/doc/doxygen/CMakeLists.txt
new file mode 100644 (file)
index 0000000..63434a8
--- /dev/null
@@ -0,0 +1,34 @@
+# Copyright (C) 2010-2015  CEA/DEN, EDF R&D
+#
+# 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
+#
+# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
+#
+
+SALOME_CONFIGURE_FILE(doxyfile.in doxyfile)
+SALOME_CONFIGURE_FILE(static/header.html.in static/header.html)
+
+ADD_CUSTOM_TARGET(doxy_doc ALL
+    COMMAND ${DOXYGEN_EXECUTABLE}
+    VERBATIM
+    WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
+)
+
+INSTALL(CODE "EXECUTE_PROCESS(COMMAND \"${CMAKE_COMMAND}\" --build ${PROJECT_BINARY_DIR} --target doxy_doc)")
+INSTALL(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/doc_api/html/ DESTINATION ${SALOME_INSTALL_DOC}/dev/PARAVIS/api)
+INSTALL(FILES images/head.png DESTINATION ${SALOME_INSTALL_DOC}/dev/PARAVIS/api) 
+
+SET(MAKE_CLEAN_FILES doc_api)
+SET_DIRECTORY_PROPERTIES(PROPERTIES ADDITIONAL_MAKE_CLEAN_FILES "${MAKE_CLEAN_FILES}")
diff --git a/doc/doxygen/doxyfile.in b/doc/doxygen/doxyfile.in
new file mode 100644 (file)
index 0000000..1012093
--- /dev/null
@@ -0,0 +1,314 @@
+# Doxyfile 1.8.5
+
+#---------------------------------------------------------------------------
+# Project related configuration options
+#---------------------------------------------------------------------------
+DOXYFILE_ENCODING      = UTF-8
+PROJECT_NAME           = "ParaViS Module v.@SALOMEPARAVIS_VERSION@"
+PROJECT_NUMBER         =
+PROJECT_BRIEF          =
+PROJECT_LOGO           =
+OUTPUT_DIRECTORY       = doc_api
+CREATE_SUBDIRS         = NO
+OUTPUT_LANGUAGE        = English
+BRIEF_MEMBER_DESC      = YES
+REPEAT_BRIEF           = NO
+ABBREVIATE_BRIEF       =
+ALWAYS_DETAILED_SEC    = YES
+INLINE_INHERITED_MEMB  = YES
+FULL_PATH_NAMES        = YES
+STRIP_FROM_PATH        = @CMAKE_SOURCE_DIR@ \
+                         @CMAKE_BINARY_DIR@
+STRIP_FROM_INC_PATH    =
+SHORT_NAMES            = NO
+JAVADOC_AUTOBRIEF      = YES
+QT_AUTOBRIEF           = NO
+MULTILINE_CPP_IS_BRIEF = NO
+INHERIT_DOCS           = YES
+SEPARATE_MEMBER_PAGES  = NO
+TAB_SIZE               = 5
+ALIASES                =
+TCL_SUBST              =
+OPTIMIZE_OUTPUT_FOR_C  = YES
+OPTIMIZE_OUTPUT_JAVA   = YES
+OPTIMIZE_FOR_FORTRAN   = NO
+OPTIMIZE_OUTPUT_VHDL   = NO
+EXTENSION_MAPPING      =
+MARKDOWN_SUPPORT       = YES
+AUTOLINK_SUPPORT       = YES
+BUILTIN_STL_SUPPORT    = @DOXYGEN_SUPPORT_STL@
+CPP_CLI_SUPPORT        = NO
+SIP_SUPPORT            = NO
+IDL_PROPERTY_SUPPORT   = YES
+DISTRIBUTE_GROUP_DOC   = NO
+SUBGROUPING            = YES
+INLINE_GROUPED_CLASSES = NO
+INLINE_SIMPLE_STRUCTS  = NO
+TYPEDEF_HIDES_STRUCT   = NO
+LOOKUP_CACHE_SIZE      = 0
+#---------------------------------------------------------------------------
+# Build related configuration options
+#---------------------------------------------------------------------------
+EXTRACT_ALL            = YES
+EXTRACT_PRIVATE        = YES
+EXTRACT_PACKAGE        = NO
+EXTRACT_STATIC         = YES
+EXTRACT_LOCAL_CLASSES  = YES
+EXTRACT_LOCAL_METHODS  = NO
+EXTRACT_ANON_NSPACES   = NO
+HIDE_UNDOC_MEMBERS     = NO
+HIDE_UNDOC_CLASSES     = NO
+HIDE_FRIEND_COMPOUNDS  = NO
+HIDE_IN_BODY_DOCS      = NO
+INTERNAL_DOCS          = YES
+CASE_SENSE_NAMES       = YES
+HIDE_SCOPE_NAMES       = NO
+SHOW_INCLUDE_FILES     = YES
+FORCE_LOCAL_INCLUDES   = NO
+INLINE_INFO            = YES
+SORT_MEMBER_DOCS       = NO
+SORT_BRIEF_DOCS        = NO
+SORT_MEMBERS_CTORS_1ST = NO
+SORT_GROUP_NAMES       = NO
+SORT_BY_SCOPE_NAME     = NO
+STRICT_PROTO_MATCHING  = NO
+GENERATE_TODOLIST      = YES
+GENERATE_TESTLIST      = YES
+GENERATE_BUGLIST       = YES
+GENERATE_DEPRECATEDLIST= YES
+ENABLED_SECTIONS       =
+MAX_INITIALIZER_LINES  = 25
+SHOW_USED_FILES        = NO
+SHOW_FILES             = YES
+SHOW_NAMESPACES        = YES
+FILE_VERSION_FILTER    =
+LAYOUT_FILE            =
+CITE_BIB_FILES         =
+#---------------------------------------------------------------------------
+# Configuration options related to warning and progress messages
+#---------------------------------------------------------------------------
+QUIET                  = NO
+WARNINGS               = YES
+WARN_IF_UNDOCUMENTED   = YES
+WARN_IF_DOC_ERROR      = YES
+WARN_NO_PARAMDOC       = NO
+WARN_FORMAT            = "$file:$line: $text"
+WARN_LOGFILE           =
+#---------------------------------------------------------------------------
+# Configuration options related to the input files
+#---------------------------------------------------------------------------
+INPUT                  = @CMAKE_SOURCE_DIR@/src \
+                         @CMAKE_SOURCE_DIR@/bin \
+                         @CMAKE_BINARY_DIR@/bin
+INPUT_ENCODING         = UTF-8
+FILE_PATTERNS          = *.hxx \
+                         *.cxx \
+                         *.h \
+                         *.c \
+                         *.hh \
+                         *.cc \
+                         @DOXYGEN_PYTHON_EXTENSION@
+RECURSIVE              = YES
+EXCLUDE                =
+EXCLUDE_SYMLINKS       = NO
+EXCLUDE_PATTERNS       =
+EXCLUDE_SYMBOLS        =
+EXAMPLE_PATH           =
+EXAMPLE_PATTERNS       =
+EXAMPLE_RECURSIVE      = NO
+IMAGE_PATH             = @CMAKE_CURRENT_SOURCE_DIR@/images
+INPUT_FILTER           =
+FILTER_PATTERNS        =
+FILTER_SOURCE_FILES    = YES
+FILTER_SOURCE_PATTERNS =
+USE_MDFILE_AS_MAINPAGE =
+#---------------------------------------------------------------------------
+# Configuration options related to source browsing
+#---------------------------------------------------------------------------
+SOURCE_BROWSER         = NO
+INLINE_SOURCES         = NO
+STRIP_CODE_COMMENTS    = YES
+REFERENCED_BY_RELATION = NO
+REFERENCES_RELATION    = YES
+REFERENCES_LINK_SOURCE = YES
+SOURCE_TOOLTIPS        = YES
+USE_HTAGS              = NO
+VERBATIM_HEADERS       = YES
+#---------------------------------------------------------------------------
+# Configuration options related to the alphabetical class index
+#---------------------------------------------------------------------------
+ALPHABETICAL_INDEX     = YES
+COLS_IN_ALPHA_INDEX    = 3
+IGNORE_PREFIX          =
+#---------------------------------------------------------------------------
+# Configuration options related to the HTML output
+#---------------------------------------------------------------------------
+GENERATE_HTML          = YES
+HTML_OUTPUT            = html
+HTML_FILE_EXTENSION    = .html
+HTML_HEADER            = @CMAKE_CURRENT_BINARY_DIR@/static/header.html
+HTML_FOOTER            = @CMAKE_CURRENT_SOURCE_DIR@/static/footer.html
+HTML_STYLESHEET        =
+HTML_EXTRA_STYLESHEET  = @CMAKE_CURRENT_SOURCE_DIR@/static/salome_extra.css
+HTML_EXTRA_FILES       =
+HTML_COLORSTYLE_HUE    = 220
+HTML_COLORSTYLE_SAT    = 100
+HTML_COLORSTYLE_GAMMA  = 80
+HTML_TIMESTAMP         = NO
+HTML_DYNAMIC_SECTIONS  = NO
+HTML_INDEX_NUM_ENTRIES = 100
+GENERATE_DOCSET        = NO
+DOCSET_FEEDNAME        = "Doxygen generated docs"
+DOCSET_BUNDLE_ID       = org.doxygen.Project
+DOCSET_PUBLISHER_ID    = org.doxygen.Publisher
+DOCSET_PUBLISHER_NAME  = Publisher
+GENERATE_HTMLHELP      = NO
+CHM_FILE               =
+HHC_LOCATION           =
+GENERATE_CHI           = YES
+CHM_INDEX_ENCODING     =
+BINARY_TOC             = NO
+TOC_EXPAND             = YES
+GENERATE_QHP           = NO
+QCH_FILE               =
+QHP_NAMESPACE          = org.doxygen.Project
+QHP_VIRTUAL_FOLDER     = doc
+QHP_CUST_FILTER_NAME   =
+QHP_CUST_FILTER_ATTRS  =
+QHP_SECT_FILTER_ATTRS  =
+QHG_LOCATION           =
+GENERATE_ECLIPSEHELP   = NO
+ECLIPSE_DOC_ID         = org.doxygen.Project
+DISABLE_INDEX          = NO
+GENERATE_TREEVIEW      = YES
+ENUM_VALUES_PER_LINE   = 4
+TREEVIEW_WIDTH         = 250
+EXT_LINKS_IN_WINDOW    = NO
+FORMULA_FONTSIZE       = 10
+FORMULA_TRANSPARENT    = YES
+USE_MATHJAX            = NO
+MATHJAX_FORMAT         = HTML-CSS
+MATHJAX_RELPATH        = http://cdn.mathjax.org/mathjax/latest
+MATHJAX_EXTENSIONS     =
+MATHJAX_CODEFILE       =
+SEARCHENGINE           = NO
+SERVER_BASED_SEARCH    = NO
+EXTERNAL_SEARCH        = NO
+SEARCHENGINE_URL       =
+SEARCHDATA_FILE        = searchdata.xml
+EXTERNAL_SEARCH_ID     =
+EXTRA_SEARCH_MAPPINGS  =
+#---------------------------------------------------------------------------
+# 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           =
+LATEX_FOOTER           =
+LATEX_EXTRA_FILES      =
+PDF_HYPERLINKS         = NO
+USE_PDFLATEX           = NO
+LATEX_BATCHMODE        = NO
+LATEX_HIDE_INDICES     = NO
+LATEX_SOURCE_CODE      = NO
+LATEX_BIB_STYLE        = plain
+#---------------------------------------------------------------------------
+# 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_OUTPUT             = xml
+XML_SCHEMA             =
+XML_DTD                =
+XML_PROGRAMLISTING     = YES
+#---------------------------------------------------------------------------
+# Configuration options related to the DOCBOOK output
+#---------------------------------------------------------------------------
+GENERATE_DOCBOOK       = NO
+DOCBOOK_OUTPUT         = docbook
+#---------------------------------------------------------------------------
+# 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        = NO
+EXPAND_ONLY_PREDEF     = NO
+SEARCH_INCLUDES        = YES
+INCLUDE_PATH           =
+INCLUDE_FILE_PATTERNS  =
+PREDEFINED             =
+EXPAND_AS_DEFINED      =
+SKIP_FUNCTION_MACROS   = NO
+#---------------------------------------------------------------------------
+# Configuration options related to external references
+#---------------------------------------------------------------------------
+TAGFILES               =
+GENERATE_TAGFILE       =
+ALLEXTERNALS           = NO
+EXTERNAL_GROUPS        = YES
+EXTERNAL_PAGES         = YES
+PERL_PATH              = /usr/bin/perl
+#---------------------------------------------------------------------------
+# Configuration options related to the dot tool
+#---------------------------------------------------------------------------
+CLASS_DIAGRAMS         = YES
+MSCGEN_PATH            =
+HIDE_UNDOC_RELATIONS   = NO
+HAVE_DOT               = YES
+DOT_NUM_THREADS        = 0
+DOT_FONTNAME           = Arial
+DOT_FONTSIZE           = 10
+DOT_FONTPATH           =
+CLASS_GRAPH            = YES
+COLLABORATION_GRAPH    = NO
+GROUP_GRAPHS           = NO
+UML_LOOK               = NO
+UML_LIMIT_NUM_FIELDS   = 10
+TEMPLATE_RELATIONS     = YES
+INCLUDE_GRAPH          = YES
+INCLUDED_BY_GRAPH      = NO
+CALL_GRAPH             = NO
+CALLER_GRAPH           = NO
+GRAPHICAL_HIERARCHY    = YES
+DIRECTORY_GRAPH        = YES
+DOT_IMAGE_FORMAT       = jpg
+INTERACTIVE_SVG        = NO
+DOT_PATH               =
+DOTFILE_DIRS           =
+MSCFILE_DIRS           =
+DOT_GRAPH_MAX_NODES    = 50
+MAX_DOT_GRAPH_DEPTH    = 0
+DOT_TRANSPARENT        = NO
+DOT_MULTI_TARGETS      = NO
+GENERATE_LEGEND        = NO
+DOT_CLEANUP            = YES
diff --git a/doc/doxygen/images/head.png b/doc/doxygen/images/head.png
new file mode 100755 (executable)
index 0000000..307d9ef
Binary files /dev/null and b/doc/doxygen/images/head.png differ
diff --git a/doc/doxygen/static/footer.html b/doc/doxygen/static/footer.html
new file mode 100755 (executable)
index 0000000..affd43d
--- /dev/null
@@ -0,0 +1,14 @@
+<!-- HTML footer for doxygen 1.8.3.1-->
+<!--BEGIN GENERATE_TREEVIEW-->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    $navpath
+    <li class="footer">
+      Copyright &copy; 2007-2015  CEA/DEN, EDF R&amp;D, OPEN CASCADE<br>
+      Copyright &copy; 2003-2007  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN, CEDRAT, EDF R&amp;D, LEG, PRINCIPIA R&amp;D, BUREAU VERITAS<br>
+    </li>
+  </ul>
+</div>
+<!--END GENERATE_TREEVIEW-->
+</body>
+</html>
diff --git a/doc/doxygen/static/header.html.in b/doc/doxygen/static/header.html.in
new file mode 100755 (executable)
index 0000000..3f90765
--- /dev/null
@@ -0,0 +1,23 @@
+<!-- HTML header for doxygen 1.8.3.1-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen $doxygenversion"/>
+<!--BEGIN PROJECT_NAME--><title>$projectname: $title</title><!--END PROJECT_NAME-->
+<!--BEGIN !PROJECT_NAME--><title>$title</title><!--END !PROJECT_NAME-->
+<link href="$relpath^tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="$relpath^jquery.js"></script>
+<script type="text/javascript" src="$relpath^dynsections.js"></script>
+$treeview
+$search
+$mathjax
+<link href="$relpath^$stylesheet" rel="stylesheet" type="text/css" />
+$extrastylesheet
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+
+<div id="titlearea"><div align="right"><div class="version">Version: @SALOMEPARAVIS_VERSION@</div></div></div>
+<!-- end header part -->
diff --git a/doc/doxygen/static/salome_extra.css b/doc/doxygen/static/salome_extra.css
new file mode 100644 (file)
index 0000000..3e8b838
--- /dev/null
@@ -0,0 +1,29 @@
+/* The extra CSS for doxygen 1.8.3.1 */
+
+#titlearea {
+        background-image:url('head.png');
+        background-color: #175783;
+        border: 1px solid;
+        height: 80px;
+        background-repeat: no-repeat;
+       padding: 0px;
+       margin: 0px;
+       width: 99.9%;
+       border-bottom: 1px solid #5373B4;
+}
+
+div.version {
+       border:1px solid #0000FF;
+        color: #CCCCCC;
+       font-family: Arial, Helvetica, sans-serif;
+       font-size: 9pt;
+       text-align: center;
+       width:100px;
+       -moz-border-radius: 8px;
+       margin: 5px;
+}
+
+.navpath li.footer {
+       line-height:15px;
+       text-align: right;
+}
\ No newline at end of file
diff --git a/doc/salome/CMakeLists.txt b/doc/salome/CMakeLists.txt
deleted file mode 100644 (file)
index 0a45ee5..0000000
+++ /dev/null
@@ -1,20 +0,0 @@
-# Copyright (C) 2010-2015  CEA/DEN, EDF R&D
-#
-# 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
-#
-# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
-#
-
-ADD_SUBDIRECTORY(gui)
diff --git a/doc/salome/gui/CMakeLists.txt b/doc/salome/gui/CMakeLists.txt
deleted file mode 100644 (file)
index 59a684d..0000000
+++ /dev/null
@@ -1,25 +0,0 @@
-# Copyright (C) 2010-2015  CEA/DEN, EDF R&D
-#
-# 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
-#
-# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
-#
-
-SET(input ${CMAKE_CURRENT_SOURCE_DIR}/doxyfile.in)
-SET(output ${CMAKE_CURRENT_BINARY_DIR}/doxyfile)
-
-MESSAGE(STATUS "Creation of ${output}")
-CONFIGURE_FILE(${input} ${output})
-
diff --git a/doc/salome/gui/doxyfile.in b/doc/salome/gui/doxyfile.in
deleted file mode 100755 (executable)
index fc12d87..0000000
+++ /dev/null
@@ -1,261 +0,0 @@
-# Copyright (C) 2010-2015  CEA/DEN, EDF R&D
-#
-# 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
-#
-# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
-#
-
-# Doxyfile 1.4.6
-
-#---------------------------------------------------------------------------
-# Project related configuration options
-#---------------------------------------------------------------------------
-PROJECT_NAME           = "ParaViS Module v.@SALOMEPARAVIS_VERSION@"
-PROJECT_NUMBER         = 
-OUTPUT_DIRECTORY       = PARAVIS
-CREATE_SUBDIRS         = NO
-OUTPUT_LANGUAGE        = English
-USE_WINDOWS_ENCODING   = NO
-BRIEF_MEMBER_DESC      = YES
-REPEAT_BRIEF           = NO
-ABBREVIATE_BRIEF       = 
-ALWAYS_DETAILED_SEC    = YES
-INLINE_INHERITED_MEMB  = YES
-FULL_PATH_NAMES        = YES
-STRIP_FROM_PATH        = @CMAKE_SOURCE_DIR@ @CMAKE_BINARY_DIR@
-STRIP_FROM_INC_PATH    = 
-SHORT_NAMES            = NO
-JAVADOC_AUTOBRIEF      = YES
-MULTILINE_CPP_IS_BRIEF = NO
-DETAILS_AT_TOP         = NO
-INHERIT_DOCS           = YES
-SEPARATE_MEMBER_PAGES  = NO
-TAB_SIZE               = 5
-ALIASES                = 
-OPTIMIZE_OUTPUT_FOR_C  = YES
-OPTIMIZE_OUTPUT_JAVA   = YES
-BUILTIN_STL_SUPPORT    = @DOXYGEN_SUPPORT_STL@
-DISTRIBUTE_GROUP_DOC   = NO
-SUBGROUPING            = YES
-
-#---------------------------------------------------------------------------
-# Build related configuration options
-#---------------------------------------------------------------------------
-EXTRACT_ALL            = YES
-EXTRACT_PRIVATE        = YES
-EXTRACT_STATIC         = YES
-EXTRACT_LOCAL_CLASSES  = YES
-EXTRACT_LOCAL_METHODS  = NO
-HIDE_UNDOC_MEMBERS     = NO
-HIDE_UNDOC_CLASSES     = NO
-HIDE_FRIEND_COMPOUNDS  = NO
-HIDE_IN_BODY_DOCS      = NO
-INTERNAL_DOCS          = YES
-CASE_SENSE_NAMES       = YES
-HIDE_SCOPE_NAMES       = NO
-SHOW_INCLUDE_FILES     = YES
-INLINE_INFO            = YES
-SORT_MEMBER_DOCS       = NO
-SORT_BRIEF_DOCS        = NO
-SORT_BY_SCOPE_NAME     = NO
-GENERATE_TODOLIST      = YES
-GENERATE_TESTLIST      = YES
-GENERATE_BUGLIST       = YES
-GENERATE_DEPRECATEDLIST= YES
-ENABLED_SECTIONS       = 
-MAX_INITIALIZER_LINES  = 25
-SHOW_USED_FILES        = NO
-SHOW_DIRECTORIES       = NO
-FILE_VERSION_FILTER    = 
-
-#---------------------------------------------------------------------------
-# configuration options related to warning and progress messages
-#---------------------------------------------------------------------------
-QUIET                  = NO
-WARNINGS               = YES
-WARN_IF_UNDOCUMENTED   = YES
-WARN_IF_DOC_ERROR      = YES
-WARN_NO_PARAMDOC       = NO
-WARN_FORMAT            = "$file:$line: $text"
-WARN_LOGFILE           =
-
-#---------------------------------------------------------------------------
-# configuration options related to the input files
-#---------------------------------------------------------------------------
-INPUT                  = @CMAKE_SOURCE_DIR@/src \
-                        @CMAKE_SOURCE_DIR@/bin \
-                        @CMAKE_BINARY_DIR@/bin
-FILE_PATTERNS          = *.hxx *.cxx *.h *.c *.hh *.cc @DOXYGEN_PYTHON_EXTENSION@
-RECURSIVE              = YES
-EXCLUDE                = 
-EXCLUDE_SYMLINKS       = NO
-EXCLUDE_PATTERNS       = 
-EXAMPLE_PATH           = 
-EXAMPLE_PATTERNS       = 
-EXAMPLE_RECURSIVE      = NO
-IMAGE_PATH             = @CMAKE_CURRENT_SOURCE_DIR@/images
-INPUT_FILTER           = 
-FILTER_PATTERNS        = 
-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
-USE_HTAGS              = NO
-VERBATIM_HEADERS       = YES
-
-#---------------------------------------------------------------------------
-# configuration options related to the alphabetical class index
-#---------------------------------------------------------------------------
-ALPHABETICAL_INDEX     = YES
-COLS_IN_ALPHA_INDEX    = 3
-IGNORE_PREFIX          = 
-
-#---------------------------------------------------------------------------
-# configuration options related to the HTML output
-#---------------------------------------------------------------------------
-GENERATE_HTML          = YES
-HTML_OUTPUT            = .
-HTML_FILE_EXTENSION    = .html
-HTML_HEADER            = @CMAKE_CURRENT_SOURCE_DIR@/static/myheader.html
-HTML_FOOTER            = @CMAKE_CURRENT_SOURCE_DIR@/static/footer.html
-HTML_STYLESHEET        = @CMAKE_CURRENT_SOURCE_DIR@/static/doxygen.css
-HTML_ALIGN_MEMBERS     = YES
-GENERATE_HTMLHELP      = NO
-CHM_FILE               = 
-HHC_LOCATION           = 
-GENERATE_CHI           = NO
-BINARY_TOC             = YES
-TOC_EXPAND             = YES
-DISABLE_INDEX          = NO
-ENUM_VALUES_PER_LINE   = 4
-GENERATE_TREEVIEW      = NO
-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
-LATEX_HIDE_INDICES     = 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_OUTPUT             = xml
-XML_SCHEMA             = 
-XML_DTD                = 
-XML_PROGRAMLISTING     = YES
-
-#---------------------------------------------------------------------------
-# 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        = NO
-EXPAND_ONLY_PREDEF     = NO
-SEARCH_INCLUDES        = YES
-INCLUDE_PATH           = 
-INCLUDE_FILE_PATTERNS  = 
-PREDEFINED             = 
-EXPAND_AS_DEFINED      = 
-SKIP_FUNCTION_MACROS   = NO
-
-#---------------------------------------------------------------------------
-# Configuration::additions 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
-GROUP_GRAPHS           = NO
-UML_LOOK               = NO
-TEMPLATE_RELATIONS     = YES
-INCLUDE_GRAPH          = YES
-INCLUDED_BY_GRAPH      = NO
-CALL_GRAPH             = NO
-GRAPHICAL_HIERARCHY    = YES
-DIRECTORY_GRAPH        = YES
-DOT_IMAGE_FORMAT       = jpg
-DOT_FONTNAME           = Arial
-DOT_PATH               = 
-DOTFILE_DIRS           = 
-MAX_DOT_GRAPH_WIDTH    = 1024
-MAX_DOT_GRAPH_HEIGHT   = 1200
-MAX_DOT_GRAPH_DEPTH    = 0
-DOT_TRANSPARENT        = NO
-DOT_MULTI_TARGETS      = NO
-GENERATE_LEGEND        = NO
-DOT_CLEANUP            = YES
-
-#---------------------------------------------------------------------------
-# Configuration::additions related to the search engine   
-#---------------------------------------------------------------------------
-SEARCHENGINE           = NO
diff --git a/doc/salome/gui/images/occ.gif b/doc/salome/gui/images/occ.gif
deleted file mode 100755 (executable)
index ce017c8..0000000
Binary files a/doc/salome/gui/images/occ.gif and /dev/null differ
diff --git a/doc/salome/gui/static/doxygen.css b/doc/salome/gui/static/doxygen.css
deleted file mode 100755 (executable)
index 88e613d..0000000
+++ /dev/null
@@ -1,170 +0,0 @@
-H1 { 
-   text-align: center; 
-}
-
-CAPTION { 
-   font-weight: bold 
-}
-
-/* Link in the top navbar */
-A.qindex {}
-
-A.qindexRef {}
-
-/* Link to any cross-referenced Doxygen element */
-A.el { 
-   text-decoration: none; 
-   font-weight: bold 
-}
-
-A.elRef { 
-   font-weight: bold 
-}
-
-/* Link to any cross-referenced Doxygen element inside a code section 
-   (ex: header)
-*/
-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 
-}
-
-/* A code fragment (ex: header) */
-DIV.fragment { 
-   width: 100%; 
-   border: none; 
-   background-color: #CCCCCC 
-}
-
-/* In the alpha list (coumpound index), style of an alphabetical index letter */
-DIV.ah { 
-   background-color: #CCCCCC; 
-   font-weight: bold; 
-   color: #ffffff; 
-   margin-bottom: 3px; 
-   margin-top: 3px 
-}
-
-/* Method name (+ type) */
-TD.md { 
-   background-color: lightblue; 
-   font-weight: bold; 
-}
-
-/* Method parameter (some of them) */
-TD.mdname1 { 
-   background-color: lightblue; 
-   font-weight: bold; color: #602020; 
-}
-
-/* Method parameter (some of them) */
-TD.mdname { 
-   background-color: lightblue; 
-   font-weight: bold; 
-   color: #602020; 
-   width: 600px; 
-}
-
-/* Separator between methods group (usually empty, seems not supported by IE) */
-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: #FFFFFF;
-}
-
-/*div.div-page { 
-  background-color: #FFFFFF; 
-  margin-left: 1em;
-  margin-right: 1em;
-  margin-top: 1em;
-  margin-bottom: 0.1em;
-
-  padding-left: 1em;
-  padding-right: 1em;
-  padding-top: 0.5em;
-  padding-bottom: 0.5em;
-
-  border: 2px solid #0D299A; 
-  border-width: 2px;
-  border-color: #0D299A; 
-}*/
-
-div.tabs { 
-  text-align: justify; 
-  margin-left    : 2px;         
-  margin-right   : 2px;  
-  margin-top     : 2px; 
-  margin-bottom  : 2px
-  font-weight: bold;
-  color: #FFFFFF;
-}
-
-DIV.div-footer { 
-  margin-left: 1em;
-  margin-right: 1em;
-  margin-bottom: 0.2em;
-  text-align: right;
-  font-size: 9pt; 
-}
-
-/* In File List, Coumpound List, etc, 1st column of the index */
-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  
-}
-
-/* In File List, Coumpound List, etc, 2nd column of the index */
-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/salome/gui/static/footer.html b/doc/salome/gui/static/footer.html
deleted file mode 100755 (executable)
index cb55f39..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-</DIV>
-<DIV class="div-footer">
-Generated on $datetime for $projectname by&nbsp;<A href="http://www.doxygen.org/index.html"><img src="doxygen.png" alt="doxygen" align="middle" border="0"></A> $doxygenversion</DIV>
-</BODY>
-</HTML>
diff --git a/doc/salome/gui/static/myheader.html b/doc/salome/gui/static/myheader.html
deleted file mode 100755 (executable)
index d2efb75..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-<!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">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head>
-<body>
-&nbsp;
-</body>
-</html>