Class PathfinderConfiguration

java.lang.Object
de.bsommerfeld.pathetic.api.pathing.configuration.PathfinderConfiguration

public class PathfinderConfiguration extends Object
Defines a set of configurable parameters that govern the behavior of the A* pathfinding algorithm. By adjusting these parameters, you can fine-tune the pathfinding process to suit the specific needs of your 3D environment.
  • Method Details

    • deepCopy

      public static PathfinderConfiguration deepCopy(PathfinderConfiguration pathfinderConfiguration)
      Creates a deep copy of the given PathfinderConfiguration.

      The returned instance is independent of the source for every field that can sensibly be cloned:

      The following fields hold user-supplied interface implementations or external services and are intentionally shared by reference: NavigationPointProvider, individual ValidationProcessor / CostProcessor / PathfinderHook instances, INeighborStrategy, IHeuristicStrategy, and ExecutorService. They have no generic clone contract, and a "deep copy" of an executor or a custom traversability provider would either be impossible or semantically wrong.

      Parameters:
      pathfinderConfiguration - The PathfinderConfiguration to copy.
      Returns:
      A new PathfinderConfiguration instance independent of the source's mutable collection state.
    • builder

    • getMaxIterations

      public int getMaxIterations()
    • getMaxLength

      public int getMaxLength()
    • isAsync

      public boolean isAsync()
    • isFallback

      public boolean isFallback()
    • getProvider

      public NavigationPointProvider getProvider()
    • getHeuristicWeights

      public HeuristicWeights getHeuristicWeights()
    • getNodeCostProcessors

      public List<CostProcessor> getNodeCostProcessors()
    • getNodeValidationProcessors

      public List<ValidationProcessor> getNodeValidationProcessors()
    • getNeighborStrategy

      public INeighborStrategy getNeighborStrategy()
    • getGridCellSize

      @Deprecated public int getGridCellSize()
      Deprecated.
      Marked for removal. The bundled A* engine no longer buckets its closed set into bloom-filtered grid regions; per-node state is id-indexed instead. The value is unused by the bundled engine and will be removed in a future release.
    • getBloomFilterSize

      @Deprecated public int getBloomFilterSize()
      Deprecated.
      Marked for removal. The bundled A* engine no longer uses bloom filters for its closed set; per-node state is id-indexed instead. The value is unused by the bundled engine and will be removed in a future release.
    • getBloomFilterFpp

      @Deprecated public double getBloomFilterFpp()
      Deprecated.
      Marked for removal. The bundled A* engine no longer uses bloom filters for its closed set; per-node state is id-indexed instead. The value is unused by the bundled engine and will be removed in a future release.
    • getHeuristicStrategy

      public IHeuristicStrategy getHeuristicStrategy()
    • shouldReopenClosedNodes

      public boolean shouldReopenClosedNodes()
    • pathfindingHooks

      public List<PathfinderHook> pathfindingHooks()
    • executorService

      public ExecutorService executorService()
    • toString

      public String toString()
      Overrides:
      toString in class Object
    • equals

      public boolean equals(Object o)
      Overrides:
      equals in class Object
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object