Research Article

Incremental Construction of Generalized Voronoi Diagrams on Pointerless Quadtrees

Algorithm 2

Pseudocode for updating a GVD.
MarkSiteCell ( ( ; , ), )
31. Dist 0
32. Obst.UpdateANode( , )
33. Check.UpdateANode( , true)
34. Open.push( , 0)
End
FreeSiteCell ( ( ; , ))
35. Obst.UpdateANode( , 1)
36. Raise. UpdateANode( , true)
37. Dist
38. Check.UpdateANode( , true)
39.  Open.push( , 0)
End
UpdateGVD ()
40.  while  Open is not empty
41.    ( ; , (Open)
42.    .QueryANode( )
43.   if   = true
44.   ProcessRaise( )
45.  else
46.    .QueryANode(m)
47.    if   1
48.  Voro.UpdateANode(m,false)
49.    ProcessLower(m)
End