private GeometryModel3DOctree RebuildOctree(IList <Element3D> items) { Clear(); if (items == null || items.Count == 0) { return(null); } var list = items.Where(x => x is GeometryModel3D).Select(x => x as GeometryModel3D).ToList(); var array = list.ToArray(); var tree = new GeometryModel3DOctree(list, Parameter); tree.BuildTree(); if (tree.TreeBuilt) { foreach (var item in array) { SubscribeBoundChangeEvent(item); } } return(tree.TreeBuilt ? tree : null); }
private void UpdateOctree(GeometryModel3DOctree tree) { Octree = tree; mOctree = tree; }