Complete the AEG Tree Data structure which represents the structural and semantic (hierarchical) structure of AEGs
Should consist of Atom nodes and Cut nodes.
Atom nodes are always leaves and consist of a character and a rectangular bounding box.
Cut nodes consist of an elliptical bounding box and can contain zero or more child nodes.
Desired Methods:
verify AEG: a recursive method that ensures the bounding box structure is consistent with the hierarchy, bounding boxes of children nodes should be included in the parents bounding box.
insert AEG: given a new AEG and an xy coordinate at which the graph is to be inserted, place the new AEG into the tree at the correct location based on bounding boxes.
canInsert AEG: given a new AEG and an xy coordinate at which the graph is to be inserted, find out if you can legally insert here without overlapping any bounding boxes.
remove AEG: given an xy coordinate, delete smallest the AEG containing this coordinate.