Project

General

Profile

« Previous | Next » 

Revision 8becce57

Added by Leszek Koltunski about 4 years ago

Major progress with Prretty Patterns - hopefully only initializing the Object remains!

View differences:

src/main/java/org/distorted/magic/RubikSurfaceView.java
58 58
    private final Static4D CAMERA_POINT = new Static4D(0, 0, (float)Math.sqrt(3)*0.5f, 0);
59 59

  
60 60
    private RubikRenderer mRenderer;
61
    private RubikPostRender mPostRender;
61 62
    private RubikObjectMovement mMovement;
62 63
    private boolean mDragging, mBeginningRotation, mContinuingRotation;
63 64
    private int mScreenWidth, mScreenHeight, mScreenMin;
......
96 97
      return mRenderer;
97 98
      }
98 99

  
100
///////////////////////////////////////////////////////////////////////////////////////////////////
101

  
102
    RubikPostRender getPostRender()
103
      {
104
      return mPostRender;
105
      }
106

  
99 107
///////////////////////////////////////////////////////////////////////////////////////////////////
100 108

  
101 109
    void setQuatAccumulated()
......
177 185
        if( mMovement!=null && mMovement.faceTouched(rotatedTouchPoint1,rotatedCamera) )
178 186
          {
179 187
          mDragging           = false;
180
          mBeginningRotation  = mRenderer.canRotate();
188
          mBeginningRotation  = mPostRender.canRotate();
181 189
          mContinuingRotation = false;
182 190
          }
183 191
        else
184 192
          {
185
          mDragging           = mRenderer.canDrag();
193
          mDragging           = mPostRender.canDrag();
186 194
          mBeginningRotation  = false;
187 195
          mContinuingRotation = false;
188 196
          }
......
288 296

  
289 297
      if(!isInEditMode())
290 298
        {
291
        mRenderer = new RubikRenderer(this);
299
        mRenderer   = new RubikRenderer(this);
300
        mPostRender = new RubikPostRender(this);
292 301

  
293 302
        final ActivityManager activityManager     = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE);
294 303
        final ConfigurationInfo configurationInfo = activityManager.getDeviceConfigurationInfo();
......
323 332
                                           Static4D rotatedTouchPoint2= rotateVectorByInvertedQuat(touchPoint2, mQuatAccumulated);
324 333

  
325 334
                                           Static2D res = mMovement.newRotation(rotatedTouchPoint2);
326
                                           RubikObject object = mRenderer.getObject();
335
                                           RubikObject object = mPostRender.getObject();
327 336

  
328 337
                                           int axis = (int)res.get0();
329 338
                                           float offset = res.get1();
......
345 354
                                       else if( mContinuingRotation )
346 355
                                         {
347 356
                                         float angle = continueRotation(x-mStartRotX,y-mStartRotY);
348
                                         mRenderer.getObject().continueRotation(SWIPING_SENSITIVITY*angle);
357
                                         mPostRender.getObject().continueRotation(SWIPING_SENSITIVITY*angle);
349 358
                                         }
350 359
                                       else if( mDragging )
351 360
                                         {
352 361
                                         mTempCurrent.set(quatFromDrag(mX-x,y-mY));
353
                                         mRenderer.setQuatCurrentOnNextRender();
362
                                         mPostRender.setQuatCurrentOnNextRender();
354 363

  
355 364
                                         if( (mX-x)*(mX-x) + (mY-y)*(mY-y) > 1.0f/(DIRECTION_SENSITIVITY*DIRECTION_SENSITIVITY) )
356 365
                                           {
......
358 367
                                           mY = y;
359 368
                                           mTempAccumulated.set(quatMultiply(mQuatCurrent, mQuatAccumulated));
360 369
                                           mTempCurrent.set(0f, 0f, 0f, 1f);
361
                                           mRenderer.setQuatCurrentOnNextRender();
362
                                           mRenderer.setQuatAccumulatedOnNextRender();
370
                                           mPostRender.setQuatCurrentOnNextRender();
371
                                           mPostRender.setQuatAccumulatedOnNextRender();
363 372
                                           }
364 373
                                         }
365
                                       else if( mRenderer.canRotate() || mRenderer.canDrag() )
374
                                       else if( mPostRender.canRotate() || mPostRender.canDrag() )
366 375
                                         {
367 376
                                         setUpDragOrRotate(x,y);
368 377
                                         }
......
371 380
                                         {
372 381
                                         mTempAccumulated.set(quatMultiply(mQuatCurrent, mQuatAccumulated));
373 382
                                         mTempCurrent.set(0f, 0f, 0f, 1f);
374
                                         mRenderer.setQuatCurrentOnNextRender();
375
                                         mRenderer.setQuatAccumulatedOnNextRender();
383
                                         mPostRender.setQuatCurrentOnNextRender();
384
                                         mPostRender.setQuatAccumulatedOnNextRender();
376 385
                                         }
377 386

  
378 387
                                       if( mContinuingRotation )
379 388
                                         {
380
                                         mRenderer.finishRotation();
389
                                         mPostRender.finishRotation();
381 390
                                         }
382 391
                                       break;
383 392
         }

Also available in: Unified diff