- // Create circle on the sketch plane
- std::shared_ptr<GeomAPI_Circ2d> aCircleOnSketch;
- std::string aType = string(CIRCLE_TYPE())->value();
- if (aType == CIRCLE_TYPE_BY_CENTER_AND_PASSED_POINTS())
- aCircleOnSketch = shapeByCenterAndPassed();
- else if (aType == CIRCLE_TYPE_BY_THREE_POINTS()) {
- if (attribute(THIRD_POINT_ID())->isInitialized())
- aCircleOnSketch = shapeByThreePoints();
- else
- aCircleOnSketch = shapeByTwoPassedPoints();
- }
-
- if (!aCircleOnSketch)
- return AISObjectPtr();
-
- std::shared_ptr<GeomAPI_Pnt2d> aCenter2D = aCircleOnSketch->center();
- if(!aCenter2D.get())
- return AISObjectPtr();
- double aRadius = aCircleOnSketch->radius();
-