Sdílet prostřednictvím


WLT+ASA: Přehled podpůrného softwaru

IBinder – vytvoření vazby SpacePins k Azure Spatial Anchors

Rozhraní IBinder je ve středu, implementované zde třídou SpacePinBinder. SpacePinBinder je Unity Monobehaviour a může být nakonfigurovaný buď z inspektoru Unity, nebo ze skriptu.

Každý IBindernázev, takže jeden IBindingOracle může spravovat vazby pro více IBinders.

IPublisher - čtení a psaní prostorových ukotvení do cloudu

Rozhraní IPublisher zpracovává publikování prostorových ukotvení do cloudu a jejich následné načítání v pozdějších relacích nebo na jiných zařízeních. IPublisher je zde implementována s PublisherASA třídy. Zobrazení dat v aktuálním fyzickém prostoru se zachytí a načte pomocí Azure Spatial Anchors.

Při publikování prostorové kotvy se získá ID cloudového ukotvení. Toto ID se může použít v pozdějších relacích nebo na jiných zařízeních k načtení pozice cloudové kotvy v aktuálním souřadnicovém systému spolu se všemi vlastnostmi uloženými s ním. Systém vždy přidá vlastnost identifikující přidružený SpacePin cloudové ukotvení.

Je třeba poznamenat, že IPublisher, a VydavatelASA, neví nic o SpacePins. IPublisher neví ani nezajímá, co se bude provádět s daty ukotvení cloudu. Poskytuje zjednodušené očekávané rozhraní pro publikování a načítání cloudových ukotvení.

Čtení a hledání

Pokud je ID cloudového ukotvení známé, může být cloudové ukotvení načteno jeho ID. Tato metoda představuje nejo robustnější způsob, jak načíst cloudové ukotvení. Metoda je Read.

Existují však zajímavé scénáře, ve kterých id cloudových ukotvení v rámci oblasti nejsou zařízením známa, ale pokud by se mohly načíst cloudové kotvy, jejich prostorová data a vlastnosti by se zkombinovaly, aby poskytovaly dostatek informací, aby byly užitečné.

Vyhledá oblast kolem zařízení pro cloudové kotvy a vrátí všechny, které bylo možné identifikovat. Tento proces se označuje jako hrubé přemístění.

IBindingOracle – sdílení ID ukotvení cloudu

Rozhraní IBindingOracle poskytuje způsob uchování a sdílení vazeb mezi SpacePins a konkrétními cloudovými ukotvením. Konkrétně se zachová dvojice space-pin-ID/cloud-anchor-ID spolu s názvem IBinder.

Rozhraní orákulumu je velmi jednoduché. IBinderMůže buď vložitIBindervazby, nebo je může získat. Uložte je a získejte je. Mechanismus ukládání a načítání je ponechán na implementaci konkrétní třídy implementující IBindingOracle rozhraní.

Tato ukázka implementuje pravděpodobně nejjednodušší možné IBindingOracle, ve formě SpacePinBinderFile třídy. Při vložení zapíše IBindervazby do textového souboru. Při získání je přečte z textového souboru (pokud je k dispozici) a načte je do IBindersouboru .

ILocalPeg – objekt blob označující pozici ve fyzickém prostoru

ILocalPeg rozhraní je abstrakce místního ukotvení zařízení. V dokonalejším světě by požadované ILocalPegs byly interně spravovány IPublisher. Místní ukotvení zařízení ale při vytváření funguje mnohem lépe, když je zařízení v blízkosti pozice ukotvení. Jediné IPublisher ví, kde by místní kotvy zařízení měly být umístěny, když jsou potřeba, a ne v optimální době jejich vytváření.

SpacePinASA ví, kdy je nejlepší čas vytvořit místní ukotvení. Při manipulaci s SpacePin končí a jeho pozice nastavena, SpacePinASA požádá IPublisher o vytvoření neprůspěšného místního kolíku v požadovaném stavu. SpacePinBinder pak vytáhne ILocalPeg z SpacePinASA a předá ho k IPublisher použití při vytváření cloudové prostorové kotvy.

Viz také