mirror of
https://git.salome-platform.org/gitpub/modules/smesh.git
synced 2025-01-26 15:00:32 +05:00
Implement bos #26453: [EDF] (2021) SMESH: uniform refinement
This commit is contained in:
parent
5254ada6ef
commit
b33bc07ec2
@ -40,6 +40,7 @@ SET(SalomeIDLSMESH_IDLSOURCES
|
||||
SMESH_Measurements.idl
|
||||
${CMAKE_CURRENT_BINARY_DIR}/SMESH_smIdType.idl
|
||||
MG_ADAPT.idl
|
||||
SMESH_Homard.idl
|
||||
)
|
||||
|
||||
SET(_idl_include_dirs
|
||||
|
@ -35,6 +35,11 @@
|
||||
#include "SMESH_Hypothesis.idl"
|
||||
#include "SMESH_smIdType.idl"
|
||||
|
||||
module SMESHHOMARD
|
||||
{
|
||||
interface HOMARD_Gen;
|
||||
};
|
||||
|
||||
module SMESH
|
||||
{
|
||||
typedef sequence<SALOMEDS::SObject> sobject_list;
|
||||
@ -581,6 +586,7 @@ module SMESH
|
||||
in double theTolerance );
|
||||
|
||||
MG_ADAPT CreateMG_ADAPT();
|
||||
SMESHHOMARD::HOMARD_Gen CreateHOMARD_ADAPT();
|
||||
MG_ADAPT_OBJECT Adaptation(in string adaptType);
|
||||
MG_ADAPT CreateAdaptationHypothesis();
|
||||
};
|
||||
|
430
idl/SMESH_Homard.idl
Normal file
430
idl/SMESH_Homard.idl
Normal file
@ -0,0 +1,430 @@
|
||||
// Copyright (C) 2011-2021 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 _SMESH_HOMARD_IDL
|
||||
#define _SMESH_HOMARD_IDL
|
||||
|
||||
#include "SALOME_Component.idl"
|
||||
#include "SALOME_Exception.idl"
|
||||
#include "SALOMEDS.idl"
|
||||
|
||||
module SMESHHOMARD
|
||||
{
|
||||
typedef sequence<double> double_array;
|
||||
typedef sequence<double> extrema;
|
||||
typedef sequence<string> ListGroupType;
|
||||
typedef sequence<string> ListBoundaryGroupType;
|
||||
typedef sequence<string> listeIterFilles;
|
||||
typedef sequence<string> listeFieldInterpsIter;
|
||||
typedef sequence<string> listeFieldInterpTSRsIter;
|
||||
typedef sequence<string> listeFieldInterpsHypo;
|
||||
typedef sequence<string> listeIters;
|
||||
typedef sequence<string> listeComposantsHypo;
|
||||
typedef sequence<long> listeTypes;
|
||||
|
||||
typedef sequence<string> listeHypotheses;
|
||||
typedef sequence<string> listeIterations;
|
||||
typedef sequence<string> listeCases;
|
||||
typedef sequence<string> listeBoundarys;
|
||||
|
||||
struct InfosHypo
|
||||
{
|
||||
string FieldName;
|
||||
long UsCmpI;
|
||||
long UsField;
|
||||
long TypeThR;
|
||||
double ThreshR;
|
||||
long TypeThC;
|
||||
double ThreshC;
|
||||
};
|
||||
|
||||
interface HOMARD_Boundary : Engines::EngineComponent
|
||||
{
|
||||
// Generalites
|
||||
void SetName(in string Name) raises (SALOME::SALOME_Exception);
|
||||
string GetName() raises (SALOME::SALOME_Exception);
|
||||
|
||||
long Delete() raises (SALOME::SALOME_Exception);
|
||||
|
||||
string GetDumpPython() raises (SALOME::SALOME_Exception);
|
||||
|
||||
// Caracteristiques
|
||||
void SetType (in long Type) raises (SALOME::SALOME_Exception);
|
||||
long GetType() raises (SALOME::SALOME_Exception);
|
||||
|
||||
void SetDataFile(in string DataFile) raises (SALOME::SALOME_Exception);
|
||||
string GetDataFile() raises (SALOME::SALOME_Exception);
|
||||
|
||||
void SetMeshName(in string MeshName) raises (SALOME::SALOME_Exception);
|
||||
string GetMeshName() raises (SALOME::SALOME_Exception);
|
||||
|
||||
void SetCylinder (in double Xcentre, in double Ycentre, in double Zcentre,
|
||||
in double Xaxe, in double Yaxe, in double Zaxe, in double rayon)
|
||||
raises (SALOME::SALOME_Exception);
|
||||
|
||||
void SetSphere (in double Xcentre, in double Ycentre, in double Zcentre, in double rayon)
|
||||
raises (SALOME::SALOME_Exception);
|
||||
|
||||
void SetConeR (in double Xcentre1, in double Ycentre1, in double Zcentre1, in double Rayon1,
|
||||
in double Xcentre2, in double Ycentre2, in double Zcentre2, in double Rayon2)
|
||||
raises (SALOME::SALOME_Exception);
|
||||
|
||||
void SetConeA(in double Xaxe,in double Yaxe,in double Zaxe,in double Angle,
|
||||
in double Xcentre,in double Ycentre,in double ZCentre)
|
||||
raises (SALOME::SALOME_Exception);
|
||||
|
||||
void SetTorus (in double Xcentre, in double Ycentre, in double Zcentre,
|
||||
in double Xaxe, in double Yaxe, in double Zaxe,
|
||||
in double rayonRev, in double rayonPri)
|
||||
raises (SALOME::SALOME_Exception);
|
||||
|
||||
|
||||
SMESHHOMARD::double_array GetCoords() raises (SALOME::SALOME_Exception);
|
||||
|
||||
void SetLimit (in double Xincr, in double Yincr, in double Zincr)
|
||||
raises (SALOME::SALOME_Exception);
|
||||
SMESHHOMARD::double_array GetLimit() raises (SALOME::SALOME_Exception);
|
||||
|
||||
void AddGroup(in string LeGroupe) raises (SALOME::SALOME_Exception);
|
||||
void SetGroups(in ListGroupType ListGroup) raises (SALOME::SALOME_Exception);
|
||||
ListGroupType GetGroups() raises (SALOME::SALOME_Exception);
|
||||
|
||||
// Liens avec les autres iterations
|
||||
void SetCaseCreation(in string NomCas) raises (SALOME::SALOME_Exception);
|
||||
string GetCaseCreation() raises (SALOME::SALOME_Exception);
|
||||
|
||||
};
|
||||
|
||||
interface HOMARD_Iteration : Engines::EngineComponent
|
||||
{
|
||||
// Generalites
|
||||
void SetName(in string Name) raises (SALOME::SALOME_Exception);
|
||||
string GetName() raises (SALOME::SALOME_Exception);
|
||||
|
||||
long Delete(in long Option,
|
||||
in boolean doRemoveWorkingFiles) raises (SALOME::SALOME_Exception);
|
||||
|
||||
string GetDumpPython() raises (SALOME::SALOME_Exception);
|
||||
|
||||
// Caracteristiques
|
||||
void SetDirNameLoc(in string NomDir) raises (SALOME::SALOME_Exception);
|
||||
string GetDirNameLoc() raises (SALOME::SALOME_Exception);
|
||||
|
||||
string GetDirName() raises (SALOME::SALOME_Exception);
|
||||
|
||||
void SetNumber(in long NumIter) raises (SALOME::SALOME_Exception);
|
||||
long GetNumber() raises (SALOME::SALOME_Exception);
|
||||
|
||||
void SetState(in long State) raises (SALOME::SALOME_Exception);
|
||||
long GetState() raises (SALOME::SALOME_Exception);
|
||||
|
||||
void SetMeshName(in string NomMesh) raises (SALOME::SALOME_Exception);
|
||||
string GetMeshName() raises (SALOME::SALOME_Exception);
|
||||
|
||||
void SetMeshFile(in string MeshFile) raises (SALOME::SALOME_Exception);
|
||||
string GetMeshFile() raises (SALOME::SALOME_Exception);
|
||||
|
||||
void SetFieldFile(in string FieldFile) raises (SALOME::SALOME_Exception);
|
||||
string GetFieldFile() raises (SALOME::SALOME_Exception);
|
||||
|
||||
// Instants pour le champ de pilotage
|
||||
void SetTimeStep(in long TimeStep) raises (SALOME::SALOME_Exception);
|
||||
void SetTimeStepRank(in long TimeStep, in long Rank)
|
||||
raises (SALOME::SALOME_Exception);
|
||||
void SetTimeStepRankLast() raises (SALOME::SALOME_Exception);
|
||||
long GetTimeStep() raises (SALOME::SALOME_Exception);
|
||||
long GetRank() raises (SALOME::SALOME_Exception);
|
||||
|
||||
// Instants pour un champ a interpoler
|
||||
void SetFieldInterpTimeStep(in string FieldInterp, in long TimeStep)
|
||||
raises (SALOME::SALOME_Exception);
|
||||
void SetFieldInterpTimeStepRank(in string FieldInterp, in long TimeStep, in long Rank)
|
||||
raises (SALOME::SALOME_Exception);
|
||||
listeFieldInterpTSRsIter GetFieldInterpsTimeStepRank() raises (SALOME::SALOME_Exception);
|
||||
void SetFieldInterp(in string FieldInterp) raises (SALOME::SALOME_Exception);
|
||||
listeFieldInterpsIter GetFieldInterps() raises (SALOME::SALOME_Exception);
|
||||
void SupprFieldInterps() raises (SALOME::SALOME_Exception);
|
||||
|
||||
// Fichier des messages
|
||||
void SetLogFile(in string LogFile) raises (SALOME::SALOME_Exception);
|
||||
string GetLogFile() raises (SALOME::SALOME_Exception);
|
||||
|
||||
long Compute(in long etatMenage, in long Option) raises (SALOME::SALOME_Exception);
|
||||
|
||||
void MeshInfo(in long Qual, in long Diam, in long Conn, in long Tail, in long Inte)
|
||||
raises (SALOME::SALOME_Exception);
|
||||
void MeshInfoOption(in long Qual, in long Diam, in long Conn, in long Tail, in long Inte, in long Option)
|
||||
raises (SALOME::SALOME_Exception);
|
||||
|
||||
void SetFileInfo(in string FileInfo) raises (SALOME::SALOME_Exception);
|
||||
string GetFileInfo() raises (SALOME::SALOME_Exception);
|
||||
|
||||
// Liens avec les autres iterations
|
||||
HOMARD_Iteration NextIteration(in string NomIter) raises (SALOME::SALOME_Exception);
|
||||
|
||||
void LinkNextIteration(in string NomIter) raises (SALOME::SALOME_Exception);
|
||||
void UnLinkNextIteration(in string NomIter) raises (SALOME::SALOME_Exception);
|
||||
listeIterFilles GetIterations() raises (SALOME::SALOME_Exception);
|
||||
|
||||
void SetIterParentName(in string NomIterParent) raises (SALOME::SALOME_Exception);
|
||||
string GetIterParentName() raises (SALOME::SALOME_Exception);
|
||||
HOMARD_Iteration GetIterParent() raises (SALOME::SALOME_Exception);
|
||||
|
||||
// Liens avec les autres structures
|
||||
void SetCaseName(in string NomCas) raises (SALOME::SALOME_Exception);
|
||||
string GetCaseName() raises (SALOME::SALOME_Exception);
|
||||
|
||||
void AssociateHypo(in string NomHypo) raises (SALOME::SALOME_Exception);
|
||||
void SetHypoName(in string NomHypo) raises (SALOME::SALOME_Exception);
|
||||
string GetHypoName() raises (SALOME::SALOME_Exception);
|
||||
|
||||
// Divers
|
||||
void SetInfoCompute(in long MessInfo) raises (SALOME::SALOME_Exception);
|
||||
long GetInfoCompute() raises (SALOME::SALOME_Exception);
|
||||
};
|
||||
|
||||
interface HOMARD_Cas : Engines::EngineComponent
|
||||
{
|
||||
// Generalites
|
||||
void SetName(in string Name) raises (SALOME::SALOME_Exception);
|
||||
string GetName() raises (SALOME::SALOME_Exception);
|
||||
|
||||
long Delete(in long Option) raises (SALOME::SALOME_Exception);
|
||||
|
||||
string GetDumpPython() raises (SALOME::SALOME_Exception);
|
||||
|
||||
// Caracteristiques
|
||||
void SetDirName(in string NomDir) raises (SALOME::SALOME_Exception);
|
||||
string GetDirName() raises (SALOME::SALOME_Exception);
|
||||
|
||||
long GetState() raises (SALOME::SALOME_Exception);
|
||||
|
||||
long GetNumberofIter() raises (SALOME::SALOME_Exception);
|
||||
|
||||
void SetConfType(in long ConfType) raises (SALOME::SALOME_Exception);
|
||||
long GetConfType() raises (SALOME::SALOME_Exception);
|
||||
|
||||
void SetExtType(in long ExtType) raises (SALOME::SALOME_Exception);
|
||||
long GetExtType() raises (SALOME::SALOME_Exception);
|
||||
|
||||
void SetBoundingBox(in extrema LesExtremes) raises (SALOME::SALOME_Exception);
|
||||
extrema GetBoundingBox() raises (SALOME::SALOME_Exception);
|
||||
|
||||
void AddGroup(in string Group) raises (SALOME::SALOME_Exception);
|
||||
void SetGroups(in ListGroupType ListGroup) raises (SALOME::SALOME_Exception);
|
||||
ListGroupType GetGroups() raises (SALOME::SALOME_Exception);
|
||||
|
||||
void AddBoundary(in string BoundaryName) raises (SALOME::SALOME_Exception);
|
||||
void AddBoundaryGroup(in string BoundaryName, in string Group)
|
||||
raises (SALOME::SALOME_Exception);
|
||||
ListBoundaryGroupType GetBoundaryGroup() raises (SALOME::SALOME_Exception);
|
||||
void SupprBoundaryGroup() raises (SALOME::SALOME_Exception);
|
||||
|
||||
void SetPyram(in long Pyram) raises (SALOME::SALOME_Exception);
|
||||
long GetPyram() raises (SALOME::SALOME_Exception);
|
||||
|
||||
void MeshInfo(in long Qual, in long Diam, in long Conn, in long Tail, in long Inte)
|
||||
raises (SALOME::SALOME_Exception);
|
||||
|
||||
// Liens avec les autres structures
|
||||
string GetIter0Name () raises (SALOME::SALOME_Exception);
|
||||
HOMARD_Iteration GetIter0 () raises (SALOME::SALOME_Exception);
|
||||
|
||||
HOMARD_Iteration NextIteration(in string IterName) raises (SALOME::SALOME_Exception);
|
||||
|
||||
HOMARD_Iteration LastIteration() raises (SALOME::SALOME_Exception);
|
||||
|
||||
void AddIteration (in string IterName) raises (SALOME::SALOME_Exception);
|
||||
};
|
||||
|
||||
interface HOMARD_Hypothesis : Engines::EngineComponent
|
||||
{
|
||||
// Generalites
|
||||
void SetName(in string Name) raises (SALOME::SALOME_Exception);
|
||||
string GetName() raises (SALOME::SALOME_Exception);
|
||||
|
||||
long Delete() raises (SALOME::SALOME_Exception);
|
||||
|
||||
string GetDumpPython() raises (SALOME::SALOME_Exception);
|
||||
|
||||
// Caracteristiques
|
||||
void SetUnifRefinUnRef(in long RaffDera) raises (SALOME::SALOME_Exception);
|
||||
listeTypes GetAdapRefinUnRef() raises (SALOME::SALOME_Exception);
|
||||
long GetAdapType() raises (SALOME::SALOME_Exception);
|
||||
long GetRefinType() raises (SALOME::SALOME_Exception);
|
||||
long GetUnRefType() raises (SALOME::SALOME_Exception);
|
||||
|
||||
void SetField(in string FieldName) raises (SALOME::SALOME_Exception);
|
||||
string GetFieldName() raises (SALOME::SALOME_Exception);
|
||||
void SetUseField(in long UsField) raises (SALOME::SALOME_Exception);
|
||||
InfosHypo GetField() raises (SALOME::SALOME_Exception);
|
||||
|
||||
void SetUseComp(in long UsCmpI) raises (SALOME::SALOME_Exception);
|
||||
void AddComp(in string NomComp) raises (SALOME::SALOME_Exception);
|
||||
void SupprComp(in string NomComp) raises (SALOME::SALOME_Exception);
|
||||
void SupprComps() raises (SALOME::SALOME_Exception);
|
||||
listeComposantsHypo GetComps() raises (SALOME::SALOME_Exception);
|
||||
|
||||
void SetRefinThr(in long TypeThR, in double ThreshR) raises (SALOME::SALOME_Exception);
|
||||
long GetRefinThrType() raises (SALOME::SALOME_Exception);
|
||||
void SetUnRefThr(in long TypeThC, in double ThreshC) raises (SALOME::SALOME_Exception);
|
||||
long GetUnRefThrType() raises (SALOME::SALOME_Exception);
|
||||
|
||||
void SetNivMax(in long NivMax) raises (SALOME::SALOME_Exception);
|
||||
long GetNivMax() raises (SALOME::SALOME_Exception);
|
||||
|
||||
void SetDiamMin(in double DiamMin) raises (SALOME::SALOME_Exception);
|
||||
double GetDiamMin() raises (SALOME::SALOME_Exception);
|
||||
|
||||
void SetAdapInit(in long AdapInit) raises (SALOME::SALOME_Exception);
|
||||
long GetAdapInit() raises (SALOME::SALOME_Exception);
|
||||
|
||||
void SetExtraOutput(in long ExtraOutput) raises (SALOME::SALOME_Exception);
|
||||
long GetExtraOutput() raises (SALOME::SALOME_Exception);
|
||||
|
||||
void AddGroup(in string LeGroupe) raises (SALOME::SALOME_Exception);
|
||||
void SupprGroup(in string LeGroupe) raises (SALOME::SALOME_Exception);
|
||||
void SupprGroups() raises (SALOME::SALOME_Exception);
|
||||
void SetGroups(in ListGroupType ListGroup) raises (SALOME::SALOME_Exception);
|
||||
ListGroupType GetGroups() raises (SALOME::SALOME_Exception);
|
||||
|
||||
void SetTypeFieldInterp(in long TypeFieldInterp) raises (SALOME::SALOME_Exception);
|
||||
long GetTypeFieldInterp() raises (SALOME::SALOME_Exception);
|
||||
void AddFieldInterp(in string FieldInterp) raises (SALOME::SALOME_Exception);
|
||||
void AddFieldInterpType(in string FieldInterp, in long TypeInterp)
|
||||
raises (SALOME::SALOME_Exception);
|
||||
void SupprFieldInterp(in string FieldInterp) raises (SALOME::SALOME_Exception);
|
||||
void SupprFieldInterps() raises (SALOME::SALOME_Exception);
|
||||
listeFieldInterpsHypo GetFieldInterps() raises (SALOME::SALOME_Exception);
|
||||
|
||||
// Liens avec les autres structures
|
||||
void SetCaseCreation(in string NomCas) raises (SALOME::SALOME_Exception);
|
||||
string GetCaseCreation() raises (SALOME::SALOME_Exception);
|
||||
|
||||
void LinkIteration(in string NomIteration) raises (SALOME::SALOME_Exception);
|
||||
void UnLinkIteration(in string NomIteration) raises (SALOME::SALOME_Exception);
|
||||
listeIters GetIterations() raises (SALOME::SALOME_Exception);
|
||||
};
|
||||
|
||||
interface HOMARD_Gen : SALOME::GenericObj
|
||||
{
|
||||
//
|
||||
// Creation
|
||||
//
|
||||
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_Hypothesis CreateHypothesis(in string HypoName )
|
||||
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);
|
||||
|
||||
listeBoundarys GetAllBoundarysName() raises (SALOME::SALOME_Exception);
|
||||
listeCases GetAllCasesName() raises (SALOME::SALOME_Exception);
|
||||
listeHypotheses GetAllHypothesesName() raises (SALOME::SALOME_Exception);
|
||||
listeIterations GetAllIterationsName() 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.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,
|
||||
in boolean doRemoveWorkingFiles) 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,
|
||||
in boolean doRemoveWorkingFiles) raises(SALOME::SALOME_Exception);
|
||||
long DeleteIterationOption(in string IterName,
|
||||
in long Option1, in long Option2,
|
||||
in boolean doRemoveWorkingFiles) raises(SALOME::SALOME_Exception);
|
||||
//
|
||||
void AssociateIterHypo(in string IterName, in string HypoName)
|
||||
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 PublishResultInSmesh(in string FileName, in long Option)
|
||||
raises(SALOME::SALOME_Exception);
|
||||
void PublishMeshIterInSmesh (in string IterName) 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);
|
||||
};
|
||||
|
||||
}; // module SMESHHOMARD
|
||||
|
||||
#endif
|
@ -23,6 +23,7 @@
|
||||
SET(SMESH_RESOURCES_FILES
|
||||
ModuleMesh.png
|
||||
adapt_mg_adapt.png
|
||||
adapt_homard.png
|
||||
advanced_mesh_info.png
|
||||
bare_border_face.png
|
||||
bare_border_volume.png
|
||||
|
BIN
resources/adapt_homard.png
Normal file
BIN
resources/adapt_homard.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 274 B |
@ -89,6 +89,7 @@ SET(SMESHimpl_HEADERS
|
||||
SMESH_ProxyMesh.hxx
|
||||
SMESH_SMESH.hxx
|
||||
MG_ADAPT.hxx
|
||||
SMESH_Homard.hxx
|
||||
)
|
||||
|
||||
# --- sources ---
|
||||
@ -108,6 +109,7 @@ SET(SMESHimpl_SOURCES
|
||||
SMESH_ProxyMesh.cxx
|
||||
SMESH_MesherHelper.cxx
|
||||
MG_ADAPT.cxx
|
||||
SMESH_Homard.cxx
|
||||
)
|
||||
|
||||
# --- rules ---
|
||||
|
3162
src/SMESH/SMESH_Homard.cxx
Normal file
3162
src/SMESH/SMESH_Homard.cxx
Normal file
File diff suppressed because it is too large
Load Diff
491
src/SMESH/SMESH_Homard.hxx
Normal file
491
src/SMESH/SMESH_Homard.hxx
Normal file
@ -0,0 +1,491 @@
|
||||
// HOMARD HOMARD : implementation of HOMARD idl descriptions
|
||||
//
|
||||
// Copyright (C) 2011-2021 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
|
||||
//
|
||||
// File : HOMARD.hxx
|
||||
// Author : Gerald NICOLAS, EDF
|
||||
// Module : HOMARD
|
||||
|
||||
#ifndef _SMESH_HOMARD_ADAPT_HXX_
|
||||
#define _SMESH_HOMARD_ADAPT_HXX_
|
||||
|
||||
// C'est le ASSERT de SALOMELocalTrace/utilities.h dans KERNEL
|
||||
#ifndef VERIFICATION
|
||||
#define VERIFICATION(condition) \
|
||||
if (!(condition)){INTERRUPTION("CONDITION "<<#condition<<" NOT VERIFIED")}
|
||||
#endif /* VERIFICATION */
|
||||
|
||||
#ifdef WIN32
|
||||
#if defined HOMARDIMPL_EXPORTS || defined HOMARDImpl_EXPORTS
|
||||
#define HOMARDIMPL_EXPORT __declspec( dllexport )
|
||||
#else
|
||||
#define HOMARDIMPL_EXPORT __declspec( dllimport )
|
||||
#endif
|
||||
#else
|
||||
#define HOMARDIMPL_EXPORT
|
||||
#endif
|
||||
|
||||
// La gestion des repertoires
|
||||
#ifndef CHDIR
|
||||
#ifdef WIN32
|
||||
#define CHDIR _chdir
|
||||
#else
|
||||
#define CHDIR chdir
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#include <vector>
|
||||
#include <string>
|
||||
#include <list>
|
||||
|
||||
#include <iostream>
|
||||
#include <fstream>
|
||||
|
||||
#if defined WIN32
|
||||
#pragma warning ( disable: 4251 )
|
||||
#endif
|
||||
|
||||
namespace SMESHHOMARDImpl
|
||||
{
|
||||
|
||||
class HOMARDIMPL_EXPORT HOMARD_Boundary
|
||||
{
|
||||
public:
|
||||
HOMARD_Boundary();
|
||||
~HOMARD_Boundary();
|
||||
|
||||
// Generalites
|
||||
void SetName( const char* Name );
|
||||
std::string GetName() const;
|
||||
|
||||
std::string GetDumpPython() const;
|
||||
|
||||
// Caracteristiques
|
||||
void SetType( int Type );
|
||||
int GetType() const;
|
||||
|
||||
void SetMeshName( const char* MeshName );
|
||||
std::string GetMeshName() const;
|
||||
|
||||
void SetDataFile( const char* DataFile );
|
||||
std::string GetDataFile() const;
|
||||
|
||||
void SetCylinder( double X0, double X1, double X2, double X3,
|
||||
double X4, double X5, double X6 );
|
||||
void SetSphere( double X0, double X1, double X2, double X3 );
|
||||
void SetConeR( double Xcentre1, double Ycentre1, double Zcentre1, double Rayon1,
|
||||
double Xcentre2, double Ycentre2, double Zcentre2, double Rayon2);
|
||||
void SetConeA( double Xaxe, double Yaxe, double Zaxe, double Angle,
|
||||
double Xcentre, double Ycentre, double ZCentre);
|
||||
void SetTorus( double X0, double X1, double X2, double X3,
|
||||
double X4, double X5, double X6, double X7 );
|
||||
|
||||
std::vector<double> GetCoords() const;
|
||||
|
||||
void SetLimit( double X0, double X1, double X2 );
|
||||
std::vector<double> GetLimit() const;
|
||||
|
||||
void AddGroup( const char* LeGroupe);
|
||||
void SetGroups(const std::list<std::string>& ListGroup );
|
||||
const std::list<std::string>& GetGroups() const;
|
||||
|
||||
// Liens avec les autres structures
|
||||
std::string GetCaseCreation() const;
|
||||
void SetCaseCreation( const char* NomCasCreation );
|
||||
|
||||
private:
|
||||
std::string _Name;
|
||||
std::string _NomCasCreation;
|
||||
std::string _DataFile;
|
||||
std::string _MeshName;
|
||||
int _Type;
|
||||
double _Xmin, _Xmax, _Ymin, _Ymax, _Zmin, _Zmax;
|
||||
double _Xaxe, _Yaxe, _Zaxe;
|
||||
double _Xcentre, _Ycentre, _Zcentre, _rayon;
|
||||
double _Xincr, _Yincr, _Zincr;
|
||||
double _Xcentre1, _Ycentre1, _Zcentre1, _Rayon1;
|
||||
double _Xcentre2, _Ycentre2, _Zcentre2, _Rayon2;
|
||||
double _Angle;
|
||||
|
||||
std::list<std::string> _ListGroupSelected;
|
||||
|
||||
};
|
||||
|
||||
class HOMARDIMPL_EXPORT HOMARD_Cas
|
||||
{
|
||||
public:
|
||||
HOMARD_Cas();
|
||||
~HOMARD_Cas();
|
||||
|
||||
// Generalites
|
||||
void SetName( const char* Name );
|
||||
std::string GetName() const;
|
||||
|
||||
std::string GetDumpPython() const;
|
||||
|
||||
// Caracteristiques
|
||||
int SetDirName( const char* NomDir );
|
||||
std::string GetDirName() const;
|
||||
|
||||
int GetNumberofIter();
|
||||
|
||||
void SetConfType( int ConfType );
|
||||
const int GetConfType() const;
|
||||
|
||||
void SetExtType( int ExtType );
|
||||
const int GetExtType() const;
|
||||
|
||||
void SetBoundingBox( const std::vector<double>& extremas );
|
||||
const std::vector<double>& GetBoundingBox() const;
|
||||
|
||||
void AddGroup( const char* Group);
|
||||
void SetGroups( const std::list<std::string>& ListGroup );
|
||||
const std::list<std::string>& GetGroups() const;
|
||||
void SupprGroups();
|
||||
|
||||
void AddBoundary( const char* Boundary );
|
||||
void AddBoundaryGroup( const char* Boundary, const char* Group );
|
||||
const std::list<std::string>& GetBoundaryGroup() const;
|
||||
void SupprBoundaryGroup();
|
||||
|
||||
void SetPyram( int Pyram );
|
||||
const int GetPyram() const;
|
||||
|
||||
// Liens avec les autres structures
|
||||
std::string GetIter0Name() const;
|
||||
|
||||
void AddIteration( const char* NomIteration );
|
||||
const std::list<std::string>& GetIterations() const;
|
||||
void SupprIterations();
|
||||
|
||||
private:
|
||||
std::string _Name;
|
||||
std::string _NomDir;
|
||||
int _ConfType;
|
||||
int _ExtType;
|
||||
int _Etat;
|
||||
|
||||
std::vector<double> _Boite; // cf HomardQTCommun pour structure du vecteur
|
||||
std::list<std::string> _ListGroup;
|
||||
std::list<std::string> _ListBoundaryGroup;
|
||||
|
||||
int _Pyram;
|
||||
|
||||
typedef std::string IterName;
|
||||
typedef std::list<IterName> IterNames;
|
||||
IterNames _ListIter;
|
||||
};
|
||||
|
||||
class HOMARDIMPL_EXPORT HomardDriver
|
||||
{
|
||||
public:
|
||||
HomardDriver(const std::string siter, const std::string siterp1);
|
||||
~HomardDriver();
|
||||
//
|
||||
void TexteInit( const std::string DirCompute, const std::string LogFile, const std::string Langue );
|
||||
void TexteInfo( int TypeBila, int NumeIter );
|
||||
void TexteMajCoords( int NumeIter );
|
||||
void CreeFichierDonn();
|
||||
void TexteAdap( int ExtType );
|
||||
void CreeFichier();
|
||||
void TexteMaillage( const std::string NomMesh, const std::string MeshFile, int apres );
|
||||
void TexteMaillageHOMARD( const std::string Dir, const std::string liter, int apres );
|
||||
void TexteConfRaffDera( int ConfType, int TypeAdap, int TypeRaff, int TypeDera );
|
||||
void TexteZone( int NumeZone, int ZoneType, int TypeUse, double x0, double x1, double x2, double x3, double x4, double x5, double x6, double x7, double x8 );
|
||||
void TexteGroup( const std::string GroupName );
|
||||
void TexteField( const std::string FieldName, const std::string FieldFile,
|
||||
int TimeStep, int Rank,
|
||||
int TypeThR, double ThreshR, int TypeThC, double ThreshC,
|
||||
int UsField, int UsCmpI );
|
||||
void TexteCompo( int NumeComp, const std::string NomCompo);
|
||||
|
||||
void TexteBoundaryOption( int BoundaryOption );
|
||||
void TexteBoundaryCAOGr( const std::string GroupName );
|
||||
void TexteBoundaryDi( const std::string MeshName, const std::string MeshFile );
|
||||
void TexteBoundaryDiGr( const std::string GroupName );
|
||||
void TexteBoundaryAn( const std::string NameBoundary, int NumeBoundary, int BoundaryType, double x0, double x1, double x2, double x3, double x4, double x5, double x6, double x7 );
|
||||
void TexteBoundaryAnGr( const std::string NameBoundary, int NumeBoundary, const std::string GroupName );
|
||||
|
||||
void TexteFieldInterp( const std::string FieldFile, const std::string MeshFile );
|
||||
void TexteFieldInterpAll();
|
||||
void TexteFieldInterpNameType( int NumeChamp, const std::string FieldName, const std::string TypeInterp, int TimeStep, int Rank );
|
||||
void TexteAdvanced( int Pyram, int NivMax, double DiamMin, int AdapInit, int LevelOutput );
|
||||
void TexteInfoCompute( int MessInfo );
|
||||
//
|
||||
int ExecuteHomard(int option);
|
||||
//
|
||||
|
||||
public:
|
||||
int _modeHOMARD;
|
||||
std::string _HOMARD_Exec;
|
||||
std::string _NomDir;
|
||||
std::string _NomFichierConfBase;
|
||||
std::string _NomFichierConf;
|
||||
std::string _NomFichierDonn;
|
||||
std::string _siter;
|
||||
std::string _siterp1;
|
||||
std::string _Texte;
|
||||
int _TimeStep;
|
||||
int _Rank;
|
||||
bool _bLu;
|
||||
};
|
||||
|
||||
class HOMARD_Iteration;
|
||||
class HOMARD_Hypothesis;
|
||||
|
||||
//! persistence entity type
|
||||
typedef enum { Case, Zone, Hypothesis, Iteration, Boundary } SignatureType;
|
||||
|
||||
//! get persistence signature
|
||||
HOMARDIMPL_EXPORT std::string GetSignature( SignatureType type );
|
||||
|
||||
//! get data separator
|
||||
HOMARDIMPL_EXPORT std::string separator();
|
||||
|
||||
//! dump boundary to the string
|
||||
HOMARDIMPL_EXPORT std::string Dump( const SMESHHOMARDImpl::HOMARD_Boundary& boundary );
|
||||
//! dump case to the string
|
||||
HOMARDIMPL_EXPORT std::string Dump( const SMESHHOMARDImpl::HOMARD_Cas& cas );
|
||||
//! dump iteration to the string
|
||||
HOMARDIMPL_EXPORT std::string Dump( const SMESHHOMARDImpl::HOMARD_Iteration& iteration );
|
||||
//! dump hypothesis to the string
|
||||
HOMARDIMPL_EXPORT std::string Dump( const SMESHHOMARDImpl::HOMARD_Hypothesis& hypothesis );
|
||||
|
||||
//! restore boundary from the string
|
||||
HOMARDIMPL_EXPORT bool Restore( SMESHHOMARDImpl::HOMARD_Boundary& boundary, const std::string& stream );
|
||||
//! restore case from the string
|
||||
HOMARDIMPL_EXPORT bool Restore( SMESHHOMARDImpl::HOMARD_Cas& cas, const std::string& stream );
|
||||
//! restore hypothesis from the string
|
||||
HOMARDIMPL_EXPORT bool Restore( SMESHHOMARDImpl::HOMARD_Hypothesis& hypothesis, const std::string& stream );
|
||||
//! restore iteration from the string
|
||||
HOMARDIMPL_EXPORT bool Restore( SMESHHOMARDImpl::HOMARD_Iteration& iteration, const std::string& stream );
|
||||
|
||||
class HOMARDIMPL_EXPORT HOMARD_Gen
|
||||
{
|
||||
public :
|
||||
HOMARD_Gen();
|
||||
~HOMARD_Gen();
|
||||
};
|
||||
|
||||
class HOMARDIMPL_EXPORT HOMARD_Hypothesis
|
||||
{
|
||||
public:
|
||||
HOMARD_Hypothesis();
|
||||
~HOMARD_Hypothesis();
|
||||
|
||||
// Generalites
|
||||
void SetName( const char* Name );
|
||||
std::string GetName() const;
|
||||
|
||||
std::string GetDumpPython() const;
|
||||
|
||||
// Caracteristiques
|
||||
void SetAdapType( int TypeAdap );
|
||||
int GetAdapType() const;
|
||||
void SetRefinTypeDera( int TypeRaff, int TypeDera );
|
||||
int GetRefinType() const;
|
||||
int GetUnRefType() const;
|
||||
|
||||
void SetField( const char* FieldName );
|
||||
std::string GetFieldName() const;
|
||||
void SetUseField( int UsField );
|
||||
int GetUseField() const;
|
||||
|
||||
void SetUseComp( int UsCmpI );
|
||||
int GetUseComp() const;
|
||||
void AddComp( const char* NomComp );
|
||||
void SupprComp( const char* NomComp );
|
||||
void SupprComps();
|
||||
const std::list<std::string>& GetComps() const;
|
||||
|
||||
void SetRefinThr( int TypeThR, double ThreshR );
|
||||
int GetRefinThrType() const;
|
||||
double GetThreshR() const;
|
||||
void SetUnRefThr( int TypeThC, double ThreshC );
|
||||
int GetUnRefThrType() const;
|
||||
double GetThreshC() const;
|
||||
|
||||
void SetNivMax( int NivMax );
|
||||
const int GetNivMax() const;
|
||||
|
||||
void SetDiamMin( double DiamMin );
|
||||
const double GetDiamMin() const;
|
||||
|
||||
void SetAdapInit( int AdapInit );
|
||||
const int GetAdapInit() const;
|
||||
|
||||
void SetExtraOutput( int ExtraOutput );
|
||||
const int GetExtraOutput() const;
|
||||
|
||||
void AddGroup( const char* Group);
|
||||
void SupprGroup( const char* Group );
|
||||
void SupprGroups();
|
||||
void SetGroups(const std::list<std::string>& ListGroup );
|
||||
const std::list<std::string>& GetGroups() const;
|
||||
|
||||
void SetTypeFieldInterp( int TypeFieldInterp );
|
||||
int GetTypeFieldInterp() const;
|
||||
void AddFieldInterpType( const char* FieldInterp, int TypeInterp );
|
||||
void SupprFieldInterp( const char* FieldInterp );
|
||||
void SupprFieldInterps();
|
||||
const std::list<std::string>& GetFieldInterps() const;
|
||||
|
||||
// Liens avec les autres structures
|
||||
void SetCaseCreation( const char* NomCasCreation );
|
||||
std::string GetCaseCreation() const;
|
||||
|
||||
void LinkIteration( const char* NomIter );
|
||||
void UnLinkIteration( const char* NomIter );
|
||||
void UnLinkIterations();
|
||||
const std::list<std::string>& GetIterations() const;
|
||||
|
||||
void AddZone( const char* NomZone, int TypeUse );
|
||||
void SupprZone( const char* NomZone );
|
||||
void SupprZones();
|
||||
const std::list<std::string>& GetZones() const;
|
||||
|
||||
private:
|
||||
std::string _Name;
|
||||
std::string _NomCasCreation;
|
||||
|
||||
int _TypeAdap; // -1 pour une adapation Uniforme,
|
||||
// 0 si l adaptation depend des zones,
|
||||
// 1 pour des champs
|
||||
|
||||
int _TypeRaff;
|
||||
int _TypeDera;
|
||||
|
||||
std::string _Field;
|
||||
int _TypeThR;
|
||||
int _TypeThC;
|
||||
double _ThreshR;
|
||||
double _ThreshC;
|
||||
int _UsField;
|
||||
int _UsCmpI;
|
||||
int _TypeFieldInterp; // 0 pour aucune interpolation,
|
||||
// 1 pour interpolation de tous les champs,
|
||||
// 2 pour une liste
|
||||
int _NivMax;
|
||||
double _DiamMin;
|
||||
int _AdapInit;
|
||||
int _ExtraOutput;
|
||||
|
||||
std::list<std::string> _ListIter;
|
||||
std::list<std::string> _ListZone;
|
||||
std::list<std::string> _ListComp;
|
||||
std::list<std::string> _ListGroupSelected;
|
||||
std::list<std::string> _ListFieldInterp;
|
||||
};
|
||||
|
||||
class HOMARDIMPL_EXPORT HOMARD_Iteration
|
||||
{
|
||||
public:
|
||||
HOMARD_Iteration();
|
||||
~HOMARD_Iteration();
|
||||
|
||||
// Generalites
|
||||
void SetName( const char* Name );
|
||||
std::string GetName() const;
|
||||
|
||||
std::string GetDumpPython() const;
|
||||
|
||||
// Caracteristiques
|
||||
void SetDirNameLoc( const char* NomDir );
|
||||
std::string GetDirNameLoc() const;
|
||||
|
||||
void SetNumber( int NumIter );
|
||||
int GetNumber() const;
|
||||
|
||||
void SetState( int etat );
|
||||
int GetState() const;
|
||||
|
||||
void SetMeshName( const char* NomMesh );
|
||||
std::string GetMeshName() const;
|
||||
|
||||
void SetMeshFile( const char* MeshFile );
|
||||
std::string GetMeshFile() const;
|
||||
|
||||
void SetFieldFile( const char* FieldFile );
|
||||
std::string GetFieldFile() const;
|
||||
// Instants pour le champ de pilotage
|
||||
void SetTimeStep( int TimeStep );
|
||||
void SetTimeStepRank( int TimeStep, int Rank );
|
||||
void SetTimeStepRankLast();
|
||||
int GetTimeStep() const;
|
||||
int GetRank() const;
|
||||
// Instants pour un champ a interpoler
|
||||
void SetFieldInterpTimeStep( const char* FieldInterp, int TimeStep );
|
||||
void SetFieldInterpTimeStepRank( const char* FieldInterp, int TimeStep, int Rank );
|
||||
const std::list<std::string>& GetFieldInterpsTimeStepRank() const;
|
||||
void SetFieldInterp( const char* FieldInterp );
|
||||
const std::list<std::string>& GetFieldInterps() const;
|
||||
void SupprFieldInterps();
|
||||
|
||||
void SetLogFile( const char* LogFile );
|
||||
std::string GetLogFile() const;
|
||||
|
||||
void SetFileInfo( const char* FileInfo );
|
||||
std::string GetFileInfo() const;
|
||||
|
||||
// Liens avec les autres iterations
|
||||
void LinkNextIteration( const char* NomIteration );
|
||||
void UnLinkNextIteration( const char* NomIteration );
|
||||
void UnLinkNextIterations();
|
||||
const std::list<std::string>& GetIterations() const;
|
||||
|
||||
void SetIterParentName( const char* iterParent );
|
||||
std::string GetIterParentName() const;
|
||||
|
||||
// Liens avec les autres structures
|
||||
void SetCaseName( const char* NomCas );
|
||||
std::string GetCaseName() const;
|
||||
|
||||
void SetHypoName( const char* NomHypo );
|
||||
std::string GetHypoName() const;
|
||||
|
||||
// Divers
|
||||
void SetInfoCompute( int MessInfo );
|
||||
int GetInfoCompute() const;
|
||||
|
||||
private:
|
||||
std::string _Name;
|
||||
int _Etat;
|
||||
int _NumIter;
|
||||
std::string _NomMesh;
|
||||
std::string _MeshFile;
|
||||
std::string _FieldFile;
|
||||
int _TimeStep;
|
||||
int _Rank;
|
||||
std::string _LogFile;
|
||||
std::string _IterParent;
|
||||
std::string _NomHypo;
|
||||
std::string _NomCas;
|
||||
std::string _NomDir;
|
||||
std::list<std::string> _mesIterFilles;
|
||||
std::string _FileInfo;
|
||||
int _MessInfo;
|
||||
// La liste des champs retenus par l'hypothese
|
||||
std::list<std::string> _ListFieldInterp;
|
||||
// La liste des triplets (champs, pas de temps, numero d'ordre) retenus par l'iteration
|
||||
std::list<std::string> _ListFieldInterpTSR;
|
||||
};
|
||||
|
||||
}; // namespace SMESHHOMARDImpl
|
||||
|
||||
#endif
|
@ -150,6 +150,9 @@ SET(_moc_HEADERS
|
||||
SMESHGUI_PreVisualObj.h
|
||||
SMESHGUI_MG_ADAPTDRIVER.h
|
||||
SMESHGUI_MgAdaptDlg.h
|
||||
SMESHGUI_HomardAdaptDlg.h
|
||||
SMESHGUI_HomardBoundaryDlg.h
|
||||
SMESHGUI_HomardListGroup.h
|
||||
)
|
||||
|
||||
# header files / no moc processing
|
||||
@ -172,6 +175,7 @@ SET(_other_HEADERS
|
||||
SMESHGUI_FileValidator.h
|
||||
SMESHGUI_SelectionProxy.h
|
||||
SMESH_SMESHGUI.hxx
|
||||
SMESHGUI_HomardUtils.h
|
||||
)
|
||||
|
||||
# header files / to install
|
||||
@ -267,6 +271,10 @@ SET(_other_SOURCES
|
||||
SMESHGUI_IdPreview.cxx
|
||||
SMESHGUI_MG_ADAPTDRIVER.cxx
|
||||
SMESHGUI_MgAdaptDlg.cxx
|
||||
SMESHGUI_HomardUtils.cxx
|
||||
SMESHGUI_HomardAdaptDlg.cxx
|
||||
SMESHGUI_HomardBoundaryDlg.cxx
|
||||
SMESHGUI_HomardListGroup.cxx
|
||||
)
|
||||
|
||||
# sources / to compile
|
||||
@ -280,6 +288,9 @@ SET(_ts_RESOURCES
|
||||
SMESH_msg_en.ts
|
||||
SMESH_msg_fr.ts
|
||||
SMESH_msg_ja.ts
|
||||
HOMARD_msg_en.ts
|
||||
HOMARD_msg_fr.ts
|
||||
HOMARD_msg_ja.ts
|
||||
)
|
||||
|
||||
# --- rules ---
|
||||
|
271
src/SMESHGUI/HOMARD_msg_en.ts
Normal file
271
src/SMESHGUI/HOMARD_msg_en.ts
Normal file
@ -0,0 +1,271 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!DOCTYPE TS>
|
||||
<TS version="2.0" language="en_GB">
|
||||
<context>
|
||||
<name>@default</name>
|
||||
<message>
|
||||
<source>ADAPT_WITH_HOMARD</source>
|
||||
<translation>Adaptation with HOMARD</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>HOM_WARNING</source>
|
||||
<translation>Warning</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>HOM_ERROR</source>
|
||||
<translation>Error</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>HOM_INACTIVE_BUTTON</source>
|
||||
<translation>Inactive button</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>HOM_SELECT_OBJECT_1</source>
|
||||
<translation>Select an object.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>HOM_SELECT_OBJECT_2</source>
|
||||
<translation>Select only one object.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>HOM_SELECT_OBJECT_3</source>
|
||||
<translation>Select an object with type %1.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>HOM_SELECT_OBJECT_4</source>
|
||||
<translation>The name of the object is already selected. Modify it or cancel.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>HOM_SELECT_FILE_0</source>
|
||||
<translation>File selection</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>HOM_SELECT_FILE_1</source>
|
||||
<translation>Select a file.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>HOM_SELECT_FILE_2</source>
|
||||
<translation>Select only one file.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>HOM_SELECT_FILE_3</source>
|
||||
<translation>This file cannot be opened.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>HOM_SCRIPT_FILE</source>
|
||||
<translation>A script file must be given.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>HOM_MED_FILE_1</source>
|
||||
<translation>This MED file cannot be read.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>HOM_MED_FILE_2</source>
|
||||
<translation>No mesh in this MED file.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>HOM_MED_FILE_3</source>
|
||||
<translation>More than one mesh in this MED file.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>HOM_MED_FILE_4</source>
|
||||
<translation>The mesh in this MED file cannot be read.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>HOM_MED_FILE_5</source>
|
||||
<translation>No field in this MED file.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>HOM_MED_FILE_6</source>
|
||||
<translation>The field(s) in this MED file cannot be read.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>HOM_SELECT_STUDY</source>
|
||||
<translation>Select a study object with associated MED file \n or select a MED file.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>HOM_CASE_NAME</source>
|
||||
<translation>The case must be named.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>HOM_CASE_DIRECTORY_1</source>
|
||||
<translation>A directory for the case must be selected.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>HOM_CASE_DIRECTORY_2</source>
|
||||
<translation>This directory is already used by the case </translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>HOM_CASE_DIRECTORY_3</source>
|
||||
<translation>A valid directory for the case must be selected.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>HOM_CASE_DIRECTORY_4</source>
|
||||
<translation>A directory for the computation must be selected.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>HOM_START_DIRECTORY_1</source>
|
||||
<translation>A starting directory for the pursuit must be selected.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>HOM_START_DIRECTORY_3</source>
|
||||
<translation>A valid directory for the pursuit must be selected.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>HOM_CASE_MESH</source>
|
||||
<translation>The file of the initial mesh must be selected.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>HOM_CASE_GROUP</source>
|
||||
<translation>The group "%1" cannot be given for more than 1 boundary.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>HOM_CASE_EDIT_WINDOW_TITLE</source>
|
||||
<translation>Edition of a case</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>HOM_CASE_EDIT_STATE_0</source>
|
||||
<translation>Initial mesh.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>HOM_CASE_EDIT_STATE</source>
|
||||
<translation>Pursuit of an iteration.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>HOM_CASE_PURSUE_WINDOW_TITLE</source>
|
||||
<translation>Case: pursuit of a stored iteration</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>HOM_ITER_NAME</source>
|
||||
<translation>The iteration must be named.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>HOM_ITER_STARTING_POINT</source>
|
||||
<translation>The previous iteration must be given.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>HOM_ITER_MESH</source>
|
||||
<translation>Give a name for the final mesh.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>HOM_ITER_HYPO</source>
|
||||
<translation>A hypothesis must be selected.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>HOM_ITER_FIELD_FILE</source>
|
||||
<translation>With this hypothesis, a file for the field must be given.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>HOM_ITER_STARTING_POINT_0</source>
|
||||
<translation>Mesh</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>HOM_ITER_STARTING_POINT_1</source>
|
||||
<translation>First iteration of the case.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>HOM_ITER_STARTING_POINT_2</source>
|
||||
<translation>First iteration of the case for the pursuit.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>HOM_ITER_EDIT_WINDOW_TITLE</source>
|
||||
<translation>Edition of an iteration</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>HOM_HYPO_NAME</source>
|
||||
<translation>The hypothesis must be named.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>HOM_HYPO_FIELD_FILE</source>
|
||||
<translation>A file for the field must be given.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>HOM_HYPO_NORM_L2</source>
|
||||
<translation>L2 norm</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>HOM_HYPO_NORM_INF</source>
|
||||
<translation>Infinite norm</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>HOM_HYPO_NORM_ABS</source>
|
||||
<translation>Absolute</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>HOM_HYPO_NORM_REL</source>
|
||||
<translation>Relative</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>HOM_HYPO_COMP</source>
|
||||
<translation>At least, one component must be selected.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>HOM_HYPO_EDIT_WINDOW_TITLE</source>
|
||||
<translation>Edition of a hypothesis</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>HOM_BOUN_NAME</source>
|
||||
<translation>The boundary must be named.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>HOM_BOUN_MESH</source>
|
||||
<translation>The file for the mesh of the boundary must be selected.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>HOM_BOUN_CAO</source>
|
||||
<translation>The file for the CAO must be selected.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>HOM_BOUN_CASE</source>
|
||||
<translation>The meshfile of the case is unknown.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>HOM_AXE</source>
|
||||
<translation>The axis must be a non 0 vector.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>HOM_BOUN_C_EDIT_WINDOW_TITLE</source>
|
||||
<translation>Edition of a CAO based boundary</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>HOM_BOUN_A_EDIT_WINDOW_TITLE</source>
|
||||
<translation>Edition of an analytical boundary</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>HOM_BOUN_D_EDIT_WINDOW_TITLE</source>
|
||||
<translation>Edition of a discrete boundary</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>HOM_GROU_EDIT_WINDOW_TITLE</source>
|
||||
<translation>Selected groups</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>HOM_MESH_INFO_0</source>
|
||||
<translation>Mesh analysis</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>HOM_MESH_INFO_1</source>
|
||||
<translation>Select at least one option.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>HOM_MESH_INFO_2</source>
|
||||
<translation>Analysis in the object browser, file </translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>PREF_TAB_GENERAL</source>
|
||||
<translation>General</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>PREF_PUBLICATION</source>
|
||||
<translation>Publication</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>PREF_PUBLICATION_MAILLAGE_IN</source>
|
||||
<translation>IN meshes</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>PREF_PUBLICATION_MAILLAGE_OUT</source>
|
||||
<translation>OUT meshes</translation>
|
||||
</message>
|
||||
</context>
|
||||
</TS>
|
947
src/SMESHGUI/HOMARD_msg_fr.ts
Normal file
947
src/SMESHGUI/HOMARD_msg_fr.ts
Normal file
@ -0,0 +1,947 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!DOCTYPE TS>
|
||||
<TS version="2.0" language="fr_FR">
|
||||
<context>
|
||||
<name>@default</name>
|
||||
<message>
|
||||
<source>HOM_WARNING</source>
|
||||
<translation>Avertissement</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>HOM_ERROR</source>
|
||||
<translation>Erreur</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>HOM_INACTIVE_BUTTON</source>
|
||||
<translation>Bouton inactif</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>OK</source>
|
||||
<translation>Appliquer et fermer</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Apply</source>
|
||||
<translation>Appliquer</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Cancel</source>
|
||||
<translation>Annuler</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Help</source>
|
||||
<translation>Aide</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>New</source>
|
||||
<translation>Nouveau</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Edit</source>
|
||||
<translation>Editer</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Quit</source>
|
||||
<translation>Quitter</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Name</source>
|
||||
<translation>Nom</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Directory</source>
|
||||
<translation>Répertoire</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Mesh</source>
|
||||
<translation>Maillage</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Selection</source>
|
||||
<translation>Sélection</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>None</source>
|
||||
<translation>Aucun</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>All</source>
|
||||
<translation>Tout</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>HOM_SELECT_OBJECT_1</source>
|
||||
<translation>Sélectionner un objet.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>HOM_SELECT_OBJECT_2</source>
|
||||
<translation>Sélectionner un seul objet.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>HOM_SELECT_OBJECT_3</source>
|
||||
<translation>Sélectionner un objet de type %1.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>HOM_SELECT_OBJECT_4</source>
|
||||
<translation>Le nom est déjà choisi. Modifiez le ou annulez la saisie.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>HOM_SELECT_FILE_0</source>
|
||||
<translation>Choix de fichier</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>HOM_SELECT_FILE_1</source>
|
||||
<translation>Sélectionner un fichier.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>HOM_SELECT_FILE_2</source>
|
||||
<translation>Sélectionner un seul fichier.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>HOM_SELECT_FILE_3</source>
|
||||
<translation>Impossible d'ouvrir ce fichier.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>HOM_SCRIPT_FILE</source>
|
||||
<translation>Il faut donner un fichier pour le script python.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>HOM_MED_FILE_1</source>
|
||||
<translation>Ce fichier MED est illisible.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>HOM_MED_FILE_2</source>
|
||||
<translation>Ce fichier MED ne contient aucun maillage.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>HOM_MED_FILE_3</source>
|
||||
<translation>Ce fichier MED contient plus d'un maillage.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>HOM_MED_FILE_4</source>
|
||||
<translation>Impossible de lire le maillage de ce fichier MED.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>HOM_MED_FILE_5</source>
|
||||
<translation>Ce fichier MED ne contient aucun champ.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>HOM_MED_FILE_6</source>
|
||||
<translation>Impossible de lire le(s) champ(s) de ce fichier MED.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>HOM_SELECT_STUDY</source>
|
||||
<translation>Sélectionner une étude avec un fichier MED associé\n ou sélectionner un fichier MED.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Create a case</source>
|
||||
<translation>Création d'un cas</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>HOM_CASE_NAME</source>
|
||||
<translation>Il faut donner un nom au cas.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>HOM_CASE_DIRECTORY_1</source>
|
||||
<translation>Il faut choisir un répertoire de travail pour le cas.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>HOM_CASE_DIRECTORY_2</source>
|
||||
<translation>Ce répertoire est déjà utilisé par le cas </translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>HOM_CASE_DIRECTORY_3</source>
|
||||
<translation>Un répertoire valide doit être choisi.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>HOM_CASE_DIRECTORY_4</source>
|
||||
<translation>Il faut choisir un répertoire de travail pour le calcul.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>HOM_START_DIRECTORY_1</source>
|
||||
<translation>Il faut choisir un répertoire contenant l'itération à poursuivre.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>HOM_START_DIRECTORY_3</source>
|
||||
<translation>Un répertoire valide contenant l'itération à poursuivre doit être choisi.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>HOM_CASE_MESH</source>
|
||||
<translation>Il faut choisir le maillage initial.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>HOM_CASE_GROUP</source>
|
||||
<translation>Le groupe "%1" ne peut pas être attribué à plus d'une frontière.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>HOM_CASE_EDIT_WINDOW_TITLE</source>
|
||||
<translation>Edition d'un cas</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>HOM_CASE_EDIT_STATE_0</source>
|
||||
<translation>Maillage initial.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>HOM_CASE_EDIT_STATE</source>
|
||||
<translation>Poursuite d'une itération.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>HOM_CASE_PURSUE_WINDOW_TITLE</source>
|
||||
<translation>Cas de poursuite d'une itération</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The configuration file cannot be found.</source>
|
||||
<translation>Le fichier de configuration de HOMARD est introuvable.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The configuration file cannot be read.</source>
|
||||
<translation>Le fichier de configuration de HOMARD est illisible.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The HOMARD mesh file cannot be found.</source>
|
||||
<translation>Le fichier de maillage de HOMARD est introuvable.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>HOM_ITER_NAME</source>
|
||||
<translation>Il faut donner un nom à l'itération.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>HOM_ITER_STARTING_POINT</source>
|
||||
<translation>Il faut désigner l'itération précédente.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>HOM_ITER_MESH</source>
|
||||
<translation>Donner le nom du maillage final.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>HOM_ITER_HYPO</source>
|
||||
<translation>Choisir une hypothèse.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>HOM_ITER_FIELD_FILE</source>
|
||||
<translation>Avec cette hypothèse, il faut fournir le fichier du champ.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>HOM_ITER_STARTING_POINT_0</source>
|
||||
<translation>Maillage</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>HOM_ITER_STARTING_POINT_1</source>
|
||||
<translation>Itération initiale du cas.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>HOM_ITER_STARTING_POINT_2</source>
|
||||
<translation>Itération initiale du cas pour la poursuite.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>HOM_ITER_EDIT_WINDOW_TITLE</source>
|
||||
<translation>Edition d'une itération</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Boundary type</source>
|
||||
<translation>Type de frontière</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>No boundary</source>
|
||||
<translation>Pas de frontière</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Non CAO</source>
|
||||
<translation>Autre que CAO</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Discrete boundary</source>
|
||||
<translation>Frontière discrète</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Analytical boundary</source>
|
||||
<translation>Frontière analytique</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Conformity type</source>
|
||||
<translation>Type de conformité</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Conformal</source>
|
||||
<translation>Conforme</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Non conformal</source>
|
||||
<translation>Non conforme</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Non conformal option</source>
|
||||
<translation>Option de non conformité</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Conformity +</source>
|
||||
<translation>Conformité +</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Free</source>
|
||||
<translation>Libre</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>1 hanging node per mesh</source>
|
||||
<translation>1 noeud pendant par maille</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>1 node per edge</source>
|
||||
<translation>1 noeud pendant par arête</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Advanced options</source>
|
||||
<translation>Options avancées</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Authorized pyramids</source>
|
||||
<translation>Pyramides autorisées</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Minimal diameter</source>
|
||||
<translation>Diamètre minimal</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Initialization of adaptation</source>
|
||||
<translation>Initialisation de l'adaptation</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Maximal level</source>
|
||||
<translation>Niveau maximal</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Output of the level of refinement</source>
|
||||
<translation>Sortie du niveau de raffinement</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Output of the qualities</source>
|
||||
<translation>Sortie des qualités</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Output of the diameters</source>
|
||||
<translation>Sortie des diamètres</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Output of the parents</source>
|
||||
<translation>Sortie des parents</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Output of the neighbours</source>
|
||||
<translation>Sortie des voisins</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Create an iteration</source>
|
||||
<translation>Création d'une itération</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Iteration Name</source>
|
||||
<translation>Nom de l'itération</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Previous iteration</source>
|
||||
<translation>Itération précédente</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Invalid boundary</source>
|
||||
<translation>Frontière non valable</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Invalid case</source>
|
||||
<translation>Cas non valable</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Invalid case context</source>
|
||||
<translation>Cas contextuel non valable</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Invalid hypothesis</source>
|
||||
<translation>Hypothèse non valable</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Invalid iteration</source>
|
||||
<translation>Itération non valable</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>This boundary has already been defined.</source>
|
||||
<translation>Cette frontière est déjà définie.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>This case has already been defined.</source>
|
||||
<translation>Ce cas est déjà défini.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>This hypothesis has already been defined.</source>
|
||||
<translation>Cette hypothèse est déjà définie.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>This iteration has already been defined.</source>
|
||||
<translation>Cette itération est déjà définie.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The parent iteration is not defined.</source>
|
||||
<translation>L'itération parent n'est pas définie.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Unable to create the iteration.</source>
|
||||
<translation>Impossible de créer l'itération.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The directory for the computation cannot be created.</source>
|
||||
<translation>Impossible de créer le répertoire pour le calcul de l'itération.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>This iteration is the first of the case and cannot be computed.</source>
|
||||
<translation>Cette itération définit le point de départ du cas. Elle ne peut pas être calculée.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>This iteration does not have any associated hypothesis.</source>
|
||||
<translation>Cette itération n'est associée à aucune hypothèse.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The mesh file does not exist.</source>
|
||||
<translation>Le fichier du maillage n'existe pas.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The mesh file cannot be deleted.</source>
|
||||
<translation>Impossible de supprimer le fichier du maillage.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Mesh n</source>
|
||||
<translation>Maillage n</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Mesh n+1</source>
|
||||
<translation>Maillage n+1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Field information</source>
|
||||
<translation>Information sur les champs</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Field file</source>
|
||||
<translation>Fichier des champs</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>No time step</source>
|
||||
<translation>Sans pas de temps</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Last time step</source>
|
||||
<translation>Dernier pas de temps</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Chosen time step</source>
|
||||
<translation>Pas de temps choisi</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Time step</source>
|
||||
<translation>Pas de temps</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Rank</source>
|
||||
<translation>Numéro d'ordre</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Hypothesis</source>
|
||||
<translation>Hypothèse</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Create a hypothesis</source>
|
||||
<translation>Création d'une hypothèse</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>HOM_HYPO_NAME</source>
|
||||
<translation>Il faut donner un nom à l'hypothèse.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>HOM_HYPO_FIELD_FILE</source>
|
||||
<translation>Il faut fournir le fichier du champ.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>HOM_HYPO_NORM_L2</source>
|
||||
<translation>Norme L2</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>HOM_HYPO_NORM_INF</source>
|
||||
<translation>Norme infinie</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>HOM_HYPO_NORM_ABS</source>
|
||||
<translation>Absolu</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>HOM_HYPO_NORM_REL</source>
|
||||
<translation>Relatif</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>HOM_HYPO_COMP</source>
|
||||
<translation>Il faut choisir au moins une composante.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>HOM_HYPO_EDIT_WINDOW_TITLE</source>
|
||||
<translation>Edition d'une hypothèse</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Type of adaptation</source>
|
||||
<translation>Type d'adaptation</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Uniform</source>
|
||||
<translation>Uniforme</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Driven by a field</source>
|
||||
<translation>Pilotage par un champ</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Uniform adaptation</source>
|
||||
<translation>Adaptation uniforme</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Coarsening</source>
|
||||
<translation>Déraffinement</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Refinement</source>
|
||||
<translation>Raffinement</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Nothing</source>
|
||||
<translation>Rien</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>File of the fields</source>
|
||||
<translation>Fichier des champs</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Governing field for the adaptation</source>
|
||||
<translation>Champ pilotant l'adaptation</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Field name</source>
|
||||
<translation>Nom du champ</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Jump between elements</source>
|
||||
<translation>Saut entre éléments</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Component</source>
|
||||
<translation>Composante</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Refinement threshold</source>
|
||||
<translation>Seuil de raffinement</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Coarsening threshold</source>
|
||||
<translation>Seuil de déraffinement</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Percentage of meshes</source>
|
||||
<translation>Pourcentage de mailles</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Mean + n*(std deviation)</source>
|
||||
<translation>Moyenne + n*(ecart-type)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>No refinement</source>
|
||||
<translation>Sans raffinement</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Mean - n*(std deviation)</source>
|
||||
<translation>Moyenne - n*(ecart-type)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>No coarsening</source>
|
||||
<translation>Sans déraffinement</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Field Interpolation</source>
|
||||
<translation>Interpolation des champs</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Chosen</source>
|
||||
<translation>Choisi</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Box</source>
|
||||
<translation>Boîte</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Sphere</source>
|
||||
<translation>Sphère</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Cylinder</source>
|
||||
<translation>Cylindre</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Disk</source>
|
||||
<translation>Disque</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Disk with hole</source>
|
||||
<translation>Disque avec trou</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Pipe</source>
|
||||
<translation>Tuyau</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Coordinates</source>
|
||||
<translation>Coordonnées</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Get CAO</source>
|
||||
<translation>Acquisition de la CAO</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Create an analytical boundary</source>
|
||||
<translation>Création d'une frontière analytique</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Create a discrete boundary</source>
|
||||
<translation>Création d'une frontière discrète</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Type of boundary</source>
|
||||
<translation>Type de la frontière</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Torus</source>
|
||||
<translation>Tore</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Radius</source>
|
||||
<translation>Rayon</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Radius 1</source>
|
||||
<translation>Rayon 1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Radius 2</source>
|
||||
<translation>Rayon 2</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>External radius</source>
|
||||
<translation>Rayon externe</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Internal radius</source>
|
||||
<translation>Rayon interne</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Height</source>
|
||||
<translation>Hauteur</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>X axis</source>
|
||||
<translation>X axe</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Y axis</source>
|
||||
<translation>Y axe</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Z axis</source>
|
||||
<translation>Z axe</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>R revolution</source>
|
||||
<translation>R révolution</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Primary R</source>
|
||||
<translation>R primaire</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>HOM_BOUN_NAME</source>
|
||||
<translation>Il faut donner un nom à la frontière.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>HOM_BOUN_MESH</source>
|
||||
<translation>Il faut choisir le fichier qui contient le maillage de la frontière discrète.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>HOM_BOUN_CAO</source>
|
||||
<translation>Il faut choisir le fichier qui contient la CAO.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>HOM_BOUN_CASE</source>
|
||||
<translation>Le fichier du maillage du cas est inconnu.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>HOM_AXE</source>
|
||||
<translation>L'axe doit être un vecteur non nul.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>HOM_BOUN_C_EDIT_WINDOW_TITLE</source>
|
||||
<translation>Edition d'une frontière basée sur une CAO</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>HOM_BOUN_A_EDIT_WINDOW_TITLE</source>
|
||||
<translation>Edition d'une frontière analytique</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>HOM_BOUN_D_EDIT_WINDOW_TITLE</source>
|
||||
<translation>Edition d'une frontière discrète</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>HOM_GROU_EDIT_WINDOW_TITLE</source>
|
||||
<translation>Groupes choisis</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The height must be positive.</source>
|
||||
<translation>La hauteur doit être positive.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The radius must be positive.</source>
|
||||
<translation>Un rayon doit être positif.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The axis must be a non 0 vector.</source>
|
||||
<translation>L'axe doit être un vecteur non nul.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The angle must be included higher than 0 degree and lower than 90 degrees.</source>
|
||||
<translation>L'angle doit être compris entre 0 et 90 degrés.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The radius must be different.</source>
|
||||
<translation>Les rayons doivent être différents.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The centers must be different.</source>
|
||||
<translation>Les centres doivent être différents.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The external radius must be higher than the internal radius.</source>
|
||||
<translation>Le rayon externe doit être supérieur au rayon interne.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The X coordinates are not coherent.</source>
|
||||
<translation>Les coordonnées en X ne sont pas cohérentes.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The Y coordinates are not coherent.</source>
|
||||
<translation>Les coordonnées en Y ne sont pas cohérentes.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The Z coordinates are not coherent.</source>
|
||||
<translation>Les coordonnées en Z ne sont pas cohérentes.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The first coordinates are not coherent.</source>
|
||||
<translation>Les premières coordonnées ne sont pas cohérentes.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The second coordinates are not coherent.</source>
|
||||
<translation>Les secondes coordonnées ne sont pas cohérentes.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The orientation must be 1, 2 or 3.</source>
|
||||
<translation>L'orientation vaut 1, 2 ou 3.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>HOM_MESH_INFO_0</source>
|
||||
<translation>Analyse de maillage</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>HOM_MESH_INFO_1</source>
|
||||
<translation>Choisir au moins une option.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>HOM_MESH_INFO_2</source>
|
||||
<translation>Bilan de l'analyse dans l'arbre d'études, fichier </translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Filtering with groups</source>
|
||||
<translation>Filtrage par les groupes</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Selection of groups</source>
|
||||
<translation>Choix des groupes</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Selected groups</source>
|
||||
<translation>Groupes choisis</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Group</source>
|
||||
<translation>Groupe</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Information on a mesh</source>
|
||||
<translation>Analyse d'un maillage</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Group size</source>
|
||||
<translation>Taille des domaines</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Quality</source>
|
||||
<translation>Qualité</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Connection</source>
|
||||
<translation>Connexité</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Diametre</source>
|
||||
<translation>Diamètre</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Entanglement</source>
|
||||
<translation>Interpénétration</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>No change is allowed in a boundary. Ask for evolution.</source>
|
||||
<translation>Impossible de changer une donnée dans une frontière. Demander une évolution.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>This boundary is used in a case and cannot be deleted.</source>
|
||||
<translation>Cette frontière est utilisée dans un cas ; elle ne peut pas être détruite.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>This hypothesis is used and cannot be deleted.</source>
|
||||
<translation>Cette hypothèse est utilisée dans une itération ; elle ne peut pas être détruite.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>This iteration cannot be deleted.</source>
|
||||
<translation>Cette itération ne peut pas être détruite.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The directory for the calculation cannot be cleared.</source>
|
||||
<translation>Menage du repertoire de calcul impossible</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Starting point</source>
|
||||
<translation>Point de départ</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>From an iteration</source>
|
||||
<translation>A partir d'une itération</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>From a case</source>
|
||||
<translation>A partir d'un cas</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Iteration into the case</source>
|
||||
<translation>Choix d'une itération dans le cas</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Last iteration</source>
|
||||
<translation>A partir de la dernière itération</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Iteration number</source>
|
||||
<translation>A partir d'une itération numérotée</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The directory of the case does not exist.</source>
|
||||
<translation>Le répertoire du cas n'existe pas.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The directory for the case cannot be modified because some iterations are already defined.</source>
|
||||
<translation>Impossible de changer le répertoire du cas car des itérations ont déjà été définies.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The directory for the case cannot be reached.</source>
|
||||
<translation>Impossible d'atteindre ce répertoire pour le cas.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The starting point for the case cannot be copied into the working directory.</source>
|
||||
<translation>Impossible de copier le point de départ du cas dans le répertoire de travail.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The starting point for the case cannot be moved into the new directory.</source>
|
||||
<translation>Impossible de déplacer le point de départ du cas dans le nouveau répertoire.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The directory of the case for the pursuit does not exist.</source>
|
||||
<translation>Le répertoire du cas de reprise n'existe pas.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The directory of the iteration does not exist.</source>
|
||||
<translation>Le répertoire de l'itération de reprise n'existe pas.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The number of iteration must be positive.</source>
|
||||
<translation>Le numéro de l'itération doit etre positif.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Number of iteration</source>
|
||||
<translation>Numéro de l'itération</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Case</source>
|
||||
<translation>Cas</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Mesh file</source>
|
||||
<translation>Maillage initial</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Constant</source>
|
||||
<translation>Constant</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Variable</source>
|
||||
<translation>Variable</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Type of schema</source>
|
||||
<translation>Type de schema</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Maximum of ...</source>
|
||||
<translation>Maximum de ...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Iterations</source>
|
||||
<translation>Itérations</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Nodes</source>
|
||||
<translation>Noeuds</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Elements</source>
|
||||
<translation>Eléments</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Test of convergence</source>
|
||||
<translation>Test de convergence</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Edit a file</source>
|
||||
<translation>Affichage d'un fichier</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Print</source>
|
||||
<translation>Imprimer</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Invalid study context</source>
|
||||
<translation>Etude contextuelle non valable</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>PREF_TAB_GENERAL</source>
|
||||
<translation>Général</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>PREF_PUBLICATION</source>
|
||||
<translation>Publication</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>PREF_PUBLICATION_MAILLAGE_IN</source>
|
||||
<translation>Les maillages d'entrée</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>PREF_PUBLICATION_MAILLAGE_OUT</source>
|
||||
<translation>Les maillages de sortie</translation>
|
||||
</message>
|
||||
</context>
|
||||
</TS>
|
920
src/SMESHGUI/HOMARD_msg_ja.ts
Normal file
920
src/SMESHGUI/HOMARD_msg_ja.ts
Normal file
@ -0,0 +1,920 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!DOCTYPE TS>
|
||||
<TS version="2.0" language="ja" sourcelanguage="en">
|
||||
<context>
|
||||
<name>@default</name>
|
||||
<message>
|
||||
<source>HOM_WARNING</source>
|
||||
<translation>警告</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>HOM_ERROR</source>
|
||||
<translation>エラー</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>HOM_INACTIVE_BUTTON</source>
|
||||
<translation>アクティブでないボタン</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>OK</source>
|
||||
<translation>Ok</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Apply</source>
|
||||
<translation>適用</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Cancel</source>
|
||||
<translation>キャンセル</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Help</source>
|
||||
<translation>ヘルプ</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>New</source>
|
||||
<translation>新規</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Edit</source>
|
||||
<translation>編集</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Quit</source>
|
||||
<translation>終了</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Name</source>
|
||||
<translation>名前</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Directory</source>
|
||||
<translation>ディレクトリ</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Mesh</source>
|
||||
<translation>メッシュ</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Selection</source>
|
||||
<translation>選択</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>None</source>
|
||||
<translation>なし</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>All</source>
|
||||
<translation>全て</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>HOM_SELECT_OBJECT_1</source>
|
||||
<translation>オブジェクトを選択します。</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>HOM_SELECT_OBJECT_2</source>
|
||||
<translation>1 つのオブジェクトを選択します。</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>HOM_SELECT_OBJECT_3</source>
|
||||
<translation>型 %1 のオブジェクトを選択します。</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>HOM_SELECT_OBJECT_4</source>
|
||||
<translation>The name of the object is already selected. Modify it or cancel.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>HOM_SELECT_FILE_0</source>
|
||||
<translation>ファイル選択</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>HOM_SELECT_FILE_1</source>
|
||||
<translation>ファイルを選択します。</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>HOM_SELECT_FILE_2</source>
|
||||
<translation>1 つのファイルを選択します。</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>HOM_SELECT_FILE_3</source>
|
||||
<translation>このファイルを開くことができません。</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>HOM_SCRIPT_FILE</source>
|
||||
<translation>我々 は python スクリプトにファイルを与える必要があります。</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>HOM_MED_FILE_1</source>
|
||||
<translation>この医学ファイルは読み取り不可能です。</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>HOM_MED_FILE_2</source>
|
||||
<translation>この医学のファイルには、メッシュが含まれていません。</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>HOM_MED_FILE_3</source>
|
||||
<translation>この医学のファイルにはよりも 1 つのメッシュが含まれています。</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>HOM_MED_FILE_4</source>
|
||||
<translation>音楽配信マック & ファイルのメッシュを読み取れませんでした。</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>HOM_MED_FILE_5</source>
|
||||
<translation>この医学のファイルには、フィールドが含まれていません。</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>HOM_MED_FILE_6</source>
|
||||
<translation>医学ファイル (秒) (秒) フィールドを読み取ることができません。</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>HOM_SELECT_STUDY</source>
|
||||
<translation>研究医 associe
|
||||
のファイルを選択または医学ファイルを選択します。</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Create a case</source>
|
||||
<translation>ケースの作成</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>HOM_CASE_NAME</source>
|
||||
<translation>場合に名前を付ける必要があります。</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>HOM_CASE_DIRECTORY_1</source>
|
||||
<translation>1 つの場合を動作するようにディレクトリを選択する必要があります。</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>HOM_CASE_DIRECTORY_2</source>
|
||||
<translation>このディレクトリは、既に使用中です。</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>HOM_CASE_DIRECTORY_3</source>
|
||||
<translation>有効なディレクトリを選択する必要があります。</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>HOM_CASE_DIRECTORY_4</source>
|
||||
<translation>計算のための作業ディレクトリを選択する必要があります。</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>HOM_START_DIRECTORY_1</source>
|
||||
<translation>追跡のため開始点を選択する必要があります。</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>HOM_START_DIRECTORY_3</source>
|
||||
<translation>追跡のため有効な方向を選択する必要があります。</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>HOM_CASE_MESH</source>
|
||||
<translation>1 つは、初期のメッシュを選択する必要があります。</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>HOM_CASE_GROUP</source>
|
||||
<translation>グループ"%1"は、以上の境界線に割り当てることはできません。</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>HOM_CASE_EDIT_WINDOW_TITLE</source>
|
||||
<translation>場合の編集</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>HOM_CASE_EDIT_STATE_0</source>
|
||||
<translation>初期メッシュ。</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>HOM_CASE_EDIT_STATE</source>
|
||||
<translation>イテレーションの継続。</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>HOM_CASE_PURSUE_WINDOW_TITLE</source>
|
||||
<translation>イテレーションの追跡</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The configuration file cannot be found.</source>
|
||||
<translation>コンフィギュレーションファイルが見つかりません。</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The configuration file cannot be read.</source>
|
||||
<translation>コンフィギュレーションファイルが読み込めません。</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The HOMARD mesh file cannot be found.</source>
|
||||
<translation>HOMARDメッシュファイルが見つかりません。</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>HOM_ITER_NAME</source>
|
||||
<translation>名前を反復処理する必要があります。</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>HOM_ITER_STARTING_POINT</source>
|
||||
<translation>これは、前のイテレーションを指定する必要があります。</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>HOM_ITER_MESH</source>
|
||||
<translation>最終的なメッシュの名前。</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>HOM_ITER_HYPO</source>
|
||||
<translation>仮説を選択します。</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>HOM_ITER_FIELD_FILE</source>
|
||||
<translation>この前提には、ファイルのフィールドを指定する必要があります。</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>HOM_ITER_STARTING_POINT_0</source>
|
||||
<translation>メッシュ</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>HOM_ITER_STARTING_POINT_1</source>
|
||||
<translation>ケースの最初のイテレーションです。</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>HOM_ITER_STARTING_POINT_2</source>
|
||||
<translation>検察側の事件の最初のイテレーションです。</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>HOM_ITER_EDIT_WINDOW_TITLE</source>
|
||||
<translation>イテレーションの編集</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Discrete boundary</source>
|
||||
<translation>離散境界</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Analytical boundary</source>
|
||||
<translation>解析的境界</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Conformity type</source>
|
||||
<translation>適合タイプ</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Conformal</source>
|
||||
<translation>等角</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Non conformal</source>
|
||||
<translation>非共形</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Non conformal option</source>
|
||||
<translation>非共形オプション</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Conformity +</source>
|
||||
<translation>適合性 +</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Free</source>
|
||||
<translation>Free</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>1 hanging node per mesh</source>
|
||||
<translation>メッシュあたりの1接続節点</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>1 node per edge</source>
|
||||
<translation>エッジ辺りの1節点</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Advanced options</source>
|
||||
<translation>詳細オプション</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Authorized pyramids</source>
|
||||
<translation>認定済みピラミッド</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Minimal diameter</source>
|
||||
<translation>最小径</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Initialization of adaptation</source>
|
||||
<translation>適応の初期化</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Maximal level</source>
|
||||
<translation>最大レベル</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Output of the level of refinement</source>
|
||||
<translation>リファインレベルの出力</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Output of the qualities</source>
|
||||
<translation>品質の出力</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Output of the diameters</source>
|
||||
<translation>直径の出力</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Output of the parents</source>
|
||||
<translation>親直径の出力</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Output of the neighbours</source>
|
||||
<translation>隣の直径の出力</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Create an iteration</source>
|
||||
<translation>イテレーションの作成</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Iteration Name</source>
|
||||
<translation>イテレーションの名前</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Previous iteration</source>
|
||||
<translation>以前のイテレーション</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Invalid boundary</source>
|
||||
<translation>無効な境界</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Invalid case</source>
|
||||
<translation>無効なケース</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Invalid case context</source>
|
||||
<translation>ケースの内容が無効です</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Invalid hypothesis</source>
|
||||
<translation>無効なhypothesis</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Invalid iteration</source>
|
||||
<translation>無効なイテレーション</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>This boundary has already been defined.</source>
|
||||
<translation>この境界は既に定義されています。</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>This case has already been defined.</source>
|
||||
<translation>このケースは既に定義されています。</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>This hypothesis has already been defined.</source>
|
||||
<translation>このhypothesisは既に定義されています。</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>This iteration has already been defined.</source>
|
||||
<translation>このイテレーションは既に定義されています。</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The parent iteration is not defined.</source>
|
||||
<translation>親イテレーションは、定義されていません。</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Unable to create the iteration.</source>
|
||||
<translation>イテレーションを作成することができません。</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The directory for the computation cannot be created.</source>
|
||||
<translation>計算のためのディレクトリを作成できません。</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>This iteration is the first of the case and cannot be computed.</source>
|
||||
<translation>このイタレーションはケースの最初であり、計算できません。</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>This iteration does not have any associated hypothesis.</source>
|
||||
<translation>このイタレーションは関連した hypothesis がありません。</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The mesh file does not exist.</source>
|
||||
<translation>メッシュ ファイルは存在しません。</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The mesh file cannot be deleted.</source>
|
||||
<translation>メッシュ ファイルを削除できません。</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Mesh n</source>
|
||||
<translation>メッシュ n</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Mesh n+1</source>
|
||||
<translation>メッシュ n + 1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Field information</source>
|
||||
<translation>フィールド情報</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Field file</source>
|
||||
<translation>フィールド ファイル</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>No time step</source>
|
||||
<translation>タイムステップなし</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Last time step</source>
|
||||
<translation>最終タイムステップ</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Chosen time step</source>
|
||||
<translation>選択されたタイムステップ</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Time step</source>
|
||||
<translation>タイムステップ</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Rank</source>
|
||||
<translation>ランク</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Hypothesis</source>
|
||||
<translation>Hypothesis</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Create a hypothesis</source>
|
||||
<translation>hypothesis の作成</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>HOM_HYPO_NAME</source>
|
||||
<translation>仮説に名前を付ける必要があります。</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>HOM_HYPO_FIELD_FILE</source>
|
||||
<translation>それはフィールドのファイルを提供する必要があります。</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>HOM_HYPO_NORM_L2</source>
|
||||
<translation>標準の L2</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>HOM_HYPO_NORM_INF</source>
|
||||
<translation>無限の標準</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>HOM_HYPO_NORM_ABS</source>
|
||||
<translation>絶対値</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>HOM_HYPO_NORM_REL</source>
|
||||
<translation>関係</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>HOM_HYPO_COMP</source>
|
||||
<translation>1 つ以上のコンポーネントを選択する必要があります。</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>HOM_HYPO_EDIT_WINDOW_TITLE</source>
|
||||
<translation>仮説の編集</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Type of adaptation</source>
|
||||
<translation>適合のタイプ</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Uniform</source>
|
||||
<translation>均一</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Driven by a field</source>
|
||||
<translation>フィールドによって駆動</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Uniform adaptation</source>
|
||||
<translation>均一な適応</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Refinement</source>
|
||||
<translation>リファインメント</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Nothing</source>
|
||||
<translation>なし</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>File of the fields</source>
|
||||
<translation>フィールドファイル</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Governing field for the adaptation</source>
|
||||
<translation>適合のためにフィールドを管理</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Field name</source>
|
||||
<translation>フィールド名</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Jump between elements</source>
|
||||
<translation>要素間ジャンプ</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Component</source>
|
||||
<translation>コンポーネント</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Refinement threshold</source>
|
||||
<translation>リファインメント閾値</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Coarsening threshold</source>
|
||||
<translation>粗大化閾値</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Percentage of meshes</source>
|
||||
<translation>メッシュの割合</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Mean + n*(std deviation)</source>
|
||||
<translation>平均 + n * (標準偏差)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>No refinement</source>
|
||||
<translation>リファインメントなし</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Mean - n*(std deviation)</source>
|
||||
<translation>平均 - n * (標準偏差)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>No coarsening</source>
|
||||
<translation>粗大化なし</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Field Interpolation</source>
|
||||
<translation>フィールド補間</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Chosen</source>
|
||||
<translation>選択済み</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Box</source>
|
||||
<translation>Box</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Sphere</source>
|
||||
<translation>球</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Cylinder</source>
|
||||
<translation>円筒</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Disk</source>
|
||||
<translation>円盤</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Disk with hole</source>
|
||||
<translation>穴付き円盤</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Pipe</source>
|
||||
<translation>パイプ</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Coordinates</source>
|
||||
<translation>座標</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Create an analytical boundary</source>
|
||||
<translation>分析境界の作成</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Create a discrete boundary</source>
|
||||
<translation>離散境界の作成</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Type of boundary</source>
|
||||
<translation>境界のタイプ</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Torus</source>
|
||||
<translation>環状体</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Radius</source>
|
||||
<translation>半径</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Radius 1</source>
|
||||
<translation>半径1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Radius 2</source>
|
||||
<translation>半径2</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>External radius</source>
|
||||
<translation>外半径</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Internal radius</source>
|
||||
<translation>内半径</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Height</source>
|
||||
<translation>高さ</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>X axis</source>
|
||||
<translation>X 軸</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Y axis</source>
|
||||
<translation>Y 軸</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Z axis</source>
|
||||
<translation>Z 軸</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>R revolution</source>
|
||||
<translation>R 回転</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Primary R</source>
|
||||
<translation>主 R</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>HOM_BOUN_NAME</source>
|
||||
<translation>名前の国境に与えする必要があります。</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>HOM_BOUN_MESH</source>
|
||||
<translation>1 つの枠を含むメッシュを選択する必要があります。</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>HOM_BOUN_CASE</source>
|
||||
<translation>場合ファイルのメッシュが知られています。</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>HOM_AXE</source>
|
||||
<translation>軸は、ゼロ以外のベクトルでなければなりません。</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>HOM_BOUN_A_EDIT_WINDOW_TITLE</source>
|
||||
<translation>分析のフロンティアの編集</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>HOM_BOUN_D_EDIT_WINDOW_TITLE</source>
|
||||
<translation>離散境界の編集</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>HOM_GROU_EDIT_WINDOW_TITLE</source>
|
||||
<translation>選択したグループ</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The height must be positive.</source>
|
||||
<translation>高さは正でなければなりません。</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The radius must be positive.</source>
|
||||
<translation>半径は正でなければなりません。</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The axis must be a non 0 vector.</source>
|
||||
<translation>軸は非 0 のベクトルでなければなりません。</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The angle must be included higher than 0 degree and lower than 90 degrees.</source>
|
||||
<translation>角度は0 °よりも大きく 90 °未満である必要があります。</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The radius must be different.</source>
|
||||
<translation>半径が異なる必要があります。</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The centers must be different.</source>
|
||||
<translation>中心が異なる必要があります。</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The external radius must be higher than the internal radius.</source>
|
||||
<translation>外部の半径は内部の半径より大きい必要があります。</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The X coordinates are not coherent.</source>
|
||||
<translation>X座標は論理上問題があります。</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The Y coordinates are not coherent.</source>
|
||||
<translation>Y座標は論理上問題があります。</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The Z coordinates are not coherent.</source>
|
||||
<translation>Z座標は論理上問題があります。</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The first coordinates are not coherent.</source>
|
||||
<translation>最初の座標に論理上問題があります。</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The second coordinates are not coherent.</source>
|
||||
<translation>2番目の座標に論理上問題があります。</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The orientation must be 1, 2 or 3.</source>
|
||||
<translation>方向は1、2、3のどれかにする必要があります。</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>HOM_MESH_INFO_0</source>
|
||||
<translation>メッシュの解析</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>HOM_MESH_INFO_1</source>
|
||||
<translation>少なくとも 1 つのオプションを選択します。</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>HOM_MESH_INFO_2</source>
|
||||
<translation>バランス シート分析結果をスタディ ツリーで、ファイル</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Filtering with groups</source>
|
||||
<translation>グループでフィルタリング</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Selection of groups</source>
|
||||
<translation>グループの選択</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Selected groups</source>
|
||||
<translation>選択されたグループ</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Group</source>
|
||||
<translation>グループ :</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Information on a mesh</source>
|
||||
<translation>メッシュに関する情報</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Group size</source>
|
||||
<translation>グループのサイズ</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Quality</source>
|
||||
<translation>品質</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Connection</source>
|
||||
<translation>接続</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Diametre</source>
|
||||
<translation>直径</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Entanglement</source>
|
||||
<translation>縺れ合い</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>No change is allowed in a boundary. Ask for evolution.</source>
|
||||
<translation>境界内に許可された変更はありません。旋回について尋ねます。</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>This boundary is used in a case and cannot be deleted.</source>
|
||||
<translation>この境界はケースで使用されており、削除できません。</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>This hypothesis is used and cannot be deleted.</source>
|
||||
<translation>このhypothesisは使用されており、削除できません。</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>This iteration cannot be deleted.</source>
|
||||
<translation>このイテレーションは削除できません。</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The directory for the calculation cannot be cleared.</source>
|
||||
<translation>計算用ディレクトリは削除できません。</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Starting point</source>
|
||||
<translation>始点</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>From an iteration</source>
|
||||
<translation>イテレーションから</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>From a case</source>
|
||||
<translation>ケースから</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Iteration into the case</source>
|
||||
<translation>ケースへのイテレーション</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Last iteration</source>
|
||||
<translation>最後のイテレーション</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Iteration number</source>
|
||||
<translation>イテレーション数</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The directory of the case does not exist.</source>
|
||||
<translation>ケースのディレクトリは存在しません。</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The directory for the case cannot be modified because some iterations are already defined.</source>
|
||||
<translation>いくつかのイテレーションが既に定義されているため、ケースのディレクトリを変更できません。</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The directory for the case cannot be reached.</source>
|
||||
<translation>ケースのディレクトリに到達できません。</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The starting point for the case cannot be copied into the working directory.</source>
|
||||
<translation>ケースの開始点は作業ディレクトリにコピーできません。</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The starting point for the case cannot be moved into the new directory.</source>
|
||||
<translation>ケースの開始点は新しいディレクトリに移動できません。</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The directory of the case for the pursuit does not exist.</source>
|
||||
<translation>追跡用ケースのディレクトリは存在しません。</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The directory of the iteration does not exist.</source>
|
||||
<translation>イテレーションのディレクトリが存在しません。</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The number of iteration must be positive.</source>
|
||||
<translation>イテレーション数は正である必要があります。</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Number of iteration</source>
|
||||
<translation>イテレーション数</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Case</source>
|
||||
<translation>ケース</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Mesh file</source>
|
||||
<translation>メッシュファイル</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Constant</source>
|
||||
<translation>定数</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Variable</source>
|
||||
<translation>変数</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Type of schema</source>
|
||||
<translation>スキーマタイプ</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Maximum of ...</source>
|
||||
<translation>最大の...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Iterations</source>
|
||||
<translation>イテレーション</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Nodes</source>
|
||||
<translation>節点</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Elements</source>
|
||||
<translation>要素</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Test of convergence</source>
|
||||
<translation>収束テスト</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Edit a file</source>
|
||||
<translation>ファイルの編集</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Print</source>
|
||||
<translation>印刷</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Invalid study context</source>
|
||||
<translation>無効なスタディの内容</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>PREF_TAB_GENERAL</source>
|
||||
<translation>一般的な</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>PREF_PUBLICATION</source>
|
||||
<translation>発行</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>PREF_PUBLICATION_MAILLAGE_IN</source>
|
||||
<translation>メッシュ入力</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>PREF_PUBLICATION_MAILLAGE_OUT</source>
|
||||
<translation>メッシュ出力</translation>
|
||||
</message>
|
||||
</context>
|
||||
</TS>
|
@ -61,6 +61,7 @@
|
||||
#include "SMESHGUI_Hypotheses.h"
|
||||
#include "SMESHGUI_HypothesesUtils.h"
|
||||
#include "SMESHGUI_MG_ADAPTDRIVER.h"
|
||||
#include "SMESHGUI_HomardAdaptDlg.h"
|
||||
#include "SMESHGUI_Make2DFrom3DOp.h"
|
||||
#include "SMESHGUI_MakeNodeAtPointDlg.h"
|
||||
#include "SMESHGUI_Measurements.h"
|
||||
@ -145,6 +146,7 @@
|
||||
#include CORBA_CLIENT_HEADER(SMESH_MeshEditor)
|
||||
#include CORBA_CLIENT_HEADER(SMESH_Measurements)
|
||||
#include CORBA_CLIENT_HEADER(SMESH_Mesh)
|
||||
#include CORBA_CLIENT_HEADER(SMESH_Homard)
|
||||
|
||||
// Qt includes
|
||||
// #define INCLUDE_MENUITEM_DEF // VSR commented ????????
|
||||
@ -3015,6 +3017,18 @@ bool SMESHGUI::OnGUIEvent( int theCommandID )
|
||||
break;
|
||||
}
|
||||
#endif
|
||||
case SMESHOp::OpHomardAdapt:
|
||||
{
|
||||
if ( isStudyLocked() )
|
||||
break;
|
||||
EmitSignalDeactivateDialog();
|
||||
|
||||
SALOME::GenericObj_wrap< SMESHHOMARD::HOMARD_Gen > homardGen =
|
||||
GetSMESHGen()->CreateHOMARD_ADAPT();
|
||||
SMESHGUI_HomardAdaptDlg *aDlg = new SMESHGUI_HomardAdaptDlg(homardGen);
|
||||
aDlg->show();
|
||||
break;
|
||||
}
|
||||
// Adaptation - end
|
||||
case SMESHOp::OpSplitBiQuadratic:
|
||||
case SMESHOp::OpConvertMeshToQuadratic:
|
||||
@ -4253,6 +4267,7 @@ void SMESHGUI::initialize( CAM_Application* app )
|
||||
#ifndef DISABLE_MG_ADAPT
|
||||
createSMESHAction( SMESHOp::OpMGAdapt, "MG_ADAPT", "ICON_MG_ADAPT" );
|
||||
#endif
|
||||
createSMESHAction( SMESHOp::OpHomardAdapt, "HOMARD_ADAPT", "ICON_HOMARD_ADAPT" );
|
||||
// Adaptation - end
|
||||
|
||||
createSMESHAction( SMESHOp::OpMinimumDistance, "MEASURE_MIN_DIST", "ICON_MEASURE_MIN_DIST" );
|
||||
@ -4473,6 +4488,7 @@ void SMESHGUI::initialize( CAM_Application* app )
|
||||
#ifndef DISABLE_MG_ADAPT
|
||||
createMenu( SMESHOp::OpMGAdapt, adaptId, -1 );
|
||||
#endif
|
||||
createMenu( SMESHOp::OpHomardAdapt, adaptId, -1 );
|
||||
// Adaptation - end
|
||||
|
||||
createMenu( SMESHOp::OpMinimumDistance, measureId, -1 );
|
||||
@ -4623,6 +4639,7 @@ void SMESHGUI::initialize( CAM_Application* app )
|
||||
int adaptTb = createTool( tr( "TB_ADAPTATION" ), QString( "SMESHAdaptationToolbar" ) ) ;
|
||||
createTool( SMESHOp::OpMGAdapt, adaptTb );
|
||||
#endif
|
||||
createTool( SMESHOp::OpHomardAdapt, adaptTb );
|
||||
// Adaptation - end
|
||||
|
||||
int measuremTb = createTool( tr( "TB_MEASUREM" ), QString( "SMESHMeasurementsToolbar" ) ) ;
|
||||
@ -4706,11 +4723,12 @@ void SMESHGUI::initialize( CAM_Application* app )
|
||||
createPopupItem( SMESHOp::OpCreateBoundaryElements, OB, mesh_group, "&& selcount=1 && dim>=2");
|
||||
|
||||
// Adaptation - begin
|
||||
popupMgr()->insert( separator(), -1, 0 );
|
||||
#ifndef DISABLE_MG_ADAPT
|
||||
popupMgr()->insert( separator(), -1, 0 );
|
||||
createPopupItem( SMESHOp::OpMGAdapt, OB, mesh );
|
||||
popupMgr()->insert( separator(), -1, 0 );
|
||||
#endif
|
||||
createPopupItem( SMESHOp::OpHomardAdapt, OB, mesh );
|
||||
popupMgr()->insert( separator(), -1, 0 );
|
||||
// Adaptation - end
|
||||
|
||||
QString only_one_non_empty = QString( " && %1=1 && numberOfNodes>0" ).arg( dc );
|
||||
|
1247
src/SMESHGUI/SMESHGUI_HomardAdaptDlg.cxx
Normal file
1247
src/SMESHGUI/SMESHGUI_HomardAdaptDlg.cxx
Normal file
File diff suppressed because it is too large
Load Diff
241
src/SMESHGUI/SMESHGUI_HomardAdaptDlg.h
Normal file
241
src/SMESHGUI/SMESHGUI_HomardAdaptDlg.h
Normal file
@ -0,0 +1,241 @@
|
||||
// Copyright (C) 2011-2021 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 SMESHGUI_HOMARDADAPTDLG_HXX
|
||||
#define SMESHGUI_HOMARDADAPTDLG_HXX
|
||||
|
||||
#include "SMESH_SMESHGUI.hxx"
|
||||
|
||||
#include <SALOMEconfig.h>
|
||||
#include CORBA_CLIENT_HEADER(SMESH_Homard)
|
||||
#include CORBA_SERVER_HEADER(SMESH_Mesh)
|
||||
#include <SALOME_GenericObj_wrap.hxx>
|
||||
|
||||
#include <SalomeApp_Module.h>
|
||||
|
||||
#include <QtCore/QVariant>
|
||||
#include <QtWidgets/QApplication>
|
||||
#include <QtWidgets/QCheckBox>
|
||||
#include <QtWidgets/QComboBox>
|
||||
#include <QtWidgets/QDialog>
|
||||
#include <QtWidgets/QFormLayout>
|
||||
#include <QtWidgets/QGridLayout>
|
||||
#include <QtWidgets/QGroupBox>
|
||||
#include <QtWidgets/QHBoxLayout>
|
||||
#include <QtWidgets/QHeaderView>
|
||||
#include <QtWidgets/QLabel>
|
||||
#include <QtWidgets/QLineEdit>
|
||||
#include <QtWidgets/QPushButton>
|
||||
#include <QtWidgets/QRadioButton>
|
||||
#include <QtWidgets/QSpacerItem>
|
||||
#include <QtWidgets/QTableWidget>
|
||||
#include <QtWidgets/QWidget>
|
||||
#include <QtWidgets/QTabWidget>
|
||||
#include <QtWidgets/QSpinBox>
|
||||
|
||||
class SMESHGUI_HomardAdaptArguments;
|
||||
class SMESHGUI_HomardAdaptAdvanced;
|
||||
|
||||
//=================================================================================
|
||||
// class : SMESHGUI_HomardAdaptDlg
|
||||
// purpose :
|
||||
//=================================================================================
|
||||
class SMESHGUI_EXPORT SMESHGUI_HomardAdaptDlg : public QDialog
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
SMESHGUI_HomardAdaptDlg(SMESHHOMARD::HOMARD_Gen_ptr theHomardGen);
|
||||
~SMESHGUI_HomardAdaptDlg();
|
||||
|
||||
void setMyMesh(SMESH::SMESH_Mesh_var);
|
||||
SMESH::SMESH_Mesh_var getMyMesh();
|
||||
|
||||
void AddBoundaryCAO(QString newBoundary);
|
||||
void AddBoundaryAn(QString newBoundary);
|
||||
void AddBoundaryDi(QString newBoundary);
|
||||
|
||||
protected:
|
||||
QString myWorkingDir;
|
||||
|
||||
SMESHHOMARD::HOMARD_Cas_var myCase;
|
||||
SMESHHOMARD::HOMARD_Hypothesis_var myHypothesis;
|
||||
SMESHHOMARD::HOMARD_Iteration_var myIteration;
|
||||
SALOME::GenericObj_wrap< SMESHHOMARD::HOMARD_Gen > myHomardGen;
|
||||
|
||||
virtual void InitConnect();
|
||||
virtual void InitBoundarys();
|
||||
|
||||
public slots:
|
||||
virtual void SetFileName();
|
||||
|
||||
virtual void SetBoundaryNo();
|
||||
virtual void SetBoundaryCAO();
|
||||
virtual void SetBoundaryNonCAO();
|
||||
|
||||
virtual void PushBoundaryCAONew();
|
||||
virtual void PushBoundaryCAOEdit();
|
||||
virtual void PushBoundaryCAOHelp();
|
||||
|
||||
virtual void SetBoundaryD();
|
||||
virtual void PushBoundaryDiNew();
|
||||
virtual void PushBoundaryDiEdit();
|
||||
virtual void PushBoundaryDiHelp();
|
||||
|
||||
virtual void SetBoundaryA();
|
||||
virtual void PushBoundaryAnNew();
|
||||
virtual void PushBoundaryAnEdit();
|
||||
virtual void PushBoundaryAnHelp();
|
||||
|
||||
bool CheckCase();
|
||||
|
||||
virtual void PushOnOK();
|
||||
virtual bool PushOnApply();
|
||||
virtual void PushOnHelp();
|
||||
|
||||
void selectionChanged();
|
||||
void updateSelection();
|
||||
|
||||
private:
|
||||
SMESHGUI_HomardAdaptArguments* myArgs;
|
||||
SMESHGUI_HomardAdaptAdvanced* myAdvOpt;
|
||||
|
||||
SMESH::SMESH_Mesh_var myMesh;
|
||||
|
||||
QPushButton *buttonHelp;
|
||||
QPushButton *buttonApply;
|
||||
QPushButton *buttonOk;
|
||||
QPushButton *buttonCancel;
|
||||
};
|
||||
|
||||
//=================================================================================
|
||||
// class : SMESHGUI_HomardAdaptArguments
|
||||
// purpose :
|
||||
//=================================================================================
|
||||
class SMESHGUI_HomardAdaptArguments : public QWidget
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
enum ModeIn { MedFile, Browser };
|
||||
|
||||
SMESHGUI_HomardAdaptArguments (QWidget* parent);
|
||||
~SMESHGUI_HomardAdaptArguments();
|
||||
|
||||
void setupUi(QWidget *CreateCase);
|
||||
|
||||
public:
|
||||
// Mesh In
|
||||
QButtonGroup* myInMeshGroup;
|
||||
QRadioButton* myInMedFileRadio;
|
||||
QRadioButton* myInBrowserRadio;
|
||||
|
||||
QPushButton* mySelectInMedFileButton;
|
||||
QLineEdit* mySelectInMedFileLineEdit; // LEFileName
|
||||
|
||||
QLineEdit* myInBrowserObject;
|
||||
|
||||
// Mesh Out
|
||||
QLineEdit* myOutMeshNameLineEdit;
|
||||
QCheckBox* myOutMedFileChk;
|
||||
|
||||
QPushButton* mySelectOutMedFileButton;
|
||||
QLineEdit* mySelectOutMedFileLineEdit;
|
||||
|
||||
QCheckBox* myOutPublishChk;
|
||||
|
||||
// Conformity type
|
||||
QRadioButton *RBConforme;
|
||||
QRadioButton *RBNonConforme;
|
||||
|
||||
// Boundary type
|
||||
QGroupBox *GBTypeBoun;
|
||||
QRadioButton *RBBoundaryNo;
|
||||
QRadioButton *RBBoundaryCAO;
|
||||
QRadioButton *RBBoundaryNonCAO;
|
||||
QHBoxLayout *hboxLayout3;
|
||||
QCheckBox *CBBoundaryD;
|
||||
QCheckBox *CBBoundaryA;
|
||||
|
||||
QGroupBox *GBBoundaryC; // CAO boundary
|
||||
QGridLayout *_2;
|
||||
QPushButton *PBBoundaryCAOEdit;
|
||||
QPushButton *PBBoundaryCAOHelp;
|
||||
QComboBox *CBBoundaryCAO;
|
||||
QPushButton *PBBoundaryCAONew;
|
||||
QGroupBox *GBBoundaryN; // Non CAO boundary
|
||||
QGroupBox *GBBoundaryD;
|
||||
QGridLayout *gridLayout;
|
||||
QComboBox *CBBoundaryDi;
|
||||
QPushButton *PBBoundaryDiEdit;
|
||||
QPushButton *PBBoundaryDiHelp;
|
||||
QPushButton *PBBoundaryDiNew;
|
||||
QGroupBox *GBBoundaryA;
|
||||
QFormLayout *formLayout;
|
||||
QTableWidget *TWBoundary;
|
||||
QGridLayout *gridLayout1;
|
||||
QPushButton *PBBoundaryAnEdit;
|
||||
QPushButton *PBBoundaryAnNew;
|
||||
QPushButton *PBBoundaryAnHelp;
|
||||
|
||||
signals:
|
||||
void updateSelection();
|
||||
|
||||
private slots:
|
||||
void modeInChanged(int);
|
||||
void clear();
|
||||
void onOutMedFileChk(int);
|
||||
void onOutPublishChk(int);
|
||||
void onSelectOutMedFileButton();
|
||||
};
|
||||
|
||||
//=================================================================================
|
||||
// class : SMESHGUI_HomardAdaptAdvanced
|
||||
// purpose :
|
||||
//=================================================================================
|
||||
class SMESHGUI_HomardAdaptAdvanced : public QWidget
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
SMESHGUI_HomardAdaptAdvanced(QWidget* = 0, Qt::WindowFlags = 0);
|
||||
~SMESHGUI_HomardAdaptAdvanced();
|
||||
|
||||
void setupWidget();
|
||||
|
||||
public:
|
||||
QGroupBox *logGroupBox;
|
||||
|
||||
QLabel *workingDirectoryLabel;
|
||||
QLineEdit *workingDirectoryLineEdit;
|
||||
QPushButton *workingDirectoryPushButton;
|
||||
|
||||
QLabel *verboseLevelLabel;
|
||||
QSpinBox *verboseLevelSpin;
|
||||
|
||||
QCheckBox *logInFileCheck;
|
||||
QCheckBox *removeLogOnSuccessCheck;
|
||||
|
||||
QCheckBox *keepWorkingFilesCheck;
|
||||
|
||||
private slots:
|
||||
void onWorkingDirectoryPushButton();
|
||||
};
|
||||
|
||||
#endif // SMESHGUI_HOMARDADAPTDLG_HXX
|
1682
src/SMESHGUI/SMESHGUI_HomardBoundaryDlg.cxx
Normal file
1682
src/SMESHGUI/SMESHGUI_HomardBoundaryDlg.cxx
Normal file
File diff suppressed because it is too large
Load Diff
1279
src/SMESHGUI/SMESHGUI_HomardBoundaryDlg.h
Normal file
1279
src/SMESHGUI/SMESHGUI_HomardBoundaryDlg.h
Normal file
File diff suppressed because it is too large
Load Diff
325
src/SMESHGUI/SMESHGUI_HomardListGroup.cxx
Normal file
325
src/SMESHGUI/SMESHGUI_HomardListGroup.cxx
Normal file
@ -0,0 +1,325 @@
|
||||
// Copyright (C) 2011-2021 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
|
||||
//
|
||||
|
||||
#include "SMESHGUI_HomardListGroup.h"
|
||||
|
||||
#include "SMESHGUI_HomardBoundaryDlg.h"
|
||||
#include "SMESHGUI_HomardUtils.h"
|
||||
#include "SMESHGUI_Utils.h"
|
||||
|
||||
#include "SalomeApp_Tools.h"
|
||||
|
||||
#include <SUIT_Desktop.h>
|
||||
#include <SUIT_MessageBox.h>
|
||||
#include <SUIT_ResourceMgr.h>
|
||||
#include <SUIT_Session.h>
|
||||
#include <SUIT_ViewManager.h>
|
||||
|
||||
#include <utilities.h>
|
||||
|
||||
#include <QFileDialog>
|
||||
|
||||
using namespace std;
|
||||
|
||||
// ------------------------------------------------------------------------------------
|
||||
SMESH_CreateListGroupCAO::SMESH_CreateListGroupCAO(SMESH_CreateBoundaryCAO* parentBound, bool modal,
|
||||
SMESHHOMARD::HOMARD_Gen_var myHomardGen0,
|
||||
QString aCaseName,
|
||||
QStringList listeGroupesHypo)
|
||||
: QDialog(0), SMESH_Ui_CreateListGroup(),
|
||||
_aCaseName (aCaseName),
|
||||
_listeGroupesHypo (listeGroupesHypo),
|
||||
_parentBound(parentBound)
|
||||
{
|
||||
MESSAGE("Debut de SMESH_CreateListGroupCAO");
|
||||
myHomardGen = SMESHHOMARD::HOMARD_Gen::_duplicate(myHomardGen0);
|
||||
setupUi(this);
|
||||
setModal(modal);
|
||||
InitConnect();
|
||||
InitGroupes();
|
||||
}
|
||||
// --------------------------------------------------------------------------------------------------------------
|
||||
SMESH_CreateListGroupCAO::SMESH_CreateListGroupCAO(SMESH_CreateBoundaryCAO* parentBound,
|
||||
SMESHHOMARD::HOMARD_Gen_var myHomardGen,
|
||||
QString aCaseName,
|
||||
QStringList listeGroupesHypo)
|
||||
: QDialog(0), SMESH_Ui_CreateListGroup(),
|
||||
_aCaseName (aCaseName),
|
||||
_listeGroupesHypo (listeGroupesHypo),
|
||||
_parentBound(parentBound)
|
||||
{
|
||||
myHomardGen = SMESHHOMARD::HOMARD_Gen::_duplicate(myHomardGen);
|
||||
setupUi(this);
|
||||
InitConnect();
|
||||
}
|
||||
|
||||
// ------------------------------------------------------------------------
|
||||
SMESH_CreateListGroupCAO::~SMESH_CreateListGroupCAO()
|
||||
// ------------------------------------------------------------------------
|
||||
{
|
||||
// no need to delete child widgets, Qt does it all for us
|
||||
}
|
||||
// ------------------------------------------------------------------------
|
||||
void SMESH_CreateListGroupCAO::InitConnect()
|
||||
// ------------------------------------------------------------------------
|
||||
{
|
||||
connect( buttonOk, SIGNAL( pressed() ), this, SLOT( PushOnOK() ) );
|
||||
connect( buttonApply, SIGNAL( pressed() ), this, SLOT( PushOnApply() ) );
|
||||
connect( buttonCancel, SIGNAL( pressed() ), this, SLOT( close() ) );
|
||||
connect( buttonHelp, SIGNAL( pressed() ), this, SLOT( PushOnHelp() ) );
|
||||
}
|
||||
// ------------------------------------------------------------------------
|
||||
bool SMESH_CreateListGroupCAO::PushOnApply()
|
||||
// ------------------------------------------------------------------------
|
||||
// Appele lorsque l'un des boutons Ok ou Apply est presse
|
||||
//
|
||||
{
|
||||
QStringList ListeGroup ;
|
||||
for ( int row=0; row< TWGroupe->rowCount(); row++)
|
||||
{
|
||||
if ( TWGroupe->item( row, 0 )->checkState() == Qt::Checked )
|
||||
ListeGroup.insert(0, QString(TWGroupe->item(row, 1)->text()) );
|
||||
}
|
||||
if ( _parentBound ) { _parentBound->setGroups(ListeGroup);};
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
// ------------------------------------------------------------------------
|
||||
void SMESH_CreateListGroupCAO::PushOnOK()
|
||||
// ------------------------------------------------------------------------
|
||||
{
|
||||
if (PushOnApply()) this->close();
|
||||
if ( _parentBound ) { _parentBound->raise(); _parentBound->activateWindow(); };
|
||||
}
|
||||
// ------------------------------------------------------------------------
|
||||
void SMESH_CreateListGroupCAO::PushOnHelp()
|
||||
// ------------------------------------------------------------------------
|
||||
{
|
||||
SMESH::ShowHelpFile(QString("gui_create_hypothese.html"));
|
||||
}
|
||||
// ------------------------------------------------------------------------
|
||||
void SMESH_CreateListGroupCAO::InitGroupes()
|
||||
// ------------------------------------------------------------------------
|
||||
{
|
||||
MESSAGE("Debut de SMESH_CreateListGroupCAO::InitGroupes ");
|
||||
for ( int row=0; row< TWGroupe->rowCount(); row++)
|
||||
TWGroupe->removeRow(row);
|
||||
TWGroupe->setRowCount(0);
|
||||
if (_aCaseName == QString("")) { return; };
|
||||
SMESHHOMARD::HOMARD_Cas_var monCas= myHomardGen->GetCase(_aCaseName.toStdString().c_str());
|
||||
SMESHHOMARD::ListGroupType_var _listeGroupesCas = monCas->GetGroups();
|
||||
for ( int i = 0; i < _listeGroupesCas->length(); i++ ) {
|
||||
TWGroupe->insertRow(i);
|
||||
TWGroupe->setItem( i, 0, new QTableWidgetItem( QString ("") ) );
|
||||
TWGroupe->item( i, 0 )->setFlags( 0 );
|
||||
TWGroupe->item( i, 0 )->setFlags( Qt::ItemIsUserCheckable|Qt::ItemIsEnabled );
|
||||
if (_listeGroupesHypo.contains (QString((_listeGroupesCas)[i])))
|
||||
{TWGroupe->item( i, 0 )->setCheckState( Qt::Checked );}
|
||||
else
|
||||
{TWGroupe->item( i, 0 )->setCheckState( Qt::Unchecked );}
|
||||
TWGroupe->setItem( i, 1, new QTableWidgetItem(QString((_listeGroupesCas)[i]).trimmed()));
|
||||
TWGroupe->item( i, 1 )->setFlags(Qt::ItemIsEnabled |Qt::ItemIsSelectable );
|
||||
}
|
||||
TWGroupe->resizeColumnsToContents();
|
||||
TWGroupe->resizeRowsToContents();
|
||||
TWGroupe->clearSelection();
|
||||
// MESSAGE("Fin de SMESH_CreateListGroupCAO::InitGroupes ");
|
||||
}
|
||||
|
||||
|
||||
// ------------------------------------------------------------------------
|
||||
SMESH_CreateListGroup::SMESH_CreateListGroup(SMESH_CreateBoundaryDi* parentBound, bool modal,
|
||||
SMESHHOMARD::HOMARD_Gen_var myHomardGen0,
|
||||
QString aCaseName, QStringList listeGroupesHypo)
|
||||
: QDialog(0), SMESH_Ui_CreateListGroup(),
|
||||
_aCaseName (aCaseName),
|
||||
_listeGroupesHypo (listeGroupesHypo),
|
||||
_parentBound(parentBound)
|
||||
{
|
||||
MESSAGE("Debut de SMESH_CreateListGroup");
|
||||
myHomardGen = SMESHHOMARD::HOMARD_Gen::_duplicate(myHomardGen0);
|
||||
setupUi(this);
|
||||
setModal(modal);
|
||||
InitConnect();
|
||||
InitGroupes();
|
||||
}
|
||||
|
||||
// ------------------------------------------------------------------------
|
||||
SMESH_CreateListGroup::SMESH_CreateListGroup(SMESH_CreateBoundaryDi* parentBound,
|
||||
SMESHHOMARD::HOMARD_Gen_var myHomardGen,
|
||||
QString aCaseName, QStringList listeGroupesHypo)
|
||||
: QDialog(0), SMESH_Ui_CreateListGroup(),
|
||||
_aCaseName (aCaseName),
|
||||
_listeGroupesHypo (listeGroupesHypo),
|
||||
_parentBound(parentBound)
|
||||
{
|
||||
myHomardGen = SMESHHOMARD::HOMARD_Gen::_duplicate(myHomardGen);
|
||||
setupUi(this);
|
||||
InitConnect();
|
||||
}
|
||||
|
||||
// ------------------------------------------------------------------------
|
||||
SMESH_CreateListGroup::~SMESH_CreateListGroup()
|
||||
{
|
||||
// no need to delete child widgets, Qt does it all for us
|
||||
}
|
||||
// ------------------------------------------------------------------------
|
||||
void SMESH_CreateListGroup::InitConnect()
|
||||
// ------------------------------------------------------------------------
|
||||
{
|
||||
connect( buttonOk, SIGNAL( pressed() ), this, SLOT( PushOnOK() ) );
|
||||
connect( buttonApply, SIGNAL( pressed() ), this, SLOT( PushOnApply() ) );
|
||||
connect( buttonCancel, SIGNAL( pressed() ), this, SLOT( close() ) );
|
||||
connect( buttonHelp, SIGNAL( pressed() ), this, SLOT( PushOnHelp() ) );
|
||||
}
|
||||
// ------------------------------------------------------------------------
|
||||
bool SMESH_CreateListGroup::PushOnApply()
|
||||
// ------------------------------------------------------------------------
|
||||
// Appele lorsque l'un des boutons Ok ou Apply est presse
|
||||
//
|
||||
{
|
||||
QStringList ListeGroup ;
|
||||
for ( int row=0; row< TWGroupe->rowCount(); row++)
|
||||
{
|
||||
if ( TWGroupe->item( row, 0 )->checkState() == Qt::Checked )
|
||||
ListeGroup.insert(0, QString(TWGroupe->item(row, 1)->text()) );
|
||||
}
|
||||
if ( _parentBound ) { _parentBound->setGroups(ListeGroup);};
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
// ------------------------------------------------------------------------
|
||||
void SMESH_CreateListGroup::PushOnOK()
|
||||
// ------------------------------------------------------------------------
|
||||
{
|
||||
if (PushOnApply())
|
||||
{
|
||||
this->close();
|
||||
if ( _parentBound ) { _parentBound->raise(); _parentBound->activateWindow(); };
|
||||
}
|
||||
}
|
||||
// ------------------------------------------------------------------------
|
||||
void SMESH_CreateListGroup::PushOnHelp()
|
||||
// ------------------------------------------------------------------------
|
||||
{
|
||||
SMESH::ShowHelpFile(QString("gui_create_hypothese.html"));
|
||||
}
|
||||
// ------------------------------------------------------------------------
|
||||
void SMESH_CreateListGroup::InitGroupes()
|
||||
// ------------------------------------------------------------------------
|
||||
{
|
||||
MESSAGE("Debut de SMESH_CreateListGroup::InitGroupes ");
|
||||
for ( int row=0; row< TWGroupe->rowCount(); row++)
|
||||
TWGroupe->removeRow(row);
|
||||
TWGroupe->setRowCount(0);
|
||||
if (_aCaseName == QString("")) { return; };
|
||||
SMESHHOMARD::HOMARD_Cas_var monCas= myHomardGen->GetCase(_aCaseName.toStdString().c_str());
|
||||
SMESHHOMARD::ListGroupType_var _listeGroupesCas = monCas->GetGroups();
|
||||
for ( int i = 0; i < _listeGroupesCas->length(); i++ )
|
||||
{
|
||||
TWGroupe->insertRow(i);
|
||||
TWGroupe->setItem( i, 0, new QTableWidgetItem( QString ("") ) );
|
||||
TWGroupe->item( i, 0 )->setFlags( 0 );
|
||||
TWGroupe->item( i, 0 )->setFlags( Qt::ItemIsUserCheckable|Qt::ItemIsEnabled );
|
||||
if (_listeGroupesHypo.contains (QString((_listeGroupesCas)[i])))
|
||||
{TWGroupe->item( i, 0 )->setCheckState( Qt::Checked );}
|
||||
else
|
||||
{TWGroupe->item( i, 0 )->setCheckState( Qt::Unchecked );}
|
||||
TWGroupe->setItem( i, 1, new QTableWidgetItem(QString((_listeGroupesCas)[i]).trimmed()));
|
||||
TWGroupe->item( i, 1 )->setFlags(Qt::ItemIsEnabled |Qt::ItemIsSelectable );
|
||||
}
|
||||
TWGroupe->resizeColumnsToContents();
|
||||
TWGroupe->resizeRowsToContents();
|
||||
TWGroupe->clearSelection();
|
||||
// MESSAGE("Fin de SMESH_CreateListGroup::InitGroupes ");
|
||||
}
|
||||
|
||||
//---------------------------------------------------------------------
|
||||
SMESH_EditListGroupCAO::SMESH_EditListGroupCAO( SMESH_CreateBoundaryCAO* parentBound,
|
||||
bool modal,
|
||||
SMESHHOMARD::HOMARD_Gen_var myHomardGen,
|
||||
QString aCaseName,
|
||||
QStringList listeGroupesHypo):
|
||||
//---------------------------------------------------------------------
|
||||
SMESH_CreateListGroupCAO(parentBound,myHomardGen,aCaseName,listeGroupesHypo)
|
||||
{
|
||||
MESSAGE("Debut de SMESH_EditListGroupCAO");
|
||||
setWindowTitle(QObject::tr("HOM_GROU_EDIT_WINDOW_TITLE"));
|
||||
setModal(true);
|
||||
InitGroupes();
|
||||
}
|
||||
|
||||
//------------------------------------
|
||||
SMESH_EditListGroupCAO:: ~SMESH_EditListGroupCAO()
|
||||
//------------------------------------
|
||||
{
|
||||
}
|
||||
// -------------------------------------
|
||||
void SMESH_EditListGroupCAO:: InitGroupes()
|
||||
// -------------------------------------
|
||||
{
|
||||
for (int i = 0; i < _listeGroupesHypo.size(); i++ )
|
||||
{
|
||||
std::cerr << _listeGroupesHypo[i].toStdString().c_str() << std::endl;
|
||||
TWGroupe->insertRow(i);
|
||||
TWGroupe->setItem( i, 0, new QTableWidgetItem( QString ("") ) );
|
||||
TWGroupe->item( i, 0 )->setFlags( 0 );
|
||||
TWGroupe->item( i, 0 )->setCheckState( Qt::Checked );
|
||||
TWGroupe->setItem( i, 1, new QTableWidgetItem(_listeGroupesHypo[i]));
|
||||
}
|
||||
TWGroupe->resizeRowsToContents();
|
||||
}
|
||||
|
||||
//---------------------------------------------------------------------
|
||||
SMESH_EditListGroup::SMESH_EditListGroup( SMESH_CreateBoundaryDi* parentBound,
|
||||
bool modal,
|
||||
SMESHHOMARD::HOMARD_Gen_var myHomardGen,
|
||||
QString aCaseName,
|
||||
QStringList listeGroupesHypo):
|
||||
//---------------------------------------------------------------------
|
||||
SMESH_CreateListGroup(parentBound,myHomardGen,aCaseName,listeGroupesHypo)
|
||||
{
|
||||
MESSAGE("Debut de SMESH_EditListGroup");
|
||||
setWindowTitle(QObject::tr("HOM_GROU_EDIT_WINDOW_TITLE"));
|
||||
setModal(true);
|
||||
InitGroupes();
|
||||
}
|
||||
|
||||
//------------------------------------
|
||||
SMESH_EditListGroup::~SMESH_EditListGroup()
|
||||
//------------------------------------
|
||||
{
|
||||
}
|
||||
// -------------------------------------
|
||||
void SMESH_EditListGroup::InitGroupes()
|
||||
// -------------------------------------
|
||||
{
|
||||
for (int i = 0; i < _listeGroupesHypo.size(); i++ )
|
||||
{
|
||||
std::cerr << _listeGroupesHypo[i].toStdString().c_str() << std::endl;
|
||||
TWGroupe->insertRow(i);
|
||||
TWGroupe->setItem( i, 0, new QTableWidgetItem( QString ("") ) );
|
||||
TWGroupe->item( i, 0 )->setFlags( 0 );
|
||||
TWGroupe->item( i, 0 )->setCheckState( Qt::Checked );
|
||||
TWGroupe->setItem( i, 1, new QTableWidgetItem(_listeGroupesHypo[i]));
|
||||
}
|
||||
TWGroupe->resizeRowsToContents();
|
||||
}
|
254
src/SMESHGUI/SMESHGUI_HomardListGroup.h
Normal file
254
src/SMESHGUI/SMESHGUI_HomardListGroup.h
Normal file
@ -0,0 +1,254 @@
|
||||
// Copyright (C) 2011-2021 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 MON_CREATELISTGROUPCAO_H
|
||||
#define MON_CREATELISTGROUPCAO_H
|
||||
|
||||
#include "SMESH_SMESHGUI.hxx"
|
||||
|
||||
#include <SALOMEconfig.h>
|
||||
#include <SalomeApp_Module.h>
|
||||
|
||||
//#include CORBA_CLIENT_HEADER(SALOMEDS_Attributes)
|
||||
#include CORBA_CLIENT_HEADER(SMESH_Homard)
|
||||
|
||||
#include <QDialog>
|
||||
#include <QtCore/QVariant>
|
||||
#include <QtWidgets/QApplication>
|
||||
#include <QtWidgets/QDialog>
|
||||
#include <QtWidgets/QGridLayout>
|
||||
#include <QtWidgets/QGroupBox>
|
||||
#include <QtWidgets/QHeaderView>
|
||||
#include <QtWidgets/QPushButton>
|
||||
#include <QtWidgets/QTableWidget>
|
||||
|
||||
class SMESH_CreateBoundaryCAO;
|
||||
class SMESH_CreateBoundaryDi;
|
||||
|
||||
|
||||
QT_BEGIN_NAMESPACE
|
||||
|
||||
class SMESH_Ui_CreateListGroup
|
||||
{
|
||||
public:
|
||||
QGridLayout *gridLayout;
|
||||
QGroupBox *GBButtons;
|
||||
QGridLayout *gridLayout1;
|
||||
QPushButton *buttonHelp;
|
||||
QPushButton *buttonCancel;
|
||||
QPushButton *buttonApply;
|
||||
QPushButton *buttonOk;
|
||||
QGroupBox *GBOptions;
|
||||
QGridLayout *gridLayout2;
|
||||
QTableWidget *TWGroupe;
|
||||
|
||||
void setupUi(QDialog *CreateListGroup)
|
||||
{
|
||||
if (CreateListGroup->objectName().isEmpty())
|
||||
CreateListGroup->setObjectName(QString::fromUtf8("CreateListGroup"));
|
||||
CreateListGroup->resize(717, 600);
|
||||
QSizePolicy sizePolicy(static_cast<QSizePolicy::Policy>(0), static_cast<QSizePolicy::Policy>(0));
|
||||
sizePolicy.setHorizontalStretch(0);
|
||||
sizePolicy.setVerticalStretch(0);
|
||||
sizePolicy.setHeightForWidth(CreateListGroup->sizePolicy().hasHeightForWidth());
|
||||
CreateListGroup->setSizePolicy(sizePolicy);
|
||||
CreateListGroup->setAutoFillBackground(true);
|
||||
CreateListGroup->setSizeGripEnabled(true);
|
||||
gridLayout = new QGridLayout(CreateListGroup);
|
||||
#ifndef Q_OS_MAC
|
||||
gridLayout->setSpacing(6);
|
||||
#endif
|
||||
#ifndef Q_OS_MAC
|
||||
gridLayout->setContentsMargins(9, 9, 9, 9);
|
||||
#endif
|
||||
gridLayout->setObjectName(QString::fromUtf8("gridLayout"));
|
||||
GBButtons = new QGroupBox(CreateListGroup);
|
||||
GBButtons->setObjectName(QString::fromUtf8("GBButtons"));
|
||||
gridLayout1 = new QGridLayout(GBButtons);
|
||||
#ifndef Q_OS_MAC
|
||||
gridLayout1->setSpacing(6);
|
||||
#endif
|
||||
#ifndef Q_OS_MAC
|
||||
gridLayout1->setContentsMargins(9, 9, 9, 9);
|
||||
#endif
|
||||
gridLayout1->setObjectName(QString::fromUtf8("gridLayout1"));
|
||||
buttonHelp = new QPushButton(GBButtons);
|
||||
buttonHelp->setObjectName(QString::fromUtf8("buttonHelp"));
|
||||
|
||||
gridLayout1->addWidget(buttonHelp, 0, 3, 1, 1);
|
||||
|
||||
buttonCancel = new QPushButton(GBButtons);
|
||||
buttonCancel->setObjectName(QString::fromUtf8("buttonCancel"));
|
||||
|
||||
gridLayout1->addWidget(buttonCancel, 0, 2, 1, 1);
|
||||
|
||||
buttonApply = new QPushButton(GBButtons);
|
||||
buttonApply->setObjectName(QString::fromUtf8("buttonApply"));
|
||||
|
||||
gridLayout1->addWidget(buttonApply, 0, 1, 1, 1);
|
||||
|
||||
buttonOk = new QPushButton(GBButtons);
|
||||
buttonOk->setObjectName(QString::fromUtf8("buttonOk"));
|
||||
|
||||
gridLayout1->addWidget(buttonOk, 0, 0, 1, 1);
|
||||
|
||||
|
||||
gridLayout->addWidget(GBButtons, 1, 0, 1, 1);
|
||||
|
||||
GBOptions = new QGroupBox(CreateListGroup);
|
||||
GBOptions->setObjectName(QString::fromUtf8("GBOptions"));
|
||||
gridLayout2 = new QGridLayout(GBOptions);
|
||||
#ifndef Q_OS_MAC
|
||||
gridLayout2->setSpacing(6);
|
||||
#endif
|
||||
#ifndef Q_OS_MAC
|
||||
gridLayout2->setContentsMargins(9, 9, 9, 9);
|
||||
#endif
|
||||
gridLayout2->setObjectName(QString::fromUtf8("gridLayout2"));
|
||||
TWGroupe = new QTableWidget(GBOptions);
|
||||
if (TWGroupe->columnCount() < 2)
|
||||
TWGroupe->setColumnCount(2);
|
||||
QTableWidgetItem *__qtablewidgetitem = new QTableWidgetItem();
|
||||
TWGroupe->setHorizontalHeaderItem(0, __qtablewidgetitem);
|
||||
QTableWidgetItem *__qtablewidgetitem1 = new QTableWidgetItem();
|
||||
TWGroupe->setHorizontalHeaderItem(1, __qtablewidgetitem1);
|
||||
TWGroupe->setObjectName(QString::fromUtf8("TWGroupe"));
|
||||
TWGroupe->setShowGrid(true);
|
||||
TWGroupe->setRowCount(0);
|
||||
TWGroupe->setColumnCount(2);
|
||||
|
||||
gridLayout2->addWidget(TWGroupe, 0, 0, 1, 1);
|
||||
|
||||
|
||||
gridLayout->addWidget(GBOptions, 0, 0, 1, 1);
|
||||
|
||||
|
||||
retranslateUi(CreateListGroup);
|
||||
|
||||
QMetaObject::connectSlotsByName(CreateListGroup);
|
||||
} // setupUi
|
||||
|
||||
void retranslateUi(QDialog *CreateListGroup)
|
||||
{
|
||||
CreateListGroup->setWindowTitle(QApplication::translate("CreateListGroup", "Selection of groups", nullptr));
|
||||
GBButtons->setTitle(QString());
|
||||
buttonHelp->setText(QApplication::translate("CreateListGroup", "Help", nullptr));
|
||||
buttonCancel->setText(QApplication::translate("CreateListGroup", "Cancel", nullptr));
|
||||
buttonApply->setText(QApplication::translate("CreateListGroup", "Apply", nullptr));
|
||||
buttonOk->setText(QApplication::translate("CreateListGroup", "OK", nullptr));
|
||||
GBOptions->setTitle(QApplication::translate("CreateListGroup", "Selected groups", nullptr));
|
||||
QTableWidgetItem *___qtablewidgetitem = TWGroupe->horizontalHeaderItem(0);
|
||||
___qtablewidgetitem->setText(QApplication::translate("CreateListGroup", "Selection", nullptr));
|
||||
QTableWidgetItem *___qtablewidgetitem1 = TWGroupe->horizontalHeaderItem(1);
|
||||
___qtablewidgetitem1->setText(QApplication::translate("CreateListGroup", "Group", nullptr));
|
||||
} // retranslateUi
|
||||
|
||||
};
|
||||
|
||||
namespace Ui {
|
||||
class CreateListGroup: public SMESH_Ui_CreateListGroup {};
|
||||
} // namespace Ui
|
||||
|
||||
QT_END_NAMESPACE
|
||||
|
||||
class SMESHGUI_EXPORT SMESH_CreateListGroupCAO : public QDialog, public SMESH_Ui_CreateListGroup
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
SMESH_CreateListGroupCAO( SMESH_CreateBoundaryCAO* parentBound, bool modal, SMESHHOMARD::HOMARD_Gen_var myHomardGen, QString aCaseName, QStringList listeGroupesHypo);
|
||||
SMESH_CreateListGroupCAO( SMESH_CreateBoundaryCAO* parentBound, SMESHHOMARD::HOMARD_Gen_var myHomardGen, QString aCaseName, QStringList listeGroupesHypo);
|
||||
virtual ~SMESH_CreateListGroupCAO();
|
||||
|
||||
protected :
|
||||
|
||||
SMESHHOMARD::HOMARD_Gen_var myHomardGen;
|
||||
|
||||
SMESH_CreateBoundaryCAO * _parentBound;
|
||||
QString _aCaseName;
|
||||
QStringList _listeGroupesHypo;
|
||||
|
||||
virtual void InitConnect();
|
||||
virtual void InitGroupes();
|
||||
|
||||
public slots:
|
||||
virtual void PushOnOK();
|
||||
virtual bool PushOnApply();
|
||||
virtual void PushOnHelp();
|
||||
|
||||
};
|
||||
|
||||
class SMESHGUI_EXPORT SMESH_CreateListGroup : public QDialog, public SMESH_Ui_CreateListGroup
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
SMESH_CreateListGroup( SMESH_CreateBoundaryDi* parentBound, bool modal, SMESHHOMARD::HOMARD_Gen_var myHomardGen, QString aCaseName, QStringList listeGroupesHypo);
|
||||
SMESH_CreateListGroup( SMESH_CreateBoundaryDi* parentBound, SMESHHOMARD::HOMARD_Gen_var myHomardGen, QString aCaseName, QStringList listeGroupesHypo);
|
||||
virtual ~SMESH_CreateListGroup();
|
||||
|
||||
protected :
|
||||
|
||||
SMESHHOMARD::HOMARD_Gen_var myHomardGen;
|
||||
|
||||
SMESH_CreateBoundaryDi * _parentBound;
|
||||
QString _aCaseName;
|
||||
QStringList _listeGroupesHypo;
|
||||
|
||||
virtual void InitConnect();
|
||||
virtual void InitGroupes();
|
||||
|
||||
public slots:
|
||||
virtual void PushOnOK();
|
||||
virtual bool PushOnApply();
|
||||
virtual void PushOnHelp();
|
||||
|
||||
};
|
||||
|
||||
class SMESHGUI_EXPORT SMESH_EditListGroupCAO : public SMESH_CreateListGroupCAO
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
SMESH_EditListGroupCAO( SMESH_CreateBoundaryCAO* parentBound, bool modal, SMESHHOMARD::HOMARD_Gen_var myHomardGen, QString aCaseName, QStringList listeGroupesHypo);
|
||||
virtual ~SMESH_EditListGroupCAO();
|
||||
|
||||
protected :
|
||||
|
||||
virtual void InitGroupes();
|
||||
|
||||
};
|
||||
|
||||
class SMESHGUI_EXPORT SMESH_EditListGroup : public SMESH_CreateListGroup
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
SMESH_EditListGroup( SMESH_CreateBoundaryDi* parentBound, bool modal,
|
||||
SMESHHOMARD::HOMARD_Gen_var myHomardGen,
|
||||
QString aCaseName, QStringList listeGroupesHypo);
|
||||
virtual ~SMESH_EditListGroup();
|
||||
|
||||
protected :
|
||||
|
||||
virtual void InitGroupes();
|
||||
|
||||
};
|
||||
|
||||
#endif // MON_CREATELISTGROUPCAO_H
|
658
src/SMESHGUI/SMESHGUI_HomardUtils.cxx
Normal file
658
src/SMESHGUI/SMESHGUI_HomardUtils.cxx
Normal file
@ -0,0 +1,658 @@
|
||||
// Copyright (C) 2011-2021 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
|
||||
//
|
||||
|
||||
|
||||
#include "SMESHGUI_HomardUtils.h"
|
||||
|
||||
#include <utilities.h>
|
||||
|
||||
#include "OB_Browser.h"
|
||||
|
||||
#include "SUIT_Desktop.h"
|
||||
#include "SUIT_Application.h"
|
||||
#include "SUIT_Session.h"
|
||||
|
||||
#include "LightApp_SelectionMgr.h"
|
||||
#include "SalomeApp_Application.h"
|
||||
#include "SalomeApp_Module.h"
|
||||
#include "SalomeApp_Study.h"
|
||||
|
||||
#include "SALOME_ListIO.hxx"
|
||||
|
||||
#include "SALOMEconfig.h"
|
||||
#include <string>
|
||||
|
||||
#include <qmessagebox.h>
|
||||
#include <qcombobox.h>
|
||||
#include <qfiledialog.h>
|
||||
#include <qstring.h>
|
||||
#include <stdlib.h>
|
||||
#include <qstringlist.h>
|
||||
|
||||
#include <sys/stat.h>
|
||||
#ifndef WIN32
|
||||
#include <dirent.h>
|
||||
#include <unistd.h>
|
||||
#endif
|
||||
|
||||
#include "SalomeApp_Tools.h"
|
||||
|
||||
#include <med.h>
|
||||
|
||||
SALOME_ListIO SMESH_HOMARD_UTILS::mySelected;
|
||||
|
||||
//================================================================
|
||||
// Function : GetActiveStudy
|
||||
// Returne un pointeur sur l'etude active
|
||||
//================================================================
|
||||
SUIT_Study* SMESH_HOMARD_UTILS::GetActiveStudy()
|
||||
{
|
||||
SUIT_Application* app = SUIT_Session::session()->activeApplication();
|
||||
if (app)
|
||||
return app->activeStudy();
|
||||
else
|
||||
return NULL;
|
||||
}
|
||||
|
||||
//================================================================
|
||||
// Function : getStudy
|
||||
// Returne un pointeur sur l'etude active
|
||||
//================================================================
|
||||
_PTR(Study) SMESH_HOMARD_UTILS::getStudy()
|
||||
{
|
||||
static _PTR(Study) _study;
|
||||
if(!_study)
|
||||
_study = SalomeApp_Application::getStudy();
|
||||
return _study;
|
||||
}
|
||||
|
||||
//================================================================
|
||||
// Function : updateObjBrowser
|
||||
// Purpose : met a jour l arbre d 'etude pour Homard
|
||||
//================================================================
|
||||
void SMESH_HOMARD_UTILS::updateObjBrowser()
|
||||
{
|
||||
SalomeApp_Application* app = dynamic_cast<SalomeApp_Application*>(SUIT_Session::session()->activeApplication());
|
||||
if (app) {
|
||||
// Le nom identifiant doit etre la valeur du parametre
|
||||
// name de la section HOMARD du fichier SalomeApp.xml
|
||||
CAM_Module* module = app->module("Homard" );
|
||||
SalomeApp_Module* appMod = dynamic_cast<SalomeApp_Module*>( module );
|
||||
if ( appMod ) {
|
||||
app->updateObjectBrowser();
|
||||
appMod->updateObjBrowser( true );
|
||||
}
|
||||
else
|
||||
MESSAGE( "--- SMESHHOMARD::updateObjBrowser: appMod = NULL");
|
||||
}
|
||||
}
|
||||
|
||||
//================================================================
|
||||
// Function : selectedIO
|
||||
// Return the list of selected SALOME_InteractiveObject's
|
||||
//================================================================
|
||||
const SALOME_ListIO& SMESH_HOMARD_UTILS::selectedIO()
|
||||
{
|
||||
SalomeApp_Application* app = dynamic_cast< SalomeApp_Application* > ( SUIT_Session::session()->activeApplication() );
|
||||
LightApp_SelectionMgr* aSelectionMgr = app->selectionMgr();
|
||||
if( aSelectionMgr )
|
||||
{
|
||||
aSelectionMgr->selectedObjects( mySelected );
|
||||
for (SALOME_ListIteratorOfListIO it (mySelected); it.More(); it.Next())
|
||||
SCRUTE(it.Value()->getEntry());
|
||||
};
|
||||
return mySelected;
|
||||
}
|
||||
|
||||
//================================================================
|
||||
// Function : IObjectCount
|
||||
// Return the number of selected objects
|
||||
//================================================================
|
||||
int SMESH_HOMARD_UTILS::IObjectCount()
|
||||
{
|
||||
SalomeApp_Application* app = dynamic_cast< SalomeApp_Application* >( SUIT_Session::session()->activeApplication() );
|
||||
LightApp_SelectionMgr* aSelectionMgr = app->selectionMgr();
|
||||
if( aSelectionMgr )
|
||||
{
|
||||
aSelectionMgr->selectedObjects( mySelected );
|
||||
SCRUTE(mySelected.Extent());
|
||||
return mySelected.Extent();
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
//================================================================
|
||||
// Function : firstIObject
|
||||
// Purpose : Return the first selected object in the selected object list
|
||||
//================================================================
|
||||
Handle(SALOME_InteractiveObject) SMESH_HOMARD_UTILS::firstIObject()
|
||||
{
|
||||
const SALOME_ListIO& aList = selectedIO();
|
||||
return aList.Extent() > 0 ? aList.First() : Handle(SALOME_InteractiveObject)();
|
||||
}
|
||||
|
||||
//================================================================
|
||||
// Function : lastIObject
|
||||
// Return the last selected object in the selected object list
|
||||
//================================================================
|
||||
Handle(SALOME_InteractiveObject) SMESH_HOMARD_UTILS::lastIObject()
|
||||
{
|
||||
const SALOME_ListIO& aList = selectedIO();
|
||||
return aList.Extent() > 0 ? aList.Last() : Handle(SALOME_InteractiveObject)();
|
||||
}
|
||||
|
||||
//================================================================
|
||||
// Retourne vrai si l'objet est du type voulu
|
||||
// . Dans le cas d'un cas, d'une hypothese, d'une zone, on se contente
|
||||
// d'une comparaison simple entre le type stocke et TypeObject.
|
||||
// . Pour l'iteration, le type stocke en attribut est sous la forme
|
||||
// "IterationHomard" + le nom de l'iteration precedente.
|
||||
// Il faut donc regarder si la chaine commence par TypeObject.
|
||||
// . Idem pour le fichier de messages : "Mess " + numero d'iteration
|
||||
//
|
||||
// On filtre ce genre de situation avec option :
|
||||
// -1 : comparaison totale
|
||||
// 0 : comparaison sur le debut de la chaine
|
||||
//================================================================
|
||||
bool SMESH_HOMARD_UTILS::isObject(_PTR(SObject) MonObj, QString TypeObject, int option)
|
||||
{
|
||||
// MESSAGE("isObject, TypeObject = "<<TypeObject.toStdString().c_str()<<", option = "<<option);
|
||||
// Existence d'un attribut ?
|
||||
_PTR(GenericAttribute) anAttr;
|
||||
if ( !MonObj->FindAttribute(anAttr, "AttributeComment") ) return false;
|
||||
// Quel type ?
|
||||
_PTR(AttributeComment) aComment (anAttr);
|
||||
QString Type = QString(aComment->Value().c_str());
|
||||
// MESSAGE("Type = "<<Type.toStdString().c_str());
|
||||
// Est-ce le bon ?
|
||||
bool bOK = false ;
|
||||
if ( option == 0 )
|
||||
{
|
||||
int position = Type.lastIndexOf(TypeObject);
|
||||
// MESSAGE("position = "<<position);
|
||||
if ( position == 0 ) { bOK = true ; }
|
||||
}
|
||||
else
|
||||
{
|
||||
if ( Type == TypeObject ) { bOK = true ; }
|
||||
}
|
||||
return bOK ;
|
||||
}
|
||||
//================================================================
|
||||
// Retourne vrai si l'objet est une frontiere CAO
|
||||
//================================================================
|
||||
bool SMESH_HOMARD_UTILS::isBoundaryCAO(_PTR(SObject) MonObj)
|
||||
{
|
||||
return isObject( MonObj, QString("BoundaryCAOHomard"), -1 ) ;
|
||||
}
|
||||
//================================================================
|
||||
// Retourne vrai si l'objet est une frontiere analytique
|
||||
//================================================================
|
||||
bool SMESH_HOMARD_UTILS::isBoundaryAn(_PTR(SObject) MonObj)
|
||||
{
|
||||
return isObject( MonObj, QString("BoundaryAnHomard"), -1 ) ;
|
||||
}
|
||||
//================================================================
|
||||
// Retourne vrai si l'objet est une frontiere discrete
|
||||
//================================================================
|
||||
bool SMESH_HOMARD_UTILS::isBoundaryDi(_PTR(SObject) MonObj)
|
||||
{
|
||||
return isObject( MonObj, QString("BoundaryDiHomard"), -1 ) ;
|
||||
}
|
||||
//================================================================
|
||||
// Retourne vrai si l'objet est un cas
|
||||
//================================================================
|
||||
bool SMESH_HOMARD_UTILS::isCase(_PTR(SObject) MonObj)
|
||||
{
|
||||
return isObject( MonObj, QString("CasHomard"), -1 ) ;
|
||||
}
|
||||
//================================================================
|
||||
// Retourne vrai si l'objet est une Hypothese
|
||||
//================================================================
|
||||
bool SMESH_HOMARD_UTILS::isHypo(_PTR(SObject) MonObj)
|
||||
{
|
||||
return isObject( MonObj, QString("HypoHomard"), -1 ) ;
|
||||
}
|
||||
//================================================================
|
||||
// Retourne vrai si l'objet est une iteration
|
||||
//================================================================
|
||||
bool SMESH_HOMARD_UTILS::isIter(_PTR(SObject) MonObj)
|
||||
{
|
||||
return isObject( MonObj, QString("IterationHomard"), 0 ) ;
|
||||
}
|
||||
//================================================================
|
||||
// Retourne vrai si l'objet est un fichier de type TypeFile
|
||||
//================================================================
|
||||
bool SMESH_HOMARD_UTILS::isFileType(_PTR(SObject) MonObj, QString TypeFile)
|
||||
{
|
||||
return isObject( MonObj, TypeFile, 0 ) ;
|
||||
}
|
||||
|
||||
// ============================================================================
|
||||
QString SMESH_HOMARD_QT_COMMUN::SelectionArbreEtude(QString commentaire, int option )
|
||||
// ============================================================================
|
||||
// Retourne l'objet selectionne dans l'arbre d'etudes
|
||||
// commentaire :
|
||||
// . si le commentaire est une chaine vide, on ne tient pas compte du type de l'objet
|
||||
// et on retourne le nom de cet objet
|
||||
// . sinon :
|
||||
// . si l'objet est du type defini par commentaire, retourne le nom de cet objet
|
||||
// . sinon on retourne une QString("")
|
||||
// option :
|
||||
// . Si option = 0, ce n'est pas grave de ne rien trouver ; aucun message n'est emis
|
||||
// . Si option = 1, ce n'est pas grave de ne rien trouver mais on emet un message
|
||||
{
|
||||
// MESSAGE("SelectionArbreEtude : commentaire = " << commentaire.toStdString().c_str() << " et option = " << option);
|
||||
int nbSel = SMESH_HOMARD_UTILS::IObjectCount() ;
|
||||
if ( nbSel == 0 )
|
||||
{
|
||||
if ( option == 1 )
|
||||
{
|
||||
QMessageBox::warning( 0, QObject::tr("HOM_WARNING"),
|
||||
QObject::tr("HOM_SELECT_OBJECT_1") );
|
||||
}
|
||||
return QString("");
|
||||
}
|
||||
if ( nbSel > 1 )
|
||||
{
|
||||
QMessageBox::critical( 0, QObject::tr("HOM_ERROR"),
|
||||
QObject::tr("HOM_SELECT_OBJECT_2") );
|
||||
return QString("");
|
||||
}
|
||||
//
|
||||
Handle(SALOME_InteractiveObject) aIO = SMESH_HOMARD_UTILS::firstIObject();
|
||||
if ( aIO->hasEntry() )
|
||||
{
|
||||
// MESSAGE("aIO->getEntry() = " << aIO->getEntry());
|
||||
_PTR(Study) aStudy = SMESH_HOMARD_UTILS::getStudy();
|
||||
_PTR(SObject) aSO ( aStudy->FindObjectID( aIO->getEntry() ) );
|
||||
_PTR(GenericAttribute) anAttr;
|
||||
if (aSO->FindAttribute(anAttr, "AttributeComment") )
|
||||
{
|
||||
if ( commentaire != "" )
|
||||
{
|
||||
_PTR(AttributeComment) attributComment = anAttr;
|
||||
QString aComment= QString(attributComment->Value().data());
|
||||
// MESSAGE("... aComment = " << aComment.toStdString().c_str());
|
||||
int iaux = aComment.lastIndexOf(commentaire);
|
||||
// MESSAGE("... iaux = " << iaux);
|
||||
if ( iaux !=0 )
|
||||
{
|
||||
QMessageBox::critical( 0, QObject::tr("HOM_ERROR"),
|
||||
QObject::tr("HOM_SELECT_OBJECT_3").arg(commentaire) );
|
||||
return QString("");
|
||||
}
|
||||
}
|
||||
if (aSO->FindAttribute(anAttr, "AttributeName") )
|
||||
{
|
||||
_PTR(AttributeName) attributName = anAttr;
|
||||
QString aName= QString(attributName->Value().data());
|
||||
return aName;
|
||||
}
|
||||
}
|
||||
}
|
||||
//
|
||||
return QString("");
|
||||
}
|
||||
|
||||
// =======================================================================
|
||||
QString SMESH_HOMARD_QT_COMMUN::SelectionCasEtude()
|
||||
// =======================================================================
|
||||
{
|
||||
QString aName = QString("");
|
||||
int nbSel = SMESH_HOMARD_UTILS::IObjectCount() ;
|
||||
if ( nbSel == 0 )
|
||||
{
|
||||
QMessageBox::critical( 0, QObject::tr("HOM_ERROR"),
|
||||
QObject::tr("HOM_SELECT_OBJECT_1") );
|
||||
return QString("");
|
||||
}
|
||||
if ( nbSel > 1 )
|
||||
{
|
||||
QMessageBox::critical( 0, QObject::tr("HOM_ERROR"),
|
||||
QObject::tr("HOM_SELECT_OBJECT_2") );
|
||||
return QString("");
|
||||
}
|
||||
Handle(SALOME_InteractiveObject) aIO = SMESH_HOMARD_UTILS::firstIObject();
|
||||
if ( aIO->hasEntry() )
|
||||
{
|
||||
_PTR(Study) aStudy = SMESH_HOMARD_UTILS::getStudy();
|
||||
_PTR(SObject) aSO ( aStudy->FindObjectID( aIO->getEntry() ) );
|
||||
_PTR(SObject) aSObjCas = aSO->GetFather();
|
||||
_PTR(GenericAttribute) anAttr;
|
||||
if (aSObjCas->FindAttribute(anAttr, "AttributeName") )
|
||||
{
|
||||
_PTR(AttributeName) attributName = anAttr;
|
||||
aName= QString(attributName->Value().data());
|
||||
}
|
||||
return aName;
|
||||
}
|
||||
return QString("");
|
||||
}
|
||||
|
||||
// =======================================================================
|
||||
QString SMESH_HOMARD_QT_COMMUN::PushNomFichier(bool avertir, QString TypeFichier)
|
||||
// =======================================================================
|
||||
// Gestion les boutons qui permettent de
|
||||
// 1) retourne le nom d'un fichier par une fenetre de dialogue si aucun
|
||||
// objet est selectionne dans l arbre d etude
|
||||
// 2) retourne le nom du fichier asocie a l objet
|
||||
// selectionne dans l arbre d etude
|
||||
{
|
||||
// MESSAGE("PushNomFichier avec avertir "<<avertir<<" et TypeFichier = "<<TypeFichier.toStdString().c_str());
|
||||
QString aFile = QString::null;
|
||||
//
|
||||
// A. Filtre
|
||||
QString filtre ;
|
||||
//
|
||||
if ( TypeFichier == "med" ) { filtre = QString("Med") ; }
|
||||
else if ( TypeFichier == "py" ) { filtre = QString("Python") ; }
|
||||
else { filtre = TypeFichier ; }
|
||||
//
|
||||
if ( TypeFichier != "" ) { filtre += QString(" files (*.") + TypeFichier + QString(");;") ; }
|
||||
//
|
||||
filtre += QString("all (*) ") ;
|
||||
//
|
||||
// B. Selection
|
||||
int nbSel = SMESH_HOMARD_UTILS::IObjectCount() ;
|
||||
// MESSAGE("nbSel ="<<nbSel);
|
||||
// B.1. Rien n'est selectionne
|
||||
if ( nbSel == 0 )
|
||||
{
|
||||
// aFile = QFileDialog::getOpenFileName(0, QObject::tr("HOM_SELECT_FILE_0"), QString(""), QString("Med files (*.med);;all (*) ") );
|
||||
aFile = QFileDialog::getOpenFileName(0, QObject::tr("HOM_SELECT_FILE_0"), QString(""), filtre );
|
||||
}
|
||||
// B.2. Un objet est selectionne
|
||||
else if (nbSel == 1)
|
||||
{
|
||||
Handle(SALOME_InteractiveObject) aIO = SMESH_HOMARD_UTILS::firstIObject();
|
||||
if ( aIO->hasEntry() )
|
||||
{
|
||||
_PTR(Study) aStudy = SMESH_HOMARD_UTILS::getStudy();
|
||||
_PTR(SObject) aSO ( aStudy->FindObjectID( aIO->getEntry() ) );
|
||||
_PTR(GenericAttribute) anAttr;
|
||||
_PTR(AttributeFileType) aFileType;
|
||||
_PTR(AttributeExternalFileDef) aFileName;
|
||||
if (aSO) {
|
||||
if (aSO->FindAttribute(anAttr, "AttributeFileType") ) {
|
||||
aFileType=anAttr;
|
||||
QString fileType=QString(aFileType->Value().data());
|
||||
if ( fileType==QString("FICHIERMED")) {
|
||||
if (aSO->FindAttribute(anAttr,"AttributeExternalFileDef")) {
|
||||
aFileName=anAttr;
|
||||
aFile= QString(aFileName->Value().data()); }
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if ( aFile==QString::null )
|
||||
{
|
||||
if ( avertir ) {
|
||||
QMessageBox::warning( 0, QObject::tr("HOM_WARNING"),
|
||||
QObject::tr("HOM_SELECT_STUDY") );
|
||||
}
|
||||
aFile = QFileDialog::getOpenFileName(0, QObject::tr("HOM_SELECT_FILE_0"), QString(""), filtre );
|
||||
}
|
||||
}
|
||||
// B.3. Bizarre
|
||||
else
|
||||
{
|
||||
QMessageBox::critical( 0, QObject::tr("HOM_ERROR"),
|
||||
QObject::tr("HOM_SELECT_FILE_2") );
|
||||
}
|
||||
|
||||
return aFile;
|
||||
}
|
||||
// =======================================================================
|
||||
med_idt SMESH_HOMARD_QT_COMMUN::OuvrirFichier(QString aFile)
|
||||
// =======================================================================
|
||||
// renvoie le medId associe au fichier Med apres ouverture
|
||||
{
|
||||
med_idt medIdt = MEDfileOpen(aFile.toStdString().c_str(),MED_ACC_RDONLY);
|
||||
if (medIdt <0)
|
||||
{
|
||||
QMessageBox::critical( 0, QObject::tr("HOM_ERROR"),
|
||||
QObject::tr("HOM_MED_FILE_1") );
|
||||
}
|
||||
return medIdt;
|
||||
}
|
||||
|
||||
// ======================================================
|
||||
QString SMESH_HOMARD_QT_COMMUN::LireNomMaillage(QString aFile)
|
||||
// ========================================================
|
||||
{
|
||||
QString nomMaillage = "" ;
|
||||
int erreur = 0 ;
|
||||
med_idt medIdt ;
|
||||
while ( erreur == 0 )
|
||||
{
|
||||
// Ouverture du fichier
|
||||
medIdt = SMESH_HOMARD_QT_COMMUN::OuvrirFichier(aFile);
|
||||
if ( medIdt < 0 )
|
||||
{
|
||||
erreur = 1 ;
|
||||
break ;
|
||||
}
|
||||
med_int numberOfMeshes = MEDnMesh(medIdt) ;
|
||||
if (numberOfMeshes == 0 )
|
||||
{
|
||||
QMessageBox::critical( 0, QObject::tr("HOM_ERROR"),
|
||||
QObject::tr("HOM_MED_FILE_2") );
|
||||
erreur = 2 ;
|
||||
break ;
|
||||
}
|
||||
if (numberOfMeshes > 1 )
|
||||
{
|
||||
QMessageBox::critical( 0, QObject::tr("HOM_ERROR"),
|
||||
QObject::tr("HOM_MED_FILE_3") );
|
||||
erreur = 3 ;
|
||||
break ;
|
||||
}
|
||||
|
||||
nomMaillage = SMESH_HOMARD_QT_COMMUN::LireNomMaillage2(medIdt,1);
|
||||
break ;
|
||||
}
|
||||
// Fermeture du fichier
|
||||
if ( medIdt > 0 ) MEDfileClose(medIdt);
|
||||
|
||||
return nomMaillage;
|
||||
}
|
||||
// =======================================================================
|
||||
QString SMESH_HOMARD_QT_COMMUN::LireNomMaillage2(med_idt medIdt ,int meshId)
|
||||
// =======================================================================
|
||||
{
|
||||
QString NomMaillage=QString::null;
|
||||
char meshname[MED_NAME_SIZE+1];
|
||||
med_int spacedim,meshdim;
|
||||
med_mesh_type meshtype;
|
||||
char descriptionription[MED_COMMENT_SIZE+1];
|
||||
char dtunit[MED_SNAME_SIZE+1];
|
||||
med_sorting_type sortingtype;
|
||||
med_int nstep;
|
||||
med_axis_type axistype;
|
||||
int naxis = MEDmeshnAxis(medIdt,1);
|
||||
char *axisname=new char[naxis*MED_SNAME_SIZE+1];
|
||||
char *axisunit=new char[naxis*MED_SNAME_SIZE+1];
|
||||
med_err aRet = MEDmeshInfo(medIdt,
|
||||
meshId,
|
||||
meshname,
|
||||
&spacedim,
|
||||
&meshdim,
|
||||
&meshtype,
|
||||
descriptionription,
|
||||
dtunit,
|
||||
&sortingtype,
|
||||
&nstep,
|
||||
&axistype,
|
||||
axisname,
|
||||
axisunit);
|
||||
|
||||
if ( aRet < 0 ) { QMessageBox::critical( 0, QObject::tr("HOM_ERROR"), \
|
||||
QObject::tr("HOM_MED_FILE_4") ); }
|
||||
else { NomMaillage=QString(meshname); }
|
||||
|
||||
delete[] axisname ;
|
||||
delete[] axisunit ;
|
||||
|
||||
return NomMaillage;
|
||||
}
|
||||
|
||||
|
||||
// =======================================================================
|
||||
std::list<QString> SMESH_HOMARD_QT_COMMUN::GetListeChamps(QString aFile)
|
||||
// =======================================================================
|
||||
{
|
||||
// Il faut voir si plusieurs maillages
|
||||
|
||||
MESSAGE("GetListeChamps");
|
||||
std::list<QString> ListeChamp ;
|
||||
|
||||
med_err erreur = 0 ;
|
||||
med_idt medIdt ;
|
||||
|
||||
while ( erreur == 0 )
|
||||
{
|
||||
// Ouverture du fichier
|
||||
SCRUTE(aFile.toStdString());
|
||||
medIdt = SMESH_HOMARD_QT_COMMUN::OuvrirFichier(aFile);
|
||||
if ( medIdt < 0 )
|
||||
{
|
||||
erreur = 1 ;
|
||||
break ;
|
||||
}
|
||||
// Lecture du nombre de champs
|
||||
med_int ncha = MEDnField(medIdt) ;
|
||||
if (ncha < 1 )
|
||||
{
|
||||
QMessageBox::critical( 0, QObject::tr("HOM_ERROR"),
|
||||
QObject::tr("HOM_MED_FILE_5") );
|
||||
erreur = 2 ;
|
||||
break ;
|
||||
}
|
||||
// Lecture des caracteristiques des champs
|
||||
for (int i=0; i< ncha; i++)
|
||||
{
|
||||
// Lecture du nombre de composantes
|
||||
med_int ncomp = MEDfieldnComponent(medIdt,i+1);
|
||||
// Lecture du type du champ, des noms des composantes et du nom de l'unite
|
||||
char nomcha [MED_NAME_SIZE+1];
|
||||
char meshname[MED_NAME_SIZE+1];
|
||||
char * comp = (char*) malloc(ncomp*MED_SNAME_SIZE+1);
|
||||
char * unit = (char*) malloc(ncomp*MED_SNAME_SIZE+1);
|
||||
char dtunit[MED_SNAME_SIZE+1];
|
||||
med_bool local;
|
||||
med_field_type typcha;
|
||||
med_int nbofcstp;
|
||||
erreur = MEDfieldInfo(medIdt,i+1,nomcha,meshname,&local,&typcha,comp,unit,dtunit,&nbofcstp) ;
|
||||
free(comp);
|
||||
free(unit);
|
||||
if ( erreur < 0 )
|
||||
{
|
||||
QMessageBox::critical( 0, QObject::tr("HOM_ERROR"),
|
||||
QObject::tr("HOM_MED_FILE_6") );
|
||||
break ;
|
||||
}
|
||||
ListeChamp.push_back(QString(nomcha));
|
||||
}
|
||||
break ;
|
||||
}
|
||||
// Fermeture du fichier
|
||||
if ( medIdt > 0 ) MEDfileClose(medIdt);
|
||||
|
||||
return ListeChamp;
|
||||
}
|
||||
|
||||
// ======================================================================================
|
||||
std::list<QString> SMESH_HOMARD_QT_COMMUN::GetListeComposants(QString aFile, QString aChamp)
|
||||
// ======================================================================================
|
||||
{
|
||||
MESSAGE ( "GetListeComposants pour le fichier " << aFile.toStdString().c_str());
|
||||
MESSAGE ( "GetListeComposants pour le champ " << aChamp.toStdString().c_str());
|
||||
|
||||
std::list<QString> ListeComposants;
|
||||
|
||||
med_err erreur = 0 ;
|
||||
med_idt medIdt ;
|
||||
|
||||
while ( erreur == 0 )
|
||||
{
|
||||
// Ouverture du fichier
|
||||
SCRUTE(aFile.toStdString());
|
||||
medIdt = SMESH_HOMARD_QT_COMMUN::OuvrirFichier(aFile);
|
||||
if ( medIdt < 0 )
|
||||
{
|
||||
erreur = 1 ;
|
||||
break ;
|
||||
}
|
||||
// Lecture du nombre de champs
|
||||
med_int ncha = MEDnField(medIdt) ;
|
||||
if (ncha < 1 )
|
||||
{
|
||||
QMessageBox::critical( 0, QObject::tr("HOM_ERROR"),
|
||||
QObject::tr("HOM_MED_FILE_5") );
|
||||
erreur = 2 ;
|
||||
break ;
|
||||
}
|
||||
// Lecture des caracteristiques des champs
|
||||
for (int i=0; i< ncha; i++)
|
||||
{
|
||||
// Lecture du nombre de composantes
|
||||
med_int ncomp = MEDfieldnComponent(medIdt,i+1);
|
||||
// Lecture du type du champ, des noms des composantes et du nom de l'unite
|
||||
char nomcha [MED_NAME_SIZE+1];
|
||||
char meshname[MED_NAME_SIZE+1];
|
||||
char * comp = (char*) malloc(ncomp*MED_SNAME_SIZE+1);
|
||||
char * unit = (char*) malloc(ncomp*MED_SNAME_SIZE+1);
|
||||
char dtunit[MED_SNAME_SIZE+1];
|
||||
med_bool local;
|
||||
med_field_type typcha;
|
||||
med_int nbofcstp;
|
||||
erreur = MEDfieldInfo(medIdt,i+1,nomcha,meshname,&local,&typcha,comp,unit,dtunit,&nbofcstp) ;
|
||||
free(unit);
|
||||
if ( erreur < 0 )
|
||||
{
|
||||
free(comp);
|
||||
QMessageBox::critical( 0, QObject::tr("HOM_ERROR"),
|
||||
QObject::tr("HOM_MED_FILE_6") );
|
||||
break ;
|
||||
}
|
||||
// Lecture des composantes si c'est le bon champ
|
||||
if ( QString(nomcha) == aChamp )
|
||||
{
|
||||
for (int j = 0; j <ncomp; j++)
|
||||
{
|
||||
char cible[MED_SNAME_SIZE +1];
|
||||
strncpy(cible,comp+j*MED_SNAME_SIZE,MED_SNAME_SIZE );
|
||||
cible[MED_SNAME_SIZE ]='\0';
|
||||
ListeComposants.push_back(QString(cible));
|
||||
}
|
||||
}
|
||||
// Menage
|
||||
free(comp);
|
||||
// Sortie si c'est bon
|
||||
if ( QString(nomcha) == aChamp ) { break ; }
|
||||
}
|
||||
break ;
|
||||
}
|
||||
// Fermeture du fichier
|
||||
if ( medIdt > 0 ) MEDfileClose(medIdt);
|
||||
|
||||
return ListeComposants;
|
||||
}
|
112
src/SMESHGUI/SMESHGUI_HomardUtils.h
Normal file
112
src/SMESHGUI/SMESHGUI_HomardUtils.h
Normal file
@ -0,0 +1,112 @@
|
||||
// Copyright (C) 2011-2021 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 SMESH_HOMARD_H_UTILS
|
||||
#define SMESH_HOMARD_H_UTILS
|
||||
|
||||
#include "SMESH_SMESHGUI.hxx"
|
||||
|
||||
#include <SALOMEconfig.h>
|
||||
|
||||
#include <omniORB4/CORBA.h>
|
||||
//#include CORBA_CLIENT_HEADER(SALOMEDS_Attributes)
|
||||
#include CORBA_CLIENT_HEADER(SMESH_Homard)
|
||||
|
||||
#include <SALOMEDSClient_definitions.hxx>
|
||||
#include <SALOME_InteractiveObject.hxx>
|
||||
#include <LightApp_DataOwner.h>
|
||||
#include <SalomeApp_Application.h>
|
||||
#include <SALOME_ListIO.hxx>
|
||||
//#include <SALOME_Selection.h>
|
||||
#include <SalomeApp_Module.h>
|
||||
|
||||
#include <med.h>
|
||||
|
||||
#include <qstring.h>
|
||||
#include <vector>
|
||||
#include <set>
|
||||
|
||||
class QString;
|
||||
class QStringList;
|
||||
class QComboBox;
|
||||
|
||||
class SUIT_ViewWindow;
|
||||
class SUIT_Desktop;
|
||||
class SUIT_Study;
|
||||
class SUIT_ResourceMgr;
|
||||
|
||||
class CAM_Module;
|
||||
|
||||
class SALOMEDSClient_Study;
|
||||
class SALOMEDSClient_SObject;
|
||||
|
||||
class SalomeApp_Study;
|
||||
class SalomeApp_Module;
|
||||
class LightApp_SelectionMgr;
|
||||
|
||||
namespace SMESH_HOMARD_UTILS {
|
||||
|
||||
SMESHGUI_EXPORT SUIT_Study* GetActiveStudy();
|
||||
SMESHGUI_EXPORT _PTR(Study) getStudy();
|
||||
|
||||
SMESHGUI_EXPORT void updateObjBrowser();
|
||||
|
||||
// Function returns a list of SALOME_InteractiveObject's from
|
||||
// selection manager in GUI
|
||||
SMESHGUI_EXPORT const SALOME_ListIO& selectedIO();
|
||||
|
||||
// Function returns the number of selected objects
|
||||
SMESHGUI_EXPORT int IObjectCount();
|
||||
|
||||
// Function returns the first selected object in the list
|
||||
// of selected objects
|
||||
SMESHGUI_EXPORT Handle(SALOME_InteractiveObject) firstIObject() ;
|
||||
|
||||
// Function returns the last selected object in the list
|
||||
// of selected objects
|
||||
SMESHGUI_EXPORT Handle(SALOME_InteractiveObject) lastIObject() ;
|
||||
|
||||
SMESHGUI_EXPORT bool isBoundaryCAO(_PTR(SObject) MonObj);
|
||||
SMESHGUI_EXPORT bool isBoundaryAn(_PTR(SObject) MonObj);
|
||||
SMESHGUI_EXPORT bool isBoundaryDi(_PTR(SObject) MonObj);
|
||||
SMESHGUI_EXPORT bool isCase(_PTR(SObject) MonObj);
|
||||
SMESHGUI_EXPORT bool isHypo(_PTR(SObject) MonObj);
|
||||
SMESHGUI_EXPORT bool isIter(_PTR(SObject) MonObj);
|
||||
SMESHGUI_EXPORT bool isFileType(_PTR(SObject) MonObj, QString TypeFile);
|
||||
SMESHGUI_EXPORT bool isObject(_PTR(SObject) MonObj, QString TypeObject, int option );
|
||||
|
||||
extern SALOME_ListIO mySelected;
|
||||
}
|
||||
|
||||
namespace SMESH_HOMARD_QT_COMMUN
|
||||
{
|
||||
SMESHGUI_EXPORT QString PushNomFichier(bool avertir, QString TypeFichier="");
|
||||
SMESHGUI_EXPORT QString LireNomMaillage(QString aFile);
|
||||
SMESHGUI_EXPORT QString LireNomMaillage2(med_idt Medidt,int MeshId);
|
||||
|
||||
SMESHGUI_EXPORT med_idt OuvrirFichier(QString aFile);
|
||||
|
||||
SMESHGUI_EXPORT std::list<QString> GetListeChamps(QString aFile);
|
||||
SMESHGUI_EXPORT std::list<QString> GetListeComposants(QString aFile, QString aChamp);
|
||||
|
||||
SMESHGUI_EXPORT QString SelectionArbreEtude(QString commentaire, int grave );
|
||||
SMESHGUI_EXPORT QString SelectionCasEtude();
|
||||
};
|
||||
|
||||
#endif // ifndef SMESH_HOMARD_H_UTILS
|
@ -184,6 +184,7 @@ namespace SMESHOp {
|
||||
OpSplitBiQuadratic = 4515, // MENU MODIFICATION - SPLIT BI-QUADRATIC TO LINEAR
|
||||
// Adaptation ---------------------//--------------------------------
|
||||
OpMGAdapt = 8020, // MENU ADAPTATION - MG-ADAPT
|
||||
OpHomardAdapt = 8021, // MENU ADAPTATION - HOMARD-ADAPT
|
||||
// Measurements -------------------//--------------------------------
|
||||
OpPropertiesLength = 5000, // MENU MEASUREMENTS - BASIC PROPERTIES - LENGTH
|
||||
OpPropertiesArea = 5001, // MENU MEASUREMENTS - BASIC PROPERTIES - AREA
|
||||
|
@ -87,6 +87,10 @@
|
||||
<source>ICON_MG_ADAPT</source>
|
||||
<translation>adapt_mg_adapt.png</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>ICON_HOMARD_ADAPT</source>
|
||||
<translation>adapt_homard.png</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>ICON_CONV_TO_QUAD</source>
|
||||
<translation>mesh_conv_to_quad.png</translation>
|
||||
|
@ -340,6 +340,10 @@
|
||||
<source>MEN_MG_ADAPT</source>
|
||||
<translation>Remesh with MG_Adapt</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>MEN_HOMARD_ADAPT</source>
|
||||
<translation>Remesh with HOMARD</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Args</source>
|
||||
<translation>Arguments</translation>
|
||||
@ -3312,6 +3316,10 @@ Use Display Entity menu command to show them.
|
||||
<source>STB_MG_ADAPT</source>
|
||||
<translation>Remesh with MG_Adapt</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>STB_HOMARD_ADAPT</source>
|
||||
<translation>Remesh with HOMARD</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>STB_CONV_TO_QUAD</source>
|
||||
<translation>Convert to/from quadratic</translation>
|
||||
@ -4008,6 +4016,10 @@ Use Display Entity menu command to show them.
|
||||
<source>TOP_MG_ADAPT</source>
|
||||
<translation>Remesh with MG_Adapt</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>TOP_HOMARD_ADAPT</source>
|
||||
<translation>Remesh with HOMARD</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>TOP_CONV_TO_QUAD</source>
|
||||
<translation>Convert to/from quadratic</translation>
|
||||
|
@ -115,6 +115,7 @@ SET(SMESHEngine_HEADERS
|
||||
SMESH.hxx
|
||||
SMESH_Component_Generator.hxx
|
||||
MG_ADAPT_i.hxx
|
||||
SMESH_Homard_i.hxx
|
||||
)
|
||||
|
||||
# --- sources ---
|
||||
@ -144,6 +145,7 @@ SET(SMESHEngine_SOURCES
|
||||
SMESH_PreMeshInfo.cxx
|
||||
SMESH_Component_Generator.cxx
|
||||
MG_ADAPT_i.cxx
|
||||
SMESH_Homard_i.cxx
|
||||
)
|
||||
|
||||
# --- rules ---
|
||||
|
@ -477,6 +477,7 @@ public:
|
||||
int CountInPyDump(const TCollection_AsciiString& text);
|
||||
|
||||
SMESH::MG_ADAPT_ptr CreateMG_ADAPT();
|
||||
SMESHHOMARD::HOMARD_Gen_ptr CreateHOMARD_ADAPT();
|
||||
SMESH::MG_ADAPT_ptr CreateAdaptationHypothesis();
|
||||
SMESH::MG_ADAPT_OBJECT_ptr Adaptation( const char* adaptationType);
|
||||
|
||||
|
4804
src/SMESH_I/SMESH_Homard_i.cxx
Normal file
4804
src/SMESH_I/SMESH_Homard_i.cxx
Normal file
File diff suppressed because it is too large
Load Diff
547
src/SMESH_I/SMESH_Homard_i.hxx
Normal file
547
src/SMESH_I/SMESH_Homard_i.hxx
Normal file
@ -0,0 +1,547 @@
|
||||
// Copyright (C) 2011-2021 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
|
||||
//
|
||||
|
||||
// Remarques :
|
||||
// L'ordre de description des fonctions est le meme dans tous les fichiers
|
||||
// HOMARD_aaaa.idl, HOMARD_aaaa.hxx, HOMARD_aaaa.cxx, HOMARD_aaaa_i.hxx, HOMARD_aaaa_i.cxx :
|
||||
// 1. Les generalites : Name, Delete, DumpPython, Dump, Restore
|
||||
// 2. Les caracteristiques
|
||||
// 3. Le lien avec les autres structures
|
||||
//
|
||||
// Quand les 2 fonctions Setxxx et Getxxx sont presentes, Setxxx est decrit en premier
|
||||
//
|
||||
|
||||
#ifndef _SMESH_HOMARD_I_HXX_
|
||||
#define _SMESH_HOMARD_I_HXX_
|
||||
|
||||
#include <SALOMEconfig.h>
|
||||
#include CORBA_SERVER_HEADER(SMESH_Homard)
|
||||
#include CORBA_CLIENT_HEADER(SALOMEDS)
|
||||
#include CORBA_CLIENT_HEADER(SALOMEDS_Attributes)
|
||||
#include CORBA_CLIENT_HEADER(SALOME_ModuleCatalog)
|
||||
#include CORBA_CLIENT_HEADER(SMESH_Gen)
|
||||
|
||||
#include "SMESH.hxx"
|
||||
#include "SMESH_Homard.hxx"
|
||||
//#include "FrontTrack.hxx"
|
||||
#include "SALOME_Component_i.hxx"
|
||||
#include "SALOME_NamingService.hxx"
|
||||
#include "Utils_CorbaException.hxx"
|
||||
|
||||
#include <map>
|
||||
#include <set>
|
||||
#include <string>
|
||||
#include <vector>
|
||||
|
||||
//namespace SMESHHOMARDImpl
|
||||
//{
|
||||
// class HOMARD_Boundary;
|
||||
// class HOMARD_Cas;
|
||||
// class HOMARD_Hypothesis;
|
||||
// class HOMARD_Iteration;
|
||||
//};
|
||||
|
||||
namespace SMESHHOMARD_I
|
||||
{
|
||||
|
||||
class SMESH_I_EXPORT HOMARD_Boundary_i:
|
||||
public virtual Engines_Component_i,
|
||||
public virtual POA_SMESHHOMARD::HOMARD_Boundary,
|
||||
public virtual PortableServer::ServantBase
|
||||
{
|
||||
public:
|
||||
HOMARD_Boundary_i( CORBA::ORB_ptr orb, SMESHHOMARD::HOMARD_Gen_var gen_i );
|
||||
HOMARD_Boundary_i();
|
||||
|
||||
virtual ~HOMARD_Boundary_i();
|
||||
|
||||
// Generalites
|
||||
void SetName( const char* Name );
|
||||
char* GetName();
|
||||
|
||||
CORBA::Long Delete();
|
||||
|
||||
char* GetDumpPython();
|
||||
|
||||
std::string Dump() const;
|
||||
bool Restore( const std::string& stream );
|
||||
|
||||
// Caracteristiques
|
||||
void SetType( CORBA::Long Type );
|
||||
CORBA::Long GetType();
|
||||
|
||||
void SetMeshName( const char* MeshName );
|
||||
char* GetMeshName();
|
||||
|
||||
void SetDataFile( const char* DataFile );
|
||||
char* GetDataFile();
|
||||
|
||||
void SetCylinder( double Xcentre, double Ycentre, double ZCentre,
|
||||
double Xaxe, double Yaxe, double Zaxe,
|
||||
double rayon );
|
||||
void SetSphere( double Xcentre, double Ycentre, double ZCentre,
|
||||
double rayon );
|
||||
void SetConeR( double Xcentre1, double Ycentre1, double Zcentre1, double Rayon1,
|
||||
double Xcentre2, double Ycentre2, double Zcentre2, double Rayon2);
|
||||
void SetConeA( double Xaxe, double Yaxe, double Zaxe, double Angle,
|
||||
double Xcentre, double Ycentre, double ZCentre);
|
||||
void SetTorus( double Xcentre, double Ycentre, double ZCentre,
|
||||
double Xaxe, double Yaxe, double Zaxe,
|
||||
double rayonRev, double rayonPri );
|
||||
|
||||
SMESHHOMARD::double_array* GetCoords();
|
||||
|
||||
void SetLimit( double Xincr, double Yincr, double Zincr);
|
||||
SMESHHOMARD::double_array* GetLimit();
|
||||
|
||||
void AddGroup( const char* Group);
|
||||
void SetGroups(const SMESHHOMARD::ListGroupType& ListGroup);
|
||||
SMESHHOMARD::ListGroupType* GetGroups();
|
||||
|
||||
// Liens avec les autres structures
|
||||
void SetCaseCreation( const char* NomCaseCreation );
|
||||
char* GetCaseCreation();
|
||||
|
||||
|
||||
private:
|
||||
SMESHHOMARDImpl::HOMARD_Boundary* myHomardBoundary;
|
||||
|
||||
CORBA::ORB_ptr _orb;
|
||||
SMESHHOMARD::HOMARD_Gen_var _gen_i;
|
||||
};
|
||||
|
||||
class SMESH_I_EXPORT HOMARD_Cas_i:
|
||||
public virtual Engines_Component_i,
|
||||
public virtual POA_SMESHHOMARD::HOMARD_Cas,
|
||||
public virtual PortableServer::ServantBase
|
||||
{
|
||||
public:
|
||||
HOMARD_Cas_i( CORBA::ORB_ptr orb, SMESHHOMARD::HOMARD_Gen_var gen_i );
|
||||
HOMARD_Cas_i();
|
||||
|
||||
virtual ~HOMARD_Cas_i();
|
||||
|
||||
// Generalites
|
||||
void SetName( const char* Name );
|
||||
char* GetName();
|
||||
|
||||
CORBA::Long Delete( CORBA::Long Option );
|
||||
|
||||
char* GetDumpPython();
|
||||
|
||||
std::string Dump() const;
|
||||
bool Restore( const std::string& stream );
|
||||
|
||||
// Caracteristiques
|
||||
void SetDirName( const char* NomDir );
|
||||
char* GetDirName();
|
||||
|
||||
CORBA::Long GetState();
|
||||
|
||||
CORBA::Long GetNumberofIter();
|
||||
|
||||
void SetConfType( CORBA::Long ConfType );
|
||||
CORBA::Long GetConfType();
|
||||
|
||||
void SetExtType( CORBA::Long ExtType );
|
||||
CORBA::Long GetExtType();
|
||||
|
||||
void SetBoundingBox( const SMESHHOMARD::extrema& LesExtremes );
|
||||
SMESHHOMARD::extrema* GetBoundingBox();
|
||||
|
||||
void AddGroup( const char* Group);
|
||||
void SetGroups(const SMESHHOMARD::ListGroupType& ListGroup);
|
||||
SMESHHOMARD::ListGroupType* GetGroups();
|
||||
|
||||
void AddBoundary(const char* Boundary);
|
||||
void AddBoundaryGroup(const char* Boundary, const char* Group);
|
||||
SMESHHOMARD::ListBoundaryGroupType* GetBoundaryGroup();
|
||||
void SupprBoundaryGroup( );
|
||||
|
||||
void SetPyram( CORBA::Long Pyram );
|
||||
CORBA::Long GetPyram();
|
||||
|
||||
void MeshInfo(CORBA::Long Qual, CORBA::Long Diam, CORBA::Long Conn, CORBA::Long Tail, CORBA::Long Inte);
|
||||
|
||||
// Liens avec les autres structures
|
||||
char* GetIter0Name();
|
||||
SMESHHOMARD::HOMARD_Iteration_ptr GetIter0();
|
||||
|
||||
SMESHHOMARD::HOMARD_Iteration_ptr NextIteration( const char* Name );
|
||||
|
||||
SMESHHOMARD::HOMARD_Iteration_ptr LastIteration();
|
||||
|
||||
void AddIteration( const char* NomIteration );
|
||||
|
||||
private:
|
||||
SMESHHOMARDImpl::HOMARD_Cas* myHomardCas;
|
||||
|
||||
CORBA::ORB_ptr _orb;
|
||||
SMESHHOMARD::HOMARD_Gen_var _gen_i;
|
||||
};
|
||||
|
||||
class SMESH_I_EXPORT HOMARD_Hypothesis_i:
|
||||
public virtual Engines_Component_i,
|
||||
public virtual POA_SMESHHOMARD::HOMARD_Hypothesis,
|
||||
public virtual PortableServer::ServantBase
|
||||
{
|
||||
public:
|
||||
HOMARD_Hypothesis_i( CORBA::ORB_ptr orb, SMESHHOMARD::HOMARD_Gen_var gen_i );
|
||||
HOMARD_Hypothesis_i();
|
||||
|
||||
virtual ~HOMARD_Hypothesis_i();
|
||||
|
||||
// Generalites
|
||||
void SetName( const char* Name );
|
||||
char* GetName();
|
||||
|
||||
CORBA::Long Delete();
|
||||
|
||||
char* GetDumpPython();
|
||||
|
||||
std::string Dump() const;
|
||||
bool Restore( const std::string& stream );
|
||||
|
||||
// Caracteristiques
|
||||
void SetUnifRefinUnRef( CORBA::Long TypeRaffDera );
|
||||
SMESHHOMARD::listeTypes* GetAdapRefinUnRef();
|
||||
CORBA::Long GetAdapType();
|
||||
CORBA::Long GetRefinType();
|
||||
CORBA::Long GetUnRefType();
|
||||
|
||||
void SetField( const char* FieldName );
|
||||
char* GetFieldName();
|
||||
void SetUseField(CORBA::Long UsField);
|
||||
SMESHHOMARD::InfosHypo* GetField();
|
||||
|
||||
void SetUseComp(CORBA::Long UsCmpI);
|
||||
void AddComp( const char* NomComp );
|
||||
void SupprComp( const char* NomComp );
|
||||
void SupprComps();
|
||||
SMESHHOMARD::listeComposantsHypo* GetComps();
|
||||
|
||||
void SetRefinThr(CORBA::Long TypeThR, CORBA::Double ThreshR);
|
||||
CORBA::Long GetRefinThrType();
|
||||
void SetUnRefThr(CORBA::Long TypeThC, CORBA::Double ThreshC);
|
||||
CORBA::Long GetUnRefThrType();
|
||||
|
||||
void SetNivMax( CORBA::Long NivMax );
|
||||
CORBA::Long GetNivMax();
|
||||
|
||||
void SetDiamMin( CORBA::Double DiamMin );
|
||||
CORBA::Double GetDiamMin();
|
||||
|
||||
void SetAdapInit( CORBA::Long AdapInit );
|
||||
CORBA::Long GetAdapInit();
|
||||
|
||||
void SetExtraOutput( CORBA::Long ExtraOutput );
|
||||
CORBA::Long GetExtraOutput();
|
||||
|
||||
void AddGroup( const char* Group);
|
||||
void SupprGroup( const char* Group );
|
||||
void SupprGroups();
|
||||
void SetGroups(const SMESHHOMARD::ListGroupType& ListGroup);
|
||||
SMESHHOMARD::ListGroupType* GetGroups();
|
||||
|
||||
void SetTypeFieldInterp( CORBA::Long TypeFieldInterp );
|
||||
CORBA::Long GetTypeFieldInterp();
|
||||
void AddFieldInterp( const char* FieldInterp );
|
||||
void AddFieldInterpType( const char* FieldInterp, CORBA::Long TypeInterp );
|
||||
void SupprFieldInterp( const char* FieldInterp );
|
||||
void SupprFieldInterps();
|
||||
SMESHHOMARD::listeFieldInterpsHypo* GetFieldInterps();
|
||||
|
||||
// Liens avec les autres structures
|
||||
void SetCaseCreation( const char* NomCaseCreation );
|
||||
char* GetCaseCreation();
|
||||
|
||||
void LinkIteration( const char* NomIteration );
|
||||
void UnLinkIteration( const char* NomIteration );
|
||||
SMESHHOMARD::listeIters* GetIterations();
|
||||
|
||||
private:
|
||||
SMESHHOMARDImpl::HOMARD_Hypothesis* myHomardHypothesis;
|
||||
|
||||
CORBA::ORB_ptr _orb;
|
||||
SMESHHOMARD::HOMARD_Gen_var _gen_i;
|
||||
};
|
||||
|
||||
class SMESH_I_EXPORT HOMARD_Iteration_i:
|
||||
public virtual Engines_Component_i,
|
||||
public virtual POA_SMESHHOMARD::HOMARD_Iteration,
|
||||
public virtual PortableServer::ServantBase
|
||||
{
|
||||
public:
|
||||
HOMARD_Iteration_i( CORBA::ORB_ptr orb,
|
||||
SMESHHOMARD::HOMARD_Gen_var gen_i );
|
||||
HOMARD_Iteration_i();
|
||||
|
||||
virtual ~HOMARD_Iteration_i();
|
||||
|
||||
// Generalites
|
||||
void SetName( const char* Name );
|
||||
char* GetName();
|
||||
|
||||
CORBA::Long Delete( CORBA::Long Option, bool doRemoveWorkingFiles );
|
||||
|
||||
char* GetDumpPython();
|
||||
|
||||
std::string Dump() const;
|
||||
bool Restore( const std::string& stream );
|
||||
|
||||
// Caracteristiques
|
||||
void SetDirNameLoc( const char* NomDir );
|
||||
char* GetDirNameLoc();
|
||||
|
||||
char* GetDirName();
|
||||
|
||||
void SetNumber( CORBA::Long NumIter );
|
||||
CORBA::Long GetNumber();
|
||||
|
||||
void SetState( CORBA::Long etat );
|
||||
CORBA::Long GetState();
|
||||
|
||||
void SetMeshName( const char* NomMesh );
|
||||
char* GetMeshName();
|
||||
|
||||
void SetMeshFile( const char* MeshFile );
|
||||
char* GetMeshFile();
|
||||
|
||||
void SetFieldFile( const char* FieldFile );
|
||||
char* GetFieldFile();
|
||||
// Instants pour le champ de pilotage
|
||||
void SetTimeStep( CORBA::Long TimeStep );
|
||||
void SetTimeStepRank( CORBA::Long TimeStep, CORBA::Long Rank );
|
||||
void SetTimeStepRankLast();
|
||||
CORBA::Long GetTimeStep();
|
||||
CORBA::Long GetRank();
|
||||
// Instants pour un champ a interpoler
|
||||
void SetFieldInterpTimeStep( const char* FieldInterp, CORBA::Long TimeStep );
|
||||
void SetFieldInterpTimeStepRank( const char* FieldInterp, CORBA::Long TimeStep, CORBA::Long Rank );
|
||||
SMESHHOMARD::listeFieldInterpTSRsIter* GetFieldInterpsTimeStepRank();
|
||||
void SetFieldInterp( const char* FieldInterp );
|
||||
SMESHHOMARD::listeFieldInterpsIter* GetFieldInterps();
|
||||
void SupprFieldInterps();
|
||||
|
||||
void SetLogFile( const char* LogFile );
|
||||
char* GetLogFile();
|
||||
|
||||
CORBA::Long Compute(CORBA::Long etatMenage, CORBA::Long Option);
|
||||
|
||||
void MeshInfo(CORBA::Long Qual, CORBA::Long Diam, CORBA::Long Conn, CORBA::Long Tail, CORBA::Long Inte);
|
||||
|
||||
void MeshInfoOption(CORBA::Long Qual, CORBA::Long Diam, CORBA::Long Conn, CORBA::Long Tail, CORBA::Long Inte, CORBA::Long Option);
|
||||
|
||||
void SetFileInfo( const char* FileInfo );
|
||||
char* GetFileInfo();
|
||||
|
||||
// Liens avec les autres iterations
|
||||
SMESHHOMARD::HOMARD_Iteration_ptr NextIteration( const char* Name);
|
||||
|
||||
void LinkNextIteration( const char* NomIteration );
|
||||
void UnLinkNextIteration( const char* NomIteration );
|
||||
SMESHHOMARD::listeIterFilles* GetIterations();
|
||||
|
||||
void SetIterParentName( const char* NomIterParent );
|
||||
char* GetIterParentName();
|
||||
SMESHHOMARD::HOMARD_Iteration_ptr GetIterParent();
|
||||
|
||||
// Liens avec les autres structures
|
||||
void SetCaseName( const char* NomCas );
|
||||
char* GetCaseName();
|
||||
|
||||
void AssociateHypo( const char* NomHypo);
|
||||
void SetHypoName( const char* NomHypo );
|
||||
char* GetHypoName();
|
||||
|
||||
// Divers
|
||||
void SetInfoCompute( CORBA::Long MessInfo );
|
||||
CORBA::Long GetInfoCompute();
|
||||
|
||||
private:
|
||||
SMESHHOMARDImpl::HOMARD_Iteration* myHomardIteration;
|
||||
|
||||
CORBA::ORB_ptr _orb;
|
||||
SMESHHOMARD::HOMARD_Gen_var _gen_i;
|
||||
};
|
||||
|
||||
class SMESH_I_EXPORT HOMARD_Gen_i : public virtual SALOME::GenericObj_i,
|
||||
public virtual POA_SMESHHOMARD::HOMARD_Gen
|
||||
{
|
||||
public:
|
||||
HOMARD_Gen_i();
|
||||
virtual ~HOMARD_Gen_i();
|
||||
|
||||
|
||||
// Generalites
|
||||
|
||||
// Les creations
|
||||
SMESHHOMARD::HOMARD_Boundary_ptr CreateBoundary (const char* nomBoundary, CORBA::Long typeBoundary);
|
||||
SMESHHOMARD::HOMARD_Boundary_ptr CreateBoundaryCAO(const char* nomBoundary,
|
||||
const char* DataFile);
|
||||
SMESHHOMARD::HOMARD_Boundary_ptr CreateBoundaryDi (const char* nomBoundary,
|
||||
const char* MeshName, const char* DataFile);
|
||||
SMESHHOMARD::HOMARD_Boundary_ptr CreateBoundaryCylinder (const char* nomBoundary,
|
||||
CORBA::Double Xcentre, CORBA::Double Ycentre, CORBA::Double Zcentre,
|
||||
CORBA::Double Xaxis, CORBA::Double Yaxis, CORBA::Double Zaxis,
|
||||
CORBA::Double Rayon);
|
||||
SMESHHOMARD::HOMARD_Boundary_ptr CreateBoundarySphere (const char* nomBoundary,
|
||||
CORBA::Double Xcentre, CORBA::Double Ycentre, CORBA::Double Zcentre,
|
||||
CORBA::Double Rayon);
|
||||
SMESHHOMARD::HOMARD_Boundary_ptr CreateBoundaryConeR (const char* nomBoundary,
|
||||
CORBA::Double Xcentre1, CORBA::Double Ycentre1, CORBA::Double Zcentre1, CORBA::Double Rayon1,
|
||||
CORBA::Double Xcentre2, CORBA::Double Ycentre2, CORBA::Double Zcentre2, CORBA::Double Rayon2);
|
||||
SMESHHOMARD::HOMARD_Boundary_ptr CreateBoundaryConeA (const char* nomBoundary,
|
||||
CORBA::Double Xaxis, CORBA::Double Yaxis, CORBA::Double Zaxis, CORBA::Double Angle,
|
||||
CORBA::Double Xcentre, CORBA::Double Ycentre, CORBA::Double Zcentre);
|
||||
SMESHHOMARD::HOMARD_Boundary_ptr CreateBoundaryTorus (const char* nomBoundary,
|
||||
CORBA::Double Xcentre, CORBA::Double Ycentre, CORBA::Double Zcentre,
|
||||
CORBA::Double Xaxis, CORBA::Double Yaxis, CORBA::Double Zaxis,
|
||||
CORBA::Double RayonRev, CORBA::Double RayonPri);
|
||||
|
||||
SMESHHOMARD::HOMARD_Cas_ptr CreateCase (const char* nomCas, const char* MeshName,
|
||||
const char* FileName);
|
||||
SMESHHOMARD::HOMARD_Cas_ptr CreateCase0 (const char* nomCas, const char* MeshName,
|
||||
const char* FileName, CORBA::Long MeshOption,
|
||||
CORBA::Long NumeIter, CORBA::Long Option);
|
||||
std::string CreateCase1 (const char* DirNameStart, CORBA::Long Number);
|
||||
|
||||
SMESHHOMARD::HOMARD_Hypothesis_ptr CreateHypothesis(const char* nomHypothesis);
|
||||
|
||||
SMESHHOMARD::HOMARD_Iteration_ptr CreateIteration (const char* nomIter, const char* nomIterParent);
|
||||
|
||||
// Les informations
|
||||
SMESHHOMARD::HOMARD_Boundary_ptr GetBoundary (const char* nomBoundary);
|
||||
SMESHHOMARD::HOMARD_Cas_ptr GetCase (const char* nomCas);
|
||||
SMESHHOMARD::HOMARD_Hypothesis_ptr GetHypothesis (const char* nomHypothesis);
|
||||
SMESHHOMARD::HOMARD_Iteration_ptr GetIteration (const char* nomIteration);
|
||||
|
||||
SMESHHOMARD::listeBoundarys* GetAllBoundarysName();
|
||||
SMESHHOMARD::listeCases* GetAllCasesName();
|
||||
SMESHHOMARD::listeHypotheses* GetAllHypothesesName();
|
||||
SMESHHOMARD::listeIterations* GetAllIterationsName();
|
||||
|
||||
void MeshInfo (const char* nomCas,
|
||||
const char* MeshName, const char* FileName, const char* DirName,
|
||||
CORBA::Long Qual, CORBA::Long Diam, CORBA::Long Conn, CORBA::Long Tail, CORBA::Long Inte);
|
||||
|
||||
SMESHHOMARD::HOMARD_Iteration_ptr LastIteration (const char* nomCas);
|
||||
|
||||
// Liens entre structures
|
||||
void InvalideBoundary(const char* nomBoundary);
|
||||
void InvalideHypo(const char* nomHypo);
|
||||
void InvalideIter(const char* nomIter);
|
||||
void InvalideIterOption(const char* nomIter, CORBA::Long Option,
|
||||
bool doRemoveWorkingFiles);
|
||||
void InvalideIterInfo(const char* nomIter);
|
||||
|
||||
CORBA::Long DeleteBoundary(const char* nomBoundary);
|
||||
CORBA::Long DeleteCase(const char* nomCas, CORBA::Long Option);
|
||||
CORBA::Long DeleteHypo(const char* nomHypothesis);
|
||||
CORBA::Long DeleteIteration(const char* nomIter,
|
||||
CORBA::Long Option,
|
||||
bool doRemoveWorkingFiles);
|
||||
CORBA::Long DeleteIterationOption(const char* nomIter,
|
||||
CORBA::Long Option1,
|
||||
CORBA::Long Option2,
|
||||
bool doRemoveWorkingFiles);
|
||||
|
||||
void AssociateIterHypo(const char* nomIter, const char* nomHypothesis);
|
||||
|
||||
void AssociateCaseIter(const char* nomCas, const char* nomIter,
|
||||
const char* labelIter);
|
||||
|
||||
// Actions
|
||||
void SetEtatIter(const char* nomIter,const CORBA::Long Etat);
|
||||
char* CreateDirNameIter(const char* nomrep, CORBA::Long num );
|
||||
|
||||
CORBA::Long Compute(const char* nomIteration, CORBA::Long etatMenage,
|
||||
CORBA::Long modeHOMARD,
|
||||
CORBA::Long Option1, CORBA::Long Option2);
|
||||
CORBA::Long ComputeAdap(SMESHHOMARD::HOMARD_Cas_var myCase,
|
||||
SMESHHOMARD::HOMARD_Iteration_var myIteration,
|
||||
CORBA::Long etatMenage, SMESHHOMARDImpl::HomardDriver* myDriver,
|
||||
CORBA::Long Option1, CORBA::Long Option2);
|
||||
CORBA::Long ComputeCAO(SMESHHOMARD::HOMARD_Cas_var myCase,
|
||||
SMESHHOMARD::HOMARD_Iteration_var myIteration,
|
||||
CORBA::Long Option1, CORBA::Long Option2);
|
||||
CORBA::Long ComputeCAObis(SMESHHOMARD::HOMARD_Iteration_var myIteration,
|
||||
CORBA::Long Option1, CORBA::Long Option2);
|
||||
char* ComputeDirManagement(SMESHHOMARD::HOMARD_Cas_var myCase,
|
||||
SMESHHOMARD::HOMARD_Iteration_var myIteration,
|
||||
CORBA::Long etatMenage);
|
||||
char* ComputeDirPaManagement(SMESHHOMARD::HOMARD_Cas_var myCase,
|
||||
SMESHHOMARD::HOMARD_Iteration_var myIteration);
|
||||
void DriverTexteField(SMESHHOMARD::HOMARD_Iteration_var myIteration,
|
||||
SMESHHOMARD::HOMARD_Hypothesis_var myHypo,
|
||||
SMESHHOMARDImpl::HomardDriver* myDriver);
|
||||
int DriverTexteBoundary(SMESHHOMARD::HOMARD_Cas_var myCase,
|
||||
SMESHHOMARDImpl::HomardDriver* myDriver);
|
||||
void DriverTexteFieldInterp(SMESHHOMARD::HOMARD_Iteration_var myIteration,
|
||||
SMESHHOMARD::HOMARD_Hypothesis_var myHypo,
|
||||
SMESHHOMARDImpl::HomardDriver* myDriver);
|
||||
|
||||
char* VerifieDir(const char* nomDir);
|
||||
|
||||
void PublishResultInSmesh(const char* NomFich, CORBA::Long Option);
|
||||
void DeleteResultInSmesh(std::string NomFich, std::string MeshName);
|
||||
void PublishMeshIterInSmesh(const char* NomIter);
|
||||
|
||||
// Preferences
|
||||
void SetPreferences();
|
||||
void SetLanguageShort(const char* LanguageShort);
|
||||
char* GetLanguageShort();
|
||||
void SetPublisMesh(CORBA::Long PublisMeshIN, CORBA::Long PublisMeshOUT);
|
||||
CORBA::Long GetPublisMeshIN();
|
||||
CORBA::Long GetPublisMeshOUT();
|
||||
|
||||
private:
|
||||
SMESHHOMARD::HOMARD_Boundary_ptr newBoundary();
|
||||
SMESHHOMARD::HOMARD_Cas_ptr newCase();
|
||||
SMESHHOMARD::HOMARD_Hypothesis_ptr newHypothesis();
|
||||
SMESHHOMARD::HOMARD_Iteration_ptr newIteration();
|
||||
|
||||
std::string GetStringInTexte( const std::string Texte, const std::string String, int option );
|
||||
|
||||
private:
|
||||
struct StudyContext
|
||||
{
|
||||
std::map<std::string, SMESHHOMARD::HOMARD_Boundary_var> _mesBoundarys;
|
||||
std::map<std::string, SMESHHOMARD::HOMARD_Cas_var> _mesCas;
|
||||
std::map<std::string, SMESHHOMARD::HOMARD_Hypothesis_var> _mesHypotheses;
|
||||
std::map<std::string, SMESHHOMARD::HOMARD_Iteration_var> _mesIterations;
|
||||
};
|
||||
|
||||
SMESHHOMARDImpl::HOMARD_Gen* myHomard;
|
||||
StudyContext myStudyContext;
|
||||
|
||||
// Preferences
|
||||
std::string _Langue;
|
||||
std::string _LangueShort;
|
||||
int _PublisMeshIN;
|
||||
int _PublisMeshOUT;
|
||||
};
|
||||
|
||||
SMESH_I_EXPORT int MEDFileExist( const char * aFile );
|
||||
SMESH_I_EXPORT std::vector<double> GetBoundingBoxInMedFile( const char * aFile);
|
||||
SMESH_I_EXPORT std::set<std::string> GetListeGroupesInMedFile(const char * aFile);
|
||||
|
||||
}; // namespace SMESHHOMARD_I
|
||||
|
||||
#endif
|
Loading…
Reference in New Issue
Block a user