Project

General

Profile

« Previous | Next » 

Revision e3eab072

Added by Leszek Koltunski over 7 years ago

Simplify Statics.

View differences:

src/main/java/org/distorted/examples/cubes/CubesSurfaceView.java
94 94
         case MotionEvent.ACTION_UP  : mX = -1;
95 95
                                       mY = -1;
96 96
        	                           
97
                                       float qx = mRenderer.mQuat1.getX();
98
                                       float qy = mRenderer.mQuat1.getY();
99
                                       float qz = mRenderer.mQuat1.getZ();
100
                                       float qw = mRenderer.mQuat1.getW();
97
                                       float qx = mRenderer.mQuat1.get1();
98
                                       float qy = mRenderer.mQuat1.get2();
99
                                       float qz = mRenderer.mQuat1.get3();
100
                                       float qw = mRenderer.mQuat1.get4();
101 101

  
102
                                       float rx = mRenderer.mQuat2.getX();
103
                                       float ry = mRenderer.mQuat2.getY();
104
                                       float rz = mRenderer.mQuat2.getZ();
105
                                       float rw = mRenderer.mQuat2.getW();
102
                                       float rx = mRenderer.mQuat2.get1();
103
                                       float ry = mRenderer.mQuat2.get2();
104
                                       float rz = mRenderer.mQuat2.get3();
105
                                       float rw = mRenderer.mQuat2.get4();
106 106

  
107 107
                                       // This is quaternion multiplication. (tx,ty,tz,tw)
108 108
                                       // is now equal to (qx,qy,qz,qw)*(rx,ry,rz,rw)
src/main/java/org/distorted/examples/deform/DeformRenderer.java
264 264
     {
265 265
     switch(mMode)
266 266
       {
267
       case DISTORT: vDistort[0].set(x,y);
267
       case DISTORT: vDistort[0].set(x,y,0);
268 268
                     break;
269
       case DEFORM:  vDeform[0].set(x,y);
269
       case DEFORM:  vDeform[0].set(x,y,0);
270 270
                     break;
271
       case SHEAR:   vShear[0].set( (float)x/(scrWidth/2), (float)y/(scrHeight/2));
271
       case SHEAR:   vShear[0].set( (float)x/(scrWidth/2), (float)y/(scrHeight/2), 0);
272 272
                     break;
273 273
       }
274 274
     }
......
285 285
       {
286 286
       case DISTORT: for(int i=1; i<NUM_VECTORS-1; i++)
287 287
                       {
288
                       vDistort[i].set( vDistort[i-1].getX()*damp, vDistort[i-1].getY()*damp );
288
                       vDistort[i].set( vDistort[i-1].get1()*damp, vDistort[i-1].get2()*damp, 0 );
289 289
                       }
290
                     vDistort[NUM_VECTORS-1].set(0,0);
290
                     vDistort[NUM_VECTORS-1].set(0,0,0);
291 291
                     stretchEffects.apply(mReleasedDistort);
292 292
                     break;
293 293
       case DEFORM : for(int i=1; i<NUM_VECTORS-1; i++)
294 294
                       {
295
                       vDeform[i].set( vDeform[i-1].getX()*damp, vDeform[i-1].getY()*damp );
295
                       vDeform[i].set( vDeform[i-1].get1()*damp, vDeform[i-1].get2()*damp, 0 );
296 296
                       }
297
                     vDeform[NUM_VECTORS-1].set(0,0);
297
                     vDeform[NUM_VECTORS-1].set(0,0,0);
298 298
                     stretchEffects.apply(mReleasedDeform);
299 299
                     break;
300 300
       case SHEAR  : for(int i=1; i<NUM_VECTORS-1; i++)
301 301
                       {
302
                       vShear[i].set( vShear[i-1].getX()*damp, vShear[i-1].getY()*damp );
302
                       vShear[i].set( vShear[i-1].get1()*damp, vShear[i-1].get2()*damp, 0 );
303 303
                       }
304
                     vShear[NUM_VECTORS-1].set(0,0);
304
                     vShear[NUM_VECTORS-1].set(0,0,0);
305 305
                     stretchEffects.apply(mReleasedShear);
306 306
                     break;
307 307
       }
src/main/java/org/distorted/examples/dynamic/DynamicSurfaceView.java
259 259
      for(int curr=0; curr<len; curr++)
