]> SALOME platform Git repositories - modules/visu.git/commitdiff
Salome HOME
Merge the final state of the MERGE_MULTIPR_EVOLUTION mergefrom_MERGE_MULTIPR_EVOLUTION_29Oct07
authorapo <apo@opencascade.com>
Mon, 29 Oct 2007 11:17:06 +0000 (11:17 +0000)
committerapo <apo@opencascade.com>
Mon, 29 Oct 2007 11:17:06 +0000 (11:17 +0000)
src/VISUGUI/VISU_msg_en.po
src/VISUGUI/VisuGUI.cxx
src/VISUGUI/VisuGUI_GaussPointsDlg.cxx
src/VISUGUI/VisuGUI_GaussPointsDlg.h
src/VISUGUI/VisuGUI_Prs3dDlg.cxx
src/VISU_I/VISU_ColoredPrs3d_i.cc
src/VISU_I/VISU_GaussPoints_i.cc
src/VISU_I/VISU_MultiResult_i.cc

index a2ef6b93c20b9b5bb6480e949520c39e879dd2e1..2f10ac9ac2456418d1ceaaa10bb3fa31dfa170fd 100644 (file)
@@ -489,6 +489,9 @@ msgstr "All Files (*.*)"
 msgid "VisuGUI::FLT_MED_FILES"
 msgstr "MED Files (*.med)"
 
+msgid "VisuGUI::FLT_DISTRIBUTED_MED_FILES"
+msgstr "Distributed MED Files (*_maitre.med)"
+
 msgid "VisuGUI::FLT_TABLE_FILES"
 msgstr "Tables (*.xls *.txt *.tab)"
 
index 85048f08257ac6713afec55e88a727d3b16a21b5..0bd5b847684c9e9e10026bf16a312d306ff9d215 100644 (file)
@@ -186,6 +186,7 @@ VisuGUI
   // Get file name
   QStringList aFilter;
   aFilter.append( tr( "FLT_MED_FILES" ) );
+  aFilter.append( tr( "FLT_DISTRIBUTED_MED_FILES" ) );
   aFilter.append( tr( "FLT_ALL_FILES" ) );
   
   bool toUseBuildProgress = aResourceMgr->booleanValue("VISU", "use_build_progress", false);
@@ -2987,6 +2988,7 @@ void VisuGUI::createPreferences()
   addPreference( tr( "Full MED loading" ), importGr, LightApp_Preferences::Bool, "VISU", "full_med_loading" );
   addPreference( tr( "Build at once" ), importGr, LightApp_Preferences::Bool, "VISU", "build_at_once" );
   addPreference( tr( "Build fields" ), importGr, LightApp_Preferences::Bool, "VISU", "build_fields" );
+  addPreference( tr( "Build min/max" ), importGr, LightApp_Preferences::Bool, "VISU", "build_min_max" );
   addPreference( tr( "Build groups" ), importGr, LightApp_Preferences::Bool, "VISU", "build_groups" );
   addPreference( tr( "Close dialog at finish" ), importGr, LightApp_Preferences::Bool, "VISU", "close_at_finish" );
 
index 5e0b3fc13c86aa9e276650061883ee55e11bbe66..2e5c63630353c8c155b4b90041807ea5fb74d88b 100644 (file)
@@ -303,32 +303,51 @@ VisuGUI_GaussScalarBarPane::VisuGUI_GaussScalarBarPane (QWidget * parent):
   myIsStoreTextProp = false;
 }
 
+bool VisuGUI_GaussScalarBarPane::UseFieldRange(bool theInit)
+{
+  if ( theInit )
+    return !myPrsCopy->IsRangeFixed();
+
+  return RBFieldRange->isChecked() || !myPrsCopy->GetIsActiveLocalScalarBar();
+}
+
+
 void VisuGUI_GaussScalarBarPane::onGlobalScalarBar()
 {
-  myCBDisplayed->setChecked( true );
+  myPrsCopy->SetIsActiveLocalScalarBar(false);
+  myPrsCopy->SetSourceRange();
+
+  myCBDisplayed->setEnabled( false );
 
   RBImposedRange->setEnabled( false );
   RBFieldRange->setEnabled( false );
+
   MinEdit->setEnabled( false );
   MaxEdit->setEnabled( false );
 
-  myPrsCopy->SetIsActiveLocalScalarBar(false);
+  MinEdit->setText( QString::number( myPrsCopy->GetMin() ) );
+  MaxEdit->setText( QString::number( myPrsCopy->GetMax() ) );
 }
 
 
 void VisuGUI_GaussScalarBarPane::onLocalScalarBar()
 {
+  myPrsCopy->SetIsActiveLocalScalarBar(true);
+  if ( RBFieldRange->isChecked() )
+    myPrsCopy->SetSourceRange();
+  else
+    myPrsCopy->SetRange(myPrsCopy->GetMin(), myPrsCopy->GetMax());
+
   myCBDisplayed->setEnabled( true );
 
   RBImposedRange->setEnabled( true );
   RBFieldRange->setEnabled( true );
 
-  if ( RBImposedRange->isChecked() ) {
-    MinEdit->setEnabled( true );
-    MaxEdit->setEnabled( true );
-  }
+  MinEdit->setEnabled( RBImposedRange->isChecked() );
+  MaxEdit->setEnabled( RBImposedRange->isChecked() );
 
-  myPrsCopy->SetIsActiveLocalScalarBar(true);
+  MinEdit->setText( QString::number( myPrsCopy->GetMin() ) );
+  MaxEdit->setText( QString::number( myPrsCopy->GetMax() ) );
 }
 
 
