mirror of
https://git.salome-platform.org/gitpub/modules/geom.git
synced 2025-05-30 14:27:49 +05:00
NPAL15898: KindOfShape doesn't detect all planar faces.
This commit is contained in:
parent
4cf6ece050
commit
8dbde85ddc
@ -317,9 +317,6 @@ static
|
|||||||
aF=TopoDS::Face(aS);
|
aF=TopoDS::Face(aS);
|
||||||
//
|
//
|
||||||
aNbWires=NbWires(aF);
|
aNbWires=NbWires(aF);
|
||||||
if (aNbWires>1) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
//
|
//
|
||||||
aSurf=BRep_Tool::Surface(aF);
|
aSurf=BRep_Tool::Surface(aF);
|
||||||
GeomAdaptor_Surface aGAS(aSurf);
|
GeomAdaptor_Surface aGAS(aSurf);
|
||||||
@ -342,6 +339,8 @@ static
|
|||||||
aInfo.SetLocation(aP0);
|
aInfo.SetLocation(aP0);
|
||||||
aInfo.SetPosition(aAx3);
|
aInfo.SetPosition(aAx3);
|
||||||
//
|
//
|
||||||
|
if (aNbWires>1) return;
|
||||||
|
//
|
||||||
//aSurf->Bounds(aUMin, aUMax, aVMin, aVMax);
|
//aSurf->Bounds(aUMin, aUMax, aVMin, aVMax);
|
||||||
BRepTools::UVBounds(aF, aUMin, aUMax, aVMin, aVMax);
|
BRepTools::UVBounds(aF, aUMin, aUMax, aVMin, aVMax);
|
||||||
bInfU1=Precision::IsNegativeInfinite(aUMin);
|
bInfU1=Precision::IsNegativeInfinite(aUMin);
|
||||||
@ -374,6 +373,8 @@ static
|
|||||||
aInfo.SetPosition(aAx3);
|
aInfo.SetPosition(aAx3);
|
||||||
aInfo.SetRadius1(aR1);
|
aInfo.SetRadius1(aR1);
|
||||||
//
|
//
|
||||||
|
if (aNbWires>1) return;
|
||||||
|
//
|
||||||
aInfo.SetKindOfBounds(GEOMAlgo_KB_TRIMMED);
|
aInfo.SetKindOfBounds(GEOMAlgo_KB_TRIMMED);
|
||||||
aInfo.SetKindOfClosed(GEOMAlgo_KC_CLOSED);
|
aInfo.SetKindOfClosed(GEOMAlgo_KC_CLOSED);
|
||||||
//
|
//
|
||||||
@ -394,6 +395,8 @@ static
|
|||||||
aInfo.SetPosition(aAx3);
|
aInfo.SetPosition(aAx3);
|
||||||
aInfo.SetRadius1(aR1);
|
aInfo.SetRadius1(aR1);
|
||||||
//
|
//
|
||||||
|
if (aNbWires>1) return;
|
||||||
|
//
|
||||||
BRepTools::UVBounds(aF, aUMin, aUMax, aVMin, aVMax);
|
BRepTools::UVBounds(aF, aUMin, aUMax, aVMin, aVMax);
|
||||||
bInfU1=Precision::IsNegativeInfinite(aUMin);
|
bInfU1=Precision::IsNegativeInfinite(aUMin);
|
||||||
bInfU2=Precision::IsPositiveInfinite(aUMax);
|
bInfU2=Precision::IsPositiveInfinite(aUMax);
|
||||||
@ -424,6 +427,8 @@ static
|
|||||||
aInfo.SetPosition(aAx3);
|
aInfo.SetPosition(aAx3);
|
||||||
//aInfo.SetRadius1(aR1);
|
//aInfo.SetRadius1(aR1);
|
||||||
//
|
//
|
||||||
|
if (aNbWires>1) return;
|
||||||
|
//
|
||||||
BRepTools::UVBounds(aF, aUMin, aUMax, aVMin, aVMax);
|
BRepTools::UVBounds(aF, aUMin, aUMax, aVMin, aVMax);
|
||||||
bInfU1=Precision::IsNegativeInfinite(aUMin);
|
bInfU1=Precision::IsNegativeInfinite(aUMin);
|
||||||
bInfU2=Precision::IsPositiveInfinite(aUMax);
|
bInfU2=Precision::IsPositiveInfinite(aUMax);
|
||||||
@ -456,8 +461,10 @@ static
|
|||||||
aInfo.SetRadius1(aR1);
|
aInfo.SetRadius1(aR1);
|
||||||
aInfo.SetRadius2(aR2);
|
aInfo.SetRadius2(aR2);
|
||||||
//
|
//
|
||||||
|
if (aNbWires>1) return;
|
||||||
|
//
|
||||||
aInfo.SetKindOfBounds(GEOMAlgo_KB_TRIMMED);
|
aInfo.SetKindOfBounds(GEOMAlgo_KB_TRIMMED);
|
||||||
|
//
|
||||||
FillDetails(aF, aTorus);
|
FillDetails(aF, aTorus);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user