mirror of
https://git.dev.opencascade.org/repos/occt.git
synced 2025-04-10 18:51:21 +03:00
0028687: Offset for open wire is built with incorrect direction
Added new condition to exclude offsetting non closed part of circle as complete circle
This commit is contained in:
parent
55b5d19bd8
commit
7e187d6b22
@ -283,6 +283,10 @@ static Standard_Boolean KPartCircle
|
|||||||
{
|
{
|
||||||
if (E.Orientation() == TopAbs_FORWARD)
|
if (E.Orientation() == TopAbs_FORWARD)
|
||||||
anOffset *= -1;
|
anOffset *= -1;
|
||||||
|
if (!BRep_Tool::IsClosed(E))
|
||||||
|
{
|
||||||
|
anOffset *= -1;
|
||||||
|
}
|
||||||
gp_Circ2d theCirc = AHC->Circle();
|
gp_Circ2d theCirc = AHC->Circle();
|
||||||
if (anOffset > 0. || Abs(anOffset) < theCirc.Radius())
|
if (anOffset > 0. || Abs(anOffset) < theCirc.Radius())
|
||||||
OC = new Geom2d_Circle (theCirc.Position(), theCirc.Radius() + anOffset);
|
OC = new Geom2d_Circle (theCirc.Position(), theCirc.Radius() + anOffset);
|
||||||
|
@ -23,7 +23,7 @@ vori result
|
|||||||
|
|
||||||
fit
|
fit
|
||||||
|
|
||||||
checkprops result -l 613.39
|
checkprops result -l 644.509
|
||||||
checkshape result
|
checkshape result
|
||||||
checksection result
|
checksection result
|
||||||
|
|
||||||
|
@ -23,7 +23,7 @@ vori result
|
|||||||
|
|
||||||
fit
|
fit
|
||||||
|
|
||||||
checkprops result -l 644.509
|
checkprops result -l 613.39
|
||||||
checkshape result
|
checkshape result
|
||||||
checksection result
|
checksection result
|
||||||
|
|
||||||
|
@ -23,7 +23,7 @@ vori result
|
|||||||
|
|
||||||
fit
|
fit
|
||||||
|
|
||||||
checkprops result -l 354.958
|
checkprops result -l 386.077
|
||||||
checkshape result
|
checkshape result
|
||||||
checksection result
|
checksection result
|
||||||
|
|
||||||
|
@ -23,7 +23,7 @@ vori result
|
|||||||
|
|
||||||
fit
|
fit
|
||||||
|
|
||||||
checkprops result -l 386.077
|
checkprops result -l 354.958
|
||||||
checkshape result
|
checkshape result
|
||||||
checksection result
|
checksection result
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user