260 260
        {      
261 261
        p1D = di1D.getPoint(curr);
262
        c.drawCircle(p1D.getX(), DynamicRenderer.texH/2 , mSize2, mPaint);
262
        c.drawCircle(p1D.get1(), DynamicRenderer.texH/2 , mSize2, mPaint);
263 263
        }   
264 264
      }
265 265
    
......
295 295
      for(int curr=0; curr<len; curr++)
296 296
        {      
297 297
        p2D = di2D.getPoint(curr);
298
        c.drawCircle(p2D.getX(),p2D.getY(), mSize2, mPaint);
298
        c.drawCircle(p2D.get1(),p2D.get2(), mSize2, mPaint);
299 299
        }
300 300
      }
301 301

  
......
331 331
      for(int curr=0; curr<len; curr++)
332 332
        {      
333 333
        p3D = di3D.getPoint(curr);
334
        c.drawCircle(p3D.getX(), currentDim==DIM_3DXY ? p3D.getY():p3D.getZ(), mSize2, mPaint);
334
        c.drawCircle(p3D.get1(), currentDim==DIM_3DXY ? p3D.get2():p3D.get3(), mSize2, mPaint);
335 335
        }   
336 336
      }
337 337
    
......
349 349
                     for(int g=0; g<len; g++)
