BiPartitionProjection.java
package org.heigit.ors.fastisochrones.partitioning;
import com.carrotsearch.hppc.IntArrayList;
import java.util.Map;
/**
* Helper class for keeping track of a node partitioning projections based on IntHashSets.
*
* @author Hendrik Leuschner
*/
class BiPartitionProjection {
private final Map<Projector.Projection, IntArrayList> projection0;
private final Map<Projector.Projection, IntArrayList> projection1;
public BiPartitionProjection(Map<Projector.Projection, IntArrayList> partition0, Map<Projector.Projection, IntArrayList> partition1) {
this.projection0 = partition0;
this.projection1 = partition1;
}
public Map<Projector.Projection, IntArrayList> getProjection(int projectionNumber) {
if (projectionNumber != 0 && projectionNumber != 1)
throw new IllegalArgumentException("Only 2 projections supported.");
return projectionNumber == 0 ? projection0 : projection1;
}
}