]> SALOME platform Git repositories - modules/hydro.git/commitdiff
Salome HOME
Selection for image presentation & updates for interpolated stream profiles and stream.
authorstv <stv@opencascade.com>
Tue, 31 Mar 2015 06:24:58 +0000 (09:24 +0300)
committerstv <stv@opencascade.com>
Tue, 31 Mar 2015 06:24:58 +0000 (09:24 +0300)
src/HYDROData/HYDROData_Stream.cxx
src/HYDROGUI/HYDROGUI_ImagePrs.cxx
src/HYDROGUI/HYDROGUI_ImagePrs.h
src/HYDROGUI/HYDROGUI_ProfileInterpolateOp.cxx
src/HYDROGUI/HYDROGUI_RiverBottomOp.cxx

index 0a35a208dc2b1d4771b9c0e6d53ac30b6697b984..33de721c8aa96391b7a28711c81311c0ea71f950 100644 (file)
@@ -1177,7 +1177,12 @@ bool HYDROData_Stream::Interpolate( HYDROData_IProfilesInterpolator* theInterpol
     if ( !isAdded ) {
       aProfile->Remove();
     }
+    else
+      aProfile->Update();
   }
 
+  if ( isOK )
+    Update();
+
   return isOK;
-}
\ No newline at end of file
+}
index 03061e550029348acad46561bedb344652f00307..d10a6f91ff7e557d092f9e1a34bb0513aa6e02a9 100644 (file)
 #include <TColgp_Array1OfPnt.hxx>
 
 IMPLEMENT_STANDARD_TYPE(HYDROGUI_ImagePrs)
-IMPLEMENT_STANDARD_SUPERTYPE_ARRAY()
-  STANDARD_TYPE(AIS_InteractiveObject),
-  STANDARD_TYPE(SelectMgr_SelectableObject),
-  STANDARD_TYPE(PrsMgr_PresentableObject),
-  STANDARD_TYPE(MMgt_TShared),
-  STANDARD_TYPE(Standard_Transient),
-IMPLEMENT_STANDARD_SUPERTYPE_ARRAY_END()
-IMPLEMENT_STANDARD_TYPE_END(HYDROGUI_ImagePrs)
-
-IMPLEMENT_DOWNCAST(HYDROGUI_ImagePrs,Standard_Transient)
-IMPLEMENT_STANDARD_RTTI(HYDROGUI_ImagePrs)
-
-HYDROGUI_ImagePrs::HYDROGUI_ImagePrs()
+    IMPLEMENT_STANDARD_SUPERTYPE_ARRAY()
+    STANDARD_TYPE(AIS_InteractiveObject),
+    STANDARD_TYPE(SelectMgr_SelectableObject),
+    STANDARD_TYPE(PrsMgr_PresentableObject),
+    STANDARD_TYPE(MMgt_TShared),
+    STANDARD_TYPE(Standard_Transient),
+    IMPLEMENT_STANDARD_SUPERTYPE_ARRAY_END()
+    IMPLEMENT_STANDARD_TYPE_END(HYDROGUI_ImagePrs)
+
+    IMPLEMENT_DOWNCAST(HYDROGUI_ImagePrs,Standard_Transient)
+    IMPLEMENT_STANDARD_RTTI(HYDROGUI_ImagePrs)
+
+    HYDROGUI_ImagePrs::HYDROGUI_ImagePrs()
     : AIS_InteractiveObject()
 {
 }
@@ -88,49 +88,19 @@ void HYDROGUI_ImagePrs::ComputeSelection( const Handle(SelectMgr_Selection)& the
     }
 }
 
