tornavis/source/blender/blenkernel
Pablo Dobarro 53804b333a Sculpt: Preserve Mesh visibility from edit mode using the Face Sets
Before this change, when users switch from edit mode to sculpt mode, the
entire mesh would be visible. Even if in the edit mesh mode part of it was
set to invisible.

With this change the visibility is preserved, by creating a separate face set
for the visible and invisible parts of the mesh and setting their initial visibility.

Implementation details: This adds a function to initialize a new Face Set
 datalayer taking the current mesh visibility into account which is stored
in the ME_HIDE flag of the vertices.

Reviewed By: sergey

Differential Revision: https://developer.blender.org/D8901
2020-09-29 22:54:36 +02:00
..
intern Sculpt: Preserve Mesh visibility from edit mode using the Face Sets 2020-09-29 22:54:36 +02:00
BKE_DerivedMesh.h Cleanup: spelling 2020-09-07 16:19:42 +10:00
BKE_action.h Code Style: use "#pragma once" in source directory 2020-08-07 09:50:34 +02:00
BKE_addon.h Code Style: use "#pragma once" in source directory 2020-08-07 09:50:34 +02:00
BKE_anim_data.h Animation: set Action `idroot` at assignment instead of just at evaluation 2020-09-25 14:20:59 +02:00
BKE_anim_path.h Code Style: use "#pragma once" in source directory 2020-08-07 09:50:34 +02:00
BKE_anim_visualization.h Code Style: use "#pragma once" in source directory 2020-08-07 09:50:34 +02:00
BKE_animsys.h Refactor: move keyingset .blend I/O to blenkernel 2020-09-10 11:17:51 +02:00
BKE_appdir.h Code Style: use "#pragma once" in source directory 2020-08-07 09:50:34 +02:00
BKE_armature.h Cleanup: use bool instead of int 2020-09-09 10:44:46 +02:00
BKE_attribute.h Geometry: add Attributes panel for PointCloud and Hair 2020-09-09 17:01:17 +02:00
BKE_autoexec.h Code Style: use "#pragma once" in source directory 2020-08-07 09:50:34 +02:00
BKE_blender.h Cleanup: Clang-Tidy readability-inconsistent-declaration-parameter-name fix 2020-09-04 21:04:16 +02:00
BKE_blender_copybuffer.h Code Style: use "#pragma once" in source directory 2020-08-07 09:50:34 +02:00
BKE_blender_undo.h Code Style: use "#pragma once" in source directory 2020-08-07 09:50:34 +02:00
BKE_blender_user_menu.h Code Style: use "#pragma once" in source directory 2020-08-07 09:50:34 +02:00
BKE_blender_version.h Fix T71981: Alembic vertex interpolation can jumble mesh 2020-09-29 16:10:16 +02:00
BKE_blendfile.h Code Style: use "#pragma once" in source directory 2020-08-07 09:50:34 +02:00
BKE_boids.h Code Style: use "#pragma once" in source directory 2020-08-07 09:50:34 +02:00
BKE_bpath.h Cleanup: Clang-Tidy readability-inconsistent-declaration-parameter-name fix 2020-09-04 21:04:16 +02:00
BKE_brush.h Cleanup: Clang-Tidy readability-inconsistent-declaration-parameter-name fix 2020-09-04 21:04:16 +02:00
BKE_bvhutils.h Cleanup: Clang-Tidy readability-inconsistent-declaration-parameter-name fix 2020-09-04 21:04:16 +02:00
BKE_cachefile.h Code Style: use "#pragma once" in source directory 2020-08-07 09:50:34 +02:00
BKE_callbacks.h Code Style: use "#pragma once" in source directory 2020-08-07 09:50:34 +02:00
BKE_camera.h Cleanup: Clang-Tidy readability-inconsistent-declaration-parameter-name fix 2020-09-04 21:04:16 +02:00
BKE_ccg.h Code Style: use "#pragma once" in source directory 2020-08-07 09:50:34 +02:00
BKE_cdderivedmesh.h Cleanup: Clang-Tidy readability-inconsistent-declaration-parameter-name fix 2020-09-04 21:04:16 +02:00
BKE_cloth.h Code Style: use "#pragma once" in source directory 2020-08-07 09:50:34 +02:00
BKE_collection.h Code Style: use "#pragma once" in source directory 2020-08-07 09:50:34 +02:00
BKE_collision.h Cleanup: Clang-Tidy readability-inconsistent-declaration-parameter-name fix 2020-09-04 21:04:16 +02:00
BKE_colorband.h Cleanup: use bool instead of int in various places 2020-09-02 19:10:40 +02:00
BKE_colortools.h Cleanup: use bool instead of int in various places 2020-09-02 19:10:40 +02:00
BKE_constraint.h Cleanup: Clang-Tidy readability-inconsistent-declaration-parameter-name fix 2020-09-04 21:04:16 +02:00
BKE_context.h Fix T66256: Context overrides crash when operators change context 2020-09-17 18:53:00 +10:00
BKE_crazyspace.h Code Style: use "#pragma once" in source directory 2020-08-07 09:50:34 +02:00
BKE_curve.h Cleanup: use uint8_t for various flags in curves 2020-09-16 12:23:23 +02:00
BKE_curveprofile.h Cleanup: Clang-Tidy readability-inconsistent-declaration-parameter-name fix 2020-09-04 21:04:16 +02:00
BKE_customdata.h Cleanup: make format 2020-09-11 11:21:53 +02:00
BKE_customdata_file.h Code Style: use "#pragma once" in source directory 2020-08-07 09:50:34 +02:00
BKE_data_transfer.h Code Style: use "#pragma once" in source directory 2020-08-07 09:50:34 +02:00
BKE_deform.h Cleanup: Clang-Tidy readability-inconsistent-declaration-parameter-name fix 2020-09-04 21:04:16 +02:00
BKE_displist.h Docs: comment values for DispList.type 2020-09-08 17:16:35 +10:00
BKE_displist_tangent.h Code Style: use "#pragma once" in source directory 2020-08-07 09:50:34 +02:00
BKE_duplilist.h Code Style: use "#pragma once" in source directory 2020-08-07 09:50:34 +02:00
BKE_dynamicpaint.h Cleanup: Clang-Tidy readability-inconsistent-declaration-parameter-name fix 2020-09-04 21:04:16 +02:00
BKE_editlattice.h Code Style: use "#pragma once" in source directory 2020-08-07 09:50:34 +02:00
BKE_editmesh.h Code Style: use "#pragma once" in source directory 2020-08-07 09:50:34 +02:00
BKE_editmesh_bvh.h MeshAnalysis: Optimize the detection of intersecting geometry 2020-09-22 11:00:24 -03:00
BKE_editmesh_cache.h Code Style: use "#pragma once" in source directory 2020-08-07 09:50:34 +02:00
BKE_editmesh_tangent.h Code Style: use "#pragma once" in source directory 2020-08-07 09:50:34 +02:00
BKE_effect.h Code Style: use "#pragma once" in source directory 2020-08-07 09:50:34 +02:00
BKE_fcurve.h Cleanup: use bool instead of int in various places 2020-09-02 19:10:40 +02:00
BKE_fcurve_driver.h Code Style: use "#pragma once" in source directory 2020-08-07 09:50:34 +02:00
BKE_fluid.h Liquid Simulation Display Options (GSoC 2020) 2020-09-15 23:13:01 +05:30
BKE_font.h Code Style: use "#pragma once" in source directory 2020-08-07 09:50:34 +02:00
BKE_freestyle.h Code Style: use "#pragma once" in source directory 2020-08-07 09:50:34 +02:00
BKE_global.h Cleanup: remove G.debug_value check for old mesh-deform behavior 2020-08-26 21:04:00 +10:00
BKE_gpencil.h GPencil: New Trace images using Potrace 2020-09-21 20:03:25 +02:00
BKE_gpencil_curve.h GPencil: Remove unused parameter and fix warning 2020-08-13 08:39:46 +02:00
BKE_gpencil_geom.h Fix T80191: GPencil - Improve Mesh conversion 2020-09-10 20:12:42 +02:00
BKE_gpencil_modifier.h Fix T63125: Gpencil: bones cannot be selected in weightpaint mode 2020-09-03 15:01:50 +02:00
BKE_hair.h Geometry: use generic attributes for Hair and Point Clouds 2020-09-09 17:01:17 +02:00
BKE_icons.h Refactor: move preview image .blend I/O to blenkernel 2020-09-10 10:33:21 +02:00
BKE_idprop.h IDProperties: Add utils to duplicate content of one IDProp into another. 2020-09-20 16:26:39 +02:00
BKE_idtype.h IDTypeInfo: add .blend file io callbacks 2020-08-28 13:05:48 +02:00
BKE_image.h Fix T81026: Image Editor: Alpha (like Bloom) not showing properly 2020-09-22 13:52:54 +02:00
BKE_image_save.h Code Style: use "#pragma once" in source directory 2020-08-07 09:50:34 +02:00
BKE_ipo.h Code Style: use "#pragma once" in source directory 2020-08-07 09:50:34 +02:00
BKE_kelvinlet.h Cleanup: Clang-Tidy readability-inconsistent-declaration-parameter-name fix 2020-09-04 21:04:16 +02:00
BKE_key.h Cleanup: Clang-Tidy readability-inconsistent-declaration-parameter-name fix 2020-09-04 21:04:16 +02:00
BKE_keyconfig.h Code Style: use "#pragma once" in source directory 2020-08-07 09:50:34 +02:00
BKE_lattice.h Cleanup: use uint8_t for various flags in curves 2020-09-16 12:23:23 +02:00
BKE_layer.h Cleanup: Remove warning re: const qualifier discarded 2020-09-09 19:19:07 +02:00
BKE_lib_id.h Cleanup: Clang-Tidy readability-inconsistent-declaration-parameter-name fix 2020-09-04 21:04:16 +02:00
BKE_lib_override.h LibOverride: Add operator to convert a proxy object into an override. 2020-09-23 11:07:03 +02:00
BKE_lib_query.h Code Style: use "#pragma once" in source directory 2020-08-07 09:50:34 +02:00
BKE_lib_remap.h Code Style: use "#pragma once" in source directory 2020-08-07 09:50:34 +02:00
BKE_library.h Code Style: use "#pragma once" in source directory 2020-08-07 09:50:34 +02:00
BKE_light.h Code Style: use "#pragma once" in source directory 2020-08-07 09:50:34 +02:00
BKE_lightprobe.h Code Style: use "#pragma once" in source directory 2020-08-07 09:50:34 +02:00
BKE_linestyle.h Code Style: use "#pragma once" in source directory 2020-08-07 09:50:34 +02:00
BKE_main.h Cleanup: Clang-Tidy readability-inconsistent-declaration-parameter-name fix 2020-09-04 21:04:16 +02:00
BKE_main_idmap.h Cleanup: Clang-Tidy readability-inconsistent-declaration-parameter-name fix 2020-09-04 21:04:16 +02:00
BKE_mask.h Cleanup: Clang-Tidy readability-inconsistent-declaration-parameter-name fix 2020-09-04 21:04:16 +02:00
BKE_material.h Pointclouds: support mesh <-> pointcloud in convert operator 2020-09-17 22:39:57 +02:00
BKE_mball.h Code Style: use "#pragma once" in source directory 2020-08-07 09:50:34 +02:00
BKE_mball_tessellate.h Code Style: use "#pragma once" in source directory 2020-08-07 09:50:34 +02:00
BKE_mesh.h Cleanup: remove unused navmesh code 2020-09-18 14:10:23 +02:00
BKE_mesh_iterators.h Code Style: use "#pragma once" in source directory 2020-08-07 09:50:34 +02:00
BKE_mesh_mapping.h Cleanup: Clang-Tidy readability-inconsistent-declaration-parameter-name fix 2020-09-04 21:04:16 +02:00
BKE_mesh_mirror.h Code Style: use "#pragma once" in source directory 2020-08-07 09:50:34 +02:00
BKE_mesh_remap.h Code Style: use "#pragma once" in source directory 2020-08-07 09:50:34 +02:00
BKE_mesh_remesh_voxel.h Code Style: use "#pragma once" in source directory 2020-08-07 09:50:34 +02:00
BKE_mesh_runtime.h Cleanup: clang-format 2020-08-20 16:09:48 +10:00
BKE_mesh_tangent.h Code Style: use "#pragma once" in source directory 2020-08-07 09:50:34 +02:00
BKE_mesh_wrapper.h Code Style: use "#pragma once" in source directory 2020-08-07 09:50:34 +02:00
BKE_modifier.h Modifiers: add StructRNA pointer field to ModifierTypeInfo 2020-09-25 12:49:18 +02:00
BKE_movieclip.h Cleanup: Clang-Tidy readability-inconsistent-declaration-parameter-name fix 2020-09-04 21:04:16 +02:00
BKE_multires.h Cleanup: Clang-Tidy readability-inconsistent-declaration-parameter-name fix 2020-09-04 21:04:16 +02:00
BKE_nla.h Cleanup: Clang-Tidy readability-inconsistent-declaration-parameter-name fix 2020-09-04 21:04:16 +02:00
BKE_node.h Cleanup: use C style doxygen comments 2020-09-12 16:33:34 +10:00
BKE_object.h Cleanup: Separate BKE_object_link_modifiers into functions 2020-09-15 15:29:19 -06:00
BKE_object_deform.h Code Style: use "#pragma once" in source directory 2020-08-07 09:50:34 +02:00
BKE_object_facemap.h Code Style: use "#pragma once" in source directory 2020-08-07 09:50:34 +02:00
BKE_ocean.h Merge branch 'blender-v2.90-release' into master 2020-08-07 10:04:57 +02:00
BKE_outliner_treehash.h Code Style: use "#pragma once" in source directory 2020-08-07 09:50:34 +02:00
BKE_packedFile.h Cleanup: extract functions for PackedFile .blend I/O 2020-09-10 14:35:51 +02:00
BKE_paint.h Sculpt: Preserve Mesh visibility from edit mode using the Face Sets 2020-09-29 22:54:36 +02:00
BKE_particle.h Cleanup: Clang-Tidy readability-inconsistent-declaration-parameter-name fix 2020-09-04 21:04:16 +02:00
BKE_pbvh.h Cleanup: use parenthesis for if statements in macros 2020-09-19 16:28:17 +10:00
BKE_persistent_data_handle.hh Cleanup: use C++ style casts in various places 2020-08-07 18:42:21 +02:00
BKE_pointcache.h Cleanup: remove dead code in point cache and openvdb wrapper 2020-09-23 14:57:41 +02:00
BKE_pointcloud.h Pointclouds: support mesh <-> pointcloud in convert operator 2020-09-17 22:39:57 +02:00
BKE_report.h Code Style: use "#pragma once" in source directory 2020-08-07 09:50:34 +02:00
BKE_rigidbody.h Fix Rigidbody depsgraph passive and constraint transform relations. 2020-08-28 14:55:59 +02:00
BKE_scene.h Cleanup: Clang-Tidy readability-inconsistent-declaration-parameter-name fix 2020-09-04 21:04:16 +02:00
BKE_screen.h Cleanup: Add const to BKE screen function 2020-09-05 18:16:50 +02:00
BKE_sequencer.h Cleanup: Clang-Tidy readability-inconsistent-declaration-parameter-name fix 2020-09-04 21:04:16 +02:00
BKE_sequencer_offscreen.h Code Style: use "#pragma once" in source directory 2020-08-07 09:50:34 +02:00
BKE_shader_fx.h GPencil: Add link and copy functions for shaderfx 2020-09-15 15:29:19 -06:00
BKE_shrinkwrap.h Code Style: use "#pragma once" in source directory 2020-08-07 09:50:34 +02:00
BKE_simulation.h Merge branch 'blender-v2.90-release' into master 2020-08-07 10:04:57 +02:00
BKE_softbody.h Cleanup: Clang-Tidy readability-inconsistent-declaration-parameter-name fix 2020-09-04 21:04:16 +02:00
BKE_sound.h Code Style: use "#pragma once" in source directory 2020-08-07 09:50:34 +02:00
BKE_speaker.h Code Style: use "#pragma once" in source directory 2020-08-07 09:50:34 +02:00
BKE_studiolight.h Cleanup: Clang-Tidy readability-inconsistent-declaration-parameter-name fix 2020-09-04 21:04:16 +02:00
BKE_subdiv.h Code Style: use "#pragma once" in source directory 2020-08-07 09:50:34 +02:00
BKE_subdiv_ccg.h Sculpt: Multires Displacement Eraser Brush 2020-08-12 18:26:56 +02:00
BKE_subdiv_deform.h Code Style: use "#pragma once" in source directory 2020-08-07 09:50:34 +02:00
BKE_subdiv_eval.h Cleanup: Clang-Tidy readability-inconsistent-declaration-parameter-name fix 2020-09-04 21:04:16 +02:00
BKE_subdiv_foreach.h Code Style: use "#pragma once" in source directory 2020-08-07 09:50:34 +02:00
BKE_subdiv_mesh.h Code Style: use "#pragma once" in source directory 2020-08-07 09:50:34 +02:00
BKE_subdiv_topology.h Code Style: use "#pragma once" in source directory 2020-08-07 09:50:34 +02:00
BKE_subsurf.h Code Style: use "#pragma once" in source directory 2020-08-07 09:50:34 +02:00
BKE_text.h Cleanup: Clang-Tidy readability-inconsistent-declaration-parameter-name fix 2020-09-04 21:04:16 +02:00
BKE_text_suggestions.h Code Style: use "#pragma once" in source directory 2020-08-07 09:50:34 +02:00
BKE_texture.h Code Style: use "#pragma once" in source directory 2020-08-07 09:50:34 +02:00
BKE_tracking.h Cleanup: Clang-Tidy readability-inconsistent-declaration-parameter-name fix 2020-09-04 21:04:16 +02:00
BKE_undo_system.h Code Style: use "#pragma once" in source directory 2020-08-07 09:50:34 +02:00
BKE_unit.h Cleanup: Rename public "bUnit" functions 2020-09-09 08:41:15 -05:00
BKE_volume.h Volumes: new Mesh to Volume modifier 2020-09-29 16:03:30 +02:00
BKE_volume_render.h Volumes: support selection and outlines in viewport 2020-09-29 12:39:41 +02:00
BKE_workspace.h Code Style: use "#pragma once" in source directory 2020-08-07 09:50:34 +02:00
BKE_world.h Code Style: use "#pragma once" in source directory 2020-08-07 09:50:34 +02:00
BKE_writeavi.h Code Style: use "#pragma once" in source directory 2020-08-07 09:50:34 +02:00
BKE_writeffmpeg.h Code Style: use "#pragma once" in source directory 2020-08-07 09:50:34 +02:00
CMakeLists.txt Cleanup: Remove GLEW dependencies outside of GL module 2020-09-12 15:51:21 +02:00
nla_private.h Code Style: use "#pragma once" in source directory 2020-08-07 09:50:34 +02:00
particle_private.h Code Style: use "#pragma once" in source directory 2020-08-07 09:50:34 +02:00
tracking_private.h Code Style: use "#pragma once" in source directory 2020-08-07 09:50:34 +02:00