Updated offset converter to remove large spikes
This commit is contained in:
parent
804e523e71
commit
dd104b0b1b
1 changed files with 9 additions and 1 deletions
|
@ -47,7 +47,7 @@ struct MAPNIK_DECL offset_converter
|
|||
offset_converter(Geometry & geom)
|
||||
: geom_(geom)
|
||||
, offset_(0.0)
|
||||
, threshold_(5.0)
|
||||
, threshold_(8.0)
|
||||
, half_turn_segments_(16)
|
||||
, status_(initial)
|
||||
, pre_first_(vertex2d::no_init)
|
||||
|
@ -266,6 +266,14 @@ private:
|
|||
double sa = offset_ * std::sin(a);
|
||||
double ca = offset_ * std::cos(a);
|
||||
double h = std::tan(0.5 * (b - a));
|
||||
if (h > 3.0)
|
||||
{
|
||||
h = 3.0;
|
||||
}
|
||||
else if (h < -3.0)
|
||||
{
|
||||
h = -3.0;
|
||||
}
|
||||
v.x = v.x + sa + h * ca;
|
||||
v.y = v.y - ca + h * sa;
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue