fn remove_branch(&mut self, pts: &Pos, i: usize, bbox: BBox<i64>, hnd: u32, p: Vec3<i64>) {
		assert!(self.nodes[i].is_branch());
		let ch = Node::which_child(bbox.center, p);
		let j = self.nodes[i].child[ch];
		if j > 0 {
			let k = (j - 1) as usize;
			let bb = Node::child_bbox(ch, bbox);
			self.remove_point(pts, k, bb, hnd, p);
			if self.nodes[k].is_empty() {
				self.nodes[i].child[ch] = 0;
				self.garbage.push(j);
			}
		}
	}
/// Remove a point from a branch
Remove a point from a branch
Remove a point from a branch
fn remove_branch(&mut self, pts: &Pos, i: usize, bbox: BBox<i64>, hnd: u32, p: Vec3<i64>) {
		assert!(self.nodes[i].is_branch());
		let ch = Node::which_child(bbox.center, p);
		let j = self.nodes[i].child[ch];
		if j > 0 {
			let k = (j - 1) as usize;
			let bb = Node::child_bbox(ch, bbox);
			self.remove_point(pts, k, bb, hnd, p);
			if self.nodes[k].is_empty() {
				self.nodes[i].child[ch] = 0;
				self.garbage.push(j);
			}
		}
	}
fn remove_branch ( & mut self , pts : & Pos , i : usize , bbox : BBox < i64 > , hnd : u32 , p : Vec3 < i64 > ) { assert ! ( self nodes [ i ] is_branch ( ) ) ; let ch = Node :: which_child ( bbox . center , p ) ; let j = self . nodes [ i ] . child [ ch ] ; if j > 0 { let k = ( j - 1 ) as usize ; let bb = Node :: child_bbox ( ch , bbox ) ; self . remove_point ( pts , k , bb , hnd , p ) ; if self . nodes [ k ] . is_empty ( ) { self . nodes [ i ] . child [ ch ] = 0 ; self . garbage . push ( j ) ; } } }
Remove a point from a branch
Remove a point from a branch
&mut self
pts
&Pos
i
usize
bbox
BBox<i64>
hnd
u32
p
Vec3<i64>