2 #include <TestViewer.h>
3 #include <OCCViewer_ViewManager.h>
4 #include <OCCViewer_ViewModel.h>
5 #include <OCCViewer_ViewWindow.h>
6 #include <AIS_InteractiveContext.hxx>
7 #include <AIS_Shape.hxx>
10 OCCViewer_ViewManager* TestViewer::myViewManager = 0;
11 OCCViewer_ViewWindow* TestViewer::myViewWindow = 0;
13 OCCViewer_ViewManager* TestViewer::viewManager()
18 myViewManager = new OCCViewer_ViewManager( 0, 0 );
19 OCCViewer_Viewer* aViewer = new OCCViewer_Viewer( true );
21 aViewer->setTrihedronSize( 100, true );
22 aViewer->setInteractionStyle( 0 );
23 aViewer->setZoomingStyle( 1 );
25 myViewManager->setViewModel( aViewer );
26 myViewWindow = dynamic_cast<OCCViewer_ViewWindow*>( myViewManager->createViewWindow() );
31 OCCViewer_Viewer* TestViewer::viewer()
33 return dynamic_cast<OCCViewer_Viewer*>( viewManager()->getViewModel() );
36 OCCViewer_ViewWindow* TestViewer::viewWindow()
38 viewManager(); //to create the view if it was not created earlier
42 Handle(AIS_InteractiveContext) context()
44 return TestViewer::viewer()->getAISContext();
47 void TestViewer::show( const TopoDS_Shape& theShape, bool isFitAll )
49 context()->EraseAll();
50 Handle(AIS_Shape) aShape = new AIS_Shape( theShape );
51 context()->Display( aShape, AIS_Shaded, 0, Standard_False );
53 viewWindow()->onTopView();
54 viewWindow()->onFitAll();
57 void TestViewer::dump( const TopoDS_Shape& theShape, const QString& theName )
60 QImage anImage = viewWindow()->dumpView();
62 QString aPath = QDir::tempPath() + "/" + theName + ".png";
63 anImage.save( aPath );