moved shapes and constraints into module directories
This commit is contained in:
1 parent
4e70df40e3
commit
e398a6e6c8
14 files changed
No files matched your search
@@ -0,0 +1,46 @@
|
||||
|
||||
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 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)
|
||||
@@ -0,0 +1,38 @@
|
||||
|
||||
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]
|
||||
@@ -0,0 +1,7 @@
|
||||
|
||||
class Shape(object):
|
||||
def getVar(self, varid):
|
||||
return self.vars[varid]
|
||||
|
||||
def setVar(self, varid, value):
|
||||
self.vars[varid] = value
|
||||
@@ -0,0 +1,3 @@
|
||||
|
||||
from Line import *
|
||||
from Circle import *
|
||||
Reference in new issue
Block a user