public bool contains(PTwo point) { if (!span.contains(point.s)) { return(false); } if (startRange.contains(point.t)) { if (endRange.contains(point.t)) { return(true); } else { // TODO: fill in better math int distToStart = point.s - span.start; return(distToStart < (span.range - distToStart)); } } else { if (endRange.contains(point.t)) { int distToStart = point.s - span.start; return(distToStart > (span.range - distToStart)); } } return(false); }
public int shortestDifferenceWith(int y, int z) { // slightly cheapo SimpleRange compareRange = this.lightLevelTrapezoid.heightAt(z); // this.startRange; // if (z > this.spanStart + this.spanRange/2) // compareRange = this.endRange; if (compareRange.contains(y)) { return(0); } if (y > compareRange.start) // y is above entire range { return(compareRange.extent() - y); } return(compareRange.start - y); }