Skip to content

Commit 4839332

Browse files
committed
TF.NET 1.0.9 is in a Trunk now.
0 parents  commit 4839332

File tree

690 files changed

+93432
-0
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

690 files changed

+93432
-0
lines changed

Core.sln

+63
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,63 @@
1+
2+
Microsoft Visual Studio Solution File, Format Version 9.00
3+
# Visual Studio 2005
4+
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "GeoAPI", "Core\Src\GeoAPI\GeoAPI.csproj", "{FFB69466-79DE-466A-ADA7-5C47C5C5CA3A}"
5+
EndProject
6+
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NetTopologySuite", "Core\Src\NetTopologySuite\NetTopologySuite.csproj", "{5770DAA9-84E5-4770-AF43-F6B815894368}"
7+
ProjectSection(ProjectDependencies) = postProject
8+
{FFB69466-79DE-466A-ADA7-5C47C5C5CA3A} = {FFB69466-79DE-466A-ADA7-5C47C5C5CA3A}
9+
{3E9DF3B2-DDF7-414D-BA8A-0F1131859F31} = {3E9DF3B2-DDF7-414D-BA8A-0F1131859F31}
10+
EndProjectSection
11+
EndProject
12+
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SharpMap.CoordinateSystems", "Core\Src\SharpMap\SharpMap.CoordinateSystems.csproj", "{3E9DF3B2-DDF7-414D-BA8A-0F1131859F31}"
13+
EndProject
14+
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "QuickGraph", "Core\Src\QuickGraph\QuickGraph.csproj", "{A9A5C115-0680-44B3-A87E-5ECF4C93814E}"
15+
EndProject
16+
Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "Topology.Conflation", "Core\Src\Topology.Conflation\Topology.Conflation.vbproj", "{0C28D4A8-94A3-4E76-A70D-7303D62C0763}"
17+
ProjectSection(ProjectDependencies) = postProject
18+
{FFB69466-79DE-466A-ADA7-5C47C5C5CA3A} = {FFB69466-79DE-466A-ADA7-5C47C5C5CA3A}
19+
{5770DAA9-84E5-4770-AF43-F6B815894368} = {5770DAA9-84E5-4770-AF43-F6B815894368}
20+
EndProjectSection
21+
EndProject
22+
Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "Topology.IO", "Core\Src\Topology.IO\Topology.IO.vbproj", "{5B699D3E-C21E-48F1-BCC9-A55E47469A30}"
23+
ProjectSection(ProjectDependencies) = postProject
24+
{FFB69466-79DE-466A-ADA7-5C47C5C5CA3A} = {FFB69466-79DE-466A-ADA7-5C47C5C5CA3A}
25+
{5770DAA9-84E5-4770-AF43-F6B815894368} = {5770DAA9-84E5-4770-AF43-F6B815894368}
26+
EndProjectSection
27+
EndProject
28+
Global
29+
GlobalSection(SolutionConfigurationPlatforms) = preSolution
30+
Debug|Any CPU = Debug|Any CPU
31+
Release|Any CPU = Release|Any CPU
32+
Description = Topology Framework .NET Core
33+
EndGlobalSection
34+
GlobalSection(ProjectConfigurationPlatforms) = postSolution
35+
{FFB69466-79DE-466A-ADA7-5C47C5C5CA3A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
36+
{FFB69466-79DE-466A-ADA7-5C47C5C5CA3A}.Debug|Any CPU.Build.0 = Debug|Any CPU
37+
{FFB69466-79DE-466A-ADA7-5C47C5C5CA3A}.Release|Any CPU.ActiveCfg = Release|Any CPU
38+
{FFB69466-79DE-466A-ADA7-5C47C5C5CA3A}.Release|Any CPU.Build.0 = Release|Any CPU
39+
{5770DAA9-84E5-4770-AF43-F6B815894368}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
40+
{5770DAA9-84E5-4770-AF43-F6B815894368}.Debug|Any CPU.Build.0 = Debug|Any CPU
41+
{5770DAA9-84E5-4770-AF43-F6B815894368}.Release|Any CPU.ActiveCfg = Release|Any CPU
42+
{5770DAA9-84E5-4770-AF43-F6B815894368}.Release|Any CPU.Build.0 = Release|Any CPU
43+
{3E9DF3B2-DDF7-414D-BA8A-0F1131859F31}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
44+
{3E9DF3B2-DDF7-414D-BA8A-0F1131859F31}.Debug|Any CPU.Build.0 = Debug|Any CPU
45+
{3E9DF3B2-DDF7-414D-BA8A-0F1131859F31}.Release|Any CPU.ActiveCfg = Release|Any CPU
46+
{3E9DF3B2-DDF7-414D-BA8A-0F1131859F31}.Release|Any CPU.Build.0 = Release|Any CPU
47+
{A9A5C115-0680-44B3-A87E-5ECF4C93814E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
48+
{A9A5C115-0680-44B3-A87E-5ECF4C93814E}.Debug|Any CPU.Build.0 = Debug|Any CPU
49+
{A9A5C115-0680-44B3-A87E-5ECF4C93814E}.Release|Any CPU.ActiveCfg = Release|Any CPU
50+
{A9A5C115-0680-44B3-A87E-5ECF4C93814E}.Release|Any CPU.Build.0 = Release|Any CPU
51+
{0C28D4A8-94A3-4E76-A70D-7303D62C0763}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
52+
{0C28D4A8-94A3-4E76-A70D-7303D62C0763}.Debug|Any CPU.Build.0 = Debug|Any CPU
53+
{0C28D4A8-94A3-4E76-A70D-7303D62C0763}.Release|Any CPU.ActiveCfg = Release|Any CPU
54+
{0C28D4A8-94A3-4E76-A70D-7303D62C0763}.Release|Any CPU.Build.0 = Release|Any CPU
55+
{5B699D3E-C21E-48F1-BCC9-A55E47469A30}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
56+
{5B699D3E-C21E-48F1-BCC9-A55E47469A30}.Debug|Any CPU.Build.0 = Debug|Any CPU
57+
{5B699D3E-C21E-48F1-BCC9-A55E47469A30}.Release|Any CPU.ActiveCfg = Release|Any CPU
58+
{5B699D3E-C21E-48F1-BCC9-A55E47469A30}.Release|Any CPU.Build.0 = Release|Any CPU
59+
EndGlobalSection
60+
GlobalSection(SolutionProperties) = preSolution
61+
HideSolutionNode = FALSE
62+
EndGlobalSection
63+
EndGlobal

Core.suo

155 KB
Binary file not shown.

Core/Bin/TF_MERGE.bat

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
ilmerge Topology.IO.dll Topology.Conflation.dll Topology.NetTopologySuite.dll Topology.GeoAPI.dll Topology.SharpMap.dll Topology.QuickGraph.dll /out:Topology.dll /log:tf_merge.log

Core/Src/GeoAPI/GeoAPI.csproj

+80
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,80 @@
1+
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
2+
<PropertyGroup>
3+
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
4+
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
5+
<ProductVersion>8.0.50727</ProductVersion>
6+
<SchemaVersion>2.0</SchemaVersion>
7+
<ProjectGuid>{FFB69466-79DE-466A-ADA7-5C47C5C5CA3A}</ProjectGuid>
8+
<OutputType>Library</OutputType>
9+
<AppDesignerFolder>Properties</AppDesignerFolder>
10+
<RootNamespace>Topology</RootNamespace>
11+
<AssemblyName>Topology.GeoAPI</AssemblyName>
12+
<SignAssembly>false</SignAssembly>
13+
<AssemblyOriginatorKeyFile>
14+
</AssemblyOriginatorKeyFile>
15+
</PropertyGroup>
16+
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
17+
<DebugSymbols>true</DebugSymbols>
18+
<DebugType>full</DebugType>
19+
<Optimize>false</Optimize>
20+
<OutputPath>bin\Debug\</OutputPath>
21+
<DefineConstants>DEBUG;TRACE</DefineConstants>
22+
<ErrorReport>prompt</ErrorReport>
23+
<WarningLevel>4</WarningLevel>
24+
<DocumentationFile>Topology.GeoAPI.xml</DocumentationFile>
25+
</PropertyGroup>
26+
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
27+
<DebugType>pdbonly</DebugType>
28+
<Optimize>true</Optimize>
29+
<OutputPath>..\..\Bin\</OutputPath>
30+
<DefineConstants>TRACE</DefineConstants>
31+
<ErrorReport>prompt</ErrorReport>
32+
<WarningLevel>4</WarningLevel>
33+
<DocumentationFile>Topology.GeoAPI.xml</DocumentationFile>
34+
</PropertyGroup>
35+
<ItemGroup>
36+
<Reference Include="System" />
37+
<Reference Include="System.Data" />
38+
<Reference Include="System.Xml" />
39+
</ItemGroup>
40+
<ItemGroup>
41+
<Compile Include="Geometries\ICoordinateFilter.cs" />
42+
<Compile Include="Geometries\ICoordinateSequence.cs" />
43+
<Compile Include="Geometries\ICoordinateSequenceFactory.cs" />
44+
<Compile Include="Geometries\IGeometryComponentFilter.cs" />
45+
<Compile Include="Geometries\IGeometryFactory.cs" />
46+
<Compile Include="Geometries\IGeometryFilter.cs" />
47+
<Compile Include="Geometries\IMultiSurface.cs" />
48+
<Compile Include="Geometries\IPrecisionModel.cs" />
49+
<Compile Include="Geometries\ISurface.cs" />
50+
<Compile Include="Geometries\IMultiCurve.cs" />
51+
<Compile Include="Geometries\ICurve.cs" />
52+
<Compile Include="Geometries\IMultiPolygon.cs" />
53+
<Compile Include="Geometries\IGeometryCollection.cs" />
54+
<Compile Include="Geometries\ILinearRing.cs" />
55+
<Compile Include="Geometries\Dimension.cs" />
56+
<Compile Include="Geometries\ICoordinate.cs" />
57+
<Compile Include="Geometries\IEnvelope.cs" />
58+
<Compile Include="Geometries\ILineString.cs" />
59+
<Compile Include="Geometries\IMultiLineString.cs" />
60+
<Compile Include="Geometries\IMultiPoint.cs" />
61+
<Compile Include="Geometries\IntersectionMatrix.cs" />
62+
<Compile Include="Geometries\IPoint.cs" />
63+
<Compile Include="Geometries\IPolygon.cs" />
64+
<Compile Include="Geometries\Location.cs" />
65+
<Compile Include="Operation\Buffer\BufferStyle.cs" />
66+
<Compile Include="Geometries\IGeometry.cs" />
67+
<Compile Include="Properties\AssemblyInfo.cs" />
68+
</ItemGroup>
69+
<ItemGroup>
70+
<Service Include="{B4F97281-0DBD-4835-9ED8-7DFB966E87FF}" />
71+
</ItemGroup>
72+
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
73+
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
74+
Other similar extension points exist, see Microsoft.Common.targets.
75+
<Target Name="BeforeBuild">
76+
</Target>
77+
<Target Name="AfterBuild">
78+
</Target>
79+
-->
80+
</Project>

Core/Src/GeoAPI/GeoAPI.csproj.user

+5
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
2+
<PropertyGroup>
3+
<ProjectView>ProjectFiles</ProjectView>
4+
</PropertyGroup>
5+
</Project>
+113
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,113 @@
1+
using System;
2+
using System.Collections.Generic;
3+
using System.Text;
4+
5+
namespace Topology.Geometries
6+
{
7+
/// <summary>
8+
/// Constants representing the dimensions of a point, a curve and a surface.
9+
/// Also, constants representing the dimensions of the empty point and
10+
/// non-empty geometries, and a wildcard dimension meaning "any dimension".
11+
/// </summary>
12+
public enum Dimensions : int
13+
{
14+
/// <summary>
15+
/// Dimension value of a point (0).
16+
/// </summary>
17+
Point = 0,
18+
19+
/// <summary>
20+
/// Dimension value of a curve (1).
21+
/// </summary>
22+
Curve = 1,
23+
24+
/// <summary>
25+
/// Dimension value of a surface (2).
26+
/// </summary>
27+
Surface = 2,
28+
29+
/// <summary>
30+
/// Dimension value of a empty point (-1).
31+
/// </summary>
32+
False = -1,
33+
34+
/// <summary>
35+
/// Dimension value of non-empty geometries (= {Point,Curve,A}).
36+
/// </summary>
37+
True = -2,
38+
39+
/// <summary>
40+
/// Dimension value for any dimension (= {False, True}).
41+
/// </summary>
42+
Dontcare = -3
43+
}
44+
45+
/// <summary>
46+
/// Class containing static methods for conversions
47+
/// between dimension values and characters.
48+
/// </summary>
49+
public class Dimension
50+
{
51+
private Dimension() { }
52+
53+
/// <summary>
54+
/// Converts the dimension value to a dimension symbol,
55+
/// for example, <c>True => 'T'</c>
56+
/// </summary>
57+
/// <param name="dimensionValue">Number that can be stored in the <c>IntersectionMatrix</c>.
58+
/// Possible values are <c>True, False, Dontcare, 0, 1, 2</c>.</param>
59+
/// <returns>Character for use in the string representation of an <c>IntersectionMatrix</c>.
60+
/// Possible values are <c>T, F, * , 0, 1, 2</c>.</returns>
61+
public static char ToDimensionSymbol(Dimensions dimensionValue)
62+
{
63+
switch (dimensionValue)
64+
{
65+
case Dimensions.False:
66+
return 'F';
67+
case Dimensions.True:
68+
return 'T';
69+
case Dimensions.Dontcare:
70+
return '*';
71+
case Dimensions.Point:
72+
return '0';
73+
case Dimensions.Curve:
74+
return '1';
75+
case Dimensions.Surface:
76+
return '2';
77+
default:
78+
throw new ArgumentOutOfRangeException
79+
("Unknown dimension value: " + dimensionValue);
80+
}
81+
}
82+
83+
/// <summary>
84+
/// Converts the dimension symbol to a dimension value,
85+
/// for example, <c>'*' => Dontcare</c>
86+
/// </summary>
87+
/// <param name="dimensionSymbol">Character for use in the string representation of an <c>IntersectionMatrix</c>.
88+
/// Possible values are <c>T, F, * , 0, 1, 2</c>.</param>
89+
/// <returns>Number that can be stored in the <c>IntersectionMatrix</c>.
90+
/// Possible values are <c>True, False, Dontcare, 0, 1, 2</c>.</returns>
91+
public static Dimensions ToDimensionValue(char dimensionSymbol)
92+
{
93+
switch (Char.ToUpper(dimensionSymbol))
94+
{
95+
case 'F':
96+
return Dimensions.False;
97+
case 'T':
98+
return Dimensions.True;
99+
case '*':
100+
return Dimensions.Dontcare;
101+
case '0':
102+
return Dimensions.Point;
103+
case '1':
104+
return Dimensions.Curve;
105+
case '2':
106+
return Dimensions.Surface;
107+
default:
108+
throw new ArgumentOutOfRangeException
109+
("Unknown dimension symbol: " + dimensionSymbol);
110+
}
111+
}
112+
}
113+
}
+23
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
using System;
2+
using System.Collections.Generic;
3+
using System.Text;
4+
5+
namespace Topology.Geometries
6+
{
7+
public interface ICoordinate : ICloneable, IComparable, IComparable<ICoordinate>, IEquatable<ICoordinate>
8+
{
9+
double X { get; set; }
10+
11+
double Y { get; set; }
12+
13+
double Z { get; set; }
14+
15+
ICoordinate CoordinateValue { get; set; }
16+
17+
double Distance(ICoordinate p);
18+
19+
bool Equals2D(ICoordinate other);
20+
21+
bool Equals3D(ICoordinate other);
22+
}
23+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
using System;
2+
3+
namespace Topology.Geometries
4+
{
5+
/// <summary>
6+
/// <c>Geometry</c> classes support the concept of applying a
7+
/// coordinate filter to every coordinate in the <c>Geometry</c>. A
8+
/// coordinate filter can either record information about each coordinate or
9+
/// change the coordinate in some way. Coordinate filters implement the
10+
/// interface <c>ICoordinateFilter</c>.
11+
/// <c>ICoordinateFilter</c> is an example of the Gang-of-Four Visitor pattern.
12+
/// Coordinate filters can be
13+
/// used to implement such things as coordinate transformations, centroid and
14+
/// envelope computation, and many other functions.
15+
/// </summary>
16+
public interface ICoordinateFilter
17+
{
18+
/// <summary>
19+
/// Performs an operation with or on <c>coord</c>.
20+
/// </summary>
21+
/// <param name="coord"><c>Coordinate</c> to which the filter is applied.</param>
22+
void Filter(ICoordinate coord);
23+
}
24+
25+
}

0 commit comments

Comments
 (0)