diff options
4 files changed, 30 insertions, 2 deletions
diff --git a/release/scripts/startup/bl_ui/space_view3d.py b/release/scripts/startup/bl_ui/space_view3d.py index e653ead21bb..ebb6280a42f 100644 --- a/release/scripts/startup/bl_ui/space_view3d.py +++ b/release/scripts/startup/bl_ui/space_view3d.py @@ -6247,17 +6247,20 @@ class VIEW3D_PT_overlay_edit_mesh(Panel): overlay = view.overlay display_all = overlay.show_overlays + is_any_solid_shading = not (shading.show_xray or (shading.type == 'WIREFRAME')) + col = layout.column() col.active = display_all split = col.split() sub = split.column() - sub.active = not ((shading.type == 'WIREFRAME') or shading.show_xray) + sub.active = is_any_solid_shading sub.prop(overlay, "show_edges", text="Edges") sub = split.column() sub.prop(overlay, "show_faces", text="Faces") sub = split.column() + sub.active = is_any_solid_shading sub.prop(overlay, "show_face_center", text="Center") row = col.row(align=True) diff --git a/source/blender/depsgraph/intern/builder/deg_builder_nodes.cc b/source/blender/depsgraph/intern/builder/deg_builder_nodes.cc index dcdf2f48607..2edd4ddf853 100644 --- a/source/blender/depsgraph/intern/builder/deg_builder_nodes.cc +++ b/source/blender/depsgraph/intern/builder/deg_builder_nodes.cc @@ -650,6 +650,11 @@ void DepsgraphNodeBuilder::build_object(int base_index, if (object->particlesystem.first != nullptr) { build_particle_systems(object, is_visible); } + /* Force field Texture. */ + if ((object->pd != nullptr) && (object->pd->forcefield == PFIELD_TEXTURE) && + (object->pd->tex != nullptr)) { + build_texture(object->pd->tex); + } /* Proxy object to copy from. */ build_object_proxy_from(object, is_visible); build_object_proxy_group(object, is_visible); diff --git a/source/blender/depsgraph/intern/builder/deg_builder_relations.cc b/source/blender/depsgraph/intern/builder/deg_builder_relations.cc index bdd5c96e166..e8cf5c99c37 100644 --- a/source/blender/depsgraph/intern/builder/deg_builder_relations.cc +++ b/source/blender/depsgraph/intern/builder/deg_builder_relations.cc @@ -434,6 +434,13 @@ void DepsgraphRelationBuilder::add_particle_forcefield_relations(const Operation add_relation(mod_key, key, name); } + /* Force field Texture. */ + if ((relation->pd != nullptr) && (relation->pd->forcefield == PFIELD_TEXTURE) && + (relation->pd->tex != nullptr)) { + ComponentKey tex_key(&relation->pd->tex->id, NodeType::GENERIC_DATABLOCK); + add_relation(tex_key, key, "Force field Texture"); + } + /* Smoke flow relations. */ if (relation->pd->forcefield == PFIELD_FLUIDFLOW && relation->pd->f_source) { ComponentKey trf_key(&relation->pd->f_source->id, NodeType::TRANSFORM); @@ -712,6 +719,11 @@ void DepsgraphRelationBuilder::build_object(Object *object) if (object->particlesystem.first != nullptr) { build_particle_systems(object); } + /* Force field Texture. */ + if ((object->pd != nullptr) && (object->pd->forcefield == PFIELD_TEXTURE) && + (object->pd->tex != nullptr)) { + build_texture(object->pd->tex); + } /* Proxy object to copy from. */ build_object_proxy_from(object); build_object_proxy_group(object); @@ -1725,6 +1737,11 @@ void DepsgraphRelationBuilder::build_rigidbody(Scene *scene) ComponentKey effector_geometry_key(&effector_relation->ob->id, NodeType::GEOMETRY); add_relation(effector_geometry_key, rb_init_key, "RigidBody Field"); } + if ((effector_relation->pd->forcefield == PFIELD_TEXTURE) && + (effector_relation->pd->tex != nullptr)) { + ComponentKey tex_key(&effector_relation->pd->tex->id, NodeType::GENERIC_DATABLOCK); + add_relation(tex_key, rb_init_key, "Force field Texture"); + } } } /* Objects. */ diff --git a/source/blender/makesrna/intern/rna_space.c b/source/blender/makesrna/intern/rna_space.c index 160d93dea58..06757e533a2 100644 --- a/source/blender/makesrna/intern/rna_space.c +++ b/source/blender/makesrna/intern/rna_space.c @@ -4038,7 +4038,10 @@ static void rna_def_space_view3d_overlay(BlenderRNA *brna) prop = RNA_def_property(srna, "show_face_center", PROP_BOOLEAN, PROP_NONE); RNA_def_property_boolean_sdna(prop, NULL, "overlay.edit_flag", V3D_OVERLAY_EDIT_FACE_DOT); - RNA_def_property_ui_text(prop, "Draw Face Center", "Display face center"); + RNA_def_property_ui_text( + prop, + "Draw Face Center", + "Display face center when face selection is enabled in solid shading modes"); RNA_def_property_update(prop, NC_SPACE | ND_SPACE_VIEW3D, NULL); prop = RNA_def_property(srna, "show_edge_crease", PROP_BOOLEAN, PROP_NONE); |