/// <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];
                }
            }
Exemple #4
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;
            }
        }
Exemple #5
0
        /// <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();
 }