From 7637f2b35db766993c0cfc1223df43686082c11d Mon Sep 17 00:00:00 2001 From: JGV <> Date: Thu, 8 Dec 2011 11:46:41 +0000 Subject: [PATCH] 0022117: Wrong calculation in gp_Dir::Mirror(const gp_Ax2&) --- src/gp/gp_Dir.cxx | 13 ++++--------- 1 file changed, 4 insertions(+), 9 deletions(-) diff --git a/src/gp/gp_Dir.cxx b/src/gp/gp_Dir.cxx index b1e8e3ff50..8a8e1bb97d 100755 --- a/src/gp/gp_Dir.cxx +++ b/src/gp/gp_Dir.cxx @@ -3,6 +3,7 @@ #include + Standard_Real gp_Dir::Angle (const gp_Dir& Other) const { // Commentaires : @@ -77,15 +78,9 @@ void gp_Dir::Mirror (const gp_Ax1& A1) void gp_Dir::Mirror (const gp_Ax2& A2) { - gp_XYZ Z = A2.Direction().XYZ(); - gp_XYZ MirXYZ = Z.Crossed (coord); - if (MirXYZ.Modulus() <= gp::Resolution()) - { coord.Reverse(); } - else { - Z.Cross (MirXYZ); - gp_Dir MirDirection (MirXYZ); - Mirror (MirDirection); - } + const gp_Dir& Vz = A2.Direction(); + Mirror(Vz); + Reverse(); } void gp_Dir::Transform (const gp_Trsf& T)