Index: /inundation/ga/storm_surge/alpha_shape/test_alpha_shape.py
===================================================================
--- /inundation/ga/storm_surge/alpha_shape/test_alpha_shape.py	(revision 1218)
+++ /inundation/ga/storm_surge/alpha_shape/test_alpha_shape.py	(revision 1219)
@@ -202,4 +202,37 @@
 
 
+    def test_expand_pinch(self):
+        a = [1.0, 1.0]
+        b = [1.0, 5.0]
+        c = [4.0, 3.0]
+        d = [8.0, 5.0]
+        e = [8.0, 1.0]
+
+        alpha = Alpha_Shape([a,b,c,d,e])
+        alpha.set_boundary_type(raw_boundary=True,
+                          remove_holes=False,
+                          smooth_indents=False,
+                          expand_pinch=True)
+        result = alpha.get_boundary()
+        #print "result",result
+        answer = [(1, 0), (4, 3), (0, 4), (3, 1)]
+        assert allclose(answer, result)
+  
+    def ztest_sharp_indents(self):
+        a = [1.0, 1.0]
+        b = [1.0, 5.0]
+        c = [4.0, 3.0]
+        d = [8.0, 5.0]
+        e = [8.0, 1.0]
+
+        alpha = Alpha_Shape([a,b,c,d,e])
+        alpha.set_boundary_type(raw_boundary=True,
+                          remove_holes=False,
+                          smooth_indents=False,
+                          expand_pinch=True)
+        result = alpha.get_boundary()
+        #print "result",result
+        answer = [(1, 0), (4, 3), (0, 4), (3, 1)]
+        assert allclose(answer, result)      
 #-------------------------------------------------------------
 if __name__ == "__main__":
Index: /inundation/ga/storm_surge/pmesh/documentation/issues.txt
===================================================================
--- /inundation/ga/storm_surge/pmesh/documentation/issues.txt	(revision 1218)
+++ /inundation/ga/storm_surge/pmesh/documentation/issues.txt	(revision 1219)
@@ -3,74 +3,13 @@
 OPEN - issues that have not beeen resolved
 
-
-
-Issue: triangles_to_polySet (outlining the current set) sometimes duplicates vertices.
-Now that is fixed, but segments that overlap (ie one big line that gets little ones drawn on it) break triangle.
-
-Suggested action: make a dictionary of Hough transforms (parametric lines i.e. angle, x-intercept) of the segments. Check any that take up the same space. Fix overlapping lines.
-
-
-Issue: If some triangles have tags and others don't then the data
-structure (a list of lists) is dificult to use in Numeric.
- eg.
-SyntaxError: invalid syntax
->>> a = array(['a','b']); print a
-[a b]
->>> a = array(['a','b','']); print a
-Traceback (most recent call last):
-  File "<stdin>", line 1, in ?
-TypeError: an integer is required
->>> a = array([['a'],['b'],['']]); print a
-Traceback (most recent call last):
-  File "<stdin>", line 1, in ?
-TypeError: an integer is required
->>> a = array([['a'],['b'],['']]).astype(ListType); print a
-Traceback (most recent call last):
-  File "<stdin>", line 1, in ?
-TypeError: an integer is required
->>> a = array([['a'],['b'],['c']]).astype(ListType); print a
-Traceback (most recent call last):
-  File "<stdin>", line 1, in ?
-TypeError: an integer is required
->>> a = array(['a','b','']); print a
-Traceback (most recent call last):
-  File "<stdin>", line 1, in ?
-TypeError: an integer is required
->>> a = array(['a','b','c']); print a
-[a b c]
->>> a = array([['a'],['b'],['c']]); print a
-Traceback (most recent call last):
-  File "<stdin>", line 1, in ?
-TypeError: an integer is required
->>> a = array([['a'],['a'],['a']]); print a
-Traceback (most recent call last):
-  File "<stdin>", line 1, in ?
-TypeError: an integer is required
->>> a = array([['a'],['a'],['a']]); print a
-Traceback (most recent call last):
-  File "<stdin>", line 1, in ?
-TypeError: an integer is required
->>> a = array([['a'],['a'],['a']], Character); print a
-[[  [a]]
- [  [a]]
- [  [a]]]
->>> a = array([['a'],['a'],['']], Character); print a
-Traceback (most recent call last):
-  File "<stdin>", line 1, in ?
-TypeError: an integer is required
->>> a = array([['a'],['a'],['','a']], Character); print a
-Traceback (most recent call last):
-  File "<stdin>", line 1, in ?
-TypeError: an integer is required
->>> a = array([['a','j'],['a','j'],['j','a']], Character); print a
-Traceback (most recent call last):
-  File "<stdin>", line 1, in ?
-TypeError: an integer is required
->>> a = array(['a','a',''], Character); print a
-[[a]
- [a]
- [ ]]
-Solution -  use a list structure, instead of list of lists 
- 
+Issue: Add export seg outline file back into pmesh
+
+Issue: triangles_to_polySet (outlining the current set) sometimes
+duplicates vertices.  Now that is fixed, but segments that overlap (ie
+one big line that gets little ones drawn on it) break triangle.
+
+Suggested action: make a dictionary of Hough transforms (parametric
+lines i.e. angle, x-intercept) of the segments. Check any that take up
+the same space. Fix overlapping lines.
 
 Issue: Red mesh selected for refinement seems to be 'behind' the green
