Project

General

Profile

« Previous | Next » 

Revision ba6d9ee9

Added by Leszek Koltunski over 2 years ago

Cuboids

View differences:

src/main/java/org/distorted/objectlib/objects/TwistyCuboid.java
545 545
      {
546 546
      mCuts = new float[3][];
547 547

  
548
      int lenX = numLayers[0];
549

  
550
      if( lenX>=2 )
548
      for(int axis=0; axis<3; axis++)
551 549
        {
552
        mCuts[0] = new float[lenX-1];
553
        for(int i=0; i<lenX-1; i++) mCuts[0][i] = (2-lenX)*0.5f + i;
554
        }
555
      else
556
        {
557
        mCuts[0] = null;
558
        }
550
        int len = numLayers[axis];
551
        float start = (2-len)*0.5f;
559 552

  
560
      int lenY = numLayers[1];
561

  
562
      if( lenY>=2 )
563
        {
564
        mCuts[1] = new float[lenY-1];
565
        for(int i=0; i<lenY-1; i++) mCuts[1][i] = (2-lenY)*0.5f + i;
566
        }
567
      else
568
        {
569
        mCuts[1] = null;
570
        }
571

  
572
      int lenZ = numLayers[2];
573

  
574
      if( lenZ>=2 )
575
        {
576
        mCuts[2] = new float[lenZ-1];
577
        for(int i=0; i<lenZ-1; i++) mCuts[2][i] = (2-lenZ)*0.5f + i;
578
        }
579
      else
580
        {
581
        mCuts[2] = null;
553
        if( len>=2 )
554
          {
555
          mCuts[axis] = new float[len-1];
556
          for(int i=0; i<len-1; i++) mCuts[axis][i] = start+i;
557
          }
582 558
        }
583 559
      }
584 560

  
......
641 617
      int[] numLayers = getNumLayers();
642 618
      if( mCuts==null ) getCuts(numLayers);
643 619
      getLayerRotatable(numLayers);
644
      mMovement = new Movement6(ROT_AXIS,mCuts,mLayerRotatable,numLayers[0],TYPE_NOT_SPLIT,ENABLED);
620
      float avg = (numLayers[0]+numLayers[1]+numLayers[2])/3.0f;
621
      mMovement = new Movement6(ROT_AXIS,mCuts,mLayerRotatable,avg,TYPE_NOT_SPLIT,ENABLED);
645 622
      }
646 623
    return mMovement;
647 624
    }
......
669 646
    {
670 647
    switch(numLayers[0])
671 648
      {
672
      case 2: return numLayers[1]==2 ? ObjectType.CUBE_2 : ObjectType.CU_223;
673
      case 3: return numLayers[1]==3 ? ObjectType.CUBE_3 : ObjectType.CU_334;
649
      case 2: return ObjectType.CUBE_2;
650
      case 3: return ObjectType.CUBE_3;
674 651
      case 4: return ObjectType.CUBE_4;
675 652
      case 5: return ObjectType.CUBE_5;
676 653
      }

Also available in: Unified diff