NPAL15898: KindOfShape doesn't detect all planar faces.

This commit is contained in:
jfa 2007-05-11 08:44:48 +00:00
parent 4cf6ece050
commit 8dbde85ddc

View File

@ -317,9 +317,6 @@ static
aF=TopoDS::Face(aS);
//
aNbWires=NbWires(aF);
if (aNbWires>1) {
return;
}
//
aSurf=BRep_Tool::Surface(aF);
GeomAdaptor_Surface aGAS(aSurf);
@ -342,6 +339,8 @@ static
aInfo.SetLocation(aP0);
aInfo.SetPosition(aAx3);
//
if (aNbWires>1) return;
//
//aSurf->Bounds(aUMin, aUMax, aVMin, aVMax);
BRepTools::UVBounds(aF, aUMin, aUMax, aVMin, aVMax);
bInfU1=Precision::IsNegativeInfinite(aUMin);
@ -374,6 +373,8 @@ static
aInfo.SetPosition(aAx3);
aInfo.SetRadius1(aR1);
//
if (aNbWires>1) return;
//
aInfo.SetKindOfBounds(GEOMAlgo_KB_TRIMMED);
aInfo.SetKindOfClosed(GEOMAlgo_KC_CLOSED);
//
@ -394,6 +395,8 @@ static
aInfo.SetPosition(aAx3);
aInfo.SetRadius1(aR1);
//
if (aNbWires>1) return;
//
BRepTools::UVBounds(aF, aUMin, aUMax, aVMin, aVMax);
bInfU1=Precision::IsNegativeInfinite(aUMin);
bInfU2=Precision::IsPositiveInfinite(aUMax);
@ -424,6 +427,8 @@ static
aInfo.SetPosition(aAx3);
//aInfo.SetRadius1(aR1);
//
if (aNbWires>1) return;
//
BRepTools::UVBounds(aF, aUMin, aUMax, aVMin, aVMax);
bInfU1=Precision::IsNegativeInfinite(aUMin);
bInfU2=Precision::IsPositiveInfinite(aUMax);
@ -456,8 +461,10 @@ static
aInfo.SetRadius1(aR1);
aInfo.SetRadius2(aR2);
//
if (aNbWires>1) return;
//
aInfo.SetKindOfBounds(GEOMAlgo_KB_TRIMMED);
//
FillDetails(aF, aTorus);
}
}