-protected:
- /// Returns an object that is under the mouse point. Firstly it checks the highlighting,
- /// if it exists, the first object is returned. Secondly, there is an iteration on
- /// the selected list to find the point. Thirdly, if the object is not found under the
- /// the point, the first selected object is returned.
- /// \param thePoint a screen point
- /// \param theView a 3D view
- /// \param theSketch the sketch feature
- /// \param thePresentations the list of presentations
- static ObjectPtr nearestFeature(QPoint thePoint, Handle_V3d_View theView, FeaturePtr theSketch,
- const QList<ModuleBase_ViewerPrs>& thePresentations);
+ /**
+ * Finds an attribute value in attribute reference attribute value
+ * \param theAttribute - an attribure reference filled with an attribute
+ * \param theWorkshop a reference to workshop
+ * \return a geometry shape
+ */
+ static std::shared_ptr<GeomAPI_Shape> findShapeBy2DPoint(const AttributePtr& theAttribute,
+ ModuleBase_IWorkshop* theWorkshop);
+
+ /**
+ * Returns point of coincidence feature
+ * \param theFeature the coincidence feature
+ * \param theAttribute the attribute name
+ */
+ static std::shared_ptr<GeomAPI_Pnt2d> getPoint(std::shared_ptr<ModelAPI_Feature>& theFeature,
+ const std::string& theAttribute);
+
+ /**
+ * Gets all references to the feature, take coincidence constraint features, get point 2d attributes
+ * and compare the point value to be equal with the given. Returns the first feature, which has
+ * equal points.
+ * \param theFeature the coincidence feature
+ * \param thePoint a 2d point
+ * \return the coincidence feature or null
+ */
+ static FeaturePtr findFirstCoincidence(const FeaturePtr& theFeature,
+ std::shared_ptr<GeomAPI_Pnt2d> thePoint);
+
+ /**
+ * Returns list of features connected in a councedence feature point
+ * \param theStartCoin the coincidence feature
+ * \param theList a list which collects lines features
+ * \param theCoincidencies a list of coincidence features
+ * \param theAttr the attribute name
+ */
+ static void findCoincidences(FeaturePtr theStartCoin, QList<FeaturePtr>& theList,
+ QList<FeaturePtr>& theCoincidencies,
+ std::string theAttr);