Revision e32d318a
Added by Leszek Koltunski over 2 years ago
src/main/java/org/distorted/objectlib/main/ObjectControl.java | ||
---|---|---|
232 | 232 |
float distQuot = mInitDistance<0 ? 1.0f : distNow/ mInitDistance; |
233 | 233 |
mInitDistance = distNow; |
234 | 234 |
TwistyObject object = mPreRender.getObject(); |
235 |
if( object!=null ) object.setObjectRatio(distQuot,mObjectNode.getMinSize() );
|
|
235 |
if( object!=null ) object.setObjectRatio(distQuot,mObjectNode.getScaleFactor() );
|
|
236 | 236 |
} |
237 | 237 |
else |
238 | 238 |
{ |
... | ... | |
490 | 490 |
} |
491 | 491 |
} |
492 | 492 |
|
493 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
|
494 |
|
|
495 |
void setMovement(Movement movement) |
|
496 |
{ |
|
497 |
mMovement = movement; |
|
498 |
} |
|
499 |
|
|
493 | 500 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
494 | 501 |
// INTERNAL API (for AutomaticControl) |
495 | 502 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
... | ... | |
627 | 634 |
|
628 | 635 |
public void scaleNow(float scale) |
629 | 636 |
{ |
630 |
mPreRender.getObject().setObjectRatioNow(scale,mObjectNode.getMinSize());
|
|
637 |
mPreRender.getObject().setObjectRatioNow(scale,mObjectNode.getScaleFactor());
|
|
631 | 638 |
} |
632 | 639 |
|
633 | 640 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
... | ... | |
644 | 651 |
return mQuat; |
645 | 652 |
} |
646 | 653 |
|
647 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
|
648 |
|
|
649 |
public void setMovement(Movement movement) |
|
650 |
{ |
|
651 |
mMovement = movement; |
|
652 |
} |
|
653 |
|
|
654 | 654 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
655 | 655 |
|
656 | 656 |
public void preRender() |
... | ... | |
720 | 720 |
|
721 | 721 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
722 | 722 |
|
723 |
public void changeObject(ObjectType object)
|
|
723 |
public void changeObject(ObjectType newObject)
|
|
724 | 724 |
{ |
725 |
mPreRender.changeObject(object);
|
|
725 |
mPreRender.changeObject(newObject);
|
|
726 | 726 |
} |
727 | 727 |
|
728 | 728 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
src/main/java/org/distorted/objectlib/main/ObjectPreRender.java | ||
---|---|---|
108 | 108 |
|
109 | 109 |
if( mNewObject!=null ) |
110 | 110 |
{ |
111 |
TwistyObjectNode node = mController.getNode(); |
|
112 |
if( node!=null ) mNewObject.setObjectRatioNow( 1.0f, node.getScaleFactor() ); |
|
111 | 113 |
mController.setMovement(mNewObject.getMovement()); |
112 | 114 |
if( firstTime && mPreferences!=null ) mNewObject.restorePreferences(mPreferences); |
113 | 115 |
mIsSolved = mNewObject.isSolved(); |
src/main/java/org/distorted/objectlib/main/Twisty4.java | ||
---|---|---|
66 | 66 |
|
67 | 67 |
public int getFOV() |
68 | 68 |
{ |
69 |
return 30;
|
|
69 |
return 60;
|
|
70 | 70 |
} |
71 | 71 |
|
72 | 72 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
73 | 73 |
|
74 | 74 |
protected float getScreenRatio() |
75 | 75 |
{ |
76 |
return 0.88f;
|
|
76 |
return 0.89f;
|
|
77 | 77 |
} |
78 | 78 |
} |
src/main/java/org/distorted/objectlib/main/Twisty8.java | ||
---|---|---|
78 | 78 |
|
79 | 79 |
protected float getScreenRatio() |
80 | 80 |
{ |
81 |
return 0.65f;
|
|
81 |
return 0.68f;
|
|
82 | 82 |
} |
83 | 83 |
} |
src/main/java/org/distorted/objectlib/main/TwistyObjectNode.java | ||
---|---|---|
31 | 31 |
public class TwistyObjectNode extends DistortedNode |
32 | 32 |
{ |
33 | 33 |
private final Static3D mScale; |
34 |
private int mWidth, mHeight, mMinSize;
|
|
34 |
private int mWidth, mHeight, mScaleFactor;
|
|
35 | 35 |
private float mCameraDist; |
36 |
private float mObjectScale; |
|
36 | 37 |
|
37 | 38 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
38 | 39 |
|
... | ... | |
40 | 41 |
{ |
41 | 42 |
super(new DistortedTexture(),new DistortedEffects(),new MeshSquare(20,20)); |
42 | 43 |
|
44 |
mObjectScale = 1.0f; |
|
43 | 45 |
mScale= new Static3D(1,1,1); |
44 | 46 |
setSize(surfaceW,surfaceH); |
45 | 47 |
MatrixEffectScale scaleEffect = new MatrixEffectScale(mScale); |
... | ... | |
52 | 54 |
|
53 | 55 |
void setSize(int surfaceW, int surfaceH) |
54 | 56 |
{ |
55 |
mWidth = surfaceW; |
|
56 |
mHeight = surfaceH; |
|
57 |
mMinSize= Math.min(mWidth,mHeight);
|
|
57 |
mWidth = surfaceW;
|
|
58 |
mHeight = surfaceH;
|
|
59 |
mScaleFactor= (int)(Math.min(mWidth,mHeight)*mObjectScale);
|
|
58 | 60 |
|
59 | 61 |
resizeFBO(mWidth,mHeight); |
60 | 62 |
|
... | ... | |
70 | 72 |
|
71 | 73 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
72 | 74 |
|
73 |
int getMinSize()
|
|
75 |
int getScaleFactor()
|
|
74 | 76 |
{ |
75 |
return mMinSize;
|
|
77 |
return mScaleFactor;
|
|
76 | 78 |
} |
77 | 79 |
|
78 | 80 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
... | ... | |
86 | 88 |
setProjection( fov, 0.1f); |
87 | 89 |
} |
88 | 90 |
|
91 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
|
92 |
|
|
93 |
public void setScaleFactor(float scale) |
|
94 |
{ |
|
95 |
mObjectScale = scale; |
|
96 |
mScaleFactor = (int)(Math.min(mWidth,mHeight)*mObjectScale); |
|
97 |
} |
|
98 |
|
|
89 | 99 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
90 | 100 |
|
91 | 101 |
public int getWidth() |
Also available in: Unified diff
new API to make is possible to adjust default scale factor in each TwistyObjectNode.
(and use it in Tutorials, where the object needs to be smaller)