mirror of
https://git.salome-platform.org/gitpub/modules/smesh.git
synced 2025-02-19 05:33:08 +05:00
Debug, reduce code, mesh selection, dump python.
This commit is contained in:
parent
b33bc07ec2
commit
bdd5747242
@ -20,7 +20,8 @@
|
||||
#ifndef _SMESH_HOMARD_IDL
|
||||
#define _SMESH_HOMARD_IDL
|
||||
|
||||
#include "SALOME_Component.idl"
|
||||
#include "SMESH_Mesh.idl"
|
||||
|
||||
#include "SALOME_Exception.idl"
|
||||
#include "SALOMEDS.idl"
|
||||
|
||||
@ -30,71 +31,47 @@ module SMESHHOMARD
|
||||
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
|
||||
interface HOMARD_Boundary : SALOME::GenericObj
|
||||
{
|
||||
// Generalites
|
||||
void SetName(in string Name) raises (SALOME::SALOME_Exception);
|
||||
string GetName() raises (SALOME::SALOME_Exception);
|
||||
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);
|
||||
string GetDumpPython() raises (SALOME::SALOME_Exception);
|
||||
|
||||
// Caracteristiques
|
||||
void SetType (in long Type) raises (SALOME::SALOME_Exception);
|
||||
long GetType() raises (SALOME::SALOME_Exception);
|
||||
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 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 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);
|
||||
raises (SALOME::SALOME_Exception);
|
||||
|
||||
void SetSphere (in double Xcentre, in double Ycentre, in double Zcentre, in double rayon)
|
||||
raises (SALOME::SALOME_Exception);
|
||||
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 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 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)
|
||||
@ -108,28 +85,22 @@ module SMESHHOMARD
|
||||
// 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
|
||||
interface HOMARD_Iteration : SALOME::GenericObj
|
||||
{
|
||||
// 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);
|
||||
void SetName(in string Name) raises (SALOME::SALOME_Exception);
|
||||
string GetName() raises (SALOME::SALOME_Exception);
|
||||
|
||||
// Caracteristiques
|
||||
void SetDirNameLoc(in string NomDir) raises (SALOME::SALOME_Exception);
|
||||
string GetDirNameLoc() raises (SALOME::SALOME_Exception);
|
||||
void SetDirNameLoc(in string NomDir) raises (SALOME::SALOME_Exception);
|
||||
string GetDirNameLoc() raises (SALOME::SALOME_Exception);
|
||||
|
||||
string GetDirName() 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 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);
|
||||
@ -140,88 +111,42 @@ module SMESHHOMARD
|
||||
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);
|
||||
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
|
||||
// Drivers
|
||||
void SetInfoCompute(in long MessInfo) raises (SALOME::SALOME_Exception);
|
||||
long GetInfoCompute() raises (SALOME::SALOME_Exception);
|
||||
};
|
||||
|
||||
interface HOMARD_Cas : Engines::EngineComponent
|
||||
interface HOMARD_Cas : SALOME::GenericObj
|
||||
{
|
||||
// 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);
|
||||
string GetName() 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);
|
||||
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 SetConfType(in long ConfType) raises (SALOME::SALOME_Exception);
|
||||
long GetConfType() raises (SALOME::SALOME_Exception);
|
||||
|
||||
void SetBoundingBox(in extrema LesExtremes) raises (SALOME::SALOME_Exception);
|
||||
extrema GetBoundingBox() raises (SALOME::SALOME_Exception);
|
||||
@ -230,199 +155,99 @@ module SMESHHOMARD
|
||||
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 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);
|
||||
void AddIteration (in string IterName) raises (SALOME::SALOME_Exception);
|
||||
};
|
||||
|
||||
interface HOMARD_Hypothesis : Engines::EngineComponent
|
||||
interface HOMARD_Hypothesis : SALOME::GenericObj
|
||||
{
|
||||
// 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 )
|
||||
HOMARD_Boundary CreateBoundaryCAO (in string BoundaryName, in string FileName)
|
||||
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)
|
||||
HOMARD_Boundary CreateBoundaryDi (in string BoundaryName, in string MeshName,
|
||||
in string FileName)
|
||||
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)
|
||||
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);
|
||||
long GetPublisMeshIN () raises (SALOME::SALOME_Exception);
|
||||
long GetPublisMeshOUT () 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);
|
||||
|
||||
// CreateCase
|
||||
HOMARD_Cas CreateCaseOnMesh(in string MeshName,
|
||||
in SMESH::SMESH_Mesh smeshMesh,
|
||||
in string theWorkingDir) raises(SALOME::SALOME_Exception);
|
||||
HOMARD_Cas CreateCase(in string MeshName,
|
||||
in string FileName,
|
||||
in string theWorkingDir) raises(SALOME::SALOME_Exception);
|
||||
|
||||
// A.2. Information
|
||||
HOMARD_Boundary GetBoundary(in string BoundaryName) raises (SALOME::SALOME_Exception);
|
||||
HOMARD_Cas GetCase() raises (SALOME::SALOME_Exception);
|
||||
HOMARD_Iteration GetIteration(in long numIter) raises (SALOME::SALOME_Exception);
|
||||
listeBoundarys GetAllBoundarysName() raises (SALOME::SALOME_Exception);
|
||||
|
||||
// B. CreateIteration
|
||||
HOMARD_Iteration CreateIteration() raises (SALOME::SALOME_Exception);
|
||||
|
||||
void InvalideBoundary (in string BoundaryName) raises (SALOME::SALOME_Exception);
|
||||
|
||||
long DeleteBoundary (in string BoundaryName) raises (SALOME::SALOME_Exception);
|
||||
long DeleteCase() raises (SALOME::SALOME_Exception);
|
||||
|
||||
long Compute() raises (SALOME::SALOME_Exception);
|
||||
|
||||
string CreateDirNameIter (in string NomDir, in long num)
|
||||
raises (SALOME::SALOME_Exception);
|
||||
|
||||
void PublishResultInSmesh (in string FileName, in long Option)
|
||||
raises (SALOME::SALOME_Exception);
|
||||
|
||||
// Preferences
|
||||
void SetKeepMedOUT (in boolean theKeepMedOUT);
|
||||
void SetPublishMeshOUT (in boolean thePublishMeshOUT);
|
||||
void SetMeshNameOUT (in string theMeshName) raises (SALOME::SALOME_Exception);
|
||||
void SetMeshFileOUT (in string theFileName) raises (SALOME::SALOME_Exception);
|
||||
|
||||
void SetVerboseLevel (in long theLevel);
|
||||
void SetKeepWorkingFiles (in boolean theKeepWorkingFiles);
|
||||
void SetLogInFile (in boolean theLogInFile);
|
||||
void SetLogFile (in string theFileName) raises (SALOME::SALOME_Exception);
|
||||
void SetRemoveLogOnSuccess (in boolean theRemoveLogOnSuccess);
|
||||
};
|
||||
|
||||
}; // module SMESHHOMARD
|
||||
|
@ -126,7 +126,6 @@ namespace SMESHHOMARDImpl
|
||||
os << cas.GetName();
|
||||
os << separator() << cas.GetDirName();
|
||||
os << separator() << cas.GetConfType();
|
||||
os << separator() << cas.GetExtType();
|
||||
|
||||
std::vector<double> coor = cas.GetBoundingBox();
|
||||
os << separator() << coor.size();
|
||||
@ -148,7 +147,7 @@ namespace SMESHHOMARDImpl
|
||||
for ( it = ListString.begin(); it != ListString.end(); ++it )
|
||||
os << separator() << *it;
|
||||
|
||||
os << separator() << cas.GetPyram();
|
||||
os << separator() << 0; //cas.GetPyram()
|
||||
|
||||
saux = os.str();
|
||||
// MESSAGE( ". Fin avec "<<saux);
|
||||
@ -341,10 +340,6 @@ namespace SMESHHOMARDImpl
|
||||
if ( !ok ) return false;
|
||||
cas.SetConfType( atoi( chunk.c_str() ) );
|
||||
|
||||
chunk = getNextChunk( stream, start, ok );
|
||||
if ( !ok ) return false;
|
||||
cas.SetExtType( atoi( chunk.c_str() ) );
|
||||
|
||||
chunk = getNextChunk( stream, start, ok );
|
||||
if ( !ok ) return false;
|
||||
|
||||
@ -392,7 +387,7 @@ namespace SMESHHOMARDImpl
|
||||
|
||||
chunk = getNextChunk( stream, start, ok );
|
||||
if ( !ok ) return false;
|
||||
cas.SetPyram( atoi( chunk.c_str() ) );
|
||||
//cas.SetPyram( atoi( chunk.c_str() ) );
|
||||
|
||||
return true;
|
||||
}
|
||||
@ -737,57 +732,47 @@ std::string HOMARD_Boundary::GetName() const
|
||||
std::string HOMARD_Boundary::GetDumpPython() const
|
||||
{
|
||||
std::ostringstream aScript;
|
||||
aScript << "\n# Creation of the ";
|
||||
//
|
||||
switch (_Type)
|
||||
{
|
||||
switch (_Type) {
|
||||
case -1:
|
||||
{
|
||||
aScript << "CAO boundary " << _Name << "\n";
|
||||
aScript << "\t" << _Name << " = homard.CreateBoundaryCAO(\"" << _Name << "\", ";
|
||||
aScript << _Name << " = smeshhomard.CreateBoundaryCAO(\"" << _Name << "\", ";
|
||||
aScript << "\"" << _DataFile << "\")\n";
|
||||
break ;
|
||||
}
|
||||
case 0:
|
||||
{
|
||||
aScript << "discrete boundary " << _Name << "\n";
|
||||
aScript << "\t" << _Name << " = homard.CreateBoundaryDi(\"" << _Name << "\", ";
|
||||
aScript << _Name << " = smeshhomard.CreateBoundaryDi(\"" << _Name << "\", ";
|
||||
aScript << "\"" << _MeshName << "\", ";
|
||||
aScript << "\"" << _DataFile << "\")\n";
|
||||
break ;
|
||||
}
|
||||
case 1:
|
||||
{
|
||||
aScript << "cylinder " << _Name << "\n";
|
||||
aScript << "\t" << _Name << " = homard.CreateBoundaryCylinder(\"" << _Name << "\", ";
|
||||
aScript << _Name << " = smeshhomard.CreateBoundaryCylinder(\"" << _Name << "\", ";
|
||||
aScript << _Xcentre << ", " << _Ycentre << ", " << _Zcentre << ", " << _Xaxe << ", " << _Yaxe << ", " << _Zaxe << ", " << _rayon << ")\n";
|
||||
break ;
|
||||
}
|
||||
case 2:
|
||||
{
|
||||
aScript << "sphere " << _Name << "\n";
|
||||
aScript << "\t" << _Name << " = homard.CreateBoundarySphere(\"" << _Name << "\", ";
|
||||
aScript << _Name << " = smeshhomard.CreateBoundarySphere(\"" << _Name << "\", ";
|
||||
aScript << _Xcentre << ", " << _Ycentre << ", " << _Zcentre << ", " << _rayon << ")\n";
|
||||
break ;
|
||||
}
|
||||
case 3:
|
||||
{
|
||||
aScript << "cone " << _Name << "\n";
|
||||
aScript << "\t" << _Name << " = homard.CreateBoundaryConeA(\"" << _Name << "\", ";
|
||||
aScript << _Name << " = smeshhomard.CreateBoundaryConeA(\"" << _Name << "\", ";
|
||||
aScript << _Xaxe << ", " << _Yaxe << ", " << _Zaxe << ", " << _Angle << ", " << _Xcentre << ", " << _Ycentre << ", " << _Zcentre << ")\n";
|
||||
break ;
|
||||
}
|
||||
case 4:
|
||||
{
|
||||
aScript << "cone " << _Name << "\n";
|
||||
aScript << "\t" << _Name << " = homard.CreateBoundaryConeR(\"" << _Name << "\", ";
|
||||
aScript << _Name << " = smeshhomard.CreateBoundaryConeR(\"" << _Name << "\", ";
|
||||
aScript << _Xcentre1 << ", " << _Ycentre1 << ", " << _Zcentre1 << ", " << _Rayon1 << ", " << _Xcentre2 << ", " << _Ycentre2 << ", " << _Zcentre2 << ", " << _Rayon2 << ")\n";
|
||||
break ;
|
||||
}
|
||||
case 5:
|
||||
{
|
||||
aScript << "tore " << _Name << "\n";
|
||||
aScript << "\t" << _Name << " = homard.CreateBoundaryTorus(\"" << _Name << "\", ";
|
||||
aScript << _Name << " = smeshhomard.CreateBoundaryTorus(\"" << _Name << "\", ";
|
||||
aScript << _Xcentre << ", " << _Ycentre << ", " << _Zcentre << ", " << _Xaxe << ", " << _Yaxe << ", " << _Zaxe << ", " << _Rayon1 << ", " << _Rayon2 << ")\n";
|
||||
break ;
|
||||
}
|
||||
@ -994,7 +979,7 @@ std::string HOMARD_Boundary::GetCaseCreation() const
|
||||
*/
|
||||
//=============================================================================
|
||||
HOMARD_Cas::HOMARD_Cas():
|
||||
_Name(""), _NomDir("/tmp"), _ConfType(0), _ExtType(0)
|
||||
_Name(""), _NomDir("/tmp"), _ConfType(0)
|
||||
{
|
||||
MESSAGE("HOMARD_Cas");
|
||||
}
|
||||
@ -1022,27 +1007,16 @@ std::string HOMARD_Cas::GetName() const
|
||||
std::string HOMARD_Cas::GetDumpPython() const
|
||||
{
|
||||
std::ostringstream aScript;
|
||||
aScript << "\t" <<_Name << ".SetDirName(\"";
|
||||
aScript << _NomDir << "\")\n";
|
||||
aScript << "\t" <<_Name << ".SetConfType(";
|
||||
aScript << _ConfType << ")\n";
|
||||
aScript << "\t" <<_Name << ".SetExtType(";
|
||||
aScript << _ExtType << ")\n";
|
||||
// Suivi de frontieres
|
||||
//aScript << _Name << ".SetDirName(\"" << _NomDir << "\")\n";
|
||||
aScript << _Name << ".SetConfType(" << _ConfType << ")\n";
|
||||
// Suivi de frontieres
|
||||
std::list<std::string>::const_iterator it = _ListBoundaryGroup.begin();
|
||||
while(it != _ListBoundaryGroup.end())
|
||||
{
|
||||
aScript << "\t" <<_Name << ".AddBoundaryGroup(\"";
|
||||
aScript << *it << "\", \"";
|
||||
while (it != _ListBoundaryGroup.end()) {
|
||||
aScript << _Name << ".AddBoundaryGroup(\"" << *it << "\", \"";
|
||||
it++;
|
||||
aScript << *it << "\")\n";
|
||||
it++;
|
||||
}
|
||||
if ( _Pyram > 0 )
|
||||
{
|
||||
aScript << "\t" <<_Name << ".SetPyram(";
|
||||
aScript << _Pyram << ")\n";
|
||||
}
|
||||
|
||||
return aScript.str();
|
||||
}
|
||||
@ -1103,20 +1077,6 @@ const int HOMARD_Cas::GetConfType() const
|
||||
return _ConfType;
|
||||
}
|
||||
//
|
||||
// Le type exterieur
|
||||
//
|
||||
//=============================================================================
|
||||
void HOMARD_Cas::SetExtType( int ExtType )
|
||||
{
|
||||
// VERIFICATION( (ExtType>=0) && (ExtType<=2) );
|
||||
_ExtType = ExtType;
|
||||
}
|
||||
//=============================================================================
|
||||
const int HOMARD_Cas::GetExtType() const
|
||||
{
|
||||
return _ExtType;
|
||||
}
|
||||
//
|
||||
// La boite englobante
|
||||
//
|
||||
//=============================================================================
|
||||
@ -1189,16 +1149,6 @@ void HOMARD_Cas::SupprBoundaryGroup()
|
||||
_ListBoundaryGroup.clear();
|
||||
}
|
||||
//=============================================================================
|
||||
void HOMARD_Cas::SetPyram( int Pyram )
|
||||
{
|
||||
_Pyram = Pyram;
|
||||
}
|
||||
//=============================================================================
|
||||
const int HOMARD_Cas::GetPyram() const
|
||||
{
|
||||
return _Pyram;
|
||||
}
|
||||
//=============================================================================
|
||||
//=============================================================================
|
||||
// Liens avec les autres structures
|
||||
//=============================================================================
|
||||
@ -1268,18 +1218,15 @@ void HomardDriver::TexteInit( const std::string DirCompute, const std::string Lo
|
||||
//
|
||||
}
|
||||
//===============================================================================
|
||||
void HomardDriver::TexteAdap( int ExtType )
|
||||
void HomardDriver::TexteAdap()
|
||||
{
|
||||
MESSAGE("TexteAdap");
|
||||
//
|
||||
_Texte += "Action homa\n" ;
|
||||
if ( ExtType == 0 ) { _Texte += "CCAssoci med\n" ; }
|
||||
else if ( ExtType == 1 ) { _Texte += "CCAssoci saturne\n" ; }
|
||||
else { _Texte += "CCAssoci saturne_2d\n" ; }
|
||||
_Texte += "ModeHOMA 1\n" ;
|
||||
_Texte += "NumeIter " + _siter + "\n" ;
|
||||
_modeHOMARD = 1 ;
|
||||
//
|
||||
|
||||
_Texte += "Action homa\n";
|
||||
_Texte += "CCAssoci med\n";
|
||||
_Texte += "ModeHOMA 1\n";
|
||||
_Texte += "NumeIter " + _siter + "\n";
|
||||
_modeHOMARD = 1;
|
||||
}
|
||||
//===============================================================================
|
||||
void HomardDriver::TexteInfo( int TypeBila, int NumeIter )
|
||||
@ -2163,15 +2110,10 @@ void HomardDriver::TexteFieldInterpNameType( int NumeChamp, const std::string Fi
|
||||
//===============================================================================
|
||||
// F. Les options avancees
|
||||
//===============================================================================
|
||||
void HomardDriver::TexteAdvanced( int Pyram, int NivMax, double DiamMin, int AdapInit, int ExtraOutput )
|
||||
void HomardDriver::TexteAdvanced( int NivMax, double DiamMin, int AdapInit, int ExtraOutput )
|
||||
{
|
||||
MESSAGE("TexteAdvanced, Pyram ="<<Pyram<<", NivMax ="<<NivMax<<", DiamMin ="<<DiamMin<<", AdapInit ="<<AdapInit<<", ExtraOutput ="<<ExtraOutput);
|
||||
MESSAGE("TexteAdvanced, NivMax ="<<NivMax<<", DiamMin ="<<DiamMin<<", AdapInit ="<<AdapInit<<", ExtraOutput ="<<ExtraOutput);
|
||||
|
||||
if ( Pyram > 0 )
|
||||
{
|
||||
_Texte += "# Autorisation de pyramides dans le maillage initial\n" ;
|
||||
_Texte += "TypeElem ignore_pyra\n" ;
|
||||
}
|
||||
if ( NivMax > 0 )
|
||||
{
|
||||
_Texte += "# Niveaux extremes\n" ;
|
||||
@ -2277,12 +2219,12 @@ void HomardDriver::CreeFichierDonn( )
|
||||
//
|
||||
}
|
||||
//===============================================================================
|
||||
int HomardDriver::ExecuteHomard(int option)
|
||||
int HomardDriver::ExecuteHomard()
|
||||
{
|
||||
MESSAGE("ExecuteHomard, avec option = "<<option);
|
||||
MESSAGE("ExecuteHomard");
|
||||
std::string commande ;
|
||||
int codret ;
|
||||
// Copie des Fichiers HOMARD
|
||||
// Copie des Fichiers HOMARD
|
||||
commande = "cp " + _NomFichierConf + " " + _NomFichierConfBase ;
|
||||
codret = system(commande.c_str()) ;
|
||||
|
||||
@ -2322,9 +2264,11 @@ HOMARD_Hypothesis::HOMARD_Hypothesis():
|
||||
_Name(""), _NomCasCreation(""),
|
||||
_TypeAdap(-1), _TypeRaff(0), _TypeDera(0),
|
||||
_Field(""),
|
||||
_TypeThR(0), _ThreshR(0),
|
||||
_TypeThC(0), _ThreshC(0),
|
||||
_UsField(0), _UsCmpI(0), _TypeFieldInterp(0)
|
||||
_TypeThR(0), _TypeThC(0),
|
||||
_ThreshR(0), _ThreshC(0),
|
||||
_UsField(0), _UsCmpI(0), _TypeFieldInterp(0),
|
||||
|
||||
_NivMax(-1), _DiamMin(-1.0), _AdapInit(0), _ExtraOutput(1)
|
||||
{
|
||||
MESSAGE("HOMARD_Hypothesis");
|
||||
}
|
||||
@ -2352,94 +2296,6 @@ std::string HOMARD_Hypothesis::GetName() const
|
||||
return _Name;
|
||||
}
|
||||
//=============================================================================
|
||||
std::string HOMARD_Hypothesis::GetDumpPython() const
|
||||
{
|
||||
std::ostringstream aScript;
|
||||
aScript << "\n# Creation of the hypothesis " << _Name << "\n" ;
|
||||
aScript << "\t" << _Name << " = homard.CreateHypothesis(\"" << _Name << "\")\n";
|
||||
if ( _TypeAdap == -1 )
|
||||
{
|
||||
int TypeRaffDera ;
|
||||
if ( _TypeRaff == 1 ) { TypeRaffDera = 1 ; }
|
||||
else { TypeRaffDera = -1 ; }
|
||||
aScript << "\t" << _Name << ".SetUnifRefinUnRef(" << TypeRaffDera << ")\n";
|
||||
}
|
||||
|
||||
// Raffinement selon des zones geometriques
|
||||
std::list<std::string>::const_iterator it = _ListZone.begin();
|
||||
int TypeUse ;
|
||||
while(it != _ListZone.end())
|
||||
{
|
||||
aScript << "\t" << _Name << ".AddZone(\"" << *it;
|
||||
it++;
|
||||
if ( *it == "1" ) { TypeUse = 1 ; }
|
||||
else { TypeUse = -1 ; }
|
||||
aScript << "\", " << TypeUse << ")\n";
|
||||
it++;
|
||||
}
|
||||
|
||||
// Raffinement selon un champ
|
||||
if ( _TypeAdap == 1 )
|
||||
{
|
||||
aScript << "\t" << _Name << ".SetField(\"" << _Field << "\")\n";
|
||||
aScript << "\t" << _Name << ".SetUseField(" << _UsField << ")\n";
|
||||
aScript << "\t" << _Name << ".SetUseComp(" << _UsCmpI << ")\n";
|
||||
std::list<std::string>::const_iterator it_comp = _ListComp.begin();
|
||||
while(it_comp != _ListComp.end())
|
||||
{
|
||||
aScript << "\t" << _Name << ".AddComp(\"" << *it_comp << "\")\n";
|
||||
it_comp++;
|
||||
}
|
||||
if ( _TypeRaff == 1 )
|
||||
{
|
||||
aScript << "\t" << _Name << ".SetRefinThr(" << _TypeThR << ", " << _ThreshR << ")\n";
|
||||
}
|
||||
if ( _TypeDera == 1 )
|
||||
{
|
||||
aScript << "\t" << _Name << ".SetUnRefThr(" << _TypeThC << ", " << _ThreshC << ")\n";
|
||||
}
|
||||
}
|
||||
|
||||
// Filtrage du raffinement par des groupes
|
||||
for ( it=_ListGroupSelected.begin(); it!=_ListGroupSelected.end();it++)
|
||||
aScript << "\t" << _Name << ".AddGroup(\"" << (*it) << "\")\n" ;
|
||||
|
||||
// Interpolation des champs
|
||||
if ( _TypeFieldInterp == 2 )
|
||||
{
|
||||
std::list<std::string>::const_iterator it_champ = _ListFieldInterp.begin();
|
||||
while(it_champ != _ListFieldInterp.end())
|
||||
{
|
||||
aScript << "\t" << _Name << ".AddFieldInterpType( \"" << *it_champ << "\" " ;
|
||||
it_champ++;
|
||||
aScript << ", " << *it_champ << ")\n";
|
||||
it_champ++;
|
||||
}
|
||||
}
|
||||
else if ( _TypeFieldInterp != 0 )
|
||||
{
|
||||
aScript << "\t" << _Name << ".SetTypeFieldInterp(" << _TypeFieldInterp << ")\n";
|
||||
}
|
||||
if ( _NivMax > 0 )
|
||||
{
|
||||
aScript << "\t" <<_Name << ".SetNivMax(" << _NivMax << ")\n";
|
||||
}
|
||||
if ( _DiamMin > 0 )
|
||||
{
|
||||
aScript << "\t" <<_Name << ".SetDiamMin(" << _DiamMin << ")\n";
|
||||
}
|
||||
if ( _AdapInit != 0 )
|
||||
{
|
||||
aScript << "\t" <<_Name << ".SetAdapInit(" << _AdapInit << ")\n";
|
||||
}
|
||||
if ( _ExtraOutput != 1 )
|
||||
{
|
||||
aScript << "\t" <<_Name << ".SetExtraOutput(" << _ExtraOutput << ")\n";
|
||||
}
|
||||
|
||||
return aScript.str();
|
||||
}
|
||||
//=============================================================================
|
||||
//=============================================================================
|
||||
// Caracteristiques
|
||||
//=============================================================================
|
||||
@ -2843,83 +2699,6 @@ std::string HOMARD_Iteration::GetName() const
|
||||
return _Name;
|
||||
}
|
||||
//=============================================================================
|
||||
std::string HOMARD_Iteration::GetDumpPython() const
|
||||
{
|
||||
if (_IterParent == "") return std::string(" ") ; // Pas de creation explicite de iteration 0";
|
||||
|
||||
MESSAGE (". Ecriture de l iteration " << _Name );
|
||||
std::ostringstream aScript;
|
||||
aScript << "\n# Creation of the iteration " << _Name << "\n";
|
||||
if( _NumIter == 1 )
|
||||
{
|
||||
aScript << "\t" << _Name << " = " << _NomCas << ".NextIteration(\"" << _Name << "\")\n";
|
||||
}
|
||||
else
|
||||
{
|
||||
aScript << "\t" << _Name << " = " << _IterParent << ".NextIteration(\"" << _Name << "\")\n";
|
||||
}
|
||||
// L'hypothese (doit etre au debut)
|
||||
aScript << "\t" << _Name << ".AssociateHypo(\"" << _NomHypo << "\")\n";
|
||||
// Le nom du maillage produit
|
||||
// MESSAGE (".. maillage produit " << _NomMesh );
|
||||
aScript << "\t" << _Name << ".SetMeshName(\"" << _NomMesh << "\")\n" ;
|
||||
// Le fichier du maillage produit
|
||||
aScript << "\t" << _Name << ".SetMeshFile(\"" << _MeshFile << "\")\n";
|
||||
// Le fichier des champs
|
||||
if ( _FieldFile != "" )
|
||||
{
|
||||
aScript << "\t" << _Name << ".SetFieldFile(\"" << _FieldFile << "\")\n";
|
||||
}
|
||||
// Si champ de pilotage, valeurs de pas de temps
|
||||
MESSAGE (". champ de pilotage : _TimeStep = " << _TimeStep << ", _Rank : " << _Rank);
|
||||
if ( _TimeStep != -1 )
|
||||
{
|
||||
if ( _TimeStep == -2 ) {
|
||||
aScript << "\t" << _Name << ".SetTimeStepRankLast()\n";
|
||||
}
|
||||
else
|
||||
{
|
||||
if ( _TimeStep != -1 )
|
||||
{
|
||||
if ( _Rank == -1 )
|
||||
{
|
||||
aScript << "\t" << _Name << ".SetTimeStep( " << _TimeStep << " )\n";
|
||||
}
|
||||
else
|
||||
{
|
||||
aScript << "\t" << _Name << ".SetTimeStepRank( " << _TimeStep << ", " << _Rank << " )\n";
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
// Les instants d'interpolation
|
||||
MESSAGE (". instants d'interpolation ");
|
||||
std::list<std::string>::const_iterator it = _ListFieldInterpTSR.begin() ;
|
||||
while(it != _ListFieldInterpTSR.end())
|
||||
{
|
||||
std::string FieldName = std::string((*it)) ;
|
||||
// MESSAGE ("... FieldName = "<< FieldName);
|
||||
(*it++);
|
||||
std::string TimeStepstr = std::string((*it)) ;
|
||||
// MESSAGE ("... TimeStepstr = "<< TimeStepstr);
|
||||
(*it++);
|
||||
std::string Rankstr = std::string((*it)) ;
|
||||
// MESSAGE ("... Rankstr = "<< Rankstr);
|
||||
(*it++);
|
||||
aScript << "\t" << _Name << ".SetFieldInterpTimeStepRank( \"" << FieldName << "\"" ;
|
||||
aScript << ", " << TimeStepstr ;
|
||||
aScript << ", " << Rankstr << " )\n" ;
|
||||
}
|
||||
|
||||
// Compute
|
||||
MESSAGE (". Compute ");
|
||||
if ( _Etat == 2 ) { aScript << "\tcodret = " <<_Name << ".Compute(1, 1)\n"; }
|
||||
else { aScript << "\t#codret = " <<_Name << ".Compute(1, 1)\n"; }
|
||||
// MESSAGE (". Fin de l ecriture de l iteration " << _Name );
|
||||
|
||||
return aScript.str();
|
||||
}
|
||||
//=============================================================================
|
||||
//=============================================================================
|
||||
// Caracteristiques
|
||||
//=============================================================================
|
||||
|
@ -70,13 +70,13 @@ public:
|
||||
HOMARD_Boundary();
|
||||
~HOMARD_Boundary();
|
||||
|
||||
// Generalites
|
||||
// Generalites
|
||||
void SetName( const char* Name );
|
||||
std::string GetName() const;
|
||||
|
||||
std::string GetDumpPython() const;
|
||||
|
||||
// Caracteristiques
|
||||
// Caracteristiques
|
||||
void SetType( int Type );
|
||||
int GetType() const;
|
||||
|
||||
@ -133,13 +133,13 @@ public:
|
||||
HOMARD_Cas();
|
||||
~HOMARD_Cas();
|
||||
|
||||
// Generalites
|
||||
// Generalites
|
||||
void SetName( const char* Name );
|
||||
std::string GetName() const;
|
||||
|
||||
std::string GetDumpPython() const;
|
||||
|
||||
// Caracteristiques
|
||||
// Caracteristiques
|
||||
int SetDirName( const char* NomDir );
|
||||
std::string GetDirName() const;
|
||||
|
||||
@ -148,9 +148,6 @@ public:
|
||||
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;
|
||||
|
||||
@ -164,9 +161,6 @@ public:
|
||||
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;
|
||||
|
||||
@ -178,15 +172,12 @@ 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;
|
||||
@ -202,7 +193,7 @@ public:
|
||||
void TexteInfo( int TypeBila, int NumeIter );
|
||||
void TexteMajCoords( int NumeIter );
|
||||
void CreeFichierDonn();
|
||||
void TexteAdap( int ExtType );
|
||||
void TexteAdap();
|
||||
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 );
|
||||
@ -225,11 +216,10 @@ public:
|
||||
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 TexteAdvanced( int NivMax, double DiamMin, int AdapInit, int LevelOutput );
|
||||
void TexteInfoCompute( int MessInfo );
|
||||
//
|
||||
int ExecuteHomard(int option);
|
||||
//
|
||||
int ExecuteHomard();
|
||||
|
||||
public:
|
||||
int _modeHOMARD;
|
||||
@ -293,8 +283,6 @@ public:
|
||||
void SetName( const char* Name );
|
||||
std::string GetName() const;
|
||||
|
||||
std::string GetDumpPython() const;
|
||||
|
||||
// Caracteristiques
|
||||
void SetAdapType( int TypeAdap );
|
||||
int GetAdapType() const;
|
||||
@ -399,13 +387,11 @@ public:
|
||||
HOMARD_Iteration();
|
||||
~HOMARD_Iteration();
|
||||
|
||||
// Generalites
|
||||
// Generalites
|
||||
void SetName( const char* Name );
|
||||
std::string GetName() const;
|
||||
|
||||
std::string GetDumpPython() const;
|
||||
|
||||
// Caracteristiques
|
||||
// Caracteristiques
|
||||
void SetDirNameLoc( const char* NomDir );
|
||||
std::string GetDirNameLoc() const;
|
||||
|
||||
|
@ -71,14 +71,6 @@
|
||||
<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>
|
||||
@ -151,10 +143,6 @@
|
||||
<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>
|
||||
@ -175,10 +163,6 @@
|
||||
<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>
|
||||
|
@ -119,34 +119,10 @@
|
||||
<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>
|
||||
@ -215,10 +191,6 @@
|
||||
<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>
|
||||
@ -411,30 +383,6 @@
|
||||
<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>
|
||||
@ -451,10 +399,6 @@
|
||||
<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>
|
||||
@ -487,10 +431,6 @@
|
||||
<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>
|
||||
@ -507,18 +447,6 @@
|
||||
<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>
|
||||
@ -555,10 +483,6 @@
|
||||
<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>
|
||||
|
@ -216,10 +216,6 @@
|
||||
<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>
|
||||
@ -400,30 +396,6 @@
|
||||
<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>
|
||||
@ -440,10 +412,6 @@
|
||||
<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>
|
||||
@ -476,10 +444,6 @@
|
||||
<source>Uniform</source>
|
||||
<translation>均一</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Driven by a field</source>
|
||||
<translation>フィールドによって駆動</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Uniform adaptation</source>
|
||||
<translation>均一な適応</translation>
|
||||
@ -492,18 +456,6 @@
|
||||
<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>
|
||||
@ -540,10 +492,6 @@
|
||||
<source>No coarsening</source>
|
||||
<translation>粗大化なし</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Field Interpolation</source>
|
||||
<translation>フィールド補間</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Chosen</source>
|
||||
<translation>選択済み</translation>
|
||||
|
@ -68,8 +68,7 @@ const int MARGIN = 9; // layout margin
|
||||
*/
|
||||
//================================================================================
|
||||
SMESHGUI_HomardAdaptDlg::SMESHGUI_HomardAdaptDlg(SMESHHOMARD::HOMARD_Gen_ptr myHomardGen0)
|
||||
: QDialog(SMESHGUI::desktop()),
|
||||
myWorkingDir("")
|
||||
: QDialog(SMESHGUI::desktop())
|
||||
{
|
||||
MESSAGE("Debut du constructeur de SMESHGUI_HomardAdaptDlg");
|
||||
myHomardGen = SMESHHOMARD::HOMARD_Gen::_duplicate(myHomardGen0);
|
||||
@ -105,20 +104,18 @@ SMESHGUI_HomardAdaptDlg::SMESHGUI_HomardAdaptDlg(SMESHHOMARD::HOMARD_Gen_ptr myH
|
||||
myAdvOpt->removeLogOnSuccessCheck->setChecked(false);
|
||||
|
||||
// Working directory
|
||||
myWorkingDir = QDir::tempPath();
|
||||
QString aWorkingDir = QDir::tempPath();
|
||||
char *aTmp_dir = getenv("SALOME_TMP_DIR");
|
||||
if (aTmp_dir != NULL) {
|
||||
QDir aTmpDir (aTmp_dir);
|
||||
if (aTmpDir.exists()) {
|
||||
myWorkingDir = aTmpDir.absolutePath();
|
||||
aWorkingDir = aTmpDir.absolutePath();
|
||||
}
|
||||
}
|
||||
myAdvOpt->workingDirectoryLineEdit->setText(myWorkingDir);
|
||||
QFileInfo anOutMedFile (QDir(myWorkingDir), "Uniform_01_R.med");
|
||||
myAdvOpt->workingDirectoryLineEdit->setText(aWorkingDir);
|
||||
|
||||
// Out med file and/or mesh publication
|
||||
myArgs->myOutMedFileChk->setChecked(true);
|
||||
myArgs->mySelectOutMedFileLineEdit->setText(anOutMedFile.absoluteFilePath());
|
||||
myArgs->myOutPublishChk->setChecked(true);
|
||||
|
||||
// buttons
|
||||
@ -229,6 +226,8 @@ void SMESHGUI_HomardAdaptDlg::InitConnect()
|
||||
void SMESHGUI_HomardAdaptDlg::InitBoundarys()
|
||||
{
|
||||
MESSAGE("InitBoundarys");
|
||||
//myArgs->TWBoundary->clearContents();
|
||||
//myArgs->TWBoundary->clear();
|
||||
// Pour les frontieres analytiques : la colonne des groupes
|
||||
SMESHHOMARD::ListGroupType_var _listeGroupesCas = myCase->GetGroups();
|
||||
QTableWidgetItem *__colItem = new QTableWidgetItem();
|
||||
@ -262,10 +261,9 @@ void SMESHGUI_HomardAdaptDlg::InitBoundarys()
|
||||
// function : CheckCase
|
||||
// purpose :
|
||||
//=================================================================================
|
||||
bool SMESHGUI_HomardAdaptDlg::CheckCase()
|
||||
bool SMESHGUI_HomardAdaptDlg::CheckCase(bool fixCase)
|
||||
{
|
||||
MESSAGE("CheckCase");
|
||||
QString aCaseName = "Case_1";
|
||||
|
||||
QString aWorkingDir = myAdvOpt->workingDirectoryLineEdit->text().trimmed();
|
||||
if (aWorkingDir == QString("")) {
|
||||
@ -273,14 +271,6 @@ bool SMESHGUI_HomardAdaptDlg::CheckCase()
|
||||
QObject::tr("HOM_CASE_DIRECTORY_1") );
|
||||
return false;
|
||||
}
|
||||
if (aWorkingDir != myWorkingDir) {
|
||||
QString CaseNameDir = myHomardGen->VerifieDir( aWorkingDir.toStdString().c_str());
|
||||
if ( ( CaseNameDir != "" ) & ( CaseNameDir != aCaseName ) ) {
|
||||
QString texte = QObject::tr("HOM_CASE_DIRECTORY_2") + CaseNameDir;
|
||||
QMessageBox::critical( 0, QObject::tr("HOM_ERROR"), texte );
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
if (CHDIR(aWorkingDir.toStdString().c_str()) != 0) {
|
||||
QMessageBox::critical( 0, QObject::tr("HOM_ERROR"),
|
||||
@ -288,40 +278,42 @@ bool SMESHGUI_HomardAdaptDlg::CheckCase()
|
||||
return false;
|
||||
}
|
||||
|
||||
QString aFileName = myArgs->mySelectInMedFileLineEdit->text().trimmed();
|
||||
if (aFileName == QString("")) {
|
||||
QMessageBox::critical( 0, QObject::tr("HOM_ERROR"),
|
||||
QObject::tr("HOM_CASE_MESH") );
|
||||
return false;
|
||||
}
|
||||
QString aMeshName, aFileName;
|
||||
if (myArgs->myInMedFileRadio->isChecked()) {
|
||||
aFileName = myArgs->mySelectInMedFileLineEdit->text().trimmed();
|
||||
if (aFileName == QString("")) {
|
||||
QMessageBox::critical(0, QObject::tr("HOM_ERROR"), QObject::tr("HOM_CASE_MESH"));
|
||||
return false;
|
||||
}
|
||||
|
||||
// In mesh name
|
||||
QString aMeshName = SMESH_HOMARD_QT_COMMUN::LireNomMaillage(aFileName);
|
||||
if (aMeshName == "" ) {
|
||||
QMessageBox::critical( 0, QObject::tr("HOM_ERROR"),
|
||||
QObject::tr("HOM_MED_FILE_2") );
|
||||
return false;
|
||||
// In mesh name
|
||||
aMeshName = SMESH_HOMARD_QT_COMMUN::LireNomMaillage(aFileName);
|
||||
if (aMeshName == "") {
|
||||
QMessageBox::critical(0, QObject::tr("HOM_ERROR"), QObject::tr("HOM_MED_FILE_2"));
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
// Out mesh name (initialize, if not yet)
|
||||
if (myArgs->myOutMeshNameLineEdit->text().isEmpty()) {
|
||||
myArgs->myOutMeshNameLineEdit->setText(aMeshName);
|
||||
else {
|
||||
aMeshName = myArgs->myInBrowserObject->text();
|
||||
if (aMeshName == "" || myMesh->_is_nil()) {
|
||||
QMessageBox::critical(0, QObject::tr("HOM_ERROR"),
|
||||
QObject::tr("Mesh object is not selected"));
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
// On verifie qu'un groupe n'est pas associe a deux frontieres differentes
|
||||
if (myArgs->CBBoundaryA->isChecked()) {
|
||||
QStringList ListeGroup ;
|
||||
QString NomGroup ;
|
||||
QStringList ListeGroup;
|
||||
QString NomGroup;
|
||||
int nbcol = myArgs->TWBoundary->columnCount();
|
||||
int nbrow = myArgs->TWBoundary->rowCount();
|
||||
for ( int col=1; col< nbcol; col++) {
|
||||
for ( int row=0; row< nbrow; row++) {
|
||||
if ( myArgs->TWBoundary->item( row, col )->checkState() == Qt::Checked ) {
|
||||
// Nom du groupe
|
||||
// Group name
|
||||
NomGroup = QString(myArgs->TWBoundary->item(row, 0)->text()) ;
|
||||
//MESSAGE("NomGroup "<<NomGroup.toStdString().c_str());
|
||||
for ( int nugr = 0 ; nugr<ListeGroup.size(); nugr++) {
|
||||
//MESSAGE("....... "<<ListeGroup[nugr].toStdString().c_str());
|
||||
for ( int nugr = 0 ; nugr < ListeGroup.size(); nugr++) {
|
||||
if ( NomGroup == ListeGroup[nugr] ) {
|
||||
QMessageBox::critical( 0, QObject::tr("HOM_ERROR"),
|
||||
QObject::tr("HOM_CASE_GROUP").arg(NomGroup) );
|
||||
@ -334,29 +326,44 @@ bool SMESHGUI_HomardAdaptDlg::CheckCase()
|
||||
}
|
||||
}
|
||||
|
||||
if (!fixCase) return true;
|
||||
|
||||
// Creation du cas
|
||||
if (myCase->_is_nil()) {
|
||||
try {
|
||||
myCase = myHomardGen->CreateCase
|
||||
(CORBA::string_dup(aCaseName.toStdString().c_str()),
|
||||
CORBA::string_dup(aMeshName.toStdString().c_str()),
|
||||
CORBA::string_dup(aFileName.toStdString().c_str()));
|
||||
if (myArgs->myInMedFileRadio->isChecked()) {
|
||||
// create case from MED file
|
||||
myCase = myHomardGen->CreateCase
|
||||
(CORBA::string_dup(aMeshName.toStdString().c_str()),
|
||||
CORBA::string_dup(aFileName.toStdString().c_str()),
|
||||
aWorkingDir.toStdString().c_str());
|
||||
}
|
||||
else {
|
||||
// create case from SMESH_Mesh
|
||||
myCase = myHomardGen->CreateCaseOnMesh
|
||||
(CORBA::string_dup(aMeshName.toStdString().c_str()),
|
||||
myMesh,
|
||||
aWorkingDir.toStdString().c_str());
|
||||
}
|
||||
}
|
||||
catch( SALOME::SALOME_Exception& S_ex ) {
|
||||
QMessageBox::critical( 0, QObject::tr("HOM_ERROR"),
|
||||
QObject::tr(CORBA::string_dup(S_ex.details.text)) );
|
||||
return false;
|
||||
}
|
||||
//myArgs->mySelectInMedFileLineEdit->setReadOnly(true);
|
||||
//myArgs->mySelectInMedFileButton->hide();
|
||||
// Prevent changing case data
|
||||
myArgs->myInMedFileRadio->setEnabled(false);
|
||||
myArgs->myInBrowserRadio->setEnabled(false);
|
||||
myArgs->mySelectInMedFileLineEdit->setReadOnly(true);
|
||||
myArgs->mySelectInMedFileButton->setEnabled(false);
|
||||
myArgs->myInBrowserObject->setReadOnly(true);
|
||||
myAdvOpt->workingDirectoryLineEdit->setReadOnly(true);
|
||||
myAdvOpt->workingDirectoryPushButton->setEnabled(false);
|
||||
InitBoundarys();
|
||||
}
|
||||
|
||||
// Repertoire et type
|
||||
myCase->SetDirName(aWorkingDir.toStdString().c_str());
|
||||
myWorkingDir = aWorkingDir;
|
||||
myCase->SetConfType(myArgs->RBConforme->isChecked() ? 0 : 1);
|
||||
//myCase->SetExtType(0); // ExtType
|
||||
|
||||
// Menage des eventuelles frontieres deja enregistrees
|
||||
myCase->SupprBoundaryGroup();
|
||||
@ -373,10 +380,10 @@ bool SMESHGUI_HomardAdaptDlg::PushOnApply()
|
||||
MESSAGE("PushOnApply");
|
||||
|
||||
// Check data, create Case if not yet
|
||||
if (!CheckCase())
|
||||
if (!CheckCase(true))
|
||||
return false;
|
||||
|
||||
MESSAGE("PushOnApply: *** aaajfa *** 11");
|
||||
MESSAGE("PushOnApply: *** aaajfa *** 12");
|
||||
|
||||
// Create boundaries
|
||||
if (myArgs->RBBoundaryCAO->isChecked()) {
|
||||
@ -395,65 +402,35 @@ bool SMESHGUI_HomardAdaptDlg::PushOnApply()
|
||||
QString NomGroup;
|
||||
int nbcol = myArgs->TWBoundary->columnCount();
|
||||
int nbrow = myArgs->TWBoundary->rowCount();
|
||||
for ( int col=1; col< nbcol; col++) {
|
||||
for ( int row=0; row< nbrow; row++) {
|
||||
for ( int col = 1; col < nbcol; col++) {
|
||||
for ( int row = 0; row < nbrow; row++) {
|
||||
if ( myArgs->TWBoundary->item( row, col )->checkState() == Qt::Checked ) {
|
||||
// Nom du groupe
|
||||
NomGroup = QString(myArgs->TWBoundary->item(row, 0)->text()) ;
|
||||
// Nom de la frontiere
|
||||
QTableWidgetItem *__colItem = new QTableWidgetItem();
|
||||
__colItem = myArgs->TWBoundary->horizontalHeaderItem(col);
|
||||
QTableWidgetItem *__colItem = myArgs->TWBoundary->horizontalHeaderItem(col);
|
||||
myCase->AddBoundaryGroup(QString(__colItem->text()).toStdString().c_str(),
|
||||
NomGroup.toStdString().c_str());
|
||||
NomGroup.toStdString().c_str());
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
MESSAGE("PushOnApply: *** aaajfa *** 12");
|
||||
|
||||
// create hypothesis
|
||||
if (myHypothesis->_is_nil()) {
|
||||
try {
|
||||
myHypothesis = myHomardGen->CreateHypothesis("Hypo_1");
|
||||
myHypothesis->SetUnifRefinUnRef(1);
|
||||
}
|
||||
catch( SALOME::SALOME_Exception& S_ex ) {
|
||||
QMessageBox::critical( 0, QObject::tr("HOM_ERROR"),
|
||||
QString(CORBA::string_dup(S_ex.details.text)) );
|
||||
//if (!myHypothesis->_is_nil()) {
|
||||
// myHypothesis->Delete();
|
||||
// myHypothesis = SMESHHOMARD::HOMARD_Hypothesis::_nil();
|
||||
//}
|
||||
return false;
|
||||
}
|
||||
}
|
||||
MESSAGE("PushOnApply: *** aaajfa *** 13");
|
||||
|
||||
// create iteration
|
||||
if (myIteration->_is_nil()) {
|
||||
try {
|
||||
myIteration = myCase->NextIteration("Iter_1");
|
||||
myIteration->AssociateHypo("Hypo_1");
|
||||
}
|
||||
catch( SALOME::SALOME_Exception& S_ex ) {
|
||||
QMessageBox::critical( 0, QObject::tr("HOM_ERROR"),
|
||||
QString(CORBA::string_dup(S_ex.details.text)) );
|
||||
return false;
|
||||
}
|
||||
}
|
||||
// Verbose level?
|
||||
myIteration->SetInfoCompute(myAdvOpt->verboseLevelSpin->value());
|
||||
// Output mesh name
|
||||
myIteration->SetMeshName(myArgs->myOutMeshNameLineEdit->text().toStdString().c_str());
|
||||
// Output med file
|
||||
// Output MED and MESH parameters
|
||||
myHomardGen->SetKeepMedOUT(myArgs->myOutMedFileChk->isChecked());
|
||||
myHomardGen->SetPublishMeshOUT(myArgs->myOutPublishChk->isChecked());
|
||||
QString anOutMeshName = myArgs->myOutMeshNameLineEdit->text();
|
||||
if (anOutMeshName.isEmpty()) anOutMeshName = "DEFAULT_MESH_NAME";
|
||||
myHomardGen->SetMeshNameOUT(anOutMeshName.toStdString().c_str());
|
||||
|
||||
std::string aMeshFileOUT;
|
||||
if (myArgs->myOutMedFileChk->isChecked()) {
|
||||
QString anOutMed = myArgs->mySelectOutMedFileLineEdit->text();
|
||||
if (anOutMed.isEmpty()) {
|
||||
// store in working directory and with default name
|
||||
QString aMedFileIn = myArgs->mySelectInMedFileLineEdit->text().trimmed();
|
||||
QFileInfo aFileInfoIn (aMedFileIn);
|
||||
aMedFileIn = aFileInfoIn.completeBaseName(); // name without path and last extension
|
||||
QFileInfo aFileInfo (QDir(myWorkingDir), aMedFileIn + "_Uniform_01_R.med");
|
||||
QString aWorkingDir = myAdvOpt->workingDirectoryLineEdit->text().trimmed();
|
||||
QFileInfo aFileInfo (QDir(aWorkingDir), "Uniform_01_R.med");
|
||||
anOutMed = aFileInfo.absoluteFilePath();
|
||||
// show it
|
||||
myArgs->mySelectOutMedFileLineEdit->setText(anOutMed);
|
||||
@ -462,34 +439,48 @@ bool SMESHGUI_HomardAdaptDlg::PushOnApply()
|
||||
QFileInfo aFileInfo (anOutMed);
|
||||
anOutMed = aFileInfo.absoluteFilePath();
|
||||
}
|
||||
myIteration->SetMeshFile(anOutMed.toStdString().c_str());
|
||||
aMeshFileOUT = anOutMed.toStdString();
|
||||
}
|
||||
else {
|
||||
// Set file name without path for it to be created in current directory
|
||||
// (it will be iteration's dir, and it will be destroyed after)
|
||||
aMeshFileOUT = "Uniform_01_R.med";
|
||||
}
|
||||
myHomardGen->SetMeshFileOUT(aMeshFileOUT.c_str());
|
||||
|
||||
// Advanced options
|
||||
myHomardGen->SetVerboseLevel(myAdvOpt->verboseLevelSpin->value());
|
||||
myHomardGen->SetKeepWorkingFiles(myAdvOpt->keepWorkingFilesCheck->isChecked());
|
||||
myHomardGen->SetLogInFile(myAdvOpt->logInFileCheck->isChecked());
|
||||
myHomardGen->SetRemoveLogOnSuccess(myAdvOpt->removeLogOnSuccessCheck->isChecked());
|
||||
|
||||
// Log file
|
||||
if (myAdvOpt->logInFileCheck->isChecked()) {
|
||||
// Write log file in the working dir
|
||||
// Name of log file will be "<base_name_of_input_med>_Uniform_01_R.med.log"
|
||||
QString aMedFileIn = myArgs->mySelectInMedFileLineEdit->text().trimmed();
|
||||
QFileInfo aFileInfoIn (aMedFileIn);
|
||||
aMedFileIn = aFileInfoIn.completeBaseName(); // name without path and last extension
|
||||
QFileInfo aFileInfo (QDir(myWorkingDir), aMedFileIn + "_Uniform_01_R.med.log");
|
||||
QString aLogBaseName;
|
||||
if (myArgs->myInMedFileRadio->isChecked()) {
|
||||
// Name of log file will be "<name_of_input_med_file>_Uniform_R.log"
|
||||
QString aMedFileIn = myArgs->mySelectInMedFileLineEdit->text().trimmed();
|
||||
QFileInfo aFileInfoIn (aMedFileIn);
|
||||
aLogBaseName = aFileInfoIn.fileName();
|
||||
}
|
||||
else {
|
||||
// Name of log file will be "SMESH_Mesh_<name_of_input_mesh>_Uniform_R.log"
|
||||
aLogBaseName = "SMESH_Mesh_";
|
||||
aLogBaseName += myArgs->myInBrowserObject->text();
|
||||
}
|
||||
QString aWorkingDir = myAdvOpt->workingDirectoryLineEdit->text().trimmed();
|
||||
QFileInfo aFileInfo (QDir(aWorkingDir), aLogBaseName + "_Uniform_R.log");
|
||||
QString anOutLog = aFileInfo.absoluteFilePath();
|
||||
MESSAGE("myIteration->SetLogFile(" << anOutLog.toStdString().c_str() << ")");
|
||||
myIteration->SetLogFile(anOutLog.toStdString().c_str());
|
||||
MESSAGE("myIteration->GetLogFile() = " << myIteration->GetLogFile());
|
||||
MESSAGE("myHomardGen->SetLogFile(" << anOutLog.toStdString().c_str() << ")");
|
||||
myHomardGen->SetLogFile(anOutLog.toStdString().c_str());
|
||||
}
|
||||
MESSAGE("PushOnApply: *** aaajfa *** 14");
|
||||
|
||||
// compute and publish
|
||||
// Compute and publish
|
||||
bool isSuccess = true;
|
||||
try {
|
||||
int aCleanOption = 0; // report an error if output mesh file exists
|
||||
int aModeHOMARD = 1; // adaptation
|
||||
int anOption1 = -1; // appel depuis GUI
|
||||
int anOption2 = 1; // do not publish to SMESH
|
||||
if (myArgs->myOutPublishChk->isChecked())
|
||||
anOption2 = 2; // publish to SMESH
|
||||
isSuccess = myHomardGen->Compute("Iter_1", aCleanOption, aModeHOMARD,
|
||||
anOption1, anOption2) == 0;
|
||||
isSuccess = myHomardGen->Compute() == 0;
|
||||
}
|
||||
catch( SALOME::SALOME_Exception& S_ex ) {
|
||||
QMessageBox::critical( 0, QObject::tr("HOM_ERROR"),
|
||||
@ -497,38 +488,26 @@ bool SMESHGUI_HomardAdaptDlg::PushOnApply()
|
||||
isSuccess = false;
|
||||
}
|
||||
MESSAGE("PushOnApply: *** aaajfa *** 15");
|
||||
// case 1131: // Publication du maillage de l'iteration
|
||||
// homardGen->PublishMeshIterInSmesh(_ObjectName.toStdString().c_str());
|
||||
// case 1132: // Publication du maillage de l'iteration a partir du fichier
|
||||
// homardGen->PublishResultInSmesh(_ObjectName.toStdString().c_str(), 1);
|
||||
|
||||
if (isSuccess)
|
||||
// Update Object Browser
|
||||
if (isSuccess) {
|
||||
SMESHGUI::GetSMESHGUI()->updateObjBrowser();
|
||||
|
||||
// Remove log file and delete iteration object
|
||||
MESSAGE("myIteration->GetLogFile() = " << myIteration->GetLogFile());
|
||||
if (isSuccess &&
|
||||
myAdvOpt->logInFileCheck->isChecked() &&
|
||||
myAdvOpt->removeLogOnSuccessCheck->isChecked()) {
|
||||
// Remove log file on success
|
||||
QFile(myIteration->GetLogFile()).remove();
|
||||
// Clean case, as it is deleted after successful Compute
|
||||
myCase = SMESHHOMARD::HOMARD_Cas::_nil();
|
||||
}
|
||||
MESSAGE("PushOnApply: *** aaajfa *** 16");
|
||||
|
||||
// Delete iteration object
|
||||
// This also removes all working files, if keepWorkingFilesCheck is not checked
|
||||
myIteration->Delete(0, !myAdvOpt->keepWorkingFilesCheck->isChecked());
|
||||
// Enable new case data selection
|
||||
myArgs->myInMedFileRadio->setEnabled(true);
|
||||
myArgs->myInBrowserRadio->setEnabled(true);
|
||||
myArgs->mySelectInMedFileLineEdit->setReadOnly(false);
|
||||
//myArgs->mySelectInMedFileButton->hide();
|
||||
myArgs->mySelectInMedFileButton->setEnabled(true);
|
||||
myArgs->myInBrowserObject->setReadOnly(false);
|
||||
myAdvOpt->workingDirectoryLineEdit->setReadOnly(false);
|
||||
myAdvOpt->workingDirectoryPushButton->setEnabled(true);
|
||||
|
||||
// Delete hypothesis and case
|
||||
if (!myHypothesis->_is_nil()) myHypothesis->Delete();
|
||||
if (!myCase->_is_nil()) myCase->Delete(1);
|
||||
|
||||
MESSAGE("PushOnApply: *** aaajfa *** 17");
|
||||
myIteration = SMESHHOMARD::HOMARD_Iteration::_nil();
|
||||
myHypothesis = SMESHHOMARD::HOMARD_Hypothesis::_nil();
|
||||
myCase = SMESHHOMARD::HOMARD_Cas::_nil();
|
||||
MESSAGE("PushOnApply: *** aaajfa *** THE END");
|
||||
|
||||
return isSuccess;
|
||||
}
|
||||
|
||||
@ -551,65 +530,66 @@ void SMESHGUI_HomardAdaptDlg::PushOnHelp()
|
||||
void SMESHGUI_HomardAdaptDlg::updateSelection()
|
||||
{
|
||||
LightApp_SelectionMgr *selMgr = SMESHGUI::selectionMgr();
|
||||
disconnect( selMgr, 0, this, 0 );
|
||||
disconnect(selMgr, 0, this, 0);
|
||||
selMgr->clearFilters();
|
||||
|
||||
SMESH::SetPointRepresentation( false );
|
||||
if ( SVTK_ViewWindow* aViewWindow = SMESH::GetViewWindow() )
|
||||
aViewWindow->SetSelectionMode( ActorSelection );
|
||||
if (myArgs->myInBrowserRadio->isChecked())
|
||||
{
|
||||
connect( selMgr, SIGNAL( currentSelectionChanged() ), this, SLOT( selectionChanged() ));
|
||||
if (!myArgs->myInBrowserRadio->isChecked())
|
||||
return;
|
||||
|
||||
SMESH::SetPointRepresentation(false);
|
||||
if (SVTK_ViewWindow* aViewWindow = SMESH::GetViewWindow())
|
||||
aViewWindow->SetSelectionMode(ActorSelection);
|
||||
if (myArgs->myInBrowserRadio->isChecked()) {
|
||||
connect(selMgr, SIGNAL(currentSelectionChanged()), this, SLOT(selectionChanged()));
|
||||
selectionChanged();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
void SMESHGUI_HomardAdaptDlg::selectionChanged()
|
||||
{
|
||||
if (!myArgs->myInBrowserRadio->isChecked())
|
||||
return;
|
||||
|
||||
LightApp_SelectionMgr *selMgr = SMESHGUI::selectionMgr();
|
||||
|
||||
//~ get selected mesh
|
||||
// get selected mesh
|
||||
SALOME_ListIO aList;
|
||||
selMgr->selectedObjects(aList);
|
||||
QString aString = "";
|
||||
int nbSel = aList.Extent();
|
||||
if (nbSel != 1)
|
||||
return;
|
||||
QString aMeshName = "";
|
||||
|
||||
Handle(SALOME_InteractiveObject) IO = aList.First();
|
||||
SMESH::SMESH_Mesh_var mesh = SMESH::GetMeshByIO(IO);
|
||||
if ( !mesh->_is_nil() )
|
||||
{
|
||||
myMesh = mesh;
|
||||
|
||||
SMESH::SMESH_IDSource_var sSelectedObj = SMESH::IObjectToInterface<SMESH::SMESH_IDSource>( IO );
|
||||
if ( sSelectedObj->_is_nil() )
|
||||
return;
|
||||
if (aList.Extent() == 1) {
|
||||
Handle(SALOME_InteractiveObject) IO = aList.First();
|
||||
myMesh = SMESH::GetMeshByIO(IO);
|
||||
SMESH::GetNameOfSelectedIObjects(selMgr, aMeshName);
|
||||
if (aMeshName.isEmpty()) aMeshName = " ";
|
||||
else aMeshName = aMeshName.trimmed();
|
||||
}
|
||||
else
|
||||
return;
|
||||
|
||||
SMESH::GetNameOfSelectedIObjects( selMgr, aString );
|
||||
if ( aString.isEmpty() ) aString = " ";
|
||||
else aString = aString.trimmed();
|
||||
|
||||
//bool ok = !aString.isEmpty();
|
||||
if ( !mesh->_is_nil() )
|
||||
{
|
||||
myArgs->myInBrowserObject->setText( aString );
|
||||
myArgs->myOutMeshNameLineEdit->setText( aString );
|
||||
myArgs->mySelectOutMedFileLineEdit->setText(aString + QString("_Uniform_01_R.med"));
|
||||
else {
|
||||
myMesh = SMESH::SMESH_Mesh::_nil();
|
||||
}
|
||||
}
|
||||
|
||||
void SMESHGUI_HomardAdaptDlg::setMyMesh(SMESH::SMESH_Mesh_var mesh)
|
||||
{
|
||||
myMesh = mesh;
|
||||
}
|
||||
myArgs->myInBrowserObject->setText(aMeshName);
|
||||
|
||||
SMESH::SMESH_Mesh_var SMESHGUI_HomardAdaptDlg::getMyMesh()
|
||||
{
|
||||
return myMesh;
|
||||
// Out mesh name default value
|
||||
// TODO: add some suffix? "_R" or "_UnifRefin", or "_Uniform_01_R"
|
||||
myArgs->myOutMeshNameLineEdit->setText(aMeshName);
|
||||
|
||||
// Output med file default value
|
||||
// Construct it from Input mesh name and working directory
|
||||
//if (myArgs->myOutMedFileChk->isChecked()) {
|
||||
if (aMeshName.isEmpty()) {
|
||||
myArgs->mySelectOutMedFileLineEdit->setText("");
|
||||
}
|
||||
else {
|
||||
QString aWorkingDir = myAdvOpt->workingDirectoryLineEdit->text().trimmed();
|
||||
QFileInfo aFileInfo (QDir(aWorkingDir), aMeshName + QString("_Uniform_01_R.med"));
|
||||
for (int ii = 1; aFileInfo.exists(); ii++) {
|
||||
QString anUniqueName = QString("%1_Uniform_01_R_%2.med").arg(aMeshName).arg(ii);
|
||||
aFileInfo.setFile(QDir(aWorkingDir), anUniqueName);
|
||||
}
|
||||
myArgs->mySelectOutMedFileLineEdit->setText(aFileInfo.absoluteFilePath());
|
||||
}
|
||||
//}
|
||||
}
|
||||
|
||||
void SMESHGUI_HomardAdaptDlg::SetFileName()
|
||||
@ -621,22 +601,33 @@ void SMESHGUI_HomardAdaptDlg::SetFileName()
|
||||
fileName = fileName0;
|
||||
if (fileName.isEmpty()) return;
|
||||
}
|
||||
QFileInfo aFileInfo (fileName);
|
||||
fileName = aFileInfo.absoluteFilePath();
|
||||
QFileInfo aFileInInfo (fileName);
|
||||
fileName = aFileInInfo.absoluteFilePath();
|
||||
myArgs->mySelectInMedFileLineEdit->setText(fileName);
|
||||
|
||||
// Out mesh name default value
|
||||
// TODO: add some suffix? "_R" or "_UnifRefin", or "_Uniform_01_R"
|
||||
QString aMeshName = SMESH_HOMARD_QT_COMMUN::LireNomMaillage(fileName);
|
||||
myArgs->myOutMeshNameLineEdit->setText(aMeshName);
|
||||
|
||||
// Output med file default value
|
||||
if (myArgs->myOutMedFileChk->isChecked()) {
|
||||
std::string fname = fileName.toStdString();
|
||||
size_t lastdot = fname.find_last_of(".");
|
||||
if (lastdot != std::string::npos)
|
||||
fname = fname.substr(0, lastdot);
|
||||
QString outF = QString(fname.c_str()) + QString("_Uniform_01_R.med");
|
||||
myArgs->mySelectOutMedFileLineEdit->setText(outF);
|
||||
// Construct it from Input med file name and path
|
||||
//if (myArgs->myOutMedFileChk->isChecked()) {
|
||||
std::string fname = fileName.toStdString();
|
||||
size_t lastdot = fname.find_last_of(".");
|
||||
if (lastdot != std::string::npos)
|
||||
fname = fname.substr(0, lastdot);
|
||||
QString fileNameOut = fname.c_str();
|
||||
QFileInfo aFileInfo (fileNameOut + QString("_Uniform_01_R.med"));
|
||||
for (int ii = 1; aFileInfo.exists(); ii++) {
|
||||
QString anUniqueName = QString("%1_Uniform_01_R_%2.med").arg(fileNameOut).arg(ii);
|
||||
aFileInfo.setFile(anUniqueName);
|
||||
}
|
||||
myArgs->mySelectOutMedFileLineEdit->setText(aFileInfo.absoluteFilePath());
|
||||
//}
|
||||
|
||||
// Check data
|
||||
CheckCase();
|
||||
CheckCase(false);
|
||||
}
|
||||
|
||||
// ------------------------------------------------------------------------
|
||||
@ -698,7 +689,7 @@ void SMESHGUI_HomardAdaptDlg::SetBoundaryD()
|
||||
{
|
||||
MESSAGE("Debut de SetBoundaryD ");
|
||||
if (myArgs->CBBoundaryD->isChecked()) {
|
||||
bool bOK = CheckCase();
|
||||
bool bOK = CheckCase(true);
|
||||
if (bOK) {
|
||||
myArgs->GBBoundaryD->setVisible(1);
|
||||
}
|
||||
@ -712,8 +703,8 @@ void SMESHGUI_HomardAdaptDlg::SetBoundaryD()
|
||||
myArgs->GBBoundaryD->setVisible(0);
|
||||
}
|
||||
|
||||
myArgs->mySelectInMedFileLineEdit->setReadOnly(true);
|
||||
myArgs->mySelectInMedFileButton->hide();
|
||||
//myArgs->mySelectInMedFileLineEdit->setReadOnly(true);
|
||||
//myArgs->mySelectInMedFileButton->hide();
|
||||
|
||||
adjustSize();
|
||||
}
|
||||
@ -756,7 +747,7 @@ void SMESHGUI_HomardAdaptDlg::SetBoundaryA()
|
||||
{
|
||||
MESSAGE("Debut de SetBoundaryA ");
|
||||
if (myArgs->CBBoundaryA->isChecked()) {
|
||||
bool bOK = CheckCase();
|
||||
bool bOK = CheckCase(true);
|
||||
if (bOK) {
|
||||
myArgs->GBBoundaryA->setVisible(1);
|
||||
}
|
||||
@ -770,8 +761,8 @@ void SMESHGUI_HomardAdaptDlg::SetBoundaryA()
|
||||
myArgs->GBBoundaryA->setVisible(0);
|
||||
}
|
||||
|
||||
myArgs->mySelectInMedFileLineEdit->setReadOnly(true);
|
||||
myArgs->mySelectInMedFileButton->hide();
|
||||
//myArgs->mySelectInMedFileLineEdit->setReadOnly(true);
|
||||
//myArgs->mySelectInMedFileButton->hide();
|
||||
|
||||
adjustSize();
|
||||
}
|
||||
@ -858,7 +849,7 @@ void SMESHGUI_HomardAdaptArguments::setupUi(QWidget *CreateCase)
|
||||
QGroupBox* aMeshIn = new QGroupBox( tr( "MeshIn" ), this );
|
||||
myInMedFileRadio = new QRadioButton( tr( "MEDFile" ), aMeshIn );
|
||||
myInBrowserRadio = new QRadioButton( tr( "Browser" ), aMeshIn );
|
||||
myInBrowserObject = new QLineEdit( aMeshIn );
|
||||
myInBrowserObject = new QLineEdit( aMeshIn );
|
||||
mySelectInMedFileButton = new QPushButton("...", aMeshIn);
|
||||
mySelectInMedFileLineEdit = new QLineEdit( aMeshIn );
|
||||
|
||||
@ -952,11 +943,11 @@ void SMESHGUI_HomardAdaptArguments::setupUi(QWidget *CreateCase)
|
||||
CBBoundaryD = new QCheckBox(tr("BOUNDARY_DISCRETE"), GBBoundaryN);
|
||||
CBBoundaryA = new QCheckBox(tr("BOUNDARY_ANALYTICAL"), GBBoundaryN);
|
||||
|
||||
hboxLayout3 = new QHBoxLayout(GBBoundaryN);
|
||||
hboxLayout3->setSpacing(6);
|
||||
hboxLayout3->setContentsMargins(0, 0, 0, 0);
|
||||
hboxLayout3->addWidget(CBBoundaryD);
|
||||
hboxLayout3->addWidget(CBBoundaryA);
|
||||
//hboxLayout3 = new QHBoxLayout(GBBoundaryN);
|
||||
//hboxLayout3->setSpacing(6);
|
||||
//hboxLayout3->setContentsMargins(0, 0, 0, 0);
|
||||
//hboxLayout3->addWidget(CBBoundaryD);
|
||||
//hboxLayout3->addWidget(CBBoundaryA);
|
||||
|
||||
// discrete
|
||||
GBBoundaryD = new QGroupBox(tr("Discrete boundary"), GBBoundaryN);
|
||||
@ -1034,6 +1025,14 @@ void SMESHGUI_HomardAdaptArguments::setupUi(QWidget *CreateCase)
|
||||
|
||||
formLayout->setLayout(0, QFormLayout::FieldRole, gridLayout1);
|
||||
|
||||
// Boundary No Layout
|
||||
QGridLayout* aBoundaryNoLayout = new QGridLayout(GBBoundaryN);
|
||||
//aBoundaryNoLayout->addLayout(hboxLayout3, 0, 0);
|
||||
aBoundaryNoLayout->addWidget(CBBoundaryD, 0, 0);
|
||||
aBoundaryNoLayout->addWidget(CBBoundaryA, 0, 1);
|
||||
aBoundaryNoLayout->addWidget(GBBoundaryD, 1, 0, 1, 2);
|
||||
aBoundaryNoLayout->addWidget(GBBoundaryA, 2, 0, 1, 2);
|
||||
|
||||
// Boundary type Layout
|
||||
QGridLayout* aBoundTypeLayout = new QGridLayout(GBTypeBoun);
|
||||
aBoundTypeLayout->addWidget(RBBoundaryNo, 0, 0);
|
||||
|
@ -64,9 +64,6 @@ class SMESHGUI_EXPORT SMESHGUI_HomardAdaptDlg : public QDialog
|
||||
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);
|
||||
@ -75,8 +72,6 @@ class SMESHGUI_EXPORT SMESHGUI_HomardAdaptDlg : public QDialog
|
||||
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();
|
||||
@ -103,7 +98,7 @@ class SMESHGUI_EXPORT SMESHGUI_HomardAdaptDlg : public QDialog
|
||||
virtual void PushBoundaryAnEdit();
|
||||
virtual void PushBoundaryAnHelp();
|
||||
|
||||
bool CheckCase();
|
||||
bool CheckCase(bool fixCase);
|
||||
|
||||
virtual void PushOnOK();
|
||||
virtual bool PushOnApply();
|
||||
|
@ -53,7 +53,6 @@ SMESH_CreateBoundaryAn::SMESH_CreateBoundaryAn(SMESHGUI_HomardAdaptDlg* parent,
|
||||
QDialog(0), SMESH_Ui_CreateBoundaryAn(),
|
||||
_parent(parent),
|
||||
_Name (""),
|
||||
_aCaseName(caseName),
|
||||
_Type(1),
|
||||
_BoundaryAnXcentre(0), _BoundaryAnYcentre(0), _BoundaryAnZcentre(0), _BoundaryAnRayon(0),
|
||||
_BoundaryAnXaxis(0), _BoundaryAnYaxis(0), _BoundaryAnZaxis(0),
|
||||
@ -112,7 +111,6 @@ SMESH_CreateBoundaryAn::SMESH_CreateBoundaryAn(SMESHGUI_HomardAdaptDlg* parent,
|
||||
QDialog(0), SMESH_Ui_CreateBoundaryAn(),
|
||||
_parent(parent),
|
||||
_Name (""),
|
||||
_aCaseName(caseName),
|
||||
_Type(1),
|
||||
_BoundaryAnXcentre(0), _BoundaryAnYcentre(0), _BoundaryAnZcentre(0), _BoundaryAnRayon(0),
|
||||
_BoundaryAnXaxis(0), _BoundaryAnYaxis(0), _BoundaryAnZaxis(0),
|
||||
@ -169,12 +167,10 @@ void SMESH_CreateBoundaryAn::InitConnect()
|
||||
void SMESH_CreateBoundaryAn::InitValBoundaryAn()
|
||||
// ------------------------------------------------------------------------
|
||||
{
|
||||
//
|
||||
// 1. Les coordonnees extremes du maillage
|
||||
//
|
||||
if (_aCaseName == QString("")) { return; }
|
||||
|
||||
SMESHHOMARD::HOMARD_Cas_var aCas = myHomardGen->GetCase(_aCaseName.toStdString().c_str());
|
||||
//
|
||||
// 1. Les coordonnees extremes du maillage
|
||||
//
|
||||
SMESHHOMARD::HOMARD_Cas_var aCas = myHomardGen->GetCase();
|
||||
SMESHHOMARD::extrema_var MesExtremes = aCas->GetBoundingBox();
|
||||
int num = MesExtremes->length() ;
|
||||
ASSERT(num == 10);
|
||||
@ -818,8 +814,7 @@ SMESH_CreateBoundaryCAO::SMESH_CreateBoundaryCAO(SMESHGUI_HomardAdaptDlg* parent
|
||||
:
|
||||
QDialog(0), SMESH_Ui_CreateBoundaryCAO(),
|
||||
_parent(parent), _aName(aName),
|
||||
myHomardGen(SMESHHOMARD::HOMARD_Gen::_duplicate(myHomardGen0)),
|
||||
_aCaseName(caseName)
|
||||
myHomardGen(SMESHHOMARD::HOMARD_Gen::_duplicate(myHomardGen0))
|
||||
{
|
||||
MESSAGE("Constructeur") ;
|
||||
setupUi(this);
|
||||
@ -879,7 +874,7 @@ bool SMESH_CreateBoundaryCAO::PushOnApply()
|
||||
_aName=aName;
|
||||
aBoundary=myHomardGen->CreateBoundaryCAO(CORBA::string_dup(_aName.toStdString().c_str()), aCAOFile.toStdString().c_str());
|
||||
_parent->AddBoundaryCAO(_aName);
|
||||
aBoundary->SetCaseCreation(_aCaseName.toStdString().c_str());
|
||||
aBoundary->SetCaseCreation("Case_1");
|
||||
}
|
||||
catch( SALOME::SALOME_Exception& S_ex )
|
||||
{
|
||||
@ -968,14 +963,10 @@ void SMESH_CreateBoundaryCAO::SetFiltrage()
|
||||
// // ------------------------------------------------------------------------
|
||||
{
|
||||
if (!CBGroupe->isChecked()) return;
|
||||
if (_aCaseName.toStdString().c_str() == QString()) {
|
||||
QMessageBox::critical( 0, QObject::tr("HOM_ERROR"),
|
||||
QObject::tr("HOM_BOUN_CASE") );
|
||||
return;
|
||||
}
|
||||
|
||||
SMESH_CreateListGroupCAO *aDlg = new SMESH_CreateListGroupCAO(this, true, SMESHHOMARD::HOMARD_Gen::_duplicate(myHomardGen),
|
||||
_aCaseName, _listeGroupesBoundary) ;
|
||||
SMESH_CreateListGroupCAO *aDlg = new SMESH_CreateListGroupCAO
|
||||
(this, true, SMESHHOMARD::HOMARD_Gen::_duplicate(myHomardGen),
|
||||
"Case_1", _listeGroupesBoundary);
|
||||
aDlg->show();
|
||||
}
|
||||
|
||||
@ -988,8 +979,7 @@ SMESH_CreateBoundaryDi::SMESH_CreateBoundaryDi(SMESHGUI_HomardAdaptDlg* parent,
|
||||
:
|
||||
QDialog(0), SMESH_Ui_CreateBoundaryDi(),
|
||||
_parent(parent), _aName(aName),
|
||||
myHomardGen(SMESHHOMARD::HOMARD_Gen::_duplicate(myHomardGen0)),
|
||||
_aCaseName(caseName)
|
||||
myHomardGen(SMESHHOMARD::HOMARD_Gen::_duplicate(myHomardGen0))
|
||||
{
|
||||
MESSAGE("Constructeur") ;
|
||||
setupUi(this);
|
||||
@ -1058,7 +1048,7 @@ bool SMESH_CreateBoundaryDi::PushOnApply()
|
||||
_aName=aName;
|
||||
aBoundary=myHomardGen->CreateBoundaryDi(CORBA::string_dup(_aName.toStdString().c_str()), aMeshName.toStdString().c_str(), aMeshFile.toStdString().c_str());
|
||||
_parent->AddBoundaryDi(_aName);
|
||||
aBoundary->SetCaseCreation(_aCaseName.toStdString().c_str());
|
||||
aBoundary->SetCaseCreation("Case_1");
|
||||
}
|
||||
catch( SALOME::SALOME_Exception& S_ex )
|
||||
{
|
||||
@ -1147,15 +1137,10 @@ void SMESH_CreateBoundaryDi::SetFiltrage()
|
||||
// // ------------------------------------------------------------------------
|
||||
{
|
||||
if (!CBGroupe->isChecked()) return;
|
||||
if (_aCaseName.toStdString().c_str() == QString()) {
|
||||
QMessageBox::critical( 0, QObject::tr("HOM_ERROR"),
|
||||
QObject::tr("HOM_BOUN_CASE") );
|
||||
return;
|
||||
}
|
||||
|
||||
SMESH_CreateListGroup *aDlg = new SMESH_CreateListGroup
|
||||
(this, true, SMESHHOMARD::HOMARD_Gen::_duplicate(myHomardGen),
|
||||
_aCaseName, _listeGroupesBoundary);
|
||||
"Case_1", _listeGroupesBoundary);
|
||||
aDlg->show();
|
||||
}
|
||||
|
||||
@ -1190,7 +1175,7 @@ void SMESH_EditBoundaryAn::InitValEdit()
|
||||
_Type = aBoundaryAn->GetType();
|
||||
MESSAGE("_Type : "<<_Type);
|
||||
InitValBoundaryAnLimit();
|
||||
if (_aCaseName != QString("")) InitValBoundaryAn();
|
||||
InitValBoundaryAn();
|
||||
switch (_Type)
|
||||
{
|
||||
case 1 : // il s agit d un cylindre
|
||||
@ -1543,14 +1528,11 @@ SMESH_EditBoundaryCAO::SMESH_EditBoundaryCAO( SMESHGUI_HomardAdaptDlg* parent, b
|
||||
{
|
||||
MESSAGE("Debut de Boundary pour " << Name.toStdString().c_str());
|
||||
setWindowTitle(QObject::tr("HOM_BOUN_C_EDIT_WINDOW_TITLE"));
|
||||
try
|
||||
{
|
||||
aBoundary=myHomardGen->GetBoundary(CORBA::string_dup(_aName.toStdString().c_str()));
|
||||
if (caseName==QString("")) { _aCaseName=aBoundary->GetCaseCreation();}
|
||||
InitValEdit();
|
||||
try {
|
||||
aBoundary = myHomardGen->GetBoundary(CORBA::string_dup(_aName.toStdString().c_str()));
|
||||
InitValEdit();
|
||||
}
|
||||
catch( SALOME::SALOME_Exception& S_ex )
|
||||
{
|
||||
catch( SALOME::SALOME_Exception& S_ex ) {
|
||||
QMessageBox::critical( 0, QObject::tr("HOM_ERROR"),
|
||||
QObject::tr(CORBA::string_dup(S_ex.details.text)) );
|
||||
return;
|
||||
@ -1591,18 +1573,12 @@ void SMESH_EditBoundaryCAO::SetFiltrage()
|
||||
// // ------------------------------------------------------------------------
|
||||
{
|
||||
if (!CBGroupe->isChecked()) return;
|
||||
if (_aCaseName.toStdString().c_str() == QString())
|
||||
{
|
||||
QMessageBox::critical( 0, QObject::tr("HOM_ERROR"),
|
||||
QObject::tr("HOM_BOUN_CASE") );
|
||||
return;
|
||||
}
|
||||
SMESHHOMARD::HOMARD_Cas_var monCas= myHomardGen->GetCase(_aCaseName.toStdString().c_str());
|
||||
SMESHHOMARD::HOMARD_Cas_var monCas = myHomardGen->GetCase();
|
||||
SMESHHOMARD::ListGroupType_var _listeGroupesCas = monCas->GetGroups();
|
||||
|
||||
SMESH_EditListGroupCAO *aDlg = new SMESH_EditListGroupCAO
|
||||
(this, true, SMESHHOMARD::HOMARD_Gen::_duplicate(myHomardGen),
|
||||
_aCaseName, _listeGroupesBoundary) ;
|
||||
"Case_1", _listeGroupesBoundary) ;
|
||||
aDlg->show();
|
||||
}
|
||||
|
||||
@ -1618,14 +1594,11 @@ SMESH_EditBoundaryDi::SMESH_EditBoundaryDi( SMESHGUI_HomardAdaptDlg* parent, boo
|
||||
{
|
||||
MESSAGE("Debut de Boundary pour " << Name.toStdString().c_str());
|
||||
setWindowTitle(QObject::tr("HOM_BOUN_D_EDIT_WINDOW_TITLE"));
|
||||
try
|
||||
{
|
||||
aBoundary=myHomardGen->GetBoundary(CORBA::string_dup(_aName.toStdString().c_str()));
|
||||
if (caseName==QString("")) { _aCaseName=aBoundary->GetCaseCreation();}
|
||||
InitValEdit();
|
||||
try {
|
||||
aBoundary = myHomardGen->GetBoundary(CORBA::string_dup(_aName.toStdString().c_str()));
|
||||
InitValEdit();
|
||||
}
|
||||
catch( SALOME::SALOME_Exception& S_ex )
|
||||
{
|
||||
catch( SALOME::SALOME_Exception& S_ex ) {
|
||||
QMessageBox::critical( 0, QObject::tr("HOM_ERROR"),
|
||||
QObject::tr(CORBA::string_dup(S_ex.details.text)) );
|
||||
return;
|
||||
@ -1666,17 +1639,11 @@ void SMESH_EditBoundaryDi::SetFiltrage()
|
||||
// // ------------------------------------------------------------------------
|
||||
{
|
||||
if (!CBGroupe->isChecked()) return;
|
||||
if (_aCaseName.toStdString().c_str() == QString())
|
||||
{
|
||||
QMessageBox::critical( 0, QObject::tr("HOM_ERROR"),
|
||||
QObject::tr("HOM_BOUN_CASE") );
|
||||
return;
|
||||
}
|
||||
SMESHHOMARD::HOMARD_Cas_var monCas= myHomardGen->GetCase(_aCaseName.toStdString().c_str());
|
||||
SMESHHOMARD::HOMARD_Cas_var monCas = myHomardGen->GetCase();
|
||||
SMESHHOMARD::ListGroupType_var _listeGroupesCas = monCas->GetGroups();
|
||||
|
||||
SMESH_EditListGroup *aDlg = new SMESH_EditListGroup
|
||||
(this, true, SMESHHOMARD::HOMARD_Gen::_duplicate(myHomardGen),
|
||||
_aCaseName, _listeGroupesBoundary);
|
||||
"Case_1", _listeGroupesBoundary);
|
||||
aDlg->show();
|
||||
}
|
||||
|
@ -25,7 +25,6 @@
|
||||
#include <SALOMEconfig.h>
|
||||
#include <SalomeApp_Module.h>
|
||||
|
||||
//#include CORBA_CLIENT_HEADER(SALOMEDS_Attributes)
|
||||
#include CORBA_CLIENT_HEADER(SMESH_Homard)
|
||||
|
||||
#include <QDialog>
|
||||
@ -45,8 +44,6 @@
|
||||
|
||||
class SMESHGUI_HomardAdaptDlg;
|
||||
|
||||
QT_BEGIN_NAMESPACE
|
||||
|
||||
class SMESH_Ui_CreateBoundaryAn
|
||||
{
|
||||
public:
|
||||
@ -812,13 +809,8 @@ public:
|
||||
buttonApply->setText(QApplication::translate("CreateBoundaryAn", "Apply", nullptr));
|
||||
buttonOk->setText(QApplication::translate("CreateBoundaryAn", "OK", nullptr));
|
||||
} // retranslateUi
|
||||
|
||||
};
|
||||
|
||||
namespace Ui {
|
||||
class CreateBoundaryAn: public SMESH_Ui_CreateBoundaryAn {};
|
||||
} // namespace Ui
|
||||
|
||||
class SMESH_Ui_CreateBoundaryCAO
|
||||
{
|
||||
public:
|
||||
@ -941,13 +933,8 @@ public:
|
||||
XAO->setText(QApplication::translate("CreateBoundaryCAO", "XAO", nullptr));
|
||||
Name->setText(QApplication::translate("CreateBoundaryCAO", "Name", nullptr));
|
||||
} // retranslateUi
|
||||
|
||||
};
|
||||
|
||||
namespace Ui {
|
||||
class CreateBoundaryCAO: public SMESH_Ui_CreateBoundaryCAO {};
|
||||
} // namespace Ui
|
||||
|
||||
class SMESH_Ui_CreateBoundaryDi
|
||||
{
|
||||
public:
|
||||
@ -1070,60 +1057,52 @@ public:
|
||||
Mesh->setText(QApplication::translate("CreateBoundaryDi", "Mesh", nullptr));
|
||||
Name->setText(QApplication::translate("CreateBoundaryDi", "Name", nullptr));
|
||||
} // retranslateUi
|
||||
|
||||
};
|
||||
|
||||
namespace Ui {
|
||||
class CreateBoundaryDi: public SMESH_Ui_CreateBoundaryDi {};
|
||||
} // namespace Ui
|
||||
|
||||
QT_END_NAMESPACE
|
||||
|
||||
class SMESHGUI_EXPORT SMESH_CreateBoundaryAn : public QDialog, public SMESH_Ui_CreateBoundaryAn
|
||||
{
|
||||
Q_OBJECT
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
SMESH_CreateBoundaryAn( SMESHGUI_HomardAdaptDlg* parent, bool modal,
|
||||
SMESHHOMARD::HOMARD_Gen_var myHomardGen,
|
||||
QString caseName);
|
||||
virtual ~SMESH_CreateBoundaryAn();
|
||||
SMESH_CreateBoundaryAn (SMESHGUI_HomardAdaptDlg* parent, bool modal,
|
||||
SMESHHOMARD::HOMARD_Gen_var myHomardGen,
|
||||
QString caseName);
|
||||
virtual ~SMESH_CreateBoundaryAn();
|
||||
|
||||
protected :
|
||||
SMESH_CreateBoundaryAn( SMESHGUI_HomardAdaptDlg* parent,
|
||||
SMESHHOMARD::HOMARD_Gen_var myHomardGen,
|
||||
QString caseName);
|
||||
SMESH_CreateBoundaryAn (SMESHGUI_HomardAdaptDlg* parent,
|
||||
SMESHHOMARD::HOMARD_Gen_var myHomardGen,
|
||||
QString caseName);
|
||||
|
||||
SMESHGUI_HomardAdaptDlg * _parent;
|
||||
SMESHGUI_HomardAdaptDlg * _parent;
|
||||
|
||||
QString _Name;
|
||||
QString _aCaseName;
|
||||
QString _Name;
|
||||
|
||||
int _Type;
|
||||
double _BoundaryAnXcentre, _BoundaryAnYcentre, _BoundaryAnZcentre, _BoundaryAnRayon;
|
||||
double _BoundaryAnXaxis, _BoundaryAnYaxis, _BoundaryAnZaxis;
|
||||
double _Xcentre, _Ycentre, _Zcentre, _Rayon ;
|
||||
double _Xmin, _Xmax, _Xincr, _Ymin, _Ymax, _Yincr, _Zmin, _Zmax, _Zincr, _DMax ;
|
||||
double _BoundaryAnXcone1, _BoundaryAnYcone1, _BoundaryAnZcone1, _BoundaryAnRayon1;
|
||||
double _BoundaryAnXcone2, _BoundaryAnYcone2, _BoundaryAnZcone2, _BoundaryAnRayon2;
|
||||
double _BoundaryAnXaxisCone, _BoundaryAnYaxisCone, _BoundaryAnZaxisCone;
|
||||
double _BoundaryAnXorigCone, _BoundaryAnYorigCone, _BoundaryAnZorigCone;
|
||||
double _BoundaryAngle;
|
||||
double _BoundaryAnToreXcentre, _BoundaryAnToreYcentre, _BoundaryAnToreZcentre;
|
||||
double _BoundaryAnToreXaxe, _BoundaryAnToreYaxe, _BoundaryAnToreZaxe;
|
||||
double _BoundaryAnToreRRev, _BoundaryAnToreRPri;
|
||||
int _Type;
|
||||
double _BoundaryAnXcentre, _BoundaryAnYcentre, _BoundaryAnZcentre, _BoundaryAnRayon;
|
||||
double _BoundaryAnXaxis, _BoundaryAnYaxis, _BoundaryAnZaxis;
|
||||
double _Xcentre, _Ycentre, _Zcentre, _Rayon ;
|
||||
double _Xmin, _Xmax, _Xincr, _Ymin, _Ymax, _Yincr, _Zmin, _Zmax, _Zincr, _DMax ;
|
||||
double _BoundaryAnXcone1, _BoundaryAnYcone1, _BoundaryAnZcone1, _BoundaryAnRayon1;
|
||||
double _BoundaryAnXcone2, _BoundaryAnYcone2, _BoundaryAnZcone2, _BoundaryAnRayon2;
|
||||
double _BoundaryAnXaxisCone, _BoundaryAnYaxisCone, _BoundaryAnZaxisCone;
|
||||
double _BoundaryAnXorigCone, _BoundaryAnYorigCone, _BoundaryAnZorigCone;
|
||||
double _BoundaryAngle;
|
||||
double _BoundaryAnToreXcentre, _BoundaryAnToreYcentre, _BoundaryAnToreZcentre;
|
||||
double _BoundaryAnToreXaxe, _BoundaryAnToreYaxe, _BoundaryAnToreZaxe;
|
||||
double _BoundaryAnToreRRev, _BoundaryAnToreRPri;
|
||||
|
||||
bool Chgt;
|
||||
bool Chgt;
|
||||
|
||||
SMESHHOMARD::HOMARD_Boundary_var aBoundaryAn ;
|
||||
SMESHHOMARD::HOMARD_Gen_var myHomardGen;
|
||||
SMESHHOMARD::HOMARD_Boundary_var aBoundaryAn;
|
||||
SMESHHOMARD::HOMARD_Gen_var myHomardGen;
|
||||
|
||||
virtual void InitConnect();
|
||||
virtual void InitValBoundaryAn();
|
||||
virtual void InitMinMax();
|
||||
virtual void SetNewName();
|
||||
virtual bool CreateOrUpdateBoundaryAn();
|
||||
virtual void convertRayonAngle(int option);
|
||||
virtual void InitConnect();
|
||||
virtual void InitValBoundaryAn();
|
||||
virtual void InitMinMax();
|
||||
virtual void SetNewName();
|
||||
virtual bool CreateOrUpdateBoundaryAn();
|
||||
virtual void convertRayonAngle(int option);
|
||||
|
||||
public slots:
|
||||
virtual void SetCylinder();
|
||||
@ -1135,7 +1114,6 @@ public slots:
|
||||
virtual void PushOnOK();
|
||||
virtual bool PushOnApply();
|
||||
virtual void PushOnHelp();
|
||||
|
||||
};
|
||||
|
||||
class SMESHGUI_EXPORT SMESH_EditBoundaryAn : public SMESH_CreateBoundaryAn
|
||||
@ -1161,9 +1139,6 @@ protected :
|
||||
void InitValBoundaryAnConeR();
|
||||
void InitValBoundaryAnConeA();
|
||||
void InitValBoundaryAnTore();
|
||||
|
||||
public slots:
|
||||
|
||||
};
|
||||
|
||||
class SMESHGUI_EXPORT SMESH_CreateBoundaryCAO : public QDialog, public SMESH_Ui_CreateBoundaryCAO
|
||||
@ -1182,8 +1157,6 @@ protected :
|
||||
SMESHGUI_HomardAdaptDlg *_parent;
|
||||
|
||||
QString _aName;
|
||||
QString _aCaseName;
|
||||
|
||||
|
||||
SMESHHOMARD::HOMARD_Boundary_var aBoundary;
|
||||
SMESHHOMARD::HOMARD_Gen_var myHomardGen;
|
||||
@ -1216,9 +1189,6 @@ protected :
|
||||
virtual void InitValEdit();
|
||||
virtual bool PushOnApply();
|
||||
virtual void SetFiltrage();
|
||||
|
||||
public slots:
|
||||
|
||||
};
|
||||
|
||||
class SMESHGUI_EXPORT SMESH_CreateBoundaryDi : public QDialog, public SMESH_Ui_CreateBoundaryDi
|
||||
@ -1237,8 +1207,6 @@ protected :
|
||||
SMESHGUI_HomardAdaptDlg *_parent;
|
||||
|
||||
QString _aName;
|
||||
QString _aCaseName;
|
||||
|
||||
|
||||
SMESHHOMARD::HOMARD_Boundary_var aBoundary;
|
||||
SMESHHOMARD::HOMARD_Gen_var myHomardGen;
|
||||
@ -1271,9 +1239,6 @@ protected :
|
||||
virtual void InitValEdit();
|
||||
virtual bool PushOnApply();
|
||||
virtual void SetFiltrage();
|
||||
|
||||
public slots:
|
||||
|
||||
};
|
||||
|
||||
#endif // MON_CREATEBOUNDARY_H
|
||||
|
@ -123,7 +123,7 @@ void SMESH_CreateListGroupCAO::InitGroupes()
|
||||
TWGroupe->removeRow(row);
|
||||
TWGroupe->setRowCount(0);
|
||||
if (_aCaseName == QString("")) { return; };
|
||||
SMESHHOMARD::HOMARD_Cas_var monCas= myHomardGen->GetCase(_aCaseName.toStdString().c_str());
|
||||
SMESHHOMARD::HOMARD_Cas_var monCas = myHomardGen->GetCase();
|
||||
SMESHHOMARD::ListGroupType_var _listeGroupesCas = monCas->GetGroups();
|
||||
for ( int i = 0; i < _listeGroupesCas->length(); i++ ) {
|
||||
TWGroupe->insertRow(i);
|
||||
@ -231,7 +231,7 @@ void SMESH_CreateListGroup::InitGroupes()
|
||||
TWGroupe->removeRow(row);
|
||||
TWGroupe->setRowCount(0);
|
||||
if (_aCaseName == QString("")) { return; };
|
||||
SMESHHOMARD::HOMARD_Cas_var monCas= myHomardGen->GetCase(_aCaseName.toStdString().c_str());
|
||||
SMESHHOMARD::HOMARD_Cas_var monCas = myHomardGen->GetCase();
|
||||
SMESHHOMARD::ListGroupType_var _listeGroupesCas = monCas->GetGroups();
|
||||
for ( int i = 0; i < _listeGroupesCas->length(); i++ )
|
||||
{
|
||||
|
@ -3029,6 +3029,10 @@ Check algorithm documentation for supported geometry</translation>
|
||||
<source>ADAPT_PREF_NONE</source>
|
||||
<translation>None</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>ADAPT_WITH_HOMARD</source>
|
||||
<translation>Adaptation with HOMARD</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>ADAPT_PREF_MG_ADAPT</source>
|
||||
<translation>Adaptation with MG-Adapt</translation>
|
||||
|
@ -3011,6 +3011,10 @@ Référez-vous à la documentation sur l'algorithme et la géométrie supportée
|
||||
<source>ADAPT_PREF_NONE</source>
|
||||
<translation>Sans</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>ADAPT_WITH_HOMARD</source>
|
||||
<translation>Adaptation avec HOMARD</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>ADAPT_PREF_MG_ADAPT</source>
|
||||
<translation>Adaptation avec MG-Adapt</translation>
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -17,16 +17,6 @@
|
||||
// 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_
|
||||
|
||||
@ -36,6 +26,7 @@
|
||||
#include CORBA_CLIENT_HEADER(SALOMEDS_Attributes)
|
||||
#include CORBA_CLIENT_HEADER(SALOME_ModuleCatalog)
|
||||
#include CORBA_CLIENT_HEADER(SMESH_Gen)
|
||||
#include CORBA_CLIENT_HEADER(SMESH_Mesh)
|
||||
|
||||
#include "SMESH.hxx"
|
||||
#include "SMESH_Homard.hxx"
|
||||
@ -49,498 +40,312 @@
|
||||
#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
|
||||
class SMESH_I_EXPORT HOMARD_Boundary_i : public virtual SALOME::GenericObj_i,
|
||||
public virtual POA_SMESHHOMARD::HOMARD_Boundary
|
||||
{
|
||||
public:
|
||||
HOMARD_Boundary_i( CORBA::ORB_ptr orb, SMESHHOMARD::HOMARD_Gen_var gen_i );
|
||||
HOMARD_Boundary_i(SMESHHOMARD::HOMARD_Gen_var gen_i);
|
||||
HOMARD_Boundary_i();
|
||||
|
||||
virtual ~HOMARD_Boundary_i();
|
||||
|
||||
// Generalites
|
||||
void SetName( const char* Name );
|
||||
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 );
|
||||
void SetType(CORBA::Long Type);
|
||||
CORBA::Long GetType();
|
||||
|
||||
void SetMeshName( const char* MeshName );
|
||||
void SetMeshName(const char* MeshName);
|
||||
char* GetMeshName();
|
||||
|
||||
void SetDataFile( const char* DataFile );
|
||||
void SetDataFile(const char* DataFile);
|
||||
char* GetDataFile();
|
||||
|
||||
void SetCylinder( double Xcentre, double Ycentre, double ZCentre,
|
||||
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 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,
|
||||
void SetConeA(double Xaxe, double Yaxe, double Zaxe, double Angle,
|
||||
double Xcentre, double Ycentre, double ZCentre);
|
||||
void SetTorus( double Xcentre, double Ycentre, double ZCentre,
|
||||
void SetTorus(double Xcentre, double Ycentre, double ZCentre,
|
||||
double Xaxe, double Yaxe, double Zaxe,
|
||||
double rayonRev, double rayonPri );
|
||||
double rayonRev, double rayonPri);
|
||||
|
||||
SMESHHOMARD::double_array* GetCoords();
|
||||
|
||||
void SetLimit( double Xincr, double Yincr, double Zincr);
|
||||
void SetLimit(double Xincr, double Yincr, double Zincr);
|
||||
SMESHHOMARD::double_array* GetLimit();
|
||||
|
||||
void AddGroup( const char* Group);
|
||||
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();
|
||||
// Liens avec les autres structures
|
||||
void SetCaseCreation(const char* NomCaseCreation);
|
||||
char* GetCaseCreation();
|
||||
|
||||
|
||||
private:
|
||||
SMESHHOMARDImpl::HOMARD_Boundary* myHomardBoundary;
|
||||
|
||||
CORBA::ORB_ptr _orb;
|
||||
SMESHHOMARDImpl::HOMARD_Boundary* myHomardBoundary;
|
||||
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
|
||||
class SMESH_I_EXPORT HOMARD_Cas_i : public virtual SALOME::GenericObj_i,
|
||||
public virtual POA_SMESHHOMARD::HOMARD_Cas
|
||||
{
|
||||
public:
|
||||
HOMARD_Cas_i( CORBA::ORB_ptr orb, SMESHHOMARD::HOMARD_Gen_var gen_i );
|
||||
HOMARD_Cas_i(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 );
|
||||
char* GetName();
|
||||
char* GetDumpPython();
|
||||
|
||||
// Caracteristiques
|
||||
void SetDirName( const char* NomDir );
|
||||
char* GetDirName();
|
||||
void SetDirName(const char* NomDir);
|
||||
char* GetDirName();
|
||||
|
||||
CORBA::Long GetState();
|
||||
void SetConfType(CORBA::Long ConfType);
|
||||
CORBA::Long GetConfType();
|
||||
|
||||
CORBA::Long GetNumberofIter();
|
||||
void SetBoundingBox(const SMESHHOMARD::extrema& LesExtremes);
|
||||
SMESHHOMARD::extrema* GetBoundingBox();
|
||||
|
||||
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);
|
||||
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 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 );
|
||||
void AddIteration(const char* NomIteration);
|
||||
|
||||
private:
|
||||
SMESHHOMARDImpl::HOMARD_Cas* myHomardCas;
|
||||
|
||||
CORBA::ORB_ptr _orb;
|
||||
SMESHHOMARDImpl::HOMARD_Cas* myHomardCas;
|
||||
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
|
||||
class SMESH_I_EXPORT HOMARD_Hypothesis_i : public virtual SALOME::GenericObj_i,
|
||||
public virtual POA_SMESHHOMARD::HOMARD_Hypothesis
|
||||
{
|
||||
public:
|
||||
HOMARD_Hypothesis_i( CORBA::ORB_ptr orb, SMESHHOMARD::HOMARD_Gen_var gen_i );
|
||||
HOMARD_Hypothesis_i(SMESHHOMARD::HOMARD_Gen_var gen_i);
|
||||
HOMARD_Hypothesis_i();
|
||||
|
||||
virtual ~HOMARD_Hypothesis_i();
|
||||
|
||||
// Generalites
|
||||
void SetName( const char* Name );
|
||||
char* GetName();
|
||||
// Generalites
|
||||
void SetExtraOutput(CORBA::Long ExtraOutput);
|
||||
CORBA::Long GetExtraOutput();
|
||||
|
||||
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();
|
||||
void LinkIteration(const char* NomIteration);
|
||||
void UnLinkIteration(const char* NomIteration);
|
||||
|
||||
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
|
||||
class SMESH_I_EXPORT HOMARD_Iteration_i : public virtual SALOME::GenericObj_i,
|
||||
public virtual POA_SMESHHOMARD::HOMARD_Iteration
|
||||
{
|
||||
public:
|
||||
HOMARD_Iteration_i( CORBA::ORB_ptr orb,
|
||||
SMESHHOMARD::HOMARD_Gen_var gen_i );
|
||||
HOMARD_Iteration_i(SMESHHOMARD::HOMARD_Gen_var gen_i);
|
||||
HOMARD_Iteration_i();
|
||||
|
||||
virtual ~HOMARD_Iteration_i();
|
||||
|
||||
// Generalites
|
||||
void SetName( const char* Name );
|
||||
// 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 );
|
||||
// Caracteristiques
|
||||
void SetDirNameLoc(const char* NomDir);
|
||||
char* GetDirNameLoc();
|
||||
|
||||
char* GetDirName();
|
||||
|
||||
void SetNumber( CORBA::Long NumIter );
|
||||
void SetNumber(CORBA::Long NumIter);
|
||||
CORBA::Long GetNumber();
|
||||
|
||||
void SetState( CORBA::Long etat );
|
||||
void SetState(CORBA::Long etat);
|
||||
CORBA::Long GetState();
|
||||
|
||||
void SetMeshName( const char* NomMesh );
|
||||
void SetMeshName(const char* NomMesh);
|
||||
char* GetMeshName();
|
||||
|
||||
void SetMeshFile( const char* MeshFile );
|
||||
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 );
|
||||
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 );
|
||||
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);
|
||||
|
||||
void LinkNextIteration( const char* NomIteration );
|
||||
void UnLinkNextIteration( const char* NomIteration );
|
||||
SMESHHOMARD::listeIterFilles* GetIterations();
|
||||
|
||||
void SetIterParentName( const char* NomIterParent );
|
||||
void SetIterParentName(const char* NomIterParent);
|
||||
char* GetIterParentName();
|
||||
SMESHHOMARD::HOMARD_Iteration_ptr GetIterParent();
|
||||
|
||||
// Liens avec les autres structures
|
||||
void SetCaseName( const char* NomCas );
|
||||
// Liens avec les autres structures
|
||||
void SetCaseName(const char* NomCas);
|
||||
char* GetCaseName();
|
||||
|
||||
void AssociateHypo( const char* NomHypo);
|
||||
void SetHypoName( const char* NomHypo );
|
||||
char* GetHypoName();
|
||||
void SetHypoName(const char* NomHypo);
|
||||
|
||||
// Divers
|
||||
void SetInfoCompute( CORBA::Long MessInfo );
|
||||
// Drivers
|
||||
void SetInfoCompute(CORBA::Long MessInfo);
|
||||
CORBA::Long GetInfoCompute();
|
||||
|
||||
private:
|
||||
SMESHHOMARDImpl::HOMARD_Iteration* myHomardIteration;
|
||||
|
||||
CORBA::ORB_ptr _orb;
|
||||
SMESHHOMARDImpl::HOMARD_Iteration* myHomardIteration;
|
||||
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 virtual POA_SMESHHOMARD::HOMARD_Gen
|
||||
{
|
||||
public:
|
||||
HOMARD_Gen_i();
|
||||
virtual ~HOMARD_Gen_i();
|
||||
|
||||
// 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);
|
||||
|
||||
// Generalites
|
||||
SMESHHOMARD::HOMARD_Cas_ptr CreateCaseOnMesh (const char* MeshName,
|
||||
SMESH::SMESH_Mesh_ptr smeshMesh,
|
||||
const char* theWorkingDir);
|
||||
SMESHHOMARD::HOMARD_Cas_ptr CreateCase (const char* MeshName,
|
||||
const char* FileName,
|
||||
const char* theWorkingDir);
|
||||
|
||||
// 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);
|
||||
SMESHHOMARD::HOMARD_Iteration_ptr CreateIteration();
|
||||
|
||||
// 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::HOMARD_Boundary_ptr GetBoundary (const char* nomBoundary);
|
||||
SMESHHOMARD::HOMARD_Cas_ptr GetCase ();
|
||||
SMESHHOMARD::HOMARD_Iteration_ptr GetIteration (CORBA::Long numIter);
|
||||
|
||||
SMESHHOMARD::listeBoundarys* GetAllBoundarysName();
|
||||
SMESHHOMARD::listeCases* GetAllCasesName();
|
||||
SMESHHOMARD::listeHypotheses* GetAllHypothesesName();
|
||||
SMESHHOMARD::listeIterations* GetAllIterationsName();
|
||||
SMESHHOMARD::listeBoundarys* GetAllBoundarysName();
|
||||
|
||||
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);
|
||||
void InvalideBoundary(const char* nomBoundary);
|
||||
|
||||
SMESHHOMARD::HOMARD_Iteration_ptr LastIteration (const char* nomCas);
|
||||
CORBA::Long DeleteBoundary(const char* nomBoundary);
|
||||
CORBA::Long DeleteCase();
|
||||
CORBA::Long DeleteIteration(int numIter);
|
||||
|
||||
// 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);
|
||||
void AssociateCaseIter(int numIter, const char* labelIter);
|
||||
char* CreateDirNameIter(const char* nomrep, CORBA::Long num);
|
||||
|
||||
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 Compute();
|
||||
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);
|
||||
SMESHHOMARDImpl::HomardDriver* myDriver);
|
||||
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);
|
||||
SMESHHOMARD::HOMARD_Iteration_var myIteration);
|
||||
CORBA::Long ComputeCAObis(SMESHHOMARD::HOMARD_Iteration_var myIteration);
|
||||
char* ComputeDirManagement(SMESHHOMARD::HOMARD_Cas_var myCase,
|
||||
SMESHHOMARD::HOMARD_Iteration_var myIteration,
|
||||
CORBA::Long etatMenage);
|
||||
SMESHHOMARD::HOMARD_Iteration_var myIteration);
|
||||
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 PublishResultInSmesh(const char* NomFich, CORBA::Long Option);
|
||||
void DeleteResultInSmesh(std::string NomFich, std::string MeshName);
|
||||
void PublishMeshIterInSmesh(const char* NomIter);
|
||||
void PythonDump();
|
||||
|
||||
// Preferences
|
||||
void SetPreferences();
|
||||
void SetLanguageShort(const char* LanguageShort);
|
||||
char* GetLanguageShort();
|
||||
void SetPublisMesh(CORBA::Long PublisMeshIN, CORBA::Long PublisMeshOUT);
|
||||
CORBA::Long GetPublisMeshIN();
|
||||
CORBA::Long GetPublisMeshOUT();
|
||||
void SetKeepMedOUT(bool theKeepMedOUT);
|
||||
void SetPublishMeshOUT(bool thePublishMeshOUT);
|
||||
void SetMeshNameOUT (const char* theMeshNameOUT);
|
||||
void SetMeshFileOUT (const char* theMeshFileOUT);
|
||||
|
||||
void SetVerboseLevel (CORBA::Long theVerboseLevel);
|
||||
void SetKeepWorkingFiles(bool theKeepWorkingFiles);
|
||||
void SetLogInFile(bool theLogInFile);
|
||||
void SetLogFile (const char* theLogFile);
|
||||
void SetRemoveLogOnSuccess(bool theRemoveLogOnSuccess);
|
||||
|
||||
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 );
|
||||
SMESHHOMARD::HOMARD_Boundary_ptr newBoundary();
|
||||
SMESHHOMARD::HOMARD_Cas_ptr newCase();
|
||||
SMESHHOMARD::HOMARD_Iteration_ptr newIteration();
|
||||
void CleanCase();
|
||||
|
||||
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;
|
||||
std::map<std::string, SMESHHOMARD::HOMARD_Boundary_var> _mesBoundarys;
|
||||
SMESHHOMARD::HOMARD_Hypothesis_var myHypothesis;
|
||||
SMESHHOMARD::HOMARD_Iteration_var myIteration0;
|
||||
SMESHHOMARD::HOMARD_Iteration_var myIteration1;
|
||||
SMESHHOMARD::HOMARD_Cas_var myCase;
|
||||
|
||||
// Preferences
|
||||
std::string _Langue;
|
||||
std::string _LangueShort;
|
||||
int _PublisMeshIN;
|
||||
int _PublisMeshOUT;
|
||||
bool _KeepMedOUT;
|
||||
bool _PublishMeshOUT;
|
||||
bool _KeepWorkingFiles;
|
||||
bool _LogInFile;
|
||||
bool _RemoveLogOnSuccess;
|
||||
int _VerboseLevel;
|
||||
std::string _MeshNameOUT;
|
||||
std::string _MeshFileOUT;
|
||||
std::string _LogFile;
|
||||
|
||||
// Input data type
|
||||
bool _CaseOnMedFile;
|
||||
SMESH::SMESH_Mesh_var _SmeshMesh;
|
||||
};
|
||||
|
||||
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);
|
||||
SMESH_I_EXPORT std::vector<double> GetBoundingBoxInMedFile(const char * aFile);
|
||||
SMESH_I_EXPORT std::set<std::string> GetListeGroupesInMedFile(const char * aFile);
|
||||
|
||||
}; // namespace SMESHHOMARD_I
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user