const std::string& theObjectFeatureAttribute = "",
const bool isSkipFeatureAttributes = true);
+ /// Find points of intersection between the shape of the feature and all features in the sketch
+ /// \param theBaseFeature a feature: line, arc or circle that will be intersected
+ /// \param theFeatures a container of features to intersect with the base feature
+ /// \param thePoints a container of 3D points belong to the shape
+ /// \param theObjectToPoint a container of object to point
+ typedef std::map<std::shared_ptr<GeomAPI_Pnt>,
+ std::pair<std::list<std::shared_ptr<GeomDataAPI_Point2D> >,
+ std::list<std::shared_ptr<ModelAPI_Object> > > > PointToRefsMap;
+
+ MODELGEOMALGO_EXPORT void getPointsIntersectedShape(
+ const std::shared_ptr<ModelAPI_Feature>& theBaseFeature,
+ const std::list<std::shared_ptr<ModelAPI_Feature> >& theFeatures,
+ PointToRefsMap& thePointToAttributeOrObject);
+
/// Removes attributes which points are out of the base shape
/// \param theBaseShape a shape of check
/// \param theAttributes a container of point 2D attributes
/// \param theDirX plane X direction to generate 3D point by 2D attribute point
/// \param theDirY plane X direction to generate 3D point by 2D attribute point
/// \param thePoints a container of 3D points belong to the shape
+ /// \param theAttributeToPoint a container of attribute to point
MODELGEOMALGO_EXPORT void getPointsInsideShape(
+ const std::shared_ptr<GeomAPI_Shape> theBaseShape,
+ const std::set<std::shared_ptr<GeomDataAPI_Point2D> >& theAttributes,
+ const std::shared_ptr<GeomAPI_Pnt>& theOrigin,
+ const std::shared_ptr<GeomAPI_Dir>& theDirX,
+ const std::shared_ptr<GeomAPI_Dir>& theDirY,
+ PointToRefsMap& thePointToAttributeOrObject);
+
+ /// Removes attributes which points are out of the base shape
+ /// \param theBaseShape a shape of check
+ /// \param theAttributes a container of point 2D attributes
+ /// \param theOrigin origin of a plane to generate 3D point by 2D attribute point
+ /// \param theDirX plane X direction to generate 3D point by 2D attribute point
+ /// \param theDirY plane X direction to generate 3D point by 2D attribute point
+ /// \param thePoints a container of 3D points belong to the shape
+ /// \param theAttributeToPoint a container of attribute to point
+ MODELGEOMALGO_EXPORT void getPointsInsideShape_p(
const std::shared_ptr<GeomAPI_Shape> theBaseShape,
const std::set<std::shared_ptr<GeomDataAPI_Point2D> >& theAttributes,
const std::shared_ptr<GeomAPI_Pnt>& theOrigin,