Eclipse Draw2d 3.3

## org.eclipse.draw2d.geometry
Class PointList

    java.lang.Object
      org.eclipse.draw2d.geometry.PointList

All Implemented Interfaces:
  Serializable, Translatable

    public class PointList

extends Object
implements Serializable, Translatable

Represents a List of Points. This class is used for building an `int[]`. The array is internal, and is constructed and queried by the client using `Points`. SWT uses integer arrays when painting polylines and polygons.

See Also:
  Serialized Form

Constructor Summary
`PointList()` Constructs an empty PointList.
`PointList(int size)` Constructs a PointList with initial capacity size, but no points.
`PointList(int[] points)` Constructs a PointList with the given points.

Method Summary
`void` `addAll(PointList source)` Appends all of the given points to this PointList.
`void` `addPoint(int x, int y)` Adds the input point values to this PointList.
`void` `addPoint(Point p)` Adds Point p to this PointList.
`Rectangle` `getBounds()` Returns the smallest Rectangle which contains all Points.
`PointList` `getCopy()` Creates a copy
`Point` `getFirstPoint()` Returns the first Point in the list.
`Point` `getLastPoint()` Returns the last point in the list.
`Point` `getMidpoint()` Returns the midpoint of the list of Points.
`Point` `getPoint(int index)` Returns the Point in the list at the specified index.
`Point` `getPoint(Point p, int index)` Copies the x and y values at given index into a specified Point.
`void` `insertPoint(Point p, int index)` Inserts a given point at a specified index.
`boolean` `intersects(Rectangle r)` Determines whether any of the line segments represented by this PointList intersect the given Rectangle.
`void` `performScale(double factor)` Scales this object by the scale factor.
`void` `performTranslate(int dx, int dy)` Translates this object horizontally by `dx` and vertically by `dy`.
`boolean` `polygonContainsPoint(int x, int y)`
`boolean` `polylineContainsPoint(int x, int y, int tolerance)`
`void` `removeAllPoints()` Removes all the points stored by this list.
`Point` `removePoint(int index)` Removes the point at the specified index from the PointList, and returns it.
`void` `reverse()` Reverses the order of the points in the list.
`void` `setPoint(Point pt, int index)` Overwrites a point at a given index in the list with the specified Point.
`void` `setSize(int newSize)` Sets the size of this PointList.
`int` `size()` Returns the number of points in this PointList.
`int[]` `toIntArray()` Returns the contents of this PointList as an integer array.
`void` `translate(int x, int y)` Moves the origin (0,0) of the coordinate system of all the points to the Point (x,y).
`void` `translate(Point pt)` Moves the origin (0,0) of the coordinate system of all the points to the Point pt.
`void` `transpose()` Transposes all x and y values.

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### PointList

    public PointList()

  Constructs an empty PointList.

  Since:
    2.0

### PointList

    public PointList(int[] points)

  Constructs a PointList with the given points.

  Parameters:
    `points` - int array where two consecutive ints form the coordinates of a point
  Since:
    3.1

### PointList

    public PointList(int size)

  Constructs a PointList with initial capacity size, but no points.

  Parameters:
    `size` - Number of points to hold.
  Since:
    2.0

Method Detail

### addAll

    public void addAll(PointList source)

  Appends all of the given points to this PointList.

  Parameters:
    `source` - the source pointlist

### addPoint

    public void addPoint(Point p)

  Adds Point p to this PointList.

  Parameters:
    `p` - the point to be added
  Since:
    2.0
  See Also:
    `removePoint(int)`

### addPoint

    public void addPoint(int x,
                         int y)

  Adds the input point values to this PointList.

  Parameters:
    `x` - X value of a point to add
    `y` - Y value of a point to add
  Since:
    2.0

### getBounds

    public Rectangle getBounds()

  Returns the smallest Rectangle which contains all Points.

  Returns:
    The smallest Rectangle which contains all Points.
  Since:
    2.0

### getCopy

    public PointList getCopy()

  Creates a copy

  Returns:
    PointList A copy of this PointList

### getFirstPoint

    public Point getFirstPoint()

  Returns the first Point in the list.

  Returns:
    The first point in the list.
  Throws:
    `IndexOutOfBoundsException` - if the list is empty
  Since:
    2.0

### getLastPoint

    public Point getLastPoint()

  Returns the last point in the list.

  Returns:
    The last Point in the list
  Throws:
    `IndexOutOfBoundsException` - if the list is empty
  Since:
    2.0

### getMidpoint

    public Point getMidpoint()

  Returns the midpoint of the list of Points. The midpoint is the median of the List, unless there are 2 medians (size is even), then the middle of the medians is returned.

  Returns:
    The midpoint
  Throws:
    `IndexOutOfBoundsException` - if the list is empty

### getPoint

    public Point getPoint(int index)

  Returns the Point in the list at the specified index.

  Parameters:
    `index` - Index of the desired Point
  Returns:
    The requested Point
  Throws:
    `IndexOutOfBoundsException` - If the specified index is out of range
  Since:
    2.0

