jpcad/Line.py
2011-04-04 13:53:03 -04:00

39 lines
993 B
Python

import sys
from Shape import Shape
class Line(Shape):
def __init__(self, x0, y0, x1, y1):
self.vars = [x0, y0, x1, y1]
def nVars(self):
return len(self.vars)
def nPts(self):
return 3
def toEqu(self, ptNum):
if ptNum == 0:
return ([1, 0, 0, 0], [0, 1, 0, 0])
elif ptNum == 1:
return ([0, 0, 1, 0], [0, 0, 0, 1])
elif ptNum == 2:
return ([0.5, 0, 0.5, 0], [0, 0.5, 0, 0.5])
def getPt(self, ptNum):
if ptNum == 0:
return (self.vars[0], self.vars[1])
elif ptNum == 1:
return (self.vars[2], self.vars[3])
elif ptNum == 2:
return ((self.vars[0] + self.vars[2]) / 2,
(self.vars[1] + self.vars[3]) / 2)
else:
sys.stderr.write('Line.getPt(%d) called!' % ptNum)
def setPt(self, ptNum, pt):
base = ptNum * 2
self.vars[base + 0] = pt[0]
self.vars[base + 1] = pt[1]