#ifdef WIN32
#pragma warning ( disable: 4251 )
#endif
-#include <AIS_InteractiveContext.hxx>
#include <AIS_Shape.hxx>
-#include <Aspect_ColorScale.hxx>
+#include <AIS_ColorScale.hxx>
#include <Prs3d_PointAspect.hxx>
#include <TopoDS_Iterator.hxx>
#include <QDir>
eraseAll( false );
}
- context()->Display( theObject, theMode, theSelectionMode );
if( theSelectionMode > 0 )
{
context()->OpenLocalContext();
+ context()->Display( theObject, theMode, theSelectionMode );
context()->Activate( theObject, theSelectionMode, Standard_True );
}
+ else
+ context()->Display( theObject, theMode, theSelectionMode );
if( isFitAll )
{
else
anActualImage = viewWindow()->dumpView();
+ const bool SWAP_RGB_ORDER = true;
+ if( SWAP_RGB_ORDER )
+ {
+ // A temporary patch for bug in SALOME/OCC dump; the result image contains swapped RGB colors
+ anActualImage = anActualImage.rgbSwapped();
+ }
+
+
if( theCase )
myKey = theCase;
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;
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()
{
- Handle(V3d_View) aView = myViewWindow->getViewPort()->getView();
- if( aView.IsNull() )
- return false;
- return aView->ColorScaleIsDisplayed();
+ return context()->IsDisplayed( colorScale() );
}
void TestViewer::select( int theViewX, int theViewY )
return isEqual;
}
+
+void TestViewer::setKey( const QString& theKey )
+{
+ myKey = theKey;
+}