X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FSketchPlugin%2FSketchPlugin_ConstraintSplit.h;h=e4e1bc7705eb816b4abd8994ea553c445326d6b5;hb=071297c18a7c1bf8e651b96b5874edad24f42e23;hp=1af0db8f7e3d5811be5c0eb78f5d00e2333aa14b;hpb=bb5bba6e567f9cae87f9fbaf584d2d0502ec372e;p=modules%2Fshaper.git diff --git a/src/SketchPlugin/SketchPlugin_ConstraintSplit.h b/src/SketchPlugin/SketchPlugin_ConstraintSplit.h index 1af0db8f7..e4e1bc770 100755 --- a/src/SketchPlugin/SketchPlugin_ConstraintSplit.h +++ b/src/SketchPlugin/SketchPlugin_ConstraintSplit.h @@ -80,20 +80,17 @@ class SketchPlugin_ConstraintSplit : public SketchPlugin_ConstraintBase /// \brief Use plugin manager for features creation SketchPlugin_ConstraintSplit(); - /// \return map of base points and features; - //SKETCHPLUGIN_EXPORT const std::map pointsFeaturesMap() const { - // return myPointFeaturesMap; - //}; - /// Returns the AIS preview SKETCHPLUGIN_EXPORT virtual AISObjectPtr getAISObject(AISObjectPtr thePrevious); private: /// Returns geom point attribute of the feature bounds. It processes line or arc. /// For circle feature, the result attributes are null + /// \param theFeature a source feature /// \param theStartPointAttr an out attribute to start point /// \param theStartPointAttr an out attribute to end point - void getFeaturePoints(std::shared_ptr& theStartPointAttr, + void getFeaturePoints(const FeaturePtr& theFeature, + std::shared_ptr& theStartPointAttr, std::shared_ptr& theEndPointAttr); /// Returns cast of attribute to geometrical point if the attribute is a ref attr attribute @@ -110,12 +107,10 @@ private: /// \param theCoincidenceToPoint [out] coincidence to point be connected to new feature void getConstraints(std::set>& theFeaturesToDelete, std::set>& theFeaturesToUpdate, - std::map, IdToPointPair>& theTangentFeatures, - std::map, IdToPointPair>& theCoincidenceToFeature/*, - std::map, IdToPointPair>& theCoincidenceToPoint*/); + std::map, IdToPointPair>& theCoincidenceToFeature); /// Obtains references to feature point attributes and to feature, - /// e.g. for feature line: 1st container is + /// e.g. for feature line: 1st container is /// <1st line point, list > /// <2nd line point, list<> > /// for feature circle 2nd container is @@ -128,19 +123,14 @@ private: /// Move coincidence constraint from feature to point if it is found /// \param theCoincidenceToFeature coincidence to feature to be connected to new feature /// \param theFurtherCoincidences a list of points where coincidences will be build - /// \paramv theFeatureResults created results after split where constaint might be connected + /// \param theFeatureResults created results after split where constaint might be connected + /// \param theSplitFeature feature created by split, new coincidences to points should be created + /// if theCoincidenceToFeature contains equal points void updateCoincidenceConstraintsToFeature( const std::map, IdToPointPair>& theCoincidenceToFeature, const std::set >& theFurtherCoincidences, - const std::set& theFeatureResults); - - /// Move tangency constraint to the nearest split feature that has a coincidence to the tangent - /// \param theTangentFeatures tangencies to feature to be connected to nearest feature - /// \param theFurtherCoincidences a list of points where coincidences is built - void updateTangentConstraintsToFeature( - const std::map, IdToPointPair>& theTangentFeatures, - const std::set >& theFurtherCoincidences); - + const std::set& theFeatureResults, + const FeaturePtr& theSplitFeature); /// Move constraints from base feature to given feature /// \param theFeature a base feature @@ -162,7 +152,7 @@ private: /// \param theAfterFeature a feature between last point of split feature and the end point /// \param thePoints a list of points where coincidences will be build /// \param theCreatedFeatures a container of created features - /// \param theModifiedAttributes a container of attribute on base + /// \param theModifiedAttributes a container of attribute on base /// feature to attribute on new feature void splitLine(std::shared_ptr& theSplitFeature, std::shared_ptr& theBeforeFeature, @@ -277,11 +267,13 @@ private: std::set > getEdgeAttributes( const std::shared_ptr& theFeature); +#ifdef _DEBUG /// Return feature name, kind, point attribute values united in a string /// \param theFeature an investigated feature /// \return string value std::string getFeatureInfo(const std::shared_ptr& theFeature, const bool isUseAttributesInfo = true); +#endif }; #endif