Skip to content
Snippets Groups Projects
Commit 6713da56 authored by Max Gaukler's avatar Max Gaukler
Browse files

Revert "add public Interval class"

This reverts commit 4992a846.
parent 4992a846
No related branches found
No related tags found
No related merge requests found
/**
* This file is part of VisiCut.
* Copyright (C) 2012 Max Gaukler <development@maxgaukler.de>
*
* VisiCut is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* VisiCut is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with VisiCut. If not, see <http://www.gnu.org/licenses/>.
**/
package com.t_oster.liblasercut.platform;
/**
* Integer interval
*/
public class Interval {
private int min, max;
public Interval(int a, int b) {
this.min=Math.min(a,b);
this.max=Math.max(a,b);
}
public int getMin() {
return this.min;
}
public int getMax() {
return this.max;
}
/**
* check if this interval is subset of another one (or equal)
* @param other Interval
* @return true if this is a subset of other, or equal to it
*/
public boolean isSubsetOf(Interval other) {
return ((other.getMin() <= this.getMin()) && (other.getMax() >= this.getMax()));
}
public boolean isSupersetOf(Interval other) {
return other.isSubsetOf(this);
}
/**
* test if value is inside interval
* @param x
* @return true if value is inside [min, max] (borders included)
*/
public boolean contains(int x) {
return ((this.getMin() <= x) && (this.getMax() >= x));
}
/**
* check if the intervals intersect
* @param other
* @return true if the intervals share at least one common value
*/
public boolean intersects(Interval other) {
return this.contains(other.getMin()) || this.contains(other.getMax()) || this.isSubsetOf(other);
}
}
\ No newline at end of file
......@@ -26,6 +26,29 @@ package com.t_oster.liblasercut.platform;
public class Rectangle {
private int x1, x2, y1, y2;
private class Interval
{
private int x1,x2;
private Interval(int x1, int x2)
{
this.x1 = x1;
this.x2 = x2;
}
private boolean isSubsetOf(Interval o)
{
return o.x1 <= x1 && o.x2 >= x2;
}
private boolean intersects(Interval o)
{
return (o.x1 >= x1 && o.x1 <= x2) || (o.x2 >= x1 && o.x2 <= x2);
}
}
/**
* construct a rectangle with the corners (x1,y1) and (x2,y2)
*/
......@@ -108,14 +131,14 @@ public class Rectangle {
/**
* X interval from left to right
*/
public Interval getXInterval() {
private Interval getXInterval() {
return new Interval(x1,x2);
}
/**
* Y interval from top to bottom
*/
public Interval getYInterval() {
private Interval getYInterval() {
return new Interval(y1,y2);
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment