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:
authorJoseph Eagar <joeedh@gmail.com>2009-09-06 06:43:36 +0400
committerJoseph Eagar <joeedh@gmail.com>2009-09-06 06:43:36 +0400
commit67c64cf82b8b8f8def26a3412437f8d63e13adf6 (patch)
tree1f268fc9526e31ac087e45cee444bfe62f489ff4 /source/blender/editors
parent971155b3733f56ebf3aedddc65a6110a5b1229ae (diff)
more optimization stuff. transformed a few functions into macro that profiling showed were taking a bunch of time. also have some work-in-progress (if disabled) stuff related to inlining, which I'm trying to get working but may be too much trouble.
Diffstat (limited to 'source/blender/editors')
-rw-r--r--source/blender/editors/transform/transform_conversions.c27
-rw-r--r--source/blender/editors/uvedit/uvedit_unwrap_ops.c3
2 files changed, 28 insertions, 2 deletions
diff --git a/source/blender/editors/transform/transform_conversions.c b/source/blender/editors/transform/transform_conversions.c
index 34b36c9b7c1..f7acab46c4b 100644
--- a/source/blender/editors/transform/transform_conversions.c
+++ b/source/blender/editors/transform/transform_conversions.c
@@ -1907,9 +1907,33 @@ static void editmesh_set_connectivity_distance(EditMesh *em, int total, float *v
VECCOPY(centout, cent);
}
+#define VertsToTransData(t, td, em, eve) \
+ td->flag = 0;\
+ td->loc = eve->co;\
+ VECCOPY(td->center, td->loc);\
+ if(t->around==V3D_LOCAL && (em->selectmode & SCE_SELECT_FACE))\
+ get_face_center(td->center, em, eve);\
+ VECCOPY(td->iloc, td->loc);\
+ VECCOPY(td->axismtx[2], eve->no);\
+ td->axismtx[0][0] =\
+ td->axismtx[0][1] =\
+ td->axismtx[0][2] =\
+ td->axismtx[1][0] =\
+ td->axismtx[1][1] =\
+ td->axismtx[1][2] = 0.0f;\
+ td->ext = NULL;\
+ td->tdi = NULL;\
+ td->val = NULL;\
+ td->extra = NULL;\
+ if (t->mode == TFM_BWEIGHT) {\
+ td->val = &(eve->bweight);\
+ td->ival = eve->bweight;\
+ }
+
+#if 0
//way to overwrite what data is edited with transform
//static void VertsToTransData(TransData *td, EditVert *eve, BakeKey *key)
-static void VertsToTransData(TransInfo *t, TransData *td, BMesh *em, BMVert *eve)
+inline void VertsToTransData(TransInfo *t, TransData *td, BMesh *em, BMVert *eve)
{
td->flag = 0;
//if(key)
@@ -1940,6 +1964,7 @@ static void VertsToTransData(TransInfo *t, TransData *td, BMesh *em, BMVert *eve
td->ival = eve->bweight;
}
}
+#endif
/* *********************** CrazySpace correction. Now without doing subsurf optimal ****************** */
diff --git a/source/blender/editors/uvedit/uvedit_unwrap_ops.c b/source/blender/editors/uvedit/uvedit_unwrap_ops.c
index 53eceb4d342..e24b34f0b8f 100644
--- a/source/blender/editors/uvedit/uvedit_unwrap_ops.c
+++ b/source/blender/editors/uvedit/uvedit_unwrap_ops.c
@@ -188,7 +188,8 @@ ParamHandle *construct_param_handle(Scene *scene, BMEditMesh *em,
BLI_addfilledge(firstv, v);
- BLI_edgefill(0, 0);
+ /*mode 2 enables shortest-diagonal for quads*/
+ BLI_edgefill(2, 0);
for (sefa = fillfacebase.first; sefa; sefa=sefa->next) {
ls[0] = sefa->v1->tmp.p;
ls[1] = sefa->v2->tmp.p;