[Bf-extensions-cvs] SVN commit: /data/svn/bf-extensions [2498] branches/geodesic_domes/ geodesic_classes_259.py: config problem my way of solving (extra parameter)

Peter K.H. Gragert pkhgragert at gmail.com
Fri Oct 21 07:27:39 CEST 2011


Revision: 2498
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-extensions&revision=2498
Author:   pkhg
Date:     2011-10-21 05:27:39 +0000 (Fri, 21 Oct 2011)
Log Message:
-----------
config problem my way of solving (extra parameter)

Modified Paths:
--------------
    branches/geodesic_domes/geodesic_classes_259.py

Modified: branches/geodesic_domes/geodesic_classes_259.py
===================================================================
--- branches/geodesic_domes/geodesic_classes_259.py	2011-10-21 05:25:09 UTC (rev 2497)
+++ branches/geodesic_domes/geodesic_classes_259.py	2011-10-21 05:27:39 UTC (rev 2498)
@@ -1,13 +1,27 @@
-from  geodesic_domes import forms_259
-from forms_259 import mesh
+from geodesic_domes.vefm_259 import *
+
 import math
 from math import pi,acos,sin,cos,atan,tan,fabs
-import vefm_259
-from vefm_259 import *
+
+def check_contains(cl,name , print_value = False):
+    dir_class = dir(cl)
+    for el in dir_class:
+        if el.startswith("_"):
+            pass
+        else:
+            if print_value:
+                tmp = getattr(cl,el)
+                print(name , " contains ==>",el," value = ", tmp)
+            else:
+                print(name , " contains ==>",el)
+    print("\ncheck_contains finished\n\n")
+
 class geodesic(mesh):
-    def __init__(self,parameters):
+    def __init__(self,PKHG_parameters):
 
         mesh.__init__(self)
+        self.PKHG_parameters = PKHG_parameters
+#        print("\n------ geodesic L11 PKHG_parameters",PKHG_parameters)
         self.panels = []
         self.vertsdone = []
         self.skeleton = []                ## List of verts in the full skeleton edges.
@@ -46,12 +60,14 @@
         self.vertsdone = None
         self.panels = []
     
-#PKHG because of unittest approach for a while the following three lines commentd        
-        #self.setparameters(parameters)
-        #self.makegeodesic()
-        #self.connectivity()
+#PKHG because of unittest approach for a while the following three lines commentd
+#PKHG do not understand the problems with the next three lines
+#no does not work        self.setparameters()
+#        self.makegeodesic()
+#        self.connectivity()
 
-    def setparameters(self,parameters):
+    def setparameters(self):
+        parameters = self.PKHG_parameters
         self.frequency = parameters[0]    ## How many subdivisions - up to 20.
         self.eccentricity = parameters[1]    ## Elliptical if >1.0.
         self.squish = parameters[2]        ## Flattened if < 1.0.
@@ -96,15 +112,15 @@
     def vertedgefacedata(self):
         pass
 
-    def config(self):
+    def config(self, frequency = 1): #???PKHG frequency problem  20 oct.
         for i in range(len(self.vertskeleton)):
             self.vertskeleton[i].index = i
         for edges in self.edgeskeleton:
-            s = skeletonrow(self.frequency, edges, 0, self)
+#???PKHG TODO            s = skeletonrow(self.frequency, edges, 0, self) #self a geodesic
+            s = skeletonrow(frequency, edges, 0, self) #self a geodesic
             self.skeleton.append(s)
         for i in range(len( self.verts)):
             self.verts[i].index = i
-            
         for i in range(len(self.panelpoints)):
             a = self.vertsdone[self.panelpoints[i][0]][1]
             b = self.vertsdone[self.panelpoints[i][1]][1]
@@ -112,11 +128,9 @@
             panpoints = [    self.verts[a],
                         self.verts[b],
                         self.verts[c]]
-
             panedges = [    self.skeleton[self.paneledges[i][0]],
                         self.skeleton[self.paneledges[i][1]],
                         self.skeleton[self.paneledges[i][2]]    ]
-
             reverseflag = 0
             for flag in self.reversepanel:
                 if flag == i:
@@ -202,7 +216,6 @@
         elif theta == self.a270:
             result = self.a270
         else:
-                        
             result = atan(tan(theta) / efactor**0.5)
             if result>=0.0:
                 x = result
@@ -233,6 +246,7 @@
 #         self.dovertedge()
 #         self.dovertface()
 #         self.dofaceedge()
