Revision 7289fd6c
Added by Leszek Koltunski about 4 years ago
src/main/java/org/distorted/object/RubikPyraminx.java | ||
---|---|---|
208 | 208 |
return new VertexEffectSink( new Static1D(1.3f), center, region ); |
209 | 209 |
} |
210 | 210 |
|
211 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
|
212 |
|
|
213 |
void createFaceTexture(Canvas canvas, Paint paint, int face) |
|
214 |
{ |
|
215 |
int xoffset = face*TEXTURE_HEIGHT; |
|
216 |
float STROKE = 0.06f*TEXTURE_HEIGHT; |
|
217 |
float OFF = STROKE/2 -1; |
|
218 |
float OFF2 = 0.5f*TEXTURE_HEIGHT + OFF; |
|
219 |
float HEIGHT = TEXTURE_HEIGHT - OFF; |
|
220 |
float RADIUS = TEXTURE_HEIGHT/12.0f; |
|
221 |
float ARC1_H = 0.2f*TEXTURE_HEIGHT; |
|
222 |
float ARC1_W = TEXTURE_HEIGHT*0.5f; |
|
223 |
float ARC2_W = 0.153f*TEXTURE_HEIGHT; |
|
224 |
float ARC2_H = 0.905f*TEXTURE_HEIGHT; |
|
225 |
float ARC3_W = TEXTURE_HEIGHT-ARC2_W; |
|
226 |
|
|
227 |
paint.setAntiAlias(true); |
|
228 |
paint.setStrokeWidth(STROKE); |
|
229 |
paint.setColor(FACE_COLORS[face]); |
|
230 |
paint.setStyle(Paint.Style.FILL); |
|
231 |
|
|
232 |
canvas.drawRect(xoffset,0,xoffset+TEXTURE_HEIGHT,TEXTURE_HEIGHT,paint); |
|
233 |
|
|
234 |
paint.setColor(0xff000000); |
|
235 |
paint.setStyle(Paint.Style.STROKE); |
|
236 |
|
|
237 |
canvas.drawLine( xoffset, HEIGHT, TEXTURE_HEIGHT +xoffset, HEIGHT, paint); |
|
238 |
canvas.drawLine( OFF +xoffset, TEXTURE_HEIGHT, OFF2 +xoffset, 0, paint); |
|
239 |
canvas.drawLine((TEXTURE_HEIGHT-OFF)+xoffset, TEXTURE_HEIGHT, (TEXTURE_HEIGHT-OFF2) +xoffset, 0, paint); |
|
240 |
|
|
241 |
canvas.drawArc( ARC1_W-RADIUS+xoffset, ARC1_H-RADIUS, ARC1_W+RADIUS+xoffset, ARC1_H+RADIUS, 225, 90, false, paint); |
|
242 |
canvas.drawArc( ARC2_W-RADIUS+xoffset, ARC2_H-RADIUS, ARC2_W+RADIUS+xoffset, ARC2_H+RADIUS, 105, 90, false, paint); |
|
243 |
canvas.drawArc( ARC3_W-RADIUS+xoffset, ARC2_H-RADIUS, ARC3_W+RADIUS+xoffset, ARC2_H+RADIUS, 345, 90, false, paint); |
|
244 |
} |
|
245 |
|
|
246 | 211 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
247 | 212 |
|
248 | 213 |
MeshBase createCubitMesh(int cubit, int vertices) |
... | ... | |
289 | 254 |
return result; |
290 | 255 |
} |
291 | 256 |
|
257 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
|
258 |
|
|
259 |
void createFaceTexture(Canvas canvas, Paint paint, int face, int left, int top, int side) |
|
260 |
{ |
|
261 |
float STROKE = 0.06f*side; |
|
262 |
float OFF = STROKE/2 -1; |
|
263 |
float OFF2 = 0.5f*side + OFF; |
|
264 |
float HEIGHT = side - OFF; |
|
265 |
float RADIUS = side/12.0f; |
|
266 |
float ARC1_H = 0.2f*side; |
|
267 |
float ARC1_W = side*0.5f; |
|
268 |
float ARC2_W = 0.153f*side; |
|
269 |
float ARC2_H = 0.905f*side; |
|
270 |
float ARC3_W = side-ARC2_W; |
|
271 |
|
|
272 |
paint.setAntiAlias(true); |
|
273 |
paint.setStrokeWidth(STROKE); |
|
274 |
paint.setColor(FACE_COLORS[face]); |
|
275 |
paint.setStyle(Paint.Style.FILL); |
|
276 |
|
|
277 |
canvas.drawRect(left,top,left+side,top+side,paint); |
|
278 |
|
|
279 |
paint.setColor(0xff000000); |
|
280 |
paint.setStyle(Paint.Style.STROKE); |
|
281 |
|
|
282 |
canvas.drawLine( left, HEIGHT, side +left, HEIGHT, paint); |
|
283 |
canvas.drawLine( OFF +left, side , OFF2 +left, 0, paint); |
|
284 |
canvas.drawLine((side-OFF)+left, side , (side-OFF2) +left, 0, paint); |
|
285 |
|
|
286 |
canvas.drawArc( ARC1_W-RADIUS+left, ARC1_H-RADIUS, ARC1_W+RADIUS+left, ARC1_H+RADIUS, 225, 90, false, paint); |
|
287 |
canvas.drawArc( ARC2_W-RADIUS+left, ARC2_H-RADIUS, ARC2_W+RADIUS+left, ARC2_H+RADIUS, 105, 90, false, paint); |
|
288 |
canvas.drawArc( ARC3_W-RADIUS+left, ARC2_H-RADIUS, ARC3_W+RADIUS+left, ARC2_H+RADIUS, 345, 90, false, paint); |
|
289 |
} |
|
290 |
|
|
292 | 291 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
293 | 292 |
// PUBLIC API |
294 | 293 |
|
Also available in: Unified diff
Beginnings of support for the 3x3x3 Solver.