[Bf-extensions-cvs] SVN commit: /data/svn/bf-extensions [2433] branches/geodesic_domes/vefm259. py: removed vefm259.py as it is replaced by vefm_259.py

james bond thekilon at yahoo.co.uk
Thu Oct 13 16:23:21 CEST 2011


Revision: 2433
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-extensions&revision=2433
Author:   kilon
Date:     2011-10-13 14:23:21 +0000 (Thu, 13 Oct 2011)
Log Message:
-----------
removed vefm259.py as it is replaced by vefm_259.py

Removed Paths:
-------------
    branches/geodesic_domes/vefm259.py

Deleted: branches/geodesic_domes/vefm259.py
===================================================================
--- branches/geodesic_domes/vefm259.py	2011-10-13 13:47:24 UTC (rev 2432)
+++ branches/geodesic_domes/vefm259.py	2011-10-13 14:23:21 UTC (rev 2433)
@@ -1,1327 +0,0 @@
-## vert class and overloading experiments
-import bpy
-import math
-from math import sqrt,acos,pi,sin,cos,atan,tan,fabs
-#from Blender import NMesh
-from mathutils import Vector
-dbg = True
-sgn = lambda x : (x>0) - (x<0) #missing signum functin in Python
-try:
-    breakpoint = bpy.types.bp.bp
-except:
-    pass    
-
-#PKHG to test a mesh
-from add_utils import AddObjectHelper, add_object_data
-from mathutils import Vector
-from collections import Counter
-
-def find_twice_vert(l1,l2):
-    tmp = [el for el in l1]
-    tmp.extend(l2)
-    tt = Counter(tmp)
-    result = max(tt.keys(),key = lambda k:tt[k])
-    print("twice give", result)
-    return result
-#extra test phase
-
-
-
-
-class vertex:
-
-    def __init__(self,vec=(0,0,0)): #x=0,y=0,z=0):        
-        self.vector  = Vector(vec)
-        self.x = vec[0]
-        self.y = vec[1]
-        self.z = vec[2]
-        self.length = self.vector.length
-        self.index = 0
-        self.normal = 0
-        self.edges = []
-        self.faces = []
-        self.boundary = 0
-        if dbg:
-            print("dbg: vertex generate with  length = ",self.length)
-        
-
-    def findlength(self):
-
-#        self.length=sqrt(self.x*self.x+self.y*self.y+self.z*self.z)
-        self.length = self.vector.length
-
-    def normalize(self):
-
-        self.findlength()
-        if self.length > 0:
-            tmp = 1.0/self.length
-            self.vector  =  tmp * self.vector 
-            self.x = self.vector[0] #(1.0/self.length)
-            self.y = self.vector[1] #(1.0/self.length)
-            self.z = self.vector[2] #(1.0/self.length)
-            self.length = 1.0
-
-    def findnormal(self):
-        target = []
-        if self.faces[:] == []:
-            print("pkhg:*****ERROR**** findnormal has no faces")
-            return
-        for currentface in self.faces:
-            target.append(currentface.normal)
-        self.normal = average(target).centroid()
-        self.normal.findlength()
-        if self.length == 0:
-            print("******ERROR*** lenght zero in findnormal")
-        self.normal.normalize()
-
-    def clockwise(self):
-        if self.boundary:
-            start = self.boundarystart()
-        else:
-            start = self.faces[0]
-        #PKHG TODO do understand
-        start = self.faces[0]   
-        start.docorners() #PKHG???? 
-        self.tempedges = []
-        self.tempfaces = []
-        for i in range(len(self.edges)):
-            print("\n----------------------voor breakpunt pkhg in clockwise")
-            #breakpoint(locals(), self.index == 0)
-            self.tempfaces.append(start)
-            for corner in start.corners:
-                if corner[0] is not self:
-                    pass
-                elif corner[0] is self:
-                    self.tempedges.append(corner[1])
-                    nextedge = corner[2]
-            for facey in nextedge.faces:
-                if facey is not start:
-                    start = facey
-                    break
-        self.edges = self.tempedges
-        self.faces = self.tempfaces
-
-    def boundarystart(self):
-        #PKHG not implemented, needed?
-        pass
-
-    def __add__(self,other):
-        tmp = self.vector + other.vector
-        #x = self.x+other.x
-        #y = self.y+other.y
-        #z = self.z+other.z
-        #return vertex((x,y,z))
-        return vertex(tmp)
-
-    def __sub__(self,other):
-        tmp = self.vector - other.vector
-        #x = self.x-other.x
-        #y = self.y-other.y
-        #z = self.z-other.z
-        #return vertex((x,y,z))
-        return vertex(tmp)
-
-    def __mul__(self,other):
-        #x = self.x*other
-        #y = self.y*other
-        #z = self.z*other
-        tmp = self.vector * other
-        #return vertex((x,y,z))
-        return vertex(tmp)
-
-    def __truediv__(self,other):
-        denom = 1.0/other
-        tmp = self.vector * denom
-        return (tmp)
-#        x = self.x*tmp#(1/other)
-#        y = self.y*tmp#(1/other)
-#        z = self.z*tmp#(1/other)
-#        return vertex((x,y,z))
-
-    def negative(self):
-        return vertex((-self.x,-self.y,-self.z))
-
-class crossp:
-    ##   Takes in two vertices(vectors), returns the cross product.
-    def __init__(self,v1,v2):
-        self.v1 = v1
-        self.v2 = v2
-    #    self.docrossproduct(v1,v2)
-#
-    def docrossproduct(self):
-        tmp = self.v1.vector.cross(self.v2.vector)
-#        x = (self.v1.y*self.v2.z)-(self.v2.y*self.v1.z)
-#        y = (self.v1.z*self.v2.x)-(self.v2.z*self.v1.x)
-#        z = (self.v1.x*self.v2.y)-(self.v2.x*self.v1.y)
-#        return vertex(x,y,z)
-        return vertex(tmp)
-class average:
-    ##   Takes a list of vertices and returns the average. If two verts are passed, returns midpoint.
-    def __init__(self,vertlist):
-        self.vertlist = vertlist
-    #    self.centroid()
- 
-    def centroid(self):
-#       x = y = z = 0
-        tmp  =  Vector()
-        divisor = 1.0 / len(self.vertlist)
-        for vert in self.vertlist:
-            tmp += vert.vector
-#           x=x+vert.x
-#           y=y+vert.y
-#           z=z+vert.z
-        tmp *= divisor
-#       return vertex(x/divisor,y/divisor,z/divisor)
-        #return vertex(tmp[0],tmp[1],tmp[2])
-        return vertex(tmp)
-
-class edge:
-    def __init__(self,a=0,b=0):
-        self.a = a
-        self.b = b
-        self.index = 0
-        self.normal = 0
-        self.cross = 0
-        self.unit = 0
-        self.faces = []
-        self.vect = 0  #PKHG becomes  b - a
-        self.vectb = 0 #PKHG becomes  a - b
-#        self.length = 0
-        self.boundary = 0
-        self.findvect()
-#        print("vect len before",self.vect.length)
-        self.findlength()
-#        print("vect after",self.vect.length)
-
-    def findvect(self):
-        self.vect = self.b - self.a
-        self.vectb = self.a - self.b
-
-    def findlength(self):
-        #print("in edge findlength")
-        self.vect.findlength()
-        self.vectb.length = self.vect.length
-
-    def findnormal(self):
-                
-        if self.boundary:
-            self.normal = self.faces[0].normal    #average([self.a,self.b]).centroid()    
-            
-        else:
-    
-            self.normal = average([self.faces[0].normal,self.faces[1].normal]).centroid()
-        
-        self.normal.normalize()
-#     def findother(self,vertindex):
-#
-#         if vertindex==self.a:
-#
-#             return self.b
-#
-#         else:
-#             return self.a
-##        different classes for 3,4,> sides??
-class face:
-    def __init__(self,vertices=[]):
-        print("\ndbg face vertices = ",vertices)
-        self.vertices=vertices    ##   List of vertex instances.
-        self.edges=[]            ##   Will be filled with the sides of the face.
-        self.boundary=0        ##   When set will have bool and id of edge concerned.
-        self.normal=0            ##   Face normal found through cross product.
-        self.corners=[]
-        self.spokes=[]            ##   Vectors of the bisecting angles from each corner to the centre + dotproduct.
-        self.index=0
- 
- #dotproduct is misleading name, it is the hook between two vectors!
-    def dotproduct(self,v1,v2):
-    #    print("dp ",v1.x,v1.y,v1.z,"   ",v2.x,v2.y,v2.z)
-    #    print("v1 length",v1.length)
-    #    print("v2 length",v2.length)
-        
-        v1.findlength()
-        v2.findlength()
-        if v1.length == 0 or v2.length == 0:
-            print("\nPKHG warning, =========== at least one zero vector 0.0 used")
-            return 0.0
-    #    print("v1 length",v1.length)
-    #    print("v2 length",v2.length)
-        dot=(v1.x*v2.x)+(v1.y*v2.y)+(v1.z*v2.z)
-        costheta=dot/(v1.length*v2.length)
-        pkhgtmp = v1.vector.dot(v2.vector)
-        tmp = acos(costheta)
-        print("dbg 204 dotprod in face",dot,pkhgtmp,tmp)
-        return tmp
-    
-    def orderedges(self):
-        print("\n-----------------dbg 212 orderedeges called")
-        temp=[]
-        finish=len(self.vertices)
-        for i in range(finish):
-            current=self.vertices[i]
-            if i==finish-1:
-                next=self.vertices[0]
-            else:
-                next=self.vertices[i+1]
-            for edge in face.edges:
-                if edge.a==current and edge.b==next:
-                    face.clockw.append(edge.vect)
-                    face.aclockw.append(edge.vectb)
-                    temp.append(edge)
-                if edge.b==current and edge.a==next:
-                    face.clockw.append(edge.vectb)
-                    face.aclockw.append(edge.vect)
-                    temp.append(edge)
-            for edge in face.edges:
-                if edge.a==current and edge.b==next:
-                    face.clockw.append(edge.vect)
-                    face.aclockw.append(edge.vectb)
-                    temp.append(edge)
-                if edge.b==current and edge.a==next:
-                    face.clockw.append(edge.vectb)
-                    face.aclockw.append(edge.vect)
-                    temp.append(edge)
-            face.vertices=temp
-    
-    
-    def docorners(self):
-        ##   This function identifies and stores the vectors coming from each vertex
-        ##   allowing easier calculation of cross and dot products.
-        finish=len(self.vertices)
-        '''
-        which = None
-        occur1 = None
-        occur2 = None
-        if finish == 3 and len(self.edges) == 2 :    
-            print("\n***ERROR*** only two edges should be three")
-      #      return        
-            occur1 = [self.vertices.index(self.edges[0].a),self.vertices.index(self.edges[0].b)]
-            occur2 = [self.vertices.index(self.edges[1].a),self.vertices.index(self.edges[1].b)]
-            #occur2 = [self.edges[1].a.index, self.edges[1].b.index]
-            twice = find_twice_vert(occur1,occur2)
-            occur1.remove(twice)
-            occur2.remove(twice)
-            #new_edge = edge(self.vertices[occur1[0]],self.vertices[occur2[0]])
-            #self.edges.append(new_edge)
-        '''
-        for i in range(finish):

@@ Diff output truncated at 10240 characters. @@


More information about the Bf-extensions-cvs mailing list