@@ -337,14 +356,16 @@ void VisuGUI_GaussScalarBarPane::onLocalScalarBar()
 */
 void VisuGUI_GaussScalarBarPane::fieldRangeClicked()
 {
+  myPrsCopy->SetSourceRange();
+
+  RBFieldRange->setChecked( true );
   RBImposedRange->setChecked( false );
+
   MinEdit->setEnabled( false );
   MaxEdit->setEnabled( false );
 
-  MinEdit->setText( QString::number( myPrsCopy->GetSourceMin() ) );
-  MaxEdit->setText( QString::number( myPrsCopy->GetSourceMax() ) );
-
-  myPrsCopy->SetSourceRange();
+  MinEdit->setText( QString::number( myPrsCopy->GetMin() ) );
+  MaxEdit->setText( QString::number( myPrsCopy->GetMax() ) );
 }
 
 
@@ -353,11 +374,13 @@ void VisuGUI_GaussScalarBarPane::fieldRangeClicked()
 */
 void VisuGUI_GaussScalarBarPane::imposedRangeClicked()
 {
+  myPrsCopy->SetRange(MinEdit->text().toDouble(), MaxEdit->text().toDouble());
+
+  RBImposedRange->setChecked( true );
   RBFieldRange->setChecked( false );
+
   MinEdit->setEnabled( true );
   MaxEdit->setEnabled( true );
-
-  myPrsCopy->SetRange(MinEdit->text().toDouble(), MaxEdit->text().toDouble());
 }
 
 
