Modern Fortran interfaces to the SINTEF Spline Library (SISL)
The forSISL library provides Modern Fortran C-Interoperability interfaces to the SINTEF Spline Library (SISL) C library for NURBS curve and surface modeling and interrogation. These interfaces allow Fortran programmers to call the underlying SISL Library C routines in an almost seamless manner without the traditional C based wrappers previously used to interface C and Fortran.
With the exception of a handful of graphics driver routines designed to be replaced by user supplied versions of the functions, all of the C functions described version 4.4 of the SISL Reference Manual that is supplied with the SINTEF SISL library software are supported (a total of 173 routines). In addition, a set of routines to write and read SISL surface and curve objects to/from Fortran sequential formatted files are provided. These mimic the SINTEF Go software format C++ routines found in the SISL C library software. The user is warned however that only a small number of the 173 routines have been tested at this time. The routines that have been tested are used in the fifteen example programs that are supplied with the forSISL source. Each of the example programs are Fortran implementations of the examples supplied with the SINTEF C library software. These examples have all been tested and the results verified to match the output generated by their C++ equivalents.
A complete verification of all of the 173 routines in the forSISL library will require the development of a substantial number of unit tests that exercise each function. A complete and thorough V&V of the entire code base is planned but will require a substantial expenditure in time and effort so it is delayed for future releases. However, since the majority of the SISL C functions share a lot of their signature (interface) with other functions, it is felt that the probability of the functions that have not been tested will work properly is high. Users are advised and encouraged however to treat the initial release of forSISL as early beta code and report any problems to the developer.
Build instructions are given in the accompanying BUILD_INSTRUCTIONS file
The SISL C library software is available from: https://github.com/SINTEF-Geometry/SISL. Users must build the SISL C library and link it into their projects prior to attempting to use the forSISL interfaces.
Dr. Richard Weed Email: rweedmsu@gmail.com