Revision d53fb890
Added by Leszek Koltunski over 2 years ago
src/main/java/org/distorted/objectlib/objects/TwistyRedi.java | ||
---|---|---|
31 | 31 |
import org.distorted.objectlib.main.ObjectControl; |
32 | 32 |
import org.distorted.objectlib.main.ObjectType; |
33 | 33 |
import org.distorted.objectlib.helpers.ObjectShape; |
34 |
import org.distorted.objectlib.helpers.ObjectSticker; |
|
35 | 34 |
import org.distorted.objectlib.helpers.ScrambleState; |
36 | 35 |
import org.distorted.objectlib.main.ShapeHexahedron; |
37 | 36 |
|
... | ... | |
53 | 52 |
private float[][] mCuts; |
54 | 53 |
private float[][] mCenters; |
55 | 54 |
private int[][] mFaceMap; |
56 |
private ObjectSticker[] mStickers; |
|
57 | 55 |
|
58 | 56 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
59 | 57 |
|
... | ... | |
404 | 402 |
|
405 | 403 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
406 | 404 |
|
407 |
private float getRadius()
|
|
405 |
public float getStickerRadius()
|
|
408 | 406 |
{ |
409 | 407 |
return 0.09f; |
410 | 408 |
} |
411 | 409 |
|
412 | 410 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
413 | 411 |
|
414 |
private float getStroke()
|
|
412 |
public float getStickerStroke()
|
|
415 | 413 |
{ |
416 | 414 |
return ObjectControl.isInIconMode() ? 0.20f : 0.09f; |
417 | 415 |
} |
418 | 416 |
|
419 | 417 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
420 | 418 |
|
421 |
private float[][] getAngles()
|
|
419 |
public float[][] getStickerAngles()
|
|
422 | 420 |
{ |
423 | 421 |
return null; |
424 | 422 |
} |
425 | 423 |
|
426 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
|
427 |
|
|
428 |
public ObjectSticker retSticker(int sticker) |
|
429 |
{ |
|
430 |
if( mStickers==null ) |
|
431 |
{ |
|
432 |
float rad = getRadius(); |
|
433 |
float str = getStroke(); |
|
434 |
float[][] angles = getAngles(); |
|
435 |
int numStickers = mStickerCoords.length; |
|
436 |
mStickers = new ObjectSticker[numStickers]; |
|
437 |
|
|
438 |
for(int s=0; s<numStickers; s++) |
|
439 |
{ |
|
440 |
float scale = mStickerScales[s]; |
|
441 |
float radius = rad / scale; |
|
442 |
float stroke = str / scale; |
|
443 |
int len = mStickerCoords[s].length/2; |
|
444 |
float[] radii = new float[len]; |
|
445 |
for(int r=0; r<len; r++) radii[r] = radius*computeRadiusCorrection(mStickerCoords[s],r,len); |
|
446 |
mStickers[s] = new ObjectSticker(mStickerCoords[s],angles==null ? null : angles[s],radii,stroke); |
|
447 |
} |
|
448 |
} |
|
449 |
|
|
450 |
return mStickers[sticker]; |
|
451 |
} |
|
452 |
|
|
453 | 424 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
454 | 425 |
// PUBLIC API |
455 | 426 |
|
Also available in: Unified diff
Progress standarising stickering.