- boundingBox
box2i boundingBox(box2i[] boxes)
- boxSubtraction
void boxSubtraction(box2i A, box2i C, box2i D, box2i E, box2i F, box2i G)
Make 4 boxes that are A without C (C is contained in A)
Some may be empty though since C touch at least one edge of A
General case
+---------+ +---------+
| A | | D |
| +---+ | After split +--+---+--+
| | C | | => | E| |F | At least one of D, E, F or G is empty
| +---+ | +--+---+--+
| | | G |
+---------+ +---------+
- haveNoOverlap
bool haveNoOverlap(box2i[] areas)
- makeDirtyRectList
DirtyRectList makeDirtyRectList()
Undocumented in source. Be warned that the author may not have intended to support it.
- removeOverlappingAreas
void removeOverlappingAreas(Vec!box2i boxes, Vec!box2i filtered)
Undocumented in source. Be warned that the author may not have intended to support it.
- tileAreas
void tileAreas(box2i[] areas, int maxWidth, int maxHeight, Vec!box2i splitted)
Undocumented in source. Be warned that the author may not have intended to support it.
Internal. Operations on list of 2D boxes.