From 1e39c24934151491dcc868759e335f35cf15aa7d Mon Sep 17 00:00:00 2001 From: Tobias Pietzsch <tobias.pietzsch@gmail.com> Date: Thu, 16 Mar 2017 14:44:45 -0400 Subject: [PATCH] Implement VolatileUnsignedLongType.createSuitableNativeImg() --- .../type/volatiles/VolatileUnsignedLongType.java | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/src/main/java/net/imglib2/type/volatiles/VolatileUnsignedLongType.java b/src/main/java/net/imglib2/type/volatiles/VolatileUnsignedLongType.java index 6a069ed2..ef11805c 100644 --- a/src/main/java/net/imglib2/type/volatiles/VolatileUnsignedLongType.java +++ b/src/main/java/net/imglib2/type/volatiles/VolatileUnsignedLongType.java @@ -36,6 +36,7 @@ import net.imglib2.img.basictypeaccess.LongAccess; import net.imglib2.img.basictypeaccess.volatiles.VolatileLongAccess; import net.imglib2.img.basictypeaccess.volatiles.array.VolatileLongArray; import net.imglib2.type.numeric.integer.UnsignedLongType; +import net.imglib2.util.Fraction; /** * A {@link Volatile} variant of {@link UnsignedLongType}. It uses an underlying @@ -108,7 +109,17 @@ public class VolatileUnsignedLongType extends AbstractVolatileNativeRealType< Un @Override public NativeImg< VolatileUnsignedLongType, ? extends VolatileLongAccess > createSuitableNativeImg( final NativeImgFactory< VolatileUnsignedLongType > storageFactory, final long[] dim ) { - throw new UnsupportedOperationException(); + // create the container + @SuppressWarnings( "unchecked" ) + final NativeImg< VolatileUnsignedLongType, ? extends VolatileLongAccess > container = ( NativeImg< VolatileUnsignedLongType, ? extends VolatileLongAccess > ) storageFactory.createLongInstance( dim, new Fraction() ); + + // create a Type that is linked to the container + final VolatileUnsignedLongType linkedType = new VolatileUnsignedLongType( container ); + + // pass it to the NativeContainer + container.setLinkedType( linkedType ); + + return container; } @Override -- GitLab