Search in sources :

Example 56 with Rack

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]);
    }
}
Also used : Rack(org.concord.energy3d.model.Rack)

Example 57 with Rack

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]);
    }
}
Also used : Rack(org.concord.energy3d.model.Rack)

Example 58 with Rack

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;
}
Also used : Window(org.concord.energy3d.model.Window) Wall(org.concord.energy3d.model.Wall) ActionEvent(java.awt.event.ActionEvent) Door(org.concord.energy3d.model.Door) Rack(org.concord.energy3d.model.Rack) Roof(org.concord.energy3d.model.Roof) ActionListener(java.awt.event.ActionListener) SolarPanel(org.concord.energy3d.model.SolarPanel) EnergyDailyAnalysis(org.concord.energy3d.simulation.EnergyDailyAnalysis) Foundation(org.concord.energy3d.model.Foundation) JMenuItem(javax.swing.JMenuItem) HousePart(org.concord.energy3d.model.HousePart)

Example 59 with Rack

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();
}
Also used : Rack(org.concord.energy3d.model.Rack) HousePart(org.concord.energy3d.model.HousePart)

Example 60 with Rack

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();
}
Also used : Rack(org.concord.energy3d.model.Rack) HousePart(org.concord.energy3d.model.HousePart)

Aggregations

Rack (org.concord.energy3d.model.Rack)126 HousePart (org.concord.energy3d.model.HousePart)67 SolarPanel (org.concord.energy3d.model.SolarPanel)66 Foundation (org.concord.energy3d.model.Foundation)45 Window (org.concord.energy3d.model.Window)27 Roof (org.concord.energy3d.model.Roof)25 Wall (org.concord.energy3d.model.Wall)23 Mirror (org.concord.energy3d.model.Mirror)22 Door (org.concord.energy3d.model.Door)20 FresnelReflector (org.concord.energy3d.model.FresnelReflector)16 ParabolicTrough (org.concord.energy3d.model.ParabolicTrough)16 ParabolicDish (org.concord.energy3d.model.ParabolicDish)15 ActionEvent (java.awt.event.ActionEvent)12 ActionListener (java.awt.event.ActionListener)12 Vector3 (com.ardor3d.math.Vector3)10 ReadOnlyVector3 (com.ardor3d.math.type.ReadOnlyVector3)10 JMenuItem (javax.swing.JMenuItem)10 Tree (org.concord.energy3d.model.Tree)10 Floor (org.concord.energy3d.model.Floor)9 ArrayList (java.util.ArrayList)8