/// <summary>
		/// Gets the data for a particular frame in the SOP instance.
		/// </summary>
		/// <param name="frameNumber">The 1-based number of the frame for which the data is to be retrieved.</param>
		/// <returns>An <see cref="ISopFrameData"/> containing frame-specific data.</returns>
		protected override ISopFrameData GetFrameData(int frameNumber)
		{
			if(_frameData == null)
			{
				lock(this.SyncLock)
				{
					if(_frameData == null)
					{
						var frameData = new ISopFrameData[this.NumberOfFrames];
						for (int n = 0; n < frameData.Length; n++)
							frameData[n] = this.CreateFrameData(n + 1);
						
						_frameData = frameData;
					}
				}
			}

			return _frameData[frameNumber - 1];
		}
        /// <summary>
        /// Gets the data for a particular frame in the SOP instance.
        /// </summary>
        /// <param name="frameNumber">The 1-based number of the frame for which the data is to be retrieved.</param>
        /// <returns>An <see cref="ISopFrameData"/> containing frame-specific data.</returns>
        protected override ISopFrameData GetFrameData(int frameNumber)
        {
            if (_frameData == null)
            {
                lock (this.SyncLock)
                {
                    if (_frameData == null)
                    {
                        var frameData = new ISopFrameData[this.NumberOfFrames];
                        for (int n = 0; n < frameData.Length; n++)
                        {
                            frameData[n] = this.CreateFrameData(n + 1);
                        }

                        _frameData = frameData;
                    }
                }
            }

            return(_frameData[frameNumber - 1]);
        }
			public FrameData(ISopFrameData realFrameData, SopDataSource parent)
				: base(realFrameData.FrameNumber, parent)
			{
				_realFrameData = realFrameData;
			}
Example #4
0
 public FrameData(ISopFrameData realFrameData, SopDataSource parent)
     : base(realFrameData.FrameNumber, parent)
 {
     _realFrameData = realFrameData;
 }