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