From 663142be715988a26026b7e0911661b3b3a96bfb Mon Sep 17 00:00:00 2001 From: Kristian Bendiksen Date: Wed, 29 Apr 2026 09:29:23 +0200 Subject: [PATCH] Sector export: Exclude refinement region wireframe from mouse picking MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Skip pick items with no cvf source info in both pick paths (displayContextMenu and findFirstItems). Without this, the refinement region wireframe — which has no source info — became the topmost hit, causing the picking handler to bail out and leaving Result Info empty instead of falling through to the underlying cell. --- .../UserInterface/RiuViewerCommands.cpp | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/ApplicationLibCode/UserInterface/RiuViewerCommands.cpp b/ApplicationLibCode/UserInterface/RiuViewerCommands.cpp index 07dbb2aa89..fdd57ddc08 100644 --- a/ApplicationLibCode/UserInterface/RiuViewerCommands.cpp +++ b/ApplicationLibCode/UserInterface/RiuViewerCommands.cpp @@ -221,6 +221,13 @@ void RiuViewerCommands::displayContextMenu( QMouseEvent* event ) for ( const auto& pickItem : pickItemInfos ) { + if ( !pickItem.sourceInfo() ) + { + // Skip preview-only geometry without source info (e.g. refinement region wireframes), + // so the pick falls through to the underlying cell. + continue; + } + const RivObjectSourceInfo* objectSourceInfo = dynamic_cast( pickItem.sourceInfo() ); if ( objectSourceInfo && dynamic_cast( objectSourceInfo->object() ) ) { @@ -1164,6 +1171,10 @@ void RiuViewerCommands::findFirstItems( Rim3dView* main for ( size_t i = 0; i < pickItemInfos.size(); i++ ) { + // Skip preview-only geometry without source info (e.g. refinement region wireframes), so + // the pick falls through to the underlying cell instead of clearing Result Info. + if ( !pickItemInfos[i].sourceInfo() ) continue; + // If hit item is nnc and is close to first (none-nnc) hit, store nncpart and face id bool canFindRelvantNNC = true;