void Model_ResultConstruction::setShape(std::shared_ptr<GeomAPI_Shape> theShape)
{
if (myShape != theShape) {
- if (!isInfinite())
- storeShape(theShape);
+ storeShape(theShape);
if (!theShape.get() || !theShape->isEqual(myShape)) {
static const Events_ID anEvent = Events_Loop::eventByName(EVENT_OBJECT_UPDATED);
ModelAPI_EventCreator::get()->sendUpdated(data()->owner(), anEvent);
std::shared_ptr<Model_Document> aMyDoc =
std::dynamic_pointer_cast<Model_Document>(document());
const TopoDS_Shape& aShape = theShape->impl<TopoDS_Shape>();
- if (aShape.ShapeType() == TopAbs_VERTEX) {
+ if (isInfinite() || aShape.ShapeType() == TopAbs_VERTEX) {
aShapeLab.ForgetAllAttributes(); // clear all previously stored
TNaming_Builder aBuilder(aShapeLab);
aBuilder.Generated(aShape);