-void HYDROGUI_ImagePrs::HilightSelected( const Handle(PrsMgr_PresentationManager3d)& aPrsMgr, const SelectMgr_SequenceOfOwner& )
-{
-    Handle(Prs3d_Presentation) aPrs = GetSelectPresentation( aPrsMgr );
-    if ( aPrs.IsNull() )
-        return;
-
-    Handle(Graphic3d_Group) aGroup = Prs3d_Root::CurrentGroup( aPrs );
-
-    Handle(Graphic3d_AspectLine3d) aLineAspect =
-        new Graphic3d_AspectLine3d( Quantity_NOC_WHITE, Aspect_TOL_SOLID, 1.0 );
-
-    aGroup->SetGroupPrimitivesAspect( aLineAspect );
-
-    Handle(Graphic3d_ArrayOfPolylines) aSegments = new Graphic3d_ArrayOfPolylines( 5 );
-    aSegments->AddVertex( convert( myContour[0] ) );
-    aSegments->AddVertex( convert( myContour[1] ) );
-    aSegments->AddVertex( convert( myContour[2] ) );
-    aSegments->AddVertex( convert( myContour[3] ) );
-    aSegments->AddVertex( convert( myContour[0] ) );
-
-    aGroup->AddPrimitiveArray( aSegments );
-}
-
-void HYDROGUI_ImagePrs::ClearSelected()
-{
-  Handle(Prs3d_Presentation) aSelectionPrs = GetSelectPresentation( 0 );
-  if ( !aSelectionPrs.IsNull() )
-    aSelectionPrs->Clear();
-}
-
 void HYDROGUI_ImagePrs::Compute( const Handle(PrsMgr_PresentationManager3d)&,
                                  const Handle(Prs3d_Presentation)& aPrs,
-                                 const Standard_Integer theMode )
+                                 const Standard_Integer aMode )
 {
-  aPrs->Clear();
-  Handle(Graphic3d_Group) aGroup = Prs3d_Root::CurrentGroup( aPrs );
+    aPrs->Clear();
+    Handle(Graphic3d_Group) aGroup = Prs3d_Root::CurrentGroup( aPrs );
 
     if ( aMode == 0 )
     {
-        Handle(Graphic3d_AspectLine3d) aLineAspect =
-            new Graphic3d_AspectLine3d( Quantity_NOC_WHITE, Aspect_TOL_SOLID, 1.0 );
+//        Handle(Graphic3d_AspectLine3d) aLineAspect =
+//            new Graphic3d_AspectLine3d( Quantity_NOC_WHITE, Aspect_TOL_SOLID, 1.0 );
 
-        aGroup->SetGroupPrimitivesAspect( aLineAspect );
+//        aGroup->SetGroupPrimitivesAspect( aLineAspect );
 
         Handle(Graphic3d_ArrayOfPolylines) aSegments = new Graphic3d_ArrayOfPolylines( 5 );
         aSegments->AddVertex( convert( myContour[0] ) );
@@ -141,11 +111,11 @@ void HYDROGUI_ImagePrs::Compute( const Handle(PrsMgr_PresentationManager3d)&,
 
         aGroup->AddPrimitiveArray( aSegments );
     }
-    else if ( aMode == 3 )
+    else
     {
         Graphic3d_MaterialAspect aMat( Graphic3d_NOM_PLASTIC );
         Handle(Graphic3d_AspectFillArea3d) aFillAspect =
-      new Graphic3d_AspectFillArea3d( Aspect_IS_SOLID, Quantity_NOC_WHITE, Quantity_NOC_BLACK, Aspect_TOL_SOLID, 1.0, aMat, aMat );
+            new Graphic3d_AspectFillArea3d( Aspect_IS_SOLID, Quantity_NOC_WHITE, Quantity_NOC_BLACK, Aspect_TOL_SOLID, 1.0, aMat, aMat );
 
         Handle(Graphic3d_TextureMap) aTex = new Graphic3d_Texture2Dmanual( myImage );
         aTex->DisableModulate();
index a9ea5768d7732d614a5647e576d2a6120f7a2b9c..3ad570f9679312bcbeb21f76694e89d22e70db47 100644 (file)
@@ -29,9 +29,6 @@ public:
                                     const Handle(Prs3d_Presentation)&, const Standard_Integer = 0 );
     virtual void           ComputeSelection( const Handle(SelectMgr_Selection)&, const Standard_Integer );
 
-    virtual void           ClearSelected();
-    virtual void           HilightSelected( const Handle(PrsMgr_PresentationManager3d)&, const SelectMgr_SequenceOfOwner& );
-
     DEFINE_STANDARD_RTTI(HYDROGUI_ImagePrs)
 
 private:
index 7caefc3b9a22c621b75f3b40431c67b9bb0df118..34fc43ceebd94afc60d41cc8de7e57d082a45e1f 100644 (file)
@@ -154,7 +154,12 @@ bool HYDROGUI_ProfileInterpolateOp::processApply( int& theUpdateFlags, QString&
             commit();
     }
 
-    return errMessage.isEmpty();
+    bool res = errMessage.isEmpty();
+
+    if ( res )
+        theUpdateFlags = UF_Model | UF_OCCViewer | UF_OCC_Forced | UF_VTKViewer;
+
+    return res;
 }
 
 void HYDROGUI_ProfileInterpolateOp::updatePreview()
index ac898851bc8a424d6f6b3453fb45147f10f6f1b4..87ce6116616a8ad82d21f9b6ef1c8e3a123940e2 100644 (file)
@@ -63,25 +63,15 @@ void HYDROGUI_RiverBottomOp::startOperation()
   HYDROGUI_RiverBottomDlg* aPanel = ::qobject_cast<HYDROGUI_RiverBottomDlg*>( inputPanel() );
 
   aPanel->reset();
-  /*
-  QString aRiver;
-  Handle(HYDROData_River) aRiverObj = Handle(HYDROData_River)::DownCast( HYDROGUI_Tool::GetSelectedObject( module() ) );
-  if ( !aRiverObj.IsNull() )
-      aRiver = aRiverObj->GetName();
-
-  aPanel->setRiverName( aRiver );
-  */
 }
 
 void HYDROGUI_RiverBottomOp::abortOperation()
 {
-//  erasePreview();
   HYDROGUI_Operation::abortOperation();
 }
 
 void HYDROGUI_RiverBottomOp::commitOperation()
 {
-//  erasePreview();
   HYDROGUI_Operation::commitOperation();
 }
 
@@ -109,15 +99,6 @@ bool HYDROGUI_RiverBottomOp::processApply( int& theUpdateFlags, QString& theErro
 
   aRiver->GenerateBottomPolyline();
   aRiver->Update();
-//  Handle(HYDRO_RiverBottom) aBottom = createNewObject();
-//  aBottom->SetName( QString( "%1_Bottom" ).arg( aRiver->GetName() ) );
-
-//  erasePreview();
-
-//    module()->setObjectVisible( HYDROGUI_Tool::GetActiveOCCViewId( module() ), aBottom, true );
-//    theBrowseObjectsEntries.append( HYDROGUI_DataObject::dataObjectEntry( aBottom ) );
-
-//  module()->setIsToUpdate( aBottom );
 
   theUpdateFlags = UF_Model | UF_OCCViewer | UF_OCC_Forced | UF_VTKViewer;