Revision: 18068
          
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=18068
Author:   mfoxdogg
Date:     2008-12-26 11:31:44 +0100 (Fri, 26 Dec 2008)

Log Message:
-----------
My very first commit (kinda cool ) just to test my commit rights and to go 
through the motions of commiting

just a single comment to seperate the ED_VIEW3D_OT_viewnumpad operator code 
from the rest so its easier to read

Modified Paths:
--------------
    
branches/blender2.5/blender/source/blender/editors/space_view3d/view3d_edit.c

Modified: 
branches/blender2.5/blender/source/blender/editors/space_view3d/view3d_edit.c
===================================================================
--- 
branches/blender2.5/blender/source/blender/editors/space_view3d/view3d_edit.c   
    2008-12-26 03:56:52 UTC (rev 18067)
+++ 
branches/blender2.5/blender/source/blender/editors/space_view3d/view3d_edit.c   
    2008-12-26 10:31:44 UTC (rev 18068)
@@ -6,7 +6,7 @@
  * This program is free software; you can redistribute it and/or
  * modify it under the terms of the GNU General Public License
  * as published by the Free Software Foundation; either version 2
- * of the License, or (at your option) any later version. 
+ * of the License, or (at your option) any later version.
  *
  * This program is distributed in the hope that it will be useful,
  * but WITHOUT ANY WARRANTY; without even the implied warranty of
@@ -20,7 +20,7 @@
  * The Original Code is Copyright (C) 2008 Blender Foundation.
  * All rights reserved.
  *
- * 
+ *
  * Contributor(s): Blender Foundation
  *
  * ***** END GPL LICENSE BLOCK *****
@@ -87,15 +87,15 @@
 typedef struct ViewOpsData {
        ARegion *ar;
        View3D *v3d;
-       
+
        float oldquat[4];
        float trackvec[3];
        float ofs[3], obofs[3];
        float reverse, dist0;
-       
+
        int origx, origy, oldx, oldy;
        int origkey;
-       
+
 } ViewOpsData;
 
 #define TRACKBALLSIZE  (1.1)
@@ -103,15 +103,15 @@
 static void calctrackballvec(rcti *rect, int mx, int my, float *vec)
 {
        float x, y, radius, d, z, t;
-       
+
        radius= TRACKBALLSIZE;
-       
+
        /* normalize x and y */
        x= (rect->xmax + rect->xmin)/2 - mx;
        x/= (float)((rect->xmax - rect->xmin)/4);
        y= (rect->ymax + rect->ymin)/2 - my;
        y/= (float)((rect->ymax - rect->ymin)/2);
-       
+
        d = sqrt(x*x + y*y);
        if (d < radius*M_SQRT1_2)       /* Inside sphere */
                z = sqrt(radius*radius - d*d);
@@ -132,7 +132,7 @@
        ScrArea *sa= CTX_wm_area(C);
        View3D *v3d= sa->spacedata.first;
        ViewOpsData *vod= MEM_callocN(sizeof(ViewOpsData), "viewops data");
-       
+
        /* store data */
        op->customdata= vod;
        vod->ar= CTX_wm_region(C);
@@ -142,17 +142,17 @@
        vod->origx= vod->oldx= event->x;
        vod->origy= vod->oldy= event->y;
        vod->origkey= event->type;
-       
+
        calctrackballvec(&vod->ar->winrct, event->x, event->y, vod->trackvec);
-       
+
        initgrabz(v3d, -v3d->ofs[0], -v3d->ofs[1], -v3d->ofs[2]);
-       
+
        vod->reverse= 1.0f;
        if (v3d->persmat[2][1] < 0.0f)
                vod->reverse= -1.0f;
-       
-}      
 
+}
+
 /* ************************** viewrotate **********************************/
 
 static const float thres = 0.93f; //cos(20 deg);
@@ -168,7 +168,7 @@
 {0.0, -1.0, 0.0, 0.0, 7, 1},      //bottom
 {0.5, -0.5, -0.5, -0.5, 3, 0},    //left
 {0.5, -0.5, 0.5, 0.5, 3, 1},      //right
