-// Copyright (C) 2020 CEA/DEN, EDF R&D
+// Copyright (C) 2020-2023 CEA/DEN, EDF R&D
//
// This library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
#include <GeomAPI_Edge.h>
class GeomAlgoAPI_MakeShape;
+class GeomAlgoAPI_Offset;
+class GeomAlgoAPI_WireBuilder;
/**\class SketchPlugin_Offset
* \ingroup Plugins
return MY_KIND;
}
+ /// Type of joint
+ inline static const std::string& JOINT_ID()
+ {
+ static const std::string ID("offset_joint");
+ return ID;
+ }
+
+ /// Keep distance joint (add arcs where needed)
+ inline static const std::string& JOINT_KEEP_DISTANCE()
+ {
+ static const std::string ID("KeepDistance");
+ return ID;
+ }
+
+ /// Arcs joint (make fillets on all straight lines intersections)
+ inline static const std::string& JOINT_ARCS()
+ {
+ static const std::string ID("Arcs");
+ return ID;
+ }
+
+ /// Lines joint (do not add new arcs, prolongate and intersect adjacent lines)
+ inline static const std::string& JOINT_LINES()
+ {
+ static const std::string ID("Lines");
+ return ID;
+ }
+
/// list of offset edges
inline static const std::string& EDGES_ID()
{
/// \param[in] theEdge Current edge
/// \param[in] theEndPoint Point of the Current edge, not belonging to a previous edge
/// \param[in/out] theEdgesSet All edges to find among. If empty, all sketch edges assumed.
+ /// \param[in/out] theProcessedEdgesSet Already processed (put in chains) edges.
/// \param[in/out] theChain Resulting edges
/// \param[in] isPrepend if true, push new found edges to theChain front, else to the back
/// \return \c true if the chain is closed
const FeaturePtr& theEdge,
const std::shared_ptr<GeomDataAPI_Point2D>& theEndPoint,
std::set<FeaturePtr>& theEdgesSet,
+ std::set<FeaturePtr>& theProcessedEdgesSet,
std::list<FeaturePtr>& theChain,
const bool isPrepend = false);
+
+ void makeFillet (const double theValue,
+ const std::shared_ptr<GeomAlgoAPI_WireBuilder>&,
+ const std::shared_ptr<GeomAlgoAPI_Offset>&,
+ std::list< std::shared_ptr<GeomAlgoAPI_MakeShape> >& theOffsetAlgos);
};
#endif