@Override public void append( float[] vs ) { append( vs, 0, vs.length ); }
@Override public void addGap( ) { data.append( -1 ); } }
@Override public void addData( DataInputStream in ) throws IOException { data.append( in.readFloat( ) ); } }
public static void appendLineCoords( int featureNum, float[] xys, FloatsArray lineCoords ) { double cumulativeDistance = 0; for ( int i = 0; true; i += coordsPerXy ) { float xA = xys[ i + 0 ]; float yA = xys[ i + 1 ]; lineCoords.append( xA ); lineCoords.append( yA ); lineCoords.append( featureNum ); lineCoords.append( ( float ) cumulativeDistance ); if ( i + 3 >= xys.length ) { break; } float xB = xys[ i + 2 ]; float yB = xys[ i + 3 ]; double dx = xB - xA; double dy = yB - yA; cumulativeDistance += sqrt( dx*dx + dy*dy ); } }
@Override public void append( Floats vs ) { append( vs, 0, vs.n( ) ); }
@Override public void append( FloatBuffer vs ) { append( vs, vs.remaining( ) ); }
group.triangleCoords.append( triangleCoords ); group.lineCoords.append( lineCoords ); group.iconCoords.append( x ); group.iconCoords.append( y ); group.iconCoords.append( featureNum ); group.iconCoords.append( rotation_CCWRAD ); group.labelCoords.append( x ); group.labelCoords.append( y ); group.labelCoords.append( featureNum );
@Override public void addData( String token ) throws DsplException { if ( token.isEmpty( ) ) { addGap( ); } else { try { data.append( Float.parseFloat( token ) ); } catch ( NumberFormatException e ) { if ( dsplParser.isFailOnErrorMode( ) ) { throw new DsplException( "Problem parsing: %s", e, token ); } else { logWarning( logger, "Problem parsing token %s as type float. Adding gap instead.", token ); addGap( ); } } } }