diff options
Diffstat (limited to 'source/blender/editors/sculpt_paint/sculpt_intern.h')
-rw-r--r-- | source/blender/editors/sculpt_paint/sculpt_intern.h | 19 |
1 files changed, 14 insertions, 5 deletions
diff --git a/source/blender/editors/sculpt_paint/sculpt_intern.h b/source/blender/editors/sculpt_paint/sculpt_intern.h index cdfa9c2586f..a28c18359e5 100644 --- a/source/blender/editors/sculpt_paint/sculpt_intern.h +++ b/source/blender/editors/sculpt_paint/sculpt_intern.h @@ -311,10 +311,6 @@ typedef struct SculptThreadedTaskData { float *cloth_sim_initial_location; float cloth_sim_radius; - float dirty_mask_min; - float dirty_mask_max; - bool dirty_mask_dirty_only; - /* Mask By Color Tool */ float mask_by_color_threshold; @@ -398,10 +394,16 @@ typedef struct AutomaskingSettings { /* Flags from eAutomasking_flag. */ int flags; int initial_face_set; + float cavity_factor; + int cavity_blur_steps; + struct CurveMapping *cavity_curve; } AutomaskingSettings; typedef struct AutomaskingCache { AutomaskingSettings settings; + + bool can_reuse_cavity; + uchar cavity_stroke_id; } AutomaskingCache; typedef struct FilterCache { @@ -633,6 +635,7 @@ typedef struct StrokeCache { rcti previous_r; /* previous redraw rectangle */ rcti current_r; /* current redraw rectangle */ + int stroke_id; } StrokeCache; /* -------------------------------------------------------------------- */ @@ -1297,6 +1300,9 @@ float *SCULPT_boundary_automasking_init(Object *ob, eBoundaryAutomaskMode mode, int propagation_steps, float *automask_factor); +bool SCULPT_automasking_needs_original(const struct Sculpt *sd, const struct Brush *brush); +int SCULPT_automasking_settings_hash(Object *ob, AutomaskingCache *automasking); + /** \} */ /* -------------------------------------------------------------------- */ @@ -1587,7 +1593,6 @@ void SCULPT_OT_color_filter(struct wmOperatorType *ot); /* Mask filter and Dirty Mask. */ void SCULPT_OT_mask_filter(struct wmOperatorType *ot); -void SCULPT_OT_dirty_mask(struct wmOperatorType *ot); /* Mask and Face Sets Expand. */ @@ -1842,6 +1847,10 @@ BLI_INLINE bool SCULPT_tool_is_face_sets(int tool) return ELEM(tool, SCULPT_TOOL_DRAW_FACE_SETS); } +void SCULPT_stroke_id_ensure(struct Object *ob); +void SCULPT_stroke_id_next(struct Object *ob); +bool SCULPT_tool_can_reuse_cavity_mask(int sculpt_tool); + #ifdef __cplusplus } #endif |