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:
authorPablo Dobarro <pablodp606@gmail.com>2019-09-10 20:55:15 +0300
committerPablo Dobarro <pablodp606@gmail.com>2019-09-11 14:07:19 +0300
commit309cd047ef46fcbd21b26b2509b40c55c5dab61e (patch)
treeec1873a13b391026bffc0110d84aafc855b648df /source/blender/editors/sculpt_paint/sculpt_intern.h
parentef18b672f5a57d86d264af0f875a37c6a9c6677a (diff)
Sculpt: Transform tool
The sculpt mode transform tool applies the sculpt pivot transformation to all vertices, taking XYZ symmetry into account. This commit also includes an operator to set the pivot point initial position. Reviewed By: brecht Differential Revision: https://developer.blender.org/D5717
Diffstat (limited to 'source/blender/editors/sculpt_paint/sculpt_intern.h')
-rw-r--r--source/blender/editors/sculpt_paint/sculpt_intern.h15
1 files changed, 11 insertions, 4 deletions
diff --git a/source/blender/editors/sculpt_paint/sculpt_intern.h b/source/blender/editors/sculpt_paint/sculpt_intern.h
index 5995eadea59..b814e87fcb0 100644
--- a/source/blender/editors/sculpt_paint/sculpt_intern.h
+++ b/source/blender/editors/sculpt_paint/sculpt_intern.h
@@ -122,6 +122,10 @@ typedef struct SculptUndoNode {
int geom_totloop;
int geom_totpoly;
+ /* pivot */
+ float pivot_pos[3];
+ float pivot_rot[4];
+
size_t undo_size;
} SculptUndoNode;
@@ -173,16 +177,16 @@ typedef struct SculptThreadedTaskData {
float (*mat)[4];
float (*vertCos)[3];
+ int filter_type;
+ float filter_strength;
+ int *node_mask;
+
/* 0=towards view, 1=flipped */
float (*area_cos)[3];
float (*area_nos)[3];
int *count;
bool any_vertex_sampled;
- int filter_type;
- float filter_strength;
- int *node_mask;
-
float *prev_mask;
float *pose_origin;
@@ -198,6 +202,8 @@ typedef struct SculptThreadedTaskData {
bool mask_expand_use_normals;
bool mask_expand_keep_prev_mask;
+ float transform_mats[8][4][4];
+
ThreadMutex mutex;
} SculptThreadedTaskData;
@@ -387,6 +393,7 @@ typedef struct FilterCache {
int *mask_update_it;
float *normal_factor;
float *prev_mask;
+ float mask_expand_initial_co[3];
} FilterCache;
void sculpt_cache_calc_brushdata_symm(StrokeCache *cache,