From 9e76f59766a386613dec6512cc7a2469f1a5dc41 Mon Sep 17 00:00:00 2001 From: Leandro Dorileo Date: Thu, 29 Nov 2012 18:53:56 +0000 Subject: [PATCH] EPhysics: add hinge test Add a test to simulate a hinge constraint using the generic constraint API's. --This line, and those below, will be ignored-- SVN revision: 79849 --- legacy/ephysics/data/themes/Makefile.am | 3 + .../ephysics/data/themes/images/door-back.png | Bin 0 -> 5116 bytes .../data/themes/images/door-front.png | Bin 0 -> 5103 bytes .../ephysics/data/themes/images/door-post.png | Bin 0 -> 1933 bytes legacy/ephysics/data/themes/others.edc | 60 ++++++++ legacy/ephysics/src/bin/Makefile.am | 1 + legacy/ephysics/src/bin/test.c | 2 + legacy/ephysics/src/bin/test_hinge.c | 142 ++++++++++++++++++ 8 files changed, 208 insertions(+) create mode 100644 legacy/ephysics/data/themes/images/door-back.png create mode 100644 legacy/ephysics/data/themes/images/door-front.png create mode 100644 legacy/ephysics/data/themes/images/door-post.png create mode 100644 legacy/ephysics/src/bin/test_hinge.c diff --git a/legacy/ephysics/data/themes/Makefile.am b/legacy/ephysics/data/themes/Makefile.am index cbce0fdd42..bfd6505990 100644 --- a/legacy/ephysics/data/themes/Makefile.am +++ b/legacy/ephysics/data/themes/Makefile.am @@ -34,6 +34,9 @@ TEST_FILES = \ images/ball-green70.png \ images/ball-red.png \ images/ball-red70.png \ + images/door-back.png \ + images/door-front.png \ + images/door-post.png \ images/bg_floor.jpg \ images/brown-pole.png \ images/bt_jump.png \ diff --git a/legacy/ephysics/data/themes/images/door-back.png b/legacy/ephysics/data/themes/images/door-back.png new file mode 100644 index 0000000000000000000000000000000000000000..b00a7fe5c5d23cbf550f5020b74bd5b9dc55e443 GIT binary patch literal 5116 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 reE-c}V$RIs1nOtuoh|&0szP2{gI-j9{n9GJ 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 +#endif + +#include "ephysics_test.h" + +static void +_door_create(Test_Data *test_data, Evas_Object *front, Evas_Object *back, Evas_Object *right, Evas_Object *left, Evas_Object *top) +{ + EPhysics_Body *body; + EPhysics_Constraint *constraint; + Evas_Coord x, y, z, w, h, d; + + body = ephysics_body_box_add(test_data->world); + test_data->bodies = eina_list_append(test_data->bodies, body); + + ephysics_body_face_evas_object_set(body, EPHYSICS_BODY_BOX_FACE_TOP, top, + EINA_TRUE); + + ephysics_body_face_evas_object_set(body, EPHYSICS_BODY_BOX_FACE_RIGHT, right, + EINA_TRUE); + + ephysics_body_face_evas_object_set(body, EPHYSICS_BODY_BOX_FACE_LEFT, left, + EINA_TRUE); + + ephysics_body_face_evas_object_set(body, EPHYSICS_BODY_BOX_FACE_FRONT, front, + EINA_TRUE); + + ephysics_body_face_evas_object_set(body, EPHYSICS_BODY_BOX_FACE_BACK, back, + EINA_TRUE); + + ephysics_body_angular_movement_enable_set(body, EINA_FALSE, EINA_TRUE, + EINA_FALSE); + + ephysics_body_linear_movement_enable_set(body, EINA_TRUE, EINA_TRUE, + EINA_TRUE); + + ephysics_body_geometry_get(body, &x, &y, &z, &w, &h, &d); + ephysics_body_resize(body, w, h, 6); + ephysics_body_move(body, x, y, 150); + ephysics_body_geometry_get(body, &x, &y, &z, &w, &h, &d); + + constraint = ephysics_constraint_add(body); + ephysics_constraint_angular_limit_set(constraint, 0, 0, 90, 0, 0, 0); + ephysics_constraint_anchor_set(constraint, x - 2, y + h / 2, z + d / 2, 0, 0, + 0); + test_data->constraints = eina_list_append(test_data->constraints, constraint); + ephysics_body_impulse_apply(body, 0, 0, -10, x + w, y + h / 2, z); +} + +static void +_world_populate(Test_Data *test_data) +{ + Evas_Object *front, *back, *right, *left, *top; + + front = elm_image_add(test_data->win); + elm_image_file_set( + front, PACKAGE_DATA_DIR "/" EPHYSICS_TEST_THEME ".edj", "door-front"); + evas_object_resize(front, 139, 270); + evas_object_move(front, WIDTH / 3, FLOOR_Y - 290); + test_data->evas_objs = eina_list_append(test_data->evas_objs, front); + + back = elm_image_add(test_data->win); + elm_image_file_set( + back, PACKAGE_DATA_DIR "/" EPHYSICS_TEST_THEME ".edj", "door-back"); + evas_object_resize(back, 139, 270); + evas_object_move(back, WIDTH / 3, FLOOR_Y - 290); + test_data->evas_objs = eina_list_append(test_data->evas_objs, back); + + right = evas_object_rectangle_add(evas_object_evas_get(test_data->win)); + evas_object_color_set(right, 117, 75, 35, 255); + evas_object_resize(right, 6, 270); + test_data->evas_objs = eina_list_append(test_data->evas_objs, right); + + left = evas_object_rectangle_add(evas_object_evas_get(test_data->win)); + evas_object_color_set(left, 117, 75, 35, 255); + evas_object_resize(left, 6, 270); + test_data->evas_objs = eina_list_append(test_data->evas_objs, left); + + top = evas_object_rectangle_add(evas_object_evas_get(test_data->win)); + evas_object_color_set(top, 117, 75, 35, 255); + evas_object_resize(top, 139, 6); + test_data->evas_objs = eina_list_append(test_data->evas_objs, top); + + _door_create(test_data, front, back, right, left, top); + + evas_object_show(front); + evas_object_show(back); + evas_object_show(right); + evas_object_show(left); + evas_object_show(top); +} + +static void +_restart(void *data, Evas_Object *obj __UNUSED__, const char *emission __UNUSED__, const char *source __UNUSED__) +{ + Test_Data *test_data = data; + + DBG("Restart pressed"); + test_clean(test_data); + _world_populate(test_data); +} + +void +test_hinge(void *data __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__) +{ + EPhysics_Camera *cam; + EPhysics_World *world; + Test_Data *test_data; + Evas_Object *floor_obj, *door_post; + + if (!ephysics_init()) + return; + + test_data = test_data_new(); + test_win_add(test_data, "Hinge", EINA_TRUE); + elm_layout_signal_callback_add(test_data->layout, "restart", "test-theme", + _restart, test_data); + + floor_obj = elm_image_add(test_data->win); + elm_image_file_set( + floor_obj, PACKAGE_DATA_DIR "/" EPHYSICS_TEST_THEME ".edj", "floor"); + evas_object_move(floor_obj, 0, FLOOR_Y - 20); + evas_object_resize(floor_obj, FLOOR_WIDTH, 224); + evas_object_show(floor_obj); + + door_post = elm_image_add(test_data->win); + elm_image_file_set( + door_post, PACKAGE_DATA_DIR "/" EPHYSICS_TEST_THEME ".edj", "door-post"); + evas_object_resize(door_post, 147, 278); + evas_object_move(door_post, WIDTH / 3 - 5, FLOOR_Y - 295); + evas_object_show(door_post); + + world = ephysics_world_new(); + cam = ephysics_world_camera_get(world); + ephysics_world_render_geometry_set(world, 0, 0, 0, WIDTH - 100, FLOOR_Y - 300, + 300); + ephysics_camera_perspective_enabled_set(cam, EINA_TRUE); + + test_data->world = world; + _world_populate(test_data); +}