-       
+
        /* some more 45 deg snaps */
 {0.65328145027160645, -0.65328145027160645, 0.27059805393218994, 
0.27059805393218994, 0, 0},
 {0.92387950420379639, 0.0, 0.0, 0.38268342614173889, 0, 0},
@@ -210,54 +210,54 @@
 {
        View3D *v3d= vod->v3d;
        int use_sel= 0; /* XXX */
-       
+
        v3d->view= 0; /* need to reset everytime because of view snapping */
-       
+
        if (U.flag & USER_TRACKBALL) {
                float phi, si, q1[4], dvec[3], newvec[3];
-               
+
                calctrackballvec(&vod->ar->winrct, x, y, newvec);
-       
+
                VecSubf(dvec, newvec, vod->trackvec);
-       
+
                si= sqrt(dvec[0]*dvec[0]+ dvec[1]*dvec[1]+ dvec[2]*dvec[2]);
                si/= (2.0*TRACKBALLSIZE);
-       
+
                Crossf(q1+1, vod->trackvec, newvec);
                Normalize(q1+1);
-               
+
                /* Allow for rotation beyond the interval
                        * [-pi, pi] */
                while (si > 1.0)
                        si -= 2.0;
-               
+
                /* This relation is used instead of
                        * phi = asin(si) so that the angle
                        * of rotation is linearly proportional
                        * to the distance that the mouse is
                        * dragged. */
                phi = si * M_PI / 2.0;
-               
+
                si= sin(phi);
                q1[0]= cos(phi);
                q1[1]*= si;
                q1[2]*= si;
-               q1[3]*= si;     
+               q1[3]*= si;
                QuatMul(v3d->viewquat, q1, vod->oldquat);
-               
+
                if (use_sel) {
                        /* compute the post multiplication quat, to rotate the 
offset correctly */
                        QUATCOPY(q1, vod->oldquat);
                        QuatConj(q1);
                        QuatMul(q1, q1, v3d->viewquat);
-                       
+
                        QuatConj(q1); /* conj == inv for unit quat */
                        VECCOPY(v3d->ofs, vod->ofs);
                        VecSubf(v3d->ofs, v3d->ofs, vod->obofs);
                        QuatMulVecf(q1, v3d->ofs);
                        VecAddf(v3d->ofs, v3d->ofs, vod->obofs);
                }
-       } 
+       }
        else {
                /* New turntable view code by John Aughey */
                float si, phi, q1[4];
@@ -269,15 +269,15 @@
                        on other modeling programs. */
                /* Perhaps this should be a configurable user parameter. */
                const float sensitivity = 0.0035;
-               
+
                /* Get the 3x3 matrix and its inverse from the quaternion */
                QuatToMat3(v3d->viewquat, m);
                Mat3Inv(m_inv,m);
-               
+
                /* Determine the direction of the x vector (for rotating up and 
down) */
                /* This can likely be compuated directly from the quaternion. */
                Mat3MulVecfl(m_inv,xvec);
-               
+
                /* Perform the up/down rotation */
                phi = sensitivity * -(y - vod->oldy);
                si = sin(phi);
@@ -286,21 +286,21 @@
                q1[2] = si * xvec[1];
                q1[3] = si * xvec[2];
                QuatMul(v3d->viewquat, v3d->viewquat, q1);
-               
+
                if (use_sel) {
                        QuatConj(q1); /* conj == inv for unit quat */
                        VecSubf(v3d->ofs, v3d->ofs, vod->obofs);
                        QuatMulVecf(q1, v3d->ofs);
                        VecAddf(v3d->ofs, v3d->ofs, vod->obofs);
                }
-               
+
                /* Perform the orbital rotation */
                phi = sensitivity * vod->reverse * (x - vod->oldx);
                q1[0] = cos(phi);
                q1[1] = q1[2] = 0.0;
                q1[3] = sin(phi);
                QuatMul(v3d->viewquat, v3d->viewquat, q1);
-               
+
                if (use_sel) {
                        QuatConj(q1);
                        VecSubf(v3d->ofs, v3d->ofs, vod->obofs);
@@ -308,28 +308,28 @@
                        VecAddf(v3d->ofs, v3d->ofs, vod->obofs);
                }
        }
