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:
authorCampbell Barton <ideasman42@gmail.com>2016-04-15 11:10:05 +0300
committerCampbell Barton <ideasman42@gmail.com>2016-04-15 13:36:38 +0300
commit8ac662c77aa59c9eea5fc85c4a40546bcb1b4557 (patch)
tree82b67353779c20e41e2f3f365baf21cc209dcbea /source/blender/makesdna/DNA_scene_types.h
parente56e7bd1ec3081a13e44319a1b2793f4043d07dd (diff)
New freehand curve drawing tool
- Access with Shift-LMB or from the 'Create' toolbar tab. - Uses curve fitting for bezier curves, with error and corner angle options. - Optional tablet pressure to curve radius mapping. - Depth can use the cursor or optionally draw onto the surface, for the entire stroke or using the stroke start. - Stroke plane can optionally be perpendicular to, or aligned to the surface normal. - Optional radius tapering and for start/end points. - Supports operator redo and calling from Python.
Diffstat (limited to 'source/blender/makesdna/DNA_scene_types.h')
-rw-r--r--source/blender/makesdna/DNA_scene_types.h36
1 files changed, 36 insertions, 0 deletions
diff --git a/source/blender/makesdna/DNA_scene_types.h b/source/blender/makesdna/DNA_scene_types.h
index a8f78f6bb34..1ace2b42f15 100644
--- a/source/blender/makesdna/DNA_scene_types.h
+++ b/source/blender/makesdna/DNA_scene_types.h
@@ -1266,6 +1266,40 @@ typedef enum {
UNIFIED_PAINT_BRUSH_ALPHA_PRESSURE = (1 << 4)
} UnifiedPaintSettingsFlags;
+
+typedef struct CurvePaintSettings {
+ char curve_type;
+ char flag;
+ char depth_mode;
+ char surface_plane;
+ int error_threshold;
+ float radius_min, radius_max;
+ float radius_taper_start, radius_taper_end;
+ float radius_offset;
+ float corner_angle;
+} CurvePaintSettings;
+
+/* CurvePaintSettings.flag */
+enum {
+ CURVE_PAINT_FLAG_CORNERS_DETECT = (1 << 0),
+ CURVE_PAINT_FLAG_PRESSURE_RADIUS = (1 << 1),
+ CURVE_PAINT_FLAG_DEPTH_STROKE_ENDPOINTS = (1 << 2),
+};
+
+/* CurvePaintSettings.depth_mode */
+enum {
+ CURVE_PAINT_PROJECT_CURSOR = 0,
+ CURVE_PAINT_PROJECT_SURFACE = 1,
+};
+
+/* CurvePaintSettings.surface_plane */
+enum {
+ CURVE_PAINT_SURFACE_PLANE_NORMAL_VIEW = 0,
+ CURVE_PAINT_SURFACE_PLANE_NORMAL_SURFACE = 1,
+ CURVE_PAINT_SURFACE_PLANE_VIEW = 2,
+};
+
+
/* *************************************************************** */
/* Stats */
@@ -1417,6 +1451,8 @@ typedef struct ToolSettings {
/* Unified Paint Settings */
struct UnifiedPaintSettings unified_paint_settings;
+ struct CurvePaintSettings curve_paint_settings;
+
struct MeshStatVis statvis;
} ToolSettings;