/** * {@inheritDoc} */ @Override public PlanarPlaneSubsetCursor< T > copy() { return new PlanarPlaneSubsetCursor< T >( this ); }
/** * {@inheritDoc} */ @Override public PlanarPlaneSubsetCursor< T > copyCursor() { return copy(); }
/** * Constructor * * @param container - the container this cursor shall work on. * @param interval - the interval to iterate over. */ public PlanarPlaneSubsetCursor( final PlanarImg< T, ? > container, final Interval interval ) { super( container.numDimensions() ); this.type = container.createLinkedType(); this.container = container; this.planeSize = ( ( n > 1 ) ? ( int ) interval.dimension( 1 ) : 1 ) * ( int ) interval.dimension( 0 ); this.lastPlaneIndex = planeSize - 1; this.sliceIndex = ( int ) ( offset( interval ) / planeSize ); reset(); }
private long offset(final Interval interval) { final int maxDim = numDimensions() - 1; long i = interval.min(maxDim); for (int d = maxDim - 1; d >= 0; --d) i = i * container.dimension(d) + interval.min(d); return i; } }
/** * Constructor * * @param container - the container this cursor shall work on. * @param interval - the interval to iterate over. */ public PlanarPlaneSubsetCursor( final PlanarImg< T, ? > container, final Interval interval ) { super( container.numDimensions() ); this.type = container.createLinkedType(); this.container = container; this.planeSize = ( ( n > 1 ) ? ( int ) interval.dimension( 1 ) : 1 ) * ( int ) interval.dimension( 0 ); this.lastPlaneIndex = planeSize - 1; this.sliceIndex = ( int ) ( offset( interval ) / planeSize ); reset(); }
private long offset(final Interval interval) { final int maxDim = numDimensions() - 1; long i = interval.min(maxDim); for (int d = maxDim - 1; d >= 0; --d) i = i * container.dimension(d) + interval.min(d); return i; } }
/** * {@inheritDoc} */ @Override public PlanarPlaneSubsetCursor< T > copy() { return new PlanarPlaneSubsetCursor< T >( this ); }
/** * Copy Constructor * * @param cursor - the cursor to copy from. */ protected PlanarPlaneSubsetCursor( final PlanarPlaneSubsetCursor< T > cursor ) { super( cursor.numDimensions() ); container = cursor.container; this.type = container.createLinkedType(); sliceIndex = cursor.sliceIndex; planeSize = cursor.planeSize; lastPlaneIndex = cursor.lastPlaneIndex; type.updateContainer( this ); type.updateIndex( cursor.type.getIndex() ); }
/** * {@inheritDoc} */ @Override public PlanarPlaneSubsetCursor< T > copyCursor() { return copy(); }
/** * {@inheritDoc} */ @Override public Cursor< T > cursor( final Interval interval ) { assert ( supportsOptimizedCursor( interval ) ); return new PlanarPlaneSubsetCursor< T >( this, interval ); }
/** * Copy Constructor * * @param cursor - the cursor to copy from. */ protected PlanarPlaneSubsetCursor( final PlanarPlaneSubsetCursor< T > cursor ) { super( cursor.numDimensions() ); container = cursor.container; this.type = container.createLinkedType(); sliceIndex = cursor.sliceIndex; planeSize = cursor.planeSize; lastPlaneIndex = cursor.lastPlaneIndex; type.updateContainer( this ); type.updateIndex( cursor.type.getIndex() ); }
/** * {@inheritDoc} */ @Override public Cursor< T > cursor( final Interval interval ) { assert ( supportsOptimizedCursor( interval ) ); return new PlanarPlaneSubsetCursor< T >( this, interval ); }