BsRect3.cs 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. using System.Runtime.InteropServices;
  2. namespace BansheeEngine
  3. {
  4. [StructLayout(LayoutKind.Sequential), SerializeObject]
  5. public class Rect3
  6. {
  7. public Rect3(Vector3 center, Vector3[] axes, float[] extents)
  8. {
  9. this.center = center;
  10. this.axes[0] = axes[0];
  11. this.axes[1] = axes[1];
  12. this.extents[0] = extents[0];
  13. this.extents[1] = extents[1];
  14. }
  15. public Vector3 Center
  16. {
  17. get { return center; }
  18. set { center = value; }
  19. }
  20. public Vector3 AxisHorz
  21. {
  22. get { return axes[0]; }
  23. set { axes[0] = value; }
  24. }
  25. public Vector3 AxisVert
  26. {
  27. get { return axes[1]; }
  28. set { axes[1] = value; }
  29. }
  30. public float ExtentHorz
  31. {
  32. get { return extents[0]; }
  33. set { extents[0] = value; }
  34. }
  35. public float ExtentVert
  36. {
  37. get { return extents[1]; }
  38. set { extents[1] = value; }
  39. }
  40. private Vector3 center;
  41. private Vector3[] axes = new Vector3[2];
  42. private float[] extents = new float[2];
  43. };
  44. }