Revision e844c116
Added by Leszek Koltunski about 4 years ago
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
Beginnings of Pyraminx.