diff options
author | Pablo Dobarro <pablodp606@gmail.com> | 2020-06-01 23:36:26 +0300 |
---|---|---|
committer | Pablo Dobarro <pablodp606@gmail.com> | 2020-06-01 23:37:06 +0300 |
commit | 1d4bae856690c7a4603789509a5842dd6b5f8be1 (patch) | |
tree | 6be194b9c0c4282a0ed7528f2a9b07ba51cbe4d4 /source/blender/editors/sculpt_paint/sculpt_intern.h | |
parent | 3778f168f688a6c76f5c0b54262b1ed82deb0c84 (diff) |
Sculpt: Cloth Filter
This tool is similar to the cloth brush, but it applies the cloth
simulation deformation to the whole mesh in an uniform way. The
simulation can be controlled using the mask to pin vertices and the face
sets to define force action areas.
It uses the same solver as the cloth brush which now no longer depends
on StrokeCache.
Reviewed By: sergey
Differential Revision: https://developer.blender.org/D7857
Diffstat (limited to 'source/blender/editors/sculpt_paint/sculpt_intern.h')
-rw-r--r-- | source/blender/editors/sculpt_paint/sculpt_intern.h | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/source/blender/editors/sculpt_paint/sculpt_intern.h b/source/blender/editors/sculpt_paint/sculpt_intern.h index 6c217f66940..d7b221ae947 100644 --- a/source/blender/editors/sculpt_paint/sculpt_intern.h +++ b/source/blender/editors/sculpt_paint/sculpt_intern.h @@ -592,6 +592,9 @@ typedef struct SculptThreadedTaskData { float transform_mats[8][4][4]; float cloth_time_step; + SculptClothSimulation *cloth_sim; + float *cloth_sim_initial_location; + float cloth_sim_radius; float dirty_mask_min; float dirty_mask_max; @@ -837,6 +840,10 @@ typedef struct FilterCache { PBVHNode **nodes; int totnode; + /* Cloth filter. */ + SculptClothSimulation *cloth_sim; + float cloth_sim_pinch_point[3]; + /* mask expand iteration caches */ int mask_update_current_it; int mask_update_last_it; @@ -891,6 +898,9 @@ void SCULPT_OT_set_pivot_position(struct wmOperatorType *ot); /* Mesh Filter. */ void SCULPT_OT_mesh_filter(struct wmOperatorType *ot); +/* Cloth Filter. */ +void SCULPT_OT_cloth_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); |