-       
+
        /* check for view snap */
        if (ctrl){
                int i;
                float viewmat[3][3];
-               
-               
+
+
                QuatToMat3(v3d->viewquat, viewmat);
-               
+
                for (i = 0 ; i < 39; i++){
                        float snapmat[3][3];
                        float view = (int)snapquats[i][4];
                        float oposite_dir = (int)snapquats[i][5];
-                       
+
                        QuatToMat3(snapquats[i], snapmat);
-                       
+
                        if ((Inpf(snapmat[0], viewmat[0]) > thres) &&
                                (Inpf(snapmat[1], viewmat[1]) > thres) &&
                                (Inpf(snapmat[2], viewmat[2]) > thres)){
-                               
+
                                QUATCOPY(v3d->viewquat, snapquats[i]);
-                               
+
                                v3d->view = view;
                                if (view){
                                        if (oposite_dir){
@@ -338,7 +338,7 @@
                                                v3d->flag2 &= 
~V3D_OPP_DIRECTION_NAME;
                                        }
                                }
-                               
+
                                break;
                        }
                }
@@ -358,52 +358,52 @@
                case MOUSEMOVE:
                        viewrotate_apply(vod, event->x, event->y, event->ctrl);
                        break;
-                       
+
                default:
                        if(event->type==vod->origkey && event->val==0) {
-                               
+
                                MEM_freeN(vod);
                                op->customdata= NULL;
-                               
+
                                return OPERATOR_FINISHED;
                        }
        }
