@Override public void move(final long[] distance) { int index = 0; for (int d = 0; d < n; ++d) { position[d] += distance[d]; index += distance[d] * img.steps[d]; } type.incIndex(index); }
@Override public void move(final Localizable localizable) { int index = 0; for (int d = 0; d < n; ++d) { final int distance = localizable.getIntPosition(d); position[d] += distance; index += distance * img.steps[d]; } type.incIndex(index); }
@Override public void fwd() { type.incIndex(); }
@Override public void jumpFwd(final long steps) { type.incIndex((int) steps); }
@Override public void fwd(final int d) { type.incIndex(img.steps[d]); ++position[d]; }
/** * Moves n steps in dimension 0 * * @param distance - how many steps (positive or negative) */ public void move(final long distance) { type.incIndex((int) distance); position[0] += distance; }
/** * Moves n steps in dimension 0 * * @param distance - how many steps (positive or negative) */ public void moveDim0(final int distance) { type.incIndex(distance); position[0] += distance; }
/** Moves one step forward in dimension 0 */ public void fwdDim0() { type.incIndex(); ++position[0]; }
@Override public void setPosition(final long pos, final int d) { type.incIndex(((int) pos - position[d]) * img.steps[d]); position[d] = (int) pos; }
@Override public void move(final long distance, final int d) { type.incIndex(img.steps[d] * (int) distance); position[d] += distance; }