Project

General

Profile

« Previous | Next » 

Revision bb85236a

Added by Leszek Koltunski 11 months ago

Implement TwistyBandagedPyraminx

View differences:

src/main/java/org/distorted/objectlib/objects/TwistyBandagedCuboid.java
503 503

  
504 504
  public ObjectFaceShape getObjectFaceShape(int variant)
505 505
    {
506
    int[] numLayers = getNumLayers();
507
    int size = (numLayers[0]+numLayers[1]+numLayers[2])/3;
508 506
    int[] dim = getDim(variant);
507
    FactoryBandagedCuboid factory = FactoryBandagedCuboid.getInstance();
509 508

  
510 509
    if( dim!=null )
511 510
      {
511
      boolean iconMode = isInIconMode();
512
      float[][] bands = factory.getBands(iconMode);
513

  
512 514
      int X = dim[0];
513 515
      int Y = dim[1];
514 516
      int Z = dim[2];
517
      int DX = Math.max(Y,Z);
518
      int DY = Math.max(X,Z);
519
      int DZ = Math.max(X,Y);
515 520

  
516
      float height     = isInIconMode() ? 0.001f : size<=5 ? 0.048f : 0.020f;
517
      int[] bandIndices= { 0,0,1,1,2,2 };
518

  
519
      int maxXY = Math.max(X,Y);
520
      int maxXZ = Math.max(X,Z);
521
      int maxYZ = Math.max(Y,Z);
522

  
523
      int angle = 45;
524
      float R = 0.25f;
525
      float S = 0.50f;
526
      float N = size<=4 ? 5 : size<=5 ? 4 : 3;
527

  
528
      float[][] bands =
529
        {
530
          {height/maxYZ,angle,R,S,N,0,0},
531
          {height/maxXZ,angle,R,S,N,0,0},
532
          {height/maxXY,angle,R,S,N,0,0}
533
        };
521
      int[] bandIndices= { DX,DX,DY,DY,DZ,DZ };
534 522

  
535 523
      return new ObjectFaceShape(bands,bandIndices,null);
536 524
      }
537 525

  
538
    FactoryBandagedCuboid factory = FactoryBandagedCuboid.getInstance();
526

  
539 527
    return factory.createIrregularFaceShape(variant, isInIconMode() );
540 528
    }
541 529

  

Also available in: Unified diff