IMPLEMENT_STANDARD_RTTIEXT(SketcherPrs_Angle, AIS_AngleDimension);
+static const Standard_ExtCharacter MyEmptySymbol(' ');
+static const Standard_ExtCharacter MySummSymbol(0x03A3);
+
SketcherPrs_Angle::SketcherPrs_Angle(ModelAPI_Feature* theConstraint,
const std::shared_ptr<GeomAPI_Ax3>& thePlane)
: AIS_AngleDimension(gp_Pnt(0,0,0), gp_Pnt(1,0,0), gp_Pnt(0,1,0)), myConstraint(theConstraint), myPlane(thePlane)
myAspect->SetExtensionSize(myAspect->ArrowAspect()->Length());
myAspect->SetArrowTailSize(myAspect->ArrowAspect()->Length());
+ 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);
+ }
+ else {
+ SetSpecialSymbol(MyEmptySymbol);
+ SetDisplaySpecialSymbol(AIS_DSS_Before);
+ }
+
AIS_AngleDimension::Compute(thePresentationManager, thePresentation, theMode);
}
IMPLEMENT_STANDARD_HANDLE(SketcherPrs_Radius, AIS_RadiusDimension);
IMPLEMENT_STANDARD_RTTIEXT(SketcherPrs_Radius, AIS_RadiusDimension);
+static const Standard_ExtCharacter MyEmptySymbol(' ');
+static const Standard_ExtCharacter MySummSymbol(0x03A3);
+
SketcherPrs_Radius::SketcherPrs_Radius(ModelAPI_Feature* theConstraint,
const std::shared_ptr<GeomAPI_Ax3>& thePlane)
: AIS_RadiusDimension(MyDefCirc), myConstraint(theConstraint), myPlane(thePlane)
// 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);
+ }
+ else {
+ SetSpecialSymbol(MyEmptySymbol);
+ SetDisplaySpecialSymbol(AIS_DSS_Before);
+ }
+
AIS_RadiusDimension::Compute(thePresentationManager, thePresentation, theMode);
}