S2 Geometry Library

Overview

This project is a migration of Google's S2 Geometric Library from C++ to the D programming language.

Converted from commit cdf1a05 on February 2nd 2018.

The S2 Geometric Library is a package for manipulating geometric shapes. Unlike many geometry libraries, S2 is primarily designed to work with spherical geometry, i.e., shapes drawn on a sphere rather than on a planar 2D map. This makes it especially suitable for working with geographic data.

If you want to learn more about the library, start by reading the overview and quick start document, then read the introduction to the basic types.

S2 documentation can be found on s2geometry.io.

Requirements for End Users

A D compiler.

The dub build tool.

Build and Install

You must clone the git repository.

cd [parent of directory where you want to put S2] git clone https://github.com/vnayar/s2geometry-d.git cd s2geometry-d

Testing

The unittests may be run using the following command:

dub test

To run a single test, use its name along with the parameters "-s" and "-d", to run in single-threaded mode and to enable debug output respectively.

dub test -- -s -d s2.s2predicates_test

Building

From the appropriate directory depending on how you got the source, run the command:

dub

Generating Documentation

Documentation is generated from the ddoc formatted comments in the code. The best looking output comes from using the tool ddox and can be generated with the command:

dub build --build=ddox

A local server can be run to allow you to preview the documentation using the command:

dub run --build=ddox

Disclaimer

This is not an official Google product.