From 3cd4475b687481f4d0afbe338b7da33c158c4ed0 Mon Sep 17 00:00:00 2001 From: mpa Date: Tue, 24 Mar 2015 12:39:17 +0300 Subject: [PATCH] INT PAL 0052630: Bring to front behavior is not correct --- src/GEOMGUI/GEOM_Displayer.cxx | 2 -- src/OBJECT/GEOM_AISShape.cxx | 17 +++++++---------- 2 files changed, 7 insertions(+), 12 deletions(-) diff --git a/src/GEOMGUI/GEOM_Displayer.cxx b/src/GEOMGUI/GEOM_Displayer.cxx index f2dd8bdb0..3d17ca13e 100644 --- a/src/GEOMGUI/GEOM_Displayer.cxx +++ b/src/GEOMGUI/GEOM_Displayer.cxx @@ -843,8 +843,6 @@ void GEOM_Displayer::updateShapeProperties( const Handle(GEOM_AISShape)& AISShap propMap.value( GEOM::propertyName( GEOM::DisplayMode ) ).toInt() ); // - face boundaries color and line width - if( AISShape->DisplayMode() == GEOM_AISShape::ShadingWithEdges ) - AISShape->Attributes()->SetFaceBoundaryDraw( Standard_True ); anAspect = AISShape->Attributes()->FaceBoundaryAspect(); anAspect->SetColor( SalomeApp_Tools::color( propMap.value( GEOM::propertyName( GEOM::OutlineColor ) ).value() ) ); anAspect->SetWidth( propMap.value( GEOM::propertyName( GEOM::LineWidth ) ).toInt() ); diff --git a/src/OBJECT/GEOM_AISShape.cxx b/src/OBJECT/GEOM_AISShape.cxx index b1f7ade34..52285710d 100644 --- a/src/OBJECT/GEOM_AISShape.cxx +++ b/src/OBJECT/GEOM_AISShape.cxx @@ -254,24 +254,21 @@ void GEOM_AISShape::Compute(const Handle(PrsMgr_PresentationManager3d)& aPresent } case ShadingWithEdges: { + myDrawer->SetFaceBoundaryDraw( Standard_True ); shadingMode(aPresentationManager, aPrs, Shading); - if( anIsColorField && myFieldDimension == 1 ) + if( anIsColorField && myFieldDimension == 1 ) { + myDrawer->SetFaceBoundaryDraw( Standard_False ); drawField( aPrs ); - else - myDrawer->SetFaceBoundaryDraw( Standard_True ); + } break; } case TexturedShape: { - if(!isTopLev) #ifdef USE_TEXTURED_SHAPE AIS_TexturedShape::Compute(aPresentationManager, aPrs, aMode); #else AIS_Shape::Compute(aPresentationManager, aPrs, aMode); #endif - else - shadingMode(aPresentationManager, aPrs, Shading); - break; } } if (isShowVectors()) @@ -443,10 +440,10 @@ void GEOM_AISShape::setTopLevel(Standard_Boolean f) { myPrevDisplayMode = DisplayMode(); Standard_Integer dm; switch(topLevelDisplayMode()) { - case TopKeepCurrent : dm = myPrevDisplayMode; break; - case TopWireFrame : dm = Wireframe; break; + case TopWireFrame : dm = Wireframe; break; + case TopShading : dm = Shading; break; case TopShadingWithEdges : dm = ShadingWithEdges; break; - default : dm = Shading; break; + default : dm = myPrevDisplayMode; break; } SetDisplayMode(dm); } else { -- 2.39.2