+ return aReadyToDisplay;
+}
+
+void SketcherPrs_Radius::Compute(
+ const Handle(PrsMgr_PresentationManager3d)& thePresentationManager,
+ const Handle(Prs3d_Presentation)& thePresentation,
+ const Standard_Integer theMode)
+{
+ if (!plane().get())
+ return;
+ gp_Circ aCircle;
+ gp_Pnt anAnchorPoint;
+ bool aReadyToDisplay = readyToDisplay(myConstraint, plane(), aCircle, anAnchorPoint);
+ if (aReadyToDisplay) {
+ myCircle = aCircle;
+ myAnchorPoint = anAnchorPoint;
+
+ DataPtr aData = myConstraint->data();
+ AttributeDoublePtr anAttributeValue = aData->real(SketchPlugin_Constraint::VALUE());
+ myValue.init(anAttributeValue);
+ }
+
+ SetMeasuredGeometry(myCircle, myAnchorPoint);
+ myStyleListener->updateDimensions(this, myValue);
+
+ // Update variable aspect parameters (depending on viewer scale)
+ double aTextSize = 0.0;
+ GetValueString(aTextSize);
+
+ AttributeIntegerPtr aLocAttr = std::dynamic_pointer_cast<ModelAPI_AttributeInteger>
+ (myConstraint->data()->attribute(SketchPlugin_ConstraintRadius::LOCATION_TYPE_ID()));
+ SketcherPrs_Tools::LocationType aLocationType = aLocAttr->isInitialized() ?
+ (SketcherPrs_Tools::LocationType)(aLocAttr->value()) : SketcherPrs_Tools::LOCATION_AUTOMATIC;
+ updateArrows(DimensionAspect(), GetValue(), aTextSize, aLocationType);