- if(aTextSize > ((aDimensionValue - 3 * SketcherPrs_Tools::getArrowSize()) * aViewerScale)) {
- myAspect->SetTextHorizontalPosition(Prs3d_DTHP_Left);
- myAspect->SetArrowOrientation(Prs3d_DAO_External);
- myAspect->SetExtensionSize(aTextSize / aViewerScale - SketcherPrs_Tools::getArrowSize() / 2.0);
- } else {
- myAspect->SetTextHorizontalPosition(Prs3d_DTHP_Center);
- myAspect->SetArrowOrientation(Prs3d_DAO_Internal);
- }
- myAspect->SetArrowTailSize(myAspect->ArrowAspect()->Length());
-
- // The value of vertical aligment is sometimes changed
- myAspect->TextAspect()->SetVerticalJustification(Graphic3d_VTA_CENTER);
-
- AttributeDoublePtr aValue = myConstraint->data()->real(SketchPlugin_Constraint::VALUE());
- std::set<std::string> aParams = aValue->usedParameters();
- if (aParams.size() > 0) {
- SetSpecialSymbol(MySummSymbol);
- SetDisplaySpecialSymbol(AIS_DSS_Before);
- }
+ // Update text visualization: parameter value or parameter text
+ myStyleListener->updateDimensions(this, myValue);