コード例 #1
0
        unsafe public AnchorFragmentPose[] GetFrozenAnchors()
        {
            int numAnchors = FrozenWorld_GetNumAnchors(FrozenWorld_Snapshot.FROZEN);

            checkError();

            var res = new AnchorFragmentPose[numAnchors];

            if (numAnchors > 0)
            {
                FrozenWorld_Anchor *fwa = stackalloc FrozenWorld_Anchor[numAnchors];

                numAnchors = FrozenWorld_GetAnchors(FrozenWorld_Snapshot.FROZEN, numAnchors, fwa);
                checkError();

                for (int i = 0; i < numAnchors; i++)
                {
                    res[i] = new AnchorFragmentPose()
                    {
                        anchorId     = (AnchorId)fwa[i].anchorId,
                        fragmentPose = new FragmentPose()
                        {
                            fragmentId = (FragmentId)fwa[i].fragmentId,
                            pose       = FtoU(fwa[i].transform)
                        }
                    };
                }
            }

            return(res);
        }
コード例 #2
0
        unsafe public AnchorFragmentPose[] GetFrozenAnchors()
        {
            int numAnchors = frozenAnchors.Count;

            var res = new AnchorFragmentPose[numAnchors];

            for (int i = 0; i < res.Length; ++i)
            {
                res[i] = new AnchorFragmentPose()
                {
                    anchorId     = frozenAnchors[i].anchorPose.anchorId,
                    fragmentPose = new FragmentPose()
                    {
                        fragmentId = currentFragmentId,
                        pose       = frozenAnchors[i].anchorPose.pose
                    }
                };
            }

            return(res);
        }