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/TwistyRedi.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.ShapeHexahedron;
37 36

  
......
53 52
  private float[][] mCuts;
54 53
  private float[][] mCenters;
55 54
  private int[][] mFaceMap;
56
  private ObjectSticker[] mStickers;
57 55

  
58 56
///////////////////////////////////////////////////////////////////////////////////////////////////
59 57

  
......
404 402

  
405 403
///////////////////////////////////////////////////////////////////////////////////////////////////
406 404

  
407
  private float getRadius()
405
  public float getStickerRadius()
408 406
    {
409 407
    return 0.09f;
410 408
    }
411 409

  
412 410
///////////////////////////////////////////////////////////////////////////////////////////////////
413 411

  
414
  private float getStroke()
412
  public float getStickerStroke()
415 413
    {
416 414
    return ObjectControl.isInIconMode() ? 0.20f : 0.09f;
417 415
    }
418 416

  
419 417
///////////////////////////////////////////////////////////////////////////////////////////////////
420 418

  
421
  private float[][] getAngles()
419
  public float[][] getStickerAngles()
422 420
    {
423 421
    return null;
424 422
    }
425 423

  
426
///////////////////////////////////////////////////////////////////////////////////////////////////
427

  
428
  public ObjectSticker retSticker(int sticker)
429
    {
430
    if( mStickers==null )
431
      {
432
      float rad = getRadius();
433
      float str = getStroke();
434
      float[][] angles = getAngles();
435
      int numStickers = mStickerCoords.length;
436
      mStickers = new ObjectSticker[numStickers];
437

  
438
      for(int s=0; s<numStickers; s++)
439
        {
440
        float scale = mStickerScales[s];
441
        float radius = rad / scale;
442
        float stroke = str / scale;
443
        int len = mStickerCoords[s].length/2;
444
        float[] radii = new float[len];
445
        for(int r=0; r<len; r++) radii[r] = radius*computeRadiusCorrection(mStickerCoords[s],r,len);
446
        mStickers[s] = new ObjectSticker(mStickerCoords[s],angles==null ? null : angles[s],radii,stroke);
447
        }
448
      }
449

  
450
    return mStickers[sticker];
451
    }
452

  
453 424
///////////////////////////////////////////////////////////////////////////////////////////////////
454 425
// PUBLIC API
455 426

  

Also available in: Unified diff