public void LoadSharedData(ARSharedData sharedData) { NDKARStatus status = NDKAPI.HwArSession_load(m_ndkSession.SessionHandle, sharedData.RawData.m_pinAddr, sharedData.RawData.DataSize); ARExceptionAdapter.ExtractException(status); }
public void DeSerializeAnchors(ARSharedData sharedData, List <ARAnchor> anchors) { IntPtr anchorListHandle = m_ndkSession.AnchorAdapter.CreateList(); NDKARStatus status = NDKAPI.HwArSession_deserializeAnchors(m_ndkSession.SessionHandle, sharedData.RawData.m_pinAddr, sharedData.RawData.DataSize, anchorListHandle); ARExceptionAdapter.ExtractException(status); int anchorListSize = m_ndkSession.AnchorAdapter.GetListSize(anchorListHandle); for (int i = 0; i < anchorListSize; i++) { IntPtr anchorHandle = m_ndkSession.AnchorAdapter.AcquireListItem(anchorListHandle, i); ARAnchor anchor = m_ndkSession.AnchorManager.ARAnchorFactory(anchorHandle, true); anchors.Add(anchor); } m_ndkSession.AnchorAdapter.DestroyList(anchorListHandle); }