Revision d53fb890
Added by Leszek Koltunski over 2 years ago
src/main/java/org/distorted/objectlib/objects/TwistyDiamond.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.ShapeOctahedron; |
37 | 36 |
|
... | ... | |
54 | 53 |
private float[][] mCuts; |
55 | 54 |
private Static4D[] mQuats; |
56 | 55 |
private int[] mTetraToFaceMap; |
57 |
private ObjectSticker[] mStickers; |
|
58 | 56 |
|
59 | 57 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
60 | 58 |
|
... | ... | |
505 | 503 |
|
506 | 504 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
507 | 505 |
|
508 |
private float getRadius()
|
|
506 |
public float getStickerRadius()
|
|
509 | 507 |
{ |
510 | 508 |
return 0.08f; |
511 | 509 |
} |
512 | 510 |
|
513 | 511 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
514 | 512 |
|
515 |
private float getStroke()
|
|
513 |
public float getStickerStroke()
|
|
516 | 514 |
{ |
517 | 515 |
float stroke = 0.08f; |
518 | 516 |
|
... | ... | |
534 | 532 |
|
535 | 533 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
536 | 534 |
|
537 |
private float[][] getAngles()
|
|
535 |
public float[][] getStickerAngles()
|
|
538 | 536 |
{ |
539 | 537 |
return null; |
540 | 538 |
} |
541 | 539 |
|
542 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
|
543 |
|
|
544 |
public ObjectSticker retSticker(int sticker) |
|
545 |
{ |
|
546 |
if( mStickers==null ) |
|
547 |
{ |
|
548 |
float rad = getRadius(); |
|
549 |
float str = getStroke(); |
|
550 |
float[][] angles = getAngles(); |
|
551 |
int numStickers = mStickerCoords.length; |
|
552 |
mStickers = new ObjectSticker[numStickers]; |
|
553 |
|
|
554 |
for(int s=0; s<numStickers; s++) |
|
555 |
{ |
|
556 |
float scale = mStickerScales[s]; |
|
557 |
float radius = rad / scale; |
|
558 |
float stroke = str / scale; |
|
559 |
int len = mStickerCoords[s].length/2; |
|
560 |
float[] radii = new float[len]; |
|
561 |
for(int r=0; r<len; r++) radii[r] = radius*computeRadiusCorrection(mStickerCoords[s],r,len); |
|
562 |
mStickers[s] = new ObjectSticker(mStickerCoords[s],angles==null ? null : angles[s],radii,stroke); |
|
563 |
} |
|
564 |
} |
|
565 |
|
|
566 |
return mStickers[sticker]; |
|
567 |
} |
|
568 |
|
|
569 | 540 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
570 | 541 |
// PUBLIC API |
571 | 542 |
|
Also available in: Unified diff
Progress standarising stickering.