← Back to team overview

kicad-developers team mailing list archive

Re: Experiments and considerations for more layer

 

Lorenzo,

On Tue, 03 Sep 2013, Lorenzo Marcantonio wrote:

> On Tue, Sep 03, 2013 at 05:29:12AM -0600, Brian F. G. Bidulock wrote:
> > See my other note.  Just remember what layers things are on instead
> > of messing around with bitmasks.  So, when you place pin 1, you place
> > it in the cells occupied by its shape and clearance, and place it (by
> > reference) in the front, inner1, inner2, back copper, silk front, mask
> > front, assembly front and assembly back layer sets.
> 
> Now I got it. You keep a 'by layer' index of entities. It's a good
> solution, I agree. However when loading/saving/editing a pad (or
> computing the netlist) it's way more handy to have the list of the
> layers a pad is on, so I'd keep it around in the pad (not necessarily
> a bitmask, see other message).


That's it.  The board item doesn't have to change hardly.  It just
has a thread reference to the cells and layers to which it belongs.
The layer reference is just the m_class/m_index packed in a 32-bit
int.  A pair for vias.  This already exists in the object, the
accessors just changed slightly.  The cells are a std::set of cells
(or not, they can be recalculated when moving the object).

--brian


-- 
Brian F. G. Bidulock    � The reasonable man adapts himself to the �
bidulock@xxxxxxxxxxx    � world; the unreasonable one persists in  �
http://www.openss7.org/ � trying  to adapt the  world  to himself. �
                        � Therefore  all  progress  depends on the �
                        � unreasonable man. -- George Bernard Shaw �


References