Salome HOME
Using 'AllArrays' instead of 'CellArrays' and 'PointArrays'.
[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 #ifdef PARAVIS_WITH_FULL_CORBA
86     /*!
87      * \brief Returns list of names of extracted Paraview and VTK classes
88      */
89     string_array GetClassesList();
90
91     /*!
92      * \brief Returns container class for the requested Paraview class
93      */
94     PARAVIS_Base CreateClass(in string theClassName);
95 #endif
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     /*! Sets a definite study to be current.
118      */
119     void SetCurrentStudy(in SALOMEDS::Study theStudy);
120
121     /*! Gets the current study.
122      */
123     SALOMEDS::Study GetCurrentStudy();
124
125   };
126
127 };
128
129 #endif