350 350
                       {
351 351
                       p1D = di1D.getPoint(g);  
352
                       gx = p1D.getX();
352
                       gx = p1D.get1();
353 353
                                    
354 354
                       if( (x-gx)*(x-gx) < (mAvg*mAvg/100) )
355 355
                         {
......
375 375
                     for(int g=0; g<len; g++)
376 376
                       {
377 377
                       p2D = di2D.getPoint(g);  
378
                       gx = p2D.getX();
379
                       gy = p2D.getY();
378
                       gx = p2D.get1();
379
                       gy = p2D.get2();
380 380
                                    
381 381
                       if( (x-gx)*(x-gx) + (y-gy)*(y-gy) < (mAvg*mAvg/100) )
382 382
                         {
......
402 402
                     for(int g=0; g<len; g++)
403 403
                       {
404 404
                       p3D = di3D.getPoint(g);  
405
                       gx = p3D.getX();
406
                       gy = p3D.getY();
407
                       gz = p3D.getZ();
405
                       gx = p3D.get1();
406
                       gy = p3D.get2();
407
                       gz = p3D.get3();
408 408
                               
409 409
                     if( currentDim==DIM_3DXY )
410 410
                       {
......
473 473
                                                         break;
474 474
                                          case DIM_2D  : di2D.setPoint(moving, xDown, yDown);
475 475
                                                         break;
476
                                          case DIM_3DXY: di3D.setPoint(moving, xDown, yDown, (int)di3D.getPoint(moving).getZ());
476
                                          case DIM_3DXY: di3D.setPoint(moving, xDown, yDown, (int)di3D.getPoint(moving).get3());
477 477
                                                         break;
478
                                          case DIM_3DXZ: di3D.setPoint(moving, xDown, (int)di3D.getPoint(moving).getY(), yDown);
478
                                          case DIM_3DXZ: di3D.setPoint(moving, xDown, (int)di3D.getPoint(moving).get2(), yDown);
479 479
                                                         break;
480 480
                                          }
481 481
                                        }                           
src/main/java/org/distorted/examples/effects3d/Effects3DEffect.java
240 240

  
241 241
    if( mSta1 !=null )
242 242
      {
243
      float f1 = ((int)(mSta1.getX()*100))/100.0f;
243
      float f1 = ((int)(mSta1.get1()*100))/100.0f;
244 244
      text += " "+f1;
245 245
      }
246 246

  
247 247
    if( mSta2 !=null )
248 248
      {
249
      float f1 = ((int)(mSta2.getX()*100))/100.0f;
250
      float f2 = ((int)(mSta2.getY()*100))/100.0f;
249
      float f1 = ((int)(mSta2.get1()*100))/100.0f;
250
      float f2 = ((int)(mSta2.get2()*100))/100.0f;
251 251
      text += " ("+f1+","+f2+")";
252 252
      }
253 253

  
254 254
    if( mSta3 !=null )
255 255
      {
256
      float f1 = ((int)(mSta3.getX()*100))/100.0f;
257
      float f2 = ((int)(mSta3.getY()*100))/100.0f;
258
      float f3 = ((int)(mSta3.getZ()*100))/100.0f;
256
      float f1 = ((int)(mSta3.get1()*100))/100.0f;
257
      float f2 = ((int)(mSta3.get2()*100))/100.0f;
258
      float f3 = ((int)(mSta3.get3()*100))/100.0f;
259 259
      text += " ("+f1+","+f2+","+f3+")";
260 260
      }
261 261

  
262 262
    if( mSta4 !=null )
263 263
      {
264
      float f1 = ((int)(mSta4.getX()*100))/100.0f;
265
      float f2 = ((int)(mSta4.getY()*100))/100.0f;
266
      float f3 = ((int)(mSta4.getZ()*100))/100.0f;
267
      float f4 = ((int)(mSta4.getW()*100))/100.0f;
264
      float f1 = ((int)(mSta4.get1()*100))/100.0f;
265
      float f2 = ((int)(mSta4.get2()*100))/100.0f;
266
      float f3 = ((int)(mSta4.get3()*100))/100.0f;
267
      float f4 = ((int)(mSta4.get4()*100))/100.0f;
268 268
      text += " ("+f1+","+f2+","+f3+","+f4+")";
269 269
      }
270 270

  
271 271
    if( mSta5 !=null )
272 272
      {
273
      float f1 = ((int)(mSta5.getX()*100))/100.0f;
274
      float f2 = ((int)(mSta5.getY()*100))/100.0f;
275
      float f3 = ((int)(mSta5.getZ()*100))/100.0f;
276
      float f4 = ((int)(mSta5.getW()*100))/100.0f;
277
      float f5 = ((int)(mSta5.getV()*100))/100.0f;
273
      float f1 = ((int)(mSta5.get1()*100))/100.0f;
274
      float f2 = ((int)(mSta5.get2()*100))/100.0f;
275
      float f3 = ((int)(mSta5.get3()*100))/100.0f;
276
      float f4 = ((int)(mSta5.get4()*100))/100.0f;
277
      float f5 = ((int)(mSta5.get5()*100))/100.0f;
278 278
      text += " ("+f1+","+f2+","+f3+","+f4+","+f5+")";
279 279
      }
280 280

  
......
307 307

  
308 308
  private void setCenterText()
309 309
    {
310
    int f0 = (int)mCenterSta.getX();
311
    int f1 = (int)mCenterSta.getY();
312
    int f2 = (int)mCenterSta.getZ();
310
    int f0 = (int)mCenterSta.get1();
311
    int f1 = (int)mCenterSta.get2();
312
    int f2 = (int)mCenterSta.get3();
313 313

  
314 314
    mTextCenter.setText("center ("+f0+","+f1+","+f2+")");
315 315
    }
......
347 347

  
348 348
  private void setRegionText()
349 349
    {
350
    int f0 = (int)mRegionSta.getX();
351
    int f1 = (int)mRegionSta.getY();
352
    int f2 = (int)mRegionSta.getZ();
353
    int f3 = (int)mRegionSta.getW();
350
    int f0 = (int)mRegionSta.get1();
351
    int f1 = (int)mRegionSta.get2();
352
    int f2 = (int)mRegionSta.get3();
353
    int f3 = (int)mRegionSta.get4();
354 354

  
355 355
    mTextRegion.setText("region ("+f0+","+f1+","+f2+","+f3+")");
356 356
    }
......
541 541
      seek[i].setProgress( mInterRegion[i] );
542 542
      }
543 543

  
544
    act.setRegion(mRegionSta.getX(),mRegionSta.getY(),mRegionSta.getZ());
544
    act.setRegion(mRegionSta.get1(),mRegionSta.get2(),mRegionSta.get3());
545 545

  
546 546
    return mRegion;
547 547
    }
......
574 574
      seek[i].setProgress( mInterCenter[i] );
575 575
      }
576 576

  
577
    act.setCenter(mCenterSta.getX(),mCenterSta.getY(),mCenterSta.getZ());
577
    act.setCenter(mCenterSta.get1(),mCenterSta.get2(),mCenterSta.get3());
578 578

  
579 579
    return mCenter;
580 580
    }
......
671 671

  
672 672
      act.setSupportsCenter(mName.supportsCenter());
673 673
      act.setSupportsRegion(mName.supportsRegion());
