You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
41 lines
1.7 KiB
41 lines
1.7 KiB
using System;
|
|
|
|
namespace UnityEngine.XR.ARSubsystems
|
|
{
|
|
/// <summary>
|
|
/// The runtime representation of a <see cref="XRReferenceImageLibrary"/>.
|
|
/// Some libraries are mutable; see <see cref="MutableRuntimeReferenceImageLibrary"/>.
|
|
/// </summary>
|
|
public abstract class RuntimeReferenceImageLibrary : IReferenceImageLibrary
|
|
{
|
|
/// <summary>
|
|
/// Gets the <see cref="XRReferenceImage"/> at the given <paramref name="index"/>.
|
|
/// </summary>
|
|
public XRReferenceImage this[int index]
|
|
{
|
|
get
|
|
{
|
|
if (index < 0)
|
|
throw new ArgumentOutOfRangeException(nameof(index), index, $"{nameof(index)} must be greater than or equal to zero.");
|
|
|
|
if (index >= count)
|
|
throw new ArgumentOutOfRangeException(nameof(index), index, $"{nameof(index)} must be less than count ({count}).");
|
|
|
|
return GetReferenceImageAt(index);
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// The number of reference images contained in this library.
|
|
/// </summary>
|
|
public abstract int count { get; }
|
|
|
|
/// <summary>
|
|
/// Derived methods should return the <see cref="XRReferenceImage"/> at the given <paramref name="index"/>.
|
|
/// The <paramref name="index"/> has already been validated to be within the range [0..<see cref="count"/>).
|
|
/// </summary>
|
|
/// <param name="index">The index of the reference image to get.</param>
|
|
/// <returns>A <see cref="XRReferenceImage"/> representing the reference image at index <paramref name="index"/>.</returns>
|
|
protected abstract XRReferenceImage GetReferenceImageAt(int index);
|
|
}
|
|
}
|