BusWireSeparate Module
Functions and values
Function or value | Description |
Full Usage:
adjustSegmentsInModel ori model lines
Parameters:
Orientation
model : Model
lines : Line list
Returns: Model
|
|
|
|
|
Function which given a cluster (loc) works out how to spread out the contained segments optimally, spacing them from other segments and symbols. Return value is a list of segments, represented as Lines, paired with where they move. lines is the source list of lines (vertical or horizontal according to which is being processed). model is the Buswire model needed to access wires. |
Full Usage:
checkExtensionNoCrossings overlap ext excludedWire info
Parameters:
float
ext : Extension
excludedWire : ConnectionId
info : LineInfo
Returns: bool
|
|
Full Usage:
checkExtensionNoOverlap overlap ext excludedWire info
Parameters:
float
ext : Extension
excludedWire : ConnectionId
info : LineInfo
Returns: bool
|
|
Full Usage:
expandCluster index searchDir lines
Parameters:
int
searchDir : LocSearchDir
lines : Line array
Returns: Cluster
|
|
|
|
|
|
Full Usage:
isSegmentExtensionOk info wire segNum ori newLength
Parameters:
LineInfo
wire : Wire
segNum : int
ori : Orientation
newLength : float
Returns: bool
|
|
|
|
|
|
|
Where two segments in lines are on the same Net and on top of each other we must NEVER separate them. This function links such segments, and marks all except the head one as a LINKEDSEG so that the clustering algorithm will ignore them. sameNetCapture specified how close segments muts be to be linked.
|
|
Scan through segments in P order creating a list of local Clusters. Within one cluster segments are adjacent and overlapping. Note that different clusters may occupy the same P values if their segments do not overlap. Segments within each cluster will be repositioned and reordered after clusters are identified. Every segment must be part of a unique cluster.
|
Full Usage:
makeLineInfo wiresToRoute model
Parameters:
ConnectionId list
model : Model
Returns: LineInfo
|
Process the symbols and wires in Model generating arrays of Horizontal and Vertical lines. In addition the inverse map is generated which can map each segmnet to the corresponding Line if that exists. Note that Lines reference segments, which contain wire Id and segment Index and can therefore be used to reference the corresponding wire via the model.Wires map.
|
Full Usage:
makeLines wiresToRoute ori model
Parameters:
ConnectionId list
ori : Orientation
model : Model
Returns: Line[]
|
|
|
|
|
|
|
|
Full Usage:
reRouteWiresFrom comps model
Parameters:
ComponentId list
model : Model
Returns: Model
|
|
Full Usage:
reSeparateWiresFrom comps model
Parameters:
ComponentId list
model : Model
Returns: Model
|
|
|
|
Full Usage:
removeModelCorners wires model
Parameters:
ConnectionId list
model : Model
Returns: Model
|
|
|
|
|
|
Full Usage:
routeAndSeparateSymbolWires model compId
Parameters:
Model
compId : ComponentId
Returns: Model
|
|
Full Usage:
segmentToLine lType ori wire seg
Parameters:
LType
ori : Orientation
wire : Wire
seg : ASegment
Returns: Line
|
|
Full Usage:
separateAndOrderModelSegments wiresToRoute model
Parameters:
ConnectionId list
model : Model
Returns: Model
|
|
Full Usage:
separateFixedSegments wiresToRoute ori model
Parameters:
ConnectionId list
ori : Orientation
model : Model
Returns: Model
|
Segments which could be moved, but would make an extra segment if moved, are marked Fixed and not moved by the normal cluster-based separation functions. This function looks at these segments and moves them a little in the special case that they overlap. It is called after the main segment separation is complete.
|
Full Usage:
separateModelSegmentsOneOrientation wiresToRoute ori model
Parameters:
ConnectionId list
ori : Orientation
model : Model
Returns: Model
|
|
Full Usage:
turnDirs line wires
Parameters:
Line
wires : Map<ConnectionId, Wire>
Returns: int * int
|
|
Full Usage:
updateWireSegmentJumpsAndSeparations wires model
Parameters:
ConnectionId list
model : Model
Returns: Model
|