#!/usr/bin/python3 """The linesegment module defines the class line_segment""" import point class LineSegment: """The class LineSegment defines a two-dimensional line segment in the coordinate system starting at a startpoint and ending at a endpoint.""" def __init__(self, startpoint=point.Point(), endpoint=point.Point()): """Initialize the line segment.""" self.set_startpoint(startpoint) self.set_endpoint(endpoint) def set_startpoint(self, new_startpoint): """Set or change the startpoint of the line segment. If not a Point object is given the startpoint gets set to a default value of Point(0,0)""" self.__startpoint = new_startpoint def get_startpoint(self): """Returns the current startpoint""" return self.__startpoint def set_endpoint(self, new_endpoint): """Set or change the endpoint of the line segment. If not a Point object is given the endpoint gets set to a default value of Point(0,0)""" self.__endpoint = new_endpoint def get_endpoint(self): """Returns the current endpoint""" return self.__endpoint def get_length(self): """Returns the length of the line segment.""" diff_x = abs(self.__startpoint.get_x() - self.__endpoint.get_x()) diff_y = abs(self.__startpoint.get_y() - self.__endpoint.get_y()) return ((diff_x ** 2) + (diff_y ** 2)) ** (1/2.0) def draw(self): """TODO: Draw the line segment in a canvas"""