public abstract class LevelBasedGraph
extends java.lang.Object
Modifier and Type | Field and Description |
---|---|
private int |
levelCount |
private int |
minLevelToUpdate |
private boolean |
needsUpdate |
private it.unimi.dsi.fastutil.longs.Long2ByteMap |
propagationLevels |
private it.unimi.dsi.fastutil.longs.LongLinkedOpenHashSet[] |
updatesByLevel |
Modifier | Constructor and Description |
---|---|
protected |
LevelBasedGraph(int levelCount,
int p_i51298_2_,
int p_i51298_3_) |
Modifier and Type | Method and Description |
---|---|
private void |
addToUpdate(long pos,
int levelToSet,
int updateLevel) |
protected void |
cancelUpdate(long positionIn) |
protected abstract int |
computeLevel(long pos,
long excludedSourcePos,
int level) |
void |
func_227465_a_(java.util.function.LongPredicate p_227465_1_) |
int |
func_227467_c_() |
protected abstract int |
getEdgeLevel(long startPos,
long endPos,
int startLevel) |
protected abstract int |
getLevel(long sectionPosIn) |
protected abstract boolean |
isRoot(long pos) |
private int |
minLevel(int level1,
int level2) |
protected boolean |
needsUpdate() |
protected abstract void |
notifyNeighbors(long pos,
int level,
boolean isDecreasing) |
protected int |
processUpdates(int toUpdateCount) |
protected void |
propagateLevel(long fromPos,
long toPos,
int sourceLevel,
boolean isDecreasing) |
private void |
propagateLevel(long fromPos,
long toPos,
int newLevel,
int previousLevel,
int propagationLevel,
boolean isDecreasing) |
protected int |
queuedUpdateSize() |
private void |
removeToUpdate(long pos,
int level,
int maxLevel,
boolean removeAll) |
protected void |
scheduleUpdate(long worldPos) |
protected void |
scheduleUpdate(long fromPos,
long toPos,
int newLevel,
boolean isDecreasing) |
protected abstract void |
setLevel(long sectionPosIn,
int level) |
private void |
updateMinLevel(int maxLevel) |
private final int levelCount
private final it.unimi.dsi.fastutil.longs.LongLinkedOpenHashSet[] updatesByLevel
private final it.unimi.dsi.fastutil.longs.Long2ByteMap propagationLevels
private int minLevelToUpdate
private volatile boolean needsUpdate
protected LevelBasedGraph(int levelCount, int p_i51298_2_, int p_i51298_3_)
private int minLevel(int level1, int level2)
private void updateMinLevel(int maxLevel)
protected void cancelUpdate(long positionIn)
public void func_227465_a_(java.util.function.LongPredicate p_227465_1_)
private void removeToUpdate(long pos, int level, int maxLevel, boolean removeAll)
private void addToUpdate(long pos, int levelToSet, int updateLevel)
protected void scheduleUpdate(long worldPos)
protected void scheduleUpdate(long fromPos, long toPos, int newLevel, boolean isDecreasing)
private void propagateLevel(long fromPos, long toPos, int newLevel, int previousLevel, int propagationLevel, boolean isDecreasing)
protected final void propagateLevel(long fromPos, long toPos, int sourceLevel, boolean isDecreasing)
protected final boolean needsUpdate()
protected final int processUpdates(int toUpdateCount)
public int func_227467_c_()
protected abstract boolean isRoot(long pos)
protected abstract int computeLevel(long pos, long excludedSourcePos, int level)
protected abstract void notifyNeighbors(long pos, int level, boolean isDecreasing)
protected abstract int getLevel(long sectionPosIn)
protected abstract void setLevel(long sectionPosIn, int level)
protected abstract int getEdgeLevel(long startPos, long endPos, int startLevel)
protected int queuedUpdateSize()