+
 class edgerow:
     def __init__(self, count, anchor, leftindex, rightindex, stepvector, endflag, parentgeo):
         self.points = []
@@ -243,7 +257,7 @@
                 self.points.append(leftindex)
             elif i == count and not endflag:
                 self.points.append(rightindex)
-            else:
+            else: #PKHG Vectors added!
                 newpoint = anchor + (stepvector * i)
                 vertcount = len(parentgeo.verts)
                 self.points.append(vertcount)
@@ -255,6 +269,7 @@
             line = edge(a,b)
             self.edges.append(len(parentgeo.edges))
             parentgeo.edges.append(line)
+
 class skeletonrow:
     def __init__(self, count, skeletonedge, shortflag, parentgeo):
         self.points = []
@@ -298,6 +313,7 @@
             line = edge(a,b)
             self.edges.append(len(parentgeo.edges))
             parentgeo.edges.append(line)
+
 class facefill:
     def __init__(self, upper, lower, reverseflag, parentgeo, finish):
         for i in range(finish):
@@ -357,10 +373,10 @@
     def createfaces(self, parentgeo,reverseflag):
         for i in range(len(self.leftedge.points) - 1):
             facefill(self.rows[i], self.rows[i + 1], reverseflag, parentgeo, len(self.rows[i].points))
-##############################################################################################################
-##############################################################################################################
+#############################
+#############################
 
-#for point on top?            
+#for point on top?  YES!          
 class tetrahedron(geodesic):
     def vertedgefacedata(self):
         self.vertskeleton=[        vertex(( 0.0 , 0.0 , 1.73205080757 )),
@@ -381,7 +397,7 @@
         self.edgelength=[]
         self.vertsdone=[[0,0]] * len(self.vertskeleton)
 
-#for edge on top?
+#for edge on top? YES
 class tetraedge(geodesic):
     def vertedgefacedata(self):
         self.vertskeleton=[        vertex(( 0.0 , -1.41421356237 , 1.0 )),
@@ -402,7 +418,7 @@
         self.edgelength=[]
         self.vertsdone=[[0,0]] * len(self.vertskeleton)
 
-#for face on top?
+#for face on top? YES
 class tetraface(geodesic):
     def vertedgefacedata(self):
         self.vertskeleton=[        vertex(( -1.41421356237 , -0.816496580927 , 0.57735026919 )),
@@ -648,29 +664,36 @@
         self.reversepanel=[1,3,5,7,9,10,12,14,17,19]
         self.edgelength=[]
         self.vertsdone=[[0,0]] * len(self.vertskeleton)
-#print("\n===========geodesic start ===========")
 
-def creategeo(polytype,orientation,parameters):
-    geo = None
+##???PKHG TODO this does not work yet ...
+def creategeo(geo,polytype,orientation,parameters):
+    
     if polytype == 'Tetrahedron':
         if orientation == 'PointUp':
-            geo = geodesic.tetrahedron(parameters)
+            #return
+            #geo(parameters)
+#            geo.setparameters()
+            my_tetrahedron = tetrahedron(geodesic)
+            my_tetrahedron.vertedgefacedata()
+            my_tetrahedron.config()            
+            check_contains(my_tetrahedron,"my_tetra",True)
+            vefm_add_object(geo)
         elif orientation == 'EdgeUp':
-            geo = geodesic.tetraedge(parameters)
+            geo = tetraedge(parameters)
         else: # orientation==2:
-            geo=geodesic.tetraface(parameters)
+            geo=tetraface(parameters)
     elif polytype == 'Octahedron':        # octahedron
         if orientation == 'PointUp':
-            geo = geodesic.octahedron(parameters)
+            geo = octahedron(parameters)
         elif orientation == 'EdgeUp':
-            geo = geodesic.octaedge(parameters)
+            geo = octaedge(parameters)
         else: #if orientation==2:
-            geo = geodesic.octaface(parameters)
+            geo = octaface(parameters)
     elif polytype == 'Icosahedron':    # icosahedron
         if orientation == 'PointUp':
-            geo = geodesic.icosahedron(parameters)
+            geo = icosahedron(parameters)
         elif orientation == 'EdgeUp':
-            geo = geodesic.icoedge(parameters)
+            geo = icoedge(parameters)
         else: #if orientation==2:
-            geo = geodesic.icoface(parameters)
+            geo = icoface(parameters)
     return geo



More information about the Bf-extensions-cvs mailing list