674
      act.setCenter(mCenterSta.getX(),mCenterSta.getY(),mCenterSta.getZ());
675
      act.setRegion(mRegionSta.getX(),mRegionSta.getY(),mRegionSta.getZ());
674
      act.setCenter(mCenterSta.get1(),mCenterSta.get2(),mCenterSta.get3());
675
      act.setRegion(mRegionSta.get1(),mRegionSta.get2(),mRegionSta.get3());
676 676
      }
677 677
    }
678 678

  
src/main/java/org/distorted/examples/effects3d/Effects3DSurfaceView.java
95 95
      case MotionEvent.ACTION_UP  : mX = -1;
96 96
                                    mY = -1;
97 97

  
98
                                    float qx = mRenderer.mQuat1.getX();
99
                                    float qy = mRenderer.mQuat1.getY();
100
                                    float qz = mRenderer.mQuat1.getZ();
101
                                    float qw = mRenderer.mQuat1.getW();
102

  
103
                                    float rx = mRenderer.mQuat2.getX();
104
                                    float ry = mRenderer.mQuat2.getY();
105
                                    float rz = mRenderer.mQuat2.getZ();
106
                                    float rw = mRenderer.mQuat2.getW();
98
                                    float qx = mRenderer.mQuat1.get1();
99
                                    float qy = mRenderer.mQuat1.get2();
100
                                    float qz = mRenderer.mQuat1.get3();
101
                                    float qw = mRenderer.mQuat1.get4();
102

  
103
                                    float rx = mRenderer.mQuat2.get1();
104
                                    float ry = mRenderer.mQuat2.get2();
105
                                    float rz = mRenderer.mQuat2.get3();
106
                                    float rw = mRenderer.mQuat2.get4();
107 107

  
108 108
                                    float tx = rw*qx - rz*qy + ry*qz + rx*qw;
109 109
                                    float ty = rw*qy + rz*qx + ry*qw - rx*qz;
src/main/java/org/distorted/examples/flag/FlagActivity.java
83 83
      barNoiseAngleA.setOnSeekBarChangeListener(this);
84 84
      barNoiseAngleB.setOnSeekBarChangeListener(this);
85 85

  
86
      barNoiseAmplitude.setProgress( (int)mNoise.getX() );
87
      barNoiseLength.setProgress   ( (int)mNoise.getY() );
88
      barNoiseAngleA.setProgress   ( (int)mNoise.getW() );
89
      barNoiseAngleB.setProgress   ( (int)mNoise.getV() );
86
      barNoiseAmplitude.setProgress( (int)mNoise.get1() );
87
      barNoiseLength.setProgress   ( (int)mNoise.get2() );
88
      barNoiseAngleA.setProgress   ( (int)mNoise.get4() );
89
      barNoiseAngleB.setProgress   ( (int)mNoise.get5() );
90 90

  
91 91
      textNoiseAmplitude.setText(getString(R.string.noise_placeholder,"0.00"));
92 92
      textNoiseLength.setText(getString(R.string.noise_placeholder,"0.00"));
src/main/java/org/distorted/examples/flag/FlagSurfaceView.java
97 97
         case MotionEvent.ACTION_UP  : mX = -1;
98 98
                                       mY = -1;
99 99
        	                           
100
                                       float qx = mRenderer.mQuat1.getX();
101
                                       float qy = mRenderer.mQuat1.getY();
102
                                       float qz = mRenderer.mQuat1.getZ();
103
                                       float qw = mRenderer.mQuat1.getW();
100
                                       float qx = mRenderer.mQuat1.get1();
101
                                       float qy = mRenderer.mQuat1.get2();
102
                                       float qz = mRenderer.mQuat1.get3();
103
                                       float qw = mRenderer.mQuat1.get4();
104 104

  
105
                                       float rx = mRenderer.mQuat2.getX();
106
                                       float ry = mRenderer.mQuat2.getY();
107
                                       float rz = mRenderer.mQuat2.getZ();
108
                                       float rw = mRenderer.mQuat2.getW();
105
                                       float rx = mRenderer.mQuat2.get1();
106
                                       float ry = mRenderer.mQuat2.get2();
107
                                       float rz = mRenderer.mQuat2.get3();
108
                                       float rw = mRenderer.mQuat2.get4();
109 109

  
110 110
                                       // This is quaternion multiplication. (tx.ty.tz.tw)
