]> SALOME platform Git repositories - modules/hydro.git/commitdiff
Salome HOME
debug abort on stream linear interpolation when bathy displayed and modified
authorPaul RASCLE <paul.rascle@openfields.fr>
Mon, 23 Nov 2020 09:39:39 +0000 (10:39 +0100)
committerYOANN AUDOUIN <B61570@dsp0919998.atlas.edf.fr>
Fri, 11 Dec 2020 14:53:30 +0000 (15:53 +0100)
13 files changed:
doc/salome/examples/axeRivesStreamLin.sx [new file with mode: 0644]
src/HYDROData/HYDROData_LISM.cxx
src/HYDROData/HYDROData_Stream.cxx
src/HYDROData/HYDROData_Stream.h
src/HYDROData/HYDROData_StreamLinearInterpolation.cxx
src/HYDROGUI/HYDROGUI_DeleteOp.cxx
src/HYDROGUI/HYDROGUI_Module.cxx
src/HYDROGUI/HYDROGUI_OCCDisplayer.cxx
src/HYDROGUI/HYDROGUI_Operations.cxx
src/HYDROGUI/HYDROGUI_ShapeBathymetry.cxx
src/HYDROGUI/HYDROGUI_ShowHideOp.cxx
src/HYDROGUI/HYDROGUI_StreamOp.cxx
src/HYDROGUI/HYDROGUI_StreamOp.h

diff --git a/doc/salome/examples/axeRivesStreamLin.sx b/doc/salome/examples/axeRivesStreamLin.sx
new file mode 100644 (file)
index 0000000..f940a05
--- /dev/null
@@ -0,0 +1,42 @@
+C  Generated by HYDRO Module
+C
+B N
+CN axeh
+CP 0 1
+CP 0.0
+CP 0
+ 11.988 5.188 0.000
+ 18.200 13.917 0.000
+ 30.176 14.032 0.000
+ 35.019 9.625 0.000
+ 40.619 4.871 0.000
+B N
+CN riveg
+CP 0 1
+CP 0.0
+CP 0
+ 7.550 10.153 0.000
+ 9.875 15.119 0.000
+ 14.523 18.077 0.000
+ 19.277 21.458 0.000
+ 20.651 25.684 0.000
+ 24.137 27.586 0.000
+ 25.194 26.740 0.000
+ 29.314 23.888 0.000
+ 33.223 23.465 0.000
+ 35.970 17.337 0.000
+ 39.140 15.013 0.000
+ 44.845 13.745 0.000
+B N
+CN rived
+CP 0 1
+CP 0.0
+CP 0
+ 16.425 2.018 0.000
+ 19.806 5.188 0.000
+ 21.463 5.448 0.000
+ 24.144 4.051 0.000
+ 24.818 6.718 0.000
+ 27.802 4.859 0.000
+ 29.570 4.770 0.000
+ 35.442 1.596 0.000
index 3e3b0c09fb0ab5de11c7a07c22173566c19f4cdd..1207324a43b2b9f7c805a272a4c2dbcb9c5f77de 100644 (file)
@@ -24,6 +24,9 @@
 #include <QSet>
 #include <QString>
 
+#define _DEVDEBUG_
+#include "HYDRO_trace.hxx"
+
 IMPLEMENT_STANDARD_RTTIEXT( HYDROData_LISM, HYDROData_Bathymetry )
 
 HYDROData_LISM::HYDROData_LISM()
