Explorar o código

add NurbsSurface stuff

David Rose %!s(int64=22) %!d(string=hai) anos
pai
achega
345aeef88f

+ 26 - 0
direct/src/extensions/NurbsCurveEvaluator-extensions.py

@@ -0,0 +1,26 @@
+
+    """
+    NurbsCurveEvaluator-extensions module: contains methods to extend
+    functionality of the NurbsCurveEvaluator class
+    """
+
+    def getKnots(self):
+        """Returns the knot vector as a Python list of floats"""
+        knots = []
+        for i in range(self.getNumKnots()):
+            knots.append(self.getKnot(i))
+        return knots
+
+    def getVertices(self, relTo = None):
+        """Returns the vertices as a Python list of Vec4's, relative
+        to the indicated space if given."""
+        
+        verts = []
+        if relTo:
+            for i in range(self.getNumVertices()):
+                verts.append(self.getVertex(i, relTo))
+        else:
+            for i in range(self.getNumVertices()):
+                verts.append(self.getVertex(i))
+        return verts
+

+ 36 - 0
direct/src/extensions/NurbsSurfaceEvaluator-extensions.py

@@ -0,0 +1,36 @@
+
+    """
+    NurbsSurfaceEvaluator-extensions module: contains methods to extend
+    functionality of the NurbsSurfaceEvaluator class
+    """
+
+    def getUKnots(self):
+        """Returns the U knot vector as a Python list of floats"""
+        knots = []
+        for i in range(self.getNumUKnots()):
+            knots.append(self.getUKnot(i))
+        return knots
+
+    def getVKnots(self):
+        """Returns the V knot vector as a Python list of floats"""
+        knots = []
+        for i in range(self.getNumVKnots()):
+            knots.append(self.getVKnot(i))
+        return knots
+
+    def getVertices(self, relTo = None):
+        """Returns the vertices as a 2-d Python list of Vec4's, relative
+        to the indicated space if given."""
+
+        verts = []
+        for ui in range(self.getNumUVertices()):
+            v = []
+            if relTo:
+                for vi in range(self.getNumVVertices()):
+                    v.append(self.getVertex(ui, vi, relTo))
+            else:
+                for vi in range(self.getNumVVertices()):
+                    v.append(self.getVertex(ui, vi))
+            verts.append(v)
+            
+        return verts