SelectMgr_SelectionManager - removed broken HasTransformation() checks.
void SelectMgr_SelectableObject::UpdateTransformations (const Handle(SelectMgr_Selection)& theSel)
{
const TopLoc_Location aSelfLocation (Transformation());
- if (aSelfLocation.IsIdentity())
- {
- return;
- }
-
for (NCollection_Vector<Handle(SelectMgr_SensitiveEntity)>::Iterator aSelEntIter (theSel->Entities()); aSelEntIter.More(); aSelEntIter.Next())
{
if (Handle(Select3D_SensitiveEntity) aSensEntity = Handle(Select3D_SensitiveEntity)::DownCast (aSelEntIter.Value()->BaseSensitive()))
Standard_FALLTHROUGH
case SelectMgr_TOU_Partial:
{
- if(theObject->HasTransformation())
- {
- theObject->UpdateTransformations (aSelection);
- }
+ theObject->UpdateTransformations (aSelection);
theSelector->RebuildObjectsTree();
break;
}
Standard_FALLTHROUGH
case SelectMgr_TOU_Partial:
{
- if (theObject->HasTransformation())
- {
- theObject->UpdateTransformations (aSelection);
- theSelector->RebuildObjectsTree();
- }
+ theObject->UpdateTransformations (aSelection);
+ theSelector->RebuildObjectsTree();
break;
}
default:
--- /dev/null
+puts "=================="
+puts "0028988: Visualization - AIS_InteractiveContext::SetLocation() does not reset location properly"
+puts "=================="
+puts ""
+
+pload MODELING VISUALIZATION
+
+box b 1 2 3
+vclear
+vinit View1
+vaxo
+vdisplay -dispMode 1 -highMode 1 b
+vfit
+vmoveto 110 110
+if { "[vreadpixel 110 110 rgb name]" != "DARKTURQUOISE" } { puts "Error: shape is not selected!" }
+
+vlocation b -translate 1 0 0
+vmoveto 110 110
+vlocation b -reset
+vmoveto 110 110
+vreadpixel 110 110 rgb name
+if { "[vreadpixel 110 110 rgb name]" != "DARKTURQUOISE" } { puts "Error: resetted shape is not selected!" }