]> SALOME platform Git repositories - modules/homard.git/commitdiff
Salome HOME
Fonction de suppression des associations entre frontières et groupes
authornicolas <nicolas>
Thu, 19 Dec 2013 07:13:37 +0000 (07:13 +0000)
committernicolas <nicolas>
Thu, 19 Dec 2013 07:13:37 +0000 (07:13 +0000)
idl/HOMARD_Cas.idl
src/HOMARDGUI/MonCreateCase.cxx
src/HOMARD_I/HOMARD_Cas_i.cxx
src/HOMARD_I/HOMARD_Cas_i.hxx
src/HOMARD_I/HOMARD_Gen_i.cxx

index a278eabb33262468016edd1b473d56f4bb6a724a..348587bf7260f05c9d0b7fa44c09dcd47f66ceda 100644 (file)
@@ -74,6 +74,7 @@ module HOMARD
     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);
index 61e78011fa6b45e5dd6aacda77204f3c48126a69..dc8966cd8c348bd575b958a98329b97143a789e6 100644 (file)
@@ -196,6 +196,7 @@ bool MonCreateCase::PushOnApply()
     return false;
   }
 
+// On verifie qu'un groupe n'est pas associe a deux frontieres differentes
   if (CBBoundaryA->isChecked())
   {
     QStringList ListeGroup ;
@@ -227,6 +228,7 @@ bool MonCreateCase::PushOnApply()
     }
   }
 
+// Creation du cas
   if (aCaseName != _aCaseName )
   {
     _aCaseName = aCaseName;
@@ -259,10 +261,14 @@ bool MonCreateCase::PushOnApply()
     InitBoundarys();
   }
 
+// Repertoire et type
   aCase->SetDirName(aDirName.toStdString().c_str());
   _aDirName=aDirName;
   aCase->SetConfType(_ConfType);
 
+//   Menage des eventuelles frontieres deja enregistrees
+  aCase->SupprBoundaryGroup() ;
+
 // Enregistrement de la frontiere discrete
   if (CBBoundaryD->isChecked())
   {
index d8c23b2e1e2d6d9f6ddd0f87ed8ca5066c40fd60..91b0825ff1290e94b4178baab5d0184c273a4781 100755 (executable)
@@ -362,6 +362,13 @@ HOMARD::ListBoundaryGroupType* HOMARD_Cas_i::GetBoundaryGroup()
   return aResult._retn();
 }
 //=============================================================================
+void HOMARD_Cas_i::SupprBoundaryGroup()
+{
+  MESSAGE ("SupprBoundaryGroup");
+  ASSERT(myHomardCas );
+  myHomardCas->SupprBoundaryGroup();
+}
+//=============================================================================
 void HOMARD_Cas_i::SetPyram( CORBA::Long Pyram )
 {
   MESSAGE ("SetPyram, Pyram = " << Pyram );
index a3f032a0648288d9db17384d7a089f5a8da99ce5..3aa1ae35e6f935a9229e027e2b649fcc7b3697ad 100644 (file)
@@ -84,6 +84,7 @@ public:
 
   void                   AddBoundaryGroup( const char* Boundary, const char* Group);
   HOMARD::ListBoundaryGroupType*  GetBoundaryGroup();
+  void                   SupprBoundaryGroup( );
 
   void                   SetPyram( CORBA::Long Pyram );
   CORBA::Long            GetPyram();
index d38628bba389070adbdcb59905e32c5b39b0c0bc..71966dc72952f7f123bb8758ea080b97874dae69 100755 (executable)
@@ -1208,7 +1208,7 @@ HOMARD::HOMARD_Cas_ptr HOMARD_Gen_i::CreateCaseFromIteration(const char* nomCas,
   // A.1. Controle du repertoire de depart de l'iteration
 #ifndef WIN32
   codret = chdir(DirNameStart) ;
-#else 
+#else
   codret = _chdir(DirNameStart) ;
 #endif
   if ( codret != 0 )
@@ -1241,7 +1241,7 @@ HOMARD::HOMARD_Cas_ptr HOMARD_Gen_i::CreateCaseFromIteration(const char* nomCas,
     }
   }
   closedir(dp);
-#else 
+#else
   HANDLE hFind = INVALID_HANDLE_VALUE;
   WIN32_FIND_DATA ffd;
   hFind = FindFirstFile(DirNameStart, &ffd);
@@ -1259,7 +1259,7 @@ HOMARD::HOMARD_Cas_ptr HOMARD_Gen_i::CreateCaseFromIteration(const char* nomCas,
       }
     }
     FindClose(hFind);
