Class TLcdXYZFloatPolypoint

All Implemented Interfaces:
ILcdBounded, ILcdPointList, ILcdPolypoint, ILcdShape, ILcd2DEditablePointList, ILcd2DEditablePolypoint, ILcd2DEditableShape, ILcd3DEditablePointList, ILcd3DEditablePolypoint, ILcd3DEditableShape, ILcdCloneable, Serializable, Cloneable

public class TLcdXYZFloatPolypoint extends ALcd3DEditableFloatPolypoint implements ILcd3DEditablePolypoint
This class provides an implementation of ILcd3DEditablePolypoint in the cartesian space with a reduced memory footprint.

It uses an array of floats instead of a TLcd3DEditablePointList of ILcd3DEditablePoint objects. A single array of floats stores the 3D coordinates. The points are stored as (x,y,z) triplets.

The array can also contain the bounds of the polypoint in the last 6 places. Whether or not this is the case is controlled by a boolean passed at construction time. These bounds are then stored as (x,y,z)(width,height,depth).

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

See Also:
  • Constructor Details

    • TLcdXYZFloatPolypoint

      public TLcdXYZFloatPolypoint()
      Constructs an empty polypoint, containing zero points. No space is reserved to store the bounds of the polypoint.
    • TLcdXYZFloatPolypoint

      public TLcdXYZFloatPolypoint(float[] aCoordinates, boolean aHasBounds, boolean aBoundsInitialized, boolean aClone)
      Constructs an XYZ polypoint with the points as given in the array. If aHasBounds is true, the last 6 entries of the array will be used to store the bounds of the polypoint.
      Parameters:
      aCoordinates - an array containing the coordinates of the points and possibly the bounds of the polypoint.
      aHasBounds - whether to reserve the last 6 entries of the array for the bounds of the polypoint or not.
      aBoundsInitialized - whether the last 6 entries of the array passed represent the calculated values of the bounds of the polypoint or not. This is only of importance when aHasBounds is true.
      aClone - whether the array containing the coordinates (and possibly the bounds) should be cloned.
    • TLcdXYZFloatPolypoint

      public TLcdXYZFloatPolypoint(TLcdXYZFloatPolypoint aXYZFloatPolypoint)
      Clones the array of the polypoint passed and interprets the its values alike (containing bounds or not).
      Parameters:
      aXYZFloatPolypoint - the polypoint to assume all values from.
  • Method Details