Planes vs polygons

I’ve been playing around with the code implementing planes, and I’m struck wondering why this is separate from polygons.

In other CAD tools, such as Allegro HDL (Concept), planes and polygons are the same thing. The board outline is a shape on the Design Outline layer, cutouts are shapes on the Design Cutouts layer, and copper planes are filled shapes on the copper layers.

Is there any appetite for merging these two concepts?

Ping @ubruhin. I’m not familiar enough with the codebase to answer that question :slight_smile:

IMHO planes are very different to polygons.

Planes:

  • Are assigned to a net, i.e. are part of the electrical circuit.
  • Require complex, net aware algorithms to calculate their fill.
  • Their outline is something “virtual”, there is actually no line drawn there. It’s just the boundary for calculating the fill.
  • Need many special properties like priority, connect style, clearance etc.

On the other side, polygons are just stupid graphical objects. They have no electrical functionality (not assigned to a net), have a simple outline, are simply filled (or not), don’t need any special properties.

Given this large difference, I don’t see a reason why their implementation should be merged. I think that would make things more complex.