mirror of
https://git.salome-platform.org/gitpub/modules/geom.git
synced 2025-01-22 09:20:33 +05:00
Fixed a bug that the Local Coordiante Systems normal was wrong when they were built on faces with reversed orientation
This commit is contained in:
parent
a292cd4a4d
commit
ce8009fe71
@ -788,6 +788,15 @@ gp_Ax3 GEOMImpl_IMeasureOperations::GetPosition (const TopoDS_Shape& theShape)
|
||||
Handle(Geom_Plane) aGPlane = Handle(Geom_Plane)::DownCast(aGS);
|
||||
gp_Pln aPln = aGPlane->Pln();
|
||||
aResult = aPln.Position();
|
||||
// In case of reverse orinetation of the face invert the plane normal
|
||||
// (the face's normal does not mathc the plane's normal in this case)
|
||||
if(theShape.Orientation() == TopAbs_REVERSED)
|
||||
{
|
||||
gp_Dir Vx = aResult.XDirection();
|
||||
gp_Dir N = aResult.Direction().Mirrored(Vx);
|
||||
gp_Pnt P = aResult.Location();
|
||||
aResult = gp_Ax3(P, N, Vx);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user