Project

General

Profile

« Previous | Next » 

Revision 4da7d87a

Added by Leszek Koltunski almost 4 years ago

Simplify dragging. Now there's only 1 Quat, rather than the old way with two (Accumulated, Current).

View differences:

src/main/java/org/distorted/objects/RubikObject.java
69 69
  private int mRotAxis;
70 70
  private Static3D[] mOrigPos;
71 71
  private Static3D mNodeScale;
72
  private Static4D mQuatAccumulated;
72
  private Static4D mQuat;
73 73
  private Cubit[] mCubits;
74 74
  private int mSize;
75 75
  private RubikObjectList mList;
......
85 85
  DistortedTexture mTexture;
86 86

  
87 87
  MatrixEffectScale mScaleEffect;
88
  MatrixEffectQuaternion mQuatCEffect;
89
  MatrixEffectQuaternion mQuatAEffect;
88
  MatrixEffectQuaternion mQuatEffect;
90 89

  
91 90
///////////////////////////////////////////////////////////////////////////////////////////////////
92 91

  
93
  RubikObject(int size, int fov, Static4D quatCur, Static4D quatAcc, DistortedTexture nodeTexture,
94
              MeshRectangles nodeMesh, DistortedEffects nodeEffects, int[][] moves, RubikObjectList list, Resources res)
92
  RubikObject(int size, int fov, Static4D quat, DistortedTexture nodeTexture, MeshRectangles nodeMesh,
93
              DistortedEffects nodeEffects, int[][] moves, RubikObjectList list, Resources res)
95 94
    {
96 95
    super(nodeTexture,nodeEffects,nodeMesh);
97 96

  
......
109 108
    mSize = size;
110 109
    computeStartAndStep(mOrigPos);
111 110
    mNodeScale= new Static3D(1,1,1);
112
    mQuatAccumulated = quatAcc;
111
    mQuat = quat;
113 112

  
114 113
    mRotationAngle= new Dynamic1D();
115 114
    mRotationAxis = new Static3D(1,0,0);
......
121 120

  
122 121
    float scale = OBJECT_SCREEN_RATIO*NODE_FBO_SIZE/mSize;
123 122
    mScaleEffect = new MatrixEffectScale(new Static3D(scale,scale,scale));
124
    mQuatCEffect = new MatrixEffectQuaternion(quatCur, CENTER);
125
    mQuatAEffect = new MatrixEffectQuaternion(quatAcc, CENTER);
123
    mQuatEffect  = new MatrixEffectQuaternion(quat, CENTER);
126 124

  
127 125
    MatrixEffectScale nodeScaleEffect = new MatrixEffectScale(mNodeScale);
128 126
    nodeEffects.apply(nodeScaleEffect);
......
163 161
      }
164 162

  
165 163
    mEffects.apply(mRotateEffect);
166
    mEffects.apply(mQuatAEffect);
167
    mEffects.apply(mQuatCEffect);
164
    mEffects.apply(mQuatEffect);
168 165
    mEffects.apply(mScaleEffect);
169 166

  
170 167
    attach( new DistortedNode(mTexture,mEffects,mMesh) );
......
349 346

  
350 347
  public Static4D getRotationQuat()
351 348
      {
352
      return mQuatAccumulated;
349
      return mQuat;
353 350
      }
354 351

  
355 352
///////////////////////////////////////////////////////////////////////////////////////////////////

Also available in: Unified diff