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 aFirstVert = FirstVertex (edge);
|
||||||
TopoDS_Vertex aLastVert = LastVertex (edge);
|
TopoDS_Vertex aLastVert = LastVertex (edge);
|
||||||
|
|
||||||
if (aFirstVert.IsNull() || aLastVert.IsNull())
|
if (aFirstVert.IsNull() || aLastVert.IsNull() || aFirstVert.IsSame(aLastVert))
|
||||||
return Standard_False;
|
return Standard_False;
|
||||||
|
|
||||||
Standard_Real preci1 = BRep_Tool::Tolerance (aFirstVert),
|
Standard_Real preci1 = BRep_Tool::Tolerance (aFirstVert),
|
||||||
@@ -469,14 +469,14 @@ Standard_Boolean ShapeAnalysis_Edge::CheckPoints (const gp_Pnt& P1A,
|
|||||||
const Standard_Real preci2)
|
const Standard_Real preci2)
|
||||||
{
|
{
|
||||||
myStatus = ShapeExtend::EncodeStatus (ShapeExtend_OK);
|
myStatus = ShapeExtend::EncodeStatus (ShapeExtend_OK);
|
||||||
if (P1A.SquareDistance (P2A) <= preci1 * preci1 &&
|
if( (P1A.SquareDistance(P2B) < P1A.SquareDistance(P2A) ) &&
|
||||||
P1B.SquareDistance (P2B) <= preci2 * preci2)
|
( P1B.SquareDistance(P2A) < P1B.SquareDistance(P2B)) )
|
||||||
return Standard_False;
|
{
|
||||||
else if (P1A.Distance (P2B) + (P1B.Distance (P2A)) <
|
|
||||||
P1A.Distance (P2A) + (P1B.Distance (P2B)))
|
|
||||||
myStatus |= ShapeExtend::EncodeStatus(ShapeExtend_DONE1);
|
myStatus |= ShapeExtend::EncodeStatus(ShapeExtend_DONE1);
|
||||||
return Standard_True;
|
return Standard_True;
|
||||||
}
|
}
|
||||||
|
return Standard_False;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
//=======================================================================
|
//=======================================================================
|
||||||
|
Reference in New Issue
Block a user