AStarBase

public class AStarBase

Class AStarBase. Provides astarbase functionality for the Hytale server.

java.lang.Object > AStarBase

Field Summary

maxPathLength

protected int maxPathLength

Field maxPathLength.

openNodesLimit

protected int openNodesLimit

Field openNodesLimit.

totalNodesLimit

protected int totalNodesLimit

Field totalNodesLimit.

canMoveDiagonal

protected boolean canMoveDiagonal

Field canMoveDiagonal.

optimizedBuildPath

protected boolean optimizedBuildPath

Field optimizedBuildPath.

isAvoidingBlockDamage

protected boolean isAvoidingBlockDamage

Field isAvoidingBlockDamage.

isRelaxedMoveConstraints

protected boolean isRelaxedMoveConstraints

Field isRelaxedMoveConstraints.

evaluator

protected AStarEvaluator evaluator

Field evaluator.

positionToIndexOffsetX

protected double positionToIndexOffsetX

Field positionToIndexOffsetX.

positionToIndexOffsetY

protected double positionToIndexOffsetY

Field positionToIndexOffsetY.

positionToIndexOffsetZ

protected double positionToIndexOffsetZ

Field positionToIndexOffsetZ.

indexToPositionOffsetX

protected long indexToPositionOffsetX

Field indexToPositionOffsetX.

indexToPositionOffsetY

protected long indexToPositionOffsetY

Field indexToPositionOffsetY.

indexToPositionOffsetZ

protected long indexToPositionOffsetZ

Field indexToPositionOffsetZ.

startPositionIndex

protected long startPositionIndex

Field startPositionIndex.

is2D

protected boolean is2D

Field is2D.

projectedX

protected boolean projectedX

Field projectedX.

projectedY

protected boolean projectedY

Field projectedY.

projectedZ

protected boolean projectedZ

Field projectedZ.

searchDirectionIsDiagonalMoves

protected boolean searchDirectionIsDiagonalMoves

Field searchDirectionIsDiagonalMoves.

searchDirectionIs2D

protected boolean searchDirectionIs2D

Field searchDirectionIs2D.

searchDirections

protected Vector3d[] searchDirections

Field searchDirections.

searchDirectionDistances

protected double[] searchDirectionDistances

Field searchDirectionDistances.

inverseSearchDirections

protected int[] inverseSearchDirections

Field inverseSearchDirections.

normalsPerDirection

protected int normalsPerDirection

Field normalsPerDirection.

normalDirections

protected int[] normalDirections

Field normalDirections.

nodePool

protected AStarNodePool nodePool

Field nodePool.

iterations

protected int iterations

Field iterations.

path

protected AStarNode path

Field path.

progress

protected Progress progress

Field progress.

startBlockX

final long startBlockX

Field startBlockX.

startBlockY

final long startBlockY

Field startBlockY.

startBlockZ

final long startBlockZ

Field startBlockZ.

twoX

final long twoX

Field twoX.

twoY

final long twoY

Field twoY.

twoZ

final long twoZ

Field twoZ.

positionToIndexOffset

final double positionToIndexOffset

Field positionToIndexOffset.

componentSelector

final Vector3d componentSelector

Field componentSelector.

searchDirectionCount

final int searchDirectionCount

Field searchDirectionCount.

direction

final Vector3d direction

Field direction.

direction2

final Vector3d direction2

Field direction2.

endIndex

final int endIndex

Field endIndex.

otherDirection

final Vector3d otherDirection

Field otherDirection.

startX

final double startX

Field startX.

endX

final double endX

Field endX.

startY

final double startY

Field startY.

endY

final double endY

Field endY.

startZ

final double startZ

Field startZ.

endZ

final double endZ

Field endZ.

idx

final int idx

Field idx.

node

final AStarNode node

Field node.

nodePosition

final Vector3d nodePosition

Field nodePosition.

successors

final AStarNode[] successors

Field successors.

directionLength

final double directionLength

Field directionLength.

distance

final double distance

Field distance.

halfThreshold

final double halfThreshold

Field halfThreshold.

halfDistance

final double halfDistance

Field halfDistance.

halfPositionIndex

final long halfPositionIndex

Field halfPositionIndex.

otherNode

final AStarNode otherNode

Field otherNode.

normal

final Vector3d normal

Field normal.

diagonalVertexIndex

final long diagonalVertexIndex

Field diagonalVertexIndex.

diagonalNode

final AStarNode diagonalNode

Field diagonalNode.

otherDiagonalNode

final AStarNode otherDiagonalNode

