kicad-developers team mailing list archive
-
kicad-developers team
-
Mailing list archive
-
Message #00524
Last modifications in kicad sources
-
To:
kicad-devel@xxxxxxxxxxxxxxx
-
From:
jean-pierre charras <jean-pierre.charras@...>
-
Date:
Thu, 13 Sep 2007 14:53:33 +0200
-
In-reply-to:
<46D6CE52.8080508@...>
-
User-agent:
Thunderbird 1.5.0.13 (Windows/20070809)
Dick,
I have removed all modifications of the m_StructType member of
EDA_BaseStruct in kicad sources.
Virtual functions now can be used widely.
EDA_BaseStruct.GetType() now exists in all classes (i hope it) (in
eeshema and pcbnew) and is used (regardless of the definition of DEBUG) .
The old ReturnClassName and SetType() were removed.
I have removed the todo in class_board.cpp ( Why we are not using
separate lists ... ) .
Reasons are put in comments instead
Here is the comment:
// both these are on same list, so we must scan it twice in
order to get VIA priority,
// using new #else code below.
// But we are not using separate lists for TRACKs and SEGVIAs,
because items are ordered (sortered) in the linked
// list by netcode AND by physical distance:
// when created, if a track or via is connected to an existing
track or via, it is put in linked list
// after this existing track or via
// So usually, connected tracks or vias are grouped in this list
// So the algorithm (used in rastnest computations) which
computes the track connectivity is faster (more than 100 time regarding to
// a non ordered list) because when it searchs for a connexion,
first it tests the near (near in term of linked list) 50 items
// from the current item (track or via) in test.
// Usually, because of this sort, a connected item (if exists)
is found.
// If not found (and only in this case) an exhaustive (and time
consumming) search is made,
// but this case is statistically rare.
JP Charras
Follow ups
References