Class TLcdXYFloatBounds

All Implemented Interfaces:
ILcdBounded, ILcdBounds, ILcdShape, ILcd2DEditableBounds, ILcd2DEditableShape, ILcdCloneable, Serializable, Cloneable

public class TLcdXYFloatBounds extends ALcd2DEditableBounds implements ILcd2DEditableBounds
This class provides an implementation of ILcd2DEditableBounds in the cartesian space.

This class is thread-safe for read-only access.

See Also:
  • Constructor Details

    • TLcdXYFloatBounds

      public TLcdXYFloatBounds(float aX, float aY, float aWidth, float aHeight)
      Constructs and initializes a rectangle with the specified parameters.
      Parameters:
      aX - the x coordinate of the lower left point (smallest x).
      aY - the y coordinate of the lower left point (smallest y).
      aWidth - the width of the rectangle.
      aHeight - the height of the rectangle.
    • TLcdXYFloatBounds

      public TLcdXYFloatBounds(double aX, double aY, double aWidth, double aHeight)
      Constructs and initializes a rectangle with the specified parameters.
      Parameters:
      aX - the x coordinate of the lower left point (smallest x value).
      aY - the y coordinate of the lower left point (smallest y value).
      aWidth - the width of the rectangle.
      aHeight - the height of the rectangle.
    • TLcdXYFloatBounds

      public TLcdXYFloatBounds()
      Constructs a new rectangle, initialized to location (0, 0) and size (0, 0).

      The defined status of the instance is false.

    • TLcdXYFloatBounds

      public TLcdXYFloatBounds(ILcdBounds aBounds)
      Constructs a new rectangle, initialized to match the values of the specified rectangle.

      The defined status of the instance is also copied from the specified bounds.

      Parameters:
      aBounds - a rectangle from which to copy initial values.
    • TLcdXYFloatBounds

      public TLcdXYFloatBounds(ILcdPoint aPoint, double aWidth, double aHeight)
      Constructs a rectangle and initializes it to the specified point.
      Parameters:
      aPoint - the lower left point of the rectangle.
      aWidth - the width of the rectangle.
      aHeight - the height of the rectangle.
    • TLcdXYFloatBounds

      public TLcdXYFloatBounds(ILcdPoint aPoint)
      Constructs a rectangle with zero width and height at the specified point.
      Parameters:
      aPoint - the lower left point of the rectangle.
    • TLcdXYFloatBounds

      public TLcdXYFloatBounds(Rectangle aRectangle)
      Constructs a rectangle and initializes it with the values of an AWT rectangle.
      Parameters:
      aRectangle - AWT rectangle.
  • Method Details

    • getLocation

      public final ILcdPoint getLocation()
      Description copied from interface: ILcdBounds
      Returns the location of the bounding box (smallest x and y coordinates).
      Specified by:
      getLocation in interface ILcdBounds
      Returns:
      the location of the bounding box.
    • getMinX

      public double getMinX()
      Description copied from interface: ILcdBounds
      Returns the minimum X value (left boundary) of this bounds.

      By default, this does getLocation.getX(), but can be overridden for performance.

      Specified by:
      getMinX in interface ILcdBounds
      Returns:
      the minimum X boundary
      See Also:
    • getMinY

      public double getMinY()
      Description copied from interface: ILcdBounds
      Returns the minimum Y value (lower boundary) of this bounds.

      By default, this does getLocation.getY(), but can be overridden for performance.

      Specified by:
      getMinY in interface ILcdBounds
      Returns:
      the minimum Y boundary
      See Also:
    • getMinZ

      public double getMinZ()
      Description copied from interface: ILcdBounds
      Returns the minimum Z value (bottom boundary) of this bounds.

      By default, this does getLocation.getZ(), but can be overridden for performance.

      Specified by:
      getMinZ in interface ILcdBounds
      Returns:
      the minimum Z boundary
      See Also:
    • getMaxX

      public double getMaxX()
      Description copied from interface: ILcdBounds
      Returns the maximum X value (right boundary) of this bounds.

      By default, this does getLocation.getX() + getWidth(), but can be overridden for performance.

      Note that this is a derived property, the bounds are defined by their lower-left corner and width/height.

      For geodetic bounds, the returned value is not necessarily normalized to [-180, 180].

      Specified by:
      getMaxX in interface ILcdBounds
      Returns:
      the maximum X boundary
      See Also:
    • getMaxY

      public double getMaxY()
      Description copied from interface: ILcdBounds
      Returns the maximum Y value (upper boundary) of this bounds.

      By default, this does getLocation.getY() + getHeight(), but can be overridden for performance.

      Note that this is a derived property, the bounds are defined by their lower-left corner and width/height.

      Specified by:
      getMaxY in interface ILcdBounds
      Returns:
      the maximum Y boundary
      See Also:
    • getMaxZ

      public double getMaxZ()
      Description copied from interface: ILcdBounds
      Returns the maximum Z value (top boundary) of this bounds.

      By default, this does getLocation.getZ() + getDepth(), but can be overridden for performance.

      Note that this is a derived property, the bounds are defined by their lower-left corner and width/height.

      Specified by:
      getMaxZ in interface ILcdBounds
      Returns:
      the maximum Z boundary
      See Also:
    • getWidth

      public final double getWidth()
      Description copied from interface: ILcdBounds
      Returns the width of the bounding box. The width has to be larger than or equal to 0.
      Specified by:
      getWidth in interface ILcdBounds
      Returns:
      the width of the bounding box.
    • setWidth

      public void setWidth(double aWidth)
      Description copied from interface: ILcd2DEditableBounds
      Sets the width of the bounds (the extent along the x-axis).

      If this bounds was undefined, it becomes defined.

      Specified by:
      setWidth in interface ILcd2DEditableBounds
      Parameters:
      aWidth - the new width.
    • getHeight

      public final double getHeight()
      Description copied from interface: ILcdBounds
      Returns the height of the bounding box. The height has to be larger than or equal to 0.
      Specified by:
      getHeight in interface ILcdBounds
      Returns:
      the height of the bounding box.
    • setHeight

      public void setHeight(double aHeight)
      Description copied from interface: ILcd2DEditableBounds
      Sets the height of the bounds (the extent along the y-axis).

      If this bounds was undefined, it becomes defined.

      Specified by:
      setHeight in interface ILcd2DEditableBounds
      Parameters:
      aHeight - the new height.
    • move2D

      public void move2D(double aX, double aY)
      Description copied from interface: ILcd2DEditableBounds
      Moves this ILcd2DEditableShape to the given point in the 2D space. The focus point is used as the handle by which the shape is moved. Only the first two dimensions of the ILcdShape are considered. The third dimension is left unchanged.

      If this bounds was undefined, it becomes defined after the move.

      Specified by:
      move2D in interface ILcd2DEditableBounds
      Specified by:
      move2D in interface ILcd2DEditableShape
      Parameters:
      aX - the x coordinate of the point.
      aY - the y coordinate of the point.
    • make2DEditableBoundsSFCT

      public static void make2DEditableBoundsSFCT(ILcdPoint[] aPointArray, ILcd2DEditableBounds a2DEditableBoundsSFCT)
    • retrieveAWTRectangleSFCT

      public void retrieveAWTRectangleSFCT(Rectangle aRectangleSFCT)
      Adapts an AWT Rectangle so that it contains the given rectangle.
      Parameters:
      aRectangleSFCT - the rectangle to adapt.
    • clone

      public Object clone()
      Description copied from class: ALcdShape
      Creates and returns a copy of this object, by delegating to Object.clone(). Extensions should delegate to this implementation with super.clone(), in order to create an object instance of the right type, with all fields copied. They then should explicitly clone any non-primitive fields for which a deeper clone is required.
      Specified by:
      clone in interface ILcdCloneable
      Overrides:
      clone in class ALcdShape
      See Also:
    • cloneAs2DEditableBounds

      public ILcd2DEditableBounds cloneAs2DEditableBounds()
      Description copied from interface: ILcdBounds
      Returns a copy of this ILcdBounds object that is also an ILcd2DEditableBounds. This makes sure that the first two dimensions of the copy are writable, even if the original ILcdBounds object may be read-only.
      Specified by:
      cloneAs2DEditableBounds in interface ILcdBounds
      Returns:
      a copy of this ILcdBounds object that is also an ILcd2DEditableBounds. This makes sure that the first two dimensions of the copy are writable, even if the original ILcdBounds object may be read-only.
      See Also:
    • cloneAs3DEditableBounds

      public ILcd3DEditableBounds cloneAs3DEditableBounds()
      Description copied from interface: ILcdBounds
      Returns a copy of this ILcdBounds object that is also an ILcd3DEditableBounds. This makes sure that all three dimensions of the copy are writable, even if the original ILcdBounds object may be read-only.
      Specified by:
      cloneAs3DEditableBounds in interface ILcdBounds
      Returns:
      a copy of this ILcdBounds object that is also an ILcd3DEditableBounds. This makes sure that all three dimensions of the copy are writable, even if the original ILcdBounds object may be read-only.
      See Also: