From: ika Date: Thu, 4 Apr 2019 13:07:05 +0000 (+0300) Subject: 0030630: Visualization - wrong visualization of shape with mirrored transformation X-Git-Url: http://git.dev.opencascade.org/gitweb/?a=commitdiff_plain;h=63939d2f86fd2bddbf1ddc4c3f0157e032118c23;p=occt-copy.git 0030630: Visualization - wrong visualization of shape with mirrored transformation Solids with mirror location are displayed, according to their normals. --- diff --git a/src/StdPrs/StdPrs_ShadedShape.cxx b/src/StdPrs/StdPrs_ShadedShape.cxx index 60c41a1286..996c3840c8 100644 --- a/src/StdPrs/StdPrs_ShadedShape.cxx +++ b/src/StdPrs/StdPrs_ShadedShape.cxx @@ -208,7 +208,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(); } @@ -237,7 +237,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]); }