// Token: 0x0600000D RID: 13 RVA: 0x000021A8 File Offset: 0x000003A8 private static int RecurseY(IList <Vector3> vertices, KdTreeNode3 treeNode, ref Vector3 value, double epsilon) { Vector3 treeValue = vertices[treeNode.Index]; if (KdTree3.Compare(treeValue, ref value, epsilon)) { return(treeNode.Index); } if (value.Y - treeValue.Y >= -epsilon * 4.0) { if (treeNode.Front != null) { return(KdTree3.RecurseZ(vertices, treeNode.Front, ref value, epsilon)); } int count = vertices.Count; vertices.Add(value); treeNode.Front = new KdTreeNode3(count); return(count); } else { if (treeNode.Back != null) { return(KdTree3.RecurseZ(vertices, treeNode.Back, ref value, epsilon)); } int count2 = vertices.Count; vertices.Add(value); treeNode.Back = new KdTreeNode3(count2); return(count2); } }
// Token: 0x0600000B RID: 11 RVA: 0x0000209C File Offset: 0x0000029C public int Insert(Vector3 value) { if (this.Root == null) { int count = this.vertices.Count; this.vertices.Add(value); KdTreeNode3 root = new KdTreeNode3(count); this.Root = root; return(count); } return(KdTree3.RecurseX(this.vertices, this.Root, ref value, this.Epsilon)); }