Project

General

Profile

« Previous | Next » 

Revision d53fb890

Added by Leszek Koltunski over 2 years ago

Progress standarising stickering.

View differences:

src/main/java/org/distorted/objectlib/objects/TwistyDiamond.java
31 31
import org.distorted.objectlib.main.ObjectControl;
32 32
import org.distorted.objectlib.main.ObjectType;
33 33
import org.distorted.objectlib.helpers.ObjectShape;
34
import org.distorted.objectlib.helpers.ObjectSticker;
35 34
import org.distorted.objectlib.helpers.ScrambleState;
36 35
import org.distorted.objectlib.main.ShapeOctahedron;
37 36

  
......
54 53
  private float[][] mCuts;
55 54
  private Static4D[] mQuats;
56 55
  private int[] mTetraToFaceMap;
57
  private ObjectSticker[] mStickers;
58 56

  
59 57
///////////////////////////////////////////////////////////////////////////////////////////////////
60 58

  
......
505 503

  
506 504
///////////////////////////////////////////////////////////////////////////////////////////////////
507 505

  
508
  private float getRadius()
506
  public float getStickerRadius()
509 507
    {
510 508
    return 0.08f;
511 509
    }
512 510

  
513 511
///////////////////////////////////////////////////////////////////////////////////////////////////
514 512

  
515
  private float getStroke()
513
  public float getStickerStroke()
516 514
    {
517 515
    float stroke = 0.08f;
518 516

  
......
534 532

  
535 533
///////////////////////////////////////////////////////////////////////////////////////////////////
536 534

  
537
  private float[][] getAngles()
535
  public float[][] getStickerAngles()
538 536
    {
539 537
    return null;
540 538
    }
541 539

  
542
///////////////////////////////////////////////////////////////////////////////////////////////////
543

  
544
  public ObjectSticker retSticker(int sticker)
545
    {
546
    if( mStickers==null )
547
      {
548
      float rad = getRadius();
549
      float str = getStroke();
550
      float[][] angles = getAngles();
551
      int numStickers = mStickerCoords.length;
552
      mStickers = new ObjectSticker[numStickers];
553

  
554
      for(int s=0; s<numStickers; s++)
555
        {
556
        float scale = mStickerScales[s];
557
        float radius = rad / scale;
558
        float stroke = str / scale;
559
        int len = mStickerCoords[s].length/2;
560
        float[] radii = new float[len];
561
        for(int r=0; r<len; r++) radii[r] = radius*computeRadiusCorrection(mStickerCoords[s],r,len);
562
        mStickers[s] = new ObjectSticker(mStickerCoords[s],angles==null ? null : angles[s],radii,stroke);
563
        }
564
      }
565

  
566
    return mStickers[sticker];
567
    }
568

  
569 540
///////////////////////////////////////////////////////////////////////////////////////////////////
570 541
// PUBLIC API
571 542

  

Also available in: Unified diff