[Bf-committers] [Bf-blender-cvs] SVN commit: /data/svn/bf-blender [39159] trunk/blender/source/blender/ windowmanager: ndof data change: operators can access values as vectors or components, as both are handy

Campbell Barton ideasman42 at gmail.com
Sun Aug 7 19:56:23 CEST 2011


data->tvec[2]= s * -ghost->ty; lost the '-' and data->rx = s *
ghost->rx; are now all 'rx', best double check these commits esp hours
before an rc.

On Mon, Aug 8, 2011 at 3:22 AM, Mike Erwin <significant.bit at gmail.com> wrote:
> Revision: 39159
>          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=39159
> Author:   merwin
> Date:     2011-08-07 17:22:47 +0000 (Sun, 07 Aug 2011)
> Log Message:
> -----------
> ndof data change: operators can access values as vectors or components, as both are handy
>
> Modified Paths:
> --------------
>    trunk/blender/source/blender/windowmanager/WM_types.h
>    trunk/blender/source/blender/windowmanager/intern/wm_event_system.c
>
> Modified: trunk/blender/source/blender/windowmanager/WM_types.h
> ===================================================================
> --- trunk/blender/source/blender/windowmanager/WM_types.h       2011-08-07 17:19:18 UTC (rev 39158)
> +++ trunk/blender/source/blender/windowmanager/WM_types.h       2011-08-07 17:22:47 UTC (rev 39159)
> @@ -389,8 +389,14 @@
>        /* awfully similar to GHOST_TEventNDOFMotionData... */
>        // Each component normally ranges from -1 to +1, but can exceed that.
>        // These use blender standard view coordinates, with positive rotations being CCW about the axis.
> -       float tvec[3]; // translation
> -       float rvec[3]; // rotation:
> +       union {
> +               float tvec[3]; // translation
> +               struct { float tx, ty, tz; };
> +               };
> +       union {
> +               float rvec[3]; // rotation:
> +               struct { float rx, ry, rz; };
> +               };
>                // axis = (rx,ry,rz).normalized
>                // amount = (rx,ry,rz).magnitude [in revolutions, 1.0 = 360 deg]
>        float dt; // time since previous NDOF Motion event
>
> Modified: trunk/blender/source/blender/windowmanager/intern/wm_event_system.c
> ===================================================================
> --- trunk/blender/source/blender/windowmanager/intern/wm_event_system.c 2011-08-07 17:19:18 UTC (rev 39158)
> +++ trunk/blender/source/blender/windowmanager/intern/wm_event_system.c 2011-08-07 17:22:47 UTC (rev 39159)
> @@ -2329,29 +2329,32 @@
>
>        const float s = U.ndof_sensitivity;
>
> -       data->tvec[0]= s * ghost->tx;
> +       data->tx = s * ghost->tx;
>
> -       data->rvec[0]= s * ghost->rx;
> -       data->rvec[1]= s * ghost->ry;
> -       data->rvec[2]= s * ghost->rz;
> +       data->rx = s * ghost->rx;
> +       data->rx = s * ghost->ry;
> +       data->rx = s * ghost->rz;
>
>        if (U.ndof_flag & NDOF_ZOOM_UPDOWN)
>                {
> -               // rotate so Y is where Z was (maintain handed-ness)
> -               data->tvec[1]= s * ghost->tz;
> -               data->tvec[2]= s * -ghost->ty;
> +               /* rotate so Y is where Z was */
> +               data->ty = s * ghost->tz;
> +               data->tz = s * ghost->ty;
> +               /* maintain handed-ness? or just do what feels right? */
>
> -               // should this affect rotation also?
> -               // initial guess is 'yes', but get user feedback immediately!
> -#if 0  // after turning this on, my guess becomes 'no'
> -               data->rvec[1]= s * ghost->rz;
> -               data->rvec[2]= s * ghost->ry;
> +               /* should this affect rotation also?
> +                * initial guess is 'yes', but get user feedback immediately!
> +                */
> +#if 0
> +               /* after turning this on, my guess becomes 'no' */
> +               data->ry = s * ghost->rz;
> +               data->rz = s * ghost->ry;
>  #endif
>                }
>        else
>                {
> -               data->tvec[1]= s * ghost->ty;
> -               data->tvec[2]= s * ghost->tz;
> +               data->ty = s * ghost->ty;
> +               data->tz = s * ghost->tz;
>                }
>
>        data->dt = ghost->dt;
>
> _______________________________________________
> Bf-blender-cvs mailing list
> Bf-blender-cvs at blender.org
> http://lists.blender.org/mailman/listinfo/bf-blender-cvs
>



-- 
- Campbell


More information about the Bf-committers mailing list