diff options
| author | su_v <suv-sf@users.sourceforge.net> | 2014-09-06 14:37:15 +0000 |
|---|---|---|
| committer | ~suv <suv-sf@users.sourceforge.net> | 2014-09-06 14:37:15 +0000 |
| commit | 2308a72bbb56c400d49ea75e952fbc0cfd9cac3f (patch) | |
| tree | cdb479b6ea84b1362379434d8ef7a0ab9a830bb5 /src | |
| parent | remove compiler option '-pipe' (on LiamW's request) (diff) | |
| parent | LPE Powerstroke: enable Extrapolated arc, remove Extrapolated (mirroring) (diff) | |
| download | inkscape-2308a72bbb56c400d49ea75e952fbc0cfd9cac3f.tar.gz inkscape-2308a72bbb56c400d49ea75e952fbc0cfd9cac3f.zip | |
update to trunk (r13546)
(bzr r13506.1.65)
Diffstat (limited to 'src')
| -rw-r--r-- | src/live_effects/lpe-powerstroke.cpp | 11 |
1 files changed, 5 insertions, 6 deletions
diff --git a/src/live_effects/lpe-powerstroke.cpp b/src/live_effects/lpe-powerstroke.cpp index eed564b20..b8657e165 100644 --- a/src/live_effects/lpe-powerstroke.cpp +++ b/src/live_effects/lpe-powerstroke.cpp @@ -220,12 +220,10 @@ enum LineJoinType { static const Util::EnumData<unsigned> LineJoinTypeData[] = { {LINEJOIN_BEVEL, N_("Beveled"), "bevel"}, {LINEJOIN_ROUND, N_("Rounded"), "round"}, - {LINEJOIN_EXTRP_MITER, N_("Extrapolated"), "extrapolated"}, +// {LINEJOIN_EXTRP_MITER, N_("Extrapolated"), "extrapolated"}, // disabled because doesn't work well + {LINEJOIN_EXTRP_MITER_ARC, N_("Extrapolated arc"), "extrp_arc"}, {LINEJOIN_MITER, N_("Miter"), "miter"}, {LINEJOIN_SPIRO, N_("Spiro"), "spiro"}, -#ifdef LPE_ENABLE_TEST_EFFECTS - {LINEJOIN_EXTRP_MITER_ARC, N_("Extrapolated arc"), "extrp_arc"}, -#endif }; static const Util::EnumDataConverter<unsigned> LineJoinTypeConverter(LineJoinTypeData, sizeof(LineJoinTypeData)/sizeof(*LineJoinTypeData)); @@ -407,8 +405,9 @@ static Geom::Path path_from_piecewise_fix_cusps( Geom::Piecewise<Geom::D2<Geom:: break; } case LINEJOIN_EXTRP_MITER_ARC: { - Geom::Circle circle1 = Geom::touching_circle(reverse(B[prev_i]),0.); - Geom::Circle circle2 = Geom::touching_circle(B[i],0.); + // Extrapolate using the curvature at the end of the path segments to join + Geom::Circle circle1 = Geom::touching_circle(reverse(B[prev_i]), 0.0); + Geom::Circle circle2 = Geom::touching_circle(B[i], 0.0); Geom::Point points[2]; int solutions = circle_circle_intersection(circle1, circle2, points[0], points[1]); if (solutions == 2) { |
