/// <summary> /// Initializes a new instance of the <see cref="ImageCollection"/> class with an existing <see cref="Json.LytroRefocusStack"/> as storage. /// </summary> /// <param name="stack">A <see cref="Json.LytroRefocusStack"/> to use as a storage for the collection.</param> public ImageCollection(Json.LytroRefocusStack stack) { _stack = stack; if (_stack.ImageArray == null) { _stack.ImageArray = new Json.RefocusImageItem[0]; } }
/// <summary> /// Initializes a new instance of the <see cref="RefocusStackAcceleration"/> class with an existing <see cref="Json.LytroRefocusStack"/> storage. /// </summary> /// <param name="stack">A <see cref="Json.LytroRefocusStack"/> to use as a storage for the parallax.</param> public RefocusStackAcceleration(Json.LytroRefocusStack stack) { if (stack == null) { throw new ArgumentNullException("stack"); } JsonRefocusStack = stack; }
/// <summary> /// Initializes a new instance of the <see cref="BlockImageCollection"/> class with an existing <see cref="Json.LytroRefocusStack"/> as storage. /// </summary> /// <param name="stack">A <see cref="Json.LytroRefocusStack"/> to use as a storage for the collection.</param> public BlockImageCollection(Json.LytroRefocusStack stack) { _stack = stack; if (_stack.BlockOfImages == null) { _stack.BlockOfImages = new Json.BlockOfRefocusImages(); } if (_stack.BlockOfImages.MetadataArray == null) { _stack.BlockOfImages.MetadataArray = new Json.BlockRefocusMetadata[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="RefocusStackAcceleration"/> class. /// </summary> public RefocusStackAcceleration() { JsonRefocusStack = new Json.LytroRefocusStack(); }