nl_tokens: Finds all octants that intersect with the given ray .
pl_tokens: function raycastOctant ( octant , tx0 , ty0 , tz0 , tx1 , ty1 , tz1 , raycaster , intersects ) { const children = octant . children ; let currentOctant ; let txm , tym , tzm ; if ( tx1 >= 0.0 && ty1 >= 0.0 && tz1 >= 0.0 ) { if ( children === null ) { // Leaf. intersects . push ( octant ) ; } else { // Compute means. txm = 0.5 * ( tx0 + tx1 ) ; tym = 0.5 * ( ty0 + ty1 ) ; tzm = 0.5 * ( tz0 + tz1 ) ; currentOctant = findEntryOctant ( tx0 , ty0 , tz0 , txm , tym , tzm ) ; do { /* The possibilities for the next node are passed in the same respective
  				 * order as the t-values. Hence, if the first value is found to be the
  				 * greatest, the fourth one will be returned. If the second value is the
  				 * greatest, the fifth one will be returned, etc.
  				 */ switch ( currentOctant ) { case 0 : raycastOctant ( <mask> [ flags ] , tx0 , ty0 , tz0 , txm , tym , tzm , raycaster , intersects ) ; currentOctant = findNextOctant ( currentOctant , txm , tym , tzm ) ; break ; case 1 : raycastOctant ( children [ flags ^ 1 ] , tx0 , ty0 , tzm , txm , tym , tz1 , raycaster , intersects ) ; currentOctant = findNextOctant ( currentOctant , txm , tym , tz1 ) ; break ; case 2 : raycastOctant ( children [ flags ^ 2 ] , tx0 , tym , tz0 , txm , ty1 , tzm , raycaster , intersects ) ; currentOctant = findNextOctant ( currentOctant , txm , ty1 , tzm ) ; break ; case 3 : raycastOctant ( children [ flags ^ 3 ] , tx0 , tym , tzm , txm , ty1 , tz1 , raycaster , intersects ) ; currentOctant = findNextOctant ( currentOctant , txm , ty1 , tz1 ) ; break ; case 4 : raycastOctant ( children [ flags ^ 4 ] , txm , ty0 , tz0 , tx1 , tym , tzm , raycaster , intersects ) ; currentOctant = findNextOctant ( currentOctant , tx1 , tym , tzm ) ; break ; case 5 : raycastOctant ( children [ flags ^ 5 ] , txm , ty0 , tzm , tx1 , tym , tz1 , raycaster , intersects ) ; currentOctant = findNextOctant ( currentOctant , tx1 , tym , tz1 ) ; break ; case 6 : raycastOctant ( children [ flags ^ 6 ] , txm , tym , tz0 , tx1 , ty1 , tzm , raycaster , intersects ) ; currentOctant = findNextOctant ( currentOctant , tx1 , ty1 , tzm ) ; break ; case 7 : raycastOctant ( children [ flags ^ 7 ] , txm , tym , tzm , tx1 , ty1 , tz1 , raycaster , intersects ) ; // Far top right octant. No other octants can be reached from here. currentOctant = 8 ; break ; } } while ( currentOctant < 8 ) ; } } }