111 111
                                       // is now equal to (qx,qy,qz,qw)*(rx,ry,rz,rw)
src/main/java/org/distorted/examples/matrix3d/Matrix3DEffect.java
249 249

  
250 250
    if( mSta1 !=null )
251 251
      {
252
      float f1 = ((int)(mSta1.getX()*100))/100.0f;
252
      float f1 = ((int)(mSta1.get1()*100))/100.0f;
253 253
      text += " "+f1;
254 254
      }
255 255

  
256 256
    if( mSta2 !=null )
257 257
      {
258
      float f1 = ((int)(mSta2.getX()*100))/100.0f;
259
      float f2 = ((int)(mSta2.getY()*100))/100.0f;
258
      float f1 = ((int)(mSta2.get1()*100))/100.0f;
259
      float f2 = ((int)(mSta2.get2()*100))/100.0f;
260 260
      text += " ("+f1+","+f2+")";
261 261
      }
262 262

  
263 263
    if( mSta3 !=null )
264 264
      {
265
      float f1 = ((int)(mSta3.getX()*100))/100.0f;
266
      float f2 = ((int)(mSta3.getY()*100))/100.0f;
267
      float f3 = ((int)(mSta3.getZ()*100))/100.0f;
265
      float f1 = ((int)(mSta3.get1()*100))/100.0f;
266
      float f2 = ((int)(mSta3.get2()*100))/100.0f;
267
      float f3 = ((int)(mSta3.get3()*100))/100.0f;
268 268
      text += " ("+f1+","+f2+","+f3+")";
269 269
      }
270 270

  
271 271
    if( mSta4 !=null )
272 272
      {
273
      float f1 = ((int)(mSta4.getX()*100))/100.0f;
274
      float f2 = ((int)(mSta4.getY()*100))/100.0f;
275
      float f3 = ((int)(mSta4.getZ()*100))/100.0f;
276
      float f4 = ((int)(mSta4.getW()*100))/100.0f;
273
      float f1 = ((int)(mSta4.get1()*100))/100.0f;
274
      float f2 = ((int)(mSta4.get2()*100))/100.0f;
275
      float f3 = ((int)(mSta4.get3()*100))/100.0f;
276
      float f4 = ((int)(mSta4.get4()*100))/100.0f;
277 277
      text += " ("+f1+","+f2+","+f3+","+f4+")";
278 278
      }
279 279

  
280 280
    if( mSta5 !=null )
281 281
      {
282
      float f1 = ((int)(mSta5.getX()*100))/100.0f;
283
      float f2 = ((int)(mSta5.getY()*100))/100.0f;
284
      float f3 = ((int)(mSta5.getZ()*100))/100.0f;
285
      float f4 = ((int)(mSta5.getW()*100))/100.0f;
286
      float f5 = ((int)(mSta5.getV()*100))/100.0f;
282
      float f1 = ((int)(mSta5.get1()*100))/100.0f;
283
      float f2 = ((int)(mSta5.get2()*100))/100.0f;
284
      float f3 = ((int)(mSta5.get3()*100))/100.0f;
285
      float f4 = ((int)(mSta5.get4()*100))/100.0f;
286
      float f5 = ((int)(mSta5.get5()*100))/100.0f;
287 287
      text += " ("+f1+","+f2+","+f3+","+f4+","+f5+")";
288 288
      }
289 289

  
......
316 316

  
317 317
  private void setCenterText()
318 318
    {
319
    int f0 = (int)mCenterSta.getX();
320
    int f1 = (int)mCenterSta.getY();
321
    int f2 = (int)mCenterSta.getZ();
319
    int f0 = (int)mCenterSta.get1();
320
    int f1 = (int)mCenterSta.get2();
321
    int f2 = (int)mCenterSta.get3();
322 322

  
323 323
    mTextCenter.setText("center ("+f0+","+f1+","+f2+")");
324 324
    }
......
356 356

  
357 357
  private void setRegionText()
358 358
    {
359
    int f0 = (int)mRegionSta.getX();
360
    int f1 = (int)mRegionSta.getY();
361
    int f2 = (int)mRegionSta.getZ();
362
    int f3 = (int)mRegionSta.getW();
359
    int f0 = (int)mRegionSta.get1();
360
    int f1 = (int)mRegionSta.get2();
361
    int f2 = (int)mRegionSta.get3();
362
    int f3 = (int)mRegionSta.get4();
363 363

  
364 364
    mTextRegion.setText("region ("+f0+","+f1+","+f2+","+f3+")");
365 365
    }
