@Override public void bck( final int d ) { if ( d < sd ) for ( int s = 0; s < sliceAccesses.length; ++s ) sliceAccesses[ s ].bck( d ); else --slice; }
@Override public void bck( final int d ) { assert d < n; --position[ d ]; if ( !sourceZero[ d ] ) s.bck( sourceComponent[ d ] ); }
@Override public void bck( final int d ) { s.bck( sourceComponent[ d ] ); }
@Override public void bck( final int d ) { --position[ d ]; for ( int j = 0; j < numImages; ++j ) w[ j ].bck( d ); }
@Override public void bck( final int d ) { s.bck( sourceComponent[ d ] ); }
@Override public void bck( final int d ) { source.bck( d ); }
@Override public void bck( final int d ) { source.bck( d ); }
@Override public void bck( final int d ) { if ( d < sd ) for ( int s = 0; s < sliceAccesses.length; ++s ) sliceAccesses[ s ].bck( d ); else --slice; }
@Override public void bck( final int d ) { if ( d < sd ) sliceAccess.bck( d ); else setSlice( slice - 1 ); }
@Override public void reset() { index = -1; maxIndexOnLine = dimensions[ 0 ] - 1; randomAccess.setPosition( min ); randomAccess.bck( 0 ); }
@Override public void reset() { for ( int d = 0; d < n; ++d ) { min[ d ] = center[ d ] - span; max[ d ] = center[ d ] + span; } source.setPosition( min ); source.bck( 0 ); count = 0; }
@Override public void reset() { index = 0; lineIndex = -1; min( randomAccess ); randomAccess.bck( 0 ); }
@Override public void fwd( final int d ) { assert d < n; if ( sourceInv[ d ] ) s.bck( sourceComponent[ d ] ); else s.fwd( sourceComponent[ d ] ); }
@Override public void bck( final int d ) { if ( d < sd ) sliceAccess.bck( d ); else setSlice( slice - 1 ); }
@Override public void fwd( final int d ) { assert d < n; if ( sourceInv[ d ] ) s.bck( sourceComponent[ d ] ); else s.fwd( sourceComponent[ d ] ); }
@Override public void reset() { for ( int d = 0; d < n; ++d ) { min[ d ] = center[ d ] - span; max[ d ] = center[ d ] + span; } source.setPosition( min ); source.bck( 0 ); count = 0; }
@Override public void reset() { index = -1; maxIndexOnLine = dimensions[ 0 ] - 1; randomAccess.setPosition( min ); randomAccess.bck( 0 ); }
@Override public void bck( final int d ) { index -= currentCellSteps[ d ]; if ( --position[ d ] < currentCellMin[ d ] ) { randomAccessOnCells.bck( d ); updatePosition( position[ d ] < 0 ); } type.updateIndex( index ); }
@Override public void collectAtPreviousFragmentBorder( final RandomAccess< L > la, final TIntArrayList neighborLabels, final long[] labelsMin, final long[] labelsMax ) { neighborLabels.clear(); la.bck( n - 1 ); final int l = la.get().getInteger(); if ( l != 0 ) neighborLabels.add( l ); la.fwd( n - 1 ); } }