Class Xygum.FinderConfiguration

java.lang.Object
me.wobblyyyy.pathfinder.finders.Xygum.FinderConfiguration
Enclosing class:
Xygum

private static class Xygum.FinderConfiguration
extends java.lang.Object
The pathfinder's configuration class.
  • Field Summary

    Fields
    Modifier and Type Field Description
    private static boolean allowDiagonal
    Whether or not diagonal movement is allowed within the grid.
    private static float diagonalMovementCost
    The cost of moving one cell over both the x and y axis.
    private static boolean dontCrossCorners
    When true, diagonal movement requires both neighbors to be open.
    private static org.xguzm.pathfinding.Heuristic heuristic
    A way to calculate the distance between two nodes on some form of a navigation graph.
    private static boolean isYDown
    When false, (0,0) is located at the bottom left of the grid.
    static org.xguzm.pathfinding.grid.finders.GridFinderOptions options
    Options for a grid finder.
    private static float orthogonalMovementCost
    The cost of moving one cell over the x or y axis.
  • Constructor Summary

    Constructors
    Modifier Constructor Description
    private FinderConfiguration()  
  • Method Summary

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

    • options

      public static final org.xguzm.pathfinding.grid.finders.GridFinderOptions options
      Options for a grid finder.
    • allowDiagonal

      private static final boolean allowDiagonal
      Whether or not diagonal movement is allowed within the grid.

      Note: This will be ignored in JumpPointFinder, as diagonal movement is required for it

      Default value is true.

      See Also:
      GridFinderOptions.allowDiagonal, Constant Field Values
    • dontCrossCorners

      private static final boolean dontCrossCorners
      When true, diagonal movement requires both neighbors to be open. When false, diagonal movement can be achieved by having only one open neighbor

      Example: To go from (1,1) to (2,2) when this is set to true, where (x) denotes a non walkable cell, the following applies

                       Valid           Invalid
                   +---+---+---+    +---+---+---+
                   |   |   | 0 |    |   | x | 0 |
                   +---+---+---+    +---+---+---+
       when True   |   | 0 |   |    |   | 0 |   |
                   +---+---+---+    +---+---+---+
                   |   |   |   |    |   |   |   |
                   +---+---+---+    +---+---+---+
      
      
                   +---+---+---+
                   |   | x | 0 |
                   +---+---+---+
       when false  |   | 0 |   |    none
                   +---+---+---+
                   |   |   |   |
                   +---+---+---+
       

      If allowDiagonal is false, this setting is ignored.

      Default value is true.

      See Also:
      GridFinderOptions.dontCrossCorners, Constant Field Values
    • heuristic

      private static final org.xguzm.pathfinding.Heuristic heuristic
      A way to calculate the distance between two nodes on some form of a navigation graph.
      See Also:
      PathFinderOptions.heuristic
    • isYDown

      private static final boolean isYDown
      When false, (0,0) is located at the bottom left of the grid. When true, (0,0) is located at the top left of the grid

      Default value is false.

      See Also:
      GridFinderOptions.isYDown, Constant Field Values
    • orthogonalMovementCost

      private static final float orthogonalMovementCost
      The cost of moving one cell over the x or y axis.
      See Also:
      GridFinderOptions.orthogonalMovementCost, Constant Field Values
    • diagonalMovementCost

      private static final float diagonalMovementCost
      The cost of moving one cell over both the x and y axis.

      Determine the hypotenuse of a triangle with two sides with a side length of one. This can be visualized as so:

           a
         +-----/
         |    /
         |   /
       b |  /   c
         | /
         |/
         /
       a = 1.0;
       b = 1.0;
       c = sqrt((a^2)+(b^2));
       

      See Also:
      GridFinderOptions.diagonalMovementCost
  • Constructor Details

    • FinderConfiguration

      private FinderConfiguration()