boolean detectNodeRemovedForAllEncoders ( EdgeExplorer edgeExplorerAllEdges , int nodeIndex ) { // we could implement a 'fast check' for several previously marked removed nodes via GHBitSet // removedNodesPerVehicle. The problem is that we would need long-indices but BitSet only supports int (due to nodeIndex*numberOfEncoders) // if no edges are reachable return true EdgeIterator iter = edgeExplorerAllEdges . setBaseNode ( nodeIndex ) ; while ( iter . next ( ) ) { // if at least on encoder allows one direction return false for ( BooleanEncodedValue accessEnc : accessEncList ) { if ( iter . get ( accessEnc ) || iter . getReverse ( accessEnc ) ) return false ; } } return true ; }
This method checks if the node is removed or inaccessible for ALL encoders .