aTargetPoint2d.SetCoord(aX, aY);
// choose the nearest circle
- Standard_Real aDistance, aP;
+ Standard_Real aDistance = Precision::Infinite();
GEOMImpl_Fillet1dPoint *aNearest;
Standard_Integer a;
TColStd_ListIteratorOfListOfReal anIter(myResultParams);
fillPoint(aPoint);
if (!aPoint->HasSolution(myRadius))
continue;
- aP = fabs(aPoint->GetCenter().Distance(aTargetPoint2d) - myRadius);
+ Standard_Real aP = fabs(aPoint->GetCenter().Distance(aTargetPoint2d) - myRadius);
if (!aNearest || aP < aDistance)
{
aNearest = aPoint;
else
theEdge1 = aDivider1.Edge();
}
+ else {
+ // error: filleted edge becomes degenerated
+ aResult = TopoDS_Edge();
+ }
aCurve = BRep_Tool::Curve(myEdge2, aStart, anEnd);
aCurve->D1(aNearest->GetParam2(), aPoint2, aDir);
else
theEdge2 = aDivider2.Edge();
}
+ else {
+ // error: filleted edge becomes degenerated
+ aResult = TopoDS_Edge();
+ }
delete aNearest;
return aResult;
{
Standard_Integer a;
Standard_Boolean aDiffsSet = (myD.Length() != 0);
- Standard_Real aDX = thePoint->GetParam() - myParam, aDY;
+ Standard_Real aDX = thePoint->GetParam() - myParam, aDY = 0.0;
if (thePoint->myV.Length() == myV.Length())
{ // absolutely the same points
for(a = 1; a <= myV.Length(); a++)