David Neary wrote:
> So here goes... could people comment on whether they think these
> are pretty crap, or whether people reckon these might be better
> as defaults? Cheers. By the way, for those that don't know, to
> bring up the menu, Shift-Click on the selection-to-path button in
> the paths dialog while there's a selection active.

As requested, here's a patch against 1.3 (same patch works
unchanged against 1.2) for people to try.

Cheers,
Dave.

-- 
       David Neary,
    Marseille, France
  E-Mail: [EMAIL PROTECTED]
Index: plug-ins/sel2path/fit.c
===================================================================
RCS file: /cvs/gnome/gimp/plug-ins/sel2path/fit.c,v
retrieving revision 1.6
diff -u -r1.6 fit.c
--- plug-ins/sel2path/fit.c     22 May 2000 17:10:23 -0000      1.6
+++ plug-ins/sel2path/fit.c     22 Oct 2002 14:17:47 -0000
@@ -34,7 +34,7 @@
 
 /* If two endpoints are closer than this, they are made to be equal.
    (-align-threshold)  */ 
-real align_threshold = 0.5;
+real align_threshold = 1.0;
 
 /* If the angle defined by a point and its predecessors and successors
    is smaller than this, it's a corner, even if it's within
@@ -55,7 +55,7 @@
    pixel is further away than this from the fitted curve, we try again.
    (-error-threshold) */
 /* real error_threshold = .8; ALT */
-real error_threshold = .4;
+real error_threshold = 1.0;
 
 /* A second number of adjacent points to consider when filtering.
    (-filter-alternative-surround)  */
@@ -71,7 +71,7 @@
    results.  But if any points that ``should'' be corners aren't found,
    the curve goes to hell around that point.  (-filter-iterations)  */
 /* unsigned filter_iteration_count = 4; ALT */
-unsigned filter_iteration_count = 4;
+unsigned filter_iteration_count = 10;
 
 /* To produce the new point, use the old point plus this times the
    neighbors.  (-filter-percent)  */
@@ -79,11 +79,11 @@
 
 /* Number of adjacent points to consider if `filter_surround' points
    defines a straight line.  (-filter-secondary-surround)  */
-unsigned filter_secondary_surround = 3;
+unsigned filter_secondary_surround = 5;
 
 /* Number of adjacent points to consider when filtering.
   (-filter-surround)  */
-unsigned filter_surround = 2;
+unsigned filter_surround = 3;
 
 /* Says whether or not to remove ``knee'' points after finding the outline. 
    (See the comments at `remove_knee_points'.)  (-remove-knees).  */
@@ -93,7 +93,7 @@
    straight line, even if it would otherwise be changed back to a curve.
    This is weighted by the square of the curve length, to make shorter
    curves more likely to be reverted.  (-line-reversion-threshold)  */
-real line_reversion_threshold = .01;
+real line_reversion_threshold = .1;
 
 /* How many pixels (on the average) a spline can diverge from the line
    determined by its endpoints before it is changed to a straight line.
@@ -104,7 +104,7 @@
 /* If reparameterization doesn't improve the fit by this much percent,
    stop doing it.  (-reparameterize-improve)  */
 /* real reparameterize_improvement = .10; ALT */
-real reparameterize_improvement = .01;
+real reparameterize_improvement = .10;
 
 /* Amount of error at which it is pointless to reparameterize.  This
    happens, for example, when we are trying to fit the outline of the
@@ -117,19 +117,19 @@
 
 /* Percentage of the curve away from the worst point to look for a
    better place to subdivide.  (-subdivide-search)  */
-real subdivide_search = .1;
+real subdivide_search = .25;
 
 /* Number of points to consider when deciding whether a given point is a
    better place to subdivide.  (-subdivide-surround)  */
-unsigned subdivide_surround = 4;
+unsigned subdivide_surround = 6;
 
 /* How many pixels a point can diverge from a straight line and still be
    considered a better place to subdivide.  (-subdivide-threshold) */
-real subdivide_threshold = .03;
+real subdivide_threshold = .5;
 
 /* Number of points to look at on either side of a point when computing
    the approximation to the tangent at that point.  (-tangent-surround)  */
-unsigned tangent_surround = 3;
+unsigned tangent_surround = 4;
 
 
 /* We need to manipulate lists of array indices.  */

Reply via email to