def finalfill(source, target): count = 0 for point in source.verts: newvert = vefm_271.vertex(point.vector) target.verts.append(newvert) point.index = count count += 1 for facey in source.faces: row = len(facey.vertices) if row >= 5: newvert = vefm_271.average(facey.vertices).centroid() centre = vefm_271.vertex(newvert.vector) target.verts.append(centre) for i in range(row): if i == row - 1: a = target.verts[facey.vertices[-1].index] b = target.verts[facey.vertices[0].index] else: a = target.verts[facey.vertices[i].index] b = target.verts[facey.vertices[i + 1].index] c = centre f = [a, b, c] target.faces.append(f) else: f = [] for j in range(len(facey.vertices)): a = facey.vertices[j] f.append(target.verts[a.index]) target.faces.append(f)
def finalfill(source,target): count=0 for point in source.verts: newvert = vefm_271.vertex(point.vector) target.verts.append(newvert) point.index = count count += 1 for facey in source.faces: row=len(facey.vertices) if row >= 5: newvert = vefm_271.average(facey.vertices).centroid() centre = vefm_271.vertex(newvert.vector) target.verts.append(centre) for i in range(row): if i == row - 1: a = target.verts[facey.vertices[-1].index] b = target.verts[facey.vertices[0].index] else: a = target.verts[facey.vertices[i].index] b = target.verts[facey.vertices[i+1].index] c = centre f = [a,b,c] target.faces.append(f) else: f = [] for j in range(len(facey.vertices)): a = facey.vertices[j] f.append(target.verts[a.index]) target.faces.append(f)
def __init__(self, count, skeletonedge, shortflag, parentgeo): self.points = [] self.edges = [] self.vect = skeletonedge.vect self.step = skeletonedge.vect / float(count) ## Make a row of evenly spaced points. for i in range(count + 1): vert1 = skeletonedge.a vert2 = skeletonedge.b if i == 0: if parentgeo.vertsdone[vert1.index][0]: self.points.append(parentgeo.vertsdone[vert1.index][1]) else: #PKHG test 20111030 # newpoint = vertex((vert1.x, vert1.y, vert1.z)) newpoint = vertex(vert1.vector) vertcount = len(parentgeo.verts) self.points.append(vertcount) newpoint.index = vertcount parentgeo.vertsdone[vert1.index] = [1, vertcount] parentgeo.verts.append(newpoint) elif i == count: if parentgeo.vertsdone[vert2.index][0]: self.points.append(parentgeo.vertsdone[vert2.index][1]) else: #PKHG test 20111030 # newpoint = vertex((vert2.x, vert2.y, vert2.z)) newpoint = vertex(vert2.vector) vertcount = len(parentgeo.verts) self.points.append(vertcount) newpoint.index = vertcount parentgeo.vertsdone[vert2.index] = [1, vertcount] parentgeo.verts.append(newpoint) else: newpoint = vertex(vert1.vector + (self.step * i)) #must be a vertex! vertcount = len(parentgeo.verts) self.points.append(vertcount) newpoint.index = vertcount parentgeo.verts.append(newpoint) for i in range(count): a = parentgeo.verts[self.points[i]] b = parentgeo.verts[self.points[i + 1]] line = edge(a, b) self.edges.append(len(parentgeo.edges)) parentgeo.edges.append(line)
def __init__(self, count, skeletonedge, shortflag, parentgeo): self.points = [] self.edges = [] self.vect = skeletonedge.vect self.step = skeletonedge.vect / float(count) ## Make a row of evenly spaced points. for i in range(count + 1): vert1 = skeletonedge.a vert2 = skeletonedge.b if i == 0: if parentgeo.vertsdone[vert1.index][0]: self.points.append(parentgeo.vertsdone[vert1.index][1]) else: # PKHG test 20111030 # newpoint = vertex((vert1.x, vert1.y, vert1.z)) newpoint = vertex(vert1.vector) vertcount = len(parentgeo.verts) self.points.append(vertcount) newpoint.index = vertcount parentgeo.vertsdone[vert1.index] = [1, vertcount] parentgeo.verts.append(newpoint) elif i == count: if parentgeo.vertsdone[vert2.index][0]: self.points.append(parentgeo.vertsdone[vert2.index][1]) else: # PKHG test 20111030 # newpoint = vertex((vert2.x, vert2.y, vert2.z)) newpoint = vertex(vert2.vector) vertcount = len(parentgeo.verts) self.points.append(vertcount) newpoint.index = vertcount parentgeo.vertsdone[vert2.index] = [1, vertcount] parentgeo.verts.append(newpoint) else: newpoint = vertex(vert1.vector + (self.step * i)) # must be a vertex! vertcount = len(parentgeo.verts) self.points.append(vertcount) newpoint.index = vertcount parentgeo.verts.append(newpoint) for i in range(count): a = parentgeo.verts[self.points[i]] b = parentgeo.verts[self.points[i + 1]] line = edge(a, b) self.edges.append(len(parentgeo.edges)) parentgeo.edges.append(line)
def sphere2cartesian(self): # PKHG_TODOnot_now check_contains(self,"sphereto self",True) for i in range(len(self.verts)): if self.cart: # PKHG test 20111030 # x = self.verts[i].x * self.radius * self.eccentricity # y = self.verts[i].y * self.radius # z = self.verts[i].z * self.radius * self.squish x = self.verts[i].vector.x * self.radius * self.eccentricity y = self.verts[i].vector.y * self.radius z = self.verts[i].vector.z * self.radius * self.squish else: u = self.sphericalverts[i][0] v = self.sphericalverts[i][1] if self.squish != 1.0 or self.eccentricity > 1.0: scalez = 1 / self.squish v = self.ellipsecomp(scalez, v) u = self.ellipsecomp(self.eccentricity, u) if self.super: r1 = self.superell(self.square, u, self.rotxy) r2 = self.superell(self.squarez, v, self.rotz) else: r1 = 1.0 r2 = 1.0 # print "sform",self.sform," u",u," v",v if self.sform[12]: r1 = r1 * self.superform( self.sform[0], self.sform[1], self.sform[2], self.sform[3], self.sform[14] + u, self.sform[4], self.sform[5], self.sform[16] * v, ) if self.sform[13]: r2 = r2 * self.superform( self.sform[6], self.sform[7], self.sform[8], self.sform[9], self.sform[15] + v, self.sform[10], self.sform[11], self.sform[17] * v, ) x, y, z = self.cartesian(u, v, r1, r2) # PKHG test 20111030 # self.verts[i].x = x # self.verts[i].y = y # self.verts[i].z = z self.verts[i] = vertex((x, y, z))
def set_vert_edge_skeleons(self): self.vertskeleton = [ vertex((-1.41421356237, -0.816496580927, 0.57735026919)), vertex((1.41421356237, -0.816496580927, 0.57735026919)), vertex((0.0, 1.63299316185, 0.577350269185)), vertex((0.0, 0.0, -1.73205080757)) ] self.edgeskeleton = [ edge(self.vertskeleton[0], self.vertskeleton[1]), edge(self.vertskeleton[2], self.vertskeleton[1]), edge(self.vertskeleton[2], self.vertskeleton[0]), edge(self.vertskeleton[0], self.vertskeleton[3]), edge(self.vertskeleton[1], self.vertskeleton[3]), edge(self.vertskeleton[2], self.vertskeleton[3]) ] self.panelpoints = [[2, 0, 1], [0, 1, 3], [2, 1, 3], [2, 0, 3]] self.paneledges = [[2, 1, 0], [0, 3, 4], [1, 5, 4], [2, 5, 3]] self.reversepanel = [1, 3] self.edgelength = [] self.vertsdone = [[0, 0]] * len(self.vertskeleton)
def set_vert_edge_skeleons(self): self.vertskeleton = [ vertex((-1.41421356237, -0.816496580927, 0.57735026919)), vertex((1.41421356237, -0.816496580927, 0.57735026919)), vertex((0.0, 1.63299316185, 0.577350269185)), vertex((0.0, 0.0, -1.73205080757)), ] self.edgeskeleton = [ edge(self.vertskeleton[0], self.vertskeleton[1]), edge(self.vertskeleton[2], self.vertskeleton[1]), edge(self.vertskeleton[2], self.vertskeleton[0]), edge(self.vertskeleton[0], self.vertskeleton[3]), edge(self.vertskeleton[1], self.vertskeleton[3]), edge(self.vertskeleton[2], self.vertskeleton[3]), ] self.panelpoints = [[2, 0, 1], [0, 1, 3], [2, 1, 3], [2, 0, 3]] self.paneledges = [[2, 1, 0], [0, 3, 4], [1, 5, 4], [2, 5, 3]] self.reversepanel = [1, 3] self.edgelength = [] self.vertsdone = [[0, 0]] * len(self.vertskeleton)
def set_vert_edge_skeleons(self): self.vertskeleton = [ vertex((0.0, 0.0, 1.0)), vertex((0.0, 1.0, 0.0)), vertex((-1.0, 0.0, 0.0)), vertex((0.0, -1.0, 0.0)), vertex((1.0, 0.0, 0.0)), vertex((0.0, 0.0, -1.0)), ] for i in range(len(self.vertskeleton)): self.vertskeleton[i].index = i self.edgeskeleton = [ edge(self.vertskeleton[0], self.vertskeleton[1]), edge(self.vertskeleton[0], self.vertskeleton[2]), edge(self.vertskeleton[0], self.vertskeleton[3]), edge(self.vertskeleton[0], self.vertskeleton[4]), edge(self.vertskeleton[1], self.vertskeleton[2]), edge(self.vertskeleton[2], self.vertskeleton[3]), edge(self.vertskeleton[3], self.vertskeleton[4]), edge(self.vertskeleton[4], self.vertskeleton[1]), edge(self.vertskeleton[1], self.vertskeleton[5]), edge(self.vertskeleton[2], self.vertskeleton[5]), edge(self.vertskeleton[3], self.vertskeleton[5]), edge(self.vertskeleton[4], self.vertskeleton[5]), ] self.panelpoints = [[0, 1, 2], [0, 2, 3], [0, 3, 4], [0, 4, 1], [1, 2, 5], [2, 3, 5], [3, 4, 5], [4, 1, 5]] self.paneledges = [[0, 1, 4], [1, 2, 5], [2, 3, 6], [3, 0, 7], [4, 8, 9], [5, 9, 10], [6, 10, 11], [7, 11, 8]] self.reversepanel = [4, 5, 6, 7] self.edgelength = [] self.vertsdone = [[0, 0]] * len(self.vertskeleton)
def set_vert_edge_skeleons(self): self.vertskeleton = [ vertex((0.0, -0.707106781187, 0.707106781187)), vertex((0.0, 0.707106781187, 0.707106781187)), vertex((1.0, 0.0, 0.0)), vertex((-1.0, 0.0, 0.0)), vertex((0.0, -0.707106781187, -0.707106781187)), vertex((0.0, 0.707106781187, -0.707106781187)), ] self.edgeskeleton = [ edge(self.vertskeleton[0], self.vertskeleton[1]), edge(self.vertskeleton[0], self.vertskeleton[4]), edge(self.vertskeleton[0], self.vertskeleton[2]), edge(self.vertskeleton[1], self.vertskeleton[2]), edge(self.vertskeleton[1], self.vertskeleton[5]), edge(self.vertskeleton[1], self.vertskeleton[3]), edge(self.vertskeleton[0], self.vertskeleton[3]), edge(self.vertskeleton[2], self.vertskeleton[4]), edge(self.vertskeleton[2], self.vertskeleton[5]), edge(self.vertskeleton[3], self.vertskeleton[5]), edge(self.vertskeleton[3], self.vertskeleton[4]), edge(self.vertskeleton[4], self.vertskeleton[5]), ] self.panelpoints = [[0, 1, 2], [0, 1, 3], [0, 2, 4], [1, 2, 5], [1, 3, 5], [0, 3, 4], [2, 4, 5], [3, 4, 5]] self.paneledges = [[0, 2, 3], [0, 6, 5], [2, 1, 7], [3, 4, 8], [5, 4, 9], [6, 1, 10], [7, 8, 11], [10, 9, 11]] self.reversepanel = [0, 2, 4, 7] self.edgelength = [] self.vertsdone = [[0, 0]] * len(self.vertskeleton)
def set_vert_edge_skeleons(self): self.vertskeleton = [ vertex((0.408248458663, -0.707106781187, 0.577350150255)), vertex((0.408248458663, 0.707106781187, 0.577350150255)), vertex((-0.816496412728, 0.0, 0.577350507059)), vertex((-0.408248458663, -0.707106781187, -0.577350150255)), vertex((0.816496412728, 0.0, -0.577350507059)), vertex((-0.408248458663, 0.707106781187, -0.577350150255)), ] self.edgeskeleton = [ edge(self.vertskeleton[0], self.vertskeleton[1]), edge(self.vertskeleton[2], self.vertskeleton[1]), edge(self.vertskeleton[2], self.vertskeleton[0]), edge(self.vertskeleton[0], self.vertskeleton[3]), edge(self.vertskeleton[0], self.vertskeleton[4]), edge(self.vertskeleton[1], self.vertskeleton[4]), edge(self.vertskeleton[1], self.vertskeleton[5]), edge(self.vertskeleton[2], self.vertskeleton[5]), edge(self.vertskeleton[2], self.vertskeleton[3]), edge(self.vertskeleton[3], self.vertskeleton[4]), edge(self.vertskeleton[4], self.vertskeleton[5]), edge(self.vertskeleton[3], self.vertskeleton[5]), ] self.panelpoints = [[2, 0, 1], [0, 3, 4], [0, 1, 4], [1, 4, 5], [2, 1, 5], [2, 3, 5], [2, 0, 3], [3, 4, 5]] self.paneledges = [[2, 1, 0], [3, 4, 9], [0, 4, 5], [5, 6, 10], [1, 7, 6], [8, 7, 11], [2, 8, 3], [9, 11, 10]] self.reversepanel = [2, 5, 6, 7] self.edgelength = [] self.vertsdone = [[0, 0]] * len(self.vertskeleton)
def set_vert_edge_skeleons(self): self.vertskeleton = [ vertex((0.408248458663, -0.707106781187, 0.577350150255)), vertex((0.408248458663, 0.707106781187, 0.577350150255)), vertex((-0.816496412728, 0.0, 0.577350507059)), vertex((-0.408248458663, -0.707106781187, -0.577350150255)), vertex((0.816496412728, 0.0, -0.577350507059)), vertex((-0.408248458663, 0.707106781187, -0.577350150255)) ] self.edgeskeleton = [ edge(self.vertskeleton[0], self.vertskeleton[1]), edge(self.vertskeleton[2], self.vertskeleton[1]), edge(self.vertskeleton[2], self.vertskeleton[0]), edge(self.vertskeleton[0], self.vertskeleton[3]), edge(self.vertskeleton[0], self.vertskeleton[4]), edge(self.vertskeleton[1], self.vertskeleton[4]), edge(self.vertskeleton[1], self.vertskeleton[5]), edge(self.vertskeleton[2], self.vertskeleton[5]), edge(self.vertskeleton[2], self.vertskeleton[3]), edge(self.vertskeleton[3], self.vertskeleton[4]), edge(self.vertskeleton[4], self.vertskeleton[5]), edge(self.vertskeleton[3], self.vertskeleton[5]) ] self.panelpoints = [[2, 0, 1], [0, 3, 4], [0, 1, 4], [1, 4, 5], [2, 1, 5], [2, 3, 5], [2, 0, 3], [3, 4, 5]] self.paneledges = [[2, 1, 0], [3, 4, 9], [0, 4, 5], [5, 6, 10], [1, 7, 6], [8, 7, 11], [2, 8, 3], [9, 11, 10]] self.reversepanel = [2, 5, 6, 7] self.edgelength = [] self.vertsdone = [[0, 0]] * len(self.vertskeleton)
def set_vert_edge_skeleons(self): self.vertskeleton = [ vertex((0.0, -0.707106781187, 0.707106781187)), vertex((0.0, 0.707106781187, 0.707106781187)), vertex((1.0, 0.0, 0.0)), vertex((-1.0, 0.0, 0.0)), vertex((0.0, -0.707106781187, -0.707106781187)), vertex((0.0, 0.707106781187, -0.707106781187)) ] self.edgeskeleton = [ edge(self.vertskeleton[0], self.vertskeleton[1]), edge(self.vertskeleton[0], self.vertskeleton[4]), edge(self.vertskeleton[0], self.vertskeleton[2]), edge(self.vertskeleton[1], self.vertskeleton[2]), edge(self.vertskeleton[1], self.vertskeleton[5]), edge(self.vertskeleton[1], self.vertskeleton[3]), edge(self.vertskeleton[0], self.vertskeleton[3]), edge(self.vertskeleton[2], self.vertskeleton[4]), edge(self.vertskeleton[2], self.vertskeleton[5]), edge(self.vertskeleton[3], self.vertskeleton[5]), edge(self.vertskeleton[3], self.vertskeleton[4]), edge(self.vertskeleton[4], self.vertskeleton[5]) ] self.panelpoints = [[0, 1, 2], [0, 1, 3], [0, 2, 4], [1, 2, 5], [1, 3, 5], [0, 3, 4], [2, 4, 5], [3, 4, 5]] self.paneledges = [[0, 2, 3], [0, 6, 5], [2, 1, 7], [3, 4, 8], [5, 4, 9], [6, 1, 10], [7, 8, 11], [10, 9, 11]] self.reversepanel = [0, 2, 4, 7] self.edgelength = [] self.vertsdone = [[0, 0]] * len(self.vertskeleton)
def set_vert_edge_skeleons(self): self.vertskeleton = [ vertex((0.0, 0.0, 1.0)), vertex((0.0, 1.0, 0.0)), vertex((-1.0, 0.0, 0.0)), vertex((0.0, -1.0, 0.0)), vertex((1.0, 0.0, 0.0)), vertex((0.0, 0.0, -1.0)) ] for i in range(len(self.vertskeleton)): self.vertskeleton[i].index = i self.edgeskeleton = [ edge(self.vertskeleton[0], self.vertskeleton[1]), edge(self.vertskeleton[0], self.vertskeleton[2]), edge(self.vertskeleton[0], self.vertskeleton[3]), edge(self.vertskeleton[0], self.vertskeleton[4]), edge(self.vertskeleton[1], self.vertskeleton[2]), edge(self.vertskeleton[2], self.vertskeleton[3]), edge(self.vertskeleton[3], self.vertskeleton[4]), edge(self.vertskeleton[4], self.vertskeleton[1]), edge(self.vertskeleton[1], self.vertskeleton[5]), edge(self.vertskeleton[2], self.vertskeleton[5]), edge(self.vertskeleton[3], self.vertskeleton[5]), edge(self.vertskeleton[4], self.vertskeleton[5]) ] self.panelpoints = [[0, 1, 2], [0, 2, 3], [0, 3, 4], [0, 4, 1], [1, 2, 5], [2, 3, 5], [3, 4, 5], [4, 1, 5]] self.paneledges = [[0, 1, 4], [1, 2, 5], [2, 3, 6], [3, 0, 7], [4, 8, 9], [5, 9, 10], [6, 10, 11], [7, 11, 8]] self.reversepanel = [4, 5, 6, 7] self.edgelength = [] self.vertsdone = [[0, 0]] * len(self.vertskeleton)
def set_vert_edge_skeleons(self): self.vertskeleton = [ vertex((0.0, 0.0, 1.73205080757)), vertex((0.0, -1.63299316185, -0.577350269185)), vertex((1.41421356237, 0.816496580927, -0.57735026919)), vertex((-1.41421356237, 0.816496580927, -0.57735026919)) ] self.edgeskeleton = [ edge(self.vertskeleton[0], self.vertskeleton[1]), edge(self.vertskeleton[0], self.vertskeleton[2]), edge(self.vertskeleton[0], self.vertskeleton[3]), edge(self.vertskeleton[1], self.vertskeleton[2]), edge(self.vertskeleton[2], self.vertskeleton[3]), edge(self.vertskeleton[1], self.vertskeleton[3]) ] ### probably to be removed, other gui! : "#??? delete PKHG" self.panelpoints = [[0, 1, 2], [0, 2, 3], [0, 1, 3], [1, 2, 3]] self.paneledges = [[0, 1, 3], [1, 2, 4], [0, 2, 5], [3, 5, 4]] self.reversepanel = [2, 3] self.edgelength = [] self.vertsdone = [[0, 0]] * len(self.vertskeleton)
def set_vert_edge_skeleons(self): self.vertskeleton = [ vertex((0.0, -1.41421356237, 1.0)), vertex((0.0, 1.41421356237, 1.0)), vertex((1.41421356237, 0.0, -1.0)), vertex((-1.41421356237, 0.0, -1.0)), ] self.edgeskeleton = [ edge(self.vertskeleton[0], self.vertskeleton[1]), edge(self.vertskeleton[0], self.vertskeleton[2]), edge(self.vertskeleton[0], self.vertskeleton[3]), edge(self.vertskeleton[1], self.vertskeleton[3]), edge(self.vertskeleton[1], self.vertskeleton[2]), edge(self.vertskeleton[2], self.vertskeleton[3]), ] for i in range(len(self.vertskeleton)): self.vertskeleton[i].index = i self.panelpoints = [[0, 1, 2], [1, 2, 3], [0, 1, 3], [0, 2, 3]] self.paneledges = [[0, 1, 4], [4, 3, 5], [0, 2, 3], [1, 2, 5]] self.reversepanel = [0, 3] self.edgelength = [] self.vertsdone = [[0, 0]] * len(self.vertskeleton)
def set_vert_edge_skeleons(self): self.vertskeleton = [ vertex((0.0, 0.0, 1.73205080757)), vertex((0.0, -1.63299316185, -0.577350269185)), vertex((1.41421356237, 0.816496580927, -0.57735026919)), vertex((-1.41421356237, 0.816496580927, -0.57735026919)), ] self.edgeskeleton = [ edge(self.vertskeleton[0], self.vertskeleton[1]), edge(self.vertskeleton[0], self.vertskeleton[2]), edge(self.vertskeleton[0], self.vertskeleton[3]), edge(self.vertskeleton[1], self.vertskeleton[2]), edge(self.vertskeleton[2], self.vertskeleton[3]), edge(self.vertskeleton[1], self.vertskeleton[3]), ] ### probably to be removed, other gui! : "#??? delete PKHG" self.panelpoints = [[0, 1, 2], [0, 2, 3], [0, 1, 3], [1, 2, 3]] self.paneledges = [[0, 1, 3], [1, 2, 4], [0, 2, 5], [3, 5, 4]] self.reversepanel = [2, 3] self.edgelength = [] self.vertsdone = [[0, 0]] * len(self.vertskeleton)
def set_vert_edge_skeleons(self): self.vertskeleton = [ vertex((0.0, -1.41421356237, 1.0)), vertex((0.0, 1.41421356237, 1.0)), vertex((1.41421356237, 0.0, -1.0)), vertex((-1.41421356237, 0.0, -1.0)) ] self.edgeskeleton = [ edge(self.vertskeleton[0], self.vertskeleton[1]), edge(self.vertskeleton[0], self.vertskeleton[2]), edge(self.vertskeleton[0], self.vertskeleton[3]), edge(self.vertskeleton[1], self.vertskeleton[3]), edge(self.vertskeleton[1], self.vertskeleton[2]), edge(self.vertskeleton[2], self.vertskeleton[3]) ] for i in range(len(self.vertskeleton)): self.vertskeleton[i].index = i self.panelpoints = [[0, 1, 2], [1, 2, 3], [0, 1, 3], [0, 2, 3]] self.paneledges = [[0, 1, 4], [4, 3, 5], [0, 2, 3], [1, 2, 5]] self.reversepanel = [0, 3] self.edgelength = [] self.vertsdone = [[0, 0]] * len(self.vertskeleton)
def sphere2cartesian(self): #PKHG_TODOnot_now check_contains(self,"sphereto self",True) for i in range(len(self.verts)): if self.cart: #PKHG test 20111030 # x = self.verts[i].x * self.radius * self.eccentricity # y = self.verts[i].y * self.radius # z = self.verts[i].z * self.radius * self.squish x = self.verts[i].vector.x * self.radius * self.eccentricity y = self.verts[i].vector.y * self.radius z = self.verts[i].vector.z * self.radius * self.squish else: u = self.sphericalverts[i][0] v = self.sphericalverts[i][1] if self.squish != 1.0 or self.eccentricity > 1.0: scalez = 1 / self.squish v = self.ellipsecomp(scalez, v) u = self.ellipsecomp(self.eccentricity, u) if self.super: r1 = self.superell(self.square, u, self.rotxy) r2 = self.superell(self.squarez, v, self.rotz) else: r1 = 1.0 r2 = 1.0 # print "sform",self.sform," u",u," v",v if self.sform[12]: r1 = r1 * self.superform(self.sform[0],self.sform[1],\ self.sform[2],self.sform[3],\ self.sform[14] + u,self.sform[4],\ self.sform[5],self.sform[16] * v) if self.sform[13]: r2 = r2 * self.superform(self.sform[6],self.sform[7],\ self.sform[8],self.sform[9],\ self.sform[15] + v,self.sform[10],\ self.sform[11],self.sform[17] * v) x, y, z = self.cartesian(u, v, r1, r2) #PKHG test 20111030 # self.verts[i].x = x # self.verts[i].y = y # self.verts[i].z = z self.verts[i] = vertex((x, y, z))
def set_vert_edge_skeleons(self): self.vertskeleton = [ vertex((-0.17841104489, 0.309016994375, 0.46708617948)), vertex((-0.17841104489, -0.309016994375, 0.46708617948)), vertex((0.35682208977, 0.0, 0.467086179484)), vertex((-0.57735026919, 0.0, 0.110264089705)), vertex((-0.288675134594, -0.5, -0.11026408971)), vertex((0.288675134594, -0.5, 0.11026408971)), vertex((0.57735026919, 0.0, -0.110264089705)), vertex((0.288675134594, 0.5, 0.11026408971)), vertex((-0.288675134594, 0.5, -0.11026408971)), vertex((-0.35682208977, 0.0, -0.467086179484)), vertex((0.17841104489, -0.309016994375, -0.46708617948)), vertex((0.17841104489, 0.309016994375, -0.46708617948)), ] self.edgeskeleton = [ edge(self.vertskeleton[0], self.vertskeleton[1]), edge(self.vertskeleton[2], self.vertskeleton[1]), edge(self.vertskeleton[2], self.vertskeleton[0]), edge(self.vertskeleton[0], self.vertskeleton[3]), edge(self.vertskeleton[1], self.vertskeleton[3]), edge(self.vertskeleton[1], self.vertskeleton[4]), edge(self.vertskeleton[1], self.vertskeleton[5]), edge(self.vertskeleton[2], self.vertskeleton[5]), edge(self.vertskeleton[2], self.vertskeleton[6]), edge(self.vertskeleton[2], self.vertskeleton[7]), edge(self.vertskeleton[0], self.vertskeleton[7]), edge(self.vertskeleton[0], self.vertskeleton[8]), edge(self.vertskeleton[3], self.vertskeleton[9]), edge(self.vertskeleton[3], self.vertskeleton[4]), edge(self.vertskeleton[5], self.vertskeleton[4]), edge(self.vertskeleton[5], self.vertskeleton[10]), edge(self.vertskeleton[5], self.vertskeleton[6]), edge(self.vertskeleton[7], self.vertskeleton[6]), edge(self.vertskeleton[7], self.vertskeleton[11]), edge(self.vertskeleton[7], self.vertskeleton[8]), edge(self.vertskeleton[3], self.vertskeleton[8]), edge(self.vertskeleton[4], self.vertskeleton[9]), edge(self.vertskeleton[4], self.vertskeleton[10]), edge(self.vertskeleton[6], self.vertskeleton[10]), edge(self.vertskeleton[6], self.vertskeleton[11]), edge(self.vertskeleton[8], self.vertskeleton[11]), edge(self.vertskeleton[8], self.vertskeleton[9]), edge(self.vertskeleton[9], self.vertskeleton[10]), edge(self.vertskeleton[11], self.vertskeleton[10]), edge(self.vertskeleton[11], self.vertskeleton[9]), ] self.panelpoints = [ [2, 0, 1], [0, 1, 3], [2, 1, 5], [2, 0, 7], [1, 3, 4], [1, 5, 4], [2, 5, 6], [2, 7, 6], [0, 7, 8], [0, 3, 8], [3, 4, 9], [5, 4, 10], [5, 6, 10], [7, 6, 11], [7, 8, 11], [3, 8, 9], [4, 9, 10], [6, 11, 10], [8, 11, 9], [11, 9, 10], ] self.paneledges = [ [2, 1, 0], [0, 3, 4], [1, 7, 6], [2, 9, 10], [4, 5, 13], [6, 5, 14], [7, 8, 16], [9, 8, 17], [10, 11, 19], [3, 11, 20], [13, 12, 21], [14, 15, 22], [16, 15, 23], [17, 18, 24], [19, 18, 25], [20, 12, 26], [21, 22, 27], [24, 23, 28], [25, 26, 29], [29, 28, 27], ] self.reversepanel = [1, 3, 5, 7, 9, 10, 12, 14, 17, 19] self.edgelength = [] self.vertsdone = [[0, 0]] * len(self.vertskeleton)
def set_vert_edge_skeleons(self): self.vertskeleton = [ vertex((0, 0.309016994375, 0.5)), vertex((0, -0.309016994375, 0.5)), vertex((-0.5, 0, 0.309016994375)), vertex((0.5, 0, 0.309016994375)), vertex((-0.309016994375, -0.5, 0)), vertex((0.309016994375, -0.5, 0)), vertex((0.309016994375, 0.5, 0)), vertex((-0.309016994375, 0.5, 0)), vertex((-0.5, 0, -0.309016994375)), vertex((0.5, 0, -0.309016994375)), vertex((0, 0.309016994375, -0.5)), vertex((0, -0.309016994375, -0.5)), ] self.edgeskeleton = [ edge(self.vertskeleton[0], self.vertskeleton[1]), edge(self.vertskeleton[0], self.vertskeleton[7]), edge(self.vertskeleton[0], self.vertskeleton[2]), edge(self.vertskeleton[1], self.vertskeleton[2]), edge(self.vertskeleton[1], self.vertskeleton[4]), edge(self.vertskeleton[1], self.vertskeleton[5]), edge(self.vertskeleton[1], self.vertskeleton[3]), edge(self.vertskeleton[0], self.vertskeleton[3]), edge(self.vertskeleton[0], self.vertskeleton[6]), edge(self.vertskeleton[2], self.vertskeleton[7]), edge(self.vertskeleton[2], self.vertskeleton[8]), edge(self.vertskeleton[2], self.vertskeleton[4]), edge(self.vertskeleton[4], self.vertskeleton[5]), edge(self.vertskeleton[3], self.vertskeleton[5]), edge(self.vertskeleton[3], self.vertskeleton[9]), edge(self.vertskeleton[3], self.vertskeleton[6]), edge(self.vertskeleton[6], self.vertskeleton[7]), edge(self.vertskeleton[7], self.vertskeleton[10]), edge(self.vertskeleton[7], self.vertskeleton[8]), edge(self.vertskeleton[4], self.vertskeleton[8]), edge(self.vertskeleton[4], self.vertskeleton[11]), edge(self.vertskeleton[5], self.vertskeleton[11]), edge(self.vertskeleton[5], self.vertskeleton[9]), edge(self.vertskeleton[6], self.vertskeleton[9]), edge(self.vertskeleton[6], self.vertskeleton[10]), edge(self.vertskeleton[8], self.vertskeleton[10]), edge(self.vertskeleton[8], self.vertskeleton[11]), edge(self.vertskeleton[9], self.vertskeleton[11]), edge(self.vertskeleton[9], self.vertskeleton[10]), edge(self.vertskeleton[10], self.vertskeleton[11]), ] self.panelpoints = [ [0, 1, 2], [0, 1, 3], [0, 2, 7], [1, 2, 4], [1, 4, 5], [1, 3, 5], [0, 3, 6], [0, 6, 7], [2, 7, 8], [2, 4, 8], [3, 5, 9], [3, 6, 9], [7, 8, 10], [4, 8, 11], [4, 5, 11], [5, 9, 11], [6, 9, 10], [6, 7, 10], [8, 10, 11], [9, 10, 11], ] self.paneledges = [ [0, 2, 3], [0, 7, 6], [2, 1, 9], [3, 4, 11], [4, 5, 12], [6, 5, 13], [7, 8, 15], [8, 1, 16], [9, 10, 18], [11, 10, 19], [13, 14, 22], [15, 14, 23], [18, 17, 25], [19, 20, 26], [12, 20, 21], [22, 21, 27], [23, 24, 28], [16, 24, 17], [25, 26, 29], [28, 27, 29], ] self.reversepanel = [0, 2, 5, 9, 11, 12, 14, 15, 17, 19] self.edgelength = [] self.vertsdone = [[0, 0]] * len(self.vertskeleton)
def set_vert_edge_skeleons(self): self.vertskeleton = [ vertex((0.0, 0.0, 0.587785252292)), vertex((0.0, -0.525731096637, 0.262865587024)), vertex((0.5, -0.162459832634, 0.262865565628)), vertex((0.309016994375, 0.425325419658, 0.262865531009)), vertex((-0.309016994375, 0.425325419658, 0.262865531009)), vertex((-0.5, -0.162459832634, 0.262865565628)), vertex((0.309016994375, -0.425325419658, -0.262865531009)), vertex((0.5, 0.162459832634, -0.262865565628)), vertex((0.0, 0.525731096637, -0.262865587024)), vertex((-0.5, 0.162459832634, -0.262865565628)), vertex((-0.309016994375, -0.425325419658, -0.262865531009)), vertex((0.0, 0.0, -0.587785252292)), ] self.edgeskeleton = [ edge(self.vertskeleton[0], self.vertskeleton[1]), edge(self.vertskeleton[0], self.vertskeleton[2]), edge(self.vertskeleton[0], self.vertskeleton[3]), edge(self.vertskeleton[0], self.vertskeleton[4]), edge(self.vertskeleton[0], self.vertskeleton[5]), edge(self.vertskeleton[1], self.vertskeleton[2]), edge(self.vertskeleton[2], self.vertskeleton[3]), edge(self.vertskeleton[3], self.vertskeleton[4]), edge(self.vertskeleton[4], self.vertskeleton[5]), edge(self.vertskeleton[5], self.vertskeleton[1]), edge(self.vertskeleton[1], self.vertskeleton[6]), edge(self.vertskeleton[2], self.vertskeleton[6]), edge(self.vertskeleton[2], self.vertskeleton[7]), edge(self.vertskeleton[3], self.vertskeleton[7]), edge(self.vertskeleton[3], self.vertskeleton[8]), edge(self.vertskeleton[4], self.vertskeleton[8]), edge(self.vertskeleton[4], self.vertskeleton[9]), edge(self.vertskeleton[5], self.vertskeleton[9]), edge(self.vertskeleton[5], self.vertskeleton[10]), edge(self.vertskeleton[1], self.vertskeleton[10]), edge(self.vertskeleton[6], self.vertskeleton[7]), edge(self.vertskeleton[7], self.vertskeleton[8]), edge(self.vertskeleton[8], self.vertskeleton[9]), edge(self.vertskeleton[9], self.vertskeleton[10]), edge(self.vertskeleton[10], self.vertskeleton[6]), edge(self.vertskeleton[6], self.vertskeleton[11]), edge(self.vertskeleton[7], self.vertskeleton[11]), edge(self.vertskeleton[8], self.vertskeleton[11]), edge(self.vertskeleton[9], self.vertskeleton[11]), edge(self.vertskeleton[10], self.vertskeleton[11]), ] self.panelpoints = [ [0, 1, 2], [0, 2, 3], [0, 3, 4], [0, 4, 5], [0, 5, 1], [1, 2, 6], [2, 6, 7], [2, 3, 7], [3, 7, 8], [3, 4, 8], [4, 8, 9], [4, 5, 9], [5, 9, 10], [5, 1, 10], [1, 10, 6], [6, 7, 11], [7, 8, 11], [8, 9, 11], [9, 10, 11], [10, 6, 11], ] self.paneledges = [ [0, 1, 5], [1, 2, 6], [2, 3, 7], [3, 4, 8], [4, 0, 9], [5, 10, 11], [11, 12, 20], [6, 12, 13], [13, 14, 21], [7, 14, 15], [15, 16, 22], [8, 16, 17], [17, 18, 23], [9, 18, 19], [19, 10, 24], [20, 25, 26], [21, 26, 27], [22, 27, 28], [23, 28, 29], [24, 29, 25], ] self.reversepanel = [5, 7, 9, 11, 13, 15, 16, 17, 18, 19] self.edgelength = [] self.vertsdone = [[0, 0]] * len(self.vertskeleton)
def set_vert_edge_skeleons(self): self.vertskeleton = [ vertex((0.0, 0.0, 0.587785252292)), vertex((0.0, -0.525731096637, 0.262865587024)), vertex((0.5, -0.162459832634, 0.262865565628)), vertex((0.309016994375, 0.425325419658, 0.262865531009)), vertex((-0.309016994375, 0.425325419658, 0.262865531009)), vertex((-0.5, -0.162459832634, 0.262865565628)), vertex((0.309016994375, -0.425325419658, -0.262865531009)), vertex((0.5, 0.162459832634, -0.262865565628)), vertex((0.0, 0.525731096637, -0.262865587024)), vertex((-0.5, 0.162459832634, -0.262865565628)), vertex((-0.309016994375, -0.425325419658, -0.262865531009)), vertex((0.0, 0.0, -0.587785252292)) ] self.edgeskeleton = [ edge(self.vertskeleton[0], self.vertskeleton[1]), edge(self.vertskeleton[0], self.vertskeleton[2]), edge(self.vertskeleton[0], self.vertskeleton[3]), edge(self.vertskeleton[0], self.vertskeleton[4]), edge(self.vertskeleton[0], self.vertskeleton[5]), edge(self.vertskeleton[1], self.vertskeleton[2]), edge(self.vertskeleton[2], self.vertskeleton[3]), edge(self.vertskeleton[3], self.vertskeleton[4]), edge(self.vertskeleton[4], self.vertskeleton[5]), edge(self.vertskeleton[5], self.vertskeleton[1]), edge(self.vertskeleton[1], self.vertskeleton[6]), edge(self.vertskeleton[2], self.vertskeleton[6]), edge(self.vertskeleton[2], self.vertskeleton[7]), edge(self.vertskeleton[3], self.vertskeleton[7]), edge(self.vertskeleton[3], self.vertskeleton[8]), edge(self.vertskeleton[4], self.vertskeleton[8]), edge(self.vertskeleton[4], self.vertskeleton[9]), edge(self.vertskeleton[5], self.vertskeleton[9]), edge(self.vertskeleton[5], self.vertskeleton[10]), edge(self.vertskeleton[1], self.vertskeleton[10]), edge(self.vertskeleton[6], self.vertskeleton[7]), edge(self.vertskeleton[7], self.vertskeleton[8]), edge(self.vertskeleton[8], self.vertskeleton[9]), edge(self.vertskeleton[9], self.vertskeleton[10]), edge(self.vertskeleton[10], self.vertskeleton[6]), edge(self.vertskeleton[6], self.vertskeleton[11]), edge(self.vertskeleton[7], self.vertskeleton[11]), edge(self.vertskeleton[8], self.vertskeleton[11]), edge(self.vertskeleton[9], self.vertskeleton[11]), edge(self.vertskeleton[10], self.vertskeleton[11]) ] self.panelpoints = [[0, 1, 2], [0, 2, 3], [0, 3, 4], [0, 4, 5], [0, 5, 1], [1, 2, 6], [2, 6, 7], [2, 3, 7], [3, 7, 8], [3, 4, 8], [4, 8, 9], [4, 5, 9], [5, 9, 10], [5, 1, 10], [1, 10, 6], [6, 7, 11], [7, 8, 11], [8, 9, 11], [9, 10, 11], [10, 6, 11]] self.paneledges = [[0, 1, 5], [1, 2, 6], [2, 3, 7], [3, 4, 8], [4, 0, 9], [5, 10, 11], [11, 12, 20], [6, 12, 13], [13, 14, 21], [7, 14, 15], [15, 16, 22], [8, 16, 17], [17, 18, 23], [9, 18, 19], [19, 10, 24], [20, 25, 26], [21, 26, 27], [22, 27, 28], [23, 28, 29], [24, 29, 25]] self.reversepanel = [5, 7, 9, 11, 13, 15, 16, 17, 18, 19] self.edgelength = [] self.vertsdone = [[0, 0]] * len(self.vertskeleton)
def set_vert_edge_skeleons(self): self.vertskeleton = [ vertex((0, 0.309016994375, 0.5)), vertex((0, -0.309016994375, 0.5)), vertex((-0.5, 0, 0.309016994375)), vertex((0.5, 0, 0.309016994375)), vertex((-0.309016994375, -0.5, 0)), vertex((0.309016994375, -0.5, 0)), vertex((0.309016994375, 0.5, 0)), vertex((-0.309016994375, 0.5, 0)), vertex((-0.5, 0, -0.309016994375)), vertex((0.5, 0, -0.309016994375)), vertex((0, 0.309016994375, -0.5)), vertex((0, -0.309016994375, -0.5)) ] self.edgeskeleton = [ edge(self.vertskeleton[0], self.vertskeleton[1]), edge(self.vertskeleton[0], self.vertskeleton[7]), edge(self.vertskeleton[0], self.vertskeleton[2]), edge(self.vertskeleton[1], self.vertskeleton[2]), edge(self.vertskeleton[1], self.vertskeleton[4]), edge(self.vertskeleton[1], self.vertskeleton[5]), edge(self.vertskeleton[1], self.vertskeleton[3]), edge(self.vertskeleton[0], self.vertskeleton[3]), edge(self.vertskeleton[0], self.vertskeleton[6]), edge(self.vertskeleton[2], self.vertskeleton[7]), edge(self.vertskeleton[2], self.vertskeleton[8]), edge(self.vertskeleton[2], self.vertskeleton[4]), edge(self.vertskeleton[4], self.vertskeleton[5]), edge(self.vertskeleton[3], self.vertskeleton[5]), edge(self.vertskeleton[3], self.vertskeleton[9]), edge(self.vertskeleton[3], self.vertskeleton[6]), edge(self.vertskeleton[6], self.vertskeleton[7]), edge(self.vertskeleton[7], self.vertskeleton[10]), edge(self.vertskeleton[7], self.vertskeleton[8]), edge(self.vertskeleton[4], self.vertskeleton[8]), edge(self.vertskeleton[4], self.vertskeleton[11]), edge(self.vertskeleton[5], self.vertskeleton[11]), edge(self.vertskeleton[5], self.vertskeleton[9]), edge(self.vertskeleton[6], self.vertskeleton[9]), edge(self.vertskeleton[6], self.vertskeleton[10]), edge(self.vertskeleton[8], self.vertskeleton[10]), edge(self.vertskeleton[8], self.vertskeleton[11]), edge(self.vertskeleton[9], self.vertskeleton[11]), edge(self.vertskeleton[9], self.vertskeleton[10]), edge(self.vertskeleton[10], self.vertskeleton[11]) ] self.panelpoints = [[0, 1, 2], [0, 1, 3], [0, 2, 7], [1, 2, 4], [1, 4, 5], [1, 3, 5], [0, 3, 6], [0, 6, 7], [2, 7, 8], [2, 4, 8], [3, 5, 9], [3, 6, 9], [7, 8, 10], [4, 8, 11], [4, 5, 11], [5, 9, 11], [6, 9, 10], [6, 7, 10], [8, 10, 11], [9, 10, 11]] self.paneledges = [[0, 2, 3], [0, 7, 6], [2, 1, 9], [3, 4, 11], [4, 5, 12], [6, 5, 13], [7, 8, 15], [8, 1, 16], [9, 10, 18], [11, 10, 19], [13, 14, 22], [15, 14, 23], [18, 17, 25], [19, 20, 26], [12, 20, 21], [22, 21, 27], [23, 24, 28], [16, 24, 17], [25, 26, 29], [28, 27, 29]] self.reversepanel = [0, 2, 5, 9, 11, 12, 14, 15, 17, 19] self.edgelength = [] self.vertsdone = [[0, 0]] * len(self.vertskeleton)
def set_vert_edge_skeleons(self): self.vertskeleton = [ vertex((-0.17841104489, 0.309016994375, 0.46708617948)), vertex((-0.17841104489, -0.309016994375, 0.46708617948)), vertex((0.35682208977, 0.0, 0.467086179484)), vertex((-0.57735026919, 0.0, 0.110264089705)), vertex((-0.288675134594, -0.5, -0.11026408971)), vertex((0.288675134594, -0.5, 0.11026408971)), vertex((0.57735026919, 0.0, -0.110264089705)), vertex((0.288675134594, 0.5, 0.11026408971)), vertex((-0.288675134594, 0.5, -0.11026408971)), vertex((-0.35682208977, 0.0, -0.467086179484)), vertex((0.17841104489, -0.309016994375, -0.46708617948)), vertex((0.17841104489, 0.309016994375, -0.46708617948)) ] self.edgeskeleton = [ edge(self.vertskeleton[0], self.vertskeleton[1]), edge(self.vertskeleton[2], self.vertskeleton[1]), edge(self.vertskeleton[2], self.vertskeleton[0]), edge(self.vertskeleton[0], self.vertskeleton[3]), edge(self.vertskeleton[1], self.vertskeleton[3]), edge(self.vertskeleton[1], self.vertskeleton[4]), edge(self.vertskeleton[1], self.vertskeleton[5]), edge(self.vertskeleton[2], self.vertskeleton[5]), edge(self.vertskeleton[2], self.vertskeleton[6]), edge(self.vertskeleton[2], self.vertskeleton[7]), edge(self.vertskeleton[0], self.vertskeleton[7]), edge(self.vertskeleton[0], self.vertskeleton[8]), edge(self.vertskeleton[3], self.vertskeleton[9]), edge(self.vertskeleton[3], self.vertskeleton[4]), edge(self.vertskeleton[5], self.vertskeleton[4]), edge(self.vertskeleton[5], self.vertskeleton[10]), edge(self.vertskeleton[5], self.vertskeleton[6]), edge(self.vertskeleton[7], self.vertskeleton[6]), edge(self.vertskeleton[7], self.vertskeleton[11]), edge(self.vertskeleton[7], self.vertskeleton[8]), edge(self.vertskeleton[3], self.vertskeleton[8]), edge(self.vertskeleton[4], self.vertskeleton[9]), edge(self.vertskeleton[4], self.vertskeleton[10]), edge(self.vertskeleton[6], self.vertskeleton[10]), edge(self.vertskeleton[6], self.vertskeleton[11]), edge(self.vertskeleton[8], self.vertskeleton[11]), edge(self.vertskeleton[8], self.vertskeleton[9]), edge(self.vertskeleton[9], self.vertskeleton[10]), edge(self.vertskeleton[11], self.vertskeleton[10]), edge(self.vertskeleton[11], self.vertskeleton[9]) ] self.panelpoints = [[2, 0, 1], [0, 1, 3], [2, 1, 5], [2, 0, 7], [1, 3, 4], [1, 5, 4], [2, 5, 6], [2, 7, 6], [0, 7, 8], [0, 3, 8], [3, 4, 9], [5, 4, 10], [5, 6, 10], [7, 6, 11], [7, 8, 11], [3, 8, 9], [4, 9, 10], [6, 11, 10], [8, 11, 9], [11, 9, 10]] self.paneledges = [[2, 1, 0], [0, 3, 4], [1, 7, 6], [2, 9, 10], [4, 5, 13], [6, 5, 14], [7, 8, 16], [9, 8, 17], [10, 11, 19], [3, 11, 20], [13, 12, 21], [14, 15, 22], [16, 15, 23], [17, 18, 24], [19, 18, 25], [20, 12, 26], [21, 22, 27], [24, 23, 28], [25, 26, 29], [29, 28, 27]] self.reversepanel = [1, 3, 5, 7, 9, 10, 12, 14, 17, 19] self.edgelength = [] self.vertsdone = [[0, 0]] * len(self.vertskeleton)