Changeset View
Changeset View
Standalone View
Standalone View
source/blender/bmesh/tools/bmesh_intersect.c
| Show First 20 Lines • Show All 1,527 Lines • ▼ Show 20 Lines | if ((boolean_mode != BMESH_ISECT_BOOLEAN_NONE)) { | ||||
| /* wrap the face-test callback to make it into an edge-loop delimiter */ | /* wrap the face-test callback to make it into an edge-loop delimiter */ | ||||
| struct LoopFilterWrap user_data_wrap = { | struct LoopFilterWrap user_data_wrap = { | ||||
| .test_fn = test_fn, | .test_fn = test_fn, | ||||
| .user_data = user_data, | .user_data = user_data, | ||||
| }; | }; | ||||
| groups_array = MEM_mallocN(sizeof(*groups_array) * (size_t)bm->totface, __func__); | groups_array = MEM_mallocN(sizeof(*groups_array) * (size_t)bm->totface, __func__); | ||||
| group_tot = BM_mesh_calc_face_groups( | group_tot = BM_mesh_calc_face_groups( | ||||
| bm, groups_array, &group_index, bm_loop_filter_fn, &user_data_wrap, 0, BM_EDGE); | bm, groups_array, &group_index, bm_loop_filter_fn, NULL, &user_data_wrap, 0, BM_EDGE); | ||||
| #ifdef USE_DUMP | #ifdef USE_DUMP | ||||
| printf("%s: Total face-groups: %d\n", __func__, group_tot); | printf("%s: Total face-groups: %d\n", __func__, group_tot); | ||||
| #endif | #endif | ||||
| /* Check if island is inside/outside */ | /* Check if island is inside/outside */ | ||||
| for (i = 0; i < group_tot; i++) { | for (i = 0; i < group_tot; i++) { | ||||
| int fg = group_index[i][0]; | int fg = group_index[i][0]; | ||||
| ▲ Show 20 Lines • Show All 120 Lines • Show Last 20 Lines | |||||