1 // Copyright (C) 2011 CEA/DEN, EDF R&D
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.
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.
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
17 // See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
20 #ifndef __HOMARD_GEN__
21 #define __HOMARD_GEN__
23 #include "SALOME_Component.idl"
24 #include "SALOME_Exception.idl"
25 #include "SALOMEDS.idl"
27 #include "HOMARD_Cas.idl"
28 #include "HOMARD_Hypothesis.idl"
29 #include "HOMARD_Iteration.idl"
30 #include "HOMARD_Zone.idl"
31 #include "HOMARD_Boundary.idl"
35 typedef sequence<string> listeHypotheses;
36 typedef sequence<string> listeZones;
37 typedef sequence<string> listeIterations;
38 typedef sequence<string> listeCases;
39 typedef sequence<string> listeBoundarys;
41 interface HOMARD_Gen : Engines::EngineComponent, SALOMEDS::Driver
44 // A. Les methodes qui suivent sont celles que l'on retrouvera dans
45 // le fichier resources/HOMARDCatalog.xml.in pour definir le composant HOMARD dans YACS
46 // A priori, ce sont les seules sont l'utilisateur doit connaitre l'existence.
50 HOMARD_Cas CreateCase(in string CaseName, in string MeshName, in string FileName )
51 raises (SALOME::SALOME_Exception);
52 HOMARD_Hypothesis CreateHypothesis(in string HypoName )
53 raises (SALOME::SALOME_Exception);
54 HOMARD_Iteration CreateIteration(in string IterName, in string PreviousIterName )
55 raises (SALOME::SALOME_Exception);
56 HOMARD_Zone CreateZoneBox (in string ZoneName,
57 in double Xmini, in double Xmaxi,
58 in double Ymini, in double Ymaxi,
59 in double Zmini, in double Zmaxi)
60 raises (SALOME::SALOME_Exception);
61 HOMARD_Zone CreateZoneSphere (in string ZoneName,
62 in double Xcentre, in double Ycentre, in double Zcentre,
64 raises (SALOME::SALOME_Exception);
65 HOMARD_Zone CreateZoneCylinder (in string ZoneName,
66 in double Xcentre, in double Ycentre, in double Zcentre,
67 in double Xaxis, in double Yaxis, in double Zaxis,
68 in double Radius, in double Height)
69 raises (SALOME::SALOME_Exception);
70 HOMARD_Zone CreateZonePipe (in string ZoneName,
71 in double Xcentre, in double Ycentre, in double Zcentre,
72 in double Xaxis, in double Yaxis, in double Zaxis,
73 in double Radius, in double Height, in double InternalRadius)
74 raises (SALOME::SALOME_Exception);
75 HOMARD_Zone CreateZoneBox2D (in string ZoneName,
76 in double Umini, in double Umaxi,
77 in double Vmini, in double Vmaxi,
79 raises (SALOME::SALOME_Exception);
80 HOMARD_Zone CreateZoneDisk (in string ZoneName,
81 in double Ucentre, in double Vcentre,
82 in double Radius, in long Orient)
83 raises (SALOME::SALOME_Exception);
84 HOMARD_Zone CreateZoneDiskWithHole (in string ZoneName,
85 in double Ucentre, in double Vcentre,
86 in double Radius, in double InternalRadius,
88 raises (SALOME::SALOME_Exception);
89 HOMARD_Boundary CreateBoundaryDi (in string BounName, in string MeshName, in string FileName)
90 raises (SALOME::SALOME_Exception);
91 HOMARD_Boundary CreateBoundaryCylinder (in string BounName,
92 in double Xcentre, in double Ycentre, in double Zcentre,
93 in double Xaxis, in double Yaxis, in double Zaxis,
95 raises (SALOME::SALOME_Exception);
96 HOMARD_Boundary CreateBoundarySphere (in string BounName,
97 in double Xcentre, in double Ycentre, in double Zcentre,
99 raises (SALOME::SALOME_Exception);
101 // A.2. Les associations
103 void AssociateIterHypo(in string IterName, in string HypoName)
104 raises (SALOME::SALOME_Exception);
105 void AssociateHypoZone(in string ZoneName, in string HypoName)
106 raises (SALOME::SALOME_Exception);
108 // A.3. Les informations
110 string GetCaseName(in string IterName) raises (SALOME::SALOME_Exception);
111 HOMARD_Cas GetCas(in string CaseName) raises (SALOME::SALOME_Exception);
112 HOMARD_Boundary GetBoundary(in string BounName) raises (SALOME::SALOME_Exception);
113 HOMARD_Zone GetZone(in string ZoneName) raises (SALOME::SALOME_Exception);
114 HOMARD_Hypothesis GetHypothesis(in string HypoName) raises (SALOME::SALOME_Exception);
115 HOMARD_Iteration GetIteration(in string IterName) raises (SALOME::SALOME_Exception);
116 listeCases GetAllCases() raises (SALOME::SALOME_Exception);
117 listeBoundarys GetAllBoundarys() raises (SALOME::SALOME_Exception);
118 listeHypotheses GetAllHypotheses() raises (SALOME::SALOME_Exception);
119 listeZones GetAllZones() raises (SALOME::SALOME_Exception);
120 listeIterations GetAllIterations() raises (SALOME::SALOME_Exception);
124 void SetCurrentStudy(in SALOMEDS::Study theStudy) raises (SALOME::SALOME_Exception);
126 // B. Les methodes qui suivent n'apparaissent pas dans le composant HOMARD dans YACS
127 // L'utilisateur ne devrait pas les connaitre (ni s'en servir, a fortiori)
129 void AssociateIterIter(in string PreviousIterName, in string IterName)
130 raises (SALOME::SALOME_Exception);
131 void DissociateHypoZone(in string ZoneName, in string HypoName)
132 raises (SALOME::SALOME_Exception);
134 void InvalideBoundary (in string BounName) raises (SALOME::SALOME_Exception);
135 void InvalideZone (in string ZoneName) raises (SALOME::SALOME_Exception);
136 void InvalideHypo (in string HypoName) raises (SALOME::SALOME_Exception);
137 void InvalideIter (in string IterName) raises (SALOME::SALOME_Exception);
139 long Compute (in string IterName, in long etatMenage)
140 raises (SALOME::SALOME_Exception);
142 boolean VerifieDir (in string IterName) raises (SALOME::SALOME_Exception);
144 void PublishFileUnderIteration(in string NomIter, in string NomFich, in string Commentaire)
145 raises (SALOME::SALOME_Exception);
146 void PublishResultInSmesh(in string NomFich, in long IconeType)
147 raises (SALOME::SALOME_Exception);
149 SALOMEDS::Study GetCurrentStudy() raises (SALOME::SALOME_Exception);
150 long GetCurrentStudyID() raises (SALOME::SALOME_Exception);