-
Notifications
You must be signed in to change notification settings - Fork 18
Expand file tree
/
Copy pathVolatileRandomAccessibleIntervalView.java
More file actions
60 lines (50 loc) · 1.44 KB
/
VolatileRandomAccessibleIntervalView.java
File metadata and controls
60 lines (50 loc) · 1.44 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
package bdv.util.volatiles;
import java.util.function.Predicate;
import net.imglib2.AbstractWrappedInterval;
import net.imglib2.Interval;
import net.imglib2.RandomAccess;
import net.imglib2.RandomAccessibleInterval;
import net.imglib2.Volatile;
import net.imglib2.cache.Invalidate;
public class VolatileRandomAccessibleIntervalView< T, V extends Volatile< T > >
extends AbstractWrappedInterval< RandomAccessibleInterval< V > >
implements VolatileView< T, V >, RandomAccessibleInterval< V >, Invalidate< Long >
{
private final VolatileViewData< T, V > viewData;
public VolatileRandomAccessibleIntervalView(
final VolatileViewData< T, V > viewData )
{
super( ( RandomAccessibleInterval< V > ) viewData.getImg() );
this.viewData = viewData;
}
@Override
public VolatileViewData< T, V > getVolatileViewData()
{
return viewData;
}
@Override
public RandomAccess< V > randomAccess()
{
return sourceInterval.randomAccess();
}
@Override
public RandomAccess< V > randomAccess( final Interval interval )
{
return sourceInterval.randomAccess( interval );
}
@Override
public void invalidate( Long key )
{
this.viewData.invalidate( key );
}
@Override
public void invalidateIf( long parallelismThreshold, Predicate< Long > condition )
{
this.viewData.invalidateIf( parallelismThreshold, condition );
}
@Override
public void invalidateAll( long parallelismThreshold )
{
this.viewData.invalidateAll( parallelismThreshold );
}
}