Changeset 664
- Timestamp:
- 08/19/03 11:55:01 (5 years ago)
- Files:
-
- trunk/RBRapier/RBRapier/Tools/Geometry/Curves.py (modified) (5 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/RBRapier/RBRapier/Tools/Geometry/Curves.py
r663 r664 30 30 self._steps = steps 31 31 32 def Interpolate(self):32 def asCurve(self): 33 33 raise NotImplementedError 34 34 35 35 def __iter__(self): 36 return iter(self. Interpolate())36 return iter(self.asCurve()) 37 37 38 38 #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ … … 43 43 def __init__(self, *points, **kw): 44 44 if points: 45 self.Set Points(*points)45 self.SetControlPoints(*points) 46 46 CurveBase.__init__(self, **kw) 47 47 … … 58 58 59 59 def GetUVector(self): 60 try: 61 return self._uvector 62 except AttributeError: 63 self._uvector = self._CreateUVector() 64 return self._uvector 65 66 def SetPoints(self, *points): 60 result = getattr(self, '_uvector', ()) 61 if len(result) != self.GetSteps(): 62 result = self._uvector = self._CreateUVector() 63 return result 64 65 def SetControlPoints(self, *points): 67 66 assert len(points) == self.GetPolyDimension()+1 68 67 self.points = Numeric.asarray(points) 69 def Get Points(self):68 def GetControlPoints(self): 70 69 return self.points 71 70 72 def Interpolate(self):71 def asCurve(self): 73 72 Ubezier = Numeric.dot(self.GetUVector(), self.GetBezierMatrix()) 74 return Numeric.dot(Ubezier, self.Get Points())73 return Numeric.dot(Ubezier, self.GetControlPoints()) 75 74 76 75 def GetPolyDimension(self): … … 232 231 return self.xrotation 233 232 234 def Interpolate(self):233 def asCurve(self): 235 234 sweep = self._GetSweepVector() 236 235 rx, ry = self.GetRadii() … … 249 248 250 249 def _GetSweepVector(self): 250 sweep = getattr(self, '_sweepvector', ()) 251 if len(sweep) != self.GetSteps(): 252 sweep = self._sweepvector = self._CreateSweepVector() 253 return sweep 254 255 def _CreateSweepVector(self): 251 256 steps = self.GetSteps()-1 # we append the last answer so it is always end-correct... even if the last step is a little off 252 257 startrad, endrad = self.GetSweep()
