diff --git a/src/StdSelect/StdSelect_BRepOwner.cxx b/src/StdSelect/StdSelect_BRepOwner.cxx index 9189e410bf..2654518ef2 100644 --- a/src/StdSelect/StdSelect_BRepOwner.cxx +++ b/src/StdSelect/StdSelect_BRepOwner.cxx @@ -114,6 +114,7 @@ void StdSelect_BRepOwner::Hilight(const Handle(PrsMgr_PresentationManager)& PM, if (!aSel.IsNull()) { myPrsSh->SetZLayer (aSel->ZLayer()); + myPrsSh->SetTransformPersistence (aSel->GetTransformPersistenceMode(), aSel->GetTransformPersistencePoint()); } // highlight and set layer @@ -176,6 +177,7 @@ void StdSelect_BRepOwner::HilightWithColor(const Handle(PrsMgr_PresentationManag if (!aSel.IsNull()) { myPrsSh->SetZLayer (aSel->ZLayer()); + myPrsSh->SetTransformPersistence (aSel->GetTransformPersistenceMode(), aSel->GetTransformPersistencePoint()); } // highlight with color and set layer diff --git a/tests/bugs/vis/bug27817 b/tests/bugs/vis/bug27817 new file mode 100644 index 0000000000..e830f518b1 --- /dev/null +++ b/tests/bugs/vis/bug27817 @@ -0,0 +1,17 @@ +puts "========" +puts "StdSelect_BRepOwner - copy transformation persistence flag" +puts "========" + +pload MODELING VISUALIZATION + +vclear +vinit View1 +vtrihedron t +vdisplay -trsfPers trihedron -trsfPersPos -1 -1 40 t +box b 30 40 50 +vdisplay -trsfPers trihedron -trsfPersPos -1 -1 40 -dispMode 1 -highMode 1 b +vselmode b 4 1 +vmoveto 50 350 +if { [vreadpixel 50 350 rgb name] != "DARKTURQUOISE" } { puts "Error: face is not highlighted" } + +vdump $imagedir/${casename}.png