class Corner: msg = CornerMsg() l_a = LineMsg() l_b = LineMsg() def __init__(self, p, l_a=None, l_b=None): self.p = p self.l_a = l_a self.l_b = l_b def MSG(self): self.msg.p = p self.msg.l_a = l_a self.msg.l_b = l_b return self.msg
class Line: ##creating the fields coeffA = 0 coeffB = 0 coeffC = 0 p_a = Point() p_b = Point() ID = 0 msg = LineMsg() ##setting the fields to the passed in parameters def __init__(self, coefficientA, coefficientB, coefficientC, point_a, point_b, iD): self.coeffA = coefficientA self.coeffB = coefficientB self.coeffC = coefficientC self.p_a = point_a self.p_b = point_b self.ID = iD ##calculate deltaX and deltaY in order to check if slope may equal zero deltaY = self.p_b.y - self.p_a.y deltaX = self.p_b.x - self.p_a.x ##calculate length using distance formula self.length = math.sqrt(deltaX**2 + deltaY**2) ##make sure it will not be dividing my zero, if so set slope to 0 if deltaY == 0 or deltaX == 0: self.slope = 0 else: ##calculate slope self.slope = deltaY / deltaX ##create LineMsg using fields self.msg = LineMsg(self.coeffA, self.coeffB, self.coeffC, self.p_a, self.p_b, self.ID)
class Corner: ##creating the fields p = Point() psi = 0 ID = 0 l_a = LineMsg() l_b = LineMsg() msg = CornerMsg() ##setting the fields to the passed in parameters def __init__(self, point, psi, iD, line_a, line_b): self.p = point self.psi = psi self.ID = iD self.l_a = line_a self.l_b = line_b ##create CornerMsg using fields self.msg = CornerMsg(self.p, self.psi, self.ID, self.l_a, self.l_b)
class Line: msg = LineMsg() A = 0 B = 0 C = 0 p_a = Point() p_b = Point() ID = 0 def __init__(self, A, B, C, p_a, p_b, ID): self.A = A self.B = B self.C = C self.p_a = p_a self.p_b = p_b self.id = ID self.lineLength = math.sqrt((p_b.x - p_a.x)**2 + (p_b.y - p_a.y)**2) #print p_b.y,p_a.y,p_b.x,p_a.x #print float(1.0/2) if (p_b.x - p_a.x == 0): self.lineSlope = 0 else: self.lineSlope = (float(p_b.y - p_a.y) / (p_b.x - p_a.x)) def lengthLine(self): return self.lineLength def slopeLine(self): return self.lineSlope def MSG(self): self.msg.A = self.A self.msg.B = self.B self.msg.C = self.C self.msg.p_a = self.p_a self.msg.p_b = self.p_b self.msg.id = self.ID return self.msg