using UnityEngine; namespace UnityARInterface { public struct BoundedPlane { public string id; public Vector3 center; public Vector2 extents; public Quaternion rotation; public Vector3 normal { get { return rotation * Vector3.up; } } public Plane plane { get { return new Plane(normal, center); } } public float width { get { return extents.x; } set { extents.x = value; } } public float height { get { return extents.y; } set { extents.y = value; } } public Vector3[] quad { get { Vector3[] points = new Vector3[4]; var right = rotation * Vector3.right * extents.x / 2; var forward = rotation * Vector3.forward * extents.y / 2; points[0] = center + right - forward; points[1] = center + right + forward; points[2] = center + -right + forward; points[3] = center + -right - forward; return points; } } } }