package sec.geo.shape;
import java.util.ArrayList;
import sec.geo.GeoPoint;
public class Cake /*extends AComposite implements IPivot*/ {
private GeoPoint pivot;
private ArrayList elements;
public Cake() {
//super();
elements = new ArrayList();
pivot = new GeoPoint();
}
public void addLayer(Object layer) { //was AExtrusion
if (layer instanceof Polyarc) {
((Polyarc) layer).setPivot(pivot);
elements.add(layer);
} else if (layer instanceof Radarc) {
((Radarc) layer).setPivot(pivot);
elements.add(layer);
} else {
throw new IllegalArgumentException();
}
}
//@Override
public void setPivot(GeoPoint pivot) {
this.pivot = pivot;
for (Object layer : elements) {
if (layer instanceof Polyarc) {
((Polyarc) layer).setPivot(pivot);
elements.add(layer);
} else if (layer instanceof Radarc) {
((Radarc) layer).setPivot(pivot);
elements.add(layer);
} else if (layer instanceof Circle) {
((Circle) layer).setPivot(pivot);
elements.add(layer);
}
//add other cases AArc, Circle etc
}
}
public ArrayList getElements() {
return elements;
}
}