Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJacques Lucke <jacques@blender.org>2022-06-30 16:09:13 +0300
committerJacques Lucke <jacques@blender.org>2022-06-30 16:09:13 +0300
commit416aef4e13ccc30e82ecaa691f26af54dbd5ee7e (patch)
treea4f8e3b96e01031e5f8049b48043ed3208bfe168 /source/blender/makesdna
parent0f22b5599a03d5ce61450528c74ad2f2e47cf913 (diff)
Curves: New tools for curves sculpt mode.
This commit contains various new features for curves sculpt mode that have been developed in parallel. * Selection: * Operator to select points/curves randomly. * Operator to select endpoints of curves. * Operator to grow/shrink an existing selection. * New Brushes: * Pinch: Moves points towards the brush center. * Smooth: Makes individual curves straight without changing the root or tip position. * Puff: Makes curves stand up, aligning them with the surface normal. * Density: Add or remove curves to achieve a certain density defined by a minimum distance value. * Slide: Move root points on the surface. Differential Revision: https://developer.blender.org/D15134
Diffstat (limited to 'source/blender/makesdna')
-rw-r--r--source/blender/makesdna/DNA_brush_enums.h11
-rw-r--r--source/blender/makesdna/DNA_brush_types.h7
2 files changed, 18 insertions, 0 deletions
diff --git a/source/blender/makesdna/DNA_brush_enums.h b/source/blender/makesdna/DNA_brush_enums.h
index f2cd49b6dea..adda23c26f2 100644
--- a/source/blender/makesdna/DNA_brush_enums.h
+++ b/source/blender/makesdna/DNA_brush_enums.h
@@ -469,6 +469,11 @@ typedef enum eBrushCurvesSculptTool {
CURVES_SCULPT_TOOL_ADD = 3,
CURVES_SCULPT_TOOL_GROW_SHRINK = 4,
CURVES_SCULPT_TOOL_SELECTION_PAINT = 5,
+ CURVES_SCULPT_TOOL_PINCH = 6,
+ CURVES_SCULPT_TOOL_SMOOTH = 7,
+ CURVES_SCULPT_TOOL_PUFF = 8,
+ CURVES_SCULPT_TOOL_DENSITY = 9,
+ CURVES_SCULPT_TOOL_SLIDE = 10,
} eBrushCurvesSculptTool;
/** When #BRUSH_ACCUMULATE is used */
@@ -622,6 +627,12 @@ typedef enum eBrushCurvesSculptFlag {
BRUSH_CURVES_SCULPT_FLAG_INTERPOLATE_POINT_COUNT = (1 << 4),
} eBrushCurvesSculptFlag;
+typedef enum eBrushCurvesSculptDensityMode {
+ BRUSH_CURVES_SCULPT_DENSITY_MODE_AUTO = 0,
+ BRUSH_CURVES_SCULPT_DENSITY_MODE_ADD = 1,
+ BRUSH_CURVES_SCULPT_DENSITY_MODE_REMOVE = 2,
+} eBrushCurvesSculptDensityMode;
+
#define MAX_BRUSH_PIXEL_RADIUS 500
#define GP_MAX_BRUSH_PIXEL_RADIUS 1000
diff --git a/source/blender/makesdna/DNA_brush_types.h b/source/blender/makesdna/DNA_brush_types.h
index d13496b21f7..b24bb786593 100644
--- a/source/blender/makesdna/DNA_brush_types.h
+++ b/source/blender/makesdna/DNA_brush_types.h
@@ -148,6 +148,13 @@ typedef struct BrushCurvesSculptSettings {
float minimum_length;
/** Length of newly added curves when it is not interpolated from other curves. */
float curve_length;
+ /** Minimum distance between curve root points used by the Density brush. */
+ float minimum_distance;
+ /** How often the Density brush tries to add a new curve. */
+ int density_add_attempts;
+ /** #eBrushCurvesSculptDensityMode. */
+ uint8_t density_mode;
+ char _pad[7];
} BrushCurvesSculptSettings;
typedef struct Brush {