Project

General

Profile

« Previous | Next » 

Revision e844c116

Added by Leszek Koltunski about 4 years ago

Beginnings of Pyraminx.

View differences:

src/main/java/org/distorted/object/RubikObject.java
58 58
  private Static4D mQuatAccumulated;
59 59
  private Cubit[] mCubits;
60 60

  
61
  float mStart, mStep;
61 62
  int mSize;
62 63

  
63 64
  Static1D mRotationAngleStatic, mRotationAngleMiddle, mRotationAngleFinal;
......
84 85

  
85 86
    mSize = size;
86 87

  
88
    computeStartAndStep(positions);
89

  
87 90
    mRotationAngleStatic = new Static1D(0);
88 91
    mRotationAngleMiddle = new Static1D(0);
89 92
    mRotationAngleFinal  = new Static1D(0);
......
148 151
    mesh.setTextureMap(maps);
149 152
    }
150 153

  
154
///////////////////////////////////////////////////////////////////////////////////////////////////
155

  
156
  private void computeStartAndStep(Static3D[] pos)
157
    {
158
    float min = Float.MAX_VALUE;
159
    float max = Float.MIN_VALUE;
160
    float axisX = ROTATION_AXIS[0].get0();
161
    float axisY = ROTATION_AXIS[0].get1();
162
    float axisZ = ROTATION_AXIS[0].get2();
163
    float tmp;
164

  
165
    for(int i=0; i<NUM_CUBITS; i++)
166
      {
167
      tmp = pos[i].get0()*axisX + pos[i].get1()*axisY + pos[i].get2()*axisZ;
168
      if( tmp<min ) min=tmp;
169
      if( tmp>max ) max=tmp;
170
      }
171

  
172
    mStart = min;
173
    mStep  = (max-min+1.0f)/mSize;
174
    }
175

  
151 176
///////////////////////////////////////////////////////////////////////////////////////////////////
152 177

  
153 178
  private boolean belongsToRotation( int cubit, int axis, int row)
......
396 421

  
397 422
///////////////////////////////////////////////////////////////////////////////////////////////////
398 423

  
399
  public int getNumRotations()
424
  public int getNumAxis()
400 425
    {
401 426
    return ROTATION_AXIS.length;
402 427
    }
......
409 434
  abstract void createFaceTexture(Canvas canvas, Paint paint, int face);
410 435
  abstract MeshBase createCubitMesh(int vertices);
411 436
  abstract Static3D[] getRotationAxis();
437
  public abstract int getBasicAngle();
412 438
  }

Also available in: Unified diff