#include <memory>
-class Handle_V3d_View;
+class V3d_View;
class ModuleBase_ViewerPrs;
class ModuleBase_IWorkshop;
class GeomDataAPI_Point2D;
/// Converts the 2D screen point to the 3D point on the view according to the point of view
/// \param thePoint a screen point
/// \param theView a 3D view
- static gp_Pnt convertClickToPoint(QPoint thePoint, Handle_V3d_View theView);
+ static gp_Pnt convertClickToPoint(QPoint thePoint, Handle(V3d_View) theView);
/// \brief Converts the 3D point to the projected coodinates on the sketch plane.
/// \param thePoint the 3D point in the viewer
/// \param theSketch the sketch feature
/// \param thePnt the 3D point in the viewer
/// \returns the converted point object
- static std::shared_ptr<GeomAPI_Pnt2d> convertTo2D(FeaturePtr theSketch, const std::shared_ptr<GeomAPI_Pnt>& thePnt);
+ static std::shared_ptr<GeomAPI_Pnt2d> convertTo2D(FeaturePtr theSketch,
+ const std::shared_ptr<GeomAPI_Pnt>& thePnt);
/// \brief Converts the 2D projected coodinates on the sketch plane to the 3D point.
/// \param theX the X coordinate
/// \param theY the Y coordinate
/// \param theSketch the sketch feature
- static std::shared_ptr<GeomAPI_Pnt> convertTo3D(const double theX, const double theY, FeaturePtr theSketch);
+ static std::shared_ptr<GeomAPI_Pnt> convertTo3D(const double theX, const double theY,
+ FeaturePtr theSketch);
/// Returns pointer to the root document.
static std::shared_ptr<ModelAPI_Document> document();
static std::shared_ptr<GeomDataAPI_Point2D> findFirstEqualPoint(const FeaturePtr& theFeature,
const std::shared_ptr<GeomAPI_Pnt2d>& thePoint);
- /// Creates constrains of the current
- /// \param theSketch a sketch feature
- /// \param theFeature a source feature
- /// \param theAttribute a name of the requried attribute attribute
- /// \param theClickedX the horizontal coordnate of the point
- /// \param theClickedY the vertical coordnate of the point
- static void setConstraints(CompositeFeaturePtr theSketch, FeaturePtr theFeature,
- const std::string& theAttribute, double theClickedX,
- double theClickedY);
+ static std::shared_ptr<GeomDataAPI_Point2D> findFirstEqualPointInSketch(
+ const CompositeFeaturePtr& theSketch,
+ const std::shared_ptr<GeomDataAPI_Point2D>& theFeaturePoint,
+ const std::shared_ptr<GeomAPI_Pnt2d>& thePoint);
/// Create a sketch plane instance
/// \param theSketch a sketch feature
/// \return result of found feature or NULL
static std::shared_ptr<ModelAPI_Result> findFixedObjectByExternal(
const TopoDS_Shape& theShape,
- const ObjectPtr& theObject,
+ const ObjectPtr& theObject,
CompositeFeaturePtr theSketch);
/// Creates a line (arc or circle) by given edge
/// \param theTemporary the created external object is temporary, execute is not performed for it
/// \return result of created feature
static std::shared_ptr<ModelAPI_Result> createFixedObjectByExternal(
- const TopoDS_Shape& theShape,
- const ObjectPtr& theObject,
+ const TopoDS_Shape& theShape,
+ const ObjectPtr& theObject,
CompositeFeaturePtr theSketch,
const bool theTemporary = false);
- /// Checks whether the list of selected presentations contains the given one
+ /// Checks whether the list of selected presentations contains the given one
/// \param theSelected a list of presentations
/// \param thePrs a presentation to be found
/// \return - result of check, true if the list contains the prs
/// \param theView a 3D view
/// \param theX the output horizontal coordinate of the point
/// \param theY the output vertical coordinate of the point
- static bool hasVertexShape(const std::shared_ptr<ModuleBase_ViewerPrs>& thePrs, FeaturePtr theSketch,
- Handle_V3d_View theView, double& theX, double& theY);
+ static bool hasVertexShape(const std::shared_ptr<ModuleBase_ViewerPrs>& thePrs,
+ FeaturePtr theSketch,
+ Handle(V3d_View) theView, double& theX, double& theY);
/**
* 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 theSearchInResults a flag whether the conicidence feature shoudl be searched in
- * references of the feature results.
+ * \param theFeature the coincidence feature
+ * \param thePoint a 2d point
* \return the coincidence feature or null
*/
static FeaturePtr findFirstCoincidence(const FeaturePtr& theFeature,
* 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,