@@ -56,34 +56,41 @@ fn bvh_build_and_removal() {
5656 }
5757 } ;
5858
59- bvh. assert_well_formed ( ) ;
59+ for _ in 0 ..3 {
60+ bvh. assert_well_formed ( ) ;
6061
61- match removal_pattern {
62- RemovalPattern :: InOrder => {
63- // Remove in insertion order.
64- for i in 0 ..len {
65- bvh. remove ( i as u32 ) ;
66- bvh. assert_well_formed ( ) ;
67- }
68- }
69- RemovalPattern :: RevOrder => {
70- // Remove in reverse insertion order.
71- for i in ( 0 ..len) . rev ( ) {
72- bvh. remove ( i as u32 ) ;
73- bvh. assert_well_formed ( ) ;
62+ match removal_pattern {
63+ RemovalPattern :: InOrder => {
64+ // Remove in insertion order.
65+ for i in 0 ..len {
66+ bvh. remove ( i as u32 ) ;
67+ bvh. assert_well_formed ( ) ;
68+ }
7469 }
75- }
76- RemovalPattern :: EvenOdd => {
77- // Remove even indices first, then odd.
78- for i in ( 0 ..len ) . filter ( |i| i % 2 == 0 ) {
79- bvh. remove ( i as u32 ) ;
80- bvh . assert_well_formed ( ) ;
70+ RemovalPattern :: RevOrder => {
71+ // Remove in reverse insertion order.
72+ for i in ( 0 ..len ) . rev ( ) {
73+ bvh . remove ( i as u32 ) ;
74+ bvh. assert_well_formed ( ) ;
75+ }
8176 }
82- for i in ( 0 ..len) . filter ( |i| i % 2 != 0 ) {
83- bvh. remove ( i as u32 ) ;
84- bvh. assert_well_formed ( ) ;
77+ RemovalPattern :: EvenOdd => {
78+ // Remove even indices first, then odd.
79+ for i in ( 0 ..len) . filter ( |i| i % 2 == 0 ) {
80+ bvh. remove ( i as u32 ) ;
81+ bvh. assert_well_formed ( ) ;
82+ }
83+ for i in ( 0 ..len) . filter ( |i| i % 2 != 0 ) {
84+ bvh. remove ( i as u32 ) ;
85+ bvh. assert_well_formed ( ) ;
86+ }
8587 }
8688 }
89+
90+ // Re-insert everything.
91+ for ( i, leaf) in leaves. iter ( ) . enumerate ( ) {
92+ bvh. insert ( * leaf, i as u32 ) ;
93+ }
8794 }
8895 }
8996 }
0 commit comments