def __init__(self, game): self.game = game # INITIALISE GRAPHICS: self.background = LoadInGraphics(constants.BACKGROUND_MENU, [0, 0]) # INITIALISE IN-GAME OBJECTS: self.ball = objects.Ball() self.right_paddle = objects.Paddle(265, 598, False) self.left_paddle = objects.Paddle(105, 598, True) self.playfield = objects.Playfield() self.spring = objects.Spring() self.deadzone = objects.Deadzone() self.point1 = objects.Point(50, 200) self.point2 = objects.Point(200, 230) self.point3 = objects.Point(190, 320) self.point4 = objects.Point(320, 450) self.point5 = objects.Point(238, 100) # list of object that feeds into the Ball's update method. Every object in this list is checked for collision # with the Ball. self.objects_list = [self.playfield, self.right_paddle, self.left_paddle, self.spring, self.deadzone, self.point1, self.point2, self.point3, self.point4, self.point5]
def test_line_ne_false(self): line = objects.Line(objects.Point(), objects.Point(2010789, 483925, 3918.63517)) line_equal = objects.Line(objects.Point(), objects.Point(2010789, 483925, 3918.63517)) is_not_equal = line != line_equal self.assertEqual(is_not_equal, False)
def test_point(self): pt1 = objects.Point(15, 16.6) self.assertAlmostEqual(pt1.x, 15) self.assertAlmostEqual(pt1.y, 16.6) pt2 = objects.Point(2, 0) self.assertAlmostEqual(pt2.x, 2) self.assertAlmostEqual(pt2.y, 0)
def test_line_init_from_points(self): start_point = objects.Point() end_point = objects.Point(2010789, 483925, 3918.63517) middle_point = objects.Point(1, 1, 1) line = objects.Line(start_point, end_point, middle_point) self.assertEqual(line.start.handle, start_point.handle) self.assertEqual(line.end.handle, end_point.handle) self.assertEqual(line.middle.handle, middle_point.handle)
def test_line_from_two_points(self): start_point = objects.Point() end_point = objects.Point(2010789, 483925, 3918.63517) line = objects.Line(start_point, end_point) self.assertEqual(line.start.handle, start_point.handle) self.assertEqual(line.end.handle, end_point.handle) self.assertEqual(line.middle.northing, 2010789 / 2) self.assertEqual(line.middle.easting, 483925 / 2) self.assertEqual(line.middle.elevation, 3918.63517 / 2)
def test_cases(self): point1 = objects.Point(4, 4) self.assertEqual(point1.x, 4) self.assertEqual(point1.y, 4) pass point2 = objects.Point(1, 1) self.assertEqual(point2.x, 1) self.assertEqual(point2.y, 1) pass
def test_point_ne_true(self): point = objects.Point(2010789, 483925, 3918.63517) point_no_elevation = objects.Point(2010789, 483925, 0) point_no_northing = objects.Point(0, 483925, 3918.63517) point_no_easting = objects.Point(2010789, 0, 3918.63517) point_all_bad = objects.Point(0, 0, 0) self.assertNotEqual(point, point_no_elevation) self.assertNotEqual(point, point_no_northing) self.assertNotEqual(point, point_no_easting) self.assertNotEqual(point, point_all_bad)
def test_point_eq_false(self): point = objects.Point(2010789, 483925, 3918.63517) point_no_elevation = objects.Point(2010789, 483925, 0) point_no_northing = objects.Point(0, 483925, 3918.63517) point_no_easting = objects.Point(2010789, 0, 3918.63517) point_all_bad = objects.Point(0, 0, 0) is_no_elevation = point == point_no_elevation is_no_northing = point == point_no_northing is_no_easting = point == point_no_easting is_all_bad = point == point_all_bad self.assertEqual(is_no_elevation, False) self.assertEqual(is_no_northing, False) self.assertEqual(is_no_easting, False) self.assertEqual(is_all_bad, False)
def test_circle(self): testPoint = objects.Point(0, 0) testCircle = objects.Circle(testPoint, 10) self.assertEquals(testCircle.center, testPoint) self.assertEquals(testCircle.center.x, testPoint.x) self.assertEquals(testCircle.center.y, testPoint.y) self.assertEquals(testCircle.radius, 10) pass
def h(self, state): edges = state.track.get_open_edges() origin = obj.Point(0, 0) sum_dist = 0 for edge in edges: if edge[0] == None: return 1 sum_dist += utils.distance(edge[0].position, origin) return len(edges) + sum_dist
def add_orbs(self): """ Returns: """ while len(self.orbs) < ServerDataBase.ORB_LIMIT: x = random.randint(0, self.board.width) y = random.randint(0, self.board.height) orb = objects.Orb(objects.Point(x, y)) id_ = protocol.key(orb) self.add_orb(id_, orb)
def test_line_ne_true(self): line = objects.Line(objects.Point(), objects.Point(2010789, 483925, 3918.63517)) line_differant_start = objects.Line(objects.Point(1,0,0), objects.Point(2010789, 483925, 3918.63517)) line_differant_end = objects.Line(objects.Point(), objects.Point(2010789, 483924, 3918.63517)) #line_differant_second_point = objects.Line(objects.Point(), # objects.Point(2010789, 483924, 3918.63517), # objects.Point(1,1,0)) line_all_bad = objects.Line(objects.Point(0,1,0), objects.Point(0,2,0)) #Will have to test for second point. self.assertNotEqual(line, line_differant_start) self.assertNotEqual(line, line_differant_end) #self.assertNotEqual(line, line_differant_second_point) self.assertNotEqual(line, line_all_bad)
def main(): polygon = objects.Polygon([ objects.Point(20, 10), objects.Point(50, 125), objects.Point(125, 90), objects.Point(150, 10) ]) p1 = objects.Point(75, 50) print("point p1 is inside :" + str(ray_casting.rayCasting(p1, polygon))) p2 = objects.Point(200, 50) print("point p2 is inside :" + str(ray_casting.rayCasting(p2, polygon))) p3 = objects.Point(35, 90) print("point p3 is inside :" + str(ray_casting.rayCasting(p3, polygon))) p4 = objects.Point(50, 10) print("point p4 is inside :" + str(ray_casting.rayCasting(p4, polygon)))
def test_line_eq_false(self): line = objects.Line(objects.Point(), objects.Point(2010789, 483925, 3918.63517)) line_differant_start = objects.Line(objects.Point(1,0,0), objects.Point(2010789, 483925, 3918.63517)) line_differant_end = objects.Line(objects.Point(), objects.Point(2010789, 483924, 3918.63517)) #line_differant_second_point = objects.Line(objects.Point(), # objects.Point(2010789, 483924, 3918.63517), # objects.Point(1,1,0)) line_all_bad = objects.Line(objects.Point(0,1,0), objects.Point(0,2,0)) #Will have to test for second point. is_differant_start = line == line_differant_start is_differant_end = line == line_differant_end #is_differant_second_point = line == line_differant_second_point is_all_bad = line == line_all_bad self.assertEqual(is_differant_start, False) self.assertEqual(is_differant_end, False) #self.assertEqual(is_differant_second_point, False) self.assertEqual(is_all_bad, False)
def create_list_of_points(filename): """ list[Point] create_list_of_points(str) PRECONDITION(S): the string is a valid filename POSTCONDITION(S): return a list[Point] of Points generated from the given filename """ # variables point_list = [] data_folder = "eye-tracking-data/" filename_path = data_folder+filename with open(filename_path) as data_csv_file: reader = csv.DictReader(data_csv_file) for row in reader: point_list.append(objects.Point(int(row['fix_x_original']), int(row['fix_y_original']), int(row['duration_ms']), int(row['start_ms']), int(row['end_ms']), str(row['aoi_sub.line']), int(row['fix_x']), int(row['fix_y']), filename)) return point_list
def on_ok_button_clicked(self, widget): print("clicked") object_name = self.builder.get_object("entry_name").get_text() print(object_name) if len(self.main_window.available_id) == 0: self.main_window.object_id += 1 object_id = self.main_window.object_id elif len(self.main_window.available_id) != 0: object_id = self.main_window.available_id[0] self.main_window.available_id.pop(0) if object_name == "": object_name = "object"+str(object_id) print(object_id) current_page = self.builder.get_object("notebook_object").get_current_page() color = self.builder.get_object("color_button") rgba = color.get_rgba() object_rgb = [] object_rgb.append(rgba.red) object_rgb.append(rgba.green) object_rgb.append(rgba.blue) is_solid = self.builder.get_object("button_solid") # if current page = 0, add point if current_page == 0: x = float(self.builder.get_object("entry_x_point").get_text()) y = float(self.builder.get_object("entry_y_point").get_text()) new_point = objects.Point(x, y, object_id, object_name, "Point", object_rgb) new_point.rotate_scn(-self.main_window.window.theta, self.main_window.window.window_center.x, self.main_window.window.window_center.y) self.main_window.object_list.append([new_point.object_id, new_point.object_name, new_point.object_type]) self.main_window.append_log("Object " + new_point.object_name + " (" + new_point.object_type + ") created") self.main_window.saved_objects.append(new_point) if current_page == 1: x1 = float(self.builder.get_object("entry_x1_line").get_text()) x2 = float(self.builder.get_object("entry_x2_line").get_text()) y1 = float(self.builder.get_object("entry_y1_line").get_text()) y2 = float(self.builder.get_object("entry_y2_line").get_text()) new_line = objects.Line(objects.LinePoint(x1, y1), objects.LinePoint(x2, y2), object_id, object_name, "Line", object_rgb) new_line.rotate_scn(-self.main_window.window.theta, self.main_window.window.window_center.x, self.main_window.window.window_center.y) self.main_window.object_list.append([new_line.object_id, new_line.object_name, new_line.object_type]) self.main_window.append_log("Object " + new_line.object_name + " (" + new_line.object_type + ") created") self.main_window.saved_objects.append(new_line) if current_page == 2: new_list = [] for obj in self.wireframe_points: new_list.append(obj) new_wireframe = objects.Wireframe(new_list, object_id, object_name, "Wireframe", object_rgb, is_solid.get_active()) new_wireframe.rotate_scn(-self.main_window.window.theta, self.main_window.window.window_center.x, self.main_window.window.window_center.y) self.main_window.object_list.append([new_wireframe.object_id, new_wireframe.object_name, new_wireframe.object_type]) self.main_window.append_log("Object " + new_wireframe.object_name + " (" + new_wireframe.object_type + ") created") self.main_window.saved_objects.append(new_wireframe) self.wireframe_points.clear() if current_page == 3: x1 = float(self.builder.get_object("x1_bezier_entry").get_text()) x2 = float(self.builder.get_object("x2_bezier_entry").get_text()) x3 = float(self.builder.get_object("x3_bezier_entry").get_text()) x4 = float(self.builder.get_object("x4_bezier_entry").get_text()) y1 = float(self.builder.get_object("y1_bezier_entry").get_text()) y2 = float(self.builder.get_object("y2_bezier_entry").get_text()) y3 = float(self.builder.get_object("y3_bezier_entry").get_text()) y4 = float(self.builder.get_object("y4_bezier_entry").get_text()) points = [] points.append(objects.LinePoint(x1, y1)) points.append(objects.LinePoint(x2, y2)) points.append(objects.LinePoint(x3, y3)) points.append(objects.LinePoint(x4, y4)) new_curve = objects.Curve(points, object_id, object_name, "Curve", object_rgb, "bezier") new_curve.rotate_scn(-self.main_window.window.theta, self.main_window.window.window_center.x, self.main_window.window.window_center.y) self.main_window.object_list.append([new_curve.object_id, new_curve.object_name, new_curve.object_type]) self.main_window.append_log("Object " + new_curve.object_name + " (Bezier " + new_curve.object_type + ") created") self.main_window.saved_objects.append(new_curve) if current_page == 4: if len(self.bspline_points) >= 4: new_list = [] for obj in self.bspline_points: new_list.append(obj) new_bspline = objects.Curve(new_list, object_id, object_name, "Curve", object_rgb, "b-spline") new_bspline.rotate_scn(-self.main_window.window.theta, self.main_window.window.window_center.x, self.main_window.window.window_center.y) self.main_window.object_list.append([new_bspline.object_id, new_bspline.object_name, new_bspline.object_type]) self.main_window.append_log("Object " + new_bspline.object_name + " (B-Spline " + new_bspline.object_type + ") created") self.main_window.saved_objects.append(new_bspline) else: self.errordialog = self.builder.get_object("bspline_error") self.errordialog.run() self.errordialog.destroy() self.main_window.append_log("Insufficient points to generate a b-spline curve") self.main_window.append_log("Try again with at least 4 points") self.wireframe_points.clear() self.bspline_points.clear() cr = self.darea.get_window().cairo_create() self.darea.draw(cr) self.object_window.destroy()
def test_point(self): testPoint = objects.Point(0, 0) self.assertEquals(testPoint.x, 0) self.assertEquals(testPoint.y, 0) pass
def test_circles_overlap_2(self): point1 = objects.Point(1.0, 1.0) point2 = objects.Point(5.0, 10.0) circle1 = objects.Circle(point1, 3) circle2 = objects.Circle(point2, 2) self.assertFalse(funcs_objects.circles_overlap(circle1, circle2))
def test_circles_overlap_1(self): point1 = objects.Point(0.0, 1.0) point2 = objects.Point(2.0, 3.0) circle1 = objects.Circle(point1, 3) circle2 = objects.Circle(point2, 6) self.assertTrue(funcs_objects.circles_overlap(circle1, circle2))
def test_distance_2(self): point1 = objects.Point(4.0, 6.0) point2 = objects.Point(7.0, 9.0) self.assertAlmostEqual(funcs_objects.distance(point1, point2), 4.24264068)
def test_point_str(self): point = objects.Point(2010789, 483925, 3918.63517) self.assertEqual(str(point), "483925, 2010789, 3918.63517")
def test_point_init_from_values(self): point = objects.Point(2010789, 483925, 3918.63517) self.assertEqual(point.northing, 2010789) self.assertEqual(point.easting, 483925) self.assertEqual(point.elevation, 3918.63517)
def test_line_get_length(self): line = objects.Line(objects.Point(), objects.Point(2010789, 483925, 3918.63517)) self.assertEqual(line.get_length(), 2068204.8167064101)
def test_grow_circle1(self): circle1 = objects.Circle(objects.Point(5, 5), 5.0) new_circle = funcs.objects.grow_circle(circle1, 2) self.assertEqual(objects.circle.center.x, 1)
def test_point_ne_false(self): point = objects.Point(2010789, 483925, 3918.63517) point_equal = objects.Point(2010789, 483925, 3918.63517) is_not_equal = point != point_equal self.assertEqual(is_not_equal, False)
def test_line_get_2d_radius(self): line = objects.Line(objects.Point(), objects.Point(2010789, 483925, 3918.63517))
def test_distance_1(self): point1 = objects.Point(0.0, 0.0) point2 = objects.Point(3.0, 4.0) self.assertAlmostEqual(funcs_objects.distance(point1, point2), 5.0)
def test_point_eq_true(self): point = objects.Point(2010789, 483925, 3918.63517) point_equal = objects.Point(2010789, 483925, 3918.63517) self.assertEqual(point, point_equal)
def addpoint(self, x, y, name=""): if name == "": name = getfreename_points(self.points) self.points.append(objects.Point(x, y, name))
def test_point_init_as_empty(self): point = objects.Point() self.assertEqual(point.northing, 0) self.assertEqual(point.easting, 0) self.assertEqual(point.elevation, 0)