1
0
mirror of https://git.dev.opencascade.org/repos/occt.git synced 2025-04-16 10:08:36 +03:00

0022117: Wrong calculation in gp_Dir::Mirror(const gp_Ax2&)

This commit is contained in:
JGV 2011-12-08 11:46:41 +00:00 committed by bugmaster
parent d164636550
commit 7637f2b35d

View File

@ -3,6 +3,7 @@
#include <gp_Dir.ixx> #include <gp_Dir.ixx>
Standard_Real gp_Dir::Angle (const gp_Dir& Other) const Standard_Real gp_Dir::Angle (const gp_Dir& Other) const
{ {
// Commentaires : // Commentaires :
@ -77,15 +78,9 @@ void gp_Dir::Mirror (const gp_Ax1& A1)
void gp_Dir::Mirror (const gp_Ax2& A2) void gp_Dir::Mirror (const gp_Ax2& A2)
{ {
gp_XYZ Z = A2.Direction().XYZ(); const gp_Dir& Vz = A2.Direction();
gp_XYZ MirXYZ = Z.Crossed (coord); Mirror(Vz);
if (MirXYZ.Modulus() <= gp::Resolution()) Reverse();
{ coord.Reverse(); }
else {
Z.Cross (MirXYZ);
gp_Dir MirDirection (MirXYZ);
Mirror (MirDirection);
}
} }
void gp_Dir::Transform (const gp_Trsf& T) void gp_Dir::Transform (const gp_Trsf& T)