Project

General

Profile

« Previous | Next » 

Revision 03ad46a9

Added by Leszek Koltunski over 2 years ago

Progress standarising stickering.

View differences:

src/main/java/org/distorted/objectlib/objects/TwistyBandagedAbstract.java
286 286
    return 0;
287 287
    }
288 288

  
289
///////////////////////////////////////////////////////////////////////////////////////////////////
290

  
291
  public ObjectSticker retSticker(int sticker)
292
    {
293
    if( mStickers==null )
294
      {
295
      int numStickers = mStickerCoords.length;
296
      mStickers = new ObjectSticker[numStickers];
297

  
298
      for(int s=0; s<numStickers; s++)
299
        {
300
        float scale = mStickerScales[s];
301
        float radius = 0.10f / scale;
302
        float stroke = 0.08f / scale;
303
        float[] radii = new float[] {radius,radius,radius,radius};
304
        if( ObjectControl.isInIconMode() ) stroke*=2.0f;
305
        mStickers[s] = new ObjectSticker(mStickerCoords[s],null,radii,stroke);
306
        }
307
      }
308

  
309
    return mStickers[sticker];
310
    }
311

  
312 289
///////////////////////////////////////////////////////////////////////////////////////////////////
313 290

  
314 291
  public float[][] getCubitPositions(int[] numLayers)
......
409 386
    return 6;
410 387
    }
411 388

  
412
///////////////////////////////////////////////////////////////////////////////////////////////////
413

  
414
  public int getVariantFaceColor(int variant, int face, int[] numLayers)
415
    {
416
    return face>=mStickerVariants[variant].length ? -1 : mStickerVariants[variant][face];
417
    }
418

  
419 389
///////////////////////////////////////////////////////////////////////////////////////////////////
420 390

  
421 391
  public int getCubitFaceColor(int cubit, int cubitface, int[] numLayers)
......
460 430
    return reaches ? face : -1;
461 431
    }
462 432

  
433
///////////////////////////////////////////////////////////////////////////////////////////////////
434

  
435
  public int getVariantFaceColor(int variant, int face, int[] numLayers)
436
    {
437
    return face>=mStickerVariants[variant].length ? -1 : mStickerVariants[variant][face];
438
    }
439

  
440
///////////////////////////////////////////////////////////////////////////////////////////////////
441

  
442
  public ObjectSticker retSticker(int sticker)
443
    {
444
    if( mStickers==null )
445
      {
446
      int numStickers = mStickerCoords.length;
447
      mStickers = new ObjectSticker[numStickers];
448

  
449
      for(int s=0; s<numStickers; s++)
450
        {
451
        float scale = mStickerScales[s];
452
        float radius = 0.10f / scale;
453
        float stroke = 0.08f / scale;
454
        float[] radii = new float[] {radius,radius,radius,radius};
455
        if( ObjectControl.isInIconMode() ) stroke*=2.0f;
456
        mStickers[s] = new ObjectSticker(mStickerCoords[s],null,radii,stroke);
457
        }
458
      }
459

  
460
    return mStickers[sticker];
461
    }
462

  
463 463
///////////////////////////////////////////////////////////////////////////////////////////////////
464 464
// PUBLIC API
465 465

  
src/main/java/org/distorted/objectlib/objects/TwistyCuboid.java
518 518
    return 2;
519 519
    }
520 520

  
521
///////////////////////////////////////////////////////////////////////////////////////////////////
522

  
523
  public int getVariantFaceColor(int variant, int face, int[] numLayers)
524
    {
525
    return face>=mStickerVariants[variant].length ? -1 : mStickerVariants[variant][face];
526
    }
527

  
528
///////////////////////////////////////////////////////////////////////////////////////////////////
529

  
530
  public int getCubitFaceColor(int cubit, int face, int[] numLayers)
531
    {
532
    int variant = getCubitVariant(cubit,numLayers);
533

  
534
    switch(variant)
535
      {
536
      case 0: int axis = face/2;
537
              return CUBITS[cubit].getRotRow(axis) == (face%2==0 ? (1<<(numLayers[axis]-1)):1) ? face : -1;
538
      case 1: if( face!=3 && face !=5 ) return -1;
539
              int edge = getEdgeNum(cubit,numLayers);
540

  
541
              switch(edge)
542
                {
543
                case  0: return face==3 ? 3 : 5;
544
                case  1: return face==3 ? 4 : 3;
545
                case  2: return face==3 ? 5 : 2;
546
                case  3: return face==3 ? 2 : 4;
547
                case  4: return face==3 ? 5 : 1;
548
                case  5: return face==3 ? 1 : 4;
549
                case  6: return face==3 ? 5 : 0;
550
                case  7: return face==3 ? 0 : 4;
551
                case  8: return face==3 ? 1 : 3;
552
                case  9: return face==3 ? 2 : 1;
553
                case 10: return face==3 ? 0 : 3;
554
                case 11: return face==3 ? 2 : 0;
555
                default: return 0;
556
                }
557

  
558
      case 2: return face==4 ? getCenterNum(cubit,numLayers) : -1;
559
      }
560

  
561
    return -1;
562
    }