@@ -169,5 +108,9 @@
 CLOSED - issues that have  beeen resolved
 ************
-
+Issue: If some triangles have tags and others don't then the data
+structure (a list of lists) is dificult to use in Numeric.
+Solution -  use a list structure, instead of list of lists 
+Closed -  used a list structure, instead of list of lists 
+ 
 Issue (Ole): I couldn't get pmesh to write mesh in the .msh format
 Importance: Mid
Index: /inundation/ga/storm_surge/pmesh/documentation/mesh_gen_SRS.txt
===================================================================
--- /inundation/ga/storm_surge/pmesh/documentation/mesh_gen_SRS.txt	(revision 1218)
+++ /inundation/ga/storm_surge/pmesh/documentation/mesh_gen_SRS.txt	(revision 1219)
@@ -157,19 +157,29 @@
   the user has done a change, and the mesh hasn't been generated.  If
   there is no generated mesh do not prompt. - DONE
-  
+
+access to triangle mesh generator,
+	  user can select  max area in region - P80 - DONE
+ 
+- .xya file, which has vertex information, will have headers naming
+the attributes in the first row.  The headers will be strings
+representing a label for the attribute information.  This information
+will be space deliminated.  There will be no ordering imposed.  The
+name, column index mapping will be in the .tsh file.
+      - x and y headings are manitory. - not done, requirements changed
+      - Missing fields will cause an error during loading of the xya file.
+
+ 
  NOT IMPLIMENTED
- 
-- specify a function that is used to set the vertex attribute values [maybe
-  not have this at all, rather a python script can be written to
- specify the values]- DONT DO
-- edit vertex attribute -P40
-
-- specify if there is segment attribute information. [there is always
-  seg att info. therefore don't need to specify]-P40 
-  
+- show file name in title bar
+ 
+- Have a divide all max areas by value x function. - P80
+
+- triang.genMesh - get triangle compiled automatically. 
+
+- able to specify a 'circular' region by specifying center, radius and
+  number of number of segments. (The functionality is there as a hack.
+   need to add gui etc.) - P100
+   
 - Display mouse point position [x,y] - P60
-
-access to triangle mesh generator,
-	  user can select  max area in region - P80
 
 - Calculate total area enclosed (maybe a buton?) -P80
@@ -229,16 +239,5 @@
 - run triangle as a seperate thread, so if it's not converging it can
 be stopped. - P100
-
- REQUIREMENTS FROM 28/6/04 MEETING
- 
-- .xya file, which has vertex information, will have headers naming
-the attributes in the first row.  The headers will be strings
-representing a label for the attribute information.  This information
-will be space deliminated.  There will be no ordering imposed.  The
-name, column index mapping will be in the .tsh file.
-      - x and y headings are manitory.
-      - Missing fields will cause an error during loading of the xya file.
-
-
+ 
 -  
 __________________
Index: /inundation/ga/storm_surge/pmesh/load_mesh/loadASCII.py
===================================================================
--- /inundation/ga/storm_surge/pmesh/load_mesh/loadASCII.py	(revision 1218)
+++ /inundation/ga/storm_surge/pmesh/load_mesh/loadASCII.py	(revision 1219)
@@ -47,6 +47,12 @@
     Points files are .xya for ascii and .pts for NetCDF
     Mesh files are .tsh for ascii and .msh for NetCDF
-    
+
+    Note: point att's have no titles - that's currently ok, since least
+    squares adds the point info to vertices, and they have titles
 """
+##FIXME (DSG-DSG) Is the dict format mentioned above a list of a numeric array?
+#  Needs to be defined
+##FIXME (DSG-DSG) if the ascii file isn't .xya give a better error message.
+
 
 from string import  find, rfind
@@ -61,5 +67,6 @@
 NOMAXAREA=-999
 
-#FIXME this is used by least_squares - is this the best function for it to use?
+#FIXME (DSG-DSG) this is used by least_squares -
+#                   is this the best function for it to use?
 def mesh_file_to_mesh_dictionary(fileName):
     """Load a pmesh file.  Returning the mesh dictionary.
Index: /inundation/ga/storm_surge/pyvolution/interpolate_sww.py
===================================================================
--- /inundation/ga/storm_surge/pyvolution/interpolate_sww.py	(revision 1218)
+++ /inundation/ga/storm_surge/pyvolution/interpolate_sww.py	(revision 1219)
@@ -19,4 +19,6 @@
    Geoscience Australia, 2004.   
 """
+
+##FIXME (DSG-DSG)  no sww file? give a better error message.
 
 from Numeric import transpose
Index: /inundation/ga/storm_surge/pyvolution/region.py
===================================================================
--- /inundation/ga/storm_surge/pyvolution/region.py	(revision 1218)
+++ /inundation/ga/storm_surge/pyvolution/region.py	(revision 1219)
@@ -6,5 +6,5 @@
 operate.
 """
-
+# FIXME (DSG-DSG) add better comments
 
 class Region:
