++anIt)
{
GeomShapePtr aShape = *anIt;
- if (aShape.get() && aShape->isShell())
+ if (aShape.get())
{
- nbInputShells++;
+ if (aShape->isShell()) nbInputShells++;
nbInputFaces += aShape->subShapes(GeomAPI_Shape::FACE, true).size();
}
}
nbResultFaces = theResult->subShapes(GeomAPI_Shape::FACE, true).size();
}
- return (nbResultShells > nbInputShells || (nbResultShells == nbInputShells && nbResultFaces > nbInputFaces));
+ return ((nbInputShells == 0 && nbResultShells > 0) || (nbResultShells < nbInputShells) || (nbResultShells == nbInputShells && nbResultFaces > nbInputFaces));
}