diff --git a/direct/src/extensions/NurbsCurveEvaluator-extensions.py b/direct/src/extensions/NurbsCurveEvaluator-extensions.py new file mode 100644 index 0000000000..7441770a9b --- /dev/null +++ b/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 + diff --git a/direct/src/extensions/NurbsSurfaceEvaluator-extensions.py b/direct/src/extensions/NurbsSurfaceEvaluator-extensions.py new file mode 100644 index 0000000000..6399fe6e39 --- /dev/null +++ b/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