use of org.concord.energy3d.model.Rack in project energy3d by concord-consortium.
the class SetInverterEfficiencyForAllRacksCommand method undo.
@Override
public void undo() throws CannotUndoException {
super.undo();
final int n = racks.size();
newValues = new double[n];
for (int i = 0; i < n; i++) {
final Rack r = racks.get(i);
newValues[i] = r.getSolarPanel().getInverterEfficiency();
r.getSolarPanel().setInverterEfficiency(oldValues[i]);
}
}
use of org.concord.energy3d.model.Rack in project energy3d by concord-consortium.
the class SetInverterEfficiencyForRacksOnFoundationCommand method undo.
@Override
public void undo() throws CannotUndoException {
super.undo();
final int n = racks.size();
newValues = new double[n];
for (int i = 0; i < n; i++) {
final Rack r = racks.get(i);
newValues[i] = r.getSolarPanel().getInverterEfficiency();
r.getSolarPanel().setInverterEfficiency(oldValues[i]);
}
}
use of org.concord.energy3d.model.Rack in project energy3d by concord-consortium.
the class MainFrame method getDailyEnergyAnalysisForSelectionMenuItem.
private JMenuItem getDailyEnergyAnalysisForSelectionMenuItem() {
if (dailyEnergyAnalysisForSelectionMenuItem == null) {
dailyEnergyAnalysisForSelectionMenuItem = new JMenuItem("Daily Energy Analysis for Selected Part...");
dailyEnergyAnalysisForSelectionMenuItem.addActionListener(new ActionListener() {
@Override
public void actionPerformed(final ActionEvent e) {
if (EnergyPanel.getInstance().checkCity()) {
if (EnergyPanel.getInstance().adjustCellSize()) {
return;
}
final HousePart selectedPart = SceneManager.getInstance().getSelectedPart();
if (selectedPart instanceof Window || selectedPart instanceof Wall || selectedPart instanceof Roof || selectedPart instanceof Door || selectedPart instanceof SolarPanel || selectedPart instanceof Rack || selectedPart instanceof Foundation) {
new EnergyDailyAnalysis().show("Daily Energy for Selected Part");
} else {
JOptionPane.showMessageDialog(MainFrame.this, "You must select a building part first.", "No Selection", JOptionPane.INFORMATION_MESSAGE);
}
}
}
});
}
return dailyEnergyAnalysisForSelectionMenuItem;
}
use of org.concord.energy3d.model.Rack in project energy3d by concord-consortium.
the class Scene method setSizeForAllRacks.
public void setSizeForAllRacks(final double width, final double height) {
for (final HousePart p : parts) {
if (p instanceof Rack) {
final Rack rack = (Rack) p;
rack.setRackWidth(width);
rack.setRackHeight(height);
rack.ensureFullSolarPanels(false);
rack.draw();
}
}
SceneManager.getInstance().refresh();
}
use of org.concord.energy3d.model.Rack in project energy3d by concord-consortium.
the class Scene method setWidthForAllRacks.
public void setWidthForAllRacks(final double width) {
for (final HousePart p : parts) {
if (p instanceof Rack) {
final Rack rack = (Rack) p;
rack.setRackHeight(width);
rack.ensureFullSolarPanels(false);
rack.draw();
}
}
SceneManager.getInstance().refresh();
}
Aggregations