OpenXRSpatialContextPersistenceConfig
Связи persistence contexts с spatial configuration.
Дополнительная OpenXRStructureBase для включения persistence contexts в spatial context configuration. Содержит список RID, а не сохранённые якоря. Добавление/удаление меняет только список и не владеет context lifecycle. GetPersistenceContexts возвращает отдельный Array.
GetHeader выдаёт эту структуру только при поддержке persistence и непустом списке; иначе пропускает next pointer. Каждый RID должен быть готовым context правильного владельца. Ненулевой GetStructureType — здесь constant — не подтверждает ненулевой header, поддержку или успешное создание context. Список даже принимает пустой RID без проверки.
Spatial entities. Выполнены 10 ограниченных Windows XR-off проверок metadata, null mesh и структуры списка. Реальный snapshot/parent/bounds/pose, persistence header, шлем и export не проверены. Исходники движка, Runtime и SDK не менялись.
Объявления сверены с C# SDK 1.0.0. Раскройте имя, чтобы увидеть сигнатуры и описание.
Конструкторы1
OpenXRSpatialContextPersistenceConfigКонструктор
public OpenXRSpatialContextPersistenceConfig();Создаёт принадлежащий вызывающему RefCounted контейнер без запуска OpenXR, query или persistence операции. Начальное хранилище пустое; constructor не доказывает runtime support. Держите свои ресурсы живыми при использовании native запросом и освобождайте после удаления собственных ссылок; engine-owned обёртки не Dispose.
Методы3
AddPersistenceContextvoid
public void AddPersistenceContext(Rid persistenceContext);Добавляет RID persistence context в список конфигурации; повтор того же RID отвергается с ошибкой. Не создаёт context, не передаёт владение и не проверяет живость handle: QA смог сохранить даже пустой RID. В приложении передавайте только собственный/разрешённый готовый context поддержанной capability. Изменение списка не перенастраивает уже созданный spatial context.
| Имя | Тип | По умолчанию |
|---|---|---|
persistenceContext | Rid | — |
persistenceContextRID готового persistence context; метод списка не подтверждает поддержку/живость и не передаёт владение.
GetPersistenceContextsReckfell.Collections.Array
public Reckfell.Collections.Array GetPersistenceContexts();Новый Array со скопированными RID списка, изначально пустой. Изменение возвращённого массива не редактирует configuration; используйте Add/RemovePersistenceContext. Владение самими contexts не передаётся. В C# освободите принадлежащую вызывающему Array-обёртку после чтения, не освобождая её RID.
Reckfell.Collections.ArrayНовый Array со скопированными RID списка, изначально пустой. Изменение возвращённого массива не редактирует configuration; используйте Add/RemovePersistenceContext. Владение самими contexts не передаётся. В C# освободите принадлежащую вызывающему Array-обёртку после чтения, не освобождая её RID.
RemovePersistenceContextvoid
public void RemovePersistenceContext(Rid persistenceContext);Удаляет присутствующий RID только из списка; отсутствующий отвергается с ошибкой. Сам native persistence context не уничтожается и сохранённые anchors не удаляются. Перед освобождением собственного context остановите использующие его операции и отсоедините ссылки отдельно; default context движка не освобождайте.
| Имя | Тип | По умолчанию |
|---|---|---|
persistenceContext | Rid | — |
persistenceContextRID готового persistence context; метод списка не подтверждает поддержку/живость и не передаёт владение.