......
550 550
      seek[i].setProgress( mInterRegion[i] );
551 551
      }
552 552

  
553
    act.setRegion(mRegionSta.getX(),mRegionSta.getY(),mRegionSta.getZ());
553
    act.setRegion(mRegionSta.get1(),mRegionSta.get2(),mRegionSta.get3());
554 554

  
555 555
    return mRegion;
556 556
    }
......
583 583
      seek[i].setProgress( mInterCenter[i] );
584 584
      }
585 585

  
586
    act.setCenter(mCenterSta.getX(),mCenterSta.getY(),mCenterSta.getZ());
586
    act.setCenter(mCenterSta.get1(),mCenterSta.get2(),mCenterSta.get3());
587 587

  
588 588
    return mCenter;
589 589
    }
......
674 674

  
675 675
      Matrix3DActivity act = mAct.get();
676 676

  
677
      act.setCenter(mCenterSta.getX(),mCenterSta.getY(),mCenterSta.getZ());
678
      act.setRegion(mRegionSta.getX(),mRegionSta.getY(),mRegionSta.getZ());
677
      act.setCenter(mCenterSta.get1(),mCenterSta.get2(),mCenterSta.get3());
678
      act.setRegion(mRegionSta.get1(),mRegionSta.get2(),mRegionSta.get3());
679 679
      }
680 680
    }
681 681

  
src/main/java/org/distorted/examples/movingeffects/MovingEffectsSurfaceView.java
259 259
        for(int curr=0; curr<len; curr++)
260 260
          {       
261 261
          cu = mCenterVertex.getPoint(curr);
262
          c.drawCircle(cu.getX(), cu.getY(), mSize2, mPaint);
262
          c.drawCircle(cu.get1(), cu.get2(), mSize2, mPaint);
263 263
          }
264 264
        
265 265
        if( time-mTime > LOOP_TIME ) mTime = time;
......
280 280
                                      yDown = (int)event.getY();
281 281
                                    
282 282
                                      float gx, gy;
283
                                      Static2D dv;
283
                                      Static3D dv;
284 284
                                      int len = mCenterVertex.getNumPoints();
285 285
                                 
286 286
                                      for(int g=0; g<len; g++)
287 287
                                        {
288 288
                                        dv = mCenterVertex.getPoint(g);
289
                                        gx = dv.getX();
290
                                        gy = dv.getY();
289
                                        gx = dv.get1();
290
                                        gy = dv.get2();
291 291

  
292
                                        float Z = mDistort.getZ()/10;
292
                                        float Z = mDistort.get3()/10;
293 293

  
294 294
                                        if( (xDown-gx)*(xDown-gx) + (yDown-gy)*(yDown-gy) < Z*Z )
295 295
                                          {
src/main/java/org/distorted/examples/multiblur/MultiblurSurfaceView.java
101 101
         case MotionEvent.ACTION_UP  : mX = -1;
102 102
                                       mY = -1;
103 103
        	                           
104
                                       float qx = mRenderer.mQuat1.getX();
105
                                       float qy = mRenderer.mQuat1.getY();
106
                                       float qz = mRenderer.mQuat1.getZ();
107
                                       float qw = mRenderer.mQuat1.getW();
104
                                       float qx = mRenderer.mQuat1.get1();
105
                                       float qy = mRenderer.mQuat1.get2();
106
                                       float qz = mRenderer.mQuat1.get3();
107
                                       float qw = mRenderer.mQuat1.get4();
108 108

  
109
                                       float rx = mRenderer.mQuat2.getX();
110
                                       float ry = mRenderer.mQuat2.getY();
111
                                       float rz = mRenderer.mQuat2.getZ();
112
                                       float rw = mRenderer.mQuat2.getW();
109
                                       float rx = mRenderer.mQuat2.get1();
110
                                       float ry = mRenderer.mQuat2.get2();
111
                                       float rz = mRenderer.mQuat2.get3();
112
                                       float rw = mRenderer.mQuat2.get4();
113 113

  
114 114
                                       // This is quaternion multiplication. (tx,ty,tz,tw)
115 115
                                       // is now equal to (qx,qy,qz,qw)*(rx,ry,rz,rw)

Also available in: Unified diff