package dokumenty.dekompozycja; import java.util.LinkedList; import java.util.List; import dokumenty.Element; public class CompositeElement extends Element { public List Enclosed; public int[] Box; public CompositeElement(String typ, int[] pudelko) { super(typ, pudelko); Box = new int[4]; Box[0] = pudelko[0]; Box[1] = pudelko[1]; Box[2] = pudelko[2]; Box[3] = pudelko[3]; Enclosed = new LinkedList(); } public CompositeElement(Element First) { super(First.pobierzTyp(), First.pobierzPudelko()); Box = new int[4]; Box[0] = First.pobierzPudelko()[0]; Box[1] = First.pobierzPudelko()[1]; Box[2] = First.pobierzPudelko()[2]; Box[3] = First.pobierzPudelko()[3]; Enclosed = new LinkedList(); Enclosed.add(First); } public void AddAndUpdate(Element New) { Enclosed.add(New); Box[0] = Math.min(Box[0], New.pobierzPudelko()[0]); Box[1] = Math.min(Box[1], New.pobierzPudelko()[1]); Box[2] = Math.max(Box[2], New.pobierzPudelko()[2]); Box[3] = Math.max(Box[3], New.pobierzPudelko()[3]); } public int[] pobierzPudelko() { return Box; } }