for(theObject->Init(); theObject->More(); theObject->Next())
{
const Handle(SelectMgr_Selection)& aSelection = theObject->CurrentSelection();
+ aSelection->UpdateStatus (SelectMgr_TOU_Full);
Standard_Integer aSelMode = aSelection->Mode();
for (TColStd_MapIteratorOfMapOfTransient aSelectorIter (mySelectors); aSelectorIter.More(); aSelectorIter.Next())
ClearSelectionStructures (theObject, aSelMode, aCurSelector);
theObject->RecomputePrimitives(aSelMode);
RestoreSelectionStructures (theObject, aSelMode, aCurSelector);
+ aSelection->UpdateStatus (SelectMgr_TOU_None);
+ aSelection->UpdateBVHStatus (SelectMgr_TBU_None);
}
}
- aSelection->UpdateStatus (SelectMgr_TOU_None);
- aSelection->UpdateBVHStatus (SelectMgr_TBU_None);
}
}
--- /dev/null
+puts "============"
+puts "CR26870"
+puts "============"
+puts ""
+
+##########################################################################################
+puts "Visualization - deactivated selections are not updated after object's re-computation"
+##########################################################################################
+
+pload VISUALIZATION MODELING
+
+vinit
+box b 1 1 1
+vdisplay b
+vfit
+
+vselmode b 2 1
+vselmode b 4 1
+vselmode b 4 0
+
+box b 3 3 3
+vdisplay b
+vfit
+
+vselmode 4 1
+
+# pick a point onto previously computed face
+vmoveto 80 265
+if {[vreadpixel 90 206 name] == "CYAN1 1"} {
+ puts "ERROR: previously computed entities are highlighted! Selection mode 4 was not updated after redisplaying the box."
+}
+# pick a point onto box
+if {[vreadpixel 29 216 name] == "YELLOW 1"} {
+ puts "ERROR: the box's face is not highlighted! Selection mode 4 was not updated after redisplaying the box."
+}
+
+set only_screen 1