GeomPP 0.1.1

There is a newer version of this package available.
See the version list below for details.
dotnet add package GeomPP --version 0.1.1
                    
NuGet\Install-Package GeomPP -Version 0.1.1
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="GeomPP" Version="0.1.1" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="GeomPP" Version="0.1.1" />
                    
Directory.Packages.props
<PackageReference Include="GeomPP" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add GeomPP --version 0.1.1
                    
#r "nuget: GeomPP, 0.1.1"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package GeomPP@0.1.1
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=GeomPP&version=0.1.1
                    
Install as a Cake Addin
#tool nuget:?package=GeomPP&version=0.1.1
                    
Install as a Cake Tool

C# bindings for geompp, a C++20 geometry library.
     Provides Point2D/3D, Vector2D/3D, Line2D/3D, Ray2D/3D, LineSegment2D/3D,
     Polyline2D/3D, Triangle2D/3D, Polygon2D/3D, BBox2D/3D, Plane — with full
     operator support, intersection queries, WKT serialization, and file I/O.
     Built with C++/CLI for Windows x64. Targets both .NET 10 and .NET Framework 4.8.

Product Compatible and additional computed target framework versions.
.NET net10.0-windows7.0 is compatible. 
.NET Framework net48 is compatible.  net481 was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
  • .NETFramework 4.8

    • No dependencies.
  • net10.0-windows7.0

    • No dependencies.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
0.17.3 100 8/15/2026
0.17.2 94 8/14/2026
0.16.2 89 8/6/2026
0.15.1 121 7/24/2026
0.14.0 106 7/21/2026
0.13.0 118 7/9/2026
0.12.0 105 7/8/2026
0.11.0 113 7/4/2026
0.10.1 127 6/23/2026
0.9.1 224 6/17/2026
0.8.2 118 5/18/2026
0.8.0 111 5/18/2026
0.7.0 104 5/6/2026
0.6.0 106 5/4/2026
0.5.0 104 5/1/2026
0.4.0 115 4/27/2026
0.1.2 124 4/13/2026
0.1.1 123 4/13/2026
0.1.0 125 4/9/2026

### Fixed

**C++ core**
- `Line3D::Intersection(sc, tc)`: parameter `tc` was passed by value instead of
 by reference, leaving the caller's variable uninitialized in Debug builds
 (MSVC Run-Time Check Failure #3).
- `Line2D::Intersection(Line2D const&, double& sc, double& tc)` and
 `Line3D::Intersection(Line3D const&, double& sc, double& tc)` now wrap their
 computation in a `try/catch(...)` block; unexpected exceptions log a warning
 and return `std::nullopt` with `sc = tc = NaN` instead of propagating.

**C# (GeomPP NuGet)**
- Updated to geompp core 0.1.1. Exposes the corrected `Line3D.IntersectionWithParams`
 which now correctly returns the `tc` out-parameter.
- Fixed `0xC0000005` crash when loading `GeomPP.dll` under .NET 5+: geompp core
 is now recompiled inside the C++/CLI project with `GEOMPP_NO_THREAD_LOCAL`,
 replacing `thread_local` globals with plain globals (the .NET 5+ CLR does not
 call `DllMain` for C++/CLI assemblies, preventing TLS slot allocation).
- Added C# smoke tests (`geompp_csharp/tests/`) covering `Precision`, `Point2D`,
 `Point3D`, `Vector3D`, `Line2D`, `Line3D`, and `LineSegment2D`; run via
 `dotnet run --project geompp_csharp\tests\GeomPPTests.csproj`.

**Python (geompp PyPI)**
- Updated to geompp core 0.1.1. `line3d.intersection_with_params()` now correctly
 returns the `tc` value.

### Build / CI
- `enable_testing()` added to root `CMakeLists.txt` so `ctest` finds tests from
 the root build directory on all generators.
- CI `ctest` steps now point at `build/geompp_tests` to avoid running glog's own
 internal test suite alongside geompp's tests.

---