Skip to content

Releases: artem-ogre/CDT

Minor bugfix for a corner-case

02 May 13:14
Compare
Choose a tag to compare

What's Changed

  • Fix super-triangle calculation for tiny bounding boxes by @artem-ogre in #175

Full Changelog: 1.4.0...1.4.1

1.4.0

30 Nov 09:20
Compare
Choose a tag to compare

What's Changed

Full Changelog: 1.3.6...1.4.0

1.3.6

03 Nov 22:26
Compare
Choose a tag to compare

What's Changed

Full Changelog: 1.3.5...1.3.6

[1.3.5] Bugfixes

16 Oct 14:42
Compare
Choose a tag to compare
[1.3.5] Bugfixes Pre-release
Pre-release

What's Changed

New Contributors

Full Changelog: 1.3.0...1.3.5

1.3.4

13 Oct 09:14
Compare
Choose a tag to compare
1.3.4 Pre-release
Pre-release

What's Changed

New Contributors

Full Changelog: 1.3.0...1.3.4

1.3.0

14 Apr 20:34
Compare
Choose a tag to compare

What's Changed

Full Changelog: 1.2...1.3.0

[1.2.0][Use `master` instead of releases] Conforming triangulation, bug fixes, and more.

12 Oct 08:21
Compare
Choose a tag to compare

If possible please use latest master instead of releases.

Releases can be outdated and can lag significantly behind the main branch.

What's Changed

New Contributors

Full Changelog: 1.1.2...1.2

[v1.1.2] Performance improvements and overlapping boundaries support

28 Oct 12:18
Compare
Choose a tag to compare

This is a major release containing new features.

Performance Improvements

  • Vertex insertion order is now randomized by default. This results in better performance overall and avoids many worst-case situations.
  • Boost's RTree is replaced with a custom kd-tree implementation included into CDT sources.
    It outperforms boost::rtree and has a significantly smaller memory footprint.
  • Boost RTree and nearest-random point locators are removed.
  • Index types used by CDT are changed to 32-bit to reduce required memory. 64-bit indices can be enabled with CDT_USE_64_BIT_INDEX_TYPE.

Also see: Issue: #40 Pull-request: #45

Boost dependency is not necessary

As boost::rtree is replaced with custom kd-tree implementation, boost is mostly needed for c++98 compatibility and not for performance.
This means that most of the users will not need to enable boost.

Overlapping boundaries support

Enables handling overlaping boundaries in hole-removal algorithm.
Here is an example:
Sweden

Algorithm tracks edges that were constrained more than once in insertEdges.
New PeelLayer and CalculateTriangleDepth functions handle overlapping boundaries.
Peel layer can now return seeds for next layer and deeper layers (due to overlapping boundaries).

Also see: Issue: #42 Pull-request: #43

Other changes/fixes

  • README and doxygen docs are updated
  • #34 Do not allow flipping a fixed edge #44
  • Some fixes for broken c++98 compatibility
  • Fixes in verifyTopology and InitializeWithGrid: #47 #48
  • More fixes after 1.1.1: #51

[v1.0.1] Fix bug in "is edge flip required' test

09 Jul 09:06
Compare
Choose a tag to compare

Overview

Bug-fix release: fix an error in code that tests if an edge flip is required.
Issue: #37
Fixing PR: #38

Fix Details

Previously flip was rejected only if both vertices of flip-candidate edge belong to the super-triangle.
This sometimes resulted in wrong edges and incorrect convex-hull.
The change: instead reject the edge-flip if

  • at least one flip-candidate edge's vertex belongs to super-triangle
  • original edge does not touch super-triangle.

If the case when both original edge and flip-candidate edge touch super-triangle use normal circumcircle test as a tie-breaker.

Two test files for regression testing are added.

[v1.0.0] CMake, custom point/edge types, custom super geometries

17 Mar 15:49
Compare
Choose a tag to compare

This is a first stable version that uses modern CMake. This enables easy consumption for CMake-based projects.

New features and improvements:

  • Custom point/edge types supported in insertVertices and insertEdges
  • Functionality to use any custom geometry as a target instead of a super-triangle (see InitializeWithGrid.h)
  • Refactor calculating triangle contour depths
  • Extend RemoveDuplicatesAndRemapEdges to also return indices duplicates
  • Small performance improvements and fixes