as it stands it requires "boundary_normals" as a parameter, which are only valid for non-concave boundaries.