Commit: 0b5bc61bc05c8ddf770ed24eb8bc3f6e270e143e Author: Darshan Kadu Date: Mon Jul 24 20:54:54 2017 +0530 Branches: experimental-build https://developer.blender.org/rB0b5bc61bc05c8ddf770ed24eb8bc3f6e270e143e
Revert "Squashed commit of the following:" This reverts commit ca1bca4caa26afbdad187acb32a2bf23a7e42caf. =================================================================== D p1.orig D p1.rej M release/scripts/startup/bl_ui/space_view3d.py M release/scripts/startup/bl_ui/space_view3d_toolbar.py D release/scripts/startup/io_mesh_ply_soc/__init__.py D release/scripts/startup/io_mesh_ply_soc/export_ply_soc.py D release/scripts/startup/io_mesh_ply_soc/import_ply_soc.py D release/scripts/startup/io_scene_fbx_soc/__init__.py D release/scripts/startup/io_scene_fbx_soc/data_types.py D release/scripts/startup/io_scene_fbx_soc/encode_bin.py D release/scripts/startup/io_scene_fbx_soc/export_fbx_bin_soc.py D release/scripts/startup/io_scene_fbx_soc/export_fbx_soc.py D release/scripts/startup/io_scene_fbx_soc/fbx2json.py D release/scripts/startup/io_scene_fbx_soc/fbx_utils.py D release/scripts/startup/io_scene_fbx_soc/import_fbx_soc.py D release/scripts/startup/io_scene_fbx_soc/json2fbx.py D release/scripts/startup/io_scene_fbx_soc/parse_fbx.py M source/blender/blenkernel/BKE_paint.h M source/blender/blenkernel/BKE_pbvh.h M source/blender/blenkernel/intern/CCGSubSurf.c M source/blender/blenkernel/intern/DerivedMesh.c M source/blender/blenkernel/intern/cdderivedmesh.c M source/blender/blenkernel/intern/object.c M source/blender/blenkernel/intern/paint.c M source/blender/blenkernel/intern/pbvh.c M source/blender/blenkernel/intern/pbvh_intern.h M source/blender/blenkernel/intern/subsurf_ccg.c M source/blender/blenloader/intern/versioning_270.c M source/blender/blenloader/intern/versioning_defaults.c M source/blender/collada/GeometryExporter.cpp M source/blender/editors/sculpt_paint/paint_image.c M source/blender/editors/sculpt_paint/paint_intern.h M source/blender/editors/sculpt_paint/paint_ops.c M source/blender/editors/sculpt_paint/paint_vertex.c M source/blender/editors/sculpt_paint/sculpt.c M source/blender/editors/sculpt_paint/sculpt_intern.h M source/blender/editors/space_view3d/drawobject.c M source/blender/editors/space_view3d/view3d_header.c M source/blender/gpu/intern/gpu_buffers.c M source/blender/makesdna/DNA_brush_types.h M source/blender/makesdna/DNA_object_types.h M source/blender/makesdna/DNA_scene_types.h M source/blender/makesrna/intern/rna_brush.c M source/blender/makesrna/intern/rna_mesh.c M source/blender/makesrna/intern/rna_sculpt_paint.c D vpaint.txt D "\357\200\233OB\357\200\233OA" D "\357\200\233OB\357\200\233OA.pub" =================================================================== diff --git a/p1.orig b/p1.orig deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/p1.rej b/p1.rej deleted file mode 100644 index 7461baad21d..00000000000 --- a/p1.rej +++ /dev/null @@ -1,3708 +0,0 @@ ---- space_view3d_toolbar.py -+++ space_view3d_toolbar.py -@@ -51,6 +51,19 @@ def draw_keyframing_tools(context, layout): - row.operator("anim.keyframe_delete_v3d", text="Remove") - - -+# Used by vertex & weight paint -+def draw_vpaint_symmetry(layout, vpaint): -+ col = layout.column(align=True) -+ col.label(text="Mirror:") -+ row = col.row(align=True) -+ -+ row.prop(vpaint, "use_symmetry_x", text="X", toggle=True) -+ row.prop(vpaint, "use_symmetry_y", text="Y", toggle=True) -+ row.prop(vpaint, "use_symmetry_z", text="Z", toggle=True) -+ -+ col = layout.column() -+ col.prop(vpaint, "radial_symmetry", text="Radial") -+ - # ********** default tools for object-mode **************** - - -@@ -1132,7 +1145,11 @@ class VIEW3D_PT_tools_brush(Panel, View3DPaintPanel): - self.prop_unified_color_picker(col, context, brush, "color", value_slider=True) - if settings.palette: - col.template_palette(settings, "palette", color=True) -- self.prop_unified_color(col, context, brush, "color", text="") -+ row = col.row(align=True) -+ self.prop_unified_color(row, context, brush, "color", text="") -+ self.prop_unified_color(row, context, brush, "secondary_color", text="") -+ row.separator() -+ row.operator("paint.brush_colors_flip", icon='FILE_REFRESH', text="") - - col.separator() - row = col.row(align=True) -@@ -1713,6 +1730,19 @@ class VIEW3D_PT_tools_weightpaint(View3DPanel, Panel): - props.data_type = 'VGROUP_WEIGHTS' - - -+class VIEW3D_PT_tools_weightpaint_symmetry(Panel, View3DPaintPanel): -+ bl_category = "Tools" -+ bl_context = "weightpaint" -+ bl_options = {'DEFAULT_CLOSED'} -+ bl_label = "Symmetry" -+ -+ def draw(self, context): -+ layout = self.layout -+ toolsettings = context.tool_settings -+ wpaint = toolsettings.weight_paint -+ draw_vpaint_symmetry(layout, wpaint) -+ -+ - class VIEW3D_PT_tools_weightpaint_options(Panel, View3DPaintPanel): - bl_category = "Options" - bl_context = "weightpaint" -@@ -1775,6 +1805,20 @@ class VIEW3D_PT_tools_vertexpaint(Panel, View3DPaintPanel): - #~ col.label(text="Multiply:") - #~ col.prop(vpaint, "mul", text="") - -+ -+class VIEW3D_PT_tools_vertexpaint_symmetry(Panel, View3DPaintPanel): -+ bl_category = "Tools" -+ bl_context = "vertexpaint" -+ bl_options = {'DEFAULT_CLOSED'} -+ bl_label = "Symmetry" -+ -+ def draw(self, context): -+ layout = self.layout -+ toolsettings = context.tool_settings -+ vpaint = toolsettings.vertex_paint -+ draw_vpaint_symmetry(layout, vpaint) -+ -+ - # ********** default tools for texture-paint **************** - - -@@ -2054,8 +2098,10 @@ classes = ( - VIEW3D_PT_sculpt_symmetry, - VIEW3D_PT_tools_brush_appearance, - VIEW3D_PT_tools_weightpaint, -+ VIEW3D_PT_tools_weightpaint_symmetry, - VIEW3D_PT_tools_weightpaint_options, - VIEW3D_PT_tools_vertexpaint, -+ VIEW3D_PT_tools_vertexpaint_symmetry, - VIEW3D_PT_tools_imagepaint_external, - VIEW3D_PT_tools_imagepaint_symmetry, - VIEW3D_PT_tools_projectpaint, ---- BKE_paint.h -+++ BKE_paint.h -@@ -201,10 +201,30 @@ typedef struct SculptSession { - - struct SculptStroke *stroke; - struct StrokeCache *cache; -+ -+ union { -+ struct { -+ int *vert_map_mem; -+ struct MeshElemMap *vert_to_loop; -+ int *poly_map_mem; -+ struct MeshElemMap *vert_to_poly; -+ -+ unsigned int (*total_color)[3]; -+ double *total_weight; -+ unsigned int *tot_loops_hit; -+ float *max_weight; -+ unsigned int *previous_color; -+ bool building_vp_handle; -+ } vwpaint; -+ //struct { -+ //ToDo: identify sculpt-only fields -+ //} sculpt; -+ } modes; - } SculptSession; - - void BKE_sculptsession_free(struct Object *ob); - void BKE_sculptsession_free_deformMats(struct SculptSession *ss); -+void BKE_sculptsession_free_vwpaint_data(struct SculptSession *ss); - void BKE_sculptsession_bm_to_me(struct Object *ob, bool reorder); - void BKE_sculptsession_bm_to_me_for_render(struct Object *object); - void BKE_sculpt_update_mesh_elements(struct Scene *scene, struct Sculpt *sd, struct Object *ob, ---- BKE_pbvh.h -+++ BKE_pbvh.h -@@ -32,6 +32,7 @@ - - struct CCGElem; - struct CCGKey; -+struct CCGDerivedMesh; - struct CustomData; - struct DMFlagMat; - struct MPoly; -@@ -71,7 +72,7 @@ void BKE_pbvh_build_grids(PBVH *bvh, struct CCGElem **grid_elems, - struct CCGKey *key, void **gridfaces, struct DMFlagMat *flagmats, - unsigned int **grid_hidden); - void BKE_pbvh_build_bmesh(PBVH *bvh, struct BMesh *bm, bool smooth_shading, struct BMLog *log, const int cd_vert_node_offset, const int cd_face_node_offset); -- -+void BKE_pbvh_add_ccgdm(PBVH *bvh, struct CCGDerivedMesh *ccgdm); - void BKE_pbvh_free(PBVH *bvh); - void BKE_pbvh_free_layer_disp(PBVH *bvh); - -@@ -118,6 +119,7 @@ void BKE_pbvh_raycast_project_ray_root( - void BKE_pbvh_node_draw(PBVHNode *node, void *data); - void BKE_pbvh_draw(PBVH *bvh, float (*planes)[4], float (*face_nors)[3], - int (*setMaterial)(int matnr, void *attribs), bool wireframe, bool fast); -+void BKE_pbvh_draw_BB(PBVH *bvh); - - /* PBVH Access */ - typedef enum { -@@ -141,6 +143,7 @@ int BKE_pbvh_count_grid_quads(BLI_bitmap **grid_hidden, - - /* multires level, only valid for type == PBVH_GRIDS */ - void BKE_pbvh_get_grid_key(const PBVH *pbvh, struct CCGKey *key); -+struct CCGDerivedMesh *BKE_pbvh_get_ccgdm(const PBVH *bvh); - - /* Only valid for type == PBVH_BMESH */ - struct BMesh *BKE_pbvh_get_bmesh(PBVH *pbvh); -@@ -189,6 +192,7 @@ void BKE_pbvh_node_num_verts( - void BKE_pbvh_node_get_verts( - PBVH *bvh, PBVHNode *node, - const int **r_vert_indices, struct MVert **r_verts); -+void BKE_pbvh_get_num_nodes(const PBVH *bvh, int *r_totnode); - - void BKE_pbvh_node_get_BB(PBVHNode *node, float bb_min[3], float bb_max[3]); - void BKE_pbvh_node_get_original_BB(PBVHNode *node, float bb_min[3], float bb_max[3]); ---- CCGSubSurf.c -+++ CCGSubSurf.c -@@ -1196,6 +1196,7 @@ int ccgSubSurf_getNumEdges(const CCGSubSurf *ss) - } - int ccgSubSurf_getNumFaces(const CCGSubSurf *ss) - { -+ - return ss->fMap->numEntries; - } - ---- DerivedMesh.c -+++ DerivedMesh.c -@@ -2641,7 +2641,7 @@ static void mesh_build_data( - ob->lastDataMask = dataMask; - ob->lastNeedMapping = need_mapping; - -- if ((ob->mode & OB_MODE_SCULPT) && ob->sculpt) { -+ if ((ob->mode & OB_MODE_ALL_SCULPT) && ob->sculpt) { - /* create PBVH immediately (would be created on the fly too, - * but this avoids waiting on first stroke) */ - ---- cdderivedmesh.c -+++ cdderivedmesh.c -@@ -660,6 +660,11 @@ static void cdDM_drawMappedFaces( - - const int *index_mp_to_orig = dm->getPolyDataArray(dm, CD_ORIGINDEX); - -+ if (cddm->pbvh) { -+ if (G.debug_value == 14) -+ BKE_pbvh_draw_BB(cddm->pbvh); -+ } -+ - /* fist, setup common buffers */ - GPU_vertex_setup(dm); - GPU_triangle_setup(dm); ---- object.c -+++ object.c -@@ -2679,7 +2679,7 @@ void BKE_object_sculpt_modifiers_changed(Object *ob) - { - SculptSession *ss = ob->sculpt; - -- if (ss) { -+ if (ss && ss->modes.vwpaint.building_vp_handle == false) { - if (!ss->cache) { - /* we free pbvh on changes, except during sculpt since it can't deal with - * changing PVBH node organization, we hope topology does not change in -@@ -2690,6 +2690,9 @@ void BKE_object_sculpt_modifiers_changed(Object *ob) - } - - BKE_sculptsession_free_deformMats(ob->sculpt); -+ -+ /* In vertex/weight paint, force maps to be rebuilt. */ -+ BKE_sculptsession_free_vwpaint_data(ob->sculpt); - } - else { - PBVHNode **nodes; ---- paint.c -+++ paint.c -@@ -656,6 +656,22 @@ void BKE_sculptsession_free_deformMats(SculptSession *ss) - MEM_SAFE_FREE(ss->deform_imats); - } - -+void BKE_sculptsession_free_vwpaint_data(struct SculptSession *ss) -+{ -+ /* Free maps */ -+ MEM_SAFE_FREE(ss->modes.vwpaint.vert_to_loop); -+ MEM_SAFE_FREE(ss->modes.vwpaint.vert_map_mem); -+ MEM_SAFE_FREE(ss->modes.vwpaint.vert_to_poly); -+ MEM_SAFE_FREE(ss->modes.vwpaint.poly_map_mem); -+ -+ /* Free average, blur, and spray brush arrays */ -+ MEM_SAFE_FREE(ss->modes.vwpaint.tot_loops_hit); -+ MEM_SAFE_FREE(ss->modes.vwpaint.total_color); -+ MEM_SAFE_FREE(ss->modes.vwpaint.total_weight); -+ MEM_SAFE_FREE(ss->modes.vwpaint.max_weight); -+ MEM_SAFE_FREE(ss->modes.vwpaint.previous_color); -+} -+ - /* Write out the sculpt dynamic-topology BMesh to the Mesh */ - static void sculptsession_bm_to_me_update_data_only(Object *ob, bool reorder) - { -@@ -697,10 +713,7 @@ void BKE_sculptsession_bm_to_me_for_render(Object *object) - */ - BKE_object_free_derived_caches(object); - -- if (object->sculpt->pbvh) { -- BKE_pbvh_free(object->sculpt->pbvh); -- object->sculpt->pbvh = NULL; -- } -+ MEM_SAFE_FREE(object->sculpt->pbvh); - - sculptsession_bm_to_me_update_data_only(object, false); - -@@ -747,6 +760,8 @@ void BKE_sculptsession_free(Object *ob) - if (ss->deform_imats) - MEM_freeN(ss->deform_imats); - -+ BKE_sculptsession_free_vwpaint_data(ob->sculpt); -+ - MEM_freeN(ss); - - ob->sculpt = NULL; -@@ -831,6 +846,9 @@ void BKE_sculpt_update_mesh_elements(Scene *scene, Sculpt *sd, Object *ob, - ss->modifiers_active = sculpt_modifiers_active(scene, sd, ob); - ss->show_diffuse_color = (sd->flags & SCULPT_SHOW_DIFFUSE) != 0; - -+ /* This flag prevents PBVH from being freed when creating the vp_handle for texture paint */ -+ ss->modes.vwpaint.building_vp_handle = false; -+ - if (need_mask) { - if (mmd == NULL) { - if (!CustomData_has_layer(&me->vdata, CD_PAINT_MASK)) { -@@ -859,7 +877,8 @@ void BKE_sculpt_update_mesh_elements(Scene *scene, Sculpt *sd, Object *ob, - - dm = mesh_get_derived_final(scene, ob, CD_MASK_BAREMESH); - -- if (mmd) { -+ /* VWPaint require mesh info for loop lookup, so require sculpt mode here */ -+ if (mm @@ Diff output truncated at 10240 characters. @@ _______________________________________________ Bf-blender-cvs mailing list Bf-blender-cvs@blender.org https://lists.blender.org/mailman/listinfo/bf-blender-cvs