Revision b041d424
Added by Leszek Koltunski over 7 years ago
src/main/java/org/distorted/examples/dynamic/DynamicSurfaceView.java | ||
---|---|---|
57 | 57 |
private int moving; |
58 | 58 |
private int mDuration; |
59 | 59 |
private int mPosition; |
60 |
private long mDiffTime, mLastTime; |
|
60 | 61 |
private float mNoise0, mNoise1, mNoise2; |
61 | 62 |
|
62 | 63 |
private int mSize1, mSize2, mSizeT, mAvg; |
... | ... | |
89 | 90 |
mNoise0 = 0.0f; |
90 | 91 |
mNoise1 = 0.0f; |
91 | 92 |
mNoise2 = 0.0f; |
93 |
mDiffTime = -1; |
|
94 |
mLastTime = -1; |
|
92 | 95 |
|
93 | 96 |
di1D = new Dynamic1D(mDuration,0.0f); |
94 | 97 |
p1N = new Static1D(mNoise0); |
... | ... | |
193 | 196 |
public void drawCurve(Canvas c, long time) |
194 | 197 |
{ |
195 | 198 |
if ( ++mPosition >= NUM_POINTS ) mPosition=0; |
196 |
|
|
199 |
|
|
200 |
if( mLastTime<0 ) |
|
201 |
{ |
|
202 |
mLastTime = time; |
|
203 |
} |
|
204 |
else |
|
205 |
{ |
|
206 |
mDiffTime = time - mLastTime; |
|
207 |
} |
|
208 |
|
|
197 | 209 |
synchronized(lock) |
198 | 210 |
{ |
199 | 211 |
switch(currentDim) |
... | ... | |
203 | 215 |
default : drawCurve3D(c,time); break; |
204 | 216 |
} |
205 | 217 |
} |
218 |
|
|
219 |
mLastTime = time; |
|
206 | 220 |
} |
207 | 221 |
|
208 | 222 |
/////////////////////////////////////////////////////////////////// |
... | ... | |
227 | 241 |
|
228 | 242 |
if( len>=2 ) |
229 | 243 |
{ |
230 |
di1D.interpolateMain(mPoints,3*mPosition, time); |
|
244 |
di1D.interpolateMain(mPoints,3*mPosition, time, mDiffTime);
|
|
231 | 245 |
|
232 | 246 |
for(int i=0; i<NUM_POINTS; i++) |
233 | 247 |
{ |
... | ... | |
263 | 277 |
|
264 | 278 |
if( len>=2 ) |
265 | 279 |
{ |
266 |
di2D.interpolateMain(mPoints,3*mPosition, time); |
|
280 |
di2D.interpolateMain(mPoints,3*mPosition, time, mDiffTime);
|
|
267 | 281 |
|
268 | 282 |
for(int i=0; i<NUM_POINTS; i++) |
269 | 283 |
{ |
... | ... | |
299 | 313 |
|
300 | 314 |
if( len>=2 ) |
301 | 315 |
{ |
302 |
di3D.interpolateMain(mPoints, 3*mPosition, time); |
|
316 |
di3D.interpolateMain(mPoints, 3*mPosition, time, mDiffTime);
|
|
303 | 317 |
|
304 | 318 |
for(int i=0; i<NUM_POINTS; i++) |
305 | 319 |
{ |
Also available in: Unified diff
Minor details