/// <summary> /// Initializes a new instance of the <see cref="ImageCollection"/> class with an existing <see cref="Json.LytroEdofParallax"/> as storage. /// </summary> /// <param name="parallax">A <see cref="Json.LytroEdofParallax"/> to use as a storage for the collection.</param> public ImageCollection(Json.LytroEdofParallax parallax) { _parallax = parallax; if (_parallax.ImageArray == null) { _parallax.ImageArray = new Json.ParallaxImageItem[0]; } }
/// <summary> /// Initializes a new instance of the <see cref="ParallaxStackAcceleration"/> class with an existing <see cref="Json.LytroEdofParallax"/> storage. /// </summary> /// <param name="parallax">A <see cref="Json.LytroEdofParallax"/> to use as a storage for the parallax.</param> public ParallaxStackAcceleration(Json.LytroEdofParallax parallax) { if (parallax == null) { throw new ArgumentNullException("parallax"); } JsonParallaxStack = parallax; }
/// <summary> /// Initializes a new instance of the <see cref="BlockImageCollection"/> class with an existing <see cref="Json.LytroEdofParallax"/> as storage. /// </summary> /// <param name="stack">A <see cref="Json.LytroEdofParallax"/> to use as a storage for the collection.</param> public BlockImageCollection(Json.LytroEdofParallax stack) { _stack = stack; if (_stack.BlockOfImages == null) { _stack.BlockOfImages = new Json.BlockOfParallaxImages(); } if (_stack.BlockOfImages.MetadataArray == null) { _stack.BlockOfImages.MetadataArray = new Json.BlockParallaxMetadata[0]; } }
private void LoadAcceleration(Json.AccelerationItem accelerationItem) { if (accelerationItem == null) { return; } switch (accelerationItem.Type) { case Json.LytroRefocusStack.Key: _refocusStack = accelerationItem.VendorContent as Json.LytroRefocusStack; break; case Json.LytroEdofParallax.Key: _parallaxStack = accelerationItem.VendorContent as Json.LytroEdofParallax; break; } }
/// <summary> /// When overriden in derived class, initializes the accessor and returns whether any content is available. /// </summary> /// <returns>true if the package contains any stacks; false otherwise.</returns> protected override bool Initialize() { if (Metadata == null || Metadata.Picture == null || Metadata.Picture.AccelerationArray == null) { return(false); } _refocusStack = null; _parallaxStack = null; Json.AccelerationItem[] accelerationArray = Metadata.Picture.AccelerationArray; for (int i = 0; i < accelerationArray.Length; i++) { LoadAcceleration(accelerationArray[i]); } return(_refocusStack != null || _parallaxStack != null); }
/// <summary> /// Initializes a new instance of the <see cref="ParallaxStackAcceleration"/> class. /// </summary> public ParallaxStackAcceleration() { JsonParallaxStack = new Json.LytroEdofParallax(); }