Triangle3DIntersectInfo.cs 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. #if UNITY_EDITOR
  2. using UnityEngine;
  3. using System.Collections.Generic;
  4. namespace O3DWB
  5. {
  6. public class Triangle3DIntersectInfo
  7. {
  8. #region Private Variables
  9. private Triangle3D _firstTriangle;
  10. private Triangle3D _secondTriangle;
  11. private List<Vector3> _firstTriangleIntersectionPoints = new List<Vector3>();
  12. private List<Vector3> _secondTriangleIntersectionPoints = new List<Vector3>();
  13. private List<Vector3> _allIntersectionPoints = new List<Vector3>();
  14. #endregion
  15. #region Public Properties
  16. public Triangle3D FirstTriangle { get { return _firstTriangle; } }
  17. public Triangle3D SecondTriangle { get { return _secondTriangle; } }
  18. public List<Vector3> FirstTriangleIntersectionPoints { get { return new List<Vector3>(_firstTriangleIntersectionPoints); } }
  19. public List<Vector3> SecondTriangleIntersectionPoints { get { return new List<Vector3>(_secondTriangleIntersectionPoints); } }
  20. public List<Vector3> AllIntersectionPoints { get { return _allIntersectionPoints; } }
  21. #endregion
  22. #region Constructors
  23. public Triangle3DIntersectInfo()
  24. {
  25. }
  26. public Triangle3DIntersectInfo(Triangle3D firstTriangle, Triangle3D secondTriangle,
  27. List<Vector3> firstTraingleIntersectionPoints, List<Vector3> secondTraingleIntersectionPoints)
  28. {
  29. _firstTriangle = firstTriangle;
  30. _secondTriangle = secondTriangle;
  31. _firstTriangleIntersectionPoints = new List<Vector3>(firstTraingleIntersectionPoints);
  32. _secondTriangleIntersectionPoints = new List<Vector3>(secondTraingleIntersectionPoints);
  33. _allIntersectionPoints = new List<Vector3>(_firstTriangleIntersectionPoints);
  34. _allIntersectionPoints.AddRange(_secondTriangleIntersectionPoints);
  35. }
  36. #endregion
  37. }
  38. }
  39. #endif