fn grow_leaf_link(&mut self, i: usize, bbox: BBox<i64>) -> (usize, BBox<i64>) {
		assert!(self.nodes[i].is_leaf());
		assert!(self.nodes[i].is_full());
		let j = self.nodes[i].link();
		if j > 0 {
			(j - 1, bbox)
		} else {
			let k = self.new_leaf();
			// Link to new coincident leaf
			self.nodes[i].child[LINK as usize] = k as u32;
			(k - 1, bbox)
		}
	}
/// Grow a leaf node linking to another leaf
Grow a leaf node linking to another leaf
Grow a leaf node linking to another leaf
fn grow_leaf_link(&mut self, i: usize, bbox: BBox<i64>) -> (usize, BBox<i64>) {
		assert!(self.nodes[i].is_leaf());
		assert!(self.nodes[i].is_full());
		let j = self.nodes[i].link();
		if j > 0 {
			(j - 1, bbox)
		} else {
			let k = self.new_leaf();
			// Link to new coincident leaf
			self.nodes[i].child[LINK as usize] = k as u32;
			(k - 1, bbox)
		}
	}
fn grow_leaf_link ( & mut self , i : usize , bbox : BBox < i64 > ) -> ( usize , BBox < i64 > ) { assert ! ( self nodes [ i ] is_leaf ( ) ) ; assert ! ( self nodes [ i ] is_full ( ) ) ; let j = self . nodes [ i ] . link ( ) ; if j > 0 { ( j - 1 , bbox ) } else { let k = self . new_leaf ( ) ; // Link to new coincident leaf self . nodes [ i ] . child [ LINK as usize ] = k as u32 ; ( k - 1 , bbox ) } }
Grow a leaf node linking to another leaf
Grow a leaf node linking to another leaf
&mut self
i
usize
bbox
BBox<i64>