Field otherDiagonalNode.

destination

final Vector3d destination

Field destination.

iterator

final ObjectIterator> iterator

Field iterator.

v

final float v

Field v.

x

final double x

Field x.

y

final double y

Field y.

z

final double z

Field z.

positionIndex

final long positionIndex

Field positionIndex.

cost

final float cost

Field cost.

inverseSearchDirection

final int inverseSearchDirection

Field inverseSearchDirection.

stepCost

final float stepCost

Field stepCost.

targetNode

final AStarNode targetNode

Field targetNode.

travelCostToNode

final float travelCostToNode

Field travelCostToNode.

delta

final float delta

Field delta.

dx

final long dx

Field dx.

dy

final long dy

Field dy.

dz

final long dz

Field dz.

Method Detail

AStarBase

public public AStarBase ()

Method AStarBase.

setCanMoveDiagonal

public void setCanMoveDiagonal (final boolean canMoveDiagonal)

Method setCanMoveDiagonal.

Parameters:
final boolean canMoveDiagonal

setMaxPathLength

public void setMaxPathLength (final int maxPathLength)

Method setMaxPathLength.

Parameters:
final int maxPathLength

setOpenNodesLimit

public void setOpenNodesLimit (final int openNodesLimit)

Method setOpenNodesLimit.

Parameters:
final int openNodesLimit

setTotalNodesLimit

public void setTotalNodesLimit (final int totalNodesLimit)

Method setTotalNodesLimit.

Parameters:
final int totalNodesLimit

setStartPosition

public void setStartPosition (@Nonnull final Vector3d position)

Method setStartPosition.

Parameters:
@Nonnull final Vector3d position

getStartPosition

public Vector3d getStartPosition ()

Method getStartPosition.

setOptimizedBuildPath

public void setOptimizedBuildPath (final boolean optimizedBuildPath)

Method setOptimizedBuildPath.

Parameters:
final boolean optimizedBuildPath

getEvaluator

public AStarEvaluator getEvaluator ()

Method getEvaluator.

getOpenNodes

public List getOpenNodes ()

Method getOpenNodes.

getOpenCount

public int getOpenCount ()

Method getOpenCount.

getVisitedBlocks

public Long2ObjectMap getVisitedBlocks ()

Method getVisitedBlocks.

getStartPositionIndex

public long getStartPositionIndex ()

Method getStartPositionIndex.

getPath

public AStarNode getPath ()

Method getPath.

getPosition

public Vector3d getPosition ()

Method getPosition.

getLength

public int getLength ()

Method getLength.

getIterations

public int getIterations ()

Method getIterations.

getEndPosition

public Vector3d getEndPosition ()

Method getEndPosition.

clearPath

public void clearPath ()

Method clearPath.

initComputePath

public Progress initComputePath (@Nonnull final Ref ref, @Nonnull final Vector3d start, final AStarEvaluator evaluator, @Nonnull final MotionController motionController, @Nonnull final ProbeMoveData probeMoveData, @Nonnull final AStarNodePoolProvider nodePoolProvider, @Nonnull final ComponentAccessor componentAccessor)

Method initComputePath.

Parameters:
@Nonnull final Ref ref
@Nonnull final Vector3d start
final AStarEvaluator evaluator
@Nonnull final MotionController motionController
@Nonnull final ProbeMoveData probeMoveData
@Nonnull final AStarNodePoolProvider nodePoolProvider
@Nonnull final ComponentAccessor componentAccessor

computePath

public Progress computePath (@Nonnull final Ref ref, @Nonnull final MotionController motionController, @Nonnull final ProbeMoveData probeMoveData, int nodesToProcess, @Nonnull final ComponentAccessor componentAccessor)

Method computePath.

Parameters:
@Nonnull final Ref ref
@Nonnull final MotionController motionController
@Nonnull final ProbeMoveData probeMoveData
int nodesToProcess
@Nonnull final ComponentAccessor componentAccessor

getProgress

public Progress getProgress ()

Method getProgress.

isComputing

public boolean isComputing ()

Method isComputing.

buildLongestPath

public float buildLongestPath ()

Method buildLongestPath.

buildFurthestPath

public float buildFurthestPath ()

Method buildFurthestPath.

buildBestPath

public AStarNode buildBestPath (@Nonnull final ToFloatFunction weight, @Nonnull final BiFloatPredicate predicate, final float initialValue)

Method buildBestPath.

Parameters:
@Nonnull final ToFloatFunction weight
@Nonnull final BiFloatPredicate predicate
final float initialValue

