]> granicus.if.org Git - postgis/commitdiff
Add notes and TODO items about the edge-adding functions [RT-SIGTA]
authorSandro Santilli <strk@keybit.net>
Thu, 22 Sep 2011 09:14:43 +0000 (09:14 +0000)
committerSandro Santilli <strk@keybit.net>
Thu, 22 Sep 2011 09:14:43 +0000 (09:14 +0000)
See ticket #1205

git-svn-id: http://svn.osgeo.org/postgis/trunk@7882 b70326c6-7e19-0410-871a-916f4a2858ee

topology/sql/sqlmm.sql

index 21ac8a9379c58c01aa4ae522a3b98ab258cac2fb..901c53ac941f1f7c88cceabf4272ea5630a7b19f 100644 (file)
@@ -3114,7 +3114,15 @@ BEGIN
       newedge.edge_id, newedge.left_face;
 
   -- Call topology.AddFace for every face containing the new edge
+  -- 
   -- The ORDER serves predictability of which face is added first
+  -- TODO: order so to have the face on the _right_ side created first,
+  --       see http://trac.osgeo.org/postgis/ticket/1205
+  --
+  -- TODO: in presence of holes every hole would share a boundary
+  --       with its shell, research on improving performance by avoiding
+  --       the multiple scans.
+  --
   FOR rec IN SELECT geom FROM ST_Dump(fan.post)
              WHERE ST_Contains(
                 ST_Boundary(geom),
@@ -3748,6 +3756,11 @@ BEGIN
       newedge.edge_id, newedge.left_face;
 
   -- Call topology.AddFace for every face whose boundary contains the new edge
+  --
+  -- TODO: in presence of holes every hole would share a boundary
+  --       with its shell, research on improving performance by avoiding
+  --       the multiple scans.
+  --
   p1 = ST_StartPoint(newedge.cleangeom);
   p2 = ST_PointN(newedge.cleangeom, 2);
   FOR rec IN SELECT geom FROM ST_Dump(fan.post)
@@ -3755,6 +3768,10 @@ BEGIN
                 ST_Boundary(geom),
                 ST_MakeLine(p1, p2)
                 )
+  --
+  -- TODO: order so to have the face on the _right_ side created first,
+  --       see http://trac.osgeo.org/postgis/ticket/1205
+  --
   LOOP -- {
 
     -- NOTE: the only difference with ST_AddEdgeNewFace here is