A Topology Oriented Algorithm for the Voronoi Diagram of Polygons