master 45ac5a82b0a9 cached
670 files
4.2 MB
1.1M tokens
4074 symbols
1 requests
Download .txt
Showing preview only (4,560K chars total). Download the full file or copy to clipboard to get everything.
Repository: pgeerkens/HexGridUtilitiesForGames
Branch: master
Commit: 45ac5a82b0a9
Files: 670
Total size: 4.2 MB

Directory structure:
gitextract_cfts_d40/

├── .gitattributes
├── .gitignore
├── CustomDictionary.xml
├── HexGridExampleCommon/
│   ├── AStarBugMap.cs
│   ├── CustomDictionary.xml
│   ├── DocMainPage.cs
│   ├── EmptyBoard.cs
│   ├── EmptyGridHex.cs
│   ├── GlobalSuppressions.cs
│   ├── HexgridExampleCommon.csproj
│   ├── HexgridUtilities.Doxyfile
│   ├── HexgridUtilities.HtmlHelp.Doxyfile
│   ├── MapDefs.cs
│   ├── MapList.cs
│   ├── MazeGridHex.cs
│   ├── MazeMap.cs
│   ├── Properties/
│   │   ├── AssemblyInfo.cs
│   │   ├── Resources.Designer.cs
│   │   └── Resources.resx
│   ├── TerrainGridHex.cs
│   └── TerrainMap.cs
├── HexGridUtilitiesExamples.sln
├── HexGridUtilitiesForGames.Doxyfile
├── HexUtilities/
│   ├── Common/
│   │   ├── EnumExtensions.cs
│   │   ├── EnumHelper.cs
│   │   ├── EventArgs.cs
│   │   ├── ImmutableStack.cs
│   │   ├── NativeMethods.cs
│   │   ├── Tracing.cs
│   │   └── ValueChangedEventArgs.cs
│   ├── CustomCoords.cs
│   ├── Doxyfile
│   ├── Extensions.cs
│   ├── FastLists/
│   │   ├── AbstractFastList.cs
│   │   ├── FastEnumerable.cs
│   │   ├── FastIteratorFunctor.cs
│   │   ├── FastList.cs
│   │   ├── FastListExtensions.cs
│   │   └── Interfaces.cs
│   ├── FieldOfView/
│   │   ├── ArrayFieldOfView.cs
│   │   ├── Dodecant.cs
│   │   ├── FovBoardExtensions.cs
│   │   ├── FovCone.cs
│   │   ├── FovFactory.cs
│   │   ├── FovQueue.cs
│   │   ├── IFovBoard.cs
│   │   ├── RiseRun.cs
│   │   ├── ShadowCastingFov.cs
│   │   └── ShadowCastingFov_Utilities.cs
│   ├── GlobalSuppressions.cs
│   ├── Hex.cs
│   ├── HexCoords.cs
│   ├── HexGrid.cs
│   ├── HexPickingExtensions.cs
│   ├── HexUtilities.csproj
│   ├── Hexside.cs
│   ├── Hexsides.cs
│   ├── IBoard.cs
│   ├── IHex.cs
│   ├── IHexBoard.cs
│   ├── IHexgrid.cs
│   ├── IHexgridExtensions.cs
│   ├── IShadingMask.cs
│   ├── IntMatrix2D.cs
│   ├── IntVector2D.cs
│   ├── License.md
│   ├── Maybe.cs
│   ├── MaybeExtensions.cs
│   ├── NullableExtensions.cs
│   ├── Pathfinding/
│   │   ├── AltPathfinder.cs
│   │   ├── BidirectionalAltPathfinder.cs
│   │   ├── DictPriorityQueue.cs
│   │   ├── DirectedLandmark.cs
│   │   ├── DirectedPathCollection.cs
│   │   ├── DirectedPathStepHex.cs
│   │   ├── HexKeyValuePair.cs
│   │   ├── HexsideCosts.cs
│   │   ├── HotPriorityQueue.cs
│   │   ├── HotPriorityQueueueList.cs
│   │   ├── IDirectedPathCollection.cs
│   │   ├── IHotPrioirtyQueueList.cs
│   │   ├── INavigableBoard.cs
│   │   ├── IPriorityQueue.cs
│   │   ├── Interfaces.cs
│   │   ├── Landmark.cs
│   │   ├── LandmarkCollection.cs
│   │   ├── LandmarkPopulator.cs
│   │   ├── MinListHeap.cs
│   │   ├── NavigableBoard.cs
│   │   ├── PathHalves.cs
│   │   ├── PathTracingExtensions.cs
│   │   ├── PathfinderExtensions.cs
│   │   ├── PriorityQueueFactory.cs
│   │   └── StandardPathfinder.cs
│   ├── PointExtensions.cs
│   ├── Properties/
│   │   └── AssemblyInfo.cs
│   ├── SizeExtensions.cs
│   ├── Storage/
│   │   ├── BlockedBoardStorage.cs
│   │   ├── BlockedBoardStorage32x32.cs
│   │   ├── BoardStorage.cs
│   │   ├── FlatBoardStorage.cs
│   │   ├── HexBoard.cs
│   │   ├── HexBoardExtensions.cs
│   │   ├── IBoardStorage.cs
│   │   ├── IMapDisplay.cs
│   │   ├── IMapDisplayWinForms.cs
│   │   ├── Map.cs
│   │   ├── MapDisplay.cs
│   │   └── MapDisplayExtensions.cs
│   └── UserCoordsRectangle.cs
├── HexgridExampleWinforms/
│   ├── App.config
│   ├── GlobalSuppressions.cs
│   ├── HexgridExampleWinforms.csproj
│   ├── IMapView.cs
│   ├── IMapViewModel.cs
│   ├── MDIParent.Designer.cs
│   ├── MDIParent.cs
│   ├── MDIParent.resx
│   ├── MapModel.cs
│   ├── MapViewModel.cs
│   ├── NativeMethods.cs
│   ├── Program.cs
│   ├── Properties/
│   │   ├── AssemblyInfo.cs
│   │   ├── Resources.Designer.cs
│   │   ├── Resources.resx
│   │   ├── Settings.Designer.cs
│   │   └── Settings.settings
│   └── license.txt
├── HexgridExampleWinforms2/
│   ├── HexgridExampleWinforms2.csproj
│   ├── HexgridScrollViewer.xaml
│   ├── HexgridScrollViewer.xaml.cs
│   ├── HexgridScrollViewerViewModel.cs
│   ├── HexgridViewModel.cs
│   ├── IMapDisplayWpf.cs
│   ├── MDIParent.Designer.cs
│   ├── MDIParent.cs
│   ├── MDIParent.resx
│   ├── MapDisplayPainter.cs
│   ├── NativeMethods.cs
│   ├── Program.cs
│   ├── Properties/
│   │   ├── AssemblyInfo.cs
│   │   ├── Resources.Designer.cs
│   │   └── Resources.resx
│   ├── TiltAwareScrollViewer.cs
│   └── ViewModelBase.cs
├── HexgridExampleWpf/
│   ├── App.config
│   ├── App.xaml
│   ├── App.xaml.cs
│   ├── CommandComboBox.cs
│   ├── CommandSlider.cs
│   ├── CustomDictionary.xml
│   ├── HexgridExampleWpf.csproj
│   ├── MainWindow.xaml
│   ├── MainWindow.xaml.cs
│   ├── NativeMethods.cs
│   └── Properties/
│       ├── AssemblyInfo.cs
│       ├── Resources.Designer.cs
│       ├── Resources.resx
│       ├── Settings.Designer.cs
│       └── Settings.settings
├── HexgridPanel/
│   ├── AbstractModelDisplayPainter.cs
│   ├── BitmapExtensions.cs
│   ├── CustomDictionary.xsd
│   ├── Example/
│   │   ├── HexGridPanelExample.Designer.cs
│   │   ├── HexGridPanelExample.cs
│   │   ├── HexGridPanelExample.resx
│   │   ├── HexgridBufferedPanelExample.Designer.cs
│   │   ├── HexgridBufferedPanelExample.cs
│   │   ├── HexgridBufferedPanelExample.resx
│   │   ├── MenuBarToolStrip.Designer.cs
│   │   ├── MenuBarToolStrip.cs
│   │   ├── StatusBarToolStrip.Designer.cs
│   │   ├── StatusBarToolStrip.cs
│   │   └── StatusBarToolStrip.resx
│   ├── GlobalSuppressions.cs
│   ├── GraphicsExtensions.cs
│   ├── GraphicsMapPainter.cs
│   ├── HexEventArgs.cs
│   ├── HexgridBufferedPanel.Designer.cs
│   ├── HexgridBufferedPanel.cs
│   ├── HexgridBufferedPanelForm.Designer.cs
│   ├── HexgridBufferedPanelForm.cs
│   ├── HexgridBufferedPanelForm.resx
│   ├── HexgridPanel.Designer.cs
│   ├── HexgridPanel.cs
│   ├── HexgridPanel.csproj
│   ├── HexgridPanelForm.Designer.cs
│   ├── HexgridPanelForm.cs
│   ├── HexgridViewModel.cs
│   ├── IMapDisplayPainter.cs
│   ├── IScrollableControl.cs
│   ├── MapDisplayPainter.cs
│   ├── MapDisplayPainterExtensions.cs
│   ├── MapOrientation.cs
│   ├── MapPanel.Designer.cs
│   ├── MapPanel.cs
│   ├── MapPanelCached.Designer.cs
│   ├── MapPanelCached.cs
│   ├── Properties/
│   │   ├── AssemblyInfo.cs
│   │   ├── Resources.Designer.cs
│   │   └── Resources.resx
│   ├── Reference Source/
│   │   ├── BufferedGraphics.cs
│   │   ├── BufferedGraphicsContext.cs
│   │   ├── BufferedGraphicsManager.cs
│   │   └── SafeNativeMethods.cs
│   ├── TiltableForm.Designer.cs
│   ├── TiltableForm.cs
│   ├── TiltableForm.resx
│   ├── ViewModelBase.cs
│   ├── WinForms/
│   │   ├── BufferedGraphicsExtensions.cs
│   │   ├── ControlExtensions.cs
│   │   ├── ExceptionDialog.Designer.cs
│   │   ├── ExceptionDialog.cs
│   │   ├── ExceptionDialog.en-US.resx
│   │   ├── ExceptionDialog.resx
│   │   ├── GdiRasterOps.cs
│   │   ├── Layer.cs
│   │   ├── LayerCollection.cs
│   │   ├── LayeredScrollable.Designer.cs
│   │   ├── LayeredScrollable.cs
│   │   ├── NativeMethods.cs
│   │   ├── NativeMethodsTreeView.cs
│   │   ├── ScrollBarCommand.cs
│   │   ├── ScrollableControlExtensions.cs
│   │   ├── ThreadExceptionHandler.cs
│   │   ├── TiltAwareFlowLayoutPanel.cs
│   │   ├── TiltAwarePanel.cs
│   │   ├── TiltAwareScrollable.cs
│   │   ├── TiltAwareTreeView.Designer.cs
│   │   ├── TiltAwareTreeView.cs
│   │   ├── TransparentPanel.cs
│   │   ├── WinFormsExtensions.cs
│   │   ├── WindowsMessages.cs
│   │   ├── WindowsMouseInput.cs
│   │   └── WindowsStylesEx.cs
│   └── license.txt
├── HexgridUtilities.snk
├── LICENSE
├── Packages.dgml
├── README.md
├── codeplex/
│   ├── CustomDictionary.xml
│   ├── HexGridExample/
│   │   ├── HexGridExample.Designer.cs
│   │   ├── HexGridExample.cs
│   │   ├── HexGridExample.csproj
│   │   ├── HexGridExample.resx
│   │   ├── IMapBoard.cs
│   │   ├── MapBoard.cs
│   │   ├── MapDisplay.cs
│   │   ├── MapGridHex.cs
│   │   ├── MazeMap.cs
│   │   ├── Program.cs
│   │   ├── Properties/
│   │   │   ├── AssemblyInfo.cs
│   │   │   ├── Resources.Designer.cs
│   │   │   ├── Resources.resx
│   │   │   ├── Settings.Designer.cs
│   │   │   └── Settings.settings
│   │   ├── TerrainGridHex.cs
│   │   └── TerrainMap.cs
│   ├── HexGridExample.sln
│   ├── HexGridExample2/
│   │   ├── GlobalSuppressions.cs
│   │   ├── HexGridExampleWinForms.Designer.cs
│   │   ├── HexGridExampleWinForms.cs
│   │   ├── HexGridExampleWinForms.resx
│   │   ├── HexgridExampleWinForms.csproj
│   │   ├── HexgridUtilities.chm
│   │   ├── NativeMethods.cs
│   │   ├── Program.cs
│   │   ├── Properties/
│   │   │   ├── AssemblyInfo.cs
│   │   │   ├── Resources.Designer.cs
│   │   │   ├── Resources.resx
│   │   │   ├── Settings.Designer.cs
│   │   │   └── Settings.settings
│   │   ├── app.config
│   │   └── index.xhtml
│   ├── HexGridExample2-branch/
│   │   ├── GlobalSuppressions.cs
│   │   ├── HexGridExample.Designer.cs
│   │   ├── HexGridExample.cs
│   │   ├── HexGridExample.resx
│   │   ├── HexGridExample2.csproj
│   │   ├── MapDisplay.cs
│   │   ├── MapGridHex.cs
│   │   ├── MazeGridHex.cs
│   │   ├── MazeMap.cs
│   │   ├── NativeMethods.cs
│   │   ├── Program.cs
│   │   ├── Properties/
│   │   │   ├── AssemblyInfo.cs
│   │   │   ├── Resources.Designer.cs
│   │   │   ├── Resources.resx
│   │   │   ├── Settings.Designer.cs
│   │   │   └── Settings.settings
│   │   ├── TerrainGridHex.cs
│   │   ├── TerrainMap.cs
│   │   └── app.config
│   ├── HexGridExampleCommon/
│   │   ├── AStarBugMap.cs
│   │   ├── CustomDictionary.xml
│   │   ├── DocMainPage.cs
│   │   ├── GlobalSuppressions.cs
│   │   ├── HexgridExampleCommon.csproj
│   │   ├── HexgridUtilities.Doxyfile
│   │   ├── HexgridUtilities.HtmlHelp.Doxyfile
│   │   ├── MapDefs.cs
│   │   ├── MapList.cs
│   │   ├── MazeGridHex.cs
│   │   ├── MazeMap.cs
│   │   ├── MyMapDisplay.cs
│   │   ├── Properties/
│   │   │   ├── AssemblyInfo.cs
│   │   │   ├── Resources.Designer.cs
│   │   │   └── Resources.resx
│   │   ├── TerrainGridHex.cs
│   │   └── TerrainMap.cs
│   ├── HexInterfaces/
│   │   ├── Common/
│   │   │   ├── DebugTracing.cs
│   │   │   ├── EnumExtensions.cs
│   │   │   ├── Extensions.cs
│   │   │   ├── FastList.cs
│   │   │   ├── ImmutableStack.cs
│   │   │   ├── IntMatrix2D.cs
│   │   │   ├── IntVector2D.cs
│   │   │   ├── PointExtensions.cs
│   │   │   ├── SizeExtensions.cs
│   │   │   └── UserCoordsRectangle.cs
│   │   ├── CustomCoordsFactory.cs
│   │   ├── CustomDictionary.xml
│   │   ├── HexCoords.cs
│   │   ├── HexInterfaces.csproj
│   │   ├── HexInterfaces.pfx.snk
│   │   ├── Hexside.cs
│   │   ├── Hexsides.cs
│   │   ├── IBoardStorage.cs
│   │   ├── IFieldOfView.cs
│   │   ├── IHex.cs
│   │   ├── IHexBoard.cs
│   │   ├── IHexgrid.cs
│   │   ├── IMapDisplay.cs
│   │   ├── NeighbourCoords.cs
│   │   ├── NeighbourHex.cs
│   │   ├── Pathfinding/
│   │   │   ├── IDirectedNavigableBoard.cs
│   │   │   ├── IDirectedPathCollection.cs
│   │   │   ├── ILandmark.cs
│   │   │   └── IPathfinder.cs
│   │   └── Properties/
│   │       └── AssemblyInfo.cs
│   ├── HexUtilities/
│   │   ├── BlockedBoardStorage32x32.cs
│   │   ├── BoardStorage.cs
│   │   ├── Common/
│   │   │   ├── DebugTracing.cs
│   │   │   ├── EnumExtensions.cs
│   │   │   ├── Extensions.cs
│   │   │   ├── FastList.cs
│   │   │   ├── HeapPriorityQueue.cs
│   │   │   ├── ImmutableStack.cs
│   │   │   ├── IntMatrix2D.cs
│   │   │   ├── IntVector2D.cs
│   │   │   ├── PointExtensions.cs
│   │   │   ├── SizeExtensions.cs
│   │   │   └── UserCoordsRectangle.cs
│   │   ├── CustomCoordsFactory.cs
│   │   ├── FieldOfView/
│   │   │   ├── Dodecant.cs
│   │   │   ├── FieldOfView.cs
│   │   │   ├── FovCone.cs
│   │   │   ├── FovFactory.cs
│   │   │   ├── FovQueue.cs
│   │   │   ├── RiseRun.cs
│   │   │   ├── ShadowCastingFov.cs
│   │   │   └── ShadowCastingFov_Utilities.cs
│   │   ├── FlatBoardStorage.cs
│   │   ├── GlobalSuppressions.cs
│   │   ├── Hex.cs
│   │   ├── HexBoard.cs
│   │   ├── HexCoords.cs
│   │   ├── HexGrid.cs
│   │   ├── HexUtilities.csproj
│   │   ├── Hexside.cs
│   │   ├── HexsideFlags.cs
│   │   ├── IMapDisplay.cs
│   │   ├── NeighbourCoords.cs
│   │   ├── NeighbourHex.cs
│   │   ├── PathFinding/
│   │   │   ├── BidirectionalPathfinder.cs
│   │   │   ├── BlueRajaPriorityQueue.cs
│   │   │   ├── ConcurrentHashSet.cs
│   │   │   ├── DictPriorityQueue.cs
│   │   │   ├── DirectedPathCollection.cs
│   │   │   ├── HexKeyValuePair.cs
│   │   │   ├── HotPriorityQueue.cs
│   │   │   ├── HotPriorityQueueList.cs
│   │   │   ├── HotPriorityQueueueList.cs
│   │   │   ├── IDirectedNavigableBoard.cs
│   │   │   ├── IPriorityQueue.cs
│   │   │   ├── Landmark.cs
│   │   │   ├── LandmarkCollection.cs
│   │   │   ├── Path.cs
│   │   │   ├── PathFinderFwd.cs
│   │   │   ├── PathShortcut.cs
│   │   │   └── UnidirectionalPathfinder.cs
│   │   ├── Properties/
│   │   │   └── AssemblyInfo.cs
│   │   └── license.txt
│   ├── HexgridExampleWinForms/
│   │   ├── HexgridExampleWinForms.csproj
│   │   ├── Properties/
│   │   │   └── AssemblyInfo.cs
│   │   ├── UserControl1.Designer.cs
│   │   ├── UserControl1.cs
│   │   └── WinForms/
│   │       ├── ExceptionDialog.Designer.cs
│   │       ├── ExceptionDialog.cs
│   │       ├── ExceptionDialog.en-US.resx
│   │       ├── ExceptionDialog.resx
│   │       ├── GdiRasterOps.cs
│   │       ├── NativeMethods.cs
│   │       ├── ScrollBarCommand.cs
│   │       ├── ThreadExceptionHandler.cs
│   │       ├── TransparentPanel.cs
│   │       ├── WinFormsExtensions.cs
│   │       ├── WindowsMessages.cs
│   │       ├── WindowsMouseInput.cs
│   │       └── WindowsStylesEx.cs
│   ├── HexgridExampleWpf/
│   │   ├── App.config
│   │   ├── App.xaml
│   │   ├── App.xaml.cs
│   │   ├── CommandComboBox.cs
│   │   ├── CommandSlider.cs
│   │   ├── CustomDictionary.xml
│   │   ├── HexgridExampleWpf.csproj
│   │   ├── MainWindow.xaml
│   │   ├── MainWindow.xaml.cs
│   │   └── Properties/
│   │       ├── AssemblyInfo.cs
│   │       ├── Resources.Designer.cs
│   │       ├── Resources.resx
│   │       ├── Settings.Designer.cs
│   │       └── Settings.settings
│   ├── HexgridPanel/
│   │   ├── Common/
│   │   │   ├── EmptyBoard.cs
│   │   │   ├── HexEventArgs.cs
│   │   │   └── MapDisplay.cs
│   │   ├── CustomDictionary.xsd
│   │   ├── GlobalSuppressions.cs
│   │   ├── HexGridPanel.resx
│   │   ├── HexgridPanel.Designer.cs
│   │   ├── HexgridPanel.cs
│   │   ├── HexgridPanel.csproj
│   │   ├── HexgridScrollable.Designer.cs
│   │   ├── HexgridScrollable.cs
│   │   ├── HexgridViewModel.cs
│   │   ├── IMapDisplayWinForms.cs
│   │   ├── MapDisplayPainter.cs
│   │   ├── Properties/
│   │   │   ├── AssemblyInfo.cs
│   │   │   ├── Resources.Designer.cs
│   │   │   └── Resources.resx
│   │   ├── ViewModelBase.cs
│   │   ├── WinForms/
│   │   │   ├── BufferedGraphicsExtensions.cs
│   │   │   ├── ExceptionDialog.Designer.cs
│   │   │   ├── ExceptionDialog.cs
│   │   │   ├── ExceptionDialog.en-US.resx
│   │   │   ├── ExceptionDialog.resx
│   │   │   ├── GdiRasterOps.cs
│   │   │   ├── LayeredScrollable.Designer.cs
│   │   │   ├── LayeredScrollable.cs
│   │   │   ├── NativeMethods.cs
│   │   │   ├── ScrollBarCommand.cs
│   │   │   ├── ThreadExceptionHandler.cs
│   │   │   ├── TiltAwarePanel.cs
│   │   │   ├── TiltAwareScrollable.cs
│   │   │   ├── TransparentPanel.cs
│   │   │   ├── WinFormsExtensions.cs
│   │   │   ├── WindowsMessages.cs
│   │   │   ├── WindowsMouseInput.cs
│   │   │   └── WindowsStylesEx.cs
│   │   └── license.txt
│   ├── HexgridScrollViewer/
│   │   ├── Common/
│   │   │   ├── EmptyBoard.cs
│   │   │   ├── HexEventArgs.cs
│   │   │   └── MapDisplay.cs
│   │   ├── HexgridScrollViewer.csproj
│   │   ├── HexgridScrollViewer.xaml
│   │   ├── HexgridScrollViewer.xaml.cs
│   │   ├── HexgridViewModel.cs
│   │   ├── IMapDisplayWpf.cs
│   │   ├── Properties/
│   │   │   └── AssemblyInfo.cs
│   │   ├── TiltAwareScrollViewer.cs
│   │   └── ViewModelBase.cs
│   ├── HexgridScrollable/
│   │   ├── BufferedHexgridScrollable.Designer.cs
│   │   ├── BufferedHexgridScrollable.cs
│   │   ├── EmptyBoard.cs
│   │   ├── HexEventArgs.cs
│   │   ├── HexgridScrollable.Designer.cs
│   │   ├── HexgridScrollable.cs
│   │   ├── HexgridScrollable.csproj
│   │   ├── HexgridViewModel.cs
│   │   ├── LayeredScrollable.Designer.cs
│   │   ├── LayeredScrollable.cs
│   │   ├── MapDisplay.cs
│   │   ├── MapGridHex.cs
│   │   ├── Properties/
│   │   │   └── AssemblyInfo.cs
│   │   ├── ViewModelBase.cs
│   │   ├── WinForms/
│   │   │   ├── ExceptionDialog.Designer.cs
│   │   │   ├── ExceptionDialog.cs
│   │   │   ├── ExceptionDialog.en-US.resx
│   │   │   ├── ExceptionDialog.resx
│   │   │   ├── GdiRasterOps.cs
│   │   │   ├── NativeMethods.cs
│   │   │   ├── ScrollBarCommand.cs
│   │   │   ├── ThreadExceptionHandler.cs
│   │   │   ├── TransparentPanel.cs
│   │   │   ├── WinFormsExtensions.cs
│   │   │   ├── WindowsMessages.cs
│   │   │   ├── WindowsMouseInput.cs
│   │   │   └── WindowsStylesEx.cs
│   │   └── license.txt
│   ├── HexgridScrollableExample/
│   │   ├── App.config
│   │   ├── ExampleBufferedHexgridScrollable.Designer.cs
│   │   ├── ExampleBufferedHexgridScrollable.cs
│   │   ├── ExampleBufferedHexgridScrollable.resx
│   │   ├── ExampleHexGridPanel.Designer.cs
│   │   ├── ExampleHexGridPanel.cs
│   │   ├── ExampleHexGridPanel.resx
│   │   ├── ExampleHexGridScrollable.Designer.cs
│   │   ├── ExampleHexGridScrollable.cs
│   │   ├── ExampleHexGridScrollable.resx
│   │   ├── GlobalSuppressions.cs
│   │   ├── HexgridScrollableExample.csproj
│   │   ├── MDIParent1.Designer.cs
│   │   ├── MDIParent1.cs
│   │   ├── MDIParent1.resx
│   │   ├── NativeMethods.cs
│   │   ├── Program.cs
│   │   ├── Properties/
│   │   │   ├── AssemblyInfo.cs
│   │   │   ├── Resources.Designer.cs
│   │   │   ├── Resources.resx
│   │   │   ├── Settings.Designer.cs
│   │   │   └── Settings.settings
│   │   └── license.txt
│   └── Utilities/
│       ├── DebugTracing.cs
│       ├── DictPriorityQueue.cs
│       ├── FastList.cs
│       ├── HeapPriorityQueue.cs
│       ├── HexUtilities/
│       │   ├── Coords.cs
│       │   ├── HexCoords.cs
│       │   ├── HexEventArgs.cs
│       │   ├── HexGridPanel.resx
│       │   ├── HexgridPanel.Designer.cs
│       │   ├── HexgridPanel.cs
│       │   ├── IBoard.cs
│       │   ├── ICoordsCanon.cs
│       │   ├── ICoordsCustom.cs
│       │   ├── ICoordsUser.cs
│       │   ├── IGridHex.cs
│       │   ├── IntMatrix2D.cs
│       │   ├── IntVector2D.cs
│       │   ├── NeighbourCoords.cs
│       │   ├── NeighbourHex.cs
│       │   ├── Path.cs
│       │   ├── Path2.cs
│       │   ├── PathFInder2.cs
│       │   ├── PathFinder.cs
│       │   ├── ShadowCastingFov/
│       │   │   ├── FieldOfView.cs
│       │   │   ├── FovCone.cs
│       │   │   ├── FovQueue.cs
│       │   │   ├── RiseRun.cs
│       │   │   ├── ShadowCastingFov.cs
│       │   │   ├── ShadowCastingFov_DodecantHelpers.cs
│       │   │   └── ShadowCastingFov_Utilities.cs
│       │   └── UserCoordsRectangle.cs
│       ├── IHeap.cs
│       ├── ImmutableStack.cs
│       ├── MinListHeap.cs
│       ├── PointExtensions.cs
│       ├── Properties/
│       │   └── AssemblyInfo.cs
│       ├── SizeExtensions.cs
│       ├── Utilities.csproj
│       ├── Utils.cs
│       ├── WinForms/
│       │   ├── Extensions.cs
│       │   ├── ThreadExceptionHandler.cs
│       │   ├── TransparentPanel.cs
│       │   ├── WinFormsExtensions.cs
│       │   ├── WindowsMessages.cs
│       │   ├── WindowsMouseInput.cs
│       │   └── WindowsStylesEx.cs
│       └── license.txt
├── documentation.yml
└── old/
    ├── HexGridExample2 - Copy/
    │   ├── GlobalSuppressions.cs
    │   ├── HEXGRI~1 - Copy.chw
    │   ├── HexGridExampleWinForms.Designer.cs
    │   ├── HexGridExampleWinForms.cs
    │   ├── HexGridExampleWinForms.resx
    │   ├── HexgridExampleWinForms.csproj
    │   ├── HexgridUtilities.chm
    │   ├── HexgridUtilities.chw
    │   ├── NativeMethods.cs
    │   ├── Program.cs
    │   ├── Properties/
    │   │   ├── AssemblyInfo.cs
    │   │   ├── Resources.Designer.cs
    │   │   ├── Resources.resx
    │   │   ├── Settings.Designer.cs
    │   │   └── Settings.settings
    │   ├── app.config
    │   └── index.xhtml
    ├── HexGridExample2-branch/
    │   └── MapDisplay.cs
    ├── HexInterfaces/
    │   ├── Common/
    │   │   ├── DebugTracing.cs
    │   │   ├── EnumExtensions.cs
    │   │   ├── Extensions.cs
    │   │   ├── FastList.cs
    │   │   ├── ImmutableStack.cs
    │   │   ├── IntMatrix2D.cs
    │   │   ├── IntVector2D.cs
    │   │   ├── New Text Document.txt
    │   │   ├── PointExtensions.cs
    │   │   ├── SizeExtensions.cs
    │   │   └── UserCoordsRectangle.cs
    │   ├── CustomCoordsFactory.cs
    │   ├── CustomDictionary.xml
    │   ├── GlobalSuppressions.cs
    │   ├── HexCoords.cs
    │   ├── HexInterfaces.csproj
    │   ├── HexInterfaces.pfx.snk
    │   ├── Hexside.cs
    │   ├── Hexsides.cs
    │   ├── IBoardStorage.cs
    │   ├── IFieldOfView.cs
    │   ├── IHex.cs
    │   ├── IHexBoard.cs
    │   ├── IHexgrid.cs
    │   ├── IMapDisplay.cs
    │   ├── NeighbourCoords.cs
    │   ├── NeighbourHex.cs
    │   └── Properties/
    │       └── AssemblyInfo.cs
    ├── HexgridExampleWinForms/
    │   ├── HexgridExampleWinForms.csproj
    │   ├── Properties/
    │   │   └── AssemblyInfo.cs
    │   └── WinForms/
    │       ├── ExceptionDialog.Designer.cs
    │       ├── ExceptionDialog.cs
    │       ├── ExceptionDialog.en-US.resx
    │       ├── ExceptionDialog.resx
    │       ├── NativeMethods.cs
    │       ├── ScrollBarCommand.cs
    │       └── TransparentPanel.cs
    ├── HexgridScrollable/
    │   ├── BufferedHexgridScrollable.Designer.cs
    │   ├── BufferedHexgridScrollable.cs
    │   ├── EmptyBoard.cs
    │   ├── HexEventArgs.cs
    │   ├── HexgridScrollable.Designer.cs
    │   ├── HexgridScrollable.cs
    │   ├── HexgridScrollable.csproj
    │   ├── HexgridViewModel.cs
    │   ├── LayeredScrollable.Designer.cs
    │   ├── LayeredScrollable.cs
    │   ├── MapDisplay.cs
    │   ├── MapGridHex.cs
    │   ├── Properties/
    │   │   └── AssemblyInfo.cs
    │   ├── ViewModelBase.cs
    │   ├── WinForms/
    │   │   ├── ExceptionDialog.Designer.cs
    │   │   ├── ExceptionDialog.cs
    │   │   ├── ExceptionDialog.en-US.resx
    │   │   ├── ExceptionDialog.resx
    │   │   ├── GdiRasterOps.cs
    │   │   ├── NativeMethods.cs
    │   │   ├── ScrollBarCommand.cs
    │   │   ├── ThreadExceptionHandler.cs
    │   │   ├── TransparentPanel.cs
    │   │   ├── WinFormsExtensions.cs
    │   │   ├── WindowsMessages.cs
    │   │   ├── WindowsMouseInput.cs
    │   │   └── WindowsStylesEx.cs
    │   └── license.txt
    ├── WpfControlLibrary1/
    │   ├── Properties/
    │   │   ├── AssemblyInfo.cs
    │   │   ├── Resources.Designer.cs
    │   │   ├── Resources.resx
    │   │   ├── Settings.Designer.cs
    │   │   └── Settings.settings
    │   ├── UserControl1.xaml
    │   ├── UserControl1.xaml.cs
    │   └── WpfControlLibrary1.csproj
    └── WpfCustomControlLibrary1/
        ├── CustomControl1.cs
        ├── Properties/
        │   ├── AssemblyInfo.cs
        │   ├── Resources.Designer.cs
        │   ├── Resources.resx
        │   ├── Settings.Designer.cs
        │   └── Settings.settings
        ├── Themes/
        │   └── Generic.xaml
        └── WpfCustomControlLibrary1.csproj

================================================
FILE CONTENTS
================================================

================================================
FILE: .gitattributes
================================================
###############################################################################
# Set default behavior to automatically normalize line endings.
###############################################################################
* text=auto

###############################################################################
# Set default behavior for command prompt diff.
#
# This is need for earlier builds of msysgit that does not have it on by
# default for csharp files.
# Note: This is only used by command line
###############################################################################
#*.cs     diff=csharp

###############################################################################
# Set the merge driver for project and solution files
#
# Merging from the command prompt will add diff markers to the files if there
# are conflicts (Merging from VS is not affected by the settings below, in VS
# the diff markers are never inserted). Diff markers may cause the following 
# file extensions to fail to load in VS. An alternative would be to treat
# these files as binary and thus will always conflict and require user
# intervention with every merge. To do so, just uncomment the entries below
###############################################################################
#*.sln       merge=binary
#*.csproj    merge=binary
#*.vbproj    merge=binary
#*.vcxproj   merge=binary
#*.vcproj    merge=binary
#*.dbproj    merge=binary
#*.fsproj    merge=binary
#*.lsproj    merge=binary
#*.wixproj   merge=binary
#*.modelproj merge=binary
#*.sqlproj   merge=binary
#*.wwaproj   merge=binary

###############################################################################
# behavior for image files
#
# image files are treated as binary by default.
###############################################################################
#*.jpg   binary
#*.png   binary
#*.gif   binary

###############################################################################
# diff behavior for common document formats
# 
# Convert binary document formats to text before diffing them. This feature
# is only available from the command line. Turn it on by uncommenting the 
# entries below.
###############################################################################
#*.doc   diff=astextplain
#*.DOC   diff=astextplain
#*.docx  diff=astextplain
#*.DOCX  diff=astextplain
#*.dot   diff=astextplain
#*.DOT   diff=astextplain
#*.pdf   diff=astextplain
#*.PDF   diff=astextplain
#*.rtf   diff=astextplain
#*.RTF   diff=astextplain


================================================
FILE: .gitignore
================================================
## Ignore Visual Studio temporary files, build results, and
## files generated by popular Visual Studio add-ons.

# User-specific files
*.suo
*.user
*.sln.docstates
*.csproj.user
[Ee]xcluded/
Documentation/
docs/

# External NuGet Packages
[Pp]ackages/

# Build results

[Dd]ebug/
[Rr]elease/
x64/
build/
[Bb]in/
[Oo]bj/

# Enable "build/" folder in the NuGet Packages folder since NuGet packages use it for MSBuild targets
!packages/*/build/

# Install Sheild Setup Project files
*.isl
*.isproj

# MSTest test Results
[Tt]est[Rr]esult*/
[Bb]uild[Ll]og.*

*_i.c
*_p.c
*.ilk
*.meta
*.obj
*.pch
*.pdb
*.pgc
*.pgd
*.rsp
*.sbr
*.tlb
*.tli
*.tlh
*.tmp
*.tmp_proj
*.log
*.vspscc
*.vssscc
.builds
*.pidb
*.log
*.scc

# Visual C++ cache files
ipch/
*.aps
*.ncb
*.opensdf
*.sdf
*.cachefile

# Visual Studio profiler
*.psess
*.vsp
*.vspx

# Guidance Automation Toolkit
*.gpState

# ReSharper is a .NET coding add-in
_ReSharper*/
*.[Rr]e[Ss]harper

# TeamCity is a build add-in
_TeamCity*

# DotCover is a Code Coverage Tool
*.dotCover

# NCrunch
*.ncrunch*
.*crunch*.local.xml
_Ncrunch*

# Installshield output folder
[Ee]xpress/

# DocProject is a documentation generator add-in
DocProject/buildhelp/
DocProject/Help/*.HxT
DocProject/Help/*.HxC
DocProject/Help/*.hhc
DocProject/Help/*.hhk
DocProject/Help/*.hhp
DocProject/Help/Html2
DocProject/Help/html

# Click-Once directory
publish/

# Publish Web Output
*.Publish.xml

# NuGet Packages Directory
## TODO: If you have NuGet Package Restore enabled, uncomment the next line
#packages/

# Windows Azure Build Output
csx
*.build.csdef

# Windows Store app package directory
AppPackages/

# IDE Configuration
.vs/
.vscode/

# Others
sql/
*.Cache
ClientBin/
[Ss]tyle[Cc]op.*
~$*
*~
*.dbmdl
*.[Pp]ublish.xml
*.pfx
*.publishsettings
*.playlist

# Monodevelop detritus
*.userprefs

# RIA/Silverlight projects
Generated_Code/

# Backup & report files from converting an old project file to a newer
# Visual Studio version. Backup files are not needed, because we have git ;-)
_UpgradeReport_Files/
Backup*/
UpgradeLog*.XML
UpgradeLog*.htm

# SQL Server files
App_Data/*.mdf
App_Data/*.ldf


#LightSwitch generated files
GeneratedArtifacts/
_Pvt_Extensions/
ModelManifest.xml

# =========================
# Windows detritus
# =========================

# Windows image file caches
Thumbs.db
ehthumbs.db

# Folder config file
Desktop.ini

# Recycle Bin used on file shares
$RECYCLE.BIN/

# Mac desktop service store files
.DS_Store

# Workbook for debugging
*.xlsm
Installers/
*.xlsx


================================================
FILE: CustomDictionary.xml
================================================
<Dictionary>
      <Words>
         <Unrecognized>
           <Word>cb</Word>
         </Unrecognized>
         <Recognized>
            <Word>Alt</Word>
            <Word>App</Word>
            <Word>Bkgnd</Word>
            <Word>Cb</Word>
            <Word>Calc</Word>
            <Word>Char</Word>
            <Word>coloured</Word>
            <Word>Comm</Word>
            <Word>Coords</Word>
            <Word>Ctl</Word>
            <Word>Dbl</Word>
            <Word>Dlg</Word>
            <Word>Eachable</Word>
            <Word>Fov</Word>
            <Word>Fwd</Word>
            <Word>functor</Word>      <Word>functors</Word>
            <Word>hexgrid</Word>
            <Word>HexgridExampleWinForms</Word>
            <Word>HexgridUtilities</Word>
            <Word>hexside</Word>      <Word>hexsides</Word>
            <Word>Hotspot</Word>
            <Word>Hwheel</Word>
            <Word>Ime</Word>
            <Word>Init</Word>
            <Word>Lang</Word>
            <Word>lhs</Word>
            <Word>m11</Word>   <Word>m12</Word>  <Word>m13</Word>
            <Word>m21</Word>   <Word>m22</Word>  <Word>m23</Word>
            <Word>m31</Word>   <Word>m32</Word>  <Word>m33</Word>
            <Word>Mdi</Word>
            <Word>Msgbox</Word>
            <Word>Napoleonics</Word>
            <Word>NC</Word>
            <Word>Neighbour</Word>    <Word>Neighbours</Word>
            <Word>New32x32</Word>
            <Word>Overseeable</Word>
            <Word>Populator</Word>
            <Word>Pos</Word>
            <Word>rhs</Word>
            <Word>c</Word>
            <Word>dx</Word>
            <Word>dy</Word>
            <Word>f</Word>
            <Word>g</Word>
            <Word>h</Word>
            <Word>i</Word>   <Word>j</Word>   <Word>k</Word>
            <Word>l</Word>
            <Word>m</Word>
            <Word>p</Word>
            <Word>Pathfinding</Word>
            <Word>s</Word>
            <Word>Sync</Word>
            <Word>Sys</Word>
            <Word>TransparentPanel</Word>
            <Word>Uni</Word>
            <Word>Uninit</Word>
            <Word>v</Word>
            <Word>w</Word>
            <Word>Wts</Word>
            <Word>x</Word>      <Word>dx</Word>
            <Word>y</Word>      <Word>dy</Word>
            <Word>z</Word>      <Word>dz</Word>
            <Word>wParam</Word>
            <Word>lParam</Word>
            <Word>param</Word>
            <Word>param</Word>
            <Word>Lbutton</Word>
            <Word>Rbutton</Word>
            <Word>Mbutton</Word>
            <Word>Xbutton</Word>
            <Word>Vscroll</Word>
            <Word>Hscroll</Word>
            <Word>Afx</Word>
            <Word>DWM</Word>
            <Word>Cpl</Word>
            <Word>Rtl</Word>
            <Word>Ltr</Word>
         </Recognized>
         <Deprecated>
            <Term PreferredAlternate="EnterpriseServices">ComPlus</Term>
         </Deprecated>
         <DiscreteExceptions>
            <Term>LParam</Term>
            <Term>lParam</Term>
            <Term>TransparentPanel</Term>  <!-- Remedies CA1702 Compound words should be cased correctly -->
            <Term>WParam</Term>
            <Term>wParam</Term>
            <Term>LineUp</Term>
         </DiscreteExceptions>
      </Words>
      <Acronyms>
         <CasingExceptions>
            <Acronym>ASL</Acronym>
            <Acronym>CB</Acronym>
            <Acronym>CCW</Acronym>
            <Acronym>DWM</Acronym>
            <Acronym>Fov</Acronym>
            <Acronym>NC</Acronym>
            <Acronym>PG</Acronym>
            <Acronym>x</Acronym>
         </CasingExceptions>
      </Acronyms>
   </Dictionary>

================================================
FILE: HexGridExampleCommon/AStarBugMap.cs
================================================
#region The MIT License - Copyright (C) 2012-2019 Pieter Geerkens
/////////////////////////////////////////////////////////////////////////////////////////
//                PG Software Solutions - Hex-Grid Utilities
/////////////////////////////////////////////////////////////////////////////////////////
// The MIT License:
// ----------------
// 
// Copyright (c) 2012-2019 Pieter Geerkens (email: pgeerkens@users.noreply.github.com)
// 
// Permission is hereby granted, free of charge, to any person obtaining a copy of this
// software and associated documentation files (the "Software"), to deal in the Software
// without restriction, including without limitation the rights to use, copy, modify, 
// merge, publish, distribute, sublicense, and/or sell copies of the Software, and to 
// permit persons to whom the Software is furnished to do so, subject to the following 
// conditions:
//     The above copyright notice and this permission notice shall be 
//     included in all copies or substantial portions of the Software.
// 
//     THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
//     EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
//     OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 
//     NON-INFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT 
//     HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 
//     WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 
//     FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 
//     OTHER DEALINGS IN THE SOFTWARE.
/////////////////////////////////////////////////////////////////////////////////////////
#endregion
using System.Collections.Generic;
using System.Threading.Tasks;
using PGNapoleonics.HexUtilities;
using PGNapoleonics.HexUtilities.Storage;

namespace PGNapoleonics.HexgridExampleCommon {
    using HexSize = System.Drawing.Size;

    /// <summary>TODO</summary>
    public sealed class AStarBugMap : MapDisplayBlocked<TerrainGridHex> {
        public async static Task<AStarBugMap> NewAsync() {
            var map = new AStarBugMap();
            map.ForEachHex<TerrainGridHex,AStarBugMap>(hex => hex.IfHasValueDo(h=> h.SetCosts<TerrainGridHex>(c => map[c])));
            await map.ResetLandmarksAsync();
            return map;
        }

        public static AStarBugMap New() {
            var map = new AStarBugMap();
            map.ForEachHex<TerrainGridHex,AStarBugMap>(hex => hex.IfHasValueDo(h=> h.SetCosts<TerrainGridHex>(c => map[c])));
            map.ResetLandmarks();
            return map;
        }

         /// <summary>TODO</summary>
         private AStarBugMap() : base(_sizeHexes, new HexSize(26,30), TerrainMap.InitializeHex) { }

        /// <inheritdoc/>
        public override int?   Heuristic(HexCoords source, HexCoords target)
        => MinimumStepCost * source.Range(target);

        /// <inheritdoc/>
        public override int    ElevationBase   =>  0;

        /// <inheritdoc/>
        public override int    ElevationStep   => 10;

        /// <summary>TODO</summary>
        protected override int MinimumStepCost => 2;

        /// <inheritdoc/>
        public override int? Heuristic(IHex source, IHex target) => Heuristic(source.Coords, target.Coords);

        /// <inheritdoc/>
        public override int? Heuristic(int range) => range;

        #region static Board definition
        static IReadOnlyList<string> _board     = MapDefinitions.AStarBugMapDefinition;
        static HexSize               _sizeHexes = new HexSize(_board[0].Length, _board.Count);
        #endregion
    }
}


================================================
FILE: HexGridExampleCommon/CustomDictionary.xml
================================================
<Dictionary>
      <Words>
         <Unrecognized>
           <Word>cb</Word>
         </Unrecognized>
         <Recognized>
           <Word>Alt</Word>
           <Word>coloured</Word>
           <Word>Coords</Word>
           <Word>Ctl</Word>
           <Word>Eachable</Word>
           <Word>Fov</Word>
           <Word>Fwd</Word>
           <Word>functor</Word>      <Word>functors</Word>
           <Word>hexgrid</Word>
           <Word>HexgridUtilities</Word>
           <Word>hexside</Word>      <Word>hexsides</Word>
           <Word>Hotspot</Word>
           <Word>lhs</Word>
           <Word>m11</Word>   <Word>m12</Word>  <Word>m13</Word>
           <Word>m21</Word>   <Word>m22</Word>  <Word>m23</Word>
           <Word>m31</Word>   <Word>m32</Word>  <Word>m33</Word>
           <Word>Napoleonics</Word>
           <Word>Neighbour</Word>    <Word>Neighbours</Word>
           <Word>rhs</Word>
           <Word>c</Word>
           <Word>f</Word>
           <Word>g</Word>
           <Word>h</Word>
           <Word>i</Word>   <Word>j</Word>   <Word>k</Word>
           <Word>m</Word>
           <Word>p</Word>
           <Word>Pathfinding</Word>
           <Word>s</Word>
           <Word>v</Word>
           <Word>w</Word>
           <Word>x</Word>      <Word>dx</Word>
           <Word>y</Word>      <Word>dy</Word>
           <Word>z</Word>      <Word>dz</Word>
           <Word>wParam</Word>
           <Word>lParam</Word>
           <Word>params</Word>
         </Recognized>
         <Deprecated>
           <Term PreferredAlternate="EnterpriseServices">ComPlus</Term>
         </Deprecated>
      </Words>
      <Acronyms>
         <CasingExceptions>
           <Acronym>ASL</Acronym>
           <Acronym>Fov</Acronym>
           <Acronym>PG</Acronym>
         </CasingExceptions>
      </Acronyms>
   </Dictionary>

================================================
FILE: HexGridExampleCommon/DocMainPage.cs
================================================
#region The MIT License - Copyright (C) 2012-2019 Pieter Geerkens
/////////////////////////////////////////////////////////////////////////////////////////
//                PG Software Solutions - Hex-Grid Utilities
/////////////////////////////////////////////////////////////////////////////////////////
// The MIT License:
// ----------------
// 
// Copyright (c) 2012-2019 Pieter Geerkens (email: pgeerkens@users.noreply.github.com)
// 
// Permission is hereby granted, free of charge, to any person obtaining a copy of this
// software and associated documentation files (the "Software"), to deal in the Software
// without restriction, including without limitation the rights to use, copy, modify, 
// merge, publish, distribute, sublicense, and/or sell copies of the Software, and to 
// permit persons to whom the Software is furnished to do so, subject to the following 
// conditions:
//     The above copyright notice and this permission notice shall be 
//     included in all copies or substantial portions of the Software.
// 
//     THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
//     EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
//     OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 
//     NON-INFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT 
//     HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 
//     WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 
//     FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 
//     OTHER DEALINGS IN THE SOFTWARE.
/////////////////////////////////////////////////////////////////////////////////////////
#endregion

namespace PGNapoleonics.HexgridExampleCommon {
#pragma warning disable 1587
/// @mainpage HexgridUtilities V 6.4
/// 
/// @section Introduction 
/// 
/// <b>PGNapoleonics.HexgridUtilities</b> is a library of utilities and controls for buillding strategy simulation games on hexagonal-grid 
/// mapboards.
/// 
/// @subsection Detailed_Description Detailed Description
///
/// - <b>PGNapoleonics</b> is the top level namespace for software develoepd by <b>PGSoftware Solutions.</b>,
/// and comprises these subsidiary namespaces:
///   + <b>HexgridExample2</b> is a sample <b>WinForms</b> application demonstrating some straight-forward usage of the library.
///   + <b>HexgridPanel</b> is the <b>System.Windows.Forms</b> specific extensions to support hex-grid panels in <b>Winforms</b> applications.
///   + <b>HexUtilities</b> is the display-technology independent utilities underpinnign the provision of hex-grid utilities.
///   + <b>WinForms</b> is a collection of extensions to the <b>System.Windows.Forms</b> technologies used by the remainder of the library.
/// 
/// @subsection Getting_Started Getting Started
///
/// To get started, explore how the two sample maps in HexgridExample2 override
/// the base class MapDisplay<THex>, and how the sample form overrides the base control HexgridPanel. 
/// 
/// The Collaboration diagram for MapDisplay<THex> provides a good overview of the library structure.
/// 
/// @subsection Authorship 
/// 
/// Brought to you by <b>PG Software Solutions</b>, a quality software provider.
/// 
/// Our software are more than <b>Pretty Good Solutions</b>; ... they're <b>Pretty Great Solutions!</b>
/// 
/// @subsection The_MIT_License The MIT License:
/// 
/// @copyright &copy; 2012-2013 Pieter Geerkens (email: pgeerkens@users.noreply.github.com)
/// 
/// > Permission is hereby granted, free of charge, to any person obtaining a copy of this  
/// > software and associated documentation files (the "Software"), to deal in the Software  
/// > without restriction, including without limitation the rights to use, copy, modify,  
/// > merge, publish, distribute, sublicense, and/or sell copies of the Software, and to  
/// > permit persons to whom the Software is furnished to do so, subject to the following  
/// > conditions:
/// >
/// >     The above copyright notice and this permission notice shall be 
/// >     included in all copies or substantial portions of the Software.
/// >
/// >     THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
/// >     EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
/// >     OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 
/// >     NON-INFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT 
/// >     HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 
/// >     WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 
/// >     FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 
/// >     OTHER DEALINGS IN THE SOFTWARE.
//////////////////////////////////////////////////////////////////////////////////////////
#pragma warning restore 1587
}


================================================
FILE: HexGridExampleCommon/EmptyBoard.cs
================================================
#region The MIT License - Copyright (C) 2012-2019 Pieter Geerkens
/////////////////////////////////////////////////////////////////////////////////////////
//                PG Software Solutions - Hex-Grid Utilities
/////////////////////////////////////////////////////////////////////////////////////////
// The MIT License:
// ----------------
// 
// Copyright (c) 2012-2019 Pieter Geerkens (email: pgeerkens@users.noreply.github.com)
// 
// Permission is hereby granted, free of charge, to any person obtaining a copy of this
// software and associated documentation files (the "Software"), to deal in the Software
// without restriction, including without limitation the rights to use, copy, modify, 
// merge, publish, distribute, sublicense, and/or sell copies of the Software, and to 
// permit persons to whom the Software is furnished to do so, subject to the following 
// conditions:
//     The above copyright notice and this permission notice shall be 
//     included in all copies or substantial portions of the Software.
// 
//     THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
//     EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
//     OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 
//     NON-INFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT 
//     HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 
//     WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 
//     FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 
//     OTHER DEALINGS IN THE SOFTWARE.
/////////////////////////////////////////////////////////////////////////////////////////
#endregion
using PGNapoleonics.HexUtilities;
using PGNapoleonics.HexUtilities.Storage;

namespace PGNapoleonics.HexgridExampleCommon {
    using HexSize = System.Drawing.Size;

    /// <summary>TODO</summary>
    public sealed class EmptyBoard : MapDisplayBlocked<IHex> {
        public static EmptyBoard TheOne { get; } = New();

        private static EmptyBoard NewAsync() {
            var map = new EmptyBoard();
            map.ResetLandmarksAsync();
            return map;
        }

        private static EmptyBoard New() {
            var map = new EmptyBoard();
            map.ResetLandmarks();
            return map;
        }

        /// <summary>TODO</summary>
        private EmptyBoard() : base(new HexSize(1,1),new HexSize(26,30),c => new EmptyGridHex(c))
        => FovRadius = 20;

        /// <inheritdoc/>
        public override int  ElevationBase     => 0;

        /// <inheritdoc/>
        public override int  ElevationStep     => 10;

        /// <inheritdoc/>
        public override int? Heuristic(HexCoords source, HexCoords target) => source.Range(target);

        /// <inheritdoc/>
        public override int? Heuristic(IHex source, IHex target) => Heuristic(source.Coords, target.Coords);

        /// <inheritdoc/>
        public override int? Heuristic(int range) => range;
    }
}


================================================
FILE: HexGridExampleCommon/EmptyGridHex.cs
================================================
#region Copyright (c) 2012-2019 Pieter Geerkens (email: pgeerkens@users.noreply.github.com)
///////////////////////////////////////////////////////////////////////////////////////////
// THis software may be used under the terms of attached file License.md (The MIT License).
///////////////////////////////////////////////////////////////////////////////////////////
#endregion
using System.Collections.Generic;
using System.Linq;

using PGNapoleonics.HexUtilities;

namespace PGNapoleonics.HexgridExampleCommon {
    /// <summary>TODO</summary>
    public sealed class EmptyGridHex : Hex {
        /// <summary>TODO</summary>
        public EmptyGridHex(HexCoords coords) : base(coords,0) => TerrainType = default; 

        ///  <inheritdoc/>
        public override char   TerrainType   { get; }

        ///  <inheritdoc/>
        public override int    HeightTerrain => 0;

        ///  <inheritdoc/>
        public override bool   IsPassable => false;

        ///  <inheritdoc/>
        public override int    EntryCost(Hexside hexsideExit) => -1;

        ///  <inheritdoc/>
        public override int    ExitCost(Hexside hexsideExit) => -1;

        ///  <inheritdoc/>
        private         int?   StepCost(Hexside hexsideExit) => default;
 
        internal void SetCosts<THex>(IBoard<EmptyGridHex> board)
        => _costs = new List<IList<int>>() {
             ( from hexside in Hexside.HexsideList select StepCost(hexside) ?? -1).ToList(),
             ( from hexside in Hexside.HexsideList
               select ( from hex in board[Coords.GetNeighbour(hexside)] select hex.StepCost(hexside)
                      ).ElseDefault() ?? -1
             ).ToList()
        };

        IList<IList<int>> _costs;
   }
}


================================================
FILE: HexGridExampleCommon/HexgridExampleCommon.csproj
================================================
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
  <PropertyGroup>
    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
    <ProjectGuid>{4E4EC92B-2BF5-4342-A069-3A6BB76B7FCA}</ProjectGuid>
    <OutputType>Library</OutputType>
    <AppDesignerFolder>Properties</AppDesignerFolder>
    <RootNamespace>PGNapoleonics.HexgridExampleCommon</RootNamespace>
    <AssemblyName>HexgridExampleCommon</AssemblyName>
    <TargetFrameworkVersion>v4.7.1</TargetFrameworkVersion>
    <FileAlignment>512</FileAlignment>
    <SccProjectName>SAK</SccProjectName>
    <SccLocalPath>SAK</SccLocalPath>
    <SccAuxPath>SAK</SccAuxPath>
    <SccProvider>SAK</SccProvider>
    <TargetFrameworkProfile />
  </PropertyGroup>
  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
    <DebugSymbols>true</DebugSymbols>
    <DebugType>full</DebugType>
    <Optimize>false</Optimize>
    <OutputPath>bin\Debug\</OutputPath>
    <DefineConstants>TRACE;DEBUG</DefineConstants>
    <ErrorReport>prompt</ErrorReport>
    <WarningLevel>4</WarningLevel>
    <CodeAnalysisRuleSet>AllRulesLessCA1303.ruleset</CodeAnalysisRuleSet>
    <NoWarn>1587,1607</NoWarn>
    <LangVersion>latest</LangVersion>
  </PropertyGroup>
  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
    <DebugType>pdbonly</DebugType>
    <Optimize>true</Optimize>
    <OutputPath>bin\Release\</OutputPath>
    <DefineConstants>
    </DefineConstants>
    <ErrorReport>prompt</ErrorReport>
    <WarningLevel>4</WarningLevel>
    <DocumentationFile>bin\Release\HexgridExampleCommon.xml</DocumentationFile>
    <CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
    <NoWarn>1587,1607</NoWarn>
    <LangVersion>latest</LangVersion>
  </PropertyGroup>
  <PropertyGroup>
    <SignAssembly>false</SignAssembly>
  </PropertyGroup>
  <PropertyGroup>
    <AssemblyOriginatorKeyFile>
    </AssemblyOriginatorKeyFile>
  </PropertyGroup>
  <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Checked|AnyCPU'">
    <OutputPath>bin\Checked\</OutputPath>
    <DefineConstants>TRACE</DefineConstants>
    <Optimize>true</Optimize>
    <DebugType>pdbonly</DebugType>
    <PlatformTarget>AnyCPU</PlatformTarget>
    <ErrorReport>prompt</ErrorReport>
    <CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
    <NoWarn>1587,1607</NoWarn>
    <LangVersion>latest</LangVersion>
  </PropertyGroup>
  <ItemGroup>
    <Reference Include="System" />
    <Reference Include="System.Core" />
    <Reference Include="System.Drawing" />
    <Reference Include="Microsoft.CSharp" />
  </ItemGroup>
  <ItemGroup>
    <Compile Include="EmptyBoard.cs" />
    <Compile Include="DocMainPage.cs" />
    <Compile Include="EmptyGridHex.cs" />
    <Compile Include="GlobalSuppressions.cs" />
    <Compile Include="MapDefs.cs" />
    <Compile Include="MapList.cs" />
    <Compile Include="MazeMap.cs" />
    <Compile Include="Properties\AssemblyInfo.cs" />
    <Compile Include="Properties\Resources.Designer.cs">
      <AutoGen>True</AutoGen>
      <DesignTime>True</DesignTime>
      <DependentUpon>Resources.resx</DependentUpon>
    </Compile>
    <Compile Include="TerrainGridHex.cs" />
    <Compile Include="AStarBugMap.cs" />
    <Compile Include="TerrainMap.cs" />
  </ItemGroup>
  <ItemGroup>
    <ProjectReference Include="..\HexUtilities\HexUtilities.csproj">
      <Project>{013628e1-60e2-40a6-91d4-8b446f397a0a}</Project>
      <Name>HexUtilities</Name>
    </ProjectReference>
  </ItemGroup>
  <ItemGroup>
    <None Include="HexgridUtilities.Doxyfile" />
    <None Include="HexgridUtilities.HtmlHelp.Doxyfile" />
  </ItemGroup>
  <ItemGroup>
    <CodeAnalysisDictionary Include="CustomDictionary.xml" />
  </ItemGroup>
  <ItemGroup>
    <EmbeddedResource Include="Properties\Resources.resx">
      <Generator>PublicResXFileCodeGenerator</Generator>
      <LastGenOutput>Resources.Designer.cs</LastGenOutput>
    </EmbeddedResource>
  </ItemGroup>
  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. 
       Other similar extension points exist, see Microsoft.Common.targets.
  <Target Name="BeforeBuild">
  </Target>
  <Target Name="AfterBuild">
  </Target>
  -->
</Project>

================================================
FILE: HexGridExampleCommon/HexgridUtilities.Doxyfile
================================================
# Doxyfile 1.8.4

# This file describes the settings to be used by the documentation system
# doxygen (www.doxygen.org) for a project
#
# All text after a hash (#) is considered a comment and will be ignored
# The format is:
#       TAG = value [value, ...]
# For lists items can also be appended using:
#       TAG += value [value, ...]
# Values that contain spaces should be placed between quotes (" ")

#---------------------------------------------------------------------------
# Project related configuration options
#---------------------------------------------------------------------------

# This tag specifies the encoding used for all characters in the config file 
# that follow. The default is UTF-8 which is also the encoding used for all 
# text before the first occurrence of this tag. Doxygen uses libiconv (or the 
# iconv built into libc) for the transcoding. See 
# http://www.gnu.org/software/libiconv for the list of possible encodings.

DOXYFILE_ENCODING      = UTF-8

# The PROJECT_NAME tag is a single word (or sequence of words) that should 
# identify the project. Note that if you do not use Doxywizard you need 
# to put quotes around the project name if it contains spaces.

PROJECT_NAME           = "Hexgrid Utilities"

# The PROJECT_NUMBER tag can be used to enter a project or revision number. 
# This could be handy for archiving the generated documentation or 
# if some version control system is used.

PROJECT_NUMBER         = "V 6.4"

# Using the PROJECT_BRIEF tag one can provide an optional one line description 
# for a project that appears at the top of each page and should give viewer 
# a quick idea about the purpose of the project. Keep the description short.

PROJECT_BRIEF          = "Hexgrid Utilities for Board Game Implementations"

# With the PROJECT_LOGO tag one can specify an logo or icon that is 
# included in the documentation. The maximum height of the logo should not 
# exceed 55 pixels and the maximum width should not exceed 200 pixels. 
# Doxygen will copy the logo to the output directory.

PROJECT_LOGO           = 

# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) 
# base path where the generated documentation will be put. 
# If a relative path is entered, it will be relative to the location 
# where doxygen was started. If left blank the current directory will be used.

OUTPUT_DIRECTORY       = "C:\Users\Pieter_2\Documents\Visual Studio 2012\Projects\HexGridExampleTemp\Documentation\XHTML"

# If the CREATE_SUBDIRS tag is set to YES, then doxygen will create 
# 4096 sub-directories (in 2 levels) under the output directory of each output 
# format and will distribute the generated files over these directories. 
# Enabling this option can be useful when feeding doxygen a huge amount of 
# source files, where putting all generated files in the same directory would 
# otherwise cause performance problems for the file system.

CREATE_SUBDIRS         = NO

# The OUTPUT_LANGUAGE tag is used to specify the language in which all 
# documentation generated by doxygen is written. Doxygen will use this 
# information to generate all constant output in the proper language. 
# The default language is English, other supported languages are: 
# Afrikaans, Arabic, Brazilian, Catalan, Chinese, Chinese-Traditional, 
# Croatian, Czech, Danish, Dutch, Esperanto, Farsi, Finnish, French, German, 
# Greek, Hungarian, Italian, Japanese, Japanese-en (Japanese with English 
# messages), Korean, Korean-en, Latvian, Lithuanian, Norwegian, Macedonian, 
# Persian, Polish, Portuguese, Romanian, Russian, Serbian, Serbian-Cyrillic, 
# Slovak, Slovene, Spanish, Swedish, Ukrainian, and Vietnamese.

OUTPUT_LANGUAGE        = English

# If the BRIEF_MEMBER_DESC tag is set to YES (the default) Doxygen will 
# include brief member descriptions after the members that are listed in 
# the file and class documentation (similar to JavaDoc). 
# Set to NO to disable this.

BRIEF_MEMBER_DESC      = YES

# If the REPEAT_BRIEF tag is set to YES (the default) Doxygen will prepend 
# the brief description of a member or function before the detailed description. 
# Note: if both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the 
# brief descriptions will be completely suppressed.

REPEAT_BRIEF           = YES

# This tag implements a quasi-intelligent brief description abbreviator 
# that is used to form the text in various listings. Each string 
# in this list, if found as the leading text of the brief description, will be 
# stripped from the text and the result after processing the whole list, is 
# used as the annotated text. Otherwise, the brief description is used as-is. 
# If left blank, the following values are used ("$name" is automatically 
# replaced with the name of the entity): "The $name class" "The $name widget" 
# "The $name file" "is" "provides" "specifies" "contains" 
# "represents" "a" "an" "the"

ABBREVIATE_BRIEF       = "The $name class" \
                         "The $name widget" \
                         "The $name file" \
                         is \
                         provides \
                         specifies \
                         contains \
                         represents \
                         a \
                         an \
                         the

# If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then 
# Doxygen will generate a detailed section even if there is only a brief 
# description.

ALWAYS_DETAILED_SEC    = NO

# If the INLINE_INHERITED_MEMB tag is set to YES, doxygen will show all 
# inherited members of a class in the documentation of that class as if those 
# members were ordinary class members. Constructors, destructors and assignment 
# operators of the base classes will not be shown.

INLINE_INHERITED_MEMB  = YES

# If the FULL_PATH_NAMES tag is set to YES then Doxygen will prepend the full 
# path before files name in the file list and in the header files. If set 
# to NO the shortest path that makes the file name unique will be used.

FULL_PATH_NAMES        = YES

# If the FULL_PATH_NAMES tag is set to YES then the STRIP_FROM_PATH tag 
# can be used to strip a user-defined part of the path. Stripping is 
# only done if one of the specified strings matches the left-hand part of 
# the path. The tag can be used to show relative paths in the file list. 
# If left blank the directory from which doxygen is run is used as the 
# path to strip. Note that you specify absolute paths here, but also 
# relative paths, which will be relative from the directory where doxygen is 
# started.

STRIP_FROM_PATH        = "C:/Users/Pieter_2/Documents/Visual Studio 2012/Projects/HexGridExampleTemp"

# The STRIP_FROM_INC_PATH tag can be used to strip a user-defined part of 
# the path mentioned in the documentation of a class, which tells 
# the reader which header file to include in order to use a class. 
# If left blank only the name of the header file containing the class 
# definition is used. Otherwise one should specify the include paths that 
# are normally passed to the compiler using the -I flag.

STRIP_FROM_INC_PATH    = 

# If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter 
# (but less readable) file names. This can be useful if your file system 
# doesn't support long names like on DOS, Mac, or CD-ROM.

SHORT_NAMES            = NO

# If the JAVADOC_AUTOBRIEF tag is set to YES then Doxygen 
# will interpret the first line (until the first dot) of a JavaDoc-style 
# comment as the brief description. If set to NO, the JavaDoc 
# comments will behave just like regular Qt-style comments 
# (thus requiring an explicit @brief command for a brief description.)

JAVADOC_AUTOBRIEF      = NO

# If the QT_AUTOBRIEF tag is set to YES then Doxygen will 
# interpret the first line (until the first dot) of a Qt-style 
# comment as the brief description. If set to NO, the comments 
# will behave just like regular Qt-style comments (thus requiring 
# an explicit \brief command for a brief description.)

QT_AUTOBRIEF           = NO

# The MULTILINE_CPP_IS_BRIEF tag can be set to YES to make Doxygen 
# treat a multi-line C++ special comment block (i.e. a block of //! or /// 
# comments) as a brief description. This used to be the default behaviour. 
# The new default is to treat a multi-line C++ comment block as a detailed 
# description. Set this tag to YES if you prefer the old behaviour instead.

MULTILINE_CPP_IS_BRIEF = NO

# If the INHERIT_DOCS tag is set to YES (the default) then an undocumented 
# member inherits the documentation from any documented member that it 
# re-implements.

INHERIT_DOCS           = YES

# If the SEPARATE_MEMBER_PAGES tag is set to YES, then doxygen will produce 
# a new page for each member. If set to NO, the documentation of a member will 
# be part of the file/class/namespace that contains it.

SEPARATE_MEMBER_PAGES  = NO

# The TAB_SIZE tag can be used to set the number of spaces in a tab. 
# Doxygen uses this value to replace tabs by spaces in code fragments.

TAB_SIZE               = 4

# This tag can be used to specify a number of aliases that acts 
# as commands in the documentation. An alias has the form "name=value". 
# For example adding "sideeffect=\par Side Effects:\n" will allow you to 
# put the command \sideeffect (or @sideeffect) in the documentation, which 
# will result in a user-defined paragraph with heading "Side Effects:". 
# You can put \n's in the value part of an alias to insert newlines.

ALIASES                = 

# This tag can be used to specify a number of word-keyword mappings (TCL only). 
# A mapping has the form "name=value". For example adding 
# "class=itcl::class" will allow you to use the command class in the 
# itcl::class meaning.

TCL_SUBST              = 

# Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C 
# sources only. Doxygen will then generate output that is more tailored for C. 
# For instance, some of the names that are used will be different. The list 
# of all members will be omitted, etc.

OPTIMIZE_OUTPUT_FOR_C  = NO

# Set the OPTIMIZE_OUTPUT_JAVA tag to YES if your project consists of Java 
# sources only. Doxygen will then generate output that is more tailored for 
# Java. For instance, namespaces will be presented as packages, qualified 
# scopes will look different, etc.

OPTIMIZE_OUTPUT_JAVA   = YES

# Set the OPTIMIZE_FOR_FORTRAN tag to YES if your project consists of Fortran 
# sources only. Doxygen will then generate output that is more tailored for 
# Fortran.

OPTIMIZE_FOR_FORTRAN   = NO

# Set the OPTIMIZE_OUTPUT_VHDL tag to YES if your project consists of VHDL 
# sources. Doxygen will then generate output that is tailored for 
# VHDL.

OPTIMIZE_OUTPUT_VHDL   = NO

# Doxygen selects the parser to use depending on the extension of the files it 
# parses. With this tag you can assign which parser to use for a given 
# extension. Doxygen has a built-in mapping, but you can override or extend it 
# using this tag. The format is ext=language, where ext is a file extension, 
# and language is one of the parsers supported by doxygen: IDL, Java, 
# Javascript, CSharp, C, C++, D, PHP, Objective-C, Python, Fortran, VHDL, C, 
# C++. For instance to make doxygen treat .inc files as Fortran files (default 
# is PHP), and .f files as C (default is Fortran), use: inc=Fortran f=C. Note 
# that for custom extensions you also need to set FILE_PATTERNS otherwise the 
# files are not read by doxygen.

EXTENSION_MAPPING      = 

# If MARKDOWN_SUPPORT is enabled (the default) then doxygen pre-processes all 
# comments according to the Markdown format, which allows for more readable 
# documentation. See http://daringfireball.net/projects/markdown/ for details. 
# The output of markdown processing is further processed by doxygen, so you 
# can mix doxygen, HTML, and XML commands with Markdown formatting. 
# Disable only in case of backward compatibilities issues.

MARKDOWN_SUPPORT       = YES

# When enabled doxygen tries to link words that correspond to documented 
# classes, or namespaces to their corresponding documentation. Such a link can 
# be prevented in individual cases by by putting a % sign in front of the word 
# or globally by setting AUTOLINK_SUPPORT to NO.

AUTOLINK_SUPPORT       = YES

# If you use STL classes (i.e. std::string, std::vector, etc.) but do not want 
# to include (a tag file for) the STL sources as input, then you should 
# set this tag to YES in order to let doxygen match functions declarations and 
# definitions whose arguments contain STL classes (e.g. func(std::string); v.s. 
# func(std::string) {}). This also makes the inheritance and collaboration 
# diagrams that involve STL classes more complete and accurate.

BUILTIN_STL_SUPPORT    = NO

# If you use Microsoft's C++/CLI language, you should set this option to YES to 
# enable parsing support.

CPP_CLI_SUPPORT        = NO

# Set the SIP_SUPPORT tag to YES if your project consists of sip sources only. 
# Doxygen will parse them like normal C++ but will assume all classes use public 
# instead of private inheritance when no explicit protection keyword is present.

SIP_SUPPORT            = NO

# For Microsoft's IDL there are propget and propput attributes to indicate 
# getter and setter methods for a property. Setting this option to YES (the 
# default) will make doxygen replace the get and set methods by a property in 
# the documentation. This will only work if the methods are indeed getting or 
# setting a simple type. If this is not the case, or you want to show the 
# methods anyway, you should set this option to NO.

IDL_PROPERTY_SUPPORT   = YES

# If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC 
# tag is set to YES, then doxygen will reuse the documentation of the first 
# member in the group (if any) for the other members of the group. By default 
# all members of a group must be documented explicitly.

DISTRIBUTE_GROUP_DOC   = NO

# Set the SUBGROUPING tag to YES (the default) to allow class member groups of 
# the same type (for instance a group of public functions) to be put as a 
# subgroup of that type (e.g. under the Public Functions section). Set it to 
# NO to prevent subgrouping. Alternatively, this can be done per class using 
# the \nosubgrouping command.

SUBGROUPING            = YES

# When the INLINE_GROUPED_CLASSES tag is set to YES, classes, structs and 
# unions are shown inside the group in which they are included (e.g. using 
# @ingroup) instead of on a separate page (for HTML and Man pages) or 
# section (for LaTeX and RTF).

INLINE_GROUPED_CLASSES = NO

# When the INLINE_SIMPLE_STRUCTS tag is set to YES, structs, classes, and 
# unions with only public data fields or simple typedef fields will be shown 
# inline in the documentation of the scope in which they are defined (i.e. file, 
# namespace, or group documentation), provided this scope is documented. If set 
# to NO (the default), structs, classes, and unions are shown on a separate 
# page (for HTML and Man pages) or section (for LaTeX and RTF).

INLINE_SIMPLE_STRUCTS  = NO

# When TYPEDEF_HIDES_STRUCT is enabled, a typedef of a struct, union, or enum 
# is documented as struct, union, or enum with the name of the typedef. So 
# typedef struct TypeS {} TypeT, will appear in the documentation as a struct 
# with name TypeT. When disabled the typedef will appear as a member of a file, 
# namespace, or class. And the struct will be named TypeS. This can typically 
# be useful for C code in case the coding convention dictates that all compound 
# types are typedef'ed and only the typedef is referenced, never the tag name.

TYPEDEF_HIDES_STRUCT   = NO

# The size of the symbol lookup cache can be set using LOOKUP_CACHE_SIZE. This 
# cache is used to resolve symbols given their name and scope. Since this can 
# be an expensive process and often the same symbol appear multiple times in 
# the code, doxygen keeps a cache of pre-resolved symbols. If the cache is too 
# small doxygen will become slower. If the cache is too large, memory is wasted. 
# The cache size is given by this formula: 2^(16+LOOKUP_CACHE_SIZE). The valid 
# range is 0..9, the default is 0, corresponding to a cache size of 2^16 = 65536 
# symbols.

LOOKUP_CACHE_SIZE      = 0

#---------------------------------------------------------------------------
# Build related configuration options
#---------------------------------------------------------------------------

# If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in 
# documentation are documented, even if no documentation was available. 
# Private class members and static file members will be hidden unless 
# the EXTRACT_PRIVATE respectively EXTRACT_STATIC tags are set to YES

EXTRACT_ALL            = NO

# If the EXTRACT_PRIVATE tag is set to YES all private members of a class 
# will be included in the documentation.

EXTRACT_PRIVATE        = YES

# If the EXTRACT_PACKAGE tag is set to YES all members with package or internal 
# scope will be included in the documentation.

EXTRACT_PACKAGE        = YES

# If the EXTRACT_STATIC tag is set to YES all static members of a file 
# will be included in the documentation.

EXTRACT_STATIC         = YES

# If the EXTRACT_LOCAL_CLASSES tag is set to YES classes (and structs) 
# defined locally in source files will be included in the documentation. 
# If set to NO only classes defined in header files are included.

EXTRACT_LOCAL_CLASSES  = YES

# This flag is only useful for Objective-C code. When set to YES local 
# methods, which are defined in the implementation section but not in 
# the interface are included in the documentation. 
# If set to NO (the default) only methods in the interface are included.

EXTRACT_LOCAL_METHODS  = NO

# If this flag is set to YES, the members of anonymous namespaces will be 
# extracted and appear in the documentation as a namespace called 
# 'anonymous_namespace{file}', where file will be replaced with the base 
# name of the file that contains the anonymous namespace. By default 
# anonymous namespaces are hidden.

EXTRACT_ANON_NSPACES   = NO

# If the HIDE_UNDOC_MEMBERS tag is set to YES, Doxygen will hide all 
# undocumented members of documented classes, files or namespaces. 
# If set to NO (the default) these members will be included in the 
# various overviews, but no documentation section is generated. 
# This option has no effect if EXTRACT_ALL is enabled.

HIDE_UNDOC_MEMBERS     = NO

# If the HIDE_UNDOC_CLASSES tag is set to YES, Doxygen will hide all 
# undocumented classes that are normally visible in the class hierarchy. 
# If set to NO (the default) these classes will be included in the various 
# overviews. This option has no effect if EXTRACT_ALL is enabled.

HIDE_UNDOC_CLASSES     = YES

# If the HIDE_FRIEND_COMPOUNDS tag is set to YES, Doxygen will hide all 
# friend (class|struct|union) declarations. 
# If set to NO (the default) these declarations will be included in the 
# documentation.

HIDE_FRIEND_COMPOUNDS  = NO

# If the HIDE_IN_BODY_DOCS tag is set to YES, Doxygen will hide any 
# documentation blocks found inside the body of a function. 
# If set to NO (the default) these blocks will be appended to the 
# function's detailed documentation block.

HIDE_IN_BODY_DOCS      = NO

# The INTERNAL_DOCS tag determines if documentation 
# that is typed after a \internal command is included. If the tag is set 
# to NO (the default) then the documentation will be excluded. 
# Set it to YES to include the internal documentation.

INTERNAL_DOCS          = YES

# If the CASE_SENSE_NAMES tag is set to NO then Doxygen will only generate 
# file names in lower-case letters. If set to YES upper-case letters are also 
# allowed. This is useful if you have classes or files whose names only differ 
# in case and if your file system supports case sensitive file names. Windows 
# and Mac users are advised to set this option to NO.

CASE_SENSE_NAMES       = YES

# If the HIDE_SCOPE_NAMES tag is set to NO (the default) then Doxygen 
# will show members with their full class and namespace scopes in the 
# documentation. If set to YES the scope will be hidden.

HIDE_SCOPE_NAMES       = NO

# If the SHOW_INCLUDE_FILES tag is set to YES (the default) then Doxygen 
# will put a list of the files that are included by a file in the documentation 
# of that file.

SHOW_INCLUDE_FILES     = YES

# If the FORCE_LOCAL_INCLUDES tag is set to YES then Doxygen 
# will list include files with double quotes in the documentation 
# rather than with sharp brackets.

FORCE_LOCAL_INCLUDES   = NO

# If the INLINE_INFO tag is set to YES (the default) then a tag [inline] 
# is inserted in the documentation for inline members.

INLINE_INFO            = YES

# If the SORT_MEMBER_DOCS tag is set to YES (the default) then doxygen 
# will sort the (detailed) documentation of file and class members 
# alphabetically by member name. If set to NO the members will appear in 
# declaration order.

SORT_MEMBER_DOCS       = YES

# If the SORT_BRIEF_DOCS tag is set to YES then doxygen will sort the 
# brief documentation of file, namespace and class members alphabetically 
# by member name. If set to NO (the default) the members will appear in 
# declaration order.

SORT_BRIEF_DOCS        = YES

# If the SORT_MEMBERS_CTORS_1ST tag is set to YES then doxygen 
# will sort the (brief and detailed) documentation of class members so that 
# constructors and destructors are listed first. If set to NO (the default) 
# the constructors will appear in the respective orders defined by 
# SORT_MEMBER_DOCS and SORT_BRIEF_DOCS. 
# This tag will be ignored for brief docs if SORT_BRIEF_DOCS is set to NO 
# and ignored for detailed docs if SORT_MEMBER_DOCS is set to NO.

SORT_MEMBERS_CTORS_1ST = YES

# If the SORT_GROUP_NAMES tag is set to YES then doxygen will sort the 
# hierarchy of group names into alphabetical order. If set to NO (the default) 
# the group names will appear in their defined order.

SORT_GROUP_NAMES       = YES

# If the SORT_BY_SCOPE_NAME tag is set to YES, the class list will be 
# sorted by fully-qualified names, including namespaces. If set to 
# NO (the default), the class list will be sorted only by class name, 
# not including the namespace part. 
# Note: This option is not very useful if HIDE_SCOPE_NAMES is set to YES. 
# Note: This option applies only to the class list, not to the 
# alphabetical list.

SORT_BY_SCOPE_NAME     = YES

# If the STRICT_PROTO_MATCHING option is enabled and doxygen fails to 
# do proper type resolution of all parameters of a function it will reject a 
# match between the prototype and the implementation of a member function even 
# if there is only one candidate or it is obvious which candidate to choose 
# by doing a simple string match. By disabling STRICT_PROTO_MATCHING doxygen 
# will still accept a match between prototype and implementation in such cases.

STRICT_PROTO_MATCHING  = NO

# The GENERATE_TODOLIST tag can be used to enable (YES) or 
# disable (NO) the todo list. This list is created by putting \todo 
# commands in the documentation.

GENERATE_TODOLIST      = YES

# The GENERATE_TESTLIST tag can be used to enable (YES) or 
# disable (NO) the test list. This list is created by putting \test 
# commands in the documentation.

GENERATE_TESTLIST      = YES

# The GENERATE_BUGLIST tag can be used to enable (YES) or 
# disable (NO) the bug list. This list is created by putting \bug 
# commands in the documentation.

GENERATE_BUGLIST       = YES

# The GENERATE_DEPRECATEDLIST tag can be used to enable (YES) or 
# disable (NO) the deprecated list. This list is created by putting 
# \deprecated commands in the documentation.

GENERATE_DEPRECATEDLIST= YES

# The ENABLED_SECTIONS tag can be used to enable conditional 
# documentation sections, marked by \if section-label ... \endif 
# and \cond section-label ... \endcond blocks.

ENABLED_SECTIONS       = 

# The MAX_INITIALIZER_LINES tag determines the maximum number of lines 
# the initial value of a variable or macro consists of for it to appear in 
# the documentation. If the initializer consists of more lines than specified 
# here it will be hidden. Use a value of 0 to hide initializers completely. 
# The appearance of the initializer of individual variables and macros in the 
# documentation can be controlled using \showinitializer or \hideinitializer 
# command in the documentation regardless of this setting.

MAX_INITIALIZER_LINES  = 30

# Set the SHOW_USED_FILES tag to NO to disable the list of files generated 
# at the bottom of the documentation of classes and structs. If set to YES the 
# list will mention the files that were used to generate the documentation.

SHOW_USED_FILES        = YES

# Set the SHOW_FILES tag to NO to disable the generation of the Files page. 
# This will remove the Files entry from the Quick Index and from the 
# Folder Tree View (if specified). The default is YES.

SHOW_FILES             = YES

# Set the SHOW_NAMESPACES tag to NO to disable the generation of the 
# Namespaces page.  This will remove the Namespaces entry from the Quick Index 
# and from the Folder Tree View (if specified). The default is YES.

SHOW_NAMESPACES        = YES

# The FILE_VERSION_FILTER tag can be used to specify a program or script that 
# doxygen should invoke to get the current version for each file (typically from 
# the version control system). Doxygen will invoke the program by executing (via 
# popen()) the command <command> <input-file>, where <command> is the value of 
# the FILE_VERSION_FILTER tag, and <input-file> is the name of an input file 
# provided by doxygen. Whatever the program writes to standard output 
# is used as the file version. See the manual for examples.

FILE_VERSION_FILTER    = 

# The LAYOUT_FILE tag can be used to specify a layout file which will be parsed 
# by doxygen. The layout file controls the global structure of the generated 
# output files in an output format independent way. To create the layout file 
# that represents doxygen's defaults, run doxygen with the -l option. 
# You can optionally specify a file name after the option, if omitted 
# DoxygenLayout.xml will be used as the name of the layout file.

LAYOUT_FILE            = 

# The CITE_BIB_FILES tag can be used to specify one or more bib files 
# containing the references data. This must be a list of .bib files. The 
# .bib extension is automatically appended if omitted. Using this command 
# requires the bibtex tool to be installed. See also 
# http://en.wikipedia.org/wiki/BibTeX for more info. For LaTeX the style 
# of the bibliography can be controlled using LATEX_BIB_STYLE. To use this 
# feature you need bibtex and perl available in the search path. Do not use 
# file names with spaces, bibtex cannot handle them.

CITE_BIB_FILES         = 

#---------------------------------------------------------------------------
# configuration options related to warning and progress messages
#---------------------------------------------------------------------------

# The QUIET tag can be used to turn on/off the messages that are generated 
# by doxygen. Possible values are YES and NO. If left blank NO is used.

QUIET                  = NO

# The WARNINGS tag can be used to turn on/off the warning messages that are 
# generated by doxygen. Possible values are YES and NO. If left blank 
# NO is used.

WARNINGS               = YES

# If WARN_IF_UNDOCUMENTED is set to YES, then doxygen will generate warnings 
# for undocumented members. If EXTRACT_ALL is set to YES then this flag will 
# automatically be disabled.

WARN_IF_UNDOCUMENTED   = NO

# If WARN_IF_DOC_ERROR is set to YES, doxygen will generate warnings for 
# potential errors in the documentation, such as not documenting some 
# parameters in a documented function, or documenting parameters that 
# don't exist or using markup commands wrongly.

WARN_IF_DOC_ERROR      = YES

# The WARN_NO_PARAMDOC option can be enabled to get warnings for 
# functions that are documented, but have no documentation for their parameters 
# or return value. If set to NO (the default) doxygen will only warn about 
# wrong or incomplete parameter documentation, but not about the absence of 
# documentation.

WARN_NO_PARAMDOC       = NO

# The WARN_FORMAT tag determines the format of the warning messages that 
# doxygen can produce. The string should contain the $file, $line, and $text 
# tags, which will be replaced by the file and line number from which the 
# warning originated and the warning text. Optionally the format may contain 
# $version, which will be replaced by the version of the file (if it could 
# be obtained via FILE_VERSION_FILTER)

WARN_FORMAT            = "$file:$line: $text"

# The WARN_LOGFILE tag can be used to specify a file to which warning 
# and error messages should be written. If left blank the output is written 
# to stderr.

WARN_LOGFILE           = 

#---------------------------------------------------------------------------
# configuration options related to the input files
#---------------------------------------------------------------------------

# The INPUT tag can be used to specify the files and/or directories that contain 
# documented source files. You may enter file names like "myfile.cpp" or 
# directories like "/usr/src/myproject". Separate the files or directories 
# with spaces.

INPUT                  = "C:/Users/Pieter_2/Documents/Visual Studio 2012/Projects/HexGridExampleTemp"

# This tag can be used to specify the character encoding of the source files 
# that doxygen parses. Internally doxygen uses the UTF-8 encoding, which is 
# also the default input encoding. Doxygen uses libiconv (or the iconv built 
# into libc) for the transcoding. See http://www.gnu.org/software/libiconv for 
# the list of possible encodings.

INPUT_ENCODING         = UTF-8

# If the value of the INPUT tag contains directories, you can use the 
# FILE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp 
# and *.h) to filter out the source-files in the directories. If left 
# blank the following patterns are tested: 
# *.c *.cc *.cxx *.cpp *.c++ *.d *.java *.ii *.ixx *.ipp *.i++ *.inl *.h *.hh 
# *.hxx *.hpp *.h++ *.idl *.odl *.cs *.php *.php3 *.inc *.m *.mm *.dox *.py 
# *.f90 *.f *.for *.vhd *.vhdl

FILE_PATTERNS          = *.c \
                         *.cc \
                         *.cxx \
                         *.cpp \
                         *.c++ \
                         *.d \
                         *.java \
                         *.ii \
                         *.ixx \
                         *.ipp \
                         *.i++ \
                         *.inl \
                         *.h \
                         *.hh \
                         *.hxx \
                         *.hpp \
                         *.h++ \
                         *.idl \
                         *.odl \
                         *.cs \
                         *.php \
                         *.php3 \
                         *.inc \
                         *.m \
                         *.markdown \
                         *.md \
                         *.mm \
                         *.dox \
                         *.py \
                         *.f90 \
                         *.f \
                         *.for \
                         *.vhd \
                         *.vhdl

# The RECURSIVE tag can be used to turn specify whether or not subdirectories 
# should be searched for input files as well. Possible values are YES and NO. 
# If left blank NO is used.

RECURSIVE              = YES

# The EXCLUDE tag can be used to specify files and/or directories that should be 
# excluded from the INPUT source files. This way you can easily exclude a 
# subdirectory from a directory tree whose root is specified with the INPUT tag. 
# Note that relative paths are relative to the directory from which doxygen is 
# run.

EXCLUDE                = "./C:/Users/Pieter_2/Documents/Visual Studio 2012/Projects/obj" \
                         "../HexgridPanel/Reference Source"

# The EXCLUDE_SYMLINKS tag can be used to select whether or not files or 
# directories that are symbolic links (a Unix file system feature) are excluded 
# from the input.

EXCLUDE_SYMLINKS       = NO

# If the value of the INPUT tag contains directories, you can use the 
# EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude 
# certain files from those directories. Note that the wildcards are matched 
# against the file with absolute path, so to exclude all test directories 
# for example use the pattern */test/*

EXCLUDE_PATTERNS       = */obj/* \
                         *.Designer.cs

# The EXCLUDE_SYMBOLS tag can be used to specify one or more symbol names 
# (namespaces, classes, functions, etc.) that should be excluded from the 
# output. The symbol name can be a fully qualified name, a word, or if the 
# wildcard * is used, a substring. Examples: ANamespace, AClass, 
# AClass::ANamespace, ANamespace::*Test

EXCLUDE_SYMBOLS        = WindowStylesEx \
                         WM

# The EXAMPLE_PATH tag can be used to specify one or more files or 
# directories that contain example code fragments that are included (see 
# the \include command).

EXAMPLE_PATH           = 

# If the value of the EXAMPLE_PATH tag contains directories, you can use the 
# EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp 
# and *.h) to filter out the source-files in the directories. If left 
# blank all files are included.

EXAMPLE_PATTERNS       = *

# If the EXAMPLE_RECURSIVE tag is set to YES then subdirectories will be 
# searched for input files to be used with the \include or \dontinclude 
# commands irrespective of the value of the RECURSIVE tag. 
# Possible values are YES and NO. If left blank NO is used.

EXAMPLE_RECURSIVE      = NO

# The IMAGE_PATH tag can be used to specify one or more files or 
# directories that contain image that are included in the documentation (see 
# the \image command).

IMAGE_PATH             = 

# The INPUT_FILTER tag can be used to specify a program that doxygen should 
# invoke to filter for each input file. Doxygen will invoke the filter program 
# by executing (via popen()) the command <filter> <input-file>, where <filter> 
# is the value of the INPUT_FILTER tag, and <input-file> is the name of an 
# input file. Doxygen will then use the output that the filter program writes 
# to standard output.  If FILTER_PATTERNS is specified, this tag will be ignored. 
# Note that the filter must not add or remove lines; it is applied before the 
# code is scanned, but not when the output code is generated. If lines are added 
# or removed, the anchors will not be placed correctly.

INPUT_FILTER           = 

# The FILTER_PATTERNS tag can be used to specify filters on a per file pattern 
# basis.  Doxygen will compare the file name with each pattern and apply the 
# filter if there is a match.  The filters are a list of the form: 
# pattern=filter (like *.cpp=my_cpp_filter). See INPUT_FILTER for further 
# info on how filters are used. If FILTER_PATTERNS is empty or if 
# non of the patterns match the file name, INPUT_FILTER is applied.

FILTER_PATTERNS        = 

# If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using 
# INPUT_FILTER) will be used to filter the input files when producing source 
# files to browse (i.e. when SOURCE_BROWSER is set to YES).

FILTER_SOURCE_FILES    = NO

# The FILTER_SOURCE_PATTERNS tag can be used to specify source filters per file 
# pattern. A pattern will override the setting for FILTER_PATTERN (if any) 
# and it is also possible to disable source filtering for a specific pattern 
# using *.ext= (so without naming a filter). This option only has effect when 
# FILTER_SOURCE_FILES is enabled.

FILTER_SOURCE_PATTERNS = 

# If the USE_MD_FILE_AS_MAINPAGE tag refers to the name of a markdown file that 
# is part of the input, its contents will be placed on the main page 
# (index.html). This can be useful if you have a project on for instance GitHub 
# and want reuse the introduction page also for the doxygen output.

USE_MDFILE_AS_MAINPAGE = 

#---------------------------------------------------------------------------
# configuration options related to source browsing
#---------------------------------------------------------------------------

# If the SOURCE_BROWSER tag is set to YES then a list of source files will 
# be generated. Documented entities will be cross-referenced with these sources. 
# Note: To get rid of all source code in the generated output, make sure also 
# VERBATIM_HEADERS is set to NO.

SOURCE_BROWSER         = YES

# Setting the INLINE_SOURCES tag to YES will include the body 
# of functions and classes directly in the documentation.

INLINE_SOURCES         = YES

# Setting the STRIP_CODE_COMMENTS tag to YES (the default) will instruct 
# doxygen to hide any special comment blocks from generated source code 
# fragments. Normal C, C++ and Fortran comments will always remain visible.

STRIP_CODE_COMMENTS    = YES

# If the REFERENCED_BY_RELATION tag is set to YES 
# then for each documented function all documented 
# functions referencing it will be listed.

REFERENCED_BY_RELATION = YES

# If the REFERENCES_RELATION tag is set to YES 
# then for each documented function all documented entities 
# called/used by that function will be listed.

REFERENCES_RELATION    = YES

# If the REFERENCES_LINK_SOURCE tag is set to YES (the default) 
# and SOURCE_BROWSER tag is set to YES, then the hyperlinks from 
# functions in REFERENCES_RELATION and REFERENCED_BY_RELATION lists will 
# link to the source code.  Otherwise they will link to the documentation.

REFERENCES_LINK_SOURCE = YES

# If the USE_HTAGS tag is set to YES then the references to source code 
# will point to the HTML generated by the htags(1) tool instead of doxygen 
# built-in source browser. The htags tool is part of GNU's global source 
# tagging system (see http://www.gnu.org/software/global/global.html). You 
# will need version 4.8.6 or higher.

USE_HTAGS              = NO

# If the VERBATIM_HEADERS tag is set to YES (the default) then Doxygen 
# will generate a verbatim copy of the header file for each class for 
# which an include is specified. Set to NO to disable this.

VERBATIM_HEADERS       = YES

# If CLANG_ASSISTED_PARSING is set to YES, then doxygen will use the clang parser 
# for more acurate parsing at the cost of reduced performance. This can be 
# particularly helpful with template rich C++ code for which doxygen's built-in 
# parser lacks the necessairy type information.

CLANG_ASSISTED_PARSING = YES

# If clang assisted parsing is enabled you can provide the compiler with command 
# line options that you would normally use when invoking the compiler. Note that 
# the include paths will already be set by doxygen for the files and directories 
# specified at INPUT and INCLUDE_PATH.

CLANG_OPTIONS          = 

#---------------------------------------------------------------------------
# configuration options related to the alphabetical class index
#---------------------------------------------------------------------------

# If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index 
# of all compounds will be generated. Enable this if the project 
# contains a lot of classes, structs, unions or interfaces.

ALPHABETICAL_INDEX     = YES

# If the alphabetical index is enabled (see ALPHABETICAL_INDEX) then 
# the COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns 
# in which this list will be split (can be a number in the range [1..20])

COLS_IN_ALPHA_INDEX    = 2

# In case all classes in a project start with a common prefix, all 
# classes will be put under the same header in the alphabetical index. 
# The IGNORE_PREFIX tag can be used to specify one or more prefixes that 
# should be ignored while generating the index headers.

IGNORE_PREFIX          = 

#---------------------------------------------------------------------------
# configuration options related to the HTML output
#---------------------------------------------------------------------------

# If the GENERATE_HTML tag is set to YES (the default) Doxygen will 
# generate HTML output.

GENERATE_HTML          = YES

# The HTML_OUTPUT tag is used to specify where the HTML docs will be put. 
# If a relative path is entered the value of OUTPUT_DIRECTORY will be 
# put in front of it. If left blank `html' will be used as the default path.

HTML_OUTPUT            = html

# The HTML_FILE_EXTENSION tag can be used to specify the file extension for 
# each generated HTML page (for example: .htm,.php,.asp). If it is left blank 
# doxygen will generate files with .html extension.

HTML_FILE_EXTENSION    = .xhtml

# The HTML_HEADER tag can be used to specify a personal HTML header for 
# each generated HTML page. If it is left blank doxygen will generate a 
# standard header. Note that when using a custom header you are responsible  
# for the proper inclusion of any scripts and style sheets that doxygen 
# needs, which is dependent on the configuration options used. 
# It is advised to generate a default header using "doxygen -w html 
# header.html footer.html stylesheet.css YourConfigFile" and then modify 
# that header. Note that the header is subject to change so you typically 
# have to redo this when upgrading to a newer version of doxygen or when 
# changing the value of configuration settings such as GENERATE_TREEVIEW!

HTML_HEADER            = 

# The HTML_FOOTER tag can be used to specify a personal HTML footer for 
# each generated HTML page. If it is left blank doxygen will generate a 
# standard footer.

HTML_FOOTER            = 

# The HTML_STYLESHEET tag can be used to specify a user-defined cascading 
# style sheet that is used by each HTML page. It can be used to 
# fine-tune the look of the HTML output. If left blank doxygen will 
# generate a default style sheet. Note that it is recommended to use 
# HTML_EXTRA_STYLESHEET instead of this one, as it is more robust and this 
# tag will in the future become obsolete.

HTML_STYLESHEET        = 

# The HTML_EXTRA_STYLESHEET tag can be used to specify an additional 
# user-defined cascading style sheet that is included after the standard 
# style sheets created by doxygen. Using this option one can overrule 
# certain style aspects. This is preferred over using HTML_STYLESHEET 
# since it does not replace the standard style sheet and is therefor more 
# robust against future updates. Doxygen will copy the style sheet file to 
# the output directory.

HTML_EXTRA_STYLESHEET  = 

# The HTML_EXTRA_FILES tag can be used to specify one or more extra images or 
# other source files which should be copied to the HTML output directory. Note 
# that these files will be copied to the base HTML output directory. Use the 
# $relpath^ marker in the HTML_HEADER and/or HTML_FOOTER files to load these 
# files. In the HTML_STYLESHEET file, use the file name only. Also note that 
# the files will be copied as-is; there are no commands or markers available.

HTML_EXTRA_FILES       = 

# The HTML_COLORSTYLE_HUE tag controls the color of the HTML output. 
# Doxygen will adjust the colors in the style sheet and background images 
# according to this color. Hue is specified as an angle on a colorwheel, 
# see http://en.wikipedia.org/wiki/Hue for more information. 
# For instance the value 0 represents red, 60 is yellow, 120 is green, 
# 180 is cyan, 240 is blue, 300 purple, and 360 is red again. 
# The allowed range is 0 to 359.

HTML_COLORSTYLE_HUE    = 220

# The HTML_COLORSTYLE_SAT tag controls the purity (or saturation) of 
# the colors in the HTML output. For a value of 0 the output will use 
# grayscales only. A value of 255 will produce the most vivid colors.

HTML_COLORSTYLE_SAT    = 100

# The HTML_COLORSTYLE_GAMMA tag controls the gamma correction applied to 
# the luminance component of the colors in the HTML output. Values below 
# 100 gradually make the output lighter, whereas values above 100 make 
# the output darker. The value divided by 100 is the actual gamma applied, 
# so 80 represents a gamma of 0.8, The value 220 represents a gamma of 2.2, 
# and 100 does not change the gamma.

HTML_COLORSTYLE_GAMMA  = 80

# If the HTML_TIMESTAMP tag is set to YES then the footer of each generated HTML 
# page will contain the date and time when the page was generated. Setting 
# this to NO can help when comparing the output of multiple runs.

HTML_TIMESTAMP         = YES

# If the HTML_DYNAMIC_SECTIONS tag is set to YES then the generated HTML 
# documentation will contain sections that can be hidden and shown after the 
# page has loaded.

HTML_DYNAMIC_SECTIONS  = YES

# With HTML_INDEX_NUM_ENTRIES one can control the preferred number of 
# entries shown in the various tree structured indices initially; the user 
# can expand and collapse entries dynamically later on. Doxygen will expand 
# the tree to such a level that at most the specified number of entries are 
# visible (unless a fully collapsed tree already exceeds this amount). 
# So setting the number of entries 1 will produce a full collapsed tree by 
# default. 0 is a special value representing an infinite number of entries 
# and will result in a full expanded tree by default.

HTML_INDEX_NUM_ENTRIES = 100

# If the GENERATE_DOCSET tag is set to YES, additional index files 
# will be generated that can be used as input for Apple's Xcode 3 
# integrated development environment, introduced with OSX 10.5 (Leopard). 
# To create a documentation set, doxygen will generate a Makefile in the 
# HTML output directory. Running make will produce the docset in that 
# directory and running "make install" will install the docset in 
# ~/Library/Developer/Shared/Documentation/DocSets so that Xcode will find 
# it at startup. 
# See http://developer.apple.com/tools/creatingdocsetswithdoxygen.html 
# for more information.

GENERATE_DOCSET        = NO

# When GENERATE_DOCSET tag is set to YES, this tag determines the name of the 
# feed. A documentation feed provides an umbrella under which multiple 
# documentation sets from a single provider (such as a company or product suite) 
# can be grouped.

DOCSET_FEEDNAME        = "Doxygen generated docs"

# When GENERATE_DOCSET tag is set to YES, this tag specifies a string that 
# should uniquely identify the documentation set bundle. This should be a 
# reverse domain-name style string, e.g. com.mycompany.MyDocSet. Doxygen 
# will append .docset to the name.

DOCSET_BUNDLE_ID       = org.doxygen.Project

# When GENERATE_PUBLISHER_ID tag specifies a string that should uniquely 
# identify the documentation publisher. This should be a reverse domain-name 
# style string, e.g. com.mycompany.MyDocSet.documentation.

DOCSET_PUBLISHER_ID    = org.doxygen.Publisher

# The GENERATE_PUBLISHER_NAME tag identifies the documentation publisher.

DOCSET_PUBLISHER_NAME  = Publisher

# If the GENERATE_HTMLHELP tag is set to YES, additional index files 
# will be generated that can be used as input for tools like the 
# Microsoft HTML help workshop to generate a compiled HTML help file (.chm) 
# of the generated HTML documentation.

GENERATE_HTMLHELP      = NO

# If the GENERATE_HTMLHELP tag is set to YES, the CHM_FILE tag can 
# be used to specify the file name of the resulting .chm file. You 
# can add a path in front of the file if the result should not be 
# written to the html output directory.

CHM_FILE               = 

# If the GENERATE_HTMLHELP tag is set to YES, the HHC_LOCATION tag can 
# be used to specify the location (absolute path including file name) of 
# the HTML help compiler (hhc.exe). If non-empty doxygen will try to run 
# the HTML help compiler on the generated index.hhp.

HHC_LOCATION           = 

# If the GENERATE_HTMLHELP tag is set to YES, the GENERATE_CHI flag 
# controls if a separate .chi index file is generated (YES) or that 
# it should be included in the master .chm file (NO).

GENERATE_CHI           = NO

# If the GENERATE_HTMLHELP tag is set to YES, the CHM_INDEX_ENCODING 
# is used to encode HtmlHelp index (hhk), content (hhc) and project file 
# content.

CHM_INDEX_ENCODING     = 

# If the GENERATE_HTMLHELP tag is set to YES, the BINARY_TOC flag 
# controls whether a binary table of contents is generated (YES) or a 
# normal table of contents (NO) in the .chm file.

BINARY_TOC             = NO

# The TOC_EXPAND flag can be set to YES to add extra items for group members 
# to the contents of the HTML help documentation and to the tree view.

TOC_EXPAND             = NO

# If the GENERATE_QHP tag is set to YES and both QHP_NAMESPACE and 
# QHP_VIRTUAL_FOLDER are set, an additional index file will be generated 
# that can be used as input for Qt's qhelpgenerator to generate a 
# Qt Compressed Help (.qch) of the generated HTML documentation.

GENERATE_QHP           = NO

# If the QHG_LOCATION tag is specified, the QCH_FILE tag can 
# be used to specify the file name of the resulting .qch file. 
# The path specified is relative to the HTML output folder.

QCH_FILE               = 

# The QHP_NAMESPACE tag specifies the namespace to use when generating 
# Qt Help Project output. For more information please see 
# http://doc.trolltech.com/qthelpproject.html#namespace

QHP_NAMESPACE          = org.doxygen.Project

# The QHP_VIRTUAL_FOLDER tag specifies the namespace to use when generating 
# Qt Help Project output. For more information please see 
# http://doc.trolltech.com/qthelpproject.html#virtual-folders

QHP_VIRTUAL_FOLDER     = doc

# If QHP_CUST_FILTER_NAME is set, it specifies the name of a custom filter to 
# add. For more information please see 
# http://doc.trolltech.com/qthelpproject.html#custom-filters

QHP_CUST_FILTER_NAME   = 

# The QHP_CUST_FILT_ATTRS tag specifies the list of the attributes of the 
# custom filter to add. For more information please see 
# <a href="http://doc.trolltech.com/qthelpproject.html#custom-filters"> 
# Qt Help Project / Custom Filters</a>.

QHP_CUST_FILTER_ATTRS  = 

# The QHP_SECT_FILTER_ATTRS tag specifies the list of the attributes this 
# project's 
# filter section matches. 
# <a href="http://doc.trolltech.com/qthelpproject.html#filter-attributes"> 
# Qt Help Project / Filter Attributes</a>.

QHP_SECT_FILTER_ATTRS  = 

# If the GENERATE_QHP tag is set to YES, the QHG_LOCATION tag can 
# be used to specify the location of Qt's qhelpgenerator. 
# If non-empty doxygen will try to run qhelpgenerator on the generated 
# .qhp file.

QHG_LOCATION           = 

# If the GENERATE_ECLIPSEHELP tag is set to YES, additional index files  
# will be generated, which together with the HTML files, form an Eclipse help 
# plugin. To install this plugin and make it available under the help contents 
# menu in Eclipse, the contents of the directory containing the HTML and XML 
# files needs to be copied into the plugins directory of eclipse. The name of 
# the directory within the plugins directory should be the same as 
# the ECLIPSE_DOC_ID value. After copying Eclipse needs to be restarted before 
# the help appears.

GENERATE_ECLIPSEHELP   = NO

# A unique identifier for the eclipse help plugin. When installing the plugin 
# the directory name containing the HTML and XML files should also have 
# this name.

ECLIPSE_DOC_ID         = org.doxygen.Project

# The DISABLE_INDEX tag can be used to turn on/off the condensed index (tabs) 
# at top of each HTML page. The value NO (the default) enables the index and 
# the value YES disables it. Since the tabs have the same information as the 
# navigation tree you can set this option to NO if you already set 
# GENERATE_TREEVIEW to YES.

DISABLE_INDEX          = NO

# The GENERATE_TREEVIEW tag is used to specify whether a tree-like index 
# structure should be generated to display hierarchical information. 
# If the tag value is set to YES, a side panel will be generated 
# containing a tree-like index structure (just like the one that 
# is generated for HTML Help). For this to work a browser that supports 
# JavaScript, DHTML, CSS and frames is required (i.e. any modern browser). 
# Windows users are probably better off using the HTML help feature. 
# Since the tree basically has the same information as the tab index you 
# could consider to set DISABLE_INDEX to NO when enabling this option.

GENERATE_TREEVIEW      = YES

# The ENUM_VALUES_PER_LINE tag can be used to set the number of enum values 
# (range [0,1..20]) that doxygen will group on one line in the generated HTML 
# documentation. Note that a value of 0 will completely suppress the enum 
# values from appearing in the overview section.

ENUM_VALUES_PER_LINE   = 4

# If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be 
# used to set the initial width (in pixels) of the frame in which the tree 
# is shown.

TREEVIEW_WIDTH         = 250

# When the EXT_LINKS_IN_WINDOW option is set to YES doxygen will open 
# links to external symbols imported via tag files in a separate window.

EXT_LINKS_IN_WINDOW    = YES

# Use this tag to change the font size of Latex formulas included 
# as images in the HTML documentation. The default is 10. Note that 
# when you change the font size after a successful doxygen run you need 
# to manually remove any form_*.png images from the HTML output directory 
# to force them to be regenerated.

FORMULA_FONTSIZE       = 10

# Use the FORMULA_TRANPARENT tag to determine whether or not the images 
# generated for formulas are transparent PNGs. Transparent PNGs are 
# not supported properly for IE 6.0, but are supported on all modern browsers. 
# Note that when changing this option you need to delete any form_*.png files 
# in the HTML output before the changes have effect.

FORMULA_TRANSPARENT    = YES

# Enable the USE_MATHJAX option to render LaTeX formulas using MathJax 
# (see http://www.mathjax.org) which uses client side Javascript for the 
# rendering instead of using prerendered bitmaps. Use this if you do not 
# have LaTeX installed or if you want to formulas look prettier in the HTML 
# output. When enabled you may also need to install MathJax separately and 
# configure the path to it using the MATHJAX_RELPATH option.

USE_MATHJAX            = NO

# When MathJax is enabled you can set the default output format to be used for 
# the MathJax output. Supported types are HTML-CSS, NativeMML (i.e. MathML) and 
# SVG. The default value is HTML-CSS, which is slower, but has the best 
# compatibility.

MATHJAX_FORMAT         = HTML-CSS

# When MathJax is enabled you need to specify the location relative to the 
# HTML output directory using the MATHJAX_RELPATH option. The destination 
# directory should contain the MathJax.js script. For instance, if the mathjax 
# directory is located at the same level as the HTML output directory, then 
# MATHJAX_RELPATH should be ../mathjax. The default value points to 
# the MathJax Content Delivery Network so you can quickly see the result without 
# installing MathJax.  However, it is strongly recommended to install a local 
# copy of MathJax from http://www.mathjax.org before deployment.

MATHJAX_RELPATH        = http://cdn.mathjax.org/mathjax/latest

# The MATHJAX_EXTENSIONS tag can be used to specify one or MathJax extension 
# names that should be enabled during MathJax rendering.

MATHJAX_EXTENSIONS     = 

# The MATHJAX_CODEFILE tag can be used to specify a file with javascript 
# pieces of code that will be used on startup of the MathJax code.

MATHJAX_CODEFILE       = 

# When the SEARCHENGINE tag is enabled doxygen will generate a search box 
# for the HTML output. The underlying search engine uses javascript 
# and DHTML and should work on any modern browser. Note that when using 
# HTML help (GENERATE_HTMLHELP), Qt help (GENERATE_QHP), or docsets 
# (GENERATE_DOCSET) there is already a search function so this one should 
# typically be disabled. For large projects the javascript based search engine 
# can be slow, then enabling SERVER_BASED_SEARCH may provide a better solution.

SEARCHENGINE           = YES

# When the SERVER_BASED_SEARCH tag is enabled the search engine will be 
# implemented using a web server instead of a web client using Javascript. 
# There are two flavours of web server based search depending on the 
# EXTERNAL_SEARCH setting. When disabled, doxygen will generate a PHP script for 
# searching and an index file used by the script. When EXTERNAL_SEARCH is 
# enabled the indexing and searching needs to be provided by external tools. 
# See the manual for details.

SERVER_BASED_SEARCH    = NO

# When EXTERNAL_SEARCH is enabled doxygen will no longer generate the PHP 
# script for searching. Instead the search results are written to an XML file 
# which needs to be processed by an external indexer. Doxygen will invoke an 
# external search engine pointed to by the SEARCHENGINE_URL option to obtain 
# the search results. Doxygen ships with an example indexer (doxyindexer) and 
# search engine (doxysearch.cgi) which are based on the open source search 
# engine library Xapian. See the manual for configuration details.

EXTERNAL_SEARCH        = NO

# The SEARCHENGINE_URL should point to a search engine hosted by a web server 
# which will returned the search results when EXTERNAL_SEARCH is enabled. 
# Doxygen ships with an example search engine (doxysearch) which is based on 
# the open source search engine library Xapian. See the manual for configuration 
# details.

SEARCHENGINE_URL       = 

# When SERVER_BASED_SEARCH and EXTERNAL_SEARCH are both enabled the unindexed 
# search data is written to a file for indexing by an external tool. With the 
# SEARCHDATA_FILE tag the name of this file can be specified.

SEARCHDATA_FILE        = searchdata.xml

# When SERVER_BASED_SEARCH AND EXTERNAL_SEARCH are both enabled the 
# EXTERNAL_SEARCH_ID tag can be used as an identifier for the project. This is 
# useful in combination with EXTRA_SEARCH_MAPPINGS to search through multiple 
# projects and redirect the results back to the right project.

EXTERNAL_SEARCH_ID     = 

# The EXTRA_SEARCH_MAPPINGS tag can be used to enable searching through doxygen 
# projects other than the one defined by this configuration file, but that are 
# all added to the same external search index. Each project needs to have a 
# unique id set via EXTERNAL_SEARCH_ID. The search mapping then maps the id 
# of to a relative location where the documentation can be found. 
# The format is: EXTRA_SEARCH_MAPPINGS = id1=loc1 id2=loc2 ...

EXTRA_SEARCH_MAPPINGS  = 

#---------------------------------------------------------------------------
# configuration options related to the LaTeX output
#---------------------------------------------------------------------------

# If the GENERATE_LATEX tag is set to YES (the default) Doxygen will 
# generate Latex output.

GENERATE_LATEX         = NO

# The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put. 
# If a relative path is entered the value of OUTPUT_DIRECTORY will be 
# put in front of it. If left blank `latex' will be used as the default path.

LATEX_OUTPUT           = latex

# The LATEX_CMD_NAME tag can be used to specify the LaTeX command name to be 
# invoked. If left blank `latex' will be used as the default command name. 
# Note that when enabling USE_PDFLATEX this option is only used for 
# generating bitmaps for formulas in the HTML output, but not in the 
# Makefile that is written to the output directory.

LATEX_CMD_NAME         = latex

# The MAKEINDEX_CMD_NAME tag can be used to specify the command name to 
# generate index for LaTeX. If left blank `makeindex' will be used as the 
# default command name.

MAKEINDEX_CMD_NAME     = makeindex

# If the COMPACT_LATEX tag is set to YES Doxygen generates more compact 
# LaTeX documents. This may be useful for small projects and may help to 
# save some trees in general.

COMPACT_LATEX          = NO

# The PAPER_TYPE tag can be used to set the paper type that is used 
# by the printer. Possible values are: a4, letter, legal and 
# executive. If left blank a4 will be used.

PAPER_TYPE             = letter

# The EXTRA_PACKAGES tag can be to specify one or more names of LaTeX 
# packages that should be included in the LaTeX output.

EXTRA_PACKAGES         = 

# The LATEX_HEADER tag can be used to specify a personal LaTeX header for 
# the generated latex document. The header should contain everything until 
# the first chapter. If it is left blank doxygen will generate a 
# standard header. Notice: only use this tag if you know what you are doing!

LATEX_HEADER           = 

# The LATEX_FOOTER tag can be used to specify a personal LaTeX footer for 
# the generated latex document. The footer should contain everything after 
# the last chapter. If it is left blank doxygen will generate a 
# standard footer. Notice: only use this tag if you know what you are doing!

LATEX_FOOTER           = 

# The LATEX_EXTRA_FILES tag can be used to specify one or more extra images 
# or other source files which should be copied to the LaTeX output directory. 
# Note that the files will be copied as-is; there are no commands or markers 
# available.

LATEX_EXTRA_FILES      = 

# If the PDF_HYPERLINKS tag is set to YES, the LaTeX that is generated 
# is prepared for conversion to pdf (using ps2pdf). The pdf file will 
# contain links (just like the HTML output) instead of page references 
# This makes the output suitable for online browsing using a pdf viewer.

PDF_HYPERLINKS         = YES

# If the USE_PDFLATEX tag is set to YES, pdflatex will be used instead of 
# plain latex in the generated Makefile. Set this option to YES to get a 
# higher quality PDF documentation.

USE_PDFLATEX           = YES

# If the LATEX_BATCHMODE tag is set to YES, doxygen will add the \\batchmode. 
# command to the generated LaTeX files. This will instruct LaTeX to keep 
# running if errors occur, instead of asking the user for help. 
# This option is also used when generating formulas in HTML.

LATEX_BATCHMODE        = NO

# If LATEX_HIDE_INDICES is set to YES then doxygen will not 
# include the index chapters (such as File Index, Compound Index, etc.) 
# in the output.

LATEX_HIDE_INDICES     = NO

# If LATEX_SOURCE_CODE is set to YES then doxygen will include 
# source code with syntax highlighting in the LaTeX output. 
# Note that which sources are shown also depends on other settings 
# such as SOURCE_BROWSER.

LATEX_SOURCE_CODE      = YES

# The LATEX_BIB_STYLE tag can be used to specify the style to use for the 
# bibliography, e.g. plainnat, or ieeetr. The default style is "plain". See 
# http://en.wikipedia.org/wiki/BibTeX for more info.

LATEX_BIB_STYLE        = plain

#---------------------------------------------------------------------------
# configuration options related to the RTF output
#---------------------------------------------------------------------------

# If the GENERATE_RTF tag is set to YES Doxygen will generate RTF output 
# The RTF output is optimized for Word 97 and may not look very pretty with 
# other RTF readers or editors.

GENERATE_RTF           = NO

# The RTF_OUTPUT tag is used to specify where the RTF docs will be put. 
# If a relative path is entered the value of OUTPUT_DIRECTORY will be 
# put in front of it. If left blank `rtf' will be used as the default path.

RTF_OUTPUT             = rtf

# If the COMPACT_RTF tag is set to YES Doxygen generates more compact 
# RTF documents. This may be useful for small projects and may help to 
# save some trees in general.

COMPACT_RTF            = NO

# If the RTF_HYPERLINKS tag is set to YES, the RTF that is generated 
# will contain hyperlink fields. The RTF file will 
# contain links (just like the HTML output) instead of page references. 
# This makes the output suitable for online browsing using WORD or other 
# programs which support those fields. 
# Note: wordpad (write) and others do not support links.

RTF_HYPERLINKS         = NO

# Load style sheet definitions from file. Syntax is similar to doxygen's 
# config file, i.e. a series of assignments. You only have to provide 
# replacements, missing definitions are set to their default value.

RTF_STYLESHEET_FILE    = 

# Set optional variables used in the generation of an rtf document. 
# Syntax is similar to doxygen's config file.

RTF_EXTENSIONS_FILE    = 

#---------------------------------------------------------------------------
# configuration options related to the man page output
#---------------------------------------------------------------------------

# If the GENERATE_MAN tag is set to YES (the default) Doxygen will 
# generate man pages

GENERATE_MAN           = NO

# The MAN_OUTPUT tag is used to specify where the man pages will be put. 
# If a relative path is entered the value of OUTPUT_DIRECTORY will be 
# put in front of it. If left blank `man' will be used as the default path.

MAN_OUTPUT             = man

# The MAN_EXTENSION tag determines the extension that is added to 
# the generated man pages (default is the subroutine's section .3)

MAN_EXTENSION          = .3

# If the MAN_LINKS tag is set to YES and Doxygen generates man output, 
# then it will generate one additional man file for each entity 
# documented in the real man page(s). These additional files 
# only source the real man page, but without them the man command 
# would be unable to find the correct page. The default is NO.

MAN_LINKS              = NO

#---------------------------------------------------------------------------
# configuration options related to the XML output
#---------------------------------------------------------------------------

# If the GENERATE_XML tag is set to YES Doxygen will 
# generate an XML file that captures the structure of 
# the code including all documentation.

GENERATE_XML           = NO

# The XML_OUTPUT tag is used to specify where the XML pages will be put. 
# If a relative path is entered the value of OUTPUT_DIRECTORY will be 
# put in front of it. If left blank `xml' will be used as the default path.

XML_OUTPUT             = xml

# The XML_SCHEMA tag can be used to specify an XML schema, 
# which can be used by a validating XML parser to check the 
# syntax of the XML files.

XML_SCHEMA             = 

# The XML_DTD tag can be used to specify an XML DTD, 
# which can be used by a validating XML parser to check the 
# syntax of the XML files.

XML_DTD                = 

# If the XML_PROGRAMLISTING tag is set to YES Doxygen will 
# dump the program listings (including syntax highlighting 
# and cross-referencing information) to the XML output. Note that 
# enabling this will significantly increase the size of the XML output.

XML_PROGRAMLISTING     = YES

#---------------------------------------------------------------------------
# configuration options related to the DOCBOOK output
#---------------------------------------------------------------------------

# If the GENERATE_DOCBOOK tag is set to YES Doxygen will generate DOCBOOK files 
# that can be used to generate PDF.

GENERATE_DOCBOOK       = NO

# The DOCBOOK_OUTPUT tag is used to specify where the DOCBOOK pages will be put. 
# If a relative path is entered the value of OUTPUT_DIRECTORY will be put in 
# front of it. If left blank docbook will be used as the default path.

DOCBOOK_OUTPUT         = docbook

#---------------------------------------------------------------------------
# configuration options for the AutoGen Definitions output
#---------------------------------------------------------------------------

# If the GENERATE_AUTOGEN_DEF tag is set to YES Doxygen will 
# generate an AutoGen Definitions (see autogen.sf.net) file 
# that captures the structure of the code including all 
# documentation. Note that this feature is still experimental 
# and incomplete at the moment.

GENERATE_AUTOGEN_DEF   = NO

#---------------------------------------------------------------------------
# configuration options related to the Perl module output
#---------------------------------------------------------------------------

# If the GENERATE_PERLMOD tag is set to YES Doxygen will 
# generate a Perl module file that captures the structure of 
# the code including all documentation. Note that this 
# feature is still experimental and incomplete at the 
# moment.

GENERATE_PERLMOD       = NO

# If the PERLMOD_LATEX tag is set to YES Doxygen will generate 
# the necessary Makefile rules, Perl scripts and LaTeX code to be able 
# to generate PDF and DVI output from the Perl module output.

PERLMOD_LATEX          = NO

# If the PERLMOD_PRETTY tag is set to YES the Perl module output will be 
# nicely formatted so it can be parsed by a human reader.  This is useful 
# if you want to understand what is going on.  On the other hand, if this 
# tag is set to NO the size of the Perl module output will be much smaller 
# and Perl will parse it just the same.

PERLMOD_PRETTY         = YES

# The names of the make variables in the generated doxyrules.make file 
# are prefixed with the string contained in PERLMOD_MAKEVAR_PREFIX. 
# This is useful so different doxyrules.make files included by the same 
# Makefile don't overwrite each other's variables.

PERLMOD_MAKEVAR_PREFIX = 

#---------------------------------------------------------------------------
# Configuration options related to the preprocessor
#---------------------------------------------------------------------------

# If the ENABLE_PREPROCESSING tag is set to YES (the default) Doxygen will 
# evaluate all C-preprocessor directives found in the sources and include 
# files.

ENABLE_PREPROCESSING   = YES

# If the MACRO_EXPANSION tag is set to YES Doxygen will expand all macro 
# names in the source code. If set to NO (the default) only conditional 
# compilation will be performed. Macro expansion can be done in a controlled 
# way by setting EXPAND_ONLY_PREDEF to YES.

MACRO_EXPANSION        = NO

# If the EXPAND_ONLY_PREDEF and MACRO_EXPANSION tags are both set to YES 
# then the macro expansion is limited to the macros specified with the 
# PREDEFINED and EXPAND_AS_DEFINED tags.

EXPAND_ONLY_PREDEF     = NO

# If the SEARCH_INCLUDES tag is set to YES (the default) the includes files 
# pointed to by INCLUDE_PATH will be searched when a #include is found.

SEARCH_INCLUDES        = YES

# The INCLUDE_PATH tag can be used to specify one or more directories that 
# contain include files that are not input files but should be processed by 
# the preprocessor.

INCLUDE_PATH           = 

# You can use the INCLUDE_FILE_PATTERNS tag to specify one or more wildcard 
# patterns (like *.h and *.hpp) to filter out the header-files in the 
# directories. If left blank, the patterns specified with FILE_PATTERNS will 
# be used.

INCLUDE_FILE_PATTERNS  = 

# The PREDEFINED tag can be used to specify one or more macro names that 
# are defined before the preprocessor is started (similar to the -D option of 
# gcc). The argument of the tag is a list of macros of the form: name 
# or name=definition (no spaces). If the definition and the = are 
# omitted =1 is assumed. To prevent a macro definition from being 
# undefined via #undef or recursively expanded use the := operator 
# instead of the = operator.

PREDEFINED             = 

# If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then 
# this tag can be used to specify a list of macro names that should be expanded. 
# The macro definition that is found in the sources will be used. 
# Use the PREDEFINED tag if you want to use a different macro definition that 
# overrules the definition found in the source code.

EXPAND_AS_DEFINED      = 

# If the SKIP_FUNCTION_MACROS tag is set to YES (the default) then 
# doxygen's preprocessor will remove all references to function-like macros 
# that are alone on a line, have an all uppercase name, and do not end with a 
# semicolon, because these will confuse the parser if not removed.

SKIP_FUNCTION_MACROS   = YES

#---------------------------------------------------------------------------
# Configuration::additions related to external references
#---------------------------------------------------------------------------

# The TAGFILES option can be used to specify one or more tagfiles. For each 
# tag file the location of the external documentation should be added. The 
# format of a tag file without this location is as follows: 
#   TAGFILES = file1 file2 ... 
# Adding location for the tag files is done as follows: 
#   TAGFILES = file1=loc1 "file2 = loc2" ... 
# where "loc1" and "loc2" can be relative or absolute paths 
# or URLs. Note that each tag file must have a unique name (where the name does 
# NOT include the path). If a tag file is not located in the directory in which 
# doxygen is run, you must also specify the path to the tagfile here.

TAGFILES               = 

# When a file name is specified after GENERATE_TAGFILE, doxygen will create 
# a tag file that is based on the input files it reads.

GENERATE_TAGFILE       = 

# If the ALLEXTERNALS tag is set to YES all external classes will be listed 
# in the class index. If set to NO only the inherited external classes 
# will be listed.

ALLEXTERNALS           = NO

# If the EXTERNAL_GROUPS tag is set to YES all external groups will be listed 
# in the modules index. If set to NO, only the current project's groups will 
# be listed.

EXTERNAL_GROUPS        = YES

# If the EXTERNAL_PAGES tag is set to YES all external pages will be listed 
# in the related pages index. If set to NO, only the current project's 
# pages will be listed.

EXTERNAL_PAGES         = YES

# The PERL_PATH should be the absolute path and name of the perl script 
# interpreter (i.e. the result of `which perl').

PERL_PATH              = /usr/bin/perl

#---------------------------------------------------------------------------
# Configuration options related to the dot tool
#---------------------------------------------------------------------------

# If the CLASS_DIAGRAMS tag is set to YES (the default) Doxygen will 
# generate a inheritance diagram (in HTML, RTF and LaTeX) for classes with base 
# or super classes. Setting the tag to NO turns the diagrams off. Note that 
# this option also works with HAVE_DOT disabled, but it is recommended to 
# install and use dot, since it yields more powerful graphs.

CLASS_DIAGRAMS         = YES

# You can define message sequence charts within doxygen comments using the \msc 
# command. Doxygen will then run the mscgen tool (see 
# http://www.mcternan.me.uk/mscgen/) to produce the chart and insert it in the 
# documentation. The MSCGEN_PATH tag allows you to specify the directory where 
# the mscgen tool resides. If left empty the tool is assumed to be found in the 
# default search path.

MSCGEN_PATH            = 

# If set to YES, the inheritance and collaboration graphs will hide 
# inheritance and usage relations if the target is undocumented 
# or is not a class.

HIDE_UNDOC_RELATIONS   = NO

# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is 
# available from the path. This tool is part of Graphviz, a graph visualization 
# toolkit from AT&T and Lucent Bell Labs. The other options in this section 
# have no effect if this option is set to NO (the default)

HAVE_DOT               = YES

# The DOT_NUM_THREADS specifies the number of dot invocations doxygen is 
# allowed to run in parallel. When set to 0 (the default) doxygen will 
# base this on the number of processors available in the system. You can set it 
# explicitly to a value larger than 0 to get control over the balance 
# between CPU load and processing speed.

DOT_NUM_THREADS        = 0

# By default doxygen will use the Helvetica font for all dot files that 
# doxygen generates. When you want a differently looking font you can specify 
# the font name using DOT_FONTNAME. You need to make sure dot is able to find 
# the font, which can be done by putting it in a standard location or by setting 
# the DOTFONTPATH environment variable or by setting DOT_FONTPATH to the 
# directory containing the font.

DOT_FONTNAME           = Helvetica

# The DOT_FONTSIZE tag can be used to set the size of the font of dot graphs. 
# The default size is 10pt.

DOT_FONTSIZE           = 10

# By default doxygen will tell dot to use the Helvetica font. 
# If you specify a different font using DOT_FONTNAME you can use DOT_FONTPATH to 
# set the path where dot can find it.

DOT_FONTPATH           = 

# If the CLASS_GRAPH and HAVE_DOT tags are set to YES then doxygen 
# will generate a graph for each documented class showing the direct and 
# indirect inheritance relations. Setting this tag to YES will force the 
# CLASS_DIAGRAMS tag to NO.

CLASS_GRAPH            = YES

# If the COLLABORATION_GRAPH and HAVE_DOT tags are set to YES then doxygen 
# will generate a graph for each documented class showing the direct and 
# indirect implementation dependencies (inheritance, containment, and 
# class references variables) of the class with other documented classes.

COLLABORATION_GRAPH    = YES

# If the GROUP_GRAPHS and HAVE_DOT tags are set to YES then doxygen 
# will generate a graph for groups, showing the direct groups dependencies

GROUP_GRAPHS           = YES

# If the UML_LOOK tag is set to YES doxygen will generate inheritance and 
# collaboration diagrams in a style similar to the OMG's Unified Modeling 
# Language.

UML_LOOK               = YES

# If the UML_LOOK tag is enabled, the fields and methods are shown inside 
# the class node. If there are many fields or methods and many nodes the 
# graph may become too big to be useful. The UML_LIMIT_NUM_FIELDS 
# threshold limits the number of items for each type to make the size more 
# manageable. Set this to 0 for no limit. Note that the threshold may be 
# exceeded by 50% before the limit is enforced.

UML_LIMIT_NUM_FIELDS   = 10

# If set to YES, the inheritance and collaboration graphs will show the 
# relations between templates and their instances.

TEMPLATE_RELATIONS     = YES

# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDE_GRAPH, and HAVE_DOT 
# tags are set to YES then doxygen will generate a graph for each documented 
# file showing the direct and indirect include dependencies of the file with 
# other documented files.

INCLUDE_GRAPH          = YES

# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDED_BY_GRAPH, and 
# HAVE_DOT tags are set to YES then doxygen will generate a graph for each 
# documented header file showing the documented files that directly or 
# indirectly include this file.

INCLUDED_BY_GRAPH      = YES

# If the CALL_GRAPH and HAVE_DOT options are set to YES then 
# doxygen will generate a call dependency graph for every global function 
# or class method. Note that enabling this option will significantly increase 
# the time of a run. So in most cases it will be better to enable call graphs 
# for selected functions only using the \callgraph command.

CALL_GRAPH             = YES

# If the CALLER_GRAPH and HAVE_DOT tags are set to YES then 
# doxygen will generate a caller dependency graph for every global function 
# or class method. Note that enabling this option will significantly increase 
# the time of a run. So in most cases it will be better to enable caller 
# graphs for selected functions only using the \callergraph command.

CALLER_GRAPH           = YES

# If the GRAPHICAL_HIERARCHY and HAVE_DOT tags are set to YES then doxygen 
# will generate a graphical hierarchy of all classes instead of a textual one.

GRAPHICAL_HIERARCHY    = YES

# If the DIRECTORY_GRAPH and HAVE_DOT tags are set to YES 
# then doxygen will show the dependencies a directory has on other directories 
# in a graphical way. The dependency relations are determined by the #include 
# relations between the files in the directories.

DIRECTORY_GRAPH        = YES

# The DOT_IMAGE_FORMAT tag can be used to set the image format of the images 
# generated by dot. Possible values are svg, png, jpg, or gif. 
# If left blank png will be used. If you choose svg you need to set 
# HTML_FILE_EXTENSION to xhtml in order to make the SVG files 
# visible in IE 9+ (other browsers do not have this requirement).

DOT_IMAGE_FORMAT       = svg

# If DOT_IMAGE_FORMAT is set to svg, then this option can be set to YES to 
# enable generation of interactive SVG images that allow zooming and panning. 
# Note that this requires a modern browser other than Internet Explorer. 
# Tested and working are Firefox, Chrome, Safari, and Opera. For IE 9+ you 
# need to set HTML_FILE_EXTENSION to xhtml in order to make the SVG files 
# visible. Older versions of IE do not have SVG support.

INTERACTIVE_SVG        = YES

# The tag DOT_PATH can be used to specify the path where the dot tool can be 
# found. If left blank, it is assumed the dot tool can be found in the path.

DOT_PATH               = "C:\Users\Pieter_2\Documents\Visual Studio 2012\3rd Party\GraphViz-2.30.1\release\bin"

# The DOTFILE_DIRS tag can be used to specify one or more directories that 
# contain dot files that are included in the documentation (see the 
# \dotfile command).

DOTFILE_DIRS           = 

# The MSCFILE_DIRS tag can be used to specify one or more directories that 
# contain msc files that are included in the documentation (see the 
# \mscfile command).

MSCFILE_DIRS           = 

# The DOT_GRAPH_MAX_NODES tag can be used to set the maximum number of 
# nodes that will be shown in the graph. If the number of nodes in a graph 
# becomes larger than this value, doxygen will truncate the graph, which is 
# visualized by representing a node as a red box. Note that doxygen if the 
# number of direct children of the root node in a graph is already larger than 
# DOT_GRAPH_MAX_NODES then the graph will not be shown at all. Also note 
# that the size of a graph can be further restricted by MAX_DOT_GRAPH_DEPTH.

DOT_GRAPH_MAX_NODES    = 50

# The MAX_DOT_GRAPH_DEPTH tag can be used to set the maximum depth of the 
# graphs generated by dot. A depth value of 3 means that only nodes reachable 
# from the root by following a path via at most 3 edges will be shown. Nodes 
# that lay further from the root node will be omitted. Note that setting this 
# option to 1 or 2 may greatly reduce the computation time needed for large 
# code bases. Also note that the size of a graph can be further restricted by 
# DOT_GRAPH_MAX_NODES. Using a depth of 0 means no depth restriction.

MAX_DOT_GRAPH_DEPTH    = 0

# Set the DOT_TRANSPARENT tag to YES to generate images with a transparent 
# background. This is disabled by default, because dot on Windows does not 
# seem to support this out of the box. Warning: Depending on the platform used, 
# enabling this option may lead to badly anti-aliased labels on the edges of 
# a graph (i.e. they become hard to read).

DOT_TRANSPARENT        = NO

# Set the DOT_MULTI_TARGETS tag to YES allow dot to generate multiple output 
# files in one run (i.e. multiple -o and -T options on the command line). This 
# makes dot run faster, but since only newer versions of dot (>1.8.10) 
# support this, this feature is disabled by default.

DOT_MULTI_TARGETS      = YES

# If the GENERATE_LEGEND tag is set to YES (the default) Doxygen will 
# generate a legend page explaining the meaning of the various boxes and 
# arrows in the dot generated graphs.

GENERATE_LEGEND        = YES

# If the DOT_CLEANUP tag is set to YES (the default) Doxygen will 
# remove the intermediate dot files that are used to generate 
# the various graphs.

DOT_CLEANUP            = YES


================================================
FILE: HexGridExampleCommon/HexgridUtilities.HtmlHelp.Doxyfile
================================================
# Doxyfile 1.8.4

# This file describes the settings to be used by the documentation system
# doxygen (www.doxygen.org) for a project
#
# All text after a hash (#) is considered a comment and will be ignored
# The format is:
#       TAG = value [value, ...]
# For lists items can also be appended using:
#       TAG += value [value, ...]
# Values that contain spaces should be placed between quotes (" ")

#---------------------------------------------------------------------------
# Project related configuration options
#---------------------------------------------------------------------------

# This tag specifies the encoding used for all characters in the config file 
# that follow. The default is UTF-8 which is also the encoding used for all 
# text before the first occurrence of this tag. Doxygen uses libiconv (or the 
# iconv built into libc) for the transcoding. See 
# http://www.gnu.org/software/libiconv for the list of possible encodings.

DOXYFILE_ENCODING      = UTF-8

# The PROJECT_NAME tag is a single word (or sequence of words) that should 
# identify the project. Note that if you do not use Doxywizard you need 
# to put quotes around the project name if it contains spaces.

PROJECT_NAME           = "Hexgrid Utilities"

# The PROJECT_NUMBER tag can be used to enter a project or revision number. 
# This could be handy for archiving the generated documentation or 
# if some version control system is used.

PROJECT_NUMBER         = "V 6.4"

# Using the PROJECT_BRIEF tag one can provide an optional one line description 
# for a project that appears at the top of each page and should give viewer 
# a quick idea about the purpose of the project. Keep the description short.

PROJECT_BRIEF          = "Hexgrid Utilities for Board Game Implementations"

# With the PROJECT_LOGO tag one can specify an logo or icon that is 
# included in the documentation. The maximum height of the logo should not 
# exceed 55 pixels and the maximum width should not exceed 200 pixels. 
# Doxygen will copy the logo to the output directory.

PROJECT_LOGO           = 

# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) 
# base path where the generated documentation will be put. 
# If a relative path is entered, it will be relative to the location 
# where doxygen was started. If left blank the current directory will be used.

OUTPUT_DIRECTORY       = "C:\Users\Pieter_2\Documents\Visual Studio 2012\Projects\HexGridExampleTemp\Documentation\HtmlHelp"

# If the CREATE_SUBDIRS tag is set to YES, then doxygen will create 
# 4096 sub-directories (in 2 levels) under the output directory of each output 
# format and will distribute the generated files over these directories. 
# Enabling this option can be useful when feeding doxygen a huge amount of 
# source files, where putting all generated files in the same directory would 
# otherwise cause performance problems for the file system.

CREATE_SUBDIRS         = NO

# The OUTPUT_LANGUAGE tag is used to specify the language in which all 
# documentation generated by doxygen is written. Doxygen will use this 
# information to generate all constant output in the proper language. 
# The default language is English, other supported languages are: 
# Afrikaans, Arabic, Brazilian, Catalan, Chinese, Chinese-Traditional, 
# Croatian, Czech, Danish, Dutch, Esperanto, Farsi, Finnish, French, German, 
# Greek, Hungarian, Italian, Japanese, Japanese-en (Japanese with English 
# messages), Korean, Korean-en, Latvian, Lithuanian, Norwegian, Macedonian, 
# Persian, Polish, Portuguese, Romanian, Russian, Serbian, Serbian-Cyrillic, 
# Slovak, Slovene, Spanish, Swedish, Ukrainian, and Vietnamese.

OUTPUT_LANGUAGE        = English

# If the BRIEF_MEMBER_DESC tag is set to YES (the default) Doxygen will 
# include brief member descriptions after the members that are listed in 
# the file and class documentation (similar to JavaDoc). 
# Set to NO to disable this.

BRIEF_MEMBER_DESC      = YES

# If the REPEAT_BRIEF tag is set to YES (the default) Doxygen will prepend 
# the brief description of a member or function before the detailed description. 
# Note: if both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the 
# brief descriptions will be completely suppressed.

REPEAT_BRIEF           = YES

# This tag implements a quasi-intelligent brief description abbreviator 
# that is used to form the text in various listings. Each string 
# in this list, if found as the leading text of the brief description, will be 
# stripped from the text and the result after processing the whole list, is 
# used as the annotated text. Otherwise, the brief description is used as-is. 
# If left blank, the following values are used ("$name" is automatically 
# replaced with the name of the entity): "The $name class" "The $name widget" 
# "The $name file" "is" "provides" "specifies" "contains" 
# "represents" "a" "an" "the"

ABBREVIATE_BRIEF       = "The $name class" \
                         "The $name widget" \
                         "The $name file" \
                         is \
                         provides \
                         specifies \
                         contains \
                         represents \
                         a \
                         an \
                         the

# If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then 
# Doxygen will generate a detailed section even if there is only a brief 
# description.

ALWAYS_DETAILED_SEC    = NO

# If the INLINE_INHERITED_MEMB tag is set to YES, doxygen will show all 
# inherited members of a class in the documentation of that class as if those 
# members were ordinary class members. Constructors, destructors and assignment 
# operators of the base classes will not be shown.

INLINE_INHERITED_MEMB  = YES

# If the FULL_PATH_NAMES tag is set to YES then Doxygen will prepend the full 
# path before files name in the file list and in the header files. If set 
# to NO the shortest path that makes the file name unique will be used.

FULL_PATH_NAMES        = YES

# If the FULL_PATH_NAMES tag is set to YES then the STRIP_FROM_PATH tag 
# can be used to strip a user-defined part of the path. Stripping is 
# only done if one of the specified strings matches the left-hand part of 
# the path. The tag can be used to show relative paths in the file list. 
# If left blank the directory from which doxygen is run is used as the 
# path to strip. Note that you specify absolute paths here, but also 
# relative paths, which will be relative from the directory where doxygen is 
# started.

STRIP_FROM_PATH        = "C:/Users/Pieter_2/Documents/Visual Studio 2012/Projects/HexGridExampleTemp"

# The STRIP_FROM_INC_PATH tag can be used to strip a user-defined part of 
# the path mentioned in the documentation of a class, which tells 
# the reader which header file to include in order to use a class. 
# If left blank only the name of the header file containing the class 
# definition is used. Otherwise one should specify the include paths that 
# are normally passed to the compiler using the -I flag.

STRIP_FROM_INC_PATH    = 

# If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter 
# (but less readable) file names. This can be useful if your file system 
# doesn't support long names like on DOS, Mac, or CD-ROM.

SHORT_NAMES            = NO

# If the JAVADOC_AUTOBRIEF tag is set to YES then Doxygen 
# will interpret the first line (until the first dot) of a JavaDoc-style 
# comment as the brief description. If set to NO, the JavaDoc 
# comments will behave just like regular Qt-style comments 
# (thus requiring an explicit @brief command for a brief description.)

JAVADOC_AUTOBRIEF      = NO

# If the QT_AUTOBRIEF tag is set to YES then Doxygen will 
# interpret the first line (until the first dot) of a Qt-style 
# comment as the brief description. If set to NO, the comments 
# will behave just like regular Qt-style comments (thus requiring 
# an explicit \brief command for a brief description.)

QT_AUTOBRIEF           = NO

# The MULTILINE_CPP_IS_BRIEF tag can be set to YES to make Doxygen 
# treat a multi-line C++ special comment block (i.e. a block of //! or /// 
# comments) as a brief description. This used to be the default behaviour. 
# The new default is to treat a multi-line C++ comment block as a detailed 
# description. Set this tag to YES if you prefer the old behaviour instead.

MULTILINE_CPP_IS_BRIEF = NO

# If the INHERIT_DOCS tag is set to YES (the default) then an undocumented 
# member inherits the documentation from any documented member that it 
# re-implements.

INHERIT_DOCS           = YES

# If the SEPARATE_MEMBER_PAGES tag is set to YES, then doxygen will produce 
# a new page for each member. If set to NO, the documentation of a member will 
# be part of the file/class/namespace that contains it.

SEPARATE_MEMBER_PAGES  = NO

# The TAB_SIZE tag can be used to set the number of spaces in a tab. 
# Doxygen uses this value to replace tabs by spaces in code fragments.

TAB_SIZE               = 4

# This tag can be used to specify a number of aliases that acts 
# as commands in the documentation. An alias has the form "name=value". 
# For example adding "sideeffect=\par Side Effects:\n" will allow you to 
# put the command \sideeffect (or @sideeffect) in the documentation, which 
# will result in a user-defined paragraph with heading "Side Effects:". 
# You can put \n's in the value part of an alias to insert newlines.

ALIASES                = 

# This tag can be used to specify a number of word-keyword mappings (TCL only). 
# A mapping has the form "name=value". For example adding 
# "class=itcl::class" will allow you to use the command class in the 
# itcl::class meaning.

TCL_SUBST              = 

# Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C 
# sources only. Doxygen will then generate output that is more tailored for C. 
# For instance, some of the names that are used will be different. The list 
# of all members will be omitted, etc.

OPTIMIZE_OUTPUT_FOR_C  = NO

# Set the OPTIMIZE_OUTPUT_JAVA tag to YES if your project consists of Java 
# sources only. Doxygen will then generate output that is more tailored for 
# Java. For instance, namespaces will be presented as packages, qualified 
# scopes will look different, etc.

OPTIMIZE_OUTPUT_JAVA   = YES

# Set the OPTIMIZE_FOR_FORTRAN tag to YES if your project consists of Fortran 
# sources only. Doxygen will then generate output that is more tailored for 
# Fortran.

OPTIMIZE_FOR_FORTRAN   = NO

# Set the OPTIMIZE_OUTPUT_VHDL tag to YES if your project consists of VHDL 
# sources. Doxygen will then generate output that is tailored for 
# VHDL.

OPTIMIZE_OUTPUT_VHDL   = NO

# Doxygen selects the parser to use depending on the extension of the files it 
# parses. With this tag you can assign which parser to use for a given 
# extension. Doxygen has a built-in mapping, but you can override or extend it 
# using this tag. The format is ext=language, where ext is a file extension, 
# and language is one of the parsers supported by doxygen: IDL, Java, 
# Javascript, CSharp, C, C++, D, PHP, Objective-C, Python, Fortran, VHDL, C, 
# C++. For instance to make doxygen treat .inc files as Fortran files (default 
# is PHP), and .f files as C (default is Fortran), use: inc=Fortran f=C. Note 
# that for custom extensions you also need to set FILE_PATTERNS otherwise the 
# files are not read by doxygen.

EXTENSION_MAPPING      = 

# If MARKDOWN_SUPPORT is enabled (the default) then doxygen pre-processes all 
# comments according to the Markdown format, which allows for more readable 
# documentation. See http://daringfireball.net/projects/markdown/ for details. 
# The output of markdown processing is further processed by doxygen, so you 
# can mix doxygen, HTML, and XML commands with Markdown formatting. 
# Disable only in case of backward compatibilities issues.

MARKDOWN_SUPPORT       = YES

# When enabled doxygen tries to link words that correspond to documented 
# classes, or namespaces to their corresponding documentation. Such a link can 
# be prevented in individual cases by by putting a % sign in front of the word 
# or globally by setting AUTOLINK_SUPPORT to NO.

AUTOLINK_SUPPORT       = YES

# If you use STL classes (i.e. std::string, std::vector, etc.) but do not want 
# to include (a tag file for) the STL sources as input, then you should 
# set this tag to YES in order to let doxygen match functions declarations and 
# definitions whose arguments contain STL classes (e.g. func(std::string); v.s. 
# func(std::string) {}). This also makes the inheritance and collaboration 
# diagrams that involve STL classes more complete and accurate.

BUILTIN_STL_SUPPORT    = NO

# If you use Microsoft's C++/CLI language, you should set this option to YES to 
# enable parsing support.

CPP_CLI_SUPPORT        = NO

# Set the SIP_SUPPORT tag to YES if your project consists of sip sources only. 
# Doxygen will parse them like normal C++ but will assume all classes use public 
# instead of private inheritance when no explicit protection keyword is present.

SIP_SUPPORT            = NO

# For Microsoft's IDL there are propget and propput attributes to indicate 
# getter and setter methods for a property. Setting this option to YES (the 
# default) will make doxygen replace the get and set methods by a property in 
# the documentation. This will only work if the methods are indeed getting or 
# setting a simple type. If this is not the case, or you want to show the 
# methods anyway, you should set this option to NO.

IDL_PROPERTY_SUPPORT   = YES

# If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC 
# tag is set to YES, then doxygen will reuse the documentation of the first 
# member in the group (if any) for the other members of the group. By default 
# all members of a group must be documented explicitly.

DISTRIBUTE_GROUP_DOC   = NO

# Set the SUBGROUPING tag to YES (the default) to allow class member groups of 
# the same type (for instance a group of public functions) to be put as a 
# subgroup of that type (e.g. under the Public Functions section). Set it to 
# NO to prevent subgrouping. Alternatively, this can be done per class using 
# the \nosubgrouping command.

SUBGROUPING            = YES

# When the INLINE_GROUPED_CLASSES tag is set to YES, classes, structs and 
# unions are shown inside the group in which they are included (e.g. using 
# @ingroup) instead of on a separate page (for HTML and Man pages) or 
# section (for LaTeX and RTF).

INLINE_GROUPED_CLASSES = NO

# When the INLINE_SIMPLE_STRUCTS tag is set to YES, structs, classes, and 
# unions with only public data fields or simple typedef fields will be shown 
# inline in the documentation of the scope in which they are defined (i.e. file, 
# namespace, or group documentation), provided this scope is documented. If set 
# to NO (the default), structs, classes, and unions are shown on a separate 
# page (for HTML and Man pages) or section (for LaTeX and RTF).

INLINE_SIMPLE_STRUCTS  = NO

# When TYPEDEF_HIDES_STRUCT is enabled, a typedef of a struct, union, or enum 
# is documented as struct, union, or enum with the name of the typedef. So 
# typedef struct TypeS {} TypeT, will appear in the documentation as a struct 
# with name TypeT. When disabled the typedef will appear as a member of a file, 
# namespace, or class. And the struct will be named TypeS. This can typically 
# be useful for C code in case the coding convention dictates that all compound 
# types are typedef'ed and only the typedef is referenced, never the tag name.

TYPEDEF_HIDES_STRUCT   = NO

# The size of the symbol lookup cache can be set using LOOKUP_CACHE_SIZE. This 
# cache is used to resolve symbols given their name and scope. Since this can 
# be an expensive process and often the same symbol appear multiple times in 
# the code, doxygen keeps a cache of pre-resolved symbols. If the cache is too 
# small doxygen will become slower. If the cache is too large, memory is wasted. 
# The cache size is given by this formula: 2^(16+LOOKUP_CACHE_SIZE). The valid 
# range is 0..9, the default is 0, corresponding to a cache size of 2^16 = 65536 
# symbols.

LOOKUP_CACHE_SIZE      = 0

#---------------------------------------------------------------------------
# Build related configuration options
#---------------------------------------------------------------------------

# If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in 
# documentation are documented, even if no documentation was available. 
# Private class members and static file members will be hidden unless 
# the EXTRACT_PRIVATE respectively EXTRACT_STATIC tags are set to YES

EXTRACT_ALL            = NO

# If the EXTRACT_PRIVATE tag is set to YES all private members of a class 
# will be included in the documentation.

EXTRACT_PRIVATE        = YES

# If the EXTRACT_PACKAGE tag is set to YES all members with package or internal 
# scope will be included in the documentation.

EXTRACT_PACKAGE        = YES

# If the EXTRACT_STATIC tag is set to YES all static members of a file 
# will be included in the documentation.

EXTRACT_STATIC         = YES

# If the EXTRACT_LOCAL_CLASSES tag is set to YES classes (and structs) 
# defined locally in source files will be included in the documentation. 
# If set to NO only classes defined in header files are included.

EXTRACT_LOCAL_CLASSES  = YES

# This flag is only useful for Objective-C code. When set to YES local 
# methods, which are defined in the implementation section but not in 
# the interface are included in the documentation. 
# If set to NO (the default) only methods in the interface are included.

EXTRACT_LOCAL_METHODS  = NO

# If this flag is set to YES, the members of anonymous namespaces will be 
# extracted and appear in the documentation as a namespace called 
# 'anonymous_namespace{file}', where file will be replaced with the base 
# name of the file that contains the anonymous namespace. By default 
# anonymous namespaces are hidden.

EXTRACT_ANON_NSPACES   = NO

# If the HIDE_UNDOC_MEMBERS tag is set to YES, Doxygen will hide all 
# undocumented members of documented classes, files or namespaces. 
# If set to NO (the default) these members will be included in the 
# various overviews, but no documentation section is generated. 
# This option has no effect if EXTRACT_ALL is enabled.

HIDE_UNDOC_MEMBERS     = NO

# If the HIDE_UNDOC_CLASSES tag is set to YES, Doxygen will hide all 
# undocumented classes that are normally visible in the class hierarchy. 
# If set to NO (the default) these classes will be included in the various 
# overviews. This option has no effect if EXTRACT_ALL is enabled.

HIDE_UNDOC_CLASSES     = YES

# If the HIDE_FRIEND_COMPOUNDS tag is set to YES, Doxygen will hide all 
# friend (class|struct|union) declarations. 
# If set to NO (the default) these declarations will be included in the 
# documentation.

HIDE_FRIEND_COMPOUNDS  = NO

# If the HIDE_IN_BODY_DOCS tag is set to YES, Doxygen will hide any 
# documentation blocks found inside the body of a function. 
# If set to NO (the default) these blocks will be appended to the 
# function's detailed documentation block.

HIDE_IN_BODY_DOCS      = NO

# The INTERNAL_DOCS tag determines if documentation 
# that is typed after a \internal command is included. If the tag is set 
# to NO (the default) then the documentation will be excluded. 
# Set it to YES to include the internal documentation.

INTERNAL_DOCS          = YES

# If the CASE_SENSE_NAMES tag is set to NO then Doxygen will only generate 
# file names in lower-case letters. If set to YES upper-case letters are also 
# allowed. This is useful if you have classes or files whose names only differ 
# in case and if your file system supports case sensitive file names. Windows 
# and Mac users are advised to set this option to NO.

CASE_SENSE_NAMES       = YES

# If the HIDE_SCOPE_NAMES tag is set to NO (the default) then Doxygen 
# will show members with their full class and namespace scopes in the 
# documentation. If set to YES the scope will be hidden.

HIDE_SCOPE_NAMES       = NO

# If the SHOW_INCLUDE_FILES tag is set to YES (the default) then Doxygen 
# will put a list of the files that are included by a file in the documentation 
# of that file.

SHOW_INCLUDE_FILES     = YES

# If the FORCE_LOCAL_INCLUDES tag is set to YES then Doxygen 
# will list include files with double quotes in the documentation 
# rather than with sharp brackets.

FORCE_LOCAL_INCLUDES   = NO

# If the INLINE_INFO tag is set to YES (the default) then a tag [inline] 
# is inserted in the documentation for inline members.

INLINE_INFO            = YES

# If the SORT_MEMBER_DOCS tag is set to YES (the default) then doxygen 
# will sort the (detailed) documentation of file and class members 
# alphabetically by member name. If set to NO the members will appear in 
# declaration order.

SORT_MEMBER_DOCS       = YES

# If the SORT_BRIEF_DOCS tag is set to YES then doxygen will sort the 
# brief documentation of file, namespace and class members alphabetically 
# by member name. If set to NO (the default) the members will appear in 
# declaration order.

SORT_BRIEF_DOCS        = YES

# If the SORT_MEMBERS_CTORS_1ST tag is set to YES then doxygen 
# will sort the (brief and detailed) documentation of class members so that 
# constructors and destructors are listed first. If set to NO (the default) 
# the constructors will appear in the respective orders defined by 
# SORT_MEMBER_DOCS and SORT_BRIEF_DOCS. 
# This tag will be ignored for brief docs if SORT_BRIEF_DOCS is set to NO 
# and ignored for detailed docs if SORT_MEMBER_DOCS is set to NO.

SORT_MEMBERS_CTORS_1ST = YES

# If the SORT_GROUP_NAMES tag is set to YES then doxygen will sort the 
# hierarchy of group names into alphabetical order. If set to NO (the default) 
# the group names will appear in their defined order.

SORT_GROUP_NAMES       = YES

# If the SORT_BY_SCOPE_NAME tag is set to YES, the class list will be 
# sorted by fully-qualified names, including namespaces. If set to 
# NO (the default), the class list will be sorted only by class name, 
# not including the namespace part. 
# Note: This option is not very useful if HIDE_SCOPE_NAMES is set to YES. 
# Note: This option applies only to the class list, not to the 
# alphabetical list.

SORT_BY_SCOPE_NAME     = YES

# If the STRICT_PROTO_MATCHING option is enabled and doxygen fails to 
# do proper type resolution of all parameters of a function it will reject a 
# match between the prototype and the implementation of a member function even 
# if there is only one candidate or it is obvious which candidate to choose 
# by doing a simple string match. By disabling STRICT_PROTO_MATCHING doxygen 
# will still accept a match between prototype and implementation in such cases.

STRICT_PROTO_MATCHING  = NO

# The GENERATE_TODOLIST tag can be used to enable (YES) or 
# disable (NO) the todo list. This list is created by putting \todo 
# commands in the documentation.

GENERATE_TODOLIST      = YES

# The GENERATE_TESTLIST tag can be used to enable (YES) or 
# disable (NO) the test list. This list is created by putting \test 
# commands in the documentation.

GENERATE_TESTLIST      = YES

# The GENERATE_BUGLIST tag can be used to enable (YES) or 
# disable (NO) the bug list. This list is created by putting \bug 
# commands in the documentation.

GENERATE_BUGLIST       = YES

# The GENERATE_DEPRECATEDLIST tag can be used to enable (YES) or 
# disable (NO) the deprecated list. This list is created by putting 
# \deprecated commands in the documentation.

GENERATE_DEPRECATEDLIST= YES

# The ENABLED_SECTIONS tag can be used to enable conditional 
# documentation sections, marked by \if section-label ... \endif 
# and \cond section-label ... \endcond blocks.

ENABLED_SECTIONS       = 

# The MAX_INITIALIZER_LINES tag determines the maximum number of lines 
# the initial value of a variable or macro consists of for it to appear in 
# the documentation. If the initializer consists of more lines than specified 
# here it will be hidden. Use a value of 0 to hide initializers completely. 
# The appearance of the initializer of individual variables and macros in the 
# documentation can be controlled using \showinitializer or \hideinitializer 
# command in the documentation regardless of this setting.

MAX_INITIALIZER_LINES  = 30

# Set the SHOW_USED_FILES tag to NO to disable the list of files generated 
# at the bottom of the documentation of classes and structs. If set to YES the 
# list will mention the files that were used to generate the documentation.

SHOW_USED_FILES        = YES

# Set the SHOW_FILES tag to NO to disable the generation of the Files page. 
# This will remove the Files entry from the Quick Index and from the 
# Folder Tree View (if specified). The default is YES.

SHOW_FILES             = YES

# Set the SHOW_NAMESPACES tag to NO to disable the generation of the 
# Namespaces page.  This will remove the Namespaces entry from the Quick Index 
# and from the Folder Tree View (if specified). The default is YES.

SHOW_NAMESPACES        = YES

# The FILE_VERSION_FILTER tag can be used to specify a program or script that 
# doxygen should invoke to get the current version for each file (typically from 
# the version control system). Doxygen will invoke the program by executing (via 
# popen()) the command <command> <input-file>, where <command> is the value of 
# the FILE_VERSION_FILTER tag, and <input-file> is the name of an input file 
# provided by doxygen. Whatever the program writes to standard output 
# is used as the file version. See the manual for examples.

FILE_VERSION_FILTER    = 

# The LAYOUT_FILE tag can be used to specify a layout file which will be parsed 
# by doxygen. The layout file controls the global structure of the generated 
# output files in an output format independent way. To create the layout file 
# that represents doxygen's defaults, run doxygen with the -l option. 
# You can optionally specify a file name after the option, if omitted 
# DoxygenLayout.xml will be used as the name of the layout file.

LAYOUT_FILE            = 

# The CITE_BIB_FILES tag can be used to specify one or more bib files 
# containing the references data. This must be a list of .bib files. The 
# .bib extension is automatically appended if omitted. Using this command 
# requires the bibtex tool to be installed. See also 
# http://en.wikipedia.org/wiki/BibTeX for more info. For LaTeX the style 
# of the bibliography can be controlled using LATEX_BIB_STYLE. To use this 
# feature you need bibtex and perl available in the search path. Do not use 
# file names with spaces, bibtex cannot handle them.

CITE_BIB_FILES         = 

#---------------------------------------------------------------------------
# configuration options related to warning and progress messages
#---------------------------------------------------------------------------

# The QUIET tag can be used to turn on/off the messages that are generated 
# by doxygen. Possible values are YES and NO. If left blank NO is used.

QUIET                  = NO

# The WARNINGS tag can be used to turn on/off the warning messages that are 
# generated by doxygen. Possible values are YES and NO. If left blank 
# NO is used.

WARNINGS               = YES

# If WARN_IF_UNDOCUMENTED is set to YES, then doxygen will generate warnings 
# for undocumented members. If EXTRACT_ALL is set to YES then this flag will 
# automatically be disabled.

WARN_IF_UNDOCUMENTED   = NO

# If WARN_IF_DOC_ERROR is set to YES, doxygen will generate warnings for 
# potential errors in the documentation, such as not documenting some 
# parameters in a documented function, or documenting parameters that 
# don't exist or using markup commands wrongly.

WARN_IF_DOC_ERROR      = YES

# The WARN_NO_PARAMDOC option can be enabled to get warnings for 
# functions that are documented, but have no documentation for their parameters 
# or return value. If set to NO (the default) doxygen will only warn about 
# wrong or incomplete parameter documentation, but not about the absence of 
# documentation.

WARN_NO_PARAMDOC       = NO

# The WARN_FORMAT tag determines the format of the warning messages that 
# doxygen can produce. The string should contain the $file, $line, and $text 
# tags, which will be replaced by the file and line number from which the 
# warning originated and the warning text. Optionally the format may contain 
# $version, which will be replaced by the version of the file (if it could 
# be obtained via FILE_VERSION_FILTER)

WARN_FORMAT            = "$file:$line: $text"

# The WARN_LOGFILE tag can be used to specify a file to which warning 
# and error messages should be written. If left blank the output is written 
# to stderr.

WARN_LOGFILE           = 

#---------------------------------------------------------------------------
# configuration options related to the input files
#---------------------------------------------------------------------------

# The INPUT tag can be used to specify the files and/or directories that contain 
# documented source files. You may enter file names like "myfile.cpp" or 
# directories like "/usr/src/myproject". Separate the files or directories 
# with spaces.

INPUT                  = "C:/Users/Pieter_2/Documents/Visual Studio 2012/Projects/HexGridExampleTemp"

# This tag can be used to specify the character encoding of the source files 
# that doxygen parses. Internally doxygen uses the UTF-8 encoding, which is 
# also the default input encoding. Doxygen uses libiconv (or the iconv built 
# into libc) for the transcoding. See http://www.gnu.org/software/libiconv for 
# the list of possible encodings.

INPUT_ENCODING         = UTF-8

# If the value of the INPUT tag contains directories, you can use the 
# FILE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp 
# and *.h) to filter out the source-files in the directories. If left 
# blank the following patterns are tested: 
# *.c *.cc *.cxx *.cpp *.c++ *.d *.java *.ii *.ixx *.ipp *.i++ *.inl *.h *.hh 
# *.hxx *.hpp *.h++ *.idl *.odl *.cs *.php *.php3 *.inc *.m *.mm *.dox *.py 
# *.f90 *.f *.for *.vhd *.vhdl

FILE_PATTERNS          = *.c \
                         *.cc \
                         *.cxx \
                         *.cpp \
                         *.c++ \
                         *.d \
                         *.java \
                         *.ii \
                         *.ixx \
                         *.ipp \
                         *.i++ \
                         *.inl \
                         *.h \
                         *.hh \
                         *.hxx \
                         *.hpp \
                         *.h++ \
                         *.idl \
                         *.odl \
                         *.cs \
                         *.php \
                         *.php3 \
                         *.inc \
                         *.m \
                         *.markdown \
                         *.md \
                         *.mm \
                         *.dox \
                         *.py \
                         *.f90 \
                         *.f \
                         *.for \
                         *.vhd \
                         *.vhdl

# The RECURSIVE tag can be used to turn specify whether or not subdirectories 
# should be searched for input files as well. Possible values are YES and NO. 
# If left blank NO is used.

RECURSIVE              = YES

# The EXCLUDE tag can be used to specify files and/or directories that should be 
# excluded from the INPUT source files. This way you can easily exclude a 
# subdirectory from a directory tree whose root is specified with the INPUT tag. 
# Note that relative paths are relative to the directory from which doxygen is 
# run.

EXCLUDE                = "./C:/Users/Pieter_2/Documents/Visual Studio 2012/Projects/obj" \
                         "../HexgridPanel/Reference Source"

# The EXCLUDE_SYMLINKS tag can be used to select whether or not files or 
# directories that are symbolic links (a Unix file system feature) are excluded 
# from the input.

EXCLUDE_SYMLINKS       = NO

# If the value of the INPUT tag contains directories, you can use the 
# EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude 
# certain files from those directories. Note that the wildcards are matched 
# against the file with absolute path, so to exclude all test directories 
# for example use the pattern */test/*

EXCLUDE_PATTERNS       = */obj/* \
                         *.Designer.cs

# The EXCLUDE_SYMBOLS tag can be used to specify one or more symbol names 
# (namespaces, classes, functions, etc.) that should be excluded from the 
# output. The symbol name can be a fully qualified name, a word, or if the 
# wildcard * is used, a substring. Examples: ANamespace, AClass, 
# AClass::ANamespace, ANamespace::*Test

EXCLUDE_SYMBOLS        = WindowStylesEx \
                         WM

# The EXAMPLE_PATH tag can be used to specify one or more files or 
# directories that contain example code fragments that are included (see 
# the \include command).

EXAMPLE_PATH           = 

# If the value of the EXAMPLE_PATH tag contains directories, you can use the 
# EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp 
# and *.h) to filter out the source-files in the directories. If left 
# blank all files are included.

EXAMPLE_PATTERNS       = *

# If the EXAMPLE_RECURSIVE tag is set to YES then subdirectories will be 
# searched for input files to be used with the \include or \dontinclude 
# commands irrespective of the value of the RECURSIVE tag. 
# Possible values are YES and NO. If left blank NO is used.

EXAMPLE_RECURSIVE      = NO

# The IMAGE_PATH tag can be used to specify one or more files or 
# directories that contain image that are included in the documentation (see 
# the \image command).

IMAGE_PATH             = 

# The INPUT_FILTER tag can be used to specify a program that doxygen should 
# invoke to filter for each input file. Doxygen will invoke the filter program 
# by executing (via popen()) the command <filter> <input-file>, where <filter> 
# is the value of the INPUT_FILTER tag, and <input-file> is the name of an 
# input file. Doxygen will then use the output that the filter program writes 
# to standard output.  If FILTER_PATTERNS is specified, this tag will be ignored. 
# Note that the filter must not add or remove lines; it is applied before the 
# code is scanned, but not when the output code is generated. If lines are added 
# or removed, the anchors will not be placed correctly.

INPUT_FILTER           = 

# The FILTER_PATTERNS tag can be used to specify filters on a per file pattern 
# basis.  Doxygen will compare the file name with each pattern and apply the 
# filter if there is a match.  The filters are a list of the form: 
# pattern=filter (like *.cpp=my_cpp_filter). See INPUT_FILTER for further 
# info on how filters are used. If FILTER_PATTERNS is empty or if 
# non of the patterns match the file name, INPUT_FILTER is applied.

FILTER_PATTERNS        = 

# If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using 
# INPUT_FILTER) will be used to filter the input files when producing source 
# files to browse (i.e. when SOURCE_BROWSER is set to YES).

FILTER_SOURCE_FILES    = NO

# The FILTER_SOURCE_PATTERNS tag can be used to specify source filters per file 
# pattern. A pattern will override the setting for FILTER_PATTERN (if any) 
# and it is also possible to disable source filtering for a specific pattern 
# using *.ext= (so without naming a filter). This option only has effect when 
# FILTER_SOURCE_FILES is enabled.

FILTER_SOURCE_PATTERNS = 

# If the USE_MD_FILE_AS_MAINPAGE tag refers to the name of a markdown file that 
# is part of the input, its contents will be placed on the main page 
# (index.html). This can be useful if you have a project on for instance GitHub 
# and want reuse the introduction page also for the doxygen output.

USE_MDFILE_AS_MAINPAGE = 

#---------------------------------------------------------------------------
# configuration options related to source browsing
#---------------------------------------------------------------------------

# If the SOURCE_BROWSER tag is set to YES then a list of source files will 
# be generated. Documented entities will be cross-referenced with these sources. 
# Note: To get rid of all source code in the generated output, make sure also 
# VERBATIM_HEADERS is set to NO.

SOURCE_BROWSER         = YES

# Setting the INLINE_SOURCES tag to YES will include the body 
# of functions and classes directly in the documentation.

INLINE_SOURCES         = YES

# Setting the STRIP_CODE_COMMENTS tag to YES (the default) will instruct 
# doxygen to hide any special comment blocks from generated source code 
# fragments. Normal C, C++ and Fortran comments will always remain visible.

STRIP_CODE_COMMENTS    = YES

# If the REFERENCED_BY_RELATION tag is set to YES 
# then for each documented function all documented 
# functions referencing it will be listed.

REFERENCED_BY_RELATION = YES

# If the REFERENCES_RELATION tag is set to YES 
# then for each documented function all documented entities 
# called/used by that function will be listed.

REFERENCES_RELATION    = YES

# If the REFERENCES_LINK_SOURCE tag is set to YES (the default) 
# and SOURCE_BROWSER tag is set to YES, then the hyperlinks from 
# functions in REFERENCES_RELATION and REFERENCED_BY_RELATION lists will 
# link to the source code.  Otherwise they will link to the documentation.

REFERENCES_LINK_SOURCE = YES

# If the USE_HTAGS tag is set to YES then the references to source code 
# will point to the HTML generated by the htags(1) tool instead of doxygen 
# built-in source browser. The htags tool is part of GNU's global source 
# tagging system (see http://www.gnu.org/software/global/global.html). You 
# will need version 4.8.6 or higher.

USE_HTAGS              = NO

# If the VERBATIM_HEADERS tag is set to YES (the default) then Doxygen 
# will generate a verbatim copy of the header file for each class for 
# which an include is specified. Set to NO to disable this.

VERBATIM_HEADERS       = YES

# If CLANG_ASSISTED_PARSING is set to YES, then doxygen will use the clang parser 
# for more acurate parsing at the cost of reduced performance. This can be 
# particularly helpful with template rich C++ code for which doxygen's built-in 
# parser lacks the necessairy type information.

CLANG_ASSISTED_PARSING = YES

# If clang assisted parsing is enabled you can provide the compiler with command 
# line options that you would normally use when invoking the compiler. Note that 
# the include paths will already be set by doxygen for the files and directories 
# specified at INPUT and INCLUDE_PATH.

CLANG_OPTIONS          = 

#---------------------------------------------------------------------------
# configuration options related to the alphabetical class index
#---------------------------------------------------------------------------

# If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index 
# of all compounds will be generated. Enable this if the project 
# contains a lot of classes, structs, unions or interfaces.

ALPHABETICAL_INDEX     = YES

# If the alphabetical index is enabled (see ALPHABETICAL_INDEX) then 
# the COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns 
# in which this list will be split (can be a number in the range [1..20])

COLS_IN_ALPHA_INDEX    = 2

# In case all classes in a project start with a common prefix, all 
# classes will be put under the same header in the alphabetical index. 
# The IGNORE_PREFIX tag can be used to specify one or more prefixes that 
# should be ignored while generating the index headers.

IGNORE_PREFIX          = 

#---------------------------------------------------------------------------
# configuration options related to the HTML output
#---------------------------------------------------------------------------

# If the GENERATE_HTML tag is set to YES (the default) Doxygen will 
# generate HTML output.

GENERATE_HTML          = YES

# The HTML_OUTPUT tag is used to specify where the HTML docs will be put. 
# If a relative path is entered the value of OUTPUT_DIRECTORY will be 
# put in front of it. If left blank `html' will be used as the default path.

HTML_OUTPUT            = html

# The HTML_FILE_EXTENSION tag can be used to specify the file extension for 
# each generated HTML page (for example: .htm,.php,.asp). If it is left blank 
# doxygen will generate files with .html extension.

HTML_FILE_EXTENSION    = .html

# The HTML_HEADER tag can be used to specify a personal HTML header for 
# each generated HTML page. If it is left blank doxygen will generate a 
# standard header. Note that when using a custom header you are responsible  
# for the proper inclusion of any scripts and style sheets that doxygen 
# needs, which is dependent on the configuration options used. 
# It is advised to generate a default header using "doxygen -w html 
# header.html footer.html stylesheet.css YourConfigFile" and then modify 
# that header. Note that the header is subject to change so you typically 
# have to redo this when upgrading to a newer version of doxygen or when 
# changing the value of configuration settings such as GENERATE_TREEVIEW!

HTML_HEADER            = 

# The HTML_FOOTER tag can be used to specify a personal HTML footer for 
# each generated HTML page. If it is left blank doxygen will generate a 
# standard footer.

HTML_FOOTER            = 

# The HTML_STYLESHEET tag can be used to specify a user-defined cascading 
# style sheet that is used by each HTML page. It can be used to 
# fine-tune the look of the HTML output. If left blank doxygen will 
# generate a default style sheet. Note that it is recommended to use 
# HTML_EXTRA_STYLESHEET instead of this one, as it is more robust and this 
# tag will in the future become obsolete.

HTML_STYLESHEET        = 

# The HTML_EXTRA_STYLESHEET tag can be used to specify an additional 
# user-defined cascading style sheet that is included after the standard 
# style sheets created by doxygen. Using this option one can overrule 
# certain style aspects. This is preferred over using HTML_STYLESHEET 
# since it does not replace the standard style sheet and is therefor more 
# robust against future updates. Doxygen will copy the style sheet file to 
# the output directory.

HTML_EXTRA_STYLESHEET  = 

# The HTML_EXTRA_FILES tag can be used to specify one or more extra images or 
# other source files which should be copied to the HTML output directory. Note 
# that these files will be copied to the base HTML output directory. Use the 
# $relpath^ marker in the HTML_HEADER and/or HTML_FOOTER files to load these 
# files. In the HTML_STYLESHEET file, use the file name only. Also note that 
# the files will be copied as-is; there are no commands or markers available.

HTML_EXTRA_FILES       = 

# The HTML_COLORSTYLE_HUE tag controls the color of the HTML output. 
# Doxygen will adjust the colors in the style sheet and background images 
# according to this color. Hue is specified as an angle on a colorwheel, 
# see http://en.wikipedia.org/wiki/Hue for more information. 
# For instance the value 0 represents red, 60 is yellow, 120 is green, 
# 180 is cyan, 240 is blue, 300 purple, and 360 is red again. 
# The allowed range is 0 to 359.

HTML_COLORSTYLE_HUE    = 220

# The HTML_COLORSTYLE_SAT tag controls the purity (or saturation) of 
# the colors in the HTML output. For a value of 0 the output will use 
# grayscales only. A value of 255 will produce the most vivid colors.

HTML_COLORSTYLE_SAT    = 100

# The HTML_COLORSTYLE_GAMMA tag controls the gamma correction applied to 
# the luminance component of the colors in the HTML output. Values below 
# 100 gradually make the output lighter, whereas values above 100 make 
# the output darker. The value divided by 100 is the actual gamma applied, 
# so 80 represents a gamma of 0.8, The value 220 represents a gamma of 2.2, 
# and 100 does not change the gamma.

HTML_COLORSTYLE_GAMMA  = 80

# If the HTML_TIMESTAMP tag is set to YES then the footer of each generated HTML 
# page will contain the date and time when the page was generated. Setting 
# this to NO can help when comparing the output of multiple runs.

HTML_TIMESTAMP         = YES

# If the HTML_DYNAMIC_SECTIONS tag is set to YES then the generated HTML 
# documentation will contain sections that can be hidden and shown after the 
# page has loaded.

HTML_DYNAMIC_SECTIONS  = YES

# With HTML_INDEX_NUM_ENTRIES one can control the preferred number of 
# entries shown in the various tree structured indices initially; the user 
# can expand and collapse entries dynamically later on. Doxygen will expand 
# the tree to such a level that at most the specified number of entries are 
# visible (unless a fully collapsed tree already exceeds this amount). 
# So setting the number of entries 1 will produce a full collapsed tree by 
# default. 0 is a special value representing an infinite number of entries 
# and will result in a full expanded tree by default.

HTML_INDEX_NUM_ENTRIES = 100

# If the GENERATE_DOCSET tag is set to YES, additional index files 
# will be generated that can be used as input for Apple's Xcode 3 
# integrated development environment, introduced with OSX 10.5 (Leopard). 
# To create a documentation set, doxygen will generate a Makefile in the 
# HTML output directory. Running make will produce the docset in that 
# directory and running "make install" will install the docset in 
# ~/Library/Developer/Shared/Documentation/DocSets so that Xcode will find 
# it at startup. 
# See http://developer.apple.com/tools/creatingdocsetswithdoxygen.html 
# for more information.

GENERATE_DOCSET        = NO

# When GENERATE_DOCSET tag is set to YES, this tag determines the name of the 
# feed. A documentation feed provides an umbrella under which multiple 
# documentation sets from a single provider (such as a company or product suite) 
# can be grouped.

DOCSET_FEEDNAME        = "Doxygen generated docs"

# When GENERATE_DOCSET tag is set to YES, this tag specifies a string that 
# should uniquely identify the documentation set bundle. This should be a 
# reverse domain-name style string, e.g. com.mycompany.MyDocSet. Doxygen 
# will append .docset to the name.

DOCSET_BUNDLE_ID       = org.doxygen.Project

# When GENERATE_PUBLISHER_ID tag specifies a string that should uniquely 
# identify the documentation publisher. This should be a reverse domain-name 
# style string, e.g. com.mycompany.MyDocSet.documentation.

DOCSET_PUBLISHER_ID    = org.doxygen.Publisher

# The GENERATE_PUBLISHER_NAME tag identifies the documentation publisher.

DOCSET_PUBLISHER_NAME  = Publisher

# If the GENERATE_HTMLHELP tag is set to YES, additional index files 
# will be generated that can be used as input for tools like the 
# Microsoft HTML help workshop to generate a compiled HTML help file (.chm) 
# of the generated HTML documentation.

GENERATE_HTMLHELP      = YES

# If the GENERATE_HTMLHELP tag is set to YES, the CHM_FILE tag can 
# be used to specify the file name of the resulting .chm file. You 
# can add a path in front of the file if the result should not be 
# written to the html output directory.

CHM_FILE               = "C:\Users\Pieter_2\Documents\Visual Studio 2012\Projects\HexGridExampleTemp\HexgridExample2\HexgridUtilities.chm"

# If the GENERATE_HTMLHELP tag is set to YES, the HHC_LOCATION tag can 
# be used to specify the location (absolute path including file name) of 
# the HTML help compiler (hhc.exe). If non-empty doxygen will try to run 
# the HTML help compiler on the generated index.hhp.

HHC_LOCATION           = "C:/Program Files (x86)/HTML Help Workshop/hhc.exe"

# If the GENERATE_HTMLHELP tag is set to YES, the GENERATE_CHI flag 
# controls if a separate .chi index file is generated (YES) or that 
# it should be included in the master .chm file (NO).

GENERATE_CHI           = NO

# If the GENERATE_HTMLHELP tag is set to YES, the CHM_INDEX_ENCODING 
# is used to encode HtmlHelp index (hhk), content (hhc) and project file 
# content.

CHM_INDEX_ENCODING     = 

# If the GENERATE_HTMLHELP tag is set to YES, the BINARY_TOC flag 
# controls whether a binary table of contents is generated (YES) or a 
# normal table of contents (NO) in the .chm file.

BINARY_TOC             = YES

# The TOC_EXPAND flag can be set to YES to add extra items for group members 
# to the contents of the HTML help documentation and to the tree view.

TOC_EXPAND             = NO

# If the GENERATE_QHP tag is set to YES and both QHP_NAMESPACE and 
# QHP_VIRTUAL_FOLDER are set, an additional index file will be generated 
# that can be used as input for Qt's qhelpgenerator to generate a 
# Qt Compressed Help (.qch) of the generated HTML documentation.

GENERATE_QHP           = NO

# If the QHG_LOCATION tag is specified, the QCH_FILE tag can 
# be used to specify the file name of the resulting .qch file. 
# The path specified is relative to the HTML output folder.

QCH_FILE               = 

# The QHP_NAMESPACE tag specifies the namespace to use when generating 
# Qt Help Project output. For more information please see 
# http://doc.trolltech.com/qthelpproject.html#namespace

QHP_NAMESPACE          = org.doxygen.Project

# The QHP_VIRTUAL_FOLDER tag specifies the namespace to use when generating 
# Qt Help Project output. For more information please see 
# http://doc.trolltech.com/qthelpproject.html#virtual-folders

QHP_VIRTUAL_FOLDER     = doc

# If QHP_CUST_FILTER_NAME is set, it specifies the name of a custom filter to 
# add. For more information please see 
# http://doc.trolltech.com/qthelpproject.html#custom-filters

QHP_CUST_FILTER_NAME   = 

# The QHP_CUST_FILT_ATTRS tag specifies the list of the attributes of the 
# custom filter to add. For more information please see 
# <a href="http://doc.trolltech.com/qthelpproject.html#custom-filters"> 
# Qt Help Project / Custom Filters</a>.

QHP_CUST_FILTER_ATTRS  = 

# The QHP_SECT_FILTER_ATTRS tag specifies the list of the attributes this 
# project's 
# filter section matches. 
# <a href="http://doc.trolltech.com/qthelpproject.html#filter-attributes"> 
# Qt Help Project / Filter Attributes</a>.

QHP_SECT_FILTER_ATTRS  = 

# If the GENERATE_QHP tag is set to YES, the QHG_LOCATION tag can 
# be used to specify the location of Qt's qhelpgenerator. 
# If non-empty doxygen will try to run qhelpgenerator on the generated 
# .qhp file.

QHG_LOCATION           = 

# If the GENERATE_ECLIPSEHELP tag is set to YES, additional index files  
# will be generated, which together with the HTML files, form an Eclipse help 
# plugin. To install this plugin and make it available under the help contents 
# menu in Eclipse, the contents of the directory containing the HTML and XML 
# files needs to be copied into the plugins directory of eclipse. The name of 
# the directory within the plugins directory should be the same as 
# the ECLIPSE_DOC_ID value. After copying Eclipse needs to be restarted before 
# the help appears.

GENERATE_ECLIPSEHELP   = NO

# A unique identifier for the eclipse help plugin. When installing the plugin 
# the directory name containing the HTML and XML files should also have 
# this name.

ECLIPSE_DOC_ID         = org.doxygen.Project

# The DISABLE_INDEX tag can be used to turn on/off the condensed index (tabs) 
# at top of each HTML page. The value NO (the default) enables the index and 
# the value YES disables it. Since the tabs have the same information as the 
# navigation tree you can set this option to NO if you already set 
# GENERATE_TREEVIEW to YES.

DISABLE_INDEX          = NO

# The GENERATE_TREEVIEW tag is used to specify whether a tree-like index 
# structure should be generated to display hierarchical information. 
# If the tag value is set to YES, a side panel will be generated 
# containing a tree-like index structure (just like the one that 
# is generated for HTML Help). For this to work a browser that supports 
# JavaScript, DHTML, CSS and frames is required (i.e. any modern browser). 
# Windows users are probably better off using the HTML help feature. 
# Since the tree basically has the same information as the tab index you 
# could consider to set DISABLE_INDEX to NO when enabling this option.

GENERATE_TREEVIEW      = NO

# The ENUM_VALUES_PER_LINE tag can be used to set the number of enum values 
# (range [0,1..20]) that doxygen will group on one line in the generated HTML 
# documentation. Note that a value of 0 will completely suppress the enum 
# values from appearing in the overview section.

ENUM_VALUES_PER_LINE   = 4

# If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be 
# used to set the initial width (in pixels) of the frame in which the tree 
# is shown.

TREEVIEW_WIDTH         = 250

# When the EXT_LINKS_IN_WINDOW option is set to YES doxygen will open 
# links to external symbols imported via tag files in a separate window.

EXT_LINKS_IN_WINDOW    = YES

# Use this tag to change the font size of Latex formulas included 
# as images in the HTML documentation. The default is 10. Note that 
# when you change the font size after a successful doxygen run you need 
# to manually remove any form_*.png images from the HTML output directory 
# to force them to be regenerated.

FORMULA_FONTSIZE       = 10

# Use the FORMULA_TRANPARENT tag to determine whether or not the images 
# generated for formulas are transparent PNGs. Transparent PNGs are 
# not supported properly for IE 6.0, but are supported on all modern browsers. 
# Note that when changing this option you need to delete any form_*.png files 
# in the HTML output before the changes have effect.

FORMULA_TRANSPARENT    = YES

# Enable the USE_MATHJAX option to render LaTeX formulas using MathJax 
# (see http://www.mathjax.org) which uses client side Javascript for the 
# rendering instead of using prerendered bitmaps. Use this if you do not 
# have LaTeX installed or if you want to formulas look prettier in the HTML 
# output. When enabled you may also need to install MathJax separately and 
# configure the path to it using the MATHJAX_RELPATH option.

USE_MATHJAX            = NO

# When MathJax is enabled you can set the default output format to be used for 
# the MathJax output. Supported types are HTML-CSS, NativeMML (i.e. MathML) and 
# SVG. The default value is HTML-CSS, which is slower, but has the best 
# compatibility.

MATHJAX_FORMAT         = HTML-CSS

# When MathJax is enabled you need to specify the location relative to the 
# HTML output directory using the MATHJAX_RELPATH option. The destination 
# directory should contain the MathJax.js script. For instance, if the mathjax 
# directory is located at the same level as the HTML output directory, then 
# MATHJAX_RELPATH should be ../mathjax. The default value points to 
# the MathJax Content Delivery Network so you can quickly see the result without 
# installing MathJax.  However, it is strongly recommended to install a local 
# copy of MathJax from http://www.mathjax.org before deployment.

MATHJAX_RELPATH        = http://cdn.mathjax.org/mathjax/latest

# The MATHJAX_EXTENSIONS tag can be used to specify one or MathJax extension 
# names that should be enabled during MathJax rendering.

MATHJAX_EXTENSIONS     = 

# The MATHJAX_CODEFILE tag can be used to specify a file with javascript 
# pieces of code that will be used on startup of the MathJax code.

MATHJAX_CODEFILE       = 

# When the SEARCHENGINE tag is enabled doxygen will generate a search box 
# for the HTML output. The underlying search engine uses javascript 
# and DHTML and should work on any modern browser. Note that when using 
# HTML help (GENERATE_HTMLHELP), Qt help (GENERATE_QHP), or docsets 
# (GENERATE_DOCSET) there is already a search function so this one should 
# typically be disabled. For large projects the javascript based search engine 
# can be slow, then enabling SERVER_BASED_SEARCH may provide a better solution.

SEARCHENGINE           = NO

# When the SERVER_BASED_SEARCH tag is enabled the search engine will be 
# implemented using a web server instead of a web client using Javascript. 
# There are two flavours of web server based search depending on the 
# EXTERNAL_SEARCH setting. When disabled, doxygen will generate a PHP script for 
# searching and an index file used by the script. When EXTERNAL_SEARCH is 
# enabled the indexing and searching needs to be provided by external tools. 
# See the manual for details.

SERVER_BASED_SEARCH    = NO

# When EXTERNAL_SEARCH is enabled doxygen will no longer generate the PHP 
# script for searching. Instead the search results are written to an XML file 
# which needs to be processed by an external indexer. Doxygen will invoke an 
# external search engine pointed to by the SEARCHENGINE_URL option to obtain 
# the search results. Doxygen ships with an example indexer (doxyindexer) and 
# search engine (doxysearch.cgi) which are based on the open source search 
# engine library Xapian. See the manual for configuration details.

EXTERNAL_SEARCH        = NO

# The SEARCHENGINE_URL should point to a search engine hosted by a web server 
# which will returned the search results when EXTERNAL_SEARCH is enabled. 
# Doxygen ships with an example search engine (doxysearch) which is based on 
# the open source search engine library Xapian. See the manual for configuration 
# details.

SEARCHENGINE_URL       = 

# When SERVER_BASED_SEARCH and EXTERNAL_SEARCH are both enabled the unindexed 
# search data is written to a file for indexing by an external tool. With the 
# SEARCHDATA_FILE tag the name of this file can be specified.

SEARCHDATA_FILE        = searchdata.xml

# When SERVER_BASED_SEARCH AND EXTERNAL_SEARCH are both enabled the 
# EXTERNAL_SEARCH_ID tag can be used as an identifier for the project. This is 
# useful in combination with EXTRA_SEARCH_MAPPINGS to search through multiple 
# projects and redirect the results back to the right project.

EXTERNAL_SEARCH_ID     = 

# The EXTRA_SEARCH_MAPPINGS tag can be used to enable searching through doxygen 
# projects other than the one defined by this configuration file, but that are 
# all added to the same external search index. Each project needs to have a 
# unique id set via EXTERNAL_SEARCH_ID. The search mapping then maps the id 
# of to a relative location where the documentation can be found. 
# The format is: EXTRA_SEARCH_MAPPINGS = id1=loc1 id2=loc2 ...

EXTRA_SEARCH_MAPPINGS  = 

#---------------------------------------------------------------------------
# configuration options related to the LaTeX output
#---------------------------------------------------------------------------

# If the GENERATE_LATEX tag is set to YES (the default) Doxygen will 
# generate Latex output.

GENERATE_LATEX         = NO

# The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put. 
# If a relative path is entered the value of OUTPUT_DIRECTORY will be 
# put in front of it. If left blank `latex' will be used as the default path.

LATEX_OUTPUT           = latex

# The LATEX_CMD_NAME tag can be used to specify the LaTeX command name to be 
# invoked. If left blank `latex' will be used as the default command name. 
# Note that when enabling USE_PDFLATEX this option is only used for 
# generating bitmaps for formulas in the HTML output, but not in the 
# Makefile that is written to the output directory.

LATEX_CMD_NAME         = latex

# The MAKEINDEX_CMD_NAME tag can be used to specify the command name to 
# generate index for LaTeX. If left blank `makeindex' will be used as the 
# default command name.

MAKEINDEX_CMD_NAME     = makeindex

# If the COMPACT_LATEX tag is set to YES Doxygen generates more compact 
# LaTeX documents. This may be useful for small projects and may help to 
# save some trees in general.

COMPACT_LATEX          = NO

# The PAPER_TYPE tag can be used to set the paper type that is used 
# by the printer. Possible values are: a4, letter, legal and 
# executive. If left blank a4 will be used.

PAPER_TYPE             = letter

# The EXTRA_PACKAGES tag can be to specify one or more names of LaTeX 
# packages that should be included in the LaTeX output.

EXTRA_PACKAGES         = 

# The LATEX_HEADER tag can be used to specify a personal LaTeX header for 
# the generated latex document. The header should contain everything until 
# the first chapter. If it is left blank doxygen will generate a 
# standard header. Notice: only use this tag if you know what you are doing!

LATEX_HEADER           = 

# The LATEX_FOOTER tag can be used to specify a personal LaTeX footer for 
# the generated latex document. The footer should contain everything after 
# the last chapter. If it is left blank doxygen will generate a 
# standard footer. Notice: only use this tag if you know what you are doing!

LATEX_FOOTER           = 

# The LATEX_EXTRA_FILES tag can be used to specify one or more extra images 
# or other source files which should be copied to the LaTeX output directory. 
# Note that the files will be copied as-is; there are no commands or markers 
# available.

LATEX_EXTRA_FILES      = 

# If the PDF_HYPERLINKS tag is set to YES, the LaTeX that is generated 
# is prepared for conversion to pdf (using ps2pdf). The pdf file will 
# contain links (just like the HTML output) instead of page references 
# This makes the output suitable for online browsing using a pdf viewer.

PDF_HYPERLINKS         = YES

# If the USE_PDFLATEX tag is set to YES, pdflatex will be used instead of 
# plain latex in the generated Makefile. Set this option to YES to get a 
# higher quality PDF documentation.

USE_PDFLATEX           = YES

# If the LATEX_BATCHMODE tag is set to YES, doxygen will add the \\batchmode. 
# command to the generated LaTeX files. This will instruct LaTeX to keep 
# running if errors occur, instead of asking the user for help. 
# This option is also used when generating formulas in HTML.

LATEX_BATCHMODE        = NO

# If LATEX_HIDE_INDICES is set to YES then doxygen will not 
# include the index chapters (such as File Index, Compound Index, etc.) 
# in the output.

LATEX_HIDE_INDICES     = NO

# If LATEX_SOURCE_CODE is set to YES then doxygen will include 
# source code with syntax highlighting in the LaTeX output. 
# Note that which sources are shown also depends on other settings 
# such as SOURCE_BROWSER.

LATEX_SOURCE_CODE      = YES

# The LATEX_BIB_STYLE tag can be used to specify the style to use for the 
# bibliography, e.g. plainnat, or ieeetr. The default style is "plain". See 
# http://en.wikipedia.org/wiki/BibTeX for more info.

LATEX_BIB_STYLE        = plain

#---------------------------------------------------------------------------
# configuration options related to the RTF output
#---------------------------------------------------------------------------

# If the GENERATE_RTF tag is set to YES Doxygen will generate RTF output 
# The RTF output is optimized for Word 97 and may not look very pretty with 
# other RTF readers or editors.

GENERATE_RTF           = NO

# The RTF_OUTPUT tag is used to specify where the RTF docs will be put. 
# If a relative path is entered the value of OUTPUT_DIRECTORY will be 
# put in front of it. If left blank `rtf' will be used as the default path.

RTF_OUTPUT             = rtf

# If the COMPACT_RTF tag is set to YES Doxygen generates more compact 
# RTF documents. This may be useful for small projects and may help to 
# save some trees in general.

COMPACT_RTF            = NO

# If the RTF_HYPERLINKS tag is set to YES, the RTF that is generated 
# will contain hyperlink fields. The RTF file will 
# contain links (just like the HTML output) instead of page references. 
# This makes the output suitable for online browsing using WORD or other 
# programs which support those fields. 
# Note: wordpad (write) and others do not support links.

RTF_HYPERLINKS         = NO

# Load style sheet definitions from file. Syntax is similar to doxygen's 
# config file, i.e. a series of assignments. You only have to provide 
# replacements, missing definitions are set to their default value.

RTF_STYLESHEET_FILE    = 

# Set optional variables used in the generation of an rtf document. 
# Syntax is similar to doxygen's config file.

RTF_EXTENSIONS_FILE    = 

#---------------------------------------------------------------------------
# configuration options related to the man page output
#---------------------------------------------------------------------------

# If the GENERATE_MAN tag is set to YES (the default) Doxygen will 
# generate man pages

GENERATE_MAN           = NO

# The MAN_OUTPUT tag is used to specify where the man pages will be put. 
# If a relative path is entered the value of OUTPUT_DIRECTORY will be 
# put in front of it. If left blank `man' will be used as the default path.

MAN_OUTPUT             = man

# The MAN_EXTENSION tag determines the extension that is added to 
# the generated man pages (default is the subroutine's section .3)

MAN_EXTENSION          = .3

# If the MAN_LINKS tag is set to YES and Doxygen generates man output, 
# then it will generate one additional man file for each entity 
# documented in the real man page(s). These additional files 
# only source the real man page, but without them the man command 
# would be unable to find the correct page. The default is NO.

MAN_LINKS              = NO

#---------------------------------------------------------------------------
# configuration options related to the XML output
#---------------------------------------------------------------------------

# If the GENERATE_XML tag is set to YES Doxygen will 
# generate an XML file that captures the structure of 
# the code including all documentation.

GENERATE_XML           = NO

# The XML_OUTPUT tag is used to specify where the XML pages will be put. 
# If a relative path is entered the value of OUTPUT_DIRECTORY will be 
# put in front of it. If left blank `xml' will be used as the default path.

XML_OUTPUT             = xml

# The XML_SCHEMA tag can be used to specify an XML schema, 
# which can be used by a validating XML parser to check the 
# syntax of the XML files.

XML_SCHEMA             = 

# The XML_DTD tag can be used to specify an XML DTD, 
# which can be used by a validating XML parser to check the 
# syntax of the XML files.

XML_DTD                = 

# If the XML_PROGRAMLISTING tag is set to YES Doxygen will 
# dump the program listings (including syntax highlighting 
# and cross-referencing information) to the XML output. Note that 
# enabling this will significantly increase the size of the XML output.

XML_PROGRAMLISTING     = YES

#---------------------------------------------------------------------------
# configuration options related to the DOCBOOK output
#---------------------------------------------------------------------------

# If the GENERATE_DOCBOOK tag is set to YES Doxygen will generate DOCBOOK files 
# that can be used to generate PDF.

GENERATE_DOCBOOK       = NO

# The DOCBOOK_OUTPUT tag is used to specify where the DOCBOOK pages will be put. 
# If a relative path is entered the value of OUTPUT_DIRECTORY will be put in 
# front of it. If left blank docbook will be used as the default path.

DOCBOOK_OUTPUT         = docbook

#---------------------------------------------------------------------------
# configuration options for the AutoGen Definitions output
#---------------------------------------------------------------------------

# If the GENERATE_AUTOGEN_DEF tag is set to YES Doxygen will 
# generate an AutoGen Definitions (see autogen.sf.net) file 
# that captures the structure of the code including all 
# documentation. Note that this feature is still experimental 
# and incomplete at the moment.

GENERATE_AUTOGEN_DEF   = NO

#---------------------------------------------------------------------------
# configuration options related to the Perl module output
#---------------------------------------------------------------------------

# If the GENERATE_PERLMOD tag is set to YES Doxygen will 
# generate a Perl module file that captures the structure of 
# the code including all documentation. Note that this 
# feature is still experimental and incomplete at the 
# moment.

GENERATE_PERLMOD       = NO

# If the PERLMOD_LATEX tag is set to YES Doxygen will generate 
# the necessary Makefile rules, Perl scripts and LaTeX code to be able 
# to generate PDF and DVI output from the Perl module output.

PERLMOD_LATEX          = NO

# If the PERLMOD_PRETTY tag is set to YES the Perl module output will be 
# nicely formatted so it can be parsed by a human reader.  This is useful 
# if you want to understand what is going on.  On the other hand, if this 
# tag is set to NO the size of the Perl module output will be much smaller 
# and Perl will parse it just the same.

PERLMOD_PRETTY         = YES

# The names of the make variables in the generated doxyrules.make file 
# are prefixed with the string contained in PERLMOD_MAKEVAR_PREFIX. 
# This is useful so different doxyrules.make files included by the same 
# Makefile don't overwrite each other's variables.

PERLMOD_MAKEVAR_PREFIX = 

#---------------------------------------------------------------------------
# Configuration options related to the preprocessor
#---------------------------------------------------------------------------

# If the ENABLE_PREPROCESSING tag is set to YES (the default) Doxygen will 
# evaluate all C-preprocessor directives found in the sources and include 
# files.

ENABLE_PREPROCESSING   = YES

# If the MACRO_EXPANSION tag is set to YES Doxygen will expand all macro 
# names in the source code. If set to NO (the default) only conditional 
# compilation will be performed. Macro expansion can be done in a controlled 
# way by setting EXPAND_ONLY_PREDEF to YES.

MACRO_EXPANSION        = NO

# If the EXPAND_ONLY_PREDEF and MACRO_EXPANSION tags are both set to YES 
# then the macro expansion is limited to the macros specified with the 
# PREDEFINED and EXPAND_AS_DEFINED tags.

EXPAND_ONLY_PREDEF     = NO

# If the SEARCH_INCLUDES tag is set to YES (the default) the includes files 
# pointed to by INCLUDE_PATH will be searched when a #include is found.

SEARCH_INCLUDES        = YES

# The INCLUDE_PATH tag can be used to specify one or more directories that 
# contain include files that are not input files but should be processed by 
# the preprocessor.

INCLUDE_PATH           = 

# You can use the INCLUDE_FILE_PATTERNS tag to specify one or more wildcard 
# patterns (like *.h and *.hpp) to filter out the header-files in the 
# directories. If left blank, the patterns specified with FILE_PATTERNS will 
# be used.

INCLUDE_FILE_PATTERNS  = 

# The PREDEFINED tag can be used to specify one or more macro names that 
# are defined before the preprocessor is started (similar to the -D option of 
# gcc). The argument of the tag is a list of macros of the form: name 
# or name=definition (no spaces). If the definition and the = are 
# omitted =1 is assumed. To prevent a macro definition from being 
# undefined via #undef or recursively expanded use the := operator 
# instead of the = operator.

PREDEFINED             = 

# If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then 
# this tag can be used to specify a list of macro names that should be expanded. 
# The macro definition that is found in the sources will be used. 
# Use the PREDEFINED tag if you want to use a different macro definition that 
# overrules the definition found in the source code.

EXPAND_AS_DEFINED      = 

# If the SKIP_FUNCTION_MACROS tag is set to YES (the default) then 
# doxygen's preprocessor will remove all references to function-like macros 
# that are alone on a line, have an all uppercase name, and do not end with a 
# semicolon, because these will confuse the parser if not removed.

SKIP_FUNCTION_MACROS   = YES

#---------------------------------------------------------------------------
# Configuration::additions related to external references
#---------------------------------------------------------------------------

# The TAGFILES option can be used to specify one or more tagfiles. For each 
# tag file the location of the external documentation should be added. The 
# format of a tag file without this location is as follows: 
#   TAGFILES = file1 file2 ... 
# Adding location for the tag files is done as follows: 
#   TAGFILES = file1=loc1 "file2 = loc2" ... 
# where "loc1" and "loc2" can be relative or absolute paths 
# or URLs. Note that each tag file must have a unique name (where the name does 
# NOT include the path). If a tag file is not located in the directory in which 
# doxygen is run, you must also specify the path to the tagfile here.

TAGFILES               = 

# When a file name is specified after GENERATE_TAGFILE, doxygen will create 
# a tag file that is based on the input files it reads.

GENERATE_TAGFILE       = 

# If the ALLEXTERNALS tag is set to YES all external classes will be listed 
# in the class index. If set to NO only the inherited external classes 
# will be listed.

ALLEXTERNALS           = NO

# If the EXTERNAL_GROUPS tag is set to YES all external groups will be listed 
# in the modules index. If set to NO, only the current project's groups will 
# be listed.

EXTERNAL_GROUPS        = YES

# If the EXTERNAL_PAGES tag is set to YES all external pages will be listed 
# in the related pages index. If set to NO, only the current project's 
# pages will be listed.

EXTERNAL_PAGES         = YES

# The PERL_PATH should be the absolute path and name of the perl script 
# interpreter (i.e. the result of `which perl').

PERL_PATH              = /usr/bin/perl

#---------------------------------------------------------------------------
# Configuration options related to the dot tool
#---------------------------------------------------------------------------

# If the CLASS_DIAGRAMS tag is set to YES (the default) Doxygen will 
# generate a inheritance diagram (in HTML, RTF and LaTeX) for classes with base 
# or super classes. Setting the tag to NO turns the diagrams off. Note that 
# this option also works with HAVE_DOT disabled, but it is recommended to 
# install and use dot, since it yields more powerful graphs.

CLASS_DIAGRAMS         = YES

# You can define message sequence charts within doxygen comments using the \msc 
# command. Doxygen will then run the mscgen tool (see 
# http://www.mcternan.me.uk/mscgen/) to produce the chart and insert it in the 
# documentation. The MSCGEN_PATH tag allows you to specify the directory where 
# the mscgen tool resides. If left empty the tool is assumed to be found in the 
# default search path.

MSCGEN_PATH            = 

# If set to YES, the inheritance and collaboration graphs will hide 
# inheritance and usage relations if the target is undocumented 
# or is not a class.

HIDE_UNDOC_RELATIONS   = NO

# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is 
# available from the path. This tool is part of Graphviz, a graph visualization 
# toolkit from AT&T and Lucent Bell Labs. The other options in this section 
# have no effect if this option is set to NO (the default)

HAVE_DOT               = YES

# The DOT_NUM_THREADS specifies the number of dot invocations doxygen is 
# allowed to run in parallel. When set to 0 (the default) doxygen will 
# base this on the number of processors available in the system. You can set it 
# explicitly to a value larger than 0 to get control over the balance 
# between CPU load and processing speed.

DOT_NUM_THREADS        = 0

# By default doxygen will use the Helvetica font for all dot files that 
# doxygen generates. When you want a differently looking font you can specify 
# the font name using DOT_FONTNAME. You need to make sure dot is able to find 
# the font, which can be done by putting it in a standard location or by setting 
# the DOTFONTPATH environment variable or by setting DOT_FONTPATH to the 
# directory containing the font.

DOT_FONTNAME           = Helvetica

# The DOT_FONTSIZE tag can be used to set the size of the font of dot graphs. 
# The default size is 10pt.

DOT_FONTSIZE           = 10

# By default doxygen will tell dot to use the Helvetica font. 
# If you specify a different font using DOT_FONTNAME you can use DOT_FONTPATH to 
# set the path where dot can find it.

DOT_FONTPATH           = 

# If the CLASS_GRAPH and HAVE_DOT tags are set to YES then doxygen 
# will generate a graph for each documented class showing the direct and 
# indirect inheritance relations. Setting this tag to YES will force the 
# CLASS_DIAGRAMS tag to NO.

CLASS_GRAPH            = YES

# If the COLLABORATION_GRAPH and HAVE_DOT tags are set to YES then doxygen 
# will generate a graph for each documented class showing the direct and 
# indirect implementation dependencies (inheritance, containment, and 
# class references variables) of the class with other documented classes.

COLLABORATION_GRAPH    = YES

# If the GROUP_GRAPHS and HAVE_DOT tags are set to YES then doxygen 
# will generate a graph for groups, showing the direct groups dependencies

GROUP_GRAPHS           = YES

# If the UML_LOOK tag is set to YES doxygen will generate inheritance and 
# collaboration diagrams in a style similar to the OMG's Unified Modeling 
# Language.

UML_LOOK               = YES

# If the UML_LOOK tag is enabled, the fields and methods are shown inside 
# the class node. If there are many fields or methods and many nodes the 
# graph may become too big to be useful. The UML_LIMIT_NUM_FIELDS 
# threshold limits the number of items for each type to make the size more 
# manageable. Set this to 0 for no limit. Note that the threshold may be 
# exceeded by 50% before the limit is enforced.

UML_LIMIT_NUM_FIELDS   = 10

# If set to YES, the inheritance and collaboration graphs will show the 
# relations between templates and their instances.

TEMPLATE_RELATIONS     = YES

# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDE_GRAPH, and HAVE_DOT 
# tags are set to YES then doxygen will generate a graph for each documented 
# file showing the direct and indirect include dependencies of the file with 
# other documented files.

INCLUDE_GRAPH          = YES

# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDED_BY_GRAPH, and 
# HAVE_DOT tags are set to YES then doxygen will generate a graph for each 
# documented header file showing the documented files that directly or 
# indirectly include this file.

INCLUDED_BY_GRAPH      = YES

# If the CALL_GRAPH and HAVE_DOT options are set to YES then 
# doxygen will generate a call dependency graph for every global function 
# or class method. Note that enabling this option will significantly increase 
# the time of a run. So in most cases it will be better to enable call graphs 
# for selected functions only using the \callgraph command.

CALL_GRAPH             = YES

# If the CALLER_GRAPH and HAVE_DOT tags are set to YES then 
# doxygen will generate a caller dependency graph for every global function 
# or class method. Note that enabling this option will significantly increase 
# the time of a run. So in most cases it will be better to enable caller 
# graphs for selected functions only using the \callergraph command.

CALLER_GRAPH           = YES

# If the GRAPHICAL_HIERARCHY and HAVE_DOT tags are set to YES then doxygen 
# will generate a graphical hierarchy of all classes instead of a textual one.

GRAPHICAL_HIERARCHY    = YES

# If the DIRECTORY_GRAPH and HAVE_DOT tags are set to YES 
# then doxygen will show the dependencies a directory has on other directories 
# in a graphical way. The dependency relations are determined by the #include 
# relations between the files in the directories.

DIRECTORY_GRAPH        = YES

# The DOT_IMAGE_FORMAT tag can be used to set the image format of the images 
# generated by dot. Possible values are svg, png, jpg, or gif. 
# If left blank png will be used. If you choose svg you need to set 
# HTML_FILE_EXTENSION to xhtml in order to make the SVG files 
# visible in IE 9+ (other browsers do not have this requirement).

DOT_IMAGE_FORMAT       = jpg

# If DOT_IMAGE_FORMAT is set to svg, then this option can be set to YES to 
# enable generation of interactive SVG images that allow zooming and panning. 
# Note that this requires a modern browser other than Internet Explorer. 
# Tested and working are Firefox, Chrome, Safari, and Opera. For IE 9+ you 
# need to set HTML_FILE_EXTENSION to xhtml in order to make the SVG files 
# visible. Older versions of IE do not have SVG support.

INTERACTIVE_SVG        = YES

# The tag DOT_PATH can be used to specify the path where the dot tool can be 
# found. If left blank, it is assumed the dot tool can be found in the path.

DOT_PATH               = "C:\Users\Pieter_2\Documents\Visual Studio 2012\3rd Party\GraphViz-2.30.1\release\bin"

# The DOTFILE_DIRS tag can be used to specify one or more directories that 
# contain dot files that are included in the documentation (see the 
# \dotfile command).

DOTFILE_DIRS           = 

# The MSCFILE_DIRS tag can be used to specify one or more directories that 
# contain msc files that are included in the documentation (see the 
# \mscfile command).

MSCFILE_DIRS           = 

# The DOT_GRAPH_MAX_NODES tag can be used to set the maximum number of 
# nodes that will be shown in the graph. If the number of nodes in a graph 
# becomes larger than this value, doxygen will truncate the graph, which is 
# visualized by representing a node as a red box. Note that doxygen if the 
# number of direct children of the root node in a graph is already larger than 
# DOT_GRAPH_MAX_NODES then the graph will not be shown at all. Also note 
# that the size of a graph can be further restricted by MAX_DOT_GRAPH_DEPTH.

DOT_GRAPH_MAX_NODES    = 50

# The MAX_DOT_GRAPH_DEPTH tag can be used to set the maximum depth of the 
# graphs generated by dot. A depth value of 3 means that only nodes reachable 
# from the root by following a path via at most 3 edges will be shown. Nodes 
# that lay further from the root node will be omitted. Note that setting this 
# option to 1 or 2 may greatly reduce the computation time needed for large 
# code bases. Also note that the size of a graph can be further restricted by 
# DOT_GRAPH_MAX_NODES. Using a depth of 0 means no depth restriction.

MAX_DOT_GRAPH_DEPTH    = 0

# Set the DOT_TRANSPARENT tag to YES to generate images with a transparent 
# background. This is disabled by default, because dot on Windows does not 
# seem to support this out of the box. Warning: Depending on the platform used, 
# enabling this option may lead to badly anti-aliased labels on the edges of 
# a graph (i.e. they become hard to read).

DOT_TRANSPARENT        = NO

# Set the DOT_MULTI_TARGETS tag to YES allow dot to generate multiple output 
# files in one run (i.e. multiple -o and -T options on the command line). This 
# makes dot run faster, but since only newer versions of dot (>1.8.10) 
# support this, this feature is disabled by default.

DOT_MULTI_TARGETS      = YES

# If the GENERATE_LEGEND tag is set to YES (the default) Doxygen will 
# generate a legend page explaining the meaning of the various boxes and 
# arrows in the dot generated graphs.

GENERATE_LEGEND        = YES

# If the DOT_CLEANUP tag is set to YES (the default) Doxygen will 
# remove the intermediate dot files that are used to generate 
# the various graphs.

DOT_CLEANUP            = YES


================================================
FILE: HexGridExampleCommon/MapDefs.cs
================================================
#region The MIT License - Copyright (C) 2012-2019 Pieter Geerkens
/////////////////////////////////////////////////////////////////////////////////////////
//                PG Software Solutions - Hex-Grid Utilities
/////////////////////////////////////////////////////////////////////////////////////////
// The MIT License:
// ----------------
// 
// Copyright (c) 2012-2019 Pieter Geerkens (email: pgeerkens@users.noreply.github.com)
// 
// Permission is hereby granted, free of charge, to any person obtaining a copy of this
// software and associated documentation files (the "Software"), to deal in the Software
// without restriction, including without limitation the rights to use, copy, modify, 
// merge, publish, distribute, sublicense, and/or sell copies of the Software, and to 
// permit persons to whom the Software is furnished to do so, subject to the following 
// conditions:
//     The above copyright notice and this permission notice shall be 
//     included in all copies or substantial portions of the Software.
// 
//     THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
//     EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
//     OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 
//     NON-INFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT 
//     HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 
//     WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 
//     FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 
//     OTHER DEALINGS IN THE SOFTWARE.
/////////////////////////////////////////////////////////////////////////////////////////
#endregion
using System.Collections.Generic;

namespace PGNapoleonics.HexgridExampleCommon {
    /// <summary>TODO</summary>
    public static class MapDefinitions {

        #region Map Definitions
        /// <summary>T
Download .txt
gitextract_cfts_d40/

├── .gitattributes
├── .gitignore
├── CustomDictionary.xml
├── HexGridExampleCommon/
│   ├── AStarBugMap.cs
│   ├── CustomDictionary.xml
│   ├── DocMainPage.cs
│   ├── EmptyBoard.cs
│   ├── EmptyGridHex.cs
│   ├── GlobalSuppressions.cs
│   ├── HexgridExampleCommon.csproj
│   ├── HexgridUtilities.Doxyfile
│   ├── HexgridUtilities.HtmlHelp.Doxyfile
│   ├── MapDefs.cs
│   ├── MapList.cs
│   ├── MazeGridHex.cs
│   ├── MazeMap.cs
│   ├── Properties/
│   │   ├── AssemblyInfo.cs
│   │   ├── Resources.Designer.cs
│   │   └── Resources.resx
│   ├── TerrainGridHex.cs
│   └── TerrainMap.cs
├── HexGridUtilitiesExamples.sln
├── HexGridUtilitiesForGames.Doxyfile
├── HexUtilities/
│   ├── Common/
│   │   ├── EnumExtensions.cs
│   │   ├── EnumHelper.cs
│   │   ├── EventArgs.cs
│   │   ├── ImmutableStack.cs
│   │   ├── NativeMethods.cs
│   │   ├── Tracing.cs
│   │   └── ValueChangedEventArgs.cs
│   ├── CustomCoords.cs
│   ├── Doxyfile
│   ├── Extensions.cs
│   ├── FastLists/
│   │   ├── AbstractFastList.cs
│   │   ├── FastEnumerable.cs
│   │   ├── FastIteratorFunctor.cs
│   │   ├── FastList.cs
│   │   ├── FastListExtensions.cs
│   │   └── Interfaces.cs
│   ├── FieldOfView/
│   │   ├── ArrayFieldOfView.cs
│   │   ├── Dodecant.cs
│   │   ├── FovBoardExtensions.cs
│   │   ├── FovCone.cs
│   │   ├── FovFactory.cs
│   │   ├── FovQueue.cs
│   │   ├── IFovBoard.cs
│   │   ├── RiseRun.cs
│   │   ├── ShadowCastingFov.cs
│   │   └── ShadowCastingFov_Utilities.cs
│   ├── GlobalSuppressions.cs
│   ├── Hex.cs
│   ├── HexCoords.cs
│   ├── HexGrid.cs
│   ├── HexPickingExtensions.cs
│   ├── HexUtilities.csproj
│   ├── Hexside.cs
│   ├── Hexsides.cs
│   ├── IBoard.cs
│   ├── IHex.cs
│   ├── IHexBoard.cs
│   ├── IHexgrid.cs
│   ├── IHexgridExtensions.cs
│   ├── IShadingMask.cs
│   ├── IntMatrix2D.cs
│   ├── IntVector2D.cs
│   ├── License.md
│   ├── Maybe.cs
│   ├── MaybeExtensions.cs
│   ├── NullableExtensions.cs
│   ├── Pathfinding/
│   │   ├── AltPathfinder.cs
│   │   ├── BidirectionalAltPathfinder.cs
│   │   ├── DictPriorityQueue.cs
│   │   ├── DirectedLandmark.cs
│   │   ├── DirectedPathCollection.cs
│   │   ├── DirectedPathStepHex.cs
│   │   ├── HexKeyValuePair.cs
│   │   ├── HexsideCosts.cs
│   │   ├── HotPriorityQueue.cs
│   │   ├── HotPriorityQueueueList.cs
│   │   ├── IDirectedPathCollection.cs
│   │   ├── IHotPrioirtyQueueList.cs
│   │   ├── INavigableBoard.cs
│   │   ├── IPriorityQueue.cs
│   │   ├── Interfaces.cs
│   │   ├── Landmark.cs
│   │   ├── LandmarkCollection.cs
│   │   ├── LandmarkPopulator.cs
│   │   ├── MinListHeap.cs
│   │   ├── NavigableBoard.cs
│   │   ├── PathHalves.cs
│   │   ├── PathTracingExtensions.cs
│   │   ├── PathfinderExtensions.cs
│   │   ├── PriorityQueueFactory.cs
│   │   └── StandardPathfinder.cs
│   ├── PointExtensions.cs
│   ├── Properties/
│   │   └── AssemblyInfo.cs
│   ├── SizeExtensions.cs
│   ├── Storage/
│   │   ├── BlockedBoardStorage.cs
│   │   ├── BlockedBoardStorage32x32.cs
│   │   ├── BoardStorage.cs
│   │   ├── FlatBoardStorage.cs
│   │   ├── HexBoard.cs
│   │   ├── HexBoardExtensions.cs
│   │   ├── IBoardStorage.cs
│   │   ├── IMapDisplay.cs
│   │   ├── IMapDisplayWinForms.cs
│   │   ├── Map.cs
│   │   ├── MapDisplay.cs
│   │   └── MapDisplayExtensions.cs
│   └── UserCoordsRectangle.cs
├── HexgridExampleWinforms/
│   ├── App.config
│   ├── GlobalSuppressions.cs
│   ├── HexgridExampleWinforms.csproj
│   ├── IMapView.cs
│   ├── IMapViewModel.cs
│   ├── MDIParent.Designer.cs
│   ├── MDIParent.cs
│   ├── MDIParent.resx
│   ├── MapModel.cs
│   ├── MapViewModel.cs
│   ├── NativeMethods.cs
│   ├── Program.cs
│   ├── Properties/
│   │   ├── AssemblyInfo.cs
│   │   ├── Resources.Designer.cs
│   │   ├── Resources.resx
│   │   ├── Settings.Designer.cs
│   │   └── Settings.settings
│   └── license.txt
├── HexgridExampleWinforms2/
│   ├── HexgridExampleWinforms2.csproj
│   ├── HexgridScrollViewer.xaml
│   ├── HexgridScrollViewer.xaml.cs
│   ├── HexgridScrollViewerViewModel.cs
│   ├── HexgridViewModel.cs
│   ├── IMapDisplayWpf.cs
│   ├── MDIParent.Designer.cs
│   ├── MDIParent.cs
│   ├── MDIParent.resx
│   ├── MapDisplayPainter.cs
│   ├── NativeMethods.cs
│   ├── Program.cs
│   ├── Properties/
│   │   ├── AssemblyInfo.cs
│   │   ├── Resources.Designer.cs
│   │   └── Resources.resx
│   ├── TiltAwareScrollViewer.cs
│   └── ViewModelBase.cs
├── HexgridExampleWpf/
│   ├── App.config
│   ├── App.xaml
│   ├── App.xaml.cs
│   ├── CommandComboBox.cs
│   ├── CommandSlider.cs
│   ├── CustomDictionary.xml
│   ├── HexgridExampleWpf.csproj
│   ├── MainWindow.xaml
│   ├── MainWindow.xaml.cs
│   ├── NativeMethods.cs
│   └── Properties/
│       ├── AssemblyInfo.cs
│       ├── Resources.Designer.cs
│       ├── Resources.resx
│       ├── Settings.Designer.cs
│       └── Settings.settings
├── HexgridPanel/
│   ├── AbstractModelDisplayPainter.cs
│   ├── BitmapExtensions.cs
│   ├── CustomDictionary.xsd
│   ├── Example/
│   │   ├── HexGridPanelExample.Designer.cs
│   │   ├── HexGridPanelExample.cs
│   │   ├── HexGridPanelExample.resx
│   │   ├── HexgridBufferedPanelExample.Designer.cs
│   │   ├── HexgridBufferedPanelExample.cs
│   │   ├── HexgridBufferedPanelExample.resx
│   │   ├── MenuBarToolStrip.Designer.cs
│   │   ├── MenuBarToolStrip.cs
│   │   ├── StatusBarToolStrip.Designer.cs
│   │   ├── StatusBarToolStrip.cs
│   │   └── StatusBarToolStrip.resx
│   ├── GlobalSuppressions.cs
│   ├── GraphicsExtensions.cs
│   ├── GraphicsMapPainter.cs
│   ├── HexEventArgs.cs
│   ├── HexgridBufferedPanel.Designer.cs
│   ├── HexgridBufferedPanel.cs
│   ├── HexgridBufferedPanelForm.Designer.cs
│   ├── HexgridBufferedPanelForm.cs
│   ├── HexgridBufferedPanelForm.resx
│   ├── HexgridPanel.Designer.cs
│   ├── HexgridPanel.cs
│   ├── HexgridPanel.csproj
│   ├── HexgridPanelForm.Designer.cs
│   ├── HexgridPanelForm.cs
│   ├── HexgridViewModel.cs
│   ├── IMapDisplayPainter.cs
│   ├── IScrollableControl.cs
│   ├── MapDisplayPainter.cs
│   ├── MapDisplayPainterExtensions.cs
│   ├── MapOrientation.cs
│   ├── MapPanel.Designer.cs
│   ├── MapPanel.cs
│   ├── MapPanelCached.Designer.cs
│   ├── MapPanelCached.cs
│   ├── Properties/
│   │   ├── AssemblyInfo.cs
│   │   ├── Resources.Designer.cs
│   │   └── Resources.resx
│   ├── Reference Source/
│   │   ├── BufferedGraphics.cs
│   │   ├── BufferedGraphicsContext.cs
│   │   ├── BufferedGraphicsManager.cs
│   │   └── SafeNativeMethods.cs
│   ├── TiltableForm.Designer.cs
│   ├── TiltableForm.cs
│   ├── TiltableForm.resx
│   ├── ViewModelBase.cs
│   ├── WinForms/
│   │   ├── BufferedGraphicsExtensions.cs
│   │   ├── ControlExtensions.cs
│   │   ├── ExceptionDialog.Designer.cs
│   │   ├── ExceptionDialog.cs
│   │   ├── ExceptionDialog.en-US.resx
│   │   ├── ExceptionDialog.resx
│   │   ├── GdiRasterOps.cs
│   │   ├── Layer.cs
│   │   ├── LayerCollection.cs
│   │   ├── LayeredScrollable.Designer.cs
│   │   ├── LayeredScrollable.cs
│   │   ├── NativeMethods.cs
│   │   ├── NativeMethodsTreeView.cs
│   │   ├── ScrollBarCommand.cs
│   │   ├── ScrollableControlExtensions.cs
│   │   ├── ThreadExceptionHandler.cs
│   │   ├── TiltAwareFlowLayoutPanel.cs
│   │   ├── TiltAwarePanel.cs
│   │   ├── TiltAwareScrollable.cs
│   │   ├── TiltAwareTreeView.Designer.cs
│   │   ├── TiltAwareTreeView.cs
│   │   ├── TransparentPanel.cs
│   │   ├── WinFormsExtensions.cs
│   │   ├── WindowsMessages.cs
│   │   ├── WindowsMouseInput.cs
│   │   └── WindowsStylesEx.cs
│   └── license.txt
├── HexgridUtilities.snk
├── LICENSE
├── Packages.dgml
├── README.md
├── codeplex/
│   ├── CustomDictionary.xml
│   ├── HexGridExample/
│   │   ├── HexGridExample.Designer.cs
│   │   ├── HexGridExample.cs
│   │   ├── HexGridExample.csproj
│   │   ├── HexGridExample.resx
│   │   ├── IMapBoard.cs
│   │   ├── MapBoard.cs
│   │   ├── MapDisplay.cs
│   │   ├── MapGridHex.cs
│   │   ├── MazeMap.cs
│   │   ├── Program.cs
│   │   ├── Properties/
│   │   │   ├── AssemblyInfo.cs
│   │   │   ├── Resources.Designer.cs
│   │   │   ├── Resources.resx
│   │   │   ├── Settings.Designer.cs
│   │   │   └── Settings.settings
│   │   ├── TerrainGridHex.cs
│   │   └── TerrainMap.cs
│   ├── HexGridExample.sln
│   ├── HexGridExample2/
│   │   ├── GlobalSuppressions.cs
│   │   ├── HexGridExampleWinForms.Designer.cs
│   │   ├── HexGridExampleWinForms.cs
│   │   ├── HexGridExampleWinForms.resx
│   │   ├── HexgridExampleWinForms.csproj
│   │   ├── HexgridUtilities.chm
│   │   ├── NativeMethods.cs
│   │   ├── Program.cs
│   │   ├── Properties/
│   │   │   ├── AssemblyInfo.cs
│   │   │   ├── Resources.Designer.cs
│   │   │   ├── Resources.resx
│   │   │   ├── Settings.Designer.cs
│   │   │   └── Settings.settings
│   │   ├── app.config
│   │   └── index.xhtml
│   ├── HexGridExample2-branch/
│   │   ├── GlobalSuppressions.cs
│   │   ├── HexGridExample.Designer.cs
│   │   ├── HexGridExample.cs
│   │   ├── HexGridExample.resx
│   │   ├── HexGridExample2.csproj
│   │   ├── MapDisplay.cs
│   │   ├── MapGridHex.cs
│   │   ├── MazeGridHex.cs
│   │   ├── MazeMap.cs
│   │   ├── NativeMethods.cs
│   │   ├── Program.cs
│   │   ├── Properties/
│   │   │   ├── AssemblyInfo.cs
│   │   │   ├── Resources.Designer.cs
│   │   │   ├── Resources.resx
│   │   │   ├── Settings.Designer.cs
│   │   │   └── Settings.settings
│   │   ├── TerrainGridHex.cs
│   │   ├── TerrainMap.cs
│   │   └── app.config
│   ├── HexGridExampleCommon/
│   │   ├── AStarBugMap.cs
│   │   ├── CustomDictionary.xml
│   │   ├── DocMainPage.cs
│   │   ├── GlobalSuppressions.cs
│   │   ├── HexgridExampleCommon.csproj
│   │   ├── HexgridUtilities.Doxyfile
│   │   ├── HexgridUtilities.HtmlHelp.Doxyfile
│   │   ├── MapDefs.cs
│   │   ├── MapList.cs
│   │   ├── MazeGridHex.cs
│   │   ├── MazeMap.cs
│   │   ├── MyMapDisplay.cs
│   │   ├── Properties/
│   │   │   ├── AssemblyInfo.cs
│   │   │   ├── Resources.Designer.cs
│   │   │   └── Resources.resx
│   │   ├── TerrainGridHex.cs
│   │   └── TerrainMap.cs
│   ├── HexInterfaces/
│   │   ├── Common/
│   │   │   ├── DebugTracing.cs
│   │   │   ├── EnumExtensions.cs
│   │   │   ├── Extensions.cs
│   │   │   ├── FastList.cs
│   │   │   ├── ImmutableStack.cs
│   │   │   ├── IntMatrix2D.cs
│   │   │   ├── IntVector2D.cs
│   │   │   ├── PointExtensions.cs
│   │   │   ├── SizeExtensions.cs
│   │   │   └── UserCoordsRectangle.cs
│   │   ├── CustomCoordsFactory.cs
│   │   ├── CustomDictionary.xml
│   │   ├── HexCoords.cs
│   │   ├── HexInterfaces.csproj
│   │   ├── HexInterfaces.pfx.snk
│   │   ├── Hexside.cs
│   │   ├── Hexsides.cs
│   │   ├── IBoardStorage.cs
│   │   ├── IFieldOfView.cs
│   │   ├── IHex.cs
│   │   ├── IHexBoard.cs
│   │   ├── IHexgrid.cs
│   │   ├── IMapDisplay.cs
│   │   ├── NeighbourCoords.cs
│   │   ├── NeighbourHex.cs
│   │   ├── Pathfinding/
│   │   │   ├── IDirectedNavigableBoard.cs
│   │   │   ├── IDirectedPathCollection.cs
│   │   │   ├── ILandmark.cs
│   │   │   └── IPathfinder.cs
│   │   └── Properties/
│   │       └── AssemblyInfo.cs
│   ├── HexUtilities/
│   │   ├── BlockedBoardStorage32x32.cs
│   │   ├── BoardStorage.cs
│   │   ├── Common/
│   │   │   ├── DebugTracing.cs
│   │   │   ├── EnumExtensions.cs
│   │   │   ├── Extensions.cs
│   │   │   ├── FastList.cs
│   │   │   ├── HeapPriorityQueue.cs
│   │   │   ├── ImmutableStack.cs
│   │   │   ├── IntMatrix2D.cs
│   │   │   ├── IntVector2D.cs
│   │   │   ├── PointExtensions.cs
│   │   │   ├── SizeExtensions.cs
│   │   │   └── UserCoordsRectangle.cs
│   │   ├── CustomCoordsFactory.cs
│   │   ├── FieldOfView/
│   │   │   ├── Dodecant.cs
│   │   │   ├── FieldOfView.cs
│   │   │   ├── FovCone.cs
│   │   │   ├── FovFactory.cs
│   │   │   ├── FovQueue.cs
│   │   │   ├── RiseRun.cs
│   │   │   ├── ShadowCastingFov.cs
│   │   │   └── ShadowCastingFov_Utilities.cs
│   │   ├── FlatBoardStorage.cs
│   │   ├── GlobalSuppressions.cs
│   │   ├── Hex.cs
│   │   ├── HexBoard.cs
│   │   ├── HexCoords.cs
│   │   ├── HexGrid.cs
│   │   ├── HexUtilities.csproj
│   │   ├── Hexside.cs
│   │   ├── HexsideFlags.cs
│   │   ├── IMapDisplay.cs
│   │   ├── NeighbourCoords.cs
│   │   ├── NeighbourHex.cs
│   │   ├── PathFinding/
│   │   │   ├── BidirectionalPathfinder.cs
│   │   │   ├── BlueRajaPriorityQueue.cs
│   │   │   ├── ConcurrentHashSet.cs
│   │   │   ├── DictPriorityQueue.cs
│   │   │   ├── DirectedPathCollection.cs
│   │   │   ├── HexKeyValuePair.cs
│   │   │   ├── HotPriorityQueue.cs
│   │   │   ├── HotPriorityQueueList.cs
│   │   │   ├── HotPriorityQueueueList.cs
│   │   │   ├── IDirectedNavigableBoard.cs
│   │   │   ├── IPriorityQueue.cs
│   │   │   ├── Landmark.cs
│   │   │   ├── LandmarkCollection.cs
│   │   │   ├── Path.cs
│   │   │   ├── PathFinderFwd.cs
│   │   │   ├── PathShortcut.cs
│   │   │   └── UnidirectionalPathfinder.cs
│   │   ├── Properties/
│   │   │   └── AssemblyInfo.cs
│   │   └── license.txt
│   ├── HexgridExampleWinForms/
│   │   ├── HexgridExampleWinForms.csproj
│   │   ├── Properties/
│   │   │   └── AssemblyInfo.cs
│   │   ├── UserControl1.Designer.cs
│   │   ├── UserControl1.cs
│   │   └── WinForms/
│   │       ├── ExceptionDialog.Designer.cs
│   │       ├── ExceptionDialog.cs
│   │       ├── ExceptionDialog.en-US.resx
│   │       ├── ExceptionDialog.resx
│   │       ├── GdiRasterOps.cs
│   │       ├── NativeMethods.cs
│   │       ├── ScrollBarCommand.cs
│   │       ├── ThreadExceptionHandler.cs
│   │       ├── TransparentPanel.cs
│   │       ├── WinFormsExtensions.cs
│   │       ├── WindowsMessages.cs
│   │       ├── WindowsMouseInput.cs
│   │       └── WindowsStylesEx.cs
│   ├── HexgridExampleWpf/
│   │   ├── App.config
│   │   ├── App.xaml
│   │   ├── App.xaml.cs
│   │   ├── CommandComboBox.cs
│   │   ├── CommandSlider.cs
│   │   ├── CustomDictionary.xml
│   │   ├── HexgridExampleWpf.csproj
│   │   ├── MainWindow.xaml
│   │   ├── MainWindow.xaml.cs
│   │   └── Properties/
│   │       ├── AssemblyInfo.cs
│   │       ├── Resources.Designer.cs
│   │       ├── Resources.resx
│   │       ├── Settings.Designer.cs
│   │       └── Settings.settings
│   ├── HexgridPanel/
│   │   ├── Common/
│   │   │   ├── EmptyBoard.cs
│   │   │   ├── HexEventArgs.cs
│   │   │   └── MapDisplay.cs
│   │   ├── CustomDictionary.xsd
│   │   ├── GlobalSuppressions.cs
│   │   ├── HexGridPanel.resx
│   │   ├── HexgridPanel.Designer.cs
│   │   ├── HexgridPanel.cs
│   │   ├── HexgridPanel.csproj
│   │   ├── HexgridScrollable.Designer.cs
│   │   ├── HexgridScrollable.cs
│   │   ├── HexgridViewModel.cs
│   │   ├── IMapDisplayWinForms.cs
│   │   ├── MapDisplayPainter.cs
│   │   ├── Properties/
│   │   │   ├── AssemblyInfo.cs
│   │   │   ├── Resources.Designer.cs
│   │   │   └── Resources.resx
│   │   ├── ViewModelBase.cs
│   │   ├── WinForms/
│   │   │   ├── BufferedGraphicsExtensions.cs
│   │   │   ├── ExceptionDialog.Designer.cs
│   │   │   ├── ExceptionDialog.cs
│   │   │   ├── ExceptionDialog.en-US.resx
│   │   │   ├── ExceptionDialog.resx
│   │   │   ├── GdiRasterOps.cs
│   │   │   ├── LayeredScrollable.Designer.cs
│   │   │   ├── LayeredScrollable.cs
│   │   │   ├── NativeMethods.cs
│   │   │   ├── ScrollBarCommand.cs
│   │   │   ├── ThreadExceptionHandler.cs
│   │   │   ├── TiltAwarePanel.cs
│   │   │   ├── TiltAwareScrollable.cs
│   │   │   ├── TransparentPanel.cs
│   │   │   ├── WinFormsExtensions.cs
│   │   │   ├── WindowsMessages.cs
│   │   │   ├── WindowsMouseInput.cs
│   │   │   └── WindowsStylesEx.cs
│   │   └── license.txt
│   ├── HexgridScrollViewer/
│   │   ├── Common/
│   │   │   ├── EmptyBoard.cs
│   │   │   ├── HexEventArgs.cs
│   │   │   └── MapDisplay.cs
│   │   ├── HexgridScrollViewer.csproj
│   │   ├── HexgridScrollViewer.xaml
│   │   ├── HexgridScrollViewer.xaml.cs
│   │   ├── HexgridViewModel.cs
│   │   ├── IMapDisplayWpf.cs
│   │   ├── Properties/
│   │   │   └── AssemblyInfo.cs
│   │   ├── TiltAwareScrollViewer.cs
│   │   └── ViewModelBase.cs
│   ├── HexgridScrollable/
│   │   ├── BufferedHexgridScrollable.Designer.cs
│   │   ├── BufferedHexgridScrollable.cs
│   │   ├── EmptyBoard.cs
│   │   ├── HexEventArgs.cs
│   │   ├── HexgridScrollable.Designer.cs
│   │   ├── HexgridScrollable.cs
│   │   ├── HexgridScrollable.csproj
│   │   ├── HexgridViewModel.cs
│   │   ├── LayeredScrollable.Designer.cs
│   │   ├── LayeredScrollable.cs
│   │   ├── MapDisplay.cs
│   │   ├── MapGridHex.cs
│   │   ├── Properties/
│   │   │   └── AssemblyInfo.cs
│   │   ├── ViewModelBase.cs
│   │   ├── WinForms/
│   │   │   ├── ExceptionDialog.Designer.cs
│   │   │   ├── ExceptionDialog.cs
│   │   │   ├── ExceptionDialog.en-US.resx
│   │   │   ├── ExceptionDialog.resx
│   │   │   ├── GdiRasterOps.cs
│   │   │   ├── NativeMethods.cs
│   │   │   ├── ScrollBarCommand.cs
│   │   │   ├── ThreadExceptionHandler.cs
│   │   │   ├── TransparentPanel.cs
│   │   │   ├── WinFormsExtensions.cs
│   │   │   ├── WindowsMessages.cs
│   │   │   ├── WindowsMouseInput.cs
│   │   │   └── WindowsStylesEx.cs
│   │   └── license.txt
│   ├── HexgridScrollableExample/
│   │   ├── App.config
│   │   ├── ExampleBufferedHexgridScrollable.Designer.cs
│   │   ├── ExampleBufferedHexgridScrollable.cs
│   │   ├── ExampleBufferedHexgridScrollable.resx
│   │   ├── ExampleHexGridPanel.Designer.cs
│   │   ├── ExampleHexGridPanel.cs
│   │   ├── ExampleHexGridPanel.resx
│   │   ├── ExampleHexGridScrollable.Designer.cs
│   │   ├── ExampleHexGridScrollable.cs
│   │   ├── ExampleHexGridScrollable.resx
│   │   ├── GlobalSuppressions.cs
│   │   ├── HexgridScrollableExample.csproj
│   │   ├── MDIParent1.Designer.cs
│   │   ├── MDIParent1.cs
│   │   ├── MDIParent1.resx
│   │   ├── NativeMethods.cs
│   │   ├── Program.cs
│   │   ├── Properties/
│   │   │   ├── AssemblyInfo.cs
│   │   │   ├── Resources.Designer.cs
│   │   │   ├── Resources.resx
│   │   │   ├── Settings.Designer.cs
│   │   │   └── Settings.settings
│   │   └── license.txt
│   └── Utilities/
│       ├── DebugTracing.cs
│       ├── DictPriorityQueue.cs
│       ├── FastList.cs
│       ├── HeapPriorityQueue.cs
│       ├── HexUtilities/
│       │   ├── Coords.cs
│       │   ├── HexCoords.cs
│       │   ├── HexEventArgs.cs
│       │   ├── HexGridPanel.resx
│       │   ├── HexgridPanel.Designer.cs
│       │   ├── HexgridPanel.cs
│       │   ├── IBoard.cs
│       │   ├── ICoordsCanon.cs
│       │   ├── ICoordsCustom.cs
│       │   ├── ICoordsUser.cs
│       │   ├── IGridHex.cs
│       │   ├── IntMatrix2D.cs
│       │   ├── IntVector2D.cs
│       │   ├── NeighbourCoords.cs
│       │   ├── NeighbourHex.cs
│       │   ├── Path.cs
│       │   ├── Path2.cs
│       │   ├── PathFInder2.cs
│       │   ├── PathFinder.cs
│       │   ├── ShadowCastingFov/
│       │   │   ├── FieldOfView.cs
│       │   │   ├── FovCone.cs
│       │   │   ├── FovQueue.cs
│       │   │   ├── RiseRun.cs
│       │   │   ├── ShadowCastingFov.cs
│       │   │   ├── ShadowCastingFov_DodecantHelpers.cs
│       │   │   └── ShadowCastingFov_Utilities.cs
│       │   └── UserCoordsRectangle.cs
│       ├── IHeap.cs
│       ├── ImmutableStack.cs
│       ├── MinListHeap.cs
│       ├── PointExtensions.cs
│       ├── Properties/
│       │   └── AssemblyInfo.cs
│       ├── SizeExtensions.cs
│       ├── Utilities.csproj
│       ├── Utils.cs
│       ├── WinForms/
│       │   ├── Extensions.cs
│       │   ├── ThreadExceptionHandler.cs
│       │   ├── TransparentPanel.cs
│       │   ├── WinFormsExtensions.cs
│       │   ├── WindowsMessages.cs
│       │   ├── WindowsMouseInput.cs
│       │   └── WindowsStylesEx.cs
│       └── license.txt
├── documentation.yml
└── old/
    ├── HexGridExample2 - Copy/
    │   ├── GlobalSuppressions.cs
    │   ├── HEXGRI~1 - Copy.chw
    │   ├── HexGridExampleWinForms.Designer.cs
    │   ├── HexGridExampleWinForms.cs
    │   ├── HexGridExampleWinForms.resx
    │   ├── HexgridExampleWinForms.csproj
    │   ├── HexgridUtilities.chm
    │   ├── HexgridUtilities.chw
    │   ├── NativeMethods.cs
    │   ├── Program.cs
    │   ├── Properties/
    │   │   ├── AssemblyInfo.cs
    │   │   ├── Resources.Designer.cs
    │   │   ├── Resources.resx
    │   │   ├── Settings.Designer.cs
    │   │   └── Settings.settings
    │   ├── app.config
    │   └── index.xhtml
    ├── HexGridExample2-branch/
    │   └── MapDisplay.cs
    ├── HexInterfaces/
    │   ├── Common/
    │   │   ├── DebugTracing.cs
    │   │   ├── EnumExtensions.cs
    │   │   ├── Extensions.cs
    │   │   ├── FastList.cs
    │   │   ├── ImmutableStack.cs
    │   │   ├── IntMatrix2D.cs
    │   │   ├── IntVector2D.cs
    │   │   ├── New Text Document.txt
    │   │   ├── PointExtensions.cs
    │   │   ├── SizeExtensions.cs
    │   │   └── UserCoordsRectangle.cs
    │   ├── CustomCoordsFactory.cs
    │   ├── CustomDictionary.xml
    │   ├── GlobalSuppressions.cs
    │   ├── HexCoords.cs
    │   ├── HexInterfaces.csproj
    │   ├── HexInterfaces.pfx.snk
    │   ├── Hexside.cs
    │   ├── Hexsides.cs
    │   ├── IBoardStorage.cs
    │   ├── IFieldOfView.cs
    │   ├── IHex.cs
    │   ├── IHexBoard.cs
    │   ├── IHexgrid.cs
    │   ├── IMapDisplay.cs
    │   ├── NeighbourCoords.cs
    │   ├── NeighbourHex.cs
    │   └── Properties/
    │       └── AssemblyInfo.cs
    ├── HexgridExampleWinForms/
    │   ├── HexgridExampleWinForms.csproj
    │   ├── Properties/
    │   │   └── AssemblyInfo.cs
    │   └── WinForms/
    │       ├── ExceptionDialog.Designer.cs
    │       ├── ExceptionDialog.cs
    │       ├── ExceptionDialog.en-US.resx
    │       ├── ExceptionDialog.resx
    │       ├── NativeMethods.cs
    │       ├── ScrollBarCommand.cs
    │       └── TransparentPanel.cs
    ├── HexgridScrollable/
    │   ├── BufferedHexgridScrollable.Designer.cs
    │   ├── BufferedHexgridScrollable.cs
    │   ├── EmptyBoard.cs
    │   ├── HexEventArgs.cs
    │   ├── HexgridScrollable.Designer.cs
    │   ├── HexgridScrollable.cs
    │   ├── HexgridScrollable.csproj
    │   ├── HexgridViewModel.cs
    │   ├── LayeredScrollable.Designer.cs
    │   ├── LayeredScrollable.cs
    │   ├── MapDisplay.cs
    │   ├── MapGridHex.cs
    │   ├── Properties/
    │   │   └── AssemblyInfo.cs
    │   ├── ViewModelBase.cs
    │   ├── WinForms/
    │   │   ├── ExceptionDialog.Designer.cs
    │   │   ├── ExceptionDialog.cs
    │   │   ├── ExceptionDialog.en-US.resx
    │   │   ├── ExceptionDialog.resx
    │   │   ├── GdiRasterOps.cs
    │   │   ├── NativeMethods.cs
    │   │   ├── ScrollBarCommand.cs
    │   │   ├── ThreadExceptionHandler.cs
    │   │   ├── TransparentPanel.cs
    │   │   ├── WinFormsExtensions.cs
    │   │   ├── WindowsMessages.cs
    │   │   ├── WindowsMouseInput.cs
    │   │   └── WindowsStylesEx.cs
    │   └── license.txt
    ├── WpfControlLibrary1/
    │   ├── Properties/
    │   │   ├── AssemblyInfo.cs
    │   │   ├── Resources.Designer.cs
    │   │   ├── Resources.resx
    │   │   ├── Settings.Designer.cs
    │   │   └── Settings.settings
    │   ├── UserControl1.xaml
    │   ├── UserControl1.xaml.cs
    │   └── WpfControlLibrary1.csproj
    └── WpfCustomControlLibrary1/
        ├── CustomControl1.cs
        ├── Properties/
        │   ├── AssemblyInfo.cs
        │   ├── Resources.Designer.cs
        │   ├── Resources.resx
        │   ├── Settings.Designer.cs
        │   └── Settings.settings
        ├── Themes/
        │   └── Generic.xaml
        └── WpfCustomControlLibrary1.csproj
Download .txt
Showing preview only (423K chars total). Download the full file or copy to clipboard to get everything.
SYMBOL INDEX (4074 symbols across 486 files)

FILE: HexGridExampleCommon/AStarBugMap.cs
  class AStarBugMap (line 38) | public sealed class AStarBugMap : MapDisplayBlocked<TerrainGridHex> {
    method NewAsync (line 39) | public async static Task<AStarBugMap> NewAsync() {
    method New (line 46) | public static AStarBugMap New() {
    method AStarBugMap (line 54) | private AStarBugMap() : base(_sizeHexes, new HexSize(26,30), TerrainMa...
    method Heuristic (line 57) | public override int?   Heuristic(HexCoords source, HexCoords target)
    method Heuristic (line 70) | public override int? Heuristic(IHex source, IHex target) => Heuristic(...
    method Heuristic (line 73) | public override int? Heuristic(int range) => range;

FILE: HexGridExampleCommon/EmptyBoard.cs
  class EmptyBoard (line 36) | public sealed class EmptyBoard : MapDisplayBlocked<IHex> {
    method NewAsync (line 39) | private static EmptyBoard NewAsync() {
    method New (line 45) | private static EmptyBoard New() {
    method EmptyBoard (line 52) | private EmptyBoard() : base(new HexSize(1,1),new HexSize(26,30),c => n...
    method Heuristic (line 62) | public override int? Heuristic(HexCoords source, HexCoords target) => ...
    method Heuristic (line 65) | public override int? Heuristic(IHex source, IHex target) => Heuristic(...
    method Heuristic (line 68) | public override int? Heuristic(int range) => range;

FILE: HexGridExampleCommon/EmptyGridHex.cs
  class EmptyGridHex (line 13) | public sealed class EmptyGridHex : Hex {
    method EmptyGridHex (line 15) | public EmptyGridHex(HexCoords coords) : base(coords,0) => TerrainType ...
    method EntryCost (line 27) | public override int    EntryCost(Hexside hexsideExit) => -1;
    method ExitCost (line 30) | public override int    ExitCost(Hexside hexsideExit) => -1;
    method StepCost (line 33) | private         int?   StepCost(Hexside hexsideExit) => default;
    method SetCosts (line 35) | internal void SetCosts<THex>(IBoard<EmptyGridHex> board)

FILE: HexGridExampleCommon/MapDefs.cs
  class MapDefinitions (line 33) | public static class MapDefinitions {

FILE: HexGridExampleCommon/MapList.cs
  class MapList (line 13) | public static class MapList {

FILE: HexGridExampleCommon/MazeMap.cs
  class MazeMap (line 16) | public sealed class MazeMap : MapDisplayBlocked<TerrainGridHex> {
    method NewAsync (line 17) | public async static Task<MazeMap> NewAsync() {
    method New (line 24) | public static MazeMap New() {
    method MazeMap (line 32) | private MazeMap() : base(_sizeHexes, new HexSize(26,30), InitializeHex...
    method Heuristic (line 41) | public override int? Heuristic(HexCoords source, HexCoords target)
    method Heuristic (line 45) | public override int? Heuristic(IHex source, IHex target) => Heuristic(...
    method Heuristic (line 48) | public override int? Heuristic(int range) => range;
    method InitializeHex (line 56) | private new static TerrainGridHex InitializeHex(HexCoords coords) {

FILE: HexGridExampleCommon/Properties/Resources.Designer.cs
  class Resources (line 22) | [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resource...
    method Resources (line 31) | [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Mic...

FILE: HexGridExampleCommon/TerrainGridHex.cs
  class TerrainGridHex (line 14) | public class TerrainGridHex : Hex {
    method NewPassable (line 21) | public static TerrainGridHex NewPassable(HexCoords coords, int elevati...
    method NewImpassable (line 30) | public static TerrainGridHex NewImpassable(HexCoords coords, int eleva...
    method TerrainGridHex (line 40) | private TerrainGridHex(HexCoords coords, int elevationLevel, int heigh...
    method EntryCost (line 58) | public override int    EntryCost(Hexside hexside) => _costs[(int)Direc...
    method ExitCost (line 61) | public override int    ExitCost(Hexside hexside) => _costs[(int)Direct...
    method StepCost (line 64) | private         int?   StepCost(Hexside direction) => _stepCost;
    method SetCosts (line 67) | internal void SetCosts<THex>(GetHex board)

FILE: HexGridExampleCommon/TerrainMap.cs
  class TerrainMap (line 18) | public sealed class TerrainMap : MapDisplayBlocked<TerrainGridHex> {
    method NewAsync (line 19) | public async static Task<TerrainMap> NewAsync() {
    method New (line 26) | public static TerrainMap New() {
    method TerrainMap (line 34) | private TerrainMap() : base(_sizeHexes, new HexSize(26,30), Initialize...
    method Heuristic (line 43) | public override int? Heuristic(HexCoords source, HexCoords target) => ...
    method Heuristic (line 46) | public override int? Heuristic(IHex source, IHex target) => Heuristic(...
    method Heuristic (line 49) | public override int? Heuristic(int range) => range;
    method InitializeHex (line 54) | public new static TerrainGridHex InitializeHex(HexCoords coords) {

FILE: HexUtilities/Common/EnumExtensions.cs
  class EnumExtensions (line 12) | public static partial class EnumExtensions{
    method EnumGetValues (line 14) | public static IList<TEnum> EnumGetValues<TEnum>()
    method EnumGetNames (line 18) | [SuppressMessage("Microsoft.Design","CA1004:GenericMethodsShouldProvid...
    method ParseEnum (line 24) | public static TEnum ParseEnum<TEnum>(string value) where TEnum : struct
    method ParseEnum (line 28) | public static TEnum ParseEnum<TEnum>(string value, bool checkConstants...
    method TryParseEnum (line 37) | public static bool TryParseEnum<TEnum>(string value,bool ignoreCase,ou...
    method EnumParse (line 44) | public static TEnum EnumParse<TEnum>(char c, string lookup) {

FILE: HexUtilities/Common/EnumHelper.cs
  class EnumHelper (line 14) | public static class EnumHelper {
    method TestBits (line 17) | [SuppressMessage("Microsoft.Naming","CA1704:IdentifiersShouldBeSpelled...
    method HasFlag (line 24) | internal static bool HasFlag( sbyte item,  sbyte bitFields) => (item &...
    method HasFlag (line 25) | internal static bool HasFlag(  byte item,   byte bitFields) => (item &...
    method HasFlag (line 26) | internal static bool HasFlag( short item,  short bitFields) => (item &...
    method HasFlag (line 27) | internal static bool HasFlag(ushort item, ushort bitFields) => (item &...
    method HasFlag (line 28) | internal static bool HasFlag(   int item,    int bitFields) => (item &...
    method HasFlag (line 29) | internal static bool HasFlag(  uint item,   uint bitFields) => (item &...
    method HasFlag (line 30) | internal static bool HasFlag(  long item,   long bitFields) => (item &...
    method HasFlag (line 31) | internal static bool HasFlag( ulong item,  ulong bitFields) => (item &...
    method GetHasflagDelegate (line 44) | private static Func<TEnum,TEnum,bool> GetHasflagDelegate() {
    method EnumBaseType (line 54) | private static Type EnumBaseType(Type enumType) {
    method IsFlagsEnum (line 61) | private static bool IsFlagsEnum(IList<CustomAttributeData> attributes)
    method IsFlagsAttribute (line 64) | private static bool IsFlagsAttribute(CustomAttributeData attribute)
  class EnumHelper (line 37) | internal static class EnumHelper<TEnum> where TEnum : struct, IConvertib...
    method TestBits (line 17) | [SuppressMessage("Microsoft.Naming","CA1704:IdentifiersShouldBeSpelled...
    method HasFlag (line 24) | internal static bool HasFlag( sbyte item,  sbyte bitFields) => (item &...
    method HasFlag (line 25) | internal static bool HasFlag(  byte item,   byte bitFields) => (item &...
    method HasFlag (line 26) | internal static bool HasFlag( short item,  short bitFields) => (item &...
    method HasFlag (line 27) | internal static bool HasFlag(ushort item, ushort bitFields) => (item &...
    method HasFlag (line 28) | internal static bool HasFlag(   int item,    int bitFields) => (item &...
    method HasFlag (line 29) | internal static bool HasFlag(  uint item,   uint bitFields) => (item &...
    method HasFlag (line 30) | internal static bool HasFlag(  long item,   long bitFields) => (item &...
    method HasFlag (line 31) | internal static bool HasFlag( ulong item,  ulong bitFields) => (item &...
    method GetHasflagDelegate (line 44) | private static Func<TEnum,TEnum,bool> GetHasflagDelegate() {
    method EnumBaseType (line 54) | private static Type EnumBaseType(Type enumType) {
    method IsFlagsEnum (line 61) | private static bool IsFlagsEnum(IList<CustomAttributeData> attributes)
    method IsFlagsAttribute (line 64) | private static bool IsFlagsAttribute(CustomAttributeData attribute)

FILE: HexUtilities/Common/EventArgs.cs
  class EventArgs (line 11) | public class EventArgs<T> : EventArgs {
    method EventArgs (line 13) | public EventArgs() : this(default(T)) { }
    method EventArgs (line 15) | public EventArgs(T value) : base() => Value = value;

FILE: HexUtilities/Common/ImmutableStack.cs
  class ImmutableStack (line 14) | public class ImmutableStack<T> : IEnumerable<T> {
    method ImmutableStack (line 16) | public ImmutableStack(T start) : this(start, null) {}
    method ImmutableStack (line 19) | private ImmutableStack(T item, ImmutableStack<T> remainder) {
    method Push (line 31) | public ImmutableStack<T> Push(T item) => new ImmutableStack<T>(item,th...
    method GetEnumerator (line 34) | public IEnumerator<T> GetEnumerator() {
    method GetEnumerator (line 38) | IEnumerator IEnumerable.GetEnumerator() => GetEnumerator();

FILE: HexUtilities/Common/NativeMethods.cs
  class NativeMethods (line 11) | internal static partial class NativeMethods {
    class SystemTime (line 12) | [StructLayout(LayoutKind.Sequential)]
      method ToString (line 23) | public override string ToString()
    method GetSystemTime (line 28) | [SuppressMessage("Microsoft.Performance", "CA1811:AvoidUncalledPrivate...

FILE: HexUtilities/Common/Tracing.cs
  type Tracing (line 38) | public partial struct Tracing {
    method ForEachKey (line 108) | public static void ForEachKey(Action<string> action, Func<string,bool>...
    method ForEachValue (line 112) | public static void ForEachValue(Action<Tracing> action, Func<Tracing,b...
    method Item (line 116) | public static Tracing Item(string name) {
    method Tracing (line 122) | private Tracing(int enumValue) : this() { Value = enumValue; }
    method HasFlag (line 125) | private bool HasFlag(Tracing bits) { return (this & bits) != Tracing.N...
    method Trace (line 131) | [Conditional("TRACE")]
    method Trace (line 135) | [SuppressMessage("Microsoft.Performance", "CA1822:MarkMembersAsStatic")]
    method Trace (line 142) | [SuppressMessage("Microsoft.Performance", "CA1822:MarkMembersAsStatic")]
    method BitwiseAnd (line 164) | public static Tracing BitwiseAnd    (Tracing lhs, Tracing rhs) { retur...
    method BitwiseOr (line 166) | public static Tracing BitwiseOr     (Tracing lhs, Tracing rhs) { retur...
    method OnesComplement (line 168) | public static Tracing OnesComplement(Tracing lhs)                { ret...
    method Add (line 171) | public static Tracing Add           (Tracing lhs, Tracing rhs) { retur...
    method Subtract (line 173) | public static Tracing Subtract      (Tracing lhs, Tracing rhs) { retur...
    method Trace (line 177) | [SuppressMessage("Microsoft.Performance", "CA1822:MarkMembersAsStatic")]
    method LogTime (line 184) | [SuppressMessage("Microsoft.Performance", "CA1822:MarkMembersAsStatic")]
    method LogTime (line 192) | [SuppressMessage("Microsoft.Performance", "CA1822:MarkMembersAsStatic")]
    method LogTime (line 201) | [SuppressMessage("Microsoft.Performance", "CA1822:MarkMembersAsStatic")]
    method LogTime (line 207) | [SuppressMessage("Microsoft.Performance", "CA1822:MarkMembersAsStatic")]
    method TraceDetail (line 214) | partial void TraceDetail(bool newLine, string description);
    method LogTimeDetail (line 215) | partial void LogTimeDetail(bool newLine, string description);
    method TraceDetail (line 217) | [Conditional("TRACE")]
    method LogTimeDetail (line 225) | [Conditional("TRACE")]
    method Equals (line 239) | public override bool Equals(object obj) {
    method GetHashCode (line 245) | public override int GetHashCode() { return Value.GetHashCode(); }
    method Equals (line 248) | public bool Equals(Tracing other) { return this == other; }

FILE: HexUtilities/Common/ValueChangedEventArgs.cs
  class ValueChangedEventArgs (line 10) | public class ValueChangedEventArgs<T> : EventArgs<T> {
    method ValueChangedEventArgs (line 12) | public ValueChangedEventArgs(T value, T oldValue) : base(value) => Old...

FILE: HexUtilities/CustomCoords.cs
  class CustomCoords (line 35) | public class CustomCoords : IFormatProvider, ICustomFormatter {
    method UserToCustom (line 37) | public IntVector2D UserToCustom(HexCoords coords)
    method CustomToUser (line 41) | public HexCoords CustomToUser(IntVector2D coords)
    method CustomCoords (line 45) | public CustomCoords(IntMatrix2D matrix) : this(matrix,matrix) { }
    method CustomCoords (line 48) | public CustomCoords(IntMatrix2D userToCustom, IntMatrix2D customToUser) {
    method GetFormat (line 60) | public ICustomFormatter GetFormat(Type formatType)
    method Format (line 64) | [SuppressMessage("Microsoft.Naming", "CA1719:ParameterNamesShouldNotMa...
    method GetFormat (line 77) | object IFormatProvider.GetFormat(Type formatType) => GetFormat(formatT...
    method Format (line 79) | string ICustomFormatter.Format(string format, object arg, IFormatProvi...
    method Format (line 82) | string Format(string format, HexCoords? coords, IFormatProvider format...
    method HandleOtherFormats (line 86) | private static string HandleOtherFormats(string format, object obj)

FILE: HexUtilities/Extensions.cs
  class Extensions (line 35) | public static partial class Extensions {
    method Modulo (line 40) | public static int Modulo(this int dividend, int divisor) {
    method IsOnboard (line 49) | public static bool IsOnboard(this HexSize mapSizeHexes, HexCoords hexC...
    method IsOnboard (line 55) | public static bool IsOnboard(this HexSize mapSizeHexes, IntVector2D us...
    method IsOnboard (line 62) | public static bool IsOnboard(this HexSize mapSizeHexes, int x, int y) =>
    method InitializeDisposable (line 73) | public static T InitializeDisposable<T>(this Func<T> initializer) wher...
    method InRange (line 88) | public static bool InRange(this int value, int lower, int height) =>
    method Range (line 92) | public static int Range(this IHex @this, IHex target)

FILE: HexUtilities/FastLists/AbstractFastList.cs
  class AbstractFastList (line 49) | [SuppressMessage("Microsoft.Naming", "CA1710:IdentifiersShouldHaveCorrec...
    method AbstractFastList (line 54) | protected AbstractFastList(TItem[] array) => _array = array;
    method GetEnumerator (line 57) | public IEnumerator<TItem> GetEnumerator()
    method GetEnumerator (line 61) | IEnumerator  IEnumerable.GetEnumerator() => GetEnumerator();
    method GetEnumerator (line 63) | IFastEnumerator<TItem> IFastEnumerable<TItem>.GetEnumerator() => new F...
    method ForEach (line 66) | public   void  ForEach(Action<TItem> action) {
    method ForEach (line 72) | void IForEachable<TItem>.ForEach(Action<TItem> action) => ForEach(acti...
    method ForEach (line 75) | public   void  ForEach(FastIteratorFunctor<TItem> functor) {
    method ForEach (line 81) | void IForEachable2<TItem>.ForEach(FastIteratorFunctor<TItem> functor) ...
    method IndexOf (line 90) | public   int   IndexOf(TItem item) => Array.IndexOf(_array, item, 0, _...
    method SetItem (line 93) | void  IFastListX<TItem>.SetItem(int index, TItem value) => _array[inde...
    class ClassicEnumerable (line 100) | [DebuggerDisplay("Count={Count}")]
      method ClassicEnumerable (line 104) | internal ClassicEnumerable(TItem2[] array) => _array = array;
      method MoveNext (line 116) | public bool        MoveNext() => ++_index < _array.Length;
      method Reset (line 119) | public void        Reset()    => _index = -1;
      method Dispose (line 123) | public void Dispose() => GC.SuppressFinalize(this);

FILE: HexUtilities/FastLists/FastEnumerable.cs
  class AbstractFastList (line 32) | public abstract partial class AbstractFastList<TItem> {
    class FastEnumerable (line 35) | [DebuggerDisplay("Count={Count}")]
      method FastEnumerable (line 39) | internal FastEnumerable(TItem2[] array) => _array = array;
      method MoveNext (line 48) | public bool MoveNext(ref TItem2 item) {

FILE: HexUtilities/FastLists/FastIteratorFunctor.cs
  class FastIteratorFunctor (line 34) | [DebuggerDisplay("Count={Count}")]
    method Invoke (line 37) | public abstract void Invoke(TItem item);

FILE: HexUtilities/FastLists/FastList.cs
  class FastList (line 34) | [SuppressMessage("Microsoft.Naming", "CA1710:IdentifiersShouldHaveCorrec...
    method FastList (line 38) | internal FastList(TItem[] array) : base(array) { }

FILE: HexUtilities/FastLists/FastListExtensions.cs
  class FastListExtensions (line 24) | public static class FastListExtensions {
    method ToFastList (line 28) | public static IFastList<T> ToFastList<T>(this T[] @this) => new FastLi...
    method ToFastList (line 33) | public static IFastList<T> ToFastList<T>(this List<T> @this) => (@this...
    method ToFastList (line 39) | public static IFastList<T> ToFastList<T>(this IEnumerable<T> @this) =>...
    method ToFastListX (line 44) | internal static IFastListX<T> ToFastListX<T>(this T[] @this) => new Fa...

FILE: HexUtilities/FastLists/Interfaces.cs
  type IFastEnumerable (line 36) | public interface IFastEnumerable<TItem> {
    method GetEnumerator (line 38) | IFastEnumerator<TItem> GetEnumerator();
  type IFastEnumerator (line 43) | public interface IFastEnumerator<TItem>{
    method MoveNext (line 45) | [SuppressMessage("Microsoft.Design", "CA1045:DoNotPassTypesByReference...
  type IFastList (line 50) | [SuppressMessage("Microsoft.Naming", "CA1710:IdentifiersShouldHaveCorrec...
    method IndexOf (line 62) | int   IndexOf(TItem item);
  type IForEachable (line 67) | public interface IForEachable<TItem>{
    method ForEach (line 69) | void ForEach(Action<TItem> action);
  type IForEachable2 (line 74) | public interface IForEachable2<TItem> {
    method ForEach (line 76) | void ForEach(FastIteratorFunctor<TItem> functor);
  type IFastListX (line 80) | [SuppressMessage("Microsoft.Naming", "CA1710:IdentifiersShouldHaveCorrec...
    method SetItem (line 83) | void SetItem(int index, T value);

FILE: HexUtilities/FieldOfView/ArrayFieldOfView.cs
  class ArrayFieldOfView (line 19) | internal class ArrayFieldOfView : IShadingMask {
    method ArrayFieldOfView (line 22) | public ArrayFieldOfView(IFovBoard board) {

FILE: HexUtilities/FieldOfView/Dodecant.cs
  class Dodecant (line 13) | internal class Dodecant {
    method Dodecant (line 45) | public Dodecant(Dodecant dodecant, IntMatrix2D matrixOrigin) {
    method Dodecant (line 50) | private Dodecant(int hexsideBase, IntMatrix2D matrix) {
    method TranslateDodecant (line 71) | public Action<HexCoords> TranslateDodecant(Action<HexCoords> action)
    method TranslateDodecant (line 74) | public Func<HexCoords,T> TranslateDodecant<T>(Func<HexCoords,T> func)
    method TranslateDodecant (line 77) | public Func<HexCoords,Hexside,T> TranslateDodecant<T>(Func<HexCoords,H...

FILE: HexUtilities/FieldOfView/FovBoardExtensions.cs
  class FovBoardExtensions (line 10) | public static partial class FovBoardExtensions {
    method ElevationASL (line 14) | public static int ElevationASL(this IFovBoard @this, IHex hex)
    method ElevationGroundASL (line 20) | public static int ElevationGroundASL(this IFovBoard @this, HexCoords c...
    method ElevationHexsideASL (line 27) | public static int ElevationHexsideASL(this IFovBoard @this, HexCoords ...
    method ElevationTargetASL (line 33) | public static int ElevationTargetASL(this IFovBoard @this, HexCoords c...
    method ElevationObserverASL (line 39) | public static int ElevationObserverASL(this IFovBoard @this, HexCoords...
    method ElevationTerrainASL (line 45) | public static int ElevationTerrainASL(this IFovBoard @this, HexCoords ...
    method IsOverseeable (line 51) | public static bool IsOverseeable(this IFovBoard @this, HexCoords coords)

FILE: HexUtilities/FieldOfView/FovCone.cs
  type FovCone (line 12) | [DebuggerDisplay("{RiseRun} at {Range}; VTop: {VectorTop}; VBot: {Vector...
    method FovCone (line 15) | internal FovCone(int range, IntVector2D top, IntVector2D bottom, RiseR...
    method Equals (line 36) | public override bool Equals(object obj) => (obj is FovCone other) && t...
    method Equals (line 39) | public bool Equals(FovCone other)
    method GetHashCode (line 44) | public override int GetHashCode()
    method ToString (line 56) | public override string ToString() => string.Format(CultureInfo.Invaria...

FILE: HexUtilities/FieldOfView/FovFactory.cs
  class FovFactory (line 12) | public static class FovFactory {
    method GetFieldOfViewAsync (line 14) | public static Task<IShadingMask> GetFieldOfViewAsync(this IFovBoard @t...
    method GetFieldOfViewAsync (line 19) | public static Task<IShadingMask> GetFieldOfViewAsync(this IFovBoard @t...
    method GetFieldOfViewAsync (line 24) | public static Task<IShadingMask> GetFieldOfViewAsync(this IFovBoard @t...
    method GetFieldOfViewAsync (line 29) | public static Task<IShadingMask> GetFieldOfViewAsync(this IFovBoard @t...
    method GetFieldOfViewAsync (line 34) | public static Task<IShadingMask> GetFieldOfViewAsync(this IFovBoard @t...
    method GetFieldOfView (line 39) | public static IShadingMask GetFieldOfView(this IFovBoard @this, HexCoo...
    method GetFieldOfView (line 44) | public static IShadingMask GetFieldOfView(this IFovBoard @this, HexCoo...

FILE: HexUtilities/FieldOfView/FovQueue.cs
  class FovConeQueue (line 40) | [DebuggerDisplay("Count={Count}")]
    method FovConeQueue (line 42) | internal FovConeQueue() : this(0) {}
    method FovConeQueue (line 43) | internal FovConeQueue(int capacity) : base(capacity) { Pending = null; }
    method Dequeue (line 51) | public new FovCone Dequeue() {
    method Enqueue (line 62) | public new void Enqueue(FovCone cone) {

FILE: HexUtilities/FieldOfView/IFovBoard.cs
  type FovTargetMode (line 12) | public enum FovTargetMode {
  type IFovBoard (line 23) | public interface IFovBoard {

FILE: HexUtilities/FieldOfView/RiseRun.cs
  type RiseRun (line 34) | [DebuggerDisplay("RiseRun: ({Rise} over {Run})")]
    method RiseRun (line 39) | internal RiseRun(int rise, int run) : this() {
    method CompareTo (line 63) | public int CompareTo(RiseRun other) => (Rise * other.Run).CompareTo(ot...
    method Equals (line 69) | public override bool Equals(object obj) => (obj is RiseRun other) && t...
    method Equals (line 72) | public bool Equals(RiseRun other) => Rise == other.Rise && Run == othe...
    method GetHashCode (line 75) | public override int GetHashCode() => Run != 0 ? (Rise / Run).GetHashCo...
    method ToString (line 86) | public override string ToString() => $"Rise={Rise}; Run={Run}";

FILE: HexUtilities/FieldOfView/ShadowCastingFov.cs
  class ShadowCasting (line 26) | public static partial class ShadowCasting {
    method ComputeFieldOfView (line 40) | public static void ComputeFieldOfView(
    method ComputeFieldOfView (line 56) | public static void ComputeFieldOfView(
    method ComputeFieldOfView (line 80) | public static void ComputeFieldOfView(
    method GetDeltaHeight (line 126) | private static Func<HexCoords,int> GetDeltaHeight(
    method ComputeFieldOfView (line 150) | private static void ComputeFieldOfView(
    method ComputeFieldOfViewInDodecantZero (line 194) | private static void ComputeFieldOfViewInDodecantZero(
    method ComputeFoVForRange (line 244) | private static FovCone ComputeFoVForRange(
    method FieldOfViewTrace (line 347) | static partial void FieldOfViewTrace(string format, params object[] pa...
    method FieldOfViewTrace (line 349) | static partial void FieldOfViewTrace(bool newline, string format, para...
    method FieldOfViewTrace (line 351) | [Conditional("TRACE")]
    method FieldOfViewTrace (line 355) | [Conditional("TRACE")]

FILE: HexUtilities/FieldOfView/ShadowCastingFov_Utilities.cs
  class ShadowCasting (line 10) | public static partial class ShadowCasting {
    method LogAndEnqueue (line 11) | [SuppressMessage("Microsoft.Usage", "CA1801:ReviewUnusedParameters", M...
    method XFromVector (line 25) | static int XFromVector(int y,IntVector2D v) => (-2 * v.Y + v.X * (3 * ...
    method VectorHexTop (line 41) | static IntVector2D VectorHexTop(HexCoords hex) => hex.Canon * matrixHe...
    method VectorHexBottom (line 51) | static IntVector2D VectorHexBottom(HexCoords hex) => hex.Canon * matri...
    method VectorMax (line 54) | static IntVector2D VectorMax(IntVector2D lhs,IntVector2D rhs) => lhs.G...
    method GT (line 56) | static bool GT(this IntVector2D lhs,IntVector2D rhs) => lhs.X*rhs.Y > ...
    method LE (line 58) | static bool LE(this IntVector2D lhs,IntVector2D rhs) => !lhs.GT(rhs);

FILE: HexUtilities/Hex.cs
  class Hex (line 14) | [DebuggerDisplay("Coords: {Coords} / ElevLevel: {ElevationLevel}")]
    method Hex (line 17) | protected Hex(HexCoords coords) : this(coords,0) { }
    method Hex (line 19) | protected Hex(HexCoords coords, int elevationLevel) {
    method HeightHexside (line 31) | public virtual  int       HeightHexside(Hexside hexside) => HeightTerr...
    method EntryCost (line 49) | public abstract int       EntryCost(Hexside hexsideExit);
    method ExitCost (line 52) | public abstract int       ExitCost(Hexside hexsideExit);
    method Equals (line 56) | public override bool Equals(object obj) => (obj is Hex other) && this....
    method Equals (line 59) | public bool Equals(Hex other) => Coords == other.Coords;
    method GetHashCode (line 62) | public override int GetHashCode() => Coords.GetHashCode();

FILE: HexUtilities/HexCoords.cs
  type HexCoords (line 48) | [DebuggerDisplay("User: {User}")]
    method NewCanonCoords (line 85) | public static HexCoords NewCanonCoords (int x, int y)
    method NewUserCoords (line 89) | public static HexCoords NewUserCoords  (int x, int y)
    method NewCanonCoords (line 93) | public static HexCoords NewCanonCoords (IntVector2D vector)
    method NewUserCoords (line 97) | public static HexCoords NewUserCoords  (IntVector2D vector)
    method HexOrigin (line 106) | public static HexPoint HexOrigin(HexSize gridSize, int i, int j) =>
    method HexCoords (line 114) | private HexCoords(IntVector2D canon, IntVector2D user) :this() {
    method GetNeighbour (line 133) | public HexCoords GetNeighbour(Hexside hexside) {
    method HexOrigin (line 140) | public HexPoint HexOrigin(HexSize gridSize) => HexOrigin(gridSize, Use...
    method Range (line 143) | public int       Range(HexCoords coords) {
    method ToString (line 150) | public override string ToString() => ToString("g", CultureInfo.Invaria...
    method ToString (line 177) | public string ToString(string format, IFormatProvider formatProvider) {
    method Format (line 196) | private string Format(char formatChar, string formatRest, IFormatProvi...
    method Add (line 221) | public static HexCoords Add(HexCoords lhs, HexCoords rhs)      => lhs ...
    method Subtract (line 227) | public static HexCoords Subtract(HexCoords lhs, HexCoords rhs) => lhs ...
    method Equals (line 235) | public override bool Equals(object obj) {
    method GetHashCode (line 240) | public override int GetHashCode() => User.GetHashCode();
    method Equals (line 243) | public bool Equals(HexCoords other) => this == other;

FILE: HexUtilities/HexGrid.cs
  class Hexgrid (line 42) | public class Hexgrid : IHexgrid {
    method Hexgrid (line 44) | public Hexgrid(bool isTransposed, HexSize gridSize, float scale)
    method Hexgrid (line 48) | public Hexgrid(bool isTransposed, HexSize gridSize, float scale, HexSi...

FILE: HexUtilities/HexPickingExtensions.cs
  class HexPickingExtensions (line 16) | public static class HexPickingExtensions {
    method GetScrollPosition (line 20) | public static HexPoint GetScrollPosition(this IHexgrid @this, HexPoint...
    method GridSizeF (line 26) | public static HexSizeF GridSizeF(this IHexgrid @this) => @this.GridSiz...
    method GetHexCoords (line 32) | static HexCoords GetHexCoords(this IHexgrid @this, HexPointF point, He...
    method GetHexCoords (line 46) | public static HexCoords GetHexCoords(this IHexgrid @this, HexPoint poi...
    method GetHexCoordsInner (line 54) | static HexCoords GetHexCoordsInner(this IHexgrid @this, HexPoint point...
    method HexCenterPoint (line 67) | public static HexPoint HexCenterPoint(this IHexgrid @this, HexCoords c...
    method HexCenterPointInner (line 75) | static HexPoint HexCenterPointInner(this IHexgrid @this, HexCoords coo...
    method HexOrigin (line 83) | public static HexPoint HexOrigin(this IHexgrid @this, HexCoords coords)
    method GetCoordinate (line 94) | public static int GetCoordinate (this IHexgrid @this, HexMatrix matrix...
    method GetCoordinate (line 106) | public static int GetCoordinate (this IHexgrid @this, HexMatrix matrix...
    method MatrixX (line 114) | public static HexMatrix MatrixX(this IHexgrid @this)
    method MatrixY (line 119) | public static HexMatrix MatrixY(this IHexgrid @this)
    method TransposePoint (line 124) | static HexPoint TransposePoint(HexPoint point) => new HexPoint(point.Y...
    method TransposeSize (line 125) | static HexSize  TransposeSize(HexSize  size)   => new HexSize (size.He...

FILE: HexUtilities/Hexside.cs
  class Hexside (line 38) | public class Hexside {
    method Hexside (line 58) | private Hexside(int value, string name, Hexsides hexsides) {
    method ForEach (line 73) | public static void ForEach(Action<Hexside> action) => HexsideList.ForE...
    method ForEach (line 77) | public static void ForEach(FastIteratorFunctor<Hexside> functor) => He...
    method ParseEnum (line 82) | public static Hexside ParseEnum(string name, bool ignoreCase) {
    method ToString (line 116) | public  override string ToString() => Name;

FILE: HexUtilities/Hexsides.cs
  type Hexsides (line 35) | [Flags]public enum Hexsides {
  class HexsidesExtensions (line 55) | public static partial class HexsidesExtensions {
    method IsSet (line 59) | public static bool IsSet(this Hexsides @this, Hexside hexside)
    method GetValue (line 63) | public static int GetValue(this Hexsides @this) { return (int)@this.Va...
    method AreAllClear (line 65) | public static bool AreAllClear(this Hexsides @this, Hexsides testBits) {
    method AreAllSet (line 70) | public static bool AreAllSet(this Hexsides @this, Hexsides testBits) {
    method IsAnySet (line 75) | public static bool IsAnySet(this Hexsides @this, Hexsides testBits) {
    method ClearBits (line 81) | public static Hexsides ClearBits(this Hexsides @this, Hexsides bits)
    method SetBits (line 85) | public static Hexsides SetBits(this Hexsides @this, Hexsides bits)
    method ValidBitsMask (line 89) | public static Hexsides ValidBitsMask(this Hexsides @this) { return @th...
    method BitCount (line 94) | public static int BitCount(this Hexsides @this)

FILE: HexUtilities/IBoard.cs
  type IBoard (line 14) | public interface IBoard<THex> where THex: IHex {
    method IsOnboard (line 23) | bool IsOnboard(HexCoords coords);
    method ForAllNeighbours (line 26) | void ForAllNeighbours(HexCoords coords, Action<THex,Hexside> action);

FILE: HexUtilities/IHex.cs
  type IHex (line 12) | public interface IHex {
    method EntryCost (line 35) | int       EntryCost(Hexside hexsideExit);
    method ExitCost (line 38) | int       ExitCost(Hexside hexsideExit);
    method HeightHexside (line 41) | int       HeightHexside(Hexside hexside);
  type IPanelModel (line 56) | public interface IPanelModel : IFovBoard {
    method ForEachHexSerial (line 108) | void ForEachHexSerial<THex>(Action<Maybe<THex>> action) where THex:cla...

FILE: HexUtilities/IHexBoard.cs
  type IHexBoard (line 37) | public interface IHexBoard<out THex> : IBoardStorage<THex> where THex : ...

FILE: HexUtilities/IHexgrid.cs
  type IHexgrid (line 13) | public interface IHexgrid {

FILE: HexUtilities/IHexgridExtensions.cs
  class IHexgridExtensions (line 35) | public static partial class IHexgridExtensions {
    method ScrollPositionToCenterOnHex (line 41) | public static HexPoint ScrollPositionToCenterOnHex(this IHexgrid @this,
    method GetSize (line 49) | public static HexSize GetSize(this IHexgrid @this, HexSize mapSizePixe...

FILE: HexUtilities/IShadingMask.cs
  type IShadingMask (line 10) | public interface IShadingMask {

FILE: HexUtilities/IntMatrix2D.cs
  type IntMatrix2D (line 19) | [DebuggerDisplay("(({M11},{M12}), ({M21},{M22}), ({M31},{M32}), {M33}))")]
    method Transpose (line 24) | public static IntMatrix2D Transpose(IntMatrix2D matrix) => matrix * Tr...
    method IntMatrix2D (line 29) | public IntMatrix2D(IntVector2D vector)  : this(1,0, 0,1, vector.X,vect...
    method IntMatrix2D (line 34) | public IntMatrix2D(int dx, int dy)  : this(1,0, 0,1, dx,dy,1) {}
    method IntMatrix2D (line 41) | [SuppressMessage("Microsoft.Design", "CA1025:ReplaceRepetitiveArgument...
    method IntMatrix2D (line 51) | public IntMatrix2D(int m11, int m12, int m21, int m22, int dx, int dy)...
    method IntMatrix2D (line 61) | public IntMatrix2D(int m11, int m12, int m21, int m22, int dx, int dy,...
    method Multiply (line 130) | public static IntVector2D Multiply(IntVector2D v, IntMatrix2D m) => v ...
    method Multiply (line 133) | public static IntMatrix2D Multiply(IntMatrix2D m1, IntMatrix2D m2) => ...
    method Equals (line 138) | public override bool Equals(object obj) => (obj is IntMatrix2D other) ...
    method Equals (line 141) | public bool Equals(IntMatrix2D other)
    method GetHashCode (line 147) | public override int GetHashCode() => ((2*M11/M33)<<13) + (2*M12/M33)
    method ToString (line 159) | public override string ToString() => ToString("G", CultureInfo.Invaria...
    method ToString (line 164) | public string ToString(string format, IFormatProvider formatProvider)

FILE: HexUtilities/IntVector2D.cs
  type IntVector2D (line 15) | [DebuggerDisplay("({X},{Y},{W})")]
    method IntVector2D (line 24) | public IntVector2D(int x, int y) : this(x,y,1) { }
    method IntVector2D (line 30) | internal IntVector2D(int x, int y, int norm) : this() {
    method Normalize (line 47) | public IntVector2D Normalize() {
    method Multiply (line 71) | public static IntVector2D Multiply(int s,IntVector2D v) => v * s;
    method Multiply (line 74) | public static IntVector2D Multiply(IntVector2D v,int s) => v * s;
    method Divide (line 77) | public static IntVector2D Divide(IntVector2D v,int s) => DivideInner(v...
    method DivideInner (line 79) | private static IntVector2D DivideInner(IntVector2D v,int s) => new Int...
    method Add (line 97) | public static IntVector2D Add(IntVector2D v1,IntVector2D v2) => v1 + v2;
    method Subtract (line 100) | public static IntVector2D Subtract(IntVector2D v1,IntVector2D v2) => v...
    method CrossProduct (line 103) | public static int CrossProduct(IntVector2D v1,IntVector2D v2) => v1 ^ v2;
    method InnerProduct (line 106) | public static int InnerProduct(IntVector2D v1,IntVector2D v2) => v1 * v2;
    method Xor (line 109) | [Obsolete("Deprecated (as really confusing) - use InnerProduct instead...
    method Equals (line 133) | public override bool Equals(object obj) => (obj is IntVector2D other) ...
    method Equals (line 136) | public bool Equals(IntVector2D other)
    method GetHashCode (line 145) | public override int GetHashCode() => ( (2*X/W) <<15 ) + (2*Y/W) ;
    method ToString (line 155) | public override string ToString() => ToString("G", CultureInfo.Invaria...
    method ToString (line 176) | public string ToString(string format, IFormatProvider formatProvider) {

FILE: HexUtilities/Maybe.cs
  type Maybe (line 14) | public struct Maybe<T> : IEquatable<Maybe<T>> {
    method NoValue (line 16) | [SuppressMessage("Microsoft.Design", "CA1000:DoNotDeclareStaticMembers...
    method Maybe (line 20) | public Maybe(T value) : this() => Value    = value;
    method Bind (line 27) | [SuppressMessage("Microsoft.Design", "CA1006:DoNotNestGenericTypesInMe...
    method Match (line 33) | public TOut        Match<TOut>(Func<T,TOut> projection, Func<TOut> alt...
    method ValueContract (line 37) | public bool        ValueContract(Func<T, bool> contract) => ! HasValue...
    method PreferredName (line 39) | private static string PreferredName(T value) => value.ToString();
    method AlternateName (line 41) | private static string AlternateName() => "NoValue<" + typeof(T).Name +...
    method Equals (line 48) | public override bool Equals(object obj) => (obj is Maybe<T> other) && ...
    method Equals (line 51) | public bool Equals(Maybe<T> other)
    method GetHashCode (line 56) | public override int GetHashCode() => Value.GetHashCode();
    method ToString (line 65) | public override string ToString()
    method ToMaybe (line 70) | public static Maybe<V> ToMaybe<V>(Maybe<V?> maybe) where V:struct
    method ToNullable (line 74) | public static V? ToNullable<V>(Maybe<V?> maybe) where V:struct

FILE: HexUtilities/MaybeExtensions.cs
  class MaybeExtensions (line 34) | public static class MaybeExtensions {
    method Else (line 38) | public static Maybe<TOut> Else<TOut>(this Maybe<TOut> @this, Func<TOut...
    method ElseDefault (line 43) | public static TOut        ElseDefault<TOut>(this Maybe<TOut> @this)
    method ElseDo (line 48) | public static Maybe<TOut> ElseDo<TOut>(this Maybe<TOut> @this, Action ...
    method ForceGetValue (line 54) | public static TOut        ForceGetValue<TOut>(this Maybe<TOut> @this)
    method IfHasValueDo (line 59) | public static Maybe<TOut> IfHasValueDo<TOut>(this Maybe<TOut> @this, A...
    method Select (line 63) | public static Maybe<TOut> Select<T,TOut>(this Maybe<T> @this, Func<T,T...
    method SelectMany (line 67) | [SuppressMessage( "Microsoft.Design", "CA1006:DoNotNestGenericTypesInM...
    method SelectMany (line 73) | [SuppressMessage("Microsoft.Design", "CA1006:DoNotNestGenericTypesInMe...
    method ToMaybe (line 83) | public static Maybe<TOut> ToMaybe<TOut>(this TOut @this) => new Maybe<...
    method Where (line 86) | public static Maybe<TOut> Where<TOut>(this Maybe<TOut> @this, Func<TOu...
    method CompareTo (line 90) | public static Maybe<int> CompareTo<TOut>(this Maybe<TOut> @this, Maybe...
    method Max (line 94) | public static Maybe<TOut> Max<TOut>(this Maybe<TOut> @this, Maybe<TOut...
    method ToNullable (line 98) | public static T? ToNullable<T>(this Maybe<T?> maybe) where T:struct

FILE: HexUtilities/NullableExtensions.cs
  class NullableExtensions (line 34) | public static partial class NullableExtensions {
    method Else (line 39) | public static TOut? Else<TOut>(this TOut? @this, Func<TOut> alternate)...
    method ElseDefault (line 45) | public static TOut  ElseDefault<TOut>(this TOut? @this) where TOut:struct
    method ElseDo (line 51) | public static TOut? ElseDo<TOut>(this TOut? @this, Action action) wher...
    method ForceGetValue (line 58) | public static TOut  ForceGetValue<TOut>(this TOut? @this) where TOut:s...
    method IfHasValueDo (line 64) | public static TOut? IfHasValueDo<TOut>(this TOut? @this, Action<TOut> ...
    method Select (line 70) | public static TOut? Select<T,TOut>(this T? @this, Func<T,TOut> project...
    method SelectMany (line 75) | [SuppressMessage( "Microsoft.Design", "CA1006:DoNotNestGenericTypesInM...
    method SelectMany (line 82) | [SuppressMessage("Microsoft.Design", "CA1006:DoNotNestGenericTypesInMe...
    method Where (line 92) | public static TOut? Where<TOut>(this TOut? @this, Func<TOut, bool> pre...
    method CompareTo (line 96) | public static int? CompareTo<TOut>(this TOut? @this, TOut? other) wher...
    method Max (line 100) | public static TOut? Max<TOut>(this TOut? @this, TOut? other) where TOu...
    method ToMaybe (line 104) | public static Maybe<T> ToMaybe<T>(this Maybe<T?> maybe) where T:struct
    method Bind (line 108) | public static TResult? Bind<TValue,TResult>(this TValue? @this, Func<T...
    method Match (line 113) | public static TOut  Match<T,TOut>(this T? @this, Func<T,TOut> projecti...

FILE: HexUtilities/Pathfinding/AltPathfinder.cs
  type IAltPathfinder (line 23) | public interface IAltPathfinder<THex> where THex: class,IHex {
    method IsFinished (line 34) | bool IsFinished();
    method Heuristic (line 37) | int Heuristic(HexCoords coords);
  class AltPathfinder (line 59) | [DebuggerDisplay("")]
    method AltPathfinder (line 64) | public AltPathfinder(IPathHalves<THex> pathHalves, bool isForward) {
    method IsFinished (line 112) | public   bool          IsFinished(){
    method Heuristic (line 133) | public   int           Heuristic(HexCoords coords) => Landmarks.Max(la...
    method StartPath (line 135) | private  void          StartPath(IHex start) {
    method ExpandHex (line 142) | private  void          ExpandHex(IDirectedPath path, Hexside hexside) {
    method ExpandHex (line 149) | private  void          ExpandHex(IDirectedPath path, Hexside hexside, ...
    method GetPartnerPath (line 173) | private  IDirectedPath GetPartnerPath(HexCoords coords) {
    method LandmarkHeuristic (line 177) | private  int           LandmarkHeuristic(ILandmark landmark,HexCoords ...

FILE: HexUtilities/Pathfinding/BidirectionalAltPathfinder.cs
  class BidirectionalAltPathfinder (line 23) | public static class BidirectionalAltPathfinder {
    method GetPathBiDiAlt (line 34) | public static IPath<THex> GetPathBiDiAlt<THex>(this ILandmarkBoard<THe...
    method NewPathHalves (line 63) | internal static IPathHalves<THex> NewPathHalves<THex>(this ILandmarkBo...
    method NewAltPathfinder (line 72) | internal static IAltPathfinder<THex> NewAltPathfinder<THex>(this IPath...

FILE: HexUtilities/Pathfinding/DictPriorityQueue.cs
  class DictionaryPriorityQueue (line 19) | [SuppressMessage("Microsoft.Naming", "CA1711:IdentifiersShouldNotHaveInc...
    method Any (line 27) | bool IPriorityQueue<TPriority,TValue>.Any() => this.Any;
    method Enqueue (line 36) | public void Enqueue(TPriority priority,TValue value) => Enqueue(HexKey...
    method Enqueue (line 39) | public void Enqueue(HexKeyValuePair<TPriority,TValue> item) {
    method TryDequeue (line 48) | public bool TryDequeue(out HexKeyValuePair<TPriority,TValue> result) {
    method TryPeek (line 61) | public bool TryPeek(out HexKeyValuePair<TPriority,TValue> result) {
    method Clear (line 73) | public void Clear() => _dictionary.Clear();
    method Contains (line 76) | public bool Contains(TValue value) => Enumerable().Select(i => i.Value...
    method Dequeue (line 79) | public HexKeyValuePair<TPriority,TValue> Dequeue() {
    method GetEnumerator (line 85) | [SuppressMessage("Microsoft.Design", "CA1006:DoNotNestGenericTypesInMe...
    method Peek (line 91) | public HexKeyValuePair<TPriority,TValue> Peek() {
    method ToArray (line 97) | public HexKeyValuePair<TPriority,TValue>[] ToArray() => Enumerable().T...
    method Enumerable (line 99) | IEnumerable<HexKeyValuePair<TPriority,TValue>> Enumerable()
    method Clone (line 115) | [SuppressMessage("Microsoft.Performance", "CA1822:MarkMembersAsStatic")]
    method TrimExcess (line 119) | [SuppressMessage("Microsoft.Performance", "CA1822:MarkMembersAsStatic")]

FILE: HexUtilities/Pathfinding/DirectedPathCollection.cs
  class DirectedPathCollection (line 16) | [DebuggerDisplay("TotalCost={TotalCost} / TotalSteps={TotalSteps}")]
    method DirectedPathCollection (line 19) | public DirectedPathCollection(IHex start)
    method DirectedPathCollection (line 23) | public DirectedPathCollection(IDirectedPath pathSoFar, DirectedPathSte...
    method ToString (line 46) | public override string ToString()
    method GetEnumerator (line 52) | public IEnumerator<IDirectedPath> GetEnumerator() {
    method GetEnumerator (line 59) | IEnumerator IEnumerable.GetEnumerator() => GetEnumerator();
  class PathExtensions (line 63) | internal static partial class PathExtensions {
    method AddStep (line 69) | public static IDirectedPath AddStep(this IDirectedPath @this, IHex hex...
    method AddStep (line 76) | public static IDirectedPath AddStep(this IDirectedPath @this, Directed...
  class Path (line 81) | internal class Path<THex>: IPath<THex> where THex: IHex {
    method Path (line 83) | public Path(Maybe<IDirectedPath> path, THex source, THex target, ISet<...
  type IPath (line 106) | public interface IPath<THex>where THex: IHex {

FILE: HexUtilities/Pathfinding/DirectedPathStepHex.cs
  type DirectedPathStepHex (line 11) | [DebuggerDisplay("NeighbourHex: {Hex.Coords} enters from {HexsideEntry}")]
    method DirectedPathStepHex (line 19) | public DirectedPathStepHex(IHex hex) : this(hex, Hexside.North) {}
    method DirectedPathStepHex (line 27) | public DirectedPathStepHex(IHex hex, Hexside hexsideExit) : this() {
    method Equals (line 46) | public override bool Equals(object obj) => (obj is DirectedPathStepHex...
    method Equals (line 49) | public bool Equals(DirectedPathStepHex other)
    method GetHashCode (line 53) | public override int GetHashCode() => Coords.GetHashCode();
    method ToString (line 63) | public override string ToString() => $"NeighbourHex: {Coords} enters f...

FILE: HexUtilities/Pathfinding/HexKeyValuePair.cs
  class HexKeyValuePair (line 10) | public static class HexKeyValuePair {
    method New (line 16) | internal static HexKeyValuePair<TKey,TValue> New<TKey,TValue>(TKey key...
    method HexKeyValuePair (line 28) | internal HexKeyValuePair(TKey key, TValue value) : this() {
    method CompareTo (line 57) | public int CompareTo(HexKeyValuePair<TKey,TValue> other) => Key.Compar...
    method Equals (line 62) | public override bool Equals(object obj)
    method Equals (line 66) | public bool Equals(HexKeyValuePair<TKey,TValue> other) => CompareTo(ot...
    method GetHashCode (line 69) | public override int GetHashCode() => Key.GetHashCode();
  type HexKeyValuePair (line 23) | public struct HexKeyValuePair<TKey,TValue>
    method New (line 16) | internal static HexKeyValuePair<TKey,TValue> New<TKey,TValue>(TKey key...
    method HexKeyValuePair (line 28) | internal HexKeyValuePair(TKey key, TValue value) : this() {
    method CompareTo (line 57) | public int CompareTo(HexKeyValuePair<TKey,TValue> other) => Key.Compar...
    method Equals (line 62) | public override bool Equals(object obj)
    method Equals (line 66) | public bool Equals(HexKeyValuePair<TKey,TValue> other) => CompareTo(ot...
    method GetHashCode (line 69) | public override int GetHashCode() => Key.GetHashCode();

FILE: HexUtilities/Pathfinding/HexsideCosts.cs
  class HexsideCosts (line 15) | public class HexsideCosts : ReadOnlyCollection<int?> {
    method ExitCosts (line 17) | public static HexsideCosts ExitCosts<THex>(BoardStorage<Maybe<THex>> b...
    method EntryCosts (line 22) | public static HexsideCosts EntryCosts<THex>(BoardStorage<Maybe<THex>> ...
    method DirectedCost (line 27) | public static int? DirectedCost<THex>(BoardStorage<Maybe<THex>> boardH...
    method HexsideCosts (line 31) | private HexsideCosts(Func<Hexside,int?> directedCostToExit) : base(Gen...
    method Generator (line 33) | static List<int?> Generator(Func<Hexside,int?> directedCostToExit)

FILE: HexUtilities/Pathfinding/HotPriorityQueue.cs
  class HotPriorityQueue (line 14) | [SuppressMessage("Microsoft.Naming","CA1711:IdentifiersShouldNotHaveInco...
    method _factory (line 17) | private static IDictionary<int,IHotPriorityQueueList<int,TValue>> _fac...
    method New (line 23) | public static IPriorityQueue<int,TValue> New<TValue>()
    method New (line 30) | public static IPriorityQueue<int,TValue> New<TValue>(int initialSize)
    method New (line 40) | public static IPriorityQueue<int,TValue> New<TValue>(int preferenceWid...
    method New (line 55) | [SuppressMessage("Microsoft.Design","CA1006:DoNotNestGenericTypesInMem...
    method HotPriorityQueue (line 79) | public HotPriorityQueue(int preferenceWidth, int initialSize,
    method Any (line 135) | bool IPriorityQueue<int,TValue>.Any() => Any;
    method Enqueue (line 138) | public void Enqueue(int priority,TValue value)
    method Enqueue (line 142) | public void Enqueue(HexKeyValuePair<int,TValue> item) {
    method TryDequeue (line 160) | public bool TryDequeue(out HexKeyValuePair<int,TValue> result) {
    method TryPeek (line 167) | public bool TryPeek(out HexKeyValuePair<int,TValue> result) {
    method GetNextQueue (line 174) | private IPriorityQueue<int,TValue> GetNextQueue() {
  class HotPriorityQueue (line 67) | [SuppressMessage("Microsoft.Naming", "CA1711:IdentifiersShouldNotHaveInc...
    method _factory (line 17) | private static IDictionary<int,IHotPriorityQueueList<int,TValue>> _fac...
    method New (line 23) | public static IPriorityQueue<int,TValue> New<TValue>()
    method New (line 30) | public static IPriorityQueue<int,TValue> New<TValue>(int initialSize)
    method New (line 40) | public static IPriorityQueue<int,TValue> New<TValue>(int preferenceWid...
    method New (line 55) | [SuppressMessage("Microsoft.Design","CA1006:DoNotNestGenericTypesInMem...
    method HotPriorityQueue (line 79) | public HotPriorityQueue(int preferenceWidth, int initialSize,
    method Any (line 135) | bool IPriorityQueue<int,TValue>.Any() => Any;
    method Enqueue (line 138) | public void Enqueue(int priority,TValue value)
    method Enqueue (line 142) | public void Enqueue(HexKeyValuePair<int,TValue> item) {
    method TryDequeue (line 160) | public bool TryDequeue(out HexKeyValuePair<int,TValue> result) {
    method TryPeek (line 167) | public bool TryPeek(out HexKeyValuePair<int,TValue> result) {
    method GetNextQueue (line 174) | private IPriorityQueue<int,TValue> GetNextQueue() {

FILE: HexUtilities/Pathfinding/HotPriorityQueueueList.cs
  class HotPriorityQueueList (line 19) | [SuppressMessage("Microsoft.Naming", "CA1710:IdentifiersShouldHaveCorrec...
    method HotPriorityQueueList (line 25) | public HotPriorityQueueList() : this(1024) {}
    method HotPriorityQueueList (line 29) | public HotPriorityQueueList(int capacity)
    method Add (line 38) | public void Add(HexKeyValuePair<TKey,TValue> item) => List.Add(item);
    method GetEnumerator (line 41) | public IEnumerator<HexKeyValuePair<TKey,TValue>> GetEnumerator() => Li...
    method GetEnumerator (line 44) | IEnumerator IEnumerable.GetEnumerator() => List.GetEnumerator();

FILE: HexUtilities/Pathfinding/IDirectedPathCollection.cs
  type IDirectedPathCollection (line 14) | public interface IDirectedPathCollection : IEnumerable<IDirectedPathColl...

FILE: HexUtilities/Pathfinding/IHotPrioirtyQueueList.cs
  type IHotPriorityQueueList (line 37) | [SuppressMessage("Microsoft.Naming", "CA1710:IdentifiersShouldHaveCorrec...
    method Add (line 42) | void Add(HexKeyValuePair<TKey,TValue> item);

FILE: HexUtilities/Pathfinding/INavigableBoard.cs
  type INavigableBoard (line 11) | public interface INavigableBoard<THex>: IBoard<IHex> where THex : IHex {
    method Heuristic (line 16) | int? Heuristic(int range);
    method Heuristic (line 22) | int? Heuristic(HexCoords source, HexCoords target);
    method Heuristic (line 28) | int? Heuristic(IHex source, IHex target);

FILE: HexUtilities/Pathfinding/IPriorityQueue.cs
  type IPriorityQueue (line 11) | [SuppressMessage("Microsoft.Naming", "CA1711:IdentifiersShouldNotHaveInc...
    method Any (line 19) | bool Any();
    method Enqueue (line 24) | void Enqueue(TPriority priority, TValue value);
    method Enqueue (line 28) | void Enqueue(HexKeyValuePair<TPriority,TValue> item);
    method TryDequeue (line 32) | bool TryDequeue(out HexKeyValuePair<TPriority,TValue> result);
    method TryPeek (line 35) | bool TryPeek(out HexKeyValuePair<TPriority,TValue> result);

FILE: HexUtilities/Pathfinding/Interfaces.cs
  type Direction (line 19) | public enum Direction {
  type IPathfinder (line 27) | public interface IPathfinder {
    method GetPath (line 33) | Maybe<IDirectedPath> GetPath(ILandmarkBoard board, IHex source, IHex t...
  type ILandmark (line 37) | public interface ILandmark {
    method DistanceFrom (line 42) | int  DistanceFrom(HexCoords coords);
    method DistanceTo (line 44) | int  DistanceTo  (HexCoords coords);
  type IDirectedLandmark (line 48) | public interface IDirectedLandmark {
    method Distance (line 50) | int  Distance(HexCoords coords);
  type ILandmarkCollection (line 54) | public interface ILandmarkCollection : IFastList<ILandmark> {
  class LandmarkExtensions (line 57) | public static partial class LandmarkExtensions {
    method DistanceFrom (line 84) | public static string DistanceFrom(this ILandmarks @this,HexCoords coor...
    method DistanceTo (line 91) | public static string DistanceTo(this ILandmarks @this,HexCoords coords...
  type INavigableBoard (line 96) | public interface INavigableBoard {
    method Heuristic (line 106) | int?  Heuristic(IHex source, IHex target);
  type ILandmarkBoard (line 115) | public interface ILandmarkBoard : INavigableBoard {
    method Neighbour (line 120) | Maybe<IHex> Neighbour(IHex hex, Hexside hexside);
    method ResetLandmarksAsync (line 123) | Task<Exception> ResetLandmarksAsync();
    method ResetLandmarks (line 126) | void ResetLandmarks();
  type IPathHalves (line 130) | public interface IPathHalves<THex> where THex: class,IHex {
    method SetBestSoFar (line 150) | void             SetBestSoFar(IDirectedPath pathRev, IDirectedPath pat...
  type ILandmarkBoard (line 155) | public interface ILandmarkBoard<THex>: ILandmarkBoard, INavigableBoard<T...
    method Neighbour (line 120) | Maybe<IHex> Neighbour(IHex hex, Hexside hexside);
    method ResetLandmarksAsync (line 123) | Task<Exception> ResetLandmarksAsync();
    method ResetLandmarks (line 126) | void ResetLandmarks();

FILE: HexUtilities/Pathfinding/Landmark.cs
  class Landmark (line 17) | [DebuggerDisplay("Coords={Coords}")]
    method Landmark (line 19) | internal Landmark(HexCoords coords, IBoardStorage<int> distanceTo, IBo...
    method DistanceTo (line 31) | public int DistanceTo(HexCoords coords)  => BackingStore[(int)Directio...
    method DistanceFrom (line 34) | public int DistanceFrom(HexCoords coords) => BackingStore[(int)Directi...

FILE: HexUtilities/Pathfinding/LandmarkCollection.cs
  class LandmarkCollection (line 17) | public sealed class LandmarkCollection : ILandmarkCollection {
    method LandmarkCollection (line 18) | internal LandmarkCollection(IEnumerable<ILandmark> items)
    method GetEnumerator (line 23) | public IEnumerator<ILandmark>   GetEnumerator() => ((IEnumerable<ILand...
    method GetEnumerator (line 24) | IEnumerator         IEnumerable.GetEnumerator() => GetEnumerator();
    method GetEnumerator (line 25) | IFastEnumerator IFastEnumerable.GetEnumerator() => ((IFastEnumerable)_...
    method ForEach (line 28) | public void ForEach(Action<ILandmark> action) => _fastList.ForEach(act...
    method ForEach (line 30) | public void ForEach(FastIteratorFunctor<ILandmark> functor) => _fastLi...
    method IndexOf (line 38) | public int IndexOf(ILandmark item) => _fastList.IndexOf(item);

FILE: HexUtilities/Pathfinding/LandmarkPopulator.cs
  class LandmarkPopulator (line 21) | public static class LandmarkPopulator {
    method CreateLandmarksDictQueue (line 25) | public static ILandmarkCollection CreateLandmarksDictQueue(this IBoard...
    method CreateLandmarksHotQueue (line 32) | public static ILandmarkCollection CreateLandmarksHotQueue(this IBoard<...
    method CreateLandmarks (line 41) | public static ILandmarkCollection CreateLandmarks(this IBoard<IHex> bo...
    method EntryCost (line 55) | static int EntryCost(IHex hex, Hexside hexside) => hex.EntryCost(hexsi...
    method ExitCost (line 56) | static int ExitCost (IHex hex, Hexside hexside) => hex.ExitCost(hexside);
    method PopulateLandmark (line 58) | static IBoardStorage<int> PopulateLandmark(this IBoard<IHex> board,
    method ExpandNode (line 84) | static void ExpandNode(this IBoard<IHex> board,StepCost directedStepCost,
    method Trace (line 110) | [Conditional("TRACE")]
    method TraceNewLine (line 114) | [Conditional("TRACE")]

FILE: HexUtilities/Pathfinding/MinListHeap.cs
  class MinListHeap (line 12) | internal sealed class MinListHeap<TKey,TValue> : IPriorityQueue<TKey,TVa...
    method MinListHeap (line 15) | public MinListHeap(int capacity) => _items = new List<HexKeyValuePair<...
    method MinListHeap (line 18) | public MinListHeap(IEnumerable<HexKeyValuePair<TKey,TValue>> list) {
    method Any (line 30) | bool IPriorityQueue<TKey,TValue>.Any() => Any;
    method Clear (line 33) | public void Clear() => _items.Clear();
    method Enqueue (line 36) | public void Enqueue(TKey key,TValue value) => Enqueue(HexKeyValuePair....
    method Enqueue (line 39) | public void Enqueue(HexKeyValuePair<TKey,TValue> item) {
    method TryDequeue (line 52) | public bool TryDequeue(out HexKeyValuePair<TKey,TValue> result) {
    method TryPeek (line 74) | public bool TryPeek(out HexKeyValuePair<TKey,TValue> result) {
    method MinHeapifyDown (line 87) | private void MinHeapifyDown(int currentIndex) {

FILE: HexUtilities/Pathfinding/NavigableBoard.cs
  class NavigableBoard (line 40) | public class NavigableBoard : INavigableBoard {
    method NavigableBoard (line 42) | public NavigableBoard(HexSize mapSizeHexes, StepCosts entryCosts, Step...
    method NavigableBoard (line 45) | public NavigableBoard(HexSize mapSizeHexes, StepCosts entryCosts, Step...
    method Heuristic (line 56) | [SuppressMessage("Microsoft.Usage", "CA2233:OperationsShouldNotOverflow",
    method TryExitCost (line 64) | public int TryExitCost(HexCoords hexCoords, Hexside hexside) =>
    method TryEntryCost (line 68) | public int TryEntryCost(HexCoords hexCoords, Hexside hexside) =>

FILE: HexUtilities/Pathfinding/PathHalves.cs
  class PathHalves (line 21) | internal sealed class PathHalves<THex>: IPathHalves<THex>
    method PathHalves (line 27) | public PathHalves(ILandmarkBoard<THex> board, THex source, THex target) {
    method SetBestSoFar (line 53) | public void    SetBestSoFar(IDirectedPath pathRev, IDirectedPath pathF...

FILE: HexUtilities/Pathfinding/PathTracingExtensions.cs
  class PathTracingExtensions (line 14) | public static class PathTracingExtensions {
    method TraceFindPathDetailInit (line 18) | [Conditional("TRACE")]
    method TraceFindPathDetailDirection (line 25) | [Conditional("TRACE")]
    method TraceFindPathDetailDirection (line 34) | [Conditional("TRACE")]
    method TraceFindPathDetailBestSoFar (line 43) | [Conditional("TRACE")]
    method TraceFindPathEnqueue (line 52) | [Conditional("TRACE")]
    method TraceFindPathDequeue (line 63) | [Conditional("TRACE")]
    method TraceFindPathDequeue (line 76) | [Conditional("TRACE")]
    method TraceFindPathDone (line 83) | [Conditional("TRACE")]

FILE: HexUtilities/Pathfinding/PathfinderExtensions.cs
  class PathfinderExtensions (line 13) | public static class PathfinderExtensions {
    method MergePaths (line 15) | public static Maybe<IDirectedPath> MergePaths<THex>(this IDirectedPath...

FILE: HexUtilities/Pathfinding/PriorityQueueFactory.cs
  class PriorityQueueFactory (line 10) | public static class PriorityQueueFactory {
    method NewDictionaryQueue (line 12) | internal static IPriorityQueue<TPriority,TValue> NewDictionaryQueue<TP...
    method NewHotPriorityQueue (line 17) | internal static IPriorityQueue<int,TValue> NewHotPriorityQueue<TValue>()
    method NewHotPriorityQueue (line 21) | internal static IPriorityQueue<int,TValue> NewHotPriorityQueue<TValue>...

FILE: HexUtilities/Pathfinding/StandardPathfinder.cs
  class StandardPathfinderExtensions (line 42) | public static class StandardPathfinderExtensions {
    method GetPathStandardAStar (line 51) | public static IPath<THex> GetPathStandardAStar<THex>(this INavigableBo...
    method GetPath (line 66) | public static IPath<THex> GetPath<THex>(this INavigableBoard<THex> boa...
    method Estimate (line 106) | static int? Estimate<THex>(this INavigableBoard<THex> board, IntVector...
    method TryDirectedCost (line 112) | static int TryDirectedCost(this IHex hex, Hexside hexside) => hex.Entr...
    method Preference (line 114) | static int Preference(IntVector2D vectorGoal, IntVector2D vectorHex)

FILE: HexUtilities/PointExtensions.cs
  class PointExtensions (line 12) | public static class PointExtensions {
    method Scale (line 14) | public static HexPoint Scale(this HexPoint @this,int value)
    method Scale (line 18) | public static HexPoint Scale(this HexPoint @this,int valueX,int valueY)
    method Scale (line 22) | public static HexPointF Scale(this HexPoint @this,float value)
    method Scale (line 26) | public static HexPointF Scale(this HexPoint @this,float valueX,float v...
    method Scale (line 30) | public static HexPointF Scale(this HexPointF @this,float value)
    method Scale (line 34) | public static HexPointF Scale(this HexPointF @this,float valueX,float ...

FILE: HexUtilities/SizeExtensions.cs
  class SizeExtensions (line 12) | public static class SizeExtensions {
    method Scale (line 14) | public static HexSize Scale(this HexSize @this,int value)
    method Scale (line 18) | public static HexSize Scale(this HexSize @this,int valueX,int valueY)
    method Scale (line 22) | public static HexSizeF Scale(this HexSize @this,float value)
    method Scale (line 26) | public static HexSizeF Scale(this HexSize @this,float valueX,float val...
    method Scale (line 30) | public static HexSizeF Scale(this HexSizeF @this,float value)
    method Scale (line 34) | public static HexSizeF Scale(this HexSizeF @this,float valueX,float va...

FILE: HexUtilities/Storage/BlockedBoardStorage.cs
  class BlockedBoardStorage (line 21) | internal abstract class BlockedBoardStorage<T> : BoardStorage<T> {
    method BlockedBoardStorage (line 24) | [SuppressMessage("Microsoft.Usage", "CA2214:DoNotCallOverridableMethod...
    method InitializeStore (line 41) | internal IFastList<IFastList<IFastListX<T>>> InitializeStore(
    method InitializeBlock (line 56) | private IFastListX<T> InitializeBlock(Func<HexCoords,T> tFactory, int ...
    method ForEach (line 64) | public override void ForEach(Action<T> action)
    method ForEach (line 69) | public override void ForEach(FastIteratorFunctor<T> functor)
    method ForEachSerial (line 74) | public override void ForEachSerial(Action<T> action)
    method ForEachSerial (line 78) | public override void ForEachSerial(FastIteratorFunctor<T> functor)

FILE: HexUtilities/Storage/BlockedBoardStorage32x32.cs
  class BlockedBoardStorage (line 12) | public static class BlockedBoardStorage {
    method New32x32 (line 23) | public static BoardStorage<T> New32x32<T>(HexSize sizeHexes, Func<HexC...
  class BlockedBoardStorage32x32 (line 32) | internal sealed class BlockedBoardStorage32x32<T> : BlockedBoardStorage<...
    method BlockedBoardStorage32x32 (line 46) | internal BlockedBoardStorage32x32(HexSize sizeHexes, Func<HexCoords,T>...
    method ItemInner (line 51) | protected override T ItemInner(int x, int y) {
    method SetItemInner (line 63) | protected override void SetItemInner(int x, int y, T value) {

FILE: HexUtilities/Storage/BoardStorage.cs
  class BoardStorage (line 42) | public abstract class BoardStorage<T> : IBoardStorage<T>, IForEachable<T...
    method BoardStorage (line 45) | protected BoardStorage(HexSize sizeHexes) {
    method ItemInner (line 65) | protected abstract T ItemInner(int x, int y);
    method SetItemInner (line 71) | protected abstract void SetItemInner(int x, int y, T value);
    method ForAllNeighbours (line 75) | public          void ForAllNeighbours(HexCoords coords, Action<T,Hexsi...
    method ForAllNeighbours (line 81) | void IBoardStorage<T>.ForAllNeighbours(HexCoords coords, Action<T, Hex...
    method Neighbour (line 85) | public          T    Neighbour(HexCoords coords, Hexside hexside) =>
    method ForEach (line 90) | public abstract void ForEach(Action<T> action);
    method ForEach (line 93) | public abstract void ForEach(FastIteratorFunctor<T> functor);
    method ForEachSerial (line 96) | public abstract void ForEachSerial(Action<T> action);
    method ForEachSerial (line 99) | public abstract void ForEachSerial(FastIteratorFunctor<T> functor);
    method SetItem (line 103) | internal virtual void SetItem(HexCoords coords, T value) {

FILE: HexUtilities/Storage/FlatBoardStorage.cs
  class FlatBoardStorage (line 41) | public sealed class FlatBoardStorage<T> : BoardStorage<T> {
    method FlatBoardStorage (line 49) | public FlatBoardStorage(HexSize sizeHexes, Func<HexCoords,T> factory, ...
    method InitializeStoreX (line 56) | private static IFastList<IFastListX<T>> InitializeStoreX(HexSize sizeH...
    method ItemInner (line 65) | protected override T ItemInner(int x, int y) => BackingStore[y][x];
    method ForEach (line 68) | public override void ForEach(Action<T> action)
    method ForEach (line 73) | public override void ForEach(FastIteratorFunctor<T> functor)
    method ForEachSerial (line 78) | public override void ForEachSerial(Action<T> action)
    method ForEachSerial (line 82) | public override void ForEachSerial(FastIteratorFunctor<T> functor)
    method SetItemInner (line 87) | protected override void SetItemInner(int x,int y,T value)

FILE: HexUtilities/Storage/HexBoard.cs
  class HexBoard (line 24) | public abstract class HexBoard<THex> : ILandmarkBoard, ILandmarkBoard<TH...
    method DefaultLandmarks (line 30) | protected static IFastList<HexCoords> DefaultLandmarks(HexSize size)
    method HexBoard (line 51) | [SuppressMessage("Microsoft.Design", "CA1006:DoNotNestGenericTypesInMe...
    method ResetLandmarksAsync (line 65) | public async Task<Exception> ResetLandmarksAsync()
    method ResetLandmarks (line 69) | public void  ResetLandmarks() => ResetLandmarks(LandmarkCoords);
    method ResetLandmarks (line 74) | protected Exception ResetLandmarks(IFastList<HexCoords> landmarkCoords) {
    method OnLandmarksReady (line 88) | protected virtual void OnLandmarksReady(EventArgs<ILandmarks> e) => La...
    method ForAllNeighbours (line 141) | [SuppressMessage("Microsoft.Design", "CA1006:DoNotNestGenericTypesInMe...
    method Heuristic (line 146) | public abstract  int? Heuristic(HexCoords source, HexCoords target);
    method Neighbour (line 149) | public           Maybe<THex> Neighbour(HexCoords coords, Hexside hexside)
    method Neighbour (line 153) | public Maybe<IHex> Neighbour(IHex hex, Hexside hexside)
    method Heuristic (line 158) | public abstract int? Heuristic(int range);
    method Heuristic (line 160) | public abstract int? Heuristic(IHex source,IHex target);
    method IsOnboard (line 162) | public bool IsOnboard(HexCoords coords) => this[coords].HasValue;
    method ForAllNeighbours (line 164) | public void ForAllNeighbours(HexCoords coords,Action<THex,Hexside> act...
    method ForAllNeighbours (line 167) | void IBoard<IHex>.ForAllNeighbours(HexCoords coords,Action<IHex,Hexsid...

FILE: HexUtilities/Storage/HexBoardExtensions.cs
  class HexBoardExtensions (line 18) | public static partial class HexBoardExtensions {
    method TranslateToHex (line 22) | public static Matrix TranslateToHex<THex>(this HexBoard<THex> @this, H...
    method UpperLeftOfHex (line 32) | public static HexPoint UpperLeftOfHex<THex>(this HexBoard<THex> @this,...
    method CentreOfHex (line 43) | public static HexPoint CentreOfHex<THex>(this HexBoard<THex> @this, He...
    method GetClipInHexes (line 51) | public static CoordsRect GetClipInHexes<THex>(this HexBoard<THex> @this,
    method MapSizePixels (line 63) | public static HexSize MapSizePixels<THex>(this HexBoard<THex> @this)
  class PanelModelExtensions (line 87) | public static partial class PanelModelExtensions {
    method TranslateToHex (line 91) | public static Matrix TranslateToHex(this IPanelModel @this, HexCoords ...
    method UpperLeftOfHex (line 100) | public static HexPoint UpperLeftOfHex(this IPanelModel @this, HexCoord...
    method CentreOfHex (line 110) | public static HexPoint CentreOfHex(this IPanelModel @this, HexCoords c...
    method GetClipInHexes (line 118) | public static CoordsRect GetClipInHexes(this IPanelModel @this,HexPoin...
    method GetClipInHexes (line 125) | public static CoordsRect GetClipInHexes(this IPanelModel @this,
    method GetClipInHexes (line 137) | public static CoordsRect GetClipInHexes(this IPanelModel @this, Rectan...
    method MapSizePixels (line 142) | public static HexSize MapSizePixels(this IPanelModel @this)
    method ForEachHex (line 148) | public static void ForEachHex<THex,TBoard>(this IPanelModel @this, Act...

FILE: HexUtilities/Storage/IBoardStorage.cs
  type IBoardStorage (line 37) | public interface IBoardStorage<out T> {
    method ForAllNeighbours (line 49) | void ForAllNeighbours(HexCoords coords, Action<T,Hexside> action);
    method ForEach (line 52) | void ForEach(Action<T> action);
    method Neighbour (line 62) | T Neighbour(HexCoords coords, Hexside hexside);

FILE: HexUtilities/Storage/IMapDisplay.cs
  type IMapDisplay (line 37) | public interface IMapDisplay<THex> where THex:IHex {

FILE: HexUtilities/Storage/IMapDisplayWinForms.cs
  type IMapDisplayWinForms (line 41) | public interface IMapDisplayWinForms<THex> : IMapDisplay<THex> where THe...
    method GetClipInHexes (line 63) | CoordsRectangle GetClipInHexes(HexPointF point, HexSizeF size);
    method GetClipInHexes (line 67) | CoordsRectangle GetClipInHexes(RectangleF visibleClipBounds);

FILE: HexUtilities/Storage/Map.cs
  class Map (line 13) | public class Map<THex> : IEquatable<Map<THex>> where THex: class,IHex {
    method Map (line 15) | public Map(string mapName, MapExtractor<THex> mapSource) {
    method Equals (line 29) | public override bool Equals(object obj) => (obj is Map<THex> other) &&...
    method Equals (line 32) | public bool Equals(Map<THex> other) => MapName == other.MapName;
    method GetHashCode (line 35) | public override int GetHashCode() => MapName.GetHashCode();

FILE: HexUtilities/Storage/MapDisplay.cs
  class MapDisplayFlat (line 29) | public abstract class MapDisplayFlat<THex> : MapDisplay<THex>, IDisposable
    method MapDisplayFlat (line 32) | protected MapDisplayFlat(HexSize sizeHexes, HexSize gridSize, Initiali...
  class MapDisplayBlocked (line 39) | public abstract class MapDisplayBlocked<THex> : MapDisplay<THex>
    method MapDisplayBlocked (line 42) | protected MapDisplayBlocked(HexSize sizeHexes, HexSize gridSize, Initi...
  class MapDisplay (line 49) | public abstract class MapDisplay<THex> : HexBoard<THex>, IMapDisplayWinF...
    method HexgridPathPoints (line 64) | private static HexPoint[] HexgridPathPoints(HexSize gridSize)
    method MapDisplay (line 74) | protected MapDisplay(HexSize sizeHexes, HexSize gridSize, InitializeHe...
    method PathSet (line 145) | public void PathSet()
    method PathClear (line 155) | public void PathClear() => _path = Maybe<IDirectedPath>.NoValue();
    method GetClipInHexes (line 159) | public CoordsRectangle GetClipInHexes(HexPointF point, HexSizeF size)
    method GetClipInHexes (line 163) | public CoordsRectangle GetClipInHexes(RectangleF visibleClipBounds)
    method Heuristic (line 168) | [SuppressMessage("Microsoft.Usage", "CA2233:OperationsShouldNotOverflo...
    method Host_FovRadiusChanged (line 173) | private void Host_FovRadiusChanged(object sender, Int32ValueEventArgs e)
    method Host_RangeCutoffChanged (line 177) | private void Host_RangeCutoffChanged(object sender, Int32ValueEventArg...
    method ForEachHexSerial (line 186) | void IPanelModel.ForEachHexSerial<THex>(Action<Maybe<THex>> action)
    method Dispose (line 190) | public void Dispose() { Dispose(true); GC.SuppressFinalize(this); }
    method Dispose (line 195) | protected virtual void Dispose(bool disposing) {

FILE: HexUtilities/Storage/MapDisplayExtensions.cs
  class MapDisplayExtensions (line 36) | public static partial class MapDisplayExtensions {
    method TranslateToHex (line 41) | public static Matrix TranslateToHex<THex>(this IMapDisplayWinForms<THe...
    method UpperLeftOfHex (line 51) | public static HexPoint UpperLeftOfHex<THex>(this IMapDisplayWinForms<T...
    method CentreOfHex (line 62) | public static HexPoint CentreOfHex<THex>(this IMapDisplayWinForms<THex...
    method MapSizePixels (line 68) | public static HexSize MapSizePixels<THex>(this IMapDisplay<THex> @this)

FILE: HexUtilities/UserCoordsRectangle.cs
  type CoordsRectangle (line 14) | [DebuggerDisplay("({Location}):({Size})")]
    method CoordsRectangle (line 19) | public CoordsRectangle(HexCoords location, HexCoords size)
    method CoordsRectangle (line 27) | public CoordsRectangle(int x, int y, int width, int height)
    method CoordsRectangle (line 31) | private CoordsRectangle(HexRectangle rectangle) : this() => Rectangle ...
    method EncompassesHex (line 44) | public bool EncompassesHex(HexCoords hexCoords)
    method Equals (line 56) | public override bool Equals(object obj) => (obj is CoordsRectangle oth...
    method Equals (line 59) | public bool Equals(CoordsRectangle other) => Rectangle == other.Rectan...
    method GetHashCode (line 62) | public override int GetHashCode() => Rectangle.GetHashCode();
    method ToString (line 72) | public override string ToString() => string.Format(CultureInfo.Current...
  class Extensions (line 76) | public static partial class Extensions {
    method Bottom (line 78) | public static int Bottom(this CoordsRectangle @this) => @this.Rectangl...
    method Height (line 80) | public static int Height(this CoordsRectangle @this) => @this.Rectangl...
    method Left (line 82) | public static int Left(this CoordsRectangle @this)   => @this.Rectangl...
    method Right (line 84) | public static int Right(this CoordsRectangle @this)  => @this.Rectangl...
    method Top (line 86) | public static int Top(this CoordsRectangle @this)    => @this.Rectangl...
    method Width (line 88) | public static int Width(this CoordsRectangle @this)  => @this.Rectangl...
    method X (line 90) | public static int X(this CoordsRectangle @this)      => @this.Rectangl...
    method Y (line 92) | public static int Y(this CoordsRectangle @this)      => @this.Rectangl...
    method UpperLeft (line 95) | public static HexCoords UpperLeft(this CoordsRectangle @this)  => HexC...
    method UpperRight (line 97) | public static HexCoords UpperRight(this CoordsRectangle @this) => HexC...
    method LowerLeft (line 99) | public static HexCoords LowerLeft(this CoordsRectangle @this)  => HexC...
    method LowerRight (line 101) | public static HexCoords LowerRight(this CoordsRectangle @this) => HexC...

FILE: HexgridExampleWinforms/IMapView.cs
  type IMapView (line 34) | public interface IMapView {
    method SetLandmarkMenu (line 52) | void SetLandmarkMenu(ILandmarkCollection landmarks);
    method Refresh (line 56) | void Refresh();

FILE: HexgridExampleWinforms/IMapViewModel.cs
  type IMapViewModel (line 34) | public interface IMapViewModel {
    method SetLandmarkMenu (line 52) | void SetLandmarkMenu(ILandmarkCollection landmarks);
    method Refresh (line 56) | void Refresh();

FILE: HexgridExampleWinforms/MDIParent.Designer.cs
  class MdiParent (line 2) | partial class MdiParent {
    method Dispose (line 12) | protected override void Dispose(bool disposing) {
    method InitializeComponent (line 25) | [System.CodeDom.Compiler.GeneratedCode("","")]

FILE: HexgridExampleWinforms/MDIParent.cs
  class MdiParent (line 37) | public partial class MdiParent : Form {
    method MdiParent (line 43) | public MdiParent() {
    method CreateDefaultChildren (line 52) | [System.CodeDom.Compiler.GeneratedCode("","")]
    method ShowChild (line 58) | [System.CodeDom.Compiler.GeneratedCode("","")]
    method ShowNewForm (line 66) | [System.CodeDom.Compiler.GeneratedCode("","")]
    method OpenFile (line 75) | [SuppressMessage("Microsoft.Performance", "CA1804:RemoveUnusedLocals",...
    method SaveAsToolStripMenuItem_Click (line 86) | [SuppressMessage("Microsoft.Performance", "CA1804:RemoveUnusedLocals",...
    method ExitToolsStripMenuItem_Click (line 97) | private void ExitToolsStripMenuItem_Click(object sender, EventArgs e) ...
    method CutToolStripMenuItem_Click (line 99) | private void CutToolStripMenuItem_Click(object sender, EventArgs e) { }
    method CopyToolStripMenuItem_Click (line 101) | private void CopyToolStripMenuItem_Click(object sender, EventArgs e) { }
    method PasteToolStripMenuItem_Click (line 103) | private void PasteToolStripMenuItem_Click(object sender, EventArgs e) { }
    method ToolBarToolStripMenuItem_Click (line 105) | private void ToolBarToolStripMenuItem_Click(object sender, EventArgs e)
    method StatusBarToolStripMenuItem_Click (line 108) | private void StatusBarToolStripMenuItem_Click(object sender, EventArgs e)
    method CascadeToolStripMenuItem_Click (line 111) | private void CascadeToolStripMenuItem_Click(object sender, EventArgs e)
    method TileVerticalToolStripMenuItem_Click (line 114) | private void TileVerticalToolStripMenuItem_Click(object sender, EventA...
    method TileHorizontalToolStripMenuItem_Click (line 117) | private void TileHorizontalToolStripMenuItem_Click(object sender, Even...
    method ArrangeIconsToolStripMenuItem_Click (line 120) | private void ArrangeIconsToolStripMenuItem_Click(object sender, EventA...
    method CloseAllToolStripMenuItem_Click (line 123) | private void CloseAllToolStripMenuItem_Click(object sender, EventArgs ...
    method MdiParent_FormClosing (line 127) | private void MdiParent_FormClosing(object sender, FormClosingEventArgs...

FILE: HexgridExampleWinforms/MapModel.cs
  class MapModel (line 40) | public abstract class MapModel : MapDisplayBlocked<Hex> {
    method MapModel (line 41) | protected MapModel( HexSize sizeHexes, HexSize gridSize, InitializeHex...
    method AttachViewModel (line 49) | void AttachViewModel() {
    method GoalHexChanged (line 64) | void GoalHexChanged(object sender, HexEventArgs e)   => RefreshAfter((...
    method StartHexChange (line 65) | void StartHexChange(object sender, HexEventArgs e)   => RefreshAfter((...
    method HotSpotHexChange (line 66) | void HotSpotHexChange(object sender, HexEventArgs e) => RefreshAfter((...
    method ShowRangeLineToggled (line 69) | void ShowRangeLineToggled(object sender, bool isChecked) { }
    method ShowPathArrowToggled (line 70) | void ShowPathArrowToggled(object sender, bool isChecked) { }
    method ShowFieldOfViewToggled (line 71) | void ShowFieldOfViewToggled(object sender, bool isChecked) { }
    method LandmarkSelected (line 73) | void LandmarkSelected(object sender, int value) { }
    method MouseMoved (line 75) | void MouseMoved(object sender, MouseEventArgs value) { }
    method RefreshAfter (line 77) | void RefreshAfter(Action action) { action?.Invoke(); ViewModel.Refresh...

FILE: HexgridExampleWinforms/MapViewModel.cs
  class MapViewModel (line 34) | public class MapViewModel : IMapViewModel {
    method MapViewModel (line 35) | public MapViewModel(IMapView view) {
    method SetLandmarkMenu (line 53) | public void SetLandmarkMenu(ILandmarkCollection landmarks){ }
    method Refresh (line 57) | public void Refresh()=> View.Refresh();
    method AttachView (line 61) | void AttachView() {
    method OnGoalHexChanged (line 76) | void OnGoalHexChanged(object sender, HexEventArgs e)    => RefreshAfte...
    method OnStartHexChanged (line 77) | void OnStartHexChanged(object sender, HexEventArgs e)   => RefreshAfte...
    method OnHotSpotHexChanged (line 78) | void OnHotSpotHexChanged(object sender, HexEventArgs e) => RefreshAfte...
    method OnTransposeMapToggled (line 80) | void OnTransposeMapToggled(object sender, bool isChecked)  => View.IsT...
    method OnShowRangeLineToggled (line 81) | void OnShowRangeLineToggled(object sender, bool isChecked) { }
    method OnShowPathArrowToggled (line 82) | void OnShowPathArrowToggled(object sender, bool isChecked) { }
    method OnShowFieldOfViewToggled (line 83) | void OnShowFieldOfViewToggled(object sender, bool isChecked) { }
    method OnLandmarkSelected (line 85) | void OnLandmarkSelected(object sender, int value) { }
    method OnMouseMoved (line 87) | void OnMouseMoved(object sender, MouseEventArgs value) { }
    method RefreshAfter (line 89) | void RefreshAfter(Action action) { action?.Invoke(); View.Refresh(); }

FILE: HexgridExampleWinforms/NativeMethods.cs
  class NativeMethods (line 39) | internal static partial class NativeMethods {
    method WindowFromPoint (line 44) | [SuppressMessage("Microsoft.Portability", "CA1901:PInvokeDeclarationsS...
    method SendMessage (line 55) | [DllImport("user32.dll", CharSet = CharSet.Auto)]

FILE: HexgridExampleWinforms/Program.cs
  class Program (line 40) | static class Program {
    method Main (line 42) | [STAThread]

FILE: HexgridExampleWinforms/Properties/Resources.Designer.cs
  class Resources (line 22) | [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resource...
    method Resources (line 31) | [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Mic...

FILE: HexgridExampleWinforms/Properties/Settings.Designer.cs
  class Settings (line 14) | [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

FILE: HexgridExampleWinforms2/HexgridScrollViewer.xaml.cs
  class HexgridScrollViewer (line 38) | public partial class HexgridScrollViewer : Canvas { //, IHexgridHost {
    method HexgridScrollViewer (line 40) | public HexgridScrollViewer() : base() {
    method OnRender (line 46) | protected override void OnRender(DrawingContext dc) {
    method SetScrollPosition (line 52) | public void SetScrollPosition(Point scrollPosition) {
  class RenderingEventArgs (line 422) | public class RenderingEventArgs : RoutedEventArgs {
    method RenderingEventArgs (line 423) | public RenderingEventArgs(DrawingContext dc) : base()

FILE: HexgridExampleWinforms2/HexgridScrollViewerViewModel.cs
  class HexgridScrollViewerViewModel (line 46) | public class HexgridScrollViewerViewModel : ViewModelBase {
    method HexgridScrollViewerViewModel (line 47) | public HexgridScrollViewerViewModel() : base("HexgridExampleWinforms2 ...
    method GetHexCoords (line 119) | public HexCoords GetHexCoords(Point point)
    method HexCenterPoint (line 126) | public Point HexCenterPoint(HexCoords coordsNewULHex) {
    method HexgridScrollViewer_Rendering (line 135) | protected void HexgridScrollViewer_Rendering(object sender, RenderingE...
    method OnRenderViewDetail (line 147) | protected virtual void OnRenderViewDetail(DrawingContext dc) {
    method RenderMap (line 165) | protected virtual void RenderMap(DrawingContext dc) {
    method RenderUnits (line 174) | protected virtual void RenderUnits(DrawingContext dc) {
    method RenderHighlight (line 179) | protected virtual void RenderHighlight(DrawingContext dc) {

FILE: HexgridExampleWinforms2/IMapDisplayWpf.cs
  type IMapDisplayWpf (line 40) | public interface IMapDisplayWpf : IMapDisplay<IHex> {
    method GetClipInHexes (line 45) | CoordsRectangle GetClipInHexes(Point point, Size size);
    method GetClipInHexes (line 48) | CoordsRectangle GetClipInHexes(HexRectF visibleClipBounds);
    method PaintHighlight (line 52) | void  PaintHighlight(DrawingContext graphics);
    method PaintMap (line 57) | void  PaintMap(DrawingContext graphics);
    method PaintUnits (line 60) | void  PaintUnits(DrawingContext graphics);
  class PointExtensions (line 73) | public static partial class PointExtensions {
    method ToHexPoint (line 74) | public static HexPoint ToHexPoint(this WpfPoint @this) {
    method ToWpfPoint (line 77) | public static WpfPoint ToWpfPoint(this HexPoint @this) {
    method ToWpfPoint (line 80) | public static WpfPoint ToWpfPoint(this HexPointF @this) {
  class SizeExtensions (line 85) | public static partial class SizeExtensions {
    method ToHexSize (line 86) | public static HexSize ToHexSize(this WpfSize @this) {
    method ToWpfSize (line 89) | public static WpfSize ToWpfSize(this HexSize @this) {
    method ToWpfSize (line 92) | public static WpfSize ToWpfSize(this HexSizeF @this) {

FILE: HexgridExampleWinforms2/MDIParent.Designer.cs
  class MdiParent (line 2) | partial class MdiParent {
    method Dispose (line 12) | protected override void Dispose(bool disposing) {
    method InitializeComponent (line 25) | [System.CodeDom.Compiler.GeneratedCode("","")]

FILE: HexgridExampleWinforms2/MDIParent.cs
  class MdiParent (line 37) | public partial class MdiParent : Form {
    method MdiParent (line 43) | public MdiParent() {
    method CreateDefaultChildren (line 52) | [System.CodeDom.Compiler.GeneratedCode("","")]
    method ShowChild (line 58) | [System.CodeDom.Compiler.GeneratedCode("","")]
    method ShowNewForm (line 66) | [System.CodeDom.Compiler.GeneratedCode("","")]
    method OpenFile (line 75) | [SuppressMessage("Microsoft.Performance", "CA1804:RemoveUnusedLocals",...
    method SaveAsToolStripMenuItem_Click (line 86) | [SuppressMessage("Microsoft.Performance", "CA1804:RemoveUnusedLocals",...
    method ExitToolsStripMenuItem_Click (line 97) | private void ExitToolsStripMenuItem_Click(object sender, EventArgs e) ...
    method CutToolStripMenuItem_Click (line 99) | private void CutToolStripMenuItem_Click(object sender, EventArgs e) { }
    method CopyToolStripMenuItem_Click (line 101) | private void CopyToolStripMenuItem_Click(object sender, EventArgs e) { }
    method PasteToolStripMenuItem_Click (line 103) | private void PasteToolStripMenuItem_Click(object sender, EventArgs e) { }
    method ToolBarToolStripMenuItem_Click (line 105) | private void ToolBarToolStripMenuItem_Click(object sender, EventArgs e)
    method StatusBarToolStripMenuItem_Click (line 108) | private void StatusBarToolStripMenuItem_Click(object sender, EventArgs e)
    method CascadeToolStripMenuItem_Click (line 111) | private void CascadeToolStripMenuItem_Click(object sender, EventArgs e)
    method TileVerticalToolStripMenuItem_Click (line 114) | private void TileVerticalToolStripMenuItem_Click(object sender, EventA...
    method TileHorizontalToolStripMenuItem_Click (line 117) | private void TileHorizontalToolStripMenuItem_Click(object sender, Even...
    method ArrangeIconsToolStripMenuItem_Click (line 120) | private void ArrangeIconsToolStripMenuItem_Click(object sender, EventA...
    method CloseAllToolStripMenuItem_Click (line 123) | private void CloseAllToolStripMenuItem_Click(object sender, EventArgs ...
    method MdiParent_FormClosing (line 127) | private void MdiParent_FormClosing(object sender, FormClosingEventArgs...

FILE: HexgridExampleWinforms2/MapDisplayPainter.cs
  class MapDisplayPainter (line 39) | public static partial class MapDisplayPainter {
    method PaintMap (line 44) | public static void PaintMap<THex>(this MapDisplay<THex> @this, Drawing...
    method PaintHighlight (line 53) | public static void PaintHighlight<THex>(this MapDisplay<THex> @this, D...
    method PaintUnits (line 63) | public static void PaintUnits<THex>(this MapDisplay<THex> @this, Drawi...

FILE: HexgridExampleWinforms2/NativeMethods.cs
  class NativeMethods (line 41) | internal static partial class NativeMethods {
    method WindowFromPoint (line 46) | [SuppressMessage("Microsoft.Portability", "CA1901:PInvokeDeclarationsS...
    method SendMessage (line 57) | [DllImport("user32.dll", CharSet = CharSet.Auto)]

FILE: HexgridExampleWinforms2/Program.cs
  class Program (line 40) | static class Program {
    method Main (line 42) | [STAThread]

FILE: HexgridExampleWinforms2/Properties/Resources.Designer.cs
  class Resources (line 22) | [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resource...
    method Resources (line 31) | [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Mic...

FILE: HexgridExampleWinforms2/TiltAwareScrollViewer.cs
  class TiltAwareScrollViewer (line 37) | public partial class TiltAwareScrollViewer : ScrollViewer {
    method TiltAwareScrollViewer (line 39) | public TiltAwareScrollViewer() : base() {
    method OnMouseHWheel (line 51) | protected virtual void OnMouseHWheel(MouseWheelEventArgs e) {

FILE: HexgridExampleWinforms2/ViewModelBase.cs
  class ViewModelBase (line 36) | public abstract class ViewModelBase : INotifyPropertyChanged, IDisposable {
    method ViewModelBase (line 38) | protected ViewModelBase(string displayName) => DisplayName = displayName;
    method OnPropertyChanged (line 50) | protected virtual void OnPropertyChanged(string propertyName) {
    method VerifyPropertyName (line 56) | [Conditional("DEBUG"), DebuggerStepThrough]
    method Dispose (line 69) | public void Dispose() { Dispose(true); GC.SuppressFinalize(this); }
    method Dispose (line 71) | protected virtual void Dispose(bool disposing) {
  class CommandViewModel (line 84) | public class CommandViewModel : ViewModelBase {
    method CommandViewModel (line 86) | public CommandViewModel(string displayName, ICommand command) : base(d...
  class RelayCommand (line 94) | public class RelayCommand : ICommand {
    method RelayCommand (line 96) | public RelayCommand(Action<object> execute) : this(execute, (o) => tru...
    method RelayCommand (line 98) | public RelayCommand(Action<object> execute, Predicate<object> canExecu...
    method CanExecute (line 104) | [DebuggerStepThrough]
    method Execute (line 114) | public void Execute(object parameter) => _execute(parameter);
  class WorkspaceViewModel (line 151) | public abstract class WorkspaceViewModel : ViewModelBase {
    method WorkspaceViewModel (line 153) | protected WorkspaceViewModel() : this ("WorkspaceViewModel_None") { ; }
    method WorkspaceViewModel (line 155) | protected WorkspaceViewModel(string displayName) : base(displayName)
    method OnRequestClose (line 164) | void OnRequestClose() => RequestClose?.Invoke(this,EventArgs.Empty);

FILE: HexgridExampleWpf/App.xaml.cs
  class App (line 15) | public partial class App : Application {

FILE: HexgridExampleWpf/CommandComboBox.cs
  class CommandComboBox (line 35) | public sealed partial class CommandComboBox : ComboBox, ICommandSource {
    method CommandComboBox (line 36) | public CommandComboBox() : base() { ; }
    method CommandChanged (line 69) | private static void CommandChanged(DependencyObject d, DependencyPrope...
    method OnSelectionChanged (line 77) | protected override void OnSelectionChanged(SelectionChangedEventArgs e) {
    method OnMouseLeftButtonUp (line 89) | protected override void OnMouseLeftButtonUp(MouseButtonEventArgs e) {
    method CanExecuteChanged (line 103) | private void CanExecuteChanged(object sender, EventArgs e) {
    method HookUpCommand (line 115) | private void HookUpCommand(ICommand oldCommand, ICommand newCommand) {

FILE: HexgridExampleWpf/CommandSlider.cs
  class CommandSlider (line 35) | public sealed partial class CommandSlider : Slider, ICommandSource {
    method CommandSlider (line 36) | public CommandSlider() : base() { ; }
    method CommandChanged (line 69) | private static void CommandChanged(DependencyObject d, DependencyPrope...
    method OnValueChanged (line 77) | protected override void OnValueChanged(double oldValue, double newValu...
    method OnMouseLeftButtonUp (line 89) | protected override void OnMouseLeftButtonUp(MouseButtonEventArgs e) {
    method CanExecuteChanged (line 103) | private void CanExecuteChanged(object sender, EventArgs e) {
    method HookUpCommand (line 115) | private void HookUpCommand(ICommand oldCommand, ICommand newCommand) {

FILE: HexgridExampleWpf/MainWindow.xaml.cs
  class MainWindow (line 23) | public partial class MainWindow : Window {
    method MainWindow (line 24) | public MainWindow() {
    method RefreshCmdExecuted (line 28) | void RefreshCmdExecuted(object target, ExecutedRoutedEventArgs e) {
    method RefreshCmdCanExecute (line 32) | public void RefreshCmdCanExecute(object sender, CanExecuteRoutedEventA...
    method Window_Loaded (line 34) | private void Window_Loaded(object sender, RoutedEventArgs e) {
    method SetMapBoard (line 74) | IPanelModel SetMapBoard(IPanelModel mapBoard, int fovRadius) {
    method RefreshLandmarkMenu (line 87) | void RefreshLandmarkMenu(IPanelModel model) {
    method HexgridPanel_MouseMove (line 99) | void HexgridPanel_MouseMove(object sender, System.Windows.Forms.MouseE...

FILE: HexgridExampleWpf/NativeMethods.cs
  class NativeMethods (line 39) | internal static partial class NativeMethods {
    method WindowFromPoint (line 44) | [SuppressMessage("Microsoft.Portability", "CA1901:PInvokeDeclarationsS...
    method SendMessage (line 56) | [DllImport("user32.dll", CharSet = CharSet.Auto)]

FILE: HexgridExampleWpf/Properties/Resources.Designer.cs
  class Resources (line 22) | [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resource...
    method Resources (line 31) | [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Mic...

FILE: HexgridExampleWpf/Properties/Settings.Designer.cs
  class Settings (line 14) | [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

FILE: HexgridPanel/AbstractModelDisplayPainter.cs
  class AbstractModelDisplayPainter (line 43) | public abstract class AbstractModelDisplayPainter<THex>: IMapDisplayPain...
    method AbstractModelDisplayPainter (line 46) | public AbstractModelDisplayPainter(IPanelModel model)
    method PaintMap (line 52) | public virtual void PaintMap(Graphics graphics, bool showHexgrid)
    method PaintLabels (line 64) | public virtual void PaintLabels(Graphics graphics, Func<HexCoords,stri...
    method PaintHighlight (line 75) | public virtual void PaintHighlight(Graphics graphics) {
    method PaintShading (line 96) | public virtual void PaintShading(Graphics graphics, IShadingMask isNot...
    method PaintUnits (line 108) | public virtual void PaintUnits(Graphics graphics) {
    method PaintForEachHex (line 118) | public virtual void PaintForEachHex(Graphics graphics, Action<HexCoord...
    method PaintPath (line 129) | public virtual void PaintPath(Graphics graphics) {
    method PaintPathDetail (line 150) | protected virtual void PaintPathDetail(Graphics graphics, IDirectedPat...
    method PaintPathArrow (line 161) | protected void PaintPathArrow(Graphics graphics, Hexside hexside) {
    method PaintPathDestination (line 172) | protected void PaintPathDestination(Graphics graphics) {
    method ForEachHex (line 181) | protected void ForEachHex(CoordsRectangle clipRectangle, Action<IHex> ...
    method Paint (line 190) | protected void Paint(Graphics graphics, GraphicsPath path, Brush brush)
    method GetHexBrush (line 198) | protected abstract Brush GetHexBrush(THex hex);

FILE: HexgridPanel/BitmapExtensions.cs
  class BitmapExtensions (line 38) | public static partial class BitmapExtensions {
    method Render (line 44) | public static void Render(this Image target, Image source, Point point)
    method Render (line 53) | public static void Render(this Image target, Image source, Point point...
    method Render (line 67) | public static void Render(this Graphics graphics, Image source, Point ...
    method Render (line 86) | public static void Render(this Image target, Image source, Point point...
    method Paint (line 108) | public static void Paint(this Image target, Point point, float scale, ...
    method Paint (line 118) | public static void Paint(this Image target, Point point, float scale, ...
    method ToBitmap (line 133) | public static T ToBitmap<T>(this Action<Graphics> paintAction, Func<T>...
    method AllocateBitmap (line 152) | public static Bitmap AllocateBitmap(this Size size) {

FILE: HexgridPanel/Example/HexGridPanelExample.Designer.cs
  class HexgridPanelExample (line 9) | partial class HexgridPanelExample {
    method Dispose (line 19) | protected override void Dispose(bool disposing) {
    method InitializeComponent (line 32) | [System.CodeDom.Compiler.GeneratedCode("","")]

FILE: HexgridPanel/Example/HexGridPanelExample.cs
  class HexgridPanelExample (line 23) | public sealed partial class HexgridPanelExample : HexgridPanelForm {
    method HexgridPanelExample (line 26) | public HexgridPanelExample() {
    method OnResizeBegin (line 36) | protected override void OnResizeBegin(EventArgs e) {
    method OnResize (line 40) | protected override void OnResize(EventArgs e) {
    method OnResizeEnd (line 44) | protected override void OnResizeEnd(EventArgs e) {
    method TextPathCutoverChanged (line 50) | private void TextPathCutoverChanged(object sender, EventArgs<int> e)
    method SelectedLandmarkChanged (line 56) | private void SelectedLandmarkChanged(object sender, EventArgs<int> e)
    method MapChanged (line 62) | private void MapChanged(object sender, EventArgs<string> e)
    method ShowFovToggled (line 65) | private void ShowFovToggled(object sender, EventArgs<bool> e)
    method ShowPathArrowToggled (line 68) | private void ShowPathArrowToggled(object sender, EventArgs<bool> e)
    method ShowRangeLineToggled (line 71) | private void ShowRangeLineToggled(object sender, EventArgs<bool> e)
    method IsTransposedToggled (line 78) | private void IsTransposedToggled(object sender, EventArgs<bool> e)
    method HexgridPanel_MouseMove (line 83) | protected override void HexgridPanel_MouseMove(object sender, MouseEve...
    method MenuItemHelpContents_Click (line 95) | private void MenuItemHelpContents_Click(object sender, EventArgs e) {
    method ParseMapName (line 99) | private static IPanelModel ParseMapName(string mapName)
    method SetMapBoard (line 102) | private void SetMapBoard(IPanelModel mapBoard) {
    method LandmarksReady (line 115) | private void LandmarksReady(object sender,EventArgs<ILandmarkCollectio...

FILE: HexgridPanel/Example/HexgridBufferedPanelExample.Designer.cs
  class HexgridBufferedPanelExample (line 9) | partial class HexgridBufferedPanelExample {
    method Dispose (line 19) | protected override void Dispose(bool disposing) {
    method InitializeComponent (line 32) | [System.CodeDom.Compiler.GeneratedCode("","")]

FILE: HexgridPanel/Example/HexgridBufferedPanelExample.cs
  class HexgridBufferedPanelExample (line 45) | public sealed partial class HexgridBufferedPanelExample : HexgridBuffere...
    method HexgridBufferedPanelExample (line 48) | public HexgridBufferedPanelExample() {
    method OnResizeBegin (line 57) | protected override void OnResizeBegin(EventArgs e) {
    method OnResize (line 61) | protected override void OnResize(EventArgs e) {
    method OnResizeEnd (line 65) | protected override void OnResizeEnd(EventArgs e) {
    method TextPathCutoverChanged (line 71) | private void TextPathCutoverChanged(object sender, EventArgs<int> e)
    method SelectedLandmarkChanged (line 77) | private void SelectedLandmarkChanged(object sender, EventArgs<int> e)
    method MapChanged (line 83) | private void MapChanged(object sender, EventArgs<string> e)
    method ShowFovToggled (line 86) | private void ShowFovToggled(object sender, EventArgs<bool> e)
    method ShowPathArrowToggled (line 89) | private void ShowPathArrowToggled(object sender, EventArgs<bool> e)
    method ShowRangeLineToggled (line 92) | private void ShowRangeLineToggled(object sender, EventArgs<bool> e)
    method IsTransposedToggled (line 99) | private void IsTransposedToggled(object sender, EventArgs<bool> e)
    method HexgridPanel_MouseMove (line 104) | protected override void HexgridPanel_MouseMove(object sender, MouseEve...
    method MenuItemHelpContents_Click (line 116) | private void MenuItemHelpContents_Click(object sender, EventArgs e) {
    method ParseMapName (line 120) | private static IPanelModel ParseMapName(string mapName)
    method SetMapBoard (line 123) | private void SetMapBoard(IPanelModel mapBoard) {
    method LandmarksReady (line 136) | private void LandmarksReady(object sender,EventArgs<ILandmarkCollectio...

FILE: HexgridPanel/Example/MenuBarToolStrip.Designer.cs
  class MenuBarToolStrip (line 2) | partial class MenuBarToolStrip {
    method Dispose (line 12) | protected override void Dispose(bool disposing) {
    method InitializeComponent (line 25) | private void InitializeComponent() {

FILE: HexgridPanel/Example/MenuBarToolStrip.cs
  class MenuBarToolStrip (line 39) | public partial class MenuBarToolStrip: UserControl {
    method MenuBarToolStrip (line 40) | public MenuBarToolStrip() => InitializeComponent();
    method LoadMapList (line 57) | public void LoadMapList(object[] mapNames) {
    method LoadLandmarkMenu (line 62) | public void LoadLandmarkMenu(ILandmarkCollection landmarks) {
    method LoadTraceMenu (line 71) | [Conditional("TRACE")]
    method LoadTraceMenuItem (line 75) | [Conditional("TRACE")]
    method TxtPathCutover_TextChanged (line 87) | private void TxtPathCutover_TextChanged(object sender, EventArgs e) {
    method MenuItemLandmarks_SelectedIndexChanged (line 98) | private void MenuItemLandmarks_SelectedIndexChanged(object sender, Eve...
    method MenuItemDebugTracing_Click (line 101) | private void MenuItemDebugTracing_Click(object sender, EventArgs e) {
    method MenuItemHelpContents_Click (line 110) | private void MenuItemHelpContents_Click(object sender, EventArgs e) {
    method ComboBoxMapSelection_SelectionChanged (line 114) | private void ComboBoxMapSelection_SelectionChanged(object sender, Even...
    method ButtonFieldOfView_Click (line 117) | private void ButtonFieldOfView_Click(object sender, EventArgs e)
    method ButtonPathArrow_Click (line 120) | private void ButtonPathArrow_Click(object sender, EventArgs e)
    method ButtonRangeLine_Click (line 123) | private void ButtonRangeLine_Click(object sender, EventArgs e)
    method ButtonTransposeMap_Click (line 126) | private void ButtonTransposeMap_Click(object sender, EventArgs e)

FILE: HexgridPanel/Example/StatusBarToolStrip.Designer.cs
  class StatusBarToolStrip (line 2) | partial class StatusBarToolStrip {
    method Dispose (line 12) | protected override void Dispose(bool disposing) {
    method InitializeComponent (line 25) | private void InitializeComponent() {

FILE: HexgridPanel/Example/StatusBarToolStrip.cs
  class StatusBarToolStrip (line 33) | public partial class StatusBarToolStrip : UserControl {
    method StatusBarToolStrip (line 34) | public StatusBarToolStrip() => InitializeComponent();

FILE: HexgridPanel/GraphicsExtensions.cs
  class GraphicsExtensions (line 38) | public static partial class GraphicsExtensions {
    method Contain (line 40) | public static void Contain(this Graphics graphics, Action<Graphics> dr...
    method Paint (line 54) | public static void Paint(this Graphics graphics, Point point, float sc...

FILE: HexgridPanel/HexEventArgs.cs
  class HexEventArgs (line 35) | public class HexEventArgs : MouseEventArgs {
    method HexEventArgs (line 37) | public HexEventArgs(HexCoords coords)
    method HexEventArgs (line 41) | public HexEventArgs(HexCoords coords, Keys modifierKeys)
    method HexEventArgs (line 45) | public HexEventArgs(HexCoords coords, Keys modifierKeys,

FILE: HexgridPanel/HexgridBufferedPanel.Designer.cs
  class HexgridBufferedPanel (line 2) | partial class HexgridBufferedPanel {
    method Dispose (line 9) | protected override void Dispose(bool disposing) {
    method InitializeComponent (line 25) | private void InitializeComponent() {

FILE: HexgridPanel/HexgridBufferedPanel.cs
  class HexgridBufferedPanel (line 33) | public partial class HexgridBufferedPanel : HexgridPanel {
    method HexgridBufferedPanel (line 35) | public HexgridBufferedPanel() : base() => InitializeComponent();
    method EndInit (line 38) | public override void EndInit() {

FILE: HexgridPanel/HexgridBufferedPanelForm.Designer.cs
  class HexgridBufferedPanelForm (line 2) | partial class HexgridBufferedPanelForm {
    method Dispose (line 12) | protected override void Dispose(bool disposing) {
    method InitializeComponent (line 25) | private void InitializeComponent() {

FILE: HexgridPanel/HexgridBufferedPanelForm.cs
  class HexgridBufferedPanelForm (line 31) | public partial class HexgridBufferedPanelForm: TiltableForm {
    method HexgridBufferedPanelForm (line 32) | public HexgridBufferedPanelForm() => InitializeComponent();

FILE: HexgridPanel/HexgridPanel.Designer.cs
  class HexgridPanel (line 2) | partial class HexgridPanel {
    method Dispose (line 10) | protected override void Dispose(bool disposing) {
    method InitializeComponent (line 23) | private void InitializeComponent() {

FILE: HexgridPanel/HexgridPanel.cs
  class HexgridPanel (line 47) | [Docking(DockingBehavior.AutoDock)]
    method HexgridPanel (line 50) | public HexgridPanel() {
    method BeginInit (line 57) | public virtual void BeginInit() { ; }
    method EndInit (line 59) | public virtual void EndInit() { ; }
    method _refeshCmd (line 128) | void _refeshCmd(object obj ) { if (obj != null) { SetMapDirty(); }  Re...
    method CenterOnHex (line 155) | public         void CenterOnHex(HexCoords coords) {
    method GetClipInHexes (line 162) | CoordsRectangle GetClipInHexes(PointF point,SizeF size) => DataContext...
    method GetHexCoords (line 167) | public HexCoords GetHexCoords(Point point) => DataContext.Grid.GetHexC...
    method SetMapDirty (line 170) | public virtual void SetMapDirty() => Invalidate(ClientRectangle);
    method SetModel (line 173) | public         void SetModel(IPanelModel model) {
    method SetPanelSize (line 180) | public         void SetPanelSize() {
    method SetScroll (line 187) | public virtual void SetScroll(HexCoords newCenterHex) {
    method SetScrollLimits (line 197) | public virtual void SetScrollLimits(IPanelModel model) {
    method HexCenterPoint (line 226) | public Point HexCenterPoint(HexCoords coordsNewULHex)
    method ScrollPositionToCenterOnHex (line 232) | protected Point ScrollPositionToCenterOnHex(HexCoords coordsNewCenterHex)
    method OnPaintBackground (line 238) | protected override void OnPaintBackground(PaintEventArgs e) { ; }
    method OnPaint (line 241) | protected override void OnPaint(PaintEventArgs e) {
    method PaintMe (line 251) | protected virtual void PaintMe(Graphics graphics) {
    method RenderHighlight (line 267) | protected virtual void RenderHighlight(Graphics graphics) {
    method RenderMap (line 272) | protected virtual void RenderMap(Graphics graphics) {
    method RenderShading (line 279) | protected virtual void RenderShading(Graphics graphics) {
    method RenderUnits (line 284) | protected virtual void RenderUnits(Graphics graphics) {
    method OnMarginChanged (line 294) | protected override void OnMarginChanged(EventArgs e) {
    method OnMouseClick (line 302) | protected override void OnMouseClick(MouseEventArgs e) {
    method OnMouseMove (line 316) | protected override void OnMouseMove(MouseEventArgs e) {
    method OnMouseAltClick (line 324) | protected virtual void OnMouseAltClick(HexEventArgs e) => MouseAltClic...
    method OnTargetHexSelected (line 326) | protected virtual void OnTargetHexSelected(HexEventArgs e) {
    method OnStartHexSelected (line 333) | protected virtual void OnStartHexSelected(HexEventArgs e) {
    method OnHotspotHexChange (line 341) | protected virtual void OnHotspotHexChange(HexEventArgs e) {
    method OnScaleChange (line 349) | protected virtual void OnScaleChange(EventArgs e) {
    method OnResize (line 357) | protected override void OnResize(EventArgs e) {
    method OnMouseWheel (line 365) | protected override void OnMouseWheel(MouseEventArgs e) {
    method ScrollPanelVertical (line 379) | public void ScrollPanelVertical(ScrollEventType type, int sign)
    method ScrollPanelHorizontal (line 383) | public void ScrollPanelHorizontal(ScrollEventType type, int sign)
    method ScrollPanelCommon (line 387) | private void ScrollPanelCommon(ScrollEventType type, int sign, ScrollP...

FILE: HexgridPanel/HexgridPanelForm.Designer.cs
  class HexgridPanelForm (line 2) | partial class HexgridPanelForm {
    method Dispose (line 12) | protected override void Dispose(bool disposing) {
    method InitializeComponent (line 25) | private void InitializeComponent() {

FILE: HexgridPanel/HexgridPanelForm.cs
  class HexgridPanelForm (line 31) | public partial class HexgridPanelForm: TiltableForm {
    method HexgridPanelForm (line 32) | public HexgridPanelForm() => InitializeComponent();

FILE: HexgridPanel/HexgridViewModel.cs
  class HexgridViewModel (line 48) | public class HexgridViewModel {
    method HexgridViewModel (line 50) | public HexgridViewModel(HexgridPanel panel) {
    method GetHexgrid (line 90) | IHexgrid GetHexgrid()
    method SetScales (line 176) | public void SetScales(IReadOnlyList<float> scales) {
    method MarginChanged (line 182) | void MarginChanged(object sender,EventArgs e) => Margin = Panel.Margin;
    method HotspotHexChange (line 185) | void HotspotHexChange(object sender, HexEventArgs e) {
    method HexCenterPoint (line 215) | public HexPointF HexCenterPoint(HexCoords coordsNewULHex)

FILE: HexgridPanel/IMapDisplayPainter.cs
  type IMapDisplayPainter (line 36) | public interface IMapDisplayPainter {
    method PaintMap (line 41) | void PaintMap(Graphics graphics, bool showHexgrid);
    method PaintLabels (line 47) | void PaintLabels(Graphics graphics, Func<HexCoords,string> hexText);
    method PaintForEachHex (line 53) | void PaintForEachHex(Graphics graphics, Action<HexCoords> paintAction);
    method PaintHighlight (line 57) | void PaintHighlight(Graphics graphics);
    method PaintShading (line 62) | void PaintShading(Graphics graphics, IShadingMask isNotShaded);
    method PaintUnits (line 67) | void PaintUnits(Graphics graphics);

FILE: HexgridPanel/IScrollableControl.cs
  type IScrollableControl (line 33) | internal interface IScrollableControl {

FILE: HexgridPanel/MapDisplayPainter.cs
  class MapDisplayPainter (line 37) | public class MapDisplayPainter<THex>: AbstractModelDisplayPainter<THex> ...
    method MapDisplayPainter (line 40) | public MapDisplayPainter(IPanelModel model) : base(model) { }
    method GetHexBrush (line 47) | protected override Brush GetHexBrush(THex hex) {

FILE: HexgridPanel/MapDisplayPainterExtensions.cs
  class MapDisplayPainterExtensions (line 37) | public static partial class MapDisplayPainterExtensions {
    method Painter (line 38) | private static IMapDisplayPainter Painter(this IPanelModel @this)
    method PaintMap (line 46) | public static void PaintMap<THex>(this IPanelModel @this, Graphics gra...
    method PaintLabels (line 56) | public static void PaintLabels<THex>(this IPanelModel @this, Graphics ...
    method PaintHighlight (line 64) | public static void PaintHighlight<THex>(this IPanelModel @this, Graphi...
    method PaintShading (line 73) | public static void PaintShading<THex>(this IPanelModel @this, Graphics...
    method PaintUnits (line 81) | public static void PaintUnits<THex>(this IPanelModel @this,Graphics gr...

FILE: HexgridPanel/MapOrientation.cs
  type MapOrientation (line 35) | public enum MapOrientation {

FILE: HexgridPanel/MapPanel.Designer.cs
  class MapPanel (line 2) | partial class MapPanel {
    method Dispose (line 9) | protected override void Dispose(bool disposing) {
    method InitializeComponent (line 27) | private void InitializeComponent() {

FILE: HexgridPanel/MapPanel.cs
  class MapPanel (line 20) | public partial class MapPanel : HexgridPanel {
    method MapPanel (line 22) | public MapPanel() => InitializeComponent();
    method SetMapDirty (line 34) | public override void SetMapDirty() {
    method OnMouseHWheel (line 41) | protected override void OnMouseHWheel(MouseEventArgs e) {
    method OnMouseWheel (line 52) | protected override void OnMouseWheel(MouseEventArgs e) {
    method NewPosition (line 68) | private static int NewPosition(ScrollProperties scroll, int limit, int...
    method OnResize (line 75) | protected override void OnResize(EventArgs e) {
    method OnScaleChange (line 81) | protected override void OnScaleChange(EventArgs e) {
    method OnScroll (line 86) | protected override void OnScroll(ScrollEventArgs se) {
    method HorizontalScrollBuffer (line 104) | protected virtual Rectangle HorizontalScrollBuffer(int delta) {
    method VerticalScrollBuffer (line 114) | protected virtual Rectangle VerticalScrollBuffer(int delta) {
    method PaintBufferAsync (line 130) | protected virtual async Task<Bitmap> PaintBufferAsync(Rectangle clipBo...
    method PaintBuffer (line 134) | protected virtual Bitmap PaintBuffer(Rectangle clipBounds) {
    method ScrollBuffer (line 153) | protected virtual Bitmap ScrollBuffer(Rectangle clipBounds) {
    method PaintBuffer (line 165) | private void PaintBuffer(Graphics graphics) {
    method LandmarkText (line 183) | private string LandmarkText(HexCoords coords)
    method ResizeBuffer (line 187) | void ResizeBuffer() => _cacheStatus = _NEEDS_PAINTING;
    method OnPaint (line 200) | protected override async void OnPaint(PaintEventArgs e) {
    method PaintMe (line 228) | protected override void PaintMe(Graphics graphics) {
    method RenderMap (line 236) | protected override void RenderMap(Graphics graphics) { }
    method RenderMapLocal (line 238) | private void RenderMapLocal(Graphics graphics) {

FILE: HexgridPanel/MapPanelCached.Designer.cs
  class CachedMapPanel (line 2) | partial class CachedMapPanel {
    method Dispose (line 10) | protected override void Dispose(bool disposing) {
    method InitializeComponent (line 31) | private void InitializeComponent() {

FILE: HexgridPanel/MapPanelCached.cs
  class CachedMapPanel (line 21) | public sealed partial class CachedMapPanel : HexgridBufferedPanel {
    method CachedMapPanel (line 23) | public CachedMapPanel() => InitializeComponent();
    method OnResize (line 27) | protected override void OnResize(EventArgs e) {
    method AllocateBuffer (line 72) | private static Bitmap AllocateBuffer(Size size, string tag) {
    method PaintedCacheBufferAsync (line 85) | [SuppressMessage("Microsoft.Performance","CA1811:AvoidUncalledPrivateC...
    method PaintedCacheBuffer (line 89) | private Bitmap PaintedCacheBuffer(string tag) {
    method OnPaint (line 117) | protected override async void OnPaint(PaintEventArgs e) {

FILE: HexgridPanel/Properties/Resources.Designer.cs
  class Resources (line 22) | [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resource...
    method Resources (line 31) | [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Mic...

FILE: HexgridPanel/Reference Source/BufferedGraphics.cs
  class BufferedGraphics (line 30) | [SuppressMessage("Microsoft.Usage", "CA2216:DisposableTypesShouldDeclare...
    method BufferedGraphics (line 46) | internal BufferedGraphics(Graphics bufferedGraphicsSurface, BufferedGr...
    method Dispose (line 64) | public void Dispose() {
    method Dispose (line 68) | private void Dispose(bool disposing) {
    method Render (line 113) | public void Render() {
    method Render (line 126) | [ResourceExposure(ResourceScope.None)]
    method Render (line 145) | public void Render(IntPtr targetDC) {
    method RenderInternal (line 155) | [ResourceExposure(ResourceScope.None)]
    method BufferedGraphics (line 218) | internal BufferedGraphics(Graphics bufferedGraphicsSurface, BufferedGr...
    method Dispose (line 236) | public void Dispose() {
    method Dispose (line 240) | private void Dispose(bool disposing) {
    method Render (line 285) | public void Render() {
    method Render (line 298) | [ResourceExposure(ResourceScope.None)]
    method Render (line 317) | public void Render(IntPtr targetDC) {
    method RenderInternal (line 327) | [ResourceExposure(ResourceScope.None)]
  class BufferedGraphics (line 202) | [SuppressMessage("Microsoft.Usage", "CA2216:DisposableTypesShouldDeclare...
    method BufferedGraphics (line 46) | internal BufferedGraphics(Graphics bufferedGraphicsSurface, BufferedGr...
    method Dispose (line 64) | public void Dispose() {
    method Dispose (line 68) | private void Dispose(bool disposing) {
    method Render (line 113) | public void Render() {
    method Render (line 126) | [ResourceExposure(ResourceScope.None)]
    method Render (line 145) | public void Render(IntPtr targetDC) {
    method RenderInternal (line 155) | [ResourceExposure(ResourceScope.None)]
    method BufferedGraphics (line 218) | internal BufferedGraphics(Graphics bufferedGraphicsSurface, BufferedGr...
    method Dispose (line 236) | public void Dispose() {
    method Dispose (line 240) | private void Dispose(bool disposing) {
    method Render (line 285) | public void Render() {
    method Render (line 298) | [ResourceExposure(ResourceScope.None)]
    method Render (line 317) | public void Render(IntPtr targetDC) {
    method RenderInternal (line 327) | [ResourceExposure(ResourceScope.None)]

FILE: HexgridPanel/Reference Source/BufferedGraphicsContext.cs
  class BufferedGraphicsContext (line 26) | public sealed class BufferedGraphicsContext : IDisposable {
    method BufferedGraphicsContext (line 54) | public BufferedGraphicsContext() {
    method Allocate (line 113) | [ResourceExposure(ResourceScope.Process)]
    method Allocate (line 127) | [SecurityPermission(SecurityAction.LinkDemand, Flags=SecurityPermissio...
    method AllocBuffer (line 142) | [ResourceExposure(ResourceScope.Process)]
    method AllocBufferInTempManager (line 193) | [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Reliabilit...
    method bFillBitmapInfo (line 242) | [ResourceExposure(ResourceScope.None)]
    method bFillColorTable (line 323) | private unsafe bool bFillColorTable(IntPtr hdc, IntPtr hpal, ref Nativ...
    method CreateBuffer (line 372) | [ResourceExposure(ResourceScope.Process)]
    method CreateCompatibleDIB (line 438) | [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Interopera...
    method Dispose (line 515) | public void Dispose() {
    method DisposeDC (line 523) | [ResourceExposure(ResourceScope.None)]
    method DisposeBitmap (line 545) | private void DisposeBitmap()
    method Dispose (line 561) | private void Dispose(bool disposing) {
    method DumpBitmapInfo (line 603) | private void DumpBitmapInfo(ref NativeMethods.BITMAPINFO_FLAT pbmi) {
    method Invalidate (line 627) | public void Invalidate() {
    method ReleaseBuffer (line 649) | internal void ReleaseBuffer(BufferedGraphics buffer) {
    method ShouldUseTempManager (line 673) | private bool ShouldUseTempManager(Rectangle targetBounds) {
    method BufferedGraphicsContext (line 734) | public BufferedGraphicsContext() {
    method Allocate (line 793) | [ResourceExposure(ResourceScope.Process)]
    method Allocate (line 807) | [SecurityPermission(SecurityAction.LinkDemand, Flags=SecurityPermissio...
    method AllocBuffer (line 822) | [ResourceExposure(ResourceScope.Process)]
    method AllocBufferInTempManager (line 873) | [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Reliabilit...
    method bFillBitmapInfo (line 922) | [ResourceExposure(ResourceScope.None)]
    method bFillColorTable (line 1003) | private unsafe bool bFillColorTable(IntPtr hdc, IntPtr hpal, ref Nativ...
    method CreateBuffer (line 1052) | [ResourceExposure(ResourceScope.Process)]
    method CreateCompatibleDIB (line 1118) | [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Interopera...
    method Dispose (line 1195) | public void Dispose() {
    method DisposeDC (line 1203) | [ResourceExposure(ResourceScope.None)]
    method DisposeBitmap (line 1225) | private void DisposeBitmap()
    method Dispose (line 1241) | private void Dispose(bool disposing) {
    method DumpBitmapInfo (line 1283) | private void DumpBitmapInfo(ref NativeMethods.BITMAPINFO_FLAT pbmi) {
    method Invalidate (line 1307) | public void Invalidate() {
    method ReleaseBuffer (line 1329) | internal void ReleaseBuffer(BufferedGraphics buffer) {
    method ShouldUseTempManager (line 1353) | private bool ShouldUseTempManager(Rectangle targetBounds) {
  class BufferedGraphicsContext (line 706) | public sealed class BufferedGraphicsContext : IDisposable {
    method BufferedGraphicsContext (line 54) | public BufferedGraphicsContext() {
    method Allocate (line 113) | [ResourceExposure(ResourceScope.Process)]
    method Allocate (line 127) | [SecurityPermission(SecurityAction.LinkDemand, Flags=SecurityPermissio...
    method AllocBuffer (line 142) | [ResourceExposure(ResourceScope.Process)]
    method AllocBufferInTempManager (line 193) | [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Reliabilit...
    method bFillBitmapInfo (line 242) | [ResourceExposure(ResourceScope.None)]
    method bFillColorTable (line 323) | private unsafe bool bFillColorTable(IntPtr hdc, IntPtr hpal, ref Nativ...
    method CreateBuffer (line 372) | [ResourceExposure(ResourceScope.Process)]
    method CreateCompatibleDIB (line 438) | [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Interopera...
    method Dispose (line 515) | public void Dispose() {
    method DisposeDC (line 523) | [ResourceExposure(ResourceScope.None)]
    method DisposeBitmap (line 545) | private void DisposeBitmap()
    method Dispose (line 561) | private void Dispose(bool disposing) {
    method DumpBitmapInfo (line 603) | private void DumpBitmapInfo(ref NativeMethods.BITMAPINFO_FLAT pbmi) {
    method Invalidate (line 627) | public void Invalidate() {
    method ReleaseBuffer (line 649) | internal void ReleaseBuffer(BufferedGraphics buffer) {
    method ShouldUseTempManager (line 673) | private bool ShouldUseTempManager(Rectangle targetBounds) {
    method BufferedGraphicsContext (line 734) | public BufferedGraphicsContext() {
    method Allocate (line 793) | [ResourceExposure(ResourceScope.Process)]
    method Allocate (line 807) | [SecurityPermission(SecurityAction.LinkDemand, Flags=SecurityPermissio...
    method AllocBuffer (line 822) | [ResourceExposure(ResourceScope.Process)]
    method AllocBufferInTempManager (line 873) | [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Reliabilit...
    method bFillBitmapInfo (line 922) | [ResourceExposure(ResourceScope.None)]
    method bFillColorTable (line 1003) | private unsafe bool bFillColorTable(IntPtr hdc, IntPtr hpal, ref Nativ...
    method CreateBuffer (line 1052) | [ResourceExposure(ResourceScope.Process)]
    method CreateCompatibleDIB (line 1118) | [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Interopera...
    method Dispose (line 1195) | public void Dispose() {
    method DisposeDC (line 1203) | [ResourceExposure(ResourceScope.None)]
    method DisposeBitmap (line 1225) | private void DisposeBitmap()
    method Dispose (line 1241) | private void Dispose(bool disposing) {
    method DumpBitmapInfo (line 1283) | private void DumpBitmapInfo(ref NativeMethods.BITMAPINFO_FLAT pbmi) {
    method Invalidate (line 1307) | public void Invalidate() {
    method ReleaseBuffer (line 1329) | internal void ReleaseBuffer(BufferedGraphics buffer) {
    method ShouldUseTempManager (line 1353) | private bool ShouldUseTempManager(Rectangle targetBounds) {

FILE: HexgridPanel/Reference Source/BufferedGraphicsManager.cs
  class BufferedGraphicsManager (line 26) | public sealed class BufferedGraphicsManager {
    method BufferedGraphicsManager (line 33) | private BufferedGraphicsManager() {
    method BufferedGraphicsManager (line 40) | static BufferedGraphicsManager() {
    method OnShutdown (line 60) | [PrePrepareMethod]
    method BufferedGraphicsManager (line 101) | private BufferedGraphicsManager() {
    method BufferedGraphicsManager (line 108) | static BufferedGraphicsManager() {
    method OnShutdown (line 128) | [PrePrepareMethod]
  class BufferedGraphicsManager (line 94) | public sealed class BufferedGraphicsManager {
    method BufferedGraphicsManager (line 33) | private BufferedGraphicsManager() {
    method BufferedGraphicsManager (line 40) | static BufferedGraphicsManager() {
    method OnShutdown (line 60) | [PrePrepareMethod]
    method BufferedGraphicsManager (line 101) | private BufferedGraphicsManager() {
    method BufferedGraphicsManager (line 108) | static BufferedGraphicsManager() {
    method OnShutdown (line 128) | [PrePrepareMethod]

FILE: HexgridPanel/Reference Source/SafeNativeMethods.cs
  class IntSafeNativeMethods (line 27) | [System.Security.SuppressUnmanagedCodeSecurityAttribute()]
    class CommonHandles (line 35) | public sealed class CommonHandles
      method CommonHandles (line 37) | static CommonHandles(){}
      method CommonHandles (line 160) | static CommonHandles(){}
    method IntCreateSolidBrush (line 58) | [DllImport(ExternDll.Gdi32, SetLastError=true, ExactSpelling = true, E...
    method CreateSolidBrush (line 61) | [ResourceExposure(ResourceScope.Process)]
    method IntCreatePen (line 72) | [DllImport(ExternDll.Gdi32, SetLastError=true, ExactSpelling = true, E...
    method CreatePen (line 75) | [ResourceExposure(ResourceScope.Process)]
    method IntExtCreatePen (line 84) | [DllImport(ExternDll.Gdi32, SetLastError=true, ExactSpelling = true, E...
    method ExtCreatePen (line 87) | [ResourceExposure(ResourceScope.Process)]
    method IntCreateRectRgn (line 98) | [DllImport(ExternDll.Gdi32, SetLastError=true, ExactSpelling=true, Ent...
    method CreateRectRgn (line 101) | [ResourceExposure(ResourceScope.Process)]
    method GetUserDefaultLCID (line 112) | [DllImport(ExternDll.Kernel32, SetLastError=true, CharSet=System.Runti...
    method GdiFlush (line 116) | [DllImport(ExternDll.Gdi32, SetLastError=true, ExactSpelling = true, C...
    class CommonHandles (line 158) | public sealed class CommonHandles
      method CommonHandles (line 37) | static CommonHandles(){}
      method CommonHandles (line 160) | static CommonHandles(){}
    method IntCreateSolidBrush (line 181) | [DllImport(ExternDll.Gdi32, SetLastError=true, ExactSpelling = true, E...
    method CreateSolidBrush (line 184) | [ResourceExposure(ResourceScope.Process)]
    method IntCreatePen (line 195) | [DllImport(ExternDll.Gdi32, SetLastError=true, ExactSpelling = true, E...
    method CreatePen (line 198) | [ResourceExposure(ResourceScope.Process)]
    method IntExtCreatePen (line 207) | [DllImport(ExternDll.Gdi32, SetLastError=true, ExactSpelling = true, E...
    method ExtCreatePen (line 210) | [ResourceExposure(ResourceScope.Process)]
    method IntCreateRectRgn (line 221) | [DllImport(ExternDll.Gdi32, SetLastError=true, ExactSpelling=true, Ent...
    method CreateRectRgn (line 224) | [ResourceExposure(ResourceScope.Process)]
    method GetUserDefaultLCID (line 235) | [DllImport(ExternDll.Kernel32, SetLastError=true, CharSet=System.Runti...
    method GdiFlush (line 239) | [DllImport(ExternDll.Gdi32, SetLastError=true, ExactSpelling = true, C...
  class IntSafeNativeMethods (line 150) | [System.Security.SuppressUnmanagedCodeSecurityAttribute()]
    class CommonHandles (line 35) | public sealed class CommonHandles
      method CommonHandles (line 37) | static CommonHandles(){}
      method CommonHandles (line 160) | static CommonHandles(){}
    method IntCreateSolidBrush (line 58) | [DllImport(ExternDll.Gdi32, SetLastError=true, ExactSpelling = true, E...
    method CreateSolidBrush (line 61) | [ResourceExposure(ResourceScope.Process)]
    method IntCreatePen (line 72) | [DllImport(ExternDll.Gdi32, SetLastError=true, ExactSpelling = true, E...
    method CreatePen (line 75) | [ResourceExposure(ResourceScope.Process)]
    method IntExtCreatePen (line 84) | [DllImport(ExternDll.Gdi32, SetLastError=true, ExactSpelling = true, E...
    method ExtCreatePen (line 87) | [ResourceExposure(ResourceScope.Process)]
    method IntCreateRectRgn (line 98) | [DllImport(ExternDll.Gdi32, SetLastError=true, ExactSpelling=true, Ent...
    method CreateRectRgn (line 101) | [ResourceExposure(ResourceScope.Process)]
    method GetUserDefaultLCID (line 112) | [DllImport(ExternDll.Kernel32, SetLastError=true, CharSet=System.Runti...
    method GdiFlush (line 116) | [DllImport(ExternDll.Gdi32, SetLastError=true, ExactSpelling = true, C...
    class CommonHandles (line 158) | public sealed class CommonHandles
      method CommonHandles (line 37) | static CommonHandles(){}
      method CommonHandles (line 160) | static CommonHandles(){}
    method IntCreateSolidBrush (line 181) | [DllImport(ExternDll.Gdi32, SetLastError=true, ExactSpelling = true, E...
    method CreateSolidBrush (line 184) | [ResourceExposure(ResourceScope.Process)]
    method IntCreatePen (line 195) | [DllImport(ExternDll.Gdi32, SetLastError=true, ExactSpelling = true, E...
    method CreatePen (line 198) | [ResourceExposure(ResourceScope.Process)]
    method IntExtCreatePen (line 207) | [DllImport(ExternDll.Gdi32, SetLastError=true, ExactSpelling = true, E...
    method ExtCreatePen (line 210) | [ResourceExposure(ResourceScope.Process)]
    method IntCreateRectRgn (line 221) | [DllImport(ExternDll.Gdi32, SetLastError=true, ExactSpelling=true, Ent...
    method CreateRectRgn (line 224) | [ResourceExposure(ResourceScope.Process)]
    method GetUserDefaultLCID (line 235) | [DllImport(ExternDll.Kernel32, SetLastError=true, CharSet=System.Runti...
    method GdiFlush (line 239) | [DllImport(ExternDll.Gdi32, SetLastError=true, ExactSpelling = true, C...

FILE: HexgridPanel/TiltableForm.Designer.cs
  class TiltableForm (line 2) | partial class TiltableForm {
    method Dispose (line 12) | protected override void Dispose(bool disposing) {
    method InitializeComponent (line 25) | private void InitializeComponent() {

FILE: HexgridPanel/TiltableForm.cs
  class TiltableForm (line 42) | public partial class TiltableForm: Form, IMessageFilter {
    method TiltableForm (line 43) | public TiltableForm() {
    method HexgridPanel_ScaleChange (line 52) | protected virtual void HexgridPanel_ScaleChange(object sender,EventArg...
    method HexgridPanel_MouseMove (line 54) | protected virtual void HexgridPanel_MouseMove(object sender, MouseEven...
    method HexgridPanelForm_Load (line 56) | protected virtual void HexgridPanelForm_Load(object sender, EventArgs ...
    method PanelBoard_GoalHexChange (line 67) | protected void PanelBoard_GoalHexChange(object sender, HexEventArgs e)
    method PanelBoard_StartHexChange (line 70) | protected void PanelBoard_StartHexChange(object sender, HexEventArgs e)
    method PanelBoard_HotSpotHexChange (line 73) | protected void PanelBoard_HotSpotHexChange(object sender, HexEventArgs e)
    method RefreshAfter (line 76) | protected void RefreshAfter(Action action) { action?.Invoke(); Hexgrid...
    method PreFilterMessage (line 89) | [PermissionSet(SecurityAction.Demand, Name = "FullTrust")]

FILE: HexgridPanel/ViewModelBase.cs
  class ViewModelBase (line 38) | public abstract class ViewModelBase : INotifyPropertyChanged, IDisposable {
    method ViewModelBase (line 40) | protected ViewModelBase(string displayName) { DisplayName = displayNam...
    method OnPropertyChanged (line 52) | protected virtual void OnPropertyChanged(string propertyName) {
    method VerifyPropertyName (line 58) | [Conditional("DEBUG"), DebuggerStepThrough]
    method Dispose (line 70) | public void Dispose() { Dispose(true); GC.SuppressFinalize(this); }
    method Dispose (line 75) | protected virtual void Dispose(bool disposing) {
  class CommandViewModel (line 88) | public class CommandViewModel : ViewModelBase {
    method CommandViewModel (line 90) | public CommandViewModel(string displayName, ICommand command) : base(d...
  class RelayCommand (line 98) | public class RelayCommand : ICommand {
    method RelayCommand (line 100) | public RelayCommand(Action<object> execute) : this(execute, (o) => tru...
    method RelayCommand (line 102) | public RelayCommand(Action<object> execute, Predicate<object> canExecu...
    method CanExecute (line 108) | [DebuggerStepThrough]
    method Execute (line 118) | public void Execute(object parameter) { _execute(parameter); }
  class WorkspaceViewModel (line 155) | public abstract class WorkspaceViewModel : ViewModelBase {
    method WorkspaceViewModel (line 157) | protected WorkspaceViewModel() : this ("WorkspaceViewModel_None") { ; }
    method WorkspaceViewModel (line 159) | protected WorkspaceViewModel(string displayName) : base (displayName) {
    method OnRequestClose (line 169) | void OnRequestClose()  { RequestClose?.Invoke(this,EventArgs.Empty); }

FILE: HexgridPanel/WinForms/BufferedGraphicsExtensions.cs
  class BufferedGraphicsExtensions (line 35) | public static partial class BufferedGraphicsExtensions {
    method Render (line 40) | [ResourceExposure(ResourceScope.None)]
    method Render (line 52) | [ResourceExposure(ResourceScope.None)]
    method Render (line 66) | [ResourceExposure(ResourceScope.None)]
    method RenderInternal (line 91) | [ResourceExposure(ResourceScope.None)]

FILE: HexgridPanel/WinForms/ControlExtensions.cs
  class ControlExtensions (line 35) | public static partial class ControlExtensions {
    method UIThread (line 39) | public static void UIThread(this Control @this, Action action) {
    method UIThread (line 51) | public static void UIThread(this Control @this, Action<object[]> actio...
    method DrawFocusRectangle (line 63) | public static void DrawFocusRectangle(this Control @this, Graphics g, ...
    method ClientRectInflated (line 66) | private static Rectangle ClientRectInflated(this Control @this, Point ...
    method IsInputKey (line 71) | public static bool IsInputKey(this Keys keyData)

FILE: HexgridPanel/WinForms/ExceptionDialog.Designer.cs
  class ExceptionDialog (line 2) | partial class ExceptionDialog {
    method Dispose (line 10) | protected override void Dispose(bool disposing) {
    method InitializeComponent (line 23) | private void InitializeComponent() {

FILE: HexgridPanel/WinForms/ExceptionDialog.cs
  class ExceptionDialog (line 33) | public partial class ExceptionDialog : Form {
    method ExceptionDialog (line 35) | public ExceptionDialog(string messageText) {

FILE: HexgridPanel/WinForms/GdiRasterOps.cs
  type GdiRasterOps (line 32) | internal enum GdiRasterOps {

FILE: HexgridPanel/WinForms/Layer.cs
  class Layer (line 42) | public sealed class Layer {
    method Layer (line 45) | internal Layer(BufferedGraphics buffer, PaintAction paintAction) {
    method Resize (line 55) | internal void Resize(BufferedGraphics buffer) {
    method Refresh (line 78) | public void Refresh() { if (IsOn) Buffer.Graphics.Contain(Refresh); }
    method Refresh (line 80) | private void Refresh(Graphics graphics) {
    method RefreshAsync (line 86) | public async Task RefreshAsync() => await Task.Run(() => Refresh());
    method RenderAsync (line 89) | public async Task RenderAsync(Graphics target, Point scrollPosition) =>
    method Render (line 95) | [ResourceExposure(ResourceScope.None)]
    method RenderInternal (line 107) | [ResourceExposure(ResourceScope.None)]

FILE: HexgridPanel/WinForms/LayerCollection.cs
  class LayerCollection (line 38) | public class LayerCollection : ReadOnlyCollection<Layer> {
    method LayerCollection (line 40) | internal LayerCollection(Graphics g, Size size) : this(g, size, new Li...
    method LayerCollection (line 43) | internal LayerCollection(Graphics g, Size size, IList<PaintAction> lis...
    method AddLayer (line 52) | public void AddLayer(PaintAction paintAction) => Items.Add(NewLayer(pa...
    method Render (line 55) | public void Render(Graphics g, Point scrollPosition) {
    method Resize (line 60) | public void Resize (Rectangle rectangle) {
    method NewLayer (line 71) | Layer            NewLayer(PaintAction paintAction) =>
    method Dispose (line 79) | public void Dispose() => Dispose(true);
    method Dispose (line 84) | protected virtual void Dispose(bool disposing) {

FILE: HexgridPanel/WinForms/LayeredScrollable.Designer.cs
  class LayeredScrollable (line 2) | partial class LayeredScrollable {
    method Dispose (line 10) | protected override void Dispose(bool disposing) {
    method InitializeComponent (line 23) | private void InitializeComponent() {

FILE: HexgridPanel/WinForms/LayeredScrollable.cs
  class LayeredScrollable (line 35) | public partial class LayeredScrollable : ScrollableControl, ISupportInit...
    method LayeredScrollable (line 37) | public LayeredScrollable() => InitializeComponent();
    method BeginInit (line 41) | public virtual void BeginInit() {
    method EndInit (line 44) | public virtual void EndInit() {
    method OnResize (line 59) | protected override void OnResize(EventArgs e) {

FILE: HexgridPanel/WinForms/NativeMethods.cs
  class NativeMethods (line 40) | internal static class NativeMethods {
    method WindowFromPoint (line 45) | [SuppressMessage("Microsoft.Portability", "CA1901:PInvokeDeclarationsS...
    method SendMessage (line 57) | [DllImport("user32.dll", CharSet = CharSet.Auto)]
    method BitBlt (line 71) | [DllImport("Gdi32.dll", SetLastError=true, ExactSpelling=true, CharSet...
    method HiWord (line 80) | public static int HiWord(this IntPtr ptr)
    method LoWord (line 86) | public static int LoWord(this IntPtr ptr)

FILE: HexgridPanel/WinForms/NativeMethodsTreeView.cs
  class NativeMethodsTreeView (line 40) | internal static class NativeMethodsTreeView {
    method GetAutoScrollPosition (line 42) | public static Point GetAutoScrollPosition(this IntPtr HWnd)
    method SetAutoScrollPosition (line 45) | public static void SetAutoScrollPosition(this IntPtr HWnd, Point posit...
    method GetScrollPos (line 50) | [DllImport("user32.dll",  CharSet = CharSet.Unicode)]
    method SetScrollPos (line 53) | [DllImport("user32.dll",  CharSet = CharSet.Unicode)]

FILE: HexgridPanel/WinForms/ScrollBarCommand.cs
  type ScrollBarCommand (line 34) | internal enum ScrollBarCommand {

FILE: HexgridPanel/WinForms/ScrollableControlExtensions.cs
  class ScrollableControlExtensions (line 36) | internal static class ScrollableControlExtensions {
    method ScrollPanel (line 38) | [Obsolete("Use ScrollPanelVertical or ScrollPanelHorizontal instead.")]
    method CreateMouseEventArgs (line 45) | public static MouseEventArgs CreateMouseEventArgs(this Message @this)
    method RollHorizontal (line 56) | public static void RollHorizontal(this IScrollableControl @this, int d...
    method RollVertical (line 71) | public static void RollVertical(this IScrollableControl @this, int del...
    method HScrollByOffset (line 86) | public static void HScrollByOffset(this IScrollableControl @this, int ...
    method VScrollByOffset (line 93) | public static void VScrollByOffset(this IScrollableControl @this, int ...
    method PageUp (line 98) | public static void PageUp(this IScrollableControl @this)
    method PageDown (line 101) | public static void PageDown(this IScrollableControl @this)
    method PageLeft (line 104) | public static void PageLeft(this IScrollableControl @this)
    method PageRight (line 107) | public static void PageRight(this IScrollableControl @this)
    method LineUp (line 110) | public static void LineUp(this IScrollableControl @this)
    method LineDown (line 113) | public static void LineDown(this IScrollableControl @this)
    method LineLeft (line 116) | public static void LineLeft(this IScrollableControl @this)
    method LineRight (line 119) | public static void LineRight(this IScrollableControl @this)
    method ScrollActionIndex (line 128) | private static int ScrollActionIndex(ScrollEventType type, ScrollOrien...

FILE: HexgridPanel/WinForms/ThreadExceptionHandler.cs
  class ThreadExceptionHandler (line 41) | [System.Diagnostics.CodeAnalysis.ExcludeFromCodeCoverage()]
    method ApplicationThreadException (line 55) | [SuppressMessage("Microsoft.Design", "CA1031:DoNotCatchGeneralExceptio...
    method ShowException (line 85) | private void ShowException(Exception ex, string senderType) {
    method ShowThreadExceptionDialog (line 98) | private static DialogResult ShowThreadExceptionDialog(Exception ex) {

FILE: HexgridPanel/WinForms/TiltAwareFlowLayoutPanel.cs
  class TiltAwareFlowLayoutPanel (line 41) | public class TiltAwareFlowLayoutPanel : FlowLayoutPanel, IScrollableCont...
    method TiltAwareFlowLayoutPanel (line 43) | public TiltAwareFlowLayoutPanel() : base() {
    method IsInputKey (line 50) | protected override bool IsInputKey(Keys keyData)
    method OnMouseDown (line 53) | protected override void OnMouseDown(MouseEventArgs e) { Focus(); base....
    method OnEnter (line 55) | protected override void OnEnter(EventArgs e)          { Invalidate(); ...
    method OnLeave (line 57) | protected override void OnLeave(EventArgs e)          { Invalidate(); ...
    method OnMouseEnter (line 59) | protected override void OnMouseEnter(EventArgs e)     { base.OnMouseEn...
    method OnMouseLeave (line 61) | protected override void OnMouseLeave(EventArgs e)     { Parent.Focus()...
    method OnPaint (line 63) | protected override void OnPaint(PaintEventArgs e) {
    method OnMouseHWheel (line 80) | protected virtual void OnMouseHWheel(MouseEventArgs e) {
    method OnMouseWheel (line 92) | protected override void OnMouseWheel(MouseEventArgs e) {
    method ScrollByOneControl (line 105) | public void ScrollByOneControl(bool forward) {
    method WndProc (line 113) | protected override void WndProc(ref Message m) {

FILE: HexgridPanel/WinForms/TiltAwarePanel.cs
  class TiltAwarePanel (line 40) | public class TiltAwarePanel : Panel, IScrollableControl {
    method TiltAwarePanel (line 42) | public TiltAwarePanel() : base() {
    method IsInputKey (line 49) | protected override bool IsInputKey(Keys keyData)
    method OnMouseDown (line 53) | protected override void OnMouseDown(MouseEventArgs e) { Focus(); base....
    method OnEnter (line 55) | protected override void OnEnter(EventArgs e)          { Invalidate(); ...
    method OnLeave (line 57) | protected override void OnLeave(EventArgs e)          { Invalidate(); ...
    method OnMouseEnter (line 59) | protected override void OnMouseEnter(EventArgs e)     { base.OnMouseEn...
    method OnMouseLeave (line 61) | protected override void OnMouseLeave(EventArgs e)     { Parent.Focus()...
    method OnPaint (line 63) | protected override void OnPaint(PaintEventArgs e) {
    method OnMouseHWheel (line 80) | protected virtual void OnMouseHWheel(MouseEventArgs e) {
    method WndProc (line 91) | protected override void WndProc(ref Message m) {

FILE: HexgridPanel/WinForms/TiltAwareScrollable.cs
  class TiltAwareScrollableControl (line 40) | public class TiltAwareScrollableControl : ScrollableControl, IScrollable...
    method TiltAwareScrollableControl (line 42) | public TiltAwareScrollableControl() : base() {
    method IsInputKey (line 49) | protected override bool IsInputKey(Keys keyData)
    method OnMouseDown (line 52) | protected override void OnMouseDown(MouseEventArgs e) { Focus(); base....
    method OnEnter (line 54) | protected override void OnEnter(EventArgs e)          { Invalidate(); ...
    method OnLeave (line 56) | protected override void OnLeave(EventArgs e)          { Invalidate(); ...
    method OnMouseEnter (line 58) | protected override void OnMouseEnter(EventArgs e)     { base.OnMouseEn...
    method OnMouseLeave (line 60) | protected override void OnMouseLeave(EventArgs e)     { Parent.Focus()...
    method OnPaint (line 62) | protected override void OnPaint(PaintEventArgs e) {
    method OnMouseHWheel (line 79) | protected virtual void OnMouseHWheel(MouseEventArgs e) {
    method WndProc (line 90) | protected override void WndProc(ref Message m) {

FILE: HexgridPanel/WinForms/TiltAwareTreeView.Designer.cs
  class TiltAwareTreeView (line 2) | partial class TiltAwareTreeView {
    method Dispose (line 10) | protected override void Dispose(bool disposing) {
    method InitializeComponent (line 23) | private void InitializeComponent() {

FILE: HexgridPanel/WinForms/TiltAwareTreeView.cs
  class TiltAwareTreeView (line 35) | public partial class TiltAwareTreeView : TreeView, IScrollableControl {
    method TiltAwareTreeView (line 37) | public TiltAwareTreeView() => InitializeComponent();
    method OnMouseEnter (line 44) | protected override void OnMouseEnter(EventArgs e) { base.OnMouseEnter(...
    method OnMouseLeave (line 46) | protected override void OnMouseLeave(EventArgs e) { Parent.Focus(); ba...
    method OnPaint (line 48) | protected override void OnPaint(PaintEventArgs e) {
    method OnMouseHWheel (line 56) | protected virtual void OnMouseHWheel(MouseEventArgs e) {
    method WndProc (line 77) | protected override void WndProc(ref Message m) {

FILE: HexgridPanel/WinForms/TransparentPanel.cs
  class TransparentPanel (line 39) | public class TransparentPanel : Panel {
    method TransparentPanel (line 41) | public TransparentPanel() : base() {
    method Invalidate2 (line 59) | public virtual void Invalidate2() => Invalidate2(new Rectangle(Locatio...
    method Invalidate2 (line 62) | public virtual void Invalidate2(Rectangle rectangle) {
    method OnPaintBackground (line 69) | protected override void OnPaintBackground(PaintEventArgs e) { /* NO-OP...

FILE: HexgridPanel/WinForms/WinFormsExtensions.cs
  class WinFormsExtensions (line 36) | public static partial class WinFormsExtensions {
    method MakeDoubleBuffered (line 40) | public static void MakeDoubleBuffered(this Control control, bool setti...
    method SetCompositedStyle (line 49) | public static CreateParams SetCompositedStyle(this Control control, Cr...
  class PaddingExtensions (line 58) | public static partial class PaddingExtensions {
    method Offset (line 60) | public static Point Offset(this Padding @this) => new Point(@this.Left...
    method OffsetSize (line 62) | public static Size OffsetSize(this Padding @this) => new Size(@this.Le...

FILE: HexgridPanel/WinForms/WindowsMessages.cs
  type WM (line 38) | public enum WM : int //: uint

FILE: HexgridPanel/WinForms/WindowsMouseInput.cs
  type MouseKeys (line 37) | [SuppressMessage("Microsoft.Design", "CA1028:EnumStorageShouldBeInt32")]
  class WindowsMouseInput (line 58) | public static class WindowsMouseInput {
    method GetKeyStateWParam (line 60) | [SuppressMessage("Microsoft.Performance", "CA1811:AvoidUncalledPrivate...
    method GetPointLParam (line 68) | [SuppressMessage("Microsoft.Performance", "CA1811:AvoidUncalledPrivate...
    method WheelDelta (line 77) | [SuppressMessage("Microsoft.Performance", "CA1811:AvoidUncalledPrivate...
    method LParam (line 83) | [SuppressMessage("Microsoft.Performance", "CA1811:AvoidUncalledPrivate...
    method WParam (line 93) | [SuppressMessage("Microsoft.Performance", "CA1811:AvoidUncalledPrivate...

FILE: HexgridPanel/WinForms/WindowsStylesEx.cs
  type WindowExtendedStyles (line 34) | [Flags]

FILE: codeplex/HexGridExample/HexGridExample.Designer.cs
  class HexGridExampleForm (line 9) | partial class HexGridExampleForm {
    method Dispose (line 19) | protected override void Dispose(bool disposing) {
    method InitializeComponent (line 32) | private void InitializeComponent() {

FILE: codeplex/HexGridExample/HexGridExample.cs
  class HexGridExampleForm (line 45) | public sealed partial class HexGridExampleForm : Form, IMessageFilter {
    method HexGridExampleForm (line 46) | public HexGridExampleForm() {
    method HexGridExampleForm_Load (line 66) | void HexGridExampleForm_Load(object sender, EventArgs e) {
    method OnResizeBegin (line 73) | protected override void OnResizeBegin(EventArgs e) {
    method OnResize (line 77) | protected override void OnResize(EventArgs e) {
    method OnResizeEnd (line 81) | protected override void OnResizeEnd(EventArgs e) {
    method hexgridPanel_MouseClick (line 87) | private void hexgridPanel_MouseClick() {
    method hexgridPanel_MouseMove (line 94) | void hexgridPanel_MouseMove(object sender, MouseEventArgs e) {
    method buttonTransposeMap_Click (line 103) | void buttonTransposeMap_Click(object sender, EventArgs e) {
    method toolStripComboBox1_Click (line 108) | private void toolStripComboBox1_Click(object sender, EventArgs e) {
    method buttonFieldOfView_Click (line 119) | private void buttonFieldOfView_Click(object sender, EventArgs e) {
    method PanelBoard_GoalHexChange (line 123) | private void PanelBoard_GoalHexChange(object sender, HexEventArgs e) {
    method PanelBoard_StartHexChange (line 128) | private void PanelBoard_StartHexChange(object sender, HexEventArgs e) {
    method PanelBoard_HotSpotHexChange (line 133) | private void PanelBoard_HotSpotHexChange(object sender, HexEventArgs e) {
    method PreFilterMessage (line 148) | [System.Security.Permissions.PermissionSetAttribute(
    method WindowFromPoint (line 173) | [DllImport("user32.dll")]
    method SendMessage (line 181) | [DllImport("user32.dll", CharSet = CharSet.Auto)]

FILE: codeplex/HexGridExample/IMapBoard.cs
  type IMapBoard (line 39) | public interface IMapBoard : IBoard<IMapGridHex>{
    method HexText (line 46) | string HexText(ICoordsUser coords);
    method Range (line 47) | int    Range(ICoordsCanon goal, ICoordsCanon current);

FILE: codeplex/HexGridExample/MapBoard.cs
  class MapBoard (line 39) | public abstract class MapBoard :  IBoard<IGridHex> {
    method HexText (line 57) | public string        HexText(ICoordsUser coords)   { return HexText(co...
    method IsOnBoard (line 58) | public bool          IsOnBoard(ICoordsUser coords) {
    method IsPassable (line 62) | public virtual bool  IsPassable(ICoordsUser coords) { return IsOnBoard...
    method StepCost (line 63) | public abstract int  StepCost(ICoordsCanon coords, Hexside hexSide);
    method Heuristic (line 64) | public abstract int Heuristic(int range);
    method HexText (line 72) | string HexText(int x, int y)       { return string.Format("{0,2}-{1,2}...

FILE: codeplex/HexGridExample/MapDisplay.cs
  type IMapGridHex (line 40) | public interface IMapGridHex : IGridHex {
  class MapDisplay (line 45) | public abstract class MapDisplay : MapBoard, IMapDisplay, IBoard<IMapGri...
    method MapDisplay (line 46) | public MapDisplay() : base() {
    method GetClipCells (line 73) | public UserCoordsRectangle GetClipCells(PointF point, SizeF size) {
    method GetClipCells (line 76) | public UserCoordsRectangle GetClipCells(RectangleF visibleClipBounds) {
    method PaintHighlight (line 79) | public virtual  void PaintHighlight(Graphics g) {
    method PaintMap (line 123) | public abstract void PaintMap(Graphics g);
    method PaintUnits (line 124) | public abstract void PaintUnits(Graphics g);
    method GetClipHexes (line 126) | UserCoordsRectangle GetClipHexes(RectangleF visibleClipBounds, Size bo...

FILE: codeplex/HexGridExample/MapGridHex.cs
  class MapGridHex (line 40) | public abstract class MapGridHex : IMapGridHex {
    method MapGridHex (line 43) | public MapGridHex(char value, ICoordsUser coords) { Value = value; Coo...
    method GetNeighbours (line 58) | public IEnumerable<NeighbourHex> GetNeighbours() {

FILE: codeplex/HexGridExample/MazeMap.cs
  class MazeMap (line 40) | public sealed class MazeMap : MapDisplay {
    method MazeMap (line 41) | public MazeMap() : base() { MazeGridHex.MyBoard = this; }
    method IsPassable (line 43) | public override bool  IsPassable(ICoordsUser coords) {
    method Heuristic (line 47) | public override int    Heuristic(int range) { return range; }
    method StepCost (line 48) | public override int    StepCost(ICoordsCanon coords, Hexside hexSide) {
    method PaintMap (line 53) | public override void PaintMap(Graphics g) {
    method PaintUnits (line 81) | public override void PaintUnits(Graphics g) { ; }
    class MazeGridHex (line 125) | public sealed class MazeGridHex : MapGridHex {
      method MazeGridHex (line 126) | public MazeGridHex(char value, ICoordsUser coords) : base(value, coo...

FILE: codeplex/HexGridExample/Program.cs
  class Program (line 38) | static class Program {
    method Main (line 40) | [STAThread]
    method InquireOnThisException (line 51) | public static void InquireOnThisException(Exception ex) {

FILE: codeplex/HexGridExample/Properties/Resources.Designer.cs
  class Resources (line 22) | [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resource...
    method Resources (line 31) | [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Mic...

FILE: codeplex/HexGridExample/Properties/Settings.Designer.cs
  class Settings (line 14) | [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

FILE: codeplex/HexGridExample/TerrainGridHex.cs
  class TerrainGridHex (line 40) | public abstract class TerrainGridHex : MapGridHex {
    method TerrainGridHex (line 42) | public TerrainGridHex(char value, ICoordsUser coords) : base(value, co...
  class ClearTerrainGridHex (line 48) | public sealed class ClearTerrainGridHex : TerrainGridHex {
    method ClearTerrainGridHex (line 49) | public ClearTerrainGridHex(char value, ICoordsUser coords) : base(valu...
  class FordTerrainGridHex (line 51) | public sealed class FordTerrainGridHex : TerrainGridHex {
    method FordTerrainGridHex (line 52) | public FordTerrainGridHex(char value, ICoordsUser coords) : base(value...
  class RiverTerrainGridHex (line 55) | public sealed class RiverTerrainGridHex : TerrainGridHex {
    method RiverTerrainGridHex (line 56) | public RiverTerrainGridHex(char value, ICoordsUser coords) : base(valu...
  class RoadTerrainGridHex (line 59) | public sealed class RoadTerrainGridHex : TerrainGridHex {
    method RoadTerrainGridHex (line 60) | public RoadTerrainGridHex(char value, ICoordsUser coords) : base(value...
  class TrailTerrainGridHex (line 63) | public sealed class TrailTerrainGridHex : TerrainGridHex {
    method TrailTerrainGridHex (line 64) | public TrailTerrainGridHex(char value, ICoordsUser coords) : base(valu...
  class HillTerrainGridHex (line 67) | public sealed class HillTerrainGridHex : TerrainGridHex {
    method HillTerrainGridHex (line 68) | public HillTerrainGridHex(char value, ICoordsUser coords) : base(value...
  class MountainTerrainGridHex (line 72) | public sealed class MountainTerrainGridHex : TerrainGridHex {
    method MountainTerrainGridHex (line 73) | public MountainTerrainGridHex(char value, ICoordsUser coords) : base(v...
  class WoodsTerrainGridHex (line 77) | public sealed class WoodsTerrainGridHex : TerrainGridHex {
    method WoodsTerrainGridHex (line 78) | public WoodsTerrainGridHex(char value, ICoordsUser coords) : base(valu...

FILE: codeplex/HexGridExample/TerrainMap.cs
  class TerrainMap (line 40) | public sealed class TerrainMap : MapDisplay {
    method TerrainMap (line 41) | public TerrainMap() : base() { TerrainGridHex.MyBoard = this; }
    method Heuristic (line 43) | public override int    Heuristic(int range) { return 2 * range; }
    method StepCost (line 44) | public override int    StepCost(ICoordsCanon coords, Hexside hexSide) {
    method PaintMap (line 49) | public override void PaintMap(Graphics g) {
    method PaintUnits (line 85) | public override void PaintUnits(Graphics g) { ; }
    method GetGridHex (line 129) | public static TerrainGridHex GetGridHex(char value, ICoordsUser coords) {

FILE: codeplex/HexGridExample2-branch/HexGridExample.Designer.cs
  class HexgridExampleForm (line 9) | partial class HexgridExampleForm {
    method Dispose (line 19) | protected override void Dispose(bool disposing) {
    method InitializeComponent (line 32) | private void InitializeComponent() {

FILE: codeplex/HexGridExample2-branch/HexGridExample.cs
  class HexgridExampleForm (line 46) | internal sealed partial class HexgridExampleForm : Form, IMessageFilter {
    method HexgridExampleForm (line 47) | public HexgridExampleForm() {
    method LoadTraceMenu (line 60) | [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Performanc...
    method LoadLandMarkMenu (line 75) | void LoadLandMarkMenu() {
    method HexGridExampleForm_Load (line 91) | void HexGridExampleForm_Load(object sender, EventArgs e) {
    method OnResizeBegin (line 101) | protected override void OnResizeBegin(EventArgs e) {
    method OnResize (line 105) | protected override void OnResize(EventArgs e) {
    method OnResizeEnd (line 109) | protected override void OnResizeEnd(EventArgs e) {
    method hexgridPanel_MouseMove (line 115) | [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Naming",
    method buttonTransposeMap_Click (line 129) | void buttonTransposeMap_Click(object sender, EventArgs e) {
    method txtPathCutover_TextChanged (line 133) | private void txtPathCutover_TextChanged(object sender, EventArgs e) {
    method menuItemLandmarks_SelectedIndexChanged (line 146) | private void menuItemLandmarks_SelectedIndexChanged(object sender, Eve...
    method menuItemDebugTracing_Click (line 151) | private void menuItemDebugTracing_Click(object sender, EventArgs e) {
    method toolStripComboBox1_Click (line 163) | private void toolStripComboBox1_Click(object sender, EventArgs e) {
    method buttonFieldOfView_Click (line 176) | private void buttonFieldOfView_Click(object sender, EventArgs e) {
    method PanelBoard_GoalHexChange (line 180) | private void PanelBoard_GoalHexChange(object sender, HexEventArgs e) {
    method PanelBoard_StartHexChange (line 184) | private void PanelBoard_StartHexChange(object sender, HexEventArgs e) {
    method PanelBoard_HotSpotHexChange (line 188) | private void PanelBoard_HotSpotHexChange(object sender, HexEventArgs e) {
    method PreFilterMessage (line 203) | [System.Security.Permissions.PermissionSetAttribute(

FILE: codeplex/HexGridExample2-branch/MapDisplay.cs
  class MapDisplay (line 43) | internal abstract class MapDisplay : HexBoard<MapGridHex>, IMapDisplay, ...
    method MapDisplay (line 45) | [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design",
    method GetClipCells (line 82) | public CoordsRectangle GetClipCells(PointF point, SizeF size) {
    method GetClipCells (line 85) | public CoordsRectangle GetClipCells(RectangleF visibleClipBounds) {
    method PaintHighlight (line 88) | public virtual  void PaintHighlight(Graphics g) {
    method PaintPath (line 145) | void PaintPath(Graphics g, IDirectedPath Path) {
    method PaintPathArrow (line 164) | void PaintPathArrow(Graphics g, IDirectedPath path) {
    method PaintMap (line 179) | public abstract void PaintMap(Graphics g);
    method PaintUnits (line 180) | public abstract void PaintUnits(Graphics g);
    method GetClipHexes (line 182) | CoordsRectangle  GetClipHexes(RectangleF visibleClipBounds, Size board...
    method HexText (line 190) | public string HexText(HexCoords coords, int landmarkToShow) {
    method HexText (line 195) | public string HexText(int x, int y, int landmarkToShow)     {

FILE: codeplex/HexGridExample2-branch/MapGridHex.cs
  type IMapGridHex (line 40) | internal interface IMapGridHex : IHex {
    method Paint (line 42) | void Paint(Graphics g);
  class MapGridHex (line 45) | internal abstract class MapGridHex : Hex, IMapGridHex {
    method MapGridHex (line 46) | protected MapGridHex(IBoard<IHex> board, HexCoords coords) : base(boar...
    method Paint (line 50) | public abstract void Paint(Graphics g);

FILE: codeplex/HexGridExample2-branch/MazeGridHex.cs
  class MazeGridHex (line 41) | internal abstract class MazeGridHex : MapGridHex {
    method MazeGridHex (line 42) | protected MazeGridHex(IBoard<MapGridHex> board, HexCoords coords, Size...
    method Paint (line 59) | public override void   Paint(Graphics g) {;}
  class PathMazeGridHex (line 65) | internal sealed class PathMazeGridHex : MazeGridHex {
    method PathMazeGridHex (line 66) | public PathMazeGridHex(IBoard<MapGridHex> board, HexCoords coords, Siz...
    method StepCost (line 70) | public override int  StepCost(Hexside direction) { return  1; }
  class WallMazeGridHex (line 73) | internal sealed class WallMazeGridHex : MazeGridHex {
    method WallMazeGridHex (line 74) | public WallMazeGridHex(IBoard<MapGridHex> board, HexCoords coords, Siz...
    method StepCost (line 78) | public override int  StepCost(Hexside direction) { return -1; }
    method Paint (line 80) | public override void Paint(Graphics g) {

FILE: codeplex/HexGridExample2-branch/MazeMap.cs
  class MazeMap (line 41) | internal sealed class MazeMap : MapDisplay {
    method MazeMap (line 42) | public MazeMap() : base(_sizeHexes, (map,coords) => InitializeHex(map,...
    method ElevationASL (line 45) | [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage",
    method Heuristic (line 49) | public override int   Heuristic(int range) { return range; }
    method IsPassable (line 51) | public override bool  IsPassable(HexCoords coords) {
    method PaintMap (line 56) | public override void PaintMap(Graphics g) {
    method PaintUnits (line 80) | public override void PaintUnits(Graphics g) { ; }
    method InitializeHex (line 119) | private static MapGridHex InitializeHex(IBoard<MapGridHex> board, HexC...

FILE: codeplex/HexGridExample2-branch/NativeMethods.cs
  class NativeMethods (line 41) | internal static partial class NativeMethods {
    method WindowFromPoint (line 46) | [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Portabilit...
    method SendMessage (line 55) | [DllImport("user32.dll", CharSet = CharSet.Auto)]

FILE: codeplex/HexGridExample2-branch/Program.cs
  class Program (line 38) | static class Program {
    method Main (line 40) | [STAThread]

FILE: codeplex/HexGridExample2-branch/Properties/Resources.Designer.cs
  class Resources (line 22) | [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resource...
    method Resources (line 31) | [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Mic...

FILE: codeplex/HexGridExample2-branch/Properties/Settings.Designer.cs
  class Settings (line 14) | [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

FILE: codeplex/HexGridExample2-branch/TerrainGridHex.cs
  class TerrainGridHex (line 40) | internal abstract class TerrainGridHex : MapGridHex {
    method TerrainGridHex (line 42) | protected TerrainGridHex(IBoard<IHex> map, HexCoords coords, Size grid...
    method Paint (line 61) | public override void Paint(Graphics g) {;}
    method StepCost (line 65) | public override int  StepCost(Hexside direction) { return  4; }
  class ClearTerrainGridHex (line 67) | internal sealed class ClearTerrainGridHex    : TerrainGridHex {
    method ClearTerrainGridHex (line 68) | public ClearTerrainGridHex(IBoard<MapGridHex> map, HexCoords coords, S...
    method Paint (line 69) | public override void Paint(Graphics g) { ; }
  class FordTerrainGridHex (line 71) | internal sealed class FordTerrainGridHex     : TerrainGridHex {
    method FordTerrainGridHex (line 72) | public FordTerrainGridHex(IBoard<MapGridHex> map, HexCoords coords, Si...
    method StepCost (line 73) | public override int StepCost(Hexside direction) { return  5; }
    method Paint (line 74) | public override void Paint(Graphics g) {
  class RiverTerrainGridHex (line 79) | internal sealed class RiverTerrainGridHex    : TerrainGridHex {
    method RiverTerrainGridHex (line 80) | public RiverTerrainGridHex(IBoard<MapGridHex> map, HexCoords coords, S...
    method StepCost (line 81) | public override int StepCost(Hexside direction) { return -1; }
    method Paint (line 82) | public override void Paint(Graphics g) {
  class PikeTerrainGridHex (line 87) | internal sealed class PikeTerrainGridHex     : TerrainGridHex {
    method PikeTerrainGridHex (line 88) | public PikeTerrainGridHex(IBoard<MapGridHex> map, HexCoords coords, Si...
    method StepCost (line 89) | public override int StepCost(Hexside direction) { return  2; }
    method Paint (line 90) | public override void Paint(Graphics g) {
  class RoadTerrainGridHex (line 96) | internal sealed class RoadTerrainGridHex     : TerrainGridHex {
    method RoadTerrainGridHex (line 97) | public RoadTerrainGridHex(IBoard<MapGridHex> map, HexCoords coords, Si...
    method StepCost (line 98) | public override int StepCost(Hexside direction) { return  3; }
    method Paint (line 99) | public override void Paint(Graphics g) {
  class HillTerrainGridHex (line 105) | internal sealed class HillTerrainGridHex     : TerrainGridHex {
    method HillTerrainGridHex (line 106) | public HillTerrainGridHex(IBoard<MapGridHex> map, HexCoords coords, Si...
    method StepCost (line 108) | public override int StepCost(Hexside direction) { return  5; }
    method Paint (line 109) | public override void Paint(Graphics g) {
  class MountainTerrainGridHex (line 114) | internal sealed class MountainTerrainGridHex : TerrainGridHex {
    method MountainTerrainGridHex (line 115) | public MountainTerrainGridHex(IBoard<MapGridHex> map, HexCoords coords...
    method StepCost (line 117) | public override int StepCost(Hexside direction) { return  6; }
    method Paint (line 118) | public override void Paint(Graphics g) {
  class WoodsTerrainGridHex (line 123) | internal sealed class WoodsTerrainGridHex    : TerrainGridHex {
    method WoodsTerrainGridHex (line 124) | public WoodsTerrainGridHex(IBoard<MapGridHex> map, HexCoords coords, S...
    method StepCost (line 126) | public override int StepCost(Hexside direction) { return  8; }
    method Paint (line 127) | public override void Paint(Graphics g) {

FILE: codeplex/HexGridExample2-branch/TerrainMap.cs
  class TerrainMap (line 40) | internal sealed class TerrainMap : MapDisplay {
    method TerrainMap (line 41) | public TerrainMap() : base(_sizeHexes, (map,coords) => InitializeHex(m...
    method ElevationASL (line 44) | [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage",
    method Heuristic (line 49) | [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage",
    method PaintMap (line 54) | public override void PaintMap(Graphics g) {
    method PaintUnits (line 78) | public override void PaintUnits(Graphics g) { ; }
    method InitializeHex (line 117) | private static MapGridHex InitializeHex(IBoard<MapGridHex> board, HexC...

FILE: codeplex/HexGridExample2/HexGridExampleWinForms.Designer.cs
  class HexgridExampleWinForms (line 9) | partial class HexgridExampleWinForms {
    method Dispose (line 19) | protected override void Dispose(bool disposing) {
    method InitializeComponent (line 32) | [System.CodeDom.Compiler.GeneratedCode("","")]

FILE: codeplex/HexGridExample2/HexGridExampleWinForms.cs
  class HexgridExampleWinForms (line 47) | internal sealed partial class HexgridExampleWinForms : Form, IMessageFil...
    method HexgridExampleWinForms (line 51) | public HexgridExampleWinForms() {
    method LoadTraceMenu (line 73) | partial void LoadTraceMenu();
    method LoadTraceMenu (line 74) | [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Performanc...
    method LoadLandmarkMenu (line 88) | private void LoadLandmarkMenu() {
    method HexGridExampleForm_Load (line 99) | private void HexGridExampleForm_Load(object sender, EventArgs e) {
    method OnResizeBegin (line 110) | protected override void OnResizeBegin(EventArgs e) {
    method OnResize (line 114) | protected override void OnResize(EventArgs e) {
    method OnResizeEnd (line 118) | protected override void OnResizeEnd(EventArgs e) {
    method hexgridPanel_MouseMove (line 124) | private void hexgridPanel_MouseMove(object sender, MouseEventArgs e) {
    method txtPathCutover_TextChanged (line 133) | private void txtPathCutover_TextChanged(object sender, EventArgs e) {
    method menuItemLandmarks_SelectedIndexChanged (line 146) | private void menuItemLandmarks_SelectedIndexChanged(object sender, Eve...
    method menuItemDebugTracing_Click (line 152) | private void menuItemDebugTracing_Click(object sender, EventArgs e) {
    method menuItemHelpContents_Click (line 161) | private void menuItemHelpContents_Click(object sender, EventArgs e) {
    method comboBoxMapSelection_SelectionChanged (line 165) | private void comboBoxMapSelection_SelectionChanged(object sender, Even...
    method ParseMapName (line 168) | private static MapGridDisplay ParseMapName(string mapName) {
    method SetMapBoard (line 172) | private void SetMapBoard(MapGridDisplay mapBoard) {
    method buttonFieldOfView_Click (line 185) | private void buttonFieldOfView_Click(object sender, EventArgs e) {
    method buttonPathArrow_Click (line 189) | private void buttonPathArrow_Click(object sender, EventArgs e) {
    method buttonRangeLine_Click (line 193) | private void buttonRangeLine_Click(object sender, EventArgs e) {
    method buttonTransposeMap_Click (line 199) | private void buttonTransposeMap_Click(object sender, EventArgs e) {
    method PanelBoard_GoalHexChange (line 203) | private void PanelBoard_GoalHexChange(object sender, HexEventArgs e) {
    method PanelBoard_StartHexChange (line 207) | private void PanelBoard_StartHexChange(object sender, HexEventArgs e) {
    method PanelBoard_HotSpotHexChange (line 211) | private void PanelBoard_HotSpotHexChange(object sender, HexEventArgs e) {
    method PreFilterMessage (line 227) | [System.Security.Permissions.PermissionSetAttribute(

FILE: codeplex/HexGridExample2/NativeMethods.cs
  class NativeMethods (line 39) | internal static partial class NativeMethods {
    method WindowFromPoint (line 44) | [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Portability",
    method SendMessage (line 58) | [DllImport("user32.dll", CharSet = CharSet.Auto)]

FILE: codeplex/HexGridExample2/Program.cs
  class Program (line 40) | static class Program {
    method Main (line 42) | [STAThread]

FILE: codeplex/HexGridExample2/Properties/Resources.Designer.cs
  class Resources (line 22) | [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resource...
    method Resources (line 31) | [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Mic...

FILE: codeplex/HexGridExample2/Properties/Settings.Designer.cs
  class Settings (line 12) | [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

FILE: codeplex/HexGridExampleCommon/AStarBugMap.cs
  class AStarBugMap (line 42) | public sealed class AStarBugMap : MapDisplay<MapGridHex> {
    method AStarBugMap (line 44) | public AStarBugMap() : base(_sizeHexes, new Size(26,30), InitializeHex...
    method Heuristic (line 47) | [SuppressMessage("Microsoft.Usage", "CA2233:OperationsShouldNotOverflo...
    method PaintUnits (line 51) | public override void PaintUnits(Graphics graphics) { ; }
    method InitializeHex (line 58) | private new static MapGridHex InitializeHex(GraphicsPath hexgridPath, ...

FILE: codeplex/HexGridExampleCommon/MapDefs.cs
  class MapDefinitions (line 35) | public static class MapDefinitions {

FILE: codeplex/HexGridExampleCommon/MapList.cs
  type Map (line 46) | public struct Map {
    method Map (line 53) | public Map(string mapName, MapExtractor mapExtractor)
    method Equals (line 71) | public override bool Equals(object obj) {
    method GetHashCode (line 77) | public override int GetHashCode() { return MapName.GetHashCode(); }
    method Equals (line 80) | public bool Equals(Map other) { return this == other; }

FILE: codeplex/HexGridExampleCommon/MazeGridHex.cs
  class MazeGridHex (line 40) | internal abstract class MazeGridHex : MapGridHex {
    method MazeGridHex (line 45) | protected MazeGridHex(GraphicsPath hexgridPath, HexCoords coords, int ...
  class PathMazeGridHex (line 55) | internal sealed class PathMazeGridHex : MazeGridHex {
    method PathMazeGridHex (line 59) | public PathMazeGridHex(GraphicsPath hexgridPath, HexCoords coords)
    method StepCost (line 66) | public override int  StepCost(Hexside direction) { return  1; }
    method Paint (line 68) | public override void Paint(Graphics graphics) { ; }
  class WallMazeGridHex (line 72) | internal sealed class WallMazeGridHex : MazeGridHex {
    method WallMazeGridHex (line 76) | public WallMazeGridHex(GraphicsPath hexgridPath, HexCoords coords)
    method StepCost (line 83) | public override int  StepCost(Hexside direction) { return -1; }
    method Paint (line 85) | public override void Paint(Graphics graphics) {

FILE: codeplex/HexGridExampleCommon/MazeMap.cs
  class MazeMap (line 41) | public sealed class MazeMap : MapDisplay<MapGridHex> {
    method MazeMap (line 43) | public MazeMap() : base(_sizeHexes, new Size(26,30), InitializeHex) {}
    method Heuristic (line 46) | public override int   Heuristic(int range) { return range; }
    method IsPassable (line 49) | public override bool  IsPassable(HexCoords coords) {
    method PaintUnits (line 54) | public override void PaintUnits(Graphics graphics) { ; }
    method InitializeHex (line 61) | private new static MapGridHex InitializeHex(GraphicsPath hexgridPath, ...

FILE: codeplex/HexGridExampleCommon/MyMapDisplay.cs
  class MyMapDisplay (line 38) | public class MyMapDisplay : MapDisplay<MapGridHex> {
    method MyMapDisplay (line 41) | protected MyMapDisplay(Size sizeHexes, Size gridSize, Func<HexBoard<Ma...
    method MyMapDisplay (line 45) | protected MyMapDisplay(Size sizeHexes, Size gridSize, Func<HexBoard<Ma...

FILE: codeplex/HexGridExampleCommon/Properties/Resources.Designer.cs
  class Resources (line 22) | [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resource...
    method Resources (line 31) | [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Mic...

FILE: codeplex/HexGridExampleCommon/TerrainGridHex.cs
  class TerrainGridHex (line 39) | internal abstract class TerrainGridHex : MapGridHex {
    method TerrainGridHex (line 45) | protected TerrainGridHex(GraphicsPath hexgridPath, HexCoords coords, i...
    method Paint (line 57) | public    override void         Paint(Graphics graphics) {
    method StepCost (line 62) | public    override int          StepCost(Hexside direction) { return  ...
  class ClearTerrainGridHex (line 65) | internal sealed class ClearTerrainGridHex    : TerrainGridHex {
    method ClearTerrainGridHex (line 67) | public ClearTerrainGridHex(GraphicsPath hexgridPath, HexCoords coords)...
    method Paint (line 70) | public    override void Paint(Graphics g) { ; }
  class FordTerrainGridHex (line 74) | internal sealed class FordTerrainGridHex     : TerrainGridHex {
    method FordTerrainGridHex (line 76) | public FordTerrainGridHex(GraphicsPath hexgridPath, HexCoords coords) ...
    method StepCost (line 81) | public    override int   StepCost(Hexside direction) { return  5; }
  class RiverTerrainGridHex (line 85) | internal sealed class RiverTerrainGridHex    : TerrainGridHex {
    method RiverTerrainGridHex (line 87) | public RiverTerrainGridHex(GraphicsPath hexgridPath, HexCoords coords)...
    method StepCost (line 93) | public    override int   StepCost(Hexside direction) { return -1; }
  class PikeTerrainGridHex (line 97) | internal sealed class PikeTerrainGridHex     : TerrainGridHex {
    method PikeTerrainGridHex (line 98) | public PikeTerrainGridHex(GraphicsPath hexgridPath, HexCoords coords) ...
    method StepCost (line 101) | public    override int   StepCost(Hexside direction) { return  2; }
    method Paint (line 103) | public    override void  Paint(Graphics g) {
  class RoadTerrainGridHex (line 111) | internal sealed class RoadTerrainGridHex     : TerrainGridHex {
    method RoadTerrainGridHex (line 112) | public RoadTerrainGridHex(GraphicsPath hexgridPath, HexCoords coords) ...
    method StepCost (line 115) | public    override int   StepCost(Hexside direction) { return  3; }
    method Paint (line 117) | public    override void  Paint(Graphics g) {
  class HillTerrainGridHex (line 125) | internal sealed class HillTerrainGridHex     : TerrainGridHex {
    method HillTerrainGridHex (line 126) | public HillTerrainGridHex(GraphicsPath hexgridPath, HexCoords coords) ...
    method StepCost (line 131) | public    override int   StepCost(Hexside direction) { return  5; }
  class MountainTerrainGridHex (line 135) | internal sealed class MountainTerrainGridHex : TerrainGridHex {
    method MountainTerrainGridHex (line 136) | public MountainTerrainGridHex(GraphicsPath hexgridPath, HexCoords coor...
    method StepCost (line 141) | public    override int   StepCost(Hexside direction) { return  6; }
  class WoodsTerrainGridHex (line 145) | internal sealed class WoodsTerrainGridHex    : TerrainGridHex {
    method WoodsTerrainGridHex (line 146) | public WoodsTerrainGridHex(GraphicsPath hexgridPath, HexCoords coords)...
    method StepCost (line 153) | public    override int   StepCost(Hexside direction) { return  8; }

FILE: codeplex/HexGridExampleCommon/TerrainMap.cs
  class TerrainMap (line 50) | public sealed class TerrainMap : MapDisplay<MapGridHex> {
    method TerrainMap (line 52) | public TerrainMap() : base(_sizeHexes, new HexSize(26,30), InitializeH...
    method Heuristic (line 55) | [SuppressMessage("Microsoft.Usage", "CA2233:OperationsShouldNotOverflow",
    method PaintUnits (line 60) | public override void PaintUnits(Graphics graphics) { ; }
    method InitializeHex (line 67) | private new static MapGridHex InitializeHex(GraphicsPath hexgridPath, ...

FILE: codeplex/HexInterfaces/Common/DebugTracing.cs
  type Traces (line 38) | [Flags]public enum Traces  {
  class NativeMethods (line 81) | internal static partial class NativeMethods {
    class SystemTime (line 82) | [StructLayout(LayoutKind.Sequential)]
      method ToString (line 93) | public override string ToString() {
    method GetSystemTime (line 98) | [SuppressMessage("Microsoft.Performance", "CA1811:AvoidUncalledPrivate...
  method Trace (line 110) | public static void Trace(Traces traces, string format, params object[] a...
  method Trace (line 114) | public static void Trace(Traces traces, bool newLine, string format, par...
  method Trace (line 119) | [SuppressMessage("Microsoft.Usage", "CA1801:ReviewUnusedParameters", Mes...
  method LogTime (line 128) | public static void LogTime(Traces traces, string format, params object[]...
  method LogTime (line 132) | public static void LogTime(Traces traces, bool newLine, string format, p...
  method LogTime (line 136) | public static void LogTime(Traces traces, string description) {
  method LogTime (line 141) | [SuppressMessage("Microsoft.Usage", "CA1801:ReviewUnusedParameters", Mes...
  method TraceDetail (line 149) | static partial void TraceDetail(Traces traces, bool newLine, string desc...
  method TraceDetail (line 150) | [Conditional("TRACE")]
  method LogTimeDetail (line 158) | static partial void LogTimeDetail(Traces traces, bool newLine, string de...
  method LogTimeDetail (line 159) | [Conditional("TRACE")]
  class Extensions (line 173) | public static partial class Extensions {
    method Trace (line 175) | public static void Trace(this Traces @this, string format, params obje...
    method Trace (line 178) | public static void Trace(this Traces @this, bool newLine, string forma...
    method Trace (line 181) | public static void Trace(this Traces @this, bool newLine, string descr...
    method LogTime (line 185) | public static void LogTime(this Traces @this, string format, params ob...
    method LogTime (line 188) | public static void LogTime(this Traces @this, bool newLine, string for...
    method LogTime (line 191) | public static void LogTime(this Traces @this, string description) {
    method LogTime (line 194) | public static void LogTime(this Traces @this, bool newLine, string des...
    method Trace (line 199) | [SuppressMessage("Microsoft.Usage", "CA1801:ReviewUnusedParameters", M...
    method Trace (line 204) | [SuppressMessage("Microsoft.Usage", "CA1801:ReviewUnusedParameters", M...
    method Trace (line 211) | [SuppressMessage("Microsoft.Usage", "CA1801:ReviewUnusedParameters", M...
    method LogTime (line 218) | [SuppressMessage("Microsoft.Usage", "CA1801:ReviewUnusedParameters", M...
    method LogTime (line 223) | [SuppressMessage("Microsoft.Usage", "CA1801:ReviewUnusedParameters", M...
    method LogTime (line 230) | [SuppressMessage("Microsoft.Usage", "CA1801:ReviewUnusedParameters", M...
    method LogTime (line 234) | [SuppressMessage("Microsoft.Usage", "CA1801:ReviewUnusedParameters", M...

FILE: codeplex/HexInterfaces/Common/EnumExtensions.cs
  class EnumExtensions (line 39) | public static partial class EnumExtensions{
    method EnumGetValues (line 42) | public static IList<TEnum> EnumGetValues<TEnum>() {
    method EnumGetNames (line 47) | [SuppressMessage("Microsoft.Design", "CA1004:GenericMethodsShouldProvi...
    method ParseEnum (line 55) | public static TEnum ParseEnum<TEnum>(string value) where TEnum : struct {
    method ParseEnum (line 61) | public static TEnum ParseEnum<TEnum>(string value, bool checkConstants...
    method TryParseEnum (line 71) | public static bool TryParseEnum<TEnum>(string value, out TEnum enumVal...
    method TryParseEnum (line 77) | public static bool TryParseEnum<TEnum>(string value, bool ignoreCase, ...
    method EnumParse (line 84) | public static TEnum EnumParse<TEnum>(char c, string lookup) {
    method ThrowInvalidDataException (line 101) | [Obsolete("InvalidDataException is an IOException; subclass and throw ...
    method ThrowInvalidDataException (line 112) | [Obsolete("InvalidDataException is an IOException; subclass and throw ...
  class EnumExtensions (line 97) | public static partial class EnumExtensions{
    method EnumGetValues (line 42) | public static IList<TEnum> EnumGetValues<TEnum>() {
    method EnumGetNames (line 47) | [SuppressMessage("Microsoft.Design", "CA1004:GenericMethodsShouldProvi...
    method ParseEnum (line 55) | public static TEnum ParseEnum<TEnum>(string value) where TEnum : struct {
    method ParseEnum (line 61) | public static TEnum ParseEnum<TEnum>(string value, bool checkConstants...
    method TryParseEnum (line 71) | public static bool TryParseEnum<TEnum>(string value, out TEnum enumVal...
    method TryParseEnum (line 77) | public static bool TryParseEnum<TEnum>(string value, bool ignoreCase, ...
    method EnumParse (line 84) | public static TEnum EnumParse<TEnum>(char c, string lookup) {
    method ThrowInvalidDataException (line 101) | [Obsolete("InvalidDataException is an IOException; subclass and throw ...
    method ThrowInvalidDataException (line 112) | [Obsolete("InvalidDataException is an IOException; subclass and throw ...

FILE: codeplex/HexInterfaces/Common/Extensions.cs
  class EventHandlerExtensions (line 36) | public static class EventHandlerExtensions {
    method Raise (line 38) | [SuppressMessage("Microsoft.Design", "CA1030:UseEventsWhereAppropriate",
    method Raise (line 47) | [SuppressMessage("Microsoft.Design", "CA1030:UseEventsWhereAppropriate",
    method Raise (line 56) | [SuppressMessage("Microsoft.Design", "CA1030:UseEventsWhereAppropriate",

FILE: codeplex/HexInterfaces/Common/FastList.cs
  class FastList (line 16) | [SuppressMessage("Microsoft.Naming", "CA1710:IdentifiersShouldHaveCorrec...
    method FastList (line 20) | public FastList(TItem[] array) : base(array) { }
  class FastListDisposable (line 24) | [SuppressMessage("Microsoft.Naming", "CA1710:IdentifiersShouldHaveCorrec...
    method FastListDisposable (line 29) | public FastListDisposable(TItem[] array) : base(array)  { }
    method Dispose (line 34) | public void Dispose() { Dispose(true); GC.SuppressFinalize(this); }
    method Dispose (line 36) | private void Dispose(bool disposing) {
  class AbstractFastList (line 54) | [SuppressMessage("Microsoft.Naming", "CA1710:IdentifiersShouldHaveCorrec...
    method AbstractFastList (line 77) | protected AbstractFastList(TItem[] array) { _array = array; }
    method GetEnumerator (line 80) | public IEnumerator<TItem>                     GetEnumerator(){
    method GetEnumerator (line 83) | IEnumerator                       IEnumerable.GetEnumerator() {return ...
    method GetEnumerator (line 84) | IFastEnumerator<TItem> IFastEnumerable<TItem>.GetEnumerator(){
    method ForEach (line 89) | public void  ForEach(Action<TItem> action) {
    method ForEach (line 97) | public void  ForEach(FastIteratorFunctor<TItem> functor) {
    method IndexOf (line 109) | public int   IndexOf(TItem item) { return Array.IndexOf(_array, item); }
  type IFastEnumerable (line 121) | public interface IFastEnumerable<TItem> {
    method GetEnumerator (line 123) | IFastEnumerator<TItem> GetEnumerator();
  type IFastEnumerator (line 127) | public interface IFastEnumerator<T>{
    method MoveNext (line 129) | [SuppressMessage("Microsoft.Design", "CA1045:DoNotPassTypesByReference...
  type IForEachable (line 144) | public interface IForEachable<TItem>{
    method ForEach (line 146) | void ForEach(Action<TItem> action);
  type IForEachable2 (line 156) | public interface IForEachable2<TItem> {
    method ForEach (line 158) | void ForEach(FastIteratorFunctor<TItem> functor);
  type IFastList (line 162) | [SuppressMessage("Microsoft.Naming", "CA1710:IdentifiersShouldHaveCorrec...
    method IndexOf (line 173) | int IndexOf(TItem item);
  class FastIteratorFunctor (line 178) | [DebuggerDisplay("Count={Count}")]
    method Invoke (line 181) | public abstract void Invoke(TItem item);
  class ClassicEnumerable (line 186) | [DebuggerDisplay("Count={Count}")]
    method ClassicEnumerable (line 188) | internal ClassicEnumerable(TItem[] a) { _a = a; }
    method MoveNext (line 194) | public bool   MoveNext() { return ++_index < _a.Length; }
    method Reset (line 201) | public void Reset() { _index = -1; }
    method Dispose (line 206) | public void Dispose() { Dispose(true); GC.SuppressFinalize(this); }
    method Dispose (line 208) | private void Dispose(bool disposing) {
  class FastEnumerable (line 219) | [DebuggerDisplay("Count={Count}")]
    method FastEnumerable (line 223) | internal FastEnumerable(TItem[] a) { _array = a; }
    method MoveNext (line 229) | public bool MoveNext(ref TItem item) {
  class ArrayExtensions (line 239) | public static class ArrayExtensions {
    method ToFastList (line 244) | public static FastList<T> ToFastList<T>(this T[] @this) {
    method ToFastList (line 251) | public static FastList<T> ToFastList<T>(this IList<T> @this) {
    method ToFastList (line 258) | public static FastList<T> ToFastList<T>(this IEnumerable<T> @this) {

FILE: codeplex/HexInterfaces/Common/ImmutableStack.cs
  class ImmutableStackCollection (line 37) | public class ImmutableStackCollection<T> : IEnumerable<T> {
    method Push (line 44) | public ImmutableStackCollection<T> Push(T item) { return new Immutable...
    method ImmutableStackCollection (line 47) | public ImmutableStackCollection(T start) : this(start, null) {}
    method ImmutableStackCollection (line 49) | private ImmutableStackCollection(T item, ImmutableStackCollection<T> r...
    method GetEnumerator (line 55) | public IEnumerator<T> GetEnumerator() {
    method GetEnumerator (line 59) | IEnumerator IEnumerable.GetEnumerator() { return this.GetEnumerator(); }

FILE: codeplex/HexInterfaces/Common/IntMatrix2D.cs
  type IntMatrix2D (line 41) | [DebuggerDisplay("(({M11},{M12}), ({M21},{M22}), ({M31},{M32}), {M33}))")]
    method Transpose (line 45) | public static IntMatrix2D Transpose(IntMatrix2D matrix) {
    method IntMatrix2D (line 76) | public IntMatrix2D(IntVector2D vector)  : this(1,0, 0,1, vector.X,vect...
    method IntMatrix2D (line 80) | public IntMatrix2D(int dx, int dy)  : this(1,0, 0,1, dx,dy,1) {}
    method IntMatrix2D (line 86) | [SuppressMessage("Microsoft.Design", "CA1025:ReplaceRepetitiveArgument...
    method IntMatrix2D (line 90) | public IntMatrix2D(IntMatrix2D m) : this(m.M11,m.M21, m.M12,m.M22, m.M...
    method IntMatrix2D (line 98) | public IntMatrix2D(int m11, int m12, int m21, int m22, int dx, int dy)...
    method IntMatrix2D (line 107) | public IntMatrix2D(int m11, int m12, int m21, int m22, int dx, int dy,...
    method Multiply (line 148) | public static IntVector2D Multiply(IntVector2D v, IntMatrix2D m) { ret...
    method Multiply (line 150) | public static IntMatrix2D Multiply(IntMatrix2D m1, IntMatrix2D m2) { r...
    method Rotate (line 157) | public IntVector2D Rotate(IntVector2D v) {
    method Equals (line 163) | public override bool Equals(object obj) {
    method Equals (line 167) | public bool          Equals(IntMatrix2D other)              { return t...
    method GetHashCode (line 177) | public override int GetHashCode() { return M11 ^ M12 ^ M21 ^ M22 ^ M31...
    method ToString (line 181) | public override string ToString() {
    method ToString (line 188) | public string ToString(string format, IFormatProvider formatProvider) {

FILE: codeplex/HexInterfaces/Common/IntVector2D.cs
  type IntVector2D (line 39) | [DebuggerDisplay("({X},{Y},{W})")]
    method IntVector2D (line 55) | public IntVector2D(Point point)              : this(point.X, point.Y, ...
    method IntVector2D (line 57) | public IntVector2D(Size size)                : this(size.Width, size.H...
    method IntVector2D (line 59) | public IntVector2D(IntVector2D intVector2D)  : this(intVector2D.X, int...
    method IntVector2D (line 61) | public IntVector2D(int x, int y)             : this(x, y, 1) {}
    method IntVector2D (line 63) | internal IntVector2D(int x, int y, int norm) : this() {
    method Normalize (line 73) | public IntVector2D Normalize() {
    method Multiply (line 102) | public static IntVector2D Multiply (int s, IntVector2D v) { return v *...
    method Multiply (line 104) | public static IntVector2D Multiply (IntVector2D v, int s) { return v *...
    method Divide (line 106) | public static IntVector2D Divide (IntVector2D v, int i)   { return v /...
    method Divide (line 108) | public static IntVector2D Divide (IntVector2D v, float s) { return v /...
    method Add (line 130) | public static IntVector2D Add  (IntVector2D v1, IntVector2D v2) { retu...
    method Subtract (line 132) | public static IntVector2D Subtract (IntVector2D v1, IntVector2D v2) { ...
    method CrossProduct (line 135) | public static int CrossProduct (IntVector2D v1, IntVector2D v2) { retu...
    method InnerProduct (line 137) | public static int InnerProduct (IntVector2D v1, IntVector2D v2) { retu...
    method Xor (line 139) | [Obsolete("Deprecated (as really confusing) - use InnerProduct instead...
    method Equals (line 157) | public override bool Equals(object obj) {
    method GetHashCode (line 163) | public override int GetHashCode() { return X << 16  ^  Y  ^  W; }
    method Equals (line 166) | public bool Equals(IntVector2D other) { return this == other; }
    method ToString (line 178) | public override string ToString() { return ToString("G", CultureInfo.I...
    method ToString (line 199) | public string ToString(string format, IFormatProvider formatProvider) {

FILE: codeplex/HexInterfaces/Common/PointExtensions.cs
  class PointExtensions (line 33) | public static class PointExtensions {
    method Scale (line 35) | public static Point Scale(this Point @this, int value) {
    method Scale (line 39) | public static Point Scale(this Point @this, int valueX, int valueY) {
    method Scale (line 45) | public static PointF Scale(this Point @this, float value) {
    method Scale (line 49) | public static PointF Scale(this Point @this, float valueX, float value...
    method Scale (line 53) | public static PointF Scale(this PointF @this, float value) {
    method Scale (line 57) | public static PointF Scale(this PointF @this, float valueX, float valu...

FILE: codeplex/HexInterfaces/Common/SizeExtensions.cs
  class SizeExtensions (line 33) | public static class SizeExtensions {
    method Scale (line 35) | public static Size Scale(this Size @this, int value) {
    method Scale (line 39) | public static Size Scale(this Size @this, int valueX, int valueY) {
    method Scale (line 45) | public static SizeF Scale(this Size @this, float value) {
    method Scale (line 49) | public static SizeF Scale(this Size @this, float valueX, float valueY) {
    method Scale (line 53) | public static SizeF Scale(this SizeF @this, float value) {
    method Scale (line 57) | public static SizeF Scale(this SizeF @this, float valueX, float valueY) {

FILE: codeplex/HexInterfaces/Common/UserCoordsRectangle.cs
  type CoordsRectangle (line 36) | [DebuggerDisplay("({Location}):({Size})")]
    method CoordsRectangle (line 40) | public CoordsRectangle(HexCoords location, HexCoords size)  : this(new...
    method CoordsRectangle (line 42) | public CoordsRectangle(int x, int y, int width, int height) : this(new...
    method CoordsRectangle (line 44) | private CoordsRectangle(Rectangle rectangle) : this() { Rectangle = re...
    method ToString (line 84) | public override string ToString() {
    method Equals (line 90) | public override bool Equals(object obj) {
    method GetHashCode (line 96) | public override int GetHashCode() { return Rectangle.GetHashCode(); }
    method Equals (line 99) | public bool Equals(CoordsRectangle other) { return this == other; }

FILE: codeplex/HexInterfaces/CustomCoordsFactory.cs
  class CustomCoords (line 33) | public static class CustomCoords {
    method UserToCustom (line 36) | public static IntVector2D UserToCustom(this HexCoords @this) {
    method CustomToUser (line 40) | public static HexCoords CustomToUser(this IntVector2D @this) {
    method SetMatrices (line 45) | public static void SetMatrices(IntMatrix2D matrix) { SetMatrices(matri...
    method SetMatrices (line 48) | public static void SetMatrices(IntMatrix2D userToCustom, IntMatrix2D c...

FILE: codeplex/HexInterfaces/HexCoords.cs
  type HexCoords (line 53) | [DebuggerDisplay("User: {User}")]
    method NewCanonCoords (line 57) | public static HexCoords NewCanonCoords (int x, int y) { return NewCano...
    method NewUserCoords (line 59) | public static HexCoords NewUserCoords  (int x, int y) { return NewUser...
    method NewCanonCoords (line 61) | public static HexCoords NewCanonCoords (IntVector2D vector){ return ne...
    method NewUserCoords (line 63) | public static HexCoords NewUserCoords  (IntVector2D vector){ return ne...
    method HexOrigin (line 71) | [SuppressMessage("Microsoft.Usage", "CA2233:OperationsShouldNotOverflo...
    method HexCoords (line 119) | private HexCoords(IntVector2D canon, IntVector2D user) :this() {
    method GetNeighbour (line 138) | public HexCoords GetNeighbour(Hexside hexside) {
    method GetNeighbours (line 148) | public IEnumerable<NeighbourCoords> GetNeighbours() {
    method GetNeighbours (line 155) | public IEnumerable<NeighbourCoords> GetNeighbours(Hexsides hexsides) {
    method HexOrigin (line 160) | public HexPoint HexOrigin(HexSize gridSize) {
    method Range (line 165) | public int       Range(HexCoords coords) {
    method ToString (line 172) | public override string ToString() { return ToString("g", CultureInfo.I...
    method ToString (line 193) | public string ToString(string format, IFormatProvider formatProvider) {
    method Add (line 228) | public static HexCoords Add(HexCoords lhs, HexCoords rhs) { return lhs...
    method Subtract (line 234) | public static HexCoords Subtract(HexCoords lhs, HexCoords rhs) { retur...
    method Equals (line 244) | public override bool Equals(object obj) {
    method GetHashCode (line 249) | public override int GetHashCode() { return User.GetHashCode(); }
    method Equals (line 252) | public bool Equals(HexCoords other) { return this == other; }

FILE: codeplex/HexInterfaces/Hexside.cs
  type Hexside (line 37) | public enum Hexside {
  class HexsideExtensions (line 53) | public static partial class HexsideExtensions {
    method IndexOf (line 65) | public static Hexside IndexOf(this Hexsides @this) {
    method Direction (line 70) | public static Hexsides Direction(this Hexside @this) { return HexsideB...
    method Reversed (line 74) | public static Hexside Reversed(this Hexside @this) {

FILE: codeplex/HexInterfaces/Hexsides.cs
  type Hexsides (line 34) | [Flags]public enum Hexsides {
  class HexsidesExtensions (line 52) | public static partial class HexsidesExtensions {
    method AreAllClear (line 54) | public static bool AreAllClear(this Hexsides @this, Hexsides testBits) {
    method AreAllSet (line 59) | public static bool AreAllSet(this Hexsides @this, Hexsides testBits) {
    method IsAnySet (line 64) | public static bool IsAnySet(this Hexsides @this, Hexsides testBits) {
    method ClearBits (line 69) | public static Hexsides ClearBits(this Hexsides @this, Hexsides bits) {
    method SetBits (line 73) | public static Hexsides SetBits(this Hexsides @this, Hexsides bits) {
    method ValidBitsMask (line 77) | public static Hexsides ValidBitsMask(this Hexsides @this) {
    method ForEach (line 83) | public static void ForEach(this Hexsides @this, Action<Hexsides> actio...
    method CountBits (line 94) | private static int CountBits(int value) {
    method BitCount (line 102) | public static int BitCount(this Hexsides @this) { return LookupTable[(...

FILE: codeplex/HexInterfaces/IBoardStorage.cs
  type IBoardStorage (line 36) | public interface IBoardStorage<out T> : IDisposable {
    method ForAllNeighbours (line 42) | void ForAllNeighbours(HexCoords coords, Action<T,Hexside> action);
    method ForEach (line 45) | void ForEach(Action<T> action);
    method IsOnboard (line 49) | bool IsOnboard(HexCoords coords);
    method Neighbour (line 55) | T Neighbour(HexCoords coords, Hexside hexside);

FILE: codeplex/HexInterfaces/IFieldOfView.cs
  type FovTargetMode (line 35) | public enum FovTargetMode {
  type IFovBoard (line 46) | public interface IFovBoard<out THex> where THex : IHex {
    method ElevationGroundASL (line 58) | int  ElevationGroundASL(HexCoords coords);
    method ElevationHexsideASL (line 60) | int  ElevationHexsideASL(HexCoords coords, Hexside hexside);
    method ElevationObserverASL (line 62) | int  ElevationObserverASL(HexCoords coords);
    method ElevationTargetASL (line 64) | int  ElevationTargetASL(HexCoords coords);
    method ElevationTerrainASL (line 66) | int  ElevationTerrainASL(HexCoords coords);
    method IsOnboard (line 69) | bool IsOnboard(HexCoords coords);
    method IsPassable (line 73) | bool IsPassable(HexCoords coords);
  type IFov (line 77) | public interface IFov {

FILE: codeplex/HexInterfaces/IHex.cs
  type IHex (line 32) | public interface IHex {
    method StepCost (line 49) | int  StepCost(Hexside hexsideExit);
    method HeightHexside (line 52) | int  HeightHexside(Hexside hexside);

FILE: codeplex/HexInterfaces/IHexBoard.cs
  type IHexBoard (line 38) | public interface IHexBoard<out THex> : IBoardStorage<THex>, INavigableBo...
    method IsOnboard (line 46) | new bool IsOnboard(HexCoords coords);

FILE: codeplex/HexInterfaces/IHexgrid.cs
  type IHexgrid (line 41) | public interface IHexgrid {
    method GetScrollPosition (line 43) | HexPoint  GetScrollPosition(HexPoint scrollPosition);
    method GetSize (line 45) | HexSize   GetSize(HexSize mapSizePixels, float mapScale);
    method GetHexCoords (line 50) | HexCoords GetHexCoords(HexPoint point, HexSize autoScroll);
    method GetHexCoords (line 55) | HexCoords GetHexCoords(HexPointF point, HexSizeF autoScroll);
    method ScrollPositionToCenterOnHex (line 61) | HexPoint  ScrollPositionToCenterOnHex(HexCoords coordsNewCenterHex, Co...
    method HexCenterPoint (line 66) | HexPoint  HexCenterPoint(HexCoords coordsNewULHex);

FILE: codeplex/HexInterfaces/IMapDisplay.cs
  type IMapDisplay (line 35) | public interface IMapDisplay {

FILE: codeplex/HexInterfaces/NeighbourCoords.cs
  type NeighbourCoords (line 35) | [DebuggerDisplay("{Coords} at {Hexside}")]
    method NeighbourCoords (line 39) | public NeighbourCoords(HexCoords coords, Hexside hexside) : this() {
    method ToString (line 52) | public override string ToString() {
    method Bind (line 57) | public static Func<NeighbourCoords,T> Bind<T>(Func<HexCoords,T> f) {
    method Equals (line 63) | public override bool Equals(object obj) {
    method GetHashCode (line 69) | public override int  GetHashCode() { return Coords.GetHashCode(); }
    method Equals (line 72) | public bool Equals(NeighbourCoords other) { return this == other; }

FILE: 
Condensed preview — 670 files, each showing path, character count, and a content snippet. Download the .json file or copy for the full structured content (4,600K chars).
[
  {
    "path": ".gitattributes",
    "chars": 2518,
    "preview": "###############################################################################\n# Set default behavior to automatically "
  },
  {
    "path": ".gitignore",
    "chars": 2518,
    "preview": "## Ignore Visual Studio temporary files, build results, and\n## files generated by popular Visual Studio add-ons.\n\n# User"
  },
  {
    "path": "CustomDictionary.xml",
    "chars": 3651,
    "preview": "<Dictionary>\n      <Words>\n         <Unrecognized>\n           <Word>cb</Word>\n         </Unrecognized>\n         <Recogn"
  },
  {
    "path": "HexGridExampleCommon/AStarBugMap.cs",
    "chars": 3605,
    "preview": "#region The MIT License - Copyright (C) 2012-2019 Pieter Geerkens\n/////////////////////////////////////////////////////"
  },
  {
    "path": "HexGridExampleCommon/CustomDictionary.xml",
    "chars": 1834,
    "preview": "<Dictionary>\n      <Words>\n         <Unrecognized>\n           <Word>cb</Word>\n         </Unrecognized>\n         <Recogn"
  },
  {
    "path": "HexGridExampleCommon/DocMainPage.cs",
    "chars": 4774,
    "preview": "#region The MIT License - Copyright (C) 2012-2019 Pieter Geerkens\n/////////////////////////////////////////////////////"
  },
  {
    "path": "HexGridExampleCommon/EmptyBoard.cs",
    "chars": 2979,
    "preview": "#region The MIT License - Copyright (C) 2012-2019 Pieter Geerkens\n/////////////////////////////////////////////////////"
  },
  {
    "path": "HexGridExampleCommon/EmptyGridHex.cs",
    "chars": 1732,
    "preview": "#region Copyright (c) 2012-2019 Pieter Geerkens (email: pgeerkens@users.noreply.github.com)\n///////////////////////////"
  },
  {
    "path": "HexGridExampleCommon/HexgridExampleCommon.csproj",
    "chars": 4665,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<Project ToolsVersion=\"12.0\" DefaultTargets=\"Build\" xmlns=\"http://schemas.micros"
  },
  {
    "path": "HexGridExampleCommon/HexgridUtilities.Doxyfile",
    "chars": 83997,
    "preview": "# Doxyfile 1.8.4\n\n# This file describes the settings to be used by the documentation system\n# doxygen (www.doxygen.org) "
  },
  {
    "path": "HexGridExampleCommon/HexgridUtilities.HtmlHelp.Doxyfile",
    "chars": 84163,
    "preview": "# Doxyfile 1.8.4\n\n# This file describes the settings to be used by the documentation system\n# doxygen (www.doxygen.org) "
  },
  {
    "path": "HexGridExampleCommon/MapDefs.cs",
    "chars": 6789,
    "preview": "#region The MIT License - Copyright (C) 2012-2019 Pieter Geerkens\n/////////////////////////////////////////////////////"
  },
  {
    "path": "HexGridExampleCommon/MapList.cs",
    "chars": 938,
    "preview": "#region Copyright (c) 2012-2019 Pieter Geerkens (email: pgeerkens@users.noreply.github.com)\n///////////////////////////"
  },
  {
    "path": "HexGridExampleCommon/MazeGridHex.cs",
    "chars": 4007,
    "preview": "#region The MIT License - Copyright (C) 2012-2014 Pieter Geerkens\n/////////////////////////////////////////////////////"
  },
  {
    "path": "HexGridExampleCommon/MazeMap.cs",
    "chars": 2680,
    "preview": "#region Copyright (c) 2012-2019 Pieter Geerkens (email: pgeerkens@users.noreply.github.com)\n///////////////////////////"
  },
  {
    "path": "HexGridExampleCommon/Properties/AssemblyInfo.cs",
    "chars": 1580,
    "preview": "using System;\nusing System.Reflection;\nusing System.Runtime.CompilerServices;\nusing System.Runtime.InteropServices;\nusi"
  },
  {
    "path": "HexGridExampleCommon/Properties/Resources.Designer.cs",
    "chars": 3176,
    "preview": "//------------------------------------------------------------------------------\n// <auto-generated>\n//     This code w"
  },
  {
    "path": "HexGridExampleCommon/Properties/Resources.resx",
    "chars": 5845,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<root>\n  <!-- \n    Microsoft ResX Schema \n    \n    Version 2.0\n    \n    The prim"
  },
  {
    "path": "HexGridExampleCommon/TerrainGridHex.cs",
    "chars": 3924,
    "preview": "#region Copyright (c) 2012-2019 Pieter Geerkens (email: pgeerkens@users.noreply.github.com)\n///////////////////////////"
  },
  {
    "path": "HexGridExampleCommon/TerrainMap.cs",
    "chars": 3201,
    "preview": "#region Copyright (c) 2012-2019 Pieter Geerkens (email: pgeerkens@users.noreply.github.com)\n///////////////////////////"
  },
  {
    "path": "HexGridUtilitiesExamples.sln",
    "chars": 4673,
    "preview": "\nMicrosoft Visual Studio Solution File, Format Version 12.00\n# Visual Studio 15\nVisualStudioVersion = 15.0.28307.329\nMi"
  },
  {
    "path": "HexGridUtilitiesForGames.Doxyfile",
    "chars": 111939,
    "preview": "# Doxyfile 1.8.15\n\n# This file describes the settings to be used by the documentation system\n# doxygen (www.doxygen.org)"
  },
  {
    "path": "HexUtilities/Common/EnumExtensions.cs",
    "chars": 2838,
    "preview": "#region Copyright (c) 2012-2019 Pieter Geerkens (email: pgeerkens@users.noreply.github.com)\n///////////////////////////"
  },
  {
    "path": "HexUtilities/Common/EnumHelper.cs",
    "chars": 3977,
    "preview": "#region Copyright (c) 2012-2019 Pieter Geerkens (email: pgeerkens@users.noreply.github.com)\n///////////////////////////"
  },
  {
    "path": "HexUtilities/Common/EventArgs.cs",
    "chars": 817,
    "preview": "#region Copyright (c) 2012-2019 Pieter Geerkens (email: pgeerkens@users.noreply.github.com)\n///////////////////////////"
  },
  {
    "path": "HexUtilities/Common/ImmutableStack.cs",
    "chars": 2044,
    "preview": "#region Copyright (c) 2012-2019 Pieter Geerkens (email: pgeerkens@users.noreply.github.com)\n///////////////////////////"
  },
  {
    "path": "HexUtilities/Common/NativeMethods.cs",
    "chars": 1335,
    "preview": "#region Copyright (c) 2012-2019 Pieter Geerkens (email: pgeerkens@users.noreply.github.com)\n///////////////////////////"
  },
  {
    "path": "HexUtilities/Common/Tracing.cs",
    "chars": 12547,
    "preview": "#region The MIT License - Copyright (C) 2012-2019 Pieter Geerkens\n/////////////////////////////////////////////////////"
  },
  {
    "path": "HexUtilities/Common/ValueChangedEventArgs.cs",
    "chars": 771,
    "preview": "#region Copyright (c) 2012-2019 Pieter Geerkens (email: pgeerkens@users.noreply.github.com)\n///////////////////////////"
  },
  {
    "path": "HexUtilities/CustomCoords.cs",
    "chars": 4802,
    "preview": "#region The MIT License - Copyright (C) 2012-2019 Pieter Geerkens\n/////////////////////////////////////////////////////"
  },
  {
    "path": "HexUtilities/Doxyfile",
    "chars": 112022,
    "preview": "# Doxyfile 1.8.15\n\n# This file describes the settings to be used by the documentation system\n# doxygen (www.doxygen.org)"
  },
  {
    "path": "HexUtilities/Extensions.cs",
    "chars": 5433,
    "preview": "#region The MIT License - Copyright (C) 2012-2019 Pieter Geerkens\n/////////////////////////////////////////////////////"
  },
  {
    "path": "HexUtilities/FastLists/AbstractFastList.cs",
    "chars": 6142,
    "preview": "#region The MIT License - Copyright (C) 2012-2019 Pieter Geerkens\n/////////////////////////////////////////////////////"
  },
  {
    "path": "HexUtilities/FastLists/FastEnumerable.cs",
    "chars": 3049,
    "preview": "#region The MIT License - Copyright (C) 2012-2019 Pieter Geerkens\n/////////////////////////////////////////////////////"
  },
  {
    "path": "HexUtilities/FastLists/FastIteratorFunctor.cs",
    "chars": 2157,
    "preview": "#region The MIT License - Copyright (C) 2012-2019 Pieter Geerkens\n/////////////////////////////////////////////////////"
  },
  {
    "path": "HexUtilities/FastLists/FastList.cs",
    "chars": 2355,
    "preview": "#region The MIT License - Copyright (C) 2012-2019 Pieter Geerkens\n/////////////////////////////////////////////////////"
  },
  {
    "path": "HexUtilities/FastLists/FastListExtensions.cs",
    "chars": 2873,
    "preview": "#region Copyright (c) 2012-2019 Pieter Geerkens (email: pgeerkens@users.noreply.github.com)\n///////////////////////////"
  },
  {
    "path": "HexUtilities/FastLists/Interfaces.cs",
    "chars": 4331,
    "preview": "#region The MIT License - Copyright (C) 2012-2019 Pieter Geerkens\n/////////////////////////////////////////////////////"
  },
  {
    "path": "HexUtilities/FieldOfView/ArrayFieldOfView.cs",
    "chars": 1748,
    "preview": "#region Copyright (c) 2012-2019 Pieter Geerkens (email: pgeerkens@users.noreply.github.com)\n///////////////////////////"
  },
  {
    "path": "HexUtilities/FieldOfView/Dodecant.cs",
    "chars": 4072,
    "preview": "#region Copyright (c) 2012-2019 Pieter Geerkens (email: pgeerkens@users.noreply.github.com)\n///////////////////////////"
  },
  {
    "path": "HexUtilities/FieldOfView/FovBoardExtensions.cs",
    "chars": 3436,
    "preview": "#region Copyright (c) 2012-2019 Pieter Geerkens (email: pgeerkens@users.noreply.github.com)\n///////////////////////////"
  },
  {
    "path": "HexUtilities/FieldOfView/FovCone.cs",
    "chars": 2759,
    "preview": "#region Copyright (c) 2012-2019 Pieter Geerkens (email: pgeerkens@users.noreply.github.com)\n///////////////////////////"
  },
  {
    "path": "HexUtilities/FieldOfView/FovFactory.cs",
    "chars": 3349,
    "preview": "#region Copyright (c) 2012-2019 Pieter Geerkens (email: pgeerkens@users.noreply.github.com)\n///////////////////////////"
  },
  {
    "path": "HexUtilities/FieldOfView/FovQueue.cs",
    "chars": 5327,
    "preview": "#region The MIT License - Copyright (C) 2012-2019 Pieter Geerkens\n/////////////////////////////////////////////////////"
  },
  {
    "path": "HexUtilities/FieldOfView/IFovBoard.cs",
    "chars": 1881,
    "preview": "#region Copyright (c) 2012-2019 Pieter Geerkens (email: pgeerkens@users.noreply.github.com)\n///////////////////////////"
  },
  {
    "path": "HexUtilities/FieldOfView/RiseRun.cs",
    "chars": 4158,
    "preview": "#region The MIT License - Copyright (C) 2012-2019 Pieter Geerkens\n/////////////////////////////////////////////////////"
  },
  {
    "path": "HexUtilities/FieldOfView/ShadowCastingFov.cs",
    "chars": 18711,
    "preview": "#region Copyright (c) 2012-2019 Pieter Geerkens (email: pgeerkens@users.noreply.github.com)\n///////////////////////////"
  },
  {
    "path": "HexUtilities/FieldOfView/ShadowCastingFov_Utilities.cs",
    "chars": 2889,
    "preview": "#region Copyright (c) 2012-2019 Pieter Geerkens (email: pgeerkens@users.noreply.github.com)\n///////////////////////////"
  },
  {
    "path": "HexUtilities/Hex.cs",
    "chars": 2847,
    "preview": "#region Copyright (c) 2012-2019 Pieter Geerkens (email: pgeerkens@users.noreply.github.com)\n///////////////////////////"
  },
  {
    "path": "HexUtilities/HexCoords.cs",
    "chars": 13691,
    "preview": "#region The MIT License - Copyright (C) 2012-2019 Pieter Geerkens\n/////////////////////////////////////////////////////"
  },
  {
    "path": "HexUtilities/HexGrid.cs",
    "chars": 3859,
    "preview": "#region The MIT License - Copyright (C) 2012-2019 Pieter Geerkens\n/////////////////////////////////////////////////////"
  },
  {
    "path": "HexUtilities/HexPickingExtensions.cs",
    "chars": 7745,
    "preview": "#region Copyright (c) 2012-2019 Pieter Geerkens (email: pgeerkens@users.noreply.github.com)\n///////////////////////////"
  },
  {
    "path": "HexUtilities/HexUtilities.csproj",
    "chars": 18305,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<Project ToolsVersion=\"12.0\" DefaultTargets=\"Build\" xmlns=\"http://schemas.micros"
  },
  {
    "path": "HexUtilities/Hexside.cs",
    "chars": 6287,
    "preview": "#region The MIT License - Copyright (C) 2012-2019 Pieter Geerkens\n/////////////////////////////////////////////////////"
  },
  {
    "path": "HexUtilities/Hexsides.cs",
    "chars": 5597,
    "preview": "#region The MIT License - Copyright (C) 2012-2019 Pieter Geerkens\n/////////////////////////////////////////////////////"
  },
  {
    "path": "HexUtilities/IBoard.cs",
    "chars": 1347,
    "preview": "#region Copyright (c) 2012-2019 Pieter Geerkens (email: pgeerkens@users.noreply.github.com)\n///////////////////////////"
  },
  {
    "path": "HexUtilities/IHex.cs",
    "chars": 4929,
    "preview": "#region Copyright (c) 2012-2019 Pieter Geerkens (email: pgeerkens@users.noreply.github.com)\n///////////////////////////"
  },
  {
    "path": "HexUtilities/IHexBoard.cs",
    "chars": 2660,
    "preview": "#region The MIT License - Copyright (C) 2012-2015 Pieter Geerkens\n/////////////////////////////////////////////////////"
  },
  {
    "path": "HexUtilities/IHexgrid.cs",
    "chars": 1064,
    "preview": "#region Copyright (c) 2012-2019 Pieter Geerkens (email: pgeerkens@users.noreply.github.com)\n///////////////////////////"
  },
  {
    "path": "HexUtilities/IHexgridExtensions.cs",
    "chars": 2866,
    "preview": "#region The MIT License - Copyright (C) 2012-2019 Pieter Geerkens\n/////////////////////////////////////////////////////"
  },
  {
    "path": "HexUtilities/IShadingMask.cs",
    "chars": 828,
    "preview": "#region Copyright (c) 2012-2019 Pieter Geerkens (email: pgeerkens@users.noreply.github.com)\n///////////////////////////"
  },
  {
    "path": "HexUtilities/IntMatrix2D.cs",
    "chars": 9156,
    "preview": "#region Copyright (c) 2012-2019 Pieter Geerkens (email: pgeerkens@users.noreply.github.com)\n///////////////////////////"
  },
  {
    "path": "HexUtilities/IntVector2D.cs",
    "chars": 10416,
    "preview": "#region Copyright (c) 2012-2019 Pieter Geerkens (email: pgeerkens@users.noreply.github.com)\n///////////////////////////"
  },
  {
    "path": "HexUtilities/License.md",
    "chars": 1192,
    "preview": "The MIT License:\n----------------\n\nCopyright (c) 2012-2019 Pieter Geerkens (email: pgeerkens@users.noreply.github.com)\n\n"
  },
  {
    "path": "HexUtilities/Maybe.cs",
    "chars": 3413,
    "preview": "#region Copyright (c) 2012-2019 Pieter Geerkens (email: pgeerkens@users.noreply.github.com)\n///////////////////////////"
  },
  {
    "path": "HexUtilities/MaybeExtensions.cs",
    "chars": 6350,
    "preview": "#region The MIT License - Copyright (C) 2012-2019 Pieter Geerkens\n/////////////////////////////////////////////////////"
  },
  {
    "path": "HexUtilities/NullableExtensions.cs",
    "chars": 7176,
    "preview": "#region The MIT License - Copyright (C) 2012-2019 Pieter Geerkens\n/////////////////////////////////////////////////////"
  },
  {
    "path": "HexUtilities/Pathfinding/AltPathfinder.cs",
    "chars": 9388,
    "preview": "#region Copyright (c) 2012-2019 Pieter Geerkens (email: pgeerkens@users.noreply.github.com)\n///////////////////////////"
  },
  {
    "path": "HexUtilities/Pathfinding/BidirectionalAltPathfinder.cs",
    "chars": 4509,
    "preview": "#region Copyright (c) 2012-2019 Pieter Geerkens (email: pgeerkens@users.noreply.github.com)\n///////////////////////////"
  },
  {
    "path": "HexUtilities/Pathfinding/DictPriorityQueue.cs",
    "chars": 5395,
    "preview": "#region Copyright (c) 2012-2019 Pieter Geerkens (email: pgeerkens@users.noreply.github.com)\n///////////////////////////"
  },
  {
    "path": "HexUtilities/Pathfinding/DirectedLandmark.cs",
    "chars": 3493,
    "preview": "#region The MIT License - Copyright (C) 2012-2019 Pieter Geerkens\n/////////////////////////////////////////////////////"
  },
  {
    "path": "HexUtilities/Pathfinding/DirectedPathCollection.cs",
    "chars": 5064,
    "preview": "#region Copyright (c) 2012-2019 Pieter Geerkens (email: pgeerkens@users.noreply.github.com)\n///////////////////////////"
  },
  {
    "path": "HexUtilities/Pathfinding/DirectedPathStepHex.cs",
    "chars": 3271,
    "preview": "#region Copyright (c) 2012-2019 Pieter Geerkens (email: pgeerkens@users.noreply.github.com)\n///////////////////////////"
  },
  {
    "path": "HexUtilities/Pathfinding/HexKeyValuePair.cs",
    "chars": 3650,
    "preview": "#region Copyright (c) 2012-2019 Pieter Geerkens (email: pgeerkens@users.noreply.github.com)\n///////////////////////////"
  },
  {
    "path": "HexUtilities/Pathfinding/HexsideCosts.cs",
    "chars": 1809,
    "preview": "#region Copyright (c) 2012-2019 Pieter Geerkens (email: pgeerkens@users.noreply.github.com)\n///////////////////////////"
  },
  {
    "path": "HexUtilities/Pathfinding/HotPriorityQueue.cs",
    "chars": 10014,
    "preview": "#region Copyright (c) 2012-2019 Pieter Geerkens (email: pgeerkens@users.noreply.github.com)\n///////////////////////////"
  },
  {
    "path": "HexUtilities/Pathfinding/HotPriorityQueueueList.cs",
    "chars": 2183,
    "preview": "#region Copyright (c) 2012-2019 Pieter Geerkens (email: pgeerkens@users.noreply.github.com)\n///////////////////////////"
  },
  {
    "path": "HexUtilities/Pathfinding/IDirectedPathCollection.cs",
    "chars": 1709,
    "preview": "#region Copyright (c) 2012-2019 Pieter Geerkens (email: pgeerkens@users.noreply.github.com)\n///////////////////////////"
  },
  {
    "path": "HexUtilities/Pathfinding/IHotPrioirtyQueueList.cs",
    "chars": 2373,
    "preview": "#region The MIT License - Copyright (C) 2012-2019 Pieter Geerkens\n/////////////////////////////////////////////////////"
  },
  {
    "path": "HexUtilities/Pathfinding/INavigableBoard.cs",
    "chars": 2436,
    "preview": "#region Copyright (c) 2012-2019 Pieter Geerkens (email: pgeerkens@users.noreply.github.com)\n///////////////////////////"
  },
  {
    "path": "HexUtilities/Pathfinding/IPriorityQueue.cs",
    "chars": 2063,
    "preview": "#region Copyright (c) 2012-2019 Pieter Geerkens (email: pgeerkens@users.noreply.github.com)\n///////////////////////////"
  },
  {
    "path": "HexUtilities/Pathfinding/Interfaces.cs",
    "chars": 7802,
    "preview": "#region Copyright (c) 2012-2019 Pieter Geerkens (email: pgeerkens@users.noreply.github.com)\n///////////////////////////"
  },
  {
    "path": "HexUtilities/Pathfinding/Landmark.cs",
    "chars": 1617,
    "preview": "#region Copyright (c) 2012-2019 Pieter Geerkens (email: pgeerkens@users.noreply.github.com)\n///////////////////////////"
  },
  {
    "path": "HexUtilities/Pathfinding/LandmarkCollection.cs",
    "chars": 1878,
    "preview": "#region Copyright (c) 2012-2019 Pieter Geerkens (email: pgeerkens@users.noreply.github.com)\n///////////////////////////"
  },
  {
    "path": "HexUtilities/Pathfinding/LandmarkPopulator.cs",
    "chars": 5311,
    "preview": "#region Copyright (c) 2012-2019 Pieter Geerkens (email: pgeerkens@users.noreply.github.com)\n///////////////////////////"
  },
  {
    "path": "HexUtilities/Pathfinding/MinListHeap.cs",
    "chars": 4540,
    "preview": "#region Copyright (c) 2012-2019 Pieter Geerkens (email: pgeerkens@users.noreply.github.com)\n///////////////////////////"
  },
  {
    "path": "HexUtilities/Pathfinding/NavigableBoard.cs",
    "chars": 3596,
    "preview": "#region The MIT License - Copyright (C) 2012-2019 Pieter Geerkens\n/////////////////////////////////////////////////////"
  },
  {
    "path": "HexUtilities/Pathfinding/PathHalves.cs",
    "chars": 3986,
    "preview": "#region Copyright (c) 2012-2019 Pieter Geerkens (email: pgeerkens@users.noreply.github.com)\n///////////////////////////"
  },
  {
    "path": "HexUtilities/Pathfinding/PathTracingExtensions.cs",
    "chars": 5192,
    "preview": "#region Copyright (c) 2012-2019 Pieter Geerkens (email: pgeerkens@users.noreply.github.com)\n///////////////////////////"
  },
  {
    "path": "HexUtilities/Pathfinding/PathfinderExtensions.cs",
    "chars": 1319,
    "preview": "#region Copyright (c) 2012-2019 Pieter Geerkens (email: pgeerkens@users.noreply.github.com)\n///////////////////////////"
  },
  {
    "path": "HexUtilities/Pathfinding/PriorityQueueFactory.cs",
    "chars": 1295,
    "preview": "#region Copyright (c) 2012-2019 Pieter Geerkens (email: pgeerkens@users.noreply.github.com)\n///////////////////////////"
  },
  {
    "path": "HexUtilities/Pathfinding/StandardPathfinder.cs",
    "chars": 6730,
    "preview": "#region Copyright (c) 2012-2019 Pieter Geerkens (email: pgeerkens@users.noreply.github.com)\n///////////////////////////"
  },
  {
    "path": "HexUtilities/PointExtensions.cs",
    "chars": 1571,
    "preview": "#region Copyright (c) 2012-2019 Pieter Geerkens (email: pgeerkens@users.noreply.github.com)\n///////////////////////////"
  },
  {
    "path": "HexUtilities/Properties/AssemblyInfo.cs",
    "chars": 3220,
    "preview": "#region The MIT License - Copyright (C) 2012-2019 Pieter Geerkens\n/////////////////////////////////////////////////////"
  },
  {
    "path": "HexUtilities/SizeExtensions.cs",
    "chars": 1559,
    "preview": "#region Copyright (c) 2012-2019 Pieter Geerkens (email: pgeerkens@users.noreply.github.com)\n///////////////////////////"
  },
  {
    "path": "HexUtilities/Storage/BlockedBoardStorage.cs",
    "chars": 4446,
    "preview": "#region Copyright (c) 2012-2019 Pieter Geerkens (email: pgeerkens@users.noreply.github.com)\n///////////////////////////"
  },
  {
    "path": "HexUtilities/Storage/BlockedBoardStorage32x32.cs",
    "chars": 3247,
    "preview": "#region Copyright (c) 2012-2019 Pieter Geerkens (email: pgeerkens@users.noreply.github.com)\n///////////////////////////"
  },
  {
    "path": "HexUtilities/Storage/BoardStorage.cs",
    "chars": 6405,
    "preview": "#region The MIT License - Copyright (C) 2012-2019 Pieter Geerkens\n/////////////////////////////////////////////////////"
  },
  {
    "path": "HexUtilities/Storage/FlatBoardStorage.cs",
    "chars": 4629,
    "preview": "#region The MIT License - Copyright (C) 2012-2019 Pieter Geerkens\n/////////////////////////////////////////////////////"
  },
  {
    "path": "HexUtilities/Storage/HexBoard.cs",
    "chars": 9010,
    "preview": "#region Copyright (c) 2012-2019 Pieter Geerkens (email: pgeerkens@users.noreply.github.com)\n///////////////////////////"
  },
  {
    "path": "HexUtilities/Storage/HexBoardExtensions.cs",
    "chars": 9165,
    "preview": "#region Copyright (c) 2012-2019 Pieter Geerkens (email: pgeerkens@users.noreply.github.com)\n///////////////////////////"
  },
  {
    "path": "HexUtilities/Storage/IBoardStorage.cs",
    "chars": 3295,
    "preview": "#region The MIT License - Copyright (C) 2012-2019 Pieter Geerkens\n/////////////////////////////////////////////////////"
  },
  {
    "path": "HexUtilities/Storage/IMapDisplay.cs",
    "chars": 4110,
    "preview": "#region The MIT License - Copyright (C) 2012-2019 Pieter Geerkens\n/////////////////////////////////////////////////////"
  },
  {
    "path": "HexUtilities/Storage/IMapDisplayWinForms.cs",
    "chars": 4157,
    "preview": "#region The MIT License - Copyright (C) 2012-2019 Pieter Geerkens\n/////////////////////////////////////////////////////"
  },
  {
    "path": "HexUtilities/Storage/Map.cs",
    "chars": 1785,
    "preview": "#region Copyright (c) 2012-2019 Pieter Geerkens (email: pgeerkens@users.noreply.github.com)\n///////////////////////////"
  },
  {
    "path": "HexUtilities/Storage/MapDisplay.cs",
    "chars": 10491,
    "preview": "#region Copyright (c) 2012-2019 Pieter Geerkens (email: pgeerkens@users.noreply.github.com)\n///////////////////////////"
  },
  {
    "path": "HexUtilities/Storage/MapDisplayExtensions.cs",
    "chars": 4032,
    "preview": "#region The MIT License - Copyright (C) 2012-2019 Pieter Geerkens\n/////////////////////////////////////////////////////"
  },
  {
    "path": "HexUtilities/UserCoordsRectangle.cs",
    "chars": 5972,
    "preview": "#region Copyright (c) 2012-2019 Pieter Geerkens (email: pgeerkens@users.noreply.github.com)\n///////////////////////////"
  },
  {
    "path": "HexgridExampleWinforms/App.config",
    "chars": 158,
    "preview": "<?xml version=\"1.0\"?>\n<configuration>\n   <startup>\n      <supportedRuntime version=\"v4.0\" sku=\".NETFramework,Version=v4."
  },
  {
    "path": "HexgridExampleWinforms/HexgridExampleWinforms.csproj",
    "chars": 7714,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<Project ToolsVersion=\"12.0\" DefaultTargets=\"Build\" xmlns=\"http://schemas.micros"
  },
  {
    "path": "HexgridExampleWinforms/IMapView.cs",
    "chars": 2625,
    "preview": "#region The MIT License - Copyright (C) 2012-2019 Pieter Geerkens\n/////////////////////////////////////////////////////"
  },
  {
    "path": "HexgridExampleWinforms/IMapViewModel.cs",
    "chars": 2638,
    "preview": "#region The MIT License - Copyright (C) 2012-2019 Pieter Geerkens\n/////////////////////////////////////////////////////"
  },
  {
    "path": "HexgridExampleWinforms/MDIParent.Designer.cs",
    "chars": 35928,
    "preview": "namespace PGNapoleonics.HexgridExampleWinforms {\n    partial class MdiParent {\n        /// <summary>\n        /// Requir"
  },
  {
    "path": "HexgridExampleWinforms/MDIParent.cs",
    "chars": 5910,
    "preview": "#region The MIT License - Copyright (C) 2012-2019 Pieter Geerkens\n/////////////////////////////////////////////////////"
  },
  {
    "path": "HexgridExampleWinforms/MDIParent.resx",
    "chars": 26772,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<root>\n  <!-- \n    Microsoft ResX Schema \n    \n    Version 2.0\n    \n    The prim"
  },
  {
    "path": "HexgridExampleWinforms/MapModel.cs",
    "chars": 3797,
    "preview": "#region The MIT License - Copyright (C) 2012-2019 Pieter Geerkens\n/////////////////////////////////////////////////////"
  },
  {
    "path": "HexgridExampleWinforms/MapViewModel.cs",
    "chars": 4315,
    "preview": "#region The MIT License - Copyright (C) 2012-2019 Pieter Geerkens\n/////////////////////////////////////////////////////"
  },
  {
    "path": "HexgridExampleWinforms/NativeMethods.cs",
    "chars": 3184,
    "preview": "#region The MIT License - Copyright (C) 2012-2019 Pieter Geerkens\n/////////////////////////////////////////////////////"
  },
  {
    "path": "HexgridExampleWinforms/Program.cs",
    "chars": 2487,
    "preview": "#region The MIT License - Copyright (C) 2012-2019 Pieter Geerkens\n/////////////////////////////////////////////////////"
  },
  {
    "path": "HexgridExampleWinforms/Properties/AssemblyInfo.cs",
    "chars": 1516,
    "preview": "using System;\nusing System.Resources;\n\nusing System.Reflection;\nusing System.Runtime.InteropServices;\n\n// General Infor"
  },
  {
    "path": "HexgridExampleWinforms/Properties/Resources.Designer.cs",
    "chars": 3534,
    "preview": "//------------------------------------------------------------------------------\n// <auto-generated>\n//     This code w"
  },
  {
    "path": "HexgridExampleWinforms/Properties/Resources.resx",
    "chars": 5976,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<root>\n  <!-- \n    Microsoft ResX Schema \n    \n    Version 2.0\n    \n    The prim"
  },
  {
    "path": "HexgridExampleWinforms/Properties/Settings.Designer.cs",
    "chars": 1091,
    "preview": "//------------------------------------------------------------------------------\n// <auto-generated>\n//     This code w"
  },
  {
    "path": "HexgridExampleWinforms/Properties/Settings.settings",
    "chars": 240,
    "preview": "<?xml version='1.0' encoding='utf-8'?>\n<SettingsFile xmlns=\"http://schemas.microsoft.com/VisualStudio/2004/01/settings\""
  },
  {
    "path": "HexgridExampleWinforms/license.txt",
    "chars": 1192,
    "preview": "The MIT License:\n----------------\n\nCopyright (c) 2012-2019 Pieter Geerkens (email: pgeerkens@users.noreply.github.com)\n\n"
  },
  {
    "path": "HexgridExampleWinforms2/HexgridExampleWinforms2.csproj",
    "chars": 5376,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<Project ToolsVersion=\"12.0\" DefaultTargets=\"Build\" xmlns=\"http://schemas.micros"
  },
  {
    "path": "HexgridExampleWinforms2/HexgridScrollViewer.xaml",
    "chars": 900,
    "preview": "<UserControl\n   xmlns=\"http://schemas.microsoft.com/winfx/2006/xaml/presentation\"\n   xmlns:x=\"http://schemas.microsoft."
  },
  {
    "path": "HexgridExampleWinforms2/HexgridScrollViewer.xaml.cs",
    "chars": 22002,
    "preview": "#region The MIT License - Copyright (C) 2012-2014 Pieter Geerkens\n/////////////////////////////////////////////////////"
  },
  {
    "path": "HexgridExampleWinforms2/HexgridScrollViewerViewModel.cs",
    "chars": 8976,
    "preview": "#region The MIT License - Copyright (C) 2012-2014 Pieter Geerkens\n/////////////////////////////////////////////////////"
  },
  {
    "path": "HexgridExampleWinforms2/HexgridViewModel.cs",
    "chars": 9950,
    "preview": "#region The MIT License - Copyright (C) 2012-2014 Pieter Geerkens\n/////////////////////////////////////////////////////"
  },
  {
    "path": "HexgridExampleWinforms2/IMapDisplayWpf.cs",
    "chars": 4730,
    "preview": "#region The MIT License - Copyright (C) 2012-2014 Pieter Geerkens\n/////////////////////////////////////////////////////"
  },
  {
    "path": "HexgridExampleWinforms2/MDIParent.Designer.cs",
    "chars": 35933,
    "preview": "namespace PGNapoleonics.HexgridExampleWinforms2 {\n    partial class MdiParent {\n        /// <summary>\n        /// Requi"
  },
  {
    "path": "HexgridExampleWinforms2/MDIParent.cs",
    "chars": 5927,
    "preview": "#region The MIT License - Copyright (C) 2012-2019 Pieter Geerkens\n/////////////////////////////////////////////////////"
  },
  {
    "path": "HexgridExampleWinforms2/MDIParent.resx",
    "chars": 26772,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<root>\n  <!-- \n    Microsoft ResX Schema \n    \n    Version 2.0\n    \n    The prim"
  },
  {
    "path": "HexgridExampleWinforms2/MapDisplayPainter.cs",
    "chars": 3575,
    "preview": "#region The MIT License - Copyright (C) 2012-2014 Pieter Geerkens\n/////////////////////////////////////////////////////"
  },
  {
    "path": "HexgridExampleWinforms2/NativeMethods.cs",
    "chars": 3245,
    "preview": "#region The MIT License - Copyright (C) 2012-2014 Pieter Geerkens\n/////////////////////////////////////////////////////"
  },
  {
    "path": "HexgridExampleWinforms2/Program.cs",
    "chars": 2488,
    "preview": "#region The MIT License - Copyright (C) 2012-2019 Pieter Geerkens\n/////////////////////////////////////////////////////"
  },
  {
    "path": "HexgridExampleWinforms2/Properties/AssemblyInfo.cs",
    "chars": 1461,
    "preview": "using System.Reflection;\nusing System.Runtime.CompilerServices;\nusing System.Runtime.InteropServices;\n\n// General Infor"
  },
  {
    "path": "HexgridExampleWinforms2/Properties/Resources.Designer.cs",
    "chars": 3172,
    "preview": "//------------------------------------------------------------------------------\n// <auto-generated>\n//     This code w"
  },
  {
    "path": "HexgridExampleWinforms2/Properties/Resources.resx",
    "chars": 5825,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<root>\n  <!-- \n    Microsoft ResX Schema \n    \n    Version 2.0\n    \n    The prim"
  },
  {
    "path": "HexgridExampleWinforms2/TiltAwareScrollViewer.cs",
    "chars": 2920,
    "preview": "#region The MIT License - Copyright (C) 2012-2014 Pieter Geerkens\n/////////////////////////////////////////////////////"
  },
  {
    "path": "HexgridExampleWinforms2/ViewModelBase.cs",
    "chars": 7225,
    "preview": "#region The MIT License - Copyright (C) 2012-2014 Pieter Geerkens\n/////////////////////////////////////////////////////"
  },
  {
    "path": "HexgridExampleWpf/App.config",
    "chars": 180,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<configuration>\n    <startup> \n        <supportedRuntime version=\"v4.0\" sku=\".NET"
  },
  {
    "path": "HexgridExampleWpf/App.xaml",
    "chars": 318,
    "preview": "<Application x:Class=\"HexgridExampleWpf.App\"\n             xmlns=\"http://schemas.microsoft.com/winfx/2006/xaml/presentat"
  },
  {
    "path": "HexgridExampleWpf/App.xaml.cs",
    "chars": 400,
    "preview": "using System;\nusing System.Collections.Generic;\nusing System.Configuration;\nusing System.Data;\nusing System.Linq;\nusing"
  },
  {
    "path": "HexgridExampleWpf/CommandComboBox.cs",
    "chars": 5748,
    "preview": "#region The MIT License - Copyright (C) 2012-2013 Pieter Geerkens\n/////////////////////////////////////////////////////"
  },
  {
    "path": "HexgridExampleWpf/CommandSlider.cs",
    "chars": 5745,
    "preview": "#region The MIT License - Copyright (C) 2012-2013 Pieter Geerkens\n/////////////////////////////////////////////////////"
  },
  {
    "path": "HexgridExampleWpf/CustomDictionary.xml",
    "chars": 1834,
    "preview": "<Dictionary>\n      <Words>\n         <Unrecognized>\n           <Word>cb</Word>\n         </Unrecognized>\n         <Recogn"
  },
  {
    "path": "HexgridExampleWpf/HexgridExampleWpf.csproj",
    "chars": 6723,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<Project ToolsVersion=\"12.0\" DefaultTargets=\"Build\" xmlns=\"http://schemas.micros"
  },
  {
    "path": "HexgridExampleWpf/MainWindow.xaml",
    "chars": 6327,
    "preview": "<Window x:Class=\"PGNapoleonics.HexgridExampleWpf.MainWindow\"\n        xmlns=\"http://schemas.microsoft.com/winfx/2006/xam"
  },
  {
    "path": "HexgridExampleWpf/MainWindow.xaml.cs",
    "chars": 4817,
    "preview": "#region Copyright (c) 2012-2019 Pieter Geerkens (email: pgeerkens@users.noreply.github.com)\n///////////////////////////"
  },
  {
    "path": "HexgridExampleWpf/NativeMethods.cs",
    "chars": 3356,
    "preview": "#region The MIT License - Copyright (C) 2012-2019 Pieter Geerkens\n/////////////////////////////////////////////////////"
  },
  {
    "path": "HexgridExampleWpf/Properties/AssemblyInfo.cs",
    "chars": 3993,
    "preview": "#region The MIT License - Copyright (C) 2012-2013 Pieter Geerkens\n/////////////////////////////////////////////////////"
  },
  {
    "path": "HexgridExampleWpf/Properties/Resources.Designer.cs",
    "chars": 2826,
    "preview": "//------------------------------------------------------------------------------\n// <auto-generated>\n//     This code w"
  },
  {
    "path": "HexgridExampleWpf/Properties/Resources.resx",
    "chars": 5494,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<root>\n  <!-- \n    Microsoft ResX Schema \n    \n    Version 2.0\n    \n    The prim"
  },
  {
    "path": "HexgridExampleWpf/Properties/Settings.Designer.cs",
    "chars": 1086,
    "preview": "//------------------------------------------------------------------------------\n// <auto-generated>\n//     This code w"
  },
  {
    "path": "HexgridExampleWpf/Properties/Settings.settings",
    "chars": 193,
    "preview": "<?xml version='1.0' encoding='utf-8'?>\n<SettingsFile xmlns=\"uri:settings\" CurrentProfile=\"(Default)\">\n  <Profiles>\n    "
  },
  {
    "path": "HexgridPanel/AbstractModelDisplayPainter.cs",
    "chars": 11139,
    "preview": "#region The MIT License - Copyright (C) 2012-2019 Pieter Geerkens\n/////////////////////////////////////////////////////"
  },
  {
    "path": "HexgridPanel/BitmapExtensions.cs",
    "chars": 9575,
    "preview": "#region The MIT License - Copyright (C) 2012-2019 Pieter Geerkens\n/////////////////////////////////////////////////////"
  },
  {
    "path": "HexgridPanel/CustomDictionary.xsd",
    "chars": 2910,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<xs:schema attributeFormDefault=\"unqualified\" elementFormDefault=\"qualified\" xml"
  },
  {
    "path": "HexgridPanel/Example/HexGridPanelExample.Designer.cs",
    "chars": 4077,
    "preview": "#region License - Copyright (C) 2012-2019 Pieter Geerkens, all rights reserved.\n///////////////////////////////////////"
  },
  {
    "path": "HexgridPanel/Example/HexGridPanelExample.cs",
    "chars": 5160,
    "preview": "#region Copyright (c) 2012-2019 Pieter Geerkens (email: pgeerkens@users.noreply.github.com)\n///////////////////////////"
  },
  {
    "path": "HexgridPanel/Example/HexGridPanelExample.resx",
    "chars": 12860,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<root>\n  <!-- \n    Microsoft ResX Schema \n    \n    Version 2.0\n    \n    The prim"
  },
  {
    "path": "HexgridPanel/Example/HexgridBufferedPanelExample.Designer.cs",
    "chars": 4114,
    "preview": "#region License - Copyright (C) 2012-2019 Pieter Geerkens, all rights reserved.\n///////////////////////////////////////"
  },
  {
    "path": "HexgridPanel/Example/HexgridBufferedPanelExample.cs",
    "chars": 6374,
    "preview": "#region The MIT License - Copyright (C) 2012-2019 Pieter Geerkens\n/////////////////////////////////////////////////////"
  },
  {
    "path": "HexgridPanel/Example/HexgridBufferedPanelExample.resx",
    "chars": 13056,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<root>\n  <!-- \n    Microsoft ResX Schema \n    \n    Version 2.0\n    \n    The prim"
  },
  {
    "path": "HexgridPanel/Example/MenuBarToolStrip.Designer.cs",
    "chars": 15008,
    "preview": "namespace PGNapoleonics.HexgridPanel.Example {\n    partial class MenuBarToolStrip {\n        /// <summary> \n        /// "
  },
  {
    "path": "HexgridPanel/Example/MenuBarToolStrip.cs",
    "chars": 6322,
    "preview": "#region The MIT License - Copyright (C) 2012-2019 Pieter Geerkens\n/////////////////////////////////////////////////////"
  },
  {
    "path": "HexgridPanel/Example/StatusBarToolStrip.Designer.cs",
    "chars": 2819,
    "preview": "namespace PGNapoleonics.HexgridPanel.Example {\n    partial class StatusBarToolStrip {\n        /// <summary> \n        //"
  },
  {
    "path": "HexgridPanel/Example/StatusBarToolStrip.cs",
    "chars": 2070,
    "preview": "#region The MIT License - Copyright (C) 2012-2019 Pieter Geerkens\n/////////////////////////////////////////////////////"
  },
  {
    "path": "HexgridPanel/Example/StatusBarToolStrip.resx",
    "chars": 5891,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<root>\n  <!-- \n    Microsoft ResX Schema \n    \n    Version 2.0\n    \n    The prim"
  },
  {
    "path": "HexgridPanel/GraphicsExtensions.cs",
    "chars": 3316,
    "preview": "#region The MIT License - Copyright (C) 2012-2019 Pieter Geerkens\n/////////////////////////////////////////////////////"
  },
  {
    "path": "HexgridPanel/GraphicsMapPainter.cs",
    "chars": 4994,
    "preview": "#region The MIT License - Copyright (C) 2012-2019 Pieter Geerkens\n/////////////////////////////////////////////////////"
  },
  {
    "path": "HexgridPanel/HexEventArgs.cs",
    "chars": 2958,
    "preview": "#region The MIT License - Copyright (C) 2012-2019 Pieter Geerkens\n/////////////////////////////////////////////////////"
  },
  {
    "path": "HexgridPanel/HexgridBufferedPanel.Designer.cs",
    "chars": 1007,
    "preview": "namespace PGNapoleonics.HexgridPanel {\n  partial class HexgridBufferedPanel {\n    /// <summary> Required designer varia"
  },
  {
    "path": "HexgridPanel/HexgridBufferedPanel.cs",
    "chars": 2343,
    "preview": "#region The MIT License - Copyright (C) 2012-2019 Pieter Geerkens\n/////////////////////////////////////////////////////"
  },
  {
    "path": "HexgridPanel/HexgridBufferedPanelForm.Designer.cs",
    "chars": 3436,
    "preview": "namespace PGNapoleonics.HexgridPanel {\n    partial class HexgridBufferedPanelForm {\n        /// <summary>\n        /// R"
  },
  {
    "path": "HexgridPanel/HexgridBufferedPanelForm.cs",
    "chars": 1913,
    "preview": "#region The MIT License - Copyright (C) 2012-2019 Pieter Geerkens\n/////////////////////////////////////////////////////"
  },
  {
    "path": "HexgridPanel/HexgridBufferedPanelForm.resx",
    "chars": 5696,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<root>\n  <!-- \n    Microsoft ResX Schema \n    \n    Version 2.0\n    \n    The prim"
  },
  {
    "path": "HexgridPanel/HexgridPanel.Designer.cs",
    "chars": 1371,
    "preview": "namespace PGNapoleonics.HexgridPanel {\n  partial class HexgridPanel {\n    /// <summary>\n    /// Required designer varia"
  },
  {
    "path": "HexgridPanel/HexgridPanel.cs",
    "chars": 19401,
    "preview": "#region The MIT License - Copyright (C) 2012-2019 Pieter Geerkens\n/////////////////////////////////////////////////////"
  },
  {
    "path": "HexgridPanel/HexgridPanel.csproj",
    "chars": 14856,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<Project ToolsVersion=\"12.0\" DefaultTargets=\"Build\" xmlns=\"http://schemas.micros"
  },
  {
    "path": "HexgridPanel/HexgridPanelForm.Designer.cs",
    "chars": 3396,
    "preview": "namespace PGNapoleonics.HexgridPanel {\n    partial class HexgridPanelForm {\n        /// <summary>\n        /// Required "
  },
  {
    "path": "HexgridPanel/HexgridPanelForm.cs",
    "chars": 1897,
    "preview": "#region The MIT License - Copyright (C) 2012-2019 Pieter Geerkens\n/////////////////////////////////////////////////////"
  },
  {
    "path": "HexgridPanel/HexgridViewModel.cs",
    "chars": 9922,
    "preview": "#region The MIT License - Copyright (C) 2012-2019 Pieter Geerkens\n/////////////////////////////////////////////////////"
  },
  {
    "path": "HexgridPanel/IMapDisplayPainter.cs",
    "chars": 4113,
    "preview": "#region The MIT License - Copyright (C) 2012-2019 Pieter Geerkens\n/////////////////////////////////////////////////////"
  },
  {
    "path": "HexgridPanel/IScrollableControl.cs",
    "chars": 2681,
    "preview": "#region The MIT License - Copyright (C) 2012-2019 Pieter Geerkens\n/////////////////////////////////////////////////////"
  },
  {
    "path": "HexgridPanel/MapDisplayPainter.cs",
    "chars": 4376,
    "preview": "#region The MIT License - Copyright (C) 2012-2019 Pieter Geerkens\n/////////////////////////////////////////////////////"
  },
  {
    "path": "HexgridPanel/MapDisplayPainterExtensions.cs",
    "chars": 5072,
    "preview": "#region The MIT License - Copyright (C) 2012-2019 Pieter Geerkens\n/////////////////////////////////////////////////////"
  },
  {
    "path": "HexgridPanel/MapOrientation.cs",
    "chars": 2278,
    "preview": "#region The MIT License - Copyright (C) 2012-2019 Pieter Geerkens\n/////////////////////////////////////////////////////"
  },
  {
    "path": "HexgridPanel/MapPanel.Designer.cs",
    "chars": 1157,
    "preview": "namespace PGNapoleonics.HexgridPanel {\n  partial class MapPanel {\n    /// <summary> Required designer variable.</summar"
  },
  {
    "path": "HexgridPanel/MapPanel.cs",
    "chars": 11127,
    "preview": "#region Copyright (c) 2012-2019 Pieter Geerkens (email: pgeerkens@users.noreply.github.com)\n///////////////////////////"
  },
  {
    "path": "HexgridPanel/MapPanelCached.Designer.cs",
    "chars": 1348,
    "preview": "namespace PGNapoleonics.HexgridPanel {\n  partial class CachedMapPanel {\n    /// <summary>Required designer variable.</s"
  },
  {
    "path": "HexgridPanel/MapPanelCached.cs",
    "chars": 5945,
    "preview": "#region License - Copyright (C) 2012-2019 Pieter Geerkens, all rights reserved.\n///////////////////////////////////////"
  },
  {
    "path": "HexgridPanel/Properties/AssemblyInfo.cs",
    "chars": 3214,
    "preview": "#region The MIT License - Copyright (C) 2012-2019 Pieter Geerkens\n/////////////////////////////////////////////////////"
  },
  {
    "path": "HexgridPanel/Properties/Resources.Designer.cs",
    "chars": 5065,
    "preview": "//------------------------------------------------------------------------------\n// <auto-generated>\n//     This code w"
  },
  {
    "path": "HexgridPanel/Properties/Resources.resx",
    "chars": 6488,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<root>\n  <!-- \n    Microsoft ResX Schema \n    \n    Version 2.0\n    \n    The prim"
  },
  {
    "path": "HexgridPanel/Reference Source/BufferedGraphics.cs",
    "chars": 14266,
    "preview": "//------------------------------------------------------------------------------ \n// <copyright file=\"BufferedGraphics.c"
  },
  {
    "path": "HexgridPanel/Reference Source/BufferedGraphicsContext.cs",
    "chars": 60792,
    "preview": "//------------------------------------------------------------------------------ \n// <copyright file=\"BufferedGraphics.c"
  },
  {
    "path": "HexgridPanel/Reference Source/BufferedGraphicsManager.cs",
    "chars": 5854,
    "preview": " \n//------------------------------------------------------------------------------\n// <copyright file=\"BufferedGraphics."
  }
]

// ... and 470 more files (download for full content)

About this extraction

This page contains the full source code of the pgeerkens/HexGridUtilitiesForGames GitHub repository, extracted and formatted as plain text for AI agents and large language models (LLMs). The extraction includes 670 files (4.2 MB), approximately 1.1M tokens, and a symbol index with 4074 extracted functions, classes, methods, constants, and types. Use this with OpenClaw, Claude, ChatGPT, Cursor, Windsurf, or any other AI tool that accepts text input. You can copy the full output to your clipboard or download it as a .txt file.

Extracted by GitExtract — free GitHub repo to text converter for AI. Built by Nikandr Surkov.

Copied to clipboard!