Megosztás a következőn keresztül:


WLT+ASA: A támogató szoftverek áttekintése

IBinder - a SpacePins és az Azure Spatial Anchors kötése

A IBinder felület a középpontban van, amelyet itt a SpacePinBinder osztály valósít meg. A SpacePinBinder egy Unity Monobehaviour, és konfigurálható a Unity felügyelője vagy szkriptből.

Mindegyik IBinder neve el van nevezve, így egyetlen IBindingOracle képes több IBinders kötéseinek kezelésére.

IPublisher - térbeli horgonyok olvasása és írása a felhőbe

A IPublisher felület kezeli a térbeli horgonyok felhőben való közzétételét, majd lekérését későbbi munkamenetekben vagy más eszközökön. IPublisher itt implementálva van a PublisherASA osztály. Az aktuális fizikai térben lévő pózadatok rögzítése és lekérése az Azure Spatial Anchors használatával történik.

A térbeli horgony közzétételekor a felhőhorgony azonosítója lesz lekért. Ez az azonosító használható későbbi munkamenetekben vagy más eszközökön a felhőhorgony aktuális koordinátarendszerbeli pózának lekéréséhez, valamint a vele tárolt tulajdonságokhoz. A rendszer mindig hozzáad egy tulajdonságot, amely azonosítja a felhőhorgony társított SpacePinjét.

Megjegyzendő, hogy a IPublisherPublisherASA nem tud semmit a SpacePinsről. IPublisher nem tudja és nem is érdekli, hogy mi történik a felhőbeli horgonyadatokkal. Egyszerűsített, várható felületet biztosít a felhőhorgonyok közzétételéhez és lekéréséhez.

Olvasás és keresés

Ha egy felhőhorgony azonosítója ismert, előfordulhat, hogy a felhőhorgonyt az azonosítója kéri le. Ez a módszer a leg robusztusabb módja a felhőhorgony lekérésének. A metódus az Olvasás.

Vannak azonban olyan érdekes forgatókönyvek, amelyekben a felhőhorgonyok azonosítóit egy adott területen nem ismeri az eszköz, de ha lekérhetők a felhőhorgonyok, a térbeli adataik és tulajdonságaik kombinálva elegendő információt biztosítanak ahhoz, hogy hasznossá tegyék őket.

A Keresés megkeresi az eszköz körüli területet a felhőhorgonyok kereséséhez, és visszaadja azokat, amelyeket azonosítani tudott. Ezt a folyamatot durva áthelyezésnek nevezzük.

IBindingOracle – felhőalapú horgonyazonosítók megosztása

Az IBindingOracle interfész lehetővé teszi a kötések megőrzését és megosztását a SpacePins és bizonyos felhőhorgonyok között. Pontosabban megőrzi a szóköz-pin-ID/cloud-anchor-ID párokat, valamint a IBinderneve.

Az oracle felülete rendkívül egyszerű. Adott egy IBinder, akkor vagy tedd a IBinder's kötések, vagy lehet get őket. Helyezze el őket, és kérje le őket. A tárolási és lekérési mechanizmus az IBindingOracle interfészt megvalósító konkrét osztály megvalósítására marad.

Ez a minta a lehető legegyszerűbb IBindingOracle-t implementálja a SpacePinBinderFile osztály formájában. A Put fájlban a IBinderkötéseket egy szövegfájlba írja. Beolvasáskor beolvassa őket a szövegfájlból (ha van ilyen), és beolvassa őket a IBinder.

ILocalPeg – a fizikai térben lévő pozíciót jelző blob

Az ILocalPeg interfész egy eszköz helyi horgonyának absztrakciója. Egy tökéletesebb világban, a szükséges ILocalPegs lenne belsőleg kezeli a IPublisher. Az eszköz helyi horgonyai azonban sokkal jobban működnek, amikor létrejönnek, miközben az eszköz a horgony pózának közelében van. Az IPublisher egyetlen, aki tudja, hol kell elhelyezni az eszköz helyi horgonyait, amikor szükség van rájuk, és nem az optimális létrehozásukkor.

A SpacePinASA tudja, mikor a legjobb alkalom a helyi horgony létrehozására. Amikor a SpacePin kezelése véget ér, és a pózkészlete véget ér, a SpacePinASA megkéri, IPublisher hogy hozzon létre egy átlátszatlan helyi csapot a kívánt pózban. A SpacePinBinder ezután lekéri az ILocalPeg-et a SpacePinASA-ról, és átadja a IPublisher felhőbeli térbeli horgony létrehozásához használandónak.

Lásd még