Eclipse Draw2d
2.1

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.
 
Method Summary
 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.
 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.
 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 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.
 
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 size)
Constructs a PointList with initial capacity size, but no points.

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

addPoint

public void addPoint(Point p)
Adds Point p to this PointList.

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)

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)

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.

Returns:
The points in the list as an array of integers.
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)

Eclipse Draw2d
2.1

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