mirror of
https://git.dev.opencascade.org/repos/occt.git
synced 2025-08-14 13:30:48 +03:00
Additional fix for 29713
0029713: Test Harness command "fixshape" can not fix attached face Fix to reverse invalid oriented pcurves was made
This commit is contained in:
@@ -438,7 +438,7 @@ Standard_Boolean ShapeAnalysis_Edge::CheckCurve3dWithPCurve (const TopoDS_Edge&
|
||||
TopoDS_Vertex aFirstVert = FirstVertex (edge);
|
||||
TopoDS_Vertex aLastVert = LastVertex (edge);
|
||||
|
||||
if (aFirstVert.IsNull() || aLastVert.IsNull())
|
||||
if (aFirstVert.IsNull() || aLastVert.IsNull() || aFirstVert.IsSame(aLastVert))
|
||||
return Standard_False;
|
||||
|
||||
Standard_Real preci1 = BRep_Tool::Tolerance (aFirstVert),
|
||||
@@ -469,13 +469,13 @@ Standard_Boolean ShapeAnalysis_Edge::CheckPoints (const gp_Pnt& P1A,
|
||||
const Standard_Real preci2)
|
||||
{
|
||||
myStatus = ShapeExtend::EncodeStatus (ShapeExtend_OK);
|
||||
if (P1A.SquareDistance (P2A) <= preci1 * preci1 &&
|
||||
P1B.SquareDistance (P2B) <= preci2 * preci2)
|
||||
return Standard_False;
|
||||
else if (P1A.Distance (P2B) + (P1B.Distance (P2A)) <
|
||||
P1A.Distance (P2A) + (P1B.Distance (P2B)))
|
||||
myStatus |= ShapeExtend::EncodeStatus (ShapeExtend_DONE1);
|
||||
if( (P1A.SquareDistance(P2B) < P1A.SquareDistance(P2A) ) &&
|
||||
( P1B.SquareDistance(P2A) < P1B.SquareDistance(P2B)) )
|
||||
{
|
||||
myStatus |= ShapeExtend::EncodeStatus(ShapeExtend_DONE1);
|
||||
return Standard_True;
|
||||
}
|
||||
return Standard_False;
|
||||
}
|
||||
|
||||
|
||||
|
Reference in New Issue
Block a user