X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FHYDRO_tests%2FTestViewer.cxx;h=71cd941b27ab2e332f21742e5f9e3dcc75818aab;hb=26197be88e35b978201cdd05c4b34d4acbfad111;hp=fce3baadf3643f100b23246b8d3b323bc88395bd;hpb=39b1848f103d89cfb544a1651b3fbf221fc2c401;p=modules%2Fhydro.git diff --git a/src/HYDRO_tests/TestViewer.cxx b/src/HYDRO_tests/TestViewer.cxx index fce3baad..71cd941b 100644 --- a/src/HYDRO_tests/TestViewer.cxx +++ b/src/HYDRO_tests/TestViewer.cxx @@ -34,9 +34,8 @@ #ifdef WIN32 #pragma warning ( disable: 4251 ) #endif -#include #include -#include +#include #include #include #include @@ -44,6 +43,7 @@ #include #include #include +#include #include #include @@ -142,29 +142,38 @@ void TestViewer::show( const Handle(AIS_InteractiveObject)& theObject, } if( isFitAll ) - { - viewWindow()->onTopView(); - viewWindow()->onFitAll(); - } + fitAll(); +} + +void TestViewer::fitAll() +{ + viewWindow()->onTopView(); + viewWindow()->onFitAll(); } -void TestViewer::show( const TopoDS_Shape& theShape, int theMode, bool isFitAll, const QColor& theColor ) +void TestViewer::show( const TopoDS_Shape& theShape, int theMode, bool isFitAll, const QColor& theColor, + int theUIANb, int theVIANb) { Handle(AIS_Shape) aShape = new AIS_Shape( theShape ); if( theShape.ShapeType()==TopAbs_VERTEX ) aShape->Attributes()->PointAspect()->SetTypeOfMarker( Aspect_TOM_X ); + if (theShape.ShapeType()==TopAbs_FACE) + { + context()->DefaultDrawer()->UIsoAspect()->SetNumber(theUIANb); + context()->DefaultDrawer()->VIsoAspect()->SetNumber(theVIANb); + Handle_Prs3d_Drawer aDrawer = aShape->Attributes(); + aDrawer->UIsoAspect()->SetNumber(theUIANb); + aDrawer->VIsoAspect()->SetNumber(theVIANb); + } aShape->SetMaterial( Graphic3d_NOM_PLASTIC ); aShape->SetColor( HYDROData_Tool::toOccColor( theColor ) ); context()->Display( aShape, theMode, 0, Standard_False ); if( isFitAll ) - { - viewWindow()->onTopView(); - viewWindow()->onFitAll(); - } + fitAll(); } - -void TestViewer::show( const TopoDS_Shape& theShape, int theMode, bool isFitAll, const char* theKey ) +void TestViewer::show( const TopoDS_Shape& theShape, int theMode, bool isFitAll, const char* theKey, + int theUIANb, int theVIANb) { QString aNewKey = theKey; if( !aNewKey.isEmpty() ) @@ -185,7 +194,7 @@ void TestViewer::show( const TopoDS_Shape& theShape, int theMode, bool isFitAll, GEOMUtils::SortShapes(aListOfFaces); TopTools_ListIteratorOfListOfShape aLF(aListOfFaces); for( ; aLF.More(); aLF.Next(), i++) - show( aLF.Value(), theMode, false, GetColor(i) ); + show( aLF.Value(), theMode, false, GetColor(i), theUIANb, theVIANb ); //show all independent wires TopTools_ListOfShape aListOfWires; @@ -208,10 +217,7 @@ void TestViewer::show( const TopoDS_Shape& theShape, int theMode, bool isFitAll, show( aLE.Value(), theMode, false, GetColor(i) ); if( isFitAll ) - { - viewWindow()->onTopView(); - viewWindow()->onFitAll(); - } + fitAll(); } /*void TestViewer::ShowShape(const TopoDS_Shape& theShape, int theMode, int& i) @@ -268,7 +274,7 @@ bool TestViewer::AssertImages( QString& theMessage, const QImage* theImage, cons if( theCase ) myKey = theCase; - QString anExpectedRefFilePath = qgetenv( "HYDRO_ROOT_DIR" ) + "/bin/salome/test"; + QString anExpectedRefFilePath = qgetenv( "HYDRO_ROOT_DIR" ) + "/bin/salome/test/HYDRO"; anExpectedRefFilePath += "/" + myKey + ".png"; QImage anExpectedRefImage; anExpectedRefImage.load( anExpectedRefFilePath ); @@ -298,22 +304,16 @@ bool TestViewer::AssertImages( QString& theMessage, const QImage* theImage, cons return false; } -Handle_Aspect_ColorScale TestViewer::colorScale() +Handle(AIS_ColorScale) TestViewer::colorScale() { - Handle(V3d_View) aView = myViewWindow->getViewPort()->getView(); - if( aView.IsNull() ) - return Handle(Aspect_ColorScale)(); - else - return aView->ColorScale(); + static Handle(AIS_ColorScale) aColorScale = new AIS_ColorScale(); + + return aColorScale; } void TestViewer::showColorScale( bool isShow ) { - Handle(V3d_View) aView = myViewWindow->getViewPort()->getView(); - if( aView.IsNull() ) - return; - - Handle(Aspect_ColorScale) aColorScale = colorScale(); + Handle(AIS_ColorScale) aColorScale = colorScale(); if( aColorScale.IsNull() ) return; @@ -334,18 +334,25 @@ void TestViewer::showColorScale( bool isShow ) aColorScale->SetTitle( "test" ); aColorScale->SetRange( 0, 1 ); + aColorScale->SetToUpdate(); + if( isShow ) { - if( !aView->ColorScaleIsDisplayed() ) - aView->ColorScaleDisplay(); + if( !context()->IsDisplayed( aColorScale ) ) + context()->Display( aColorScale ); } else { - if( aView->ColorScaleIsDisplayed() ) - aView->ColorScaleErase(); + if( context()->IsDisplayed( aColorScale ) ) + context()->Erase( aColorScale ); } } +bool TestViewer::ColorScaleIsDisplayed() +{ + return context()->IsDisplayed( colorScale() ); +} + void TestViewer::select( int theViewX, int theViewY ) { Handle(V3d_View) aView = myViewWindow->getViewPort()->getView();