Created by: portnov
This is mostly a technical PR. From a user's perspective, it gives only small changes:
- when extruding a Line curve along Vector, you will have a Plane object, not a generic Extrusion;
- when extruding a NURBS curve along Vector, you will have a NURBS surface, not a generic Extrusion.
Later changes will be continued in this direction; for example, when doing something with nurbs, you should have nurbs again, at least when possible. This will make it possible to export result to formats that understand nurbs objects (3dm, for example).
Move some classes from curve.core and surface.core into curve.primitives and surface.primitives (others can be moved later if necessary).
utils.surface module does not import utils.surface.algorithms anymore - that would create cyclic import.
Add a test case that imports all *.py files, to check that there are no broken / dangling / cyclic imports.
Preflight checklist
Put an x letter in each brackets when you're done this item:
-
Code changes complete. -
Code documentation complete. -
Documentation for users complete (or not required, if user never sees these changes). -
Manual testing done. -
Unit-tests implemented. -
Ready for merge.