level-set data structures