import sys from Shape import Shape class Circle(Shape): def __init__(self, x, y, r): self.vars = [x, y, r] def nVars(self): return len(self.vars) def nPts(self): return 5 def toEqu(self, ptNum): if ptNum == 0: return ([1, 0, 0], [0, 1, 0]) elif ptNum == 1: return ([1, 0, 1], [0, 1, 0]) elif ptNum == 2: return ([1, 0, 0], [0, 1, 1]) elif ptNum == 3: return ([1, 0, -1], [0, 1, 0]) elif ptNum == 4: return ([1, 0, 0], [0, 1, -1]) def getCenter(self): return (self.vars[0], self.vars[1]) def getRadius(self): return self.vars[2] def setRadius(self, r): self.vars[2] = r def getPt(self, ptNum): if ptNum == 0: return (self.vars[0], self.vars[1]) elif ptNum == 1: return (self.vars[0] + self.vars[2], self.vars[1]) elif ptNum == 2: return (self.vars[0], self.vars[1] + self.vars[2]) elif ptNum == 3: return (self.vars[0] - self.vars[2], self.vars[1]) elif ptNum == 4: return (self.vars[0], self.vars[1] - self.vars[2]) else: sys.stderr.write('Circle.getPt(%d) called!' % ptNum) def setPt(self, ptNum, pt): if ptNum == 0: self.vars[0:2] = pt else: raise IndexError('Can only set point 0')