Fix rest of #28693: Proportional edit hangs on mesh object with high scale
Patchy by Juha Maki-Kanto
This commit is contained in:
@@ -1807,7 +1807,7 @@ void flushTransParticles(TransInfo *t)
|
||||
/* ********************* mesh ****************** */
|
||||
|
||||
/* proportional distance based on connectivity */
|
||||
#define THRESHOLD 0.0001f
|
||||
#define THRESHOLDFACTOR (1.0f-0.0001f)
|
||||
|
||||
static int connectivity_edge(float mtx[][3], EditVert *v1, EditVert *v2)
|
||||
{
|
||||
@@ -1828,10 +1828,10 @@ static int connectivity_edge(float mtx[][3], EditVert *v1, EditVert *v2)
|
||||
|
||||
if (v1->f2) {
|
||||
if (v2->f2) {
|
||||
if (v2->tmp.fp + edge_len + THRESHOLD < v1->tmp.fp) {
|
||||
if (v2->tmp.fp + edge_len < THRESHOLDFACTOR * v1->tmp.fp) {
|
||||
v1->tmp.fp = v2->tmp.fp + edge_len;
|
||||
done = 1;
|
||||
} else if (v1->tmp.fp + edge_len + THRESHOLD < v2->tmp.fp) {
|
||||
} else if (v1->tmp.fp + edge_len < THRESHOLDFACTOR * v2->tmp.fp) {
|
||||
v2->tmp.fp = v1->tmp.fp + edge_len;
|
||||
done = 1;
|
||||
}
|
||||
|
Reference in New Issue
Block a user