[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [36610] branches/bmesh/blender/source/ blender/editors/transform: manually merged older changes from trunk.
Campbell Barton
ideasman42 at gmail.com
Wed May 11 11:28:01 CEST 2011
Revision: 36610
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=36610
Author: campbellbarton
Date: 2011-05-11 09:28:00 +0000 (Wed, 11 May 2011)
Log Message:
-----------
manually merged older changes from trunk.
Modified Paths:
--------------
branches/bmesh/blender/source/blender/editors/transform/transform.c
branches/bmesh/blender/source/blender/editors/transform/transform_constraints.c
branches/bmesh/blender/source/blender/editors/transform/transform_conversions.c
branches/bmesh/blender/source/blender/editors/transform/transform_generics.c
branches/bmesh/blender/source/blender/editors/transform/transform_manipulator.c
branches/bmesh/blender/source/blender/editors/transform/transform_orientations.c
branches/bmesh/blender/source/blender/editors/transform/transform_snap.c
Modified: branches/bmesh/blender/source/blender/editors/transform/transform.c
===================================================================
--- branches/bmesh/blender/source/blender/editors/transform/transform.c 2011-05-11 08:43:39 UTC (rev 36609)
+++ branches/bmesh/blender/source/blender/editors/transform/transform.c 2011-05-11 09:28:00 UTC (rev 36610)
@@ -1577,22 +1577,21 @@
{
wmKeyMap *keymap = WM_keymap_active(CTX_wm_manager(C), op->type->modalkeymap);
wmKeyMapItem *kmi;
-
- if (keymap) {
- for (kmi = keymap->items.first; kmi; kmi = kmi->next)
+
+ for (kmi = keymap->items.first; kmi; kmi = kmi->next)
+ {
+ if (kmi->propvalue == TFM_MODAL_SNAP_INV_ON && kmi->val == KM_PRESS)
{
- if (kmi->propvalue == TFM_MODAL_SNAP_INV_ON && kmi->val == KM_PRESS)
- {
- if ((ELEM(kmi->type, LEFTCTRLKEY, RIGHTCTRLKEY) && event->ctrl) ||
- (ELEM(kmi->type, LEFTSHIFTKEY, RIGHTSHIFTKEY) && event->shift) ||
- (ELEM(kmi->type, LEFTALTKEY, RIGHTALTKEY) && event->alt) ||
- (kmi->type == OSKEY && event->oskey)) {
- t->modifiers |= MOD_SNAP_INVERT;
- }
- break;
+ if ((ELEM(kmi->type, LEFTCTRLKEY, RIGHTCTRLKEY) && event->ctrl) ||
+ (ELEM(kmi->type, LEFTSHIFTKEY, RIGHTSHIFTKEY) && event->shift) ||
+ (ELEM(kmi->type, LEFTALTKEY, RIGHTALTKEY) && event->alt) ||
+ (kmi->type == OSKEY && event->oskey)) {
+ t->modifiers |= MOD_SNAP_INVERT;
}
+ break;
}
}
+
}
initSnapping(t, op); // Initialize snapping data AFTER mode flags
@@ -4744,7 +4743,7 @@
SmallHashIter hiter;
BMFace *copyf;
-#if 0
+#if 0 /*BMESH_TODO*/
if(me->drawflag & ME_DRAWEXTRA_EDGELEN) {
TransDataSlideVert *tempsv;
LinkNode *look = sld->vertlist;
Modified: branches/bmesh/blender/source/blender/editors/transform/transform_constraints.c
===================================================================
--- branches/bmesh/blender/source/blender/editors/transform/transform_constraints.c 2011-05-11 08:43:39 UTC (rev 36609)
+++ branches/bmesh/blender/source/blender/editors/transform/transform_constraints.c 2011-05-11 09:28:00 UTC (rev 36610)
@@ -266,7 +266,7 @@
mul_v3_fl(out, 1000000000.0f);
} else {
mul_v3_fl(out, -1000000000.0f);
- }
+ }
} else {
add_v3_v3v3(v2, t_con_center, axis);
add_v3_v3v3(v4, v, norm);
Modified: branches/bmesh/blender/source/blender/editors/transform/transform_conversions.c
===================================================================
--- branches/bmesh/blender/source/blender/editors/transform/transform_conversions.c 2011-05-11 08:43:39 UTC (rev 36609)
+++ branches/bmesh/blender/source/blender/editors/transform/transform_conversions.c 2011-05-11 09:28:00 UTC (rev 36610)
@@ -2288,7 +2288,6 @@
}
}
-
/* crazy space free */
if(quats)
MEM_freeN(quats);
@@ -5114,8 +5113,8 @@
for (i = 0; i < t->total; i++) {
TransData *td = t->data + i;
- ListBase pidlist;
- PTCacheID *pid;
+ ListBase pidlist;
+ PTCacheID *pid;
ob = td->ob;
if (td->flag & TD_NOACTION)
@@ -5132,9 +5131,9 @@
}
BLI_freelistN(&pidlist);
- /* pointcache refresh */
+ /* pointcache refresh */
if (BKE_ptcache_object_reset(t->scene, ob, PTCACHE_RESET_OUTDATED))
- ob->recalc |= OB_RECALC_DATA;
+ ob->recalc |= OB_RECALC_DATA;
/* Needed for proper updating of "quick cached" dynamics. */
/* Creates troubles for moving animated objects without */
@@ -5185,7 +5184,7 @@
#endif
}
-static void createTransObject(struct bContext *C, TransInfo *t)
+static void createTransObject(bContext *C, TransInfo *t)
{
TransData *td = NULL;
TransDataExtension *tx;
Modified: branches/bmesh/blender/source/blender/editors/transform/transform_generics.c
===================================================================
--- branches/bmesh/blender/source/blender/editors/transform/transform_generics.c 2011-05-11 08:43:39 UTC (rev 36609)
+++ branches/bmesh/blender/source/blender/editors/transform/transform_generics.c 2011-05-11 09:28:00 UTC (rev 36610)
@@ -115,19 +115,19 @@
if (t->persp != RV3D_ORTHO)
{
float p1[4], p2[4];
-
+
VECCOPY(p1, coord);
p1[3] = 1.0f;
VECCOPY(p2, p1);
p2[3] = 1.0f;
mul_m4_v4(t->viewmat, p2);
-
+
p2[0] = 2.0f * p2[0];
p2[1] = 2.0f * p2[1];
p2[2] = 2.0f * p2[2];
-
+
mul_m4_v4(t->viewinv, p2);
-
+
sub_v3_v3v3(vec, p1, p2);
}
else {
@@ -143,11 +143,11 @@
ModifierData *md= ob->modifiers.first;
float tolerance[3] = {0.0f, 0.0f, 0.0f};
int axis = 0;
-
+
for (; md; md=md->next) {
if (md->type==eModifierType_Mirror) {
MirrorModifierData *mmd = (MirrorModifierData*) md;
-
+
if(mmd->flag & MOD_MIR_CLIPPING) {
axis = 0;
if(mmd->flag & MOD_MIR_AXIS_X) {
@@ -166,35 +166,35 @@
float mtx[4][4], imtx[4][4];
int i;
TransData *td = t->data;
-
+
if (mmd->mirror_ob) {
float obinv[4][4];
-
+
invert_m4_m4(obinv, mmd->mirror_ob->obmat);
mul_m4_m4m4(mtx, ob->obmat, obinv);
invert_m4_m4(imtx, mtx);
}
-
+
for(i = 0 ; i < t->total; i++, td++) {
int clip;
float loc[3], iloc[3];
-
+
if (td->flag & TD_NOACTION)
break;
if (td->loc==NULL)
break;
-
+
if (td->flag & TD_SKIP)
continue;
-
+
copy_v3_v3(loc, td->loc);
copy_v3_v3(iloc, td->iloc);
-
+
if (mmd->mirror_ob) {
mul_m4_v3(mtx, loc);
mul_m4_v3(mtx, iloc);
}
-
+
clip = 0;
if(axis & 1) {
if(fabs(iloc[0])<=tolerance[0] ||
@@ -203,7 +203,7 @@
clip = 1;
}
}
-
+
if(axis & 2) {
if(fabs(iloc[1])<=tolerance[1] ||
loc[1]*iloc[1]<0.0f) {
@@ -226,7 +226,7 @@
}
}
}
-
+
}
}
}
@@ -238,7 +238,7 @@
TransData *td = t->data;
BMVert *eve;
int i;
-
+
for(i = 0 ; i < t->total; i++, td++) {
if (td->flag & TD_NOACTION)
break;
@@ -246,7 +246,7 @@
break;
if (td->flag & TD_SKIP)
continue;
-
+
eve = td->extra;
if (eve) {
eve->co[0]= -td->loc[0];
@@ -660,7 +660,8 @@
nu= nu->next;
}
}
- } else if(t->obedit->type==OB_LATTICE) {
+ }
+ else if(t->obedit->type==OB_LATTICE) {
Lattice *la= t->obedit->data;
if(t->state != TRANS_CANCEL) {
@@ -673,7 +674,6 @@
}
else if (t->obedit->type == OB_MESH) {
BMEditMesh *em = ((Mesh*)t->obedit->data)->edit_btmesh;
-
/* mirror modifier clipping? */
if(t->state != TRANS_CANCEL) {
clipMirrorModifier(t, t->obedit);
@@ -681,9 +681,9 @@
}
if((t->options & CTX_NO_MIRROR) == 0 && (t->flag & T_MIRROR))
editbmesh_apply_to_mirror(t);
-
+
DAG_id_tag_update(t->obedit->data, 0); /* sets recalc flags */
-
+
EDBM_RecalcNormals(em);
BMEdit_RecalcTesselation(em);
}
@@ -776,7 +776,6 @@
}
DAG_id_tag_update(t->obedit->data, 0); /* sets recalc flags */
}
-
}
else if( (t->flag & T_POSE) && t->poseobj) {
Object *ob= t->poseobj;
@@ -856,18 +855,18 @@
if (t->spacetype == SPACE_VIEW3D)
{
View3D *v3d = t->view;
-
+
glPushMatrix();
-
+
//if(t->obedit) glLoadMatrixf(t->obedit->obmat); // sets opengl viewing
-
-
+
+
copy_v3_v3(v3, dir);
mul_v3_fl(v3, v3d->far);
-
+
sub_v3_v3v3(v2, center, v3);
add_v3_v3v3(v1, center, v3);
-
+
if (options & DRAWLIGHT) {
col[0] = col[1] = col[2] = 220;
}
@@ -876,13 +875,13 @@
}
UI_make_axis_color(col, col2, axis);
glColor3ubv(col2);
-
+
setlinestyle(0);
glBegin(GL_LINE_STRIP);
glVertex3fv(v1);
glVertex3fv(v2);
glEnd();
-
+
glPopMatrix();
}
}
@@ -899,33 +898,33 @@
ARegion *ar = CTX_wm_region(C);
ScrArea *sa = CTX_wm_area(C);
Object *obedit = CTX_data_edit_object(C);
-
+
/* moving: is shown in drawobject() (transform color) */
// TRANSFORM_FIX_ME
// if(obedit || (t->flag & T_POSE) ) G.moving= G_TRANSFORM_EDIT;
// else if(G.f & G_PARTICLEEDIT) G.moving= G_TRANSFORM_PARTICLE;
// else G.moving= G_TRANSFORM_OBJ;
-
+
t->scene = sce;
t->sa = sa;
t->ar = ar;
t->obedit = obedit;
t->settings = ts;
-
+
t->data = NULL;
t->ext = NULL;
-
+
t->helpline = HLP_NONE;
-
+
t->flag = 0;
-
+
t->redraw = 1; /* redraw first time */
-
+
if (event)
{
t->imval[0] = event->x - t->ar->winrct.xmin;
t->imval[1] = event->y - t->ar->winrct.ymin;
-
+
t->event_type = event->type;
}
else
@@ -933,30 +932,30 @@
t->imval[0] = 0;
t->imval[1] = 0;
}
-
+
t->con.imval[0] = t->imval[0];
t->con.imval[1] = t->imval[1];
-
+
t->mval[0] = t->imval[0];
t->mval[1] = t->imval[1];
-
+
t->transform = NULL;
t->handleEvent = NULL;
-
+
t->total = 0;
-
+
t->val = 0.0f;
-
+
t->vec[0] =
t->vec[1] =
t->vec[2] = 0.0f;
-
+
t->center[0] =
t->center[1] =
t->center[2] = 0.0f;
-
+
unit_m3(t->mat);
-
+
/* if there's an event, we're modal */
if (event) {
t->flag |= T_MODAL;
@@ -986,10 +985,10 @@
if(t->spacetype == SPACE_VIEW3D)
{
View3D *v3d = sa->spacedata.first;
-
+
t->view = v3d;
t->animtimer= CTX_wm_screen(C)->animtimer;
-
+
/* turn manipulator off during transform */
// FIXME: but don't do this when USING the manipulator...
if (t->flag & T_MODAL) {
@@ -999,11 +998,11 @@
if(v3d->flag & V3D_ALIGN) t->flag |= T_V3D_ALIGN;
t->around = v3d->around;
-
+
if (op && RNA_struct_find_property(op->ptr, "constraint_orientation") && RNA_property_is_set(op->ptr, "constraint_orientation"))
{
t->current_orientation = RNA_enum_get(op->ptr, "constraint_orientation");
-
+
if (t->current_orientation >= V3D_MANIP_CUSTOM + BIF_countTransformOrientation(C))
{
t->current_orientation = V3D_MANIP_GLOBAL;
@@ -1044,11 +1043,10 @@
{
// XXX for now, get View2D from the active region
t->view = &ar->v2d;
-
// XXX for now, the center point is the midpoint of the data
t->around = V3D_CENTER;
}
-
+
if (op && RNA_property_is_set(op->ptr, "release_confirm"))
{
if (RNA_boolean_get(op->ptr, "release_confirm"))
@@ -1081,7 +1079,8 @@
t->mirror = 1;
}
}
-
+
+ /* setting PET flag only if property exist in operator. Otherwise, assume it's not supported */
if (op && RNA_struct_find_property(op->ptr, "proportional"))
{
if (RNA_property_is_set(op->ptr, "proportional"))
@@ -1151,7 +1150,7 @@
setTransformViewMatrices(t);
initNumInput(&t->num);
initNDofInput(&t->ndof);
-
+
return 1;
}
@@ -1159,7 +1158,7 @@
void postTrans (bContext *C, TransInfo *t)
{
TransData *td;
-
+
if (t->draw_handle_view)
ED_region_draw_cb_exit(t->ar->type, t->draw_handle_view);
@@ Diff output truncated at 10240 characters. @@
More information about the Bf-blender-cvs
mailing list