@@ -136,6 +139,7 @@ void HYDROData_LISM::SetHaxStep( double theHaxStep )
 
 void HYDROData_LISM::Update()
 {
+  DEBTRACE("Update " << GetName().toStdString());
   AltitudePoints anOutPoints;
   HYDROData_SequenceOfObjects aRefProfiles = GetProfiles();  
   int nbprofilepoints = GetNbProfilePoints();
@@ -176,4 +180,4 @@ void HYDROData_LISM::GetShapePresentations( HYDROData_Stream::PrsDefinition& prs
 {
   warnings = myWarnings;
 }
-   */
\ No newline at end of file
+   */
index 79b948c3519dc67fa2a6dab4a0964d3a05156d70..aaa28a1c28f62a893739dde8b1727e9a60b226fa 100644 (file)
@@ -387,6 +387,25 @@ TopoDS_Shape HYDROData_Stream::GetOutletShape() const
   return HYDROData_Tool::getFirstShapeFromGroup( aGroups, 4);
 }
 
+QString HYDROData_Stream::GetBathyName()
+{
+  QString name;
+  ObjectKind ok = getAltitudeObjectType();
+  if (ok == KIND_DTM)
+  {
+    Handle(HYDROData_DTM) dtm = DTM();
+    if (!dtm.IsNull())
+      name = dtm->GetName();
+  }
+  else if (ok == KIND_LISM)
+  {
+    Handle(HYDROData_LISM) lism = LISM();
+    if (!lism.IsNull())
+      name = lism->GetName();
+  }
+  return name;
+}
+
 Handle(HYDROData_DTM) HYDROData_Stream::DTM() const
 {
   const_cast<HYDROData_Stream*>( this )->checkAndSetAltitudeObject();
index fb65c98394ad67afce3c45280d64a7aff39b94e3..7dc6862c93fabf618f3d7dfb1e0570b4c3abb20f 100644 (file)
@@ -287,6 +287,7 @@ public:
 
   HYDRODATA_EXPORT void   GetWarnings(NCollection_DataMap<Handle(HYDROData_Profile), QSet<QString>>& warnings);
 
+  HYDRODATA_EXPORT QString GetBathyName();
   
 protected:
 
index 758fa277d6f594c935f2d70cb6bcc13696c41c75..86190d90bdf82fea2d2ffa87e2814384dea8d466 100644 (file)
@@ -142,7 +142,7 @@ static void InsertPoints(std::vector<gp_Pnt2d>& points,    // existing points of
     }
     nbpoints-=nbPins;
   }
-  assert (nbpoints == 0);
+  //assert (nbpoints == 0);
 }
 
 static void PolyToCurve2d(const Handle(HYDROData_PolylineXY)& poly, Handle(Geom2d_Curve)& c2d)
