Skip to content

Snapshot of Christian Woltering's Triangle.NET (with docs)

License

Notifications You must be signed in to change notification settings

garykac/triangle.net

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

42 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Mesh Lake Superior

Triangle.NET (by Christian Woltering)

With the shutdown of Codeplex in 2017, Christian Woltering's Triangle.NET project was placed in read-only mode and archived.

Since the shutdown announcement, a number of snapshots have been made:

These are in addition to the ones that had already been created:

And now this one (sigh, cue relevant XKCD comic).

One thing missing from these other releases is the documentation that was present on the original Codeplex site. With the project now being archived, these documents are no longer readily accessible on the web -- you need to download the zip archive and view them in one of the various archived formats (html, md or codeplexwiki), all of which suffer from various broken links.

To the best of my knowledge, there isn't an "official" new home for Triangle.NET. If one is created, then I will add a link here (or transfer this repo over to him).

Triangle.NET versions

There are 3 snapshot releases (Beta 1, Beta 2 and Beta 3) and a current "Beta 4" version.

Note that there are significant differences between Beta 3 and Beta 4, which are discussed in the From Beta 3 to 4 page.

The earlier releases are archived in the releases directory. The current Beta 4 release is in source.

Documentation

This documention has been transferred from the wiki in the original Codeplex site (with links fixed, et al).

Examples:

(No, I don't know why there are numbering gaps. The "missing" examples are most like elsewhere in the documentation.)

Working with Unity

One common reason for forking the Triangle.NET code is to make the library compatible with Unity. The current (2017) Mono compiler used by Unity targets C# 4 and .NET 3.5, so any code in Triangle.NET that makes use of .NET 4.0 or later needs to have a workaround.

The upcoming 2018 release of Unity (currently at 2018.1 beta) will support C# 6 and .NET 4.7.1, so these workarounds shouldn't be necessary for much longer.

However, in the meantime...

To build a Unity-compatible DLL from your local source/Triangle.NET/Triangle directory, you can run:

mcs -target:library -out:triangle-net.dll -sdk:2 -define:UNITY -nowarn:414 -debug -recurse:*.cs
  • -sdk:2: SDK version for referenced assemblies. Unity requires this to be 2 (options are 2, 4 and 4.5).
  • -define:UNITY: enable workarounds in the code for .NET 4.0 stuff so that Unity is happy.
  • -nowarn:414: suppress the warning about "TriangleNet.Meshing.Algorithm.Dwyer.rand" being assigned but never used.
  • -debug: generate an .mdb file with debugging symbols.

A pre-built version of an mcs-compiled DLL (and symbols) suitable for use with Unity is located in unity.

The changes required to make Unity's runtime happy are in this cl.

About

Snapshot of Christian Woltering's Triangle.NET (with docs)

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages