code: public void curveTo(float x, float y, float cx1, float cy1, float cx2, float cy2, int segments) {
  		// special case for zero movement
  		if ((cx == x) && (cy == y)) {
  			return;
  		}
  		
  		Curve curve = new Curve(new Vector2f(cx,cy),new Vector2f(cx1,cy1),new Vector2f(cx2,cy2),new Vector2f(x,y));
  		float step = 1.0f / segments;
  		
  		for (int i=1;i<segments+1;i++) {
  			float t = i * step;
  			Vector2f p = curve.pointAt(t);
  			if (hole != null) {
  				hole.add(new float[] {p.x,p.y});
  			} else {
  				localPoints.add(new float[] {p.x,p.y});
  			}
  			cx = p.x;
  			cy = p.y;
  		}
  		pointsDirty = true;
  	}
docs: Add a curve to the specified location (specifing the number of segments)
  
  @param x The destination x coordinate
  @param y The destination y coordiante
  @param cx1 The x coordiante of the first control point
  @param cy1 The y coordiante of the first control point
  @param cx2 The x coordinate of the second control point
  @param cy2 The y coordinate of the second control point
  @param segments The number of segments to use for the new curve