public SeparateTreeNode Insert(IEntity entity, int depth, int maxDepth) { if (mEntities.Contains(entity)) { return(this); } if (depth < maxDepth) { SeparateTreeNode node = GetContainerNode(entity, depth); if (node != null) { return(node.Insert(entity, depth + 1, maxDepth)); } } mEntities.AddFirst(entity); entity.node = this; return(this); }
public void Add(IEntity entity) { mRoot.Insert(entity, 0, mMaxDepth); }