diff --git a/LibTessDotNet.sln b/LibTessDotNet.sln
index 5deb65f..eaf9f80 100644
--- a/LibTessDotNet.sln
+++ b/LibTessDotNet.sln
@@ -1,6 +1,8 @@
-Microsoft Visual Studio Solution File, Format Version 11.00
-# Visual Studio 2010
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio 14
+VisualStudioVersion = 14.0.24720.0
+MinimumVisualStudioVersion = 10.0.40219.1
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "LibTessDotNet", "LibTessDotNet\LibTessDotNet.csproj", "{5EE39029-873A-45A0-9259-2198BF8729F4}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "TessBed", "TessBed\TessBed.csproj", "{AA3C13F4-2628-43D5-BAAE-751AE013C865}"
diff --git a/LibTessDotNet/LibTessDotNet.csproj b/LibTessDotNet/LibTessDotNet.csproj
index 54f92da..ca7d9f4 100644
--- a/LibTessDotNet/LibTessDotNet.csproj
+++ b/LibTessDotNet/LibTessDotNet.csproj
@@ -1,63 +1,92 @@
-
+
-
- Debug
- AnyCPU
- 8.0.30703
- 2.0
- {5EE39029-873A-45A0-9259-2198BF8729F4}
- Library
- Properties
- LibTessDotNet
- LibTessDotNet
- v2.0
- 512
-
-
-
-
- true
- full
- false
- ..\Build\Debug\
- DEBUG;TRACE
- prompt
- 4
- default
- true
- false
-
-
- pdbonly
- true
- ..\Build\Release\
- TRACE
- prompt
- 4
- default
- true
- false
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+ Debug
+ AnyCPU
+ 8.0.30703
+ 2.0
+ {5EE39029-873A-45A0-9259-2198BF8729F4}
+ Library
+ Properties
+ LibTessDotNet
+ LibTessDotNet
+ v4.0
+ 512
+ Client
+
+
+ true
+ full
+ false
+ ..\Build\Debug\
+ DEBUG;TRACE
+ prompt
+ 4
+ default
+ true
+ false
+ false
+
+
+ pdbonly
+ true
+ ..\Build\Release\
+ TRACE
+ prompt
+ 4
+ default
+ true
+ false
+ false
+
+
+ true
+ ..\Build\DebugDouble\
+ TRACE;DEBUG;DOUBLE
+ true
+ full
+ AnyCPU
+ false
+ default
+ prompt
+ MinimumRecommendedRules.ruleset
+ LibTessDotNet.Double
+ LibTessDotNet.Double
+
+
+ ..\Build\ReleaseDouble\
+ TRACE;DOUBLE
+ true
+ true
+ pdbonly
+ AnyCPU
+ false
+ default
+ prompt
+ MinimumRecommendedRules.ruleset
+ LibTessDotNet.Double
+ LibTessDotNet.Double
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/LibTessDotNet/Sources/Dict.cs b/LibTessDotNet/Sources/Dict.cs
index eef23ae..95fbbfe 100644
--- a/LibTessDotNet/Sources/Dict.cs
+++ b/LibTessDotNet/Sources/Dict.cs
@@ -31,7 +31,11 @@
** LibTessDotNet: Remi Gillig, https://github.com/speps/LibTessDotNet
*/
+#if DOUBLE
+namespace LibTessDotNet.Double
+#else
namespace LibTessDotNet
+#endif
{
internal class Dict where TValue : class
{
diff --git a/LibTessDotNet/Sources/Geom.cs b/LibTessDotNet/Sources/Geom.cs
index 84782cc..719da26 100644
--- a/LibTessDotNet/Sources/Geom.cs
+++ b/LibTessDotNet/Sources/Geom.cs
@@ -34,9 +34,13 @@
using System;
using System.Diagnostics;
+#if DOUBLE
+using Real = System.Double;
+namespace LibTessDotNet.Double
+#else
using Real = System.Single;
-
namespace LibTessDotNet
+#endif
{
internal static class Geom
{
diff --git a/LibTessDotNet/Sources/Mesh.cs b/LibTessDotNet/Sources/Mesh.cs
index e1d3824..d21237e 100644
--- a/LibTessDotNet/Sources/Mesh.cs
+++ b/LibTessDotNet/Sources/Mesh.cs
@@ -34,7 +34,11 @@
using System;
using System.Diagnostics;
+#if DOUBLE
+namespace LibTessDotNet.Double
+#else
namespace LibTessDotNet
+#endif
{
internal class Mesh : MeshUtils.Pooled
{
diff --git a/LibTessDotNet/Sources/MeshUtils.cs b/LibTessDotNet/Sources/MeshUtils.cs
index 2212d43..4be217d 100644
--- a/LibTessDotNet/Sources/MeshUtils.cs
+++ b/LibTessDotNet/Sources/MeshUtils.cs
@@ -35,9 +35,13 @@
using System.Collections.Generic;
using System.Diagnostics;
+#if DOUBLE
+using Real = System.Double;
+namespace LibTessDotNet.Double
+#else
using Real = System.Single;
-
namespace LibTessDotNet
+#endif
{
public struct Vec3
{
diff --git a/LibTessDotNet/Sources/PriorityHeap.cs b/LibTessDotNet/Sources/PriorityHeap.cs
index 4828ff6..f695540 100644
--- a/LibTessDotNet/Sources/PriorityHeap.cs
+++ b/LibTessDotNet/Sources/PriorityHeap.cs
@@ -34,7 +34,11 @@
using System;
using System.Diagnostics;
+#if DOUBLE
+namespace LibTessDotNet.Double
+#else
namespace LibTessDotNet
+#endif
{
internal struct PQHandle
{
diff --git a/LibTessDotNet/Sources/PriorityQueue.cs b/LibTessDotNet/Sources/PriorityQueue.cs
index 548fd8e..1f386ae 100644
--- a/LibTessDotNet/Sources/PriorityQueue.cs
+++ b/LibTessDotNet/Sources/PriorityQueue.cs
@@ -35,7 +35,11 @@
using System.Collections.Generic;
using System.Diagnostics;
+#if DOUBLE
+namespace LibTessDotNet.Double
+#else
namespace LibTessDotNet
+#endif
{
internal class PriorityQueue where TValue : class
{
diff --git a/LibTessDotNet/Sources/Sweep.cs b/LibTessDotNet/Sources/Sweep.cs
index 9747215..17fd515 100644
--- a/LibTessDotNet/Sources/Sweep.cs
+++ b/LibTessDotNet/Sources/Sweep.cs
@@ -34,9 +34,13 @@
using System;
using System.Diagnostics;
+#if DOUBLE
+using Real = System.Double;
+namespace LibTessDotNet.Double
+#else
using Real = System.Single;
-
namespace LibTessDotNet
+#endif
{
public partial class Tess
{
diff --git a/LibTessDotNet/Sources/Tess.cs b/LibTessDotNet/Sources/Tess.cs
index 8e79829..6bc3198 100644
--- a/LibTessDotNet/Sources/Tess.cs
+++ b/LibTessDotNet/Sources/Tess.cs
@@ -34,9 +34,13 @@
using System;
using System.Diagnostics;
+#if DOUBLE
+using Real = System.Double;
+namespace LibTessDotNet.Double
+#else
using Real = System.Single;
-
namespace LibTessDotNet
+#endif
{
public enum WindingRule
{
diff --git a/TessBed/TessBed.csproj b/TessBed/TessBed.csproj
index 22ea840..a734d44 100644
--- a/TessBed/TessBed.csproj
+++ b/TessBed/TessBed.csproj
@@ -6,7 +6,7 @@
8.0.30703
2.0
{AA3C13F4-2628-43D5-BAAE-751AE013C865}
- WinExe
+ Exe
Properties
TessBed
TessBed
@@ -35,6 +35,9 @@
4
false
+
+
+
Externals\NUnit\nunit.framework.dll
@@ -138,7 +141,9 @@
-
+
+
+
{5EE39029-873A-45A0-9259-2198BF8729F4}