- else { // TODO: check why the entity owner is null here, case is selection point on a line
- Handle(AIS_InteractiveObject) anIO = aContext->DetectedInteractive();
- ModuleBase_ViewerPrsPtr aPrs(new ModuleBase_ViewerPrs());
- aPrs->setInteractive(anIO);
-
- ObjectPtr aResult = aDisplayer->getObject(anIO);
- // we should not check the appearance of this feature because there can be some selected shapes
- // for one feature
- aPrs->setObject(aResult);
- if (aContext->HasOpenedContext()) {
- TopoDS_Shape aShape = aContext->DetectedShape();
- if (!aShape.IsNull()) {
- std::shared_ptr<GeomAPI_Shape> aGeomShape = std::shared_ptr<GeomAPI_Shape>(new GeomAPI_Shape());
- aGeomShape->setImpl(new TopoDS_Shape(aShape));
- aPrs->setShape(aGeomShape);
- }
- }
- aPresentations.push_back(aPrs);
- }