@@ -798,6 +798,7 @@ void HYDROData_StreamLinearInterpolation::Perform(
             HYDROData_Profile::ProfilePoints profile_points3d =
                     HYDROData_Profile::CalculateProfilePoints(pl, LP.XY(),
                             RP.XY());                                         // intermediate profile geolocalization 3D
+            DEBTRACE(" ---------------- fill outBathypoints");
             for (int k = 1; k <= profile_points3d.Length(); k++)
             {
                 HYDROData_Bathymetry::AltitudePoint AP(profile_points3d(k).X(),
index 7164ea8ad45a925b9ca6d48bdd2921d1edce5870..8ef714602dc6fc920f6912e14c826e692051b99d 100644 (file)
@@ -36,6 +36,9 @@
 
 #include <QSet>
 
+#define _DEVDEBUG_
+#include "HYDRO_trace.hxx"
+
 HYDROGUI_DeleteOp::HYDROGUI_DeleteOp( HYDROGUI_Module* theModule )
 : HYDROGUI_Operation( theModule )
 {
@@ -48,6 +51,7 @@ HYDROGUI_DeleteOp::~HYDROGUI_DeleteOp()
 
 void HYDROGUI_DeleteOp::startOperation()
 {
+  DEBTRACE("startOperation");
   QList<SUIT_Operation*> operations = study()->operations();
   int n = operations.size();
   if( n>=2 )
@@ -87,6 +91,7 @@ void HYDROGUI_DeleteOp::startOperation()
     }
 
     anObjNames.append( anObject->GetName() );
+    DEBTRACE("obj name " << anObject->GetName().toStdString());
   }
 
   if ( !anIsCanRemove )
index 776db8be097364b072b1029f429cd4369503cc5e..12bcdaa9e89d4e87d5058b86494a2917d67d0e39 100755 (executable)
 #include <QStatusBar>
 #include <QCursor>
 
-//#define _DEVDEBUG_
+#define _DEVDEBUG_
 #include "HYDRO_trace.hxx"
 
 static size_t ViewManagerId = 1;
@@ -1315,7 +1315,7 @@ void HYDROGUI_Module::setObjectVisible( const size_t theViewId,
                                         const Handle(HYDROData_Entity)& theObject,
                                         const bool theState )
 {
-  DEBTRACE("setObjectVisible, theViewId: " << theViewId);
+  DEBTRACE("setObjectVisible, theViewId: " << theViewId << " " << theState);
   if( !theObject.IsNull() )
   {
        DEBTRACE("myObjectStateMap.size: " << myObjectStateMap.size());
@@ -1337,11 +1337,14 @@ void HYDROGUI_Module::setObjectVisible( const size_t theViewId,
     HYDROGUI_DataObject* hydroObject = getDataModel()->getDataObject( theObject );
     if ( hydroObject )
     {
+        DEBTRACE("hydroObject " << hydroObject);
         SUIT_AbstractModel* treeModel = dynamic_cast<SUIT_AbstractModel*>( getApp()->objectBrowser()->model() );
         if ( treeModel )
         {
+          DEBTRACE("treeModel " << treeModel);
           QString id = hydroObject->text( hydroObject->customData( Qtx::IdType ).toInt() );
           Qtx::VisibilityState visState = treeModel->visibilityState( id );
+          DEBTRACE("id " << id << " visState "<< visState);
           if ( visState != Qtx::UnpresentableState )
             treeModel->setVisibilityState( id, theState ? Qtx::ShownState : Qtx::HiddenState );
         }
@@ -1458,6 +1461,7 @@ void HYDROGUI_Module::removeObjectShape( const size_t                    theView
     anObject = aShape->getObject();
     if ( aShape && (!anObject.IsNull()) && IsEqual( anObject, theObject ) )
     {
+      DEBTRACE("delete shape :" << aShape->getObject()->GetName().toStdString());
       delete aShape;
       aViewShapes.removeAt( i );
       continue;
index f4831d03dc97aa775fc9caf8beb12c315407be7c..b1f9dd5c5d1a746daa25edcec12e8b2cb55de8fc 100644 (file)
@@ -49,7 +49,7 @@
 #include <OCCViewer_ViewWindow.h>
 #include <OCCViewer_ViewPort3d.h>
 
-//#define _DEVDEBUG_
+#define _DEVDEBUG_
 #include "HYDRO_trace.hxx"
 
 HYDROGUI_OCCDisplayer::HYDROGUI_OCCDisplayer( HYDROGUI_Module* theModule )
@@ -153,6 +153,7 @@ void HYDROGUI_OCCDisplayer::EraseAll( const size_t theViewerId )
 void HYDROGUI_OCCDisplayer::Erase( const HYDROData_SequenceOfObjects& theObjs,
                                    const size_t                       theViewerId )
 {
+  DEBTRACE("Erase " << theObjs.Length() << " " << theViewerId);
   OCCViewer_Viewer* aViewer = module()->getOCCViewer( theViewerId );
   if( !aViewer )
     return;
@@ -162,7 +163,7 @@ void HYDROGUI_OCCDisplayer::Erase( const HYDROData_SequenceOfObjects& theObjs,
     Handle(HYDROData_Entity) anObj = theObjs.Value( i );
     if( anObj.IsNull() )
       continue;
-
+    DEBTRACE("Erasing objects...");
     module()->removeObjectShape( (size_t)aViewer, anObj );
   }
   aViewer->update();
index c828568ad9056f9413145a90a256f6bfd5ae25c0..fc8b141d1e2071e2c1b9ae8e041dc06f43d30b17 100644 (file)
 #include <QAction>
 #include <QApplication>
 
+#define _DEVDEBUG_
+#include "HYDRO_trace.hxx"
+
 QAction* HYDROGUI_Module::createAction( const int theId, const QString& theSuffix, const QString& theImg,
                                         const int theKey, const bool isToggle, const QString& theSlot )
 {
@@ -476,6 +479,7 @@ void HYDROGUI_Module::enableLCMActions()
 
 void HYDROGUI_Module::resetViewState()
 {
+  DEBTRACE("HYDROGUI_Module::resetViewState");
   OCCViewer_ViewManager* mgr = dynamic_cast<OCCViewer_ViewManager*>(getApp()->viewManager( OCCViewer_Viewer::Type()));
   if( mgr )
   {
@@ -503,10 +507,14 @@ void HYDROGUI_Module::resetViewState()
 
 void HYDROGUI_Module::onOperation()
 {
+  DEBTRACE("HYDROGUI_Module::onOperation");
   const QAction* anAction = dynamic_cast<const QAction*>( sender() );
   int anId = actionId( anAction );
   if( anId >= 0 )
   {
+    // --- bathymetry from stream interpolation must be hidden before edition to avoid aborts after on hide show
+    if (anId == EditStreamId)
+        HYDROGUI_StreamOp::hideBathy(this);
     resetViewState();
     startOperation( anId );
   }
@@ -612,6 +620,7 @@ bool HYDROGUI_Module::onRedo( int theNumActions )
 
 LightApp_Operation* HYDROGUI_Module::createOperation( const int theId ) const
 {
+  DEBTRACE("HYDROGUI_Module::createOperation "<< theId);
   LightApp_Operation* anOp = 0;
   HYDROGUI_Module* aModule = const_cast<HYDROGUI_Module*>( this );
   switch( theId )
index a6de2d915509941d23825af2618fac74c0cf06e5..57d564fb2b09d72f43664373bec85943e7d4ea44 100644 (file)
@@ -31,7 +31,7 @@
 #include <QTime>
 #include <utilities.h>
 
-//#define _DEVDEBUG_
+#define _DEVDEBUG_
 #include "HYDRO_trace.hxx"
 
 HYDROGUI_ShapeBathymetry::HYDROGUI_ShapeBathymetry( HYDROGUI_OCCDisplayer*                theDisplayer,
@@ -44,11 +44,13 @@ HYDROGUI_ShapeBathymetry::HYDROGUI_ShapeBathymetry( HYDROGUI_OCCDisplayer*
   myMax( 0 ),
   myRangeInitialized( false )
 {
+  DEBTRACE("HYDROGUI_ShapeBathymetry " << this)
   setDisplayMode( AIS_PointCloud::DM_Points );
 }
 
 HYDROGUI_ShapeBathymetry::~HYDROGUI_ShapeBathymetry()
 {
+  DEBTRACE("~HYDROGUI_ShapeBathymetry " << this);
   setToUpdateColorScale( true );
 }
 
index b5f3c595e7e321827cf915a6e46793d997aaaa51..86f6cad2d8fe523e3356d704f15f2f10105734d1 100644 (file)
 
 #include <SUIT_ViewManager.h>
 
+#define _DEVDEBUG_
+#include "HYDRO_trace.hxx"
+
 HYDROGUI_ShowHideOp::HYDROGUI_ShowHideOp( HYDROGUI_Module* theModule, int theId )
 : HYDROGUI_Operation( theModule ),
   myId( theId )
 {
+  DEBTRACE("HYDROGUI_ShowHideOp " << theId);
   QString aName;
   switch( myId )
   {
@@ -63,6 +67,7 @@ HYDROGUI_ShowHideOp::~HYDROGUI_ShowHideOp()
 
 void HYDROGUI_ShowHideOp::startOperation()
 {
+  DEBTRACE("startOperation");
   HYDROGUI_Operation::startOperation();
 
   HYDROGUI_Module* aModule = module();
index 89a5186da319eb50a994452bd0b84fb1adce9984..5361f804007d5da64c97f160b2bd2a434f106688 100755 (executable)
@@ -25,6 +25,7 @@
 #include "HYDROGUI_Tool.h"
 #include "HYDROGUI_Tool2.h"
 #include "HYDROGUI_UpdateFlags.h"
+#include "HYDROGUI_OCCDisplayer.h"
 
 #include <HYDROData_Document.h>
 #include <HYDROData_PolylineXY.h>
@@ -44,6 +45,8 @@
 #include <OCCViewer_ViewManager.h>
 #include <OCCViewer_ViewModel.h>
 #include <OCCViewer_ViewWindow.h>
+#include <SVTK_ViewManager.h>
+#include <SVTK_ViewModel.h>
 #include <gp_Ax1.hxx>
 #include <gp_Ax2.hxx>
 #include <gp_Ax3.hxx>
 #include <QSet>
 #include <HYDROData_StreamLinearInterpolation.h>
 
+#define _DEVDEBUG_
+#include "HYDRO_trace.hxx"
+
 void insertProfileInToOrder( const QString& theProfileName,
                              const double&  theProfilePar,
                              QStringList&   theProfiles,
                              QList<double>& theProfileParams )
 {
+  DEBTRACE("insertProfileInToOrder");
   bool anIsInserted = false;
   for ( int k = 0; k < theProfileParams.length(); ++k )
   {
@@ -82,21 +89,46 @@ void insertProfileInToOrder( const QString& theProfileName,
   }
 }
 
-HYDROGUI_StreamOp::HYDROGUI_StreamOp( HYDROGUI_Module* theModule, bool theIsEdit )
-: HYDROGUI_Operation( theModule ), 
-  myIsEdit( theIsEdit ),
-  myPreviewPrs( NULL )
+void HYDROGUI_StreamOp::hideBathy(HYDROGUI_Module *theModule)
+{
+    DEBTRACE("HYDROGUI_StreamOp::hideBathy");
+    Handle(HYDROData_Stream) editedObject =
+    Handle(HYDROData_Stream)::DownCast(HYDROGUI_Tool::GetSelectedObject(theModule));
+    if (!editedObject.IsNull())
+    {
+        QString bathyName = editedObject->GetBathyName();
+        DEBTRACE("bathyName " << bathyName.toStdString());
+        if (!bathyName.isEmpty())
+        {
+            Handle(HYDROData_Entity) aBathyObject = HYDROGUI_Tool::FindObjectByName(theModule, bathyName);
+            if (!aBathyObject.IsNull())
+            {
+                DEBTRACE("Hide " << bathyName.toStdString());
+                int anUpdateFlags = UF_OCCViewer;
+                size_t aViewerId = HYDROGUI_Tool::GetActiveOCCViewId(theModule);
+                theModule->setObjectVisible(aViewerId, aBathyObject, false);
+                theModule->update( anUpdateFlags );
+            }
+        }
+    }
+}
+
+HYDROGUI_StreamOp::HYDROGUI_StreamOp(HYDROGUI_Module *theModule, bool theIsEdit) :
+        HYDROGUI_Operation(theModule), myIsEdit(theIsEdit), myPreviewPrs( NULL)
 {
-  setName( theIsEdit ? tr( "EDIT_STREAM" ) : tr( "CREATE_STREAM" ) );
+    DEBTRACE("HYDROGUI_StreamOp");
+    setName(theIsEdit ? tr("EDIT_STREAM") : tr("CREATE_STREAM"));
 }
 
 HYDROGUI_StreamOp::~HYDROGUI_StreamOp()
 {
+  DEBTRACE("~HYDROGUI_StreamOp");
   erasePreview();
 }
 
 void HYDROGUI_StreamOp::startOperation()
 {
+  DEBTRACE("startOperation");
   HYDROGUI_Operation::startOperation();
   int mode = 0; //DTM mode by def
 
@@ -120,6 +152,7 @@ void HYDROGUI_StreamOp::startOperation()
     {          
       mode = myEditedObject->GetInterpolationMethod();
       anObjectName = myEditedObject->GetName();
+      DEBTRACE("anObjectName " << anObjectName.toStdString());
       //aPanel->setMode(mode);
 
       // Hydraulic axis
@@ -148,9 +181,7 @@ void HYDROGUI_StreamOp::startOperation()
           HYDROData_Stream::HasIntersection( aHydraulicAxis, aProfile, aPlane, aProfilePar );
           myProfileParams << aProfilePar;
         }
-
       }      
-
     }
   }
 
@@ -191,18 +222,21 @@ void HYDROGUI_StreamOp::startOperation()
 
 void HYDROGUI_StreamOp::abortOperation()
 {
+  DEBTRACE("abortOperation");
   erasePreview();
   HYDROGUI_Operation::abortOperation();
 }
 
 void HYDROGUI_StreamOp::commitOperation()
 {
+  DEBTRACE("commitOperation");
   erasePreview();
   HYDROGUI_Operation::commitOperation();
 }
 
 HYDROGUI_InputPanel* HYDROGUI_StreamOp::createInputPanel() const
 {
+  DEBTRACE("createInputPanel");
   HYDROGUI_StreamDlg* aPanel = new HYDROGUI_StreamDlg( module(), getName() );
 
   connect( aPanel, SIGNAL( AddProfiles() ), this, SLOT( onAddProfiles() ) );
@@ -229,7 +263,13 @@ HYDROGUI_InputPanel* HYDROGUI_StreamOp::createInputPanel() const
 
 void HYDROGUI_StreamOp::apply()
 {
+  DEBTRACE("apply");
   QApplication::setOverrideCursor( Qt::WaitCursor );
+  if (myEditedObject)
+  {
+      QString anObjectName = myEditedObject->GetName();
+      DEBTRACE("anObjectName " << anObjectName.toStdString());
+  }
 
   startDocOperation();
 
@@ -282,6 +322,7 @@ bool HYDROGUI_StreamOp::processApply( int& theUpdateFlags,
                                       QString& theErrorMsg,
                                       QStringList& theBrowseObjectsEntries )
 {
+  DEBTRACE("processApply");
   HYDROGUI_StreamDlg* aPanel = ::qobject_cast<HYDROGUI_StreamDlg*>( inputPanel() );
   if ( !aPanel )
     return false;
@@ -362,7 +403,6 @@ bool HYDROGUI_StreamOp::processApply( int& theUpdateFlags,
       HYDROGUI_Tool::FindObjectByName( module(), aPanel->getLeftBankName(), KIND_POLYLINEXY ) );
     Handle(HYDROData_PolylineXY) aRightBank = Handle(HYDROData_PolylineXY)::DownCast(
       HYDROGUI_Tool::FindObjectByName( module(), aPanel->getRightBankName(), KIND_POLYLINEXY ) );
-    //myEditedObject->Se
     myEditedObject->SetLeftBank(aLeftBank);
     myEditedObject->SetRightBank(aRightBank);
 
@@ -418,6 +458,7 @@ bool HYDROGUI_StreamOp::processApply( int& theUpdateFlags,
 
 void HYDROGUI_StreamOp::createPreview()
 {
+  DEBTRACE("createPreview");
   HYDROGUI_StreamDlg* aPanel = ::qobject_cast<HYDROGUI_StreamDlg*>( inputPanel() );
   int mode = aPanel->getMode();
 
@@ -573,6 +614,7 @@ void HYDROGUI_StreamOp::createPreview()
 
 void HYDROGUI_StreamOp::erasePreview()
 {
+  DEBTRACE("erasePreview");
   if( myPreviewPrs )
   {
     delete myPreviewPrs;
@@ -582,6 +624,7 @@ void HYDROGUI_StreamOp::erasePreview()
 
 void HYDROGUI_StreamOp::onAddProfiles()
 {
+  DEBTRACE("onAddProfiles");
   //TODO skip if mode == 1??
   Handle(HYDROData_PolylineXY) aHydAxis = Handle(HYDROData_PolylineXY)::DownCast(
     HYDROGUI_Tool::FindObjectByName( module(), myHydAxis, KIND_POLYLINEXY ) );
@@ -674,6 +717,7 @@ void HYDROGUI_StreamOp::onAddProfiles()
 
 void HYDROGUI_StreamOp::onRemoveProfiles( const QStringList& theProfilesToRemove )
 {
+  DEBTRACE("onRemoveProfiles");
   QStringList aToRemove = theProfilesToRemove;
   
   aToRemove.removeDuplicates();
@@ -708,6 +752,7 @@ void HYDROGUI_StreamOp::onRemoveProfiles( const QStringList& theProfilesToRemove
 
 void HYDROGUI_StreamOp::onDDZValueChanged( double d )
 {
+  DEBTRACE("onDDZValueChanged");
   HYDROGUI_StreamDlg* aPanel = ::qobject_cast<HYDROGUI_StreamDlg*>( inputPanel() );
   if (!aPanel)
     return;
@@ -717,6 +762,7 @@ void HYDROGUI_StreamOp::onDDZValueChanged( double d )
 
 void HYDROGUI_StreamOp::onSSValueChanged( double d )
 {
+  DEBTRACE("onSSValueChanged");
   HYDROGUI_StreamDlg* aPanel = ::qobject_cast<HYDROGUI_StreamDlg*>( inputPanel() );
   if (!aPanel)
     return;
@@ -725,6 +771,7 @@ void HYDROGUI_StreamOp::onSSValueChanged( double d )
 
 void HYDROGUI_StreamOp::onAxisChanged( const QString& theNewAxis )
 {
+  DEBTRACE("onAxisChanged");
   HYDROGUI_StreamDlg* aPanel = ::qobject_cast<HYDROGUI_StreamDlg*>( inputPanel() );
   if (!aPanel)
     return;
@@ -808,6 +855,7 @@ void HYDROGUI_StreamOp::onAxisChanged( const QString& theNewAxis )
 
 void HYDROGUI_StreamOp::onLeftBankChanged( const QString& theNewAxis )
 {
+  DEBTRACE("onLeftBankChanged");
   HYDROGUI_StreamDlg* aPanel = ::qobject_cast<HYDROGUI_StreamDlg*>( inputPanel() );
   if (!aPanel)
     return;
@@ -817,6 +865,7 @@ void HYDROGUI_StreamOp::onLeftBankChanged( const QString& theNewAxis )
 
 void HYDROGUI_StreamOp::onRightBankChanged( const QString& theNewAxis )
 {
+  DEBTRACE("onRightBankChanged");
   HYDROGUI_StreamDlg* aPanel = ::qobject_cast<HYDROGUI_StreamDlg*>( inputPanel() );
   if (!aPanel)
     return;
@@ -826,6 +875,7 @@ void HYDROGUI_StreamOp::onRightBankChanged( const QString& theNewAxis )
 
 void HYDROGUI_StreamOp::onProfilePointsChanged( int d )
 {
+  DEBTRACE("onProfilePointsChanged");
   HYDROGUI_StreamDlg* aPanel = ::qobject_cast<HYDROGUI_StreamDlg*>( inputPanel() );
   if (!aPanel)
     return;
@@ -835,11 +885,13 @@ void HYDROGUI_StreamOp::onProfilePointsChanged( int d )
 
 void HYDROGUI_StreamOp::onModeChanged( bool mode )
 {
+  DEBTRACE("onModeChanged");
   createPreview();
 }
 
 void HYDROGUI_StreamOp::updatePanelData()
 {
+  DEBTRACE("updatePanelData");
   HYDROGUI_StreamDlg* aPanel = ::qobject_cast<HYDROGUI_StreamDlg*>( inputPanel() );
   if ( !aPanel )
     return;
index 2f2616d74f8e751ce3cd32a320ef9f5bb605f47b..9e73cdda74f5b78b23981ca85d31a985c6e5697a 100755 (executable)
@@ -34,6 +34,8 @@ public:
   HYDROGUI_StreamOp( HYDROGUI_Module* theModule, bool isEdit );
   virtual ~HYDROGUI_StreamOp();
 
+  static void hideBathy(HYDROGUI_Module* theModule);
+
 protected:
 
   virtual void                 startOperation();