563

  
564
///////////////////////////////////////////////////////////////////////////////////////////////////
565

  
566
  public ObjectSticker retSticker(int sticker)
567
    {
568
    if( mStickers==null )
569
      {
570
      int numStickers = mStickerCoords.length;
571
      mStickers = new ObjectSticker[numStickers];
572

  
573
      for(int s=0; s<numStickers; s++)
574
        {
575
        float scale = mStickerScales[s];
576
        float radius = 0.10f / scale;
577
        float stroke = 0.08f / scale;
578
        float[] radii = new float[] {radius,radius,radius,radius};
579

  
580
        if( ObjectControl.isInIconMode() )
581
          {
582
          int[] numLayers = getNumLayers();
583

  
584
          switch(numLayers[0])
585
            {
586
            case 2: stroke*=1.8f; break;
587
            case 3: stroke*=2.0f; break;
588
            case 4: stroke*=2.1f; break;
589
            default:stroke*=2.2f; break;
590
            }
591
          }
592

  
593
        mStickers[s] = new ObjectSticker(mStickerCoords[s],null,radii,stroke);
594
        }
595
      }
596

  
597
    return mStickers[sticker];
598
    }
599

  
600 521
///////////////////////////////////////////////////////////////////////////////////////////////////
601 522

  
602 523
  public Static4D[] getQuats()
......
700 621
    return 6;
701 622
    }
702 623

  
624
///////////////////////////////////////////////////////////////////////////////////////////////////
625

  
626
  public int getCubitFaceColor(int cubit, int face, int[] numLayers)
627
    {
628
    int variant = getCubitVariant(cubit,numLayers);
629

  
630
    switch(variant)
631
      {
632
      case 0: int axis = face/2;
633
              return CUBITS[cubit].getRotRow(axis) == (face%2==0 ? (1<<(numLayers[axis]-1)):1) ? face : -1;
634
      case 1: if( face!=3 && face !=5 ) return -1;
635
              int edge = getEdgeNum(cubit,numLayers);
636

  
637
              switch(edge)
638
                {
639
                case  0: return face==3 ? 3 : 5;
640
                case  1: return face==3 ? 4 : 3;
641
                case  2: return face==3 ? 5 : 2;
642
                case  3: return face==3 ? 2 : 4;
643
                case  4: return face==3 ? 5 : 1;
644
                case  5: return face==3 ? 1 : 4;
645
                case  6: return face==3 ? 5 : 0;
646
                case  7: return face==3 ? 0 : 4;
647
                case  8: return face==3 ? 1 : 3;
648
                case  9: return face==3 ? 2 : 1;
649
                case 10: return face==3 ? 0 : 3;
650
                case 11: return face==3 ? 2 : 0;
651
                default: return 0;
652
                }
653

  
654
      case 2: return face==4 ? getCenterNum(cubit,numLayers) : -1;
655
      }
656

  
657
    return -1;
658
    }
659

  
660
///////////////////////////////////////////////////////////////////////////////////////////////////
661

  
662
  public int getVariantFaceColor(int variant, int face, int[] numLayers)
663
    {
664
    return face>=mStickerVariants[variant].length ? -1 : mStickerVariants[variant][face];
665
    }
666

  
667
///////////////////////////////////////////////////////////////////////////////////////////////////
668

  
669
  public ObjectSticker retSticker(int sticker)
670
    {
671
    if( mStickers==null )
672
      {
673
      int numStickers = mStickerCoords.length;
674
      mStickers = new ObjectSticker[numStickers];
675

  
676
      for(int s=0; s<numStickers; s++)
677
        {
678
        float scale = mStickerScales[s];
679
        float radius = 0.10f / scale;
680
        float stroke = 0.08f / scale;
681
        float[] radii = new float[] {radius,radius,radius,radius};
682

  
683
        if( ObjectControl.isInIconMode() )
684
          {
685
          int[] numLayers = getNumLayers();
686

  
687
          switch(numLayers[0])
688
            {
689
            case 2: stroke*=1.8f; break;
690
            case 3: stroke*=2.0f; break;
691
            case 4: stroke*=2.1f; break;
692
            default:stroke*=2.2f; break;
693
            }
694
          }
695

  
696
        mStickers[s] = new ObjectSticker(mStickerCoords[s],null,radii,stroke);
697
        }
698
      }
699

  
700
    return mStickers[sticker];
701
    }
702

  
703 703
///////////////////////////////////////////////////////////////////////////////////////////////////
704 704
// PUBLIC API
705 705

  
src/main/java/org/distorted/objectlib/objects/TwistyDiamond.java
464 464
    return cubit<getNumOctahedrons(numLayers[0]) ? 0 : 1;
465 465
    }
466 466

  
467
///////////////////////////////////////////////////////////////////////////////////////////////////
468

  
469
  public int getVariantFaceColor(int variant, int face, int[] numLayers)
