Index: /inundation/geospatial_data/geospatial_data.py
===================================================================
--- /inundation/geospatial_data/geospatial_data.py	(revision 3176)
+++ /inundation/geospatial_data/geospatial_data.py	(revision 3177)
@@ -175,12 +175,7 @@
         # represent the new geo-ref
         if  self.geo_reference is not None:
-            #print "self.geo_reference",self.geo_reference 
-            #print "geo_reference",geo_reference
             #FIXME: Maybe put out a warning here...
             self.data_points = self.get_data_points \
                                (geo_reference=geo_reference)
-            #self.data_points = geo_reference.change_points_geo_ref \
-            #                   (self.data_points, 
-            #                    self.geo_reference)
             
         self.geo_reference = geo_reference
@@ -205,4 +200,7 @@
         returned coordinates are relative to the internal georeference's
         xll and yll corners.
+
+        If a geo_reference is passed the points are returned relative
+        to that geo_reference.
 
         Default: absolute is True.
Index: /inundation/geospatial_data/test_geospatial_data.py
===================================================================
--- /inundation/geospatial_data/test_geospatial_data.py	(revision 3176)
+++ /inundation/geospatial_data/test_geospatial_data.py	(revision 3177)
@@ -921,6 +921,4 @@
         '''
 
-        #FIXME (Ole): I changed the georeference arbitrarily, but the test still passes.
-        
         # create files
         att_dict1 = {}
@@ -934,6 +932,5 @@
         att_dict2['elevation'] = array([1.0, 15.0, 1.4])
         att_dict2['brightness'] = array([14.0, 1.0, -12.4])
-        geo_reference2 = Geo_reference(56, 1.0, 2.0) #FIXME (Ole): I changed this, why does it still pass
-        #OK - it fails now, after the fix revealed by test_create_from_pts_file_with_geo')
+        geo_reference2 = Geo_reference(56, 1.0, 2.0) 
 
         G1 = Geospatial_data(pointlist1, att_dict1, geo_reference1)
Index: /inundation/pmesh/mesh.py
===================================================================
--- /inundation/pmesh/mesh.py	(revision 3176)
+++ /inundation/pmesh/mesh.py	(revision 3177)
@@ -13,6 +13,4 @@
    Geoscience Australia
 """
-import load_mesh.loadASCII
-import alpha_shape.alpha_shape
 
 import sys
@@ -29,4 +27,7 @@
 from coordinate_transforms.geo_reference import Geo_reference,DEFAULT_ZONE
 from utilities.polygon import point_in_polygon 
+import load_mesh.loadASCII
+import alpha_shape.alpha_shape
+from geospatial_data.geospatial_data import Geospatial_data, ensure_geospatial
 
 SET_COLOUR='red'
@@ -609,5 +610,15 @@
 
     
-    
+    def add_vertices(self, data):
+        data = ensure_geospatial(data)
+
+        # get points relative to the mesh geo_ref
+        points = data.get_data_points(geo_reference=self.geo_reference)
+        #FIXME finish....
+    
+        for point in points:
+            v=Vertex(point[0], point[1])
+            self.userVertices.append(v)
+            
     def add_hole_from_polygon(self, polygon, tags=None, geo_reference=None):
         """
@@ -853,5 +864,21 @@
         
     def getUserVertices(self):
+        """
+        Note: The x,y values will be relative to the mesh geo_reference
+        This returns a list of vertex objects
+        """
         return self.userVertices
+
+    def get_user_vertices(self, absolute=True):
+        """
+        This returns a list of (x,y) values
+        (maybe it should return a geospatical object?
+        It makes it a bit confusing though.)
+        """
+        pointlist=[]
+        for vertex in self.userVertices:
+            pointlist.append([vertex.x,vertex.y])
+        spat = Geospatial_data(pointlist, geo_reference=self.geo_reference)
+        return spat.get_data_points(absolute=absolute)
     
     def getUserSegments(self):
Index: /inundation/pmesh/test_mesh.py
===================================================================
--- /inundation/pmesh/test_mesh.py	(revision 3176)
+++ /inundation/pmesh/test_mesh.py	(revision 3177)
@@ -11,4 +11,5 @@
 from load_mesh.loadASCII import *
 from coordinate_transforms.geo_reference import Geo_reference
+from geospatial_data.geospatial_data import Geospatial_data
 from utilities.polygon import  is_inside_polygon ### inside_polygon
 
@@ -2052,4 +2053,47 @@
         self.failUnless(4==len(vert),
                         'FAILED!')
+   
+    def test_add_vertices(self):
+        points_ab = [[0.1,1],[0.4,.2],[7,5],[10,5]]
+        geo =  Geo_reference(56,23,21)
+        points = geo.change_points_geo_ref(points_ab)
+        spat = Geospatial_data(points, geo_reference=geo)
+        
+        geo_mesh =  Geo_reference(56,100,200)
+        m = Mesh(geo_reference=geo_mesh)
+        m.add_vertices(spat)
+
+        vert = m.getUserVertices()
+        #print "vert",vert 
+        self.failUnless(4==len(vert),
+                        'FAILED!')
+        vert= m.get_user_vertices(absolute=True)
+        self.failUnless(vert==points_ab,
+                        'FAILED!')
+        
+     
+    def test_get_user_vertices(self):
+        points_ab = [[0.1,1],[0.4,.2],[7,5],[10,5]]
+        geo =  Geo_reference(56,23,21)
+        points = geo.change_points_geo_ref(points_ab)
+        spat = Geospatial_data(points, geo_reference=geo)
+        
+        geo_mesh =  Geo_reference(56,100,200)
+        m = Mesh(geo_reference=geo_mesh)
+        m.add_vertices(spat)
+
+        vert = m.getUserVertices()
+        #print "vert",vert 
+        self.failUnless(4==len(vert),
+                        'FAILED!')
+        vert= m.get_user_vertices(absolute=True)
+        self.failUnless(vert==points_ab,
+                        'FAILED!')
+        vert= m.get_user_vertices(absolute=False)
+        points_new = m.geo_reference.get_absolute(vert)
+        
+        self.failUnless(points_ab==points_new,
+                        'FAILED!')
+        
         
 def list_comp(A,B):
