private void getPointAtLength ( int type , float [ ] coords , float lastX , float lastY , float t , float [ ] point ) { if ( type == PathIterator . SEG_LINETO ) { point [ 0 ] = lastX + ( coords [ 0 ] - lastX ) * t ; point [ 1 ] = lastY + ( coords [ 1 ] - lastY ) * t ; // Return here, since we do not need a shape to estimate return ; } float [ ] curve = new float [ 8 ] ; int lastPointIndex = ( getNumberOfPoints ( type ) - 1 ) * 2 ; System . arraycopy ( coords , 0 , curve , 2 , coords . length ) ; curve [ 0 ] = lastX ; curve [ 1 ] = lastY ; if ( type == PathIterator . SEG_CUBICTO ) { cubicCurveSegment ( curve , 0f , t ) ; } else { quadCurveSegment ( curve , 0f , t ) ; } point [ 0 ] = curve [ 2 + lastPointIndex ] ; point [ 1 ] = curve [ 2 + lastPointIndex + 1 ] ; }
Returns the estimated position along a path of the given length .