From 7dcfcc3b490711326ed296f920938c4d2e6cb1a5 Mon Sep 17 00:00:00 2001 From: nds Date: Tue, 27 Dec 2016 17:40:43 +0300 Subject: [PATCH] Selection of Trihedron axes. --- src/XGUI/XGUI_Displayer.cpp | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/XGUI/XGUI_Displayer.cpp b/src/XGUI/XGUI_Displayer.cpp index 9b82aec92..aeafb2a43 100644 --- a/src/XGUI/XGUI_Displayer.cpp +++ b/src/XGUI/XGUI_Displayer.cpp @@ -1309,6 +1309,14 @@ bool XGUI_Displayer::activate(const Handle(AIS_InteractiveObject)& theIO, // loading the interactive object allowing the decomposition if (aTColModes.IsEmpty() || !aHasValidMode) { aContext->Load(theIO, -1, true); + Handle(AIS_Trihedron) aTrihedron = Handle(AIS_Trihedron)::DownCast(theIO); + if (!aTrihedron.IsNull()) { + // Workaround for Trihedron. It should be loaded using the next Load method to + // add this object to myGlobal map of selection manager + // it is important to activate trihedron in two selection modes: edges and vertices + aContext->SelectionManager()->Load(theIO); + } + #ifdef VINSPECTOR if (getCallBack()) getCallBack()->Load(theIO); #endif -- 2.39.2