+ std::list<std::shared_ptr<GeomAPI_Pnt> >& thePoints,
+ std::map<std::shared_ptr<GeomDataAPI_Point2D>,
+ std::shared_ptr<GeomAPI_Pnt> >& theAttributeToPoint);
+ /// Finds projected point to the given shape line
+ /// \param theBaseShape a shape of check
+ /// \param thePoint [in] a point to project
+ /// \param theProjectedPoint [out] a projected point
+ static MODELGEOMALGO_EXPORT bool isPointOnEdge(const std::shared_ptr<GeomAPI_Shape> theBaseShape,
+ const std::shared_ptr<GeomAPI_Pnt>& thePoint,
+ std::shared_ptr<GeomAPI_Pnt>& theProjectedPoint);
+
+ /// Finds projected point to the given shape, which does not placed on the shape boundaries
+ /// \param theBaseShape a shape of check
+ /// \param thePoint [in] a point to project
+ /// \param theProjectedPoint [out] a projected point
+ static MODELGEOMALGO_EXPORT bool isInnerPointOnEdge(
+ const std::shared_ptr<GeomAPI_Shape> theBaseShape,
+ const std::shared_ptr<GeomAPI_Pnt>& thePoint,
+ std::shared_ptr<GeomAPI_Pnt>& theProjectedPoint);
+
+#ifdef _DEBUG
+ /// Return feature name, kind and point values united in a string info
+ /// \param theFeature an investigated feature
+ /// \param theAttributesOnly a container of necessary attributes, if empty, all
+ /// \return string value
+ static MODELGEOMALGO_EXPORT std::string getPontAttributesInfo(
+ const std::shared_ptr<ModelAPI_Feature>& theFeature,
+ const std::set<std::shared_ptr<ModelAPI_Attribute> >& theAttributesOnly);
+
+ /// Return point attribute string info
+ /// \param theAttribute an investigated attribute
+ /// \return string value
+ static MODELGEOMALGO_EXPORT std::string getPointAttributeInfo(
+ const std::shared_ptr<ModelAPI_Attribute>& theAttribute);
+
+#endif
+};