This may be a bit off-topic but it may be worth noting that this routine (or rather, D_PAD::TransformShapeWithClearanceToPolygon) produces slightly incorrect results for oval pads with positive aClearanceValue.
```
```
On Wed, 29 Nov 2017, Tomasz Wlostowski wrote:

```
```On 29/11/17 19:09, Andreas Buhr wrote:
```
```Dear Kicad developers,

I'm new to Kicad development. Maybe you could give me some starting tips?

I am a 5th year PhD student at the university of Münster in Germany,
website:
https://www.uni-muenster.de/AMM/en/ohlberger/team/andreas_buhr.shtml

I am doing mathematical research targeted at developing solvers for 3D
Maxwell's equations in highly complex structures, such as PCBs. While
being in an early stage, the goal is to develop a signal integrity
solver which does a full-wave simulation of the electromagnetic fields
and calculates S-parameters within a very short time.

I would love to develop and test my algorithms within KiCad.

The input which my solver needs would be an array of polygons,
representing the copper-filled areas on each layer.
I then want to create a 2D triangle mesh and based on that a 3D prism
mesh for finite element analysis.

What would you recommend? How to I get polygons, representing the copper
filled areas of each layer?
I do have some experience developing C++.

best regards,
```
```
Hi Andreas,

It's absolutely fantastic to hear you're working on an SI solver and
that you want to develop it within KiCad!

For the moment, there's no one-liner way to get the entire board
geometry represented as polygons - the closest is to for each BOARD_ITEM:

BOARD_ITEM::TransformShapeWithClearanceToPolygonoid
TransformShapeWithClearanceToPolygon( SHAPE_POLY_SET& aCornerBuffer,
int aClearanceValue,
int aCircleToSegmentsCount,
double aCorrectionFactor ) const;

with aClearanceValue = 0 or 1 (= 1nm) - I'm not 100% sure if a value of
0 will be accepted and aCircleToSegments count large enough to
approximate arcs correctly.

aCornerBuffer is a SHAPE_POLY_SET object which represents a set of
polygons with holes, see qa/geometry for some example/test code.

Let me know if you need any help!

Best,
Tom

_______________________________________________
```_______________________________________________