smesh/idl/HOMARD_Gen.idl
2020-05-20 16:05:25 +02:00

234 lines
12 KiB
Plaintext

// Copyright (C) 2011-2020 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 "SALOME_Component.idl"
#include "SALOME_Exception.idl"
#include "SALOMEDS.idl"
#include "HOMARD_Cas.idl"
#include "HOMARD_Hypothesis.idl"
#include "HOMARD_Iteration.idl"
#include "HOMARD_Zone.idl"
#include "HOMARD_Boundary.idl"
#include "HOMARD_YACS.idl"
module HOMARD
{
typedef sequence<string> listeHypotheses;
typedef sequence<string> listeZones;
typedef sequence<string> listeIterations;
typedef sequence<string> listeCases;
typedef sequence<string> listeBoundarys;
typedef sequence<string> listeYACSs;
interface HOMARD_Gen : Engines::EngineComponent, SALOMEDS::Driver
{
//
// 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 CreateBoundaryCAO (in string BoundaryName, in string FileName)
raises(SALOME::SALOME_Exception);
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 UpdateStudy() raises (SALOME::SALOME_Exception);
//
// A.4. Les caracteristiques generales
//
void SetLanguageShort (in string LanguageShort) raises (SALOME::SALOME_Exception);
string GetLanguageShort () 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 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);
};
};
#endif