From: rnv Date: Thu, 25 Aug 2016 12:21:19 +0000 (+0300) Subject: Fix for '0053430: 3D Sketch' issue. X-Git-Tag: V8_1_0rc1~6 X-Git-Url: http://git.salome-platform.org/gitweb/?a=commitdiff_plain;h=b11dda6c239f9bf58290753b16009cad31fe0e52;p=modules%2Fgeom.git Fix for '0053430: 3D Sketch' issue. --- diff --git a/src/EntityGUI/EntityGUI_3DSketcherDlg.cxx b/src/EntityGUI/EntityGUI_3DSketcherDlg.cxx index 47d1fd5d4..fd7b86889 100755 --- a/src/EntityGUI/EntityGUI_3DSketcherDlg.cxx +++ b/src/EntityGUI/EntityGUI_3DSketcherDlg.cxx @@ -1388,19 +1388,26 @@ void EntityGUI_3DSketcherDlg::displayTrihedron (int selMode) { // Add trihedron to preview SUIT_ViewWindow* vw = SUIT_Session::session()->activeApplication()->desktop()->activeWindow(); - + + SOCC_Viewer* anOCCViewer = dynamic_cast( vw->getViewManager()->getViewModel() ); + if( !anOCCViewer ) + return; + + Handle(AIS_InteractiveContext) anAISContext = anOCCViewer->getAISContext(); + if( !anAISContext ) + return; + gp_Pnt P(getLastPoint().x,getLastPoint().y,getLastPoint().z); Handle(Geom_Axis2Placement) anAxis = new Geom_Axis2Placement(P,gp::DZ(),gp::DX()); Handle(AIS_Trihedron) anIO = new AIS_Trihedron(anAxis); - anIO->GetContext()->Activate(anIO, selMode); - SOCC_Prs* aSPrs = dynamic_cast - (((SOCC_Viewer*)(vw->getViewManager()->getViewModel()))->CreatePrs(0)); + SOCC_Prs* aSPrs = dynamic_cast( anOCCViewer->CreatePrs(0) ); if (aSPrs) { aSPrs->PrependObject(anIO); GEOMBase_Helper::displayPreview(aSPrs, true, true); } + anAISContext->Activate(anIO, selMode); } //================================================================