offset algorithm with GreinerHormann excluded