TickitRectSet - store a collection of rectangular areas


#include <tickit.h> 
typedef struct TickitRectSet;


A TickitRectSet instance stores a collection of rectangular areas as non-overlapping regions. Mutation operations allow areas to be added or subtracted. Query operations allow testing for area containment, intersection, or iterating the stored regions.


A new TickitRectSet instance is created using the tickit_rectset_new(3) function, and destroyed using tickit_rectset_destroy(3).

Rectangular areas can be added using tickit_rectset_add(3) and subtracted using tickit_rectset_subtract(3). The TickitRectSet can be emptied of regions entirely by using tickit_rectset_clear(3). The entire set of regions can be uniformly moved using tickit_rectset_translate(3).

The stored regions can be queried by using tickit_rectset_rects(3) and tickit_rectset_get_rects(3). An area can be tested to see if it is entirely contained in the set using tickit_rectset_contains(3), or that it intersects at all using tickit_rectset_intersects(3).