diff options
Diffstat (limited to 'source/blender/editors/sculpt_paint/sculpt_intern.h')
-rw-r--r-- | source/blender/editors/sculpt_paint/sculpt_intern.h | 31 |
1 files changed, 24 insertions, 7 deletions
diff --git a/source/blender/editors/sculpt_paint/sculpt_intern.h b/source/blender/editors/sculpt_paint/sculpt_intern.h index acb906e4a91..82a07c9e3be 100644 --- a/source/blender/editors/sculpt_paint/sculpt_intern.h +++ b/source/blender/editors/sculpt_paint/sculpt_intern.h @@ -38,7 +38,7 @@ #include "DNA_key_types.h" #include "BLI_bitmap.h" -#include "BLI_pbvh.h" +#include "BKE_pbvh.h" struct bContext; struct Brush; @@ -49,6 +49,7 @@ struct Object; struct Scene; struct Sculpt; struct SculptStroke; +struct SculptUndoNode; /* Interface */ struct MultiresModifierData *sculpt_multires_active(struct Scene *scene, struct Object *ob); @@ -61,18 +62,25 @@ int sculpt_poll(struct bContext *C); void sculpt_update_mesh_elements(struct Scene *scene, struct Sculpt *sd, struct Object *ob, int need_pmap, int need_mask); -/* Deformed mesh sculpt */ -void free_sculptsession_deformMats(struct SculptSession *ss); - /* Stroke */ int sculpt_stroke_get_location(bContext *C, float out[3], const float mouse[2]); +/* Dynamic topology */ +void sculpt_pbvh_clear(Object *ob); +void sculpt_update_after_dynamic_topology_toggle(bContext *C); +void sculpt_dynamic_topology_enable(struct bContext *C); +void sculpt_dynamic_topology_disable(struct bContext *C, + struct SculptUndoNode *unode); + /* Undo */ typedef enum { SCULPT_UNDO_COORDS, SCULPT_UNDO_HIDDEN, - SCULPT_UNDO_MASK + SCULPT_UNDO_MASK, + SCULPT_UNDO_DYNTOPO_BEGIN, + SCULPT_UNDO_DYNTOPO_END, + SCULPT_UNDO_DYNTOPO_SYMMETRIZE, } SculptUndoType; typedef struct SculptUndoNode { @@ -101,8 +109,17 @@ typedef struct SculptUndoNode { int *grids; /* to restore into right location */ BLI_bitmap *grid_hidden; - /* layer brush */ - float *layer_disp; + /* bmesh */ + struct BMLogEntry *bm_entry; + int applied; + CustomData bm_enter_vdata; + CustomData bm_enter_edata; + CustomData bm_enter_ldata; + CustomData bm_enter_pdata; + int bm_enter_totvert; + int bm_enter_totedge; + int bm_enter_totloop; + int bm_enter_totpoly; /* shape keys */ char shapeName[sizeof(((KeyBlock *)0))->name]; |