use of org.concord.energy3d.model.Mirror in project energy3d by concord-consortium.
the class ChangeFoundationHeliostatTargetCommand method redo.
@Override
public void redo() throws CannotRedoException {
super.redo();
final int n = mirrors.size();
for (int i = 0; i < n; i++) {
final Mirror m = mirrors.get(i);
m.setReceiver(newValues[i]);
m.draw();
if (oldValues[i] != null) {
oldValues[i].drawSolarReceiver();
}
if (newValues[i] != null) {
newValues[i].drawSolarReceiver();
}
}
SceneManager.getInstance().refresh();
}
use of org.concord.energy3d.model.Mirror in project energy3d by concord-consortium.
the class SetSizeForHeliostatsOnFoundationCommand method undo.
@Override
public void undo() throws CannotUndoException {
super.undo();
final int n = mirrors.size();
newWidths = new double[n];
newHeights = new double[n];
for (int i = 0; i < n; i++) {
final Mirror m = mirrors.get(i);
newWidths[i] = m.getMirrorWidth();
newHeights[i] = m.getMirrorHeight();
m.setMirrorWidth(oldWidths[i]);
m.setMirrorHeight(oldHeights[i]);
m.draw();
}
SceneManager.getInstance().refresh();
}
use of org.concord.energy3d.model.Mirror in project energy3d by concord-consortium.
the class SetSizeForHeliostatsOnFoundationCommand method redo.
@Override
public void redo() throws CannotRedoException {
super.redo();
final int n = mirrors.size();
for (int i = 0; i < n; i++) {
final Mirror m = mirrors.get(i);
m.setMirrorWidth(newWidths[i]);
m.setMirrorHeight(newHeights[i]);
m.draw();
}
SceneManager.getInstance().refresh();
}
use of org.concord.energy3d.model.Mirror in project energy3d by concord-consortium.
the class SetPartSizeCommand method undo.
@Override
public void undo() throws CannotUndoException {
super.undo();
if (part instanceof Mirror) {
final Mirror m = (Mirror) part;
newWidth = m.getMirrorWidth();
newHeight = m.getMirrorHeight();
m.setMirrorWidth(oldWidth);
m.setMirrorHeight(oldHeight);
} else if (part instanceof ParabolicTrough) {
final ParabolicTrough t = (ParabolicTrough) part;
newWidth = t.getApertureWidth();
newHeight = t.getTroughLength();
newModuleLength = t.getModuleLength();
t.setApertureWidth(oldWidth);
t.setTroughLength(oldHeight);
t.setModuleLength(oldModuleLength);
} else if (part instanceof ParabolicDish) {
final ParabolicDish d = (ParabolicDish) part;
newWidth = d.getRimRadius();
d.setRimRadius(oldWidth);
} else if (part instanceof FresnelReflector) {
final FresnelReflector r = (FresnelReflector) part;
newWidth = r.getModuleWidth();
newHeight = r.getLength();
newModuleLength = r.getModuleLength();
r.setModuleWidth(oldWidth);
r.setLength(oldHeight);
r.setModuleLength(oldModuleLength);
} else if (part instanceof Rack) {
final Rack r = (Rack) part;
newWidth = r.getRackWidth();
newHeight = r.getRackHeight();
r.setRackWidth(oldWidth);
r.setRackHeight(oldHeight);
} else if (part instanceof Window) {
final Window w = (Window) part;
newWidth = w.getWindowWidth();
newHeight = w.getWindowHeight();
w.setWindowWidth(oldWidth);
w.setWindowHeight(oldHeight);
w.getContainer().draw();
} else if (part instanceof Door) {
final Door d = (Door) part;
newWidth = d.getDoorWidth();
newHeight = d.getDoorHeight();
d.setDoorWidth(oldWidth);
d.setDoorHeight(oldHeight);
d.getContainer().draw();
}
part.draw();
SceneManager.getInstance().refresh();
}
use of org.concord.energy3d.model.Mirror 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;
}
});
}
Aggregations