Salome HOME
[PythonAPI] Use _fillAttribute() in some sketch functions
[modules/shaper.git] / src / GeomAPI / GeomAPI_AISObject.cpp
index bd8892987095df14e38c193c0814f0d4835b9cb1..198a1892631ded1ab512bfaaf282d6f7b9473160 100644 (file)
@@ -83,6 +83,22 @@ void GeomAPI_AISObject::createShape(std::shared_ptr<GeomAPI_Shape> theShape)
   }
 }
 
+std::shared_ptr<GeomAPI_Shape> GeomAPI_AISObject::getShape() const
+{
+  std::shared_ptr<GeomAPI_Shape> aResult;
+
+  Handle(AIS_InteractiveObject) anAIS = impl<Handle(AIS_InteractiveObject)>();
+  if (!anAIS.IsNull()) {
+    Handle(AIS_Shape) aShapeAIS = Handle(AIS_Shape)::DownCast(anAIS);
+    if (aShapeAIS) {
+      std::shared_ptr<GeomAPI_Shape> aResult(new GeomAPI_Shape);
+      aResult->setImpl(new TopoDS_Shape(aShapeAIS->Shape()));
+      return aResult;
+    }
+  }
+  return std::shared_ptr<GeomAPI_Shape>();
+}
+
 void GeomAPI_AISObject::createDistance(std::shared_ptr<GeomAPI_Pnt> theStartPoint,
                                        std::shared_ptr<GeomAPI_Pnt> theEndPoint,
                                        std::shared_ptr<GeomAPI_Pnt> theFlyoutPoint,