Tarik Moussa a2876b9cbf port MatrixUtility and SurfaceCurveUtility tests to C++
- include/matrix_utility.hpp: 4x4 mapping matrix R·from=to (Eigen)
- include/projective_math.hpp: dehomogenize, hyperbolicDistance,
  isOnSegment (collinearity + betweenness via 3D cross/dot),
  getPointOnCorrespondingSegment (parameter by arc-length ratio)
- test_matrix_utility.cpp: port of MatrixUtilityTest (1 test)
- test_surface_curve_utility.cpp: port of SurfaceCurveUtilityTest
  testIsBetween and testGetPointOnSegment_SegmentEdge (2 tests)
- tolerance adjusted to 1e-12 for matrix inversion (2.7e-15 rounding
  from Eigen vs jReality's LU; both well within meaningful accuracy)

Total: 16/16 tests pass

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-09 01:15:35 +02:00
2026-02-09 18:39:03 +01:00
2026-03-07 11:25:56 +02:00

conformallab++

conformallab++ is a modern C++ reimplementation of the ConformalLab software by Stefan Sechelmann for experiments in discrete conformal geometry and related mesh transformations.

It builds on wellestablished opensource libraries such as CGAL, Eigen, and Boost for robust geometric data structures and efficient numerical computations, and uses singleheader libraries CLI11 and json.hpp for a lightweight commandline interface and configuration handling. In addition, libigls OpenGL viewer stack based on GLFW provides portable windowing and input handling, while the separate libiglglad component supplies a generated OpenGL function loader for the required core profile, making interactive visualization easy to integrate.

Status

This project is in an early prototype stage.
API, file formats and commandline interface are all subject to change.

Features (placeholder)

  • Discrete conformal geometry utilities (placeholder)
  • Mesh and graph data structures built on CGAL (placeholder)
  • Linear algebra and optimization routines using Eigen (placeholder)
  • Highlevel operations and helpers based on Boost (placeholder)
  • Commandline tools with CLI11 and JSON configuration (placeholder)

Getting started

Prerequisites

  • A C++20 compiler (e.g. g++ or clang++)
  • CMake version 3.20

Clone the repository

git clone https://codeberg.org/user2595/ConformalLabpp
cd conformallabpp/code

Configure and build

cmake -S . -B build && cmake --build build

Run the binare

 ./bin/conformallab_core --input ./data/off/simple_cupe.off

License

conformallabpp is released under the MIT License (see LICENSE).

Description
ConformalLab C++ port
Readme MIT 235 MiB
Languages
C++ 94.8%
Shell 2.7%
CMake 1.4%
Python 0.9%
C 0.2%