-
-
Notifications
You must be signed in to change notification settings - Fork 88
History
A brief history of Triangle.NET.
The initial release of Triangle.NET on CodePlex in March 2012. Mostly a direct port of the original C-code. Included was a very simple demo app to render input geometries and meshes.
Released in June 2012, fixing a couple of known issues, but more importantly it included a much improved demo app MeshExplorer.
Released in June 2013, including fixes but also new features like mesh smoothing and node renumbering.
A major rewrite started in April 2014, introducing a couple of breaking changes:
- Removed the
InputGeometry
class. The newIPolygon
interface allows direct access to points, segments, holes and regions, thus methods likeAddPoint
orAddSegment
from theInputGeometry
class are no longer needed. TheContour
class allows adding contours and (possibly non-convex) holes in an easy way. - Removed public
Mesh
constructor. A mesh can be created by theGenericMesher
class in theTriangleNet.Meshing
namespace. The preferred method is to use one of the extension methods of theIPolygon
interface. If you simply want to triangulate a pointset, you now have access to the Delaunay algorithms in theTriangleNet.Meshing.Algorithm
namespace. - Removed public access to
Behavior
class. Mesh creation can be controlled by the newConstraintOptions
andQualityOptions
classes. TheVerbose
option was moved to theLog
class. - Removed Load method from
Mesh
class. Use theConverter.Instance
singleton in theTriangleNet.Meshing
namespace or theTriangleFormat
class in theTriangleNet.IO
namespace to load meshes. - Removed Smooth method from
Mesh
class. Use theSimpleSmoother
class in theTriangleNet.Smoothing
namespace. - Included Shewchuk's robust geometric predicates.
In 2017, Microsoft announced to shut down CodePlex. Since then, a couple of forks appeared on GitHub, most notably a fork by Geri Borbás, which contained the complete SVN history and is the origin of this repository.
In February 2022 I decided to fork Triangle.NET from Geri, fixing known issues and bringing the code up to date with my local repository. Instead of merging this fork back into the original repository, we decided to hand ownership over to me.
So, here we are. If you want a detailed change log, please refer to the commit history starting from 2022-02-13. Some major changes:
- Switch to netstandard2.0
- New unit test project Triangle.Tests (very incomplete)
- New examples project Triangle.Examples
- Renaming the demo app to Triangle.Viewer
- Fixed Voronoi issues, improving mesh smoother reliability
- Fixed issues finding points inside non-convex contours