Project

General

Profile

« Previous | Next » 

Revision bdb341bc

Added by Leszek Koltunski over 7 years ago

Dynamics: Introduce 2 Modes of operation:

- 'random access' mode, where we are able to call a single Dynamic from multiple thread simultaneously.
- 'sequential' mode, which only permits sequential interpolation from one client.

The second mode has an advantage when one needs to change mDuration: it keeps on interpolating smoothly. In the first mode, this is not possible.

View differences:

src/main/java/org/distorted/library/type/Dynamic3D.java
426 426
    }
427 427

  
428 428
///////////////////////////////////////////////////////////////////////////////////////////////////
429
/**
430
 * Writes the results of interpolation between the Points at time 'time' to the passed float buffer.
431
 * <p>
432
 * Since this is a 3-dimensional Dynamic, the resulting interpolated Static3D gets written
433
 * to three locations in the buffer: buffer[offset], buffer[offset+1] and buffer[offset+2]. 
434
 * 
435
 * @param buffer Float buffer we will write the resulting Static3D to.
436
 * @param offset Offset in the buffer where to write the result.
437
 * @param time Time of interpolation. Time=0.0 would return the first Point, Time=0.5 - the last,
438
 *             time=1.0 - the first again, and time 0.1 would be 1/5 of the way between the first and the last Points.
439
 */    
429

  
440 430
  synchronized void interpolate(float[] buffer, int offset, float time)
441 431
    {  
442 432
    switch(numPoints)

Also available in: Unified diff