[Bf-extensions-cvs] SVN commit: /data/svn/bf-extensions [2270] trunk/py/scripts/addons/mocap/ mocap_tools.py: use slightly improved py syntax

Campbell Barton ideasman42 at gmail.com
Fri Aug 26 08:40:51 CEST 2011


Revision: 2270
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-extensions&revision=2270
Author:   campbellbarton
Date:     2011-08-26 06:40:51 +0000 (Fri, 26 Aug 2011)
Log Message:
-----------
use slightly improved py syntax

Modified Paths:
--------------
    trunk/py/scripts/addons/mocap/mocap_tools.py

Modified: trunk/py/scripts/addons/mocap/mocap_tools.py
===================================================================
--- trunk/py/scripts/addons/mocap/mocap_tools.py	2011-08-26 06:39:29 UTC (rev 2269)
+++ trunk/py/scripts/addons/mocap/mocap_tools.py	2011-08-26 06:40:51 UTC (rev 2270)
@@ -37,15 +37,17 @@
         return len(self.vec)
 
     def __mul__(self, otherMember):
-        if (isinstance(otherMember, int) or
-            isinstance(otherMember, float)):
-            return NdVector([otherMember * x for x in self.vec])
-        else:
+        # assume anything with list access is a vector
+        if isinstance(otherMember, NdVector):
             a = self.vec
             b = otherMember.vec
             n = len(self)
             return sum([a[i] * b[i] for i in range(n)])
+        else:
+            # int/float
+            return NdVector([otherMember * x for x in self.vec])
 
+
     def __sub__(self, otherVec):
         a = self.vec
         b = otherVec.vec
@@ -61,10 +63,12 @@
     def __div__(self, scalar):
         return NdVector([x / scalar for x in self.vec])
 
-    def vecLength(self):
+    @property
+    def length(self):
         return sqrt(self * self)
 
-    def vecLengthSq(self):
+    @property
+    def lengthSq(self):
         return (self * self)
 
     def normalize(self):
@@ -77,21 +81,18 @@
     def __getitem__(self, i):
         return self.vec[i]
 
+    @property
     def x(self):
         return self.vec[0]
 
+    @property
     def y(self):
         return self.vec[1]
 
     def resize_2d(self):
         return Vector((self.x, self.y))
 
-    length = property(vecLength)
-    lengthSq = property(vecLengthSq)
-    x = property(x)
-    y = property(y)
 
-
 #Sampled Data Point class for Simplify Curves
 class dataPoint:
     index = 0
@@ -266,12 +267,13 @@
     # get binomial coefficient lookup table, this function/table is only called with args
     # (3,0),(3,1),(3,2),(3,3),(2,0),(2,1),(2,2)!
     binomDict = {(3, 0): 1,
-    (3, 1): 3,
-    (3, 2): 3,
-    (3, 3): 1,
-    (2, 0): 1,
-    (2, 1): 2,
-    (2, 2): 1}
+                 (3, 1): 3,
+                 (3, 2): 3,
+                 (3, 3): 1,
+                 (2, 0): 1,
+                 (2, 1): 2,
+                 (2, 2): 1,
+                 }
 
     #value at pt t of a single bernstein Polynomial
     def bernsteinPoly(n, i, t):



More information about the Bf-extensions-cvs mailing list