summaryrefslogtreecommitdiff
path: root/src/lib/edje/edje_calc.c
diff options
context:
space:
mode:
authorHermet Park <chuneon.park@samsung.com>2020-03-19 18:47:36 +0900
committerHermet Park <chuneon.park@samsung.com>2020-03-19 18:49:17 +0900
commit0583b143078c5b46fc887d40687e50d2640f82d3 (patch)
tree335256326d7c1cd5f1625d6c0a4e0014dd7be678 /src/lib/edje/edje_calc.c
parentc4fad77ae3d1e2acbc8d0876edb614d861051dc8 (diff)
canvas 3d: remove canvas3d edje
Summary: Remove functional stuff, leave as deprecated for compatibility. Subscribers: cedric, #reviewers, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D11541
Diffstat (limited to '')
-rw-r--r--src/lib/edje/edje_calc.c332
1 files changed, 0 insertions, 332 deletions
diff --git a/src/lib/edje/edje_calc.c b/src/lib/edje/edje_calc.c
index f3dd13be85..1a88b23d0e 100644
--- a/src/lib/edje/edje_calc.c
+++ b/src/lib/edje/edje_calc.c
@@ -45,55 +45,6 @@ static void _edje_part_recalc_single(Edje *ed, Edje_Rea
45 45
46#endif 46#endif
47 47
48
49#define SET_QUATERNION(type) \
50 double norm; \
51 Eina_Quaternion quaternion; \
52 \
53 eina_quaternion_set(&quaternion, pd_##type->type.orientation.data[0], \
54 pd_##type->type.orientation.data[1], \
55 pd_##type->type.orientation.data[2], \
56 pd_##type->type.orientation.data[3]); \
57 \
58 norm = eina_quaternion_norm(&quaternion); \
59 \
60 if ((norm - 0.0) <= TYPE_EPSILON) \
61 ERR("%s %s", \
62 "{0, 0, 0, 0} quaternion gives rotation on non-zero angle", \
63 "around axis without orientation"); \
64 \
65 eina_quaternion_scale(&quaternion, &quaternion, 1/norm); \
66 \
67 evas_canvas3d_node_orientation_set(ep->node, quaternion.x, quaternion.y, \
68 quaternion.z, quaternion.w);
69
70#define SET_LOOK_AT(type) \
71 evas_canvas3d_node_look_at_set(ep->node, pd_##type->type.position.space, \
72 pd_##type->type.orientation.data[0], \
73 pd_##type->type.orientation.data[1], \
74 pd_##type->type.orientation.data[2], \
75 pd_##type->type.position.space, \
76 pd_##type->type.orientation.data[3], \
77 pd_##type->type.orientation.data[4], \
78 pd_##type->type.orientation.data[5]);
79
80#define SET_LOOK_TO(type) \
81 Edje_Real_Part *look_to; \
82 Evas_Real x, y ,z; \
83 look_to = ed->table_parts[pd_##type->type.orientation.look_to % ed->table_parts_size]; \
84 evas_canvas3d_node_position_get(look_to->node, pd_##type->type.position.space, &x, &y, &z); \
85 evas_canvas3d_node_look_at_set(ep->node, pd_##type->type.position.space, x, y, z, \
86 pd_##type->type.position.space, \
87 pd_##type->type.orientation.data[3], \
88 pd_##type->type.orientation.data[4], \
89 pd_##type->type.orientation.data[5]);
90
91#define SET_ANGLE_AXIS(type) \
92 evas_canvas3d_node_orientation_angle_axis_set(ep->node, pd_##type->type.orientation.data[0], \
93 pd_##type->type.orientation.data[1], \
94 pd_##type->type.orientation.data[2], \
95 pd_##type->type.orientation.data[3]);
96
97void 48void
98_edje_calc_params_clear(Edje_Calc_Params *p) 49_edje_calc_params_clear(Edje_Calc_Params *p)
99{ 50{
@@ -357,9 +308,6 @@ case EDJE_PART_TYPE_##Short: \
357 POPULATE_MEMSIZE_RTL(BOX, Box); 308 POPULATE_MEMSIZE_RTL(BOX, Box);
358 POPULATE_MEMSIZE_RTL(TABLE, Table); 309 POPULATE_MEMSIZE_RTL(TABLE, Table);
359 POPULATE_MEMSIZE_RTL(EXTERNAL, External); 310 POPULATE_MEMSIZE_RTL(EXTERNAL, External);
360 POPULATE_MEMSIZE_RTL(CAMERA, Camera);
361 POPULATE_MEMSIZE_RTL(LIGHT, Light);
362 POPULATE_MEMSIZE_RTL(MESH_NODE, Mesh_Node);
363 POPULATE_MEMSIZE_RTL(VECTOR, Vector); 311 POPULATE_MEMSIZE_RTL(VECTOR, Vector);
364 } 312 }
365#undef POPULATE_MEMSIZE_RTL 313#undef POPULATE_MEMSIZE_RTL
@@ -460,9 +408,6 @@ case EDJE_PART_TYPE_##Short: \
460 EDIT_ALLOC_POOL_RTL(BOX, Box, box); 408 EDIT_ALLOC_POOL_RTL(BOX, Box, box);
461 EDIT_ALLOC_POOL_RTL(TABLE, Table, table); 409 EDIT_ALLOC_POOL_RTL(TABLE, Table, table);
462 EDIT_ALLOC_POOL_RTL(EXTERNAL, External, external_params); 410 EDIT_ALLOC_POOL_RTL(EXTERNAL, External, external_params);
463 EDIT_ALLOC_POOL_RTL(CAMERA, Camera, camera);
464 EDIT_ALLOC_POOL_RTL(LIGHT, Light, light);
465 EDIT_ALLOC_POOL_RTL(MESH_NODE, Mesh_Node, mesh_node);
466 EDIT_ALLOC_POOL_RTL(VECTOR, Vector, vector); 411 EDIT_ALLOC_POOL_RTL(VECTOR, Vector, vector);
467 } 412 }
468 413
@@ -2897,43 +2842,6 @@ _edje_part_recalc_single_text0(Edje_Calc_Params *params,
2897} 2842}
2898 2843
2899static void 2844static void
2900_edje_part_recalc_single_light0(Edje_Calc_Params *params,
2901 Edje_Part_Description_Light *light_desc)
2902{
2903 _edje_calc_params_need_type_node(params);
2904 params->type.node->data[0] = light_desc->light.orientation.data[0];
2905 params->type.node->point.x = light_desc->light.position.point.x;
2906 params->type.node->point.y = light_desc->light.position.point.y;
2907 params->type.node->point.z = light_desc->light.position.point.z;
2908}
2909
2910static void
2911_edje_part_recalc_single_camera0(Edje_Calc_Params *params,
2912 Edje_Part_Description_Camera *camera_desc)
2913{
2914 _edje_calc_params_need_type_node(params);
2915 params->type.node->data[0] = camera_desc->camera.orientation.data[0];
2916 params->type.node->point.x = camera_desc->camera.position.point.x;
2917 params->type.node->point.y = camera_desc->camera.position.point.y;
2918 params->type.node->point.z = camera_desc->camera.position.point.z;
2919}
2920
2921static void
2922_edje_part_recalc_single_mesh0(Edje_Calc_Params *params,
2923 Edje_Part_Description_Mesh_Node *mesh_desc)
2924{
2925 _edje_calc_params_need_type_node(params);
2926 params->type.node->frame = mesh_desc->mesh_node.mesh.frame;
2927 params->type.node->data[0] = mesh_desc->mesh_node.orientation.data[0];
2928 params->type.node->point.x = mesh_desc->mesh_node.position.point.x;
2929 params->type.node->point.y = mesh_desc->mesh_node.position.point.y;
2930 params->type.node->point.z = mesh_desc->mesh_node.position.point.z;
2931 params->type.node->scale_3d.x = mesh_desc->mesh_node.scale_3d.x;
2932 params->type.node->scale_3d.y = mesh_desc->mesh_node.scale_3d.y;
2933 params->type.node->scale_3d.z = mesh_desc->mesh_node.scale_3d.z;
2934}
2935
2936static void
2937_edje_table_recalc_apply(Edje *ed EINA_UNUSED, 2845_edje_table_recalc_apply(Edje *ed EINA_UNUSED,
2938 Edje_Real_Part *ep, 2846 Edje_Real_Part *ep,
2939 Edje_Calc_Params *p3 EINA_UNUSED, 2847 Edje_Calc_Params *p3 EINA_UNUSED,
@@ -3095,15 +3003,6 @@ _edje_part_recalc_single(Edje *ed,
3095 // image. proxy, snapshot share this filter recalc, so fall through 3003 // image. proxy, snapshot share this filter recalc, so fall through
3096 _edje_part_recalc_single_filter(ed, ep, desc, chosen_desc, pos); 3004 _edje_part_recalc_single_filter(ed, ep, desc, chosen_desc, pos);
3097 break; 3005 break;
3098 case EDJE_PART_TYPE_LIGHT:
3099 _edje_part_recalc_single_light0(params, (Edje_Part_Description_Light *)desc);
3100 break;
3101 case EDJE_PART_TYPE_CAMERA:
3102 _edje_part_recalc_single_camera0(params, (Edje_Part_Description_Camera *)desc);
3103 break;
3104 case EDJE_PART_TYPE_MESH_NODE:
3105 _edje_part_recalc_single_mesh0(params, (Edje_Part_Description_Mesh_Node *)desc);
3106 break;
3107 case EDJE_PART_TYPE_SPACER: 3006 case EDJE_PART_TYPE_SPACER:
3108 case EDJE_PART_TYPE_RECTANGLE: 3007 case EDJE_PART_TYPE_RECTANGLE:
3109 case EDJE_PART_TYPE_SWALLOW: 3008 case EDJE_PART_TYPE_SWALLOW:
@@ -4038,19 +3937,6 @@ _edje_part_calc_params_memcpy(Edje_Calc_Params *p, Edje_Calc_Params *s, Edje_Par
4038 else p->type.text = NULL; 3937 else p->type.text = NULL;
4039 } 3938 }
4040 break; 3939 break;
4041 case EDJE_PART_TYPE_LIGHT:
4042 case EDJE_PART_TYPE_CAMERA:
4043 case EDJE_PART_TYPE_MESH_NODE:
4044 {
4045 Edje_Calc_Params_Type_Node *d = malloc(sizeof(*d));
4046 if (d)
4047 {
4048 memcpy(d, s->type.node, sizeof(*d));
4049 p->type.node = d;
4050 }
4051 else p->type.node = NULL;
4052 }
4053 break;
4054 default: 3940 default:
4055 break; 3941 break;
4056 } 3942 }
@@ -4717,33 +4603,6 @@ _edje_part_recalc(Edje *ed, Edje_Real_Part *ep, int flags, Edje_Calc_Params *sta
4717 p3->type.text->align.y = FFP(p1->type.text->align.y, p2->type.text->align.y, pos); 4603 p3->type.text->align.y = FFP(p1->type.text->align.y, p2->type.text->align.y, pos);
4718 p3->type.text->ellipsis = TO_DOUBLE(FINTP(p1->type.text->ellipsis, p2->type.text->ellipsis, pos2)); 4604 p3->type.text->ellipsis = TO_DOUBLE(FINTP(p1->type.text->ellipsis, p2->type.text->ellipsis, pos2));
4719 break; 4605 break;
4720 case EDJE_PART_TYPE_MESH_NODE:
4721 _edje_calc_params_need_type_node(p3);
4722 p3->type.node->frame = INTP(p1->type.node->frame, p2->type.node->frame, pos);
4723 p3->type.node->data[0] = INTP(p1->type.node->data[0], p2->type.node->data[0], pos);
4724
4725 p3->type.node->point.x = FFP(p1->type.node->point.x, p2->type.node->point.x, pos);
4726 p3->type.node->point.y = FFP(p1->type.node->point.y, p2->type.node->point.y, pos);
4727 p3->type.node->point.z = FFP(p1->type.node->point.z, p2->type.node->point.z, pos);
4728
4729 p3->type.node->scale_3d.x = FFP(p1->type.node->scale_3d.x, p2->type.node->scale_3d.x, pos);
4730 p3->type.node->scale_3d.y = FFP(p1->type.node->scale_3d.y, p2->type.node->scale_3d.y, pos);
4731 p3->type.node->scale_3d.z = FFP(p1->type.node->scale_3d.z, p2->type.node->scale_3d.z, pos);
4732 break;
4733 case EDJE_PART_TYPE_CAMERA:
4734 p3->type.node->data[0] = FFP(p1->type.node->data[0], p2->type.node->data[0], pos);
4735
4736 p3->type.node->point.x = FFP(p1->type.node->point.x, p2->type.node->point.x, pos);
4737 p3->type.node->point.y = FFP(p1->type.node->point.y, p2->type.node->point.y, pos);
4738 p3->type.node->point.z = FFP(p1->type.node->point.z, p2->type.node->point.z, pos);
4739 break;
4740 case EDJE_PART_TYPE_LIGHT:
4741 p3->type.node->data[0] = FFP(p1->type.node->data[0], p2->type.node->data[0], pos);
4742
4743 p3->type.node->point.x = FFP(p1->type.node->point.x, p2->type.node->point.x, pos);
4744 p3->type.node->point.y = FFP(p1->type.node->point.y, p2->type.node->point.y, pos);
4745 p3->type.node->point.z = FFP(p1->type.node->point.z, p2->type.node->point.z, pos);
4746 break;
4747 } 4606 }
4748 4607
4749 /* mapped is a special case like visible */ 4608 /* mapped is a special case like visible */
@@ -5020,197 +4879,6 @@ _edje_part_recalc(Edje *ed, Edje_Real_Part *ep, int flags, Edje_Calc_Params *sta
5020 case EDJE_PART_TYPE_SPACER: 4879 case EDJE_PART_TYPE_SPACER:
5021 /* We really should do nothing on SPACER part */ 4880 /* We really should do nothing on SPACER part */
5022 break; 4881 break;
5023 case EDJE_PART_TYPE_CAMERA:
5024 {
5025 Evas_Object *viewport;
5026 Evas_Canvas3D_Camera *camera = NULL;
5027 Edje_Part_Description_Camera *pd_camera;
5028
5029 efl_gfx_entity_size_set(ep->object, EINA_SIZE2D(pf->req.w, pf->req.h));
5030
5031 pd_camera = (Edje_Part_Description_Camera*) ep->chosen_description;
5032
5033 efl_gfx_entity_position_set(ep->object, EINA_POSITION2D(ed->x + pf->final.x, ed->y + pf->final.y)),
5034 efl_gfx_entity_size_set(ep->object, EINA_SIZE2D(pf->final.w, pf->final.h));
5035
5036 viewport = evas_object_image_source_get(ep->object);
5037
5038 efl_gfx_entity_size_set(viewport, EINA_SIZE2D(pf->req.w, pf->req.h));
5039
5040 evas_object_image_source_visible_set(ep->object, EINA_FALSE);
5041 evas_object_image_source_events_set(ep->object, EINA_TRUE);
5042 evas_object_show(ep->object);
5043
5044 camera = evas_canvas3d_node_camera_get(ep->node);
5045
5046 evas_canvas3d_camera_projection_perspective_set(camera, pd_camera->camera.camera.fovy, pd_camera->camera.camera.aspect, pd_camera->camera.camera.frustum_near, pd_camera->camera.camera.frustum_far);
5047
5048 _edje_calc_params_need_type_node(pf);
5049 evas_canvas3d_node_position_set(ep->node, pf->type.node->point.x, pf->type.node->point.y, pf->type.node->point.z);
5050 switch (pd_camera->camera.orientation.type)
5051 {
5052 case EVAS_CANVAS3D_NODE_ORIENTATION_TYPE_NONE:
5053 case EVAS_CANVAS3D_NODE_ORIENTATION_TYPE_QUATERNION:
5054 {
5055 SET_QUATERNION(camera)
5056 break;
5057 }
5058 case EVAS_CANVAS3D_NODE_ORIENTATION_TYPE_LOOK_AT:
5059 SET_LOOK_AT(camera)
5060 break;
5061 case EVAS_CANVAS3D_NODE_ORIENTATION_TYPE_LOOK_TO:
5062 {
5063 SET_LOOK_TO(camera)
5064 break;
5065 }
5066 case EVAS_CANVAS3D_NODE_ORIENTATION_TYPE_ANGLE_AXIS:
5067 SET_ANGLE_AXIS(camera)
5068 break;
5069 }
5070 break;
5071 }
5072 case EDJE_PART_TYPE_LIGHT:
5073 {
5074 Evas_Canvas3D_Light *light_node = NULL;
5075 Edje_Part_Description_Light *pd_light;
5076
5077 pd_light = (Edje_Part_Description_Light*) ep->chosen_description;
5078 light_node = evas_canvas3d_node_light_get(ep->node);
5079
5080 evas_canvas3d_light_ambient_set(light_node, (float) pd_light->light.properties.ambient.r / 255, (float) pd_light->light.properties.ambient.g / 255, (float) pd_light->light.properties.ambient.b / 255, (float) pd_light->light.properties.ambient.a / 255);
5081 evas_canvas3d_light_diffuse_set(light_node, (float) pd_light->light.properties.diffuse.r / 255, (float) pd_light->light.properties.diffuse.g / 255, (float) pd_light->light.properties.diffuse.b / 255, (float) pd_light->light.properties.diffuse.a / 255);
5082 evas_canvas3d_light_specular_set(light_node, (float) pd_light->light.properties.specular.r / 255, (float) pd_light->light.properties.specular.g / 255, (float) pd_light->light.properties.specular.b / 255, (float) pd_light->light.properties.specular.a / 255);
5083 evas_canvas3d_light_directional_set(light_node, EINA_TRUE);
5084 evas_canvas3d_light_projection_perspective_set(light_node, pd_light->light.light.fovy, pd_light->light.light.aspect, pd_light->light.light.frustum_near, pd_light->light.light.frustum_far);
5085
5086 _edje_calc_params_need_type_node(pf);
5087 evas_canvas3d_node_position_set(ep->node, pf->type.node->point.x, pf->type.node->point.y, pf->type.node->point.z);
5088 switch (pd_light->light.orientation.type)
5089 {
5090 case EVAS_CANVAS3D_NODE_ORIENTATION_TYPE_NONE:
5091 case EVAS_CANVAS3D_NODE_ORIENTATION_TYPE_QUATERNION:
5092 {
5093 SET_QUATERNION(light);
5094 break;
5095 }
5096 case EVAS_CANVAS3D_NODE_ORIENTATION_TYPE_LOOK_AT:
5097 SET_LOOK_AT(light)
5098 break;
5099 case EVAS_CANVAS3D_NODE_ORIENTATION_TYPE_LOOK_TO:
5100 {
5101 SET_LOOK_TO(light)
5102 break;
5103 }
5104 case EVAS_CANVAS3D_NODE_ORIENTATION_TYPE_ANGLE_AXIS:
5105 SET_ANGLE_AXIS(light)
5106 break;
5107 }
5108 break;
5109 }
5110 case EDJE_PART_TYPE_MESH_NODE:
5111 {
5112 Evas_Canvas3D_Material *material = NULL;
5113 Evas_Canvas3D_Texture *texture = NULL;
5114 Evas_Canvas3D_Mesh *mesh = NULL;
5115 const char *proxy;
5116 Edje_Part_Description_Mesh_Node *pd_mesh_node;
5117 const Eina_List *meshes;
5118 const Eina_List *list;
5119 Eina_Bool frame_exist;
5120
5121 meshes = evas_canvas3d_node_mesh_list_get(ep->node);
5122
5123 EINA_LIST_FOREACH(meshes, list, mesh)
5124 {
5125 material = evas_canvas3d_mesh_frame_material_get(mesh, 0);
5126 texture = evas_canvas3d_material_texture_get(material, EVAS_CANVAS3D_MATERIAL_ATTRIB_DIFFUSE);
5127
5128 pd_mesh_node = (Edje_Part_Description_Mesh_Node*) ep->chosen_description;
5129
5130 evas_canvas3d_material_enable_set(material, EVAS_CANVAS3D_MATERIAL_ATTRIB_AMBIENT, EINA_TRUE);
5131 evas_canvas3d_material_enable_set(material, EVAS_CANVAS3D_MATERIAL_ATTRIB_DIFFUSE, EINA_TRUE);
5132 evas_canvas3d_material_enable_set(material, EVAS_CANVAS3D_MATERIAL_ATTRIB_SPECULAR, EINA_TRUE);
5133 evas_canvas3d_material_enable_set(material, EVAS_CANVAS3D_MATERIAL_ATTRIB_NORMAL, pd_mesh_node->mesh_node.properties.normal);
5134 evas_canvas3d_material_color_set(material, EVAS_CANVAS3D_MATERIAL_ATTRIB_AMBIENT, (float) pd_mesh_node->mesh_node.properties.ambient.r / 255, (float) pd_mesh_node->mesh_node.properties.ambient.g / 255, (float) pd_mesh_node->mesh_node.properties.ambient.b / 255, (float) pd_mesh_node->mesh_node.properties.ambient.a / 255);
5135 evas_canvas3d_material_color_set(material, EVAS_CANVAS3D_MATERIAL_ATTRIB_DIFFUSE, (float) pd_mesh_node->mesh_node.properties.diffuse.r / 255, (float) pd_mesh_node->mesh_node.properties.diffuse.g / 255, (float) pd_mesh_node->mesh_node.properties.diffuse.b / 255, (float) pd_mesh_node->mesh_node.properties.diffuse.a / 255);
5136 evas_canvas3d_material_color_set(material, EVAS_CANVAS3D_MATERIAL_ATTRIB_SPECULAR, (float) pd_mesh_node->mesh_node.properties.specular.r / 255, (float) pd_mesh_node->mesh_node.properties.specular.g / 255, (float) pd_mesh_node->mesh_node.properties.specular.b / 255, (float) pd_mesh_node->mesh_node.properties.specular.a / 255);
5137 evas_canvas3d_material_shininess_set(material, pd_mesh_node->mesh_node.properties.shininess);
5138
5139 switch(pd_mesh_node->mesh_node.mesh.primitive)
5140 {
5141 case EVAS_CANVAS3D_MESH_PRIMITIVE_CUBE:
5142 case EVAS_CANVAS3D_MESH_PRIMITIVE_SPHERE:
5143 {
5144 Eo *primitive = NULL;
5145 primitive = efl_add(EVAS_CANVAS3D_PRIMITIVE_CLASS, ed->base.evas);
5146 evas_canvas3d_primitive_form_set(primitive, pd_mesh_node->mesh_node.mesh.primitive);
5147
5148 _edje_calc_params_need_type_node(pf);
5149 frame_exist = evas_canvas3d_mesh_frame_exist(mesh, pf->type.node->frame);
5150 if (!frame_exist)
5151 {
5152 evas_canvas3d_mesh_frame_material_set(mesh, pf->type.node->frame, material);
5153 }
5154 evas_canvas3d_mesh_from_primitive_set(mesh, 0, primitive);
5155 break;
5156 }
5157 default:
5158 break;
5159 }
5160
5161 if (pd_mesh_node->mesh_node.texture.need_texture && pd_mesh_node->mesh_node.texture.textured)
5162 {
5163 proxy = NULL;
5164
5165 texture = evas_canvas3d_material_texture_get(material, EVAS_CANVAS3D_MATERIAL_ATTRIB_DIFFUSE);
5166
5167 //proxy = _edje_image_name_find(ed, pd_mesh_node->mesh_node.texture.id);
5168 /*FIXME Conflict with function _edje_image_name_find (two places in edje_utils and edje_edit.c,
5169 temporary desicion need to clarify up to commit to phab*/
5170 proxy = ed->file->image_dir->entries[pd_mesh_node->mesh_node.texture.id].entry;
5171 if (proxy)
5172 {
5173 efl_file_simple_mmap_load(texture, ed->file->f, proxy);
5174 evas_canvas3d_texture_filter_set(texture, pd_mesh_node->mesh_node.texture.filter1, pd_mesh_node->mesh_node.texture.filter2);
5175 evas_canvas3d_texture_wrap_set(texture, pd_mesh_node->mesh_node.texture.wrap1, pd_mesh_node->mesh_node.texture.wrap2);
5176 }
5177 }
5178
5179 _edje_calc_params_need_type_node(pf);
5180 frame_exist = evas_canvas3d_mesh_frame_exist(mesh, pf->type.node->frame);
5181 if (!frame_exist)
5182 {
5183 evas_canvas3d_mesh_frame_add(mesh, pf->type.node->frame);
5184 evas_canvas3d_mesh_frame_material_set(mesh, pf->type.node->frame, material);
5185 }
5186 evas_canvas3d_mesh_shader_mode_set(mesh, pd_mesh_node->mesh_node.properties.shade);
5187 evas_canvas3d_mesh_vertex_assembly_set(mesh, pd_mesh_node->mesh_node.mesh.assembly);
5188 evas_canvas3d_node_mesh_frame_set(ep->node, mesh, pf->type.node->frame);
5189 evas_canvas3d_node_scale_set(ep->node, pf->type.node->scale_3d.x, pf->type.node->scale_3d.y, pf->type.node->scale_3d.z);
5190 evas_canvas3d_node_position_set(ep->node, pf->type.node->point.x, pf->type.node->point.y, pf->type.node->point.z);
5191 switch (pd_mesh_node->mesh_node.orientation.type)
5192 {
5193 case EVAS_CANVAS3D_NODE_ORIENTATION_TYPE_NONE:
5194 case EVAS_CANVAS3D_NODE_ORIENTATION_TYPE_QUATERNION:
5195 {
5196 SET_QUATERNION(mesh_node)
5197 break;
5198 }
5199 case EVAS_CANVAS3D_NODE_ORIENTATION_TYPE_LOOK_AT:
5200 SET_LOOK_AT(mesh_node)
5201 break;
5202 case EVAS_CANVAS3D_NODE_ORIENTATION_TYPE_LOOK_TO:
5203 {
5204 SET_LOOK_TO(mesh_node)
5205 break;
5206 }
5207 case EVAS_CANVAS3D_NODE_ORIENTATION_TYPE_ANGLE_AXIS:
5208 SET_ANGLE_AXIS(mesh_node)
5209 break;
5210 }
5211 }
5212 break;
5213 }
5214 } 4882 }
5215 4883
5216 /* Some object need special recalc. */ 4884 /* Some object need special recalc. */