Esempio n. 1
0
 /**
  * Will insert a point in the polygon after given point
  *
  * @param a
  * @param b
  * @param p
  */
 public void insertPointAfter(PolygonPoint a, PolygonPoint newPoint) {
   // Validate that
   int index = _points.indexOf(a);
   if (index != -1) {
     newPoint.setNext(a.getNext());
     newPoint.setPrevious(a);
     a.getNext().setPrevious(newPoint);
     a.setNext(newPoint);
     _points.add(index + 1, newPoint);
   } else {
     throw new RuntimeException(
         "Tried to insert a point into a Polygon after a point not belonging to the Polygon");
   }
 }
Esempio n. 2
0
  public void removePoint(PolygonPoint p) {
    PolygonPoint next, prev;

    next = p.getNext();
    prev = p.getPrevious();
    prev.setNext(next);
    next.setPrevious(prev);
    _points.remove(p);
  }
Esempio n. 3
0
 public void addPoints(List<PolygonPoint> list) {
   PolygonPoint first;
   for (PolygonPoint p : list) {
     p.setPrevious(_last);
     if (_last != null) {
       p.setNext(_last.getNext());
       _last.setNext(p);
     }
     _last = p;
     _points.add(p);
   }
   first = (PolygonPoint) _points.get(0);
   _last.setNext(first);
   first.setPrevious(_last);
 }
Esempio n. 4
0
 /**
  * Will add a point after the last point added
  *
  * @param p
  */
 public void addPoint(PolygonPoint p) {
   p.setPrevious(_last);
   p.setNext(_last.getNext());
   _last.setNext(p);
   _points.add(p);
 }