[Bf-blender-cvs] [343d93cb4ff] temp-gpencil-bezier-stroke-type: GPencil: Revert changes in modifiers
Antonio Vazquez
noreply at git.blender.org
Tue Mar 16 15:13:22 CET 2021
Commit: 343d93cb4ff836471e2d321f8c35221ca7ad7562
Author: Antonio Vazquez
Date: Tue Mar 16 15:12:49 2021 +0100
Branches: temp-gpencil-bezier-stroke-type
https://developer.blender.org/rB343d93cb4ff836471e2d321f8c35221ca7ad7562
GPencil: Revert changes in modifiers
We undo all changes and keep only polygon type code. The Bezier type will be implement in the future.
===================================================================
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_gpencilnoise.c
M source/blender/gpencil_modifiers/intern/MOD_gpenciloffset.c
===================================================================
diff --git a/source/blender/gpencil_modifiers/intern/MOD_gpencilarmature.c b/source/blender/gpencil_modifiers/intern/MOD_gpencilarmature.c
index 2d4080119c4..cc8eae64300 100644
--- a/source/blender/gpencil_modifiers/intern/MOD_gpencilarmature.c
+++ b/source/blender/gpencil_modifiers/intern/MOD_gpencilarmature.c
@@ -82,7 +82,6 @@ static void copyData(const GpencilModifierData *md, GpencilModifierData *target)
static void gpencil_deform_verts(ArmatureGpencilModifierData *mmd, Object *target, bGPDstroke *gps)
{
- bGPdata *gpd = target->data;
bGPDspoint *pt = gps->points;
float(*vert_coords)[3] = MEM_mallocN(sizeof(float[3]) * gps->totpoints, __func__);
int i;
@@ -111,11 +110,6 @@ static void gpencil_deform_verts(ArmatureGpencilModifierData *mmd, Object *targe
copy_v3_v3(&pt->x, vert_coords[i]);
}
- if (GPENCIL_STROKE_TYPE_BEZIER(gps)) {
- gps->editcurve->flag |= GP_CURVE_NEEDS_STROKE_UPDATE;
- BKE_gpencil_stroke_geometry_update(gpd, gps);
- }
-
MEM_freeN(vert_coords);
}
diff --git a/source/blender/gpencil_modifiers/intern/MOD_gpencilarray.c b/source/blender/gpencil_modifiers/intern/MOD_gpencilarray.c
index 4edd172046d..b8fa88327fc 100644
--- a/source/blender/gpencil_modifiers/intern/MOD_gpencilarray.c
+++ b/source/blender/gpencil_modifiers/intern/MOD_gpencilarray.c
@@ -265,29 +265,7 @@ static void generate_geometry(GpencilModifierData *md,
/* Duplicate stroke */
bGPDstroke *gps_dst = BKE_gpencil_stroke_duplicate(iter->gps, true, true);
- /* Bezier type. */
- if (GPENCIL_STROKE_TYPE_BEZIER(gps_dst)) {
- bGPDcurve *gpc = gps_dst->editcurve;
- for (int i = 0; i < gpc->tot_curve_points; i++) {
- bGPDcurve_point *pt = &gpc->curve_points[i];
- BezTriple *bezt = &pt->bezt;
-
- for (int j = 0; j < 3; j++) {
- /* Apply randomness matrix. */
- mul_m4_v3(mat_rnd, bezt->vec[j]);
- /* Apply object local transform (Rot/Scale). */
- if ((mmd->flag & GP_ARRAY_USE_OB_OFFSET) && (mmd->object)) {
- mul_m4_v3(mat, bezt->vec[j]);
- }
- /* Global Rotate and scale. */
- mul_mat3_m4_v3(current_offset, bezt->vec[j]);
- /* Global translate. */
- add_v3_v3(bezt->vec[j], current_offset[3]);
- }
- }
- }
-
- /* Polygon type. Do always because point data is used by draw manager. */
+ /* Move points */
for (int i = 0; i < iter->gps->totpoints; i++) {
bGPDspoint *pt = &gps_dst->points[i];
/* Apply randomness matrix. */
diff --git a/source/blender/gpencil_modifiers/intern/MOD_gpencilnoise.c b/source/blender/gpencil_modifiers/intern/MOD_gpencilnoise.c
index a881bf5151b..686bd8c38e5 100644
--- a/source/blender/gpencil_modifiers/intern/MOD_gpencilnoise.c
+++ b/source/blender/gpencil_modifiers/intern/MOD_gpencilnoise.c
@@ -134,7 +134,6 @@ static void deformStroke(GpencilModifierData *md,
bGPDframe *gpf,
bGPDstroke *gps)
{
- bGPdata *gpd = ob->data;
NoiseGpencilModifierData *mmd = (NoiseGpencilModifierData *)md;
MDeformVert *dvert = NULL;
/* Noise value in range [-1..1] */
@@ -262,11 +261,6 @@ static void deformStroke(GpencilModifierData *md,
}
}
- if (GPENCIL_STROKE_TYPE_BEZIER(gps)) {
- gps->editcurve->flag |= GP_CURVE_NEEDS_STROKE_UPDATE;
- BKE_gpencil_stroke_geometry_update(gpd, gps);
- }
-
MEM_SAFE_FREE(noise_table_position);
MEM_SAFE_FREE(noise_table_strength);
MEM_SAFE_FREE(noise_table_thickness);
diff --git a/source/blender/gpencil_modifiers/intern/MOD_gpenciloffset.c b/source/blender/gpencil_modifiers/intern/MOD_gpenciloffset.c
index aa3f9f2e9ee..4e009e25ce3 100644
--- a/source/blender/gpencil_modifiers/intern/MOD_gpenciloffset.c
+++ b/source/blender/gpencil_modifiers/intern/MOD_gpenciloffset.c
@@ -102,62 +102,29 @@ static void deformStroke(GpencilModifierData *md,
}
bGPdata *gpd = ob->data;
- if (GPENCIL_STROKE_TYPE_BEZIER(gps)) {
- bGPDcurve *gpc = gps->editcurve;
- for (int i = 0; i < gpc->tot_curve_points; i++) {
- bGPDcurve_point *pt = &gpc->curve_points[i];
- BezTriple *bezt = &pt->bezt;
- MDeformVert *dvert = (gpc->dvert != NULL) ? &gpc->dvert[i] : NULL;
-
- /* Verify vertex group. */
- const float weight = get_modifier_point_weight(
- dvert, (mmd->flag & GP_OFFSET_INVERT_VGROUP) != 0, def_nr);
- if (weight < 0.0f) {
- continue;
- }
- /* Calculate matrix. */
- mul_v3_v3fl(loc, mmd->loc, weight);
- mul_v3_v3fl(rot, mmd->rot, weight);
- mul_v3_v3fl(scale, mmd->scale, weight);
- add_v3_fl(scale, 1.0);
- loc_eul_size_to_mat4(mat, loc, rot, scale);
-
- /* Apply scale to thickness. */
- float unit_scale = (scale[0] + scale[1] + scale[2]) / 3.0f;
- pt->pressure *= unit_scale;
-
- for (int j = 0; j < 3; j++) {
- mul_m4_v3(mat, bezt->vec[j]);
- }
- }
- gps->flag |= GP_STROKE_NEEDS_CURVE_UPDATE;
- }
- else {
- for (int i = 0; i < gps->totpoints; i++) {
- bGPDspoint *pt = &gps->points[i];
- MDeformVert *dvert = gps->dvert != NULL ? &gps->dvert[i] : NULL;
-
- /* Verify vertex group. */
- const float weight = get_modifier_point_weight(
- dvert, (mmd->flag & GP_OFFSET_INVERT_VGROUP) != 0, def_nr);
- if (weight < 0.0f) {
- continue;
- }
- /* Calculate matrix. */
- mul_v3_v3fl(loc, mmd->loc, weight);
- mul_v3_v3fl(rot, mmd->rot, weight);
- mul_v3_v3fl(scale, mmd->scale, weight);
- add_v3_fl(scale, 1.0);
- loc_eul_size_to_mat4(mat, loc, rot, scale);
-
- /* Apply scale to thickness. */
- float unit_scale = (scale[0] + scale[1] + scale[2]) / 3.0f;
- pt->pressure *= unit_scale;
-
- mul_m4_v3(mat, &pt->x);
+ for (int i = 0; i < gps->totpoints; i++) {
+ bGPDspoint *pt = &gps->points[i];
+ MDeformVert *dvert = gps->dvert != NULL ? &gps->dvert[i] : NULL;
+
+ /* Verify vertex group. */
+ const float weight = get_modifier_point_weight(
+ dvert, (mmd->flag & GP_OFFSET_INVERT_VGROUP) != 0, def_nr);
+ if (weight < 0.0f) {
+ continue;
}
+ /* Calculate matrix. */
+ mul_v3_v3fl(loc, mmd->loc, weight);
+ mul_v3_v3fl(rot, mmd->rot, weight);
+ mul_v3_v3fl(scale, mmd->scale, weight);
+ add_v3_fl(scale, 1.0);
+ loc_eul_size_to_mat4(mat, loc, rot, scale);
+
+ /* Apply scale to thickness. */
+ float unit_scale = (scale[0] + scale[1] + scale[2]) / 3.0f;
+ pt->pressure *= unit_scale;
+
+ mul_m4_v3(mat, &pt->x);
}
-
/* Calc geometry data. */
BKE_gpencil_stroke_geometry_update(gpd, gps);
}
More information about the Bf-blender-cvs
mailing list