Changeset View
Changeset View
Standalone View
Standalone View
source/blender/editors/sculpt_paint/paint_mask.c
| Show First 20 Lines • Show All 162 Lines • ▼ Show 20 Lines | MaskTaskData data = { | ||||
| .ob = ob, | .ob = ob, | ||||
| .pbvh = pbvh, | .pbvh = pbvh, | ||||
| .nodes = nodes, | .nodes = nodes, | ||||
| .multires = multires, | .multires = multires, | ||||
| .mode = mode, | .mode = mode, | ||||
| .value = value, | .value = value, | ||||
| }; | }; | ||||
| PBVHParallelSettings settings; | TaskParallelSettings settings; | ||||
| BKE_pbvh_parallel_range_settings(&settings, (sd->flags & SCULPT_USE_OPENMP), totnode); | BKE_pbvh_parallel_range_settings(&settings, (sd->flags & SCULPT_USE_OPENMP), totnode); | ||||
| BKE_pbvh_parallel_range(0, totnode, &data, mask_flood_fill_task_cb, &settings); | BLI_task_parallel_range(0, totnode, &data, mask_flood_fill_task_cb, &settings); | ||||
| if (multires) { | if (multires) { | ||||
| multires_mark_as_modified(depsgraph, ob, MULTIRES_COORDS_MODIFIED); | multires_mark_as_modified(depsgraph, ob, MULTIRES_COORDS_MODIFIED); | ||||
| } | } | ||||
| BKE_pbvh_update_vertex_data(pbvh, PBVH_UpdateMask); | BKE_pbvh_update_vertex_data(pbvh, PBVH_UpdateMask); | ||||
| SCULPT_undo_push_end(); | SCULPT_undo_push_end(); | ||||
| ▲ Show 20 Lines • Show All 156 Lines • ▼ Show 20 Lines | if (symmpass == 0 || (symm & symmpass && (symm != 5 || symmpass != 3) && | ||||
| .pbvh = pbvh, | .pbvh = pbvh, | ||||
| .nodes = nodes, | .nodes = nodes, | ||||
| .multires = multires, | .multires = multires, | ||||
| .mode = mode, | .mode = mode, | ||||
| .value = value, | .value = value, | ||||
| .clip_planes_final = clip_planes_final, | .clip_planes_final = clip_planes_final, | ||||
| }; | }; | ||||
| PBVHParallelSettings settings; | TaskParallelSettings settings; | ||||
| BKE_pbvh_parallel_range_settings(&settings, (sd->flags & SCULPT_USE_OPENMP), totnode); | BKE_pbvh_parallel_range_settings(&settings, (sd->flags & SCULPT_USE_OPENMP), totnode); | ||||
| BKE_pbvh_parallel_range(0, totnode, &data, mask_box_select_task_cb, &settings); | BLI_task_parallel_range(0, totnode, &data, mask_box_select_task_cb, &settings); | ||||
| if (nodes) { | if (nodes) { | ||||
| MEM_freeN(nodes); | MEM_freeN(nodes); | ||||
| } | } | ||||
| } | } | ||||
| } | } | ||||
| if (multires) { | if (multires) { | ||||
| ▲ Show 20 Lines • Show All 170 Lines • ▼ Show 20 Lines | for (int symmpass = 0; symmpass <= symm; symmpass++) { | ||||
| data.task_data.ob = ob; | data.task_data.ob = ob; | ||||
| data.task_data.pbvh = pbvh; | data.task_data.pbvh = pbvh; | ||||
| data.task_data.nodes = nodes; | data.task_data.nodes = nodes; | ||||
| data.task_data.multires = multires; | data.task_data.multires = multires; | ||||
| data.task_data.mode = mode; | data.task_data.mode = mode; | ||||
| data.task_data.value = value; | data.task_data.value = value; | ||||
| PBVHParallelSettings settings; | TaskParallelSettings settings; | ||||
| BKE_pbvh_parallel_range_settings(&settings, (sd->flags & SCULPT_USE_OPENMP), totnode); | BKE_pbvh_parallel_range_settings(&settings, (sd->flags & SCULPT_USE_OPENMP), totnode); | ||||
| BKE_pbvh_parallel_range(0, totnode, &data, mask_gesture_lasso_task_cb, &settings); | BLI_task_parallel_range(0, totnode, &data, mask_gesture_lasso_task_cb, &settings); | ||||
| if (nodes) { | if (nodes) { | ||||
| MEM_freeN(nodes); | MEM_freeN(nodes); | ||||
| } | } | ||||
| } | } | ||||
| } | } | ||||
| if (multires) { | if (multires) { | ||||
| ▲ Show 20 Lines • Show All 47 Lines • Show Last 20 Lines | |||||