I'm working on SolveSpace, a parametric CAD. I'm looking for something to replace its builtin NURBS library, which has become a limiting aspect for many improvements.
- Not be OpenCASCADE;
- Be written in C++ or at least compile to C++;
- Provide boolean operations on trimmed NURBS surfaces;
- Be under a GPLv3+-compatible license.
I'm aware of:
- OpenCASCADE: please do not suggest I just use OpenCASCADE;
- OpenNURBS: not actually a NURBS operation library, mostly just loads/saves geometry;
- libnurbs: no boolean operations, only some rudimentary parts of them;
- SISL: provides some boolean operations, but only over NURBS surfaces defined over rectangular windows, as opposed to trimmed NURBS surfaces;
- GoTools (based on SISL): provides trimmed NURBS surfaces, but no surface-surface intersection, classification, etc;
- Verb NURBS: rudimentary booleans, no trimmed NURBS surfaces; none of which satisfy the requirements.
Are there any which do?