@Pure
	public Point2d getPointAt(int index) {
		final int count = getPointCount();
		int idx = index;
		if (idx < 0) {
			idx = count + idx;
		}
		if (idx < 0) {
			throw new IndexOutOfBoundsException(idx + "<0"); //$NON-NLS-1$
		}
		if (idx >= count) {
			throw new IndexOutOfBoundsException(idx + ">=" + count); //$NON-NLS-1$
		}
		return new Point2d(
				this.pointCoordinates[idx * 2],
				this.pointCoordinates[idx * 2 + 1]);
	}
@ Pure public Point2d getPointAt ( int index ) { final int count = getPointCount ( ) ; int idx = index ; if ( idx < 0 ) { idx = count + idx ; } if ( idx < 0 ) { throw new IndexOutOfBoundsException ( idx + "<0" ) ; } if ( idx >= count ) { throw new IndexOutOfBoundsException ( idx + ">=" + count ) ; } return new Point2d ( this . pointCoordinates [ idx * 2 ] , this . pointCoordinates [ idx * 2 + 1 ] ) ; }
Replies the specified point at the given index.

<p>If the <var>index</var> is negative, it will corresponds
to an index starting from the end of the list.

@param index is the index of the desired point
@return the point at the given index
@throws IndexOutOfBoundsException in case of error.