FreeCAD: master 324f6d3e

Author Committer Branch Timestamp Parent
abdullah abdullah master 2021-02-18 15:09:07 master 08e226df
Changeset Part: Geometry - BSpline - fix weight assignment

================================================

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)
to 1.0 (nonrational b-splines have 1.0 weights). This may lead to the assignment of wrong
of weight values.

The work-around is to temporarily set the last weight to be assigned to a value different from
the current value and the to-be-assigned value for the weight at position last-to-be-assign but one.

Fixes:
https://forum.freecadweb.org/viewtopic.php?p=478701#p478702
mod - src/Mod/Part/App/Geometry.cpp Diff File
mod - src/Mod/Part/App/Geometry.h Diff File