]> SALOME platform Git repositories - modules/homard.git/blobdiff - src/HOMARD_I/HOMARD_Hypothesis_i.cxx
Salome HOME
updated copyright message
[modules/homard.git] / src / HOMARD_I / HOMARD_Hypothesis_i.cxx
index fe8123f637a2f0ffe00f45c3072837e086e2d46c..7cb60e131247bbf4688c48ade9257399b92b26dd 100644 (file)
@@ -1,4 +1,4 @@
-// Copyright (C) 2011-2014  CEA/DEN, EDF R&D
+// Copyright (C) 2011-2023  CEA, EDF
 //
 // This library is free software; you can redistribute it and/or
 // modify it under the terms of the GNU Lesser General Public
@@ -113,10 +113,22 @@ bool HOMARD_Hypothesis_i::Restore( const std::string& stream )
 // Caracteristiques
 //=============================================================================
 //=============================================================================
-void HOMARD_Hypothesis_i::SetAdapRefinUnRef( CORBA::Long TypeAdap,CORBA::Long TypeRaff, CORBA::Long TypeDera )
+void HOMARD_Hypothesis_i::SetUnifRefinUnRef( CORBA::Long TypeRaffDera )
 {
   ASSERT( myHomardHypothesis );
-  myHomardHypothesis->SetAdapType( TypeAdap );
+  VERIFICATION( (TypeRaffDera==1) || (TypeRaffDera==-1) );
+  int TypeRaff, TypeDera ;
+  if ( TypeRaffDera == 1 )
+  {
+    TypeRaff = 1 ;
+    TypeDera = 0 ;
+  }
+  else if ( TypeRaffDera == -1 )
+  {
+    TypeRaff = 0 ;
+    TypeDera = 1 ;
+  }
+  myHomardHypothesis->SetAdapType( -1 );
   myHomardHypothesis->SetRefinTypeDera( TypeRaff, TypeDera );
 }
 //=============================================================================
@@ -219,6 +231,12 @@ HOMARD::listeComposantsHypo* HOMARD_Hypothesis_i::GetComps()
 //=============================================================================
 void HOMARD_Hypothesis_i::SetRefinThr( CORBA::Long TypeThR, CORBA::Double ThreshR )
 {
+  myHomardHypothesis->SetAdapType( 1 );
+  if ( TypeThR > 0 )
+  {
+    int TypeDera = myHomardHypothesis->GetUnRefType() ;
+    myHomardHypothesis->SetRefinTypeDera( 1, TypeDera );
+  }
   myHomardHypothesis->SetRefinThr( TypeThR, ThreshR );
 }
 //=============================================================================
@@ -230,6 +248,12 @@ CORBA::Long HOMARD_Hypothesis_i::GetRefinThrType()
 //=============================================================================
 void HOMARD_Hypothesis_i::SetUnRefThr( CORBA::Long TypeThC, CORBA::Double ThreshC )
 {
+  myHomardHypothesis->SetAdapType( 1 );
+  if ( TypeThC > 0 )
+  {
+    int TypeRaff = myHomardHypothesis->GetRefinType() ;
+    myHomardHypothesis->SetRefinTypeDera( TypeRaff, 1 );
+  }
   myHomardHypothesis->SetUnRefThr( TypeThC, ThreshC );
 }
 //=============================================================================
@@ -275,16 +299,16 @@ CORBA::Long HOMARD_Hypothesis_i::GetAdapInit()
   return myHomardHypothesis->GetAdapInit();
 }
 //=============================================================================
-void HOMARD_Hypothesis_i::SetLevelOutput( CORBA::Long LevelOutput )
+void HOMARD_Hypothesis_i::SetExtraOutput( CORBA::Long ExtraOutput )
 {
   ASSERT( myHomardHypothesis );
-  myHomardHypothesis->SetLevelOutput( LevelOutput );
+  myHomardHypothesis->SetExtraOutput( ExtraOutput );
 }
 //=============================================================================
-CORBA::Long HOMARD_Hypothesis_i::GetLevelOutput()
+CORBA::Long HOMARD_Hypothesis_i::GetExtraOutput()
 {
   ASSERT( myHomardHypothesis );
-  return myHomardHypothesis->GetLevelOutput();
+  return myHomardHypothesis->GetExtraOutput();
 }
 //=============================================================================
 void HOMARD_Hypothesis_i::AddGroup( const char* Group)
@@ -293,6 +317,18 @@ void HOMARD_Hypothesis_i::AddGroup( const char* Group)
   myHomardHypothesis->AddGroup( Group );
 }
 //=============================================================================
+void HOMARD_Hypothesis_i::SupprGroup( const char* Group )
+{
+  ASSERT( myHomardHypothesis );
+  myHomardHypothesis->SupprGroup(Group);
+}
+//=============================================================================
+void HOMARD_Hypothesis_i::SupprGroups()
+{
+  ASSERT( myHomardHypothesis );
+  myHomardHypothesis->SupprGroups();
+}
+//=============================================================================
 void HOMARD_Hypothesis_i::SetGroups(const HOMARD::ListGroupType& ListGroup)
 {
   ASSERT( myHomardHypothesis );
@@ -415,8 +451,22 @@ HOMARD::listeIters* HOMARD_Hypothesis_i::GetIterations()
 //=============================================================================
 void HOMARD_Hypothesis_i::AddZone( const char* NomZone, CORBA::Long TypeUse )
 {
-  MESSAGE ("Dans AddZone pour " << NomZone) ;
+  MESSAGE ("Dans AddZone pour " << NomZone << " et TypeUse = " << TypeUse ) ;
   ASSERT( myHomardHypothesis );
+  VERIFICATION( (TypeUse==1) || (TypeUse==-1) );
+  myHomardHypothesis->SetAdapType( 0 );
+  int TypeRaff, TypeDera ;
+  if ( TypeUse == 1 )
+  {
+    TypeRaff = 1 ;
+    TypeDera = myHomardHypothesis->GetUnRefType() ;
+  }
+  else if ( TypeUse == -1 )
+  {
+    TypeRaff = myHomardHypothesis->GetRefinType() ;
+    TypeDera = 1 ;
+  }
+  myHomardHypothesis->SetRefinTypeDera( TypeRaff, TypeDera );
   char* NomHypo = GetName() ;
   return _gen_i->AssociateHypoZone(NomHypo, NomZone, TypeUse) ;
 }