kicad-developers team mailing list archive
-
kicad-developers team
-
Mailing list archive
-
Message #03049
Re: PCBNEW DRC with rotated rectangular pads (partial fix in r1952)
-
To:
kicad-devel@xxxxxxxxxxxxxxx
-
From:
Jonas Diemer <diemer@...>
-
Date:
Tue, 8 Sep 2009 08:17:48 +0200
-
In-reply-to:
<4AA5F19A.3090702@...>
-
User-agent:
KMail/1.11.4 (Linux/2.6.28-15-generic; KDE/4.2.4; i686; ; )
Am Dienstag, 8. September 2009 07:54:34 schrieb jean-pierre charras - INPG:
> But the better way is to extract (and simplify) from zone to zone
> outline DRC control the code that test the distance between 2 polygon
> that is exactly what is needed here.
> see zones_test_and_combine_areas.cpp and
> BOARD::Test_Drc_Areas_Outlines_To_Areas_Outlines
You are right. I haven't looked into it yet. Currently (as of r1955 and my
local extension), I used the TestForIntersectionOfStraightLineSegments() to
test rectangular/trapezoidal pads. Seems to work well...
I yet have to extend this work to do the Oval/Circle vs Trapezoid tests, but
that can be done using GetClearanceBetweenSegments() function.
Jean-Pierre: During my "analysis" of the code, I encountered a function called
checkLine(), which tests a line against some rectangle which is stored in
DRC::m_xcliplo etc.
I think this function is really unintuitive (to be polite) as it uses some
class members to do the test. Would you object if I removed that code and used
something cleaner (as the functions I mentioned above)? Or is there any
specific reason to do it with checkLine()?
- Jonas
Follow ups
References