PartLens uses Open CASCADE Technology
=====================================

PartLens makes use of facilities provided by the Open CASCADE Technology software,
version 7.8.1 (https://dev.opencascade.org), for its exact geometry: sections, distances,
surface area, volume and mass computed from a model's own surfaces.

Open CASCADE Technology is licensed under the GNU Lesser General Public License version 2.1
with the Open CASCADE exception version 1.0. Both texts are in this folder:

    LICENSE_LGPL_21.txt
    OCCT_LGPL_EXCEPTION.txt

Source code
-----------

PartLens builds the official 7.8.1 release, https://github.com/Open-Cascade-SAS/OCCT
(commit bd2a789f15235755ce4d1a3b07379a2e062fdc2e).

Android, Windows and macOS use it unmodified, as shared libraries loaded at run time.

The iOS app links it statically and changes one file, src/Standard/Standard_Type.cxx, so that
the global type registry is created once and never destroyed. With every toolkit linked into a
single binary, the original static object could be destroyed before the types that use it,
crashing the app on exit. The change, in full:

    -    static registry_type theRegistry;
    -    return theRegistry;
    +    static registry_type* theRegistry = new registry_type();
    +    return *theRegistry;