### getPoint

    public Point getPoint(Point p,
                          int index)

  Copies the x and y values at given index into a specified Point. This method exists to avoid the creation of a new `Point`.

  Parameters:
    `p` - The Point which will be set with the <x, y> values
    `index` - The index being requested
  Returns:
    The parameter `p` is returned for convenience
  Since:
    2.0
  See Also:
    `getPoint(int)`

### insertPoint

    public void insertPoint(Point p,
                            int index)

  Inserts a given point at a specified index.

  Parameters:
    `p` - Point to be inserted.
    `index` - Position where the point is to be inserted.
  Throws:
    `IndexOutOfBoundsException` - if the index is invalid
  Since:
    2.0
  See Also:
    `setPoint(Point, int)`

### intersects

    public boolean intersects(Rectangle r)

  Determines whether any of the line segments represented by this PointList intersect the given Rectangle. If a segment touches the given rectangle, that's considered intersection.

  Parameters:
    `r` - the rectangle
  Returns:
    `true` if the given rectangle intersects any of the line segments represented by this PointList
  Since:
    3.1

### performScale

    public void performScale(double factor)

  Description copied from interface: `Translatable`
  Scales this object by the scale factor.

  Specified by:
    `performScale` in interface `Translatable`
  Parameters:
    `factor` - The scale factor
  See Also:
    `Translatable.performScale(double)`

### performTranslate

    public void performTranslate(int dx,
                                 int dy)

  Description copied from interface: `Translatable`
  Translates this object horizontally by `dx` and vertically by `dy`.

  Specified by:
    `performTranslate` in interface `Translatable`
  Parameters:
    `dx` - The amount to translate horizontally
    `dy` - The amount to translate vertically
  See Also:
    `Translatable.performTranslate(int, int)`

### removeAllPoints

    public void removeAllPoints()

  Removes all the points stored by this list. Resets all the properties based on the point information.

  Since:
    2.0

### removePoint

    public Point removePoint(int index)

  Removes the point at the specified index from the PointList, and returns it.

  Parameters:
    `index` - Index of the point to be removed.
  Returns:
    The point which has been removed
  Throws:
    `IndexOutOfBoundsException` - if the removal index is beyond the list capacity
  Since:
    2.0
  See Also:
    `addPoint(Point)`

### reverse

    public void reverse()

  Reverses the order of the points in the list.

  Since:
    3.2

### setPoint

    public void setPoint(Point pt,
                         int index)

  Overwrites a point at a given index in the list with the specified Point.

  Parameters:
    `pt` - Point which is to be stored at the index.
    `index` - Index where the given point is to be stored.
  Since:
    2.0

### setSize

    public void setSize(int newSize)

  Sets the size of this PointList.

  Parameters:
    `newSize` - the new size

### size

    public int size()

  Returns the number of points in this PointList.

  Returns:
    The number of points
  Since:
    2.0

### toIntArray

    public int[] toIntArray()

  Returns the contents of this PointList as an integer array. The returned array is by reference. Any changes made to the array will also be changing the original PointList.

  Returns:
    the integer array of points by reference
  Since:
    2.0

### translate

    public final void translate(Point pt)

  Moves the origin (0,0) of the coordinate system of all the points to the Point pt. This updates the position of all the points in this PointList.

  Parameters:
    `pt` - Position by which all the points will be shifted.
  Since:
    2.0
  See Also:
    `translate(int,int)`

### translate

    public void translate(int x,
                          int y)

  Moves the origin (0,0) of the coordinate system of all the points to the Point (x,y). This updates the position of all the points in this PointList.

  Parameters:
    `x` - Amount by which all the points will be shifted on the X axis.
    `y` - Amount by which all the points will be shifted on the Y axis.
  Since:
    2.0
  See Also:
    `translate(Point)`

### transpose

    public void transpose()

  Transposes all x and y values. Useful for orientation changes.

  Since:
    3.2

### polygonContainsPoint

    public boolean polygonContainsPoint(int x,
                                        int y)

  Parameters:
    `x` - - X coordinate of the point
    `y` - - Y coordinate of the point
  Returns:
    true if specified point belongs to the polygon drawn using this PointList
  Since:
    3.5
  See Also:
    `Geometry.polygonContainsPoint(PointList, int, int)`

### polylineContainsPoint

    public boolean polylineContainsPoint(int x,
                                         int y,
                                         int tolerance)

  Parameters:
    `x` - - X coordinate of the point
    `y` - - Y coordinate of the point
    `tolerance` - - allowed distance between point and polyline segment
  Returns:
    true if the least distance between specified point and polyline drawn using this PointList is less then specified tolerance
  Since:
    3.5
  See Also:
    `Geometry.polylineContainsPoint(PointList, int, int, int)`

Eclipse Draw2d 3.3

Copyright (c) IBM Corp. and others 2000, 2007. All Rights Reserved.