Changeset 1074


Ignore:
Timestamp:
Mar 14, 2005, 1:39:46 PM (20 years ago)
Author:
duncan
Message:

extra features for addvertsSegs

Location:
inundation/ga/storm_surge/pmesh
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • inundation/ga/storm_surge/pmesh/create_gong.py

    r1048 r1074  
    6868    high = m.addRegionEN(inner_east-0.5,bellambi_northing-0.5)
    6969    high.setMaxArea(5*factor) #doing 0.5, fac = 1000 gives degenerate error
    70     m.generateMesh()
     70    #m.generateMesh()
     71    m.generateMesh("pzq28.0za1000000a")
    7172   
    72     m.export_triangulation_file("wollongong_highres.msh")
     73    m.export_mesh_file("wollongong_highres_a28.msh")
     74    #m.export_mesh_file("wollongong_highres_a28.tsh")
    7375   
  • inundation/ga/storm_surge/pmesh/mesh.py

    r1069 r1074  
    11291129        """
    11301130        Add out-line (user Mesh) attributes given a dictionary of the lists
    1131         point list: [(x1,y1),(x2,y2),...] (Tuples of doubles) 
    1132         segment list: [(point1,point2),(p3,p4),...] (Tuples of integers)
    1133         #segment tag list: [S1Tag, S2Tag, ...] (list of ints)
     1131        points: [(x1,y1),(x2,y2),...] (Tuples of doubles) 
     1132        segments: [(point1,point2),(p3,p4),...] (Tuples of integers)
     1133        segment_tags: [S1Tag, S2Tag, ...] (list of strings)
    11341134
    11351135        Assume the values are in Eastings and Northings, with no reference
    11361136        point
    11371137        """
    1138 
     1138        if not outlineDict.has_key('segment_tags'):
     1139            outlineDict['segment_tags'] = []
     1140            for i in range(len(outlineDict['segments'])):
     1141                outlineDict['segment_tags'].append('')
     1142        print "outlineDict['segment_tags']",outlineDict['segment_tags']
     1143        print "outlineDict['points']",outlineDict['points']
     1144        print "outlineDict['segments']",outlineDict['segments']
     1145       
    11391146        localUserVertices = []
    11401147        #index = 0
    1141         for point in outlineDict['pointlist']:
     1148        for point in outlineDict['points']:
    11421149            v=Vertex(point[0]-self.geo_reference.xllcorner,
    11431150                     point[1]-self.geo_reference.yllcorner)
     
    11481155           
    11491156        #index = 0
    1150         for seg in map(None,outlineDict['segmentlist']):
     1157        for seg,seg_tag in map(None,outlineDict['segments'],
     1158                       outlineDict['segment_tags']):
    11511159            segObject = Segment( localUserVertices[seg[0]],
    11521160                           localUserVertices[seg[1]] )
     1161            if not seg_tag == '':
     1162                segObject.set_tag(seg_tag)
    11531163            #segObject.index = index
    11541164            #index +=1
     
    22502260    #print "segments", segments
    22512261    ungenerated_dict = {}
    2252     ungenerated_dict['pointlist'] = points
    2253     ungenerated_dict['segmentlist'] = segments
     2262    ungenerated_dict['points'] = points
     2263    ungenerated_dict['segments'] = segments
    22542264    return ungenerated_dict
    22552265
  • inundation/ga/storm_surge/pmesh/meshHarness.py

    r1073 r1074  
    10931093        m.addVertsSegs(dict)
    10941094
    1095         # have to reset this , since it's a class attribute
    1096         Segment.set_default_tag("")
    1097            
    10981095        self.failUnless(len(m.userSegments) ==10,
    10991096                        'Wrong segment list length.')
    11001097        self.failUnless(len(m.userVertices) == 11,
    11011098                        'Wrong vertex list length.')
    1102 
     1099       
     1100    def test_addVertsSegs(self):
     1101        m = Mesh()
     1102        Segment.set_default_tag("food")
     1103        dict = {}
     1104        dict['points'] = [[0.0, 0.0], [1.0, 0.0], [1.0, 1.0]]
     1105        dict['segments'] = [[0, 1], [1, 2]]
     1106        dict['segment_tags'] = ['','do-op']
     1107        m.addVertsSegs(dict)
     1108        # have to reset this , since it's a class attribute
     1109        Segment.set_default_tag("")
     1110
     1111       
     1112        self.failUnless(len(m.userSegments) ==2,
     1113                        'Wrong segment list length.')
     1114        self.failUnless(len(m.userVertices) == 3,
     1115                        'Wrong vertex list length.')
     1116        self.failUnless(m.userSegments[0].tag =='food',
     1117                        'Wrong segment tag length.')
     1118        self.failUnless(m.userSegments[1].tag =='do-op',
     1119                        'Wrong segment tag.')
     1120       
    11031121    def test_exportASCIImeshfile(self):
    11041122   
     
    13961414if __name__ == "__main__":
    13971415    suite = unittest.makeSuite(meshTestCase,'test')
    1398     #suite = unittest.makeSuite(meshTestCase,'test_import_mesh')
     1416    #suite = unittest.makeSuite(meshTestCase,'test_asciiFile')
    13991417    runner = unittest.TextTestRunner() #verbosity=2)
    14001418    runner.run(suite)
  • inundation/ga/storm_surge/pmesh/scripts/create_gong.py

    r1038 r1074  
    11
     2import os, sys
     3sys.path.append('..')
    24
     5#problem, it's loading pyvolution mesh 1st!
    36from mesh import *
    4 #from load_mesh.loadASCII import *
    57from coordinate_transforms.geo_reference import Geo_reference
    68
     
    5052    m.addVertsSegs(dict)
    5153
    52     factor = 1000
     54    factor = 10000 #low res 10000, high res 1000
    5355    low = m.addRegionEN(east-0.5, bellambi_northing + border-0.5)
    5456    low.setMaxArea(100*factor)
     
    5961    high = m.addRegionEN(inner_east-0.5,bellambi_northing-0.5)
    6062    high.setMaxArea(1*factor)
    61     #m.generateMesh()
     63    m.generateMesh()
    6264   
    6365    m.export_triangulation_file("wollongong_outline.msh")
Note: See TracChangeset for help on using the changeset viewer.