Opened 6 years ago

Last modified 2 years ago

#805 new defect

Buffered corners exceeding mitre limit should behave the same as a bevel

Reported by: MShepherd Owned by: strk
Priority: major Milestone: 3.6.6
Component: Core Version: 3.6.0
Severity: Unassigned Keywords:
Cc:

Description

Buffering on a corner that exceeds the mitre limit (in JOIN_MITRE mode) does not produce the same results as a bevel.

From the doc for BufferParameters::setMitreLimit(): "Corners with a ratio which exceed the limit will be beveled."

With a join style of JOIN_MITRE, the edges connected to a "bevelled" corner (one which exceeds the mitreLimit) do not lie parallel to the edges of the original input.

With a join style of JOIN_BEVEL, the edges connected to a bevelled corner do lie parallel to the edges from the original input.

In both modes, the edges connected to the new corner should be parallel to the edges from the original input.

Please see attached C++ repro.

Attachments (1)

mitreBug.cpp (1.9 KB ) - added by MShepherd 6 years ago.
A C++ file that shows the bug.

Download all attachments as: .zip

Change History (5)

by MShepherd, 6 years ago

Attachment: mitreBug.cpp added

A C++ file that shows the bug.

comment:1 by strk, 6 years ago

Milestone: 3.6.13.6.2

Ticket retargeted after milestone closed

comment:2 by strk, 5 years ago

Milestone: 3.6.23.6.3

Ticket retargeted after milestone closed

comment:3 by robe, 4 years ago

Milestone: 3.6.33.6.4

comment:4 by strk, 2 years ago

Milestone: 3.6.43.6.6

Ticket retargeted after milestone closed

Note: See TracTickets for help on using tickets.