// Gets a list of all tetrahedra // Done deliberately by copy (which is slow) to prevent manipulation of the list public List <Tetrahedron> GetTetrahedra() { var list = new List <Tetrahedron>(); foreach (var tetrahedron in tetrahedrons) { var newTetrahedron = new Tetrahedron(tetrahedron.Points[0], tetrahedron.Points[1], tetrahedron.Points[2], tetrahedron.Points[3], tetrahedron.Mass, tetrahedron.Color, tetrahedron.Fresnel, tetrahedron.Roughness); list.Add(tetrahedron); } return(list); }
/// <summary> /// Add a tetrahedron. Will throw an exception if it overlaps with any existing tetrahedra /// </summary> /// <param name="tetrahedron"></param> public void AddTetrahedron(Tetrahedron tetrahedron) { foreach (var tet in tetrahedrons) { //if (tet.Overlap(tetrahedron)) //{ // throw new ArgumentException("Tetrahedra are not allowed to overlap!"); //} } tetrahedrons.Add(tetrahedron); }
public bool Overlap(Tetrahedron other) { return(underlying.BulkOverlap(other.underlying)); }