[bos #32720] EDF 25230 - partition fails on small case

This commit is contained in:
jfa 2022-11-18 18:19:11 +03:00
parent db6a6a7fe5
commit 7c90108313

View File

@ -423,14 +423,16 @@ Standard_Integer GEOMImpl_PartitionDriver::Execute(Handle(TFunction_Logbook)& lo
return 0;
}
//Alternative case to check not valid partition IPAL21418
TopoDS_Iterator It (aShape, Standard_True, Standard_True);
int nbSubshapes = 0;
for (; It.More(); It.Next())
nbSubshapes++;
if (!nbSubshapes)
Standard_ConstructionError::Raise("Partition aborted : non valid shape result");
//end of IPAL21418
if (aShape.ShapeType() != TopAbs_VERTEX) {
//Alternative case to check not valid partition IPAL21418
TopoDS_Iterator It (aShape, Standard_True, Standard_True);
int nbSubshapes = 0;
for (; It.More(); It.Next())
nbSubshapes++;
if (!nbSubshapes)
Standard_ConstructionError::Raise("Partition aborted : non valid shape result");
//end of IPAL21418
}
if ( !GEOMUtils::CheckShape(aShape, true) && !GEOMUtils::FixShapeTolerance(aShape) )
Standard_ConstructionError::Raise("Partition aborted : non valid shape result");