/// <summary> /// Associates this <see cref="Accessor"/> with a <see cref="BufferView"/> /// </summary> /// <param name="buffer">The <see cref="BufferView"/> source.</param> /// <param name="bufferByteOffset">The start byte offset within <paramref name="buffer"/>.</param> /// <param name="itemCount">The number of items in the accessor.</param> /// <param name="dimensions">The <see cref="DimensionType"/> item type.</param> /// <param name="encoding">The <see cref="EncodingType"/> item encoding.</param> /// <param name="normalized">The item normalization mode.</param> public void SetData(BufferView buffer, int bufferByteOffset, int itemCount, DimensionType dimensions, EncodingType encoding, Boolean normalized) { Guard.MustShareLogicalParent(this, buffer, nameof(buffer)); Guard.MustBeGreaterThanOrEqualTo(bufferByteOffset, _byteOffsetMinimum, nameof(bufferByteOffset)); Guard.MustBeGreaterThanOrEqualTo(itemCount, _countMinimum, nameof(itemCount)); this._bufferView = buffer.LogicalIndex; this._byteOffset = bufferByteOffset.AsNullable(_byteOffsetDefault, _byteOffsetMinimum, int.MaxValue); this._count = itemCount; this._type = dimensions; this._componentType = encoding; this._normalized = normalized.AsNullable(_normalizedDefault); UpdateBounds(); }