// -----------------------------------------------------------------
// apply algos that do not require descretized boundaries, starting
// from the most complex shapes
// -----------------------------------------------------------------
// apply algos that do not require descretized boundaries, starting
// from the most complex shapes