-  } 
+  }
 #endif
   MESSAGE ( "==> file_configuration   : " << file_configuration ) ;
   MESSAGE ( "==> file_maillage_homard : " << file_maillage_homard ) ;
@@ -1381,7 +1381,7 @@ HOMARD::HOMARD_Cas_ptr HOMARD_Gen_i::CreateCaseFromIteration(const char* nomCas,
   nomDirIterTotal = std::string(nomDirCase) + "/" + std::string(nomDirIter) ;
 #ifndef WIN32
   if (mkdir(nomDirIterTotal.c_str(), S_IRWXU|S_IRGRP|S_IXGRP) != 0)
-#else 
+#else
   if (_mkdir(nomDirIterTotal.c_str()) != 0)
 #endif
   {
@@ -1531,11 +1531,11 @@ std::string HOMARD_Gen_i::CreateCase1(const char* DirNameStart, CORBA::Long Numb
         HANDLE hFind1 = INVALID_HANDLE_VALUE;
         WIN32_FIND_DATA ffd1;
         hFind1 = FindFirstFile(DirName_1.c_str(), &ffd1);
-        while (FindNextFile(hFind1, &ffd1) != 0) 
+        while (FindNextFile(hFind1, &ffd1) != 0)
         {
-          if (ffd1.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) continue; //skip directories          
+          if (ffd1.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) continue; //skip directories
           std::string file_name_1(ffd1.cFileName);
-#endif          
+#endif
           int bilan = file_name_1.find("HOMARD.Configuration.") ;
           if ( bilan != string::npos )
           {
@@ -1610,7 +1610,7 @@ std::string HOMARD_Gen_i::CreateCase1(const char* DirNameStart, CORBA::Long Numb
   }
 #ifndef WIN32
   closedir(dp);
-  chdir(nomDirWork.c_str());  
+  chdir(nomDirWork.c_str());
 #else
     FindClose(hFind);
   }
@@ -2554,7 +2554,7 @@ CORBA::Long HOMARD_Gen_i::Compute(const char* NomIteration, CORBA::Long etatMena
   {
     delete myDriver;
     MESSAGE ( ". On retourne dans nomDirWork = " << nomDirWork );
-    
+
 #ifndef WIN32
     chdir(nomDirWork.c_str());
 #else
@@ -2738,7 +2738,7 @@ CORBA::Long HOMARD_Gen_i::ComputeAdap(HOMARD::HOMARD_Cas_var myCase, HOMARD::HOM
 char* HOMARD_Gen_i::CreateDirNameIter(const char* nomrep, CORBA::Long num )
 {
   MESSAGE ( "CreateDirNameIter : nomrep ="<< nomrep << ", num = "<<num);
-  // On verifie que le repertoire parent existe  
+  // On verifie que le repertoire parent existe
 #ifndef WIN32
   int codret = chdir(nomrep) ;
 #else
@@ -2759,7 +2759,7 @@ char* HOMARD_Gen_i::CreateDirNameIter(const char* nomrep, CORBA::Long num )
   while ( a_chercher )
   {
     // On passe dans le repertoire parent
-    
+
 #ifndef WIN32
   chdir(nomrep);
 #else
@@ -2801,12 +2801,12 @@ char* HOMARD_Gen_i::CreateDirNameIter(const char* nomrep, CORBA::Long num )
         while (FindNextFile(hFind, &ffd) != 0) {
          if (ffd.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) continue; //skip directories
          std::string file_name(ffd.cFileName);
-#endif        
+#endif
         if ( file_name == DirNameA.str() ) { existe = true ; }
       }
 #ifndef WIN32
       closedir(dp);
-#else 
+#else
       }
       FindClose(hFind);
 #endif
@@ -3635,6 +3635,7 @@ void HOMARD_Gen_i::PublishBoundaryUnderCase(const char* CaseName, const char* Bo
 
   SALOMEDS::SObject_var aSubSO = aStudyBuilder->NewObject(aCaseSO);
   aStudyBuilder->Addreference(aSubSO, aBoundarySO);
+//   aStudyBuilder->RemoveReference(aSubSO);
 
   aStudyBuilder->CommitCommand();