Fix T46471: Sculpt strokes doesn't mark file as modified
[blender.git] / source / blender / editors / sculpt_paint / sculpt_intern.h
index 9c0e937c35caadbea08fcc309051d58e5b11f432..51af8788e60629a723d48bfa789be38cbbac14a8 100644 (file)
 #include "BKE_pbvh.h"
 
 struct bContext;
-struct Brush;
 struct KeyBlock;
-struct Mesh;
-struct MultiresModifierData;
 struct Object;
-struct Scene;
-struct Sculpt;
-struct SculptStroke;
 struct SculptUndoNode;
 
-/* Interface */
-struct MultiresModifierData *sculpt_multires_active(struct Scene *scene, struct Object *ob);
-
 int sculpt_mode_poll(struct bContext *C);
 int sculpt_mode_poll_view3d(struct bContext *C);
 /* checks for a brush, not just sculpt mode */
 int sculpt_poll(struct bContext *C);
 int sculpt_poll_view3d(struct bContext *C);
-void sculpt_update_mesh_elements(struct Scene *scene, struct Sculpt *sd, struct Object *ob,
-                                 bool need_pmap, bool need_mask);
 
 /* Stroke */
 bool sculpt_stroke_get_location(bContext *C, float out[3], const float mouse[2]);
 
 /* Dynamic topology */
 void sculpt_pbvh_clear(Object *ob);
+void sculpt_dyntopo_node_layers_add(struct SculptSession *ss);
 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,
@@ -128,10 +118,17 @@ typedef struct SculptUndoNode {
 SculptUndoNode *sculpt_undo_push_node(Object *ob, PBVHNode *node, SculptUndoType type);
 SculptUndoNode *sculpt_undo_get_node(PBVHNode *node);
 void sculpt_undo_push_begin(const char *name);
-void sculpt_undo_push_end(void);
+void sculpt_undo_push_end(const struct bContext *C);
 
 void sculpt_vertcos_to_key(Object *ob, KeyBlock *kb, float (*vertCos)[3]);
 
 void sculpt_update_object_bounding_box(struct Object *ob);
 
+/* Setting zero so we can catch bugs in OpenMP/sculpt. */
+#ifdef DEBUG
+#  define SCULPT_OMP_LIMIT 0
+#else
+#  define SCULPT_OMP_LIMIT 4
+#endif
+
 #endif