Class TLcdXYZFloatBounds

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

public class TLcdXYZFloatBounds extends ALcd3DEditableBounds implements ILcd3DEditableBounds
This class provides an implementation of ILcd3DEditableBounds in the cartesian space.

This class is thread-hostile, even for read-only access, since point instances are being reused from an internal pool.

See Also:
  • Constructor Details

    • TLcdXYZFloatBounds

      public TLcdXYZFloatBounds(double aX, double aY, double aZ, double aWidth, double aHeight, double aDepth)
      Constructs and initializes a box with the specified parameters.
      Parameters:
      aX - the x coordinate of the lower left point.
      aY - the y coordinate of the lower left point.
      aZ - the z coordinate of the lower left point.
      aWidth - the width of the box.
      aHeight - the height of the box.
      aDepth - the depth of the box.
    • TLcdXYZFloatBounds

      public TLcdXYZFloatBounds()
      Constructs a new box, initialized to location (0, 0, 0) and size (0, 0, 0).

      The defined status of the instance is false.

    • TLcdXYZFloatBounds

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

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

      Parameters:
      aBounds - a box from which to copy initial values.
    • TLcdXYZFloatBounds

      public TLcdXYZFloatBounds(ILcdBounds aBounds, double aZ, double aDepth)
      Constructs a new box, initialized to match the values of the specified box.
      Parameters:
      aBounds - 2D or 3D bounds from which to copy the 2D coordinates.
      aZ - the new z coordinate of the location.
      aDepth - the new depth of the box.
    • TLcdXYZFloatBounds

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

      public TLcdXYZFloatBounds(ILcdPoint aPoint)
      Constructs a box with zero width and height at the specified point.
      Parameters:
      aPoint - the lower left point of the box.
  • 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.
    • 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.
    • getDepth

      public final double getDepth()
      Description copied from interface: ILcdBounds
      Returns the depth of the bounding box. The depth has to be larger than or equal to 0.
      Specified by:
      getDepth in interface ILcdBounds
      Overrides:
      getDepth in class ALcd2DEditableBounds
      Returns:
      0.
    • setDepth

      public void setDepth(double aDepth)
      Description copied from interface: ILcd3DEditableBounds
      Sets the depth of the bounds (the extent along the z-axis).

      If this bounds is undefined, it becomes defined.

      Specified by:
      setDepth in interface ILcd3DEditableBounds
      Parameters:
      aDepth - the new depth.
    • move3D

      public void move3D(double aX, double aY, double aZ)
      Description copied from interface: ILcd3DEditableBounds
      Moves this ILcd3DEditableShape to the given point in the 3D space. The focus point is used as the handle by which the shape is moved.

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

      Specified by:
      move3D in interface ILcd3DEditableBounds
      Specified by:
      move3D in interface ILcd3DEditableShape
      Parameters:
      aX - the x coordinate of the point.
      aY - the y coordinate of the point.
      aZ - the z coordinate of the point.
    • 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: