From cd506bb84eaa34f12f4a1b3caf38cc339a95b8e9 Mon Sep 17 00:00:00 2001 From: ika Date: Thu, 4 Apr 2019 16:07:05 +0300 Subject: [PATCH] 0030630: Visualization - wrong visualization of shape with mirrored transformation Solids with mirror location are displayed, according to their normals. --- src/StdPrs/StdPrs_ShadedShape.cxx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/StdPrs/StdPrs_ShadedShape.cxx b/src/StdPrs/StdPrs_ShadedShape.cxx index e098fc47e6..2c34858c0f 100644 --- a/src/StdPrs/StdPrs_ShadedShape.cxx +++ b/src/StdPrs/StdPrs_ShadedShape.cxx @@ -206,7 +206,7 @@ namespace aPoint = aNodes (aNodeIter); const Standard_Integer anId = 3 * (aNodeIter - aNodes.Lower()); gp_Dir aNorm (aNormArr[anId + 0], aNormArr[anId + 1], aNormArr[anId + 2]); - if (aFace.Orientation() == TopAbs_REVERSED) + if ((aFace.Orientation() == TopAbs_REVERSED) ^ isMirrored) { aNorm.Reverse(); } @@ -235,7 +235,7 @@ namespace Standard_Integer anIndex[3]; for (Standard_Integer aTriIter = 1; aTriIter <= aT->NbTriangles(); ++aTriIter) { - if ((aFace.Orientation() == TopAbs_REVERSED) ^ isMirrored) + if ((aFace.Orientation() == TopAbs_REVERSED)) { aTriangles (aTriIter).Get (anIndex[0], anIndex[2], anIndex[1]); } -- 2.39.5