Search in sources :

Example 46 with Rack

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

the class SetSolarTrackersForAllCommand method redo.

@Override
public void redo() throws CannotRedoException {
    super.redo();
    if (panels != null) {
        final int n = panels.size();
        for (int i = 0; i < n; i++) {
            final SolarPanel p = panels.get(i);
            p.setTracker(newValues[i]);
            p.draw();
        }
    } else if (racks != null) {
        final int n = racks.size();
        for (int i = 0; i < n; i++) {
            final Rack r = racks.get(i);
            r.setTracker(newValues[i]);
            r.draw();
        }
    }
    SceneManager.getInstance().refresh();
}
Also used : Rack(org.concord.energy3d.model.Rack) SolarPanel(org.concord.energy3d.model.SolarPanel)

Example 47 with Rack

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

the class SetSolarTrackersOnFoundationCommand method redo.

@Override
public void redo() throws CannotRedoException {
    super.redo();
    if (solarPanels != null) {
        final int n = solarPanels.size();
        for (int i = 0; i < n; i++) {
            final SolarPanel s = solarPanels.get(i);
            s.setTracker(newValues[i]);
            s.draw();
        }
    } else if (racks != null) {
        final int n = racks.size();
        for (int i = 0; i < n; i++) {
            final Rack r = racks.get(i);
            r.setTracker(newValues[i]);
            r.draw();
        }
    }
    SceneManager.getInstance().refresh();
}
Also used : Rack(org.concord.energy3d.model.Rack) SolarPanel(org.concord.energy3d.model.SolarPanel)

Example 48 with Rack

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

the class EditRackCommand method redo.

@Override
public void redo() throws CannotRedoException {
    final Rack rack = (Rack) part;
    rack.getPoints().get(0).set(newRackCenter);
    rack.setRackWidth(newRackWidth);
    rack.setRackHeight(newRackHeight);
    super.redo();
}
Also used : Rack(org.concord.energy3d.model.Rack)

Example 49 with Rack

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

the class MovePartCommand method move.

private void move(final Vector3 v) {
    SceneManager.getInstance().setSelectedPart(part);
    SceneManager.getTaskManager().update(new Callable<Object>() {

        @Override
        public Object call() throws Exception {
            if (part == null) {
                for (final HousePart p : Scene.getInstance().getParts()) {
                    if (p instanceof Foundation) {
                        ((Foundation) p).move(v, p.getGridSize());
                    }
                }
            } else if (part instanceof Foundation) {
                final Foundation f = (Foundation) part;
                if (f.isGroupMaster()) {
                    final List<Foundation> g = Scene.getInstance().getFoundationGroup(f);
                    for (final Foundation x : g) {
                        x.move(v, part.getGridSize());
                    }
                } else {
                    f.move(v, part.getGridSize());
                }
            } else if (part instanceof Window) {
                final Window w = (Window) part;
                w.move(v);
                w.draw();
            } else if (part instanceof SolarPanel) {
                final SolarPanel s = (SolarPanel) part;
                s.move(v, part.getGridSize());
                s.draw();
            } else if (part instanceof Rack) {
                final Rack r = (Rack) part;
                r.move(v, part.getGridSize());
                r.draw();
            } else if (part instanceof Mirror) {
                final Mirror m = (Mirror) part;
                m.move(v, part.getGridSize());
                m.draw();
            } else if (part instanceof ParabolicTrough) {
                final ParabolicTrough t = (ParabolicTrough) part;
                t.move(v, part.getGridSize());
                t.draw();
            } else if (part instanceof ParabolicDish) {
                final ParabolicDish d = (ParabolicDish) part;
                d.move(v, part.getGridSize());
                d.draw();
            } else if (part instanceof FresnelReflector) {
                final FresnelReflector f = (FresnelReflector) part;
                f.move(v, part.getGridSize());
                f.draw();
            }
            return null;
        }
    });
}
Also used : Window(org.concord.energy3d.model.Window) ParabolicTrough(org.concord.energy3d.model.ParabolicTrough) FresnelReflector(org.concord.energy3d.model.FresnelReflector) CannotUndoException(javax.swing.undo.CannotUndoException) CannotRedoException(javax.swing.undo.CannotRedoException) ParabolicDish(org.concord.energy3d.model.ParabolicDish) Rack(org.concord.energy3d.model.Rack) SolarPanel(org.concord.energy3d.model.SolarPanel) Foundation(org.concord.energy3d.model.Foundation) Mirror(org.concord.energy3d.model.Mirror) HousePart(org.concord.energy3d.model.HousePart)

Example 50 with Rack

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

the class RotateSolarPanelsForAllRacksCommand method redo.

@Override
public void redo() throws CannotRedoException {
    super.redo();
    final int n = racks.size();
    for (int i = 0; i < n; i++) {
        final Rack r = racks.get(i);
        r.getSolarPanel().setRotated(newValues[i]);
        r.ensureFullSolarPanels(false);
        r.draw();
    }
    SceneManager.getInstance().refresh();
}
Also used : Rack(org.concord.energy3d.model.Rack)

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