void UpdateDebugVertices(DebugVisualsData debugData, MRPlane plane)
        {
            var planePose     = plane.pose;
            var worldVertices = debugData.WorldVertices;

            worldVertices.Clear();
            foreach (var vertex in plane.vertices)
            {
                worldVertices.Add(this.PoseToCameraSpace(planePose, vertex));
            }
        }
        void UpdateDebugBounds(DebugVisualsData debugData, MRPlane plane)
        {
            var planePose      = plane.pose;
            var center         = plane.center;
            var extents        = plane.extents;
            var halfExtentsX   = extents.x * 0.5f;
            var halfExtentsY   = extents.y * 0.5f;
            var boundsVertices = debugData.WorldBoundingBox;

            boundsVertices[0] = this.PoseToCameraSpace(planePose, center + new Vector3(-halfExtentsX, 0f, halfExtentsY));
            boundsVertices[1] = this.PoseToCameraSpace(planePose, center + new Vector3(-halfExtentsX, 0f, -halfExtentsY));
            boundsVertices[2] = this.PoseToCameraSpace(planePose, center + new Vector3(halfExtentsX, 0f, -halfExtentsY));
            boundsVertices[3] = this.PoseToCameraSpace(planePose, center + new Vector3(halfExtentsX, 0f, halfExtentsY));
        }