public void moveInwardsBy(float offset){
		int type = this.getType();
		if(type == TYPE_SLOPED)
			throw new RuntimeException("Cannot move a sloped egde inwards: "+this);
		
		float xOffset = 0;
		float yOffset = 0;
		
		ShapePoint middle = getMiddle();
		GeneralPath path = owner.makeIntoPath();
		if(type == TYPE_HORIZONTAL){
			xOffset = 0;
			ShapePoint up = new ShapePoint(middle.x, middle.y - 0.05f);
			ShapePoint down = new ShapePoint(middle.x, middle.y + 0.05f);
			if(path.contains(up)) yOffset = -offset;
			else if(path.contains(down)) yOffset = offset;
		} else if(type == TYPE_VERTICAL){
			yOffset = 0;
			ShapePoint left = new ShapePoint(middle.x - 0.05f, middle.y);
			ShapePoint right = new ShapePoint(middle.x + 0.05f, middle.y);
			if(path.contains(left)) xOffset = -offset;
			else if(path.contains(right)) xOffset = offset;
		}
		if(DEBUG) System.out.println("Moved edge "+this+" by "+xOffset+", "+yOffset);
		translate(xOffset, yOffset);
	}