Project

General

Profile

« Previous | Next » 

Revision 45686da2

Added by Leszek Koltunski over 4 years ago

RubikCube: remove all awareness of rotations from RubikRenderer.

View differences:

src/main/java/org/distorted/magic/RubikSurfaceView.java
59 59
    private int mScreenWidth, mScreenHeight, mScreenMin;
60 60
    private float mCameraDistance;
61 61

  
62
    private static Static4D mQuatCurrent    =new Static4D(0,0,0,1);
63
    private static Static4D mQuatAccumulated=new Static4D(-0.25189602f,0.3546389f,0.009657208f,0.90038127f);
62
    private static Static4D mQuatCurrent    = new Static4D(0,0,0,1);
63
    private static Static4D mQuatAccumulated= new Static4D(-0.25189602f,0.3546389f,0.009657208f,0.90038127f);
64
    private static Static4D mTempCurrent    = new Static4D(0,0,0,1);
65
    private static Static4D mTempAccumulated= new Static4D(0,0,0,1);
64 66

  
65 67
///////////////////////////////////////////////////////////////////////////////////////////////////
66 68

  
......
81 83
        mScreenWidth = mScreenHeight = mScreenMin = 0;
82 84

  
83 85
        mRenderer = new RubikRenderer(this);
84
        mRenderer.setQuatAccumulated(mQuatAccumulated);
85 86

  
86 87
        final ActivityManager activityManager     = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE);
87 88
        final ConfigurationInfo configurationInfo = activityManager.getDeviceConfigurationInfo();
......
120 121
                                       break;
121 122
         case MotionEvent.ACTION_MOVE: if( mDragging )
122 123
                                         {
123
                                         mQuatCurrent.set(quatFromDrag(mX-x,mY-y));
124
                                         mRenderer.setQuatCurrent(mQuatCurrent);
124
                                         mTempCurrent.set(quatFromDrag(mX-x,mY-y));
125
                                         mRenderer.setQuatCurrentOnNextRender();
125 126
                                         }
126 127
                                       if( mBeginningRotation )
127 128
                                         {
......
141 142
                                       break;
142 143
         case MotionEvent.ACTION_UP  : if( mDragging )
143 144
                                         {
144
                                         mQuatAccumulated.set(quatMultiply(mQuatCurrent, mQuatAccumulated));
145
                                         mQuatCurrent.set(0f, 0f, 0f, 1f);
146
                                         mRenderer.setQuatCurrent(mQuatCurrent);
147
                                         mRenderer.setQuatAccumulated(mQuatAccumulated);
145
                                         mTempAccumulated.set(quatMultiply(mQuatCurrent, mQuatAccumulated));
146
                                         mTempCurrent.set(0f, 0f, 0f, 1f);
147
                                         mRenderer.setQuatCurrentOnNextRender();
148
                                         mRenderer.setQuatAccumulatedOnNextRender();
148 149
                                         }
149 150

  
150 151
                                       if( mContinuingRotation )
......
158 159
      return true;
159 160
      }
160 161

  
162
///////////////////////////////////////////////////////////////////////////////////////////////////
163

  
164
    void setQuatAccumulated()
165
      {
166
      mQuatAccumulated.set(mTempAccumulated);
167
      }
168

  
169
///////////////////////////////////////////////////////////////////////////////////////////////////
170

  
171
    void setQuatCurrent()
172
      {
173
      mQuatCurrent.set(mTempCurrent);
174
      }
175

  
176
///////////////////////////////////////////////////////////////////////////////////////////////////
177

  
178
    Static4D getQuatAccumulated()
179
      {
180
      return mQuatAccumulated;
181
      }
182

  
183
///////////////////////////////////////////////////////////////////////////////////////////////////
184

  
185
    Static4D getQuatCurrent()
186
      {
187
      return mQuatCurrent;
188
      }
189

  
161 190
///////////////////////////////////////////////////////////////////////////////////////////////////
162 191

  
163 192
    RubikRenderer getRenderer()

Also available in: Unified diff