Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHans Goudey <h.goudey@me.com>2022-04-19 07:48:43 +0300
committerHans Goudey <h.goudey@me.com>2022-04-19 07:48:43 +0300
commit8c25889bb67db4c1d2f94bf85ca6d1c2a050fcfe (patch)
tree772697b82ecd172e577ef11779543c523b4e86f8 /source/blender/blenkernel/intern/modifier.c
parent775f0d76d55b2977c30dcd0f9306437ae520d63f (diff)
Refactor: Move mesh face dot tag out of MVert
Continuing the refactors described in T93602, this commit moves the face dot tag set by the subdivision surface modifier out of `MVert` to `MeshRuntime`. This clarifies its status as runtime data and allows further refactoring of mesh positions in the future. Before, `BKE_modifiers_uses_subsurf_facedots` was used to check whether subsurf face dots should be drawn, but now we can just check if the tags exist on the mesh. Modifiers that create new new geometry or modify topology will already remove the array by clearing mesh runtime data. Differential Revision: https://developer.blender.org/D14680
Diffstat (limited to 'source/blender/blenkernel/intern/modifier.c')
-rw-r--r--source/blender/blenkernel/intern/modifier.c35
1 files changed, 0 insertions, 35 deletions
diff --git a/source/blender/blenkernel/intern/modifier.c b/source/blender/blenkernel/intern/modifier.c
index 395deeda4ad..f4703b32582 100644
--- a/source/blender/blenkernel/intern/modifier.c
+++ b/source/blender/blenkernel/intern/modifier.c
@@ -845,41 +845,6 @@ bool BKE_modifiers_uses_armature(Object *ob, bArmature *arm)
return false;
}
-bool BKE_modifiers_uses_subsurf_facedots(const struct Scene *scene, Object *ob)
-{
- /* Search (backward) in the modifier stack to find if we have a subsurf modifier (enabled) before
- * the last modifier displayed on cage (or if the subsurf is the last). */
- VirtualModifierData virtualModifierData;
- ModifierData *md = BKE_modifiers_get_virtual_modifierlist(ob, &virtualModifierData);
- int cage_index = BKE_modifiers_get_cage_index(scene, ob, NULL, 1);
- if (cage_index == -1) {
- return false;
- }
- /* Find first modifier enabled on cage. */
- for (int i = 0; md && i < cage_index; i++) {
- md = md->next;
- }
- /* Now from this point, search for subsurf modifier. */
- for (; md; md = md->prev) {
- const ModifierTypeInfo *mti = BKE_modifier_get_info(md->type);
- if (md->type == eModifierType_Subsurf) {
- ModifierMode mode = eModifierMode_Realtime | eModifierMode_Editmode;
- if (BKE_modifier_is_enabled(scene, md, mode)) {
- return true;
- }
- }
- else if (mti->type == eModifierTypeType_OnlyDeform) {
- /* These modifiers do not reset the subdiv flag nor change the topology.
- * We can still search for a subsurf modifier. */
- }
- else {
- /* Other modifiers may reset the subdiv facedot flag or create. */
- return false;
- }
- }
- return false;
-}
-
bool BKE_modifier_is_correctable_deformed(ModifierData *md)
{
const ModifierTypeInfo *mti = BKE_modifier_get_info(md->type);