#include <SketchPlugin_Point.h>
#include <SketchPlugin_Circle.h>
-#include <Events_Error.h>
-
#include <GeomDataAPI_Point2D.h>
#include <GeomAPI_Pnt.h>
#include <GeomAPI_XYZ.h>
IMPLEMENT_STANDARD_RTTIEXT(SketcherPrs_LengthDimension, AIS_LengthDimension);
SketcherPrs_LengthDimension::SketcherPrs_LengthDimension(ModelAPI_Feature* theConstraint,
- const std::shared_ptr<GeomAPI_Ax3>& thePlane)
+ const std::shared_ptr<GeomAPI_Ax3>& thePlane)
: AIS_LengthDimension(MyDefStart, MyDefEnd, MyDefPln),
myConstraint(theConstraint),
- mySketcherPlane(thePlane)
+ mySketcherPlane(thePlane),
+ myFirstPoint(MyDefStart),
+ mySecondPoint(MyDefEnd),
+ myPlane(MyDefPln),
+ myDistance(1),
+ myValue(0., false, "")
{
SetDimensionAspect(SketcherPrs_Tools::createDimensionAspect());
- SetSelToleranceForText2d(SketcherPrs_Tools::getTextHeight());
-
myStyleListener = new SketcherPrs_DimensionStyleListener();
}
return readyToDisplay(theConstraint, thePlane, aPnt1, aPnt2);
}
-void SketcherPrs_LengthDimension::Compute(const Handle(PrsMgr_PresentationManager3d)& thePresentationManager,
- const Handle(Prs3d_Presentation)& thePresentation,
- const Standard_Integer theMode)
+void SketcherPrs_LengthDimension::Compute(
+ const Handle(PrsMgr_PresentationManager3d)& thePresentationManager,
+ const Handle(Prs3d_Presentation)& thePresentation,
+ const Standard_Integer theMode)
{
gp_Pnt aPnt1, aPnt2;
bool aReadyToDisplay = readyToDisplay(myConstraint, mySketcherPlane, aPnt1, aPnt2);
myDistance = SketcherPrs_Tools::getFlyoutDistance(myConstraint);
myPlane = gp_Pln(mySketcherPlane->impl<gp_Ax3>());
- AttributeDoublePtr anAttributeValue = myConstraint->data()->real(SketchPlugin_Constraint::VALUE());
-
- myHasParameters = anAttributeValue->usedParameters().size() > 0;
- myValue = anAttributeValue->text();
+ DataPtr aData = myConstraint->data();
+ AttributeDoublePtr anAttributeValue = aData->real(SketchPlugin_Constraint::VALUE());
+ myValue.init(anAttributeValue);
}
// compute flyout distance
SketcherPrs_Tools::updateArrows(DimensionAspect(), GetValue(), aTextSize);
// Update text visualization: parameter value or parameter text
- myStyleListener->updateDimensions(this, myHasParameters, myValue);
+ myStyleListener->updateDimensions(this, myValue);
AIS_LengthDimension::Compute(thePresentationManager, thePresentation, theMode);