Patch rewrites NURBS knot generation by adding support for CU_NURB_BEZIER | CU_NURB_CYCLIC. In other cases resulting knot doesn't change.
This cyclic Bezier knot is used to create math accurate "Nurbs Circle", "Nurbs Cylinder". Same to "Nurbs Sphere" and "Nurbs Torus" by using rewritten function to fix spin function.
Attached blend file demonstrates changes the patch brings. There are four groups of objects in particular color each. Blue ones are Nurbs created with patched Blender version, red ones are Nurbs created in unpatched, greys are same as red in addition converted to mesh(they are hidden in //Outliner//). Also there are pure Bezier curves for comparing them with Nurbs CU_NURB_BEZIER mimicking Bezier handles(intended to watch from top view). Bezier circle result differs greatly, because old code ignores CU_NURB_BEZIER flag, if CU_NURB_CYCLIC is set.
{F12758697}
{F12760877}
In result patch fixes accuracy of NURBS circle. Can be checked by comparing with mesh circle.
Also fixes tessellation spacing differences in circular NURBS, more easily observable are NURBS cylinder and sphere.
|{F10202939}|{F10202940}|
|{F10202937}|{F10202938}|
These together with geometrical deviation from ideal primitives were causing seam like effect on primitives:
|{F10202951}|{F10202952}|