Changeset View
Changeset View
Standalone View
Standalone View
source/blender/editors/space_view3d/view3d_gizmo_preselect_type.c
| Show First 20 Lines • Show All 170 Lines • ▼ Show 20 Lines | if ((prev.base_index == gz_ele->base_index) && (prev.vert_index == gz_ele->vert_index) && | ||||
| (prev.edge_index == gz_ele->edge_index) && (prev.face_index == gz_ele->face_index)) { | (prev.edge_index == gz_ele->edge_index) && (prev.face_index == gz_ele->face_index)) { | ||||
| /* pass (only recalculate on change) */ | /* pass (only recalculate on change) */ | ||||
| } | } | ||||
| else { | else { | ||||
| if (best.ele) { | if (best.ele) { | ||||
| const float(*coords)[3] = NULL; | const float(*coords)[3] = NULL; | ||||
| { | { | ||||
| Object *ob = gz_ele->bases[gz_ele->base_index]->object; | Object *ob = gz_ele->bases[gz_ele->base_index]->object; | ||||
| Depsgraph *depsgraph = CTX_data_depsgraph(C); | Depsgraph *depsgraph = CTX_data_ensure_evaluated_depsgraph(C); | ||||
| Mesh *me_eval = (Mesh *)DEG_get_evaluated_id(depsgraph, ob->data); | Mesh *me_eval = (Mesh *)DEG_get_evaluated_id(depsgraph, ob->data); | ||||
| if (me_eval->runtime.edit_data) { | if (me_eval->runtime.edit_data) { | ||||
| coords = me_eval->runtime.edit_data->vertexCos; | coords = me_eval->runtime.edit_data->vertexCos; | ||||
| } | } | ||||
| } | } | ||||
| EDBM_preselect_elem_update_from_single(gz_ele->psel, bm, best.ele, coords); | EDBM_preselect_elem_update_from_single(gz_ele->psel, bm, best.ele, coords); | ||||
| } | } | ||||
| else { | else { | ||||
| ▲ Show 20 Lines • Show All 141 Lines • ▼ Show 20 Lines | static int gizmo_preselect_edgering_test_select(bContext *C, wmGizmo *gz, const int mval[2]) | ||||
| if ((prev.base_index == gz_ring->base_index) && (prev.edge_index == gz_ring->edge_index)) { | if ((prev.base_index == gz_ring->base_index) && (prev.edge_index == gz_ring->edge_index)) { | ||||
| /* pass (only recalculate on change) */ | /* pass (only recalculate on change) */ | ||||
| } | } | ||||
| else { | else { | ||||
| if (best.eed) { | if (best.eed) { | ||||
| const float(*coords)[3] = NULL; | const float(*coords)[3] = NULL; | ||||
| { | { | ||||
| Object *ob = gz_ring->bases[gz_ring->base_index]->object; | Object *ob = gz_ring->bases[gz_ring->base_index]->object; | ||||
| Depsgraph *depsgraph = CTX_data_depsgraph(C); | Depsgraph *depsgraph = CTX_data_ensure_evaluated_depsgraph(C); | ||||
| Mesh *me_eval = (Mesh *)DEG_get_evaluated_id(depsgraph, ob->data); | Mesh *me_eval = (Mesh *)DEG_get_evaluated_id(depsgraph, ob->data); | ||||
| if (me_eval->runtime.edit_data) { | if (me_eval->runtime.edit_data) { | ||||
| coords = me_eval->runtime.edit_data->vertexCos; | coords = me_eval->runtime.edit_data->vertexCos; | ||||
| } | } | ||||
| } | } | ||||
| EDBM_preselect_edgering_update_from_edge(gz_ring->psel, bm, best.eed, 1, coords); | EDBM_preselect_edgering_update_from_edge(gz_ring->psel, bm, best.eed, 1, coords); | ||||
| } | } | ||||
| else { | else { | ||||
| ▲ Show 20 Lines • Show All 130 Lines • Show Last 20 Lines | |||||