[Bf-blender-cvs] [dd9995e9859] greasepencil-object: GPencil: Remove Active Subdivide parameter from Brush
Antonio Vazquez
noreply at git.blender.org
Thu Oct 3 12:48:22 CEST 2019
Commit: dd9995e9859af41f57bbea0c951742bd228b84a9
Author: Antonio Vazquez
Date: Thu Oct 3 12:48:07 2019 +0200
Branches: greasepencil-object
https://developer.blender.org/rBdd9995e9859af41f57bbea0c951742bd228b84a9
GPencil: Remove Active Subdivide parameter from Brush
This parameter is not required with the last changes in paint smooth.
===================================================================
M release/scripts/startup/bl_ui/space_view3d_toolbar.py
M source/blender/editors/gpencil/gpencil_paint.c
M source/blender/makesdna/DNA_brush_types.h
M source/blender/makesdna/DNA_gpencil_types.h
M source/blender/makesrna/intern/rna_brush.c
===================================================================
diff --git a/release/scripts/startup/bl_ui/space_view3d_toolbar.py b/release/scripts/startup/bl_ui/space_view3d_toolbar.py
index 0c5ca8be392..bac6004f7a9 100644
--- a/release/scripts/startup/bl_ui/space_view3d_toolbar.py
+++ b/release/scripts/startup/bl_ui/space_view3d_toolbar.py
@@ -1905,7 +1905,6 @@ class VIEW3D_PT_tools_grease_pencil_brush_option(View3DPanel, Panel):
col.prop(gp_settings, "pen_smart_smooth_factor")
col.prop(gp_settings, "active_smooth_factor")
- col.prop(gp_settings, "active_subdivide_steps")
col.separator()
col.prop(gp_settings, "angle", slider=True)
diff --git a/source/blender/editors/gpencil/gpencil_paint.c b/source/blender/editors/gpencil/gpencil_paint.c
index 7f539b23d6d..f2a96fd11da 100644
--- a/source/blender/editors/gpencil/gpencil_paint.c
+++ b/source/blender/editors/gpencil/gpencil_paint.c
@@ -778,54 +778,6 @@ static void gp_smooth_fake_events(tGPsdata *p, int size_before, int size_after)
}
}
-/* Apply subdivide to buffer while drawing
- *
- * \param p: Temp data
- * \param step: Number of steps
- */
-static void gp_subdivide_buffer(tGPsdata *p, int step)
-{
- bGPdata *gpd = p->gpd;
- const int idx = gpd->runtime.sbuffer_used - 1;
-
- /* Do nothing if not enough points to subdivide out */
- if (gpd->runtime.sbuffer_used < 2) {
- return;
- }
-
- /* Increase used points. */
- gpd->runtime.sbuffer_used += step;
-
- /* check if still room in buffer or add more */
- gpd->runtime.sbuffer = ED_gpencil_sbuffer_ensure(
- gpd->runtime.sbuffer, &gpd->runtime.sbuffer_size, &gpd->runtime.sbuffer_used, false);
-
- tGPspoint *pt_prev = ((tGPspoint *)(gpd->runtime.sbuffer) + idx - 1);
- tGPspoint *pt_cur = ((tGPspoint *)(gpd->runtime.sbuffer) + idx);
-
- /* Copy values of current point to last point. */
- tGPspoint *pt_last = ((tGPspoint *)(gpd->runtime.sbuffer) + idx + step);
- copy_v2_v2(&pt_last->x, &pt_cur->x);
- pt_last->pressure = pt_cur->pressure;
- pt_last->strength = pt_cur->strength;
- pt_last->time = pt_cur->time;
- pt_last->uv_fac = pt_cur->uv_fac;
- pt_last->uv_rot = pt_cur->uv_fac;
-
- /* Interpolate points in the midle. */
- float const ifactor = 1.0f / (float)(step);
- for (int i = 0; i < step; i++) {
- pt_cur = ((tGPspoint *)(gpd->runtime.sbuffer) + idx + i);
- float f = ifactor * (i + 1);
- interp_v2_v2v2(&pt_cur->x, &pt_prev->x, &pt_last->x, f);
- pt_cur->pressure = interpf(pt_prev->pressure, pt_last->pressure, f);
- pt_cur->strength = interpf(pt_prev->strength, pt_last->strength, f);
- pt_cur->time = interpf(pt_prev->time, pt_last->time, f);
- pt_cur->uv_fac = interpf(pt_prev->uv_fac, pt_last->uv_fac, f);
- pt_cur->uv_rot = interpf(pt_prev->uv_rot, pt_last->uv_rot, f);
- }
-}
-
/* add current stroke-point to buffer (returns whether point was successfully added) */
static short gp_stroke_addpoint(
tGPsdata *p, const float mval[2], float pressure, double curtime, bool is_fake)
@@ -1013,21 +965,6 @@ static short gp_stroke_addpoint(
/* increment counters */
gpd->runtime.sbuffer_used++;
- /* Subdivide while drawing two last points (current and previous). */
- if ((brush->gpencil_settings->active_subdivide > 0) && (gpd->runtime.sbuffer_used > 1)) {
- const int idx = gpd->runtime.sbuffer_used - 1;
- tGPspoint *pt_prev = ((tGPspoint *)(gpd->runtime.sbuffer) + idx - 1);
- tGPspoint *pt_cur = ((tGPspoint *)(gpd->runtime.sbuffer) + idx);
- /* Calc distance to determine how many subdivisions. */
- float dist = len_v2v2(&pt_prev->x, &pt_cur->x);
- const float segment_dist = GP_MAX_ACTIVE_SUBDIV - brush->gpencil_settings->active_subdivide +
- 1;
- if (dist > segment_dist) {
- float steps = (dist / segment_dist) + 1.0f;
- CLAMP_MIN(steps, 1.0f);
- gp_subdivide_buffer(p, (int)steps);
- }
- }
/* Smooth while drawing previous points with a reduction factor for previous. */
if (brush->gpencil_settings->active_smooth > 0.0f) {
for (int s = 0; s < 3; s++) {
diff --git a/source/blender/makesdna/DNA_brush_types.h b/source/blender/makesdna/DNA_brush_types.h
index 86fecaff1aa..e27f9bb8276 100644
--- a/source/blender/makesdna/DNA_brush_types.h
+++ b/source/blender/makesdna/DNA_brush_types.h
@@ -83,8 +83,7 @@ typedef struct BrushGpencilSettings {
short fill_leak;
/** Fill zoom factor */
short fill_factor;
- /** Subdivide while drawing factor. */
- int active_subdivide;
+ char _pad1[4];
/** Number of simplify steps. */
int fill_simplylvl;
@@ -517,7 +516,7 @@ typedef enum eBrushUVSculptTool {
SCULPT_TOOL_ELASTIC_DEFORM, \
SCULPT_TOOL_POSE, \
\
- /* These brushes could handle dynamic topology, \ \ \
+ /* These brushes could handle dynamic topology, \ \ \ \
* but user feedback indicates it's better not to */ \
SCULPT_TOOL_SMOOTH, \
SCULPT_TOOL_MASK) == 0)
diff --git a/source/blender/makesdna/DNA_gpencil_types.h b/source/blender/makesdna/DNA_gpencil_types.h
index 59b0bc939b1..879bfaa8404 100644
--- a/source/blender/makesdna/DNA_gpencil_types.h
+++ b/source/blender/makesdna/DNA_gpencil_types.h
@@ -35,7 +35,6 @@ struct MDeformVert;
#define GP_DEFAULT_PIX_FACTOR 1.0f
#define GP_DEFAULT_GRID_LINES 4
#define GP_MAX_INPUT_SAMPLES 10
-#define GP_MAX_ACTIVE_SUBDIV 20
/* ***************************************** */
/* GP Stroke Points */
diff --git a/source/blender/makesrna/intern/rna_brush.c b/source/blender/makesrna/intern/rna_brush.c
index 0d26fbe8ab1..f99e88344bf 100644
--- a/source/blender/makesrna/intern/rna_brush.c
+++ b/source/blender/makesrna/intern/rna_brush.c
@@ -1302,14 +1302,6 @@ static void rna_def_gpencil_options(BlenderRNA *brna)
RNA_def_property_clear_flag(prop, PROP_ANIMATABLE);
RNA_def_property_update(prop, NC_GPENCIL | ND_DATA, NULL);
- /* active subdivide factor while drawing */
- prop = RNA_def_property(srna, "active_subdivide_steps", PROP_INT, PROP_FACTOR);
- RNA_def_property_int_sdna(prop, NULL, "active_subdivide");
- RNA_def_property_range(prop, 0, GP_MAX_ACTIVE_SUBDIV);
- RNA_def_property_ui_text(prop, "Active Subdivide", "Amount of subdividing while drawing");
- RNA_def_property_clear_flag(prop, PROP_ANIMATABLE);
- RNA_def_property_update(prop, NC_GPENCIL | ND_DATA, NULL);
-
prop = RNA_def_property(srna, "eraser_strength_factor", PROP_FLOAT, PROP_PERCENTAGE);
RNA_def_property_float_sdna(prop, NULL, "era_strength_f");
RNA_def_property_range(prop, 0.0, 100.0);
More information about the Bf-blender-cvs
mailing list