#include <TopExp_Explorer.hxx>
#include <TopoDS.hxx>
+#include <GEOMUtils.hxx>
+#include <TopTools_ListOfShape.hxx>
+#include <TopTools_ListIteratorOfListOfShape.hxx>
+
#ifdef WIN32
#pragma warning ( default: 4251 )
#endif
return myViewWindow;
}
-Handle(AIS_InteractiveContext) context()
+Handle(AIS_InteractiveContext) TestViewer::context()
{
- return TestViewer::viewer()->getAISContext();
+ return viewer()->getAISContext();
}
QColor TestViewer::GetColor(int i)
int i = 0;
//show all faces first
+ TopTools_ListOfShape aListOfFaces;
TopExp_Explorer aFE( theShape, TopAbs_FACE );
- for( ; aFE.More(); aFE.Next(), i++ )
- show( aFE.Current(), theMode, false, GetColor(i) );
+ for( ; aFE.More(); aFE.Next() )
+ aListOfFaces.Append(aFE.Current());
+ GEOMUtils::SortShapes(aListOfFaces);
+ TopTools_ListIteratorOfListOfShape aLF(aListOfFaces);
+ for( ; aLF.More(); aLF.Next(), i++)
+ show( aLF.Value(), theMode, false, GetColor(i) );
//show all independent wires
+ TopTools_ListOfShape aListOfWires;
TopExp_Explorer aWE( theShape, TopAbs_WIRE, TopAbs_FACE );
- for( ; aWE.More(); aWE.Next(), i++ )
- show( aWE.Current(), theMode, false, GetColor(i) );
+ for( ; aWE.More(); aWE.Next() )
+ aListOfWires.Append(aWE.Current());
+ GEOMUtils::SortShapes(aListOfWires);
+ TopTools_ListIteratorOfListOfShape aLW(aListOfWires);
+ for( ; aLW.More(); aLW.Next(), i++)
+ show( aLW.Value(), theMode, false, GetColor(i) );
//show all independent edges
+ TopTools_ListOfShape aListOfEdges;
TopExp_Explorer anEE( theShape, TopAbs_EDGE, TopAbs_WIRE );
- for( ; anEE.More(); anEE.Next(), i++ )
- show( anEE.Current(), theMode, false, GetColor(i) );
+ for( ; anEE.More(); anEE.Next())
+ aListOfEdges.Append(anEE.Current());
+ GEOMUtils::SortShapes(aListOfEdges);
+ TopTools_ListIteratorOfListOfShape aLE(aListOfEdges);
+ for( ; aLE.More(); aLE.Next(), i++)
+ show( aLE.Value(), theMode, false, GetColor(i) );
if( isFitAll )
{
return true;
}
-bool TestViewer::AssertImages( QString& theMessage )
+bool TestViewer::AssertImages( QString& theMessage, const QImage* theImage, const char* theCase )
{
- QImage anActualImage = viewWindow()->dumpView();
+ QImage anActualImage;
+ if( theImage )
+ anActualImage = *theImage;
+ else
+ anActualImage = viewWindow()->dumpView();
- QString anExpectedRefFilePath = qgetenv( "HYDRO_REFERENCE_DATA" );
+ if( theCase )
+ myKey = theCase;
+
+ QString anExpectedRefFilePath = qgetenv( "HYDRO_ROOT_DIR" ) + "/bin/salome/test";
anExpectedRefFilePath += "/" + myKey + ".png";
QImage anExpectedRefImage;
anExpectedRefImage.load( anExpectedRefFilePath );
QString aDiffFilePath = QDir::tempPath() + "/" + myKey + "_diff.png";
aDiff.save( aDiffFilePath );
+ anExpectedRefImage.save( QDir::tempPath() + "/" + myKey + "_1.png");
+
return false;
}
int theLinesToOmit,
QString& theMsg )
{
- QString anExpectedRefFilePath = qgetenv( "HYDRO_REFERENCE_DATA" );
+ QString anExpectedRefFilePath = qgetenv( "HYDRO_ROOT_DIR" ) + "/bin/salome/test/HYDRO";
anExpectedRefFilePath += "/" + theBaseName;
QString anActualFilePath = QDir::tempPath() + "/" + theBaseName;