Advertisement
Guest User

Untitled

a guest
Sep 22nd, 2014
186
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. import QtQuick 2.1;
  2. import "Defs3D.js" as Defs3D;
  3.  
  4. QtObject {
  5.     id: rotation;
  6.  
  7.     property real   angle : 0.0;
  8.     property string axis  : "";
  9.  
  10.     readonly property real c : Math.cos (angle * Math.PI / 180);
  11.     readonly property real s : Math.sin (angle * Math.PI / 180);
  12.  
  13.     readonly property matrix4x4 matrix : {
  14.         switch (axis) {
  15.         case Defs3D.axisLeftToRight: // aka "X" in vectors
  16.             return Qt.matrix4x4 (+1,  0,  0,  0,
  17.                                   0, +c, -s,  0,
  18.                                   0, +s, +c,  0,
  19.                                   0,  0,  0, +1);
  20.         case Defs3D.axisBottomToTop: // aka "Y" in vectors
  21.             return Qt.matrix4x4 (+c,  0, +s,  0,
  22.                                   0, +1,  0,  0,
  23.                                  -s,  0, +c,  0,
  24.                                   0,  0,  0, +1);
  25.         case Defs3D.axisBackToFront: // aka "Z" in vectors
  26.             return Qt.matrix4x4 (+c, -s,  0,  0,
  27.                                  +s, +c,  0,  0,
  28.                                   0,  0,  0, +1);
  29.         }
  30.     }
  31. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement