X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FSketchPlugin%2FSketchPlugin_Validators.cpp;h=29bdf3c27310df0ba7abadc7ca882ea353ef4f85;hb=7e0da9d6edbfd2e934df3ff119b45cec3cff6936;hp=d8d056f46da98a190e2f48e2e856482ba4c1de20;hpb=7b95df2653284e65f416373ff010af49ee8c68ef;p=modules%2Fshaper.git diff --git a/src/SketchPlugin/SketchPlugin_Validators.cpp b/src/SketchPlugin/SketchPlugin_Validators.cpp index d8d056f46..29bdf3c27 100644 --- a/src/SketchPlugin/SketchPlugin_Validators.cpp +++ b/src/SketchPlugin/SketchPlugin_Validators.cpp @@ -22,10 +22,18 @@ bool SketchPlugin_DistanceAttrValidator::isValid(const FeaturePtr& theFeature, SessionPtr aMgr = ModelAPI_Session::get(); ModelAPI_ValidatorsFactory* aFactory = aMgr->validators(); + const ModelAPI_ResultValidator* anArcValidator = + dynamic_cast(aFactory->validator("SketchPlugin_ResultArc")); + bool anArcValid = anArcValidator->isValid(theObject); + if (anArcValid) + return false; + + // If the object is not a line then it is accepted const ModelAPI_ResultValidator* aLineValidator = dynamic_cast(aFactory->validator("SketchPlugin_ResultLine")); - if (!aLineValidator->isValid(theObject)) + bool aLineValid = aLineValidator->isValid(theObject); + if (!aLineValid) return true; // If it is a line then we have to check that first attribute id not a line