SplineLib: A modern multi-purpose C++ spline library. (August 2020) - Frings, Markus; Hosters, Norbert; Müller, Corinna; Spahn, Max; Susen, Christoph; Key, Konstantin; Elgeti, Stefanie
Highlights: Efficient, object-oriented algorithm for evaluation of B-spline basis functions. Software can be easily built by open-source standard tools. Implementation suited for variety of application areas (viz. IGA, optimization, interpolation, visualization). Software uses spline-type independent interface. Software converts between common file formats of different application areas. Abstract: This paper provides the description of a novel, multi-purpose spline library. In accordance with the increasingly diverse modes of usage of splines, it is multi-purpose in the sense that it supports geometry representation, finite element analysis, and optimization. The library features reading and writing for various file formats and a wide range of spline manipulation algorithms. Further, a new efficient and objective-oriented algorithm for B-spline basis function evaluation is included. All features are available by a spline-type independent interface. The library is written in modern C++ with CMake as build system. This enables it for usage in typical scientific applications. It is provided as open-source library.