Revision 42209dda
Added by Leszek Koltunski 10 months ago
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
bugfix