Пример #1
0
    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);
    }
Пример #2
0
    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);
    }