code: public static Geometry getFootprint(Polygon fp, double x, double y, double theta) {
  		AffineTransformation at = new AffineTransformation();
  		at.rotate(theta);
  		at.translate(x,y);
  		Geometry rect = at.transform(fp);
  		return rect;
  	}
docs: Returns a {@link Geometry} representing the footprint of a robot in a given pose.
  @param fp A polygon representing the footprint of the robot centered in (0,0)
  and appropriately oriented (can be obtained from a {@link TrajectoryEnvelope} instance
  via method {@link TrajectoryEnvelope#getFootprint()}).
  @param x The x coordinate of the pose used to create the footprint.
  @param y The y coordinate of the pose used to create the footprint.
  @param theta The orientation of the pose used to create the footprint.
  @return A {@link Geometry} representing the footprint of the robot in a given pose.