mirror of
https://github.com/bancika/diy-layout-creator
synced 2026-11-10 17:22:09 +10:00
Potentiometer bodies are no longer considered as conductive surfaces to avoid unwanted shorts
This commit is contained in:
@@ -353,7 +353,7 @@ public class NetlistBuilder {
|
||||
|
||||
areaTree.search(area.getArea()).stream().filter(graphNode -> {
|
||||
if (graphNode.getArea() != null && graphNode.getArea() != area
|
||||
&& graphNode.getArea().getLayerId() == area.getLayerId()) {
|
||||
&& (graphNode.getArea().getLayerId() == 0 || area.getLayerId() == 0 || graphNode.getArea().getLayerId() == area.getLayerId())) {
|
||||
Area a = new Area(graphNode.getArea().getArea());
|
||||
a.intersect(area.getArea());
|
||||
return !a.isEmpty();
|
||||
@@ -366,8 +366,7 @@ public class NetlistBuilder {
|
||||
areaTree.insert(area.getArea(), areaNode);
|
||||
}
|
||||
|
||||
for (Map.Entry<Point2D, List<ProjectGraphNode>> entry : nodeMapByPoint.entrySet()) {
|
||||
|
||||
for (Map.Entry<Point2D, List<ProjectGraphNode>> entry : nodeMapByPoint.entrySet()) {
|
||||
final Point2D point = entry.getKey();
|
||||
|
||||
List<ProjectGraphNode> candidateAreaNodes = areaTree.search(point, eps).stream()
|
||||
@@ -381,16 +380,20 @@ public class NetlistBuilder {
|
||||
|
||||
for (ProjectGraphNode pointNode : entry.getValue()) {
|
||||
|
||||
List<ProjectGraphNode> areaNodesBelowPoint = candidateAreaNodes.stream()
|
||||
.filter(x -> x.getArea().getZIndex() <= pointNode.getZIndex())
|
||||
.sorted(Comparator.comparing(x -> x.getArea().getZIndex(), Comparator.reverseOrder()))
|
||||
.collect(Collectors.toList());
|
||||
// List<ProjectGraphNode> areaNodes = candidateAreaNodes.stream()
|
||||
// .filter(x -> x.getArea().getZIndex() <= pointNode.getZIndex())
|
||||
//// .sorted(Comparator.comparing(x -> x.getArea().getZIndex(), Comparator.reverseOrder()))
|
||||
// .collect(Collectors.toList());
|
||||
|
||||
if (areaNodesBelowPoint.isEmpty()) {
|
||||
builder.putEdge(pointNode, candidateAreaNodes.get(0));
|
||||
} else {
|
||||
builder.putEdge(pointNode, areaNodesBelowPoint.get(0));
|
||||
for (ProjectGraphNode areaNode : candidateAreaNodes) {
|
||||
builder.putEdge(pointNode, areaNode);
|
||||
}
|
||||
|
||||
// if (areaNodesBelowPoint.isEmpty()) {
|
||||
// builder.putEdge(pointNode, candidateAreaNodes.get(0));
|
||||
// } else {
|
||||
// builder.putEdge(pointNode, areaNodesBelowPoint.get(0));
|
||||
// }
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -720,7 +720,7 @@ public class DrawingManager {
|
||||
if (component instanceof ILayer) {
|
||||
layerId = ((ILayer)component).getLayerId();
|
||||
} else {
|
||||
layerId = component.hashCode();
|
||||
layerId = 0;
|
||||
}
|
||||
|
||||
Collection<Area> positiveAreas = a.getContinuityPositiveAreas();
|
||||
|
||||
@@ -4190,6 +4190,10 @@
|
||||
<changeType>IMPROVEMENT</changeType>
|
||||
<description>Circuit analysis algorithm that supports netlist extraction, 'Highlight connected Areas' and 'Guitar Wiring Analyzer' features improved to take PCB trace layer and component z-order into account for better accuracy</description>
|
||||
</org.diylc.appframework.update.Change>
|
||||
<org.diylc.appframework.update.Change>
|
||||
<changeType>IMPROVEMENT</changeType>
|
||||
<description>Potentiometer bodies are no longer considered as conductive surfaces to avoid unwanted shorts</description>
|
||||
</org.diylc.appframework.update.Change>
|
||||
<org.diylc.appframework.update.Change>
|
||||
<changeType>BUG_FIX</changeType>
|
||||
<description>Do not apply any user-default property values when creating a standard datasheet model (e.g. a capacitor)</description>
|
||||
|
||||
Reference in New Issue
Block a user