/**
* SketchChairs
*
* ⑁ ⑁ ⑁ ⑁ ⑁ ⑁ ⑁
* ⑁ ⑁ ⑁ ⑁ ⑁ ⑁ ⑁
* ⑁ ⑁ ⑁ ⑁ ⑁ ⑁ ⑁
* ⑁ ⑁ ⑁ ⑁ ⑁ ⑁ ⑁
* ⑁ ⑁ ⑁ ⑁ ⑁ ⑁ ⑁
*
*/
package cc.sketchchair.core;
import java.util.ArrayList;
import java.util.List;
import ModalGUI.GUIEvent;
import processing.core.PGraphics;
/**
* Container class to hold multiple designs.
* @author gregsaul
*
*/
public class SketchChairs {
List<SketchChair> l = new ArrayList<SketchChair>();
private SketchChair curChair = null;
void add(SketchChair chair) {
this.l.add(chair);
this.setCurChair(chair);
}
public void buildCurrentChair(GUIEvent e) {
this.l.get(this.l.size() - 1).build();
}
public void buildCurrentChairLen(GUIEvent e) {
this.l.get(this.l.size() - 1).buildLen();
}
public void buildCurrentChairWidth(GUIEvent e) {
this.l.get(this.l.size() - 1).buildWidth();
}
/**
* @return the curChair
*/
public SketchChair getCurChair() {
return curChair;
}
public void GUIEvent(GUIEvent e) {
for (int i = 0; i < this.l.size(); i++) {
// System.out.println("action");
}
}
public void hybernate() {
for (int i = 0; i < this.l.size(); i++) {
SketchChair curChair = this.l.get(i);
curChair.hybernate();
}
}
public void killAll() {
for (int i = 0; i < this.l.size(); i++) {
SketchChair curChair = this.l.get(i);
curChair.destroy();
this.l.remove(curChair);
}
this.setCurChair(null);
}
public void killLast() {
if (this.l.size() > 0) {
SketchChair curChair = this.l.get(this.l.size() - 1);
curChair.destroy();
this.l.remove(curChair);
}
}
public void mouseDragged(int mouseX, int mouseY) {
if (getCurChair() != null)
this.getCurChair().mouseDragged(mouseX, mouseY);
}
public void mousePressed(float mouseX, float mouseY) {
if (getCurChair() != null)
this.getCurChair().mousePressed(mouseX, mouseY);
}
void mouseReleased(float mouseX, float mouseY) {
if (getCurChair() != null)
getCurChair().mouseReleased(mouseX, mouseY);
}
public void mouseDoubleClick(int mouseX, int mouseY) {
if (getCurChair() != null)
getCurChair().mouseDoubleClick(mouseX, mouseY);
}
void render(PGraphics g) {
for (int i = 0; i < this.l.size(); i++) {
SketchChair curChair = this.l.get(i);
curChair.render(g);
}
}
public void renderPickBuffer(PGraphics pickBuffer) {
for (int i = 0; i < this.l.size(); i++) {
SketchChair curChair = this.l.get(i);
curChair.renderPickBuffer(pickBuffer);
}
}
public void SelectNodes(int mouseX, int mouseY) {
for (int i = 0; i < this.l.size(); i++) {
SketchChair curChair = this.l.get(i);
curChair.selectNodes(mouseX, mouseY);
}
}
/**
* @param curChair the curChair to set
*/
private void setCurChair(SketchChair curChair) {
this.curChair = curChair;
}
void update() {
for (int i = 0; i < this.l.size(); i++) {
SketchChair curChair = this.l.get(i);
if (curChair.destroy){
this.l.remove(i);
//is this the current Chair?
if(curChair.equals(this.getCurChair()))
this.setCurChair(null);
}
else
curChair.update();
}
}
}