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
path: root/source
diff options
context:
space:
mode:
authorCampbell Barton <ideasman42@gmail.com>2010-07-28 09:47:46 +0400
committerCampbell Barton <ideasman42@gmail.com>2010-07-28 09:47:46 +0400
commitc32720a0c0e8a846ff1f54a663e2cea848df724f (patch)
tree7166a55fc50ed08c6417390116e56a1ab929a40f /source
parent51e8926cb9935da2e9cecd47acd414de241eb786 (diff)
bugfix [#23055] transforms with proportional fall off affect hidden vertices in certain situations
faces were not being checked if they were hidden before adding their internal edges for connected proportional editing.
Diffstat (limited to 'source')
-rw-r--r--source/blender/editors/transform/transform_conversions.c11
1 files changed, 7 insertions, 4 deletions
diff --git a/source/blender/editors/transform/transform_conversions.c b/source/blender/editors/transform/transform_conversions.c
index 0edf6f6d10c..2f8da7c2dd6 100644
--- a/source/blender/editors/transform/transform_conversions.c
+++ b/source/blender/editors/transform/transform_conversions.c
@@ -1775,14 +1775,17 @@ static int connectivity_edge(float mtx[][3], EditVert *v1, EditVert *v2)
float edge_len;
int done = 0;
+ /* note: hidden verts are not being checked for, this assumes
+ * flushing of hidden faces & edges is working right */
+
+ if (v1->f2 + v2->f2 == 4)
+ return 0;
+
sub_v3_v3v3(edge_vec, v1->co, v2->co);
mul_m3_v3(mtx, edge_vec);
edge_len = len_v3(edge_vec);
- if (v1->f2 + v2->f2 == 4)
- return 0;
-
if (v1->f2) {
if (v2->f2) {
if (v2->tmp.fp + edge_len + THRESHOLD < v1->tmp.fp) {
@@ -1848,7 +1851,7 @@ static void editmesh_set_connectivity_distance(EditMesh *em, float mtx[][3])
/* do internal edges for quads */
for(efa= em->faces.first; efa; efa= efa->next) {
- if (efa->v4) {
+ if (efa->v4 && efa->h==0) {
done |= connectivity_edge(mtx, efa->v1, efa->v3);
done |= connectivity_edge(mtx, efa->v2, efa->v4);
}