Esempio n. 1
0
        public void Overlap(OcTreeObject obj, List <OcTreeObject> result)
        {
            foreach (var item in Objects)
            {
                if (obj.Intersect(item))
                {
                    result.Add(item);
                }
            }

            foreach (var node in Nodes)
            {
                if (node.NodeBox.Intersect(obj.Box))
                {
                    node.Overlap(obj, result);
                }
            }
        }
Esempio n. 2
0
        public bool Intersect(OcTreeObject obj)
        {
            foreach (var item in Objects)
            {
                if (obj.LinkedObject != item.LinkedObject && obj.Intersect(item))
                {
                    return(true);
                }
            }

            foreach (var node in Nodes)
            {
                if (node.NodeBox.Intersect(obj.Box))
                {
                    if (node.Intersect(obj))
                    {
                        return(true);
                    }
                }
            }

            return(false);
        }