470
    {
471
    return face>=mStickerVariants[variant].length ? -1 : mStickerVariants[variant][face];
472
    }
473

  
474 467
///////////////////////////////////////////////////////////////////////////////////////////////////
475 468

  
476 469
  public int getCubitFaceColor(int cubit, int face, int[] numLayers)
......
503 496
      }
504 497
    }
505 498

  
499
///////////////////////////////////////////////////////////////////////////////////////////////////
500

  
501
  public int getVariantFaceColor(int variant, int face, int[] numLayers)
502
    {
503
    return face>=mStickerVariants[variant].length ? -1 : mStickerVariants[variant][face];
504
    }
505

  
506 506
///////////////////////////////////////////////////////////////////////////////////////////////////
507 507

  
508 508
  public ObjectSticker retSticker(int sticker)
src/main/java/org/distorted/objectlib/objects/TwistyDino.java
224 224

  
225 225
  public int getVariantFaceColor(int variant, int face, int[] numLayers)
226 226
    {
227
    return 0;
227
    return face>=mStickerVariants[variant].length ? -1 : mStickerVariants[variant][face];
228 228
    }
229 229

  
230 230
///////////////////////////////////////////////////////////////////////////////////////////////////
......
233 233
    {
234 234
    if( mStickers==null )
235 235
      {
236
      float[][] STICKERS = new float[][] { { 0.0f, -1.0f/3, 0.5f, 1.0f/6, -0.5f, 1.0f/6 } };
237
      float radius = 0.025f;
238
      float stroke = 0.050f;
239
      float[] radii = new float[] {radius,radius,radius};
236
      int numStickers = mStickerCoords.length;
237
      mStickers = new ObjectSticker[numStickers];
240 238

  
241
      if( ObjectControl.isInIconMode() )
239
      for(int s=0; s<numStickers; s++)
242 240
        {
243
        stroke*=1.5f;
244
        }
241
        float scale = mStickerScales[s];
242
        float radius = 0.07f / scale;
243
        float stroke = 0.15f / scale;
244
        float[] radii = new float[] {radius,radius,radius};
245 245

  
246
      mStickers     = new ObjectSticker[STICKERS.length];
247
      mStickers[0]  = new ObjectSticker(STICKERS[0],null,radii,stroke);
246
        if( ObjectControl.isInIconMode() ) stroke*=1.5f;
247

  
248
        mStickers[s] = new ObjectSticker(mStickerCoords[s],null,radii,stroke);
249
        }
248 250
      }
249 251

  
250 252
    return mStickers[sticker];
src/main/java/org/distorted/objectlib/objects/TwistyHelicopter.java
360 360
    return cubit<8 ? 0:1;
361 361
    }
362 362

  
363
///////////////////////////////////////////////////////////////////////////////////////////////////
364

  
365
  public int getVariantFaceColor(int variant, int face, int[] numLayers)
366
    {
367
    return 0;
368
    }
369

  
370 363
///////////////////////////////////////////////////////////////////////////////////////////////////
371 364

  
372 365
  public int getCubitFaceColor(int cubit, int face, int[] numLayers)
......
419 412
    return mFaceMap[cubit][face];
420 413
    }
421 414

  
415
///////////////////////////////////////////////////////////////////////////////////////////////////
416

  
417
  public int getVariantFaceColor(int variant, int face, int[] numLayers)
418
    {
419
    return face>=mStickerVariants[variant].length ? -1 : mStickerVariants[variant][face];
420
    }
421

  
422 422
///////////////////////////////////////////////////////////////////////////////////////////////////
423 423

  
424 424
  public ObjectSticker retSticker(int sticker)
425 425
    {
426 426
    if( mStickers==null )
427 427
      {
428
      float[][] STICKERS = new float[][] { { -0.5f, 0.25f, 0.25f, -0.5f, 0.25f, 0.25f } };
429
      float radius = 0.03f;
430
      float stroke = 0.05f;
431
      float[] radii = new float[] {radius,radius,radius};
428
      int numStickers = mStickerCoords.length;
429
      mStickers = new ObjectSticker[numStickers];
432 430

  
433
      if( ObjectControl.isInIconMode() )
431
      for(int s=0; s<numStickers; s++)
434 432
        {
435
        stroke*=2.0f;
433
        float scale = mStickerScales[s];
434
        float radius = 0.06f / scale;
435
        float stroke = 0.10f / scale;
436
        float[] radii = new float[] {radius,radius,radius};
437
        if( ObjectControl.isInIconMode() ) stroke*=2.0f;
438
        mStickers[s] = new ObjectSticker(mStickerCoords[s],null,radii,stroke);
436 439
        }
437

  
438
      mStickers = new ObjectSticker[STICKERS.length];
439
      mStickers[0] = new ObjectSticker(STICKERS[0],null,radii,stroke);
440 440
      }
441 441

  
442 442
    return mStickers[sticker];

Also available in: Unified diff