Ejemplo n.º 1
0
 public bool Load(IEnumerable <Vector3D> net, IEnumerable <Thetra> thetras)
 {
     try {
         Figures = thetras.ToList();
         Vector3D max = net.ElementAt(0), min = max;
         foreach (var x in net)
         {
             max = Vector3D.Max(max, x); min = Vector3D.Min(min, x);
         }
         tree         = new OctoTree(min, max);
         tree.minDist = dist;
         foreach (var x in net)
         {
             tree.AddElement(x);
         }
         isLoad = true;
     } catch (Exception) {
         isLoad = false;
         return(false);
     }
     return(true);
 }
Ejemplo n.º 2
0
        public bool Load(IMesh3D mesh)
        {
            tree = new OctoTree(mesh.Center - new Vector3D(1, 1, 1) * mesh.Radius, mesh.Center + new Vector3D(1, 1, 1) * mesh.Radius);
            foreach (Vector3D vector in mesh.Vertices)
            {
                tree.AddElement(vector);
            }

            foreach (var domain in mesh.AllDomains)
            {
                if (domain.GeometryElements.All(x => x.Geometry.Metadata.Master.ElementType == ElementType.Tetrahedron))
                {
                    foreach (var gemobj in domain.GeometryElements)
                    {
                        Figures.Add(new Thetra(gemobj.Geometry.Indices));
                        Figures[Figures.Count - 1].material = domain.MaterialNumber;
                    }
                }
            }

            isLoad = true;

            return(true);
        }