findBestVisitedNode

public AStarNode findBestVisitedNode (@Nonnull final ToFloatFunction weight, @Nonnull final BiFloatPredicate predicate, final float initialValue)

Method findBestVisitedNode.

Parameters:
@Nonnull final ToFloatFunction weight
@Nonnull final BiFloatPredicate predicate
final float initialValue

createDebugHelper

public AStarDebugBase createDebugHelper (@Nonnull final HytaleLogger logger)

Method createDebugHelper.

Parameters:
@Nonnull final HytaleLogger logger

indexFromXYZ

static long indexFromXYZ (final long dx, final long dy, final long dz)

Method indexFromXYZ.

Parameters:
final long dx
final long dy
final long dz

zFromIndex

static int zFromIndex (final long index)

Method zFromIndex.

Parameters:
final long index

yFromIndex

static int yFromIndex (final long index)

Method yFromIndex.

Parameters:
final long index

xFromIndex

static int xFromIndex (final long index)

Method xFromIndex.

Parameters:
final long index

positionIndexToString

static String positionIndexToString (final long index)

Method positionIndexToString.

Parameters:
final long index

setProgress

protected Progress setProgress (final Progress progress)

Method setProgress.

Parameters:
final Progress progress

canAdvance

protected Vector3d canAdvance (@Nonnull final Ref ref, @Nonnull final Vector3d startPosition, @Nonnull final Vector3d destination, @Nonnull final MotionController motionController, @Nonnull final ProbeMoveData probeMoveData, @Nonnull final ComponentAccessor componentAccessor)

Method canAdvance.

Parameters:
@Nonnull final Ref ref
@Nonnull final Vector3d startPosition
@Nonnull final Vector3d destination
@Nonnull final MotionController motionController
@Nonnull final ProbeMoveData probeMoveData
@Nonnull final ComponentAccessor componentAccessor

addStartNode

protected void addStartNode (final Vector3d startPosition, @Nonnull final Vector3d position, @Nonnull final MotionController motionController)

Method addStartNode.

Parameters:
final Vector3d startPosition
@Nonnull final Vector3d position
@Nonnull final MotionController motionController

addOpenNode

protected void addOpenNode (@Nonnull final AStarNode parentNode, final int directionIndex, @Nonnull final Vector3d position, final long positionIndex, final float cost, final MotionController motionController)

Method addOpenNode.

Parameters:
@Nonnull final AStarNode parentNode
final int directionIndex
@Nonnull final Vector3d position
final long positionIndex
final float cost
final MotionController motionController

updateNode

protected void updateNode (@Nonnull final AStarNode node, final int directionIndex, @Nonnull final AStarNode targetNode, @Nonnull final MotionController motionController)

Method updateNode.

Parameters:
@Nonnull final AStarNode node
final int directionIndex
@Nonnull final AStarNode targetNode
@Nonnull final MotionController motionController

addOrUpdateNode

protected void addOrUpdateNode (@Nonnull final AStarNode node, final int directionIndex, @Nonnull final Vector3d position, @Nonnull final MotionController motionController, @Nonnull final ComponentAccessor componentAccessor)

Method addOrUpdateNode.

Parameters:
@Nonnull final AStarNode node
final int directionIndex
@Nonnull final Vector3d position
@Nonnull final MotionController motionController
@Nonnull final ComponentAccessor componentAccessor

updateNodeCost

protected void updateNodeCost (@Nonnull final AStarNode node, final int directionIndex, @Nonnull final AStarNode targetNode, final float stepCost)

Method updateNodeCost.

Parameters:
@Nonnull final AStarNode node
final int directionIndex
@Nonnull final AStarNode targetNode
final float stepCost

positionToIndex

protected long positionToIndex (@Nonnull final Vector3d position)

Method positionToIndex.

Parameters:
@Nonnull final Vector3d position

measureWalkCost

protected float measureWalkCost (final Vector3d fromPosition, final Vector3d toPosition, @Nonnull final MotionController motionController)

Method measureWalkCost.

Parameters:
final Vector3d fromPosition
final Vector3d toPosition
@Nonnull final MotionController motionController

buildPath

protected void buildPath (@Nullable AStarNode endNode)

Method buildPath.

Parameters:
@Nullable AStarNode endNode

addOffsetToIndex

protected long addOffsetToIndex (final long index, final long xSteps, final long ySteps, final long zSteps)

Method addOffsetToIndex.

Parameters:
final long index
final long xSteps
final long ySteps
final long zSteps