-       
+
        return OPERATOR_RUNNING_MODAL;
 }
 
 static int viewrotate_invoke(bContext *C, wmOperator *op, wmEvent *event)
 {
        ViewOpsData *vod;
-       
+
        /* makes op->customdata */
        viewops_data(C, op, event);
        vod= op->customdata;
-       
+
        /* switch from camera view when: */
        if(vod->v3d->persp != V3D_PERSP) {
-               
-               if (U.uiflag & USER_AUTOPERSP) 
+
+               if (U.uiflag & USER_AUTOPERSP)
                        vod->v3d->persp= V3D_PERSP;
                else if(vod->v3d->persp==V3D_CAMOB)
                        vod->v3d->persp= V3D_PERSP;
                ED_region_tag_redraw(vod->ar);
        }
-       
+
        /* add temp handler */
        WM_event_add_modal_handler(C, &CTX_wm_window(C)->handlers, op);
-       
+
        return OPERATOR_RUNNING_MODAL;
 }
 
 
 void ED_VIEW3D_OT_viewrotate(wmOperatorType *ot)
 {
-       
+
        /* identifiers */
        ot->name= "Rotate view";
        ot->idname= "ED_VIEW3D_OT_viewrotate";
-       
+
        /* api callbacks */
        ot->invoke= viewrotate_invoke;
        ot->modal= viewrotate_modal;
@@ -416,7 +416,7 @@
 {
        if(vod->v3d->persp==V3D_CAMOB) {
                float max= (float)MAX2(vod->ar->winx, vod->ar->winy);
-               
+
                vod->v3d->camdx += (vod->oldx - x)/(max);
                vod->v3d->camdy += (vod->oldy - y)/(max);
                CLAMP(vod->v3d->camdx, -1.0f, 1.0f);
@@ -425,38 +425,38 @@
        }
        else {
                float dvec[3];
-               
+
                window_to_3d(vod->ar, vod->v3d, dvec, x-vod->oldx, y-vod->oldy);
                VecAddf(vod->v3d->ofs, vod->v3d->ofs, dvec);
        }
-       
+
        vod->oldx= x;
        vod->oldy= y;
-       
+
        ED_region_tag_redraw(vod->ar);
 }
 
 
 static int viewmove_modal(bContext *C, wmOperator *op, wmEvent *event)
-{      
+{
        ViewOpsData *vod= op->customdata;
-       
+
        /* execute the events */
        switch(event->type) {
                case MOUSEMOVE:
                        viewmove_apply(vod, event->x, event->y);
                        break;
-                       
+
                default:
                        if(event->type==vod->origkey && event->val==0) {
-                               
+
                                MEM_freeN(vod);
                                op->customdata= NULL;
-                               
+
                                return OPERATOR_FINISHED;
                        }
        }
-       
+
        return OPERATOR_RUNNING_MODAL;
 }
 
@@ -464,21 +464,21 @@
 {
        /* makes op->customdata */
        viewops_data(C, op, event);
-       
+
        /* add temp handler */
        WM_event_add_modal_handler(C, &CTX_wm_window(C)->handlers, op);
-       
+
        return OPERATOR_RUNNING_MODAL;
 }
 
 
 void ED_VIEW3D_OT_viewmove(wmOperatorType *ot)
 {
-       
+
        /* identifiers */
        ot->name= "Rotate view";
        ot->idname= "ED_VIEW3D_OT_viewmove";
-       
+
        /* api callbacks */
        ot->invoke= viewmove_invoke;
        ot->modal= viewmove_modal;
@@ -495,38 +495,38 @@
                float tpos[3];
                float new_dist;
                short vb[2], mouseloc[2];
-               
+
                mouseloc[0]= mx - ar->winrct.xmin;
                mouseloc[1]= my - ar->winrct.ymin;
-               
+
                /* find the current window width and height */
                vb[0] = ar->winx;
                vb[1] = ar->winy;
-               
+
                tpos[0] = -v3d->ofs[0];
                tpos[1] = -v3d->ofs[1];
                tpos[2] = -v3d->ofs[2];
-               
+
                /* Project cursor position into 3D space */
                initgrabz(v3d, tpos[0], tpos[1], tpos[2]);
                window_to_3d(ar, v3d, dvec, mouseloc[0]-vb[0]/2, 
mouseloc[1]-vb[1]/2);
-               
+
                /* Calculate view target position for dolly */
                tvec[0] = -(tpos[0] + dvec[0]);
                tvec[1] = -(tpos[1] + dvec[1]);
                tvec[2] = -(tpos[2] + dvec[2]);
-               
+
                /* Offset to target position and dolly */
                new_dist = v3d->dist * dfac;
-               
+
                VECCOPY(v3d->ofs, tvec);
                v3d->dist = new_dist;
-               
+
                /* Calculate final offset */
                dvec[0] = tvec[0] + dvec[0] * dfac;
                dvec[1] = tvec[1] + dvec[1] * dfac;
                dvec[2] = tvec[2] + dvec[2] * dfac;
-               
+
                VECCOPY(v3d->ofs, dvec);
        } else {
                v3d->dist *= dfac;
@@ -545,13 +545,13 @@
        else if(U.viewzoom==USER_ZOOM_SCALE) {
                int ctr[2], len1, len2;
                // method which zooms based on how far you move the mouse
-               
+
                ctr[0] = (vod->ar->winrct.xmax + vod->ar->winrct.xmin)/2;
                ctr[1] = (vod->ar->winrct.ymax + vod->ar->winrct.ymin)/2;
-               
+
                len1 = (int)sqrt((ctr[0] - x)*(ctr[0] - x) + (ctr[1] - 
y)*(ctr[1] - y)) + 5;
                len2 = (int)sqrt((ctr[0] - vod->origx)*(ctr[0] - vod->origx) + 
(ctr[1] - vod->origy)*(ctr[1] - vod->origy)) + 5;
-               
+
                zfac = vod->dist0 * ((float)len2/len1) / vod->v3d->dist;
        }
        else {  /* USER_ZOOM_DOLLY */
@@ -560,14 +560,14 @@
                zfac = vod->dist0 * (2.0*((len2/len1)-1.0) + 1.0) / 
vod->v3d->dist;
        }
 

@@ Diff output truncated at 10240 characters. @@

_______________________________________________
Bf-blender-cvs mailing list
[email protected]
http://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to