question: public void curveTo ( double x1 , double y1 , double x2 , double y2 , double x3 , double y3 ) { if ( size ( ) == 0 ) { throw new IllegalPathStateException ( "curveTo only allowed when not empty" ) ; } Node lastPoint = get ( size ( ) - 1 ) ; lastPoint . mask |= C2_MASK ; lastPoint . x [ 2 ] = x1 ; lastPoint . y [ 2 ] = y1 ; if ( ( lastPoint . mask & C1C2_MASK ) == C1C2_MASK ) { lastPoint . keepColinear = Math . abs ( Geom . angle ( lastPoint . x [ 0 ] , lastPoint . y [ 0 ] , lastPoint . x [ 1 ] , lastPoint . y [ 1 ] ) - Geom . angle ( lastPoint . x [ 2 ] , lastPoint . y [ 2 ] , lastPoint . x [ 0 ] , lastPoint . y [ 0 ] ) ) < 0.001 ; } add ( new Node ( C1_MASK , x3 , y3 , x2 , y2 , x3 , y3 ) ) ; }
target:  Adds a cubic curve to the bezier path. <p> This is a convenience method for adding a node with control point C0 and C1 (incoming curve) to the bezier path, and also specifying the control point C2 (outgoing curve) of the previous node. <p> The bezier path must already have at least one node.