X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FSketchPlugin%2FSketchPlugin_Trim.h;h=365cda33cec49e576cd12bce33e628361c374b8d;hb=4cb749258f33b7de231da5bb50140407c0599d30;hp=91b9405d81f1ad146f9ea8dd12722460999f2dae;hpb=37206d029d9dfc191bd7f523ffc7440627516c29;p=modules%2Fshaper.git diff --git a/src/SketchPlugin/SketchPlugin_Trim.h b/src/SketchPlugin/SketchPlugin_Trim.h index 91b9405d8..365cda33c 100644 --- a/src/SketchPlugin/SketchPlugin_Trim.h +++ b/src/SketchPlugin/SketchPlugin_Trim.h @@ -151,10 +151,19 @@ private: /// Make the base object is splitted by the point attributes /// \param thePoints a list of points where coincidences will be build - FeaturePtr trimCircle(const std::shared_ptr& theStartShapePoint, - const std::shared_ptr& theLastShapePoint, - std::set >& thePoints, - std::set>& theModifiedAttributes); + /// \return new elliptic arc if it was created + FeaturePtr trimEllipticArc(const std::shared_ptr& theStartShapePoint, + const std::shared_ptr& theLastShapePoint, + std::map >& theBaseRefAttributes, + std::set >& thePoints, + std::set>& theModifiedAttributes); + + /// Make the base object is splitted by the point attributes + /// \param thePoints a list of points where coincidences will be build + FeaturePtr trimClosed(const std::shared_ptr& theStartShapePoint, + const std::shared_ptr& theLastShapePoint, + std::set >& thePoints, + std::set>& theModifiedAttributes); /// Correct the first and the second point to provide condition that the first is closer to /// the start point and the second point - to the last end of current segment. To rearrange @@ -194,28 +203,6 @@ private: void fillPointAttribute(const AttributePtr& theModifiedAttribute, const std::shared_ptr& thePoint); - /// Creates a line feature filled by center of base feature and given points - /// \param theBaseFeature another arc feature - /// \param theFirstAttribute an attribute with coordinates for the start point - /// \param theSecondAttribute an attribute with coordinates for the end point - FeaturePtr createLineFeature(const FeaturePtr& theBaseFeature, - const std::shared_ptr& theFirstPoint, - const std::shared_ptr& theSecondPoint); - - /// Creates an arc feature filled by center of base feature and given points - /// \param theBaseFeature another arc feature - /// \param theFirstAttribute an attribute with coordinates for the start point - /// \param theSecondAttribute an attribute with coordinates for the end point - FeaturePtr createArcFeature(const FeaturePtr& theBaseFeature, - const std::shared_ptr& theFirstPoint, - const std::shared_ptr& theSecondPoint); - - /// Result result of the feature to build constraint with. For arc, circle it is an edge result. - /// \param theFeature a feature - /// \return result object - std::shared_ptr getFeatureResult( - const std::shared_ptr& theFeature); - private: void findShapePoints(const std::string& theObjectAttributeId, const std::string& thePointAttributeId,