Page MenuHome

Fix: Knife tool renders future points incorrectly once again.
AbandonedPublic

Authored by Janusch Patas (patjan) on Dec 25 2020, 2:06 PM.

Details

Summary

The root cause is that sometimes DRW_culling_min_max_test returns true. In fact DRW_culling_min_max_test gives an index to a wrong face. You can find further details on this behavior and why the initial fix was made in T65585.

Diff Detail

Repository
rB Blender
Branch
Fix-T83391 (branched from master)
Build Status
Buildable 11882
Build 11882: arc lint + arc unit

Event Timeline

Janusch Patas (patjan) requested review of this revision.Dec 25 2020, 2:06 PM
Janusch Patas (patjan) created this revision.
Janusch Patas (patjan) edited the summary of this revision. (Show Details)
This comment was removed by Janusch Patas (patjan).
Correction: Wrong Differential
Campbell Barton (campbellbarton) abandoned this revision.EditedMar 29 2021, 4:13 AM

Looking into this and I think it's solving the problem at the wrong level.

The issue is caused by the face being set, without KnifePosData.co & KnifePosData.cage being set.

In this case when the face is set, there is an incorrect assumption in knife_update_active.

Committed alternate fix rB27a7b2e27ae8088dccfa87e66c820dc2e37c113a


Note that this part of the knife code can use further improvements, the API for finding the nearest geometry elements should also be documented more clearly.