X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FSketcherPrs%2FSketcherPrs_Radius.cpp;h=e656da498df4a10476eafd90a2a4f0b6305352fc;hb=06e7f5859095193fc7f498bd89a7d28009794f53;hp=f57a08db062d3987375907d1b1b238da14429db0;hpb=c4eab94a20a0d93100549a210582d46409fec1cc;p=modules%2Fshaper.git diff --git a/src/SketcherPrs/SketcherPrs_Radius.cpp b/src/SketcherPrs/SketcherPrs_Radius.cpp index f57a08db0..e656da498 100644 --- a/src/SketcherPrs/SketcherPrs_Radius.cpp +++ b/src/SketcherPrs/SketcherPrs_Radius.cpp @@ -1,4 +1,4 @@ -// Copyright (C) 2014-2019 CEA/DEN, EDF R&D +// Copyright (C) 2014-2023 CEA, EDF // // This library is free software; you can redistribute it and/or // modify it under the terms of the GNU Lesser General Public @@ -19,7 +19,7 @@ #include "SketcherPrs_Radius.h" #include "SketcherPrs_Tools.h" -#include "SketcherPrs_DimensionStyleListener.h" +#include "SketcherPrs_DimensionStyle.h" #include #include @@ -49,17 +49,17 @@ extern void updateArrows(Handle(Prs3d_DimensionAspect) theDimAspect, static const gp_Circ MyDefCirc(gp_Ax2(gp_Pnt(0,0,0), gp_Dir(0,0,1)), 1); -IMPLEMENT_STANDARD_RTTIEXT(SketcherPrs_Radius, AIS_RadiusDimension); +IMPLEMENT_STANDARD_RTTIEXT(SketcherPrs_Radius, PrsDim_RadiusDimension); SketcherPrs_Radius::SketcherPrs_Radius(ModelAPI_Feature* theConstraint, - const std::shared_ptr& thePlane) -: AIS_RadiusDimension(MyDefCirc), myConstraint(theConstraint), mySketcherPlane(thePlane), + SketchPlugin_Sketch* theSketcher) +: PrsDim_RadiusDimension(MyDefCirc), myConstraint(theConstraint), mySketcher(theSketcher), myCircle(MyDefCirc), myAnchorPoint(gp_Pnt(0, 0, 2)), myValue(1, false, "") { SetDimensionAspect(createDimensionAspect()); - myStyleListener = new SketcherPrs_DimensionStyleListener(); + myStyleListener = new SketcherPrs_DimensionStyle(); } SketcherPrs_Radius::~SketcherPrs_Radius() @@ -145,9 +145,11 @@ void SketcherPrs_Radius::Compute( const Handle(Prs3d_Presentation)& thePresentation, const Standard_Integer theMode) { + if (!plane().get()) + return; gp_Circ aCircle; gp_Pnt anAnchorPoint; - bool aReadyToDisplay = readyToDisplay(myConstraint, mySketcherPlane, aCircle, anAnchorPoint); + bool aReadyToDisplay = readyToDisplay(myConstraint, plane(), aCircle, anAnchorPoint); if (aReadyToDisplay) { myCircle = aCircle; myAnchorPoint = anAnchorPoint; @@ -170,7 +172,7 @@ void SketcherPrs_Radius::Compute( (SketcherPrs_Tools::LocationType)(aLocAttr->value()) : SketcherPrs_Tools::LOCATION_AUTOMATIC; updateArrows(DimensionAspect(), GetValue(), aTextSize, aLocationType); - AIS_RadiusDimension::Compute(thePresentationManager, thePresentation, theMode); + PrsDim_RadiusDimension::Compute(thePresentationManager, thePresentation, theMode); if (!aReadyToDisplay) SketcherPrs_Tools::sendEmptyPresentationError(myConstraint, @@ -202,5 +204,5 @@ void SketcherPrs_Radius::ComputeSelection(const Handle(SelectMgr_Selection)& aSe } } SetSelToleranceForText2d(SketcherPrs_Tools::getArrowSize()/5.); - AIS_RadiusDimension::ComputeSelection(aSelection, aMode); + PrsDim_RadiusDimension::ComputeSelection(aSelection, aMode); }