Changeset View
Changeset View
Standalone View
Standalone View
source/blender/editors/physics/particle_edit.c
| Show First 20 Lines • Show All 2,290 Lines • ▼ Show 20 Lines | int PE_lasso_select(bContext *C, const int mcords[][2], const short moves, const int sel_op) | ||||
| LOOP_VISIBLE_POINTS | LOOP_VISIBLE_POINTS | ||||
| { | { | ||||
| if (edit->psys && !(psys->flag & PSYS_GLOBAL_HAIR)) { | if (edit->psys && !(psys->flag & PSYS_GLOBAL_HAIR)) { | ||||
| psys_mat_hair_to_global( | psys_mat_hair_to_global( | ||||
| ob, psmd_eval->mesh_final, psys->part->from, psys->particles + p, mat); | ob, psmd_eval->mesh_final, psys->part->from, psys->particles + p, mat); | ||||
| } | } | ||||
| if (pset->selectmode == SCE_SELECT_POINT) { | if (pset->selectmode == SCE_SELECT_POINT) { | ||||
| LOOP_KEYS | LOOP_VISIBLE_KEYS | ||||
| { | { | ||||
| copy_v3_v3(co, key->co); | copy_v3_v3(co, key->co); | ||||
| mul_m4_v3(mat, co); | mul_m4_v3(mat, co); | ||||
| const bool is_select = key->flag & PEK_SELECT; | const bool is_select = key->flag & PEK_SELECT; | ||||
| const bool is_inside = | const bool is_inside = | ||||
| ((ED_view3d_project_int_global(ar, co, screen_co, V3D_PROJ_TEST_CLIP_WIN) == | ((ED_view3d_project_int_global(ar, co, screen_co, V3D_PROJ_TEST_CLIP_WIN) == | ||||
| V3D_PROJ_RET_OK) && | V3D_PROJ_RET_OK) && | ||||
| BLI_lasso_is_point_inside(mcords, moves, screen_co[0], screen_co[1], IS_CLIPPED) && | BLI_lasso_is_point_inside(mcords, moves, screen_co[0], screen_co[1], IS_CLIPPED) && | ||||
| ▲ Show 20 Lines • Show All 3,228 Lines • Show Last 20 Lines | |||||