Zen.Hexagons 1.0.7

There is a newer version of this package available.
See the version list below for details.
dotnet add package Zen.Hexagons --version 1.0.7                
NuGet\Install-Package Zen.Hexagons -Version 1.0.7                
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Zen.Hexagons" Version="1.0.7" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add Zen.Hexagons --version 1.0.7                
#r "nuget: Zen.Hexagons, 1.0.7"                
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install Zen.Hexagons as a Cake Addin
#addin nuget:?package=Zen.Hexagons&version=1.0.7

// Install Zen.Hexagons as a Cake Tool
#tool nuget:?package=Zen.Hexagons&version=1.0.7                

Zen.Hexagons

Hexagon routines for use in for software that uses hexagon grids. Can be used for pointy-topped or flat-topped hexes and offset, axial or cube coordinate systems.

Uses ideas from Amit Patel's brilliant http://www.redblobgames.com/grids/hexagons/.

Nuget package download: https://www.nuget.org/packages/Zen.Hexagons/1.0.7

Example

To use:

var hexLibrary = new Zen.Hexagons.HexLibrary(HexType.FlatTopped, OffsetCoordinatesType.Odd, 64.0f);

var hexCube = hexLibrary.OffsetCoordinatesToCube(new HexOffsetCoordinates(2, 2));
var hexAxial = hexLibrary.OffsetCoordinatesToAxial(new HexOffsetCoordinates(2, 2));

var neighbors = hexLibrary.GetAllNeighbors(new HexOffsetCoordinates(1, 1));
var neighborNW = hexLibrary.GetNeighbor(new HexOffsetCoordinates(1, 1), Direction.NorthWest);

var ring1 = hexLibrary.GetSingleRing(new HexOffsetCoordinates(1, 1), 1);
var ring2 = hexLibrary.GetSingleRing(new HexOffsetCoordinates(2, 2), 2);

var ring3 = hexLibrary.GetSpiralRing(new HexOffsetCoordinates(2, 2), 2);

var line = hexLibrary.GetLine(new HexOffsetCoordinates(1, 0), new HexOffsetCoordinates(3, 4));

var distance = hexLibrary.GetDistance(new HexOffsetCoordinates(1, 0), new HexOffsetCoordinates(3, 4));

var pixel = hexLibrary.FromOffsetCoordinatesToPixel(new HexOffsetCoordinates(1, 1));

var coords = hexLibrary.FromPixelToOffsetCoordinates(96, 166);

Developer

Written by Greg Moller (greg.moller@gmail.com)
If you have any questions drop me a line at the above email.

License

Licensed under the MIT License. See the LICENCE file for more information.

Product Compatible and additional computed target framework versions.
.NET net5.0 was computed.  net5.0-windows was computed.  net6.0 was computed.  net6.0-android was computed.  net6.0-ios was computed.  net6.0-maccatalyst was computed.  net6.0-macos was computed.  net6.0-tvos was computed.  net6.0-windows was computed.  net7.0 was computed.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net8.0 was computed.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed. 
.NET Core netcoreapp3.1 is compatible. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
  • .NETCoreApp 3.1

    • No dependencies.

NuGet packages (1)

Showing the top 1 NuGet packages that depend on Zen.Hexagons:

Package Downloads
Zen.MonoGameUtilities

An amalgamation of various helper routines for use with MonoGame in my software.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
1.0.8 419 12/30/2020
1.0.7 2,251 11/5/2020
1.0.5 994 10/27/2020
1.0.4 505 10/23/2020
1.0.3 378 10/22/2020
1.0.2 383 10/22/2020
1.0.1 411 10/20/2020
1.0.0 394 10/19/2020