Project

General

Profile

« Previous | Next » 

Revision 5e30b196

Added by Leszek Koltunski about 1 year ago

New PruningTable data structure for solvers.

View differences:

src/main/java/org/distorted/objectlib/main/TwistyObject.java
897 897
    if( moves!=null )
898 898
      {
899 899
      Static4D quat;
900
      int index, axisIndex, row, rowBitmap, basic, angle;
900
      int index, axisIndex, row, banBitmap, basic, angle;
901 901

  
902 902
      for(int[] move: moves)
903 903
        {
904 904
        axisIndex= move[0];
905
        rowBitmap= computeBitmapFromRow( move[1],axisIndex);
905
        banBitmap= computeBandagedBitmap( move[1],axisIndex);
906 906
        row      = computeRowFromBitmap( move[1] );
907 907
        basic    = mBasicAngles[axisIndex][row];
908 908
        angle    = move[2]*(360/basic);   // this assumes that all layers from
......
918 918

  
919 919
        for(int i=0; i<mNumCubits; i++)
920 920
          {
921
          mBelongs[i] = belongsToRotation(i,axisIndex,rowBitmap);
921
          mBelongs[i] = belongsToRotation(i,axisIndex,banBitmap);
922 922
          if( mBelongs[i] )
923 923
            {
924 924
            boolean result = mCubits[i].rotateCubit(quat);
......
954 954

  
955 955
///////////////////////////////////////////////////////////////////////////////////////////////////
956 956

  
957
  int computeBitmapFromRow(int rowBitmap, int axis)
957
  int computeBandagedBitmap(int rowBitmap, int axis)
958 958
    {
959 959
    if( mIsBandaged )
960 960
      {
......
1178 1178

  
1179 1179
      mRotationState = STATE_ROTATE;
1180 1180
      mCurrentRotAxis = axis;
1181
      mRotRowBitmap= computeBitmapFromRow( rowBitmap,axis );
1181
      mRotRowBitmap= computeBandagedBitmap( rowBitmap,axis );
1182 1182
      mRotationAngleStatic.set0(0.0f);
1183 1183
      mRotationAxis.set( mAxis[axis] );
1184 1184
      mRotationAngle.setDuration(durationMillis);
......
1226 1226

  
1227 1227
    mRotationState = STATE_ROTATE;
1228 1228
    mCurrentRotAxis = axis;
1229
    mRotRowBitmap= computeBitmapFromRow( (1<<row),axis );
1229
    mRotRowBitmap= computeBandagedBitmap( (1<<row),axis );
1230 1230
    mRotationAngleStatic.set0(0.0f);
1231 1231
    mRotationAxis.set( mAxis[axis] );
1232 1232
    mRotationAngle.add(mRotationAngleStatic);

Also available in: Unified diff