code clean
This commit is contained in:
parent
ceb9800f38
commit
45f8520ad1
@ -11,12 +11,6 @@ public class CONFIG {
|
|||||||
|
|
||||||
public static final double MAX_RESISTANCE = 1 / NO_RESISTANCE;
|
public static final double MAX_RESISTANCE = 1 / NO_RESISTANCE;
|
||||||
|
|
||||||
public static boolean SHOW_WIRE_DETAILS = true;
|
|
||||||
|
|
||||||
public static boolean SHOW_NODE_VOLTAGES = false;
|
|
||||||
|
|
||||||
public static boolean SHOW_NODE_NAMES = false;
|
|
||||||
|
|
||||||
public static final double VOLTAGE_HIGH_MIN = 0.1;
|
public static final double VOLTAGE_HIGH_MIN = 0.1;
|
||||||
|
|
||||||
public static final int RASTER = 200;
|
public static final int RASTER = 200;
|
||||||
@ -81,6 +75,12 @@ public class CONFIG {
|
|||||||
|
|
||||||
public static final BasicStroke SWITCH_STROKE = new BasicStroke(15);
|
public static final BasicStroke SWITCH_STROKE = new BasicStroke(15);
|
||||||
|
|
||||||
|
public static boolean SHOW_WIRE_DETAILS = true;
|
||||||
|
|
||||||
|
public static boolean SHOW_NODE_VOLTAGES = false;
|
||||||
|
|
||||||
|
public static boolean SHOW_NODE_NAMES = false;
|
||||||
|
|
||||||
public static Point ALIGN(final Point position) {
|
public static Point ALIGN(final Point position) {
|
||||||
return new Point(position.x / RASTER * RASTER, position.y / RASTER * RASTER);
|
return new Point(position.x / RASTER * RASTER, position.y / RASTER * RASTER);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -36,6 +36,11 @@ public class Window extends JFrame {
|
|||||||
setVisible(true);
|
setVisible(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static void main(String[] args) {
|
||||||
|
final Window window = new Window();
|
||||||
|
window.setCircuit(Demos.potiAndVoltmeter());
|
||||||
|
}
|
||||||
|
|
||||||
public void setCircuit(final Circuit circuit) {
|
public void setCircuit(final Circuit circuit) {
|
||||||
circuitPanel.setCircuit(circuit);
|
circuitPanel.setCircuit(circuit);
|
||||||
}
|
}
|
||||||
@ -51,9 +56,4 @@ public class Window extends JFrame {
|
|||||||
setLocation(screenBounds.x, screenBounds.y);
|
setLocation(screenBounds.x, screenBounds.y);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void main(String[] args) {
|
|
||||||
final Window window = new Window();
|
|
||||||
window.setCircuit(Demos.potiAndVoltmeter());
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,8 +1,8 @@
|
|||||||
package de.ph87.electro.circuit;
|
package de.ph87.electro.circuit;
|
||||||
|
|
||||||
|
import de.ph87.electro.circuit.node.Node;
|
||||||
import de.ph87.electro.circuit.part.Orientation;
|
import de.ph87.electro.circuit.part.Orientation;
|
||||||
import de.ph87.electro.circuit.part.Part;
|
import de.ph87.electro.circuit.part.Part;
|
||||||
import de.ph87.electro.circuit.node.Node;
|
|
||||||
|
|
||||||
import java.awt.*;
|
import java.awt.*;
|
||||||
import java.awt.geom.AffineTransform;
|
import java.awt.geom.AffineTransform;
|
||||||
|
|||||||
@ -36,20 +36,6 @@ public class Calculation {
|
|||||||
|
|
||||||
private RealVector potentials = null;
|
private RealVector potentials = null;
|
||||||
|
|
||||||
public static List<Calculation> calculate(final Circuit circuit) {
|
|
||||||
final List<Calculation> calculations = new ArrayList<>();
|
|
||||||
final List<Battery> batteries = new ArrayList<>(circuit.streamParts().flatMap(Battery::filterCast).toList());
|
|
||||||
while (!batteries.isEmpty()) {
|
|
||||||
final Battery pivot = batteries.removeFirst();
|
|
||||||
final Set<Node> connectedNodes = new HashSet<>();
|
|
||||||
pivot.getPlus().collectConnectedNodes(connectedNodes);
|
|
||||||
pivot.getMinus().collectConnectedNodes(connectedNodes);
|
|
||||||
connectedNodes.stream().filter(n -> n instanceof PartNode).map(n -> (PartNode) n).map(PartNode::getPart).flatMap(Battery::filterCast).forEach(batteries::remove);
|
|
||||||
calculations.add(new Calculation(connectedNodes, pivot));
|
|
||||||
}
|
|
||||||
return calculations;
|
|
||||||
}
|
|
||||||
|
|
||||||
public Calculation(final int numNodes) {
|
public Calculation(final int numNodes) {
|
||||||
matrix = new Array2DRowRealMatrix(numNodes, numNodes);
|
matrix = new Array2DRowRealMatrix(numNodes, numNodes);
|
||||||
currents = new ArrayRealVector(numNodes);
|
currents = new ArrayRealVector(numNodes);
|
||||||
@ -74,6 +60,20 @@ public class Calculation {
|
|||||||
toSchematic();
|
toSchematic();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static List<Calculation> calculate(final Circuit circuit) {
|
||||||
|
final List<Calculation> calculations = new ArrayList<>();
|
||||||
|
final List<Battery> batteries = new ArrayList<>(circuit.streamParts().flatMap(Battery::filterCast).toList());
|
||||||
|
while (!batteries.isEmpty()) {
|
||||||
|
final Battery pivot = batteries.removeFirst();
|
||||||
|
final Set<Node> connectedNodes = new HashSet<>();
|
||||||
|
pivot.getPlus().collectConnectedNodes(connectedNodes);
|
||||||
|
pivot.getMinus().collectConnectedNodes(connectedNodes);
|
||||||
|
connectedNodes.stream().filter(n -> n instanceof PartNode).map(n -> (PartNode) n).map(PartNode::getPart).flatMap(Battery::filterCast).forEach(batteries::remove);
|
||||||
|
calculations.add(new Calculation(connectedNodes, pivot));
|
||||||
|
}
|
||||||
|
return calculations;
|
||||||
|
}
|
||||||
|
|
||||||
private void fromSchematic() {
|
private void fromSchematic() {
|
||||||
wires.forEach(
|
wires.forEach(
|
||||||
wire -> addResistor(wire.getA(), wire.getB(), CONFIG.NO_RESISTANCE)
|
wire -> addResistor(wire.getA(), wire.getB(), CONFIG.NO_RESISTANCE)
|
||||||
@ -194,12 +194,12 @@ public class Calculation {
|
|||||||
@Getter
|
@Getter
|
||||||
private static final class Format {
|
private static final class Format {
|
||||||
|
|
||||||
|
private final String format;
|
||||||
|
|
||||||
private int integer;
|
private int integer;
|
||||||
|
|
||||||
private int decimal;
|
private int decimal;
|
||||||
|
|
||||||
private final String format;
|
|
||||||
|
|
||||||
public Format(final RealMatrix matrix) {
|
public Format(final RealMatrix matrix) {
|
||||||
for (int r = 0; r < matrix.getRowDimension(); r++) {
|
for (int r = 0; r < matrix.getRowDimension(); r++) {
|
||||||
for (int c = 0; c < matrix.getColumnDimension(); c++) {
|
for (int c = 0; c < matrix.getColumnDimension(); c++) {
|
||||||
|
|||||||
@ -26,10 +26,10 @@ public class Node {
|
|||||||
private final String name;
|
private final String name;
|
||||||
|
|
||||||
@NonNull
|
@NonNull
|
||||||
protected Point position;
|
private final Set<Wire> wires = new HashSet<>();
|
||||||
|
|
||||||
@NonNull
|
@NonNull
|
||||||
private final Set<Wire> wires = new HashSet<>();
|
protected Point position;
|
||||||
|
|
||||||
@NonNull
|
@NonNull
|
||||||
@ToString.Include
|
@ToString.Include
|
||||||
@ -38,13 +38,6 @@ public class Node {
|
|||||||
@NonNull
|
@NonNull
|
||||||
private Color color = VOLTAGE_UNKNOWN_COLOR;
|
private Color color = VOLTAGE_UNKNOWN_COLOR;
|
||||||
|
|
||||||
@NonNull
|
|
||||||
@ToString.Include
|
|
||||||
@SuppressWarnings("unused") // lombok toString
|
|
||||||
public List<String> destinations() {
|
|
||||||
return wires.stream().map(wire -> wire.getOpposite(this)).map(Node::getUuid).toList();
|
|
||||||
}
|
|
||||||
|
|
||||||
public Node(@NonNull final String name, @NonNull final Point position) {
|
public Node(@NonNull final String name, @NonNull final Point position) {
|
||||||
this.uuid = UUID.randomUUID().toString();
|
this.uuid = UUID.randomUUID().toString();
|
||||||
this.name = name;
|
this.name = name;
|
||||||
@ -57,6 +50,13 @@ public class Node {
|
|||||||
this.position = position;
|
this.position = position;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@NonNull
|
||||||
|
@ToString.Include
|
||||||
|
@SuppressWarnings("unused") // lombok toString
|
||||||
|
public List<String> destinations() {
|
||||||
|
return wires.stream().map(wire -> wire.getOpposite(this)).map(Node::getUuid).toList();
|
||||||
|
}
|
||||||
|
|
||||||
public void setVoltage(final double voltage) {
|
public void setVoltage(final double voltage) {
|
||||||
this.voltage = voltage;
|
this.voltage = voltage;
|
||||||
this.color = Double.isNaN(voltage) ? VOLTAGE_UNKNOWN_COLOR : ((voltage >= VOLTAGE_HIGH_MIN) ? VOLTAGE_HIGH_COLOR : VOLTAGE_LOW_COLOR);
|
this.color = Double.isNaN(voltage) ? VOLTAGE_UNKNOWN_COLOR : ((voltage >= VOLTAGE_HIGH_MIN) ? VOLTAGE_HIGH_COLOR : VOLTAGE_LOW_COLOR);
|
||||||
|
|||||||
@ -25,6 +25,12 @@ public abstract class Part {
|
|||||||
@ToString.Include
|
@ToString.Include
|
||||||
private final String uuid;
|
private final String uuid;
|
||||||
|
|
||||||
|
@NonNull
|
||||||
|
private final List<PartNode> nodes = new ArrayList<>();
|
||||||
|
|
||||||
|
@NonNull
|
||||||
|
protected Orientation orientation = Orientation.R0;
|
||||||
|
|
||||||
@NonNull
|
@NonNull
|
||||||
@Setter
|
@Setter
|
||||||
@ToString.Include
|
@ToString.Include
|
||||||
@ -33,12 +39,6 @@ public abstract class Part {
|
|||||||
@NonNull
|
@NonNull
|
||||||
private Point position;
|
private Point position;
|
||||||
|
|
||||||
@NonNull
|
|
||||||
protected Orientation orientation = Orientation.R0;
|
|
||||||
|
|
||||||
@NonNull
|
|
||||||
private final List<PartNode> nodes = new ArrayList<>();
|
|
||||||
|
|
||||||
@NonNull
|
@NonNull
|
||||||
private AffineTransform transform = new AffineTransform();
|
private AffineTransform transform = new AffineTransform();
|
||||||
|
|
||||||
@ -57,6 +57,23 @@ public abstract class Part {
|
|||||||
updateTransform();
|
updateTransform();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@NonNull
|
||||||
|
public static Part fromDto(@NonNull final PartDto abstractDto) {
|
||||||
|
return switch (abstractDto) {
|
||||||
|
case final BatteryDto dto -> new Battery(dto);
|
||||||
|
case final ConnectorCornerDto dto -> new ConnectorCorner(dto);
|
||||||
|
case final ConnectorEdgeDto dto -> new ConnectorEdge(dto);
|
||||||
|
case final ConnectorMiddleDto dto -> new ConnectorMiddle(dto);
|
||||||
|
case final LightDto dto -> new Light(dto);
|
||||||
|
case final Switch1x1Dto dto -> new Switch1x1(dto);
|
||||||
|
case final Switch1x2Dto dto -> new Switch1x2(dto);
|
||||||
|
case final SwitchCrossDto dto -> new SwitchCross(dto);
|
||||||
|
case final PotiDto dto -> new Poti(dto);
|
||||||
|
case final VoltmeterDto dto -> new Voltmeter(dto);
|
||||||
|
case null, default -> throw new RuntimeException();
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
public void setPosition(@NonNull final Point position) {
|
public void setPosition(@NonNull final Point position) {
|
||||||
this.position = position;
|
this.position = position;
|
||||||
updateTransform();
|
updateTransform();
|
||||||
@ -136,21 +153,4 @@ public abstract class Part {
|
|||||||
return nodes.stream().filter(node -> node.intersects(position)).findFirst();
|
return nodes.stream().filter(node -> node.intersects(position)).findFirst();
|
||||||
}
|
}
|
||||||
|
|
||||||
@NonNull
|
|
||||||
public static Part fromDto(@NonNull final PartDto abstractDto) {
|
|
||||||
return switch (abstractDto) {
|
|
||||||
case final BatteryDto dto -> new Battery(dto);
|
|
||||||
case final ConnectorCornerDto dto -> new ConnectorCorner(dto);
|
|
||||||
case final ConnectorEdgeDto dto -> new ConnectorEdge(dto);
|
|
||||||
case final ConnectorMiddleDto dto -> new ConnectorMiddle(dto);
|
|
||||||
case final LightDto dto -> new Light(dto);
|
|
||||||
case final Switch1x1Dto dto -> new Switch1x1(dto);
|
|
||||||
case final Switch1x2Dto dto -> new Switch1x2(dto);
|
|
||||||
case final SwitchCrossDto dto -> new SwitchCross(dto);
|
|
||||||
case final PotiDto dto -> new Poti(dto);
|
|
||||||
case final VoltmeterDto dto -> new Voltmeter(dto);
|
|
||||||
case null, default -> throw new RuntimeException();
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,8 +1,8 @@
|
|||||||
package de.ph87.electro.circuit.part.parts;
|
package de.ph87.electro.circuit.part.parts;
|
||||||
|
|
||||||
|
import de.ph87.electro.circuit.node.Node;
|
||||||
import de.ph87.electro.circuit.part.InnerConnection;
|
import de.ph87.electro.circuit.part.InnerConnection;
|
||||||
import de.ph87.electro.circuit.part.Part;
|
import de.ph87.electro.circuit.part.Part;
|
||||||
import de.ph87.electro.circuit.node.Node;
|
|
||||||
import lombok.Getter;
|
import lombok.Getter;
|
||||||
import lombok.Setter;
|
import lombok.Setter;
|
||||||
import lombok.ToString;
|
import lombok.ToString;
|
||||||
|
|||||||
@ -1,7 +1,7 @@
|
|||||||
package de.ph87.electro.circuit.part.parts;
|
package de.ph87.electro.circuit.part.parts;
|
||||||
|
|
||||||
import de.ph87.electro.circuit.part.PartDto;
|
|
||||||
import de.ph87.electro.circuit.node.NodeDto;
|
import de.ph87.electro.circuit.node.NodeDto;
|
||||||
|
import de.ph87.electro.circuit.part.PartDto;
|
||||||
import lombok.Getter;
|
import lombok.Getter;
|
||||||
import lombok.NoArgsConstructor;
|
import lombok.NoArgsConstructor;
|
||||||
import lombok.ToString;
|
import lombok.ToString;
|
||||||
|
|||||||
@ -1,7 +1,7 @@
|
|||||||
package de.ph87.electro.circuit.part.parts;
|
package de.ph87.electro.circuit.part.parts;
|
||||||
|
|
||||||
import de.ph87.electro.circuit.part.PartDto;
|
|
||||||
import de.ph87.electro.circuit.node.NodeDto;
|
import de.ph87.electro.circuit.node.NodeDto;
|
||||||
|
import de.ph87.electro.circuit.part.PartDto;
|
||||||
import lombok.Getter;
|
import lombok.Getter;
|
||||||
import lombok.NoArgsConstructor;
|
import lombok.NoArgsConstructor;
|
||||||
import lombok.ToString;
|
import lombok.ToString;
|
||||||
|
|||||||
@ -1,7 +1,7 @@
|
|||||||
package de.ph87.electro.circuit.part.parts;
|
package de.ph87.electro.circuit.part.parts;
|
||||||
|
|
||||||
import de.ph87.electro.circuit.part.Part;
|
|
||||||
import de.ph87.electro.circuit.node.Node;
|
import de.ph87.electro.circuit.node.Node;
|
||||||
|
import de.ph87.electro.circuit.part.Part;
|
||||||
import lombok.Getter;
|
import lombok.Getter;
|
||||||
import lombok.ToString;
|
import lombok.ToString;
|
||||||
|
|
||||||
|
|||||||
@ -1,7 +1,7 @@
|
|||||||
package de.ph87.electro.circuit.part.parts;
|
package de.ph87.electro.circuit.part.parts;
|
||||||
|
|
||||||
import de.ph87.electro.circuit.part.PartDto;
|
|
||||||
import de.ph87.electro.circuit.node.NodeDto;
|
import de.ph87.electro.circuit.node.NodeDto;
|
||||||
|
import de.ph87.electro.circuit.part.PartDto;
|
||||||
import lombok.Getter;
|
import lombok.Getter;
|
||||||
import lombok.NoArgsConstructor;
|
import lombok.NoArgsConstructor;
|
||||||
import lombok.ToString;
|
import lombok.ToString;
|
||||||
|
|||||||
@ -1,7 +1,7 @@
|
|||||||
package de.ph87.electro.circuit.part.parts;
|
package de.ph87.electro.circuit.part.parts;
|
||||||
|
|
||||||
import de.ph87.electro.circuit.part.Part;
|
|
||||||
import de.ph87.electro.circuit.node.Node;
|
import de.ph87.electro.circuit.node.Node;
|
||||||
|
import de.ph87.electro.circuit.part.Part;
|
||||||
import lombok.Getter;
|
import lombok.Getter;
|
||||||
import lombok.ToString;
|
import lombok.ToString;
|
||||||
|
|
||||||
|
|||||||
@ -1,7 +1,7 @@
|
|||||||
package de.ph87.electro.circuit.part.parts;
|
package de.ph87.electro.circuit.part.parts;
|
||||||
|
|
||||||
import de.ph87.electro.circuit.part.PartDto;
|
|
||||||
import de.ph87.electro.circuit.node.NodeDto;
|
import de.ph87.electro.circuit.node.NodeDto;
|
||||||
|
import de.ph87.electro.circuit.part.PartDto;
|
||||||
import lombok.Getter;
|
import lombok.Getter;
|
||||||
import lombok.NoArgsConstructor;
|
import lombok.NoArgsConstructor;
|
||||||
import lombok.ToString;
|
import lombok.ToString;
|
||||||
|
|||||||
@ -1,9 +1,9 @@
|
|||||||
package de.ph87.electro.circuit.part.parts;
|
package de.ph87.electro.circuit.part.parts;
|
||||||
|
|
||||||
|
import de.ph87.electro.circuit.node.Node;
|
||||||
import de.ph87.electro.circuit.part.InnerConnection;
|
import de.ph87.electro.circuit.part.InnerConnection;
|
||||||
import de.ph87.electro.circuit.part.Orientation;
|
import de.ph87.electro.circuit.part.Orientation;
|
||||||
import de.ph87.electro.circuit.part.Part;
|
import de.ph87.electro.circuit.part.Part;
|
||||||
import de.ph87.electro.circuit.node.Node;
|
|
||||||
import lombok.Getter;
|
import lombok.Getter;
|
||||||
import lombok.ToString;
|
import lombok.ToString;
|
||||||
|
|
||||||
|
|||||||
@ -1,7 +1,7 @@
|
|||||||
package de.ph87.electro.circuit.part.parts;
|
package de.ph87.electro.circuit.part.parts;
|
||||||
|
|
||||||
import de.ph87.electro.circuit.part.PartDto;
|
|
||||||
import de.ph87.electro.circuit.node.NodeDto;
|
import de.ph87.electro.circuit.node.NodeDto;
|
||||||
|
import de.ph87.electro.circuit.part.PartDto;
|
||||||
import lombok.Getter;
|
import lombok.Getter;
|
||||||
import lombok.NoArgsConstructor;
|
import lombok.NoArgsConstructor;
|
||||||
import lombok.ToString;
|
import lombok.ToString;
|
||||||
|
|||||||
@ -1,7 +1,7 @@
|
|||||||
package de.ph87.electro.circuit.part.parts;
|
package de.ph87.electro.circuit.part.parts;
|
||||||
|
|
||||||
import de.ph87.electro.circuit.part.PartDto;
|
|
||||||
import de.ph87.electro.circuit.node.NodeDto;
|
import de.ph87.electro.circuit.node.NodeDto;
|
||||||
|
import de.ph87.electro.circuit.part.PartDto;
|
||||||
import lombok.Getter;
|
import lombok.Getter;
|
||||||
import lombok.NoArgsConstructor;
|
import lombok.NoArgsConstructor;
|
||||||
import lombok.Setter;
|
import lombok.Setter;
|
||||||
|
|||||||
@ -1,8 +1,8 @@
|
|||||||
package de.ph87.electro.circuit.part.parts;
|
package de.ph87.electro.circuit.part.parts;
|
||||||
|
|
||||||
|
import de.ph87.electro.circuit.node.Node;
|
||||||
import de.ph87.electro.circuit.part.InnerConnection;
|
import de.ph87.electro.circuit.part.InnerConnection;
|
||||||
import de.ph87.electro.circuit.part.Part;
|
import de.ph87.electro.circuit.part.Part;
|
||||||
import de.ph87.electro.circuit.node.Node;
|
|
||||||
import lombok.Getter;
|
import lombok.Getter;
|
||||||
import lombok.ToString;
|
import lombok.ToString;
|
||||||
|
|
||||||
|
|||||||
@ -1,7 +1,7 @@
|
|||||||
package de.ph87.electro.circuit.part.parts;
|
package de.ph87.electro.circuit.part.parts;
|
||||||
|
|
||||||
import de.ph87.electro.circuit.part.PartDto;
|
|
||||||
import de.ph87.electro.circuit.node.NodeDto;
|
import de.ph87.electro.circuit.node.NodeDto;
|
||||||
|
import de.ph87.electro.circuit.part.PartDto;
|
||||||
import lombok.Getter;
|
import lombok.Getter;
|
||||||
import lombok.NoArgsConstructor;
|
import lombok.NoArgsConstructor;
|
||||||
import lombok.ToString;
|
import lombok.ToString;
|
||||||
|
|||||||
@ -1,8 +1,8 @@
|
|||||||
package de.ph87.electro.circuit.part.parts;
|
package de.ph87.electro.circuit.part.parts;
|
||||||
|
|
||||||
|
import de.ph87.electro.circuit.node.Node;
|
||||||
import de.ph87.electro.circuit.part.InnerConnection;
|
import de.ph87.electro.circuit.part.InnerConnection;
|
||||||
import de.ph87.electro.circuit.part.Part;
|
import de.ph87.electro.circuit.part.Part;
|
||||||
import de.ph87.electro.circuit.node.Node;
|
|
||||||
import lombok.Getter;
|
import lombok.Getter;
|
||||||
import lombok.ToString;
|
import lombok.ToString;
|
||||||
|
|
||||||
|
|||||||
@ -1,7 +1,7 @@
|
|||||||
package de.ph87.electro.circuit.part.parts;
|
package de.ph87.electro.circuit.part.parts;
|
||||||
|
|
||||||
import de.ph87.electro.circuit.part.PartDto;
|
|
||||||
import de.ph87.electro.circuit.node.NodeDto;
|
import de.ph87.electro.circuit.node.NodeDto;
|
||||||
|
import de.ph87.electro.circuit.part.PartDto;
|
||||||
import lombok.Getter;
|
import lombok.Getter;
|
||||||
import lombok.NoArgsConstructor;
|
import lombok.NoArgsConstructor;
|
||||||
import lombok.ToString;
|
import lombok.ToString;
|
||||||
|
|||||||
@ -1,8 +1,8 @@
|
|||||||
package de.ph87.electro.circuit.part.parts;
|
package de.ph87.electro.circuit.part.parts;
|
||||||
|
|
||||||
|
import de.ph87.electro.circuit.node.Node;
|
||||||
import de.ph87.electro.circuit.part.InnerConnection;
|
import de.ph87.electro.circuit.part.InnerConnection;
|
||||||
import de.ph87.electro.circuit.part.Part;
|
import de.ph87.electro.circuit.part.Part;
|
||||||
import de.ph87.electro.circuit.node.Node;
|
|
||||||
import lombok.Getter;
|
import lombok.Getter;
|
||||||
import lombok.ToString;
|
import lombok.ToString;
|
||||||
|
|
||||||
|
|||||||
@ -1,7 +1,7 @@
|
|||||||
package de.ph87.electro.circuit.part.parts;
|
package de.ph87.electro.circuit.part.parts;
|
||||||
|
|
||||||
import de.ph87.electro.circuit.part.PartDto;
|
|
||||||
import de.ph87.electro.circuit.node.NodeDto;
|
import de.ph87.electro.circuit.node.NodeDto;
|
||||||
|
import de.ph87.electro.circuit.part.PartDto;
|
||||||
import lombok.Getter;
|
import lombok.Getter;
|
||||||
import lombok.NoArgsConstructor;
|
import lombok.NoArgsConstructor;
|
||||||
import lombok.ToString;
|
import lombok.ToString;
|
||||||
|
|||||||
@ -34,6 +34,8 @@ public class Voltmeter extends Part {
|
|||||||
|
|
||||||
private final Node b;
|
private final Node b;
|
||||||
|
|
||||||
|
double x = 0;
|
||||||
|
|
||||||
@Setter
|
@Setter
|
||||||
private double min = -3;
|
private double min = -3;
|
||||||
|
|
||||||
@ -56,7 +58,9 @@ public class Voltmeter extends Part {
|
|||||||
postCalculate(); // TODO remove
|
postCalculate(); // TODO remove
|
||||||
}
|
}
|
||||||
|
|
||||||
double x = 0;
|
public static Point P(final RealVector anchor) {
|
||||||
|
return new Point((int) round(anchor.getEntry(0)), (int) round(anchor.getEntry(1)));
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void _render(final Graphics2D g) {
|
public void _render(final Graphics2D g) {
|
||||||
@ -75,10 +79,6 @@ public class Voltmeter extends Part {
|
|||||||
drawCircle(g, P(ANCHOR), P03, 0, 360, null, null, Color.black);
|
drawCircle(g, P(ANCHOR), P03, 0, 360, null, null, Color.black);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static Point P(final RealVector anchor) {
|
|
||||||
return new Point((int) round(anchor.getEntry(0)), (int) round(anchor.getEntry(1)));
|
|
||||||
}
|
|
||||||
|
|
||||||
private double getVoltage() {
|
private double getVoltage() {
|
||||||
return !Double.isNaN(b.getVoltage()) && !Double.isNaN(a.getVoltage()) ? b.getVoltage() - a.getVoltage() : 0.0;
|
return !Double.isNaN(b.getVoltage()) && !Double.isNaN(a.getVoltage()) ? b.getVoltage() - a.getVoltage() : 0.0;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,7 +1,7 @@
|
|||||||
package de.ph87.electro.circuit.part.parts;
|
package de.ph87.electro.circuit.part.parts;
|
||||||
|
|
||||||
import de.ph87.electro.circuit.part.PartDto;
|
|
||||||
import de.ph87.electro.circuit.node.NodeDto;
|
import de.ph87.electro.circuit.node.NodeDto;
|
||||||
|
import de.ph87.electro.circuit.part.PartDto;
|
||||||
import lombok.Getter;
|
import lombok.Getter;
|
||||||
import lombok.NoArgsConstructor;
|
import lombok.NoArgsConstructor;
|
||||||
import lombok.Setter;
|
import lombok.Setter;
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user