+// Copyright (C) 2011-2014 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
+//
+
#ifndef __HOMARD_GEN__
#define __HOMARD_GEN__
#include "HOMARD_Iteration.idl"
#include "HOMARD_Zone.idl"
#include "HOMARD_Boundary.idl"
+#include "HOMARD_YACS.idl"
module HOMARD
{
typedef sequence<string> listeIterations;
typedef sequence<string> listeCases;
typedef sequence<string> listeBoundarys;
+ typedef sequence<string> listeYACSs;
- interface HOMARD_Gen : Engines::Component, SALOMEDS::Driver
+ interface HOMARD_Gen : Engines::EngineComponent, SALOMEDS::Driver
{
- HOMARD_Cas CreateCase(in string nomCas, in string MeshName, in string FileName )
- raises (SALOME::SALOME_Exception);
- HOMARD_Hypothesis CreateHypothesis(in string nomHypothesis )
- raises (SALOME::SALOME_Exception);
- HOMARD_Iteration CreateIteration(in string nomIter, in string nomIterParent )
- raises (SALOME::SALOME_Exception);
- HOMARD_Zone CreateZone(in string nomZone, in long typeZone)
- raises (SALOME::SALOME_Exception);
- HOMARD_Boundary CreateBoundary(in string nomBoundary, in long typeBoundary)
- raises (SALOME::SALOME_Exception);
-
- void AssociateIterIter(in string nomIterParent, in string nomIter)
- raises (SALOME::SALOME_Exception);
- void AssociateIterHypo(in string nomIter, in string nomHypothesis)
- raises (SALOME::SALOME_Exception);
- void AssociateHypoZone(in string nomZone, in string nomHypothesis)
- raises (SALOME::SALOME_Exception);
- void DissociateHypoZone(in string nomZone, in string nomHypothesis)
- raises (SALOME::SALOME_Exception);
-
- void InvalideZone (in string nomZone) raises (SALOME::SALOME_Exception);
- void InvalideHypo (in string nomHypo) raises (SALOME::SALOME_Exception);
- void InvalideIter (in string nomIter) raises (SALOME::SALOME_Exception);
-
- boolean Compute (in string nomIter, in long etatMenage)
- raises (SALOME::SALOME_Exception);
-
- boolean VerifieDir (in string nomIter) raises (SALOME::SALOME_Exception);
-
- string GetCaseName(in string nomIter) raises (SALOME::SALOME_Exception);
-
- void PublishFileUnderIteration(in string NomIter, in string NomFich, in string Commentaire)
- raises (SALOME::SALOME_Exception);
- void PublishResultInSmesh(in string NomFich, in long IconeType)
- raises (SALOME::SALOME_Exception);
- HOMARD_Cas GetCas(in string nomCas) raises (SALOME::SALOME_Exception);
- HOMARD_Boundary GetBoundary(in string nomBoundary) raises (SALOME::SALOME_Exception);
- HOMARD_Zone GetZone(in string nomZone) raises (SALOME::SALOME_Exception);
- HOMARD_Hypothesis GetHypothesis(in string nomHypo) raises (SALOME::SALOME_Exception);
- HOMARD_Iteration GetIteration(in string nomIter) raises (SALOME::SALOME_Exception);
-
- listeCases GetAllCases() raises (SALOME::SALOME_Exception);
- listeBoundarys GetAllBoundarys() raises (SALOME::SALOME_Exception);
- listeHypotheses GetAllHypotheses() raises (SALOME::SALOME_Exception);
- listeZones GetAllZones() raises (SALOME::SALOME_Exception);
- listeIterations GetAllIterations() raises (SALOME::SALOME_Exception);
-
- void SetCurrentStudy(in SALOMEDS::Study theStudy) raises (SALOME::SALOME_Exception);
+//
+// A. Les methodes qui suivent sont celles que l'on retrouvera dans
+// le fichier resources/HOMARDCatalog.xml.in pour definir le composant HOMARD dans YACS
+// A priori, ce sont les seules sont l'utilisateur doit connaitre l'existence.
+// ATTENTION : si les noms des arguments changent dans les Createxxxx, il faudra les changer
+// dans YACSDriver pour assurer la coherence
+//
+// A.1. Les creations
+//
+ HOMARD_Boundary CreateBoundaryDi (in string BoundaryName, in string MeshName, in string FileName)
+ raises(SALOME::SALOME_Exception);
+ HOMARD_Boundary CreateBoundaryCylinder (in string BoundaryName,
+ in double Xcentre, in double Ycentre, in double Zcentre,
+ in double Xaxis, in double Yaxis, in double Zaxis,
+ in double Radius)
+ raises (SALOME::SALOME_Exception);
+ HOMARD_Boundary CreateBoundarySphere (in string BoundaryName,
+ in double Xcentre, in double Ycentre, in double Zcentre,
+ in double Radius)
+ raises(SALOME::SALOME_Exception);
+ HOMARD_Boundary CreateBoundaryConeR (in string BoundaryName,
+ in double Xcentre1, in double Ycentre1, in double Zcentre1, in double Radius1,
+ in double Xcentre2, in double Ycentre2, in double Zcentre2, in double Radius2)
+ raises(SALOME::SALOME_Exception);
+ HOMARD_Boundary CreateBoundaryConeA (in string BoundaryName,
+ in double Xaxis, in double Yaxis, in double Zaxis, in double Angle,
+ in double Xcentre, in double Ycentre, in double Zcentre)
+ raises(SALOME::SALOME_Exception);
+ HOMARD_Boundary CreateBoundaryTorus (in string BoundaryName,
+ in double Xcentre, in double Ycentre, in double Zcentre,
+ in double Xaxis, in double Yaxis, in double Zaxis,
+ in double RadiusRev, in double RadiusPri)
+ raises (SALOME::SALOME_Exception);
+ HOMARD_Cas CreateCase(in string CaseName, in string MeshName, in string FileName )
+ raises(SALOME::SALOME_Exception);
+ HOMARD_Cas CreateCaseFromIteration(in string CaseName, in string DirNameStart )
+ raises(SALOME::SALOME_Exception);
+ HOMARD_Cas CreateCaseFromCaseLastIteration(in string CaseName, in string DirNameStart )
+ raises(SALOME::SALOME_Exception);
+ HOMARD_Cas CreateCaseFromCaseIteration(in string CaseName, in string DirNameStart, in long Number )
+ raises(SALOME::SALOME_Exception);
+ HOMARD_Hypothesis CreateHypothesis(in string HypoName )
+ raises(SALOME::SALOME_Exception);
+ HOMARD_Zone CreateZoneBox (in string ZoneName,
+ in double Xmini, in double Xmaxi,
+ in double Ymini, in double Ymaxi,
+ in double Zmini, in double Zmaxi)
+ raises(SALOME::SALOME_Exception);
+ HOMARD_Zone CreateZoneBox2D (in string ZoneName,
+ in double Umini, in double Umaxi,
+ in double Vmini, in double Vmaxi,
+ in long Orient)
+ raises(SALOME::SALOME_Exception);
+ HOMARD_Zone CreateZoneCylinder (in string ZoneName,
+ in double Xcentre, in double Ycentre, in double Zcentre,
+ in double Xaxis, in double Yaxis, in double Zaxis,
+ in double Radius, in double Height)
+ raises(SALOME::SALOME_Exception);
+ HOMARD_Zone CreateZoneDisk (in string ZoneName,
+ in double Ucentre, in double Vcentre,
+ in double Radius, in long Orient)
+ raises(SALOME::SALOME_Exception);
+ HOMARD_Zone CreateZoneDiskWithHole (in string ZoneName,
+ in double Ucentre, in double Vcentre,
+ in double Radius, in double InternalRadius,
+ in long Orient)
+ raises(SALOME::SALOME_Exception);
+ HOMARD_Zone CreateZonePipe (in string ZoneName,
+ in double Xcentre, in double Ycentre, in double Zcentre,
+ in double Xaxis, in double Yaxis, in double Zaxis,
+ in double Radius, in double Height, in double InternalRadius)
+ raises(SALOME::SALOME_Exception);
+ HOMARD_Zone CreateZoneSphere (in string ZoneName,
+ in double Xcentre, in double Ycentre, in double Zcentre,
+ in double Radius)
+ raises(SALOME::SALOME_Exception);
+//
+// A.2. Les informations
+//
+ HOMARD_Boundary GetBoundary(in string BoundaryName) raises (SALOME::SALOME_Exception);
+ HOMARD_Cas GetCase(in string CaseName) raises (SALOME::SALOME_Exception);
+ HOMARD_Hypothesis GetHypothesis(in string HypoName) raises (SALOME::SALOME_Exception);
+ HOMARD_Iteration GetIteration(in string IterName) raises (SALOME::SALOME_Exception);
+ HOMARD_YACS GetYACS(in string YACSName) raises (SALOME::SALOME_Exception);
+ HOMARD_Zone GetZone(in string ZoneName) raises (SALOME::SALOME_Exception);
+
+ listeBoundarys GetAllBoundarysName() raises (SALOME::SALOME_Exception);
+ listeCases GetAllCasesName() raises (SALOME::SALOME_Exception);
+ listeHypotheses GetAllHypothesesName() raises (SALOME::SALOME_Exception);
+ listeIterations GetAllIterationsName() raises (SALOME::SALOME_Exception);
+ listeYACSs GetAllYACSsName() raises (SALOME::SALOME_Exception);
+ listeZones GetAllZonesName() raises (SALOME::SALOME_Exception);
+
+ void MeshInfo(in string CaseName, in string MeshName, in string FileName, in string DirName, in long Qual, in long Diam, in long Conn, in long Tail, in long Inte )
+ raises(SALOME::SALOME_Exception);
+
+ HOMARD_Iteration LastIteration(in string CaseName) raises (SALOME::SALOME_Exception);
+//
+// A.3. L'etude
+//
+ void SetCurrentStudy(in SALOMEDS::Study theStudy) raises (SALOME::SALOME_Exception);
SALOMEDS::Study GetCurrentStudy() raises (SALOME::SALOME_Exception);
+ long GetCurrentStudyID() raises (SALOME::SALOME_Exception);
+//
+// B. Les methodes qui suivent n'apparaissent pas dans le composant HOMARD dans YACS
+// L'utilisateur ne devrait pas les connaitre (ni s'en servir, a fortiori)
+//
+ HOMARD_Iteration CreateIteration(in string IterName, in string PreviousIterName )
+ raises(SALOME::SALOME_Exception);
+//
+ void InvalideBoundary (in string BoundaryName) raises (SALOME::SALOME_Exception);
+ void InvalideHypo (in string HypoName) raises (SALOME::SALOME_Exception);
+ void InvalideIter (in string IterName) raises (SALOME::SALOME_Exception);
+ void InvalideIterOption (in string IterName, in long Option)
+ raises(SALOME::SALOME_Exception);
+ void InvalideYACS (in string YacsName) raises (SALOME::SALOME_Exception);
+ void InvalideZone (in string ZoneName) raises (SALOME::SALOME_Exception);
+
+ long DeleteBoundary (in string BoundaryName) raises (SALOME::SALOME_Exception);
+ long DeleteCase(in string CaseName, in long Option)
+ raises(SALOME::SALOME_Exception);
+ long DeleteHypo(in string HypoName) raises (SALOME::SALOME_Exception);
+ long DeleteIteration(in string IterName, in long Option)
+ raises(SALOME::SALOME_Exception);
+ long DeleteIterationOption(in string IterName, in long Option1, in long Option2)
+ raises(SALOME::SALOME_Exception);
+ long DeleteYACS(in string YacsName, in long Option) raises (SALOME::SALOME_Exception);
+ long DeleteZone (in string ZoneName) raises (SALOME::SALOME_Exception);
+//
+ void AssociateIterHypo(in string IterName, in string HypoName)
+ raises(SALOME::SALOME_Exception);
+
+//
+ void AssociateHypoZone(in string HypoName, in string ZoneName, in long TypeUse)
+ raises(SALOME::SALOME_Exception);
+ void DissociateHypoZone(in string HypoName, in string ZoneName)
+ raises(SALOME::SALOME_Exception);
+
+ long Compute (in string IterName, in long CleanOption, in long modeHOMARD, in long Option1, in long Option2)
+ raises(SALOME::SALOME_Exception);
+
+//
+ string CreateDirNameIter(in string NomDir, in long option )
+ raises(SALOME::SALOME_Exception);
+
+ string VerifieDir (in string NomDir) raises (SALOME::SALOME_Exception);
+
+//
+ void PublishFileUnderIteration(in string IterName, in string FileName, in string Comment)
+ raises(SALOME::SALOME_Exception);
+ void PublishBoundaryUnderCase(in string CaseName, in string BoundaryName)
+ raises(SALOME::SALOME_Exception);
+ void PublishResultInSmesh(in string FileName, in long Option)
+ raises(SALOME::SALOME_Exception);
+ void PublishMeshIterInSmesh (in string IterName) raises(SALOME::SALOME_Exception);
+
+//
+
+//
+// La creation des schemas YACS
+ HOMARD_YACS CreateYACSSchema(in string YACSName, in string CaseName, in string ScriptFile, in string DirName, in string MeshFile)
+ raises(SALOME::SALOME_Exception);
+ long YACSWrite (in string YACSName) raises (SALOME::SALOME_Exception);
+ long YACSWriteOnFile (in string YACSName, in string YACSFile)
+ raises(SALOME::SALOME_Exception);
+
+//
+// Les preferences
+ void SetLanguageShort (in string LanguageShort) raises (SALOME::SALOME_Exception);
+ string GetLanguageShort () raises (SALOME::SALOME_Exception);
+ void SetPublisMesh (in long PublisMeshIN, in long PublisMeshOUT)
+ raises (SALOME::SALOME_Exception);
+ long GetPublisMeshIN () raises (SALOME::SALOME_Exception);
+ long GetPublisMeshOUT () raises (SALOME::SALOME_Exception);
+ void SetYACSMaximum(in long YACSMaxIter, in long YACSMaxNode, in long YACSMaxElem)
+ raises (SALOME::SALOME_Exception);
+ long GetYACSMaxIter() raises (SALOME::SALOME_Exception);
+ long GetYACSMaxNode() raises (SALOME::SALOME_Exception);
+ long GetYACSMaxElem() raises (SALOME::SALOME_Exception);
+ void SetYACSConvergenceType(in long TypeTest) raises (SALOME::SALOME_Exception);
+ long GetYACSConvergenceType() raises (SALOME::SALOME_Exception);
};
};