Changeset 664

Show
Ignore:
Timestamp:
08/19/03 11:55:01 (5 years ago)
Author:
sholloway
Message:

*** empty log message ***

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/RBRapier/RBRapier/Tools/Geometry/Curves.py

    r663 r664  
    3030        self._steps = steps 
    3131 
    32     def Interpolate(self): 
     32    def asCurve(self): 
    3333        raise NotImplementedError 
    3434 
    3535    def __iter__(self): 
    36         return iter(self.Interpolate()) 
     36        return iter(self.asCurve()) 
    3737 
    3838#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
     
    4343    def __init__(self, *points, **kw): 
    4444        if points: 
    45             self.SetPoints(*points) 
     45            self.SetControlPoints(*points) 
    4646        CurveBase.__init__(self, **kw) 
    4747 
     
    5858 
    5959    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): 
    6766        assert len(points) == self.GetPolyDimension()+1 
    6867        self.points = Numeric.asarray(points) 
    69     def GetPoints(self): 
     68    def GetControlPoints(self): 
    7069        return self.points 
    7170 
    72     def Interpolate(self): 
     71    def asCurve(self): 
    7372        Ubezier = Numeric.dot(self.GetUVector(), self.GetBezierMatrix()) 
    74         return Numeric.dot(Ubezier, self.GetPoints()) 
     73        return Numeric.dot(Ubezier, self.GetControlPoints()) 
    7574 
    7675    def GetPolyDimension(self): 
     
    232231        return self.xrotation 
    233232 
    234     def Interpolate(self): 
     233    def asCurve(self): 
    235234        sweep = self._GetSweepVector() 
    236235        rx, ry = self.GetRadii() 
     
    249248 
    250249    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): 
    251256        steps = self.GetSteps()-1 # we append the last answer so it is always end-correct... even if the last step is a little off 
    252257        startrad, endrad = self.GetSweep()