public static FGEQuarterPlane makeFGEQuarterPlane(FGEPoint point, CardinalQuadrant quadrant) { if (quadrant == CardinalQuadrant.NORTH_EAST) { return new FGEQuarterPlane( FGEHalfPlane.makeFGEHalfPlane(point, CardinalDirection.NORTH), FGEHalfPlane.makeFGEHalfPlane(point, CardinalDirection.EAST)); } else if (quadrant == CardinalQuadrant.NORTH_WEST) { return new FGEQuarterPlane( FGEHalfPlane.makeFGEHalfPlane(point, CardinalDirection.NORTH), FGEHalfPlane.makeFGEHalfPlane(point, CardinalDirection.WEST)); } else if (quadrant == CardinalQuadrant.SOUTH_EAST) { return new FGEQuarterPlane( FGEHalfPlane.makeFGEHalfPlane(point, CardinalDirection.SOUTH), FGEHalfPlane.makeFGEHalfPlane(point, CardinalDirection.EAST)); } else /* quadrant == CardinalQuadrant.SOUTH_WEST */ { return new FGEQuarterPlane( FGEHalfPlane.makeFGEHalfPlane(point, CardinalDirection.SOUTH), FGEHalfPlane.makeFGEHalfPlane(point, CardinalDirection.WEST)); } }
@Override public FGEQuarterPlane transform(AffineTransform t) { return new FGEQuarterPlane(halfPlane1.transform(t), halfPlane2.transform(t)); }
@Override public boolean containsPoint(FGEPoint p) { return halfPlane1.containsPoint(p) && halfPlane2.containsPoint(p); }
@Override public String toString() { return "FGEQuarterPlane: " + halfPlane1.toString() + " " + halfPlane2.toString(); }