Search in sources :

Example 51 with HousePart

use of org.concord.energy3d.model.HousePart in project energy3d by concord-consortium.

the class Scene method setTiltAngleForAllHeliostats.

public void setTiltAngleForAllHeliostats(final double angle) {
    for (final HousePart p : parts) {
        if (p instanceof Mirror) {
            ((Mirror) p).setTiltAngle(angle);
            p.draw();
        }
    }
    SceneManager.getInstance().refresh();
}
Also used : Mirror(org.concord.energy3d.model.Mirror) HousePart(org.concord.energy3d.model.HousePart)

Example 52 with HousePart

use of org.concord.energy3d.model.HousePart in project energy3d by concord-consortium.

the class Scene method setBaseHeightForAllHeliostats.

public void setBaseHeightForAllHeliostats(final double baseHeight) {
    for (final HousePart p : parts) {
        if (p instanceof Mirror) {
            ((Mirror) p).setBaseHeight(baseHeight);
            p.draw();
        }
    }
    SceneManager.getInstance().refresh();
}
Also used : Mirror(org.concord.energy3d.model.Mirror) HousePart(org.concord.energy3d.model.HousePart)

Example 53 with HousePart

use of org.concord.energy3d.model.HousePart in project energy3d by concord-consortium.

the class Scene method removeAllSensors.

public void removeAllSensors() {
    final ArrayList<HousePart> sensors = new ArrayList<HousePart>();
    final HousePart selectedPart = SceneManager.getInstance().getSelectedPart();
    if (selectedPart != null) {
        final Foundation foundation = selectedPart instanceof Foundation ? (Foundation) selectedPart : selectedPart.getTopContainer();
        for (final HousePart part : parts) {
            if (part instanceof Sensor && part.getTopContainer() == foundation) {
                sensors.add(part);
            }
        }
    } else {
        for (final HousePart part : parts) {
            if (part instanceof Sensor) {
                sensors.add(part);
            }
        }
    }
    if (sensors.isEmpty()) {
        JOptionPane.showMessageDialog(MainFrame.getInstance(), "There is no sensor to remove.", "No Sensor", JOptionPane.INFORMATION_MESSAGE);
        return;
    }
    if (JOptionPane.showConfirmDialog(MainFrame.getInstance(), "Do you really want to remove all " + sensors.size() + " sensors" + (selectedPart != null ? " on the selected foundation" : "") + "?", "Confirm", JOptionPane.YES_NO_OPTION, JOptionPane.QUESTION_MESSAGE) != JOptionPane.YES_OPTION) {
        return;
    }
    final RemoveMultiplePartsCommand c = new RemoveMultiplePartsCommand(sensors);
    for (final HousePart part : sensors) {
        remove(part, false);
    }
    redrawAll();
    SceneManager.getInstance().getUndoManager().addEdit(c);
    edited = true;
}
Also used : ArrayList(java.util.ArrayList) Foundation(org.concord.energy3d.model.Foundation) HousePart(org.concord.energy3d.model.HousePart) Sensor(org.concord.energy3d.model.Sensor) RemoveMultiplePartsCommand(org.concord.energy3d.undo.RemoveMultiplePartsCommand)

Example 54 with HousePart

use of org.concord.energy3d.model.HousePart in project energy3d by concord-consortium.

the class Scene method setCellNumbersForAllSolarPanels.

public void setCellNumbersForAllSolarPanels(final int nx, final int ny) {
    for (final HousePart p : parts) {
        if (p instanceof SolarPanel) {
            final SolarPanel s = (SolarPanel) p;
            s.setNumberOfCellsInX(nx);
            s.setNumberOfCellsInY(ny);
        } else if (p instanceof Rack) {
            final SolarPanel s = ((Rack) p).getSolarPanel();
            s.setNumberOfCellsInX(nx);
            s.setNumberOfCellsInY(ny);
        }
        p.draw();
    }
    SceneManager.getInstance().refresh();
}
Also used : Rack(org.concord.energy3d.model.Rack) SolarPanel(org.concord.energy3d.model.SolarPanel) HousePart(org.concord.energy3d.model.HousePart)

Example 55 with HousePart

use of org.concord.energy3d.model.HousePart in project energy3d by concord-consortium.

the class Scene method setAzimuthForAllRacks.

public void setAzimuthForAllRacks(final double angle) {
    for (final HousePart p : parts) {
        if (p instanceof Rack) {
            ((Rack) p).setRelativeAzimuth(angle);
            p.draw();
        }
    }
    SceneManager.getInstance().refresh();
}
Also used : Rack(org.concord.energy3d.model.Rack) HousePart(org.concord.energy3d.model.HousePart)

Aggregations

HousePart (org.concord.energy3d.model.HousePart)277 Foundation (org.concord.energy3d.model.Foundation)153 Rack (org.concord.energy3d.model.Rack)69 SolarPanel (org.concord.energy3d.model.SolarPanel)60 Roof (org.concord.energy3d.model.Roof)47 Wall (org.concord.energy3d.model.Wall)45 Window (org.concord.energy3d.model.Window)43 ActionEvent (java.awt.event.ActionEvent)42 ActionListener (java.awt.event.ActionListener)42 ArrayList (java.util.ArrayList)41 Mirror (org.concord.energy3d.model.Mirror)38 JMenuItem (javax.swing.JMenuItem)36 JDialog (javax.swing.JDialog)35 FresnelReflector (org.concord.energy3d.model.FresnelReflector)34 ParabolicTrough (org.concord.energy3d.model.ParabolicTrough)32 ParabolicDish (org.concord.energy3d.model.ParabolicDish)28 Tree (org.concord.energy3d.model.Tree)26 Door (org.concord.energy3d.model.Door)25 ReadOnlyVector3 (com.ardor3d.math.type.ReadOnlyVector3)21 JPanel (javax.swing.JPanel)21