@@ -367,34 +390,28 @@ void VisuGUI_GaussScalarBarPane::imposedRangeClicked()
 void VisuGUI_GaussScalarBarPane::changeScalarMode( int theMode )
 {
   myPrsCopy->SetScalarMode( theMode );
-  if ( RBFieldRange->isChecked() ) {
-    CORBA::Double aRange[2] = {myPrsCopy->GetSourceMin(), myPrsCopy->GetSourceMax()};
-    MinEdit->setText( QString::number( aRange[0] ) );
-    MaxEdit->setText( QString::number( aRange[1] ) );
+  if ( UseFieldRange() ) {
+    MinEdit->setText( QString::number( myPrsCopy->GetSourceMin() ) );
+    MaxEdit->setText( QString::number( myPrsCopy->GetSourceMax() ) );
   }
 }
 
 /**
  * Initialise dialog box from presentation object
  */
-void VisuGUI_GaussScalarBarPane::initFromPrsObject(VISU::GaussPoints_i* thePrs) {
+void VisuGUI_GaussScalarBarPane::initFromPrsObject(VISU::GaussPoints_i* thePrs,
+                                                  bool theInit ) 
+{
   myPrsCopy = thePrs;
 
   myModeCombo->setCurrentItem(thePrs->GetScalarMode());
 
   bool activeLocal = thePrs->GetIsActiveLocalScalarBar();
   if ( activeLocal ) {
-    if ( thePrs->IsRangeFixed() ) {
-      RBImposedRange->setChecked( true );
-      RBFieldRange->setChecked( false );
-      MinEdit->setEnabled( true );
-      MaxEdit->setEnabled( true );
-    } else {
-      RBImposedRange->setChecked( false );
-      RBFieldRange->setChecked( true );
-      MinEdit->setEnabled( false );
-      MaxEdit->setEnabled( false );
-    }
+    RBImposedRange->setChecked( !UseFieldRange(theInit) );
+    RBFieldRange->setChecked( UseFieldRange(theInit) );
+    MinEdit->setEnabled( !UseFieldRange(theInit) );
+    MaxEdit->setEnabled( !UseFieldRange(theInit) );
   } else {
     RBImposedRange->setEnabled( false );
     RBFieldRange->setEnabled( false );
@@ -402,13 +419,8 @@ void VisuGUI_GaussScalarBarPane::initFromPrsObject(VISU::GaussPoints_i* thePrs)
     MaxEdit->setEnabled( false );
   }
 
-  if ( RBFieldRange->isChecked() ) {
-    MinEdit->setText( QString::number( thePrs->GetSourceMin() ) );
-    MaxEdit->setText( QString::number( thePrs->GetSourceMax() ) );
-  } else {
-    MinEdit->setText( QString::number( thePrs->GetMin() ) );
-    MaxEdit->setText( QString::number( thePrs->GetMax() ) );
-  }
+  MinEdit->setText( QString::number( thePrs->GetMin() ) );
+  MaxEdit->setText( QString::number( thePrs->GetMax() ) );
 
   setPosAndSize( thePrs->GetPosX(),
                 thePrs->GetPosY(),
@@ -780,7 +792,7 @@ void VisuGUI_GaussPointsDlg::initFromPrsObject( VISU::ColoredPrs3d_i* thePrs,
   if( theInit )
     myPrsCopy = VISU::TSameAsFactory<VISU::TGAUSSPOINTS>().Create(thePrs, VISU::ColoredPrs3d_i::EDoNotPublish);
 
-  myScalarPane->initFromPrsObject( myPrsCopy );
+  myScalarPane->initFromPrsObject( myPrsCopy, theInit );
 
   bool isDeformed = myPrsCopy->GetIsDeformed();
   myScaleSpinBox->setValue( myPrsCopy->GetScaleFactor() );
index 7bd912df13da504600208f946cdd4a425962ec15..d66df5fcbc6e4580f0f114bbf0214ad190d10aef 100644 (file)
@@ -62,7 +62,7 @@ class VisuGUI_GaussScalarBarPane : public QVBox
   int     getNbColors();
   int     getNbLabels();
 
-  void    initFromPrsObject(VISU::GaussPoints_i* thePrs);
+  void    initFromPrsObject(VISU::GaussPoints_i* thePrs, bool theInit);
   int     storeToPrsObject(VISU::GaussPoints_i* thePrs);
 
  protected:
@@ -104,6 +104,8 @@ class VisuGUI_GaussScalarBarPane : public QVBox
   int             myRangeMode;
   bool myIsStoreTextProp;
 
+  bool UseFieldRange( bool theInit = true );
+
  private slots:
   void onGlobalScalarBar();
   void onLocalScalarBar();
index 3eb42d6df7b2ad52659e4c68ef5364ea7498215a..f45f02dd1c3b82dfe463ce640d6d5531402207af 100644 (file)
@@ -450,7 +450,6 @@ VisuGUI_ScalarBarPane::VisuGUI_ScalarBarPane (QWidget * parent):
   connect( WidthSpin,    SIGNAL( valueChanged( double ) ), this, SLOT( updatePreview() ));
   connect( HeightSpin,   SIGNAL( valueChanged( double ) ), this, SLOT( updatePreview() ));
   connect( CBLog,        SIGNAL( toggled( bool ) ), this, SLOT( updatePreview() ));
-  changeRange( 0 );
   changeDefaults( 0 );
   myIsStoreTextProp = false;
   myBusy = false;
@@ -794,9 +793,11 @@ void VisuGUI_ScalarBarPane::changeDefaults( int )
 void VisuGUI_ScalarBarPane::changeRange( int )
 {
   if ( RBFrange->isChecked() ) {
+    myScalarMap->SetSourceRange();
     MinEdit->setEnabled( false );
     MaxEdit->setEnabled( false );
   } else {
+    myScalarMap->SetRange(myScalarMap->GetMin(), myScalarMap->GetMax());
     MinEdit->setEnabled( true );
     MaxEdit->setEnabled( true );
   }
@@ -828,12 +829,13 @@ void VisuGUI_ScalarBarPane::XYChanged( double )
 */
 void VisuGUI_ScalarBarPane::changeScalarMode( int theMode )
 {
-  if ( myScalarMap ) {
-    if ( RBFrange->isChecked() ) {
-      MinEdit->setText( QString::number( myScalarMap->GetComponentMin(theMode) ) );
-      MaxEdit->setText( QString::number( myScalarMap->GetComponentMax(theMode) ) );
-    }
+  if ( RBFrange->isChecked() ) {
+    MinEdit->setText( QString::number( myScalarMap->GetComponentMin(theMode) ) );
+    MaxEdit->setText( QString::number( myScalarMap->GetComponentMax(theMode) ) );
   }
+
+  myScalarMap->SetScalarMode(theMode);
+
   updatePreview();
 }
 
@@ -852,7 +854,7 @@ void VisuGUI_ScalarBarPane::setRange( double imin, double imax, bool sbRange )
   else
     RBFrange->setChecked( true );
 
-  changeRange( 0 );
+  changeRange( sbRange );
 }
 
 
index ce1d5d921c14ee63e193e88e02ad2ec2cb29d57e..65e2dd082619fd25c5fa46fe28c7a58ade184fba 100644 (file)
@@ -281,7 +281,7 @@ VISU::ColoredPrs3d_i
       GetSpecificPL()->Init();
 
     // To update scalar range according to the new input
-    if(!IsRangeFixed() || theReInit)
+    if(!IsRangeFixed() && theReInit)
       SetSourceRange();
 
     GetCResult()->ConnectObserver(this, myResultConnection);
index 47ddbf40e9b3b9b4be4c5144a714a5b1cb8f887c..48331e5dacff4ff9ee2d02905aae97bb985a4ed8 100644 (file)
@@ -1033,15 +1033,10 @@ VISU::GaussPoints_i
 {
   VISU::TSetModified aModified(this);
 
-  if(IsTimeStampFixed() || GetIsActiveLocalScalarBar())
-    ProcessVoidEvent(new TVoidMemFunEvent<VISU_ColoredPL>
-                    (GetSpecificPL(), &VISU_ColoredPL::SetSourceRange));
-  else{
-    TMinMax aTMinMax = GetField()->GetMinMax(GetScalarMode());
-    vtkFloatingPointType aScalarRange[2] = {aTMinMax.first, aTMinMax.second};
-    ProcessVoidEvent(new TVoidMemFun1ArgEvent<VISU_ColoredPL, vtkFloatingPointType*>
-                    (GetSpecificPL(), &VISU_ColoredPL::SetScalarRange, aScalarRange));
-  }
+  vtkFloatingPointType aScalarRange[2] = {GetSourceMin(), GetSourceMax()};
+  ProcessVoidEvent(new TVoidMemFun1ArgEvent<VISU_ColoredPL, vtkFloatingPointType*>
+                  (GetSpecificPL(), &VISU_ColoredPL::SetScalarRange, aScalarRange));
+
   UseFixedRange(false);
 }
 
index 7639c4e230f9e4999f32e336ea4fb7d259b1dcee..8894cb93114e44a3b38519aebbc9ba050cb1fd14 100644 (file)
@@ -550,7 +550,7 @@ VISU::MultiResult_i
 {
   QFileInfo aFileInfo(theFileName);
   QString aTargetFileName = aFileInfo.filePath();
-  if(aTargetFileName.endsWith("_grains_maitre.med")){
+  if(aTargetFileName.endsWith("_maitre.med")){
     myMultiprObj.create(theFileName);
     if (myMultiprObj.isValidDistributedMEDFile()) {
       aTargetFileName = myMultiprObj.getSequentialMEDFilename();
@@ -749,7 +749,7 @@ VISU::MultiResult_i
   VISU::TSubString(aPrefix, aSuffix) = "";
   BEGMSG(MYDEBUG, "aPrefix = '"<<aPrefix<<"'\n");    
   
-  std::string aMultiFileName(aPrefix + "_grains_maitre.med" + aSuffix);
+  std::string aMultiFileName(aPrefix + "_maitre.med" + aSuffix);
   BEGMSG(MYDEBUG, "aMultiFileName = '"<<aMultiFileName<<"'\n");    
 
   {
@@ -912,7 +912,8 @@ VISU::MultiResult_i
   aRestoringMap["myName"] = thePartName;
 
   const VISU::TMeshMap& aMeshMap = Result_i::GetInput()->GetMeshMap();
-  VISU::TMeshMap::const_iterator aMeshIter = aMeshMap.find(theMeshName);
+  //VISU::TMeshMap::const_iterator aMeshIter = aMeshMap.find(theMeshName);
+  VISU::TMeshMap::const_iterator aMeshIter = aMeshMap.begin();
   if(aMeshIter == aMeshMap.end())
     return;
 
@@ -1095,7 +1096,7 @@ VISU::MultiResult_i
     int aRes = false;
     std::string anErrorMessage("empty mesh");
     try {
-      INITMSG(MYDEBUG, "theMeshName = '"<<aFileName<<"'; theFieldName = '"<<theFieldName<<"'\n");
+      INITMSG(MYDEBUG, "theMeshName = '"<<theMeshName<<"'; theFieldName = '"<<theFieldName<<"'\n");
       aRes = multipr::merge(aFileNames, theMeshName.c_str(), theFieldName.c_str(), aFileName.c_str());
     }catch(std::exception& exc){
       MSG(MYDEBUG,"Follow exception was occured in:\n"<<exc.what());