Commit: 7cc2461ebb5a7f80252708318380627a4bae2c90 Author: Antonio Vazquez Date: Tue Apr 13 16:11:16 2021 +0200 Branches: temp-gpencil-bezier-stroke-type https://developer.blender.org/rB7cc2461ebb5a7f80252708318380627a4bae2c90
GPencil: Refactor of geometry update II =================================================================== M source/blender/blenkernel/intern/gpencil_curve.c M source/blender/blenkernel/intern/gpencil_geom.c M source/blender/editors/gpencil/gpencil_curve_draw.c M source/blender/editors/gpencil/gpencil_edit.c M source/blender/editors/gpencil/gpencil_paint.c M source/blender/editors/gpencil/gpencil_primitive.c M source/blender/editors/gpencil/gpencil_sculpt_paint.c M source/blender/editors/gpencil/gpencil_utils.c M source/blender/editors/transform/transform_convert_gpencil.c M source/blender/gpencil_modifiers/intern/MOD_gpencilarmature.c M source/blender/gpencil_modifiers/intern/MOD_gpencilarray.c M source/blender/gpencil_modifiers/intern/MOD_gpencilbuild.c M source/blender/gpencil_modifiers/intern/MOD_gpencilhook.c M source/blender/gpencil_modifiers/intern/MOD_gpencillattice.c M source/blender/gpencil_modifiers/intern/MOD_gpencilmirror.c M source/blender/gpencil_modifiers/intern/MOD_gpencilmultiply.c M source/blender/gpencil_modifiers/intern/MOD_gpenciloffset.c M source/blender/gpencil_modifiers/intern/MOD_gpenciltexture.c M source/blender/gpencil_modifiers/intern/MOD_gpencilthick.c M source/blender/gpencil_modifiers/intern/lineart/lineart_cpu.c =================================================================== diff --git a/source/blender/blenkernel/intern/gpencil_curve.c b/source/blender/blenkernel/intern/gpencil_curve.c index 984eaae3b1a..11502a21449 100644 --- a/source/blender/blenkernel/intern/gpencil_curve.c +++ b/source/blender/blenkernel/intern/gpencil_curve.c @@ -461,7 +461,7 @@ static void gpencil_convert_spline(Main *bmain, } /* Recalc fill geometry. */ - BKE_gpencil_stroke_geometry_update(gpd, gps); + BKE_gpencil_stroke_geometry_update(gpd, gps, GP_GEO_UPDATE_DEFAULT); } static void gpencil_editstroke_deselect_all(bGPDcurve *gpc) diff --git a/source/blender/blenkernel/intern/gpencil_geom.c b/source/blender/blenkernel/intern/gpencil_geom.c index 121a0703c7a..d43a73fed4f 100644 --- a/source/blender/blenkernel/intern/gpencil_geom.c +++ b/source/blender/blenkernel/intern/gpencil_geom.c @@ -523,7 +523,7 @@ bool BKE_gpencil_stroke_sample(bGPdata *gpd, bGPDstroke *gps, const float dist, gps->totpoints = i; /* Calc geometry data. */ - BKE_gpencil_stroke_geometry_update(gpd, gps); + BKE_gpencil_stroke_geometry_update(gpd, gps, GP_GEO_UPDATE_DEFAULT); return true; } @@ -694,7 +694,7 @@ bool BKE_gpencil_stroke_split(bGPdata *gpd, * Keep the end point. */ BKE_gpencil_stroke_trim_points(gps, 0, old_count); - BKE_gpencil_stroke_geometry_update(gpd, gps); + BKE_gpencil_stroke_geometry_update(gpd, gps, GP_GEO_UPDATE_DEFAULT); return true; } @@ -1470,7 +1470,7 @@ bool BKE_gpencil_stroke_trim(bGPdata *gpd, bGPDstroke *gps) MEM_SAFE_FREE(old_dvert); } - BKE_gpencil_stroke_geometry_update(gpd, gps); + BKE_gpencil_stroke_geometry_update(gpd, gps, GP_GEO_UPDATE_DEFAULT); return intersect; } @@ -1647,7 +1647,7 @@ void BKE_gpencil_dissolve_points(bGPdata *gpd, bGPDframe *gpf, bGPDstroke *gps, gps->totpoints = tot; /* triangles cache needs to be recalculated */ - BKE_gpencil_stroke_geometry_update(gpd, gps); + BKE_gpencil_stroke_geometry_update(gpd, gps, GP_GEO_UPDATE_DEFAULT); } } @@ -1795,7 +1795,7 @@ void BKE_gpencil_stroke_simplify_adaptive(bGPdata *gpd, bGPDstroke *gps, float e gps->totpoints = j; /* Calc geometry data. */ - BKE_gpencil_stroke_geometry_update(gpd, gps); + BKE_gpencil_stroke_geometry_update(gpd, gps, GP_GEO_UPDATE_DEFAULT); MEM_SAFE_FREE(old_points); MEM_SAFE_FREE(old_dvert); @@ -1861,7 +1861,7 @@ void BKE_gpencil_stroke_simplify_fixed(bGPdata *gpd, bGPDstroke *gps) gps->totpoints = j; /* Calc geometry data. */ - BKE_gpencil_stroke_geometry_update(gpd, gps); + BKE_gpencil_stroke_geometry_update(gpd, gps, GP_GEO_UPDATE_DEFAULT); MEM_SAFE_FREE(old_points); MEM_SAFE_FREE(old_dvert); @@ -1983,7 +1983,7 @@ void BKE_gpencil_stroke_subdivide(bGPdata *gpd, bGPDstroke *gps, int level, int } /* Calc geometry data. */ - BKE_gpencil_stroke_geometry_update(gpd, gps); + BKE_gpencil_stroke_geometry_update(gpd, gps, GP_GEO_UPDATE_DEFAULT); } /* Merge by distance ------------------------------------- */ @@ -2068,7 +2068,7 @@ void BKE_gpencil_stroke_merge_distance(bGPdata *gpd, } /* Calc geometry data. */ - BKE_gpencil_stroke_geometry_update(gpd, gps); + BKE_gpencil_stroke_geometry_update(gpd, gps, GP_GEO_UPDATE_DEFAULT); } typedef struct GpEdge { @@ -2283,7 +2283,7 @@ static void gpencil_generate_edgeloops(Object *ob, pt->strength = 1.0f; } - BKE_gpencil_stroke_geometry_update(gpd, gps_stroke); + BKE_gpencil_stroke_geometry_update(gpd, gps_stroke, GP_GEO_UPDATE_DEFAULT); } /* Free memory. */ @@ -2465,7 +2465,7 @@ bool BKE_gpencil_convert_mesh(Main *bmain, BKE_gpencil_stroke_subdivide(gpd, gps_fill, 1, GP_SUBDIV_SIMPLE); } - BKE_gpencil_stroke_geometry_update(gpd, gps_fill); + BKE_gpencil_stroke_geometry_update(gpd, gps_fill, GP_GEO_UPDATE_DEFAULT); } } } @@ -2522,7 +2522,7 @@ void BKE_gpencil_transform(bGPdata *gpd, const float mat[4][4]) } /* Distortion may mean we need to re-triangulate. */ - BKE_gpencil_stroke_geometry_update(gpd, gps); + BKE_gpencil_stroke_geometry_update(gpd, gps, GP_GEO_UPDATE_DEFAULT); } } } @@ -2614,7 +2614,7 @@ void BKE_gpencil_point_coords_apply(bGPdata *gpd, const GPencilPointCoordinates } /* Distortion may mean we need to re-triangulate. */ - BKE_gpencil_stroke_geometry_update(gpd, gps); + BKE_gpencil_stroke_geometry_update(gpd, gps, GP_GEO_UPDATE_DEFAULT); } } } @@ -2651,7 +2651,7 @@ void BKE_gpencil_point_coords_apply_with_mat4(bGPdata *gpd, } /* Distortion may mean we need to re-triangulate. */ - BKE_gpencil_stroke_geometry_update(gpd, gps); + BKE_gpencil_stroke_geometry_update(gpd, gps, GP_GEO_UPDATE_DEFAULT); } } } @@ -2868,7 +2868,7 @@ static void gpencil_stroke_join_islands(bGPdata *gpd, /* add new stroke at head */ BLI_addhead(&gpf->strokes, join_stroke); /* Calc geometry data. */ - BKE_gpencil_stroke_geometry_update(gpd, join_stroke); + BKE_gpencil_stroke_geometry_update(gpd, join_stroke, GP_GEO_UPDATE_DEFAULT); /* remove first stroke */ BLI_remlink(&gpf->strokes, gps_first); @@ -3017,7 +3017,7 @@ bGPDstroke *BKE_gpencil_stroke_delete_tagged_points(bGPdata *gpd, } else { /* Calc geometry data. */ - BKE_gpencil_stroke_geometry_update(gpd, new_stroke); + BKE_gpencil_stroke_geometry_update(gpd, new_stroke, GP_GEO_UPDATE_DEFAULT); if (next_stroke) { BLI_insertlinkbefore(&gpf->strokes, next_stroke, new_stroke); @@ -3102,10 +3102,9 @@ void BKE_gpencil_curve_delete_tagged_points(bGPdata *gpd, BKE_gpencil_editcurve_recalculate_handles(new_stroke); BKE_gpencil_curve_sync_selection(gpd, new_stroke); - new_stroke->flag |= GP_STROKE_NEEDS_CURVE_UPDATE; /* Calc geometry data. */ - BKE_gpencil_stroke_geometry_update(gpd, new_stroke); + BKE_gpencil_stroke_geometry_update(gpd, new_stroke, GP_GEO_UPDATE_DEFAULT); if (next_stroke) { BLI_insertlinkbefore(&gpf->strokes, next_stroke, new_stroke); @@ -3136,10 +3135,9 @@ void BKE_gpencil_curve_delete_tagged_points(bGPdata *gpd, BKE_gpencil_editcurve_recalculate_handles(gps_last); BKE_gpencil_curve_sync_selection(gpd, gps_last); - gps_last->flag |= GP_STROKE_NEEDS_CURVE_UPDATE; /* Calc geometry data. */ - BKE_gpencil_stroke_geometry_update(gpd, gps_last); + BKE_gpencil_stroke_geometry_update(gpd, gps_last, GP_GEO_UPDATE_DEFAULT); /* remove first one */ BLI_remlink(&gpf->strokes, gps_first); @@ -3552,7 +3550,7 @@ void BKE_gpencil_stroke_uniform_subdivide(bGPdata *gpd, } /* Update the geometry of the stroke. */ - BKE_gpencil_stroke_geometry_update(gpd, gps); + BKE_gpencil_stroke_geometry_update(gpd, gps, GP_GEO_UPDATE_DEFAULT); } /** @@ -4063,7 +4061,7 @@ bGPDstroke *BKE_gpencil_stroke_perimeter_from_view(struct RegionView3D *rv3d, MEM_freeN(perimeter_points); /* Triangles cache needs to be recalculated. */ - BKE_gpencil_stroke_geometry_update(gpd, perimeter_stroke); + BKE_gpencil_stroke_geometry_update(gpd, perimeter_stroke, GP_GEO_UPDATE_DEFAULT); perimeter_stroke->flag |= GP_STROKE_SELECT | GP_STROKE_CYCLIC; diff --git a/source/blender/editors/gpencil/gpencil_curve_draw.c b/source/blender/editors/gpencil/gpencil_curve_draw.c index b6ea835bd29..f9b2c06ae60 100644 --- a/source/blender/editors/gpencil/gpencil_curve_draw.c +++ b/source/blender/editors/gpencil/gpencil_curve_draw.c @@ -490,7 +490,7 @@ static void gpencil_curve_draw_init(bContext *C, wmOperator *op, const wmEvent * tcd->gpc = gpc; /* Calc geometry data. */ - BKE_gpencil_stroke_geometry_update(tcd->gpd, gps); + BKE_gpencil_stroke_geometry_update(tcd->gpd, gps, GP_GEO_UPDATE_DEFAULT); /* Initialize space conversion. */ gpencil_point_conversion_init(C, &tcd->gsc); @@ -559,7 +559,7 @@ static void gpencil_curve_draw_update(bContext *C, tGPDcurve_draw *tcd) break; } - BKE_gpencil_stroke_geometry_update(gpd, gps); + BKE_gpencil_stroke_geometry_update(gpd, gps, GP_GEO_UPDATE_DEFAULT); DEG_id_tag_update(&gpd->id, ID_RECALC_COPY_ON_WRITE); DEG_id_tag_update(&gpd->id, ID_RECALC_TRANSFORM | ID_RECALC_GEOMETRY); diff --git a/source/blender/editors/gpencil/gpencil_edit.c b/source/blender/editors/gpencil/gpencil_edit.c index b8f3c8d0bc0..54e6c3970c3 100644 --- a/source/blender/editors/gpencil/gpencil_edit.c +++ b/source/blender/editors/gpencil/gpencil_edit.c @@ -984,7 +984,7 @@ static void gpencil_duplicate_points(bGPdata *gpd, } } - BKE_gpencil_stroke_geometry_update(gpd, gpsd); + BKE_gpencil_stroke_geometry_update(gpd, gpsd, GP_GEO_UPDATE_DEFAULT); /* add to temp buffer */ gpsd->next = gpsd->prev = NULL; @@ -1047,7 +1047,7 @@ static int gpencil_duplicate_exec(bContext *C, wmOperator *op) BLI_strncpy(gpsd->runtime.tmp_layerinfo, gpl->info, sizeof(gpsd->runtime.tmp_layerinfo)); /* Initialize triangle information. */ - BKE_gpencil_stroke_geometry_update(gpd, gpsd); + BKE_gpencil_stroke_geometry_update(gpd, gpsd, GP_GEO_UPDATE_DEFAULT); /* add to temp buffer */ gpsd->next = gpsd->prev = NULL; @@ -1084,7 +1084,7 @@ static int gpencil_duplicate_exec(bContext *C, wmOperator *op) BLI_strncpy(gpsd->runtime.tmp_layerinfo, gpl->info, sizeof(gpsd->runtime.tmp_layerinfo)); /* Initialize triangle information. */ - BKE_gpencil_stroke_geometry_update(gpd, gpsd); + BKE_gpencil_stroke_geometry_update(gpd, gpsd, GP_GEO_UPDATE_DEFAULT); /* add to temp buffer */ gpsd->next = gpsd->prev = NULL; @@ -1219,8 +1219,8 @@ static void gpencil_add_move_points(bGPdata *gpd, bGPDframe *gpf, bGPDstroke *gp gpencil_copy_move_point(gps_new, gps->points, gps->dvert, i, 0, true); /* Calc geometry data. */ - BKE_gpencil_stroke_geometry_update(gpd, gps); - BKE_gpencil_stroke_geometry_update(gpd, gps_new); + BKE_gpencil_stroke_geometry_update(gpd, gps, GP_GEO_UPDATE_DEFAULT); + BKE_gpencil_stroke_geometry_update(gpd, gps_new, GP_GEO_UPDATE_DEFAULT); /* Desel @@ Diff output truncated at 10240 characters. @@ _______________________________________________ Bf-blender-cvs mailing list Bf-blender-cvs@blender.org https://lists.blender.org/mailman/listinfo/bf-blender-cvs