org.eclipse.draw2d.geometry
Class PointList
java.lang.Object
org.eclipse.draw2d.geometry.PointList
-
All Implemented Interfaces:
- java.io.Serializable,
Translatable
- public class PointList
- extends java.lang.Object
- implements java.io.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
|
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
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:
-
java.lang.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:
-
java.lang.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:
-
java.lang.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:
-
java.lang.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:
-
java.lang.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:
-
java.lang.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)
Copyright (c) IBM Corp. and others 2000, 2007. All Rights Reserved.