Salome HOME
Merge from BR_PARAVIS_DEV 29Dec09
[modules/paravis.git] / idl / PARAVIS_Gen.idl
1 //  Copyright (C) 2007-2008  CEA/DEN, EDF R&D, OPEN CASCADE
2 //
3 //  Copyright (C) 2003-2007  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
4 //  CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
5 //
6 //  This library is free software; you can redistribute it and/or
7 //  modify it under the terms of the GNU Lesser General Public
8 //  License as published by the Free Software Foundation; either
9 //  version 2.1 of the License.
10 //
11 //  This library is distributed in the hope that it will be useful,
12 //  but WITHOUT ANY WARRANTY; without even the implied warranty of
13 //  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
14 //  Lesser General Public License for more details.
15 //
16 //  You should have received a copy of the GNU Lesser General Public
17 //  License along with this library; if not, write to the Free Software
18 //  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
19 //
20 //  See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
21 //
22 //  File   : PARAVIS_Gen.idl
23 //  Author : Vitaly Smetannikov
24 //
25
26 /*! \file PARAVIS_Gen.idl This file conatins a set of interfaces of the %PARAVIS module.
27  *     This module provides access to PARAVIEW functionality integrated to %SALOME application.
28  */
29
30 #ifndef __PARAVIS_GEN__
31 #define __PARAVIS_GEN__
32
33 #include "SALOME_Exception.idl"
34 #include "SALOME_GenericObj.idl"
35 #include "SALOME_Component.idl"
36 #include "SALOMEDS.idl"
37 #include "PARAVIS_Gen_Types.idl"
38
39 /*!
40   The main package of interfaces of the module %PARAVIS.
41 */
42 module PARAVIS {
43
44   interface vtkObject;
45   interface vtkSMObject;
46   interface vtkProcessModule;
47   interface vtkPVPythonModule;
48
49   /*!
50    * \brief Base class for all PARAVIS container(wrapper) classes
51    */
52   interface PARAVIS_Base {
53     boolean IsSame(in PARAVIS_Base theOther);
54   };
55     
56
57   /*!
58    * \brief The main interface class for PARAVIS server. 
59    * Instantiation of this class has to be done before access to any other PARAVIS interfaces
60    */
61   interface PARAVIS_Gen : Engines::Component, SALOMEDS::Driver
62   {
63     /*!
64      * \brief Returns IOR of the current object.
65      */
66     string GetIOR();
67
68     /*!
69      * \brief Import file to PARAVIS module. 
70      * File can be of any type supported by Paraview and installed plug-ins.
71      */
72     void ImportFile(in string theFileName);
73
74
75     /*!
76      * Returns trace string if trace is activated for current session. 
77      * Otherwise it returns empty string.
78      */
79     string GetTrace();
80
81     /*!
82      * \brief Save trace sting to a disk file.
83      * \param theFileName - name of file.
84      */
85     void SaveTrace(in string theFileName);
86
87     /*!
88      * \brief Returns list of names of extracted Paraview and VTK classes
89      */
90     string_array GetClassesList();
91
92     /*!
93      * \brief Returns container class for the requested Paraview class
94      */
95     PARAVIS_Base CreateClass(in string theClassName);
96
97     /*!
98      * Returns parameters of current (usually built-in) connection which is active in GUI (Paraview client).
99      * \param theId - connection ID
100      * \param theDHost - name of data host
101      * \param theDPort - number of data port
102      * \param theRHost - name of representation host
103      * \param theRPort - number of representation port
104      * \param theReversed - returns 1 or 0 depending on server resource scheme
105      */
106     void GetConnectionParameters(out long theId, out string theDHost, out long theDPort, 
107                                  out string theRHost, out long theRPort, out long theReversed);
108
109     /*! 
110      * \brief Activates GUI of PARAVIS module. If module is active then do nothing.
111      * GUI must be active before call of any server manager API function.
112      * This function is called on activation paravis python module.
113      */
114     void ActivateModule();
115
116   };
117
118 };
119
120 #endif