void SetName(in string Name) raises (SALOME::SALOME_Exception);
string GetName() 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 SetGroups(in ListGroupType ListGroup) raises (SALOME::SALOME_Exception);
ListGroupType GetGroups() raises (SALOME::SALOME_Exception);
- // Liens avec les autres iterations
- void SetCaseCreation(in string NomCas) raises (SALOME::SALOME_Exception);
- string GetCaseCreation() raises (SALOME::SALOME_Exception);
+ string GetDumpPython() raises (SALOME::SALOME_Exception);
};
interface HOMARD_Cas : SALOME::GenericObj
{
- 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);
in string Group) raises (SALOME::SALOME_Exception);
ListBoundaryGroupType GetBoundaryGroup() raises (SALOME::SALOME_Exception);
void SupprBoundaryGroup() raises (SALOME::SALOME_Exception);
+
+ string GetDumpPython() raises (SALOME::SALOME_Exception);
};
interface HOMARD_Gen : SALOME::GenericObj
{
+ // Create boundaries
HOMARD_Boundary CreateBoundaryCAO (in string BoundaryName, in string FileName)
raises(SALOME::SALOME_Exception);
HOMARD_Boundary CreateBoundaryDi (in string BoundaryName, in string MeshName,
in double RadiusRev, in double RadiusPri)
raises (SALOME::SALOME_Exception);
- // CreateCase
+ // Set mesh (SMESH_Mesh object or MED file) and working directory
HOMARD_Cas CreateCaseOnMesh(in string MeshName,
in SMESH::SMESH_Mesh smeshMesh,
in string theWorkingDir) raises(SALOME::SALOME_Exception);
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);
- listeBoundarys GetAllBoundarysName() 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);
- void CleanCase() raises (SALOME::SALOME_Exception);
-
+ // Associate boundaries to groups
void AddBoundaryGroup(in string BoundaryName,
in string Group) 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);
+ // Information
+ HOMARD_Boundary GetBoundary(in string BoundaryName) raises (SALOME::SALOME_Exception);
+ HOMARD_Cas GetCase() raises (SALOME::SALOME_Exception);
+ listeBoundarys GetAllBoundarysName() raises (SALOME::SALOME_Exception);
// Preferences
void SetConfType(in long ConfType) raises (SALOME::SALOME_Exception);
void SetLogInFile (in boolean theLogInFile);
void SetLogFile (in string theFileName) raises (SALOME::SALOME_Exception);
void SetRemoveLogOnSuccess (in boolean theRemoveLogOnSuccess);
+
+ // Computation
+ long Compute() raises (SALOME::SALOME_Exception);
+
+ // Clean data
+ void InvalideBoundary (in string BoundaryName) raises (SALOME::SALOME_Exception);
+ long DeleteBoundary (in string BoundaryName) raises (SALOME::SALOME_Exception);
+ void DeleteCase() raises (SALOME::SALOME_Exception);
};
}; // module SMESHHOMARD
return _ListGroupSelected;
}
//=============================================================================
-//=============================================================================
-// Liens avec les autres structures
-//=============================================================================
-//=============================================================================
-void HOMARD_Boundary::SetCaseCreation( const char* NomCasCreation )
-{
- _NomCasCreation = std::string( NomCasCreation );
-}
-//=============================================================================
-std::string HOMARD_Boundary::GetCaseCreation() const
-{
- return _NomCasCreation;
-}
-//=============================================================================
//=============================================================================
/*!
*/
//=============================================================================
HOMARD_Cas::HOMARD_Cas():
- _Name(""), _NomDir("/tmp")
+ _NomDir("/tmp")
{
MESSAGE("HOMARD_Cas");
}
// Generalites
//=============================================================================
//=============================================================================
-void HOMARD_Cas::SetName( const char* Name )
-{
- _Name = std::string( Name );
-}
-//=============================================================================
-std::string HOMARD_Cas::GetName() const
-{
- return _Name;
-}
-//=============================================================================
std::string HOMARD_Cas::GetDumpPython() const
{
std::ostringstream aScript;
void SetGroups(const std::list<std::string>& ListGroup );
const std::list<std::string>& GetGroups() const;
- // Liens avec les autres structures
- std::string GetCaseCreation() const;
- void SetCaseCreation( const char* NomCasCreation );
-
private:
std::string _Name;
- std::string _NomCasCreation;
std::string _DataFile;
std::string _MeshName;
int _Type;
~HOMARD_Cas();
// Generalites
- void SetName( const char* Name );
- std::string GetName() const;
-
std::string GetDumpPython() const;
// Caracteristiques
void AddIteration( const char* NomIteration );
private:
- std::string _Name;
std::string _NomDir;
int _Etat;
SMESHGUI_HomardAdaptDlg::~SMESHGUI_HomardAdaptDlg()
{
// no need to delete child widgets, Qt does it all for us
- myHomardGen->CleanCase();
+ myHomardGen->DeleteCase();
}
//=================================================================================
_aName=aName;
aBoundary=myHomardGen->CreateBoundaryCAO(CORBA::string_dup(_aName.toStdString().c_str()), aCAOFile.toStdString().c_str());
_parent->AddBoundaryCAO(_aName);
- aBoundary->SetCaseCreation("Case_1");
}
catch( SALOME::SALOME_Exception& S_ex )
{
_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("Case_1");
}
catch( SALOME::SALOME_Exception& S_ex )
{
}
return aResult._retn();
}
-//=============================================================================
-//=============================================================================
-// Liens avec les autres structures
-//=============================================================================
-//=============================================================================
-void HOMARD_Boundary_i::SetCaseCreation(const char* NomCaseCreation)
-{
- ASSERT(myHomardBoundary);
- myHomardBoundary->SetCaseCreation(NomCaseCreation);
-}
-//=============================================================================
-char* HOMARD_Boundary_i::GetCaseCreation()
-{
- ASSERT(myHomardBoundary);
- return CORBA::string_dup(myHomardBoundary->GetCaseCreation().c_str());
-}
//=============================================================================
/*!
_gen_i = engine;
myHomardCas = new SMESHHOMARDImpl::HOMARD_Cas();
ASSERT(myHomardCas);
- myHomardCas->SetName("Case_1");
}
//=============================================================================
{
}
//=============================================================================
-//=============================================================================
-// Generalites
-//=============================================================================
-//=============================================================================
-char* HOMARD_Cas_i::GetName()
-{
- ASSERT(myHomardCas);
- return CORBA::string_dup(myHomardCas->GetName().c_str());
-}
-//=============================================================================
char* HOMARD_Cas_i::GetDumpPython()
{
ASSERT(myHomardCas);
es.text = CORBA::string_dup(text.c_str());
throw SALOME::SALOME_Exception(es);
}
+
// D. En cas de reprise, deplacement du point de depart
HOMARD_Gen_i* aGenImpl = SMESH::DownCast<HOMARD_Gen_i*>(_gen_i);
HOMARD_Iteration_i* Iter0 = aGenImpl->GetIteration(0);
char* DirNameIter = Iter0->GetDirNameLoc();
MESSAGE ("SetDirName : nom actuel pour le repertoire de l iteration, DirNameIter = "<< DirNameIter);
// D.2. Recherche d'un nom local pour l'iteration de depart dans le futur repertoire du cas
- char* nomDirIter = _gen_i->CreateDirNameIter(NomDir, 0);
+ char* nomDirIter = aGenImpl->CreateDirNameIter(NomDir, 0);
MESSAGE ("SetDirName : nom futur pour le repertoire de l iteration, nomDirIter = "<< nomDirIter);
// D.3. Creation du futur repertoire local pour l'iteration de depart
std::string nomDirIterTotal;
HOMARD_Gen_i::~HOMARD_Gen_i()
{
MESSAGE ("HOMARD_Gen_i::~HOMARD_Gen_i()");
- //if (!myCase->_is_nil()) {
- // CleanCase();
- //}
}
//=============================================================================
return 0;
}
-//=============================================================================
-CORBA::Long HOMARD_Gen_i::DeleteCase()
-{
- MESSAGE ("DeleteCase");
- if (!CORBA::is_nil(myCase)) {
- // Delete Iteration0
- if (DeleteIteration(0) != 0) return 2;
-
- myCase = SMESHHOMARD::HOMARD_Cas::_nil();
- }
- return 0;
-}
-
//=============================================================================
CORBA::Long HOMARD_Gen_i::DeleteIteration(int numIter)
{
return aBoundary._retn();
}
-//=============================================================================
-//=============================================================================
-// Creation des structures identifiees par leurs noms
-//=============================================================================
-//=============================================================================
-
//=============================================================================
// Creation of a case
// MeshName : name of the mesh
// A. Controles
// A.1. Controle du nom :
if (!myCase->_is_nil()) {
- CleanCase();
+ DeleteCase();
}
// A.2. Controle du objet maillage
// A. Controles
// A.1. Controle du nom :
if (!myCase->_is_nil()) {
- CleanCase();
+ DeleteCase();
}
// A.3. Controle du fichier du maillage
int codret = 0;
// A.0. Create Iteration 1
- myIteration1 = CreateIteration();
+ CreateIteration();
myIteration1->SetInfoCompute(_VerboseLevel);
myIteration1->SetMeshName(_MeshNameOUT.c_str());
myIteration1->SetMeshFile(_MeshFileOUT.c_str());
std::stringstream saux0;
Commentaire = "Mesh";
Commentaire += " " + siterp1;
- if (_PublishMeshOUT) PublishResultInSmesh(MeshFile, 1);
+ if (_PublishMeshOUT) PublishResultInSmesh(MeshFile);
}
// H.3 Message d'erreur
if (codretexec != 0) {
}
// Clean all data
- CleanCase();
+ DeleteCase();
}
return codretexec;
}
-void HOMARD_Gen_i::CleanCase()
+void HOMARD_Gen_i::DeleteCase()
{
- MESSAGE ("CleanCase");
+ MESSAGE ("DeleteCase");
if (myCase->_is_nil()) return;
// Delete all boundaries
_mesBoundarys.clear();
- // Delete iteration
+ // Delete iterations
DeleteIteration(1);
+ DeleteIteration(0);
// Delete case
- DeleteCase();
+ myCase = SMESHHOMARD::HOMARD_Cas::_nil();
// Delete tmp mesh file
if (!_CaseOnMedFile && !_TmpMeshFile.empty()) {
//===========================================================================
//===========================================================================
-// Publications
-// Option = 0 : fichier issu d'une importation
-// Option = 1 : fichier issu d'une execution HOMARD
+// Publication
//===========================================================================
-void HOMARD_Gen_i::PublishResultInSmesh(const char* NomFich, CORBA::Long Option)
+void HOMARD_Gen_i::PublishResultInSmesh(const char* NomFich)
{
// Prevent dump of CreateMeshesFromMED
SMESH::TPythonDump pDump; // do not delete this line of code
- MESSAGE("PublishResultInSmesh " << NomFich << ", avec Option = " << Option);
+ MESSAGE("PublishResultInSmesh " << NomFich);
if (CORBA::is_nil(SMESH_Gen_i::GetSMESHGen()->getStudyServant())) {
SALOME::ExceptionStruct es;
es.type = SALOME::BAD_PARAM;
if (strcmp((const char*)value, NomFich) == 0) {
MESSAGE ("PublishResultInSmesh : le fichier " << NomFich << " est deja publie.");
// Pour un fichier importe, on ne republie pas
+ // Option = 0 : fichier issu d'une importation
+ // Option = 1 : fichier issu d'une execution HOMARD
if (Option == 0) { return; }
// Pour un fichier calcule, on commence par faire la depublication
else {
SALOMEDS::GenericAttribute_var aPixMap =
aStudyBuilder->FindOrCreateAttribute(aSO, "AttributePixMap");
SALOMEDS::AttributePixMap_var anAttr2 = SALOMEDS::AttributePixMap::_narrow(aPixMap);
- const char* icone;
- if (Option == 0) { icone = "mesh_tree_importedmesh.png"; }
- else { icone = "mesh_tree_mesh.png"; }
- anAttr2->SetPixMap(icone);
+ anAttr2->SetPixMap("mesh_tree_mesh.png");
}
}
void SetGroups(const SMESHHOMARD::ListGroupType& ListGroup);
SMESHHOMARD::ListGroupType* GetGroups();
- // Liens avec les autres structures
- void SetCaseCreation(const char* NomCaseCreation);
- char* GetCaseCreation();
-
-
private:
SMESHHOMARDImpl::HOMARD_Boundary* myHomardBoundary;
SMESHHOMARD::HOMARD_Gen_var _gen_i;
virtual ~HOMARD_Cas_i();
- char* GetName();
char* GetDumpPython();
// Caracteristiques
void InvalideBoundary(const char* nomBoundary);
CORBA::Long DeleteBoundary(const char* nomBoundary);
- CORBA::Long DeleteCase();
+ void DeleteCase();
CORBA::Long DeleteIteration(int numIter);
void AddBoundaryGroup(const char* Boundary, const char* Group);
char* ComputeDirPaManagement();
int DriverTexteBoundary(SMESHHOMARDImpl::HomardDriver* myDriver);
- void PublishResultInSmesh(const char* NomFich, CORBA::Long Option);
+ void PublishResultInSmesh(const char* NomFich);
void DeleteResultInSmesh(std::string NomFich, std::string MeshName);
void PythonDump();
void SetRemoveLogOnSuccess(bool theRemoveLogOnSuccess);
private:
- SMESHHOMARD::HOMARD_Boundary_ptr newBoundary();
- SMESHHOMARD::HOMARD_Cas_ptr newCase();
- HOMARD_Iteration_i* newIteration();
- void CleanCase();
+ SMESHHOMARD::HOMARD_Boundary_ptr newBoundary();
+ SMESHHOMARD::HOMARD_Cas_ptr newCase();
+ HOMARD_Iteration_i* newIteration();
private:
SMESHHOMARDImpl::HOMARD_Gen* myHomard;