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. */