Part: move BiArcs algorithm to its own class

This commit is contained in:
wmayer
2022-06-28 12:42:15 +02:00
parent 523d364c92
commit 2c3ef52dba
5 changed files with 92 additions and 20 deletions

View File

@@ -329,18 +329,6 @@ public:
const Handle(Geom_Geometry)& handle() const;
private:
void createArcs(double tolerance, std::list<Geometry*>& new_spans,
const gp_Pnt &p_start, const gp_Vec &v_start,
double t_start, double t_end, gp_Pnt &p_end, gp_Vec &v_end) const;
enum class Type {
SingleArc,
SplitCurve,
SingleLine
};
Type calculateBiArcPoints(double t_start, const gp_Pnt& p0, gp_Vec v_start,
double t_end, const gp_Pnt& p4, gp_Vec v_end,
gp_Pnt& p1, gp_Pnt& p2, gp_Pnt& p3) const;
// If during assignment of weights (during the for loop iteratively setting the poles) all weights
// become (temporarily) equal even though weights does not have equal values
// OCCT will convert all the weights (the already assigned and those not yet assigned)