* fix crash because of incomplete inheritance of BlendPoint and BlendCurve -> do not inherit from BaseClass
as consequebce make destructor non-virtual and remove getPyObject
* pass std::vector by const reference
* remove unneeded includes
* use more suitable Python exception types
* when returning with null from Python handler then set an exception
* harmonize file guards
* several optimizations or simplifications
* use modern C++
* harmonize command name
* fix copyright note
I have unified the user interface for Bezier and b-spline surfaces.
Based on the selection contents the CmdSurfaceBSurf::isActive method
determines which one can be created, and marks it for the activate
method.
For any sort of inappropriate selection contents, including foreign
shapes or mixture of Bezier and b-spline curves, the tool remains
disabled.
I have converted Nate's b-spline generation to use my superclass
FeatureBSurf and added it to the GUI. Other half-ready operations as
filling and cut are commented out.
Missing:
- the fill type must be queried from the user. The data panel lets it
modify, but it is not user-friendly.
- b-spline surface is generated, but it covers only a fraction of the
supporting curves. It may lie on OCC error.
Modifications for:
- let the surface workbench appear
- use only one Surface menu and toolbar instead of two separate ones
- create a Bezier surface using 2..4 Bezier curves (does not work yet)
- use enums for fill type
Signed-off-by: balazs-bamer <kolaloka@freemail.hu>