Project

General

Profile

« Previous | Next » 

Revision d0e6cf7f

Added by Leszek Koltunski over 2 years ago

Simplification.

View differences:

src/main/java/org/distorted/objectlib/objects/TwistyPyraminx.java
129 129
    mStates[numLayers-1] = new ScrambleState( generateState(1,numLayers-2) );
130 130
    }
131 131

  
132
///////////////////////////////////////////////////////////////////////////////////////////////////
133

  
134
  public int[] getSolvedQuats(int cubit, int[] numLayers)
135
    {
136
    if( mQuats==null ) initializeQuats();
137
    int status = retCubitSolvedStatus(cubit,numLayers);
138
    return status<0 ? null : buildSolvedQuats(TouchControlTetrahedron.FACE_AXIS[status],mQuats);
139
    }
140

  
141 132
///////////////////////////////////////////////////////////////////////////////////////////////////
142 133

  
143 134
  private void addTetrahedralLattice(int size, int index, float[][] pos)
......
176 167
    }
177 168

  
178 169
///////////////////////////////////////////////////////////////////////////////////////////////////
179
// there are (n^3-n)/6 octahedrons and ((n+1)^3 - (n+1))/6 tetrahedrons
180 170

  
181
  public float[][] getCubitPositions(int[] numLayers)
171
  private int getNumOctahedrons(int numLayers)
182 172
    {
183
    int numL = numLayers[0];
184
    int numOcta = (numL-1)*numL*(numL+1)/6;
185
    int numTetra= numL*(numL+1)*(numL+2)/6;
186
    float[][] ret = new float[numOcta+numTetra][];
173
    return (numLayers-1)*numLayers*(numLayers+1)/6;
174
    }
187 175

  
188
    addTetrahedralLattice(numL-1,      0,ret);
189
    addTetrahedralLattice(numL  ,numOcta,ret);
176
///////////////////////////////////////////////////////////////////////////////////////////////////
190 177

  
191
    return ret;
178
  public int[] getSolvedQuats(int cubit, int[] numLayers)
179
    {
180
    if( mQuats==null ) initializeQuats();
181
    int status = retCubitSolvedStatus(cubit,numLayers);
182
    return status<0 ? null : buildSolvedQuats(TouchControlTetrahedron.FACE_AXIS[status],mQuats);
192 183
    }
193 184

  
194 185
///////////////////////////////////////////////////////////////////////////////////////////////////
......
280 271
    }
281 272

  
282 273
///////////////////////////////////////////////////////////////////////////////////////////////////
274
// there are (n^3-n)/6 octahedrons and ((n+1)^3 - (n+1))/6 tetrahedrons
283 275

  
284
  private int getNumOctahedrons(int numLayers)
276
  public float[][] getCubitPositions(int[] numLayers)
285 277
    {
286
    return (numLayers-1)*numLayers*(numLayers+1)/6;
278
    int numL = numLayers[0];
279
    int numOcta = (numL-1)*numL*(numL+1)/6;
280
    int numTetra= numL*(numL+1)*(numL+2)/6;
281
    float[][] ret = new float[numOcta+numTetra][];
282

  
283
    addTetrahedralLattice(numL-1,      0,ret);
284
    addTetrahedralLattice(numL  ,numOcta,ret);
285

  
286
    return ret;
287
    }
288

  
289
///////////////////////////////////////////////////////////////////////////////////////////////////
290

  
291
  public Static4D getCubitQuats(int cubit, int[] numLayers)
292
    {
293
    if( mQuats==null ) initializeQuats();
294
    return mQuats[0];
287 295
    }
288 296

  
289 297
///////////////////////////////////////////////////////////////////////////////////////////////////
......
336 344
      }
337 345
    }
338 346

  
339
///////////////////////////////////////////////////////////////////////////////////////////////////
340

  
341
  public Static4D getQuat(int cubit, int[] numLayers)
342
    {
343
    if( mQuats==null ) initializeQuats();
344
    return mQuats[0];
345
    }
346

  
347 347
///////////////////////////////////////////////////////////////////////////////////////////////////
348 348

  
349 349
  public int getNumCubitVariants(int[] numLayers)

Also available in: Unified diff