def _build_regular_mesh_dict(self, maxArea=1000, is_segments=True, save=False, geo=None): # make a normalised mesh # pretty regular size, with some segments thrown in. # don't pass in the geo ref. # it is applied in domain m = Mesh() #geo_reference=geo) m.addUserVertex(0, 0) m.addUserVertex(1.0, 0) m.addUserVertex(0, 1.0) m.addUserVertex(1.0, 1.0) m.auto_segment(alpha=100) if is_segments: dict = {} dict['points'] = [[.10, .10], [.90, .20]] dict['segments'] = [[0, 1]] dict['segment_tags'] = ['wall1'] m.addVertsSegs(dict) dict = {} dict['points'] = [[.10, .90], [.40, .20]] dict['segments'] = [[0, 1]] dict['segment_tags'] = ['wall2'] m.addVertsSegs(dict) dict = {} dict['points'] = [[.20, .90], [.60, .60]] dict['segments'] = [[0, 1]] dict['segment_tags'] = ['wall3'] m.addVertsSegs(dict) dict = {} dict['points'] = [[.60, .20], [.90, .90]] dict['segments'] = [[0, 1]] dict['segment_tags'] = ['wall4'] m.addVertsSegs(dict) m.generateMesh(mode="Q", maxArea=maxArea, minAngle=20.0) if save is True: m.export_mesh_file("aaaa.tsh") mesh_dict = m.Mesh2IOTriangulationDict() #Add vert attribute info to the mesh mesh_dict['vertex_attributes'] = [] # There has to be a better way of doing this.. for vertex in mesh_dict['vertices']: mesh_dict['vertex_attributes'].append([10.0]) return mesh_dict