AABox.cs 980 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. using System.Runtime.InteropServices;
  2. namespace BansheeEngine
  3. {
  4. [StructLayout(LayoutKind.Sequential), SerializeObject]
  5. public struct AABox
  6. {
  7. private Vector3 _minimum;
  8. private Vector3 _maximum;
  9. public Vector3 minimum
  10. {
  11. get { return _minimum; }
  12. set { _minimum = value; }
  13. }
  14. public Vector3 maximum
  15. {
  16. get { return _maximum; }
  17. set { _maximum = value; }
  18. }
  19. public Vector3 center
  20. {
  21. get
  22. {
  23. return new Vector3((_maximum.x + _minimum.x) * 0.5f,
  24. (_maximum.y + _minimum.y) * 0.5f,
  25. (_maximum.z + _minimum.z) * 0.5f);
  26. }
  27. }
  28. public Vector3 size
  29. {
  30. get
  31. {
  32. return _maximum - _minimum;
  33. }
  34. }
  35. public AABox(Vector3 min, Vector3 max)
  36. {
  37. _minimum = min;
  38. _maximum = max;
  39. }
  40. };
  41. }