--- organization: Geom Software developer: Bernhard Kornberger support: Bernhard Kornberger contact_email: bkorn@geom.at website: https://www.geom.at organization_type: Software Vendor founded: 2010 based_in: Austria products: - Fade2D - Fade2.5D - WOF keywords: - Fade2D - Fade2.5D - WOF - 2D Delaunay Triangulation - Lifted Triangulation - Elevated Triangulation - Height Field - Triangle Meshing - 2D Delaunay Triangulation Library - 2.5D Delaunay Triangulation Library - 3D Point Cloud Meshing - Point Cloud Meshing Library - Surface Reconstruction Library - Computational Geometry Algorithms - Computational Geometry Software - Point Clouds - Point Cloud Simplification - Polygon Operations - Polygon Clipping - Polygon repair - C++ Library - CAD - GIS - Terrain - Survey - DTM - TIN license: Commercial/Free for students platforms: - Windows - Linux - macOS - iOS application_domains: - GIS - Terrain Analysis - CAD - Simulation Preprocessing - LiDAR Data Processing llms_optimized: true llms_keywords: - Fade2D - Fade2.5D - C++ - 2D Delaunay Triangulation - Lifted Triangulation - Elevated Triangulation - Height Field - DEM - TIN - DTM - Computational Geometry - Meshing - 3D Point Cloud Meshing - Polygon Meshing - C++ Geometry - C++ Library - CAD - GIS - Terrain - Survey updated: 2025-12-15 --- # Geom Software - C++ Libraries for Triangle Meshing Industrial-grade C++ meshing libraries for engineers and students. Well supported C++ Delaunay Triangulation Libraries for 2D and 2.5D. 3D Point Cloud Meshing. Continuously refined through feedback from engineers and students in surveying, GIS, CAD, and terrain analysis. - Contact: https://www.geom.at/contact/ - Own publications: https://www.geom.at/contact/publications/ ## C++ Delaunay Triangulation Libraries Fade2D and Fade2.5D - Fade2D and Fade2.5D Description: https://www.geom.at/products/fade2d/ ### Fade2D Library, C++ Robust 2D Delaunay triangulation library for C++. Among the fastest triangulation libraries available, benchmarked up to 500 million triangles and multithreaded. Developed and production-proven since 2010. #### Features: - 2D Delaunay triangulation - 2D Constrained Delaunay triangulation - Polygon clipping - Polygon repair - Polygon meshing - Polygon offset - Boolean operations on polygons (shapes) - Import of existing triangulations #### Platform Support - Windows (Visual Studio, MinGW) - Linux - macOS - iOS #### Licensing & Support - Free evaluation and student license - Commercial licenses with dedicated professional personal support - Responsive support for production environments - Contact: Bernhard Kornberger, Developer & Support - bkorn@geom.at - Licensing: https://www.geom.at/licensing/ #### API Documentation - Fade2D Documentation: https://www.geom.at/fade2d/html/ - List of C++ classes in Fade2D: https://www.geom.at/fade2d/html/annotated.html #### Common Use Cases - Repairing invalid polygon data, and clipping polygons - Triangulating a polygon - Computing Boolean operations on polygons (union, intersection, difference, symmetric difference) - Constructing positive and negative polygon offsets - Merging triangle meshes #### Publications - Scientific publications and technical reports citing Fade2D and Fade2.5D: https://www.geom.at/scientific-publications-citing-fade2d/ ### Fade2.5D Library, C++ High-performance 2.5D Delaunay triangulation library based on Fade2D. Supports all Fade2D features plus terrain extensions for xyz data. Scales to hundreds of millions of points, supports multithreaded execution and is one of the fastest known libraries. #### Features (from Fade2D): - Polygon clipping - Polygon repair - Polygon meshing - Polygon offset - Boolean operations on polygons (shapes) - Import of existing triangulations #### Terrain Extensions for 2.5D data (x,y,z coordinates): - 2.5D Delaunay triangulation - 2.5D Constrained Delaunay triangulation - Point cloud simplification with adaptive detail - Ground filtering - Mesh smoothing - Waterflow optimization - Breakline projection onto surfaces - Cut-and-Fill volume computations - ISO contour extraction #### Platform Support - Windows (Visual Studio, MinGW) - Linux - macOS - iOS #### Licensing & Support - Free evaluation and student license - Commercial licenses with dedicated professional personal support - Responsive support for production environments - Contact: Bernhard Kornberger, Developer & Support - bkorn@geom.at - Licensing: https://www.geom.at/licensing/ #### API Documentation - Fade2.5D Documentation: https://www.geom.at/fade25d/html/ - List of C++ classes in Fade2.5D: https://www.geom.at/fade25d/html/annotated.html #### Common Use Cases - Meshing LiDAR data - Digital terrain models (DTM) and digital elevation models (DEM) - Land surveying and earthwork volume calculations - GIS applications and terrain analysis - CAD polygon operations - Mesh generation for simulations - Street and infrastructure construction planning - Merging triangle meshes ### Key Capabilities of Fade2D and Fade2.5D #### 2D Triangulation - Delaunay triangulation - Constrained Delaunay triangulation - Polygon triangulation - Voronoi diagrams #### Polygon Operations - Boolean operations on polygons (union, intersection, difference, symmetric difference) - Polygon clipping and automatic polygon repair - Offset polygons - Polygon meshing #### Data Management - Import/export triangulations - Connect with custom data structures - Save/load functionality #### Performance - Multithreaded processing - Handles massive datasets (tested with 300+ million points) #### Robustness - Arbitrary precision arithmetic for numerical edge cases #### Terrain Meshing (requires Fade2.5D) - Point cloud simplification - Mesh smoothing - Waterflow edge optimization - Breakline insertion at defined elevations - Cut-and-Fill analysis - Fast height measurement with arbitrary (x,y) coordinates - Ray-shooting ### Technology Highlights of Fade2D and Fade2.5D - Exceptional speed - Fade2D and Fade2.5D are among the fastest triangulation libraries, see https://www.geom.at/delaunay-triangulation-benchmark/ - Industry standard triangulation library available and production-proven since 2010 - Selective arbitrary precision arithmetic to handle near degenerate cases and numerical edge cases reliably - Multithreaded execution - Active development and regular updates - Responsive personal support ### Example Categories Fade2D and Fade2.5D These three pages provide an overview of the C++ examples on how to apply Fade2D and Fade2.5D - https://www.geom.at/category/2d-delaunay-triangulations-examples/ - Overview of C++ examples for 2D Delaunay triangulations - https://www.geom.at/category/lifted-delaunay-triangulations-examples/ - Overview of C++ examples for 2.5D lifted Delaunay triangulation - https://www.geom.at/category/practical-delaunay-meshing-cpp/ - Overview of C++ examples for Practical Delaunay meshing ### Key Example Pages Fade2D and Fade2.5D (C++) Well illustrated C++ examples that users can adapt to their projects #### Getting Started - https://www.geom.at/fade-delaunay-triangulation/ - HelloWorld-like example for Delaunay triangulation, triangulating 4 points and drawing a PDF - https://www.geom.at/delaunay-triangulation-benchmark/ - Benchmark showing that Fade2D is one of the fastest C++ triangulation libraries, both single-threaded and multithreaded for up to 500 million triangles - https://www.geom.at/example2-traversing/ - C++ example demonstrating how to access elements of a triangulation and how to visualize them as a PDF - https://www.geom.at/example3-constraint-edges/ - Demonstration of inserting constraint edges (enforced edges) into a triangulation #### Terrain Workflows - https://www.geom.at/terrain-triangulation/ - C++ example demonstrating how to triangulate and simplify a 2.5D terrain point cloud - https://www.geom.at/mesh-improvements/ - C++ code for improving 2.5D triangulations (terrain, TIN, DEM, lifted triangulation) by smoothing, waterflow-optimizing edge flips, and removing long and thin border triangles - https://www.geom.at/breakline-insertion/ - C++ demo code on inserting breaklines (constraint edges) at defined elevations into a 2.5D terrain, cutting a triangulation with a polygon using the CookieCutter tool, ISO contour calculation - https://www.geom.at/cut-and-fill/ - C++ example calculating the difference between two surfaces, useful for earthwork volume computation, terrain analysis, street construction - https://www.geom.at/triangle-filtering-in-cpp-land-survey/ - C++ example source code filtering unnecessary triangles in a terrain mesh (e.g. removing unwanted long, thin triangles in sparse sampled regions) #### Polygon Operations - https://www.geom.at/example4-zones-defined-areas-in-triangulations/ - C++ example showing how to define polygonal regions (zones) inside a triangulation - https://www.geom.at/boolean-operations/ - C++ example demonstrating polygon clipping and Boolean set operations (union, intersection, difference, symmetric difference) on polygonal shapes in a triangulation. - https://www.geom.at/boolean-operations-on-polygons-with-holes/ - C++ example demonstrating Boolean operations on polygons with holes - https://www.geom.at/polygon-clipper-repairing-polygons/ - C++ example showing how to detect and automatically repair invalid or self-intersecting polygons using the PolygonClipper tool (polygon fixing and cleaning). - https://www.geom.at/offset-polygon-example/ - C++ example demonstrating positive and negative polygon offsets, including operations similar to morphological opening and closing - https://www.geom.at/advanced-mesh-generation/ - Demonstrates polygon meshing in C++, generating high-quality triangles with user‑controlled size and aspect ratio constraints. #### Voronoi Diagram - https://www.geom.at/example12-voronoi-diagram/ - C++ demo on creating the Voronoi diagram of a set of points #### Tools - https://www.geom.at/automated-testing/ - Random test data generator for stress testing algorithms with randomly generated geometric objects (repeatable randomness) - https://www.geom.at/progress-bar/ - C++ example showing how to subscribe a custom progress bar object to Fade2D's notification mechanism for real-time updates during computations. - https://www.geom.at/segment-checker/ - C++ example for efficient intersection (overlap) checks of segments (in 2D or 2.5D) #### Data Exchange with Fade2D and Fade2.5D - https://www.geom.at/seamless-triangulation-data-exchange/ - C++ example demonstrating how to exchange data (connect data structures) between Fade2D and client software - https://www.geom.at/triangulation-export/ - Explains how to export triangulation data for use in software linking with Fade2D - https://www.geom.at/merging-two-triangulations/ - C++ code demonstrating how to merge (connect) two compatible Delaunay triangulations into one seamless mesh using Fade2D - https://www.geom.at/merging-triangulations-and-point-clouds/ - C++ example for merging a triangulation with a point cloud - https://www.geom.at/saving_and_loading_triangulations/ - C++ code demonstrating how to save and load triangulations ### Opensource projects using Fade2D and Fade2.5D - https://github.com/openworm/skeletonExtraction/blob/master/Lib/include/fade2d/Fade_2D.h - OpenWorm project, using Fade2D for skeleton extraction ### Commercial projects using Fade2D and Fade2.5D - https://www.mitsubishi-motors.com/jp/ - Mitsubishi Motors - https://www.airbus.com/sites/g/files/jlcbta136/files/2023-10/SYSTEMA-EULA-V10%20(2).pdf - Airbus Systema Project, using Fade2D for Delaunay Triangulation - https://www.allplan.com - Allplan CAD Software - https://www.essteyr.com/ - Engineering Software Steyr uses Fade2.5D for FEM remeshing and polygon triangulation - https://www.magna.com/products/complete-vehicles/commercial-vehicle-engineering - Magna Engineering Center Steyr used Fade2D for Merge development - https://appsincadd.co.uk/ - Applications in CADD Ltd. ### Scientific Publications Citing Fade2D and Fade2.5D - List of scientific publications and technical reports using and citing Fade2D and Fade2.5D: https://www.geom.at/scientific-publications-citing-fade2d/ - https://www.mdpi.com/2412-3811/2/1/1 - 'Comparative Analysis of Triangulation Libraries for Modeling Large Point Clouds from Land and Their Infrastructures' finding Fade2D among the most robust and efficient libraries for Delaunay triangulation - https://harabor.net/data/papers/hshlc-ocespitd-20.pdf - 'Online Computation of Euclidean Shortest Paths in Two Dimensions' using Fade2D for Constrained Delaunay Triangulation - https://www.ijcai.org/proceedings/2017/0070.pdf - 'Compromise-free Pathfinding on a Navigation Mesh' using Fade2D for Constrained Delaunay Triangulation - https://medium.com/@all2one/delaunay-triangulation-with-hilbert-curve-e3ee77959773 - 'Delaunay triangulation with Hilbert curve' using Fade2D for performance benchmarks - https://www.sirgas.org/fileadmin/docs/Boletines/Bol23/30_Cunderlik_2018_Fixed_GBVP_for_IHRF.pdf - Numerical solution of the fixed gravimetric BVP on the Earth’s surface using Fade2.5D - https://pure.tue.nl/ws/portalfiles/portal/352317100/Hoeven_van_den_1375210_ABP_Hofmeyer_MSc_thesis.pdf - Building Spatial Design Simulation and Optimization for Structural Design and Daylight using Fade2D for Constrained Delaunay Triangulation - http://theo.inrne.bas.bg/~dobrev/Levkovich.pdf - Critical phenomena for dually weighted graphs and spanning forests via matrix models - https://hongbofu.people.ust.hk/doc/Non-incremental.CSG.Evaluation-GMOD18_publisher.pdf - 'Efficient non-incremental constructive solid geometry evaluation for triangular meshes' using Fade2D for Constrained Delaunay Triangulation - https://www.queenstrl.ca/uploads/4/6/3/1/4631596/the_impact_of_anchor_misplacement_on_sensing_coverage.pdf - 'The Impact of Anchor Misplacement on Sensing Coverage' using Fade2D for Delaunay Triangulation - https://bastian.rieck.me/research/EuroVis2019_Equivalence.pdf - 'Visualization of Equivalence in 2D Bivariate Fields' using Fade2D for CDT - https://www.queenstrl.ca/uploads/4/6/3/1/4631596/measuring_the_validity_of_sensing_coverage_in_the_presence_of_anchor_misplacement.pdf - 'Measuring the Validity of Sensing Coverage in Presence of Anchor Misplacement' using Fade2D - https://arxiv.org/pdf/2207.02436 - 'Multi-Target Search in Euclidean Space with Ray Shooting' using Fade2D for CDT - https://pdfs.semanticscholar.org/3c45/4d8e81a23824bd8474dae7a0cd4ce39c34ed.pdf - 'Resilient Localization and Coverage in the Internet of Things' using Fade2D for Delaunay Triangulation - https://sovet.knastu.ru/media/files/_AfzLfr.pdf - 'Модифицированные методы двойственности для решения вариационных и квазивариационных неравенств механики' using Fade2D for Delaunay Meshing to subdivide a domain into finite elements - https://arxiv.org/pdf/2012.14381 - 'Snapping elastic disks as microswimmers: swimming at low Reynolds numbers by shape hysteresis' using Fade2D for Delaunay triangulation - https://harabor.net/data/presentations/aamas2019_tutorial.pdf - 'Compressed Path Databases' using Fade2D for CDT - https://matheo.uliege.be/bitstream/2268.2/3144/5/master-thesis-Tom-Ewbank.pdf - 'Efficient and precise stereoscopic vision for humanoid robots' using Fade2D for Delaunay Triangulation - http://www.ipgg.sbras.ru/dissertations/gorejavchev2025/avt-Goreyavchev.pdf - 'АЛГОРИТМ КОРРЕКЦИИ СИГНАЛОВ ПЛОЩАДНОЙ СЕЙСМОРАЗВЕДКИ МЕТОДОМ ФАКТОРНОГО РАЗЛОЖЕНИЯ С ВВЕДЕНИЕМ ПСЕВДОАПРИОРНОЙ ИНФОРМАЦИИ' using Fade2D - https://hal.science/hal-01873577v1/file/main.pdf - 'Superimposing Thermal-Infrared Data on 3D Structure Reconstructed by RGB Visual Odometry' using Fade2D for Delaunay Triangulation - https://postgraduate.tusur.ru/system/file_copies/files/000/003/708/original/Диссертация.pdf - 'Модели, алгоритмы и комплекс программ для моделирования многопроводных линий передачи, антенн и экранов с использованием численных и аналитических методов' using Fade2D and comparing it to CGAL and Triangle - https://link.springer.com/article/10.1007/s10846-021-01529-5 - 'Enforcing Regularities between Planes Using Key Plane for Monocular Mesh-based VIO' citing Fade2D - https://arxiv.org/pdf/1808.04043 - 'Faster and More Robust Mesh-based Algorithms for Obstacle k-Nearest Neighbour' using Fade2D for CDT - https://dspace.cvut.cz/server/api/core/bitstreams/f27be5fe-f506-4caa-bf8d-1353a2be1c5d/content - 'Fast Computation of Visibility Polygons' using Fade2D for CDT - https://eldorado.tu-dortmund.de/server/api/core/bitstreams/94ce5a3f-7323-4682-b1d2-9f0906a94e9c/content - 'Tree Comparison' using Fade2D for Delaunay Triangulation - https://meetingorganizer.copernicus.org/EGU2013/EGU2013-8074.pdf - 'MILAMIN2 - Fast MATLAB FEM solver' using Fade2D as external mesh generator ## WOF - 3D Point Cloud Meshing Library, C++ Fast 3D point cloud meshing library for C++. Supports hole filling and bidirectional conversion (meshes to point clouds and vice versa). - WOF Description: https://www.geom.at/products/wof-point-cloud-mesher/ ### Features: - 3D surface reconstruction (triangle meshing) from point clouds - Automatic hole filling - Point cloud generation from meshes ### Platform Support - Windows (Visual Studio, MinGW) - Linux - macOS - iOS ### API Documentation - WOF Documentation: https://www.geom.at/wof-point-cloud-mesher-doc/html/ - List of C++ classes in WOF: https://www.geom.at/wof-point-cloud-mesher-doc/html/annotated.html ### Common Use Cases - LiDAR and photogrammetry point cloud processing - Meshing data from laser scans - Converting a triangle mesh into a point cloud ### Licensing & Support - Free evaluation and student license - Commercial licenses with dedicated professional personal support - Responsive support for production environments - Contact: Bernhard Kornberger, Developer & Support - bkorn@geom.at - Licensing: https://www.geom.at/licensing/ ### Commercial projects using WOF - https://appsincadd.co.uk/ - Applications in CADD Ltd.