#include <HYDROGUI_Overview.h>
#include <OCCViewer_ViewFrame.h>
+#include <OCCViewer_ViewModel.h>
#include <OCCViewer_ViewPort3d.h>
#include <V3d_View.hxx>
QImage aMain = TestViewer::viewWindow()->getView(OCCViewer_ViewFrame::MAIN_VIEW)->dumpView();
QImage anOverview = myOverview->dump();
- aMain = aMain.rgbSwapped(); //PATCH for image came from OCCT dump
+ if (SWAP_RGB)
+ aMain = aMain.rgbSwapped(); //PATCH for image came from OCCT dump
//anOverview = anOverview.rgbSwapped(); //overview dump already normalizes the image, the line is not necessary!!!
int w1 = aMain.width();
QPainter painter( &pix );
painter.setPen( PSOLID );
- painter.drawRect( WIDTH, WIDTH, w2, h2 );
- painter.drawRect( w2+WIDTH, WIDTH, w1, h1 );
+ //static int q = 0;
+ //q++;
+ //anOverview.save( QString( "/tmp/hydro/overview_" ) + QString::number( q ) + ".png" );
+ //aMain.save( QString( "/tmp/hydro/main_" ) + QString::number( q ) + ".png" );
painter.drawImage( WIDTH, WIDTH, anOverview );
painter.drawImage( w2+WIDTH, WIDTH, aMain );
- return pix.toImage();
+ painter.drawRect( WIDTH, WIDTH, w2, h2 );
+ painter.drawRect( w2+WIDTH, WIDTH, w1, h1 );
+
+ QImage res = pix.toImage();
+ //res.save( QString( "/tmp/hydro/result_" ) + QString::number( q ) + ".png" );
+
+ return res;
}
+extern int MAIN_W, MAIN_H;
+
void test_Overview::create()
{
- static bool isPassed = false;
- if( isPassed )
- return;
+ TestViewer::eraseAll( true, true );
+
+ // Initialization of the empty viewer
- // default mouse position
- QTest::mouseMove( TestViewer::viewWindow(), QPoint( 0, 0 ) );
+ static bool isCreated = false;
+ if( !isCreated )
+ {
+ myOverview = new HYDROGUI_Overview( "Test overview" );
+ myOverview->show();
- // Initialization of the empty viewer
- myOverview = new HYDROGUI_Overview( "Test overview" );
- myOverview->show();
+ // default mouse position
+ QTest::mouseMove( TestViewer::viewWindow(), QPoint( 0, 0 ) );
+
+ isCreated = true;
+ }
myOverview->setMainView( TestViewer::viewWindow() );
- TestViewer::viewWindow()->setGeometry( 400, 100, 800, 800 );
+ //TestViewer::viewWindow()->setGeometry( 400, 100, MAIN_W, MAIN_H );
TestViewer::viewWindow()->onTopView();
myOverview->setGeometry( 100, 100, 200, 200 );
-
- isPassed = true;
}
void test_Overview::showShape()
{
- static bool isPassed = false;
- if( isPassed )
- return;
-
// Show loaded shape in the viewer
BRep_Builder B;
TopoDS_Shape shape;
std::string fname = (REF_DATA_PATH + "/test_zone.brep").toStdString();
+ //std::cout << "Loading shape: " << fname << std::endl;
BRepTools::Read( shape, fname.c_str(), B );
TestViewer::show( shape, AIS_Shaded, true, 0x03399FF );
qApp->processEvents();
myOverview->setTopView(); //TODO: automatic fit all on show???*/
-
- isPassed = true;
}
void fitAllWithRestore( OCCViewer_ViewPort3d* vp )
create();
showShape();
TestViewer::viewWindow()->onTopView();
-
- // 1. selection in main view
- QTest::mouseMove( TestViewer::viewWindow() );
- CPPUNIT_ASSERT_OVERVIEW( "overview_selection" );
+ qApp->processEvents();
OCCViewer_ViewWindow* aMain = TestViewer::viewWindow()->getView( OCCViewer_ViewFrame::MAIN_VIEW );
OCCViewer_ViewPort3d* vp = aMain->getViewPort();
+ // 1. selection in main view
+ QTest::mouseMove( vp, QPoint(150,150) );
+ TestViewer::context()->MoveTo(150, 150, vp->getView(), Standard_True );
+ TestViewer::context()->Select( Standard_True );
+ qApp->processEvents();
+ //QTest::qWait( 50000 );
+ //aMain->dumpView().save("/tmp/hydro/dump.png");
+ //aMain->dumpView().rgbSwapped().save("/tmp/hydro/dump2.png");
+ CPPUNIT_ASSERT_OVERVIEW( "overview_selection" );
+
// 2. mouse wheel zoom
- QWheelEvent we( QPoint( 243, 416 ), 120*20, Qt::NoButton, Qt::NoModifier );
+ QWheelEvent we( QPoint( 243, 316 ), 120*20, Qt::NoButton, Qt::NoModifier );
qApp->sendEvent( vp, &we );
qApp->processEvents();
CPPUNIT_ASSERT_OVERVIEW( "overview_zoomed_1" );
// 3. zoom via mouse
const int d = 100;
- vp->zoom( 243, 416, 243+d, 416+d );
+ vp->zoom( 243, 316, 243+d, 316+d );
CPPUNIT_ASSERT_OVERVIEW( "overview_zoomed_2" );
// 4. panning via mouse
create();
showShape();
TestViewer::viewWindow()->onTopView();
- QTest::mouseMove( TestViewer::viewWindow() );
+
+ OCCViewer_ViewWindow* aMain = TestViewer::viewWindow()->getView( OCCViewer_ViewFrame::MAIN_VIEW );
+ OCCViewer_ViewPort3d* vp = aMain->getViewPort();
+
+ QTest::mouseMove( vp, QPoint(150,150) );
+ TestViewer::context()->MoveTo(150, 150, vp->getView(), Standard_True );
+ TestViewer::context()->Select( Standard_True );
+ qApp->processEvents();
//QTest::qWait( 20000 );
CPPUNIT_ASSERT_OVERVIEW( "overview_selection" );
create();
showShape();
TestViewer::viewWindow()->onTopView();
- QTest::mouseMove( TestViewer::viewWindow() );
OCCViewer_ViewWindow* aMain = TestViewer::viewWindow()->getView( OCCViewer_ViewFrame::MAIN_VIEW );
OCCViewer_ViewPort3d* vp = aMain->getViewPort();
- QWheelEvent we( QPoint( 243, 416 ), 120*20, Qt::NoButton, Qt::NoModifier );
+ QTest::mouseMove( vp, QPoint(150,150) );
+ TestViewer::context()->MoveTo(150, 150, vp->getView(), Standard_True );
+ TestViewer::context()->Select( Standard_True );
+ qApp->processEvents();
+
+ QWheelEvent we( QPoint( 243, 316 ), 120*20, Qt::NoButton, Qt::NoModifier );
qApp->sendEvent( vp, &we );
qApp->processEvents();
CPPUNIT_ASSERT_OVERVIEW( "overview_zoomed_1" );