예제 #1
0
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)