# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
#
-ADD_SUBDIRECTORY(salome)
+ADD_SUBDIRECTORY(doxygen)
+ADD_SUBDIRECTORY(dev)
+++ /dev/null
-<!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->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->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->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->_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("GetProxy
- - Unknown exception was occurred!!!");</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>> 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
+++ /dev/null
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
-<HTML>
-<HEAD>
- <META HTTP-EQUIV="CONTENT-TYPE" CONTENT="text/html; charset=iso-8859-1">
- <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 “--with-paraview” 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">>
- ccmake ../PARAVIS_SRC</FONT></FONT></FONT></I></P>
- <LI><P>Call <B>make</B> command in build directory.
- </P>
- <P><I>> 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>> <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>> runSalome –modules="PARAVIS"</P>
-<P>If it is necessary then other SALOME modules can be added to
-“modules” 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>> 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 “Deactivate Trace”. 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 “Dump Study” functionality.
-But if the tracing is switched off then “Dump Study”
-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 “Paraview state saving
-type” defined in PARAVIS preferences dialog box. This
-preference can have three possible state:</P>
-<OL>
- <LI><P>“Save referenced files only for built-in server”.
- 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>“Always save referenced files if they are accessible”.
- 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>“Never save referenced files”. 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 “:”
-symbol.</P>
-</BODY>
-</HTML>
\ No newline at end of file
--- /dev/null
+# 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}")
--- /dev/null
+# -*- 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
--- /dev/null
+
+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>`_
--- /dev/null
+# 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}")
--- /dev/null
+# 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
--- /dev/null
+<!-- 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 © 2007-2015 CEA/DEN, EDF R&D, OPEN CASCADE<br>
+ Copyright © 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN, CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS<br>
+ </li>
+ </ul>
+</div>
+<!--END GENERATE_TREEVIEW-->
+</body>
+</html>
--- /dev/null
+<!-- 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 -->
--- /dev/null
+/* 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
+++ /dev/null
-# 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)
+++ /dev/null
-# 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})
-
+++ /dev/null
-# 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
+++ /dev/null
-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 }
+++ /dev/null
-</DIV>
-<DIV class="div-footer">
-Generated on $datetime for $projectname by <A href="http://www.doxygen.org/index.html"><img src="doxygen.png" alt="doxygen" align="middle" border="0"></A> $doxygenversion</DIV>
-</BODY>
-</HTML>
+++ /dev/null
-<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
-<html>
-<head>
- <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
- <meta name="GENERATOR" content="Mozilla/4.73 [en] (WinNT; I) [Netscape]">
- <title>Main Page</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head>
-<body>
-
-</body>
-</html>