package org.andengine.util.adt.bounds;
import org.andengine.util.adt.spatial.bounds.util.FloatBoundsUtils;
/**
* (c) Zynga 2011
*
* @author Nicolas Gramlich <ngramlich@zynga.com>
* @since 21:48:53 - 11.10.2011
*/
public class FloatBounds implements IFloatBounds {
// ===========================================================
// Constants
// ===========================================================
// ===========================================================
// Fields
// ===========================================================
private float mXMin;
private float mYMin;
private float mXMax;
private float mYMax;
// ===========================================================
// Constructors
// ===========================================================
public FloatBounds(final float pX, final float pY) {
this.set(pX, pY);
}
public FloatBounds(final float pXMin, final float pYMin, final float pXMax, final float pYMax) {
this.set(pXMin, pYMin, pXMax, pYMax);
}
// ===========================================================
// Getter & Setter
// ===========================================================
@Override
public float getXMin() {
return this.mXMin;
}
@Override
public float getYMin() {
return this.mYMin;
}
@Override
public float getXMax() {
return this.mXMax;
}
@Override
public float getYMax() {
return this.mYMax;
}
public void set(final float pX, final float pY) {
this.set(pX, pY, pX, pY);
}
public void set(final float pXMin, final float pYMin, final float pXMax, final float pYMax) {
this.mXMin = pXMin;
this.mYMin = pYMin;
this.mXMax = pXMax;
this.mYMax = pYMax;
if(pXMin > pXMax) {
throw new IllegalArgumentException("pXMin: '" + pXMin + "' must be smaller or equal to pXMax: '" + pXMax + "'.");
}
if(pYMin > pYMax) {
throw new IllegalArgumentException("pYMin: '" + pYMin + "' must be smaller or equal to pYMax: '" + pYMax + "'.");
}
}
// ===========================================================
// Methods for/from SuperClass/Interfaces
// ===========================================================
public boolean contains(final float pX, final float pY) {
return FloatBoundsUtils.contains(this.mXMin, this.mYMin, this.mXMax, this.mYMax, pX, pY);
}
// ===========================================================
// Methods
// ===========================================================
// ===========================================================
// Inner and Anonymous Classes
// ===========================================================
}