Project

General

Profile

« Previous | Next » 

Revision 42209dda

Added by Leszek Koltunski 10 months ago

bugfix

View differences:

src/main/java/org/distorted/objectlib/main/TwistyObject.java
166 166

  
167 167
  private void initialize(int iconMode, Static4D quat, Static3D move, float scale, InitAssets asset, boolean fromJSON)
168 168
    {
169
    Static3D[] axis = getRotationAxis();
169
    mAxis        = getRotationAxis();
170
    mBasicAngles = getBasicAngles();
171
    mObjectQuats = getQuats();  // we need to initialize the ObjectQuats here, because for some getCubitPositions()
172
                                // (megaminx!) the quats need to be already constructed
170 173
    Static3D[] faceAxis = getFaceAxis();
171
    int[][] angles = getBasicAngles();
172 174
    float[][] positions = getCubitPositions(mNumLayers);
173 175
    float[][] cuts = getCuts(mNumLayers);
174 176
    int[][] minCubits = getMinimalCubiesInRow();
......
183 185
      types[c] = getCubitRotationType(c);
184 186
      }
185 187

  
186
    super.initialize(axis, angles, positions, cuts, offsets, types, minCubits, faceAxis);
188
    super.initialize(mAxis, mBasicAngles, positions, cuts, offsets, types, minCubits, faceAxis);
187 189

  
188 190
    mIconMode = iconMode;
189 191
    mQuat = quat;
src/main/java/org/distorted/objectlib/main/TwistyObjectTheoretical.java
46 46
    mFaceAxis = faceAxis;
47 47
    mNumFaceAxis = mFaceAxis.length;
48 48
    mBasicAngles = angles;
49
    mObjectQuats = getQuats();
50 49
    mNumQuats = mObjectQuats.length;
51 50
    mCubitPos = positions;
52 51
    mRowOffsets = new float[mNumFaceAxis][3];
......
68 67
      mCubits[i] = new TwistyObjectTheoreticalCubit(this, mCubitPos[i],mNumAxis,i,mCubitType[i],mCubitOffset[i]);
69 68
      if( !mThereAreDeciders && mCubits[i].getType()==TwistyObjectTheoreticalCubit.TYPE_DECIDER ) mThereAreDeciders = true;
70 69
      }
70
    recomputeFaceOffsets();
71 71
    }
72 72

  
73 73
///////////////////////////////////////////////////////////////////////////////////////////////////
......
106 106
    return -1;
107 107
    }
108 108

  
109
///////////////////////////////////////////////////////////////////////////////////////////////////
110

  
111
  void setRotationRowOffset(int puzzleFace, float[] offset)
112
    {
113
    mRowOffsets[puzzleFace][0] = offset[0];
114
    mRowOffsets[puzzleFace][1] = offset[1];
115
    mRowOffsets[puzzleFace][2] = offset[2];
116
    }
117

  
118 109
///////////////////////////////////////////////////////////////////////////////////////////////////
119 110

  
120 111
  int getNumAxis()
src/main/java/org/distorted/objectlib/main/TwistyObjectTheoreticalCubit.java
52 52
      mOrigOffsetX = mRowOffset[0];
53 53
      mOrigOffsetY = mRowOffset[1];
54 54
      mOrigOffsetZ = mRowOffset[2];
55
      if( mCubitType==TYPE_DECIDER ) mParent.setRotationRowOffset(face,mRowOffset);
56 55
      }
57 56
    else
58 57
      {

Also available in: Unified diff